tizen 2.3.1 release tizen_2.3.1 submit/tizen_2.3.1/20150915.080833 tizen_2.3.1_release
authorjk7744.park <jk7744.park@samsung.com>
Tue, 8 Sep 2015 13:22:28 +0000 (22:22 +0900)
committerjk7744.park <jk7744.park@samsung.com>
Tue, 8 Sep 2015 13:22:28 +0000 (22:22 +0900)
7072 files changed:
.gitignore [new file with mode: 0644]
ChangeLog [deleted file]
Makefile.am
Makefile.in [deleted file]
NEWS
TC/_export_env.sh [deleted file]
TC/_export_target_env.sh [deleted file]
TC/build.sh [deleted file]
TC/clean.sh [deleted file]
TC/config [deleted file]
TC/execute.sh [deleted file]
TC/perf/Makefile [deleted file]
TC/perf/common.c [deleted file]
TC/perf/common.h [deleted file]
TC/perf/fill [deleted file]
TC/perf/fill.c [deleted file]
TC/perf/image [deleted file]
TC/perf/image.c [deleted file]
TC/perf/image1.png [deleted file]
TC/perf/image2.png [deleted file]
TC/perf/main.c [deleted file]
TC/perf/stroke [deleted file]
TC/perf/stroke.c [deleted file]
TC/testcase/Makefile [deleted file]
TC/testcase/cairo-test.h [deleted file]
TC/testcase/tslist [deleted file]
TC/testcase/utc_a1_bug_gl.c [deleted file]
TC/testcase/utc_a1_bug_image.c [deleted file]
TC/testcase/utc_a1_clip_fill_equal_gl.c [deleted file]
TC/testcase/utc_a1_clip_fill_equal_image.c [deleted file]
TC/testcase/utc_a1_clip_fill_gl.c [deleted file]
TC/testcase/utc_a1_clip_fill_image.c [deleted file]
TC/testcase/utc_a1_clip_fill_rule_gl.c [deleted file]
TC/testcase/utc_a1_clip_fill_rule_image.c [deleted file]
TC/testcase/utc_a1_clip_paint_gl.c [deleted file]
TC/testcase/utc_a1_clip_paint_image.c [deleted file]
TC/testcase/utc_a1_clip_stroke_gl.c [deleted file]
TC/testcase/utc_a1_clip_stroke_image.c [deleted file]
TC/testcase/utc_a1_fill_gl.c [deleted file]
TC/testcase/utc_a1_fill_image.c [deleted file]
TC/testcase/utc_a1_image_sample_gl.c [deleted file]
TC/testcase/utc_a1_image_sample_image.c [deleted file]
TC/testcase/utc_a1_line_width_gl.c [deleted file]
TC/testcase/utc_a1_line_width_image.c [deleted file]
TC/testcase/utc_a1_mask_gl.c [deleted file]
TC/testcase/utc_a1_mask_image.c [deleted file]
TC/testcase/utc_a1_mask_sample_gl.c [deleted file]
TC/testcase/utc_a1_mask_sample_image.c [deleted file]
TC/testcase/utc_a1_rasterisation_rectangles_gl.c [deleted file]
TC/testcase/utc_a1_rasterisation_rectangles_image.c [deleted file]
TC/testcase/utc_a1_rasterisation_triangles_gl.c [deleted file]
TC/testcase/utc_a1_rasterisation_triangles_image.c [deleted file]
TC/testcase/utc_a1_rectilinear_grid_gl.c [deleted file]
TC/testcase/utc_a1_rectilinear_grid_image.c [deleted file]
TC/testcase/utc_a1_sample_gl.c [deleted file]
TC/testcase/utc_a1_sample_image.c [deleted file]
TC/testcase/utc_a1_tiger_gl.c [deleted file]
TC/testcase/utc_a1_tiger_image.c [deleted file]
TC/testcase/utc_a1_traps_sample_gl.c [deleted file]
TC/testcase/utc_a1_traps_sample_image.c [deleted file]
TC/testcase/utc_a8_clear_gl.c [deleted file]
TC/testcase/utc_a8_clear_image.c [deleted file]
TC/testcase/utc_a8_mask_gl.c [deleted file]
TC/testcase/utc_a8_mask_image.c [deleted file]
TC/testcase/utc_aliasing_gl.c [deleted file]
TC/testcase/utc_aliasing_image.c [deleted file]
TC/testcase/utc_alpha_similar_gl.c [deleted file]
TC/testcase/utc_alpha_similar_image.c [deleted file]
TC/testcase/utc_api_special_cases_gl.c [deleted file]
TC/testcase/utc_api_special_cases_image.c [deleted file]
TC/testcase/utc_arc_direction_gl.c [deleted file]
TC/testcase/utc_arc_direction_image.c [deleted file]
TC/testcase/utc_arc_infinite_loop_gl.c [deleted file]
TC/testcase/utc_arc_infinite_loop_image.c [deleted file]
TC/testcase/utc_arc_looping_dash_gl.c [deleted file]
TC/testcase/utc_arc_looping_dash_image.c [deleted file]
TC/testcase/utc_big_empty_box_gl.c [deleted file]
TC/testcase/utc_big_empty_box_image.c [deleted file]
TC/testcase/utc_big_empty_triangle_gl.c [deleted file]
TC/testcase/utc_big_empty_triangle_image.c [deleted file]
TC/testcase/utc_big_line_gl.c [deleted file]
TC/testcase/utc_big_line_image.c [deleted file]
TC/testcase/utc_big_little_box_gl.c [deleted file]
TC/testcase/utc_big_little_box_image.c [deleted file]
TC/testcase/utc_big_little_triangle_gl.c [deleted file]
TC/testcase/utc_big_little_triangle_image.c [deleted file]
TC/testcase/utc_big_trap_gl.c [deleted file]
TC/testcase/utc_big_trap_image.c [deleted file]
TC/testcase/utc_bilevel_image_gl.c [deleted file]
TC/testcase/utc_bilevel_image_image.c [deleted file]
TC/testcase/utc_bitmap_font_gl.c [deleted file]
TC/testcase/utc_bitmap_font_image.c [deleted file]
TC/testcase/utc_bug_40410_gl.c [deleted file]
TC/testcase/utc_bug_40410_image.c [deleted file]
TC/testcase/utc_bug_bo_rectangular_gl.c [deleted file]
TC/testcase/utc_bug_bo_rectangular_image.c [deleted file]
TC/testcase/utc_bug_bo_ricotz_gl.c [deleted file]
TC/testcase/utc_bug_bo_ricotz_image.c [deleted file]
TC/testcase/utc_bug_extents_gl.c [deleted file]
TC/testcase/utc_bug_extents_image.c [deleted file]
TC/testcase/utc_bug_seams_gl.c [deleted file]
TC/testcase/utc_bug_seams_image.c [deleted file]
TC/testcase/utc_bug_source_cu_gl.c [deleted file]
TC/testcase/utc_bug_source_cu_image.c [deleted file]
TC/testcase/utc_caps_gl.c [deleted file]
TC/testcase/utc_caps_image.c [deleted file]
TC/testcase/utc_caps_joins_alpha_gl.c [deleted file]
TC/testcase/utc_caps_joins_alpha_image.c [deleted file]
TC/testcase/utc_caps_joins_curve_gl.c [deleted file]
TC/testcase/utc_caps_joins_curve_image.c [deleted file]
TC/testcase/utc_caps_joins_gl.c [deleted file]
TC/testcase/utc_caps_joins_image.c [deleted file]
TC/testcase/utc_caps_sub_paths_gl.c [deleted file]
TC/testcase/utc_caps_sub_paths_image.c [deleted file]
TC/testcase/utc_caps_tails_curve_gl.c [deleted file]
TC/testcase/utc_caps_tails_curve_image.c [deleted file]
TC/testcase/utc_checkerboard_gl.c [deleted file]
TC/testcase/utc_checkerboard_image.c [deleted file]
TC/testcase/utc_clear_gl.c [deleted file]
TC/testcase/utc_clear_image.c [deleted file]
TC/testcase/utc_clear_source_gl.c [deleted file]
TC/testcase/utc_clear_source_image.c [deleted file]
TC/testcase/utc_clip_all_gl.c [deleted file]
TC/testcase/utc_clip_all_image.c [deleted file]
TC/testcase/utc_clip_complex_shape_eo_aa_gl.c [deleted file]
TC/testcase/utc_clip_complex_shape_eo_aa_image.c [deleted file]
TC/testcase/utc_clip_complex_shape_eo_mono_gl.c [deleted file]
TC/testcase/utc_clip_complex_shape_eo_mono_image.c [deleted file]
TC/testcase/utc_clip_contexts_gl.c [deleted file]
TC/testcase/utc_clip_contexts_image.c [deleted file]
TC/testcase/utc_clip_device_offset_gl.c [deleted file]
TC/testcase/utc_clip_device_offset_image.c [deleted file]
TC/testcase/utc_clip_disjoint_gl.c [deleted file]
TC/testcase/utc_clip_disjoint_hatching_gl.c [deleted file]
TC/testcase/utc_clip_disjoint_hatching_image.c [deleted file]
TC/testcase/utc_clip_disjoint_image.c [deleted file]
TC/testcase/utc_clip_double_free_gl.c [deleted file]
TC/testcase/utc_clip_double_free_image.c [deleted file]
TC/testcase/utc_clip_empty_gl.c [deleted file]
TC/testcase/utc_clip_empty_group_gl.c [deleted file]
TC/testcase/utc_clip_empty_group_image.c [deleted file]
TC/testcase/utc_clip_empty_image.c [deleted file]
TC/testcase/utc_clip_empty_save_gl.c [deleted file]
TC/testcase/utc_clip_empty_save_image.c [deleted file]
TC/testcase/utc_clip_fill_eo_unbounded_gl.c [deleted file]
TC/testcase/utc_clip_fill_eo_unbounded_image.c [deleted file]
TC/testcase/utc_clip_fill_gl.c [deleted file]
TC/testcase/utc_clip_fill_image.c [deleted file]
TC/testcase/utc_clip_fill_no_op_gl.c [deleted file]
TC/testcase/utc_clip_fill_no_op_image.c [deleted file]
TC/testcase/utc_clip_fill_nz_unbounded_gl.c [deleted file]
TC/testcase/utc_clip_fill_nz_unbounded_image.c [deleted file]
TC/testcase/utc_clip_fill_rule_gl.c [deleted file]
TC/testcase/utc_clip_fill_rule_image.c [deleted file]
TC/testcase/utc_clip_fill_rule_pixel_aligned_gl.c [deleted file]
TC/testcase/utc_clip_fill_rule_pixel_aligned_image.c [deleted file]
TC/testcase/utc_clip_group_shapes_aligned_rectangles_gl.c [deleted file]
TC/testcase/utc_clip_group_shapes_aligned_rectangles_image.c [deleted file]
TC/testcase/utc_clip_group_shapes_circles_gl.c [deleted file]
TC/testcase/utc_clip_group_shapes_circles_image.c [deleted file]
TC/testcase/utc_clip_group_shapes_unaligned_rectangles_gl.c [deleted file]
TC/testcase/utc_clip_group_shapes_unaligned_rectangles_image.c [deleted file]
TC/testcase/utc_clip_image_gl.c [deleted file]
TC/testcase/utc_clip_image_image.c [deleted file]
TC/testcase/utc_clip_intersect_gl.c [deleted file]
TC/testcase/utc_clip_intersect_image.c [deleted file]
TC/testcase/utc_clip_mixed_antialias_gl.c [deleted file]
TC/testcase/utc_clip_mixed_antialias_image.c [deleted file]
TC/testcase/utc_clip_nesting_gl.c [deleted file]
TC/testcase/utc_clip_nesting_image.c [deleted file]
TC/testcase/utc_clip_operator_gl.c [deleted file]
TC/testcase/utc_clip_operator_image.c [deleted file]
TC/testcase/utc_clip_polygons_gl.c [deleted file]
TC/testcase/utc_clip_polygons_image.c [deleted file]
TC/testcase/utc_clip_push_group_gl.c [deleted file]
TC/testcase/utc_clip_push_group_image.c [deleted file]
TC/testcase/utc_clip_rectilinear_gl.c [deleted file]
TC/testcase/utc_clip_rectilinear_image.c [deleted file]
TC/testcase/utc_clip_rotate_image_surface_paint_gl.c [deleted file]
TC/testcase/utc_clip_rotate_image_surface_paint_image.c [deleted file]
TC/testcase/utc_clip_shape_gl.c [deleted file]
TC/testcase/utc_clip_shape_image.c [deleted file]
TC/testcase/utc_clip_stroke_gl.c [deleted file]
TC/testcase/utc_clip_stroke_image.c [deleted file]
TC/testcase/utc_clip_stroke_no_op_gl.c [deleted file]
TC/testcase/utc_clip_stroke_no_op_image.c [deleted file]
TC/testcase/utc_clip_stroke_unbounded_gl.c [deleted file]
TC/testcase/utc_clip_stroke_unbounded_image.c [deleted file]
TC/testcase/utc_clip_text_gl.c [deleted file]
TC/testcase/utc_clip_text_image.c [deleted file]
TC/testcase/utc_clip_twice_gl.c [deleted file]
TC/testcase/utc_clip_twice_image.c [deleted file]
TC/testcase/utc_clip_twice_rectangle_gl.c [deleted file]
TC/testcase/utc_clip_twice_rectangle_image.c [deleted file]
TC/testcase/utc_clip_unbounded_gl.c [deleted file]
TC/testcase/utc_clip_unbounded_image.c [deleted file]
TC/testcase/utc_clip_zero_gl.c [deleted file]
TC/testcase/utc_clip_zero_image.c [deleted file]
TC/testcase/utc_clipped_group_gl.c [deleted file]
TC/testcase/utc_clipped_group_image.c [deleted file]
TC/testcase/utc_clipped_surface_gl.c [deleted file]
TC/testcase/utc_clipped_surface_image.c [deleted file]
TC/testcase/utc_clipped_trapezoids_gl.c [deleted file]
TC/testcase/utc_clipped_trapezoids_image.c [deleted file]
TC/testcase/utc_close_path_current_point_gl.c [deleted file]
TC/testcase/utc_close_path_current_point_image.c [deleted file]
TC/testcase/utc_close_path_gl.c [deleted file]
TC/testcase/utc_close_path_image.c [deleted file]
TC/testcase/utc_composite_integer_translate_over_gl.c [deleted file]
TC/testcase/utc_composite_integer_translate_over_image.c [deleted file]
TC/testcase/utc_composite_integer_translate_over_repeat_gl.c [deleted file]
TC/testcase/utc_composite_integer_translate_over_repeat_image.c [deleted file]
TC/testcase/utc_composite_integer_translate_source_gl.c [deleted file]
TC/testcase/utc_composite_integer_translate_source_image.c [deleted file]
TC/testcase/utc_copy_disjoint_gl.c [deleted file]
TC/testcase/utc_copy_disjoint_image.c [deleted file]
TC/testcase/utc_copy_path_gl.c [deleted file]
TC/testcase/utc_copy_path_image.c [deleted file]
TC/testcase/utc_coverage_column_triangles_gl.c [deleted file]
TC/testcase/utc_coverage_column_triangles_image.c [deleted file]
TC/testcase/utc_coverage_intersecting_quads_gl.c [deleted file]
TC/testcase/utc_coverage_intersecting_quads_image.c [deleted file]
TC/testcase/utc_coverage_intersecting_triangles_gl.c [deleted file]
TC/testcase/utc_coverage_intersecting_triangles_image.c [deleted file]
TC/testcase/utc_coverage_rectangles_gl.c [deleted file]
TC/testcase/utc_coverage_rectangles_image.c [deleted file]
TC/testcase/utc_coverage_row_triangles_gl.c [deleted file]
TC/testcase/utc_coverage_row_triangles_image.c [deleted file]
TC/testcase/utc_coverage_triangles_gl.c [deleted file]
TC/testcase/utc_coverage_triangles_image.c [deleted file]
TC/testcase/utc_create_for_stream_gl.c [deleted file]
TC/testcase/utc_create_for_stream_image.c [deleted file]
TC/testcase/utc_create_from_png_gl.c [deleted file]
TC/testcase/utc_create_from_png_image.c [deleted file]
TC/testcase/utc_create_from_png_stream_gl.c [deleted file]
TC/testcase/utc_create_from_png_stream_image.c [deleted file]
TC/testcase/utc_culled_glyphs_gl.c [deleted file]
TC/testcase/utc_culled_glyphs_image.c [deleted file]
TC/testcase/utc_curve_to_as_line_to_gl.c [deleted file]
TC/testcase/utc_curve_to_as_line_to_image.c [deleted file]
TC/testcase/utc_dash_caps_joins_gl.c [deleted file]
TC/testcase/utc_dash_caps_joins_image.c [deleted file]
TC/testcase/utc_dash_curve_gl.c [deleted file]
TC/testcase/utc_dash_curve_image.c [deleted file]
TC/testcase/utc_dash_infinite_loop_gl.c [deleted file]
TC/testcase/utc_dash_infinite_loop_image.c [deleted file]
TC/testcase/utc_dash_no_dash_gl.c [deleted file]
TC/testcase/utc_dash_no_dash_image.c [deleted file]
TC/testcase/utc_dash_offset_gl.c [deleted file]
TC/testcase/utc_dash_offset_image.c [deleted file]
TC/testcase/utc_dash_offset_negative_gl.c [deleted file]
TC/testcase/utc_dash_offset_negative_image.c [deleted file]
TC/testcase/utc_dash_scale_gl.c [deleted file]
TC/testcase/utc_dash_scale_image.c [deleted file]
TC/testcase/utc_dash_state_gl.c [deleted file]
TC/testcase/utc_dash_state_image.c [deleted file]
TC/testcase/utc_dash_zero_length_gl.c [deleted file]
TC/testcase/utc_dash_zero_length_image.c [deleted file]
TC/testcase/utc_degenerate_arc_gl.c [deleted file]
TC/testcase/utc_degenerate_arc_image.c [deleted file]
TC/testcase/utc_degenerate_arcs_gl.c [deleted file]
TC/testcase/utc_degenerate_arcs_image.c [deleted file]
TC/testcase/utc_degenerate_curve_to_gl.c [deleted file]
TC/testcase/utc_degenerate_curve_to_image.c [deleted file]
TC/testcase/utc_degenerate_dash_gl.c [deleted file]
TC/testcase/utc_degenerate_dash_image.c [deleted file]
TC/testcase/utc_degenerate_linear_gradient_gl.c [deleted file]
TC/testcase/utc_degenerate_linear_gradient_image.c [deleted file]
TC/testcase/utc_degenerate_path_gl.c [deleted file]
TC/testcase/utc_degenerate_path_image.c [deleted file]
TC/testcase/utc_degenerate_pen_gl.c [deleted file]
TC/testcase/utc_degenerate_pen_image.c [deleted file]
TC/testcase/utc_degenerate_radial_gradient_gl.c [deleted file]
TC/testcase/utc_degenerate_radial_gradient_image.c [deleted file]
TC/testcase/utc_degenerate_rel_curve_to_gl.c [deleted file]
TC/testcase/utc_degenerate_rel_curve_to_image.c [deleted file]
TC/testcase/utc_degenerate_solid_dash_gl.c [deleted file]
TC/testcase/utc_degenerate_solid_dash_image.c [deleted file]
TC/testcase/utc_device_offset_fractional_gl.c [deleted file]
TC/testcase/utc_device_offset_fractional_image.c [deleted file]
TC/testcase/utc_device_offset_gl.c [deleted file]
TC/testcase/utc_device_offset_image.c [deleted file]
TC/testcase/utc_device_offset_positive_gl.c [deleted file]
TC/testcase/utc_device_offset_positive_image.c [deleted file]
TC/testcase/utc_device_offset_scale_gl.c [deleted file]
TC/testcase/utc_device_offset_scale_image.c [deleted file]
TC/testcase/utc_drunkard_tails_gl.c [deleted file]
TC/testcase/utc_drunkard_tails_image.c [deleted file]
TC/testcase/utc_error_setters_gl.c [deleted file]
TC/testcase/utc_error_setters_image.c [deleted file]
TC/testcase/utc_extend_pad_border_gl.c [deleted file]
TC/testcase/utc_extend_pad_border_image.c [deleted file]
TC/testcase/utc_extend_pad_gl.c [deleted file]
TC/testcase/utc_extend_pad_image.c [deleted file]
TC/testcase/utc_extend_pad_similar_gl.c [deleted file]
TC/testcase/utc_extend_pad_similar_image.c [deleted file]
TC/testcase/utc_extend_reflect_gl.c [deleted file]
TC/testcase/utc_extend_reflect_image.c [deleted file]
TC/testcase/utc_extend_reflect_similar_gl.c [deleted file]
TC/testcase/utc_extend_reflect_similar_image.c [deleted file]
TC/testcase/utc_extend_repeat_gl.c [deleted file]
TC/testcase/utc_extend_repeat_image.c [deleted file]
TC/testcase/utc_extend_repeat_similar_gl.c [deleted file]
TC/testcase/utc_extend_repeat_similar_image.c [deleted file]
TC/testcase/utc_extended_blend_alpha_gl.c [deleted file]
TC/testcase/utc_extended_blend_alpha_image.c [deleted file]
TC/testcase/utc_extended_blend_alpha_mask_gl.c [deleted file]
TC/testcase/utc_extended_blend_alpha_mask_image.c [deleted file]
TC/testcase/utc_extended_blend_gl.c [deleted file]
TC/testcase/utc_extended_blend_image.c [deleted file]
TC/testcase/utc_extended_blend_mask_gl.c [deleted file]
TC/testcase/utc_extended_blend_mask_image.c [deleted file]
TC/testcase/utc_extended_blend_solid_alpha_gl.c [deleted file]
TC/testcase/utc_extended_blend_solid_alpha_image.c [deleted file]
TC/testcase/utc_extended_blend_solid_gl.c [deleted file]
TC/testcase/utc_extended_blend_solid_image.c [deleted file]
TC/testcase/utc_fallback_gl.c [deleted file]
TC/testcase/utc_fallback_image.c [deleted file]
TC/testcase/utc_fallback_resolution_gl.c [deleted file]
TC/testcase/utc_fallback_resolution_image.c [deleted file]
TC/testcase/utc_fill_alpha_gl.c [deleted file]
TC/testcase/utc_fill_alpha_image.c [deleted file]
TC/testcase/utc_fill_alpha_pattern_gl.c [deleted file]
TC/testcase/utc_fill_alpha_pattern_image.c [deleted file]
TC/testcase/utc_fill_and_stroke_alpha_add_gl.c [deleted file]
TC/testcase/utc_fill_and_stroke_alpha_add_image.c [deleted file]
TC/testcase/utc_fill_and_stroke_alpha_gl.c [deleted file]
TC/testcase/utc_fill_and_stroke_alpha_image.c [deleted file]
TC/testcase/utc_fill_and_stroke_gl.c [deleted file]
TC/testcase/utc_fill_and_stroke_image.c [deleted file]
TC/testcase/utc_fill_degenerate_sort_order_gl.c [deleted file]
TC/testcase/utc_fill_degenerate_sort_order_image.c [deleted file]
TC/testcase/utc_fill_disjoint_gl.c [deleted file]
TC/testcase/utc_fill_disjoint_image.c [deleted file]
TC/testcase/utc_fill_empty_gl.c [deleted file]
TC/testcase/utc_fill_empty_image.c [deleted file]
TC/testcase/utc_fill_image_gl.c [deleted file]
TC/testcase/utc_fill_image_image.c [deleted file]
TC/testcase/utc_fill_missed_stop_gl.c [deleted file]
TC/testcase/utc_fill_missed_stop_image.c [deleted file]
TC/testcase/utc_fill_rule_gl.c [deleted file]
TC/testcase/utc_fill_rule_image.c [deleted file]
TC/testcase/utc_filter_bilinear_extents_gl.c [deleted file]
TC/testcase/utc_filter_bilinear_extents_image.c [deleted file]
TC/testcase/utc_filter_nearest_offset_gl.c [deleted file]
TC/testcase/utc_filter_nearest_offset_image.c [deleted file]
TC/testcase/utc_filter_nearest_transformed_gl.c [deleted file]
TC/testcase/utc_filter_nearest_transformed_image.c [deleted file]
TC/testcase/utc_finer_grained_fallbacks_gl.c [deleted file]
TC/testcase/utc_finer_grained_fallbacks_image.c [deleted file]
TC/testcase/utc_font_face_get_type_gl.c [deleted file]
TC/testcase/utc_font_face_get_type_image.c [deleted file]
TC/testcase/utc_font_matrix_translation_gl.c [deleted file]
TC/testcase/utc_font_matrix_translation_image.c [deleted file]
TC/testcase/utc_font_options_gl.c [deleted file]
TC/testcase/utc_font_options_image.c [deleted file]
TC/testcase/utc_ft_font_create_for_ft_face_gl.c [deleted file]
TC/testcase/utc_ft_font_create_for_ft_face_image.c [deleted file]
TC/testcase/utc_ft_show_glyphs_positioning_gl.c [deleted file]
TC/testcase/utc_ft_show_glyphs_positioning_image.c [deleted file]
TC/testcase/utc_ft_show_glyphs_table_gl.c [deleted file]
TC/testcase/utc_ft_show_glyphs_table_image.c [deleted file]
TC/testcase/utc_ft_text_antialias_none_gl.c [deleted file]
TC/testcase/utc_ft_text_antialias_none_image.c [deleted file]
TC/testcase/utc_ft_text_vertical_layout_type1_gl.c [deleted file]
TC/testcase/utc_ft_text_vertical_layout_type1_image.c [deleted file]
TC/testcase/utc_ft_text_vertical_layout_type3_gl.c [deleted file]
TC/testcase/utc_ft_text_vertical_layout_type3_image.c [deleted file]
TC/testcase/utc_get_and_set_gl.c [deleted file]
TC/testcase/utc_get_and_set_image.c [deleted file]
TC/testcase/utc_get_clip_gl.c [deleted file]
TC/testcase/utc_get_clip_image.c [deleted file]
TC/testcase/utc_get_group_target_gl.c [deleted file]
TC/testcase/utc_get_group_target_image.c [deleted file]
TC/testcase/utc_get_path_extents_gl.c [deleted file]
TC/testcase/utc_get_path_extents_image.c [deleted file]
TC/testcase/utc_get_xrender_format_gl.c [deleted file]
TC/testcase/utc_get_xrender_format_image.c [deleted file]
TC/testcase/utc_gl_surface_source_gl.c [deleted file]
TC/testcase/utc_gl_surface_source_image.c [deleted file]
TC/testcase/utc_glyph_cache_pressure_gl.c [deleted file]
TC/testcase/utc_glyph_cache_pressure_image.c [deleted file]
TC/testcase/utc_gradient_alpha_gl.c [deleted file]
TC/testcase/utc_gradient_alpha_image.c [deleted file]
TC/testcase/utc_gradient_constant_alpha_gl.c [deleted file]
TC/testcase/utc_gradient_constant_alpha_image.c [deleted file]
TC/testcase/utc_gradient_zero_stops_gl.c [deleted file]
TC/testcase/utc_gradient_zero_stops_image.c [deleted file]
TC/testcase/utc_gradient_zero_stops_mask_gl.c [deleted file]
TC/testcase/utc_gradient_zero_stops_mask_image.c [deleted file]
TC/testcase/utc_group_clip_gl.c [deleted file]
TC/testcase/utc_group_clip_image.c [deleted file]
TC/testcase/utc_group_paint_gl.c [deleted file]
TC/testcase/utc_group_paint_image.c [deleted file]
TC/testcase/utc_group_state_gl.c [deleted file]
TC/testcase/utc_group_state_image.c [deleted file]
TC/testcase/utc_group_unaligned_gl.c [deleted file]
TC/testcase/utc_group_unaligned_image.c [deleted file]
TC/testcase/utc_half_coverage_rectangles_gl.c [deleted file]
TC/testcase/utc_half_coverage_rectangles_image.c [deleted file]
TC/testcase/utc_half_coverage_triangles_gl.c [deleted file]
TC/testcase/utc_half_coverage_triangles_image.c [deleted file]
TC/testcase/utc_halo_gl.c [deleted file]
TC/testcase/utc_halo_image.c [deleted file]
TC/testcase/utc_halo_transform_gl.c [deleted file]
TC/testcase/utc_halo_transform_image.c [deleted file]
TC/testcase/utc_hatchings_gl.c [deleted file]
TC/testcase/utc_hatchings_image.c [deleted file]
TC/testcase/utc_horizontal_clip_gl.c [deleted file]
TC/testcase/utc_horizontal_clip_image.c [deleted file]
TC/testcase/utc_huge_linear_gl.c [deleted file]
TC/testcase/utc_huge_linear_image.c [deleted file]
TC/testcase/utc_huge_radial_gl.c [deleted file]
TC/testcase/utc_huge_radial_image.c [deleted file]
TC/testcase/utc_image_bug_710072_aligned_gl.c [deleted file]
TC/testcase/utc_image_bug_710072_aligned_image.c [deleted file]
TC/testcase/utc_image_bug_710072_unaligned_gl.c [deleted file]
TC/testcase/utc_image_bug_710072_unaligned_image.c [deleted file]
TC/testcase/utc_image_surface_source_gl.c [deleted file]
TC/testcase/utc_image_surface_source_image.c [deleted file]
TC/testcase/utc_implicit_close_gl.c [deleted file]
TC/testcase/utc_implicit_close_image.c [deleted file]
TC/testcase/utc_in_fill_empty_trapezoid_gl.c [deleted file]
TC/testcase/utc_in_fill_empty_trapezoid_image.c [deleted file]
TC/testcase/utc_in_fill_trapezoid_gl.c [deleted file]
TC/testcase/utc_in_fill_trapezoid_image.c [deleted file]
TC/testcase/utc_infinite_join_gl.c [deleted file]
TC/testcase/utc_infinite_join_image.c [deleted file]
TC/testcase/utc_invalid_matrix_gl.c [deleted file]
TC/testcase/utc_invalid_matrix_image.c [deleted file]
TC/testcase/utc_inverse_text_gl.c [deleted file]
TC/testcase/utc_inverse_text_image.c [deleted file]
TC/testcase/utc_inverted_clip_gl.c [deleted file]
TC/testcase/utc_inverted_clip_image.c [deleted file]
TC/testcase/utc_joins_gl.c [deleted file]
TC/testcase/utc_joins_image.c [deleted file]
TC/testcase/utc_joins_loop_gl.c [deleted file]
TC/testcase/utc_joins_loop_image.c [deleted file]
TC/testcase/utc_joins_retrace_gl.c [deleted file]
TC/testcase/utc_joins_retrace_image.c [deleted file]
TC/testcase/utc_joins_star_gl.c [deleted file]
TC/testcase/utc_joins_star_image.c [deleted file]
TC/testcase/utc_large_clip_gl.c [deleted file]
TC/testcase/utc_large_clip_image.c [deleted file]
TC/testcase/utc_large_font_gl.c [deleted file]
TC/testcase/utc_large_font_image.c [deleted file]
TC/testcase/utc_large_source_gl.c [deleted file]
TC/testcase/utc_large_source_image.c [deleted file]
TC/testcase/utc_large_source_roi_gl.c [deleted file]
TC/testcase/utc_large_source_roi_image.c [deleted file]
TC/testcase/utc_large_twin_antialias_mixed_gl.c [deleted file]
TC/testcase/utc_large_twin_antialias_mixed_image.c [deleted file]
TC/testcase/utc_leaky_dash_gl.c [deleted file]
TC/testcase/utc_leaky_dash_image.c [deleted file]
TC/testcase/utc_leaky_dashed_rectangle_gl.c [deleted file]
TC/testcase/utc_leaky_dashed_rectangle_image.c [deleted file]
TC/testcase/utc_leaky_dashed_stroke_gl.c [deleted file]
TC/testcase/utc_leaky_dashed_stroke_image.c [deleted file]
TC/testcase/utc_leaky_polygon_gl.c [deleted file]
TC/testcase/utc_leaky_polygon_image.c [deleted file]
TC/testcase/utc_line_width_gl.c [deleted file]
TC/testcase/utc_line_width_image.c [deleted file]
TC/testcase/utc_line_width_large_overlap_dashed_gl.c [deleted file]
TC/testcase/utc_line_width_large_overlap_dashed_image.c [deleted file]
TC/testcase/utc_line_width_large_overlap_flipped_gl.c [deleted file]
TC/testcase/utc_line_width_large_overlap_flipped_image.c [deleted file]
TC/testcase/utc_line_width_large_overlap_flopped_gl.c [deleted file]
TC/testcase/utc_line_width_large_overlap_flopped_image.c [deleted file]
TC/testcase/utc_line_width_large_overlap_gl.c [deleted file]
TC/testcase/utc_line_width_large_overlap_image.c [deleted file]
TC/testcase/utc_line_width_large_overlap_offset_gl.c [deleted file]
TC/testcase/utc_line_width_large_overlap_offset_image.c [deleted file]
TC/testcase/utc_line_width_large_overlap_rotated_gl.c [deleted file]
TC/testcase/utc_line_width_large_overlap_rotated_image.c [deleted file]
TC/testcase/utc_line_width_overlap_dashed_gl.c [deleted file]
TC/testcase/utc_line_width_overlap_dashed_image.c [deleted file]
TC/testcase/utc_line_width_overlap_flipped_gl.c [deleted file]
TC/testcase/utc_line_width_overlap_flipped_image.c [deleted file]
TC/testcase/utc_line_width_overlap_flopped_gl.c [deleted file]
TC/testcase/utc_line_width_overlap_flopped_image.c [deleted file]
TC/testcase/utc_line_width_overlap_gl.c [deleted file]
TC/testcase/utc_line_width_overlap_image.c [deleted file]
TC/testcase/utc_line_width_overlap_offset_gl.c [deleted file]
TC/testcase/utc_line_width_overlap_offset_image.c [deleted file]
TC/testcase/utc_line_width_overlap_rotated_gl.c [deleted file]
TC/testcase/utc_line_width_overlap_rotated_image.c [deleted file]
TC/testcase/utc_line_width_scale_gl.c [deleted file]
TC/testcase/utc_line_width_scale_image.c [deleted file]
TC/testcase/utc_line_width_tolerance_gl.c [deleted file]
TC/testcase/utc_line_width_tolerance_image.c [deleted file]
TC/testcase/utc_line_width_zero_gl.c [deleted file]
TC/testcase/utc_line_width_zero_image.c [deleted file]
TC/testcase/utc_linear_gradient_extend_gl.c [deleted file]
TC/testcase/utc_linear_gradient_extend_image.c [deleted file]
TC/testcase/utc_linear_gradient_gl.c [deleted file]
TC/testcase/utc_linear_gradient_image.c [deleted file]
TC/testcase/utc_linear_gradient_large_gl.c [deleted file]
TC/testcase/utc_linear_gradient_large_image.c [deleted file]
TC/testcase/utc_linear_gradient_one_stop_gl.c [deleted file]
TC/testcase/utc_linear_gradient_one_stop_image.c [deleted file]
TC/testcase/utc_linear_gradient_reflect_gl.c [deleted file]
TC/testcase/utc_linear_gradient_reflect_image.c [deleted file]
TC/testcase/utc_linear_gradient_subset_gl.c [deleted file]
TC/testcase/utc_linear_gradient_subset_image.c [deleted file]
TC/testcase/utc_linear_step_function_gl.c [deleted file]
TC/testcase/utc_linear_step_function_image.c [deleted file]
TC/testcase/utc_linear_uniform_gl.c [deleted file]
TC/testcase/utc_linear_uniform_image.c [deleted file]
TC/testcase/utc_long_dashed_lines_gl.c [deleted file]
TC/testcase/utc_long_dashed_lines_image.c [deleted file]
TC/testcase/utc_long_lines_gl.c [deleted file]
TC/testcase/utc_long_lines_image.c [deleted file]
TC/testcase/utc_map_all_to_image_gl.c [deleted file]
TC/testcase/utc_map_all_to_image_image.c [deleted file]
TC/testcase/utc_map_bit_to_image_gl.c [deleted file]
TC/testcase/utc_map_bit_to_image_image.c [deleted file]
TC/testcase/utc_map_to_image_fill_gl.c [deleted file]
TC/testcase/utc_map_to_image_fill_image.c [deleted file]
TC/testcase/utc_mask_alpha_gl.c [deleted file]
TC/testcase/utc_mask_alpha_image.c [deleted file]
TC/testcase/utc_mask_ctm_gl.c [deleted file]
TC/testcase/utc_mask_ctm_image.c [deleted file]
TC/testcase/utc_mask_gl.c [deleted file]
TC/testcase/utc_mask_glyphs_gl.c [deleted file]
TC/testcase/utc_mask_glyphs_image.c [deleted file]
TC/testcase/utc_mask_image.c [deleted file]
TC/testcase/utc_mask_surface_ctm_gl.c [deleted file]
TC/testcase/utc_mask_surface_ctm_image.c [deleted file]
TC/testcase/utc_mask_transformed_image_gl.c [deleted file]
TC/testcase/utc_mask_transformed_image_image.c [deleted file]
TC/testcase/utc_mask_transformed_similar_gl.c [deleted file]
TC/testcase/utc_mask_transformed_similar_image.c [deleted file]
TC/testcase/utc_mesh_pattern_accuracy_gl.c [deleted file]
TC/testcase/utc_mesh_pattern_accuracy_image.c [deleted file]
TC/testcase/utc_mesh_pattern_conical_gl.c [deleted file]
TC/testcase/utc_mesh_pattern_conical_image.c [deleted file]
TC/testcase/utc_mesh_pattern_control_points_gl.c [deleted file]
TC/testcase/utc_mesh_pattern_control_points_image.c [deleted file]
TC/testcase/utc_mesh_pattern_fold_gl.c [deleted file]
TC/testcase/utc_mesh_pattern_fold_image.c [deleted file]
TC/testcase/utc_mesh_pattern_gl.c [deleted file]
TC/testcase/utc_mesh_pattern_image.c [deleted file]
TC/testcase/utc_mesh_pattern_overlap_gl.c [deleted file]
TC/testcase/utc_mesh_pattern_overlap_image.c [deleted file]
TC/testcase/utc_mesh_pattern_transformed_gl.c [deleted file]
TC/testcase/utc_mesh_pattern_transformed_image.c [deleted file]
TC/testcase/utc_mime_data_gl.c [deleted file]
TC/testcase/utc_mime_data_image.c [deleted file]
TC/testcase/utc_mime_surface_api_gl.c [deleted file]
TC/testcase/utc_mime_surface_api_image.c [deleted file]
TC/testcase/utc_mime_surface_gl.c [deleted file]
TC/testcase/utc_mime_surface_image.c [deleted file]
TC/testcase/utc_miter_precision_gl.c [deleted file]
TC/testcase/utc_miter_precision_image.c [deleted file]
TC/testcase/utc_move_to_show_surface_gl.c [deleted file]
TC/testcase/utc_move_to_show_surface_image.c [deleted file]
TC/testcase/utc_multi_page_gl.c [deleted file]
TC/testcase/utc_multi_page_image.c [deleted file]
TC/testcase/utc_negative_stride_image_gl.c [deleted file]
TC/testcase/utc_negative_stride_image_image.c [deleted file]
TC/testcase/utc_new_sub_path_gl.c [deleted file]
TC/testcase/utc_new_sub_path_image.c [deleted file]
TC/testcase/utc_nil_surface_gl.c [deleted file]
TC/testcase/utc_nil_surface_image.c [deleted file]
TC/testcase/utc_operator_alpha_alpha_gl.c [deleted file]
TC/testcase/utc_operator_alpha_alpha_image.c [deleted file]
TC/testcase/utc_operator_alpha_gl.c [deleted file]
TC/testcase/utc_operator_alpha_image.c [deleted file]
TC/testcase/utc_operator_clear_gl.c [deleted file]
TC/testcase/utc_operator_clear_image.c [deleted file]
TC/testcase/utc_operator_gl.c [deleted file]
TC/testcase/utc_operator_image.c [deleted file]
TC/testcase/utc_operator_source_gl.c [deleted file]
TC/testcase/utc_operator_source_image.c [deleted file]
TC/testcase/utc_over_above_source_gl.c [deleted file]
TC/testcase/utc_over_above_source_image.c [deleted file]
TC/testcase/utc_over_around_source_gl.c [deleted file]
TC/testcase/utc_over_around_source_image.c [deleted file]
TC/testcase/utc_over_below_source_gl.c [deleted file]
TC/testcase/utc_over_below_source_image.c [deleted file]
TC/testcase/utc_over_between_source_gl.c [deleted file]
TC/testcase/utc_over_between_source_image.c [deleted file]
TC/testcase/utc_overlapping_boxes_gl.c [deleted file]
TC/testcase/utc_overlapping_boxes_image.c [deleted file]
TC/testcase/utc_overlapping_dash_caps_gl.c [deleted file]
TC/testcase/utc_overlapping_dash_caps_image.c [deleted file]
TC/testcase/utc_overlapping_glyphs_gl.c [deleted file]
TC/testcase/utc_overlapping_glyphs_image.c [deleted file]
TC/testcase/utc_paint_clip_fill_aa_gl.c [deleted file]
TC/testcase/utc_paint_clip_fill_aa_image.c [deleted file]
TC/testcase/utc_paint_clip_fill_mono_gl.c [deleted file]
TC/testcase/utc_paint_clip_fill_mono_image.c [deleted file]
TC/testcase/utc_paint_gl.c [deleted file]
TC/testcase/utc_paint_image.c [deleted file]
TC/testcase/utc_paint_repeat_gl.c [deleted file]
TC/testcase/utc_paint_repeat_image.c [deleted file]
TC/testcase/utc_paint_source_alpha_gl.c [deleted file]
TC/testcase/utc_paint_source_alpha_image.c [deleted file]
TC/testcase/utc_paint_with_alpha_clip_gl.c [deleted file]
TC/testcase/utc_paint_with_alpha_clip_image.c [deleted file]
TC/testcase/utc_paint_with_alpha_clip_mask_gl.c [deleted file]
TC/testcase/utc_paint_with_alpha_clip_mask_image.c [deleted file]
TC/testcase/utc_paint_with_alpha_gl.c [deleted file]
TC/testcase/utc_paint_with_alpha_image.c [deleted file]
TC/testcase/utc_paint_with_alpha_solid_clip_gl.c [deleted file]
TC/testcase/utc_paint_with_alpha_solid_clip_image.c [deleted file]
TC/testcase/utc_partial_clip_text_bottom_gl.c [deleted file]
TC/testcase/utc_partial_clip_text_bottom_image.c [deleted file]
TC/testcase/utc_partial_clip_text_left_gl.c [deleted file]
TC/testcase/utc_partial_clip_text_left_image.c [deleted file]
TC/testcase/utc_partial_clip_text_right_gl.c [deleted file]
TC/testcase/utc_partial_clip_text_right_image.c [deleted file]
TC/testcase/utc_partial_clip_text_top_gl.c [deleted file]
TC/testcase/utc_partial_clip_text_top_image.c [deleted file]
TC/testcase/utc_partial_coverage_half_reference_gl.c [deleted file]
TC/testcase/utc_partial_coverage_half_reference_image.c [deleted file]
TC/testcase/utc_partial_coverage_half_triangles_gl.c [deleted file]
TC/testcase/utc_partial_coverage_half_triangles_image.c [deleted file]
TC/testcase/utc_partial_coverage_intersecting_quads_gl.c [deleted file]
TC/testcase/utc_partial_coverage_intersecting_quads_image.c [deleted file]
TC/testcase/utc_partial_coverage_intersecting_triangles_gl.c [deleted file]
TC/testcase/utc_partial_coverage_intersecting_triangles_image.c [deleted file]
TC/testcase/utc_partial_coverage_overlap_half_triangles_eo_gl.c [deleted file]
TC/testcase/utc_partial_coverage_overlap_half_triangles_eo_image.c [deleted file]
TC/testcase/utc_partial_coverage_overlap_half_triangles_gl.c [deleted file]
TC/testcase/utc_partial_coverage_overlap_half_triangles_image.c [deleted file]
TC/testcase/utc_partial_coverage_overlap_three_quarter_triangles_gl.c [deleted file]
TC/testcase/utc_partial_coverage_overlap_three_quarter_triangles_image.c [deleted file]
TC/testcase/utc_partial_coverage_rectangles_gl.c [deleted file]
TC/testcase/utc_partial_coverage_rectangles_image.c [deleted file]
TC/testcase/utc_partial_coverage_reference_gl.c [deleted file]
TC/testcase/utc_partial_coverage_reference_image.c [deleted file]
TC/testcase/utc_partial_coverage_three_quarter_reference_gl.c [deleted file]
TC/testcase/utc_partial_coverage_three_quarter_reference_image.c [deleted file]
TC/testcase/utc_partial_coverage_triangles_gl.c [deleted file]
TC/testcase/utc_partial_coverage_triangles_image.c [deleted file]
TC/testcase/utc_pass_through_gl.c [deleted file]
TC/testcase/utc_pass_through_image.c [deleted file]
TC/testcase/utc_path_append_gl.c [deleted file]
TC/testcase/utc_path_append_image.c [deleted file]
TC/testcase/utc_path_precision_gl.c [deleted file]
TC/testcase/utc_path_precision_image.c [deleted file]
TC/testcase/utc_path_stroke_twice_gl.c [deleted file]
TC/testcase/utc_path_stroke_twice_image.c [deleted file]
TC/testcase/utc_pattern_get_type_gl.c [deleted file]
TC/testcase/utc_pattern_get_type_image.c [deleted file]
TC/testcase/utc_pattern_getters_gl.c [deleted file]
TC/testcase/utc_pattern_getters_image.c [deleted file]
TC/testcase/utc_pdf_features_gl.c [deleted file]
TC/testcase/utc_pdf_features_image.c [deleted file]
TC/testcase/utc_pdf_isolated_group_gl.c [deleted file]
TC/testcase/utc_pdf_isolated_group_image.c [deleted file]
TC/testcase/utc_pdf_mime_data_gl.c [deleted file]
TC/testcase/utc_pdf_mime_data_image.c [deleted file]
TC/testcase/utc_pdf_surface_source_gl.c [deleted file]
TC/testcase/utc_pdf_surface_source_image.c [deleted file]
TC/testcase/utc_pixman_rotate_gl.c [deleted file]
TC/testcase/utc_pixman_rotate_image.c [deleted file]
TC/testcase/utc_png_gl.c [deleted file]
TC/testcase/utc_png_image.c [deleted file]
TC/testcase/utc_ps_eps_gl.c [deleted file]
TC/testcase/utc_ps_eps_image.c [deleted file]
TC/testcase/utc_ps_features_gl.c [deleted file]
TC/testcase/utc_ps_features_image.c [deleted file]
TC/testcase/utc_ps_surface_source_gl.c [deleted file]
TC/testcase/utc_ps_surface_source_image.c [deleted file]
TC/testcase/utc_pthread_same_source_gl.c [deleted file]
TC/testcase/utc_pthread_same_source_image.c [deleted file]
TC/testcase/utc_pthread_show_text_gl.c [deleted file]
TC/testcase/utc_pthread_show_text_image.c [deleted file]
TC/testcase/utc_pthread_similar_gl.c [deleted file]
TC/testcase/utc_pthread_similar_image.c [deleted file]
TC/testcase/utc_push_group_color_gl.c [deleted file]
TC/testcase/utc_push_group_color_image.c [deleted file]
TC/testcase/utc_push_group_gl.c [deleted file]
TC/testcase/utc_push_group_image.c [deleted file]
TC/testcase/utc_push_group_path_offset_gl.c [deleted file]
TC/testcase/utc_push_group_path_offset_image.c [deleted file]
TC/testcase/utc_quartz_surface_source_gl.c [deleted file]
TC/testcase/utc_quartz_surface_source_image.c [deleted file]
TC/testcase/utc_radial_gradient_extend_gl.c [deleted file]
TC/testcase/utc_radial_gradient_extend_image.c [deleted file]
TC/testcase/utc_radial_gradient_gl.c [deleted file]
TC/testcase/utc_radial_gradient_image.c [deleted file]
TC/testcase/utc_radial_gradient_mask_gl.c [deleted file]
TC/testcase/utc_radial_gradient_mask_image.c [deleted file]
TC/testcase/utc_radial_gradient_mask_source_gl.c [deleted file]
TC/testcase/utc_radial_gradient_mask_source_image.c [deleted file]
TC/testcase/utc_radial_gradient_one_stop_gl.c [deleted file]
TC/testcase/utc_radial_gradient_one_stop_image.c [deleted file]
TC/testcase/utc_radial_gradient_source_gl.c [deleted file]
TC/testcase/utc_radial_gradient_source_image.c [deleted file]
TC/testcase/utc_radial_outer_focus_gl.c [deleted file]
TC/testcase/utc_radial_outer_focus_image.c [deleted file]
TC/testcase/utc_random_clip_gl.c [deleted file]
TC/testcase/utc_random_clip_image.c [deleted file]
TC/testcase/utc_random_intersections_curves_eo_gl.c [deleted file]
TC/testcase/utc_random_intersections_curves_eo_image.c [deleted file]
TC/testcase/utc_random_intersections_curves_nz_gl.c [deleted file]
TC/testcase/utc_random_intersections_curves_nz_image.c [deleted file]
TC/testcase/utc_random_intersections_eo_gl.c [deleted file]
TC/testcase/utc_random_intersections_eo_image.c [deleted file]
TC/testcase/utc_random_intersections_nonzero_gl.c [deleted file]
TC/testcase/utc_random_intersections_nonzero_image.c [deleted file]
TC/testcase/utc_raster_source_gl.c [deleted file]
TC/testcase/utc_raster_source_image.c [deleted file]
TC/testcase/utc_record1414x_fill_alpha_gl.c [deleted file]
TC/testcase/utc_record1414x_fill_alpha_image.c [deleted file]
TC/testcase/utc_record1414x_paint_alpha_clip_gl.c [deleted file]
TC/testcase/utc_record1414x_paint_alpha_clip_image.c [deleted file]
TC/testcase/utc_record1414x_paint_alpha_clip_mask_gl.c [deleted file]
TC/testcase/utc_record1414x_paint_alpha_clip_mask_image.c [deleted file]
TC/testcase/utc_record1414x_paint_alpha_gl.c [deleted file]
TC/testcase/utc_record1414x_paint_alpha_image.c [deleted file]
TC/testcase/utc_record1414x_paint_alpha_solid_clip_gl.c [deleted file]
TC/testcase/utc_record1414x_paint_alpha_solid_clip_image.c [deleted file]
TC/testcase/utc_record1414x_paint_gl.c [deleted file]
TC/testcase/utc_record1414x_paint_image.c [deleted file]
TC/testcase/utc_record1414x_select_font_face_gl.c [deleted file]
TC/testcase/utc_record1414x_select_font_face_image.c [deleted file]
TC/testcase/utc_record1414x_self_intersecting_gl.c [deleted file]
TC/testcase/utc_record1414x_self_intersecting_image.c [deleted file]
TC/testcase/utc_record1414x_text_transform_gl.c [deleted file]
TC/testcase/utc_record1414x_text_transform_image.c [deleted file]
TC/testcase/utc_record2x_fill_alpha_gl.c [deleted file]
TC/testcase/utc_record2x_fill_alpha_image.c [deleted file]
TC/testcase/utc_record2x_paint_alpha_clip_gl.c [deleted file]
TC/testcase/utc_record2x_paint_alpha_clip_image.c [deleted file]
TC/testcase/utc_record2x_paint_alpha_clip_mask_gl.c [deleted file]
TC/testcase/utc_record2x_paint_alpha_clip_mask_image.c [deleted file]
TC/testcase/utc_record2x_paint_alpha_gl.c [deleted file]
TC/testcase/utc_record2x_paint_alpha_image.c [deleted file]
TC/testcase/utc_record2x_paint_alpha_solid_clip_gl.c [deleted file]
TC/testcase/utc_record2x_paint_alpha_solid_clip_image.c [deleted file]
TC/testcase/utc_record2x_paint_gl.c [deleted file]
TC/testcase/utc_record2x_paint_image.c [deleted file]
TC/testcase/utc_record2x_select_font_face_gl.c [deleted file]
TC/testcase/utc_record2x_select_font_face_image.c [deleted file]
TC/testcase/utc_record2x_self_intersecting_gl.c [deleted file]
TC/testcase/utc_record2x_self_intersecting_image.c [deleted file]
TC/testcase/utc_record2x_text_transform_gl.c [deleted file]
TC/testcase/utc_record2x_text_transform_image.c [deleted file]
TC/testcase/utc_record90_fill_alpha_gl.c [deleted file]
TC/testcase/utc_record90_fill_alpha_image.c [deleted file]
TC/testcase/utc_record90_paint_alpha_clip_gl.c [deleted file]
TC/testcase/utc_record90_paint_alpha_clip_image.c [deleted file]
TC/testcase/utc_record90_paint_alpha_clip_mask_gl.c [deleted file]
TC/testcase/utc_record90_paint_alpha_clip_mask_image.c [deleted file]
TC/testcase/utc_record90_paint_alpha_gl.c [deleted file]
TC/testcase/utc_record90_paint_alpha_image.c [deleted file]
TC/testcase/utc_record90_paint_alpha_solid_clip_gl.c [deleted file]
TC/testcase/utc_record90_paint_alpha_solid_clip_image.c [deleted file]
TC/testcase/utc_record90_paint_gl.c [deleted file]
TC/testcase/utc_record90_paint_image.c [deleted file]
TC/testcase/utc_record90_select_font_face_gl.c [deleted file]
TC/testcase/utc_record90_select_font_face_image.c [deleted file]
TC/testcase/utc_record90_self_intersecting_gl.c [deleted file]
TC/testcase/utc_record90_self_intersecting_image.c [deleted file]
TC/testcase/utc_record90_text_transform_gl.c [deleted file]
TC/testcase/utc_record90_text_transform_image.c [deleted file]
TC/testcase/utc_record_extend_none_gl.c [deleted file]
TC/testcase/utc_record_extend_none_image.c [deleted file]
TC/testcase/utc_record_extend_none_similar_gl.c [deleted file]
TC/testcase/utc_record_extend_none_similar_image.c [deleted file]
TC/testcase/utc_record_extend_pad_gl.c [deleted file]
TC/testcase/utc_record_extend_pad_image.c [deleted file]
TC/testcase/utc_record_extend_pad_similar_gl.c [deleted file]
TC/testcase/utc_record_extend_pad_similar_image.c [deleted file]
TC/testcase/utc_record_extend_reflect_gl.c [deleted file]
TC/testcase/utc_record_extend_reflect_image.c [deleted file]
TC/testcase/utc_record_extend_reflect_similar_gl.c [deleted file]
TC/testcase/utc_record_extend_reflect_similar_image.c [deleted file]
TC/testcase/utc_record_extend_repeat_gl.c [deleted file]
TC/testcase/utc_record_extend_repeat_image.c [deleted file]
TC/testcase/utc_record_extend_repeat_similar_gl.c [deleted file]
TC/testcase/utc_record_extend_repeat_similar_image.c [deleted file]
TC/testcase/utc_record_fill_alpha_gl.c [deleted file]
TC/testcase/utc_record_fill_alpha_image.c [deleted file]
TC/testcase/utc_record_mesh_gl.c [deleted file]
TC/testcase/utc_record_mesh_image.c [deleted file]
TC/testcase/utc_record_paint_alpha_clip_gl.c [deleted file]
TC/testcase/utc_record_paint_alpha_clip_image.c [deleted file]
TC/testcase/utc_record_paint_alpha_clip_mask_gl.c [deleted file]
TC/testcase/utc_record_paint_alpha_clip_mask_image.c [deleted file]
TC/testcase/utc_record_paint_alpha_gl.c [deleted file]
TC/testcase/utc_record_paint_alpha_image.c [deleted file]
TC/testcase/utc_record_paint_alpha_solid_clip_gl.c [deleted file]
TC/testcase/utc_record_paint_alpha_solid_clip_image.c [deleted file]
TC/testcase/utc_record_paint_gl.c [deleted file]
TC/testcase/utc_record_paint_image.c [deleted file]
TC/testcase/utc_record_select_font_face_gl.c [deleted file]
TC/testcase/utc_record_select_font_face_image.c [deleted file]
TC/testcase/utc_record_self_intersecting_gl.c [deleted file]
TC/testcase/utc_record_self_intersecting_image.c [deleted file]
TC/testcase/utc_record_text_transform_gl.c [deleted file]
TC/testcase/utc_record_text_transform_image.c [deleted file]
TC/testcase/utc_recording_surface_extend_none_gl.c [deleted file]
TC/testcase/utc_recording_surface_extend_none_image.c [deleted file]
TC/testcase/utc_recording_surface_extend_pad_gl.c [deleted file]
TC/testcase/utc_recording_surface_extend_pad_image.c [deleted file]
TC/testcase/utc_recording_surface_extend_reflect_gl.c [deleted file]
TC/testcase/utc_recording_surface_extend_reflect_image.c [deleted file]
TC/testcase/utc_recording_surface_extend_repeat_gl.c [deleted file]
TC/testcase/utc_recording_surface_extend_repeat_image.c [deleted file]
TC/testcase/utc_recording_surface_over_gl.c [deleted file]
TC/testcase/utc_recording_surface_over_image.c [deleted file]
TC/testcase/utc_recording_surface_source_gl.c [deleted file]
TC/testcase/utc_recording_surface_source_image.c [deleted file]
TC/testcase/utc_rectangle_rounding_error_gl.c [deleted file]
TC/testcase/utc_rectangle_rounding_error_image.c [deleted file]
TC/testcase/utc_rectilinear_dash_gl.c [deleted file]
TC/testcase/utc_rectilinear_dash_image.c [deleted file]
TC/testcase/utc_rectilinear_dash_scale_gl.c [deleted file]
TC/testcase/utc_rectilinear_dash_scale_image.c [deleted file]
TC/testcase/utc_rectilinear_dash_scale_unaligned_gl.c [deleted file]
TC/testcase/utc_rectilinear_dash_scale_unaligned_image.c [deleted file]
TC/testcase/utc_rectilinear_fill_gl.c [deleted file]
TC/testcase/utc_rectilinear_fill_image.c [deleted file]
TC/testcase/utc_rectilinear_grid_gl.c [deleted file]
TC/testcase/utc_rectilinear_grid_image.c [deleted file]
TC/testcase/utc_rectilinear_miter_limit_gl.c [deleted file]
TC/testcase/utc_rectilinear_miter_limit_image.c [deleted file]
TC/testcase/utc_rectilinear_stroke_gl.c [deleted file]
TC/testcase/utc_rectilinear_stroke_image.c [deleted file]
TC/testcase/utc_reflected_stroke_gl.c [deleted file]
TC/testcase/utc_reflected_stroke_image.c [deleted file]
TC/testcase/utc_rel_path_gl.c [deleted file]
TC/testcase/utc_rel_path_image.c [deleted file]
TC/testcase/utc_rgb24_ignore_alpha_gl.c [deleted file]
TC/testcase/utc_rgb24_ignore_alpha_image.c [deleted file]
TC/testcase/utc_rotate_clip_image_surface_paint_gl.c [deleted file]
TC/testcase/utc_rotate_clip_image_surface_paint_image.c [deleted file]
TC/testcase/utc_rotate_image_surface_paint_gl.c [deleted file]
TC/testcase/utc_rotate_image_surface_paint_image.c [deleted file]
TC/testcase/utc_rotated_clip_gl.c [deleted file]
TC/testcase/utc_rotated_clip_image.c [deleted file]
TC/testcase/utc_rounded_rectangle_fill_gl.c [deleted file]
TC/testcase/utc_rounded_rectangle_fill_image.c [deleted file]
TC/testcase/utc_rounded_rectangle_stroke_gl.c [deleted file]
TC/testcase/utc_rounded_rectangle_stroke_image.c [deleted file]
TC/testcase/utc_scale_down_source_surface_paint_gl.c [deleted file]
TC/testcase/utc_scale_down_source_surface_paint_image.c [deleted file]
TC/testcase/utc_scale_offset_image_gl.c [deleted file]
TC/testcase/utc_scale_offset_image_image.c [deleted file]
TC/testcase/utc_scale_offset_similar_gl.c [deleted file]
TC/testcase/utc_scale_offset_similar_image.c [deleted file]
TC/testcase/utc_scale_source_surface_paint_gl.c [deleted file]
TC/testcase/utc_scale_source_surface_paint_image.c [deleted file]
TC/testcase/utc_scaled_font_zero_matrix_gl.c [deleted file]
TC/testcase/utc_scaled_font_zero_matrix_image.c [deleted file]
TC/testcase/utc_select_font_face_gl.c [deleted file]
TC/testcase/utc_select_font_face_image.c [deleted file]
TC/testcase/utc_select_font_no_show_text_gl.c [deleted file]
TC/testcase/utc_select_font_no_show_text_image.c [deleted file]
TC/testcase/utc_self_copy_gl.c [deleted file]
TC/testcase/utc_self_copy_image.c [deleted file]
TC/testcase/utc_self_copy_overlap_gl.c [deleted file]
TC/testcase/utc_self_copy_overlap_image.c [deleted file]
TC/testcase/utc_self_intersecting_gl.c [deleted file]
TC/testcase/utc_self_intersecting_image.c [deleted file]
TC/testcase/utc_set_source_gl.c [deleted file]
TC/testcase/utc_set_source_image.c [deleted file]
TC/testcase/utc_shape_general_convex_gl.c [deleted file]
TC/testcase/utc_shape_general_convex_image.c [deleted file]
TC/testcase/utc_shape_sierpinski_gl.c [deleted file]
TC/testcase/utc_shape_sierpinski_image.c [deleted file]
TC/testcase/utc_show_glyphs_advance_gl.c [deleted file]
TC/testcase/utc_show_glyphs_advance_image.c [deleted file]
TC/testcase/utc_show_glyphs_many_gl.c [deleted file]
TC/testcase/utc_show_glyphs_many_image.c [deleted file]
TC/testcase/utc_show_text_current_point_gl.c [deleted file]
TC/testcase/utc_show_text_current_point_image.c [deleted file]
TC/testcase/utc_skew_extreme_gl.c [deleted file]
TC/testcase/utc_skew_extreme_image.c [deleted file]
TC/testcase/utc_smask_fill_gl.c [deleted file]
TC/testcase/utc_smask_fill_image.c [deleted file]
TC/testcase/utc_smask_gl.c [deleted file]
TC/testcase/utc_smask_image.c [deleted file]
TC/testcase/utc_smask_image_mask_gl.c [deleted file]
TC/testcase/utc_smask_image_mask_image.c [deleted file]
TC/testcase/utc_smask_mask_gl.c [deleted file]
TC/testcase/utc_smask_mask_image.c [deleted file]
TC/testcase/utc_smask_paint_gl.c [deleted file]
TC/testcase/utc_smask_paint_image.c [deleted file]
TC/testcase/utc_smask_stroke_gl.c [deleted file]
TC/testcase/utc_smask_stroke_image.c [deleted file]
TC/testcase/utc_smask_text_gl.c [deleted file]
TC/testcase/utc_smask_text_image.c [deleted file]
TC/testcase/utc_solid_pattern_cache_stress_gl.c [deleted file]
TC/testcase/utc_solid_pattern_cache_stress_image.c [deleted file]
TC/testcase/utc_source_clip_gl.c [deleted file]
TC/testcase/utc_source_clip_image.c [deleted file]
TC/testcase/utc_source_clip_scale_gl.c [deleted file]
TC/testcase/utc_source_clip_scale_image.c [deleted file]
TC/testcase/utc_source_surface_scale_paint_gl.c [deleted file]
TC/testcase/utc_source_surface_scale_paint_image.c [deleted file]
TC/testcase/utc_spline_decomposition_gl.c [deleted file]
TC/testcase/utc_spline_decomposition_image.c [deleted file]
TC/testcase/utc_stride_12_image_gl.c [deleted file]
TC/testcase/utc_stride_12_image_image.c [deleted file]
TC/testcase/utc_stroke_ctm_caps_gl.c [deleted file]
TC/testcase/utc_stroke_ctm_caps_image.c [deleted file]
TC/testcase/utc_stroke_image_gl.c [deleted file]
TC/testcase/utc_stroke_image_image.c [deleted file]
TC/testcase/utc_stroke_open_box_gl.c [deleted file]
TC/testcase/utc_stroke_open_box_image.c [deleted file]
TC/testcase/utc_stroke_pattern_gl.c [deleted file]
TC/testcase/utc_stroke_pattern_image.c [deleted file]
TC/testcase/utc_subsurface_gl.c [deleted file]
TC/testcase/utc_subsurface_image.c [deleted file]
TC/testcase/utc_subsurface_image_repeat_gl.c [deleted file]
TC/testcase/utc_subsurface_image_repeat_image.c [deleted file]
TC/testcase/utc_subsurface_modify_child_gl.c [deleted file]
TC/testcase/utc_subsurface_modify_child_image.c [deleted file]
TC/testcase/utc_subsurface_modify_parent_gl.c [deleted file]
TC/testcase/utc_subsurface_modify_parent_image.c [deleted file]
TC/testcase/utc_subsurface_outside_target_gl.c [deleted file]
TC/testcase/utc_subsurface_outside_target_image.c [deleted file]
TC/testcase/utc_subsurface_pad_gl.c [deleted file]
TC/testcase/utc_subsurface_pad_image.c [deleted file]
TC/testcase/utc_subsurface_reflect_gl.c [deleted file]
TC/testcase/utc_subsurface_reflect_image.c [deleted file]
TC/testcase/utc_subsurface_repeat_gl.c [deleted file]
TC/testcase/utc_subsurface_repeat_image.c [deleted file]
TC/testcase/utc_subsurface_scale_gl.c [deleted file]
TC/testcase/utc_subsurface_scale_image.c [deleted file]
TC/testcase/utc_subsurface_similar_repeat_gl.c [deleted file]
TC/testcase/utc_subsurface_similar_repeat_image.c [deleted file]
TC/testcase/utc_surface_finish_twice_gl.c [deleted file]
TC/testcase/utc_surface_finish_twice_image.c [deleted file]
TC/testcase/utc_surface_pattern_big_scale_down_gl.c [deleted file]
TC/testcase/utc_surface_pattern_big_scale_down_image.c [deleted file]
TC/testcase/utc_surface_pattern_gl.c [deleted file]
TC/testcase/utc_surface_pattern_image.c [deleted file]
TC/testcase/utc_surface_pattern_operator_gl.c [deleted file]
TC/testcase/utc_surface_pattern_operator_image.c [deleted file]
TC/testcase/utc_surface_pattern_scale_down_extend_none_gl.c [deleted file]
TC/testcase/utc_surface_pattern_scale_down_extend_none_image.c [deleted file]
TC/testcase/utc_surface_pattern_scale_down_extend_pad_gl.c [deleted file]
TC/testcase/utc_surface_pattern_scale_down_extend_pad_image.c [deleted file]
TC/testcase/utc_surface_pattern_scale_down_extend_reflect_gl.c [deleted file]
TC/testcase/utc_surface_pattern_scale_down_extend_reflect_image.c [deleted file]
TC/testcase/utc_surface_pattern_scale_down_extend_repeat_gl.c [deleted file]
TC/testcase/utc_surface_pattern_scale_down_extend_repeat_image.c [deleted file]
TC/testcase/utc_surface_pattern_scale_down_gl.c [deleted file]
TC/testcase/utc_surface_pattern_scale_down_image.c [deleted file]
TC/testcase/utc_surface_pattern_scale_up_gl.c [deleted file]
TC/testcase/utc_surface_pattern_scale_up_image.c [deleted file]
TC/testcase/utc_svg_clip_gl.c [deleted file]
TC/testcase/utc_svg_clip_image.c [deleted file]
TC/testcase/utc_svg_surface_gl.c [deleted file]
TC/testcase/utc_svg_surface_image.c [deleted file]
TC/testcase/utc_svg_surface_source_gl.c [deleted file]
TC/testcase/utc_svg_surface_source_image.c [deleted file]
TC/testcase/utc_text_antialias_gray_gl.c [deleted file]
TC/testcase/utc_text_antialias_gray_image.c [deleted file]
TC/testcase/utc_text_antialias_none_gl.c [deleted file]
TC/testcase/utc_text_antialias_none_image.c [deleted file]
TC/testcase/utc_text_antialias_subpixel_bgr_gl.c [deleted file]
TC/testcase/utc_text_antialias_subpixel_bgr_image.c [deleted file]
TC/testcase/utc_text_antialias_subpixel_gl.c [deleted file]
TC/testcase/utc_text_antialias_subpixel_image.c [deleted file]
TC/testcase/utc_text_antialias_subpixel_rgb_gl.c [deleted file]
TC/testcase/utc_text_antialias_subpixel_rgb_image.c [deleted file]
TC/testcase/utc_text_antialias_subpixel_vbgr_gl.c [deleted file]
TC/testcase/utc_text_antialias_subpixel_vbgr_image.c [deleted file]
TC/testcase/utc_text_antialias_subpixel_vrgb_gl.c [deleted file]
TC/testcase/utc_text_antialias_subpixel_vrgb_image.c [deleted file]
TC/testcase/utc_text_cache_crash_gl.c [deleted file]
TC/testcase/utc_text_cache_crash_image.c [deleted file]
TC/testcase/utc_text_glyph_range_gl.c [deleted file]
TC/testcase/utc_text_glyph_range_image.c [deleted file]
TC/testcase/utc_text_pattern_gl.c [deleted file]
TC/testcase/utc_text_pattern_image.c [deleted file]
TC/testcase/utc_text_rotate_gl.c [deleted file]
TC/testcase/utc_text_rotate_image.c [deleted file]
TC/testcase/utc_text_transform_gl.c [deleted file]
TC/testcase/utc_text_transform_image.c [deleted file]
TC/testcase/utc_text_zero_len_gl.c [deleted file]
TC/testcase/utc_text_zero_len_image.c [deleted file]
TC/testcase/utc_tiger_gl.c [deleted file]
TC/testcase/utc_tiger_image.c [deleted file]
TC/testcase/utc_tighten_bounds_gl.c [deleted file]
TC/testcase/utc_tighten_bounds_image.c [deleted file]
TC/testcase/utc_toy_font_face_gl.c [deleted file]
TC/testcase/utc_toy_font_face_image.c [deleted file]
TC/testcase/utc_transforms_gl.c [deleted file]
TC/testcase/utc_transforms_image.c [deleted file]
TC/testcase/utc_translate_show_surface_gl.c [deleted file]
TC/testcase/utc_translate_show_surface_image.c [deleted file]
TC/testcase/utc_trap_clip_gl.c [deleted file]
TC/testcase/utc_trap_clip_image.c [deleted file]
TC/testcase/utc_twin_antialias_gray_gl.c [deleted file]
TC/testcase/utc_twin_antialias_gray_image.c [deleted file]
TC/testcase/utc_twin_antialias_mixed_gl.c [deleted file]
TC/testcase/utc_twin_antialias_mixed_image.c [deleted file]
TC/testcase/utc_twin_antialias_none_gl.c [deleted file]
TC/testcase/utc_twin_antialias_none_image.c [deleted file]
TC/testcase/utc_twin_antialias_subpixel_gl.c [deleted file]
TC/testcase/utc_twin_antialias_subpixel_image.c [deleted file]
TC/testcase/utc_twin_gl.c [deleted file]
TC/testcase/utc_twin_image.c [deleted file]
TC/testcase/utc_unaligned_box_gl.c [deleted file]
TC/testcase/utc_unaligned_box_image.c [deleted file]
TC/testcase/utc_unantialiased_shapes_gl.c [deleted file]
TC/testcase/utc_unantialiased_shapes_image.c [deleted file]
TC/testcase/utc_unbounded_operator_gl.c [deleted file]
TC/testcase/utc_unbounded_operator_image.c [deleted file]
TC/testcase/utc_unclosed_strokes_gl.c [deleted file]
TC/testcase/utc_unclosed_strokes_image.c [deleted file]
TC/testcase/utc_user_data_gl.c [deleted file]
TC/testcase/utc_user_data_image.c [deleted file]
TC/testcase/utc_user_font_gl.c [deleted file]
TC/testcase/utc_user_font_image.c [deleted file]
TC/testcase/utc_user_font_mask_gl.c [deleted file]
TC/testcase/utc_user_font_mask_image.c [deleted file]
TC/testcase/utc_user_font_proxy_gl.c [deleted file]
TC/testcase/utc_user_font_proxy_image.c [deleted file]
TC/testcase/utc_user_font_rescale_gl.c [deleted file]
TC/testcase/utc_user_font_rescale_image.c [deleted file]
TC/testcase/utc_white_in_noop_gl.c [deleted file]
TC/testcase/utc_white_in_noop_image.c [deleted file]
TC/testcase/utc_world_map_fill_gl.c [deleted file]
TC/testcase/utc_world_map_fill_image.c [deleted file]
TC/testcase/utc_world_map_gl.c [deleted file]
TC/testcase/utc_world_map_image.c [deleted file]
TC/testcase/utc_world_map_stroke_gl.c [deleted file]
TC/testcase/utc_world_map_stroke_image.c [deleted file]
TC/testcase/utc_xcb_huge_image_shm_gl.c [deleted file]
TC/testcase/utc_xcb_huge_image_shm_image.c [deleted file]
TC/testcase/utc_xcb_snapshot_assert_gl.c [deleted file]
TC/testcase/utc_xcb_snapshot_assert_image.c [deleted file]
TC/testcase/utc_xcb_stress_cache_gl.c [deleted file]
TC/testcase/utc_xcb_stress_cache_image.c [deleted file]
TC/testcase/utc_xcb_surface_source_gl.c [deleted file]
TC/testcase/utc_xcb_surface_source_image.c [deleted file]
TC/testcase/utc_xcomposite_projection_gl.c [deleted file]
TC/testcase/utc_xcomposite_projection_image.c [deleted file]
TC/testcase/utc_xlib_expose_event_gl.c [deleted file]
TC/testcase/utc_xlib_expose_event_image.c [deleted file]
TC/testcase/utc_xlib_surface_gl.c [deleted file]
TC/testcase/utc_xlib_surface_image.c [deleted file]
TC/testcase/utc_xlib_surface_source_gl.c [deleted file]
TC/testcase/utc_xlib_surface_source_image.c [deleted file]
TC/testcase/utc_zero_alpha_gl.c [deleted file]
TC/testcase/utc_zero_alpha_image.c [deleted file]
TC/testcase/utc_zero_mask_gl.c [deleted file]
TC/testcase/utc_zero_mask_image.c [deleted file]
TC/tet_scen [deleted file]
TC/tetbuild.cfg [deleted file]
TC/tetclean.cfg [deleted file]
TC/tetexec.cfg [deleted file]
aclocal.m4 [deleted file]
boilerplate/Makefile.sources
boilerplate/Makefile.win32.features
boilerplate/cairo-boilerplate-egl.c
boilerplate/cairo-boilerplate-evas-gl.c [new file with mode: 0644]
boilerplate/cairo-boilerplate-glx.c
boilerplate/cairo-boilerplate-tg.c [new file with mode: 0644]
boilerplate/cairo-boilerplate-xcb.c
build/Makefile.win32.features
build/Makefile.win32.features-h
build/aclocal.pkg.m4
build/configure.ac.features
build/configure.ac.openmp [new file with mode: 0644]
build/configure.ac.tls [new file with mode: 0644]
build/configure.ac.warnings
cairo-glesv3-uninstall.pc [new file with mode: 0644]
cairo-version.h
config.h.in [deleted file]
configure [deleted file]
configure.ac
debian/changelog [deleted file]
debian/compat [deleted file]
debian/control [deleted file]
debian/copyright [deleted file]
debian/libcairo2-dev.install [deleted file]
debian/libcairo2-doc.doc-base [deleted file]
debian/libcairo2-doc.install [deleted file]
debian/libcairo2.install [deleted file]
debian/libcairo2.install.in [deleted file]
debian/libcairo2.install.opt [deleted file]
debian/rules [deleted file]
debian/watch [deleted file]
doc/cairo-evas-gl_doc.h [new file with mode: 0755]
doc/tutorial/slides/.gitignore [deleted file]
doc/tutorial/slides/cairo-blank.svg [deleted file]
doc/tutorial/slides/cairo-code.svg [deleted file]
doc/tutorial/slides/cairo-large-content.svg [deleted file]
doc/tutorial/slides/cairo-separator.svg [deleted file]
doc/tutorial/slides/cairo-title.svg [deleted file]
doc/tutorial/slides/cairo.svg [deleted file]
doc/tutorial/slides/circle-cairo-large.png [deleted file]
doc/tutorial/slides/circle-cairo.png [deleted file]
doc/tutorial/slides/circle-ooo-large.png [deleted file]
doc/tutorial/slides/circle-ooo.png [deleted file]
doc/tutorial/slides/expander-fuzzy-large.png [deleted file]
doc/tutorial/slides/expander-fuzzy.png [deleted file]
doc/tutorial/slides/expander-sharp-large.png [deleted file]
doc/tutorial/slides/expander-sharp.png [deleted file]
doc/tutorial/slides/fuzzies.svg [deleted file]
doc/tutorial/slides/jaggies.svg [deleted file]
doc/tutorial/slides/rendering-model.png [deleted file]
doc/tutorial/slides/tutorial.xml [deleted file]
doc/tutorial/src/.gitignore [deleted file]
doc/tutorial/src/README [deleted file]
doc/tutorial/src/circle.c [deleted file]
doc/tutorial/src/include/cairo-tutorial-gtk.h [deleted file]
doc/tutorial/src/include/cairo-tutorial-pdf.h [deleted file]
doc/tutorial/src/include/cairo-tutorial-png.h [deleted file]
doc/tutorial/src/include/cairo-tutorial-xlib.h [deleted file]
doc/tutorial/src/include/cairo-tutorial.h [deleted file]
doc/tutorial/src/lca.c [deleted file]
doc/tutorial/src/singular.c [deleted file]
doc/tutorial/src/twin.c [deleted file]
packaging/cairo.spec [changed mode: 0644->0755]
perf/.gitignore [deleted file]
perf/COPYING [deleted file]
perf/Makefile.am [deleted file]
perf/Makefile.in [deleted file]
perf/Makefile.sources [deleted file]
perf/Makefile.win32 [deleted file]
perf/README [deleted file]
perf/cairo-analyse-trace.c [deleted file]
perf/cairo-perf-chart.c [deleted file]
perf/cairo-perf-compare-backends.c [deleted file]
perf/cairo-perf-diff [deleted file]
perf/cairo-perf-diff-files.c [deleted file]
perf/cairo-perf-graph [deleted file]
perf/cairo-perf-graph-files.c [deleted file]
perf/cairo-perf-graph-widget.c [deleted file]
perf/cairo-perf-graph.h [deleted file]
perf/cairo-perf-micro.c [deleted file]
perf/cairo-perf-print.c [deleted file]
perf/cairo-perf-report.c [deleted file]
perf/cairo-perf-trace.c [deleted file]
perf/cairo-perf.c [deleted file]
perf/cairo-perf.h [deleted file]
perf/cairo-stats.c [deleted file]
perf/cairo-stats.h [deleted file]
perf/dirent-win32.h [deleted file]
perf/make-html.py [deleted file]
perf/micro/Makefile.am [deleted file]
perf/micro/Makefile.in [deleted file]
perf/micro/Makefile.sources [deleted file]
perf/micro/Makefile.win32 [deleted file]
perf/micro/a1-curve.c [deleted file]
perf/micro/a1-line.c [deleted file]
perf/micro/box-outline.c [deleted file]
perf/micro/cairo-perf-cover.c [deleted file]
perf/micro/composite-checker.c [deleted file]
perf/micro/curve.c [deleted file]
perf/micro/disjoint.c [deleted file]
perf/micro/dragon.c [deleted file]
perf/micro/fill-clip.c [deleted file]
perf/micro/fill.c [deleted file]
perf/micro/glyphs.c [deleted file]
perf/micro/hash-table.c [deleted file]
perf/micro/hatching.c [deleted file]
perf/micro/intersections.c [deleted file]
perf/micro/line.c [deleted file]
perf/micro/long-dashed-lines.c [deleted file]
perf/micro/long-lines.c [deleted file]
perf/micro/many-curves.c [deleted file]
perf/micro/many-fills.c [deleted file]
perf/micro/many-strokes.c [deleted file]
perf/micro/mask.c [deleted file]
perf/micro/mosaic.c [deleted file]
perf/micro/mosaic.h [deleted file]
perf/micro/paint-with-alpha.c [deleted file]
perf/micro/paint.c [deleted file]
perf/micro/pattern_create_radial.c [deleted file]
perf/micro/pixel.c [deleted file]
perf/micro/pythagoras-tree.c [deleted file]
perf/micro/rectangles.c [deleted file]
perf/micro/rounded-rectangles.c [deleted file]
perf/micro/sierpinski.c [deleted file]
perf/micro/spiral.c [deleted file]
perf/micro/stroke.c [deleted file]
perf/micro/subimage_copy.c [deleted file]
perf/micro/tessellate.c [deleted file]
perf/micro/text.c [deleted file]
perf/micro/tiger.c [deleted file]
perf/micro/twin.c [deleted file]
perf/micro/unaligned-clip.c [deleted file]
perf/micro/wave.c [deleted file]
perf/micro/wide-fills.c [deleted file]
perf/micro/wide-strokes.c [deleted file]
perf/micro/world-map.c [deleted file]
perf/micro/world-map.h [deleted file]
perf/micro/zrusin-another.h [deleted file]
perf/micro/zrusin.c [deleted file]
src/Makefile.sources [changed mode: 0644->0755]
src/Makefile.win32.features
src/cairo-analysis-surface.c
src/cairo-array.c
src/cairo-backend-private.h
src/cairo-bentley-ottmann-rectangular.c
src/cairo-bentley-ottmann.c
src/cairo-box-private.h [deleted file]
src/cairo-cff-subset.c
src/cairo-clip-boxes.c
src/cairo-clip-private.h
src/cairo-clip-surface.c
src/cairo-clip.c
src/cairo-cogl-surface.c
src/cairo-combsort-private.h [deleted file]
src/cairo-composite-rectangles.c [changed mode: 0644->0755]
src/cairo-compositor-private.h [changed mode: 0644->0755]
src/cairo-compositor.c
src/cairo-damage-private.h
src/cairo-damage.c
src/cairo-default-context.c [changed mode: 0644->0755]
src/cairo-device-private.h
src/cairo-device.c [changed mode: 0644->0755]
src/cairo-directfb-surface.c
src/cairo-egl-context.c
src/cairo-evas-gl-context.c [new file with mode: 0755]
src/cairo-evas-gl.h [new file with mode: 0755]
src/cairo-fallback-compositor.c
src/cairo-filters-private.h [new file with mode: 0644]
src/cairo-filters.c [new file with mode: 0644]
src/cairo-font-face-twin.c
src/cairo-font-options.c [changed mode: 0644->0755]
src/cairo-ft-font.c [changed mode: 0644->0755]
src/cairo-gl-composite.c
src/cairo-gl-device.c [changed mode: 0644->0755]
src/cairo-gl-dispatch-private.h
src/cairo-gl-dispatch.c
src/cairo-gl-filters.c [new file with mode: 0755]
src/cairo-gl-glyphs.c
src/cairo-gl-gradient-private.h [changed mode: 0644->0755]
src/cairo-gl-gradient.c
src/cairo-gl-hairline-stroke.c
src/cairo-gl-info.c
src/cairo-gl-msaa-compositor.c [changed mode: 0755->0644]
src/cairo-gl-operand.c [changed mode: 0644->0755]
src/cairo-gl-private.h [changed mode: 0644->0755]
src/cairo-gl-shaders.c
src/cairo-gl-source.c
src/cairo-gl-spans-compositor.c
src/cairo-gl-surface-legacy.c
src/cairo-gl-surface.c
src/cairo-gl-traps-compositor.c
src/cairo-gl.h [changed mode: 0644->0755]
src/cairo-glx-context.c
src/cairo-gstate-private.h
src/cairo-gstate.c [changed mode: 0644->0755]
src/cairo-image-compositor.c [changed mode: 0644->0755]
src/cairo-image-filters-private.h [new file with mode: 0755]
src/cairo-image-filters.c [new file with mode: 0755]
src/cairo-image-source.c [changed mode: 0644->0755]
src/cairo-image-spans-compositor.c [deleted file]
src/cairo-image-surface-inline.h
src/cairo-image-surface-private.h
src/cairo-image-surface.c
src/cairo-mask-compositor.c
src/cairo-mempool-private.h [new file with mode: 0644]
src/cairo-mempool.c [new file with mode: 0644]
src/cairo-mesh-pattern-rasterizer.c
src/cairo-mime-surface.c [deleted file]
src/cairo-mutex-list-private.h
src/cairo-mutex-private.h
src/cairo-mutex.c
src/cairo-os2-surface.c
src/cairo-output-stream.c
src/cairo-paginated-surface.c
src/cairo-path-bounds.c [changed mode: 0644->0755]
src/cairo-path-fill.c
src/cairo-path-fixed-private.h
src/cairo-path-fixed.c
src/cairo-path-stroke-boxes.c
src/cairo-path-stroke-polygon.c
src/cairo-path-stroke-traps.c [new file with mode: 0644]
src/cairo-path-stroke-tristrip.c
src/cairo-path-stroke.c [changed mode: 0644->0755]
src/cairo-path.c
src/cairo-pattern-private.h [changed mode: 0644->0755]
src/cairo-pattern.c [changed mode: 0644->0755]
src/cairo-pdf-shading.c
src/cairo-pdf-surface-private.h
src/cairo-pdf-surface.c
src/cairo-pen.c
src/cairo-polygon-intersect.c
src/cairo-polygon-reduce.c
src/cairo-polygon.c
src/cairo-ps-surface.c
src/cairo-qt-surface.cpp
src/cairo-quartz-filters.c [new file with mode: 0755]
src/cairo-quartz-image-surface.c
src/cairo-quartz-private.h
src/cairo-quartz-surface.c [changed mode: 0644->0755]
src/cairo-raster-source-pattern.c
src/cairo-recording-surface.c [changed mode: 0644->0755]
src/cairo-rectangle.c
src/cairo-scaled-font.c
src/cairo-script-surface.c
src/cairo-spans-compositor-private.h
src/cairo-spans-compositor.c [changed mode: 0644->0755]
src/cairo-spline.c
src/cairo-stroke-style.c
src/cairo-surface-backend-private.h
src/cairo-surface-inline.h
src/cairo-surface-observer-private.h
src/cairo-surface-observer.c
src/cairo-surface-private.h
src/cairo-surface-scale-translate-private.h [new file with mode: 0644]
src/cairo-surface-scale-translate.c [new file with mode: 0644]
src/cairo-surface-shadow-private.h [new file with mode: 0644]
src/cairo-surface-shadow.c [new file with mode: 0755]
src/cairo-surface-snapshot.c
src/cairo-surface-subsurface.c
src/cairo-surface.c [changed mode: 0644->0755]
src/cairo-svg-surface.c
src/cairo-system.c [deleted file]
src/cairo-tg-allocator-private.h [new file with mode: 0644]
src/cairo-tg-composite-extents-private.h [new file with mode: 0644]
src/cairo-tg-journal-private.h [new file with mode: 0644]
src/cairo-tg-journal.c [new file with mode: 0644]
src/cairo-tg-private.h [new file with mode: 0644]
src/cairo-tg-surface.c [new file with mode: 0644]
src/cairo-tg.h [new file with mode: 0644]
src/cairo-thread-local-private.h [new file with mode: 0644]
src/cairo-time.c
src/cairo-tor-scan-converter.c
src/cairo-tor22-scan-converter.c
src/cairo-traps-compositor.c [changed mode: 0644->0755]
src/cairo-traps-private.h
src/cairo-traps.c
src/cairo-truetype-subset.c
src/cairo-type1-fallback.c
src/cairo-type1-subset.c
src/cairo-type3-glyph-surface.c
src/cairo-types-private.h [changed mode: 0644->0755]
src/cairo-wgl-context.c
src/cairo-wideint-private.h
src/cairo-win32-font.c [deleted file]
src/cairo-win32-printing-surface.c [deleted file]
src/cairo-win32-private.h [deleted file]
src/cairo-win32-surface.c [deleted file]
src/cairo-xcb-connection-core.c
src/cairo-xcb-connection-render.c
src/cairo-xcb-connection-shm.c
src/cairo-xcb-connection.c
src/cairo-xcb-private.h
src/cairo-xcb-shm.c
src/cairo-xcb-surface-cairo.c [deleted file]
src/cairo-xcb-surface-core.c
src/cairo-xcb-surface-render.c [changed mode: 0644->0755]
src/cairo-xcb-surface.c [changed mode: 0644->0755]
src/cairo-xlib-core-compositor.c
src/cairo-xlib-display.c [changed mode: 0644->0755]
src/cairo-xlib-fallback-compositor.c
src/cairo-xlib-private.h
src/cairo-xlib-render-compositor.c [changed mode: 0644->0755]
src/cairo-xlib-screen.c
src/cairo-xlib-source.c
src/cairo-xlib-surface-shm.c [new file with mode: 0644]
src/cairo-xlib-surface.c
src/cairo-xlib-xcb-surface.c
src/cairo.c [changed mode: 0644->0755]
src/cairo.h [changed mode: 0644->0755]
src/cairoint.h [changed mode: 0644->0755]
src/drm/cairo-drm-gallium-surface.c
src/drm/cairo-drm-i915-private.h
src/drm/cairo-drm-i915-surface.c
src/drm/cairo-drm-i965-shader.c
src/drm/cairo-drm-i965-surface.c
src/drm/cairo-drm-intel-private.h
src/drm/cairo-drm-intel-surface.c
src/drm/cairo-drm-radeon-surface.c
src/skia/cairo-skia-context.cpp
src/skia/cairo-skia-surface.cpp
src/test-base-compositor-surface.c
src/test-null-compositor-surface.c [changed mode: 0644->0755]
src/win32/cairo-win32-device.c
src/win32/cairo-win32-display-surface.c
src/win32/cairo-win32-gdi-compositor.c
test/.gitignore [deleted file]
test/.valgrind-suppressions [deleted file]
test/6x13.pcf [deleted file]
test/COPYING [deleted file]
test/Makefile.am [deleted file]
test/Makefile.sources [deleted file]
test/Makefile.win32 [deleted file]
test/README [deleted file]
test/a1-bug.c [deleted file]
test/a1-clip.c [deleted file]
test/a1-fill.c [deleted file]
test/a1-image-sample.c [deleted file]
test/a1-mask-sample.c [deleted file]
test/a1-mask.c [deleted file]
test/a1-rasterisation.c [deleted file]
test/a1-sample.c [deleted file]
test/a1-traps-sample.c [deleted file]
test/a8-clear.c [deleted file]
test/a8-mask.c [deleted file]
test/aliasing.c [deleted file]
test/alpha-similar.c [deleted file]
test/any2ppm.c [deleted file]
test/api-special-cases.c [deleted file]
test/arc-direction.c [deleted file]
test/arc-infinite-loop.c [deleted file]
test/arc-looping-dash.c [deleted file]
test/big-empty-box.c [deleted file]
test/big-empty-triangle.c [deleted file]
test/big-line.c [deleted file]
test/big-little-box.c [deleted file]
test/big-little-triangle.c [deleted file]
test/big-trap.c [deleted file]
test/bilevel-image.c [deleted file]
test/bitmap-font.c [deleted file]
test/buffer-diff.c [deleted file]
test/buffer-diff.h [deleted file]
test/bug-40410.c [deleted file]
test/bug-bo-rectangular.c [deleted file]
test/bug-bo-ricotz.c [deleted file]
test/bug-extents.c [deleted file]
test/bug-seams.c [deleted file]
test/bug-source-cu.c [deleted file]
test/cairo-test-private.h [deleted file]
test/cairo-test-runner.c [deleted file]
test/cairo-test-trace.c [deleted file]
test/cairo-test.c [deleted file]
test/cairo-test.h [deleted file]
test/caps-joins-alpha.c [deleted file]
test/caps-joins-curve.c [deleted file]
test/caps-joins.c [deleted file]
test/caps-sub-paths.c [deleted file]
test/caps-tails-curve.c [deleted file]
test/caps.c [deleted file]
test/checkerboard.c [deleted file]
test/clear-source.c [deleted file]
test/clear.c [deleted file]
test/clip-all.c [deleted file]
test/clip-complex-shape.c [deleted file]
test/clip-contexts.c [deleted file]
test/clip-device-offset.c [deleted file]
test/clip-disjoint-hatching.c [deleted file]
test/clip-disjoint.c [deleted file]
test/clip-double-free.c [deleted file]
test/clip-draw-unbounded.c [deleted file]
test/clip-empty-group.c [deleted file]
test/clip-empty-save.c [deleted file]
test/clip-empty.c [deleted file]
test/clip-fill-no-op.c [deleted file]
test/clip-fill-rule-pixel-aligned.c [deleted file]
test/clip-fill-rule.c [deleted file]
test/clip-fill.c [deleted file]
test/clip-group-shapes.c [deleted file]
test/clip-image.c [deleted file]
test/clip-intersect.c [deleted file]
test/clip-mixed-antialias.c [deleted file]
test/clip-nesting.c [deleted file]
test/clip-operator.c [deleted file]
test/clip-polygons.c [deleted file]
test/clip-push-group.c [deleted file]
test/clip-rectilinear.c [deleted file]
test/clip-shape.c [deleted file]
test/clip-stroke-no-op.c [deleted file]
test/clip-stroke.c [deleted file]
test/clip-text.c [deleted file]
test/clip-twice-rectangle.c [deleted file]
test/clip-twice.c [deleted file]
test/clip-unbounded.c [deleted file]
test/clip-zero.c [deleted file]
test/clipped-group.c [deleted file]
test/clipped-surface.c [deleted file]
test/clipped-trapezoids-ref.png [deleted file]
test/clipped-trapezoids.c [deleted file]
test/close-path-current-point.c [deleted file]
test/close-path.c [deleted file]
test/composite-integer-translate-over-repeat.c [deleted file]
test/composite-integer-translate-over.c [deleted file]
test/composite-integer-translate-source.c [deleted file]
test/copy-disjoint.c [deleted file]
test/copy-path.c [deleted file]
test/coverage.c [deleted file]
test/create-for-stream.c [deleted file]
test/create-from-png-stream.c [deleted file]
test/create-from-png.c [deleted file]
test/culled-glyphs.c [deleted file]
test/curve-to-as-line-to.c [deleted file]
test/dash-caps-joins.c [deleted file]
test/dash-curve.c [deleted file]
test/dash-infinite-loop.c [deleted file]
test/dash-no-dash.c [deleted file]
test/dash-offset-negative.c [deleted file]
test/dash-offset.c [deleted file]
test/dash-scale.c [deleted file]
test/dash-state.c [deleted file]
test/dash-zero-length.c [deleted file]
test/degenerate-arc.c [deleted file]
test/degenerate-arcs.c [deleted file]
test/degenerate-curve-to.c [deleted file]
test/degenerate-dash.c [deleted file]
test/degenerate-linear-gradient.c [deleted file]
test/degenerate-path.c [deleted file]
test/degenerate-pen.c [deleted file]
test/degenerate-radial-gradient.c [deleted file]
test/degenerate-rel-curve-to.c [deleted file]
test/degenerate-solid-dash.c [deleted file]
test/device-offset-fractional.c [deleted file]
test/device-offset-positive.c [deleted file]
test/device-offset-scale.c [deleted file]
test/device-offset.c [deleted file]
test/drunkard-tails.c [deleted file]
test/error-setters.c [deleted file]
test/extend-pad-border.c [deleted file]
test/extend-pad-similar.c [deleted file]
test/extend-pad.c [deleted file]
test/extend-reflect-similar.c [deleted file]
test/extend-reflect.c [deleted file]
test/extend-repeat-similar.c [deleted file]
test/extend-repeat.c [deleted file]
test/extended-blend.c [deleted file]
test/fallback-resolution.c [deleted file]
test/fallback.c [deleted file]
test/fill-alpha-pattern.c [deleted file]
test/fill-alpha.c [deleted file]
test/fill-and-stroke-alpha-add.c [deleted file]
test/fill-and-stroke-alpha.c [deleted file]
test/fill-and-stroke.c [deleted file]
test/fill-degenerate-sort-order.c [deleted file]
test/fill-disjoint.c [deleted file]
test/fill-empty.c [deleted file]
test/fill-image.c [deleted file]
test/fill-missed-stop.c [deleted file]
test/fill-rule.c [deleted file]
test/filter-bilinear-extents.c [deleted file]
test/filter-nearest-offset.c [deleted file]
test/filter-nearest-transformed.c [deleted file]
test/finer-grained-fallbacks.c [deleted file]
test/font-face-get-type.c [deleted file]
test/font-matrix-translation.c [deleted file]
test/font-options.c [deleted file]
test/ft-font-create-for-ft-face.c [deleted file]
test/ft-show-glyphs-positioning.c [deleted file]
test/ft-show-glyphs-table.c [deleted file]
test/ft-text-antialias-none.c [deleted file]
test/ft-text-vertical-layout-type1.c [deleted file]
test/ft-text-vertical-layout-type3.c [deleted file]
test/generate_refs.sh [deleted file]
test/get-and-set.c [deleted file]
test/get-clip.c [deleted file]
test/get-group-target.c [deleted file]
test/get-path-extents.c [deleted file]
test/get-xrender-format.c [deleted file]
test/gl-surface-source.c [deleted file]
test/glyph-cache-pressure.c [deleted file]
test/gradient-alpha.c [deleted file]
test/gradient-constant-alpha.c [deleted file]
test/gradient-zero-stops-mask.c [deleted file]
test/gradient-zero-stops.c [deleted file]
test/group-clip.c [deleted file]
test/group-paint.c [deleted file]
test/group-state.c [deleted file]
test/group-unaligned.c [deleted file]
test/half-coverage.c [deleted file]
test/halo.c [deleted file]
test/hatchings.c [deleted file]
test/horizontal-clip.c [deleted file]
test/huge-linear.c [deleted file]
test/huge-radial.c [deleted file]
test/image-bug-710072.c [deleted file]
test/image-surface-source.c [deleted file]
test/imagediff.c [deleted file]
test/implicit-close.c [deleted file]
test/in-fill-empty-trapezoid.c [deleted file]
test/in-fill-trapezoid.c [deleted file]
test/index.html [deleted file]
test/infinite-join.c [deleted file]
test/invalid-matrix.c [deleted file]
test/inverse-text.c [deleted file]
test/inverted-clip.c [deleted file]
test/joins-loop.c [deleted file]
test/joins-retrace.c [deleted file]
test/joins-star.c [deleted file]
test/joins.c [deleted file]
test/jp2.jp2 [deleted file]
test/jpeg.jpg [deleted file]
test/large-clip.c [deleted file]
test/large-font.c [deleted file]
test/large-source-roi.c [deleted file]
test/large-source.c [deleted file]
test/large-twin-antialias-mixed.c [deleted file]
test/leaky-dash.c [deleted file]
test/leaky-dashed-rectangle.c [deleted file]
test/leaky-dashed-stroke.c [deleted file]
test/leaky-polygon.c [deleted file]
test/line-width-large-overlap.c [deleted file]
test/line-width-overlap.c [deleted file]
test/line-width-scale.c [deleted file]
test/line-width-tolerance.c [deleted file]
test/line-width-zero.c [deleted file]
test/line-width.c [deleted file]
test/linear-gradient-extend.c [deleted file]
test/linear-gradient-large.c [deleted file]
test/linear-gradient-one-stop.c [deleted file]
test/linear-gradient-reflect.c [deleted file]
test/linear-gradient-subset.c [deleted file]
test/linear-gradient.c [deleted file]
test/linear-step-function.c [deleted file]
test/linear-uniform.c [deleted file]
test/long-dashed-lines.c [deleted file]
test/long-lines.c [deleted file]
test/make-cairo-test-constructors.sh [deleted file]
test/map-to-image.c [deleted file]
test/mask-alpha.c [deleted file]
test/mask-ctm.c [deleted file]
test/mask-glyphs.c [deleted file]
test/mask-surface-ctm.c [deleted file]
test/mask-transformed-image.c [deleted file]
test/mask-transformed-similar.c [deleted file]
test/mask.c [deleted file]
test/mesh-pattern-accuracy.c [deleted file]
test/mesh-pattern-conical.c [deleted file]
test/mesh-pattern-control-points.c [deleted file]
test/mesh-pattern-fold.c [deleted file]
test/mesh-pattern-overlap.c [deleted file]
test/mesh-pattern-transformed.c [deleted file]
test/mesh-pattern.c [deleted file]
test/mime-data.c [deleted file]
test/mime-surface-api.c [deleted file]
test/mime-surface.c [deleted file]
test/miter-precision.c [deleted file]
test/move-to-show-surface.c [deleted file]
test/multi-page.c [deleted file]
test/negative-stride-image.c [deleted file]
test/new-sub-path.c [deleted file]
test/nil-surface.c [deleted file]
test/operator-alpha-alpha.c [deleted file]
test/operator-alpha.c [deleted file]
test/operator-clear.c [deleted file]
test/operator-source.c [deleted file]
test/operator.c [deleted file]
test/over-above-source.c [deleted file]
test/over-around-source.c [deleted file]
test/over-below-source.c [deleted file]
test/over-between-source.c [deleted file]
test/overlapping-boxes.c [deleted file]
test/overlapping-dash-caps.c [deleted file]
test/overlapping-glyphs.c [deleted file]
test/paint-clip-fill.c [deleted file]
test/paint-repeat.c [deleted file]
test/paint-source-alpha.c [deleted file]
test/paint-with-alpha.c [deleted file]
test/paint.c [deleted file]
test/partial-clip-text.c [deleted file]
test/partial-coverage.c [deleted file]
test/pass-through.c [deleted file]
test/path-append.c [deleted file]
test/path-precision.c [deleted file]
test/path-stroke-twice.c [deleted file]
test/pattern-get-type.c [deleted file]
test/pattern-getters.c [deleted file]
test/pdf-features.c [deleted file]
test/pdf-isolated-group.c [deleted file]
test/pdf-mime-data.c [deleted file]
test/pdf-surface-source.c [deleted file]
test/pdf2png.c [deleted file]
test/pdiff/.gitignore [deleted file]
test/pdiff/CMakeLists.txt [deleted file]
test/pdiff/Makefile.am [deleted file]
test/pdiff/Makefile.win32 [deleted file]
test/pdiff/README.txt [deleted file]
test/pdiff/args.c [deleted file]
test/pdiff/args.h [deleted file]
test/pdiff/gpl.txt [deleted file]
test/pdiff/lpyramid.c [deleted file]
test/pdiff/lpyramid.h [deleted file]
test/pdiff/pdiff.c [deleted file]
test/pdiff/pdiff.h [deleted file]
test/pdiff/perceptualdiff.c [deleted file]
test/pixman-rotate.c [deleted file]
test/png-flatten.c [deleted file]
test/png.c [deleted file]
test/png.png [deleted file]
test/ps-eps.c [deleted file]
test/ps-features.c [deleted file]
test/ps-surface-source.c [deleted file]
test/ps2png.c [deleted file]
test/pthread-same-source.c [deleted file]
test/pthread-show-text.c [deleted file]
test/pthread-similar.c [deleted file]
test/push-group-color.c [deleted file]
test/push-group-path-offset.c [deleted file]
test/push-group.c [deleted file]
test/quartz-surface-source.c [deleted file]
test/radial-gradient-extend.c [deleted file]
test/radial-gradient.c [deleted file]
test/radial-outer-focus.c [deleted file]
test/random-clips.c [deleted file]
test/random-intersections-curves-eo.c [deleted file]
test/random-intersections-curves-nz.c [deleted file]
test/random-intersections-eo.c [deleted file]
test/random-intersections-nonzero.c [deleted file]
test/raster-source.c [deleted file]
test/record-extend.c [deleted file]
test/record-mesh.c [deleted file]
test/record.c [deleted file]
test/record1414x.c [deleted file]
test/record2x.c [deleted file]
test/record90.c [deleted file]
test/recording-surface-extend.c [deleted file]
test/recording-surface-pattern.c [deleted file]
test/rectangle-rounding-error.c [deleted file]
test/rectilinear-dash-scale.c [deleted file]
test/rectilinear-dash.c [deleted file]
test/rectilinear-fill.c [deleted file]
test/rectilinear-grid.c [deleted file]
test/rectilinear-miter-limit.c [deleted file]
test/rectilinear-stroke.c [deleted file]
test/reference/a1-bug.base.argb32.ref.png [deleted file]
test/reference/a1-bug.base.rgb24.ref.png [deleted file]
test/reference/a1-bug.egl.argb32.ref.png [deleted file]
test/reference/a1-bug.image16.ref.png [deleted file]
test/reference/a1-bug.mask.argb32.ref.png [deleted file]
test/reference/a1-bug.mask.rgb24.ref.png [deleted file]
test/reference/a1-bug.quartz.xfail.png [deleted file]
test/reference/a1-bug.ref.png [deleted file]
test/reference/a1-bug.traps.argb32.ref.png [deleted file]
test/reference/a1-bug.traps.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill-equal.argb32.ref.png [deleted file]
test/reference/a1-clip-fill-equal.base.argb32.ref.png [deleted file]
test/reference/a1-clip-fill-equal.base.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill-equal.egl.argb32.ref.png [deleted file]
test/reference/a1-clip-fill-equal.mask.argb32.ref.png [deleted file]
test/reference/a1-clip-fill-equal.mask.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill-equal.ref.png [deleted file]
test/reference/a1-clip-fill-equal.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill-equal.traps.argb32.ref.png [deleted file]
test/reference/a1-clip-fill-equal.traps.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill-rule.argb32.ref.png [deleted file]
test/reference/a1-clip-fill-rule.base.argb32.ref.png [deleted file]
test/reference/a1-clip-fill-rule.base.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill-rule.egl.argb32.ref.png [deleted file]
test/reference/a1-clip-fill-rule.mask.argb32.ref.png [deleted file]
test/reference/a1-clip-fill-rule.mask.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill-rule.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill-rule.traps.argb32.ref.png [deleted file]
test/reference/a1-clip-fill-rule.traps.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill.argb32.ref.png [deleted file]
test/reference/a1-clip-fill.base.argb32.ref.png [deleted file]
test/reference/a1-clip-fill.base.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill.egl.argb32.ref.png [deleted file]
test/reference/a1-clip-fill.mask.argb32.ref.png [deleted file]
test/reference/a1-clip-fill.mask.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill.ref.png [deleted file]
test/reference/a1-clip-fill.rgb24.ref.png [deleted file]
test/reference/a1-clip-fill.traps.argb32.ref.png [deleted file]
test/reference/a1-clip-fill.traps.rgb24.ref.png [deleted file]
test/reference/a1-clip-paint.argb32.ref.png [deleted file]
test/reference/a1-clip-paint.base.argb32.ref.png [deleted file]
test/reference/a1-clip-paint.base.rgb24.ref.png [deleted file]
test/reference/a1-clip-paint.egl.argb32.ref.png [deleted file]
test/reference/a1-clip-paint.mask.argb32.ref.png [deleted file]
test/reference/a1-clip-paint.mask.rgb24.ref.png [deleted file]
test/reference/a1-clip-paint.ref.png [deleted file]
test/reference/a1-clip-paint.rgb24.ref.png [deleted file]
test/reference/a1-clip-paint.traps.argb32.ref.png [deleted file]
test/reference/a1-clip-paint.traps.rgb24.ref.png [deleted file]
test/reference/a1-clip-stroke.argb32.ref.png [deleted file]
test/reference/a1-clip-stroke.base.argb32.ref.png [deleted file]
test/reference/a1-clip-stroke.base.rgb24.ref.png [deleted file]
test/reference/a1-clip-stroke.egl.argb32.ref.png [deleted file]
test/reference/a1-clip-stroke.mask.argb32.ref.png [deleted file]
test/reference/a1-clip-stroke.mask.rgb24.ref.png [deleted file]
test/reference/a1-clip-stroke.ref.png [deleted file]
test/reference/a1-clip-stroke.rgb24.ref.png [deleted file]
test/reference/a1-clip-stroke.traps.argb32.ref.png [deleted file]
test/reference/a1-clip-stroke.traps.rgb24.ref.png [deleted file]
test/reference/a1-fill.argb32.ref.png [deleted file]
test/reference/a1-fill.base.argb32.ref.png [deleted file]
test/reference/a1-fill.base.ref.png [deleted file]
test/reference/a1-fill.base.rgb24.ref.png [deleted file]
test/reference/a1-fill.egl.argb32.ref.png [deleted file]
test/reference/a1-fill.mask.argb32.ref.png [deleted file]
test/reference/a1-fill.mask.rgb24.ref.png [deleted file]
test/reference/a1-fill.ref.png [deleted file]
test/reference/a1-fill.rgb24.ref.png [deleted file]
test/reference/a1-fill.traps.argb32.ref.png [deleted file]
test/reference/a1-fill.traps.ref.png [deleted file]
test/reference/a1-fill.traps.rgb24.ref.png [deleted file]
test/reference/a1-image-sample.argb32.ref.png [deleted file]
test/reference/a1-image-sample.base.argb32.ref.png [deleted file]
test/reference/a1-image-sample.base.rgb24.ref.png [deleted file]
test/reference/a1-image-sample.egl.argb32.ref.png [deleted file]
test/reference/a1-image-sample.gl.xfail.png [deleted file]
test/reference/a1-image-sample.mask.argb32.ref.png [deleted file]
test/reference/a1-image-sample.mask.rgb24.ref.png [deleted file]
test/reference/a1-image-sample.ref.png [deleted file]
test/reference/a1-image-sample.rgb24.ref.png [deleted file]
test/reference/a1-image-sample.traps.argb32.ref.png [deleted file]
test/reference/a1-image-sample.traps.rgb24.ref.png [deleted file]
test/reference/a1-image-sample.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/a1-image-sample.xlib-window.rgb24.ref.png [deleted file]
test/reference/a1-line-width.argb32.ref.png [deleted file]
test/reference/a1-line-width.base.argb32.ref.png [deleted file]
test/reference/a1-line-width.base.rgb24.ref.png [deleted file]
test/reference/a1-line-width.egl.argb32.ref.png [deleted file]
test/reference/a1-line-width.mask.argb32.ref.png [deleted file]
test/reference/a1-line-width.mask.rgb24.ref.png [deleted file]
test/reference/a1-line-width.pdf.ref.png [deleted file]
test/reference/a1-line-width.ps.ref.png [deleted file]
test/reference/a1-line-width.ref.png [deleted file]
test/reference/a1-line-width.rgb24.ref.png [deleted file]
test/reference/a1-line-width.traps.argb32.ref.png [deleted file]
test/reference/a1-line-width.traps.rgb24.ref.png [deleted file]
test/reference/a1-mask-sample.argb32.ref.png [deleted file]
test/reference/a1-mask-sample.base.argb32.ref.png [deleted file]
test/reference/a1-mask-sample.base.rgb24.ref.png [deleted file]
test/reference/a1-mask-sample.egl.argb32.ref.png [deleted file]
test/reference/a1-mask-sample.mask.argb32.ref.png [deleted file]
test/reference/a1-mask-sample.mask.rgb24.ref.png [deleted file]
test/reference/a1-mask-sample.ref.png [deleted file]
test/reference/a1-mask-sample.rgb24.ref.png [deleted file]
test/reference/a1-mask-sample.traps.argb32.ref.png [deleted file]
test/reference/a1-mask-sample.traps.rgb24.ref.png [deleted file]
test/reference/a1-mask.argb32.ref.png [deleted file]
test/reference/a1-mask.base.argb32.ref.png [deleted file]
test/reference/a1-mask.base.rgb24.ref.png [deleted file]
test/reference/a1-mask.egl.argb32.ref.png [deleted file]
test/reference/a1-mask.mask.argb32.ref.png [deleted file]
test/reference/a1-mask.mask.rgb24.ref.png [deleted file]
test/reference/a1-mask.pdf.ref.png [deleted file]
test/reference/a1-mask.ps.ref.png [deleted file]
test/reference/a1-mask.ref.png [deleted file]
test/reference/a1-mask.rgb24.ref.png [deleted file]
test/reference/a1-mask.traps.argb32.ref.png [deleted file]
test/reference/a1-mask.traps.rgb24.ref.png [deleted file]
test/reference/a1-rasterisation-rectangles.argb32.ref.png [deleted file]
test/reference/a1-rasterisation-rectangles.base.argb32.ref.png [deleted file]
test/reference/a1-rasterisation-rectangles.base.rgb24.ref.png [deleted file]
test/reference/a1-rasterisation-rectangles.egl.argb32.ref.png [deleted file]
test/reference/a1-rasterisation-rectangles.mask.argb32.ref.png [deleted file]
test/reference/a1-rasterisation-rectangles.mask.rgb24.ref.png [deleted file]
test/reference/a1-rasterisation-rectangles.quartz.xfail.png [deleted file]
test/reference/a1-rasterisation-rectangles.ref.png [deleted file]
test/reference/a1-rasterisation-rectangles.rgb24.ref.png [deleted file]
test/reference/a1-rasterisation-rectangles.traps.argb32.ref.png [deleted file]
test/reference/a1-rasterisation-rectangles.traps.rgb24.ref.png [deleted file]
test/reference/a1-rasterisation-triangles.argb32.ref.png [deleted file]
test/reference/a1-rasterisation-triangles.base.argb32.ref.png [deleted file]
test/reference/a1-rasterisation-triangles.base.rgb24.ref.png [deleted file]
test/reference/a1-rasterisation-triangles.egl.argb32.ref.png [deleted file]
test/reference/a1-rasterisation-triangles.mask.argb32.ref.png [deleted file]
test/reference/a1-rasterisation-triangles.mask.rgb24.ref.png [deleted file]
test/reference/a1-rasterisation-triangles.quartz.xfail.png [deleted file]
test/reference/a1-rasterisation-triangles.ref.png [deleted file]
test/reference/a1-rasterisation-triangles.rgb24.ref.png [deleted file]
test/reference/a1-rasterisation-triangles.traps.argb32.ref.png [deleted file]
test/reference/a1-rasterisation-triangles.traps.rgb24.ref.png [deleted file]
test/reference/a1-rectilinear-grid.argb32.ref.png [deleted file]
test/reference/a1-rectilinear-grid.base.argb32.ref.png [deleted file]
test/reference/a1-rectilinear-grid.base.rgb24.ref.png [deleted file]
test/reference/a1-rectilinear-grid.egl.argb32.ref.png [deleted file]
test/reference/a1-rectilinear-grid.mask.argb32.ref.png [deleted file]
test/reference/a1-rectilinear-grid.mask.rgb24.ref.png [deleted file]
test/reference/a1-rectilinear-grid.ref.png [deleted file]
test/reference/a1-rectilinear-grid.rgb24.ref.png [deleted file]
test/reference/a1-rectilinear-grid.traps.argb32.ref.png [deleted file]
test/reference/a1-rectilinear-grid.traps.rgb24.ref.png [deleted file]
test/reference/a1-sample.argb32.ref.png [deleted file]
test/reference/a1-sample.base.argb32.ref.png [deleted file]
test/reference/a1-sample.base.rgb24.ref.png [deleted file]
test/reference/a1-sample.egl.argb32.ref.png [deleted file]
test/reference/a1-sample.mask.argb32.ref.png [deleted file]
test/reference/a1-sample.mask.rgb24.ref.png [deleted file]
test/reference/a1-sample.ref.png [deleted file]
test/reference/a1-sample.rgb24.ref.png [deleted file]
test/reference/a1-sample.traps.argb32.ref.png [deleted file]
test/reference/a1-sample.traps.rgb24.ref.png [deleted file]
test/reference/a1-tiger.base.argb32.ref.png [deleted file]
test/reference/a1-tiger.base.rgb24.ref.png [deleted file]
test/reference/a1-tiger.egl.argb32.ref.png [deleted file]
test/reference/a1-tiger.mask.argb32.ref.png [deleted file]
test/reference/a1-tiger.mask.rgb24.ref.png [deleted file]
test/reference/a1-tiger.ref.png [deleted file]
test/reference/a1-tiger.traps.argb32.ref.png [deleted file]
test/reference/a1-tiger.traps.rgb24.ref.png [deleted file]
test/reference/a1-traps-sample.argb32.ref.png [deleted file]
test/reference/a1-traps-sample.base.argb32.ref.png [deleted file]
test/reference/a1-traps-sample.base.rgb24.ref.png [deleted file]
test/reference/a1-traps-sample.egl.argb32.ref.png [deleted file]
test/reference/a1-traps-sample.mask.argb32.ref.png [deleted file]
test/reference/a1-traps-sample.mask.rgb24.ref.png [deleted file]
test/reference/a1-traps-sample.quartz.xfail.png [deleted file]
test/reference/a1-traps-sample.ref.png [deleted file]
test/reference/a1-traps-sample.rgb24.ref.png [deleted file]
test/reference/a1-traps-sample.traps.argb32.ref.png [deleted file]
test/reference/a1-traps-sample.traps.rgb24.ref.png [deleted file]
test/reference/a8-clear.argb32.ref.png [deleted file]
test/reference/a8-clear.base.argb32.ref.png [deleted file]
test/reference/a8-clear.base.rgb24.ref.png [deleted file]
test/reference/a8-clear.egl.argb32.ref.png [deleted file]
test/reference/a8-clear.mask.argb32.ref.png [deleted file]
test/reference/a8-clear.mask.rgb24.ref.png [deleted file]
test/reference/a8-clear.quartz.ref.png [deleted file]
test/reference/a8-clear.ref.png [deleted file]
test/reference/a8-clear.rgb24.ref.png [deleted file]
test/reference/a8-clear.traps.argb32.ref.png [deleted file]
test/reference/a8-clear.traps.rgb24.ref.png [deleted file]
test/reference/a8-mask.argb32.ref.png [deleted file]
test/reference/a8-mask.base.argb32.ref.png [deleted file]
test/reference/a8-mask.base.rgb24.ref.png [deleted file]
test/reference/a8-mask.egl.argb32.ref.png [deleted file]
test/reference/a8-mask.mask.argb32.ref.png [deleted file]
test/reference/a8-mask.mask.rgb24.ref.png [deleted file]
test/reference/a8-mask.ref.png [deleted file]
test/reference/a8-mask.rgb24.ref.png [deleted file]
test/reference/a8-mask.traps.argb32.ref.png [deleted file]
test/reference/a8-mask.traps.rgb24.ref.png [deleted file]
test/reference/aliasing.argb32.ref.png [deleted file]
test/reference/aliasing.base.argb32.ref.png [deleted file]
test/reference/aliasing.base.rgb24.ref.png [deleted file]
test/reference/aliasing.egl.argb32.ref.png [deleted file]
test/reference/aliasing.image16.ref.png [deleted file]
test/reference/aliasing.mask.argb32.ref.png [deleted file]
test/reference/aliasing.mask.rgb24.ref.png [deleted file]
test/reference/aliasing.quartz.ref.png [deleted file]
test/reference/aliasing.ref.png [deleted file]
test/reference/aliasing.rgb24.ref.png [deleted file]
test/reference/aliasing.traps.argb32.ref.png [deleted file]
test/reference/aliasing.traps.rgb24.ref.png [deleted file]
test/reference/alpha-similar.argb32.ref.png [deleted file]
test/reference/alpha-similar.base.argb32.ref.png [deleted file]
test/reference/alpha-similar.base.rgb24.ref.png [deleted file]
test/reference/alpha-similar.egl.argb32.ref.png [deleted file]
test/reference/alpha-similar.gl.argb32.xfail.png [deleted file]
test/reference/alpha-similar.gl.rgb24.xfail.png [deleted file]
test/reference/alpha-similar.mask.argb32.ref.png [deleted file]
test/reference/alpha-similar.mask.rgb24.ref.png [deleted file]
test/reference/alpha-similar.pdf.argb32.xfail.png [deleted file]
test/reference/alpha-similar.pdf.rgb24.xfail.png [deleted file]
test/reference/alpha-similar.ps.argb32.xfail.png [deleted file]
test/reference/alpha-similar.ps.rgb24.xfail.png [deleted file]
test/reference/alpha-similar.ref.png [deleted file]
test/reference/alpha-similar.rgb24.ref.png [deleted file]
test/reference/alpha-similar.svg.argb32.xfail.png [deleted file]
test/reference/alpha-similar.svg.rgb24.xfail.png [deleted file]
test/reference/alpha-similar.traps.argb32.ref.png [deleted file]
test/reference/alpha-similar.traps.rgb24.ref.png [deleted file]
test/reference/api-special-cases.argb32.ref.png [deleted file]
test/reference/api-special-cases.base.argb32.ref.png [deleted file]
test/reference/api-special-cases.base.rgb24.ref.png [deleted file]
test/reference/api-special-cases.egl.argb32.ref.png [deleted file]
test/reference/api-special-cases.mask.argb32.ref.png [deleted file]
test/reference/api-special-cases.mask.rgb24.ref.png [deleted file]
test/reference/api-special-cases.ref.png [deleted file]
test/reference/api-special-cases.rgb24.ref.png [deleted file]
test/reference/api-special-cases.traps.argb32.ref.png [deleted file]
test/reference/api-special-cases.traps.rgb24.ref.png [deleted file]
test/reference/arc-direction.argb32.ref.png [deleted file]
test/reference/arc-direction.base.argb32.ref.png [deleted file]
test/reference/arc-direction.base.ref.png [deleted file]
test/reference/arc-direction.base.rgb24.ref.png [deleted file]
test/reference/arc-direction.egl.argb32.ref.png [deleted file]
test/reference/arc-direction.mask.argb32.ref.png [deleted file]
test/reference/arc-direction.mask.rgb24.ref.png [deleted file]
test/reference/arc-direction.ps.ref.png [deleted file]
test/reference/arc-direction.ref.png [deleted file]
test/reference/arc-direction.rgb24.ref.png [deleted file]
test/reference/arc-direction.traps.argb32.ref.png [deleted file]
test/reference/arc-direction.traps.ref.png [deleted file]
test/reference/arc-direction.traps.rgb24.ref.png [deleted file]
test/reference/arc-infinite-loop.argb32.ref.png [deleted file]
test/reference/arc-infinite-loop.base.argb32.ref.png [deleted file]
test/reference/arc-infinite-loop.base.rgb24.ref.png [deleted file]
test/reference/arc-infinite-loop.egl.argb32.ref.png [deleted file]
test/reference/arc-infinite-loop.mask.argb32.ref.png [deleted file]
test/reference/arc-infinite-loop.mask.rgb24.ref.png [deleted file]
test/reference/arc-infinite-loop.ref.png [deleted file]
test/reference/arc-infinite-loop.rgb24.ref.png [deleted file]
test/reference/arc-infinite-loop.traps.argb32.ref.png [deleted file]
test/reference/arc-infinite-loop.traps.rgb24.ref.png [deleted file]
test/reference/arc-looping-dash.argb32.ref.png [deleted file]
test/reference/arc-looping-dash.base.argb32.ref.png [deleted file]
test/reference/arc-looping-dash.base.rgb24.ref.png [deleted file]
test/reference/arc-looping-dash.egl.argb32.ref.png [deleted file]
test/reference/arc-looping-dash.image16.ref.png [deleted file]
test/reference/arc-looping-dash.mask.argb32.ref.png [deleted file]
test/reference/arc-looping-dash.mask.rgb24.ref.png [deleted file]
test/reference/arc-looping-dash.ps.ref.png [deleted file]
test/reference/arc-looping-dash.quartz.ref.png [deleted file]
test/reference/arc-looping-dash.ref.png [deleted file]
test/reference/arc-looping-dash.rgb24.ref.png [deleted file]
test/reference/arc-looping-dash.traps.argb32.ref.png [deleted file]
test/reference/arc-looping-dash.traps.rgb24.ref.png [deleted file]
test/reference/big-empty-box.argb32.ref.png [deleted file]
test/reference/big-empty-box.base.argb32.ref.png [deleted file]
test/reference/big-empty-box.base.rgb24.ref.png [deleted file]
test/reference/big-empty-box.egl.argb32.ref.png [deleted file]
test/reference/big-empty-box.rgb24.ref.png [deleted file]
test/reference/big-empty-box.traps.argb32.ref.png [deleted file]
test/reference/big-empty-box.traps.rgb24.ref.png [deleted file]
test/reference/big-empty-triangle.argb32.ref.png [deleted file]
test/reference/big-empty-triangle.base.argb32.ref.png [deleted file]
test/reference/big-empty-triangle.base.rgb24.ref.png [deleted file]
test/reference/big-empty-triangle.egl.argb32.ref.png [deleted file]
test/reference/big-empty-triangle.mask.argb32.ref.png [deleted file]
test/reference/big-empty-triangle.mask.rgb24.ref.png [deleted file]
test/reference/big-empty-triangle.rgb24.ref.png [deleted file]
test/reference/big-empty-triangle.traps.argb32.ref.png [deleted file]
test/reference/big-empty-triangle.traps.rgb24.ref.png [deleted file]
test/reference/big-line.argb32.ref.png [deleted file]
test/reference/big-line.base.argb32.ref.png [deleted file]
test/reference/big-line.base.rgb24.ref.png [deleted file]
test/reference/big-line.egl.argb32.ref.png [deleted file]
test/reference/big-line.image16.ref.png [deleted file]
test/reference/big-line.mask.argb32.ref.png [deleted file]
test/reference/big-line.mask.rgb24.ref.png [deleted file]
test/reference/big-line.ps.ref.png [deleted file]
test/reference/big-line.quartz.ref.png [deleted file]
test/reference/big-line.ref.png [deleted file]
test/reference/big-line.rgb24.ref.png [deleted file]
test/reference/big-line.traps.argb32.ref.png [deleted file]
test/reference/big-line.traps.rgb24.ref.png [deleted file]
test/reference/big-little-box.argb32.ref.png [deleted file]
test/reference/big-little-box.base.argb32.ref.png [deleted file]
test/reference/big-little-box.base.rgb24.ref.png [deleted file]
test/reference/big-little-box.egl.argb32.ref.png [deleted file]
test/reference/big-little-box.mask.argb32.ref.png [deleted file]
test/reference/big-little-box.mask.rgb24.ref.png [deleted file]
test/reference/big-little-box.rgb24.ref.png [deleted file]
test/reference/big-little-box.traps.argb32.ref.png [deleted file]
test/reference/big-little-box.traps.rgb24.ref.png [deleted file]
test/reference/big-little-triangle.argb32.ref.png [deleted file]
test/reference/big-little-triangle.base.argb32.ref.png [deleted file]
test/reference/big-little-triangle.base.rgb24.ref.png [deleted file]
test/reference/big-little-triangle.egl.argb32.ref.png [deleted file]
test/reference/big-little-triangle.mask.argb32.ref.png [deleted file]
test/reference/big-little-triangle.mask.rgb24.ref.png [deleted file]
test/reference/big-little-triangle.rgb24.ref.png [deleted file]
test/reference/big-little-triangle.traps.argb32.ref.png [deleted file]
test/reference/big-little-triangle.traps.rgb24.ref.png [deleted file]
test/reference/big-trap.base.argb32.ref.png [deleted file]
test/reference/big-trap.base.rgb24.ref.png [deleted file]
test/reference/big-trap.egl.argb32.ref.png [deleted file]
test/reference/big-trap.mask.argb32.ref.png [deleted file]
test/reference/big-trap.mask.rgb24.ref.png [deleted file]
test/reference/big-trap.traps.argb32.ref.png [deleted file]
test/reference/big-trap.traps.rgb24.ref.png [deleted file]
test/reference/bilevel-image.argb32.ref.png [deleted file]
test/reference/bilevel-image.base.argb32.ref.png [deleted file]
test/reference/bilevel-image.base.rgb24.ref.png [deleted file]
test/reference/bilevel-image.egl.argb32.ref.png [deleted file]
test/reference/bilevel-image.mask.argb32.ref.png [deleted file]
test/reference/bilevel-image.mask.rgb24.ref.png [deleted file]
test/reference/bilevel-image.ref.png [deleted file]
test/reference/bilevel-image.rgb24.ref.png [deleted file]
test/reference/bilevel-image.traps.argb32.ref.png [deleted file]
test/reference/bilevel-image.traps.rgb24.ref.png [deleted file]
test/reference/bilevel-xlib-fallback.rgb24.ref.png [deleted file]
test/reference/bilevel-xlib-window.rgb24.ref.png [deleted file]
test/reference/bilevel-xlib.argb32.ref.png [deleted file]
test/reference/bilevel-xlib.rgb24.ref.png [deleted file]
test/reference/bitmap-font.argb32.ref.png [deleted file]
test/reference/bitmap-font.base.argb32.ref.png [deleted file]
test/reference/bitmap-font.base.rgb24.ref.png [deleted file]
test/reference/bitmap-font.egl.argb32.ref.png [deleted file]
test/reference/bitmap-font.mask.argb32.ref.png [deleted file]
test/reference/bitmap-font.mask.rgb24.ref.png [deleted file]
test/reference/bitmap-font.ref.png [deleted file]
test/reference/bitmap-font.rgb24.ref.png [deleted file]
test/reference/bitmap-font.traps.argb32.ref.png [deleted file]
test/reference/bitmap-font.traps.rgb24.ref.png [deleted file]
test/reference/bug-40410.argb32.ref.png [deleted file]
test/reference/bug-40410.base.argb32.ref.png [deleted file]
test/reference/bug-40410.base.rgb24.ref.png [deleted file]
test/reference/bug-40410.egl.argb32.ref.png [deleted file]
test/reference/bug-40410.mask.argb32.ref.png [deleted file]
test/reference/bug-40410.mask.rgb24.ref.png [deleted file]
test/reference/bug-40410.ref.png [deleted file]
test/reference/bug-40410.rgb24.ref.png [deleted file]
test/reference/bug-40410.traps.argb32.ref.png [deleted file]
test/reference/bug-40410.traps.rgb24.ref.png [deleted file]
test/reference/bug-bo-rectangular.argb32.ref.png [deleted file]
test/reference/bug-bo-rectangular.base.argb32.ref.png [deleted file]
test/reference/bug-bo-rectangular.base.rgb24.ref.png [deleted file]
test/reference/bug-bo-rectangular.egl.argb32.ref.png [deleted file]
test/reference/bug-bo-rectangular.image16.ref.png [deleted file]
test/reference/bug-bo-rectangular.mask.argb32.ref.png [deleted file]
test/reference/bug-bo-rectangular.mask.rgb24.ref.png [deleted file]
test/reference/bug-bo-rectangular.ps.xfail.png [deleted file]
test/reference/bug-bo-rectangular.ref.png [deleted file]
test/reference/bug-bo-rectangular.rgb24.ref.png [deleted file]
test/reference/bug-bo-rectangular.traps.argb32.ref.png [deleted file]
test/reference/bug-bo-rectangular.traps.rgb24.ref.png [deleted file]
test/reference/bug-bo-ricotz.argb32.ref.png [deleted file]
test/reference/bug-bo-ricotz.base.argb32.ref.png [deleted file]
test/reference/bug-bo-ricotz.base.ref.png [deleted file]
test/reference/bug-bo-ricotz.base.rgb24.ref.png [deleted file]
test/reference/bug-bo-ricotz.egl.argb32.ref.png [deleted file]
test/reference/bug-bo-ricotz.mask.argb32.ref.png [deleted file]
test/reference/bug-bo-ricotz.mask.rgb24.ref.png [deleted file]
test/reference/bug-bo-ricotz.ref.png [deleted file]
test/reference/bug-bo-ricotz.rgb24.ref.png [deleted file]
test/reference/bug-bo-ricotz.traps.argb32.ref.png [deleted file]
test/reference/bug-bo-ricotz.traps.ref.png [deleted file]
test/reference/bug-bo-ricotz.traps.rgb24.ref.png [deleted file]
test/reference/bug-extents.argb32.ref.png [deleted file]
test/reference/bug-extents.base.argb32.ref.png [deleted file]
test/reference/bug-extents.base.rgb24.ref.png [deleted file]
test/reference/bug-extents.egl.argb32.ref.png [deleted file]
test/reference/bug-extents.image16.ref.png [deleted file]
test/reference/bug-extents.mask.argb32.ref.png [deleted file]
test/reference/bug-extents.mask.rgb24.ref.png [deleted file]
test/reference/bug-extents.ps.ref.png [deleted file]
test/reference/bug-extents.quartz.ref.png [deleted file]
test/reference/bug-extents.ref.png [deleted file]
test/reference/bug-extents.rgb24.ref.png [deleted file]
test/reference/bug-extents.traps.argb32.ref.png [deleted file]
test/reference/bug-extents.traps.rgb24.ref.png [deleted file]
test/reference/bug-seams.argb32.ref.png [deleted file]
test/reference/bug-seams.base.argb32.ref.png [deleted file]
test/reference/bug-seams.base.rgb24.ref.png [deleted file]
test/reference/bug-seams.egl.argb32.ref.png [deleted file]
test/reference/bug-seams.mask.argb32.ref.png [deleted file]
test/reference/bug-seams.mask.rgb24.ref.png [deleted file]
test/reference/bug-seams.ref.png [deleted file]
test/reference/bug-seams.rgb24.ref.png [deleted file]
test/reference/bug-seams.traps.argb32.ref.png [deleted file]
test/reference/bug-seams.traps.rgb24.ref.png [deleted file]
test/reference/bug-seams.xlib-fallback.ref.png [deleted file]
test/reference/bug-source-cu.argb32.ref.png [deleted file]
test/reference/bug-source-cu.egl.argb32.ref.png [deleted file]
test/reference/bug-source-cu.rgb24.ref.png [deleted file]
test/reference/bug-source-cu.traps.argb32.ref.png [deleted file]
test/reference/bug-source-cu.traps.rgb24.ref.png [deleted file]
test/reference/caps-joins-alpha.argb32.ref.png [deleted file]
test/reference/caps-joins-alpha.base.argb32.ref.png [deleted file]
test/reference/caps-joins-alpha.base.rgb24.ref.png [deleted file]
test/reference/caps-joins-alpha.egl.argb32.ref.png [deleted file]
test/reference/caps-joins-alpha.image16.ref.png [deleted file]
test/reference/caps-joins-alpha.mask.argb32.ref.png [deleted file]
test/reference/caps-joins-alpha.mask.rgb24.ref.png [deleted file]
test/reference/caps-joins-alpha.quartz.ref.png [deleted file]
test/reference/caps-joins-alpha.ref.png [deleted file]
test/reference/caps-joins-alpha.rgb24.ref.png [deleted file]
test/reference/caps-joins-alpha.traps.argb32.ref.png [deleted file]
test/reference/caps-joins-alpha.traps.rgb24.ref.png [deleted file]
test/reference/caps-joins-curve.argb32.ref.png [deleted file]
test/reference/caps-joins-curve.base.argb32.ref.png [deleted file]
test/reference/caps-joins-curve.base.rgb24.ref.png [deleted file]
test/reference/caps-joins-curve.egl.argb32.ref.png [deleted file]
test/reference/caps-joins-curve.image16.ref.png [deleted file]
test/reference/caps-joins-curve.mask.argb32.ref.png [deleted file]
test/reference/caps-joins-curve.mask.rgb24.ref.png [deleted file]
test/reference/caps-joins-curve.ps.ref.png [deleted file]
test/reference/caps-joins-curve.quartz.ref.png [deleted file]
test/reference/caps-joins-curve.ref.png [deleted file]
test/reference/caps-joins-curve.rgb24.ref.png [deleted file]
test/reference/caps-joins-curve.traps.argb32.ref.png [deleted file]
test/reference/caps-joins-curve.traps.rgb24.ref.png [deleted file]
test/reference/caps-joins.argb32.ref.png [deleted file]
test/reference/caps-joins.base.argb32.ref.png [deleted file]
test/reference/caps-joins.base.rgb24.ref.png [deleted file]
test/reference/caps-joins.egl.argb32.ref.png [deleted file]
test/reference/caps-joins.image16.ref.png [deleted file]
test/reference/caps-joins.mask.argb32.ref.png [deleted file]
test/reference/caps-joins.mask.rgb24.ref.png [deleted file]
test/reference/caps-joins.ps.ref.png [deleted file]
test/reference/caps-joins.ref.png [deleted file]
test/reference/caps-joins.rgb24.ref.png [deleted file]
test/reference/caps-joins.traps.argb32.ref.png [deleted file]
test/reference/caps-joins.traps.rgb24.ref.png [deleted file]
test/reference/caps-sub-paths.argb32.ref.png [deleted file]
test/reference/caps-sub-paths.base.argb32.ref.png [deleted file]
test/reference/caps-sub-paths.base.rgb24.ref.png [deleted file]
test/reference/caps-sub-paths.egl.argb32.ref.png [deleted file]
test/reference/caps-sub-paths.image16.ref.png [deleted file]
test/reference/caps-sub-paths.mask.argb32.ref.png [deleted file]
test/reference/caps-sub-paths.mask.rgb24.ref.png [deleted file]
test/reference/caps-sub-paths.ps.ref.png [deleted file]
test/reference/caps-sub-paths.ref.png [deleted file]
test/reference/caps-sub-paths.rgb24.ref.png [deleted file]
test/reference/caps-sub-paths.traps.argb32.ref.png [deleted file]
test/reference/caps-sub-paths.traps.rgb24.ref.png [deleted file]
test/reference/caps-tails-curve.argb32.ref.png [deleted file]
test/reference/caps-tails-curve.base.argb32.ref.png [deleted file]
test/reference/caps-tails-curve.base.rgb24.ref.png [deleted file]
test/reference/caps-tails-curve.egl.argb32.ref.png [deleted file]
test/reference/caps-tails-curve.mask.argb32.ref.png [deleted file]
test/reference/caps-tails-curve.mask.rgb24.ref.png [deleted file]
test/reference/caps-tails-curve.ps.ref.png [deleted file]
test/reference/caps-tails-curve.ref.png [deleted file]
test/reference/caps-tails-curve.rgb24.ref.png [deleted file]
test/reference/caps-tails-curve.traps.argb32.ref.png [deleted file]
test/reference/caps-tails-curve.traps.rgb24.ref.png [deleted file]
test/reference/caps.argb32.ref.png [deleted file]
test/reference/caps.base.argb32.ref.png [deleted file]
test/reference/caps.base.rgb24.ref.png [deleted file]
test/reference/caps.egl.argb32.ref.png [deleted file]
test/reference/caps.image16.ref.png [deleted file]
test/reference/caps.mask.argb32.ref.png [deleted file]
test/reference/caps.mask.rgb24.ref.png [deleted file]
test/reference/caps.ps.ref.png [deleted file]
test/reference/caps.ref.png [deleted file]
test/reference/caps.rgb24.ref.png [deleted file]
test/reference/caps.traps.argb32.ref.png [deleted file]
test/reference/caps.traps.rgb24.ref.png [deleted file]
test/reference/checkerboard.argb32.ref.png [deleted file]
test/reference/checkerboard.base.argb32.ref.png [deleted file]
test/reference/checkerboard.base.rgb24.ref.png [deleted file]
test/reference/checkerboard.egl.argb32.ref.png [deleted file]
test/reference/checkerboard.mask.argb32.ref.png [deleted file]
test/reference/checkerboard.mask.rgb24.ref.png [deleted file]
test/reference/checkerboard.ref.png [deleted file]
test/reference/checkerboard.rgb24.ref.png [deleted file]
test/reference/checkerboard.traps.argb32.ref.png [deleted file]
test/reference/checkerboard.traps.rgb24.ref.png [deleted file]
test/reference/clear-source.argb32.ref.png [deleted file]
test/reference/clear-source.base.argb32.ref.png [deleted file]
test/reference/clear-source.base.rgb24.ref.png [deleted file]
test/reference/clear-source.egl.argb32.ref.png [deleted file]
test/reference/clear-source.image16.ref.png [deleted file]
test/reference/clear-source.mask.argb32.ref.png [deleted file]
test/reference/clear-source.mask.rgb24.ref.png [deleted file]
test/reference/clear-source.pdf.xfail.png [deleted file]
test/reference/clear-source.ps.xfail.png [deleted file]
test/reference/clear-source.ref.png [deleted file]
test/reference/clear-source.rgb24.ref.png [deleted file]
test/reference/clear-source.traps.argb32.ref.png [deleted file]
test/reference/clear-source.traps.rgb24.ref.png [deleted file]
test/reference/clear.argb32.ref.png [deleted file]
test/reference/clear.base.argb32.ref.png [deleted file]
test/reference/clear.base.rgb24.ref.png [deleted file]
test/reference/clear.mask.argb32.ref.png [deleted file]
test/reference/clear.mask.rgb24.ref.png [deleted file]
test/reference/clear.pdf.argb32.ref.png [deleted file]
test/reference/clear.ps.argb32.ref.png [deleted file]
test/reference/clear.quartz.argb32.ref.png [deleted file]
test/reference/clear.quartz.rgb24.ref.png [deleted file]
test/reference/clear.rgb24.ref.png [deleted file]
test/reference/clear.svg12.argb32.xfail.png [deleted file]
test/reference/clear.svg12.rgb24.xfail.png [deleted file]
test/reference/clear.traps.argb32.ref.png [deleted file]
test/reference/clear.traps.rgb24.ref.png [deleted file]
test/reference/clip-all.argb32.ref.png [deleted file]
test/reference/clip-all.base.argb32.ref.png [deleted file]
test/reference/clip-all.base.rgb24.ref.png [deleted file]
test/reference/clip-all.egl.argb32.ref.png [deleted file]
test/reference/clip-all.mask.argb32.ref.png [deleted file]
test/reference/clip-all.mask.rgb24.ref.png [deleted file]
test/reference/clip-all.ref.png [deleted file]
test/reference/clip-all.rgb24.ref.png [deleted file]
test/reference/clip-all.traps.argb32.ref.png [deleted file]
test/reference/clip-all.traps.rgb24.ref.png [deleted file]
test/reference/clip-complex-shape-eo-aa.argb32.ref.png [deleted file]
test/reference/clip-complex-shape-eo-aa.base.argb32.ref.png [deleted file]
test/reference/clip-complex-shape-eo-aa.base.rgb24.ref.png [deleted file]
test/reference/clip-complex-shape-eo-aa.egl.argb32.ref.png [deleted file]
test/reference/clip-complex-shape-eo-aa.mask.argb32.ref.png [deleted file]
test/reference/clip-complex-shape-eo-aa.mask.rgb24.ref.png [deleted file]
test/reference/clip-complex-shape-eo-aa.ref.png [deleted file]
test/reference/clip-complex-shape-eo-aa.rgb24.ref.png [deleted file]
test/reference/clip-complex-shape-eo-aa.traps.argb32.ref.png [deleted file]
test/reference/clip-complex-shape-eo-aa.traps.rgb24.ref.png [deleted file]
test/reference/clip-complex-shape-eo-mono.argb32.ref.png [deleted file]
test/reference/clip-complex-shape-eo-mono.base.argb32.ref.png [deleted file]
test/reference/clip-complex-shape-eo-mono.base.rgb24.ref.png [deleted file]
test/reference/clip-complex-shape-eo-mono.egl.argb32.ref.png [deleted file]
test/reference/clip-complex-shape-eo-mono.mask.argb32.ref.png [deleted file]
test/reference/clip-complex-shape-eo-mono.mask.rgb24.ref.png [deleted file]
test/reference/clip-complex-shape-eo-mono.ref.png [deleted file]
test/reference/clip-complex-shape-eo-mono.rgb24.ref.png [deleted file]
test/reference/clip-complex-shape-eo-mono.traps.argb32.ref.png [deleted file]
test/reference/clip-complex-shape-eo-mono.traps.rgb24.ref.png [deleted file]
test/reference/clip-contexts.argb32.ref.png [deleted file]
test/reference/clip-contexts.base.argb32.ref.png [deleted file]
test/reference/clip-contexts.base.rgb24.ref.png [deleted file]
test/reference/clip-contexts.egl.argb32.ref.png [deleted file]
test/reference/clip-contexts.mask.argb32.ref.png [deleted file]
test/reference/clip-contexts.mask.rgb24.ref.png [deleted file]
test/reference/clip-contexts.ref.png [deleted file]
test/reference/clip-contexts.rgb24.ref.png [deleted file]
test/reference/clip-contexts.traps.argb32.ref.png [deleted file]
test/reference/clip-contexts.traps.rgb24.ref.png [deleted file]
test/reference/clip-device-offset.argb32.ref.png [deleted file]
test/reference/clip-device-offset.base.argb32.ref.png [deleted file]
test/reference/clip-device-offset.base.rgb24.ref.png [deleted file]
test/reference/clip-device-offset.egl.argb32.ref.png [deleted file]
test/reference/clip-device-offset.mask.argb32.ref.png [deleted file]
test/reference/clip-device-offset.mask.rgb24.ref.png [deleted file]
test/reference/clip-device-offset.rgb24.ref.png [deleted file]
test/reference/clip-device-offset.traps.argb32.ref.png [deleted file]
test/reference/clip-device-offset.traps.rgb24.ref.png [deleted file]
test/reference/clip-disjoint-hatching.argb32.ref.png [deleted file]
test/reference/clip-disjoint-hatching.base.argb32.ref.png [deleted file]
test/reference/clip-disjoint-hatching.base.rgb24.ref.png [deleted file]
test/reference/clip-disjoint-hatching.egl.argb32.ref.png [deleted file]
test/reference/clip-disjoint-hatching.mask.argb32.ref.png [deleted file]
test/reference/clip-disjoint-hatching.mask.rgb24.ref.png [deleted file]
test/reference/clip-disjoint-hatching.ref.png [deleted file]
test/reference/clip-disjoint-hatching.rgb24.ref.png [deleted file]
test/reference/clip-disjoint-hatching.traps.argb32.ref.png [deleted file]
test/reference/clip-disjoint-hatching.traps.rgb24.ref.png [deleted file]
test/reference/clip-disjoint.base.argb32.ref.png [deleted file]
test/reference/clip-disjoint.base.rgb24.ref.png [deleted file]
test/reference/clip-disjoint.egl.argb32.ref.png [deleted file]
test/reference/clip-disjoint.image16.ref.png [deleted file]
test/reference/clip-disjoint.mask.argb32.ref.png [deleted file]
test/reference/clip-disjoint.mask.rgb24.ref.png [deleted file]
test/reference/clip-disjoint.ps.ref.png [deleted file]
test/reference/clip-disjoint.quartz.ref.png [deleted file]
test/reference/clip-disjoint.ref.png [deleted file]
test/reference/clip-disjoint.traps.argb32.ref.png [deleted file]
test/reference/clip-disjoint.traps.rgb24.ref.png [deleted file]
test/reference/clip-empty-group.argb32.ref.png [deleted file]
test/reference/clip-empty-group.base.argb32.ref.png [deleted file]
test/reference/clip-empty-group.base.rgb24.ref.png [deleted file]
test/reference/clip-empty-group.egl.argb32.ref.png [deleted file]
test/reference/clip-empty-group.mask.argb32.ref.png [deleted file]
test/reference/clip-empty-group.mask.rgb24.ref.png [deleted file]
test/reference/clip-empty-group.ref.png [deleted file]
test/reference/clip-empty-group.rgb24.ref.png [deleted file]
test/reference/clip-empty-group.traps.argb32.ref.png [deleted file]
test/reference/clip-empty-group.traps.rgb24.ref.png [deleted file]
test/reference/clip-empty-save.argb32.ref.png [deleted file]
test/reference/clip-empty-save.base.argb32.ref.png [deleted file]
test/reference/clip-empty-save.base.rgb24.ref.png [deleted file]
test/reference/clip-empty-save.egl.argb32.ref.png [deleted file]
test/reference/clip-empty-save.mask.argb32.ref.png [deleted file]
test/reference/clip-empty-save.mask.rgb24.ref.png [deleted file]
test/reference/clip-empty-save.ref.png [deleted file]
test/reference/clip-empty-save.rgb24.ref.png [deleted file]
test/reference/clip-empty-save.traps.argb32.ref.png [deleted file]
test/reference/clip-empty-save.traps.rgb24.ref.png [deleted file]
test/reference/clip-empty.argb32.ref.png [deleted file]
test/reference/clip-empty.base.argb32.ref.png [deleted file]
test/reference/clip-empty.base.rgb24.ref.png [deleted file]
test/reference/clip-empty.egl.argb32.ref.png [deleted file]
test/reference/clip-empty.mask.argb32.ref.png [deleted file]
test/reference/clip-empty.mask.rgb24.ref.png [deleted file]
test/reference/clip-empty.ref.png [deleted file]
test/reference/clip-empty.rgb24.ref.png [deleted file]
test/reference/clip-empty.traps.argb32.ref.png [deleted file]
test/reference/clip-empty.traps.rgb24.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.argb32.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.base.argb32.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.base.rgb24.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.image16.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.mask.argb32.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.mask.rgb24.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.quartz.argb32.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.quartz.rgb24.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.rgb24.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.svg12.rgb24.xfail.png [deleted file]
test/reference/clip-fill-eo-unbounded.traps.argb32.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.traps.rgb24.ref.png [deleted file]
test/reference/clip-fill-eo-unbounded.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/clip-fill-no-op.argb32.ref.png [deleted file]
test/reference/clip-fill-no-op.base.argb32.ref.png [deleted file]
test/reference/clip-fill-no-op.base.rgb24.ref.png [deleted file]
test/reference/clip-fill-no-op.egl.argb32.ref.png [deleted file]
test/reference/clip-fill-no-op.image16.ref.png [deleted file]
test/reference/clip-fill-no-op.mask.argb32.ref.png [deleted file]
test/reference/clip-fill-no-op.mask.rgb24.ref.png [deleted file]
test/reference/clip-fill-no-op.ref.png [deleted file]
test/reference/clip-fill-no-op.rgb24.ref.png [deleted file]
test/reference/clip-fill-no-op.traps.argb32.ref.png [deleted file]
test/reference/clip-fill-no-op.traps.rgb24.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.argb32.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.base.argb32.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.base.rgb24.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.image16.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.mask.argb32.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.mask.rgb24.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.quartz.argb32.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.quartz.rgb24.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.rgb24.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.svg12.rgb24.xfail.png [deleted file]
test/reference/clip-fill-nz-unbounded.traps.argb32.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.traps.rgb24.ref.png [deleted file]
test/reference/clip-fill-nz-unbounded.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule-pixel-aligned.argb32.ref.png [deleted file]
test/reference/clip-fill-rule-pixel-aligned.base.argb32.ref.png [deleted file]
test/reference/clip-fill-rule-pixel-aligned.base.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule-pixel-aligned.egl.argb32.ref.png [deleted file]
test/reference/clip-fill-rule-pixel-aligned.mask.argb32.ref.png [deleted file]
test/reference/clip-fill-rule-pixel-aligned.mask.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule-pixel-aligned.ref.png [deleted file]
test/reference/clip-fill-rule-pixel-aligned.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule-pixel-aligned.traps.argb32.ref.png [deleted file]
test/reference/clip-fill-rule-pixel-aligned.traps.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule.argb32.ref.png [deleted file]
test/reference/clip-fill-rule.base.argb32.ref.png [deleted file]
test/reference/clip-fill-rule.base.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule.egl.argb32.ref.png [deleted file]
test/reference/clip-fill-rule.image16.ref.png [deleted file]
test/reference/clip-fill-rule.mask.argb32.ref.png [deleted file]
test/reference/clip-fill-rule.mask.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule.pdf.argb32.ref.png [deleted file]
test/reference/clip-fill-rule.ps.argb32.ref.png [deleted file]
test/reference/clip-fill-rule.ps.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule.quartz.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule.test-paginated.rgb24.ref.png [deleted file]
test/reference/clip-fill-rule.traps.argb32.ref.png [deleted file]
test/reference/clip-fill-rule.traps.rgb24.ref.png [deleted file]
test/reference/clip-fill.argb32.ref.png [deleted file]
test/reference/clip-fill.base.argb32.ref.png [deleted file]
test/reference/clip-fill.base.rgb24.ref.png [deleted file]
test/reference/clip-fill.egl.argb32.ref.png [deleted file]
test/reference/clip-fill.image16.ref.png [deleted file]
test/reference/clip-fill.mask.argb32.ref.png [deleted file]
test/reference/clip-fill.mask.rgb24.ref.png [deleted file]
test/reference/clip-fill.ps.xfail.png [deleted file]
test/reference/clip-fill.quartz.ref.png [deleted file]
test/reference/clip-fill.ref.png [deleted file]
test/reference/clip-fill.rgb24.ref.png [deleted file]
test/reference/clip-fill.traps.argb32.ref.png [deleted file]
test/reference/clip-fill.traps.rgb24.ref.png [deleted file]
test/reference/clip-fill.xlib-fallback.ref.png [deleted file]
test/reference/clip-group-shapes-aligned-rectangles.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-aligned-rectangles.base.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-aligned-rectangles.base.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-aligned-rectangles.egl.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-aligned-rectangles.mask.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-aligned-rectangles.mask.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-aligned-rectangles.ref.png [deleted file]
test/reference/clip-group-shapes-aligned-rectangles.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-aligned-rectangles.traps.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-aligned-rectangles.traps.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-circles.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-circles.base.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-circles.base.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-circles.egl.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-circles.mask.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-circles.mask.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-circles.ps.ref.png [deleted file]
test/reference/clip-group-shapes-circles.quartz.ref.png [deleted file]
test/reference/clip-group-shapes-circles.ref.png [deleted file]
test/reference/clip-group-shapes-circles.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-circles.traps.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-circles.traps.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-unaligned-rectangles.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-unaligned-rectangles.base.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-unaligned-rectangles.base.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-unaligned-rectangles.egl.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-unaligned-rectangles.mask.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-unaligned-rectangles.mask.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-unaligned-rectangles.ref.png [deleted file]
test/reference/clip-group-shapes-unaligned-rectangles.rgb24.ref.png [deleted file]
test/reference/clip-group-shapes-unaligned-rectangles.traps.argb32.ref.png [deleted file]
test/reference/clip-group-shapes-unaligned-rectangles.traps.rgb24.ref.png [deleted file]
test/reference/clip-image.argb32.ref.png [deleted file]
test/reference/clip-image.base.argb32.ref.png [deleted file]
test/reference/clip-image.base.rgb24.ref.png [deleted file]
test/reference/clip-image.egl.argb32.ref.png [deleted file]
test/reference/clip-image.image16.ref.png [deleted file]
test/reference/clip-image.mask.argb32.ref.png [deleted file]
test/reference/clip-image.mask.rgb24.ref.png [deleted file]
test/reference/clip-image.ps.ref.png [deleted file]
test/reference/clip-image.ref.png [deleted file]
test/reference/clip-image.rgb24.ref.png [deleted file]
test/reference/clip-image.traps.argb32.ref.png [deleted file]
test/reference/clip-image.traps.rgb24.ref.png [deleted file]
test/reference/clip-intersect.argb32.ref.png [deleted file]
test/reference/clip-intersect.base.argb32.ref.png [deleted file]
test/reference/clip-intersect.base.rgb24.ref.png [deleted file]
test/reference/clip-intersect.egl.argb32.ref.png [deleted file]
test/reference/clip-intersect.mask.argb32.ref.png [deleted file]
test/reference/clip-intersect.mask.rgb24.ref.png [deleted file]
test/reference/clip-intersect.ref.png [deleted file]
test/reference/clip-intersect.rgb24.ref.png [deleted file]
test/reference/clip-intersect.traps.argb32.ref.png [deleted file]
test/reference/clip-intersect.traps.rgb24.ref.png [deleted file]
test/reference/clip-mixed-antialias.argb32.ref.png [deleted file]
test/reference/clip-mixed-antialias.base.argb32.ref.png [deleted file]
test/reference/clip-mixed-antialias.base.rgb24.ref.png [deleted file]
test/reference/clip-mixed-antialias.egl.argb32.ref.png [deleted file]
test/reference/clip-mixed-antialias.mask.argb32.ref.png [deleted file]
test/reference/clip-mixed-antialias.mask.rgb24.ref.png [deleted file]
test/reference/clip-mixed-antialias.ref.png [deleted file]
test/reference/clip-mixed-antialias.rgb24.ref.png [deleted file]
test/reference/clip-mixed-antialias.traps.argb32.ref.png [deleted file]
test/reference/clip-mixed-antialias.traps.rgb24.ref.png [deleted file]
test/reference/clip-nesting.argb32.ref.png [deleted file]
test/reference/clip-nesting.base.argb32.ref.png [deleted file]
test/reference/clip-nesting.base.rgb24.ref.png [deleted file]
test/reference/clip-nesting.egl.argb32.ref.png [deleted file]
test/reference/clip-nesting.mask.argb32.ref.png [deleted file]
test/reference/clip-nesting.mask.rgb24.ref.png [deleted file]
test/reference/clip-nesting.pdf.argb32.ref.png [deleted file]
test/reference/clip-nesting.ps.argb32.ref.png [deleted file]
test/reference/clip-nesting.ps.rgb24.ref.png [deleted file]
test/reference/clip-nesting.quartz.argb32.ref.png [deleted file]
test/reference/clip-nesting.quartz.rgb24.ref.png [deleted file]
test/reference/clip-nesting.rgb24.ref.png [deleted file]
test/reference/clip-nesting.test-paginated.rgb24.ref.png [deleted file]
test/reference/clip-nesting.traps.argb32.ref.png [deleted file]
test/reference/clip-nesting.traps.rgb24.ref.png [deleted file]
test/reference/clip-operator.argb32.ref.png [deleted file]
test/reference/clip-operator.base.argb32.ref.png [deleted file]
test/reference/clip-operator.base.rgb24.ref.png [deleted file]
test/reference/clip-operator.gl.argb32.ref.png [deleted file]
test/reference/clip-operator.image16.ref.png [deleted file]
test/reference/clip-operator.mask.argb32.ref.png [deleted file]
test/reference/clip-operator.mask.rgb24.ref.png [deleted file]
test/reference/clip-operator.pdf.argb32.ref.png [deleted file]
test/reference/clip-operator.pdf.rgb24.ref.png [deleted file]
test/reference/clip-operator.ps2.rgb24.ref.png [deleted file]
test/reference/clip-operator.ps3.argb32.ref.png [deleted file]
test/reference/clip-operator.ps3.ref.png [deleted file]
test/reference/clip-operator.ps3.rgb24.ref.png [deleted file]
test/reference/clip-operator.quartz.argb32.ref.png [deleted file]
test/reference/clip-operator.quartz.rgb24.ref.png [deleted file]
test/reference/clip-operator.rgb24.ref.png [deleted file]
test/reference/clip-operator.svg12.argb32.xfail.png [deleted file]
test/reference/clip-operator.svg12.rgb24.xfail.png [deleted file]
test/reference/clip-operator.test-paginated.argb32.ref.png [deleted file]
test/reference/clip-operator.traps.argb32.ref.png [deleted file]
test/reference/clip-operator.traps.rgb24.ref.png [deleted file]
test/reference/clip-operator.xlib-fallback.ref.png [deleted file]
test/reference/clip-polygons.argb32.ref.png [deleted file]
test/reference/clip-polygons.base.argb32.ref.png [deleted file]
test/reference/clip-polygons.base.ref.png [deleted file]
test/reference/clip-polygons.base.rgb24.ref.png [deleted file]
test/reference/clip-polygons.egl.argb32.ref.png [deleted file]
test/reference/clip-polygons.mask.argb32.ref.png [deleted file]
test/reference/clip-polygons.mask.rgb24.ref.png [deleted file]
test/reference/clip-polygons.ref.png [deleted file]
test/reference/clip-polygons.rgb24.ref.png [deleted file]
test/reference/clip-polygons.traps.argb32.ref.png [deleted file]
test/reference/clip-polygons.traps.ref.png [deleted file]
test/reference/clip-polygons.traps.rgb24.ref.png [deleted file]
test/reference/clip-push-group.argb32.ref.png [deleted file]
test/reference/clip-push-group.base.argb32.ref.png [deleted file]
test/reference/clip-push-group.base.rgb24.ref.png [deleted file]
test/reference/clip-push-group.egl.argb32.ref.png [deleted file]
test/reference/clip-push-group.image16.ref.png [deleted file]
test/reference/clip-push-group.mask.argb32.ref.png [deleted file]
test/reference/clip-push-group.mask.rgb24.ref.png [deleted file]
test/reference/clip-push-group.pdf.ref.png [deleted file]
test/reference/clip-push-group.ps.ref.png [deleted file]
test/reference/clip-push-group.quartz.ref.png [deleted file]
test/reference/clip-push-group.ref.png [deleted file]
test/reference/clip-push-group.rgb24.ref.png [deleted file]
test/reference/clip-push-group.svg.ref.png [deleted file]
test/reference/clip-push-group.traps.argb32.ref.png [deleted file]
test/reference/clip-push-group.traps.rgb24.ref.png [deleted file]
test/reference/clip-rectilinear.argb32.ref.png [deleted file]
test/reference/clip-rectilinear.base.argb32.ref.png [deleted file]
test/reference/clip-rectilinear.base.ref.png [deleted file]
test/reference/clip-rectilinear.base.rgb24.ref.png [deleted file]
test/reference/clip-rectilinear.egl.argb32.ref.png [deleted file]
test/reference/clip-rectilinear.mask.argb32.ref.png [deleted file]
test/reference/clip-rectilinear.mask.rgb24.ref.png [deleted file]
test/reference/clip-rectilinear.ref.png [deleted file]
test/reference/clip-rectilinear.rgb24.ref.png [deleted file]
test/reference/clip-rectilinear.traps.argb32.ref.png [deleted file]
test/reference/clip-rectilinear.traps.ref.png [deleted file]
test/reference/clip-rectilinear.traps.rgb24.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.argb32.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.base.argb32.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.base.rgb24.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.egl.argb32.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.mask.argb32.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.mask.rgb24.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.rgb24.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.traps.argb32.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.traps.rgb24.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/clip-rotate-image-surface-paint.xlib-window.rgb24.ref.png [deleted file]
test/reference/clip-shape.argb32.ref.png [deleted file]
test/reference/clip-shape.base.argb32.ref.png [deleted file]
test/reference/clip-shape.base.rgb24.ref.png [deleted file]
test/reference/clip-shape.egl.argb32.ref.png [deleted file]
test/reference/clip-shape.image16.ref.png [deleted file]
test/reference/clip-shape.mask.argb32.ref.png [deleted file]
test/reference/clip-shape.mask.rgb24.ref.png [deleted file]
test/reference/clip-shape.ps.ref.png [deleted file]
test/reference/clip-shape.quartz.ref.png [deleted file]
test/reference/clip-shape.ref.png [deleted file]
test/reference/clip-shape.rgb24.ref.png [deleted file]
test/reference/clip-shape.traps.argb32.ref.png [deleted file]
test/reference/clip-shape.traps.rgb24.ref.png [deleted file]
test/reference/clip-shape.xlib-fallback.ref.png [deleted file]
test/reference/clip-stroke-no-op.argb32.ref.png [deleted file]
test/reference/clip-stroke-no-op.base.argb32.ref.png [deleted file]
test/reference/clip-stroke-no-op.base.rgb24.ref.png [deleted file]
test/reference/clip-stroke-no-op.egl.argb32.ref.png [deleted file]
test/reference/clip-stroke-no-op.image16.ref.png [deleted file]
test/reference/clip-stroke-no-op.mask.argb32.ref.png [deleted file]
test/reference/clip-stroke-no-op.mask.rgb24.ref.png [deleted file]
test/reference/clip-stroke-no-op.ref.png [deleted file]
test/reference/clip-stroke-no-op.rgb24.ref.png [deleted file]
test/reference/clip-stroke-no-op.traps.argb32.ref.png [deleted file]
test/reference/clip-stroke-no-op.traps.rgb24.ref.png [deleted file]
test/reference/clip-stroke-unbounded.argb32.ref.png [deleted file]
test/reference/clip-stroke-unbounded.base.argb32.ref.png [deleted file]
test/reference/clip-stroke-unbounded.base.rgb24.ref.png [deleted file]
test/reference/clip-stroke-unbounded.image16.rgb24.ref.png [deleted file]
test/reference/clip-stroke-unbounded.mask.argb32.ref.png [deleted file]
test/reference/clip-stroke-unbounded.mask.rgb24.ref.png [deleted file]
test/reference/clip-stroke-unbounded.quartz.argb32.ref.png [deleted file]
test/reference/clip-stroke-unbounded.quartz.rgb24.ref.png [deleted file]
test/reference/clip-stroke-unbounded.rgb24.ref.png [deleted file]
test/reference/clip-stroke-unbounded.svg12.rgb24.xfail.png [deleted file]
test/reference/clip-stroke-unbounded.traps.argb32.ref.png [deleted file]
test/reference/clip-stroke-unbounded.traps.rgb24.ref.png [deleted file]
test/reference/clip-stroke-unbounded.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/clip-stroke.base.argb32.ref.png [deleted file]
test/reference/clip-stroke.base.rgb24.ref.png [deleted file]
test/reference/clip-stroke.egl.argb32.ref.png [deleted file]
test/reference/clip-stroke.image16.ref.png [deleted file]
test/reference/clip-stroke.mask.argb32.ref.png [deleted file]
test/reference/clip-stroke.mask.rgb24.ref.png [deleted file]
test/reference/clip-stroke.ps.xfail.png [deleted file]
test/reference/clip-stroke.quartz.ref.png [deleted file]
test/reference/clip-stroke.ref.png [deleted file]
test/reference/clip-stroke.traps.argb32.ref.png [deleted file]
test/reference/clip-stroke.traps.rgb24.ref.png [deleted file]
test/reference/clip-stroke.xlib-fallback.ref.png [deleted file]
test/reference/clip-text.argb32.ref.png [deleted file]
test/reference/clip-text.base.argb32.ref.png [deleted file]
test/reference/clip-text.base.rgb24.ref.png [deleted file]
test/reference/clip-text.image16.ref.png [deleted file]
test/reference/clip-text.mask.argb32.ref.png [deleted file]
test/reference/clip-text.mask.rgb24.ref.png [deleted file]
test/reference/clip-text.ps.xfail.png [deleted file]
test/reference/clip-text.quartz.ref.png [deleted file]
test/reference/clip-text.ref.png [deleted file]
test/reference/clip-text.rgb24.ref.png [deleted file]
test/reference/clip-text.svg.ref.png [deleted file]
test/reference/clip-text.traps.argb32.ref.png [deleted file]
test/reference/clip-text.traps.rgb24.ref.png [deleted file]
test/reference/clip-twice-rectangle.argb32.ref.png [deleted file]
test/reference/clip-twice-rectangle.base.argb32.ref.png [deleted file]
test/reference/clip-twice-rectangle.base.rgb24.ref.png [deleted file]
test/reference/clip-twice-rectangle.egl.argb32.ref.png [deleted file]
test/reference/clip-twice-rectangle.mask.argb32.ref.png [deleted file]
test/reference/clip-twice-rectangle.mask.rgb24.ref.png [deleted file]
test/reference/clip-twice-rectangle.ref.png [deleted file]
test/reference/clip-twice-rectangle.rgb24.ref.png [deleted file]
test/reference/clip-twice-rectangle.traps.argb32.ref.png [deleted file]
test/reference/clip-twice-rectangle.traps.rgb24.ref.png [deleted file]
test/reference/clip-twice.argb32.ref.png [deleted file]
test/reference/clip-twice.base.argb32.ref.png [deleted file]
test/reference/clip-twice.base.rgb24.ref.png [deleted file]
test/reference/clip-twice.egl.argb32.ref.png [deleted file]
test/reference/clip-twice.image16.ref.png [deleted file]
test/reference/clip-twice.mask.argb32.ref.png [deleted file]
test/reference/clip-twice.mask.rgb24.ref.png [deleted file]
test/reference/clip-twice.pdf.argb32.ref.png [deleted file]
test/reference/clip-twice.ps.argb32.ref.png [deleted file]
test/reference/clip-twice.ps.rgb24.ref.png [deleted file]
test/reference/clip-twice.quartz.argb32.ref.png [deleted file]
test/reference/clip-twice.quartz.rgb24.ref.png [deleted file]
test/reference/clip-twice.rgb24.ref.png [deleted file]
test/reference/clip-twice.test-paginated.argb32.ref.png [deleted file]
test/reference/clip-twice.test-paginated.rgb24.ref.png [deleted file]
test/reference/clip-twice.traps.argb32.ref.png [deleted file]
test/reference/clip-twice.traps.rgb24.ref.png [deleted file]
test/reference/clip-unbounded.argb32.ref.png [deleted file]
test/reference/clip-unbounded.base.argb32.ref.png [deleted file]
test/reference/clip-unbounded.base.rgb24.ref.png [deleted file]
test/reference/clip-unbounded.egl.argb32.ref.png [deleted file]
test/reference/clip-unbounded.mask.argb32.ref.png [deleted file]
test/reference/clip-unbounded.mask.rgb24.ref.png [deleted file]
test/reference/clip-unbounded.pdf.argb32.xfail.png [deleted file]
test/reference/clip-unbounded.pdf.rgb24.xfail.png [deleted file]
test/reference/clip-unbounded.ref.png [deleted file]
test/reference/clip-unbounded.rgb24.ref.png [deleted file]
test/reference/clip-unbounded.svg12.rgb24.xfail.png [deleted file]
test/reference/clip-unbounded.traps.argb32.ref.png [deleted file]
test/reference/clip-unbounded.traps.rgb24.ref.png [deleted file]
test/reference/clip-xlib-fallback.rgb24.ref.png [deleted file]
test/reference/clip-xlib-window.rgb24.ref.png [deleted file]
test/reference/clip-xlib.argb32.ref.png [deleted file]
test/reference/clip-xlib.rgb24.ref.png [deleted file]
test/reference/clipped-group.argb32.ref.png [deleted file]
test/reference/clipped-group.base.argb32.ref.png [deleted file]
test/reference/clipped-group.base.rgb24.ref.png [deleted file]
test/reference/clipped-group.egl.argb32.ref.png [deleted file]
test/reference/clipped-group.image16.ref.png [deleted file]
test/reference/clipped-group.mask.argb32.ref.png [deleted file]
test/reference/clipped-group.mask.rgb24.ref.png [deleted file]
test/reference/clipped-group.pdf.ref.png [deleted file]
test/reference/clipped-group.ps2.ref.png [deleted file]
test/reference/clipped-group.ps3.ref.png [deleted file]
test/reference/clipped-group.quartz.ref.png [deleted file]
test/reference/clipped-group.ref.png [deleted file]
test/reference/clipped-group.rgb24.ref.png [deleted file]
test/reference/clipped-group.svg.ref.png [deleted file]
test/reference/clipped-group.traps.argb32.ref.png [deleted file]
test/reference/clipped-group.traps.rgb24.ref.png [deleted file]
test/reference/clipped-group.xlib-fallback.ref.png [deleted file]
test/reference/clipped-surface.argb32.ref.png [deleted file]
test/reference/clipped-surface.base.argb32.ref.png [deleted file]
test/reference/clipped-surface.base.rgb24.ref.png [deleted file]
test/reference/clipped-surface.egl.argb32.ref.png [deleted file]
test/reference/clipped-surface.image16.ref.png [deleted file]
test/reference/clipped-surface.mask.argb32.ref.png [deleted file]
test/reference/clipped-surface.mask.rgb24.ref.png [deleted file]
test/reference/clipped-surface.ref.png [deleted file]
test/reference/clipped-surface.rgb24.ref.png [deleted file]
test/reference/clipped-surface.traps.argb32.ref.png [deleted file]
test/reference/clipped-surface.traps.rgb24.ref.png [deleted file]
test/reference/clipped-trapezoids.ref.png [deleted file]
test/reference/close-path-current-point.argb32.ref.png [deleted file]
test/reference/close-path-current-point.base.argb32.ref.png [deleted file]
test/reference/close-path-current-point.base.rgb24.ref.png [deleted file]
test/reference/close-path-current-point.egl.argb32.ref.png [deleted file]
test/reference/close-path-current-point.image16.ref.png [deleted file]
test/reference/close-path-current-point.mask.argb32.ref.png [deleted file]
test/reference/close-path-current-point.mask.rgb24.ref.png [deleted file]
test/reference/close-path-current-point.ps.ref.png [deleted file]
test/reference/close-path-current-point.ref.png [deleted file]
test/reference/close-path-current-point.rgb24.ref.png [deleted file]
test/reference/close-path-current-point.traps.argb32.ref.png [deleted file]
test/reference/close-path-current-point.traps.rgb24.ref.png [deleted file]
test/reference/close-path.argb32.ref.png [deleted file]
test/reference/close-path.base.argb32.ref.png [deleted file]
test/reference/close-path.base.rgb24.ref.png [deleted file]
test/reference/close-path.egl.argb32.ref.png [deleted file]
test/reference/close-path.mask.argb32.ref.png [deleted file]
test/reference/close-path.mask.rgb24.ref.png [deleted file]
test/reference/close-path.ps2.ref.png [deleted file]
test/reference/close-path.ps3.ref.png [deleted file]
test/reference/close-path.ref.png [deleted file]
test/reference/close-path.rgb24.ref.png [deleted file]
test/reference/close-path.traps.argb32.ref.png [deleted file]
test/reference/close-path.traps.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.base.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.base.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.egl.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.mask.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.mask.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.ps2.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.ps3.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.traps.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-over-repeat.traps.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-over.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-over.base.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-over.base.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-over.egl.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-over.image16.ref.png [deleted file]
test/reference/composite-integer-translate-over.mask.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-over.mask.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-over.ps2.ref.png [deleted file]
test/reference/composite-integer-translate-over.ps3.ref.png [deleted file]
test/reference/composite-integer-translate-over.ref.png [deleted file]
test/reference/composite-integer-translate-over.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-over.traps.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-over.traps.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-source.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-source.base.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-source.base.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-source.egl.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-source.image16.ref.png [deleted file]
test/reference/composite-integer-translate-source.mask.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-source.mask.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-source.ps2.ref.png [deleted file]
test/reference/composite-integer-translate-source.ps3.ref.png [deleted file]
test/reference/composite-integer-translate-source.ref.png [deleted file]
test/reference/composite-integer-translate-source.rgb24.ref.png [deleted file]
test/reference/composite-integer-translate-source.svg12.argb32.xfail.png [deleted file]
test/reference/composite-integer-translate-source.svg12.rgb24.xfail.png [deleted file]
test/reference/composite-integer-translate-source.traps.argb32.ref.png [deleted file]
test/reference/composite-integer-translate-source.traps.rgb24.ref.png [deleted file]
test/reference/copy-disjoint.argb32.ref.png [deleted file]
test/reference/copy-disjoint.base.argb32.ref.png [deleted file]
test/reference/copy-disjoint.base.rgb24.ref.png [deleted file]
test/reference/copy-disjoint.egl.argb32.ref.png [deleted file]
test/reference/copy-disjoint.mask.argb32.ref.png [deleted file]
test/reference/copy-disjoint.mask.rgb24.ref.png [deleted file]
test/reference/copy-disjoint.ref.png [deleted file]
test/reference/copy-disjoint.rgb24.ref.png [deleted file]
test/reference/copy-disjoint.traps.argb32.ref.png [deleted file]
test/reference/copy-disjoint.traps.rgb24.ref.png [deleted file]
test/reference/copy-path.argb32.ref.png [deleted file]
test/reference/copy-path.base.argb32.ref.png [deleted file]
test/reference/copy-path.base.rgb24.ref.png [deleted file]
test/reference/copy-path.egl.argb32.ref.png [deleted file]
test/reference/copy-path.image16.ref.png [deleted file]
test/reference/copy-path.mask.argb32.ref.png [deleted file]
test/reference/copy-path.mask.rgb24.ref.png [deleted file]
test/reference/copy-path.ps.ref.png [deleted file]
test/reference/copy-path.ref.png [deleted file]
test/reference/copy-path.rgb24.ref.png [deleted file]
test/reference/copy-path.traps.argb32.ref.png [deleted file]
test/reference/copy-path.traps.rgb24.ref.png [deleted file]
test/reference/coverage-column-triangles.ref.png [deleted file]
test/reference/coverage-column-triangles.xlib.xfail.png [deleted file]
test/reference/coverage-intersecting-quads.ref.png [deleted file]
test/reference/coverage-intersecting-quads.xlib.xfail.png [deleted file]
test/reference/coverage-intersecting-triangles.ref.png [deleted file]
test/reference/coverage-intersecting-triangles.xlib.xfail.png [deleted file]
test/reference/coverage-rectangles.ref.png [deleted file]
test/reference/coverage-rectangles.xlib.xfail.png [deleted file]
test/reference/coverage-row-triangles.ref.png [deleted file]
test/reference/coverage-row-triangles.xlib.xfail.png [deleted file]
test/reference/coverage-triangles.ref.png [deleted file]
test/reference/coverage-triangles.xlib.xfail.png [deleted file]
test/reference/create-from-png-stream.argb32.ref.png [deleted file]
test/reference/create-from-png-stream.base.argb32.ref.png [deleted file]
test/reference/create-from-png-stream.base.rgb24.ref.png [deleted file]
test/reference/create-from-png-stream.egl.argb32.ref.png [deleted file]
test/reference/create-from-png-stream.mask.argb32.ref.png [deleted file]
test/reference/create-from-png-stream.mask.rgb24.ref.png [deleted file]
test/reference/create-from-png-stream.ref.png [deleted file]
test/reference/create-from-png-stream.rgb24.ref.png [deleted file]
test/reference/create-from-png-stream.traps.argb32.ref.png [deleted file]
test/reference/create-from-png-stream.traps.rgb24.ref.png [deleted file]
test/reference/create-from-png.alpha.ref.png [deleted file]
test/reference/create-from-png.argb32.ref.png [deleted file]
test/reference/create-from-png.base.argb32.ref.png [deleted file]
test/reference/create-from-png.base.rgb24.ref.png [deleted file]
test/reference/create-from-png.egl.argb32.ref.png [deleted file]
test/reference/create-from-png.gray-alpha.ref.png [deleted file]
test/reference/create-from-png.gray.ref.png [deleted file]
test/reference/create-from-png.indexed-alpha.ref.png [deleted file]
test/reference/create-from-png.indexed.ref.png [deleted file]
test/reference/create-from-png.mask.argb32.ref.png [deleted file]
test/reference/create-from-png.mask.rgb24.ref.png [deleted file]
test/reference/create-from-png.ref.png [deleted file]
test/reference/create-from-png.rgb24.ref.png [deleted file]
test/reference/create-from-png.traps.argb32.ref.png [deleted file]
test/reference/create-from-png.traps.rgb24.ref.png [deleted file]
test/reference/culled-glyphs.argb32.ref.png [deleted file]
test/reference/culled-glyphs.base.argb32.ref.png [deleted file]
test/reference/culled-glyphs.base.rgb24.ref.png [deleted file]
test/reference/culled-glyphs.image16.ref.png [deleted file]
test/reference/culled-glyphs.mask.argb32.ref.png [deleted file]
test/reference/culled-glyphs.mask.rgb24.ref.png [deleted file]
test/reference/culled-glyphs.ps.ref.png [deleted file]
test/reference/culled-glyphs.quartz.ref.png [deleted file]
test/reference/culled-glyphs.ref.png [deleted file]
test/reference/culled-glyphs.rgb24.ref.png [deleted file]
test/reference/culled-glyphs.traps.argb32.ref.png [deleted file]
test/reference/culled-glyphs.traps.rgb24.ref.png [deleted file]
test/reference/curve-to-as-line-to.argb32.ref.png [deleted file]
test/reference/curve-to-as-line-to.base.argb32.ref.png [deleted file]
test/reference/curve-to-as-line-to.base.rgb24.ref.png [deleted file]
test/reference/curve-to-as-line-to.egl.argb32.ref.png [deleted file]
test/reference/curve-to-as-line-to.mask.argb32.ref.png [deleted file]
test/reference/curve-to-as-line-to.mask.rgb24.ref.png [deleted file]
test/reference/curve-to-as-line-to.ps.xfail.png [deleted file]
test/reference/curve-to-as-line-to.ref.png [deleted file]
test/reference/curve-to-as-line-to.rgb24.ref.png [deleted file]
test/reference/curve-to-as-line-to.traps.argb32.ref.png [deleted file]
test/reference/curve-to-as-line-to.traps.rgb24.ref.png [deleted file]
test/reference/dash-caps-joins.argb32.ref.png [deleted file]
test/reference/dash-caps-joins.base.argb32.ref.png [deleted file]
test/reference/dash-caps-joins.base.rgb24.ref.png [deleted file]
test/reference/dash-caps-joins.egl.argb32.ref.png [deleted file]
test/reference/dash-caps-joins.image16.ref.png [deleted file]
test/reference/dash-caps-joins.mask.argb32.ref.png [deleted file]
test/reference/dash-caps-joins.mask.rgb24.ref.png [deleted file]
test/reference/dash-caps-joins.ps.ref.png [deleted file]
test/reference/dash-caps-joins.quartz.xfail.png [deleted file]
test/reference/dash-caps-joins.ref.png [deleted file]
test/reference/dash-caps-joins.rgb24.ref.png [deleted file]
test/reference/dash-caps-joins.traps.argb32.ref.png [deleted file]
test/reference/dash-caps-joins.traps.rgb24.ref.png [deleted file]
test/reference/dash-curve.argb32.ref.png [deleted file]
test/reference/dash-curve.base.argb32.ref.png [deleted file]
test/reference/dash-curve.base.rgb24.ref.png [deleted file]
test/reference/dash-curve.egl.argb32.ref.png [deleted file]
test/reference/dash-curve.image16.ref.png [deleted file]
test/reference/dash-curve.mask.argb32.ref.png [deleted file]
test/reference/dash-curve.mask.rgb24.ref.png [deleted file]
test/reference/dash-curve.ps2.ref.png [deleted file]
test/reference/dash-curve.ps3.ref.png [deleted file]
test/reference/dash-curve.quartz.xfail.png [deleted file]
test/reference/dash-curve.ref.png [deleted file]
test/reference/dash-curve.rgb24.ref.png [deleted file]
test/reference/dash-curve.traps.argb32.ref.png [deleted file]
test/reference/dash-curve.traps.rgb24.ref.png [deleted file]
test/reference/dash-infinite-loop.argb32.ref.png [deleted file]
test/reference/dash-infinite-loop.base.argb32.ref.png [deleted file]
test/reference/dash-infinite-loop.base.rgb24.ref.png [deleted file]
test/reference/dash-infinite-loop.egl.argb32.ref.png [deleted file]
test/reference/dash-infinite-loop.mask.argb32.ref.png [deleted file]
test/reference/dash-infinite-loop.mask.rgb24.ref.png [deleted file]
test/reference/dash-infinite-loop.ps.ref.png [deleted file]
test/reference/dash-infinite-loop.ref.png [deleted file]
test/reference/dash-infinite-loop.rgb24.ref.png [deleted file]
test/reference/dash-infinite-loop.traps.argb32.ref.png [deleted file]
test/reference/dash-infinite-loop.traps.rgb24.ref.png [deleted file]
test/reference/dash-no-dash.argb32.ref.png [deleted file]
test/reference/dash-no-dash.base.argb32.ref.png [deleted file]
test/reference/dash-no-dash.base.rgb24.ref.png [deleted file]
test/reference/dash-no-dash.egl.argb32.ref.png [deleted file]
test/reference/dash-no-dash.mask.argb32.ref.png [deleted file]
test/reference/dash-no-dash.mask.rgb24.ref.png [deleted file]
test/reference/dash-no-dash.ref.png [deleted file]
test/reference/dash-no-dash.rgb24.ref.png [deleted file]
test/reference/dash-no-dash.traps.argb32.ref.png [deleted file]
test/reference/dash-no-dash.traps.rgb24.ref.png [deleted file]
test/reference/dash-offset-negative.argb32.ref.png [deleted file]
test/reference/dash-offset-negative.base.argb32.ref.png [deleted file]
test/reference/dash-offset-negative.base.rgb24.ref.png [deleted file]
test/reference/dash-offset-negative.egl.argb32.ref.png [deleted file]
test/reference/dash-offset-negative.mask.argb32.ref.png [deleted file]
test/reference/dash-offset-negative.mask.rgb24.ref.png [deleted file]
test/reference/dash-offset-negative.pdf.ref.png [deleted file]
test/reference/dash-offset-negative.ref.png [deleted file]
test/reference/dash-offset-negative.rgb24.ref.png [deleted file]
test/reference/dash-offset-negative.traps.argb32.ref.png [deleted file]
test/reference/dash-offset-negative.traps.rgb24.ref.png [deleted file]
test/reference/dash-offset.argb32.ref.png [deleted file]
test/reference/dash-offset.base.argb32.ref.png [deleted file]
test/reference/dash-offset.base.rgb24.ref.png [deleted file]
test/reference/dash-offset.egl.argb32.ref.png [deleted file]
test/reference/dash-offset.mask.argb32.ref.png [deleted file]
test/reference/dash-offset.mask.rgb24.ref.png [deleted file]
test/reference/dash-offset.ref.png [deleted file]
test/reference/dash-offset.rgb24.ref.png [deleted file]
test/reference/dash-offset.traps.argb32.ref.png [deleted file]
test/reference/dash-offset.traps.rgb24.ref.png [deleted file]
test/reference/dash-scale.argb32.ref.png [deleted file]
test/reference/dash-scale.base.argb32.ref.png [deleted file]
test/reference/dash-scale.base.rgb24.ref.png [deleted file]
test/reference/dash-scale.egl.argb32.ref.png [deleted file]
test/reference/dash-scale.image16.ref.png [deleted file]
test/reference/dash-scale.mask.argb32.ref.png [deleted file]
test/reference/dash-scale.mask.rgb24.ref.png [deleted file]
test/reference/dash-scale.ps.ref.png [deleted file]
test/reference/dash-scale.quartz.ref.png [deleted file]
test/reference/dash-scale.ref.png [deleted file]
test/reference/dash-scale.rgb24.ref.png [deleted file]
test/reference/dash-scale.traps.argb32.ref.png [deleted file]
test/reference/dash-scale.traps.rgb24.ref.png [deleted file]
test/reference/dash-state.argb32.ref.png [deleted file]
test/reference/dash-state.base.argb32.ref.png [deleted file]
test/reference/dash-state.base.rgb24.ref.png [deleted file]
test/reference/dash-state.egl.argb32.ref.png [deleted file]
test/reference/dash-state.image16.ref.png [deleted file]
test/reference/dash-state.mask.argb32.ref.png [deleted file]
test/reference/dash-state.mask.rgb24.ref.png [deleted file]
test/reference/dash-state.ps2.ref.png [deleted file]
test/reference/dash-state.ps3.ref.png [deleted file]
test/reference/dash-state.quartz.xfail.png [deleted file]
test/reference/dash-state.ref.png [deleted file]
test/reference/dash-state.rgb24.ref.png [deleted file]
test/reference/dash-state.traps.argb32.ref.png [deleted file]
test/reference/dash-state.traps.rgb24.ref.png [deleted file]
test/reference/dash-zero-length.argb32.ref.png [deleted file]
test/reference/dash-zero-length.base.argb32.ref.png [deleted file]
test/reference/dash-zero-length.base.rgb24.ref.png [deleted file]
test/reference/dash-zero-length.egl.argb32.ref.png [deleted file]
test/reference/dash-zero-length.mask.argb32.ref.png [deleted file]
test/reference/dash-zero-length.mask.rgb24.ref.png [deleted file]
test/reference/dash-zero-length.ps2.ref.png [deleted file]
test/reference/dash-zero-length.ps2.rgb24.ref.png [deleted file]
test/reference/dash-zero-length.ps3.ref.png [deleted file]
test/reference/dash-zero-length.ps3.rgb24.ref.png [deleted file]
test/reference/dash-zero-length.ref.png [deleted file]
test/reference/dash-zero-length.rgb24.ref.png [deleted file]
test/reference/dash-zero-length.traps.argb32.ref.png [deleted file]
test/reference/dash-zero-length.traps.rgb24.ref.png [deleted file]
test/reference/degenerate-arc.base.argb32.ref.png [deleted file]
test/reference/degenerate-arc.base.rgb24.ref.png [deleted file]
test/reference/degenerate-arc.egl.argb32.ref.png [deleted file]
test/reference/degenerate-arc.image16.ref.png [deleted file]
test/reference/degenerate-arc.mask.argb32.ref.png [deleted file]
test/reference/degenerate-arc.mask.rgb24.ref.png [deleted file]
test/reference/degenerate-arc.ps2.ref.png [deleted file]
test/reference/degenerate-arc.ps3.ref.png [deleted file]
test/reference/degenerate-arc.quartz.ref.png [deleted file]
test/reference/degenerate-arc.ref.png [deleted file]
test/reference/degenerate-arc.traps.argb32.ref.png [deleted file]
test/reference/degenerate-arc.traps.rgb24.ref.png [deleted file]
test/reference/degenerate-arcs.argb32.ref.png [deleted file]
test/reference/degenerate-arcs.base.argb32.ref.png [deleted file]
test/reference/degenerate-arcs.base.rgb24.ref.png [deleted file]
test/reference/degenerate-arcs.egl.argb32.ref.png [deleted file]
test/reference/degenerate-arcs.image16.ref.png [deleted file]
test/reference/degenerate-arcs.mask.argb32.ref.png [deleted file]
test/reference/degenerate-arcs.mask.rgb24.ref.png [deleted file]
test/reference/degenerate-arcs.ref.png [deleted file]
test/reference/degenerate-arcs.rgb24.ref.png [deleted file]
test/reference/degenerate-arcs.traps.argb32.ref.png [deleted file]
test/reference/degenerate-arcs.traps.rgb24.ref.png [deleted file]
test/reference/degenerate-curve-to.argb32.ref.png [deleted file]
test/reference/degenerate-curve-to.base.argb32.ref.png [deleted file]
test/reference/degenerate-curve-to.base.rgb24.ref.png [deleted file]
test/reference/degenerate-curve-to.egl.argb32.ref.png [deleted file]
test/reference/degenerate-curve-to.image16.ref.png [deleted file]
test/reference/degenerate-curve-to.mask.argb32.ref.png [deleted file]
test/reference/degenerate-curve-to.mask.rgb24.ref.png [deleted file]
test/reference/degenerate-curve-to.ps.xfail.png [deleted file]
test/reference/degenerate-curve-to.quartz.ref.png [deleted file]
test/reference/degenerate-curve-to.ref.png [deleted file]
test/reference/degenerate-curve-to.rgb24.ref.png [deleted file]
test/reference/degenerate-curve-to.traps.argb32.ref.png [deleted file]
test/reference/degenerate-curve-to.traps.rgb24.ref.png [deleted file]
test/reference/degenerate-dash.argb32.ref.png [deleted file]
test/reference/degenerate-dash.base.argb32.ref.png [deleted file]
test/reference/degenerate-dash.base.rgb24.ref.png [deleted file]
test/reference/degenerate-dash.egl.argb32.ref.png [deleted file]
test/reference/degenerate-dash.mask.argb32.ref.png [deleted file]
test/reference/degenerate-dash.mask.rgb24.ref.png [deleted file]
test/reference/degenerate-dash.ps.xfail.png [deleted file]
test/reference/degenerate-dash.quartz.xfail.png [deleted file]
test/reference/degenerate-dash.ref.png [deleted file]
test/reference/degenerate-dash.rgb24.ref.png [deleted file]
test/reference/degenerate-dash.traps.argb32.ref.png [deleted file]
test/reference/degenerate-dash.traps.rgb24.ref.png [deleted file]
test/reference/degenerate-linear-gradient.argb32.ref.png [deleted file]
test/reference/degenerate-linear-gradient.base.argb32.ref.png [deleted file]
test/reference/degenerate-linear-gradient.base.rgb24.ref.png [deleted file]
test/reference/degenerate-linear-gradient.egl.argb32.ref.png [deleted file]
test/reference/degenerate-linear-gradient.mask.argb32.ref.png [deleted file]
test/reference/degenerate-linear-gradient.mask.rgb24.ref.png [deleted file]
test/reference/degenerate-linear-gradient.ref.png [deleted file]
test/reference/degenerate-linear-gradient.rgb24.ref.png [deleted file]
test/reference/degenerate-linear-gradient.traps.argb32.ref.png [deleted file]
test/reference/degenerate-linear-gradient.traps.rgb24.ref.png [deleted file]
test/reference/degenerate-path.argb32.ref.png [deleted file]
test/reference/degenerate-path.base.argb32.ref.png [deleted file]
test/reference/degenerate-path.base.rgb24.ref.png [deleted file]
test/reference/degenerate-path.egl.argb32.ref.png [deleted file]
test/reference/degenerate-path.mask.argb32.ref.png [deleted file]
test/reference/degenerate-path.mask.rgb24.ref.png [deleted file]
test/reference/degenerate-path.ps.argb32.xfail.png [deleted file]
test/reference/degenerate-path.ps.rgb24.xfail.png [deleted file]
test/reference/degenerate-path.quartz.argb32.xfail.png [deleted file]
test/reference/degenerate-path.quartz.rgb24.xfail.png [deleted file]
test/reference/degenerate-path.rgb24.ref.png [deleted file]
test/reference/degenerate-path.traps.argb32.ref.png [deleted file]
test/reference/degenerate-path.traps.rgb24.ref.png [deleted file]
test/reference/degenerate-pen.argb32.ref.png [deleted file]
test/reference/degenerate-pen.base.argb32.ref.png [deleted file]
test/reference/degenerate-pen.base.rgb24.ref.png [deleted file]
test/reference/degenerate-pen.egl.argb32.ref.png [deleted file]
test/reference/degenerate-pen.image16.ref.png [deleted file]
test/reference/degenerate-pen.mask.argb32.ref.png [deleted file]
test/reference/degenerate-pen.mask.rgb24.ref.png [deleted file]
test/reference/degenerate-pen.ps.ref.png [deleted file]
test/reference/degenerate-pen.ref.png [deleted file]
test/reference/degenerate-pen.rgb24.ref.png [deleted file]
test/reference/degenerate-pen.traps.argb32.ref.png [deleted file]
test/reference/degenerate-pen.traps.rgb24.ref.png [deleted file]
test/reference/degenerate-radial-gradient.argb32.ref.png [deleted file]
test/reference/degenerate-radial-gradient.base.argb32.ref.png [deleted file]
test/reference/degenerate-radial-gradient.base.rgb24.ref.png [deleted file]
test/reference/degenerate-radial-gradient.egl.argb32.ref.png [deleted file]
test/reference/degenerate-radial-gradient.mask.argb32.ref.png [deleted file]
test/reference/degenerate-radial-gradient.mask.rgb24.ref.png [deleted file]
test/reference/degenerate-radial-gradient.ref.png [deleted file]
test/reference/degenerate-radial-gradient.rgb24.ref.png [deleted file]
test/reference/degenerate-radial-gradient.traps.argb32.ref.png [deleted file]
test/reference/degenerate-radial-gradient.traps.rgb24.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.argb32.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.base.argb32.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.base.rgb24.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.egl.argb32.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.image16.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.mask.argb32.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.mask.rgb24.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.ps.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.quartz.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.rgb24.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.traps.argb32.ref.png [deleted file]
test/reference/degenerate-rel-curve-to.traps.rgb24.ref.png [deleted file]
test/reference/degenerate-solid-dash.ref.png [deleted file]
test/reference/device-offset-fractional.argb32.ref.png [deleted file]
test/reference/device-offset-fractional.base.argb32.ref.png [deleted file]
test/reference/device-offset-fractional.base.rgb24.ref.png [deleted file]
test/reference/device-offset-fractional.egl.argb32.ref.png [deleted file]
test/reference/device-offset-fractional.gl.xfail.png [deleted file]
test/reference/device-offset-fractional.mask.argb32.ref.png [deleted file]
test/reference/device-offset-fractional.mask.rgb24.ref.png [deleted file]
test/reference/device-offset-fractional.pdf.xfail.png [deleted file]
test/reference/device-offset-fractional.ps2.ref.png [deleted file]
test/reference/device-offset-fractional.ps3.ref.png [deleted file]
test/reference/device-offset-fractional.ref.png [deleted file]
test/reference/device-offset-fractional.rgb24.ref.png [deleted file]
test/reference/device-offset-fractional.traps.argb32.ref.png [deleted file]
test/reference/device-offset-fractional.traps.rgb24.ref.png [deleted file]
test/reference/device-offset-positive.argb32.ref.png [deleted file]
test/reference/device-offset-positive.base.argb32.ref.png [deleted file]
test/reference/device-offset-positive.base.rgb24.ref.png [deleted file]
test/reference/device-offset-positive.egl.argb32.ref.png [deleted file]
test/reference/device-offset-positive.mask.argb32.ref.png [deleted file]
test/reference/device-offset-positive.mask.rgb24.ref.png [deleted file]
test/reference/device-offset-positive.ref.png [deleted file]
test/reference/device-offset-positive.rgb24.ref.png [deleted file]
test/reference/device-offset-positive.traps.argb32.ref.png [deleted file]
test/reference/device-offset-positive.traps.rgb24.ref.png [deleted file]
test/reference/device-offset-scale.argb32.ref.png [deleted file]
test/reference/device-offset-scale.base.argb32.ref.png [deleted file]
test/reference/device-offset-scale.base.rgb24.ref.png [deleted file]
test/reference/device-offset-scale.egl.argb32.ref.png [deleted file]
test/reference/device-offset-scale.mask.argb32.ref.png [deleted file]
test/reference/device-offset-scale.mask.rgb24.ref.png [deleted file]
test/reference/device-offset-scale.ref.png [deleted file]
test/reference/device-offset-scale.rgb24.ref.png [deleted file]
test/reference/device-offset-scale.svg.xfail.png [deleted file]
test/reference/device-offset-scale.traps.argb32.ref.png [deleted file]
test/reference/device-offset-scale.traps.rgb24.ref.png [deleted file]
test/reference/device-offset.argb32.ref.png [deleted file]
test/reference/device-offset.base.argb32.ref.png [deleted file]
test/reference/device-offset.base.rgb24.ref.png [deleted file]
test/reference/device-offset.egl.argb32.ref.png [deleted file]
test/reference/device-offset.mask.argb32.ref.png [deleted file]
test/reference/device-offset.mask.rgb24.ref.png [deleted file]
test/reference/device-offset.ref.png [deleted file]
test/reference/device-offset.rgb24.ref.png [deleted file]
test/reference/device-offset.traps.argb32.ref.png [deleted file]
test/reference/device-offset.traps.rgb24.ref.png [deleted file]
test/reference/drunkard-tails.argb32.ref.png [deleted file]
test/reference/drunkard-tails.base.argb32.ref.png [deleted file]
test/reference/drunkard-tails.base.rgb24.ref.png [deleted file]
test/reference/drunkard-tails.egl.argb32.ref.png [deleted file]
test/reference/drunkard-tails.mask.argb32.ref.png [deleted file]
test/reference/drunkard-tails.mask.rgb24.ref.png [deleted file]
test/reference/drunkard-tails.ps.ref.png [deleted file]
test/reference/drunkard-tails.ref.png [deleted file]
test/reference/drunkard-tails.rgb24.ref.png [deleted file]
test/reference/drunkard-tails.traps.argb32.ref.png [deleted file]
test/reference/drunkard-tails.traps.rgb24.ref.png [deleted file]
test/reference/extend-pad-border.argb32.ref.png [deleted file]
test/reference/extend-pad-border.base.argb32.ref.png [deleted file]
test/reference/extend-pad-border.base.rgb24.ref.png [deleted file]
test/reference/extend-pad-border.egl.argb32.ref.png [deleted file]
test/reference/extend-pad-border.image16.ref.png [deleted file]
test/reference/extend-pad-border.mask.argb32.ref.png [deleted file]
test/reference/extend-pad-border.mask.rgb24.ref.png [deleted file]
test/reference/extend-pad-border.pdf.ref.png [deleted file]
test/reference/extend-pad-border.ps.ref.png [deleted file]
test/reference/extend-pad-border.quartz.ref.png [deleted file]
test/reference/extend-pad-border.ref.png [deleted file]
test/reference/extend-pad-border.rgb24.ref.png [deleted file]
test/reference/extend-pad-border.svg.xfail.png [deleted file]
test/reference/extend-pad-border.traps.argb32.ref.png [deleted file]
test/reference/extend-pad-border.traps.rgb24.ref.png [deleted file]
test/reference/extend-pad-similar.argb32.ref.png [deleted file]
test/reference/extend-pad-similar.base.argb32.ref.png [deleted file]
test/reference/extend-pad-similar.base.rgb24.ref.png [deleted file]
test/reference/extend-pad-similar.egl.argb32.ref.png [deleted file]
test/reference/extend-pad-similar.mask.argb32.ref.png [deleted file]
test/reference/extend-pad-similar.mask.rgb24.ref.png [deleted file]
test/reference/extend-pad-similar.quartz.xfail.png [deleted file]
test/reference/extend-pad-similar.ref.png [deleted file]
test/reference/extend-pad-similar.rgb24.ref.png [deleted file]
test/reference/extend-pad-similar.svg.xfail.png [deleted file]
test/reference/extend-pad-similar.traps.argb32.ref.png [deleted file]
test/reference/extend-pad-similar.traps.rgb24.ref.png [deleted file]
test/reference/extend-pad.argb32.ref.png [deleted file]
test/reference/extend-pad.base.argb32.ref.png [deleted file]
test/reference/extend-pad.base.rgb24.ref.png [deleted file]
test/reference/extend-pad.egl.argb32.ref.png [deleted file]
test/reference/extend-pad.mask.argb32.ref.png [deleted file]
test/reference/extend-pad.mask.rgb24.ref.png [deleted file]
test/reference/extend-pad.ps.ref.png [deleted file]
test/reference/extend-pad.quartz.xfail.png [deleted file]
test/reference/extend-pad.ref.png [deleted file]
test/reference/extend-pad.rgb24.ref.png [deleted file]
test/reference/extend-pad.svg.xfail.png [deleted file]
test/reference/extend-pad.traps.argb32.ref.png [deleted file]
test/reference/extend-pad.traps.rgb24.ref.png [deleted file]
test/reference/extend-reflect-similar.argb32.ref.png [deleted file]
test/reference/extend-reflect-similar.base.argb32.ref.png [deleted file]
test/reference/extend-reflect-similar.base.rgb24.ref.png [deleted file]
test/reference/extend-reflect-similar.egl.argb32.ref.png [deleted file]
test/reference/extend-reflect-similar.image16.ref.png [deleted file]
test/reference/extend-reflect-similar.mask.argb32.ref.png [deleted file]
test/reference/extend-reflect-similar.mask.rgb24.ref.png [deleted file]
test/reference/extend-reflect-similar.ps2.ref.png [deleted file]
test/reference/extend-reflect-similar.ps3.ref.png [deleted file]
test/reference/extend-reflect-similar.ref.png [deleted file]
test/reference/extend-reflect-similar.rgb24.ref.png [deleted file]
test/reference/extend-reflect-similar.traps.argb32.ref.png [deleted file]
test/reference/extend-reflect-similar.traps.rgb24.ref.png [deleted file]
test/reference/extend-reflect.argb32.ref.png [deleted file]
test/reference/extend-reflect.base.argb32.ref.png [deleted file]
test/reference/extend-reflect.base.rgb24.ref.png [deleted file]
test/reference/extend-reflect.egl.argb32.ref.png [deleted file]
test/reference/extend-reflect.image16.ref.png [deleted file]
test/reference/extend-reflect.mask.argb32.ref.png [deleted file]
test/reference/extend-reflect.mask.rgb24.ref.png [deleted file]
test/reference/extend-reflect.ps2.ref.png [deleted file]
test/reference/extend-reflect.ps3.ref.png [deleted file]
test/reference/extend-reflect.ref.png [deleted file]
test/reference/extend-reflect.rgb24.ref.png [deleted file]
test/reference/extend-reflect.traps.argb32.ref.png [deleted file]
test/reference/extend-reflect.traps.rgb24.ref.png [deleted file]
test/reference/extend-repeat-similar.argb32.ref.png [deleted file]
test/reference/extend-repeat-similar.base.argb32.ref.png [deleted file]
test/reference/extend-repeat-similar.base.rgb24.ref.png [deleted file]
test/reference/extend-repeat-similar.egl.argb32.ref.png [deleted file]
test/reference/extend-repeat-similar.image16.ref.png [deleted file]
test/reference/extend-repeat-similar.mask.argb32.ref.png [deleted file]
test/reference/extend-repeat-similar.mask.rgb24.ref.png [deleted file]
test/reference/extend-repeat-similar.ps2.ref.png [deleted file]
test/reference/extend-repeat-similar.ps3.ref.png [deleted file]
test/reference/extend-repeat-similar.ref.png [deleted file]
test/reference/extend-repeat-similar.rgb24.ref.png [deleted file]
test/reference/extend-repeat-similar.traps.argb32.ref.png [deleted file]
test/reference/extend-repeat-similar.traps.rgb24.ref.png [deleted file]
test/reference/extend-repeat.argb32.ref.png [deleted file]
test/reference/extend-repeat.base.argb32.ref.png [deleted file]
test/reference/extend-repeat.base.rgb24.ref.png [deleted file]
test/reference/extend-repeat.egl.argb32.ref.png [deleted file]
test/reference/extend-repeat.image16.ref.png [deleted file]
test/reference/extend-repeat.mask.argb32.ref.png [deleted file]
test/reference/extend-repeat.mask.rgb24.ref.png [deleted file]
test/reference/extend-repeat.ps2.ref.png [deleted file]
test/reference/extend-repeat.ps3.ref.png [deleted file]
test/reference/extend-repeat.ref.png [deleted file]
test/reference/extend-repeat.rgb24.ref.png [deleted file]
test/reference/extend-repeat.traps.argb32.ref.png [deleted file]
test/reference/extend-repeat.traps.rgb24.ref.png [deleted file]
test/reference/extended-blend-alpha-mask.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha-mask.base.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha-mask.base.rgb24.ref.png [deleted file]
test/reference/extended-blend-alpha-mask.egl.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha-mask.mask.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha-mask.mask.rgb24.ref.png [deleted file]
test/reference/extended-blend-alpha-mask.rgb24.ref.png [deleted file]
test/reference/extended-blend-alpha-mask.traps.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha-mask.traps.rgb24.ref.png [deleted file]
test/reference/extended-blend-alpha.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha.base.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha.base.rgb24.ref.png [deleted file]
test/reference/extended-blend-alpha.egl.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha.image16.ref.png [deleted file]
test/reference/extended-blend-alpha.mask.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha.mask.rgb24.ref.png [deleted file]
test/reference/extended-blend-alpha.quartz.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha.quartz.rgb24.ref.png [deleted file]
test/reference/extended-blend-alpha.rgb24.ref.png [deleted file]
test/reference/extended-blend-alpha.svg12.argb32.xfail.png [deleted file]
test/reference/extended-blend-alpha.svg12.rgb24.xfail.png [deleted file]
test/reference/extended-blend-alpha.traps.argb32.ref.png [deleted file]
test/reference/extended-blend-alpha.traps.rgb24.ref.png [deleted file]
test/reference/extended-blend-mask.argb32.ref.png [deleted file]
test/reference/extended-blend-mask.base.argb32.ref.png [deleted file]
test/reference/extended-blend-mask.base.rgb24.ref.png [deleted file]
test/reference/extended-blend-mask.egl.argb32.ref.png [deleted file]
test/reference/extended-blend-mask.mask.argb32.ref.png [deleted file]
test/reference/extended-blend-mask.mask.rgb24.ref.png [deleted file]
test/reference/extended-blend-mask.rgb24.ref.png [deleted file]
test/reference/extended-blend-mask.traps.argb32.ref.png [deleted file]
test/reference/extended-blend-mask.traps.rgb24.ref.png [deleted file]
test/reference/extended-blend-solid-alpha.argb32.ref.png [deleted file]
test/reference/extended-blend-solid-alpha.base.argb32.ref.png [deleted file]
test/reference/extended-blend-solid-alpha.base.rgb24.ref.png [deleted file]
test/reference/extended-blend-solid-alpha.egl.argb32.ref.png [deleted file]
test/reference/extended-blend-solid-alpha.image16.ref.png [deleted file]
test/reference/extended-blend-solid-alpha.mask.argb32.ref.png [deleted file]
test/reference/extended-blend-solid-alpha.mask.rgb24.ref.png [deleted file]
test/reference/extended-blend-solid-alpha.rgb24.ref.png [deleted file]
test/reference/extended-blend-solid-alpha.traps.argb32.ref.png [deleted file]
test/reference/extended-blend-solid-alpha.traps.rgb24.ref.png [deleted file]
test/reference/extended-blend-solid.argb32.ref.png [deleted file]
test/reference/extended-blend-solid.base.argb32.ref.png [deleted file]
test/reference/extended-blend-solid.base.rgb24.ref.png [deleted file]
test/reference/extended-blend-solid.egl.argb32.ref.png [deleted file]
test/reference/extended-blend-solid.image16.ref.png [deleted file]
test/reference/extended-blend-solid.mask.argb32.ref.png [deleted file]
test/reference/extended-blend-solid.mask.rgb24.ref.png [deleted file]
test/reference/extended-blend-solid.rgb24.ref.png [deleted file]
test/reference/extended-blend-solid.traps.argb32.ref.png [deleted file]
test/reference/extended-blend-solid.traps.rgb24.ref.png [deleted file]
test/reference/extended-blend.argb32.ref.png [deleted file]
test/reference/extended-blend.base.argb32.ref.png [deleted file]
test/reference/extended-blend.base.rgb24.ref.png [deleted file]
test/reference/extended-blend.egl.argb32.ref.png [deleted file]
test/reference/extended-blend.image16.ref.png [deleted file]
test/reference/extended-blend.mask.argb32.ref.png [deleted file]
test/reference/extended-blend.mask.rgb24.ref.png [deleted file]
test/reference/extended-blend.quartz.argb32.ref.png [deleted file]
test/reference/extended-blend.quartz.rgb24.ref.png [deleted file]
test/reference/extended-blend.rgb24.ref.png [deleted file]
test/reference/extended-blend.svg12.argb32.xfail.png [deleted file]
test/reference/extended-blend.svg12.rgb24.xfail.png [deleted file]
test/reference/extended-blend.traps.argb32.ref.png [deleted file]
test/reference/extended-blend.traps.rgb24.ref.png [deleted file]
test/reference/fallback-resolution.ppi144x144.ps.ref.png [deleted file]
test/reference/fallback-resolution.ppi144x144.ref.png [deleted file]
test/reference/fallback-resolution.ppi144x72.ps.ref.png [deleted file]
test/reference/fallback-resolution.ppi144x72.ref.png [deleted file]
test/reference/fallback-resolution.ppi288x288.pdf.ref.png [deleted file]
test/reference/fallback-resolution.ppi288x288.ps.ref.png [deleted file]
test/reference/fallback-resolution.ppi288x288.svg.ref.png [deleted file]
test/reference/fallback-resolution.ppi288x72.ps.ref.png [deleted file]
test/reference/fallback-resolution.ppi288x72.ref.png [deleted file]
test/reference/fallback-resolution.ppi576x576.pdf.ref.png [deleted file]
test/reference/fallback-resolution.ppi576x576.ps.ref.png [deleted file]
test/reference/fallback-resolution.ppi576x576.svg.ref.png [deleted file]
test/reference/fallback-resolution.ppi576x72.ps.ref.png [deleted file]
test/reference/fallback-resolution.ppi576x72.ref.png [deleted file]
test/reference/fallback-resolution.ppi72x144.ps.ref.png [deleted file]
test/reference/fallback-resolution.ppi72x144.ref.png [deleted file]
test/reference/fallback-resolution.ppi72x288.ps.ref.png [deleted file]
test/reference/fallback-resolution.ppi72x288.ref.png [deleted file]
test/reference/fallback-resolution.ppi72x576.ps.ref.png [deleted file]
test/reference/fallback-resolution.ppi72x576.ref.png [deleted file]
test/reference/fallback-resolution.ppi72x72.ref.png [deleted file]
test/reference/fallback.argb32.ref.png [deleted file]
test/reference/fallback.base.argb32.ref.png [deleted file]
test/reference/fallback.base.rgb24.ref.png [deleted file]
test/reference/fallback.egl.argb32.ref.png [deleted file]
test/reference/fallback.image16.rgb24.ref.png [deleted file]
test/reference/fallback.mask.argb32.ref.png [deleted file]
test/reference/fallback.mask.rgb24.ref.png [deleted file]
test/reference/fallback.rgb24.ref.png [deleted file]
test/reference/fallback.traps.argb32.ref.png [deleted file]
test/reference/fallback.traps.rgb24.ref.png [deleted file]
test/reference/fill-alpha-pattern.argb32.ref.png [deleted file]
test/reference/fill-alpha-pattern.base.argb32.ref.png [deleted file]
test/reference/fill-alpha-pattern.base.rgb24.ref.png [deleted file]
test/reference/fill-alpha-pattern.egl.argb32.ref.png [deleted file]
test/reference/fill-alpha-pattern.image16.ref.png [deleted file]
test/reference/fill-alpha-pattern.mask.argb32.ref.png [deleted file]
test/reference/fill-alpha-pattern.mask.rgb24.ref.png [deleted file]
test/reference/fill-alpha-pattern.pdf.ref.png [deleted file]
test/reference/fill-alpha-pattern.ps3.argb32.ref.png [deleted file]
test/reference/fill-alpha-pattern.quartz.ref.png [deleted file]
test/reference/fill-alpha-pattern.ref.png [deleted file]
test/reference/fill-alpha-pattern.rgb24.ref.png [deleted file]
test/reference/fill-alpha-pattern.traps.argb32.ref.png [deleted file]
test/reference/fill-alpha-pattern.traps.rgb24.ref.png [deleted file]
test/reference/fill-alpha.argb32.ref.png [deleted file]
test/reference/fill-alpha.base.argb32.ref.png [deleted file]
test/reference/fill-alpha.base.rgb24.ref.png [deleted file]
test/reference/fill-alpha.egl.argb32.ref.png [deleted file]
test/reference/fill-alpha.image16.ref.png [deleted file]
test/reference/fill-alpha.mask.argb32.ref.png [deleted file]
test/reference/fill-alpha.mask.rgb24.ref.png [deleted file]
test/reference/fill-alpha.ps.argb32.ref.png [deleted file]
test/reference/fill-alpha.quartz.ref.png [deleted file]
test/reference/fill-alpha.ref.png [deleted file]
test/reference/fill-alpha.rgb24.ref.png [deleted file]
test/reference/fill-alpha.traps.argb32.ref.png [deleted file]
test/reference/fill-alpha.traps.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.argb32.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.base.argb32.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.base.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.egl.argb32.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.image16.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.mask.argb32.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.mask.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.quartz.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.svg12.xfail.png [deleted file]
test/reference/fill-and-stroke-alpha-add.traps.argb32.ref.png [deleted file]
test/reference/fill-and-stroke-alpha-add.traps.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.argb32.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.base.argb32.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.base.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.egl.argb32.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.image16.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.mask.argb32.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.mask.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.traps.argb32.ref.png [deleted file]
test/reference/fill-and-stroke-alpha.traps.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke.argb32.ref.png [deleted file]
test/reference/fill-and-stroke.base.argb32.ref.png [deleted file]
test/reference/fill-and-stroke.base.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke.egl.argb32.ref.png [deleted file]
test/reference/fill-and-stroke.image16.ref.png [deleted file]
test/reference/fill-and-stroke.mask.argb32.ref.png [deleted file]
test/reference/fill-and-stroke.mask.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke.ps.argb32.ref.png [deleted file]
test/reference/fill-and-stroke.ps.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke.quartz.argb32.ref.png [deleted file]
test/reference/fill-and-stroke.quartz.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke.rgb24.ref.png [deleted file]
test/reference/fill-and-stroke.traps.argb32.ref.png [deleted file]
test/reference/fill-and-stroke.traps.rgb24.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.argb32.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.base.argb32.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.base.rgb24.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.egl.argb32.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.image16.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.mask.argb32.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.mask.rgb24.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.ps.argb32.xfail.png [deleted file]
test/reference/fill-degenerate-sort-order.ps.rgb24.xfail.png [deleted file]
test/reference/fill-degenerate-sort-order.quartz.argb32.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.quartz.rgb24.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.rgb24.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.traps.argb32.ref.png [deleted file]
test/reference/fill-degenerate-sort-order.traps.rgb24.ref.png [deleted file]
test/reference/fill-disjoint.argb32.ref.png [deleted file]
test/reference/fill-disjoint.base.argb32.ref.png [deleted file]
test/reference/fill-disjoint.base.rgb24.ref.png [deleted file]
test/reference/fill-disjoint.egl.argb32.ref.png [deleted file]
test/reference/fill-disjoint.mask.argb32.ref.png [deleted file]
test/reference/fill-disjoint.mask.rgb24.ref.png [deleted file]
test/reference/fill-disjoint.ref.png [deleted file]
test/reference/fill-disjoint.rgb24.ref.png [deleted file]
test/reference/fill-disjoint.traps.argb32.ref.png [deleted file]
test/reference/fill-disjoint.traps.rgb24.ref.png [deleted file]
test/reference/fill-empty.argb32.ref.png [deleted file]
test/reference/fill-empty.base.argb32.ref.png [deleted file]
test/reference/fill-empty.base.rgb24.ref.png [deleted file]
test/reference/fill-empty.egl.argb32.ref.png [deleted file]
test/reference/fill-empty.mask.argb32.ref.png [deleted file]
test/reference/fill-empty.mask.rgb24.ref.png [deleted file]
test/reference/fill-empty.rgb24.ref.png [deleted file]
test/reference/fill-empty.svg12.rgb24.xfail.png [deleted file]
test/reference/fill-empty.traps.argb32.ref.png [deleted file]
test/reference/fill-empty.traps.rgb24.ref.png [deleted file]
test/reference/fill-image.argb32.ref.png [deleted file]
test/reference/fill-image.base.argb32.ref.png [deleted file]
test/reference/fill-image.base.rgb24.ref.png [deleted file]
test/reference/fill-image.egl.argb32.ref.png [deleted file]
test/reference/fill-image.image16.ref.png [deleted file]
test/reference/fill-image.mask.argb32.ref.png [deleted file]
test/reference/fill-image.mask.rgb24.ref.png [deleted file]
test/reference/fill-image.ps.ref.png [deleted file]
test/reference/fill-image.quartz.ref.png [deleted file]
test/reference/fill-image.ref.png [deleted file]
test/reference/fill-image.rgb24.ref.png [deleted file]
test/reference/fill-image.traps.argb32.ref.png [deleted file]
test/reference/fill-image.traps.rgb24.ref.png [deleted file]
test/reference/fill-missed-stop.argb32.ref.png [deleted file]
test/reference/fill-missed-stop.base.argb32.ref.png [deleted file]
test/reference/fill-missed-stop.base.rgb24.ref.png [deleted file]
test/reference/fill-missed-stop.egl.argb32.ref.png [deleted file]
test/reference/fill-missed-stop.mask.argb32.ref.png [deleted file]
test/reference/fill-missed-stop.mask.rgb24.ref.png [deleted file]
test/reference/fill-missed-stop.pdf.argb32.ref.png [deleted file]
test/reference/fill-missed-stop.ps2.argb32.ref.png [deleted file]
test/reference/fill-missed-stop.ps2.rgb24.ref.png [deleted file]
test/reference/fill-missed-stop.ps3.argb32.ref.png [deleted file]
test/reference/fill-missed-stop.ps3.rgb24.ref.png [deleted file]
test/reference/fill-missed-stop.ref.png [deleted file]
test/reference/fill-missed-stop.rgb24.ref.png [deleted file]
test/reference/fill-missed-stop.traps.argb32.ref.png [deleted file]
test/reference/fill-missed-stop.traps.rgb24.ref.png [deleted file]
test/reference/fill-rule.argb32.ref.png [deleted file]
test/reference/fill-rule.base.argb32.ref.png [deleted file]
test/reference/fill-rule.base.rgb24.ref.png [deleted file]
test/reference/fill-rule.egl.argb32.ref.png [deleted file]
test/reference/fill-rule.image16.ref.png [deleted file]
test/reference/fill-rule.mask.argb32.ref.png [deleted file]
test/reference/fill-rule.mask.rgb24.ref.png [deleted file]
test/reference/fill-rule.ps2.argb32.ref.png [deleted file]
test/reference/fill-rule.ps2.rgb24.ref.png [deleted file]
test/reference/fill-rule.ps3.argb32.ref.png [deleted file]
test/reference/fill-rule.ps3.rgb24.ref.png [deleted file]
test/reference/fill-rule.quartz.argb32.ref.png [deleted file]
test/reference/fill-rule.quartz.rgb24.ref.png [deleted file]
test/reference/fill-rule.ref.png [deleted file]
test/reference/fill-rule.rgb24.ref.png [deleted file]
test/reference/fill-rule.traps.argb32.ref.png [deleted file]
test/reference/fill-rule.traps.rgb24.ref.png [deleted file]
test/reference/fill-xlib-fallback.rgb24.ref.png [deleted file]
test/reference/fill-xlib-window.rgb24.ref.png [deleted file]
test/reference/fill-xlib.argb32.ref.png [deleted file]
test/reference/fill-xlib.rgb24.ref.png [deleted file]
test/reference/filter-bilinear-extents.argb32.ref.png [deleted file]
test/reference/filter-bilinear-extents.base.argb32.ref.png [deleted file]
test/reference/filter-bilinear-extents.base.rgb24.ref.png [deleted file]
test/reference/filter-bilinear-extents.egl.argb32.ref.png [deleted file]
test/reference/filter-bilinear-extents.image16.ref.png [deleted file]
test/reference/filter-bilinear-extents.mask.argb32.ref.png [deleted file]
test/reference/filter-bilinear-extents.mask.rgb24.ref.png [deleted file]
test/reference/filter-bilinear-extents.pdf.xfail.png [deleted file]
test/reference/filter-bilinear-extents.ps2.ref.png [deleted file]
test/reference/filter-bilinear-extents.ps3.ref.png [deleted file]
test/reference/filter-bilinear-extents.quartz.xfail.png [deleted file]
test/reference/filter-bilinear-extents.ref.png [deleted file]
test/reference/filter-bilinear-extents.rgb24.ref.png [deleted file]
test/reference/filter-bilinear-extents.traps.argb32.ref.png [deleted file]
test/reference/filter-bilinear-extents.traps.rgb24.ref.png [deleted file]
test/reference/filter-nearest-offset.argb32.ref.png [deleted file]
test/reference/filter-nearest-offset.base.argb32.ref.png [deleted file]
test/reference/filter-nearest-offset.base.rgb24.ref.png [deleted file]
test/reference/filter-nearest-offset.egl.argb32.ref.png [deleted file]
test/reference/filter-nearest-offset.gl.xfail.png [deleted file]
test/reference/filter-nearest-offset.mask.argb32.ref.png [deleted file]
test/reference/filter-nearest-offset.mask.rgb24.ref.png [deleted file]
test/reference/filter-nearest-offset.pdf.xfail.png [deleted file]
test/reference/filter-nearest-offset.ps2.ref.png [deleted file]
test/reference/filter-nearest-offset.ps3.ref.png [deleted file]
test/reference/filter-nearest-offset.ref.png [deleted file]
test/reference/filter-nearest-offset.rgb24.ref.png [deleted file]
test/reference/filter-nearest-offset.svg.xfail.png [deleted file]
test/reference/filter-nearest-offset.traps.argb32.ref.png [deleted file]
test/reference/filter-nearest-offset.traps.rgb24.ref.png [deleted file]
test/reference/filter-nearest-transformed.argb32.ref.png [deleted file]
test/reference/filter-nearest-transformed.base.argb32.ref.png [deleted file]
test/reference/filter-nearest-transformed.base.rgb24.ref.png [deleted file]
test/reference/filter-nearest-transformed.egl.argb32.ref.png [deleted file]
test/reference/filter-nearest-transformed.gl.xfail.png [deleted file]
test/reference/filter-nearest-transformed.image16.ref.png [deleted file]
test/reference/filter-nearest-transformed.mask.argb32.ref.png [deleted file]
test/reference/filter-nearest-transformed.mask.rgb24.ref.png [deleted file]
test/reference/filter-nearest-transformed.pdf.xfail.png [deleted file]
test/reference/filter-nearest-transformed.quartz.xfail.png [deleted file]
test/reference/filter-nearest-transformed.ref.png [deleted file]
test/reference/filter-nearest-transformed.rgb24.ref.png [deleted file]
test/reference/filter-nearest-transformed.svg.xfail.png [deleted file]
test/reference/filter-nearest-transformed.traps.argb32.ref.png [deleted file]
test/reference/filter-nearest-transformed.traps.rgb24.ref.png [deleted file]
test/reference/finer-grained-fallbacks.argb32.ref.png [deleted file]
test/reference/finer-grained-fallbacks.base.argb32.ref.png [deleted file]
test/reference/finer-grained-fallbacks.base.rgb24.ref.png [deleted file]
test/reference/finer-grained-fallbacks.egl.argb32.ref.png [deleted file]
test/reference/finer-grained-fallbacks.gl.argb32.ref.png [deleted file]
test/reference/finer-grained-fallbacks.image16.ref.png [deleted file]
test/reference/finer-grained-fallbacks.mask.argb32.ref.png [deleted file]
test/reference/finer-grained-fallbacks.mask.rgb24.ref.png [deleted file]
test/reference/finer-grained-fallbacks.ps2.argb32.ref.png [deleted file]
test/reference/finer-grained-fallbacks.ps2.ref.png [deleted file]
test/reference/finer-grained-fallbacks.ps2.rgb24.ref.png [deleted file]
test/reference/finer-grained-fallbacks.ps3.argb32.ref.png [deleted file]
test/reference/finer-grained-fallbacks.ps3.ref.png [deleted file]
test/reference/finer-grained-fallbacks.ps3.rgb24.ref.png [deleted file]
test/reference/finer-grained-fallbacks.quartz.argb32.ref.png [deleted file]
test/reference/finer-grained-fallbacks.quartz.rgb24.ref.png [deleted file]
test/reference/finer-grained-fallbacks.rgb24.ref.png [deleted file]
test/reference/finer-grained-fallbacks.svg12.argb32.ref.png [deleted file]
test/reference/finer-grained-fallbacks.svg12.rgb24.ref.png [deleted file]
test/reference/finer-grained-fallbacks.traps.argb32.ref.png [deleted file]
test/reference/finer-grained-fallbacks.traps.rgb24.ref.png [deleted file]
test/reference/finer-grained-fallbacks.xlib-fallback.ref.png [deleted file]
test/reference/font-matrix-translation.argb32.ref.png [deleted file]
test/reference/font-matrix-translation.base.argb32.ref.png [deleted file]
test/reference/font-matrix-translation.base.rgb24.ref.png [deleted file]
test/reference/font-matrix-translation.image16.ref.png [deleted file]
test/reference/font-matrix-translation.mask.argb32.ref.png [deleted file]
test/reference/font-matrix-translation.mask.rgb24.ref.png [deleted file]
test/reference/font-matrix-translation.ps2.argb32.ref.png [deleted file]
test/reference/font-matrix-translation.ps2.rgb24.ref.png [deleted file]
test/reference/font-matrix-translation.ps3.argb32.ref.png [deleted file]
test/reference/font-matrix-translation.ps3.rgb24.ref.png [deleted file]
test/reference/font-matrix-translation.quartz.ref.png [deleted file]
test/reference/font-matrix-translation.ref.png [deleted file]
test/reference/font-matrix-translation.rgb24.ref.png [deleted file]
test/reference/font-matrix-translation.svg.ref.png [deleted file]
test/reference/font-matrix-translation.traps.argb32.ref.png [deleted file]
test/reference/font-matrix-translation.traps.ref.png [deleted file]
test/reference/font-matrix-translation.traps.rgb24.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.argb32.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.base.argb32.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.base.rgb24.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.image16.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.mask.argb32.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.mask.rgb24.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.pdf.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.ps2.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.ps3.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.rgb24.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.svg.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.traps.ref.png [deleted file]
test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png [deleted file]
test/reference/ft-show-glyphs-table.argb32.ref.png [deleted file]
test/reference/ft-show-glyphs-table.base.argb32.ref.png [deleted file]
test/reference/ft-show-glyphs-table.base.rgb24.ref.png [deleted file]
test/reference/ft-show-glyphs-table.image16.ref.png [deleted file]
test/reference/ft-show-glyphs-table.mask.argb32.ref.png [deleted file]
test/reference/ft-show-glyphs-table.mask.rgb24.ref.png [deleted file]
test/reference/ft-show-glyphs-table.ps2.ref.png [deleted file]
test/reference/ft-show-glyphs-table.ps3.ref.png [deleted file]
test/reference/ft-show-glyphs-table.quartz.xfail.png [deleted file]
test/reference/ft-show-glyphs-table.ref.png [deleted file]
test/reference/ft-show-glyphs-table.rgb24.ref.png [deleted file]
test/reference/ft-show-glyphs-table.svg.ref.png [deleted file]
test/reference/ft-show-glyphs-table.traps.argb32.ref.png [deleted file]
test/reference/ft-show-glyphs-table.traps.ref.png [deleted file]
test/reference/ft-show-glyphs-table.traps.rgb24.ref.png [deleted file]
test/reference/ft-text-antialias-none.argb32.ref.png [deleted file]
test/reference/ft-text-antialias-none.base.argb32.ref.png [deleted file]
test/reference/ft-text-antialias-none.base.rgb24.ref.png [deleted file]
test/reference/ft-text-antialias-none.mask.argb32.ref.png [deleted file]
test/reference/ft-text-antialias-none.mask.rgb24.ref.png [deleted file]
test/reference/ft-text-antialias-none.ps2.argb32.ref.png [deleted file]
test/reference/ft-text-antialias-none.ps3.argb32.ref.png [deleted file]
test/reference/ft-text-antialias-none.ref.png [deleted file]
test/reference/ft-text-antialias-none.rgb24.ref.png [deleted file]
test/reference/ft-text-antialias-none.traps.argb32.ref.png [deleted file]
test/reference/ft-text-antialias-none.traps.rgb24.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.argb32.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.base.argb32.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.base.rgb24.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.image16.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.mask.argb32.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.mask.rgb24.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.pdf.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.ps.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.quartz.xfail.png [deleted file]
test/reference/ft-text-vertical-layout-type1.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.rgb24.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.svg.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.traps.argb32.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.traps.rgb24.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type1.xfail.png [deleted file]
test/reference/ft-text-vertical-layout-type3.argb32.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.base.argb32.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.base.rgb24.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.image16.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.mask.argb32.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.mask.rgb24.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.pdf.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.ps.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.quartz.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.rgb24.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.svg.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.traps.argb32.ref.png [deleted file]
test/reference/ft-text-vertical-layout-type3.traps.rgb24.ref.png [deleted file]
test/reference/get-group-target.argb32.ref.png [deleted file]
test/reference/get-group-target.base.argb32.ref.png [deleted file]
test/reference/get-group-target.base.rgb24.ref.png [deleted file]
test/reference/get-group-target.egl.argb32.ref.png [deleted file]
test/reference/get-group-target.mask.argb32.ref.png [deleted file]
test/reference/get-group-target.mask.rgb24.ref.png [deleted file]
test/reference/get-group-target.ref.png [deleted file]
test/reference/get-group-target.rgb24.ref.png [deleted file]
test/reference/get-group-target.traps.argb32.ref.png [deleted file]
test/reference/get-group-target.traps.rgb24.ref.png [deleted file]
test/reference/gl-surface-source.argb32.ref.png [deleted file]
test/reference/gl-surface-source.base.argb32.ref.png [deleted file]
test/reference/gl-surface-source.base.rgb24.ref.png [deleted file]
test/reference/gl-surface-source.image16.ref.png [deleted file]
test/reference/gl-surface-source.mask.argb32.ref.png [deleted file]
test/reference/gl-surface-source.mask.rgb24.ref.png [deleted file]
test/reference/gl-surface-source.rgb24.ref.png [deleted file]
test/reference/gl-surface-source.traps.argb32.ref.png [deleted file]
test/reference/gl-surface-source.traps.rgb24.ref.png [deleted file]
test/reference/glyph-cache-pressure.argb32.ref.png [deleted file]
test/reference/glyph-cache-pressure.base.argb32.ref.png [deleted file]
test/reference/glyph-cache-pressure.base.rgb24.ref.png [deleted file]
test/reference/glyph-cache-pressure.image16.ref.png [deleted file]
test/reference/glyph-cache-pressure.mask.argb32.ref.png [deleted file]
test/reference/glyph-cache-pressure.mask.rgb24.ref.png [deleted file]
test/reference/glyph-cache-pressure.ps2.ref.png [deleted file]
test/reference/glyph-cache-pressure.ps3.ref.png [deleted file]
test/reference/glyph-cache-pressure.quartz.ref.png [deleted file]
test/reference/glyph-cache-pressure.ref.png [deleted file]
test/reference/glyph-cache-pressure.rgb24.ref.png [deleted file]
test/reference/glyph-cache-pressure.traps.argb32.ref.png [deleted file]
test/reference/glyph-cache-pressure.traps.ref.png [deleted file]
test/reference/glyph-cache-pressure.traps.rgb24.ref.png [deleted file]
test/reference/gradient-alpha.argb32.ref.png [deleted file]
test/reference/gradient-alpha.base.argb32.ref.png [deleted file]
test/reference/gradient-alpha.base.rgb24.ref.png [deleted file]
test/reference/gradient-alpha.egl.argb32.ref.png [deleted file]
test/reference/gradient-alpha.mask.argb32.ref.png [deleted file]
test/reference/gradient-alpha.mask.rgb24.ref.png [deleted file]
test/reference/gradient-alpha.ps2.argb32.ref.png [deleted file]
test/reference/gradient-alpha.ps2.rgb24.ref.png [deleted file]
test/reference/gradient-alpha.ps3.argb32.ref.png [deleted file]
test/reference/gradient-alpha.ps3.rgb24.ref.png [deleted file]
test/reference/gradient-alpha.ref.png [deleted file]
test/reference/gradient-alpha.rgb24.ref.png [deleted file]
test/reference/gradient-alpha.traps.argb32.ref.png [deleted file]
test/reference/gradient-alpha.traps.rgb24.ref.png [deleted file]
test/reference/gradient-constant-alpha.argb32.ref.png [deleted file]
test/reference/gradient-constant-alpha.base.argb32.ref.png [deleted file]
test/reference/gradient-constant-alpha.base.rgb24.ref.png [deleted file]
test/reference/gradient-constant-alpha.egl.argb32.ref.png [deleted file]
test/reference/gradient-constant-alpha.mask.argb32.ref.png [deleted file]
test/reference/gradient-constant-alpha.mask.rgb24.ref.png [deleted file]
test/reference/gradient-constant-alpha.ps3.ref.png [deleted file]
test/reference/gradient-constant-alpha.ps3.rgb24.ref.png [deleted file]
test/reference/gradient-constant-alpha.quartz.argb32.ref.png [deleted file]
test/reference/gradient-constant-alpha.ref.png [deleted file]
test/reference/gradient-constant-alpha.rgb24.ref.png [deleted file]
test/reference/gradient-constant-alpha.traps.argb32.ref.png [deleted file]
test/reference/gradient-constant-alpha.traps.rgb24.ref.png [deleted file]
test/reference/gradient-zero-stops-mask.argb32.ref.png [deleted file]
test/reference/gradient-zero-stops-mask.base.argb32.ref.png [deleted file]
test/reference/gradient-zero-stops-mask.base.rgb24.ref.png [deleted file]
test/reference/gradient-zero-stops-mask.egl.argb32.ref.png [deleted file]
test/reference/gradient-zero-stops-mask.mask.argb32.ref.png [deleted file]
test/reference/gradient-zero-stops-mask.mask.rgb24.ref.png [deleted file]
test/reference/gradient-zero-stops-mask.rgb24.ref.png [deleted file]
test/reference/gradient-zero-stops-mask.traps.argb32.ref.png [deleted file]
test/reference/gradient-zero-stops-mask.traps.rgb24.ref.png [deleted file]
test/reference/gradient-zero-stops.argb32.ref.png [deleted file]
test/reference/gradient-zero-stops.base.argb32.ref.png [deleted file]
test/reference/gradient-zero-stops.base.rgb24.ref.png [deleted file]
test/reference/gradient-zero-stops.egl.argb32.ref.png [deleted file]
test/reference/gradient-zero-stops.mask.argb32.ref.png [deleted file]
test/reference/gradient-zero-stops.mask.rgb24.ref.png [deleted file]
test/reference/gradient-zero-stops.ref.png [deleted file]
test/reference/gradient-zero-stops.rgb24.ref.png [deleted file]
test/reference/gradient-zero-stops.traps.argb32.ref.png [deleted file]
test/reference/gradient-zero-stops.traps.rgb24.ref.png [deleted file]
test/reference/group-clip.argb32.ref.png [deleted file]
test/reference/group-clip.base.argb32.ref.png [deleted file]
test/reference/group-clip.base.rgb24.ref.png [deleted file]
test/reference/group-clip.egl.argb32.ref.png [deleted file]
test/reference/group-clip.image16.ref.png [deleted file]
test/reference/group-clip.mask.argb32.ref.png [deleted file]
test/reference/group-clip.mask.rgb24.ref.png [deleted file]
test/reference/group-clip.ref.png [deleted file]
test/reference/group-clip.rgb24.ref.png [deleted file]
test/reference/group-clip.traps.argb32.ref.png [deleted file]
test/reference/group-clip.traps.rgb24.ref.png [deleted file]
test/reference/group-paint.argb32.ref.png [deleted file]
test/reference/group-paint.base.argb32.ref.png [deleted file]
test/reference/group-paint.base.rgb24.ref.png [deleted file]
test/reference/group-paint.egl.argb32.ref.png [deleted file]
test/reference/group-paint.mask.argb32.ref.png [deleted file]
test/reference/group-paint.mask.rgb24.ref.png [deleted file]
test/reference/group-paint.ref.png [deleted file]
test/reference/group-paint.rgb24.ref.png [deleted file]
test/reference/group-paint.traps.argb32.ref.png [deleted file]
test/reference/group-paint.traps.rgb24.ref.png [deleted file]
test/reference/group-unaligned.argb32.ref.png [deleted file]
test/reference/group-unaligned.base.argb32.ref.png [deleted file]
test/reference/group-unaligned.base.rgb24.ref.png [deleted file]
test/reference/group-unaligned.egl.argb32.ref.png [deleted file]
test/reference/group-unaligned.image16.ref.png [deleted file]
test/reference/group-unaligned.mask.argb32.ref.png [deleted file]
test/reference/group-unaligned.mask.rgb24.ref.png [deleted file]
test/reference/group-unaligned.ps.ref.png [deleted file]
test/reference/group-unaligned.ps.rgb24.xfail.png [deleted file]
test/reference/group-unaligned.quartz.ref.png [deleted file]
test/reference/group-unaligned.ref.png [deleted file]
test/reference/group-unaligned.rgb24.ref.png [deleted file]
test/reference/group-unaligned.svg.argb32.xfail.png [deleted file]
test/reference/group-unaligned.svg.rgb24.xfail.png [deleted file]
test/reference/group-unaligned.traps.argb32.ref.png [deleted file]
test/reference/group-unaligned.traps.rgb24.ref.png [deleted file]
test/reference/group-unaligned.xlib-fallback.ref.png [deleted file]
test/reference/halo-transform.argb32.ref.png [deleted file]
test/reference/halo-transform.base.argb32.ref.png [deleted file]
test/reference/halo-transform.base.rgb24.ref.png [deleted file]
test/reference/halo-transform.image16.ref.png [deleted file]
test/reference/halo-transform.mask.argb32.ref.png [deleted file]
test/reference/halo-transform.mask.rgb24.ref.png [deleted file]
test/reference/halo-transform.ps.ref.png [deleted file]
test/reference/halo-transform.quartz.ref.png [deleted file]
test/reference/halo-transform.ref.png [deleted file]
test/reference/halo-transform.rgb24.ref.png [deleted file]
test/reference/halo-transform.traps.argb32.ref.png [deleted file]
test/reference/halo-transform.traps.ref.png [deleted file]
test/reference/halo-transform.traps.rgb24.ref.png [deleted file]
test/reference/halo.argb32.ref.png [deleted file]
test/reference/halo.base.argb32.ref.png [deleted file]
test/reference/halo.base.rgb24.ref.png [deleted file]
test/reference/halo.image16.ref.png [deleted file]
test/reference/halo.mask.argb32.ref.png [deleted file]
test/reference/halo.mask.rgb24.ref.png [deleted file]
test/reference/halo.ps.ref.png [deleted file]
test/reference/halo.quartz.ref.png [deleted file]
test/reference/halo.ref.png [deleted file]
test/reference/halo.rgb24.ref.png [deleted file]
test/reference/halo.traps.argb32.ref.png [deleted file]
test/reference/halo.traps.ref.png [deleted file]
test/reference/halo.traps.rgb24.ref.png [deleted file]
test/reference/hatchings.base.argb32.ref.png [deleted file]
test/reference/hatchings.base.rgb24.ref.png [deleted file]
test/reference/hatchings.egl.argb32.ref.png [deleted file]
test/reference/hatchings.mask.argb32.ref.png [deleted file]
test/reference/hatchings.mask.rgb24.ref.png [deleted file]
test/reference/hatchings.ref.png [deleted file]
test/reference/hatchings.traps.argb32.ref.png [deleted file]
test/reference/hatchings.traps.rgb24.ref.png [deleted file]
test/reference/horizontal-clip.argb32.ref.png [deleted file]
test/reference/horizontal-clip.base.argb32.ref.png [deleted file]
test/reference/horizontal-clip.base.rgb24.ref.png [deleted file]
test/reference/horizontal-clip.egl.argb32.ref.png [deleted file]
test/reference/horizontal-clip.mask.argb32.ref.png [deleted file]
test/reference/horizontal-clip.mask.rgb24.ref.png [deleted file]
test/reference/horizontal-clip.ref.png [deleted file]
test/reference/horizontal-clip.rgb24.ref.png [deleted file]
test/reference/horizontal-clip.traps.argb32.ref.png [deleted file]
test/reference/horizontal-clip.traps.rgb24.ref.png [deleted file]
test/reference/huge-linear.argb32.ref.png [deleted file]
test/reference/huge-linear.base.argb32.ref.png [deleted file]
test/reference/huge-linear.base.rgb24.ref.png [deleted file]
test/reference/huge-linear.egl.argb32.ref.png [deleted file]
test/reference/huge-linear.image16.ref.png [deleted file]
test/reference/huge-linear.mask.argb32.ref.png [deleted file]
test/reference/huge-linear.mask.rgb24.ref.png [deleted file]
test/reference/huge-linear.pdf.ref.png [deleted file]
test/reference/huge-linear.ps3.ref.png [deleted file]
test/reference/huge-linear.quartz.ref.png [deleted file]
test/reference/huge-linear.ref.png [deleted file]
test/reference/huge-linear.rgb24.ref.png [deleted file]
test/reference/huge-linear.traps.argb32.ref.png [deleted file]
test/reference/huge-linear.traps.rgb24.ref.png [deleted file]
test/reference/huge-radial.argb32.ref.png [deleted file]
test/reference/huge-radial.base.argb32.ref.png [deleted file]
test/reference/huge-radial.base.rgb24.ref.png [deleted file]
test/reference/huge-radial.egl.argb32.ref.png [deleted file]
test/reference/huge-radial.image16.ref.png [deleted file]
test/reference/huge-radial.mask.argb32.ref.png [deleted file]
test/reference/huge-radial.mask.rgb24.ref.png [deleted file]
test/reference/huge-radial.pdf.argb32.ref.png [deleted file]
test/reference/huge-radial.pdf.rgb24.ref.png [deleted file]
test/reference/huge-radial.ps3.ref.png [deleted file]
test/reference/huge-radial.quartz.ref.png [deleted file]
test/reference/huge-radial.ref.png [deleted file]
test/reference/huge-radial.rgb24.ref.png [deleted file]
test/reference/huge-radial.traps.argb32.ref.png [deleted file]
test/reference/huge-radial.traps.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-aligned.argb32.ref.png [deleted file]
test/reference/image-bug-710072-aligned.base.argb32.ref.png [deleted file]
test/reference/image-bug-710072-aligned.base.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-aligned.egl.argb32.ref.png [deleted file]
test/reference/image-bug-710072-aligned.mask.argb32.ref.png [deleted file]
test/reference/image-bug-710072-aligned.mask.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-aligned.ref.png [deleted file]
test/reference/image-bug-710072-aligned.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-aligned.traps.argb32.ref.png [deleted file]
test/reference/image-bug-710072-aligned.traps.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-aligned.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-aligned.xlib-window.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.argb32.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.base.argb32.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.base.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.egl.argb32.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.mask.argb32.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.mask.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.traps.argb32.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.traps.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/image-bug-710072-unaligned.xlib-window.rgb24.ref.png [deleted file]
test/reference/image-surface-source.argb32.ref.png [deleted file]
test/reference/image-surface-source.base.argb32.ref.png [deleted file]
test/reference/image-surface-source.base.rgb24.ref.png [deleted file]
test/reference/image-surface-source.egl.argb32.ref.png [deleted file]
test/reference/image-surface-source.image16.ref.png [deleted file]
test/reference/image-surface-source.mask.argb32.ref.png [deleted file]
test/reference/image-surface-source.mask.rgb24.ref.png [deleted file]
test/reference/image-surface-source.ps2.ref.png [deleted file]
test/reference/image-surface-source.ps3.ref.png [deleted file]
test/reference/image-surface-source.rgb24.ref.png [deleted file]
test/reference/image-surface-source.svg12.argb32.xfail.png [deleted file]
test/reference/image-surface-source.svg12.rgb24.xfail.png [deleted file]
test/reference/image-surface-source.traps.argb32.ref.png [deleted file]
test/reference/image-surface-source.traps.rgb24.ref.png [deleted file]
test/reference/image-surface-source.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/image-surface-source.xlib-window.rgb24.ref.png [deleted file]
test/reference/implicit-close.argb32.ref.png [deleted file]
test/reference/implicit-close.base.argb32.ref.png [deleted file]
test/reference/implicit-close.base.rgb24.ref.png [deleted file]
test/reference/implicit-close.egl.argb32.ref.png [deleted file]
test/reference/implicit-close.mask.argb32.ref.png [deleted file]
test/reference/implicit-close.mask.rgb24.ref.png [deleted file]
test/reference/implicit-close.ps.ref.png [deleted file]
test/reference/implicit-close.ref.png [deleted file]
test/reference/implicit-close.rgb24.ref.png [deleted file]
test/reference/implicit-close.traps.argb32.ref.png [deleted file]
test/reference/implicit-close.traps.rgb24.ref.png [deleted file]
test/reference/infinite-join.argb32.ref.png [deleted file]
test/reference/infinite-join.base.argb32.ref.png [deleted file]
test/reference/infinite-join.base.rgb24.ref.png [deleted file]
test/reference/infinite-join.egl.argb32.ref.png [deleted file]
test/reference/infinite-join.mask.argb32.ref.png [deleted file]
test/reference/infinite-join.mask.rgb24.ref.png [deleted file]
test/reference/infinite-join.ps2.ref.png [deleted file]
test/reference/infinite-join.ps3.ref.png [deleted file]
test/reference/infinite-join.ref.png [deleted file]
test/reference/infinite-join.rgb24.ref.png [deleted file]
test/reference/infinite-join.traps.argb32.ref.png [deleted file]
test/reference/infinite-join.traps.rgb24.ref.png [deleted file]
test/reference/inverse-text.base.argb32.ref.png [deleted file]
test/reference/inverse-text.base.rgb24.ref.png [deleted file]
test/reference/inverse-text.image16.ref.png [deleted file]
test/reference/inverse-text.mask.argb32.ref.png [deleted file]
test/reference/inverse-text.mask.rgb24.ref.png [deleted file]
test/reference/inverse-text.ps.ref.png [deleted file]
test/reference/inverse-text.quartz.ref.png [deleted file]
test/reference/inverse-text.ref.png [deleted file]
test/reference/inverse-text.traps.argb32.ref.png [deleted file]
test/reference/inverse-text.traps.ref.png [deleted file]
test/reference/inverse-text.traps.rgb24.ref.png [deleted file]
test/reference/inverted-clip.base.xfail.png [deleted file]
test/reference/inverted-clip.traps.xfail.png [deleted file]
test/reference/inverted-clip.xfail.png [deleted file]
test/reference/joins-loop.argb32.ref.png [deleted file]
test/reference/joins-loop.base.argb32.ref.png [deleted file]
test/reference/joins-loop.base.rgb24.ref.png [deleted file]
test/reference/joins-loop.egl.argb32.ref.png [deleted file]
test/reference/joins-loop.mask.argb32.ref.png [deleted file]
test/reference/joins-loop.mask.rgb24.ref.png [deleted file]
test/reference/joins-loop.ref.png [deleted file]
test/reference/joins-loop.rgb24.ref.png [deleted file]
test/reference/joins-loop.traps.argb32.ref.png [deleted file]
test/reference/joins-loop.traps.rgb24.ref.png [deleted file]
test/reference/joins-retrace.argb32.ref.png [deleted file]
test/reference/joins-retrace.base.argb32.ref.png [deleted file]
test/reference/joins-retrace.base.rgb24.ref.png [deleted file]
test/reference/joins-retrace.egl.argb32.ref.png [deleted file]
test/reference/joins-retrace.mask.argb32.ref.png [deleted file]
test/reference/joins-retrace.mask.rgb24.ref.png [deleted file]
test/reference/joins-retrace.ref.png [deleted file]
test/reference/joins-retrace.rgb24.ref.png [deleted file]
test/reference/joins-retrace.traps.argb32.ref.png [deleted file]
test/reference/joins-retrace.traps.rgb24.ref.png [deleted file]
test/reference/joins-star.argb32.ref.png [deleted file]
test/reference/joins-star.base.argb32.ref.png [deleted file]
test/reference/joins-star.base.rgb24.ref.png [deleted file]
test/reference/joins-star.egl.argb32.ref.png [deleted file]
test/reference/joins-star.mask.argb32.ref.png [deleted file]
test/reference/joins-star.mask.rgb24.ref.png [deleted file]
test/reference/joins-star.ref.png [deleted file]
test/reference/joins-star.rgb24.ref.png [deleted file]
test/reference/joins-star.traps.argb32.ref.png [deleted file]
test/reference/joins-star.traps.rgb24.ref.png [deleted file]
test/reference/joins.argb32.ref.png [deleted file]
test/reference/joins.base.argb32.ref.png [deleted file]
test/reference/joins.base.rgb24.ref.png [deleted file]
test/reference/joins.egl.argb32.ref.png [deleted file]
test/reference/joins.image16.ref.png [deleted file]
test/reference/joins.mask.argb32.ref.png [deleted file]
test/reference/joins.mask.rgb24.ref.png [deleted file]
test/reference/joins.ps.ref.png [deleted file]
test/reference/joins.quartz.ref.png [deleted file]
test/reference/joins.ref.png [deleted file]
test/reference/joins.rgb24.ref.png [deleted file]
test/reference/joins.traps.argb32.ref.png [deleted file]
test/reference/joins.traps.rgb24.ref.png [deleted file]
test/reference/large-clip.argb32.ref.png [deleted file]
test/reference/large-clip.base.argb32.ref.png [deleted file]
test/reference/large-clip.base.rgb24.ref.png [deleted file]
test/reference/large-clip.egl.argb32.ref.png [deleted file]
test/reference/large-clip.mask.argb32.ref.png [deleted file]
test/reference/large-clip.mask.rgb24.ref.png [deleted file]
test/reference/large-clip.ref.png [deleted file]
test/reference/large-clip.rgb24.ref.png [deleted file]
test/reference/large-clip.traps.argb32.ref.png [deleted file]
test/reference/large-clip.traps.rgb24.ref.png [deleted file]
test/reference/large-font.argb32.ref.png [deleted file]
test/reference/large-font.base.argb32.ref.png [deleted file]
test/reference/large-font.base.rgb24.ref.png [deleted file]
test/reference/large-font.egl.argb32.ref.png [deleted file]
test/reference/large-font.image16.ref.png [deleted file]
test/reference/large-font.mask.argb32.ref.png [deleted file]
test/reference/large-font.mask.rgb24.ref.png [deleted file]
test/reference/large-font.ref.png [deleted file]
test/reference/large-font.rgb24.ref.png [deleted file]
test/reference/large-font.traps.argb32.ref.png [deleted file]
test/reference/large-font.traps.rgb24.ref.png [deleted file]
test/reference/large-source-roi.argb32.ref.png [deleted file]
test/reference/large-source-roi.base.argb32.ref.png [deleted file]
test/reference/large-source-roi.base.rgb24.ref.png [deleted file]
test/reference/large-source-roi.egl.argb32.ref.png [deleted file]
test/reference/large-source-roi.mask.argb32.ref.png [deleted file]
test/reference/large-source-roi.mask.rgb24.ref.png [deleted file]
test/reference/large-source-roi.ref.png [deleted file]
test/reference/large-source-roi.rgb24.ref.png [deleted file]
test/reference/large-source-roi.traps.argb32.ref.png [deleted file]
test/reference/large-source-roi.traps.rgb24.ref.png [deleted file]
test/reference/large-source.argb32.ref.png [deleted file]
test/reference/large-source.base.argb32.ref.png [deleted file]
test/reference/large-source.base.rgb24.ref.png [deleted file]
test/reference/large-source.egl.argb32.ref.png [deleted file]
test/reference/large-source.mask.argb32.ref.png [deleted file]
test/reference/large-source.mask.rgb24.ref.png [deleted file]
test/reference/large-source.ref.png [deleted file]
test/reference/large-source.rgb24.ref.png [deleted file]
test/reference/large-source.traps.argb32.ref.png [deleted file]
test/reference/large-source.traps.rgb24.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.argb32.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.base.argb32.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.base.rgb24.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.egl.argb32.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.image16.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.mask.argb32.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.mask.rgb24.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.rgb24.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.traps.argb32.ref.png [deleted file]
test/reference/large-twin-antialias-mixed.traps.rgb24.ref.png [deleted file]
test/reference/leaky-dash.argb32.ref.png [deleted file]
test/reference/leaky-dash.base.argb32.ref.png [deleted file]
test/reference/leaky-dash.base.rgb24.ref.png [deleted file]
test/reference/leaky-dash.egl.argb32.ref.png [deleted file]
test/reference/leaky-dash.mask.argb32.ref.png [deleted file]
test/reference/leaky-dash.mask.rgb24.ref.png [deleted file]
test/reference/leaky-dash.ps2.argb32.ref.png [deleted file]
test/reference/leaky-dash.ps2.rgb24.ref.png [deleted file]
test/reference/leaky-dash.ps3.argb32.ref.png [deleted file]
test/reference/leaky-dash.ps3.rgb24.ref.png [deleted file]
test/reference/leaky-dash.quartz.ref.png [deleted file]
test/reference/leaky-dash.ref.png [deleted file]
test/reference/leaky-dash.rgb24.ref.png [deleted file]
test/reference/leaky-dash.traps.argb32.ref.png [deleted file]
test/reference/leaky-dash.traps.rgb24.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.argb32.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.base.argb32.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.base.rgb24.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.egl.argb32.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.image16.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.mask.argb32.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.mask.rgb24.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.pdf.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.ps.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.quartz.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.rgb24.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.traps.argb32.ref.png [deleted file]
test/reference/leaky-dashed-rectangle.traps.rgb24.ref.png [deleted file]
test/reference/leaky-dashed-stroke.argb32.ref.png [deleted file]
test/reference/leaky-dashed-stroke.base.argb32.ref.png [deleted file]
test/reference/leaky-dashed-stroke.base.rgb24.ref.png [deleted file]
test/reference/leaky-dashed-stroke.egl.argb32.ref.png [deleted file]
test/reference/leaky-dashed-stroke.image16.ref.png [deleted file]
test/reference/leaky-dashed-stroke.mask.argb32.ref.png [deleted file]
test/reference/leaky-dashed-stroke.mask.rgb24.ref.png [deleted file]
test/reference/leaky-dashed-stroke.ps.ref.png [deleted file]
test/reference/leaky-dashed-stroke.quartz.ref.png [deleted file]
test/reference/leaky-dashed-stroke.ref.png [deleted file]
test/reference/leaky-dashed-stroke.rgb24.ref.png [deleted file]
test/reference/leaky-dashed-stroke.traps.argb32.ref.png [deleted file]
test/reference/leaky-dashed-stroke.traps.rgb24.ref.png [deleted file]
test/reference/leaky-polygon.argb32.ref.png [deleted file]
test/reference/leaky-polygon.base.argb32.ref.png [deleted file]
test/reference/leaky-polygon.base.rgb24.ref.png [deleted file]
test/reference/leaky-polygon.egl.argb32.ref.png [deleted file]
test/reference/leaky-polygon.image16.ref.png [deleted file]
test/reference/leaky-polygon.mask.argb32.ref.png [deleted file]
test/reference/leaky-polygon.mask.rgb24.ref.png [deleted file]
test/reference/leaky-polygon.ps.ref.png [deleted file]
test/reference/leaky-polygon.ref.png [deleted file]
test/reference/leaky-polygon.rgb24.ref.png [deleted file]
test/reference/leaky-polygon.traps.argb32.ref.png [deleted file]
test/reference/leaky-polygon.traps.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-dashed.base.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-dashed.base.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-dashed.egl.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-dashed.mask.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-dashed.mask.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-dashed.ref.png [deleted file]
test/reference/line-width-large-overlap-dashed.traps.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-dashed.traps.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-dashed.xfail.png [deleted file]
test/reference/line-width-large-overlap-flipped.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-flipped.base.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-flipped.base.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-flipped.egl.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-flipped.mask.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-flipped.mask.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-flipped.ref.png [deleted file]
test/reference/line-width-large-overlap-flipped.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-flipped.traps.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-flipped.traps.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-flopped.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-flopped.base.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-flopped.base.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-flopped.egl.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-flopped.mask.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-flopped.mask.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-flopped.ref.png [deleted file]
test/reference/line-width-large-overlap-flopped.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-flopped.traps.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-flopped.traps.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-offset.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-offset.base.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-offset.base.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-offset.egl.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-offset.mask.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-offset.mask.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-offset.ref.png [deleted file]
test/reference/line-width-large-overlap-offset.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-offset.traps.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-offset.traps.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.base.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.base.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.base.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.egl.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.mask.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.mask.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.traps.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.traps.ref.png [deleted file]
test/reference/line-width-large-overlap-rotated.traps.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap.base.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap.base.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap.egl.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap.mask.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap.mask.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap.ref.png [deleted file]
test/reference/line-width-large-overlap.rgb24.ref.png [deleted file]
test/reference/line-width-large-overlap.traps.argb32.ref.png [deleted file]
test/reference/line-width-large-overlap.traps.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-dashed.base.argb32.ref.png [deleted file]
test/reference/line-width-overlap-dashed.base.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-dashed.egl.argb32.ref.png [deleted file]
test/reference/line-width-overlap-dashed.mask.argb32.ref.png [deleted file]
test/reference/line-width-overlap-dashed.mask.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-dashed.ref.png [deleted file]
test/reference/line-width-overlap-dashed.traps.argb32.ref.png [deleted file]
test/reference/line-width-overlap-dashed.traps.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-flipped.argb32.ref.png [deleted file]
test/reference/line-width-overlap-flipped.base.argb32.ref.png [deleted file]
test/reference/line-width-overlap-flipped.base.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-flipped.egl.argb32.ref.png [deleted file]
test/reference/line-width-overlap-flipped.mask.argb32.ref.png [deleted file]
test/reference/line-width-overlap-flipped.mask.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-flipped.ref.png [deleted file]
test/reference/line-width-overlap-flipped.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-flipped.traps.argb32.ref.png [deleted file]
test/reference/line-width-overlap-flipped.traps.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-flopped.argb32.ref.png [deleted file]
test/reference/line-width-overlap-flopped.base.argb32.ref.png [deleted file]
test/reference/line-width-overlap-flopped.base.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-flopped.egl.argb32.ref.png [deleted file]
test/reference/line-width-overlap-flopped.mask.argb32.ref.png [deleted file]
test/reference/line-width-overlap-flopped.mask.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-flopped.ref.png [deleted file]
test/reference/line-width-overlap-flopped.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-flopped.traps.argb32.ref.png [deleted file]
test/reference/line-width-overlap-flopped.traps.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-offset.argb32.ref.png [deleted file]
test/reference/line-width-overlap-offset.base.argb32.ref.png [deleted file]
test/reference/line-width-overlap-offset.base.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-offset.egl.argb32.ref.png [deleted file]
test/reference/line-width-overlap-offset.mask.argb32.ref.png [deleted file]
test/reference/line-width-overlap-offset.mask.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-offset.ref.png [deleted file]
test/reference/line-width-overlap-offset.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-offset.traps.argb32.ref.png [deleted file]
test/reference/line-width-overlap-offset.traps.ref.png [deleted file]
test/reference/line-width-overlap-offset.traps.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-rotated.argb32.ref.png [deleted file]
test/reference/line-width-overlap-rotated.base.argb32.ref.png [deleted file]
test/reference/line-width-overlap-rotated.base.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-rotated.egl.argb32.ref.png [deleted file]
test/reference/line-width-overlap-rotated.mask.argb32.ref.png [deleted file]
test/reference/line-width-overlap-rotated.mask.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-rotated.ref.png [deleted file]
test/reference/line-width-overlap-rotated.rgb24.ref.png [deleted file]
test/reference/line-width-overlap-rotated.traps.argb32.ref.png [deleted file]
test/reference/line-width-overlap-rotated.traps.rgb24.ref.png [deleted file]
test/reference/line-width-overlap.argb32.ref.png [deleted file]
test/reference/line-width-overlap.base.argb32.ref.png [deleted file]
test/reference/line-width-overlap.base.rgb24.ref.png [deleted file]
test/reference/line-width-overlap.egl.argb32.ref.png [deleted file]
test/reference/line-width-overlap.mask.argb32.ref.png [deleted file]
test/reference/line-width-overlap.mask.rgb24.ref.png [deleted file]
test/reference/line-width-overlap.ref.png [deleted file]
test/reference/line-width-overlap.rgb24.ref.png [deleted file]
test/reference/line-width-overlap.traps.argb32.ref.png [deleted file]
test/reference/line-width-overlap.traps.rgb24.ref.png [deleted file]
test/reference/line-width-scale.argb32.ref.png [deleted file]
test/reference/line-width-scale.base.argb32.ref.png [deleted file]
test/reference/line-width-scale.base.rgb24.ref.png [deleted file]
test/reference/line-width-scale.egl.argb32.ref.png [deleted file]
test/reference/line-width-scale.image16.ref.png [deleted file]
test/reference/line-width-scale.mask.argb32.ref.png [deleted file]
test/reference/line-width-scale.mask.rgb24.ref.png [deleted file]
test/reference/line-width-scale.ps2.ref.png [deleted file]
test/reference/line-width-scale.ps3.ref.png [deleted file]
test/reference/line-width-scale.quartz.ref.png [deleted file]
test/reference/line-width-scale.ref.png [deleted file]
test/reference/line-width-scale.rgb24.ref.png [deleted file]
test/reference/line-width-scale.traps.argb32.ref.png [deleted file]
test/reference/line-width-scale.traps.rgb24.ref.png [deleted file]
test/reference/line-width-tolerance.argb32.ref.png [deleted file]
test/reference/line-width-tolerance.base.argb32.ref.png [deleted file]
test/reference/line-width-tolerance.base.rgb24.ref.png [deleted file]
test/reference/line-width-tolerance.egl.argb32.ref.png [deleted file]
test/reference/line-width-tolerance.mask.argb32.ref.png [deleted file]
test/reference/line-width-tolerance.mask.rgb24.ref.png [deleted file]
test/reference/line-width-tolerance.ref.png [deleted file]
test/reference/line-width-tolerance.rgb24.ref.png [deleted file]
test/reference/line-width-tolerance.traps.argb32.ref.png [deleted file]
test/reference/line-width-tolerance.traps.rgb24.ref.png [deleted file]
test/reference/line-width.argb32.ref.png [deleted file]
test/reference/line-width.base.argb32.ref.png [deleted file]
test/reference/line-width.base.rgb24.ref.png [deleted file]
test/reference/line-width.egl.argb32.ref.png [deleted file]
test/reference/line-width.mask.argb32.ref.png [deleted file]
test/reference/line-width.mask.rgb24.ref.png [deleted file]
test/reference/line-width.ref.png [deleted file]
test/reference/line-width.rgb24.ref.png [deleted file]
test/reference/line-width.traps.argb32.ref.png [deleted file]
test/reference/line-width.traps.rgb24.ref.png [deleted file]
test/reference/linear-gradient-extend.argb32.ref.png [deleted file]
test/reference/linear-gradient-extend.base.argb32.ref.png [deleted file]
test/reference/linear-gradient-extend.base.rgb24.ref.png [deleted file]
test/reference/linear-gradient-extend.egl.argb32.ref.png [deleted file]
test/reference/linear-gradient-extend.mask.argb32.ref.png [deleted file]
test/reference/linear-gradient-extend.mask.rgb24.ref.png [deleted file]
test/reference/linear-gradient-extend.ref.png [deleted file]
test/reference/linear-gradient-extend.rgb24.ref.png [deleted file]
test/reference/linear-gradient-extend.traps.argb32.ref.png [deleted file]
test/reference/linear-gradient-extend.traps.rgb24.ref.png [deleted file]
test/reference/linear-gradient-large.argb32.ref.png [deleted file]
test/reference/linear-gradient-large.base.argb32.ref.png [deleted file]
test/reference/linear-gradient-large.base.rgb24.ref.png [deleted file]
test/reference/linear-gradient-large.egl.argb32.ref.png [deleted file]
test/reference/linear-gradient-large.mask.argb32.ref.png [deleted file]
test/reference/linear-gradient-large.mask.rgb24.ref.png [deleted file]
test/reference/linear-gradient-large.quartz.ref.png [deleted file]
test/reference/linear-gradient-large.ref.png [deleted file]
test/reference/linear-gradient-large.rgb24.ref.png [deleted file]
test/reference/linear-gradient-large.traps.argb32.ref.png [deleted file]
test/reference/linear-gradient-large.traps.rgb24.ref.png [deleted file]
test/reference/linear-gradient-one-stop.argb32.ref.png [deleted file]
test/reference/linear-gradient-one-stop.base.argb32.ref.png [deleted file]
test/reference/linear-gradient-one-stop.base.rgb24.ref.png [deleted file]
test/reference/linear-gradient-one-stop.egl.argb32.ref.png [deleted file]
test/reference/linear-gradient-one-stop.mask.argb32.ref.png [deleted file]
test/reference/linear-gradient-one-stop.mask.rgb24.ref.png [deleted file]
test/reference/linear-gradient-one-stop.rgb24.ref.png [deleted file]
test/reference/linear-gradient-one-stop.traps.argb32.ref.png [deleted file]
test/reference/linear-gradient-one-stop.traps.rgb24.ref.png [deleted file]
test/reference/linear-gradient-reflect.argb32.ref.png [deleted file]
test/reference/linear-gradient-reflect.base.argb32.ref.png [deleted file]
test/reference/linear-gradient-reflect.base.rgb24.ref.png [deleted file]
test/reference/linear-gradient-reflect.egl.argb32.ref.png [deleted file]
test/reference/linear-gradient-reflect.image16.ref.png [deleted file]
test/reference/linear-gradient-reflect.mask.argb32.ref.png [deleted file]
test/reference/linear-gradient-reflect.mask.rgb24.ref.png [deleted file]
test/reference/linear-gradient-reflect.pdf.argb32.ref.png [deleted file]
test/reference/linear-gradient-reflect.pdf.rgb24.ref.png [deleted file]
test/reference/linear-gradient-reflect.ps3.ref.png [deleted file]
test/reference/linear-gradient-reflect.quartz.ref.png [deleted file]
test/reference/linear-gradient-reflect.ref.png [deleted file]
test/reference/linear-gradient-reflect.rgb24.ref.png [deleted file]
test/reference/linear-gradient-reflect.traps.argb32.ref.png [deleted file]
test/reference/linear-gradient-reflect.traps.rgb24.ref.png [deleted file]
test/reference/linear-gradient-subset.argb32.ref.png [deleted file]
test/reference/linear-gradient-subset.base.argb32.ref.png [deleted file]
test/reference/linear-gradient-subset.base.rgb24.ref.png [deleted file]
test/reference/linear-gradient-subset.egl.argb32.ref.png [deleted file]
test/reference/linear-gradient-subset.image16.ref.png [deleted file]
test/reference/linear-gradient-subset.mask.argb32.ref.png [deleted file]
test/reference/linear-gradient-subset.mask.rgb24.ref.png [deleted file]
test/reference/linear-gradient-subset.ps3.ref.png [deleted file]
test/reference/linear-gradient-subset.quartz.ref.png [deleted file]
test/reference/linear-gradient-subset.ref.png [deleted file]
test/reference/linear-gradient-subset.rgb24.ref.png [deleted file]
test/reference/linear-gradient-subset.traps.argb32.ref.png [deleted file]
test/reference/linear-gradient-subset.traps.rgb24.ref.png [deleted file]
test/reference/linear-gradient.argb32.ref.png [deleted file]
test/reference/linear-gradient.base.argb32.ref.png [deleted file]
test/reference/linear-gradient.base.rgb24.ref.png [deleted file]
test/reference/linear-gradient.egl.argb32.ref.png [deleted file]
test/reference/linear-gradient.image16.ref.png [deleted file]
test/reference/linear-gradient.mask.argb32.ref.png [deleted file]
test/reference/linear-gradient.mask.rgb24.ref.png [deleted file]
test/reference/linear-gradient.ps3.ref.png [deleted file]
test/reference/linear-gradient.quartz.ref.png [deleted file]
test/reference/linear-gradient.ref.png [deleted file]
test/reference/linear-gradient.rgb24.ref.png [deleted file]
test/reference/linear-gradient.traps.argb32.ref.png [deleted file]
test/reference/linear-gradient.traps.rgb24.ref.png [deleted file]
test/reference/linear-step-function.base.argb32.ref.png [deleted file]
test/reference/linear-step-function.base.rgb24.ref.png [deleted file]
test/reference/linear-step-function.egl.argb32.ref.png [deleted file]
test/reference/linear-step-function.mask.argb32.ref.png [deleted file]
test/reference/linear-step-function.mask.rgb24.ref.png [deleted file]
test/reference/linear-step-function.traps.argb32.ref.png [deleted file]
test/reference/linear-step-function.traps.rgb24.ref.png [deleted file]
test/reference/linear-step-function.xfail.png [deleted file]
test/reference/linear-uniform.argb32.ref.png [deleted file]
test/reference/linear-uniform.base.argb32.ref.png [deleted file]
test/reference/linear-uniform.base.rgb24.ref.png [deleted file]
test/reference/linear-uniform.egl.argb32.ref.png [deleted file]
test/reference/linear-uniform.image16.ref.png [deleted file]
test/reference/linear-uniform.mask.argb32.ref.png [deleted file]
test/reference/linear-uniform.mask.rgb24.ref.png [deleted file]
test/reference/linear-uniform.ref.png [deleted file]
test/reference/linear-uniform.rgb24.ref.png [deleted file]
test/reference/linear-uniform.traps.argb32.ref.png [deleted file]
test/reference/linear-uniform.traps.rgb24.ref.png [deleted file]
test/reference/long-dashed-lines.argb32.ref.png [deleted file]
test/reference/long-dashed-lines.base.argb32.ref.png [deleted file]
test/reference/long-dashed-lines.base.rgb24.ref.png [deleted file]
test/reference/long-dashed-lines.egl.argb32.ref.png [deleted file]
test/reference/long-dashed-lines.image16.ref.png [deleted file]
test/reference/long-dashed-lines.mask.argb32.ref.png [deleted file]
test/reference/long-dashed-lines.mask.rgb24.ref.png [deleted file]
test/reference/long-dashed-lines.ps2.ref.png [deleted file]
test/reference/long-dashed-lines.ps3.ref.png [deleted file]
test/reference/long-dashed-lines.quartz.ref.png [deleted file]
test/reference/long-dashed-lines.ref.png [deleted file]
test/reference/long-dashed-lines.rgb24.ref.png [deleted file]
test/reference/long-dashed-lines.traps.argb32.ref.png [deleted file]
test/reference/long-dashed-lines.traps.rgb24.ref.png [deleted file]
test/reference/long-lines.base.argb32.ref.png [deleted file]
test/reference/long-lines.base.rgb24.ref.png [deleted file]
test/reference/long-lines.egl.argb32.ref.png [deleted file]
test/reference/long-lines.mask.argb32.ref.png [deleted file]
test/reference/long-lines.mask.rgb24.ref.png [deleted file]
test/reference/long-lines.traps.argb32.ref.png [deleted file]
test/reference/long-lines.traps.rgb24.ref.png [deleted file]
test/reference/map-all-to-image.argb32.ref.png [deleted file]
test/reference/map-all-to-image.base.argb32.ref.png [deleted file]
test/reference/map-all-to-image.base.rgb24.ref.png [deleted file]
test/reference/map-all-to-image.mask.argb32.ref.png [deleted file]
test/reference/map-all-to-image.mask.rgb24.ref.png [deleted file]
test/reference/map-all-to-image.ref.png [deleted file]
test/reference/map-all-to-image.rgb24.ref.png [deleted file]
test/reference/map-all-to-image.traps.argb32.ref.png [deleted file]
test/reference/map-all-to-image.traps.rgb24.ref.png [deleted file]
test/reference/map-all-to-xlib-fallback.rgb24.ref.png [deleted file]
test/reference/map-all-to-xlib-window.rgb24.ref.png [deleted file]
test/reference/map-all-to-xlib.argb32.ref.png [deleted file]
test/reference/map-all-to-xlib.rgb24.ref.png [deleted file]
test/reference/map-bit-to-image.argb32.ref.png [deleted file]
test/reference/map-bit-to-image.base.argb32.ref.png [deleted file]
test/reference/map-bit-to-image.base.rgb24.ref.png [deleted file]
test/reference/map-bit-to-image.mask.argb32.ref.png [deleted file]
test/reference/map-bit-to-image.mask.rgb24.ref.png [deleted file]
test/reference/map-bit-to-image.ref.png [deleted file]
test/reference/map-bit-to-image.rgb24.ref.png [deleted file]
test/reference/map-bit-to-image.traps.argb32.ref.png [deleted file]
test/reference/map-bit-to-image.traps.rgb24.ref.png [deleted file]
test/reference/map-bit-to-xlib-fallback.rgb24.ref.png [deleted file]
test/reference/map-bit-to-xlib-window.rgb24.ref.png [deleted file]
test/reference/map-bit-to-xlib.argb32.ref.png [deleted file]
test/reference/map-bit-to-xlib.rgb24.ref.png [deleted file]
test/reference/map-to-image-fill.argb32.ref.png [deleted file]
test/reference/map-to-image-fill.base.argb32.ref.png [deleted file]
test/reference/map-to-image-fill.base.rgb24.ref.png [deleted file]
test/reference/map-to-image-fill.egl.argb32.ref.png [deleted file]
test/reference/map-to-image-fill.mask.argb32.ref.png [deleted file]
test/reference/map-to-image-fill.mask.rgb24.ref.png [deleted file]
test/reference/map-to-image-fill.ref.png [deleted file]
test/reference/map-to-image-fill.rgb24.ref.png [deleted file]
test/reference/map-to-image-fill.traps.argb32.ref.png [deleted file]
test/reference/map-to-image-fill.traps.rgb24.ref.png [deleted file]
test/reference/map-to-image-fill.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/map-to-image-fill.xlib-window.rgb24.ref.png [deleted file]
test/reference/mask-alpha.argb32.ref.png [deleted file]
test/reference/mask-alpha.base.argb32.ref.png [deleted file]
test/reference/mask-alpha.base.rgb24.ref.png [deleted file]
test/reference/mask-alpha.egl.argb32.ref.png [deleted file]
test/reference/mask-alpha.image16.ref.png [deleted file]
test/reference/mask-alpha.mask.argb32.ref.png [deleted file]
test/reference/mask-alpha.mask.rgb24.ref.png [deleted file]
test/reference/mask-alpha.ps.ref.png [deleted file]
test/reference/mask-alpha.quartz.argb32.ref.png [deleted file]
test/reference/mask-alpha.rgb24.ref.png [deleted file]
test/reference/mask-alpha.svg.rgb24.xfail.png [deleted file]
test/reference/mask-alpha.traps.argb32.ref.png [deleted file]
test/reference/mask-alpha.traps.rgb24.ref.png [deleted file]
test/reference/mask-ctm.argb32.ref.png [deleted file]
test/reference/mask-ctm.base.argb32.ref.png [deleted file]
test/reference/mask-ctm.base.rgb24.ref.png [deleted file]
test/reference/mask-ctm.egl.argb32.ref.png [deleted file]
test/reference/mask-ctm.mask.argb32.ref.png [deleted file]
test/reference/mask-ctm.mask.rgb24.ref.png [deleted file]
test/reference/mask-ctm.ref.png [deleted file]
test/reference/mask-ctm.rgb24.ref.png [deleted file]
test/reference/mask-ctm.traps.argb32.ref.png [deleted file]
test/reference/mask-ctm.traps.rgb24.ref.png [deleted file]
test/reference/mask-glyphs.gl.ref.png [deleted file]
test/reference/mask-glyphs.image16.ref.png [deleted file]
test/reference/mask-glyphs.pdf.ref.png [deleted file]
test/reference/mask-glyphs.ref.png [deleted file]
test/reference/mask-glyphs.svg.ref.png [deleted file]
test/reference/mask-surface-ctm.argb32.ref.png [deleted file]
test/reference/mask-surface-ctm.base.argb32.ref.png [deleted file]
test/reference/mask-surface-ctm.base.rgb24.ref.png [deleted file]
test/reference/mask-surface-ctm.egl.argb32.ref.png [deleted file]
test/reference/mask-surface-ctm.mask.argb32.ref.png [deleted file]
test/reference/mask-surface-ctm.mask.rgb24.ref.png [deleted file]
test/reference/mask-surface-ctm.ref.png [deleted file]
test/reference/mask-surface-ctm.rgb24.ref.png [deleted file]
test/reference/mask-surface-ctm.traps.argb32.ref.png [deleted file]
test/reference/mask-surface-ctm.traps.rgb24.ref.png [deleted file]
test/reference/mask-transformed-image.argb32.ref.png [deleted file]
test/reference/mask-transformed-image.base.argb32.ref.png [deleted file]
test/reference/mask-transformed-image.base.rgb24.ref.png [deleted file]
test/reference/mask-transformed-image.egl.argb32.ref.png [deleted file]
test/reference/mask-transformed-image.image16.ref.png [deleted file]
test/reference/mask-transformed-image.mask.argb32.ref.png [deleted file]
test/reference/mask-transformed-image.mask.rgb24.ref.png [deleted file]
test/reference/mask-transformed-image.pdf.ref.png [deleted file]
test/reference/mask-transformed-image.quartz.ref.png [deleted file]
test/reference/mask-transformed-image.ref.png [deleted file]
test/reference/mask-transformed-image.rgb24.ref.png [deleted file]
test/reference/mask-transformed-image.traps.argb32.ref.png [deleted file]
test/reference/mask-transformed-image.traps.rgb24.ref.png [deleted file]
test/reference/mask-transformed-similar.argb32.ref.png [deleted file]
test/reference/mask-transformed-similar.base.argb32.ref.png [deleted file]
test/reference/mask-transformed-similar.base.rgb24.ref.png [deleted file]
test/reference/mask-transformed-similar.egl.argb32.ref.png [deleted file]
test/reference/mask-transformed-similar.image16.ref.png [deleted file]
test/reference/mask-transformed-similar.mask.argb32.ref.png [deleted file]
test/reference/mask-transformed-similar.mask.rgb24.ref.png [deleted file]
test/reference/mask-transformed-similar.pdf.ref.png [deleted file]
test/reference/mask-transformed-similar.quartz.ref.png [deleted file]
test/reference/mask-transformed-similar.recording.ref.png [deleted file]
test/reference/mask-transformed-similar.ref.png [deleted file]
test/reference/mask-transformed-similar.rgb24.ref.png [deleted file]
test/reference/mask-transformed-similar.svg.ref.png [deleted file]
test/reference/mask-transformed-similar.traps.argb32.ref.png [deleted file]
test/reference/mask-transformed-similar.traps.rgb24.ref.png [deleted file]
test/reference/mask-transformed-xlib-fallback.rgb24.ref.png [deleted file]
test/reference/mask-transformed-xlib-window.rgb24.ref.png [deleted file]
test/reference/mask-transformed-xlib.argb32.ref.png [deleted file]
test/reference/mask-transformed-xlib.rgb24.ref.png [deleted file]
test/reference/mask.argb32.ref.png [deleted file]
test/reference/mask.base.argb32.ref.png [deleted file]
test/reference/mask.base.rgb24.ref.png [deleted file]
test/reference/mask.egl.argb32.ref.png [deleted file]
test/reference/mask.image16.ref.png [deleted file]
test/reference/mask.mask.argb32.ref.png [deleted file]
test/reference/mask.mask.rgb24.ref.png [deleted file]
test/reference/mask.pdf.argb32.ref.png [deleted file]
test/reference/mask.pdf.rgb24.ref.png [deleted file]
test/reference/mask.quartz.argb32.ref.png [deleted file]
test/reference/mask.quartz.rgb24.ref.png [deleted file]
test/reference/mask.rgb24.ref.png [deleted file]
test/reference/mask.svg.argb32.xfail.png [deleted file]
test/reference/mask.svg.rgb24.xfail.png [deleted file]
test/reference/mask.traps.argb32.ref.png [deleted file]
test/reference/mask.traps.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.argb32.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.base.argb32.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.base.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.egl.argb32.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.image16.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.mask.argb32.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.mask.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.traps.argb32.ref.png [deleted file]
test/reference/mesh-pattern-accuracy.traps.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-conical.argb32.ref.png [deleted file]
test/reference/mesh-pattern-conical.base.argb32.ref.png [deleted file]
test/reference/mesh-pattern-conical.base.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-conical.egl.argb32.ref.png [deleted file]
test/reference/mesh-pattern-conical.image16.ref.png [deleted file]
test/reference/mesh-pattern-conical.mask.argb32.ref.png [deleted file]
test/reference/mesh-pattern-conical.mask.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-conical.ref.png [deleted file]
test/reference/mesh-pattern-conical.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-conical.traps.argb32.ref.png [deleted file]
test/reference/mesh-pattern-conical.traps.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-control-points.argb32.ref.png [deleted file]
test/reference/mesh-pattern-control-points.base.argb32.ref.png [deleted file]
test/reference/mesh-pattern-control-points.base.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-control-points.egl.argb32.ref.png [deleted file]
test/reference/mesh-pattern-control-points.image16.ref.png [deleted file]
test/reference/mesh-pattern-control-points.mask.argb32.ref.png [deleted file]
test/reference/mesh-pattern-control-points.mask.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-control-points.ref.png [deleted file]
test/reference/mesh-pattern-control-points.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-control-points.traps.argb32.ref.png [deleted file]
test/reference/mesh-pattern-control-points.traps.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-fold.argb32.ref.png [deleted file]
test/reference/mesh-pattern-fold.base.argb32.ref.png [deleted file]
test/reference/mesh-pattern-fold.base.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-fold.egl.argb32.ref.png [deleted file]
test/reference/mesh-pattern-fold.image16.ref.png [deleted file]
test/reference/mesh-pattern-fold.mask.argb32.ref.png [deleted file]
test/reference/mesh-pattern-fold.mask.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-fold.ref.png [deleted file]
test/reference/mesh-pattern-fold.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-fold.traps.argb32.ref.png [deleted file]
test/reference/mesh-pattern-fold.traps.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-overlap.argb32.ref.png [deleted file]
test/reference/mesh-pattern-overlap.base.argb32.ref.png [deleted file]
test/reference/mesh-pattern-overlap.base.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-overlap.egl.argb32.ref.png [deleted file]
test/reference/mesh-pattern-overlap.image16.ref.png [deleted file]
test/reference/mesh-pattern-overlap.mask.argb32.ref.png [deleted file]
test/reference/mesh-pattern-overlap.mask.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-overlap.ref.png [deleted file]
test/reference/mesh-pattern-overlap.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-overlap.traps.argb32.ref.png [deleted file]
test/reference/mesh-pattern-overlap.traps.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-transformed.argb32.ref.png [deleted file]
test/reference/mesh-pattern-transformed.base.argb32.ref.png [deleted file]
test/reference/mesh-pattern-transformed.base.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-transformed.egl.argb32.ref.png [deleted file]
test/reference/mesh-pattern-transformed.image16.ref.png [deleted file]
test/reference/mesh-pattern-transformed.mask.argb32.ref.png [deleted file]
test/reference/mesh-pattern-transformed.mask.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-transformed.ref.png [deleted file]
test/reference/mesh-pattern-transformed.rgb24.ref.png [deleted file]
test/reference/mesh-pattern-transformed.traps.argb32.ref.png [deleted file]
test/reference/mesh-pattern-transformed.traps.rgb24.ref.png [deleted file]
test/reference/mesh-pattern.argb32.ref.png [deleted file]
test/reference/mesh-pattern.base.argb32.ref.png [deleted file]
test/reference/mesh-pattern.base.rgb24.ref.png [deleted file]
test/reference/mesh-pattern.egl.argb32.ref.png [deleted file]
test/reference/mesh-pattern.image16.ref.png [deleted file]
test/reference/mesh-pattern.mask.argb32.ref.png [deleted file]
test/reference/mesh-pattern.mask.rgb24.ref.png [deleted file]
test/reference/mesh-pattern.ref.png [deleted file]
test/reference/mesh-pattern.rgb24.ref.png [deleted file]
test/reference/mesh-pattern.traps.argb32.ref.png [deleted file]
test/reference/mesh-pattern.traps.rgb24.ref.png [deleted file]
test/reference/mime-data.argb32.ref.png [deleted file]
test/reference/mime-data.base.argb32.ref.png [deleted file]
test/reference/mime-data.base.rgb24.ref.png [deleted file]
test/reference/mime-data.egl.argb32.ref.png [deleted file]
test/reference/mime-data.mask.argb32.ref.png [deleted file]
test/reference/mime-data.mask.rgb24.ref.png [deleted file]
test/reference/mime-data.pdf.ref.png [deleted file]
test/reference/mime-data.ps.ref.png [deleted file]
test/reference/mime-data.ref.png [deleted file]
test/reference/mime-data.rgb24.ref.png [deleted file]
test/reference/mime-data.script.ref.png [deleted file]
test/reference/mime-data.svg.ref.png [deleted file]
test/reference/mime-data.traps.argb32.ref.png [deleted file]
test/reference/mime-data.traps.rgb24.ref.png [deleted file]
test/reference/mime-surface.base.argb32.ref.png [deleted file]
test/reference/mime-surface.base.rgb24.ref.png [deleted file]
test/reference/mime-surface.ref.png [deleted file]
test/reference/mime-surface.traps.argb32.ref.png [deleted file]
test/reference/mime-surface.traps.rgb24.ref.png [deleted file]
test/reference/miter-precision.argb32.ref.png [deleted file]
test/reference/miter-precision.base.argb32.ref.png [deleted file]
test/reference/miter-precision.base.rgb24.ref.png [deleted file]
test/reference/miter-precision.egl.argb32.ref.png [deleted file]
test/reference/miter-precision.mask.argb32.ref.png [deleted file]
test/reference/miter-precision.mask.rgb24.ref.png [deleted file]
test/reference/miter-precision.ps2.ref.png [deleted file]
test/reference/miter-precision.ps3.ref.png [deleted file]
test/reference/miter-precision.ref.png [deleted file]
test/reference/miter-precision.rgb24.ref.png [deleted file]
test/reference/miter-precision.traps.argb32.ref.png [deleted file]
test/reference/miter-precision.traps.rgb24.ref.png [deleted file]
test/reference/move-to-show-surface.argb32.ref.png [deleted file]
test/reference/move-to-show-surface.base.argb32.ref.png [deleted file]
test/reference/move-to-show-surface.base.rgb24.ref.png [deleted file]
test/reference/move-to-show-surface.egl.argb32.ref.png [deleted file]
test/reference/move-to-show-surface.mask.argb32.ref.png [deleted file]
test/reference/move-to-show-surface.mask.rgb24.ref.png [deleted file]
test/reference/move-to-show-surface.ref.png [deleted file]
test/reference/move-to-show-surface.rgb24.ref.png [deleted file]
test/reference/move-to-show-surface.traps.argb32.ref.png [deleted file]
test/reference/move-to-show-surface.traps.rgb24.ref.png [deleted file]
test/reference/negative-stride-image.argb32.ref.png [deleted file]
test/reference/negative-stride-image.base.argb32.ref.png [deleted file]
test/reference/negative-stride-image.base.rgb24.ref.png [deleted file]
test/reference/negative-stride-image.egl.argb32.ref.png [deleted file]
test/reference/negative-stride-image.image16.ref.png [deleted file]
test/reference/negative-stride-image.mask.argb32.ref.png [deleted file]
test/reference/negative-stride-image.mask.rgb24.ref.png [deleted file]
test/reference/negative-stride-image.ps.ref.png [deleted file]
test/reference/negative-stride-image.ref.png [deleted file]
test/reference/negative-stride-image.rgb24.ref.png [deleted file]
test/reference/negative-stride-image.traps.argb32.ref.png [deleted file]
test/reference/negative-stride-image.traps.rgb24.ref.png [deleted file]
test/reference/new-sub-path.argb32.ref.png [deleted file]
test/reference/new-sub-path.base.argb32.ref.png [deleted file]
test/reference/new-sub-path.base.rgb24.ref.png [deleted file]
test/reference/new-sub-path.egl.argb32.ref.png [deleted file]
test/reference/new-sub-path.mask.argb32.ref.png [deleted file]
test/reference/new-sub-path.mask.rgb24.ref.png [deleted file]
test/reference/new-sub-path.pdf.argb32.ref.png [deleted file]
test/reference/new-sub-path.ps2.argb32.ref.png [deleted file]
test/reference/new-sub-path.ps2.rgb24.ref.png [deleted file]
test/reference/new-sub-path.ps3.argb32.ref.png [deleted file]
test/reference/new-sub-path.ps3.rgb24.ref.png [deleted file]
test/reference/new-sub-path.quartz.ref.png [deleted file]
test/reference/new-sub-path.rgb24.ref.png [deleted file]
test/reference/new-sub-path.traps.argb32.ref.png [deleted file]
test/reference/new-sub-path.traps.rgb24.ref.png [deleted file]
test/reference/nil-surface.argb32.ref.png [deleted file]
test/reference/nil-surface.base.argb32.ref.png [deleted file]
test/reference/nil-surface.base.rgb24.ref.png [deleted file]
test/reference/nil-surface.egl.argb32.ref.png [deleted file]
test/reference/nil-surface.mask.argb32.ref.png [deleted file]
test/reference/nil-surface.mask.rgb24.ref.png [deleted file]
test/reference/nil-surface.ref.png [deleted file]
test/reference/nil-surface.rgb24.ref.png [deleted file]
test/reference/nil-surface.traps.argb32.ref.png [deleted file]
test/reference/nil-surface.traps.rgb24.ref.png [deleted file]
test/reference/operator-alpha-alpha.argb32.ref.png [deleted file]
test/reference/operator-alpha-alpha.base.argb32.ref.png [deleted file]
test/reference/operator-alpha-alpha.base.rgb24.ref.png [deleted file]
test/reference/operator-alpha-alpha.egl.argb32.ref.png [deleted file]
test/reference/operator-alpha-alpha.image16.ref.png [deleted file]
test/reference/operator-alpha-alpha.mask.argb32.ref.png [deleted file]
test/reference/operator-alpha-alpha.mask.rgb24.ref.png [deleted file]
test/reference/operator-alpha-alpha.pdf.xfail.png [deleted file]
test/reference/operator-alpha-alpha.ps.xfail.png [deleted file]
test/reference/operator-alpha-alpha.ref.png [deleted file]
test/reference/operator-alpha-alpha.rgb24.ref.png [deleted file]
test/reference/operator-alpha-alpha.svg.xfail.png [deleted file]
test/reference/operator-alpha-alpha.traps.argb32.ref.png [deleted file]
test/reference/operator-alpha-alpha.traps.rgb24.ref.png [deleted file]
test/reference/operator-alpha.argb32.ref.png [deleted file]
test/reference/operator-alpha.base.argb32.ref.png [deleted file]
test/reference/operator-alpha.base.rgb24.ref.png [deleted file]
test/reference/operator-alpha.egl.argb32.ref.png [deleted file]
test/reference/operator-alpha.mask.argb32.ref.png [deleted file]
test/reference/operator-alpha.mask.rgb24.ref.png [deleted file]
test/reference/operator-alpha.ref.png [deleted file]
test/reference/operator-alpha.rgb24.ref.png [deleted file]
test/reference/operator-alpha.svg12.argb32.xfail.png [deleted file]
test/reference/operator-alpha.svg12.rgb24.xfail.png [deleted file]
test/reference/operator-alpha.traps.argb32.ref.png [deleted file]
test/reference/operator-alpha.traps.rgb24.ref.png [deleted file]
test/reference/operator-clear.argb32.ref.png [deleted file]
test/reference/operator-clear.base.argb32.ref.png [deleted file]
test/reference/operator-clear.base.rgb24.ref.png [deleted file]
test/reference/operator-clear.mask.argb32.ref.png [deleted file]
test/reference/operator-clear.mask.rgb24.ref.png [deleted file]
test/reference/operator-clear.ps2.argb32.ref.png [deleted file]
test/reference/operator-clear.ps3.argb32.ref.png [deleted file]
test/reference/operator-clear.quartz.argb32.ref.png [deleted file]
test/reference/operator-clear.quartz.rgb24.ref.png [deleted file]
test/reference/operator-clear.rgb24.ref.png [deleted file]
test/reference/operator-clear.svg12.argb32.xfail.png [deleted file]
test/reference/operator-clear.svg12.rgb24.xfail.png [deleted file]
test/reference/operator-clear.traps.argb32.ref.png [deleted file]
test/reference/operator-clear.traps.rgb24.ref.png [deleted file]
test/reference/operator-source.argb32.ref.png [deleted file]
test/reference/operator-source.base.argb32.ref.png [deleted file]
test/reference/operator-source.base.rgb24.ref.png [deleted file]
test/reference/operator-source.image16.ref.png [deleted file]
test/reference/operator-source.mask.argb32.ref.png [deleted file]
test/reference/operator-source.mask.rgb24.ref.png [deleted file]
test/reference/operator-source.rgb24.ref.png [deleted file]
test/reference/operator-source.traps.argb32.ref.png [deleted file]
test/reference/operator-source.traps.rgb24.ref.png [deleted file]
test/reference/operator-source.xlib-fallback.ref.png [deleted file]
test/reference/operator.argb32.ref.png [deleted file]
test/reference/operator.base.argb32.ref.png [deleted file]
test/reference/operator.base.rgb24.ref.png [deleted file]
test/reference/operator.egl.argb32.ref.png [deleted file]
test/reference/operator.mask.argb32.ref.png [deleted file]
test/reference/operator.mask.rgb24.ref.png [deleted file]
test/reference/operator.ref.png [deleted file]
test/reference/operator.rgb24.ref.png [deleted file]
test/reference/operator.svg12.argb32.xfail.png [deleted file]
test/reference/operator.svg12.rgb24.xfail.png [deleted file]
test/reference/operator.traps.argb32.ref.png [deleted file]
test/reference/operator.traps.rgb24.ref.png [deleted file]
test/reference/over-above-source.argb32.ref.png [deleted file]
test/reference/over-above-source.base.argb32.ref.png [deleted file]
test/reference/over-above-source.base.rgb24.ref.png [deleted file]
test/reference/over-above-source.egl.argb32.ref.png [deleted file]
test/reference/over-above-source.mask.argb32.ref.png [deleted file]
test/reference/over-above-source.mask.rgb24.ref.png [deleted file]
test/reference/over-above-source.ps2.argb32.ref.png [deleted file]
test/reference/over-above-source.ps3.argb32.ref.png [deleted file]
test/reference/over-above-source.quartz.argb32.ref.png [deleted file]
test/reference/over-above-source.quartz.rgb24.ref.png [deleted file]
test/reference/over-above-source.ref.png [deleted file]
test/reference/over-above-source.rgb24.ref.png [deleted file]
test/reference/over-above-source.svg12.rgb24.xfail.png [deleted file]
test/reference/over-above-source.traps.argb32.ref.png [deleted file]
test/reference/over-above-source.traps.rgb24.ref.png [deleted file]
test/reference/over-around-source.argb32.ref.png [deleted file]
test/reference/over-around-source.base.argb32.ref.png [deleted file]
test/reference/over-around-source.base.rgb24.ref.png [deleted file]
test/reference/over-around-source.egl.argb32.ref.png [deleted file]
test/reference/over-around-source.image16.ref.png [deleted file]
test/reference/over-around-source.mask.argb32.ref.png [deleted file]
test/reference/over-around-source.mask.rgb24.ref.png [deleted file]
test/reference/over-around-source.pdf.argb32.ref.png [deleted file]
test/reference/over-around-source.ps2.argb32.ref.png [deleted file]
test/reference/over-around-source.ps2.rgb24.ref.png [deleted file]
test/reference/over-around-source.ps3.argb32.ref.png [deleted file]
test/reference/over-around-source.ps3.rgb24.ref.png [deleted file]
test/reference/over-around-source.quartz.argb32.ref.png [deleted file]
test/reference/over-around-source.ref.png [deleted file]
test/reference/over-around-source.rgb24.ref.png [deleted file]
test/reference/over-around-source.svg12.argb32.xfail.png [deleted file]
test/reference/over-around-source.svg12.rgb24.xfail.png [deleted file]
test/reference/over-around-source.traps.argb32.ref.png [deleted file]
test/reference/over-around-source.traps.rgb24.ref.png [deleted file]
test/reference/over-below-source.argb32.ref.png [deleted file]
test/reference/over-below-source.base.argb32.ref.png [deleted file]
test/reference/over-below-source.base.rgb24.ref.png [deleted file]
test/reference/over-below-source.egl.argb32.ref.png [deleted file]
test/reference/over-below-source.mask.argb32.ref.png [deleted file]
test/reference/over-below-source.mask.rgb24.ref.png [deleted file]
test/reference/over-below-source.pdf.argb32.ref.png [deleted file]
test/reference/over-below-source.ps2.argb32.ref.png [deleted file]
test/reference/over-below-source.ps2.rgb24.ref.png [deleted file]
test/reference/over-below-source.ps3.argb32.ref.png [deleted file]
test/reference/over-below-source.ps3.rgb24.ref.png [deleted file]
test/reference/over-below-source.ref.png [deleted file]
test/reference/over-below-source.rgb24.ref.png [deleted file]
test/reference/over-below-source.svg12.argb32.xfail.png [deleted file]
test/reference/over-below-source.svg12.rgb24.xfail.png [deleted file]
test/reference/over-below-source.traps.argb32.ref.png [deleted file]
test/reference/over-below-source.traps.rgb24.ref.png [deleted file]
test/reference/over-between-source.argb32.ref.png [deleted file]
test/reference/over-between-source.base.argb32.ref.png [deleted file]
test/reference/over-between-source.base.rgb24.ref.png [deleted file]
test/reference/over-between-source.egl.argb32.ref.png [deleted file]
test/reference/over-between-source.mask.argb32.ref.png [deleted file]
test/reference/over-between-source.mask.rgb24.ref.png [deleted file]
test/reference/over-between-source.ps2.argb32.ref.png [deleted file]
test/reference/over-between-source.ps3.argb32.ref.png [deleted file]
test/reference/over-between-source.quartz.argb32.ref.png [deleted file]
test/reference/over-between-source.ref.png [deleted file]
test/reference/over-between-source.rgb24.ref.png [deleted file]
test/reference/over-between-source.svg12.argb32.xfail.png [deleted file]
test/reference/over-between-source.svg12.rgb24.xfail.png [deleted file]
test/reference/over-between-source.traps.argb32.ref.png [deleted file]
test/reference/over-between-source.traps.rgb24.ref.png [deleted file]
test/reference/overlapping-boxes.argb32.ref.png [deleted file]
test/reference/overlapping-boxes.base.argb32.ref.png [deleted file]
test/reference/overlapping-boxes.base.rgb24.ref.png [deleted file]
test/reference/overlapping-boxes.egl.argb32.ref.png [deleted file]
test/reference/overlapping-boxes.mask.argb32.ref.png [deleted file]
test/reference/overlapping-boxes.mask.rgb24.ref.png [deleted file]
test/reference/overlapping-boxes.rgb24.ref.png [deleted file]
test/reference/overlapping-boxes.traps.argb32.ref.png [deleted file]
test/reference/overlapping-boxes.traps.rgb24.ref.png [deleted file]
test/reference/overlapping-dash-caps.argb32.ref.png [deleted file]
test/reference/overlapping-dash-caps.base.argb32.ref.png [deleted file]
test/reference/overlapping-dash-caps.base.rgb24.ref.png [deleted file]
test/reference/overlapping-dash-caps.egl.argb32.ref.png [deleted file]
test/reference/overlapping-dash-caps.mask.argb32.ref.png [deleted file]
test/reference/overlapping-dash-caps.mask.rgb24.ref.png [deleted file]
test/reference/overlapping-dash-caps.ref.png [deleted file]
test/reference/overlapping-dash-caps.rgb24.ref.png [deleted file]
test/reference/overlapping-dash-caps.traps.argb32.ref.png [deleted file]
test/reference/overlapping-dash-caps.traps.rgb24.ref.png [deleted file]
test/reference/overlapping-glyphs.argb32.ref.png [deleted file]
test/reference/overlapping-glyphs.base.argb32.ref.png [deleted file]
test/reference/overlapping-glyphs.base.rgb24.ref.png [deleted file]
test/reference/overlapping-glyphs.egl.argb32.ref.png [deleted file]
test/reference/overlapping-glyphs.mask.argb32.ref.png [deleted file]
test/reference/overlapping-glyphs.mask.rgb24.ref.png [deleted file]
test/reference/overlapping-glyphs.pdf.argb32.xfail.png [deleted file]
test/reference/overlapping-glyphs.pdf.rgb24.xfail.png [deleted file]
test/reference/overlapping-glyphs.quartz.argb32.ref.png [deleted file]
test/reference/overlapping-glyphs.quartz.rgb24.ref.png [deleted file]
test/reference/overlapping-glyphs.rgb24.ref.png [deleted file]
test/reference/overlapping-glyphs.svg.argb32.ref.png [deleted file]
test/reference/overlapping-glyphs.svg.rgb24.ref.png [deleted file]
test/reference/overlapping-glyphs.traps.argb32.ref.png [deleted file]
test/reference/overlapping-glyphs.traps.rgb24.ref.png [deleted file]
test/reference/paint-clip-fill-aa.argb32.ref.png [deleted file]
test/reference/paint-clip-fill-aa.base.argb32.ref.png [deleted file]
test/reference/paint-clip-fill-aa.base.rgb24.ref.png [deleted file]
test/reference/paint-clip-fill-aa.egl.argb32.ref.png [deleted file]
test/reference/paint-clip-fill-aa.mask.argb32.ref.png [deleted file]
test/reference/paint-clip-fill-aa.mask.rgb24.ref.png [deleted file]
test/reference/paint-clip-fill-aa.ref.png [deleted file]
test/reference/paint-clip-fill-aa.rgb24.ref.png [deleted file]
test/reference/paint-clip-fill-aa.traps.argb32.ref.png [deleted file]
test/reference/paint-clip-fill-aa.traps.rgb24.ref.png [deleted file]
test/reference/paint-clip-fill-mono.argb32.ref.png [deleted file]
test/reference/paint-clip-fill-mono.base.argb32.ref.png [deleted file]
test/reference/paint-clip-fill-mono.base.rgb24.ref.png [deleted file]
test/reference/paint-clip-fill-mono.egl.argb32.ref.png [deleted file]
test/reference/paint-clip-fill-mono.mask.argb32.ref.png [deleted file]
test/reference/paint-clip-fill-mono.mask.rgb24.ref.png [deleted file]
test/reference/paint-clip-fill-mono.ref.png [deleted file]
test/reference/paint-clip-fill-mono.rgb24.ref.png [deleted file]
test/reference/paint-clip-fill-mono.traps.argb32.ref.png [deleted file]
test/reference/paint-clip-fill-mono.traps.rgb24.ref.png [deleted file]
test/reference/paint-repeat.argb32.ref.png [deleted file]
test/reference/paint-repeat.base.argb32.ref.png [deleted file]
test/reference/paint-repeat.base.rgb24.ref.png [deleted file]
test/reference/paint-repeat.egl.argb32.ref.png [deleted file]
test/reference/paint-repeat.mask.argb32.ref.png [deleted file]
test/reference/paint-repeat.mask.rgb24.ref.png [deleted file]
test/reference/paint-repeat.ref.png [deleted file]
test/reference/paint-repeat.rgb24.ref.png [deleted file]
test/reference/paint-repeat.traps.argb32.ref.png [deleted file]
test/reference/paint-repeat.traps.rgb24.ref.png [deleted file]
test/reference/paint-source-alpha.argb32.ref.png [deleted file]
test/reference/paint-source-alpha.base.argb32.ref.png [deleted file]
test/reference/paint-source-alpha.base.rgb24.ref.png [deleted file]
test/reference/paint-source-alpha.egl.argb32.ref.png [deleted file]
test/reference/paint-source-alpha.image16.ref.png [deleted file]
test/reference/paint-source-alpha.mask.argb32.ref.png [deleted file]
test/reference/paint-source-alpha.mask.rgb24.ref.png [deleted file]
test/reference/paint-source-alpha.ref.png [deleted file]
test/reference/paint-source-alpha.rgb24.ref.png [deleted file]
test/reference/paint-source-alpha.svg.ref.png [deleted file]
test/reference/paint-source-alpha.traps.argb32.ref.png [deleted file]
test/reference/paint-source-alpha.traps.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-clip-mask.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-clip-mask.base.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-clip-mask.base.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-clip-mask.egl.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-clip-mask.mask.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-clip-mask.mask.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-clip-mask.ref.png [deleted file]
test/reference/paint-with-alpha-clip-mask.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-clip-mask.traps.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-clip-mask.traps.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-clip.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-clip.base.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-clip.base.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-clip.egl.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-clip.mask.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-clip.mask.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-clip.ref.png [deleted file]
test/reference/paint-with-alpha-clip.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-clip.traps.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-clip.traps.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-solid-clip.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-solid-clip.base.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-solid-clip.base.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-solid-clip.egl.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-solid-clip.mask.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-solid-clip.mask.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-solid-clip.ref.png [deleted file]
test/reference/paint-with-alpha-solid-clip.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha-solid-clip.traps.argb32.ref.png [deleted file]
test/reference/paint-with-alpha-solid-clip.traps.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha.argb32.ref.png [deleted file]
test/reference/paint-with-alpha.base.argb32.ref.png [deleted file]
test/reference/paint-with-alpha.base.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha.egl.argb32.ref.png [deleted file]
test/reference/paint-with-alpha.image16.ref.png [deleted file]
test/reference/paint-with-alpha.mask.argb32.ref.png [deleted file]
test/reference/paint-with-alpha.mask.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha.ref.png [deleted file]
test/reference/paint-with-alpha.rgb24.ref.png [deleted file]
test/reference/paint-with-alpha.svg.ref.png [deleted file]
test/reference/paint-with-alpha.traps.argb32.ref.png [deleted file]
test/reference/paint-with-alpha.traps.rgb24.ref.png [deleted file]
test/reference/paint.argb32.ref.png [deleted file]
test/reference/paint.base.argb32.ref.png [deleted file]
test/reference/paint.base.rgb24.ref.png [deleted file]
test/reference/paint.egl.argb32.ref.png [deleted file]
test/reference/paint.mask.argb32.ref.png [deleted file]
test/reference/paint.mask.rgb24.ref.png [deleted file]
test/reference/paint.ref.png [deleted file]
test/reference/paint.rgb24.ref.png [deleted file]
test/reference/paint.traps.argb32.ref.png [deleted file]
test/reference/paint.traps.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-bottom.argb32.ref.png [deleted file]
test/reference/partial-clip-text-bottom.base.argb32.ref.png [deleted file]
test/reference/partial-clip-text-bottom.base.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-bottom.egl.argb32.ref.png [deleted file]
test/reference/partial-clip-text-bottom.mask.argb32.ref.png [deleted file]
test/reference/partial-clip-text-bottom.mask.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-bottom.ref.png [deleted file]
test/reference/partial-clip-text-bottom.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-bottom.traps.argb32.ref.png [deleted file]
test/reference/partial-clip-text-bottom.traps.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-left.argb32.ref.png [deleted file]
test/reference/partial-clip-text-left.base.argb32.ref.png [deleted file]
test/reference/partial-clip-text-left.base.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-left.egl.argb32.ref.png [deleted file]
test/reference/partial-clip-text-left.mask.argb32.ref.png [deleted file]
test/reference/partial-clip-text-left.mask.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-left.ref.png [deleted file]
test/reference/partial-clip-text-left.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-left.traps.argb32.ref.png [deleted file]
test/reference/partial-clip-text-left.traps.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-right.argb32.ref.png [deleted file]
test/reference/partial-clip-text-right.base.argb32.ref.png [deleted file]
test/reference/partial-clip-text-right.base.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-right.egl.argb32.ref.png [deleted file]
test/reference/partial-clip-text-right.mask.argb32.ref.png [deleted file]
test/reference/partial-clip-text-right.mask.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-right.ref.png [deleted file]
test/reference/partial-clip-text-right.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-right.traps.argb32.ref.png [deleted file]
test/reference/partial-clip-text-right.traps.ref.png [deleted file]
test/reference/partial-clip-text-right.traps.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-top.argb32.ref.png [deleted file]
test/reference/partial-clip-text-top.base.argb32.ref.png [deleted file]
test/reference/partial-clip-text-top.base.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-top.egl.argb32.ref.png [deleted file]
test/reference/partial-clip-text-top.mask.argb32.ref.png [deleted file]
test/reference/partial-clip-text-top.mask.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-top.ps.ref.png [deleted file]
test/reference/partial-clip-text-top.quartz.ref.png [deleted file]
test/reference/partial-clip-text-top.ref.png [deleted file]
test/reference/partial-clip-text-top.rgb24.ref.png [deleted file]
test/reference/partial-clip-text-top.svg.ref.png [deleted file]
test/reference/partial-clip-text-top.traps.argb32.ref.png [deleted file]
test/reference/partial-clip-text-top.traps.ref.png [deleted file]
test/reference/partial-clip-text-top.traps.rgb24.ref.png [deleted file]
test/reference/partial-coverage-half-reference.argb32.ref.png [deleted file]
test/reference/partial-coverage-half-reference.base.argb32.ref.png [deleted file]
test/reference/partial-coverage-half-reference.base.rgb24.ref.png [deleted file]
test/reference/partial-coverage-half-reference.egl.argb32.ref.png [deleted file]
test/reference/partial-coverage-half-reference.mask.argb32.ref.png [deleted file]
test/reference/partial-coverage-half-reference.mask.rgb24.ref.png [deleted file]
test/reference/partial-coverage-half-reference.ref.png [deleted file]
test/reference/partial-coverage-half-reference.rgb24.ref.png [deleted file]
test/reference/partial-coverage-half-reference.traps.argb32.ref.png [deleted file]
test/reference/partial-coverage-half-reference.traps.rgb24.ref.png [deleted file]
test/reference/partial-coverage-half-triangles.ref.png [deleted file]
test/reference/partial-coverage-intersecting-quads.ref.png [deleted file]
test/reference/partial-coverage-intersecting-quads.xfail.png [deleted file]
test/reference/partial-coverage-intersecting-triangles.ref.png [deleted file]
test/reference/partial-coverage-overlap-half-triangles-eo.ref.png [deleted file]
test/reference/partial-coverage-overlap-half-triangles.ref.png [deleted file]
test/reference/partial-coverage-overlap-three-quarter-triangles.ref.png [deleted file]
test/reference/partial-coverage-rectangles.ref.png [deleted file]
test/reference/partial-coverage-reference.argb32.ref.png [deleted file]
test/reference/partial-coverage-reference.base.argb32.ref.png [deleted file]
test/reference/partial-coverage-reference.base.rgb24.ref.png [deleted file]
test/reference/partial-coverage-reference.egl.argb32.ref.png [deleted file]
test/reference/partial-coverage-reference.mask.argb32.ref.png [deleted file]
test/reference/partial-coverage-reference.mask.rgb24.ref.png [deleted file]
test/reference/partial-coverage-reference.ref.png [deleted file]
test/reference/partial-coverage-reference.rgb24.ref.png [deleted file]
test/reference/partial-coverage-reference.traps.argb32.ref.png [deleted file]
test/reference/partial-coverage-reference.traps.rgb24.ref.png [deleted file]
test/reference/partial-coverage-three-quarter-reference.argb32.ref.png [deleted file]
test/reference/partial-coverage-three-quarter-reference.base.argb32.ref.png [deleted file]
test/reference/partial-coverage-three-quarter-reference.base.rgb24.ref.png [deleted file]
test/reference/partial-coverage-three-quarter-reference.egl.argb32.ref.png [deleted file]
test/reference/partial-coverage-three-quarter-reference.mask.argb32.ref.png [deleted file]
test/reference/partial-coverage-three-quarter-reference.mask.rgb24.ref.png [deleted file]
test/reference/partial-coverage-three-quarter-reference.ref.png [deleted file]
test/reference/partial-coverage-three-quarter-reference.rgb24.ref.png [deleted file]
test/reference/partial-coverage-three-quarter-reference.traps.argb32.ref.png [deleted file]
test/reference/partial-coverage-three-quarter-reference.traps.rgb24.ref.png [deleted file]
test/reference/partial-coverage-triangles.ref.png [deleted file]
test/reference/pass-through.argb32.ref.png [deleted file]
test/reference/pass-through.base.argb32.ref.png [deleted file]
test/reference/pass-through.base.rgb24.ref.png [deleted file]
test/reference/pass-through.egl.argb32.ref.png [deleted file]
test/reference/pass-through.mask.argb32.ref.png [deleted file]
test/reference/pass-through.mask.rgb24.ref.png [deleted file]
test/reference/pass-through.ref.png [deleted file]
test/reference/pass-through.rgb24.ref.png [deleted file]
test/reference/pass-through.traps.argb32.ref.png [deleted file]
test/reference/pass-through.traps.rgb24.ref.png [deleted file]
test/reference/path-append.argb32.ref.png [deleted file]
test/reference/path-append.base.argb32.ref.png [deleted file]
test/reference/path-append.base.rgb24.ref.png [deleted file]
test/reference/path-append.egl.argb32.ref.png [deleted file]
test/reference/path-append.image16.ref.png [deleted file]
test/reference/path-append.mask.argb32.ref.png [deleted file]
test/reference/path-append.mask.rgb24.ref.png [deleted file]
test/reference/path-append.ps.ref.png [deleted file]
test/reference/path-append.quartz.ref.png [deleted file]
test/reference/path-append.ref.png [deleted file]
test/reference/path-append.rgb24.ref.png [deleted file]
test/reference/path-append.test-fallback.ref.png [deleted file]
test/reference/path-append.traps.argb32.ref.png [deleted file]
test/reference/path-append.traps.rgb24.ref.png [deleted file]
test/reference/path-append.xlib-fallback.ref.png [deleted file]
test/reference/path-stroke-twice.argb32.ref.png [deleted file]
test/reference/path-stroke-twice.base.argb32.ref.png [deleted file]
test/reference/path-stroke-twice.base.rgb24.ref.png [deleted file]
test/reference/path-stroke-twice.egl.argb32.ref.png [deleted file]
test/reference/path-stroke-twice.image16.ref.png [deleted file]
test/reference/path-stroke-twice.mask.argb32.ref.png [deleted file]
test/reference/path-stroke-twice.mask.rgb24.ref.png [deleted file]
test/reference/path-stroke-twice.ps.ref.png [deleted file]
test/reference/path-stroke-twice.ref.png [deleted file]
test/reference/path-stroke-twice.rgb24.ref.png [deleted file]
test/reference/path-stroke-twice.traps.argb32.ref.png [deleted file]
test/reference/path-stroke-twice.traps.rgb24.ref.png [deleted file]
test/reference/pattern-getters.argb32.ref.png [deleted file]
test/reference/pattern-getters.base.argb32.ref.png [deleted file]
test/reference/pattern-getters.base.rgb24.ref.png [deleted file]
test/reference/pattern-getters.egl.argb32.ref.png [deleted file]
test/reference/pattern-getters.mask.argb32.ref.png [deleted file]
test/reference/pattern-getters.mask.rgb24.ref.png [deleted file]
test/reference/pattern-getters.ref.png [deleted file]
test/reference/pattern-getters.rgb24.ref.png [deleted file]
test/reference/pattern-getters.traps.argb32.ref.png [deleted file]
test/reference/pattern-getters.traps.rgb24.ref.png [deleted file]
test/reference/pdf-isolated-group.base.argb32.ref.png [deleted file]
test/reference/pdf-isolated-group.base.rgb24.ref.png [deleted file]
test/reference/pdf-isolated-group.egl.argb32.ref.png [deleted file]
test/reference/pdf-isolated-group.ref.png [deleted file]
test/reference/pdf-surface-source.argb32.ref.png [deleted file]
test/reference/pdf-surface-source.base.argb32.ref.png [deleted file]
test/reference/pdf-surface-source.base.rgb24.ref.png [deleted file]
test/reference/pdf-surface-source.egl.argb32.ref.png [deleted file]
test/reference/pdf-surface-source.image16.ref.png [deleted file]
test/reference/pdf-surface-source.mask.argb32.ref.png [deleted file]
test/reference/pdf-surface-source.mask.rgb24.ref.png [deleted file]
test/reference/pdf-surface-source.rgb24.ref.png [deleted file]
test/reference/pdf-surface-source.svg12.argb32.xfail.png [deleted file]
test/reference/pdf-surface-source.svg12.rgb24.xfail.png [deleted file]
test/reference/pdf-surface-source.traps.argb32.ref.png [deleted file]
test/reference/pdf-surface-source.traps.rgb24.ref.png [deleted file]
test/reference/pixman-rotate.argb32.ref.png [deleted file]
test/reference/pixman-rotate.base.argb32.ref.png [deleted file]
test/reference/pixman-rotate.base.rgb24.ref.png [deleted file]
test/reference/pixman-rotate.egl.argb32.ref.png [deleted file]
test/reference/pixman-rotate.mask.argb32.ref.png [deleted file]
test/reference/pixman-rotate.mask.rgb24.ref.png [deleted file]
test/reference/pixman-rotate.ps.argb32.ref.png [deleted file]
test/reference/pixman-rotate.ref.png [deleted file]
test/reference/pixman-rotate.rgb24.ref.png [deleted file]
test/reference/pixman-rotate.traps.argb32.ref.png [deleted file]
test/reference/pixman-rotate.traps.rgb24.ref.png [deleted file]
test/reference/ps-eps.ref.png [deleted file]
test/reference/ps-surface-source.argb32.ref.png [deleted file]
test/reference/ps-surface-source.base.argb32.ref.png [deleted file]
test/reference/ps-surface-source.base.rgb24.ref.png [deleted file]
test/reference/ps-surface-source.egl.argb32.ref.png [deleted file]
test/reference/ps-surface-source.image16.ref.png [deleted file]
test/reference/ps-surface-source.mask.argb32.ref.png [deleted file]
test/reference/ps-surface-source.mask.rgb24.ref.png [deleted file]
test/reference/ps-surface-source.rgb24.ref.png [deleted file]
test/reference/ps-surface-source.svg12.argb32.xfail.png [deleted file]
test/reference/ps-surface-source.svg12.rgb24.xfail.png [deleted file]
test/reference/ps-surface-source.traps.argb32.ref.png [deleted file]
test/reference/ps-surface-source.traps.rgb24.ref.png [deleted file]
test/reference/pthread-same-source.argb32.ref.png [deleted file]
test/reference/pthread-same-source.base.argb32.ref.png [deleted file]
test/reference/pthread-same-source.base.rgb24.ref.png [deleted file]
test/reference/pthread-same-source.egl.argb32.ref.png [deleted file]
test/reference/pthread-same-source.image16.ref.png [deleted file]
test/reference/pthread-same-source.mask.argb32.ref.png [deleted file]
test/reference/pthread-same-source.mask.rgb24.ref.png [deleted file]
test/reference/pthread-same-source.quartz.xfail.png [deleted file]
test/reference/pthread-same-source.ref.png [deleted file]
test/reference/pthread-same-source.rgb24.ref.png [deleted file]
test/reference/pthread-same-source.traps.argb32.ref.png [deleted file]
test/reference/pthread-same-source.traps.rgb24.ref.png [deleted file]
test/reference/pthread-show-text.argb32.ref.png [deleted file]
test/reference/pthread-show-text.base.argb32.ref.png [deleted file]
test/reference/pthread-show-text.base.rgb24.ref.png [deleted file]
test/reference/pthread-show-text.image16.ref.png [deleted file]
test/reference/pthread-show-text.mask.argb32.ref.png [deleted file]
test/reference/pthread-show-text.mask.rgb24.ref.png [deleted file]
test/reference/pthread-show-text.pdf.ref.png [deleted file]
test/reference/pthread-show-text.ps.ref.png [deleted file]
test/reference/pthread-show-text.quartz.ref.png [deleted file]
test/reference/pthread-show-text.ref.png [deleted file]
test/reference/pthread-show-text.rgb24.ref.png [deleted file]
test/reference/pthread-show-text.traps.argb32.ref.png [deleted file]
test/reference/pthread-show-text.traps.ref.png [deleted file]
test/reference/pthread-show-text.traps.rgb24.ref.png [deleted file]
test/reference/pthread-show-text.xlib-fallback.ref.png [deleted file]
test/reference/pthread-similar.argb32.ref.png [deleted file]
test/reference/pthread-similar.base.argb32.ref.png [deleted file]
test/reference/pthread-similar.base.rgb24.ref.png [deleted file]
test/reference/pthread-similar.egl.argb32.ref.png [deleted file]
test/reference/pthread-similar.mask.argb32.ref.png [deleted file]
test/reference/pthread-similar.mask.rgb24.ref.png [deleted file]
test/reference/pthread-similar.ref.png [deleted file]
test/reference/pthread-similar.rgb24.ref.png [deleted file]
test/reference/pthread-similar.traps.argb32.ref.png [deleted file]
test/reference/pthread-similar.traps.rgb24.ref.png [deleted file]
test/reference/push-group-color.argb32.ref.png [deleted file]
test/reference/push-group-color.base.argb32.ref.png [deleted file]
test/reference/push-group-color.base.rgb24.ref.png [deleted file]
test/reference/push-group-color.egl.argb32.ref.png [deleted file]
test/reference/push-group-color.image16.ref.png [deleted file]
test/reference/push-group-color.mask.argb32.ref.png [deleted file]
test/reference/push-group-color.mask.rgb24.ref.png [deleted file]
test/reference/push-group-color.ps2.ref.png [deleted file]
test/reference/push-group-color.ps3.ref.png [deleted file]
test/reference/push-group-color.quartz.ref.png [deleted file]
test/reference/push-group-color.ref.png [deleted file]
test/reference/push-group-color.rgb24.ref.png [deleted file]
test/reference/push-group-color.traps.argb32.ref.png [deleted file]
test/reference/push-group-color.traps.rgb24.ref.png [deleted file]
test/reference/push-group-path-offset.argb32.ref.png [deleted file]
test/reference/push-group-path-offset.base.argb32.ref.png [deleted file]
test/reference/push-group-path-offset.base.rgb24.ref.png [deleted file]
test/reference/push-group-path-offset.egl.argb32.ref.png [deleted file]
test/reference/push-group-path-offset.mask.argb32.ref.png [deleted file]
test/reference/push-group-path-offset.mask.rgb24.ref.png [deleted file]
test/reference/push-group-path-offset.ref.png [deleted file]
test/reference/push-group-path-offset.rgb24.ref.png [deleted file]
test/reference/push-group-path-offset.traps.argb32.ref.png [deleted file]
test/reference/push-group-path-offset.traps.rgb24.ref.png [deleted file]
test/reference/push-group.argb32.ref.png [deleted file]
test/reference/push-group.base.argb32.ref.png [deleted file]
test/reference/push-group.base.rgb24.ref.png [deleted file]
test/reference/push-group.egl.argb32.ref.png [deleted file]
test/reference/push-group.image16.ref.png [deleted file]
test/reference/push-group.mask.argb32.ref.png [deleted file]
test/reference/push-group.mask.rgb24.ref.png [deleted file]
test/reference/push-group.quartz.argb32.ref.png [deleted file]
test/reference/push-group.quartz.rgb24.ref.png [deleted file]
test/reference/push-group.ref.png [deleted file]
test/reference/push-group.rgb24.ref.png [deleted file]
test/reference/push-group.traps.argb32.ref.png [deleted file]
test/reference/push-group.traps.rgb24.ref.png [deleted file]
test/reference/quartz-surface-source.argb32.ref.png [deleted file]
test/reference/quartz-surface-source.ps2.ref.png [deleted file]
test/reference/quartz-surface-source.ps3.ref.png [deleted file]
test/reference/quartz-surface-source.rgb24.ref.png [deleted file]
test/reference/radial-gradient-extend.base.argb32.ref.png [deleted file]
test/reference/radial-gradient-extend.base.rgb24.ref.png [deleted file]
test/reference/radial-gradient-extend.egl.argb32.ref.png [deleted file]
test/reference/radial-gradient-extend.mask.argb32.ref.png [deleted file]
test/reference/radial-gradient-extend.mask.rgb24.ref.png [deleted file]
test/reference/radial-gradient-extend.ps3.ref.png [deleted file]
test/reference/radial-gradient-extend.ref.png [deleted file]
test/reference/radial-gradient-extend.traps.argb32.ref.png [deleted file]
test/reference/radial-gradient-extend.traps.rgb24.ref.png [deleted file]
test/reference/radial-gradient-mask-source.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask-source.base.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask-source.base.rgb24.ref.png [deleted file]
test/reference/radial-gradient-mask-source.egl.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask-source.image16.ref.png [deleted file]
test/reference/radial-gradient-mask-source.mask.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask-source.mask.rgb24.ref.png [deleted file]
test/reference/radial-gradient-mask-source.quartz.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask-source.quartz.rgb24.ref.png [deleted file]
test/reference/radial-gradient-mask-source.traps.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask-source.traps.rgb24.ref.png [deleted file]
test/reference/radial-gradient-mask.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask.base.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask.base.rgb24.ref.png [deleted file]
test/reference/radial-gradient-mask.egl.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask.image16.ref.png [deleted file]
test/reference/radial-gradient-mask.mask.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask.mask.rgb24.ref.png [deleted file]
test/reference/radial-gradient-mask.quartz.ref.png [deleted file]
test/reference/radial-gradient-mask.ref.png [deleted file]
test/reference/radial-gradient-mask.rgb24.ref.png [deleted file]
test/reference/radial-gradient-mask.traps.argb32.ref.png [deleted file]
test/reference/radial-gradient-mask.traps.rgb24.ref.png [deleted file]
test/reference/radial-gradient-one-stop.argb32.ref.png [deleted file]
test/reference/radial-gradient-one-stop.base.argb32.ref.png [deleted file]
test/reference/radial-gradient-one-stop.base.rgb24.ref.png [deleted file]
test/reference/radial-gradient-one-stop.egl.argb32.ref.png [deleted file]
test/reference/radial-gradient-one-stop.mask.argb32.ref.png [deleted file]
test/reference/radial-gradient-one-stop.mask.rgb24.ref.png [deleted file]
test/reference/radial-gradient-one-stop.quartz.ref.png [deleted file]
test/reference/radial-gradient-one-stop.ref.png [deleted file]
test/reference/radial-gradient-one-stop.rgb24.ref.png [deleted file]
test/reference/radial-gradient-one-stop.traps.argb32.ref.png [deleted file]
test/reference/radial-gradient-one-stop.traps.rgb24.ref.png [deleted file]
test/reference/radial-gradient-source.argb32.ref.png [deleted file]
test/reference/radial-gradient-source.base.argb32.ref.png [deleted file]
test/reference/radial-gradient-source.base.rgb24.ref.png [deleted file]
test/reference/radial-gradient-source.egl.argb32.ref.png [deleted file]
test/reference/radial-gradient-source.image16.ref.png [deleted file]
test/reference/radial-gradient-source.mask.argb32.ref.png [deleted file]
test/reference/radial-gradient-source.mask.rgb24.ref.png [deleted file]
test/reference/radial-gradient-source.quartz.argb32.ref.png [deleted file]
test/reference/radial-gradient-source.quartz.rgb24.ref.png [deleted file]
test/reference/radial-gradient-source.rgb24.ref.png [deleted file]
test/reference/radial-gradient-source.traps.argb32.ref.png [deleted file]
test/reference/radial-gradient-source.traps.rgb24.ref.png [deleted file]
test/reference/radial-gradient.argb32.ref.png [deleted file]
test/reference/radial-gradient.base.argb32.ref.png [deleted file]
test/reference/radial-gradient.base.rgb24.ref.png [deleted file]
test/reference/radial-gradient.egl.argb32.ref.png [deleted file]
test/reference/radial-gradient.image16.ref.png [deleted file]
test/reference/radial-gradient.mask.argb32.ref.png [deleted file]
test/reference/radial-gradient.mask.rgb24.ref.png [deleted file]
test/reference/radial-gradient.quartz.ref.png [deleted file]
test/reference/radial-gradient.ref.png [deleted file]
test/reference/radial-gradient.rgb24.ref.png [deleted file]
test/reference/radial-gradient.traps.argb32.ref.png [deleted file]
test/reference/radial-gradient.traps.rgb24.ref.png [deleted file]
test/reference/radial-outer-focus.base.argb32.ref.png [deleted file]
test/reference/radial-outer-focus.base.rgb24.ref.png [deleted file]
test/reference/radial-outer-focus.egl.argb32.ref.png [deleted file]
test/reference/radial-outer-focus.mask.argb32.ref.png [deleted file]
test/reference/radial-outer-focus.mask.rgb24.ref.png [deleted file]
test/reference/radial-outer-focus.traps.argb32.ref.png [deleted file]
test/reference/radial-outer-focus.traps.rgb24.ref.png [deleted file]
test/reference/radial-outer-focus.xfail.png [deleted file]
test/reference/random-clip.base.argb32.ref.png [deleted file]
test/reference/random-clip.base.argb32.xfail.png [deleted file]
test/reference/random-clip.base.rgb24.ref.png [deleted file]
test/reference/random-clip.base.rgb24.xfail.png [deleted file]
test/reference/random-clip.mask.argb32.ref.png [deleted file]
test/reference/random-clip.mask.rgb24.ref.png [deleted file]
test/reference/random-clip.ref.png [deleted file]
test/reference/random-clip.traps.argb32.ref.png [deleted file]
test/reference/random-clip.traps.rgb24.ref.png [deleted file]
test/reference/random-intersections-curves-eo.argb32.ref.png [deleted file]
test/reference/random-intersections-curves-eo.base.argb32.ref.png [deleted file]
test/reference/random-intersections-curves-eo.base.rgb24.ref.png [deleted file]
test/reference/random-intersections-curves-eo.egl.argb32.ref.png [deleted file]
test/reference/random-intersections-curves-eo.image16.ref.png [deleted file]
test/reference/random-intersections-curves-eo.mask.argb32.ref.png [deleted file]
test/reference/random-intersections-curves-eo.mask.rgb24.ref.png [deleted file]
test/reference/random-intersections-curves-eo.pdf.ref.png [deleted file]
test/reference/random-intersections-curves-eo.ps.ref.png [deleted file]
test/reference/random-intersections-curves-eo.quartz.ref.png [deleted file]
test/reference/random-intersections-curves-eo.ref.png [deleted file]
test/reference/random-intersections-curves-eo.rgb24.ref.png [deleted file]
test/reference/random-intersections-curves-eo.traps.argb32.ref.png [deleted file]
test/reference/random-intersections-curves-eo.traps.rgb24.ref.png [deleted file]
test/reference/random-intersections-curves-eo.xlib-fallback.ref.png [deleted file]
test/reference/random-intersections-curves-nz.argb32.ref.png [deleted file]
test/reference/random-intersections-curves-nz.base.argb32.ref.png [deleted file]
test/reference/random-intersections-curves-nz.base.rgb24.ref.png [deleted file]
test/reference/random-intersections-curves-nz.egl.argb32.ref.png [deleted file]
test/reference/random-intersections-curves-nz.image16.ref.png [deleted file]
test/reference/random-intersections-curves-nz.mask.argb32.ref.png [deleted file]
test/reference/random-intersections-curves-nz.mask.rgb24.ref.png [deleted file]
test/reference/random-intersections-curves-nz.pdf.ref.png [deleted file]
test/reference/random-intersections-curves-nz.ps.ref.png [deleted file]
test/reference/random-intersections-curves-nz.quartz.ref.png [deleted file]
test/reference/random-intersections-curves-nz.ref.png [deleted file]
test/reference/random-intersections-curves-nz.rgb24.ref.png [deleted file]
test/reference/random-intersections-curves-nz.traps.argb32.ref.png [deleted file]
test/reference/random-intersections-curves-nz.traps.rgb24.ref.png [deleted file]
test/reference/random-intersections-curves-nz.xlib-fallback.ref.png [deleted file]
test/reference/random-intersections-eo.argb32.ref.png [deleted file]
test/reference/random-intersections-eo.base.argb32.ref.png [deleted file]
test/reference/random-intersections-eo.base.rgb24.ref.png [deleted file]
test/reference/random-intersections-eo.egl.argb32.ref.png [deleted file]
test/reference/random-intersections-eo.image16.ref.png [deleted file]
test/reference/random-intersections-eo.mask.argb32.ref.png [deleted file]
test/reference/random-intersections-eo.mask.rgb24.ref.png [deleted file]
test/reference/random-intersections-eo.ps.ref.png [deleted file]
test/reference/random-intersections-eo.quartz.ref.png [deleted file]
test/reference/random-intersections-eo.ref.png [deleted file]
test/reference/random-intersections-eo.rgb24.ref.png [deleted file]
test/reference/random-intersections-eo.traps.argb32.ref.png [deleted file]
test/reference/random-intersections-eo.traps.rgb24.ref.png [deleted file]
test/reference/random-intersections-nonzero.argb32.ref.png [deleted file]
test/reference/random-intersections-nonzero.base.argb32.ref.png [deleted file]
test/reference/random-intersections-nonzero.base.rgb24.ref.png [deleted file]
test/reference/random-intersections-nonzero.egl.argb32.ref.png [deleted file]
test/reference/random-intersections-nonzero.image16.ref.png [deleted file]
test/reference/random-intersections-nonzero.mask.argb32.ref.png [deleted file]
test/reference/random-intersections-nonzero.mask.rgb24.ref.png [deleted file]
test/reference/random-intersections-nonzero.ps.ref.png [deleted file]
test/reference/random-intersections-nonzero.quartz.ref.png [deleted file]
test/reference/random-intersections-nonzero.ref.png [deleted file]
test/reference/random-intersections-nonzero.rgb24.ref.png [deleted file]
test/reference/random-intersections-nonzero.traps.argb32.ref.png [deleted file]
test/reference/random-intersections-nonzero.traps.rgb24.ref.png [deleted file]
test/reference/raster-source.argb32.ref.png [deleted file]
test/reference/raster-source.base.argb32.ref.png [deleted file]
test/reference/raster-source.base.rgb24.ref.png [deleted file]
test/reference/raster-source.egl.argb32.ref.png [deleted file]
test/reference/raster-source.mask.argb32.ref.png [deleted file]
test/reference/raster-source.mask.rgb24.ref.png [deleted file]
test/reference/raster-source.ps.ref.png [deleted file]
test/reference/raster-source.ref.png [deleted file]
test/reference/raster-source.rgb24.ref.png [deleted file]
test/reference/raster-source.traps.argb32.ref.png [deleted file]
test/reference/raster-source.traps.rgb24.ref.png [deleted file]
test/reference/record-extend-none-similar.argb32.ref.png [deleted file]
test/reference/record-extend-none-similar.base.argb32.ref.png [deleted file]
test/reference/record-extend-none-similar.base.rgb24.ref.png [deleted file]
test/reference/record-extend-none-similar.egl.argb32.ref.png [deleted file]
test/reference/record-extend-none-similar.image16.rgb24.ref.png [deleted file]
test/reference/record-extend-none-similar.ref.png [deleted file]
test/reference/record-extend-none-similar.rgb24.ref.png [deleted file]
test/reference/record-extend-none-similar.traps.argb32.ref.png [deleted file]
test/reference/record-extend-none-similar.traps.rgb24.ref.png [deleted file]
test/reference/record-extend-none.argb32.ref.png [deleted file]
test/reference/record-extend-none.base.argb32.ref.png [deleted file]
test/reference/record-extend-none.base.rgb24.ref.png [deleted file]
test/reference/record-extend-none.egl.argb32.ref.png [deleted file]
test/reference/record-extend-none.image16.rgb24.ref.png [deleted file]
test/reference/record-extend-none.ref.png [deleted file]
test/reference/record-extend-none.rgb24.ref.png [deleted file]
test/reference/record-extend-none.traps.argb32.ref.png [deleted file]
test/reference/record-extend-none.traps.rgb24.ref.png [deleted file]
test/reference/record-extend-pad-similar.argb32.ref.png [deleted file]
test/reference/record-extend-pad-similar.base.argb32.ref.png [deleted file]
test/reference/record-extend-pad-similar.base.rgb24.ref.png [deleted file]
test/reference/record-extend-pad-similar.egl.argb32.ref.png [deleted file]
test/reference/record-extend-pad-similar.image16.rgb24.ref.png [deleted file]
test/reference/record-extend-pad-similar.ref.png [deleted file]
test/reference/record-extend-pad-similar.rgb24.ref.png [deleted file]
test/reference/record-extend-pad-similar.traps.argb32.ref.png [deleted file]
test/reference/record-extend-pad-similar.traps.rgb24.ref.png [deleted file]
test/reference/record-extend-pad.argb32.ref.png [deleted file]
test/reference/record-extend-pad.base.argb32.ref.png [deleted file]
test/reference/record-extend-pad.base.rgb24.ref.png [deleted file]
test/reference/record-extend-pad.egl.argb32.ref.png [deleted file]
test/reference/record-extend-pad.image16.rgb24.ref.png [deleted file]
test/reference/record-extend-pad.ref.png [deleted file]
test/reference/record-extend-pad.rgb24.ref.png [deleted file]
test/reference/record-extend-pad.traps.argb32.ref.png [deleted file]
test/reference/record-extend-pad.traps.rgb24.ref.png [deleted file]
test/reference/record-extend-reflect-similar.argb32.ref.png [deleted file]
test/reference/record-extend-reflect-similar.base.argb32.ref.png [deleted file]
test/reference/record-extend-reflect-similar.base.rgb24.ref.png [deleted file]
test/reference/record-extend-reflect-similar.egl.argb32.ref.png [deleted file]
test/reference/record-extend-reflect-similar.image16.rgb24.ref.png [deleted file]
test/reference/record-extend-reflect-similar.ref.png [deleted file]
test/reference/record-extend-reflect-similar.rgb24.ref.png [deleted file]
test/reference/record-extend-reflect-similar.traps.argb32.ref.png [deleted file]
test/reference/record-extend-reflect-similar.traps.rgb24.ref.png [deleted file]
test/reference/record-extend-reflect.argb32.ref.png [deleted file]
test/reference/record-extend-reflect.base.argb32.ref.png [deleted file]
test/reference/record-extend-reflect.base.rgb24.ref.png [deleted file]
test/reference/record-extend-reflect.egl.argb32.ref.png [deleted file]
test/reference/record-extend-reflect.image16.rgb24.ref.png [deleted file]
test/reference/record-extend-reflect.ref.png [deleted file]
test/reference/record-extend-reflect.rgb24.ref.png [deleted file]
test/reference/record-extend-reflect.traps.argb32.ref.png [deleted file]
test/reference/record-extend-reflect.traps.rgb24.ref.png [deleted file]
test/reference/record-extend-repeat-similar.argb32.ref.png [deleted file]
test/reference/record-extend-repeat-similar.base.argb32.ref.png [deleted file]
test/reference/record-extend-repeat-similar.base.rgb24.ref.png [deleted file]
test/reference/record-extend-repeat-similar.egl.argb32.ref.png [deleted file]
test/reference/record-extend-repeat-similar.image16.rgb24.ref.png [deleted file]
test/reference/record-extend-repeat-similar.ref.png [deleted file]
test/reference/record-extend-repeat-similar.rgb24.ref.png [deleted file]
test/reference/record-extend-repeat-similar.traps.argb32.ref.png [deleted file]
test/reference/record-extend-repeat-similar.traps.rgb24.ref.png [deleted file]
test/reference/record-extend-repeat.argb32.ref.png [deleted file]
test/reference/record-extend-repeat.base.argb32.ref.png [deleted file]
test/reference/record-extend-repeat.base.rgb24.ref.png [deleted file]
test/reference/record-extend-repeat.egl.argb32.ref.png [deleted file]
test/reference/record-extend-repeat.image16.rgb24.ref.png [deleted file]
test/reference/record-extend-repeat.ref.png [deleted file]
test/reference/record-extend-repeat.rgb24.ref.png [deleted file]
test/reference/record-extend-repeat.traps.argb32.ref.png [deleted file]
test/reference/record-extend-repeat.traps.rgb24.ref.png [deleted file]
test/reference/record-fill-alpha.argb32.ref.png [deleted file]
test/reference/record-fill-alpha.base.argb32.ref.png [deleted file]
test/reference/record-fill-alpha.base.rgb24.ref.png [deleted file]
test/reference/record-fill-alpha.base.xfail.png [deleted file]
test/reference/record-fill-alpha.egl.argb32.ref.png [deleted file]
test/reference/record-fill-alpha.image16.rgb24.ref.png [deleted file]
test/reference/record-fill-alpha.ref.png [deleted file]
test/reference/record-fill-alpha.rgb24.ref.png [deleted file]
test/reference/record-fill-alpha.traps.argb32.ref.png [deleted file]
test/reference/record-fill-alpha.traps.rgb24.ref.png [deleted file]
test/reference/record-fill-alpha.xfail.png [deleted file]
test/reference/record-mesh.argb32.ref.png [deleted file]
test/reference/record-mesh.base.argb32.ref.png [deleted file]
test/reference/record-mesh.base.rgb24.ref.png [deleted file]
test/reference/record-mesh.egl.argb32.ref.png [deleted file]
test/reference/record-mesh.image16.rgb24.ref.png [deleted file]
test/reference/record-mesh.ref.png [deleted file]
test/reference/record-mesh.rgb24.ref.png [deleted file]
test/reference/record-mesh.traps.argb32.ref.png [deleted file]
test/reference/record-mesh.traps.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-clip-mask.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-clip-mask.base.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-clip-mask.base.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-clip-mask.base.xfail.png [deleted file]
test/reference/record-paint-alpha-clip-mask.egl.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-clip-mask.image16.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-clip-mask.ref.png [deleted file]
test/reference/record-paint-alpha-clip-mask.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-clip-mask.traps.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-clip-mask.traps.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-clip-mask.xfail.png [deleted file]
test/reference/record-paint-alpha-clip.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-clip.base.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-clip.base.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-clip.egl.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-clip.image16.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-clip.ref.png [deleted file]
test/reference/record-paint-alpha-clip.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-clip.traps.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-clip.traps.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-solid-clip.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-solid-clip.base.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-solid-clip.base.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-solid-clip.egl.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-solid-clip.image16.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-solid-clip.ref.png [deleted file]
test/reference/record-paint-alpha-solid-clip.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha-solid-clip.traps.argb32.ref.png [deleted file]
test/reference/record-paint-alpha-solid-clip.traps.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha.argb32.ref.png [deleted file]
test/reference/record-paint-alpha.base.argb32.ref.png [deleted file]
test/reference/record-paint-alpha.base.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha.egl.argb32.ref.png [deleted file]
test/reference/record-paint-alpha.image16.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha.ref.png [deleted file]
test/reference/record-paint-alpha.rgb24.ref.png [deleted file]
test/reference/record-paint-alpha.traps.argb32.ref.png [deleted file]
test/reference/record-paint-alpha.traps.rgb24.ref.png [deleted file]
test/reference/record-paint.argb32.ref.png [deleted file]
test/reference/record-paint.base.argb32.ref.png [deleted file]
test/reference/record-paint.base.rgb24.ref.png [deleted file]
test/reference/record-paint.egl.argb32.ref.png [deleted file]
test/reference/record-paint.image16.rgb24.ref.png [deleted file]
test/reference/record-paint.ref.png [deleted file]
test/reference/record-paint.rgb24.ref.png [deleted file]
test/reference/record-paint.traps.argb32.ref.png [deleted file]
test/reference/record-paint.traps.rgb24.ref.png [deleted file]
test/reference/record-select-font-face.argb32.ref.png [deleted file]
test/reference/record-select-font-face.base.argb32.ref.png [deleted file]
test/reference/record-select-font-face.base.rgb24.ref.png [deleted file]
test/reference/record-select-font-face.image16.rgb24.ref.png [deleted file]
test/reference/record-select-font-face.ref.png [deleted file]
test/reference/record-select-font-face.rgb24.ref.png [deleted file]
test/reference/record-select-font-face.xfail.png [deleted file]
test/reference/record-self-intersecting.argb32.ref.png [deleted file]
test/reference/record-self-intersecting.base.argb32.ref.png [deleted file]
test/reference/record-self-intersecting.base.rgb24.ref.png [deleted file]
test/reference/record-self-intersecting.egl.argb32.ref.png [deleted file]
test/reference/record-self-intersecting.image16.rgb24.ref.png [deleted file]
test/reference/record-self-intersecting.ref.png [deleted file]
test/reference/record-self-intersecting.rgb24.ref.png [deleted file]
test/reference/record-text-transform.argb32.ref.png [deleted file]
test/reference/record-text-transform.base.argb32.ref.png [deleted file]
test/reference/record-text-transform.base.rgb24.ref.png [deleted file]
test/reference/record-text-transform.image16.rgb24.ref.png [deleted file]
test/reference/record-text-transform.ref.png [deleted file]
test/reference/record-text-transform.rgb24.ref.png [deleted file]
test/reference/record1414x-fill-alpha.argb32.ref.png [deleted file]
test/reference/record1414x-fill-alpha.base.argb32.ref.png [deleted file]
test/reference/record1414x-fill-alpha.base.rgb24.ref.png [deleted file]
test/reference/record1414x-fill-alpha.base.xfail.png [deleted file]
test/reference/record1414x-fill-alpha.egl.argb32.ref.png [deleted file]
test/reference/record1414x-fill-alpha.rgb24.ref.png [deleted file]
test/reference/record1414x-fill-alpha.xfail.png [deleted file]
test/reference/record1414x-paint-alpha-clip-mask.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha-clip-mask.base.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha-clip-mask.base.rgb24.ref.png [deleted file]
test/reference/record1414x-paint-alpha-clip-mask.egl.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha-clip-mask.rgb24.ref.png [deleted file]
test/reference/record1414x-paint-alpha-clip.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha-clip.base.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha-clip.base.rgb24.ref.png [deleted file]
test/reference/record1414x-paint-alpha-clip.egl.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha-clip.rgb24.ref.png [deleted file]
test/reference/record1414x-paint-alpha-solid-clip.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha-solid-clip.base.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha-solid-clip.base.rgb24.ref.png [deleted file]
test/reference/record1414x-paint-alpha-solid-clip.egl.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha-solid-clip.rgb24.ref.png [deleted file]
test/reference/record1414x-paint-alpha.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha.base.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha.base.rgb24.ref.png [deleted file]
test/reference/record1414x-paint-alpha.egl.argb32.ref.png [deleted file]
test/reference/record1414x-paint-alpha.rgb24.ref.png [deleted file]
test/reference/record1414x-paint.argb32.ref.png [deleted file]
test/reference/record1414x-paint.base.argb32.ref.png [deleted file]
test/reference/record1414x-paint.base.rgb24.ref.png [deleted file]
test/reference/record1414x-paint.egl.argb32.ref.png [deleted file]
test/reference/record1414x-paint.rgb24.ref.png [deleted file]
test/reference/record1414x-select-font-face.argb32.ref.png [deleted file]
test/reference/record1414x-select-font-face.base.argb32.ref.png [deleted file]
test/reference/record1414x-select-font-face.base.rgb24.ref.png [deleted file]
test/reference/record1414x-select-font-face.egl.argb32.ref.png [deleted file]
test/reference/record1414x-select-font-face.rgb24.ref.png [deleted file]
test/reference/record1414x-self-intersecting.argb32.ref.png [deleted file]
test/reference/record1414x-self-intersecting.base.argb32.ref.png [deleted file]
test/reference/record1414x-self-intersecting.base.rgb24.ref.png [deleted file]
test/reference/record1414x-self-intersecting.egl.argb32.ref.png [deleted file]
test/reference/record1414x-self-intersecting.rgb24.ref.png [deleted file]
test/reference/record1414x-text-transform.base.argb32.ref.png [deleted file]
test/reference/record1414x-text-transform.base.rgb24.ref.png [deleted file]
test/reference/record1414x-text-transform.egl.argb32.ref.png [deleted file]
test/reference/record1414x-text-transform.ref.png [deleted file]
test/reference/record2x-fill-alpha.argb32.ref.png [deleted file]
test/reference/record2x-fill-alpha.base.argb32.ref.png [deleted file]
test/reference/record2x-fill-alpha.base.rgb24.ref.png [deleted file]
test/reference/record2x-fill-alpha.base.xfail.png [deleted file]
test/reference/record2x-fill-alpha.egl.argb32.ref.png [deleted file]
test/reference/record2x-fill-alpha.rgb24.ref.png [deleted file]
test/reference/record2x-fill-alpha.xfail.png [deleted file]
test/reference/record2x-paint-alpha-clip-mask.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha-clip-mask.base.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha-clip-mask.base.rgb24.ref.png [deleted file]
test/reference/record2x-paint-alpha-clip-mask.egl.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha-clip-mask.rgb24.ref.png [deleted file]
test/reference/record2x-paint-alpha-clip.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha-clip.base.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha-clip.base.rgb24.ref.png [deleted file]
test/reference/record2x-paint-alpha-clip.egl.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha-clip.rgb24.ref.png [deleted file]
test/reference/record2x-paint-alpha-solid-clip.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha-solid-clip.base.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha-solid-clip.base.rgb24.ref.png [deleted file]
test/reference/record2x-paint-alpha-solid-clip.egl.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha-solid-clip.rgb24.ref.png [deleted file]
test/reference/record2x-paint-alpha.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha.base.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha.base.rgb24.ref.png [deleted file]
test/reference/record2x-paint-alpha.egl.argb32.ref.png [deleted file]
test/reference/record2x-paint-alpha.rgb24.ref.png [deleted file]
test/reference/record2x-paint.argb32.ref.png [deleted file]
test/reference/record2x-paint.base.argb32.ref.png [deleted file]
test/reference/record2x-paint.base.rgb24.ref.png [deleted file]
test/reference/record2x-paint.egl.argb32.ref.png [deleted file]
test/reference/record2x-paint.rgb24.ref.png [deleted file]
test/reference/record2x-select-font-face.argb32.ref.png [deleted file]
test/reference/record2x-select-font-face.base.argb32.ref.png [deleted file]
test/reference/record2x-select-font-face.base.rgb24.ref.png [deleted file]
test/reference/record2x-select-font-face.egl.argb32.ref.png [deleted file]
test/reference/record2x-select-font-face.rgb24.ref.png [deleted file]
test/reference/record2x-self-intersecting.argb32.ref.png [deleted file]
test/reference/record2x-self-intersecting.base.argb32.ref.png [deleted file]
test/reference/record2x-self-intersecting.base.rgb24.ref.png [deleted file]
test/reference/record2x-self-intersecting.egl.argb32.ref.png [deleted file]
test/reference/record2x-self-intersecting.rgb24.ref.png [deleted file]
test/reference/record2x-text-transform.base.argb32.ref.png [deleted file]
test/reference/record2x-text-transform.base.rgb24.ref.png [deleted file]
test/reference/record2x-text-transform.egl.argb32.ref.png [deleted file]
test/reference/record2x-text-transform.ref.png [deleted file]
test/reference/record90-fill-alpha.argb32.ref.png [deleted file]
test/reference/record90-fill-alpha.base.argb32.ref.png [deleted file]
test/reference/record90-fill-alpha.base.rgb24.ref.png [deleted file]
test/reference/record90-fill-alpha.egl.argb32.ref.png [deleted file]
test/reference/record90-fill-alpha.rgb24.ref.png [deleted file]
test/reference/record90-fill-alpha.xfail.png [deleted file]
test/reference/record90-paint-alpha-clip-mask.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha-clip-mask.base.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha-clip-mask.base.rgb24.ref.png [deleted file]
test/reference/record90-paint-alpha-clip-mask.egl.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha-clip-mask.rgb24.ref.png [deleted file]
test/reference/record90-paint-alpha-clip-mask.xfail.png [deleted file]
test/reference/record90-paint-alpha-clip.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha-clip.base.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha-clip.base.rgb24.ref.png [deleted file]
test/reference/record90-paint-alpha-clip.egl.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha-clip.rgb24.ref.png [deleted file]
test/reference/record90-paint-alpha-clip.xfail.png [deleted file]
test/reference/record90-paint-alpha-solid-clip.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha-solid-clip.base.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha-solid-clip.base.rgb24.ref.png [deleted file]
test/reference/record90-paint-alpha-solid-clip.egl.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha-solid-clip.rgb24.ref.png [deleted file]
test/reference/record90-paint-alpha.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha.base.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha.base.rgb24.ref.png [deleted file]
test/reference/record90-paint-alpha.egl.argb32.ref.png [deleted file]
test/reference/record90-paint-alpha.rgb24.ref.png [deleted file]
test/reference/record90-paint.argb32.ref.png [deleted file]
test/reference/record90-paint.base.argb32.ref.png [deleted file]
test/reference/record90-paint.base.rgb24.ref.png [deleted file]
test/reference/record90-paint.egl.argb32.ref.png [deleted file]
test/reference/record90-paint.rgb24.ref.png [deleted file]
test/reference/record90-select-font-face.argb32.ref.png [deleted file]
test/reference/record90-select-font-face.base.argb32.ref.png [deleted file]
test/reference/record90-select-font-face.base.rgb24.ref.png [deleted file]
test/reference/record90-select-font-face.egl.argb32.ref.png [deleted file]
test/reference/record90-select-font-face.rgb24.ref.png [deleted file]
test/reference/record90-self-intersecting.argb32.ref.png [deleted file]
test/reference/record90-self-intersecting.base.argb32.ref.png [deleted file]
test/reference/record90-self-intersecting.base.rgb24.ref.png [deleted file]
test/reference/record90-self-intersecting.egl.argb32.ref.png [deleted file]
test/reference/record90-self-intersecting.rgb24.ref.png [deleted file]
test/reference/record90-text-transform.argb32.ref.png [deleted file]
test/reference/record90-text-transform.base.argb32.ref.png [deleted file]
test/reference/record90-text-transform.base.rgb24.ref.png [deleted file]
test/reference/record90-text-transform.egl.argb32.ref.png [deleted file]
test/reference/record90-text-transform.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-none.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-none.base.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-none.base.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-none.egl.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-none.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-none.traps.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-none.traps.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-pad.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-pad.base.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-pad.base.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-pad.egl.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-pad.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-pad.traps.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-pad.traps.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-reflect.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-reflect.base.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-reflect.base.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-reflect.egl.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-reflect.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-reflect.traps.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-reflect.traps.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-repeat.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-repeat.base.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-repeat.base.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-repeat.egl.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-repeat.rgb24.ref.png [deleted file]
test/reference/recording-surface-extend-repeat.traps.argb32.ref.png [deleted file]
test/reference/recording-surface-extend-repeat.traps.rgb24.ref.png [deleted file]
test/reference/recording-surface-over.base.argb32.ref.png [deleted file]
test/reference/recording-surface-over.base.rgb24.ref.png [deleted file]
test/reference/recording-surface-over.egl.argb32.ref.png [deleted file]
test/reference/recording-surface-over.gl.argb32.ref.png [deleted file]
test/reference/recording-surface-over.image16.ref.png [deleted file]
test/reference/recording-surface-over.pdf.argb32.ref.png [deleted file]
test/reference/recording-surface-over.pdf.rgb24.ref.png [deleted file]
test/reference/recording-surface-over.ps.argb32.ref.png [deleted file]
test/reference/recording-surface-over.ps.rgb24.ref.png [deleted file]
test/reference/recording-surface-over.quartz.argb32.ref.png [deleted file]
test/reference/recording-surface-over.quartz.rgb24.ref.png [deleted file]
test/reference/recording-surface-over.ref.png [deleted file]
test/reference/recording-surface-over.rgb24.ref.png [deleted file]
test/reference/recording-surface-over.svg.argb32.ref.png [deleted file]
test/reference/recording-surface-over.svg.rgb24.ref.png [deleted file]
test/reference/recording-surface-over.traps.argb32.ref.png [deleted file]
test/reference/recording-surface-over.traps.rgb24.ref.png [deleted file]
test/reference/recording-surface-source.argb32.ref.png [deleted file]
test/reference/recording-surface-source.base.argb32.ref.png [deleted file]
test/reference/recording-surface-source.base.rgb24.ref.png [deleted file]
test/reference/recording-surface-source.egl.argb32.ref.png [deleted file]
test/reference/recording-surface-source.rgb24.ref.png [deleted file]
test/reference/recording-surface-source.traps.argb32.ref.png [deleted file]
test/reference/recording-surface-source.traps.rgb24.ref.png [deleted file]
test/reference/rectangle-rounding-error.argb32.ref.png [deleted file]
test/reference/rectangle-rounding-error.base.argb32.ref.png [deleted file]
test/reference/rectangle-rounding-error.base.rgb24.ref.png [deleted file]
test/reference/rectangle-rounding-error.egl.argb32.ref.png [deleted file]
test/reference/rectangle-rounding-error.mask.argb32.ref.png [deleted file]
test/reference/rectangle-rounding-error.mask.rgb24.ref.png [deleted file]
test/reference/rectangle-rounding-error.ref.png [deleted file]
test/reference/rectangle-rounding-error.rgb24.ref.png [deleted file]
test/reference/rectangle-rounding-error.traps.argb32.ref.png [deleted file]
test/reference/rectangle-rounding-error.traps.rgb24.ref.png [deleted file]
test/reference/rectilinear-dash-scale-unaligned.ref.png [deleted file]
test/reference/rectilinear-dash-scale-unaligned.traps.ref.png [deleted file]
test/reference/rectilinear-dash-scale.ref.png [deleted file]
test/reference/rectilinear-dash.argb32.ref.png [deleted file]
test/reference/rectilinear-dash.base.argb32.ref.png [deleted file]
test/reference/rectilinear-dash.base.rgb24.ref.png [deleted file]
test/reference/rectilinear-dash.egl.argb32.ref.png [deleted file]
test/reference/rectilinear-dash.mask.argb32.ref.png [deleted file]
test/reference/rectilinear-dash.mask.rgb24.ref.png [deleted file]
test/reference/rectilinear-dash.quartz.xfail.png [deleted file]
test/reference/rectilinear-dash.ref.png [deleted file]
test/reference/rectilinear-dash.rgb24.ref.png [deleted file]
test/reference/rectilinear-dash.traps.argb32.ref.png [deleted file]
test/reference/rectilinear-dash.traps.rgb24.ref.png [deleted file]
test/reference/rectilinear-fill.argb32.ref.png [deleted file]
test/reference/rectilinear-fill.base.argb32.ref.png [deleted file]
test/reference/rectilinear-fill.base.rgb24.ref.png [deleted file]
test/reference/rectilinear-fill.egl.argb32.ref.png [deleted file]
test/reference/rectilinear-fill.mask.argb32.ref.png [deleted file]
test/reference/rectilinear-fill.mask.rgb24.ref.png [deleted file]
test/reference/rectilinear-fill.ref.png [deleted file]
test/reference/rectilinear-fill.rgb24.ref.png [deleted file]
test/reference/rectilinear-fill.traps.argb32.ref.png [deleted file]
test/reference/rectilinear-fill.traps.rgb24.ref.png [deleted file]
test/reference/rectilinear-grid.argb32.ref.png [deleted file]
test/reference/rectilinear-grid.base.argb32.ref.png [deleted file]
test/reference/rectilinear-grid.base.rgb24.ref.png [deleted file]
test/reference/rectilinear-grid.egl.argb32.ref.png [deleted file]
test/reference/rectilinear-grid.image16.ref.png [deleted file]
test/reference/rectilinear-grid.mask.argb32.ref.png [deleted file]
test/reference/rectilinear-grid.mask.rgb24.ref.png [deleted file]
test/reference/rectilinear-grid.ref.png [deleted file]
test/reference/rectilinear-grid.rgb24.ref.png [deleted file]
test/reference/rectilinear-grid.traps.argb32.ref.png [deleted file]
test/reference/rectilinear-grid.traps.rgb24.ref.png [deleted file]
test/reference/rectilinear-miter-limit.argb32.ref.png [deleted file]
test/reference/rectilinear-miter-limit.base.argb32.ref.png [deleted file]
test/reference/rectilinear-miter-limit.base.rgb24.ref.png [deleted file]
test/reference/rectilinear-miter-limit.egl.argb32.ref.png [deleted file]
test/reference/rectilinear-miter-limit.mask.argb32.ref.png [deleted file]
test/reference/rectilinear-miter-limit.mask.rgb24.ref.png [deleted file]
test/reference/rectilinear-miter-limit.ps2.ref.png [deleted file]
test/reference/rectilinear-miter-limit.ps3.ref.png [deleted file]
test/reference/rectilinear-miter-limit.ref.png [deleted file]
test/reference/rectilinear-miter-limit.rgb24.ref.png [deleted file]
test/reference/rectilinear-miter-limit.traps.argb32.ref.png [deleted file]
test/reference/rectilinear-miter-limit.traps.rgb24.ref.png [deleted file]
test/reference/rectilinear-stroke.argb32.ref.png [deleted file]
test/reference/rectilinear-stroke.base.argb32.ref.png [deleted file]
test/reference/rectilinear-stroke.base.rgb24.ref.png [deleted file]
test/reference/rectilinear-stroke.egl.argb32.ref.png [deleted file]
test/reference/rectilinear-stroke.mask.argb32.ref.png [deleted file]
test/reference/rectilinear-stroke.mask.rgb24.ref.png [deleted file]
test/reference/rectilinear-stroke.quartz.xfail.png [deleted file]
test/reference/rectilinear-stroke.ref.png [deleted file]
test/reference/rectilinear-stroke.rgb24.ref.png [deleted file]
test/reference/rectilinear-stroke.traps.argb32.ref.png [deleted file]
test/reference/rectilinear-stroke.traps.rgb24.ref.png [deleted file]
test/reference/reflected-stroke.argb32.ref.png [deleted file]
test/reference/reflected-stroke.base.argb32.ref.png [deleted file]
test/reference/reflected-stroke.base.rgb24.ref.png [deleted file]
test/reference/reflected-stroke.egl.argb32.ref.png [deleted file]
test/reference/reflected-stroke.image16.ref.png [deleted file]
test/reference/reflected-stroke.mask.argb32.ref.png [deleted file]
test/reference/reflected-stroke.mask.rgb24.ref.png [deleted file]
test/reference/reflected-stroke.ps.ref.png [deleted file]
test/reference/reflected-stroke.ref.png [deleted file]
test/reference/reflected-stroke.rgb24.ref.png [deleted file]
test/reference/reflected-stroke.traps.argb32.ref.png [deleted file]
test/reference/reflected-stroke.traps.rgb24.ref.png [deleted file]
test/reference/rel-path.argb32.ref.png [deleted file]
test/reference/rel-path.base.argb32.ref.png [deleted file]
test/reference/rel-path.base.rgb24.ref.png [deleted file]
test/reference/rel-path.egl.argb32.ref.png [deleted file]
test/reference/rel-path.mask.argb32.ref.png [deleted file]
test/reference/rel-path.mask.rgb24.ref.png [deleted file]
test/reference/rel-path.ps2.rgb24.ref.png [deleted file]
test/reference/rel-path.ps3.rgb24.ref.png [deleted file]
test/reference/rel-path.ref.png [deleted file]
test/reference/rel-path.rgb24.ref.png [deleted file]
test/reference/rel-path.traps.argb32.ref.png [deleted file]
test/reference/rel-path.traps.rgb24.ref.png [deleted file]
test/reference/rgb24-ignore-alpha.argb32.ref.png [deleted file]
test/reference/rgb24-ignore-alpha.base.argb32.ref.png [deleted file]
test/reference/rgb24-ignore-alpha.base.rgb24.ref.png [deleted file]
test/reference/rgb24-ignore-alpha.egl.argb32.ref.png [deleted file]
test/reference/rgb24-ignore-alpha.mask.argb32.ref.png [deleted file]
test/reference/rgb24-ignore-alpha.mask.rgb24.ref.png [deleted file]
test/reference/rgb24-ignore-alpha.ref.png [deleted file]
test/reference/rgb24-ignore-alpha.rgb24.ref.png [deleted file]
test/reference/rgb24-ignore-alpha.traps.argb32.ref.png [deleted file]
test/reference/rgb24-ignore-alpha.traps.rgb24.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.argb32.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.base.argb32.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.base.rgb24.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.egl.argb32.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.mask.argb32.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.mask.rgb24.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.rgb24.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.traps.argb32.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.traps.rgb24.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/rotate-clip-image-surface-paint.xlib-window.rgb24.ref.png [deleted file]
test/reference/rotate-image-surface-paint.argb32.ref.png [deleted file]
test/reference/rotate-image-surface-paint.base.argb32.ref.png [deleted file]
test/reference/rotate-image-surface-paint.base.rgb24.ref.png [deleted file]
test/reference/rotate-image-surface-paint.egl.argb32.ref.png [deleted file]
test/reference/rotate-image-surface-paint.mask.argb32.ref.png [deleted file]
test/reference/rotate-image-surface-paint.mask.rgb24.ref.png [deleted file]
test/reference/rotate-image-surface-paint.pdf.xfail.png [deleted file]
test/reference/rotate-image-surface-paint.ps.ref.png [deleted file]
test/reference/rotate-image-surface-paint.quartz.ref.png [deleted file]
test/reference/rotate-image-surface-paint.ref.png [deleted file]
test/reference/rotate-image-surface-paint.rgb24.ref.png [deleted file]
test/reference/rotate-image-surface-paint.svg.ref.png [deleted file]
test/reference/rotate-image-surface-paint.svg.xfail.png [deleted file]
test/reference/rotate-image-surface-paint.traps.argb32.ref.png [deleted file]
test/reference/rotate-image-surface-paint.traps.rgb24.ref.png [deleted file]
test/reference/rotate-image-surface-paint.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/rotate-image-surface-paint.xlib-window.rgb24.ref.png [deleted file]
test/reference/rotated-clip.argb32.ref.png [deleted file]
test/reference/rotated-clip.base.argb32.ref.png [deleted file]
test/reference/rotated-clip.base.rgb24.ref.png [deleted file]
test/reference/rotated-clip.egl.argb32.ref.png [deleted file]
test/reference/rotated-clip.image16.ref.png [deleted file]
test/reference/rotated-clip.mask.argb32.ref.png [deleted file]
test/reference/rotated-clip.mask.rgb24.ref.png [deleted file]
test/reference/rotated-clip.ps.ref.png [deleted file]
test/reference/rotated-clip.quartz.ref.png [deleted file]
test/reference/rotated-clip.ref.png [deleted file]
test/reference/rotated-clip.rgb24.ref.png [deleted file]
test/reference/rotated-clip.traps.argb32.ref.png [deleted file]
test/reference/rotated-clip.traps.rgb24.ref.png [deleted file]
test/reference/rounded-rectangle-fill.argb32.ref.png [deleted file]
test/reference/rounded-rectangle-fill.base.argb32.ref.png [deleted file]
test/reference/rounded-rectangle-fill.base.rgb24.ref.png [deleted file]
test/reference/rounded-rectangle-fill.egl.argb32.ref.png [deleted file]
test/reference/rounded-rectangle-fill.image16.ref.png [deleted file]
test/reference/rounded-rectangle-fill.mask.argb32.ref.png [deleted file]
test/reference/rounded-rectangle-fill.mask.rgb24.ref.png [deleted file]
test/reference/rounded-rectangle-fill.ps.ref.png [deleted file]
test/reference/rounded-rectangle-fill.quartz.ref.png [deleted file]
test/reference/rounded-rectangle-fill.ref.png [deleted file]
test/reference/rounded-rectangle-fill.rgb24.ref.png [deleted file]
test/reference/rounded-rectangle-fill.traps.argb32.ref.png [deleted file]
test/reference/rounded-rectangle-fill.traps.rgb24.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.argb32.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.base.argb32.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.base.rgb24.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.egl.argb32.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.image16.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.mask.argb32.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.mask.rgb24.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.ps.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.rgb24.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.traps.argb32.ref.png [deleted file]
test/reference/rounded-rectangle-stroke.traps.rgb24.ref.png [deleted file]
test/reference/scale-down-source-surface-paint.argb32.ref.png [deleted file]
test/reference/scale-down-source-surface-paint.base.argb32.ref.png [deleted file]
test/reference/scale-down-source-surface-paint.base.rgb24.ref.png [deleted file]
test/reference/scale-down-source-surface-paint.egl.argb32.ref.png [deleted file]
test/reference/scale-down-source-surface-paint.mask.argb32.ref.png [deleted file]
test/reference/scale-down-source-surface-paint.mask.rgb24.ref.png [deleted file]
test/reference/scale-down-source-surface-paint.ref.png [deleted file]
test/reference/scale-down-source-surface-paint.rgb24.ref.png [deleted file]
test/reference/scale-down-source-surface-paint.traps.argb32.ref.png [deleted file]
test/reference/scale-down-source-surface-paint.traps.rgb24.ref.png [deleted file]
test/reference/scale-offset-image.argb32.ref.png [deleted file]
test/reference/scale-offset-image.base.argb32.ref.png [deleted file]
test/reference/scale-offset-image.base.rgb24.ref.png [deleted file]
test/reference/scale-offset-image.egl.argb32.ref.png [deleted file]
test/reference/scale-offset-image.gl.ref.png [deleted file]
test/reference/scale-offset-image.image16.ref.png [deleted file]
test/reference/scale-offset-image.mask.argb32.ref.png [deleted file]
test/reference/scale-offset-image.mask.rgb24.ref.png [deleted file]
test/reference/scale-offset-image.pdf.argb32.ref.png [deleted file]
test/reference/scale-offset-image.pdf.rgb24.ref.png [deleted file]
test/reference/scale-offset-image.ps.ref.png [deleted file]
test/reference/scale-offset-image.quartz.ref.png [deleted file]
test/reference/scale-offset-image.ref.png [deleted file]
test/reference/scale-offset-image.rgb24.ref.png [deleted file]
test/reference/scale-offset-image.script.xfail.png [deleted file]
test/reference/scale-offset-image.traps.argb32.ref.png [deleted file]
test/reference/scale-offset-image.traps.rgb24.ref.png [deleted file]
test/reference/scale-offset-image.xfail.png [deleted file]
test/reference/scale-offset-image.xlib-fallback.xfail.png [deleted file]
test/reference/scale-offset-similar.argb32.ref.png [deleted file]
test/reference/scale-offset-similar.base.argb32.ref.png [deleted file]
test/reference/scale-offset-similar.base.rgb24.ref.png [deleted file]
test/reference/scale-offset-similar.egl.argb32.ref.png [deleted file]
test/reference/scale-offset-similar.gl.ref.png [deleted file]
test/reference/scale-offset-similar.image16.ref.png [deleted file]
test/reference/scale-offset-similar.mask.argb32.ref.png [deleted file]
test/reference/scale-offset-similar.mask.rgb24.ref.png [deleted file]
test/reference/scale-offset-similar.pdf.argb32.ref.png [deleted file]
test/reference/scale-offset-similar.pdf.rgb24.ref.png [deleted file]
test/reference/scale-offset-similar.ps.ref.png [deleted file]
test/reference/scale-offset-similar.quartz.ref.png [deleted file]
test/reference/scale-offset-similar.recording.xfail.png [deleted file]
test/reference/scale-offset-similar.ref.png [deleted file]
test/reference/scale-offset-similar.rgb24.ref.png [deleted file]
test/reference/scale-offset-similar.script.xfail.png [deleted file]
test/reference/scale-offset-similar.traps.argb32.ref.png [deleted file]
test/reference/scale-offset-similar.traps.rgb24.ref.png [deleted file]
test/reference/scale-offset-similar.xfail.png [deleted file]
test/reference/scale-offset-similar.xlib-fallback.xfail.png [deleted file]
test/reference/scale-offset-similar.xlib.xfail.png [deleted file]
test/reference/scale-offset-xlib-fallback.rgb24.ref.png [deleted file]
test/reference/scale-offset-xlib-window.rgb24.ref.png [deleted file]
test/reference/scale-offset-xlib.argb32.ref.png [deleted file]
test/reference/scale-offset-xlib.rgb24.ref.png [deleted file]
test/reference/scale-source-surface-paint.argb32.ref.png [deleted file]
test/reference/scale-source-surface-paint.base.argb32.ref.png [deleted file]
test/reference/scale-source-surface-paint.base.rgb24.ref.png [deleted file]
test/reference/scale-source-surface-paint.egl.argb32.ref.png [deleted file]
test/reference/scale-source-surface-paint.mask.argb32.ref.png [deleted file]
test/reference/scale-source-surface-paint.mask.rgb24.ref.png [deleted file]
test/reference/scale-source-surface-paint.pdf.argb32.xfail.png [deleted file]
test/reference/scale-source-surface-paint.pdf.rgb24.xfail.png [deleted file]
test/reference/scale-source-surface-paint.ref.png [deleted file]
test/reference/scale-source-surface-paint.rgb24.ref.png [deleted file]
test/reference/scale-source-surface-paint.svg.argb32.xfail.png [deleted file]
test/reference/scale-source-surface-paint.svg.rgb24.xfail.png [deleted file]
test/reference/scale-source-surface-paint.traps.argb32.ref.png [deleted file]
test/reference/scale-source-surface-paint.traps.rgb24.ref.png [deleted file]
test/reference/select-font-face.argb32.ref.png [deleted file]
test/reference/select-font-face.base.argb32.ref.png [deleted file]
test/reference/select-font-face.base.rgb24.ref.png [deleted file]
test/reference/select-font-face.image16.ref.png [deleted file]
test/reference/select-font-face.mask.argb32.ref.png [deleted file]
test/reference/select-font-face.mask.rgb24.ref.png [deleted file]
test/reference/select-font-face.ps2.ref.png [deleted file]
test/reference/select-font-face.ps3.ref.png [deleted file]
test/reference/select-font-face.quartz.ref.png [deleted file]
test/reference/select-font-face.ref.png [deleted file]
test/reference/select-font-face.rgb24.ref.png [deleted file]
test/reference/select-font-face.traps.argb32.ref.png [deleted file]
test/reference/select-font-face.traps.ref.png [deleted file]
test/reference/select-font-face.traps.rgb24.ref.png [deleted file]
test/reference/self-copy-overlap.base.argb32.ref.png [deleted file]
test/reference/self-copy-overlap.base.rgb24.ref.png [deleted file]
test/reference/self-copy-overlap.egl.argb32.ref.png [deleted file]
test/reference/self-copy-overlap.mask.argb32.ref.png [deleted file]
test/reference/self-copy-overlap.mask.rgb24.ref.png [deleted file]
test/reference/self-copy-overlap.traps.argb32.ref.png [deleted file]
test/reference/self-copy-overlap.traps.rgb24.ref.png [deleted file]
test/reference/self-copy.argb32.ref.png [deleted file]
test/reference/self-copy.base.argb32.ref.png [deleted file]
test/reference/self-copy.base.rgb24.ref.png [deleted file]
test/reference/self-copy.egl.argb32.ref.png [deleted file]
test/reference/self-copy.mask.argb32.ref.png [deleted file]
test/reference/self-copy.mask.rgb24.ref.png [deleted file]
test/reference/self-copy.ps2.ref.png [deleted file]
test/reference/self-copy.ps3.ref.png [deleted file]
test/reference/self-copy.ref.png [deleted file]
test/reference/self-copy.rgb24.ref.png [deleted file]
test/reference/self-copy.traps.argb32.ref.png [deleted file]
test/reference/self-copy.traps.rgb24.ref.png [deleted file]
test/reference/self-intersecting.argb32.ref.png [deleted file]
test/reference/self-intersecting.base.argb32.ref.png [deleted file]
test/reference/self-intersecting.base.rgb24.ref.png [deleted file]
test/reference/self-intersecting.egl.argb32.ref.png [deleted file]
test/reference/self-intersecting.mask.argb32.ref.png [deleted file]
test/reference/self-intersecting.mask.rgb24.ref.png [deleted file]
test/reference/self-intersecting.ps.ref.png [deleted file]
test/reference/self-intersecting.quartz.xfail.png [deleted file]
test/reference/self-intersecting.ref.png [deleted file]
test/reference/self-intersecting.rgb24.ref.png [deleted file]
test/reference/self-intersecting.traps.argb32.ref.png [deleted file]
test/reference/self-intersecting.traps.rgb24.ref.png [deleted file]
test/reference/set-source.argb32.ref.png [deleted file]
test/reference/set-source.base.argb32.ref.png [deleted file]
test/reference/set-source.base.rgb24.ref.png [deleted file]
test/reference/set-source.egl.argb32.ref.png [deleted file]
test/reference/set-source.mask.argb32.ref.png [deleted file]
test/reference/set-source.mask.rgb24.ref.png [deleted file]
test/reference/set-source.ref.png [deleted file]
test/reference/set-source.rgb24.ref.png [deleted file]
test/reference/set-source.traps.argb32.ref.png [deleted file]
test/reference/set-source.traps.rgb24.ref.png [deleted file]
test/reference/shape-general-convex.argb32.ref.png [deleted file]
test/reference/shape-general-convex.base.argb32.ref.png [deleted file]
test/reference/shape-general-convex.base.rgb24.ref.png [deleted file]
test/reference/shape-general-convex.egl.argb32.ref.png [deleted file]
test/reference/shape-general-convex.mask.argb32.ref.png [deleted file]
test/reference/shape-general-convex.mask.rgb24.ref.png [deleted file]
test/reference/shape-general-convex.ps.ref.png [deleted file]
test/reference/shape-general-convex.ref.png [deleted file]
test/reference/shape-general-convex.rgb24.ref.png [deleted file]
test/reference/shape-general-convex.traps.argb32.ref.png [deleted file]
test/reference/shape-general-convex.traps.rgb24.ref.png [deleted file]
test/reference/shape-sierpinski.argb32.ref.png [deleted file]
test/reference/shape-sierpinski.base.argb32.ref.png [deleted file]
test/reference/shape-sierpinski.base.rgb24.ref.png [deleted file]
test/reference/shape-sierpinski.egl.argb32.ref.png [deleted file]
test/reference/shape-sierpinski.mask.argb32.ref.png [deleted file]
test/reference/shape-sierpinski.mask.rgb24.ref.png [deleted file]
test/reference/shape-sierpinski.pdf.argb32.ref.png [deleted file]
test/reference/shape-sierpinski.pdf.rgb24.ref.png [deleted file]
test/reference/shape-sierpinski.ps.ref.png [deleted file]
test/reference/shape-sierpinski.ps3.argb32.ref.png [deleted file]
test/reference/shape-sierpinski.ps3.rgb24.ref.png [deleted file]
test/reference/shape-sierpinski.ref.png [deleted file]
test/reference/shape-sierpinski.rgb24.ref.png [deleted file]
test/reference/shape-sierpinski.traps.argb32.ref.png [deleted file]
test/reference/shape-sierpinski.traps.rgb24.ref.png [deleted file]
test/reference/show-glyphs-advance.argb32.ref.png [deleted file]
test/reference/show-glyphs-advance.base.argb32.ref.png [deleted file]
test/reference/show-glyphs-advance.base.rgb24.ref.png [deleted file]
test/reference/show-glyphs-advance.egl.argb32.ref.png [deleted file]
test/reference/show-glyphs-advance.image16.ref.png [deleted file]
test/reference/show-glyphs-advance.mask.argb32.ref.png [deleted file]
test/reference/show-glyphs-advance.mask.rgb24.ref.png [deleted file]
test/reference/show-glyphs-advance.ps.ref.png [deleted file]
test/reference/show-glyphs-advance.quartz.ref.png [deleted file]
test/reference/show-glyphs-advance.ref.png [deleted file]
test/reference/show-glyphs-advance.rgb24.ref.png [deleted file]
test/reference/show-glyphs-advance.svg.ref.png [deleted file]
test/reference/show-glyphs-advance.traps.argb32.ref.png [deleted file]
test/reference/show-glyphs-advance.traps.ref.png [deleted file]
test/reference/show-glyphs-advance.traps.rgb24.ref.png [deleted file]
test/reference/show-glyphs-many.argb32.ref.png [deleted file]
test/reference/show-glyphs-many.base.argb32.ref.png [deleted file]
test/reference/show-glyphs-many.base.rgb24.ref.png [deleted file]
test/reference/show-glyphs-many.egl.argb32.ref.png [deleted file]
test/reference/show-glyphs-many.mask.argb32.ref.png [deleted file]
test/reference/show-glyphs-many.mask.rgb24.ref.png [deleted file]
test/reference/show-glyphs-many.ref.png [deleted file]
test/reference/show-glyphs-many.rgb24.ref.png [deleted file]
test/reference/show-glyphs-many.traps.argb32.ref.png [deleted file]
test/reference/show-glyphs-many.traps.rgb24.ref.png [deleted file]
test/reference/show-text-current-point.argb32.ref.png [deleted file]
test/reference/show-text-current-point.base.argb32.ref.png [deleted file]
test/reference/show-text-current-point.base.rgb24.ref.png [deleted file]
test/reference/show-text-current-point.image16.ref.png [deleted file]
test/reference/show-text-current-point.mask.argb32.ref.png [deleted file]
test/reference/show-text-current-point.mask.rgb24.ref.png [deleted file]
test/reference/show-text-current-point.ps2.ref.png [deleted file]
test/reference/show-text-current-point.ps3.ref.png [deleted file]
test/reference/show-text-current-point.quartz.ref.png [deleted file]
test/reference/show-text-current-point.ref.png [deleted file]
test/reference/show-text-current-point.rgb24.ref.png [deleted file]
test/reference/show-text-current-point.traps.argb32.ref.png [deleted file]
test/reference/show-text-current-point.traps.ref.png [deleted file]
test/reference/show-text-current-point.traps.rgb24.ref.png [deleted file]
test/reference/skew-extreme.argb32.ref.png [deleted file]
test/reference/skew-extreme.base.argb32.ref.png [deleted file]
test/reference/skew-extreme.base.rgb24.ref.png [deleted file]
test/reference/skew-extreme.egl.argb32.ref.png [deleted file]
test/reference/skew-extreme.mask.argb32.ref.png [deleted file]
test/reference/skew-extreme.mask.rgb24.ref.png [deleted file]
test/reference/skew-extreme.ps2.ref.png [deleted file]
test/reference/skew-extreme.ps3.ref.png [deleted file]
test/reference/skew-extreme.ref.png [deleted file]
test/reference/skew-extreme.rgb24.ref.png [deleted file]
test/reference/skew-extreme.traps.argb32.ref.png [deleted file]
test/reference/skew-extreme.traps.rgb24.ref.png [deleted file]
test/reference/smask-fill.argb32.ref.png [deleted file]
test/reference/smask-fill.base.argb32.ref.png [deleted file]
test/reference/smask-fill.base.rgb24.ref.png [deleted file]
test/reference/smask-fill.egl.argb32.ref.png [deleted file]
test/reference/smask-fill.image16.ref.png [deleted file]
test/reference/smask-fill.mask.argb32.ref.png [deleted file]
test/reference/smask-fill.mask.rgb24.ref.png [deleted file]
test/reference/smask-fill.pdf.ref.png [deleted file]
test/reference/smask-fill.quartz.ref.png [deleted file]
test/reference/smask-fill.ref.png [deleted file]
test/reference/smask-fill.rgb24.ref.png [deleted file]
test/reference/smask-fill.svg.ref.png [deleted file]
test/reference/smask-fill.traps.argb32.ref.png [deleted file]
test/reference/smask-fill.traps.rgb24.ref.png [deleted file]
test/reference/smask-image-mask.argb32.ref.png [deleted file]
test/reference/smask-image-mask.base.argb32.ref.png [deleted file]
test/reference/smask-image-mask.base.rgb24.ref.png [deleted file]
test/reference/smask-image-mask.egl.argb32.ref.png [deleted file]
test/reference/smask-image-mask.mask.argb32.ref.png [deleted file]
test/reference/smask-image-mask.mask.rgb24.ref.png [deleted file]
test/reference/smask-image-mask.pdf.ref.png [deleted file]
test/reference/smask-image-mask.ref.png [deleted file]
test/reference/smask-image-mask.rgb24.ref.png [deleted file]
test/reference/smask-image-mask.traps.argb32.ref.png [deleted file]
test/reference/smask-image-mask.traps.rgb24.ref.png [deleted file]
test/reference/smask-image-mask.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/smask-image-mask.xlib-window.rgb24.ref.png [deleted file]
test/reference/smask-mask.argb32.ref.png [deleted file]
test/reference/smask-mask.base.argb32.ref.png [deleted file]
test/reference/smask-mask.base.rgb24.ref.png [deleted file]
test/reference/smask-mask.egl.argb32.ref.png [deleted file]
test/reference/smask-mask.image16.ref.png [deleted file]
test/reference/smask-mask.mask.argb32.ref.png [deleted file]
test/reference/smask-mask.mask.rgb24.ref.png [deleted file]
test/reference/smask-mask.pdf.ref.png [deleted file]
test/reference/smask-mask.quartz.ref.png [deleted file]
test/reference/smask-mask.ref.png [deleted file]
test/reference/smask-mask.rgb24.ref.png [deleted file]
test/reference/smask-mask.svg.ref.png [deleted file]
test/reference/smask-mask.traps.argb32.ref.png [deleted file]
test/reference/smask-mask.traps.rgb24.ref.png [deleted file]
test/reference/smask-paint.argb32.ref.png [deleted file]
test/reference/smask-paint.base.argb32.ref.png [deleted file]
test/reference/smask-paint.base.rgb24.ref.png [deleted file]
test/reference/smask-paint.egl.argb32.ref.png [deleted file]
test/reference/smask-paint.image16.ref.png [deleted file]
test/reference/smask-paint.mask.argb32.ref.png [deleted file]
test/reference/smask-paint.mask.rgb24.ref.png [deleted file]
test/reference/smask-paint.pdf.ref.png [deleted file]
test/reference/smask-paint.quartz.ref.png [deleted file]
test/reference/smask-paint.ref.png [deleted file]
test/reference/smask-paint.rgb24.ref.png [deleted file]
test/reference/smask-paint.svg.ref.png [deleted file]
test/reference/smask-paint.traps.argb32.ref.png [deleted file]
test/reference/smask-paint.traps.rgb24.ref.png [deleted file]
test/reference/smask-stroke.argb32.ref.png [deleted file]
test/reference/smask-stroke.base.argb32.ref.png [deleted file]
test/reference/smask-stroke.base.rgb24.ref.png [deleted file]
test/reference/smask-stroke.egl.argb32.ref.png [deleted file]
test/reference/smask-stroke.image16.ref.png [deleted file]
test/reference/smask-stroke.mask.argb32.ref.png [deleted file]
test/reference/smask-stroke.mask.rgb24.ref.png [deleted file]
test/reference/smask-stroke.pdf.xfail.png [deleted file]
test/reference/smask-stroke.quartz.ref.png [deleted file]
test/reference/smask-stroke.ref.png [deleted file]
test/reference/smask-stroke.rgb24.ref.png [deleted file]
test/reference/smask-stroke.traps.argb32.ref.png [deleted file]
test/reference/smask-stroke.traps.rgb24.ref.png [deleted file]
test/reference/smask-text.argb32.ref.png [deleted file]
test/reference/smask-text.base.argb32.ref.png [deleted file]
test/reference/smask-text.base.rgb24.ref.png [deleted file]
test/reference/smask-text.image16.ref.png [deleted file]
test/reference/smask-text.mask.argb32.ref.png [deleted file]
test/reference/smask-text.mask.rgb24.ref.png [deleted file]
test/reference/smask-text.pdf.ref.png [deleted file]
test/reference/smask-text.ps2.ref.png [deleted file]
test/reference/smask-text.ps3.ref.png [deleted file]
test/reference/smask-text.quartz.ref.png [deleted file]
test/reference/smask-text.ref.png [deleted file]
test/reference/smask-text.rgb24.ref.png [deleted file]
test/reference/smask-text.script.ref.png [deleted file]
test/reference/smask-text.svg.ref.png [deleted file]
test/reference/smask-text.traps.argb32.ref.png [deleted file]
test/reference/smask-text.traps.ref.png [deleted file]
test/reference/smask-text.traps.rgb24.ref.png [deleted file]
test/reference/smask-text.xlib-fallback.ref.png [deleted file]
test/reference/smask.argb32.ref.png [deleted file]
test/reference/smask.base.argb32.ref.png [deleted file]
test/reference/smask.base.rgb24.ref.png [deleted file]
test/reference/smask.egl.argb32.ref.png [deleted file]
test/reference/smask.image16.ref.png [deleted file]
test/reference/smask.mask.argb32.ref.png [deleted file]
test/reference/smask.mask.rgb24.ref.png [deleted file]
test/reference/smask.pdf.xfail.png [deleted file]
test/reference/smask.ps.ref.png [deleted file]
test/reference/smask.quartz.ref.png [deleted file]
test/reference/smask.ref.png [deleted file]
test/reference/smask.rgb24.ref.png [deleted file]
test/reference/smask.script.ref.png [deleted file]
test/reference/smask.svg.ref.png [deleted file]
test/reference/smask.traps.argb32.ref.png [deleted file]
test/reference/smask.traps.ref.png [deleted file]
test/reference/smask.traps.rgb24.ref.png [deleted file]
test/reference/smask.xlib-fallback.ref.png [deleted file]
test/reference/solid-pattern-cache-stress.argb32.ref.png [deleted file]
test/reference/solid-pattern-cache-stress.base.argb32.ref.png [deleted file]
test/reference/solid-pattern-cache-stress.base.rgb24.ref.png [deleted file]
test/reference/solid-pattern-cache-stress.egl.argb32.ref.png [deleted file]
test/reference/solid-pattern-cache-stress.mask.argb32.ref.png [deleted file]
test/reference/solid-pattern-cache-stress.mask.rgb24.ref.png [deleted file]
test/reference/solid-pattern-cache-stress.ref.png [deleted file]
test/reference/solid-pattern-cache-stress.rgb24.ref.png [deleted file]
test/reference/solid-pattern-cache-stress.traps.argb32.ref.png [deleted file]
test/reference/solid-pattern-cache-stress.traps.rgb24.ref.png [deleted file]
test/reference/source-clip-scale.argb32.ref.png [deleted file]
test/reference/source-clip-scale.base.argb32.ref.png [deleted file]
test/reference/source-clip-scale.base.rgb24.ref.png [deleted file]
test/reference/source-clip-scale.egl.argb32.ref.png [deleted file]
test/reference/source-clip-scale.gl.ref.png [deleted file]
test/reference/source-clip-scale.mask.argb32.ref.png [deleted file]
test/reference/source-clip-scale.mask.rgb24.ref.png [deleted file]
test/reference/source-clip-scale.pdf.ref.png [deleted file]
test/reference/source-clip-scale.ps2.argb32.ref.png [deleted file]
test/reference/source-clip-scale.ps2.rgb24.ref.png [deleted file]
test/reference/source-clip-scale.ps3.argb32.ref.png [deleted file]
test/reference/source-clip-scale.ps3.rgb24.ref.png [deleted file]
test/reference/source-clip-scale.quartz.ref.png [deleted file]
test/reference/source-clip-scale.recording.ref.png [deleted file]
test/reference/source-clip-scale.ref.png [deleted file]
test/reference/source-clip-scale.rgb24.ref.png [deleted file]
test/reference/source-clip-scale.svg.ref.png [deleted file]
test/reference/source-clip-scale.traps.argb32.ref.png [deleted file]
test/reference/source-clip-scale.traps.rgb24.ref.png [deleted file]
test/reference/source-clip.argb32.ref.png [deleted file]
test/reference/source-clip.base.argb32.ref.png [deleted file]
test/reference/source-clip.base.rgb24.ref.png [deleted file]
test/reference/source-clip.egl.argb32.ref.png [deleted file]
test/reference/source-clip.mask.argb32.ref.png [deleted file]
test/reference/source-clip.mask.rgb24.ref.png [deleted file]
test/reference/source-clip.ref.png [deleted file]
test/reference/source-clip.rgb24.ref.png [deleted file]
test/reference/source-clip.traps.argb32.ref.png [deleted file]
test/reference/source-clip.traps.rgb24.ref.png [deleted file]
test/reference/source-surface-scale-paint.argb32.ref.png [deleted file]
test/reference/source-surface-scale-paint.base.argb32.ref.png [deleted file]
test/reference/source-surface-scale-paint.base.rgb24.ref.png [deleted file]
test/reference/source-surface-scale-paint.egl.argb32.ref.png [deleted file]
test/reference/source-surface-scale-paint.mask.argb32.ref.png [deleted file]
test/reference/source-surface-scale-paint.mask.rgb24.ref.png [deleted file]
test/reference/source-surface-scale-paint.ref.png [deleted file]
test/reference/source-surface-scale-paint.rgb24.ref.png [deleted file]
test/reference/source-surface-scale-paint.traps.argb32.ref.png [deleted file]
test/reference/source-surface-scale-paint.traps.rgb24.ref.png [deleted file]
test/reference/spline-decomposition.argb32.ref.png [deleted file]
test/reference/spline-decomposition.base.argb32.ref.png [deleted file]
test/reference/spline-decomposition.base.rgb24.ref.png [deleted file]
test/reference/spline-decomposition.egl.argb32.ref.png [deleted file]
test/reference/spline-decomposition.image16.ref.png [deleted file]
test/reference/spline-decomposition.mask.argb32.ref.png [deleted file]
test/reference/spline-decomposition.mask.rgb24.ref.png [deleted file]
test/reference/spline-decomposition.pdf.ref.png [deleted file]
test/reference/spline-decomposition.ps.ref.png [deleted file]
test/reference/spline-decomposition.quartz.xfail.png [deleted file]
test/reference/spline-decomposition.ref.png [deleted file]
test/reference/spline-decomposition.rgb24.ref.png [deleted file]
test/reference/spline-decomposition.svg.ref.png [deleted file]
test/reference/spline-decomposition.traps.argb32.ref.png [deleted file]
test/reference/spline-decomposition.traps.rgb24.ref.png [deleted file]
test/reference/stride-12-image.argb32.ref.png [deleted file]
test/reference/stride-12-image.base.argb32.ref.png [deleted file]
test/reference/stride-12-image.base.rgb24.ref.png [deleted file]
test/reference/stride-12-image.egl.argb32.ref.png [deleted file]
test/reference/stride-12-image.image16.ref.png [deleted file]
test/reference/stride-12-image.mask.argb32.ref.png [deleted file]
test/reference/stride-12-image.mask.rgb24.ref.png [deleted file]
test/reference/stride-12-image.ps.ref.png [deleted file]
test/reference/stride-12-image.ref.png [deleted file]
test/reference/stride-12-image.rgb24.ref.png [deleted file]
test/reference/stride-12-image.traps.argb32.ref.png [deleted file]
test/reference/stride-12-image.traps.rgb24.ref.png [deleted file]
test/reference/stride-12-xlib-fallback.rgb24.ref.png [deleted file]
test/reference/stride-12-xlib-window.rgb24.ref.png [deleted file]
test/reference/stride-12-xlib.argb32.ref.png [deleted file]
test/reference/stride-12-xlib.rgb24.ref.png [deleted file]
test/reference/stroke-ctm-caps.argb32.ref.png [deleted file]
test/reference/stroke-ctm-caps.base.argb32.ref.png [deleted file]
test/reference/stroke-ctm-caps.base.rgb24.ref.png [deleted file]
test/reference/stroke-ctm-caps.egl.argb32.ref.png [deleted file]
test/reference/stroke-ctm-caps.image16.ref.png [deleted file]
test/reference/stroke-ctm-caps.mask.argb32.ref.png [deleted file]
test/reference/stroke-ctm-caps.mask.rgb24.ref.png [deleted file]
test/reference/stroke-ctm-caps.ps2.ref.png [deleted file]
test/reference/stroke-ctm-caps.ps3.ref.png [deleted file]
test/reference/stroke-ctm-caps.quartz.ref.png [deleted file]
test/reference/stroke-ctm-caps.ref.png [deleted file]
test/reference/stroke-ctm-caps.rgb24.ref.png [deleted file]
test/reference/stroke-ctm-caps.traps.argb32.ref.png [deleted file]
test/reference/stroke-ctm-caps.traps.rgb24.ref.png [deleted file]
test/reference/stroke-image.argb32.ref.png [deleted file]
test/reference/stroke-image.base.argb32.ref.png [deleted file]
test/reference/stroke-image.base.rgb24.ref.png [deleted file]
test/reference/stroke-image.egl.argb32.ref.png [deleted file]
test/reference/stroke-image.image16.ref.png [deleted file]
test/reference/stroke-image.mask.argb32.ref.png [deleted file]
test/reference/stroke-image.mask.rgb24.ref.png [deleted file]
test/reference/stroke-image.pdf.ref.png [deleted file]
test/reference/stroke-image.ps.ref.png [deleted file]
test/reference/stroke-image.quartz.ref.png [deleted file]
test/reference/stroke-image.ref.png [deleted file]
test/reference/stroke-image.rgb24.ref.png [deleted file]
test/reference/stroke-image.traps.argb32.ref.png [deleted file]
test/reference/stroke-image.traps.rgb24.ref.png [deleted file]
test/reference/stroke-open-box.argb32.ref.png [deleted file]
test/reference/stroke-open-box.base.argb32.ref.png [deleted file]
test/reference/stroke-open-box.base.rgb24.ref.png [deleted file]
test/reference/stroke-open-box.egl.argb32.ref.png [deleted file]
test/reference/stroke-open-box.mask.argb32.ref.png [deleted file]
test/reference/stroke-open-box.mask.rgb24.ref.png [deleted file]
test/reference/stroke-open-box.ref.png [deleted file]
test/reference/stroke-open-box.rgb24.ref.png [deleted file]
test/reference/stroke-open-box.traps.argb32.ref.png [deleted file]
test/reference/stroke-open-box.traps.rgb24.ref.png [deleted file]
test/reference/stroke-pattern.argb32.ref.png [deleted file]
test/reference/stroke-pattern.base.argb32.ref.png [deleted file]
test/reference/stroke-pattern.base.rgb24.ref.png [deleted file]
test/reference/stroke-pattern.egl.argb32.ref.png [deleted file]
test/reference/stroke-pattern.mask.argb32.ref.png [deleted file]
test/reference/stroke-pattern.mask.rgb24.ref.png [deleted file]
test/reference/stroke-pattern.ref.png [deleted file]
test/reference/stroke-pattern.rgb24.ref.png [deleted file]
test/reference/stroke-pattern.traps.argb32.ref.png [deleted file]
test/reference/stroke-pattern.traps.ref.png [deleted file]
test/reference/stroke-pattern.traps.rgb24.ref.png [deleted file]
test/reference/stroke-xlib-fallback.rgb24.ref.png [deleted file]
test/reference/stroke-xlib-window.rgb24.ref.png [deleted file]
test/reference/stroke-xlib.argb32.ref.png [deleted file]
test/reference/stroke-xlib.rgb24.ref.png [deleted file]
test/reference/subsurface-image-repeat.argb32.ref.png [deleted file]
test/reference/subsurface-image-repeat.base.argb32.ref.png [deleted file]
test/reference/subsurface-image-repeat.base.rgb24.ref.png [deleted file]
test/reference/subsurface-image-repeat.egl.argb32.ref.png [deleted file]
test/reference/subsurface-image-repeat.image16.ref.png [deleted file]
test/reference/subsurface-image-repeat.mask.argb32.ref.png [deleted file]
test/reference/subsurface-image-repeat.mask.rgb24.ref.png [deleted file]
test/reference/subsurface-image-repeat.ref.png [deleted file]
test/reference/subsurface-image-repeat.rgb24.ref.png [deleted file]
test/reference/subsurface-image-repeat.traps.argb32.ref.png [deleted file]
test/reference/subsurface-image-repeat.traps.rgb24.ref.png [deleted file]
test/reference/subsurface-image-repeat.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/subsurface-image-repeat.xlib-window.rgb24.ref.png [deleted file]
test/reference/subsurface-modify-child.argb32.ref.png [deleted file]
test/reference/subsurface-modify-child.base.argb32.ref.png [deleted file]
test/reference/subsurface-modify-child.base.rgb24.ref.png [deleted file]
test/reference/subsurface-modify-child.egl.argb32.ref.png [deleted file]
test/reference/subsurface-modify-child.mask.argb32.ref.png [deleted file]
test/reference/subsurface-modify-child.mask.rgb24.ref.png [deleted file]
test/reference/subsurface-modify-child.ref.png [deleted file]
test/reference/subsurface-modify-child.rgb24.ref.png [deleted file]
test/reference/subsurface-modify-child.traps.argb32.ref.png [deleted file]
test/reference/subsurface-modify-child.traps.rgb24.ref.png [deleted file]
test/reference/subsurface-modify-parent.argb32.ref.png [deleted file]
test/reference/subsurface-modify-parent.base.argb32.ref.png [deleted file]
test/reference/subsurface-modify-parent.base.rgb24.ref.png [deleted file]
test/reference/subsurface-modify-parent.egl.argb32.ref.png [deleted file]
test/reference/subsurface-modify-parent.mask.argb32.ref.png [deleted file]
test/reference/subsurface-modify-parent.mask.rgb24.ref.png [deleted file]
test/reference/subsurface-modify-parent.ref.png [deleted file]
test/reference/subsurface-modify-parent.rgb24.ref.png [deleted file]
test/reference/subsurface-modify-parent.traps.argb32.ref.png [deleted file]
test/reference/subsurface-modify-parent.traps.rgb24.ref.png [deleted file]
test/reference/subsurface-outside-target.argb32.ref.png [deleted file]
test/reference/subsurface-outside-target.base.argb32.ref.png [deleted file]
test/reference/subsurface-outside-target.base.rgb24.ref.png [deleted file]
test/reference/subsurface-outside-target.egl.argb32.ref.png [deleted file]
test/reference/subsurface-outside-target.mask.argb32.ref.png [deleted file]
test/reference/subsurface-outside-target.mask.rgb24.ref.png [deleted file]
test/reference/subsurface-outside-target.rgb24.ref.png [deleted file]
test/reference/subsurface-outside-target.traps.argb32.ref.png [deleted file]
test/reference/subsurface-outside-target.traps.rgb24.ref.png [deleted file]
test/reference/subsurface-pad.argb32.ref.png [deleted file]
test/reference/subsurface-pad.base.argb32.ref.png [deleted file]
test/reference/subsurface-pad.base.rgb24.ref.png [deleted file]
test/reference/subsurface-pad.egl.argb32.ref.png [deleted file]
test/reference/subsurface-pad.mask.argb32.ref.png [deleted file]
test/reference/subsurface-pad.mask.rgb24.ref.png [deleted file]
test/reference/subsurface-pad.quartz.xfail.png [deleted file]
test/reference/subsurface-pad.ref.png [deleted file]
test/reference/subsurface-pad.rgb24.ref.png [deleted file]
test/reference/subsurface-pad.traps.argb32.ref.png [deleted file]
test/reference/subsurface-pad.traps.rgb24.ref.png [deleted file]
test/reference/subsurface-reflect.argb32.ref.png [deleted file]
test/reference/subsurface-reflect.base.argb32.ref.png [deleted file]
test/reference/subsurface-reflect.base.rgb24.ref.png [deleted file]
test/reference/subsurface-reflect.egl.argb32.ref.png [deleted file]
test/reference/subsurface-reflect.mask.argb32.ref.png [deleted file]
test/reference/subsurface-reflect.mask.rgb24.ref.png [deleted file]
test/reference/subsurface-reflect.ref.png [deleted file]
test/reference/subsurface-reflect.rgb24.ref.png [deleted file]
test/reference/subsurface-reflect.traps.argb32.ref.png [deleted file]
test/reference/subsurface-reflect.traps.rgb24.ref.png [deleted file]
test/reference/subsurface-repeat.argb32.ref.png [deleted file]
test/reference/subsurface-repeat.base.argb32.ref.png [deleted file]
test/reference/subsurface-repeat.base.rgb24.ref.png [deleted file]
test/reference/subsurface-repeat.egl.argb32.ref.png [deleted file]
test/reference/subsurface-repeat.mask.argb32.ref.png [deleted file]
test/reference/subsurface-repeat.mask.rgb24.ref.png [deleted file]
test/reference/subsurface-repeat.ref.png [deleted file]
test/reference/subsurface-repeat.rgb24.ref.png [deleted file]
test/reference/subsurface-repeat.traps.argb32.ref.png [deleted file]
test/reference/subsurface-repeat.traps.rgb24.ref.png [deleted file]
test/reference/subsurface-scale.argb32.ref.png [deleted file]
test/reference/subsurface-scale.base.argb32.ref.png [deleted file]
test/reference/subsurface-scale.base.ref.png [deleted file]
test/reference/subsurface-scale.base.rgb24.ref.png [deleted file]
test/reference/subsurface-scale.egl.argb32.ref.png [deleted file]
test/reference/subsurface-scale.mask.argb32.ref.png [deleted file]
test/reference/subsurface-scale.mask.rgb24.ref.png [deleted file]
test/reference/subsurface-scale.ref.png [deleted file]
test/reference/subsurface-scale.rgb24.ref.png [deleted file]
test/reference/subsurface-scale.traps.argb32.ref.png [deleted file]
test/reference/subsurface-scale.traps.rgb24.ref.png [deleted file]
test/reference/subsurface-similar-repeat.argb32.ref.png [deleted file]
test/reference/subsurface-similar-repeat.base.argb32.ref.png [deleted file]
test/reference/subsurface-similar-repeat.base.rgb24.ref.png [deleted file]
test/reference/subsurface-similar-repeat.egl.argb32.ref.png [deleted file]
test/reference/subsurface-similar-repeat.mask.argb32.ref.png [deleted file]
test/reference/subsurface-similar-repeat.mask.rgb24.ref.png [deleted file]
test/reference/subsurface-similar-repeat.ref.png [deleted file]
test/reference/subsurface-similar-repeat.rgb24.ref.png [deleted file]
test/reference/subsurface-similar-repeat.traps.argb32.ref.png [deleted file]
test/reference/subsurface-similar-repeat.traps.rgb24.ref.png [deleted file]
test/reference/subsurface.argb32.ref.png [deleted file]
test/reference/subsurface.base.argb32.ref.png [deleted file]
test/reference/subsurface.base.rgb24.ref.png [deleted file]
test/reference/subsurface.egl.argb32.ref.png [deleted file]
test/reference/subsurface.image16.ref.png [deleted file]
test/reference/subsurface.mask.argb32.ref.png [deleted file]
test/reference/subsurface.mask.rgb24.ref.png [deleted file]
test/reference/subsurface.ps.ref.png [deleted file]
test/reference/subsurface.ref.png [deleted file]
test/reference/subsurface.rgb24.ref.png [deleted file]
test/reference/subsurface.traps.argb32.ref.png [deleted file]
test/reference/subsurface.traps.rgb24.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.argb32.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.base.argb32.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.base.rgb24.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.egl.argb32.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.mask.argb32.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.mask.rgb24.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.ps.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.quartz.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.rgb24.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.traps.argb32.ref.png [deleted file]
test/reference/surface-pattern-big-scale-down.traps.rgb24.ref.png [deleted file]
test/reference/surface-pattern-operator.argb32.ref.png [deleted file]
test/reference/surface-pattern-operator.base.argb32.ref.png [deleted file]
test/reference/surface-pattern-operator.base.rgb24.ref.png [deleted file]
test/reference/surface-pattern-operator.egl.argb32.ref.png [deleted file]
test/reference/surface-pattern-operator.image16.ref.png [deleted file]
test/reference/surface-pattern-operator.mask.argb32.ref.png [deleted file]
test/reference/surface-pattern-operator.mask.rgb24.ref.png [deleted file]
test/reference/surface-pattern-operator.pdf.argb32.xfail.png [deleted file]
test/reference/surface-pattern-operator.pdf.rgb24.xfail.png [deleted file]
test/reference/surface-pattern-operator.quartz.argb32.ref.png [deleted file]
test/reference/surface-pattern-operator.quartz.rgb24.ref.png [deleted file]
test/reference/surface-pattern-operator.rgb24.ref.png [deleted file]
test/reference/surface-pattern-operator.traps.argb32.ref.png [deleted file]
test/reference/surface-pattern-operator.traps.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.base.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.base.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.egl.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.mask.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.mask.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.quartz.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.traps.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-none.traps.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.base.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.base.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.egl.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.mask.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.mask.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.quartz.xfail.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.traps.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-pad.traps.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.base.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.base.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.egl.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.mask.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.mask.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.quartz.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.traps.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-reflect.traps.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.base.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.base.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.egl.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.mask.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.mask.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.quartz.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.traps.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down-extend-repeat.traps.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down.base.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down.base.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down.egl.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down.image16.ref.png [deleted file]
test/reference/surface-pattern-scale-down.mask.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down.mask.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down.pdf.ref.png [deleted file]
test/reference/surface-pattern-scale-down.ps2.ref.png [deleted file]
test/reference/surface-pattern-scale-down.ps3.ref.png [deleted file]
test/reference/surface-pattern-scale-down.quartz.ref.png [deleted file]
test/reference/surface-pattern-scale-down.ref.png [deleted file]
test/reference/surface-pattern-scale-down.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-down.traps.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-down.traps.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-up.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-up.base.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-up.base.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-up.egl.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-up.image16.ref.png [deleted file]
test/reference/surface-pattern-scale-up.mask.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-up.mask.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-up.pdf.ref.png [deleted file]
test/reference/surface-pattern-scale-up.ps2.ref.png [deleted file]
test/reference/surface-pattern-scale-up.ps3.ref.png [deleted file]
test/reference/surface-pattern-scale-up.quartz.xfail.png [deleted file]
test/reference/surface-pattern-scale-up.ref.png [deleted file]
test/reference/surface-pattern-scale-up.rgb24.ref.png [deleted file]
test/reference/surface-pattern-scale-up.traps.argb32.ref.png [deleted file]
test/reference/surface-pattern-scale-up.traps.rgb24.ref.png [deleted file]
test/reference/surface-pattern.argb32.ref.png [deleted file]
test/reference/surface-pattern.base.argb32.ref.png [deleted file]
test/reference/surface-pattern.base.rgb24.ref.png [deleted file]
test/reference/surface-pattern.egl.argb32.ref.png [deleted file]
test/reference/surface-pattern.image16.ref.png [deleted file]
test/reference/surface-pattern.mask.argb32.ref.png [deleted file]
test/reference/surface-pattern.mask.rgb24.ref.png [deleted file]
test/reference/surface-pattern.pdf.xfail.png [deleted file]
test/reference/surface-pattern.ps.xfail.png [deleted file]
test/reference/surface-pattern.quartz.xfail.png [deleted file]
test/reference/surface-pattern.ref.png [deleted file]
test/reference/surface-pattern.rgb24.ref.png [deleted file]
test/reference/surface-pattern.svg.xfail.png [deleted file]
test/reference/surface-pattern.traps.argb32.ref.png [deleted file]
test/reference/surface-pattern.traps.rgb24.ref.png [deleted file]
test/reference/svg-surface-source.argb32.ref.png [deleted file]
test/reference/svg-surface-source.base.argb32.ref.png [deleted file]
test/reference/svg-surface-source.base.rgb24.ref.png [deleted file]
test/reference/svg-surface-source.egl.argb32.ref.png [deleted file]
test/reference/svg-surface-source.image16.ref.png [deleted file]
test/reference/svg-surface-source.mask.argb32.ref.png [deleted file]
test/reference/svg-surface-source.mask.rgb24.ref.png [deleted file]
test/reference/svg-surface-source.rgb24.ref.png [deleted file]
test/reference/svg-surface-source.svg12.argb32.xfail.png [deleted file]
test/reference/svg-surface-source.svg12.rgb24.xfail.png [deleted file]
test/reference/svg-surface-source.traps.argb32.ref.png [deleted file]
test/reference/svg-surface-source.traps.rgb24.ref.png [deleted file]
test/reference/text-antialias-gray.argb32.ref.png [deleted file]
test/reference/text-antialias-gray.base.argb32.ref.png [deleted file]
test/reference/text-antialias-gray.base.rgb24.ref.png [deleted file]
test/reference/text-antialias-gray.image16.ref.png [deleted file]
test/reference/text-antialias-gray.mask.argb32.ref.png [deleted file]
test/reference/text-antialias-gray.mask.rgb24.ref.png [deleted file]
test/reference/text-antialias-gray.quartz.ref.png [deleted file]
test/reference/text-antialias-gray.ref.png [deleted file]
test/reference/text-antialias-gray.rgb24.ref.png [deleted file]
test/reference/text-antialias-gray.traps.argb32.ref.png [deleted file]
test/reference/text-antialias-gray.traps.ref.png [deleted file]
test/reference/text-antialias-gray.traps.rgb24.ref.png [deleted file]
test/reference/text-antialias-none.argb32.ref.png [deleted file]
test/reference/text-antialias-none.base.argb32.ref.png [deleted file]
test/reference/text-antialias-none.base.rgb24.ref.png [deleted file]
test/reference/text-antialias-none.mask.argb32.ref.png [deleted file]
test/reference/text-antialias-none.mask.rgb24.ref.png [deleted file]
test/reference/text-antialias-none.quartz.ref.png [deleted file]
test/reference/text-antialias-none.ref.png [deleted file]
test/reference/text-antialias-none.rgb24.ref.png [deleted file]
test/reference/text-antialias-none.traps.argb32.ref.png [deleted file]
test/reference/text-antialias-none.traps.ref.png [deleted file]
test/reference/text-antialias-none.traps.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.base.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.base.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.egl.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.image16.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.mask.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.mask.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.traps.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.traps.ref.png [deleted file]
test/reference/text-antialias-subpixel-bgr.traps.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.base.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.base.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.egl.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.image16.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.mask.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.mask.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.traps.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.traps.ref.png [deleted file]
test/reference/text-antialias-subpixel-rgb.traps.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.base.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.base.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.egl.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.image16.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.mask.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.mask.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.traps.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.traps.ref.png [deleted file]
test/reference/text-antialias-subpixel-vbgr.traps.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.base.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.base.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.egl.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.image16.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.mask.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.mask.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.traps.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.traps.ref.png [deleted file]
test/reference/text-antialias-subpixel-vrgb.traps.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel.base.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel.base.argb32.xfail.png [deleted file]
test/reference/text-antialias-subpixel.base.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel.base.rgb24.xfail.png [deleted file]
test/reference/text-antialias-subpixel.image16.ref.png [deleted file]
test/reference/text-antialias-subpixel.mask.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel.mask.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel.quartz.ref.png [deleted file]
test/reference/text-antialias-subpixel.ref.png [deleted file]
test/reference/text-antialias-subpixel.rgb24.ref.png [deleted file]
test/reference/text-antialias-subpixel.traps.argb32.ref.png [deleted file]
test/reference/text-antialias-subpixel.traps.ref.png [deleted file]
test/reference/text-antialias-subpixel.traps.rgb24.ref.png [deleted file]
test/reference/text-glyph-range.argb32.ref.png [deleted file]
test/reference/text-glyph-range.base.argb32.ref.png [deleted file]
test/reference/text-glyph-range.base.rgb24.ref.png [deleted file]
test/reference/text-glyph-range.egl.argb32.ref.png [deleted file]
test/reference/text-glyph-range.image16.ref.png [deleted file]
test/reference/text-glyph-range.mask.argb32.ref.png [deleted file]
test/reference/text-glyph-range.mask.rgb24.ref.png [deleted file]
test/reference/text-glyph-range.ps.ref.png [deleted file]
test/reference/text-glyph-range.quartz.ref.png [deleted file]
test/reference/text-glyph-range.ref.png [deleted file]
test/reference/text-glyph-range.rgb24.ref.png [deleted file]
test/reference/text-glyph-range.traps.argb32.ref.png [deleted file]
test/reference/text-glyph-range.traps.ref.png [deleted file]
test/reference/text-glyph-range.traps.rgb24.ref.png [deleted file]
test/reference/text-pattern.argb32.ref.png [deleted file]
test/reference/text-pattern.base.argb32.ref.png [deleted file]
test/reference/text-pattern.base.rgb24.ref.png [deleted file]
test/reference/text-pattern.mask.argb32.ref.png [deleted file]
test/reference/text-pattern.mask.rgb24.ref.png [deleted file]
test/reference/text-pattern.pdf.argb32.ref.png [deleted file]
test/reference/text-pattern.pdf.rgb24.ref.png [deleted file]
test/reference/text-pattern.ps2.argb32.ref.png [deleted file]
test/reference/text-pattern.ps2.rgb24.ref.png [deleted file]
test/reference/text-pattern.ps3.argb32.ref.png [deleted file]
test/reference/text-pattern.ps3.rgb24.ref.png [deleted file]
test/reference/text-pattern.quartz.argb32.ref.png [deleted file]
test/reference/text-pattern.quartz.rgb24.ref.png [deleted file]
test/reference/text-pattern.ref.png [deleted file]
test/reference/text-pattern.rgb24.ref.png [deleted file]
test/reference/text-pattern.svg.argb32.ref.png [deleted file]
test/reference/text-pattern.svg.rgb24.ref.png [deleted file]
test/reference/text-pattern.traps.argb32.ref.png [deleted file]
test/reference/text-pattern.traps.rgb24.ref.png [deleted file]
test/reference/text-rotate.base.argb32.ref.png [deleted file]
test/reference/text-rotate.base.rgb24.ref.png [deleted file]
test/reference/text-rotate.image16.ref.png [deleted file]
test/reference/text-rotate.mask.argb32.ref.png [deleted file]
test/reference/text-rotate.mask.rgb24.ref.png [deleted file]
test/reference/text-rotate.pdf.ref.png [deleted file]
test/reference/text-rotate.ps.ref.png [deleted file]
test/reference/text-rotate.quartz.ref.png [deleted file]
test/reference/text-rotate.ref.png [deleted file]
test/reference/text-rotate.svg.ref.png [deleted file]
test/reference/text-rotate.traps.argb32.ref.png [deleted file]
test/reference/text-rotate.traps.ref.png [deleted file]
test/reference/text-rotate.traps.rgb24.ref.png [deleted file]
test/reference/text-rotate.xlib-fallback.ref.png [deleted file]
test/reference/text-transform.argb32.ref.png [deleted file]
test/reference/text-transform.base.argb32.ref.png [deleted file]
test/reference/text-transform.base.rgb24.ref.png [deleted file]
test/reference/text-transform.image16.ref.png [deleted file]
test/reference/text-transform.mask.argb32.ref.png [deleted file]
test/reference/text-transform.mask.rgb24.ref.png [deleted file]
test/reference/text-transform.pdf.argb32.ref.png [deleted file]
test/reference/text-transform.pdf.rgb24.ref.png [deleted file]
test/reference/text-transform.ps2.ref.png [deleted file]
test/reference/text-transform.ps3.ref.png [deleted file]
test/reference/text-transform.ref.png [deleted file]
test/reference/text-transform.rgb24.ref.png [deleted file]
test/reference/text-transform.svg.ref.png [deleted file]
test/reference/text-transform.traps.argb32.ref.png [deleted file]
test/reference/text-transform.traps.rgb24.ref.png [deleted file]
test/reference/tiger.argb32.ref.png [deleted file]
test/reference/tiger.base.argb32.ref.png [deleted file]
test/reference/tiger.base.rgb24.ref.png [deleted file]
test/reference/tiger.egl.argb32.ref.png [deleted file]
test/reference/tiger.mask.argb32.ref.png [deleted file]
test/reference/tiger.mask.rgb24.ref.png [deleted file]
test/reference/tiger.ref.png [deleted file]
test/reference/tiger.rgb24.ref.png [deleted file]
test/reference/tiger.traps.argb32.ref.png [deleted file]
test/reference/tiger.traps.rgb24.ref.png [deleted file]
test/reference/tighten-bounds.argb32.ref.png [deleted file]
test/reference/tighten-bounds.base.argb32.ref.png [deleted file]
test/reference/tighten-bounds.base.rgb24.ref.png [deleted file]
test/reference/tighten-bounds.rgb24.ref.png [deleted file]
test/reference/tighten-bounds.traps.argb32.ref.png [deleted file]
test/reference/tighten-bounds.traps.rgb24.ref.png [deleted file]
test/reference/transforms.argb32.ref.png [deleted file]
test/reference/transforms.base.argb32.ref.png [deleted file]
test/reference/transforms.base.rgb24.ref.png [deleted file]
test/reference/transforms.egl.argb32.ref.png [deleted file]
test/reference/transforms.image16.ref.png [deleted file]
test/reference/transforms.mask.argb32.ref.png [deleted file]
test/reference/transforms.mask.rgb24.ref.png [deleted file]
test/reference/transforms.ps2.ref.png [deleted file]
test/reference/transforms.ps3.ref.png [deleted file]
test/reference/transforms.ref.png [deleted file]
test/reference/transforms.rgb24.ref.png [deleted file]
test/reference/transforms.traps.argb32.ref.png [deleted file]
test/reference/transforms.traps.rgb24.ref.png [deleted file]
test/reference/translate-show-surface.argb32.ref.png [deleted file]
test/reference/translate-show-surface.base.argb32.ref.png [deleted file]
test/reference/translate-show-surface.base.rgb24.ref.png [deleted file]
test/reference/translate-show-surface.egl.argb32.ref.png [deleted file]
test/reference/translate-show-surface.mask.argb32.ref.png [deleted file]
test/reference/translate-show-surface.mask.rgb24.ref.png [deleted file]
test/reference/translate-show-surface.ref.png [deleted file]
test/reference/translate-show-surface.rgb24.ref.png [deleted file]
test/reference/translate-show-surface.traps.argb32.ref.png [deleted file]
test/reference/translate-show-surface.traps.rgb24.ref.png [deleted file]
test/reference/trap-clip.argb32.ref.png [deleted file]
test/reference/trap-clip.base.argb32.ref.png [deleted file]
test/reference/trap-clip.base.rgb24.ref.png [deleted file]
test/reference/trap-clip.egl.argb32.ref.png [deleted file]
test/reference/trap-clip.image16.ref.png [deleted file]
test/reference/trap-clip.mask.argb32.ref.png [deleted file]
test/reference/trap-clip.mask.rgb24.ref.png [deleted file]
test/reference/trap-clip.ps2.argb32.ref.png [deleted file]
test/reference/trap-clip.ps2.rgb24.ref.png [deleted file]
test/reference/trap-clip.ps3.argb32.ref.png [deleted file]
test/reference/trap-clip.ps3.rgb24.ref.png [deleted file]
test/reference/trap-clip.quartz.argb32.ref.png [deleted file]
test/reference/trap-clip.quartz.rgb24.ref.png [deleted file]
test/reference/trap-clip.ref.png [deleted file]
test/reference/trap-clip.rgb24.ref.png [deleted file]
test/reference/trap-clip.test-paginated.argb32.ref.png [deleted file]
test/reference/trap-clip.traps.argb32.ref.png [deleted file]
test/reference/trap-clip.traps.rgb24.ref.png [deleted file]
test/reference/twin-antialias-gray.argb32.ref.png [deleted file]
test/reference/twin-antialias-gray.base.argb32.ref.png [deleted file]
test/reference/twin-antialias-gray.base.rgb24.ref.png [deleted file]
test/reference/twin-antialias-gray.egl.argb32.ref.png [deleted file]
test/reference/twin-antialias-gray.image16.ref.png [deleted file]
test/reference/twin-antialias-gray.mask.argb32.ref.png [deleted file]
test/reference/twin-antialias-gray.mask.rgb24.ref.png [deleted file]
test/reference/twin-antialias-gray.ref.png [deleted file]
test/reference/twin-antialias-gray.rgb24.ref.png [deleted file]
test/reference/twin-antialias-gray.traps.argb32.ref.png [deleted file]
test/reference/twin-antialias-gray.traps.rgb24.ref.png [deleted file]
test/reference/twin-antialias-mixed.argb32.ref.png [deleted file]
test/reference/twin-antialias-mixed.base.argb32.ref.png [deleted file]
test/reference/twin-antialias-mixed.base.rgb24.ref.png [deleted file]
test/reference/twin-antialias-mixed.egl.argb32.ref.png [deleted file]
test/reference/twin-antialias-mixed.image16.ref.png [deleted file]
test/reference/twin-antialias-mixed.mask.argb32.ref.png [deleted file]
test/reference/twin-antialias-mixed.mask.rgb24.ref.png [deleted file]
test/reference/twin-antialias-mixed.ref.png [deleted file]
test/reference/twin-antialias-mixed.rgb24.ref.png [deleted file]
test/reference/twin-antialias-mixed.traps.argb32.ref.png [deleted file]
test/reference/twin-antialias-mixed.traps.rgb24.ref.png [deleted file]
test/reference/twin-antialias-none.argb32.ref.png [deleted file]
test/reference/twin-antialias-none.base.argb32.ref.png [deleted file]
test/reference/twin-antialias-none.base.rgb24.ref.png [deleted file]
test/reference/twin-antialias-none.egl.argb32.ref.png [deleted file]
test/reference/twin-antialias-none.mask.argb32.ref.png [deleted file]
test/reference/twin-antialias-none.mask.rgb24.ref.png [deleted file]
test/reference/twin-antialias-none.ref.png [deleted file]
test/reference/twin-antialias-none.rgb24.ref.png [deleted file]
test/reference/twin-antialias-none.traps.argb32.ref.png [deleted file]
test/reference/twin-antialias-none.traps.rgb24.ref.png [deleted file]
test/reference/twin-antialias-subpixel.argb32.ref.png [deleted file]
test/reference/twin-antialias-subpixel.base.argb32.ref.png [deleted file]
test/reference/twin-antialias-subpixel.base.rgb24.ref.png [deleted file]
test/reference/twin-antialias-subpixel.egl.argb32.ref.png [deleted file]
test/reference/twin-antialias-subpixel.image16.ref.png [deleted file]
test/reference/twin-antialias-subpixel.mask.argb32.ref.png [deleted file]
test/reference/twin-antialias-subpixel.mask.rgb24.ref.png [deleted file]
test/reference/twin-antialias-subpixel.ref.png [deleted file]
test/reference/twin-antialias-subpixel.rgb24.ref.png [deleted file]
test/reference/twin-antialias-subpixel.traps.argb32.ref.png [deleted file]
test/reference/twin-antialias-subpixel.traps.rgb24.ref.png [deleted file]
test/reference/twin.argb32.ref.png [deleted file]
test/reference/twin.base.argb32.ref.png [deleted file]
test/reference/twin.base.rgb24.ref.png [deleted file]
test/reference/twin.egl.argb32.ref.png [deleted file]
test/reference/twin.image16.ref.png [deleted file]
test/reference/twin.mask.argb32.ref.png [deleted file]
test/reference/twin.mask.rgb24.ref.png [deleted file]
test/reference/twin.ps.ref.png [deleted file]
test/reference/twin.ref.png [deleted file]
test/reference/twin.rgb24.ref.png [deleted file]
test/reference/twin.svg.ref.png [deleted file]
test/reference/twin.traps.argb32.ref.png [deleted file]
test/reference/twin.traps.rgb24.ref.png [deleted file]
test/reference/unaligned-box.argb32.ref.png [deleted file]
test/reference/unaligned-box.base.argb32.ref.png [deleted file]
test/reference/unaligned-box.base.rgb24.ref.png [deleted file]
test/reference/unaligned-box.egl.argb32.ref.png [deleted file]
test/reference/unaligned-box.mask.argb32.ref.png [deleted file]
test/reference/unaligned-box.mask.rgb24.ref.png [deleted file]
test/reference/unaligned-box.ref.png [deleted file]
test/reference/unaligned-box.rgb24.ref.png [deleted file]
test/reference/unaligned-box.traps.argb32.ref.png [deleted file]
test/reference/unaligned-box.traps.rgb24.ref.png [deleted file]
test/reference/unantialiased-shapes.argb32.ref.png [deleted file]
test/reference/unantialiased-shapes.base.argb32.ref.png [deleted file]
test/reference/unantialiased-shapes.base.rgb24.ref.png [deleted file]
test/reference/unantialiased-shapes.egl.argb32.ref.png [deleted file]
test/reference/unantialiased-shapes.mask.argb32.ref.png [deleted file]
test/reference/unantialiased-shapes.mask.rgb24.ref.png [deleted file]
test/reference/unantialiased-shapes.quartz.ref.png [deleted file]
test/reference/unantialiased-shapes.ref.png [deleted file]
test/reference/unantialiased-shapes.rgb24.ref.png [deleted file]
test/reference/unantialiased-shapes.traps.argb32.ref.png [deleted file]
test/reference/unantialiased-shapes.traps.rgb24.ref.png [deleted file]
test/reference/unbounded-operator.argb32.ref.png [deleted file]
test/reference/unbounded-operator.base.argb32.ref.png [deleted file]
test/reference/unbounded-operator.base.rgb24.ref.png [deleted file]
test/reference/unbounded-operator.gl.argb32.xfail.png [deleted file]
test/reference/unbounded-operator.gl.rgb24.xfail.png [deleted file]
test/reference/unbounded-operator.image16.ref.png [deleted file]
test/reference/unbounded-operator.mask.argb32.ref.png [deleted file]
test/reference/unbounded-operator.mask.rgb24.ref.png [deleted file]
test/reference/unbounded-operator.pdf.argb32.ref.png [deleted file]
test/reference/unbounded-operator.ps2.argb32.ref.png [deleted file]
test/reference/unbounded-operator.ps3.argb32.ref.png [deleted file]
test/reference/unbounded-operator.quartz.argb32.ref.png [deleted file]
test/reference/unbounded-operator.quartz.rgb24.ref.png [deleted file]
test/reference/unbounded-operator.rgb24.ref.png [deleted file]
test/reference/unbounded-operator.svg12.argb32.ref.png [deleted file]
test/reference/unbounded-operator.svg12.rgb24.xfail.png [deleted file]
test/reference/unbounded-operator.traps.argb32.ref.png [deleted file]
test/reference/unbounded-operator.traps.rgb24.ref.png [deleted file]
test/reference/unclosed-strokes.argb32.ref.png [deleted file]
test/reference/unclosed-strokes.base.argb32.ref.png [deleted file]
test/reference/unclosed-strokes.base.rgb24.ref.png [deleted file]
test/reference/unclosed-strokes.egl.argb32.ref.png [deleted file]
test/reference/unclosed-strokes.mask.argb32.ref.png [deleted file]
test/reference/unclosed-strokes.mask.rgb24.ref.png [deleted file]
test/reference/unclosed-strokes.ref.png [deleted file]
test/reference/unclosed-strokes.rgb24.ref.png [deleted file]
test/reference/unclosed-strokes.traps.argb32.ref.png [deleted file]
test/reference/unclosed-strokes.traps.rgb24.ref.png [deleted file]
test/reference/user-font-mask.argb32.ref.png [deleted file]
test/reference/user-font-mask.base.argb32.ref.png [deleted file]
test/reference/user-font-mask.base.rgb24.ref.png [deleted file]
test/reference/user-font-mask.egl.argb32.ref.png [deleted file]
test/reference/user-font-mask.image16.ref.png [deleted file]
test/reference/user-font-mask.mask.argb32.ref.png [deleted file]
test/reference/user-font-mask.mask.rgb24.ref.png [deleted file]
test/reference/user-font-mask.pdf.ref.png [deleted file]
test/reference/user-font-mask.ps2.ref.png [deleted file]
test/reference/user-font-mask.ps3.ref.png [deleted file]
test/reference/user-font-mask.ref.png [deleted file]
test/reference/user-font-mask.rgb24.ref.png [deleted file]
test/reference/user-font-mask.svg.ref.png [deleted file]
test/reference/user-font-mask.traps.argb32.ref.png [deleted file]
test/reference/user-font-mask.traps.rgb24.ref.png [deleted file]
test/reference/user-font-proxy.argb32.ref.png [deleted file]
test/reference/user-font-proxy.base.argb32.ref.png [deleted file]
test/reference/user-font-proxy.base.rgb24.ref.png [deleted file]
test/reference/user-font-proxy.image16.ref.png [deleted file]
test/reference/user-font-proxy.mask.argb32.ref.png [deleted file]
test/reference/user-font-proxy.mask.rgb24.ref.png [deleted file]
test/reference/user-font-proxy.pdf.argb32.ref.png [deleted file]
test/reference/user-font-proxy.pdf.ref.png [deleted file]
test/reference/user-font-proxy.pdf.rgb24.ref.png [deleted file]
test/reference/user-font-proxy.ps.ref.png [deleted file]
test/reference/user-font-proxy.quartz.ref.png [deleted file]
test/reference/user-font-proxy.ref.png [deleted file]
test/reference/user-font-proxy.rgb24.ref.png [deleted file]
test/reference/user-font-proxy.svg.ref.png [deleted file]
test/reference/user-font-proxy.traps.argb32.ref.png [deleted file]
test/reference/user-font-proxy.traps.ref.png [deleted file]
test/reference/user-font-proxy.traps.rgb24.ref.png [deleted file]
test/reference/user-font-rescale.argb32.ref.png [deleted file]
test/reference/user-font-rescale.base.argb32.ref.png [deleted file]
test/reference/user-font-rescale.base.rgb24.ref.png [deleted file]
test/reference/user-font-rescale.image16.ref.png [deleted file]
test/reference/user-font-rescale.mask.argb32.ref.png [deleted file]
test/reference/user-font-rescale.mask.rgb24.ref.png [deleted file]
test/reference/user-font-rescale.ps.ref.png [deleted file]
test/reference/user-font-rescale.quartz.ref.png [deleted file]
test/reference/user-font-rescale.ref.png [deleted file]
test/reference/user-font-rescale.rgb24.ref.png [deleted file]
test/reference/user-font-rescale.svg.ref.png [deleted file]
test/reference/user-font-rescale.traps.argb32.ref.png [deleted file]
test/reference/user-font-rescale.traps.ref.png [deleted file]
test/reference/user-font-rescale.traps.rgb24.ref.png [deleted file]
test/reference/user-font.argb32.ref.png [deleted file]
test/reference/user-font.base.argb32.ref.png [deleted file]
test/reference/user-font.base.rgb24.ref.png [deleted file]
test/reference/user-font.egl.argb32.ref.png [deleted file]
test/reference/user-font.image16.ref.png [deleted file]
test/reference/user-font.mask.argb32.ref.png [deleted file]
test/reference/user-font.mask.rgb24.ref.png [deleted file]
test/reference/user-font.pdf.ref.png [deleted file]
test/reference/user-font.ps.ref.png [deleted file]
test/reference/user-font.quartz.ref.png [deleted file]
test/reference/user-font.ref.png [deleted file]
test/reference/user-font.rgb24.ref.png [deleted file]
test/reference/user-font.svg.ref.png [deleted file]
test/reference/user-font.traps.argb32.ref.png [deleted file]
test/reference/user-font.traps.rgb24.ref.png [deleted file]
test/reference/white-in-noop.argb32.ref.png [deleted file]
test/reference/white-in-noop.base.argb32.ref.png [deleted file]
test/reference/white-in-noop.base.rgb24.ref.png [deleted file]
test/reference/white-in-noop.egl.argb32.ref.png [deleted file]
test/reference/white-in-noop.mask.argb32.ref.png [deleted file]
test/reference/white-in-noop.mask.rgb24.ref.png [deleted file]
test/reference/white-in-noop.ref.png [deleted file]
test/reference/white-in-noop.rgb24.ref.png [deleted file]
test/reference/white-in-noop.traps.argb32.ref.png [deleted file]
test/reference/white-in-noop.traps.rgb24.ref.png [deleted file]
test/reference/world-map-fill.argb32.ref.png [deleted file]
test/reference/world-map-fill.base.argb32.ref.png [deleted file]
test/reference/world-map-fill.base.rgb24.ref.png [deleted file]
test/reference/world-map-fill.egl.argb32.ref.png [deleted file]
test/reference/world-map-fill.image16.ref.png [deleted file]
test/reference/world-map-fill.mask.argb32.ref.png [deleted file]
test/reference/world-map-fill.mask.rgb24.ref.png [deleted file]
test/reference/world-map-fill.ref.png [deleted file]
test/reference/world-map-fill.rgb24.ref.png [deleted file]
test/reference/world-map-fill.traps.argb32.ref.png [deleted file]
test/reference/world-map-fill.traps.rgb24.ref.png [deleted file]
test/reference/world-map-stroke.argb32.ref.png [deleted file]
test/reference/world-map-stroke.base.argb32.ref.png [deleted file]
test/reference/world-map-stroke.base.rgb24.ref.png [deleted file]
test/reference/world-map-stroke.egl.argb32.ref.png [deleted file]
test/reference/world-map-stroke.image16.ref.png [deleted file]
test/reference/world-map-stroke.mask.argb32.ref.png [deleted file]
test/reference/world-map-stroke.mask.rgb24.ref.png [deleted file]
test/reference/world-map-stroke.ref.png [deleted file]
test/reference/world-map-stroke.rgb24.ref.png [deleted file]
test/reference/world-map-stroke.traps.argb32.ref.png [deleted file]
test/reference/world-map-stroke.traps.rgb24.ref.png [deleted file]
test/reference/world-map.argb32.ref.png [deleted file]
test/reference/world-map.base.argb32.ref.png [deleted file]
test/reference/world-map.base.rgb24.ref.png [deleted file]
test/reference/world-map.egl.argb32.ref.png [deleted file]
test/reference/world-map.image16.ref.png [deleted file]
test/reference/world-map.mask.argb32.ref.png [deleted file]
test/reference/world-map.mask.rgb24.ref.png [deleted file]
test/reference/world-map.ref.png [deleted file]
test/reference/world-map.rgb24.ref.png [deleted file]
test/reference/world-map.traps.argb32.ref.png [deleted file]
test/reference/world-map.traps.rgb24.ref.png [deleted file]
test/reference/xcb-huge-image-shm.argb32.ref.png [deleted file]
test/reference/xcb-huge-image-shm.base.argb32.ref.png [deleted file]
test/reference/xcb-huge-image-shm.base.rgb24.ref.png [deleted file]
test/reference/xcb-huge-image-shm.egl.argb32.ref.png [deleted file]
test/reference/xcb-huge-image-shm.mask.argb32.ref.png [deleted file]
test/reference/xcb-huge-image-shm.mask.rgb24.ref.png [deleted file]
test/reference/xcb-huge-image-shm.ref.png [deleted file]
test/reference/xcb-huge-image-shm.rgb24.ref.png [deleted file]
test/reference/xcb-huge-image-shm.traps.argb32.ref.png [deleted file]
test/reference/xcb-huge-image-shm.traps.rgb24.ref.png [deleted file]
test/reference/xcb-huge-image-shm.xlib-fallback.rgb24.ref.png [deleted file]
test/reference/xcb-huge-image-shm.xlib-window.rgb24.ref.png [deleted file]
test/reference/xcb-snapshot-assert.argb32.ref.png [deleted file]
test/reference/xcb-snapshot-assert.base.argb32.ref.png [deleted file]
test/reference/xcb-snapshot-assert.base.rgb24.ref.png [deleted file]
test/reference/xcb-snapshot-assert.egl.argb32.ref.png [deleted file]
test/reference/xcb-snapshot-assert.mask.argb32.ref.png [deleted file]
test/reference/xcb-snapshot-assert.mask.rgb24.ref.png [deleted file]
test/reference/xcb-snapshot-assert.ref.png [deleted file]
test/reference/xcb-snapshot-assert.rgb24.ref.png [deleted file]
test/reference/xcb-snapshot-assert.traps.argb32.ref.png [deleted file]
test/reference/xcb-snapshot-assert.traps.rgb24.ref.png [deleted file]
test/reference/xcb-stress-cache.argb32.ref.png [deleted file]
test/reference/xcb-stress-cache.base.argb32.ref.png [deleted file]
test/reference/xcb-stress-cache.base.rgb24.ref.png [deleted file]
test/reference/xcb-stress-cache.egl.argb32.ref.png [deleted file]
test/reference/xcb-stress-cache.mask.argb32.ref.png [deleted file]
test/reference/xcb-stress-cache.mask.rgb24.ref.png [deleted file]
test/reference/xcb-stress-cache.ref.png [deleted file]
test/reference/xcb-stress-cache.rgb24.ref.png [deleted file]
test/reference/xcb-stress-cache.traps.argb32.ref.png [deleted file]
test/reference/xcb-stress-cache.traps.rgb24.ref.png [deleted file]
test/reference/xcb-surface-source.argb32.ref.png [deleted file]
test/reference/xcb-surface-source.base.argb32.ref.png [deleted file]
test/reference/xcb-surface-source.base.rgb24.ref.png [deleted file]
test/reference/xcb-surface-source.egl.argb32.ref.png [deleted file]
test/reference/xcb-surface-source.image16.ref.png [deleted file]
test/reference/xcb-surface-source.mask.argb32.ref.png [deleted file]
test/reference/xcb-surface-source.mask.rgb24.ref.png [deleted file]
test/reference/xcb-surface-source.ps.argb32.ref.png [deleted file]
test/reference/xcb-surface-source.ps.rgb24.ref.png [deleted file]
test/reference/xcb-surface-source.rgb24.ref.png [deleted file]
test/reference/xcb-surface-source.traps.argb32.ref.png [deleted file]
test/reference/xcb-surface-source.traps.rgb24.ref.png [deleted file]
test/reference/xcomposite-projection.argb32.ref.png [deleted file]
test/reference/xcomposite-projection.base.argb32.ref.png [deleted file]
test/reference/xcomposite-projection.base.rgb24.ref.png [deleted file]
test/reference/xcomposite-projection.egl.argb32.ref.png [deleted file]
test/reference/xcomposite-projection.image16.ref.png [deleted file]
test/reference/xcomposite-projection.mask.argb32.ref.png [deleted file]
test/reference/xcomposite-projection.mask.rgb24.ref.png [deleted file]
test/reference/xcomposite-projection.quartz.ref.png [deleted file]
test/reference/xcomposite-projection.ref.png [deleted file]
test/reference/xcomposite-projection.rgb24.ref.png [deleted file]
test/reference/xcomposite-projection.traps.argb32.ref.png [deleted file]
test/reference/xcomposite-projection.traps.rgb24.ref.png [deleted file]
test/reference/xlib-expose-event.argb32.ref.png [deleted file]
test/reference/xlib-expose-event.base.argb32.ref.png [deleted file]
test/reference/xlib-expose-event.base.rgb24.ref.png [deleted file]
test/reference/xlib-expose-event.egl.argb32.ref.png [deleted file]
test/reference/xlib-expose-event.image16.ref.png [deleted file]
test/reference/xlib-expose-event.mask.argb32.ref.png [deleted file]
test/reference/xlib-expose-event.mask.rgb24.ref.png [deleted file]
test/reference/xlib-expose-event.ps.ref.png [deleted file]
test/reference/xlib-expose-event.ref.png [deleted file]
test/reference/xlib-expose-event.rgb24.ref.png [deleted file]
test/reference/xlib-expose-event.traps.argb32.ref.png [deleted file]
test/reference/xlib-expose-event.traps.rgb24.ref.png [deleted file]
test/reference/xlib-surface-source.argb32.ref.png [deleted file]
test/reference/xlib-surface-source.base.argb32.ref.png [deleted file]
test/reference/xlib-surface-source.base.rgb24.ref.png [deleted file]
test/reference/xlib-surface-source.egl.argb32.ref.png [deleted file]
test/reference/xlib-surface-source.image16.ref.png [deleted file]
test/reference/xlib-surface-source.mask.argb32.ref.png [deleted file]
test/reference/xlib-surface-source.mask.rgb24.ref.png [deleted file]
test/reference/xlib-surface-source.ps.argb32.ref.png [deleted file]
test/reference/xlib-surface-source.ps.rgb24.ref.png [deleted file]
test/reference/xlib-surface-source.rgb24.ref.png [deleted file]
test/reference/xlib-surface-source.svg12.argb32.xfail.png [deleted file]
test/reference/xlib-surface-source.svg12.rgb24.xfail.png [deleted file]
test/reference/xlib-surface-source.traps.argb32.ref.png [deleted file]
test/reference/xlib-surface-source.traps.rgb24.ref.png [deleted file]
test/reference/zero-alpha.argb32.ref.png [deleted file]
test/reference/zero-alpha.base.argb32.ref.png [deleted file]
test/reference/zero-alpha.base.rgb24.ref.png [deleted file]
test/reference/zero-alpha.egl.argb32.ref.png [deleted file]
test/reference/zero-alpha.mask.argb32.ref.png [deleted file]
test/reference/zero-alpha.mask.rgb24.ref.png [deleted file]
test/reference/zero-alpha.ref.png [deleted file]
test/reference/zero-alpha.rgb24.ref.png [deleted file]
test/reference/zero-alpha.traps.argb32.ref.png [deleted file]
test/reference/zero-alpha.traps.rgb24.ref.png [deleted file]
test/reference/zero-mask.argb32.ref.png [deleted file]
test/reference/zero-mask.base.argb32.ref.png [deleted file]
test/reference/zero-mask.base.rgb24.ref.png [deleted file]
test/reference/zero-mask.egl.argb32.ref.png [deleted file]
test/reference/zero-mask.mask.argb32.ref.png [deleted file]
test/reference/zero-mask.mask.rgb24.ref.png [deleted file]
test/reference/zero-mask.ref.png [deleted file]
test/reference/zero-mask.rgb24.ref.png [deleted file]
test/reference/zero-mask.traps.argb32.ref.png [deleted file]
test/reference/zero-mask.traps.rgb24.ref.png [deleted file]
test/reflected-stroke.c [deleted file]
test/rel-path.c [deleted file]
test/rgb24-ignore-alpha.c [deleted file]
test/romedalen.jpg [deleted file]
test/romedalen.png [deleted file]
test/rotate-image-surface-paint.c [deleted file]
test/rotated-clip.c [deleted file]
test/rounded-rectangle-fill.c [deleted file]
test/rounded-rectangle-stroke.c [deleted file]
test/run-cairo-test-suite.sh [deleted file]
test/scale-down-source-surface-paint.c [deleted file]
test/scale-offset-image.c [deleted file]
test/scale-offset-similar.c [deleted file]
test/scale-source-surface-paint.c [deleted file]
test/scaled-font-zero-matrix.c [deleted file]
test/scarab.jpg [deleted file]
test/select-font-face.c [deleted file]
test/select-font-no-show-text.c [deleted file]
test/self-copy-overlap.c [deleted file]
test/self-copy.c [deleted file]
test/self-intersecting.c [deleted file]
test/set-source.c [deleted file]
test/shape-general-convex.c [deleted file]
test/shape-sierpinski.c [deleted file]
test/show-glyphs-advance.c [deleted file]
test/show-glyphs-many.c [deleted file]
test/show-text-current-point.c [deleted file]
test/skew-extreme.c [deleted file]
test/smask-fill.c [deleted file]
test/smask-image-mask.c [deleted file]
test/smask-mask.c [deleted file]
test/smask-paint.c [deleted file]
test/smask-stroke.c [deleted file]
test/smask-text.c [deleted file]
test/smask.c [deleted file]
test/solid-pattern-cache-stress.c [deleted file]
test/source-clip-scale.c [deleted file]
test/source-clip.c [deleted file]
test/source-surface-scale-paint.c [deleted file]
test/spline-decomposition.c [deleted file]
test/stride-12-image.c [deleted file]
test/stroke-ctm-caps.c [deleted file]
test/stroke-image.c [deleted file]
test/stroke-open-box.c [deleted file]
test/stroke-pattern.c [deleted file]
test/subsurface-image-repeat.c [deleted file]
test/subsurface-modify-child.c [deleted file]
test/subsurface-modify-parent.c [deleted file]
test/subsurface-outside-target.c [deleted file]
test/subsurface-pad.c [deleted file]
test/subsurface-reflect.c [deleted file]
test/subsurface-repeat.c [deleted file]
test/subsurface-scale.c [deleted file]
test/subsurface-similar-repeat.c [deleted file]
test/subsurface.c [deleted file]
test/surface-finish-twice.c [deleted file]
test/surface-pattern-big-scale-down.c [deleted file]
test/surface-pattern-operator.c [deleted file]
test/surface-pattern-scale-down-extend.c [deleted file]
test/surface-pattern-scale-down.c [deleted file]
test/surface-pattern-scale-up.c [deleted file]
test/surface-pattern.c [deleted file]
test/surface-source.c [deleted file]
test/svg-clip.c [deleted file]
test/svg-surface-source.c [deleted file]
test/svg-surface.c [deleted file]
test/svg2png.c [deleted file]
test/testsvg [deleted file]
test/testtable.js [deleted file]
test/text-antialias-subpixel.c [deleted file]
test/text-antialias.c [deleted file]
test/text-cache-crash.c [deleted file]
test/text-glyph-range.c [deleted file]
test/text-pattern.c [deleted file]
test/text-rotate.c [deleted file]
test/text-transform.c [deleted file]
test/text-zero-len.c [deleted file]
test/tiger.c [deleted file]
test/tiger.inc [deleted file]
test/tighten-bounds.c [deleted file]
test/toy-font-face.c [deleted file]
test/transforms.c [deleted file]
test/translate-show-surface.c [deleted file]
test/trap-clip.c [deleted file]
test/twin-antialias-gray.c [deleted file]
test/twin-antialias-mixed.c [deleted file]
test/twin-antialias-none.c [deleted file]
test/twin-antialias-subpixel.c [deleted file]
test/twin.c [deleted file]
test/unaligned-box.c [deleted file]
test/unantialiased-shapes.c [deleted file]
test/unbounded-operator.c [deleted file]
test/unclosed-strokes.c [deleted file]
test/user-data.c [deleted file]
test/user-font-mask.c [deleted file]
test/user-font-proxy.c [deleted file]
test/user-font-rescale.c [deleted file]
test/user-font.c [deleted file]
test/white-in-noop.c [deleted file]
test/world-map.c [deleted file]
test/world-map.h [deleted file]
test/xcb-huge-image-shm.c [deleted file]
test/xcb-snapshot-assert.c [deleted file]
test/xcb-stress-cache.c [deleted file]
test/xcb-surface-source.c [deleted file]
test/xcomposite-projection.c [deleted file]
test/xlib-expose-event.c [deleted file]
test/xlib-surface-source.c [deleted file]
test/xlib-surface.c [deleted file]
test/zero-alpha.c [deleted file]
test/zero-mask.c [deleted file]
util/Makefile.am
util/backtrace-symbols.c [deleted file]
util/cairo-fdr/Makefile.am [deleted file]
util/cairo-fdr/fdr.c [deleted file]
util/cairo-gobject/cairo-gobject.h
util/cairo-script/Makefile.am
util/cairo-script/cairo-script-file.c
util/cairo-script/cairo-script-hash.c
util/cairo-script/cairo-script-interpreter.h
util/cairo-script/cairo-script-objects.c
util/cairo-script/cairo-script-operators.c
util/cairo-script/cairo-script-private.h
util/cairo-script/cairo-script-scanner.c
util/cairo-sphinx/.gitignore [deleted file]
util/cairo-sphinx/Makefile.am [deleted file]
util/cairo-sphinx/fdr.c [deleted file]
util/cairo-sphinx/sphinx.c [deleted file]
util/cairo-trace/.gitignore [deleted file]
util/cairo-trace/COPYING [deleted file]
util/cairo-trace/COPYING-GPL-3 [deleted file]
util/cairo-trace/Makefile.am [deleted file]
util/cairo-trace/cairo-trace.in [deleted file]
util/cairo-trace/lookup-symbol.c [deleted file]
util/cairo-trace/lookup-symbol.h [deleted file]
util/cairo-trace/trace.c [deleted file]
util/malloc-stats.c
util/show-polygon.c

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..cef6930
--- /dev/null
@@ -0,0 +1,32 @@
+.deps
+.libs
+.perf
+cairo-*.*.*
+ChangeLog*
+Makefile
+Makefile.in
+aclocal.m4
+autom4te.cache
+autoscan.log
+config.cache
+config.h
+config.h.in
+config.log
+config.status
+configure
+configure.scan
+doltcompile
+doltlibtool
+libtool
+releases
+stamp-h
+stamp-h1
+stamp-h.in
+*~
+.*.sw?
+*.la
+*.lo
+*.orig
+*.rej
+*-uninstalled.pc
+.vimrc
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644 (file)
index e69de29..0000000
index 03fa352..0fa9c74 100644 (file)
@@ -16,25 +16,28 @@ EXTRA_DIST += \
 
 ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS}
 
-DIST_SUBDIRS = src doc util boilerplate test perf
-SUBDIRS = src doc util
+#DIST_SUBDIRS = src doc util boilerplate test
+#SUBDIRS = src doc util
+DIST_SUBDIRS = src util boilerplate
+SUBDIRS = src util
 # libpng is required for our test programs
 if CAIRO_HAS_PNG_FUNCTIONS
-SUBDIRS += boilerplate test perf
+#SUBDIRS += boilerplate test
+SUBDIRS += boilerplate
 endif
 
 configure: cairo-version.h
 
-doc:
-       cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
-test retest recheck: all
-       cd test && $(MAKE) $(AM_MAKEFLAGS) $@
-perf: all
-       cd perf && $(MAKE) $(AM_MAKEFLAGS) $@
-check-valgrind: all
-       cd test && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
-       cd perf && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
-.PHONY: doc test retest recheck perf check-valgrind
+#doc:
+#      cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
+#test retest recheck: all
+#      cd test && $(MAKE) $(AM_MAKEFLAGS) $@
+#perf: all
+#      cd perf && $(MAKE) $(AM_MAKEFLAGS) $@
+#check-valgrind: all
+#      cd test && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
+#      cd perf && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
+#.PHONY: doc test retest recheck perf check-valgrind
 
 
 EXTRA_DIST += \
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644 (file)
index 3e2055d..0000000
+++ /dev/null
@@ -1,1393 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Creating ChangeLog files from git log:
-
-# We always create a ChangeLog that contains the most recent changes, and
-# multiple others for changes between major releases (other than the last such
-# segment that we put in 'ChangeLog'.  The old ones are named
-# ChangeLog.pre-X.Y where X.Y is the version number of the major release.
-
-# Some custom targets to make it easier to release things.
-#
-# To make real stable releases or devel snapshots, use either:
-#              make release-check
-# or           make release-publish
-#
-# To make a quick properly named (date and git hash stamped) tarball:
-#              make snapshot
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/build/Makefile.am.analysis \
-       $(srcdir)/build/Makefile.am.changelog \
-       $(srcdir)/build/Makefile.am.releasing $(srcdir)/config.h.in \
-       $(top_srcdir)/build/Makefile.am.common $(top_srcdir)/configure \
-       $(top_srcdir)/src/cairo-features-uninstalled.pc.in \
-       $(top_srcdir)/src/cairo-uninstalled.pc.in AUTHORS COPYING \
-       ChangeLog INSTALL NEWS build/compile build/config.guess \
-       build/config.sub build/depcomp build/install-sh \
-       build/ltmain.sh build/missing config.guess config.sub
-EXTRA_PROGRAMS =
-TESTS =
-check_PROGRAMS =
-# libpng is required for our test programs
-@CAIRO_HAS_PNG_FUNCTIONS_TRUE@am__append_1 = boilerplate test perf
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/build/aclocal.cairo.m4 \
-       $(top_srcdir)/build/aclocal.compare.m4 \
-       $(top_srcdir)/build/aclocal.enable.m4 \
-       $(top_srcdir)/build/aclocal.float.m4 \
-       $(top_srcdir)/build/aclocal.makefile.m4 \
-       $(top_srcdir)/build/aclocal.pkg.m4 \
-       $(top_srcdir)/build/gtk-doc.m4 $(top_srcdir)/build/libtool.m4 \
-       $(top_srcdir)/build/ltoptions.m4 \
-       $(top_srcdir)/build/ltsugar.m4 \
-       $(top_srcdir)/build/ltversion.m4 \
-       $(top_srcdir)/build/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/cairo-version.h \
-       $(top_srcdir)/build/configure.ac.version \
-       $(top_srcdir)/build/configure.ac.tools \
-       $(top_srcdir)/build/configure.ac.features \
-       $(top_srcdir)/build/configure.ac.warnings \
-       $(top_srcdir)/build/configure.ac.system \
-       $(top_srcdir)/build/configure.ac.analysis \
-       $(top_srcdir)/build/configure.ac.noversion \
-       $(top_srcdir)/build/configure.ac.pthread \
-       $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = cairo-uninstalled.pc cairo-xlib-uninstalled.pc \
-       cairo-xlib-xrender-uninstalled.pc cairo-xcb-uninstalled.pc \
-       cairo-xlib-xcb-uninstalled.pc cairo-xcb-shm-uninstalled.pc \
-       cairo-qt-uninstalled.pc cairo-quartz-uninstalled.pc \
-       cairo-quartz-font-uninstalled.pc \
-       cairo-quartz-image-uninstalled.pc cairo-win32-uninstalled.pc \
-       cairo-win32-font-uninstalled.pc cairo-skia-uninstalled.pc \
-       cairo-os2-uninstalled.pc cairo-beos-uninstalled.pc \
-       cairo-drm-uninstalled.pc cairo-gallium-uninstalled.pc \
-       cairo-png-uninstalled.pc cairo-gl-uninstalled.pc \
-       cairo-glesv2-uninstalled.pc cairo-cogl-uninstalled.pc \
-       cairo-directfb-uninstalled.pc cairo-vg-uninstalled.pc \
-       cairo-egl-uninstalled.pc cairo-glx-uninstalled.pc \
-       cairo-wgl-uninstalled.pc cairo-script-uninstalled.pc \
-       cairo-ft-uninstalled.pc cairo-fc-uninstalled.pc \
-       cairo-ps-uninstalled.pc cairo-pdf-uninstalled.pc \
-       cairo-svg-uninstalled.pc cairo-tee-uninstalled.pc \
-       cairo-xml-uninstalled.pc cairo-gobject-uninstalled.pc
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-GZIP_ENV = --best
-DIST_ARCHIVES = $(distdir).tar.xz
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-CAIROBOILERPLATE_LIBS = @CAIROBOILERPLATE_LIBS@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_LDFLAGS = @CAIRO_LDFLAGS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CAIRO_LIBTOOL_VERSION_INFO = @CAIRO_LIBTOOL_VERSION_INFO@
-CAIRO_NONPKGCONFIG_CFLAGS = @CAIRO_NONPKGCONFIG_CFLAGS@
-CAIRO_NONPKGCONFIG_LIBS = @CAIRO_NONPKGCONFIG_LIBS@
-CAIRO_RELEASE_STATUS = @CAIRO_RELEASE_STATUS@
-CAIRO_REQUIRES = @CAIRO_REQUIRES@
-CAIRO_TEST_MODE = @CAIRO_TEST_MODE@
-CAIRO_TEST_UNDEFINED_LDFLAGS = @CAIRO_TEST_UNDEFINED_LDFLAGS@
-CAIRO_VERSION_MAJOR = @CAIRO_VERSION_MAJOR@
-CAIRO_VERSION_MICRO = @CAIRO_VERSION_MICRO@
-CAIRO_VERSION_MINOR = @CAIRO_VERSION_MINOR@
-CAIRO_VERSION_SONUM = @CAIRO_VERSION_SONUM@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FIND = @FIND@
-FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
-FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
-FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
-FREETYPE_CONFIG = @FREETYPE_CONFIG@
-FREETYPE_LIBS = @FREETYPE_LIBS@
-GOBJECT_CFLAGS = @GOBJECT_CFLAGS@
-GOBJECT_LIBS = @GOBJECT_LIBS@
-GREP = @GREP@
-GS = @GS@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBM = @LIBM@
-LIBOBJS = @LIBOBJS@
-LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@
-LIBRSVG_LIBS = @LIBRSVG_LIBS@
-LIBS = @LIBS@
-LIBSPECTRE_CFLAGS = @LIBSPECTRE_CFLAGS@
-LIBSPECTRE_LIBS = @LIBSPECTRE_LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LTP = @LTP@
-LTP_GENHTML = @LTP_GENHTML@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
-PKG_CONFIG = @PKG_CONFIG@
-POPPLER_CFLAGS = @POPPLER_CFLAGS@
-POPPLER_LIBS = @POPPLER_LIBS@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SHLIB_EXT = @SHLIB_EXT@
-SHM_LIBS = @SHM_LIBS@
-SHTOOL = @SHTOOL@
-STRIP = @STRIP@
-VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
-VALGRIND_LIBS = @VALGRIND_LIBS@
-VERSION = @VERSION@
-XARGS = @XARGS@
-XMKMF = @XMKMF@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-cogl_CFLAGS = @cogl_CFLAGS@
-cogl_LIBS = @cogl_LIBS@
-datadir = @datadir@
-datarootdir = @datarootdir@
-directfb_CFLAGS = @directfb_CFLAGS@
-directfb_LIBS = @directfb_LIBS@
-docdir = @docdir@
-drm_CFLAGS = @drm_CFLAGS@
-drm_LIBS = @drm_LIBS@
-dvidir = @dvidir@
-egl_CFLAGS = @egl_CFLAGS@
-egl_LIBS = @egl_LIBS@
-exec_prefix = @exec_prefix@
-gallium_DIR = @gallium_DIR@
-gl_CFLAGS = @gl_CFLAGS@
-gl_LIBS = @gl_LIBS@
-glesv2_CFLAGS = @glesv2_CFLAGS@
-glesv2_LIBS = @glesv2_LIBS@
-glib_CFLAGS = @glib_CFLAGS@
-glib_LIBS = @glib_LIBS@
-gtk_CFLAGS = @gtk_CFLAGS@
-gtk_LIBS = @gtk_LIBS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mesa_DIR = @mesa_DIR@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pixman_CFLAGS = @pixman_CFLAGS@
-pixman_LIBS = @pixman_LIBS@
-png_CFLAGS = @png_CFLAGS@
-png_LIBS = @png_LIBS@
-png_REQUIRES = @png_REQUIRES@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_CFLAGS = @pthread_CFLAGS@
-pthread_LIBS = @pthread_LIBS@
-qt_CFLAGS = @qt_CFLAGS@
-qt_LIBS = @qt_LIBS@
-real_pthread_CFLAGS = @real_pthread_CFLAGS@
-real_pthread_LIBS = @real_pthread_LIBS@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-shm_LIBS = @shm_LIBS@
-skia_DIR = @skia_DIR@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-xcb_CFLAGS = @xcb_CFLAGS@
-xcb_LIBS = @xcb_LIBS@
-xcb_shm_CFLAGS = @xcb_shm_CFLAGS@
-xcb_shm_LIBS = @xcb_shm_LIBS@
-xlib_CFLAGS = @xlib_CFLAGS@
-xlib_LIBS = @xlib_LIBS@
-xlib_xcb_CFLAGS = @xlib_xcb_CFLAGS@
-xlib_xcb_LIBS = @xlib_xcb_LIBS@
-xlib_xrender_CFLAGS = @xlib_xrender_CFLAGS@
-xlib_xrender_LIBS = @xlib_xrender_LIBS@
-BUILT_SOURCES = 
-CLEANFILES = *.i *.s *.gch $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) \
-       $(check_PROGRAMS)
-DISTCLEANFILES = $(BUILT_SOURCES) config.cache \
-       $(srcdir)/ChangeLog.cache-* ChangeLog.cache-*
-EXTRA_DIST = KNOWN_ISSUES README.win32 Makefile.win32 \
-       build/Makefile.win32.common build/Makefile.win32.inform \
-       build/Makefile.win32.features build/Makefile.win32.features-h \
-       $(NULL) AUTHORS BIBLIOGRAPHY BUGS CODING_STYLE COPYING \
-       COPYING-LGPL-2.1 COPYING-MPL-1.1 HACKING INSTALL NEWS \
-       PORTING_GUIDE README RELEASING autogen.sh cairo-version.h \
-       $(NULL)
-EXTRA_LTLIBRARIES = 
-MAINTAINERCLEANFILES = Makefile.in $(srcdir)/aclocal.m4 \
-       $(srcdir)/autoscan.log $(srcdir)/build/compile \
-       $(srcdir)/build/config.guess $(srcdir)/build/config.sub \
-       $(srcdir)/build/depcomp $(srcdir)/build/install-sh \
-       $(srcdir)/build/ltmain.sh $(srcdir)/build/missing \
-       $(srcdir)/build/mkinstalldirs $(srcdir)/config.h.in \
-       $(srcdir)/configure.scan $(NULL) $(srcdir)/ChangeLog \
-       $(srcdir)/ChangeLog.pre-*
-#MAINTAINERCLEANFILES += \
-#      $(srcdir)/build/Makefile.win32.features \
-#      $(srcdir)/build/Makefile.win32.features-h \
-#      $(NULL)
-ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS}
-DIST_SUBDIRS = src doc util boilerplate test perf
-SUBDIRS = src doc util $(am__append_1)
-DISTCHECK_CONFIGURE_FLAGS = \
-       --enable-gtk-doc \
-       --enable-test-surfaces \
-       --enable-full-testing \
-       $(NULL)
-
-CURR_CHANGELOG_VERSION = $(CAIRO_VERSION_MAJOR).$$(echo "($(CAIRO_VERSION_MINOR)+1)/2*2" | bc)
-# examines $version
-PREV_CHANGELOG_VERSION = $$(if test "x$$(echo "($$version-0.1)*2/2"|bc)" = "x$$(echo "$$version*2/2"|bc)"; \
-                         then echo "$$version-$$(echo "$$version" | sed 's/[0-9]/0/g;s/[0-9]$$/2/')"; \
-                         else echo "$$version-1.0"; \
-                         fi | bc | sed 's/[.]0*/./;s/^0[.]\?$$/initial/;s/[.]$$/.0/')
-
-CHANGELOGS = ChangeLog \
-       `version=$(CURR_CHANGELOG_VERSION); \
-       version=$(PREV_CHANGELOG_VERSION); \
-       while test "x$$version" != xinitial; do \
-               echo ChangeLog.pre-$$version; \
-               version=$(PREV_CHANGELOG_VERSION); \
-       done`
-
-TAR_OPTIONS = --owner=0 --group=0
-RELEASE_OR_SNAPSHOT = $$(if test "x$(CAIRO_VERSION_MINOR)" = "x$$(echo "$(CAIRO_VERSION_MINOR)/2*2" | bc)" ; then echo release; else echo snapshot; fi)
-RELEASE_UPLOAD_HOST = cairographics.org
-RELEASE_UPLOAD_BASE = /srv/cairo.freedesktop.org/www
-RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/$(RELEASE_OR_SNAPSHOT)s
-RELEASE_URL_BASE = http://cairographics.org/$(RELEASE_OR_SNAPSHOT)s
-RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org (and CC gnome-announce-list@gnome.org)
-MANUAL_VERSIONED = manual-$(VERSION)
-MANUAL_TAR_FILE = $(MANUAL_VERSIONED).tar.gz
-MANUAL_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)
-tar_file = $(PACKAGE)-$(VERSION).tar.xz
-sha1_file = $(tar_file).sha1
-gpg_file = $(sha1_file).asc
-
-# Win32 package zipfiles
-@OS_WIN32_TRUE@runtime_zip_file = $(PACKAGE)-$(VERSION).zip
-@OS_WIN32_TRUE@developer_zip_file = $(PACKAGE)-dev-$(VERSION).zip
-all: $(BUILT_SOURCES) config.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh:
-       @:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/Makefile.am.common $(srcdir)/build/Makefile.am.changelog $(srcdir)/build/Makefile.am.releasing $(srcdir)/build/Makefile.am.analysis $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-config.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in:  $(am__configure_deps) 
-       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f config.h stamp-h1
-cairo-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-xlib-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-xlib-xrender-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-xcb-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-xlib-xcb-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-xcb-shm-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-qt-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-quartz-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-quartz-font-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-quartz-image-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-win32-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-win32-font-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-skia-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-os2-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-beos-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-drm-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-gallium-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-png-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-gl-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-glesv2-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-cogl-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-directfb-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-vg-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-egl-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-glx-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-wgl-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-script-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-ft-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-fc-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-ps-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-pdf-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-svg-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-tee-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-xml-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-cairo-gobject-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/cairo-features-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-
-clean-checkPROGRAMS:
-       @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-distclean-libtool:
-       -rm -f libtool config.lt
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
-       @failed=0; all=0; xfail=0; xpass=0; skip=0; \
-       srcdir=$(srcdir); export srcdir; \
-       list=' $(TESTS) '; \
-       $(am__tty_colors); \
-       if test -n "$$list"; then \
-         for tst in $$list; do \
-           if test -f ./$$tst; then dir=./; \
-           elif test -f $$tst; then dir=; \
-           else dir="$(srcdir)/"; fi; \
-           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xpass=`expr $$xpass + 1`; \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=XPASS; \
-             ;; \
-             *) \
-               col=$$grn; res=PASS; \
-             ;; \
-             esac; \
-           elif test $$? -ne 77; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xfail=`expr $$xfail + 1`; \
-               col=$$lgn; res=XFAIL; \
-             ;; \
-             *) \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=FAIL; \
-             ;; \
-             esac; \
-           else \
-             skip=`expr $$skip + 1`; \
-             col=$$blu; res=SKIP; \
-           fi; \
-           echo "$${col}$$res$${std}: $$tst"; \
-         done; \
-         if test "$$all" -eq 1; then \
-           tests="test"; \
-           All=""; \
-         else \
-           tests="tests"; \
-           All="All "; \
-         fi; \
-         if test "$$failed" -eq 0; then \
-           if test "$$xfail" -eq 0; then \
-             banner="$$All$$all $$tests passed"; \
-           else \
-             if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
-             banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
-           fi; \
-         else \
-           if test "$$xpass" -eq 0; then \
-             banner="$$failed of $$all $$tests failed"; \
-           else \
-             if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
-             banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
-           fi; \
-         fi; \
-         dashes="$$banner"; \
-         skipped=""; \
-         if test "$$skip" -ne 0; then \
-           if test "$$skip" -eq 1; then \
-             skipped="($$skip test was not run)"; \
-           else \
-             skipped="($$skip tests were not run)"; \
-           fi; \
-           test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$skipped"; \
-         fi; \
-         report=""; \
-         if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
-           report="Please report to $(PACKAGE_BUGREPORT)"; \
-           test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$report"; \
-         fi; \
-         dashes=`echo "$$dashes" | sed s/./=/g`; \
-         if test "$$failed" -eq 0; then \
-           echo "$$grn$$dashes"; \
-         else \
-           echo "$$red$$dashes"; \
-         fi; \
-         echo "$$banner"; \
-         test -z "$$skipped" || echo "$$skipped"; \
-         test -z "$$report" || echo "$$report"; \
-         echo "$$dashes$$std"; \
-         test "$$failed" -eq 0; \
-       else :; fi
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-hook
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
-check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
-       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile config.h
-installdirs: installdirs-recursive
-installdirs-am:
-install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-@CAIRO_HAS_LCOV_FALSE@html-local:
-clean: clean-recursive
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
-       mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
-       distclean-libtool distclean-local distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am: html-local
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       check-am ctags-recursive install install-am install-strip \
-       tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-TESTS check-am clean \
-       clean-checkPROGRAMS clean-generic clean-libtool ctags \
-       ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
-       dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \
-       distclean distclean-generic distclean-hdr distclean-libtool \
-       distclean-local distclean-tags distcleancheck distdir \
-       distuninstallcheck dvi dvi-am html html-am html-local info \
-       info-am install install-am install-data install-data-am \
-       install-dvi install-dvi-am install-exec install-exec-am \
-       install-html install-html-am install-info install-info-am \
-       install-man install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am
-
-
-configure: cairo-version.h
-
-doc:
-       cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
-test retest recheck: all
-       cd test && $(MAKE) $(AM_MAKEFLAGS) $@
-perf: all
-       cd perf && $(MAKE) $(AM_MAKEFLAGS) $@
-check-valgrind: all
-       cd test && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
-       cd perf && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
-.PHONY: doc test retest recheck perf check-valgrind
-
-changelogs:
-       @$(MAKE) $(AM_MAKEFLAGS) $(CHANGELOGS)
-
-dist-hook: changelogs
-       changelogs="$(CHANGELOGS)"; \
-       for changelog in $$changelogs; do \
-               cp $(srcdir)/$$changelog $(distdir)/ 2>/dev/null || \
-               cp $$changelog $(distdir)/; \
-       done
-
-$(srcdir)/ChangeLog:
-       @if test -d "$(srcdir)/.git"; then \
-               version=$(CURR_CHANGELOG_VERSION); \
-               prev=$(PREV_CHANGELOG_VERSION).0; \
-               nearest_tag=`git describe | sed 's/-.*//'`; \
-               before=$(srcdir)/ChangeLog.cache-$$prev..$$nearest_tag; \
-               after=$(srcdir)/ChangeLog.cache-$$nearest_tag..; \
-               $(MAKE) $(AM_MAKEFLAGS) $$before $$after && \
-               echo Creating $@ && \
-               { echo '# Generated by configure.  Do not edit.'; echo; \
-                 cat $$after; echo; cat $$before; } > $@; \
-       else \
-               test -f $@ || \
-               (echo A git checkout is required to generate $@ >&2 && \
-                echo A git checkout is required to generate this file >> $@); \
-       fi
-
-ChangeLog.cache-*..: .git
-
-ChangeLog%: $(srcdir)/ChangeLog%
-
-$(srcdir)/ChangeLog.cache-% $(srcdir)/ChangeLog.pre-%:
-       @echo Creating $@
-       @if test -d "$(srcdir)/.git"; then \
-         (cd "$(srcdir)" && \
-         version=$$(echo "$@" | sed 's/.*ChangeLog\([.].*-\)\?//'); \
-         if echo "$@" | grep -q '^ChangeLog[.]cache'; then \
-               spec=$$version; \
-         else \
-               to=$$version; \
-               test "x$$version" = x && version=$(CURR_CHANGELOG_VERSION); \
-               from=$(PREV_CHANGELOG_VERSION); \
-               test "x$$to" = x || to=$$to.0; \
-               test "x$$from" = xinitial || from=$$from.0; \
-               spec=$$from..$$to; \
-         fi; \
-         $(top_srcdir)/build/missing --run git log --stat "$$spec") > $@.tmp \
-         && mv -f $@.tmp $@ \
-         || ($(RM) $@.tmp; \
-             echo Failed to generate $@, your $@ may be outdated >&2); \
-       else \
-         echo A git checkout is required to generate $@ >&2; \
-       fi
-
-.PHONY: changelogs ChangeLog $(srcdir)/ChangeLog
-
-dist-hook: dist-clear-sticky-bits
-
-# Clean up any sticky bits we may inherit from parent dir
-dist-clear-sticky-bits:
-       chmod -R a-s $(distdir)
-
-snapshot:
-       distdir="$(distdir)-`date '+%Y%m%d'`"; \
-       test -d "$(srcdir)/.git" && distdir=$$distdir-`cd "$(srcdir)" && git rev-parse HEAD | cut -c 1-6`; \
-       TAR_OPTIONS="$(TAR_OPTIONS)" $(MAKE) $(AM_MAKEFLAGS) distdir="$$distdir" snapshot-dist
-
-snapshot-dist: dist
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-
-$(sha1_file): $(tar_file)
-       sha1sum $^ > $@
-
-$(gpg_file): $(sha1_file)
-       @echo "Please enter your GPG password to sign the checksum."
-       gpg --armor --sign $^ 
-
-release-verify-sane-changelogs: changelogs
-       @echo -n "Checking that the ChangeLog files are sane..."
-       @if grep -q "is required to generate" $(CHANGELOGS); then \
-               (echo "Ouch." && echo "Some of the ChangeLogs are not generated correctly." \
-               && echo "Remove ChangeLog* and make changelogs" \
-               && false); else :; fi
-       @echo "Good."
-
-release-verify-sane-tests:
-       @echo "Checking that the test suite is sane..."
-       @cd test && $(MAKE) $(AM_MAKEFLAGS) release-verify-sane-tests
-
-release-verify-even-micro:
-       @echo -n "Checking that $(VERSION) has an even micro component..."
-       @test "$(CAIRO_VERSION_MICRO)" = "`echo $(CAIRO_VERSION_MICRO)/2*2 | bc`" \
-               || (echo "Ouch." && echo "The version micro component '$(CAIRO_VERSION_MICRO)' is not an even number." \
-               && echo "The version in configure.in must be incremented before a new release." \
-               && false)
-       @echo "Good."
-
-release-verify-newer:
-       @echo -n "Checking that no $(VERSION) release already exists..."
-       @ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \
-               || (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \
-               && echo "Are you sure you have an updated checkout?" \
-               && echo "This should never happen." \
-               && false)
-       @echo "Good."
-
-release-remove-old:
-       $(RM) $(tar_file) $(sha1_file) $(gpg_file)
-
-# Strict ordering enforced for parallel make to work
-release-check: \
-       release-verify-even-micro \
-       release-verify-sane-changelogs \
-       release-verify-sane-tests \
-       release-verify-newer \
-       $(NULL)
-       $(MAKE) $(AM_MAKEFLAGS) release-remove-old
-       TAR_OPTIONS="$(TAR_OPTIONS)" $(MAKE) $(AM_MAKEFLAGS) distcheck
-
-release-upload: $(tar_file) $(sha1_file) $(gpg_file)
-       mkdir -p releases
-       scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)
-       mv $(tar_file) $(sha1_file) $(gpg_file) releases
-       ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
-       git tag -s  -m "cairo $(CAIRO_VERSION_MAJOR).$(CAIRO_VERSION_MINOR).$(CAIRO_VERSION_MICRO) release" $(CAIRO_VERSION_MAJOR).$(CAIRO_VERSION_MINOR).$(CAIRO_VERSION_MICRO)
-
-release-publish-message: releases/$(sha1_file)
-       @echo "Please follow the instructions in RELEASING to push stuff out and"
-       @echo "send out the announcement mails.  Here is the excerpt you need:"
-       @echo ""
-       @echo "Subject: $(PACKAGE) $(RELEASE_OR_SNAPSHOT) $(VERSION) now available"
-       @echo ""
-       @echo "============================== CUT HERE =============================="
-       @echo "A new $(PACKAGE) $(RELEASE_OR_SNAPSHOT) $(VERSION) is now available from:"
-       @echo ""
-       @echo " $(RELEASE_URL_BASE)/$(tar_file)"
-       @echo ""
-       @echo "    which can be verified with:"
-       @echo ""
-       @echo " $(RELEASE_URL_BASE)/$(sha1_file)"
-       @echo -n "      "
-       @cat releases/$(sha1_file)
-       @echo ""
-       @echo " $(RELEASE_URL_BASE)/$(gpg_file)"
-       @echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)"
-       @echo ""
-       @echo "  Additionally, a git clone of the source tree:"
-       @echo ""
-       @echo " git clone git://git.cairographics.org/git/cairo"
-       @echo ""
-       @echo "    will include a signed $(VERSION) tag which points to a commit named:"
-       @echo " `git cat-file tag $(VERSION) | grep ^object | sed -e 's,object ,,'`"
-       @echo ""
-       @echo "    which can be verified with:"
-       @echo " git verify-tag $(VERSION)"
-       @echo ""
-       @echo "    and can be checked out with a command such as:"
-       @echo " git checkout -b build $(VERSION)"
-       @echo ""
-       @echo "============================== CUT HERE =============================="
-
-doc-publish-versioned: doc
-       rm -rf ./$(MANUAL_VERSIONED)
-       cp -a doc/public/html $(MANUAL_VERSIONED)
-       tar czf $(MANUAL_TAR_FILE) $(MANUAL_VERSIONED)
-       scp $(MANUAL_TAR_FILE) $(RELEASE_UPLOAD_HOST):$(MANUAL_UPLOAD_DIR)
-       ssh $(RELEASE_UPLOAD_HOST) "cd $(MANUAL_UPLOAD_DIR) && tar xzf $(MANUAL_TAR_FILE) && ln -sf $(MANUAL_TAR_FILE) cairo-$(MANUAL_TAR_FILE)"
-
-doc-publish-symlinks:
-       ssh $(RELEASE_UPLOAD_HOST) "cd $(MANUAL_UPLOAD_DIR) && rm -f manual && ln -s $(MANUAL_VERSIONED) manual && ln -sf $(MANUAL_TAR_FILE) cairo-manual.tar.gz"
-
-doc-publish:
-       $(MAKE) $(AM_MAKEFLAGS) doc-publish-versioned
-       @if test "$(RELEASE_OR_SNAPSHOT)" = release; then $(MAKE) $(AM_MAKEFLAGS) doc-publish-symlinks; fi
-
-# Strict ordering enforced for parallel make to work
-release-publish: release-check
-       $(MAKE) $(AM_MAKEFLAGS) release-upload
-       $(MAKE) $(AM_MAKEFLAGS) doc-publish
-       $(MAKE) $(AM_MAKEFLAGS) release-publish-message
-
-@OS_WIN32_TRUE@$(runtime_zip_file): install
-@OS_WIN32_TRUE@        -$(RM) $@
-@OS_WIN32_TRUE@        pwd=`pwd`; cd $(prefix); \
-@OS_WIN32_TRUE@        zip "$$pwd"/$@ bin/libcairo-$(CAIRO_VERSION_SONUM).dll
-
-@OS_WIN32_TRUE@$(developer_zip_file): install
-@OS_WIN32_TRUE@        -$(RM) $@
-@OS_WIN32_TRUE@        pwd=`pwd`; cd $(prefix); \
-@OS_WIN32_TRUE@        zip -r "$$pwd"/$@ include/cairo lib/libcairo.dll.a lib/cairo.lib lib/pkgconfig/cairo.pc lib/pkgconfig/cairo-*.pc share/gtk-doc/html/cairo
-
-@OS_WIN32_TRUE@zips: $(runtime_zip_file) $(developer_zip_file)
-
-.PHONY: \
-       dist-clear-sticky-bits \
-       doc-publish \
-       doc-publish-symlinks \
-       doc-publish-versioned \
-       release-check \
-       release-publish \
-       release-publish-message \
-       release-remove-old \
-       release-upload \
-       release-verify-even-micro \
-       release-verify-newer \
-       release-verify-sane-changelogs \
-       release-verify-sane-tests \
-       snapshot \
-       snapshot-dist \
-       $(NULL)
-# use recursive makes in order to ignore errors during check/perf
-@CAIRO_HAS_LCOV_TRUE@lcov:
-@CAIRO_HAS_LCOV_TRUE@  -$(MAKE) $(AM_MAKEFLAGS) check
-@CAIRO_HAS_LCOV_TRUE@  $(MAKE) $(AM_MAKEFLAGS) genlcov
-@CAIRO_HAS_LCOV_TRUE@lcov-perf:
-@CAIRO_HAS_LCOV_TRUE@  -$(MAKE) $(AM_MAKEFLAGS) perf
-@CAIRO_HAS_LCOV_TRUE@  $(MAKE) $(AM_MAKEFLAGS) genlcov
-
-# we have to massage the lcov.info file slightly to hide the effect of libtool
-# placing the objects files in the .libs/ directory separate from the *.c
-@CAIRO_HAS_LCOV_TRUE@genlcov:
-@CAIRO_HAS_LCOV_TRUE@  $(LTP) --directory $(top_builddir) --path $(top_builddir) --capture --output-file cairo-lcov.info --test-name CAIRO_TEST --no-checksum
-@CAIRO_HAS_LCOV_TRUE@  $(SED) -e 's#.libs/##' \
-@CAIRO_HAS_LCOV_TRUE@         -e 's#boilerplate/src#src#' \
-@CAIRO_HAS_LCOV_TRUE@         -e 's#$(shell pwd)#$(shell cd $(top_srcdir) && pwd)#' \
-@CAIRO_HAS_LCOV_TRUE@         < cairo-lcov.info > cairo-lcov.info.tmp
-@CAIRO_HAS_LCOV_TRUE@  LANG=C $(LTP_GENHTML) --prefix $(top_builddir) --output-directory cairo-lcov --title "Cairo Code Coverage" --show-details cairo-lcov.info.tmp
-@CAIRO_HAS_LCOV_TRUE@  $(RM) cairo-lcov.info.tmp
-
-@CAIRO_HAS_LCOV_TRUE@html-local: lcov
-@CAIRO_HAS_LCOV_FALSE@lcov lcov-perf genlcov:
-@CAIRO_HAS_LCOV_FALSE@ @echo You need to configure Cairo with support for gcov enabled.
-@CAIRO_HAS_LCOV_FALSE@ @echo e.g, ./configure --enable-gcov
-
-lcov-clean:
-@CAIRO_HAS_LCOV_TRUE@  -$(LTP) --directory $(top_builddir) -z
-       -$(RM) -r cairo-lcov.info cairo-lcov
-       -$(FIND) -name '*.gcda' -print | $(XARGS) $(RM)
-
-distclean-local: lcov-clean
-
-.PHONY: lcov lcov-perf genlcov lcov-clean
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/NEWS b/NEWS
index 7f1e5cc..368d293 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,254 @@
+Release 1.12.14 (2013-02-10 Chris Wilson <chris@chris-wilson.co.uk>)
+===================================================================
+In the last week we had a few more bugs reported and promptly resolved.
+As these are a combination of regressions and stability issues, it is
+time for a prompt update and release. Many thanks to everyone for
+testing and reporting issues, and helping to make Cairo better.
+
+Bug fixes
+---------
+
+  Prevent user callbacks accessing user-data during destroy to prevent
+  use-after-free bugs.
+  https://bugzilla.mozilla.org/show_bug.cgi?id=722975
+
+  Use standard names for glyphs in subset fonts (PDF).
+  https://bugs.freedesktop.org/show_bug.cgi?id=60248
+
+  Fix detection of Win98. The logic for detecting Win98 (and its broken
+  AlphaBlend()) was inverted, disabling AlphaBlend() for everyone.
+
+  Prevent numeric overflow from extrapolating polygon edges to the clip
+  boundary and causing severe render artifacts.
+  https://bugs.freedesktop.org/show_bug.cgi?id=60489
+
+  Fix computation of glyph string coordinates when breaking up runs
+  for xlib.
+
+  Fix an assertion in the win32 backend for failing to clear its
+  similar-images.
+  https://bugs.freedesktop.org/show_bug.cgi?id=60519
+
+
+Release 1.12.12 (2013-01-31 Chris Wilson <chris@chris-wilson.co.uk>)
+===================================================================
+The goal of this release is to fix the synchronisation problems that
+were exhibited in the SHM transport for cairo-xlib. This cropped up
+any place that tried to rapidly push fresh pixel data to the X server
+through an ordinary image surface, such as gimp-2.9 and evince.
+
+Bug fixes
+---------
+
+   Avoid replacing the entire image when uploading subimages
+   https://bugs.freedesktop.org/show_bug.cgi?id=59635
+
+   Force synchronisation for scratch SHM image buffers, so that we do
+   not overwrite data as it is being read by X.
+   https://bugs.freedesktop.org/show_bug.cgi?id=59635 (also)
+
+   Fix typos in detecting multisampling for the GL (MSAA) backend.
+
+   Fix a memory leak in the GL (MSAA) backend.
+
+   Fix a reference counting bug when mapping a GL surface to an image.
+
+
+Release 1.12.10 (2013-01-16 Chris Wilson <chris@chris-wilson.co.uk>)
+===================================================================
+A heap of bug fixes everywhere, and the gradual completion of the MSAA
+backend for cairo-gl. Perhaps the most noteworthy set of the bugfixes
+was the crusage lead by Behdad Eshfabod to make font handling by
+pango/cairo/fontconfig fully threadsafe. This testing revealed a couple
+of races that needed fixing in Cairo's scaled-font and glyph cache.
+
+Bug fixes
+---------
+
+  Append coincident elements to the recording's surface bbtree so that
+  the list is not corrupted and the overlapping elements lost.
+
+  Fix cairo-trace to correctly record map-to-image/unmap-image and then
+  replay them.
+
+  Ignore MappingNotifies when running the XCB testsuite as they are sent
+  to all clients when the keyboard changes. The testsuite would detect
+  the unexpected event and complain.
+
+  Handle very large images in the XCB backend.
+
+  Fix a memory leak in the xlib/shm layer, and prevent use of the SHM
+  surfaces after the display is closed.
+  https://bugs.freedesktop.org/show_bug.cgi?id=58253
+
+  Handle resizing of bitmap fonts, in preparation for a fix to
+  fontconfig to correctly pass on the user request for scaling.
+
+  Always include subroutine 4 (hint replacement idion) when subsetting
+  type 1 fonts in order to prevent a crash in cgpdftops on Mac OS/X
+
+  Fix a couple of typos in the cairo-gobject.h header files for
+  introspection.
+
+  Prevent a mutex deadlock when freeing a scaled-glyph containing a
+  recording-surface that itself references another scaled-glyph.
+  https://bugs.freedesktop.org/show_bug.cgi?id=54950
+
+  Make scaled-font cache actually thread-safe and prevent
+  use-after-frees.
+
+  Restore support for older versions of XRender. A couple of typos and a
+  few forgotten chunks prevented the xlib compositor from running
+  correctly with XRender < 0.10. Note that there are still a few
+  regressions remaining.
+
+
+Release 1.12.8 (2012-11-24 Chris Wilson <chris@chris-wilson.co.uk>)
+===================================================================
+Another couple of weeks and a few more bugs have been found and fixed,
+it is time to push the next point release. Many thanks to everyone who
+reported their issues and helped us track down the bugs and helped
+testing the fixes.
+
+Bug fixes
+---------
+
+  Expand the sanity checking for broken combinations of XSendEvent and
+  ShmCompletionEvent.
+
+  Notice that "The X.Org Foundation" sometimes also identifies itself
+  as "The Xorg Foundation".
+
+  Handle various ages of libXext and its Shm headers.
+
+  Fix the invalid clipping of the source drawable when using SHM
+  transport to upload images.
+  https://bugs.freedesktop.org/show_bug.cgi?id=56547
+
+  Handle all Type1 postscript operators for better font compatibility.
+  https://bugs.freedesktop.org/show_bug.cgi?id=56265
+
+  Fix a couple of memory leaks in Type1 font subsetting
+  https://bugs.freedesktop.org/show_bug.cgi?id=56566
+
+  Tighten the evaluation of the start/stop pen vertices, and catch a few
+  instances where we would use a fan instead of a bevel.
+  https://bugs.freedesktop.org/show_bug.cgi?id=56432
+
+  Fix assumption that geometric clipping always succeeds with the
+  span-compositor.
+  https://bugs.freedesktop.org/show_bug.cgi?id=56574
+
+  Fix call to spline intersection when evaluating whether a stoke is
+  visible.
+
+  Remember to copy inferior sources when using SHM to readback the
+  surface for use as a source.
+
+Release 1.12.6 (2012-10-22 Chris Wilson <chris@chris-wilson.co.uk>)
+===================================================================
+Thanks to everyone who download cairo-1.12.4 and gave us their feedback.
+It truly was invaluable and has helped us to fix many portability issues
+that crept in with some of the new features. This release aims to fix
+those stability issues and run on a wider range of systems.
+
+Bug fixes
+---------
+
+  Fix the recording surface to actually snapshot the source and so fix
+  PDF drawing.
+
+  Calling XSendEvent with an XShmCompletionEvent is incompatabile with
+  older Xorg servers.
+
+  Reorder CloseDisplay chain so that XShm is not reinstantiated after
+  shutdown, causing a potential crash if the Display was immediately
+  recreated using the same memory address.
+
+  Make sure that the Xserver has attached to the SHM segment before
+  deleting it from the global namespace on systems that do not support
+  deferred deletion.
+
+  Type1 subsetting support for PDF (and PS) was once again improved to
+  work with a larger number of PDF readers.
+
+  GLESv2 build fixes and improved support for embedded GPUs.
+
+  Tweak the invisible pen detection for applications that are currently
+  using too large values for geometric tolerance.
+
+  A build fix for older freetype libraries.
+
+
+Release 1.12.4 (2012-10-05 Chris Wilson <chris@chris-wilson.co.uk>)
+===================================================================
+More bugs, and more importantly, more fixes. On the cairo-gl side, we
+have refinements to the MSAA compositor which enables hardware
+acceleration of comparitively low-quality antialiasing - which is useful
+in animations and on very high density screens. For cairo-xlib, we have
+finally enabled SHM transport for image transfers to and from the X
+server. A long standing required feature, SHM transport offers a notable
+reduction in rendering latency by reducing the number of copies
+required to upload image data - given hardware and driver support,
+cairo-xlib can now perform zero copy uploads onto the GPU. And as usual
+Adrian Johnson has been very busy fixing many different corner cases in
+cairo-pdf, impoving opacity groups and font subsetting. Last, but not
+least, for cairo-image Søren Sandmann Pedersen added support for
+rendering glyphs to pixman and using that from within cairo. The new
+glyph rendering facility reduces the overhead for setting up the
+compositing operation, improving glyph thoughput for the image backend
+by a factor of about 4. And before he did so, he also fixed up a few
+bugs in the existing glyph rendering code. So many thanks to Andrea
+Canciani, Adrian Johnson, Chuanbo Weng, Dongyeon Kim, Henry Song, Martin
+Robinson, Søren Sandmann Pedersen and Uli Schlachter for their
+contributions, finding and fixing bugs.
+
+Bug fixes
+---------
+
+ Interior boxes were being dropped when amalgamating regions during
+ tesselation.
+ https://bugs.freedesktop.org/show_bug.cgi?id=49446
+
+ Allow building without gtk-doc installed
+
+ Invalid edge generation whilst reducing complex polygons.
+ https://bugs.freedesktop.org/show_bug.cgi?id=50852
+
+ Stroking around tight cusps
+
+ Use locale correct formats for reading font subsetting and valid
+ buffers.
+ https://bugs.freedesktop.org/show_bug.cgi?id=51443
+
+ Ensure that the type1 subset includes all the glyph encodings
+ https://bugs.freedesktop.org/show_bug.cgi?id=53040
+
+ Upload the whole source for a repeating pattern.
+ https://bugs.freedesktop.org/show_bug.cgi?id=51910
+
+ Fix damage tracking to handle continuation chunks corectly and so
+ prevent crashes on win32.
+ https://bugs.freedesktop.org/show_bug.cgi?id=53384
+
+ Avoid emitting miter joins for degenerate line segments
+ https://bugzilla.mozilla.org/show_bug.cgi?id=407107
+
+ Convert the relative path semgents into the backend coordinates
+ and then back again to user coordinates (cairo_copy_path,
+ cairo_append_path)
+ https://bugs.freedesktop.org/show_bug.cgi?id=54732
+ Fix extents computations for a degenerate path consisting only of a
+ move-to
+ https://bugs.freedesktop.org/show_bug.cgi?id=54549
+
+ Prevent crashing on a degenerate project edge after polygon
+ intersection
+ https://bugs.freedesktop.org/show_bug.cgi?id=54822
+
+
 Release 1.12.2 (2012-04-29 Chris Wilson <chris@chris-wilson.co.uk>)
 ===================================================================
 After such a long gestation period for the release of Cairo 1.12, we
diff --git a/TC/_export_env.sh b/TC/_export_env.sh
deleted file mode 100755 (executable)
index 5b67c3b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-. ./config
-export TET_INSTALL_PATH=$TET_INSTALL_HOST_PATH # tetware root path
-export TET_TARGET_PATH=$TET_INSTALL_PATH/tetware-target # tetware target path
-export PATH=$TET_TARGET_PATH/bin:$PATH
-export LD_LIBRARY_PATH=$TET_TARGET_PATH/lib/tet3:$LD_LIBRARY_PATH
-export TET_ROOT=$TET_TARGET_PATH
-export CAIRO_TC_ROOT_PATH=/mnt/nfs/DTS/cairo/test
diff --git a/TC/_export_target_env.sh b/TC/_export_target_env.sh
deleted file mode 100755 (executable)
index 5ddaa53..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-. ./config
-export TET_INSTALL_PATH=$TET_INSTALL_TARGET_PATH # path to path
-export TET_TARGET_PATH=$TET_INSTALL_PATH/tetware-target
-export PATH=$TET_TARGET_PATH/bin:$PATH
-export LD_LIBRARY_PATH=$TET_TARGET_PATH/lib/tet3:$LD_LIBRARY_PATH
-export TET_ROOT=$TET_TARGET_PATH
diff --git a/TC/build.sh b/TC/build.sh
deleted file mode 100755 (executable)
index 72aad6c..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-. ./_export_env.sh                              # setting environment variables
-
-export TET_SUITE_ROOT=`pwd`
-FILE_NAME_EXTENSION=`date +%s`
-
-RESULT_DIR=results
-HTML_RESULT=$RESULT_DIR/build-tar-result-$FILE_NAME_EXTENSION.html
-JOURNAL_RESULT=$RESULT_DIR/build-tar-result-$FILE_NAME_EXTENSION.journal
-
-mkdir -p $RESULT_DIR
-
-tcc -c -p ./
-tcc -b -j $JOURNAL_RESULT -p ./
-grw -c 7 -f chtml -o $HTML_RESULT $JOURNAL_RESULT
diff --git a/TC/clean.sh b/TC/clean.sh
deleted file mode 100755 (executable)
index 29743e0..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-. ./_export_env.sh                              # setting environment variables
-
-export TET_SUITE_ROOT=`pwd`
-RESULT_DIR=results
-
-tcc -c -p ./                                # executing tcc, with clean option (-c)
-rm -r $RESULT_DIR
-rm -r tet_tmp_dir
-rm testcase/tet_captured
diff --git a/TC/config b/TC/config
deleted file mode 100755 (executable)
index e8c668e..0000000
--- a/TC/config
+++ /dev/null
@@ -1,2 +0,0 @@
-TET_INSTALL_HOST_PATH=/view/DTS/TETware
-TET_INSTALL_TARGET_PATH=/mnt/nfs/DTS/TETware
diff --git a/TC/execute.sh b/TC/execute.sh
deleted file mode 100755 (executable)
index a4f6095..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-. ./_export_target_env.sh                    # setting environment variables
-
-export TET_SUITE_ROOT=`pwd`
-FILE_NAME_EXTENSION=`date +%s`
-
-RESULT_DIR=results
-HTML_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.html
-JOURNAL_RESULT=$RESULT_DIR/exec-tar-result-$FILE_NAME_EXTENSION.journal
-
-mkdir -p $RESULT_DIR
-
-tcc -e -j $JOURNAL_RESULT -p ./
-grw -c 3 -f chtml -o $HTML_RESULT $JOURNAL_RESULT
diff --git a/TC/perf/Makefile b/TC/perf/Makefile
deleted file mode 100644 (file)
index bc9ebc5..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CC = gcc
-
-all : fill stroke image
-
-fill: main.c common.c fill.c
-        $(CC) main.c common.c fill.c -g -o fill `pkg-config --cflags --libs cairo elementary opengl-es-20` -lecore_x -levas -lecore
-
-stroke: main.c common.c stroke.c
-        $(CC) main.c common.c stroke.c -g -o stroke `pkg-config --cflags --libs cairo elementary opengl-es-20` -lecore_x -levas -lecore
-
-image: main.c common.c image.c
-        $(CC) main.c common.c image.c -g -o image `pkg-config --cflags --libs cairo elementary opengl-es-20` -lecore_x -levas -lecore
-
-clean:
-        rm -rf *.0 fill stroke image
diff --git a/TC/perf/common.c b/TC/perf/common.c
deleted file mode 100755 (executable)
index 8b2818b..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Cairo Performance Test Framework
- * (c) 2012 Samsung Electronics, Inc.
- * All rights reserved.
- *
- * Measures rendering performance for image, gl backends
- *
- * This software is a confidential and proprietary information of Samsung
- * Electronics, Inc. ("Confidential Information"). You shall not disclose such
- * Confidential Information and shall use it only in accordance with the terms
- * of the license agreement you entered into with Samsung Electronics.
- *
- * Author: Dongyeon Kim <dy5.kim@samsung.com>
- */
-
-#include "common.h"
-
-void clearCairo(cairo_t *cr, double width, double height)
-{
-    cairo_set_source_rgba(cr, 1, 1, 1, 1);
-    cairo_rectangle(cr, 0.0, 0.0, width, height);
-    cairo_fill(cr);
-}
-
-void cairoSquare(cairo_t *cr, double x, double y, double length)
-{
-    cairo_rectangle(cr, x, y, length, length);
-    cairo_fill(cr);
-}
-
-void cairoSquareStroke(cairo_t *cr, double x, double y, double length)
-{
-    cairo_rectangle(cr, x, y, length, length);
-    cairo_stroke(cr);
-}
-
-void cairoCircle(cairo_t *cr, double x, double y, double radius)
-{
-    cairo_arc(cr, x, y, radius, 0.0, 2.0 * M_PI);
-    cairo_fill(cr);
-}
-
-void cairoCircleStroke(cairo_t *cr, double x, double y, double radius)
-{
-    cairo_arc(cr, x, y, radius, 0.0, 2.0 * M_PI);
-    cairo_stroke(cr);
-}
-
-void cairoTriangle(cairo_t *cr, double x, double y, double side)
-{
-    cairo_move_to(cr, x, y);
-    cairo_line_to(cr, x + side, y + side);
-    cairo_line_to(cr, x, y + side);
-    cairo_close_path(cr);
-    cairo_fill(cr);
-}
-
-void cairoTriangleStroke(cairo_t *cr, double x, double y, double side)
-{
-    cairo_move_to(cr, x, y);
-    cairo_line_to(cr, x + side, y);
-    cairo_line_to(cr, x, y + side);
-    cairo_close_path(cr);
-    cairo_stroke(cr);
-}
diff --git a/TC/perf/common.h b/TC/perf/common.h
deleted file mode 100755 (executable)
index 647a6d7..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Cairo Performance Test Framework
- * (c) 2012 Samsung Electronics, Inc.
- * All rights reserved.
- *
- * Measures rendering performance for image, gl backends
- *
- * This software is a confidential and proprietary information of Samsung
- * Electronics, Inc. ("Confidential Information"). You shall not disclose such
- * Confidential Information and shall use it only in accordance with the terms
- * of the license agreement you entered into with Samsung Electronics.
- *
- * Author: Dongyeon Kim <dy5.kim@samsung.com>
- */
-
-#include <Ecore_X.h>
-#include <Elementary.h>
-#include <cairo.h>
-#include <cairo-gl.h>
-
-void clearCairo(cairo_t *cr, double width, double height);
-void cairoSquare(cairo_t *cr, double x, double y, double length);
-void cairoSquareStroke(cairo_t *cr, double x, double y, double length);
-void cairoCircle(cairo_t *cr, double x, double y, double radius);
-void cairoCircleStroke(cairo_t *cr, double x, double y, double radius);
-void cairoTriangle(cairo_t *cr, double x, double y, double side);
-void cairoTriangleStroke(cairo_t *cr, double x, double y, double side);
-
diff --git a/TC/perf/fill b/TC/perf/fill
deleted file mode 100755 (executable)
index c44d12f..0000000
Binary files a/TC/perf/fill and /dev/null differ
diff --git a/TC/perf/fill.c b/TC/perf/fill.c
deleted file mode 100755 (executable)
index 4d1395d..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Cairo Performance Test Framework
- * (c) 2012 Samsung Electronics, Inc.
- * All rights reserved.
- *
- * Measures rendering performance for image, gl backends
- *
- * This software is a confidential and proprietary information of Samsung
- * Electronics, Inc. ("Confidential Information"). You shall not disclose such
- * Confidential Information and shall use it only in accordance with the terms
- * of the license agreement you entered into with Samsung Electronics.
- *
- * Author: Dongyeon Kim <dy5.kim@samsung.com>
- */
-
-#include "common.h"
-
-#define RENDER_LOOP 100
-
-extern int WIDTH, HEIGHT;
-
-int preRender(cairo_t *cr)
-{
-    return 1;
-}
-
-int render(cairo_t *cr)
-{
-    int i;
-    double r, g, b, a;
-
-    clearCairo(cr, WIDTH, HEIGHT);
-    cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
-
-    for(i = 0; i < RENDER_LOOP; i++)
-    {
-        r = drand48();
-        g = drand48();
-        b = drand48();
-        a = drand48();
-        float x = drand48() * WIDTH;
-        float y = drand48() * HEIGHT;
-        float side = drand48() * 300;
-        int shape = drand48() * 3;
-
-        cairo_set_source_rgba(cr, r, g, b, a);
-
-        if(shape == 0)
-            cairoSquare(cr, x, y, side);
-        else if(shape == 1)
-            cairoCircle(cr, x, y, side/2);
-        else
-            cairoTriangle(cr, x, y, side);
-    }
-
-    return 1;
-}
-
-int postRender(cairo_t *cr)
-{
-    return 1;
-}
-
diff --git a/TC/perf/image b/TC/perf/image
deleted file mode 100755 (executable)
index 5df743d..0000000
Binary files a/TC/perf/image and /dev/null differ
diff --git a/TC/perf/image.c b/TC/perf/image.c
deleted file mode 100755 (executable)
index f8f6587..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Cairo Performance Test Framework
- * (c) 2012 Samsung Electronics, Inc.
- * All rights reserved.
- *
- * Measures rendering performance for image, gl backends
- *
- * This software is a confidential and proprietary information of Samsung
- * Electronics, Inc. ("Confidential Information"). You shall not disclose such
- * Confidential Information and shall use it only in accordance with the terms
- * of the license agreement you entered into with Samsung Electronics.
- *
- * Author: Dongyeon Kim <dy5.kim@samsung.com>
- */
-
-#include "common.h"
-
-#define RENDER_LOOP 100
-
-extern int WIDTH, HEIGHT;
-
-extern cairo_device_t *cairo_device;
-cairo_pattern_t *pattern1, *pattern2;
-int image_width, image_height;
-
-int preRender(cairo_t *cr)
-{
-    { // Image 1
-        cairo_surface_t *image_surface = cairo_image_surface_create_from_png("./image1.png");
-        image_width = cairo_image_surface_get_width(image_surface);
-        image_height = cairo_image_surface_get_height(image_surface);
-
-        if(cairo_surface_get_type(cairo_get_target(cr)) == CAIRO_SURFACE_TYPE_IMAGE) {
-            pattern1 = cairo_pattern_create_for_surface(image_surface);
-        } else {
-            cairo_surface_t *gl_surface = cairo_gl_surface_create(cairo_device, CAIRO_CONTENT_COLOR_ALPHA,
-                        image_width, image_height);
-            cairo_t *cr_gl = cairo_create(gl_surface);
-            cairo_set_source_surface(cr_gl, image_surface, 0, 0);
-            cairo_paint(cr_gl);
-
-            pattern1 = cairo_pattern_create_for_surface(gl_surface);
-
-            cairo_surface_destroy(gl_surface);
-            cairo_destroy(cr_gl);
-        }
-        cairo_surface_destroy(image_surface);
-    }
-    { // Image 2
-        cairo_surface_t *image_surface = cairo_image_surface_create_from_png("./image2.png");
-        image_width = cairo_image_surface_get_width(image_surface);
-        image_height = cairo_image_surface_get_height(image_surface);
-
-        if(cairo_surface_get_type(cairo_get_target(cr)) == CAIRO_SURFACE_TYPE_IMAGE) {
-            pattern2 = cairo_pattern_create_for_surface(image_surface);
-        } else {
-            cairo_surface_t *gl_surface = cairo_gl_surface_create(cairo_device, CAIRO_CONTENT_COLOR_ALPHA,
-                        image_width, image_height);
-            cairo_t *cr_gl = cairo_create(gl_surface);
-            cairo_set_source_surface(cr_gl, image_surface, 0, 0);
-            cairo_paint(cr_gl);
-
-            pattern2 = cairo_pattern_create_for_surface(gl_surface);
-
-            cairo_surface_destroy(gl_surface);
-            cairo_destroy(cr_gl);
-        }
-        cairo_surface_destroy(image_surface);
-    }
-
-    return 1;
-}
-
-int render(cairo_t *cr)
-{
-    int i;
-
-    clearCairo(cr, WIDTH, HEIGHT);
-    cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
-
-    for(i = 0; i < RENDER_LOOP; i++)
-    {
-        float x = drand48() * WIDTH - image_width / 2;
-        float y = drand48() * HEIGHT - image_height / 2;
-        int index = drand48() * 2;
-
-        cairo_identity_matrix(cr);
-        cairo_translate(cr, x, y);
-        if(index == 0)
-            cairo_set_source(cr, pattern1);
-        else
-            cairo_set_source(cr, pattern2);
-        cairoSquare(cr, 0, 0, image_width);
-    }
-
-    return 1;
-}
-
-int postRender(cairo_t *cr)
-{
-    cairo_pattern_destroy(pattern1);
-    cairo_pattern_destroy(pattern2);
-    return 1;
-}
-
diff --git a/TC/perf/image1.png b/TC/perf/image1.png
deleted file mode 100755 (executable)
index b45c7bd..0000000
Binary files a/TC/perf/image1.png and /dev/null differ
diff --git a/TC/perf/image2.png b/TC/perf/image2.png
deleted file mode 100755 (executable)
index 0ec9cf5..0000000
Binary files a/TC/perf/image2.png and /dev/null differ
diff --git a/TC/perf/main.c b/TC/perf/main.c
deleted file mode 100755 (executable)
index b0fa8b7..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Cairo Performance Test Framework
- * (c) 2012 Samsung Electronics, Inc.
- * All rights reserved.
- *
- * Measures rendering performance for image, gl backends
- *
- * This software is a confidential and proprietary information of Samsung
- * Electronics, Inc. ("Confidential Information"). You shall not disclose such
- * Confidential Information and shall use it only in accordance with the terms
- * of the license agreement you entered into with Samsung Electronics.
- *
- * Author: Dongyeon Kim <dy5.kim@samsung.com>
- */
-
-#include <Ecore_X.h>
-#include <Elementary.h>
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-#include <cairo.h>
-#include <cairo-gl.h>
-
-#define SURFACE_TYPE_IMAGE  0
-#define SURFACE_TYPE_GL     1
-#define TOTAL_TIME      100
-
-int WIDTH, HEIGHT;
-
-//Ecore Evas variables
-Ecore_X_Window window;
-Evas_Object *img;
-
-//EGL variables
-EGLDisplay egl_display;
-EGLSurface egl_surface;
-EGLContext egl_context;
-
-//Cairo variables
-cairo_device_t *cairo_device;
-cairo_surface_t *cairo_surface;
-cairo_t *cr;
-
-Eina_Bool renderMain(void *data)
-{
-    static int counter = 0;
-    static float totalTime = 0;
-    static float totalPaint = 0;
-    static float totalUpdate = 0;
-    struct timeval paintStart, paintStop, updateStop;
-
-    cairo_save(cr);
-    gettimeofday(&paintStart, NULL);
-    /* ########## PAINT : START ########## */
-    render(cr);
-    /* ########## PAINT : END ########## */
-    gettimeofday(&paintStop, NULL);
-    /* ########## UPDATE : START ########## */
-    if(cairo_surface_get_type(cairo_get_target(cr)) == CAIRO_SURFACE_TYPE_GL) {
-        cairo_gl_surface_swapbuffers(cairo_get_target(cr));
-    } else {
-        unsigned char *imageData = cairo_image_surface_get_data(cairo_get_target(cr));
-        evas_object_image_data_set(img, imageData);
-        evas_object_image_data_update_add(img, 0, 0, WIDTH, HEIGHT);
-        ecore_x_sync();
-    }
-    /* ########## UPDATE : END ########## */
-    gettimeofday(&updateStop, NULL);
-    cairo_restore(cr);
-
-    totalTime += updateStop.tv_usec - paintStart.tv_usec;
-    totalTime += (updateStop.tv_sec - paintStart.tv_sec)*1000000;
-    totalPaint += (paintStop.tv_usec - paintStart.tv_usec);
-    totalPaint += (paintStop.tv_sec - paintStart.tv_sec)*1000000;
-    totalUpdate += (updateStop.tv_usec - paintStop.tv_usec);
-    totalUpdate += (updateStop.tv_sec - paintStop.tv_sec)*1000000;
-    counter++;
-
-    if(counter == TOTAL_TIME)
-    {
-        float fps =  TOTAL_TIME / totalTime * 1000000.0f;
-        printf("fps = %0.2f\n", fps);
-        printf("average paint time = %0.1f usec, update time = %0.1f usec\n", totalPaint/TOTAL_TIME, totalUpdate/TOTAL_TIME);
-
-        elm_exit();
-        return 0;
-    }
-}
-
-void initELMWindow(int surface_type)
-{
-    Evas_Object *win = elm_win_add(NULL, "cairotest", ELM_WIN_BASIC);
-    elm_win_autodel_set(win, EINA_TRUE);
-    ecore_x_screen_size_get(ecore_x_default_screen_get(), &WIDTH, &HEIGHT);
-    evas_object_resize(win, WIDTH, HEIGHT);
-    evas_object_show(win);
-
-    if (surface_type == SURFACE_TYPE_IMAGE) {
-        Evas_Object *img_win = elm_image_add(win);
-        img = evas_object_image_filled_add(evas_object_evas_get(img_win));
-        elm_win_resize_object_add(win, img);
-        evas_object_image_content_hint_set(img, EVAS_IMAGE_CONTENT_HINT_DYNAMIC);
-        evas_object_image_size_set(img, WIDTH, HEIGHT);
-        evas_object_image_colorspace_set(img, EVAS_COLORSPACE_ARGB8888);
-        evas_object_image_alpha_set(img, 0);
-        evas_object_show(img_win);
-        evas_object_show(img);
-    } else if(surface_type == SURFACE_TYPE_GL) {
-        window = ecore_x_window_new(0, 0, 0, WIDTH, HEIGHT);
-        ecore_x_icccm_title_set(window, "window");
-        ecore_x_netwm_name_set(window, "window");
-        ecore_x_input_multi_select(window);
-        ecore_x_icccm_transient_for_set(window, elm_win_xwindow_get(win));
-        ecore_x_window_show(window);
-    }
-}
-
-void initEGL(int surface_type)
-{
-    if(surface_type != SURFACE_TYPE_GL)
-        return;
-
-    setenv("ELM_ENGINE", "gl", 1);
-
-    egl_display = eglGetDisplay((EGLNativeDisplayType) ecore_x_display_get());
-    if(egl_display == EGL_NO_DISPLAY)
-    {
-        printf("cannot get egl display\n");
-        exit(1);
-    }
-
-    EGLint major, minor;
-    if(!eglInitialize(egl_display, &major, &minor))
-    {
-        printf("cannot initialize egl\n");
-        exit(-1);
-    }
-
-    if(!eglBindAPI(EGL_OPENGL_ES_API))
-    {
-        printf("cannot bind egl to gles2 API\n");
-        exit(-1);
-    }
-
-    EGLConfig egl_config;
-    EGLint num;
-
-    EGLint attr[] =
-    {
-        EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
-        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
-        EGL_STENCIL_SIZE, 0,
-        EGL_SAMPLES, 4,
-        EGL_RED_SIZE, 8,
-        EGL_GREEN_SIZE, 8,
-        EGL_BLUE_SIZE, 8,
-        EGL_ALPHA_SIZE, 8,
-        EGL_NONE
-    };
-
-
-    if(!eglChooseConfig(egl_display, attr, &egl_config, 1, &num))
-    {
-        printf("cannot choose config\n");
-        exit(-1);
-    }
-
-    if(num != 1)
-    {
-        printf("did not get exactly one config = %d\n", num);
-        exit(-1);
-    }
-
-    egl_surface = eglCreateWindowSurface(egl_display,
-        egl_config, (NativeWindowType) window, NULL);
-    if(egl_surface == EGL_NO_SURFACE)
-    {
-        printf("cannot create surface\n");
-        exit(-1);
-    }
-
-    EGLint e = eglGetError();
-    //printf("egl error = %x\n", e);
-
-    EGLint ctxattr[] =
-    {
-        EGL_CONTEXT_CLIENT_VERSION, 2,
-        EGL_NONE
-    };
-
-    egl_context = eglCreateContext(egl_display, egl_config, EGL_NO_CONTEXT, ctxattr);
-    if(egl_context == EGL_NO_CONTEXT)
-    {
-        EGLint e = eglGetError();
-        printf("cannot create context, error = %x\n", e);
-        exit(-1);
-    }
-
-    EGLint value;
-    EGLBoolean result = eglQueryContext(egl_display, egl_context, EGL_CONTEXT_CLIENT_VERSION, &value);
-    //printf("Context version = %x, result = %d\n", value, result);
-
-    eglMakeCurrent(egl_display, egl_surface, egl_surface, egl_context);
-}
-
-void destroyEGL(int surface_type)
-{
-    if(surface_type != SURFACE_TYPE_GL)
-        return;
-
-    eglDestroyContext(egl_display, egl_context);
-    eglDestroySurface(egl_display, egl_surface);
-    eglTerminate(egl_display);
-}
-
-void initCairo(int surface_type)
-{
-    if(surface_type == SURFACE_TYPE_IMAGE) {
-        printf("== CREATE IMAGE SURFACE ==\n");
-        cairo_surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, WIDTH, HEIGHT);
-    } else if(surface_type == SURFACE_TYPE_GL) {
-        printf("== CREATE GL SURFACE ==\n");
-        setenv("CAIRO_GL_COMPOSITOR", "msaa", 1);
-        cairo_device = cairo_egl_device_create(egl_display, egl_context);
-        cairo_gl_device_set_thread_aware(cairo_device, 0);
-        cairo_surface = cairo_gl_surface_create_for_egl(cairo_device, egl_surface, WIDTH, HEIGHT);
-    }
-    cr = cairo_create(cairo_surface);
-}
-
-void destroyCairo(int surface_type)
-{
-    cairo_surface_destroy(cairo_surface);
-    cairo_destroy(cr);
-
-    if(surface_type == SURFACE_TYPE_GL) {
-        cairo_device_destroy(cairo_device);
-    }
-}
-
-int main(int argc, char **argv)
-{
-    int surface_type = SURFACE_TYPE_GL;
-
-    if(argc == 2)
-        surface_type = atoi(argv[1]);
-
-    elm_init(argc, argv);
-
-    initELMWindow(surface_type);
-    initEGL(surface_type);
-    initCairo(surface_type);
-
-    preRender(cr);
-    Ecore_Animator *animator = ecore_animator_add(renderMain, (void *)cr);
-    elm_run();
-    postRender(cr);
-
-    destroyCairo(surface_type);
-    destroyEGL(surface_type);
-    elm_shutdown();
-
-    return 0;
-}
-
diff --git a/TC/perf/stroke b/TC/perf/stroke
deleted file mode 100755 (executable)
index 809ad22..0000000
Binary files a/TC/perf/stroke and /dev/null differ
diff --git a/TC/perf/stroke.c b/TC/perf/stroke.c
deleted file mode 100755 (executable)
index 317f004..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Cairo Performance Test Framework
- * (c) 2012 Samsung Electronics, Inc.
- * All rights reserved.
- *
- * Measures rendering performance for image, gl backends
- *
- * This software is a confidential and proprietary information of Samsung
- * Electronics, Inc. ("Confidential Information"). You shall not disclose such
- * Confidential Information and shall use it only in accordance with the terms
- * of the license agreement you entered into with Samsung Electronics.
- *
- * Author: Dongyeon Kim <dy5.kim@samsung.com>
- */
-
-#include "common.h"
-
-#define RENDER_LOOP 100
-
-extern int WIDTH, HEIGHT;
-
-int preRender(cairo_t *cr)
-{
-    return 1;
-}
-
-int render(cairo_t *cr)
-{
-    int i;
-    double r, g, b, a;
-
-    clearCairo(cr, WIDTH, HEIGHT);
-    cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
-
-    for(i = 0; i < RENDER_LOOP; i++)
-    {
-        r = drand48();
-        g = drand48();
-        b = drand48();
-        a = drand48();
-        float x = drand48() * WIDTH;
-        float y = drand48() * HEIGHT;
-        float side = drand48() * 300;
-        int shape = drand48() *3;
-        float width = drand48() * 50 + 1;
-        int line_cap = drand48() * 3;
-        cairo_line_cap_t line_cap_style = CAIRO_LINE_CAP_BUTT;
-        if(line_cap == 1)
-            line_cap_style = CAIRO_LINE_CAP_ROUND;
-        else if(line_cap == 2)
-            line_cap_style = CAIRO_LINE_CAP_SQUARE;
-        int line_join = drand48() * 3;
-        cairo_line_join_t line_join_style = CAIRO_LINE_JOIN_MITER;
-        if(line_join == 1)
-            line_join_style = CAIRO_LINE_JOIN_ROUND;
-        else if(line_join == 2)
-            line_join_style = CAIRO_LINE_JOIN_BEVEL;
-
-        double dash[] = {0.0, 0.0};
-        dash[0] = drand48() * 50;
-        dash[1] = drand48() * 50;
-
-        cairo_set_dash(cr, dash, 2, 0);
-        cairo_set_line_width(cr, width);
-        cairo_set_line_join(cr, line_join_style);
-        cairo_set_line_cap(cr, line_cap_style);
-
-        cairo_set_source_rgba(cr, r, g, b, a);
-
-        if(shape == 0)
-            cairoSquareStroke(cr, x, y, side);
-        else if(shape == 1)
-            cairoCircleStroke(cr, x, y, side/2);
-        else
-            cairoTriangleStroke(cr, x, y, side);
-    }
-
-    return 1;
-}
-
-int postRender(cairo_t *cr)
-{
-    return 1;
-}
-
diff --git a/TC/testcase/Makefile b/TC/testcase/Makefile
deleted file mode 100755 (executable)
index d4f833e..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-CC ?= gcc
-
-C_FILES = $(shell ls *.c)
-
-PKGS = cairo capi-base-common dlog gthread-2.0
-
-LDFLAGS = `pkg-config --libs $(PKGS)`
-LDFLAGS += $(TET_ROOT)/lib/tet3/tcm_s.o
-LDFLAGS += -L$(TET_ROOT)/lib/tet3 -ltcm_s
-LDFLAGS += -L$(TET_ROOT)/lib/tet3 -lapi_s
-
-CFLAGS = -I. `pkg-config --cflags $(PKGS)`
-CFLAGS += -I$(TET_ROOT)/inc/tet3
-CFLAGS += -Wall
-
-TCS := $(shell ls -1 *.c | cut -d. -f1)
-
-all: $(TCS)
-
-%: %.c
-       $(CC) -o $@ $< $(CFLAGS) $(LDFLAGS)
-
-clean:
-       rm -f $(TCS)
diff --git a/TC/testcase/cairo-test.h b/TC/testcase/cairo-test.h
deleted file mode 100644 (file)
index 24ff827..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef _CAIRO_COMMON_H_
-#define _CAIRO_COMMON_H_
-
-//#include "cairo-boilerplate.h"
-
-#include <stdarg.h>
-#include <stdint.h>
-#include <math.h>
-
-#define MIN(a, b) ((a) < (b) ? (a) : (b))
-#define MAX(a, b) ((a) > (b) ? (a) : (b))
-#define ARRAY_LENGTH(__array) ((int) (sizeof (__array) / sizeof (__array[0])))
-
-#define CAIRO_TEST_OUTPUT_DIR "output"
-#define CAIRO_TEST_LOG_SUFFIX ".log"
-#define CAIRO_TEST_FONT_FAMILY "DejaVu"
-
-/* What is a fail and what isn't?
- * When running the test suite we want to detect unexpected output. This
- * can be caused by a change we have made to cairo itself, or a change
- * in our environment. To capture this we classify the expected output into 3
- * classes:
- *
- *   REF  -- Perfect output.
- *           Might be different for each backend, due to slight implementation
- *           differences.
- *
- *   NEW  -- A new failure. We have uncovered a bug within cairo and have
- *           recorded the current failure (along with the expected output
- *           if possible!) so we can detect any changes in our attempt to
- *           fix the bug.
- *
- *  XFAIL -- An external failure. We believe the cairo output is perfect,
- *           but an external renderer is causing gross failure.
- *           (We also use this to capture current WONTFIX issues within cairo,
- *           such as overflow in internal coordinates, so as not to distract
- *           us when regression testing.)
- *
- *  If no REF is given for a test, then it is assumed to be XFAIL.
- */
-#define CAIRO_TEST_REF_SUFFIX ".ref"
-#define CAIRO_TEST_XFAIL_SUFFIX ".xfail"
-#define CAIRO_TEST_NEW_SUFFIX ".new"
-
-#define CAIRO_TEST_OUT_SUFFIX ".out"
-#define CAIRO_TEST_DIFF_SUFFIX ".diff"
-
-#define CAIRO_TEST_PNG_EXTENSION ".png"
-#define CAIRO_TEST_OUT_PNG CAIRO_TEST_OUT_SUFFIX CAIRO_TEST_PNG_EXTENSION
-#define CAIRO_TEST_REF_PNG CAIRO_TEST_REF_SUFFIX CAIRO_TEST_PNG_EXTENSION
-#define CAIRO_TEST_DIFF_PNG CAIRO_TEST_DIFF_SUFFIX CAIRO_TEST_PNG_EXTENSION
-
-typedef enum cairo_test_status {
-    CAIRO_TEST_SUCCESS = 0,
-    CAIRO_TEST_NO_MEMORY,
-    CAIRO_TEST_FAILURE,
-    CAIRO_TEST_NEW,
-    CAIRO_TEST_XFAILURE,
-    CAIRO_TEST_ERROR,
-    CAIRO_TEST_CRASHED,
-    CAIRO_TEST_UNTESTED = 77 /* match automake's skipped exit status */
-} cairo_test_status_t;
-
-#define CAIRO_TEST_DOUBLE_EQUALS(a,b)  (fabs((a)-(b)) < 0.00001)
-
-#endif
diff --git a/TC/testcase/tslist b/TC/testcase/tslist
deleted file mode 100644 (file)
index c3e5d9d..0000000
+++ /dev/null
@@ -1,1022 +0,0 @@
-/testcase/utc_a1_bug_image
-/testcase/utc_a1_clip_paint_image
-/testcase/utc_a1_clip_fill_image
-/testcase/utc_a1_clip_fill_equal_image
-/testcase/utc_a1_clip_stroke_image
-/testcase/utc_a1_fill_image
-/testcase/utc_a1_image_sample_image
-/testcase/utc_a1_mask_image
-/testcase/utc_a1_mask_sample_image
-/testcase/utc_a1_rasterisation_rectangles_image
-/testcase/utc_a1_rasterisation_triangles_image
-/testcase/utc_a1_sample_image
-/testcase/utc_a1_traps_sample_image
-/testcase/utc_a8_clear_image
-/testcase/utc_a8_mask_image
-/testcase/utc_aliasing_image
-/testcase/utc_alpha_similar_image
-/testcase/utc_api_special_cases_image
-/testcase/utc_arc_infinite_loop_image
-/testcase/utc_arc_looping_dash_image
-/testcase/utc_big_empty_box_image
-/testcase/utc_big_empty_triangle_image
-/testcase/utc_big_line_image
-/testcase/utc_big_little_box_image
-/testcase/utc_big_little_triangle_image
-#/testcase/utc_big_trap_image
-/testcase/utc_bilevel_image_image
-/testcase/utc_bitmap_font_image
-/testcase/utc_bug_40410_image
-/testcase/utc_bug_bo_rectangular_image
-/testcase/utc_bug_bo_ricotz_image
-/testcase/utc_bug_extents_image
-/testcase/utc_bug_seams_image
-/testcase/utc_bug_source_cu_image
-/testcase/utc_caps_image
-/testcase/utc_caps_joins_alpha_image
-/testcase/utc_caps_joins_image
-/testcase/utc_caps_joins_curve_image
-/testcase/utc_caps_sub_paths_image
-/testcase/utc_caps_tails_curve_image
-/testcase/utc_checkerboard_image
-#/testcase/utc_clear_image
-/testcase/utc_clear_source_image
-/testcase/utc_clip_all_image
-/testcase/utc_clip_complex_shape_eo_mono_image
-/testcase/utc_clip_complex_shape_eo_aa_image
-/testcase/utc_clip_contexts_image
-/testcase/utc_clip_device_offset_image
-/testcase/utc_clip_disjoint_image
-/testcase/utc_clip_disjoint_hatching_image
-/testcase/utc_clip_double_free_image
-/testcase/utc_clip_stroke_unbounded_image
-/testcase/utc_clip_fill_nz_unbounded_image
-/testcase/utc_clip_fill_eo_unbounded_image
-/testcase/utc_clip_empty_image
-/testcase/utc_clip_empty_group_image
-/testcase/utc_clip_empty_save_image
-/testcase/utc_clip_fill_image
-/testcase/utc_clip_fill_no_op_image
-/testcase/utc_clip_fill_rule_image
-/testcase/utc_a1_clip_fill_rule_image
-/testcase/utc_clip_fill_rule_pixel_aligned_image
-/testcase/utc_clip_group_shapes_aligned_rectangles_image
-/testcase/utc_clip_group_shapes_unaligned_rectangles_image
-/testcase/utc_clip_group_shapes_circles_image
-/testcase/utc_clip_image_image
-/testcase/utc_clip_intersect_image
-/testcase/utc_clip_mixed_antialias_image
-/testcase/utc_clip_nesting_image
-#/testcase/utc_clip_operator_image
-/testcase/utc_clipped_group_image
-/testcase/utc_clipped_surface_image
-#/testcase/utc_clipped_trapezoids_image
-/testcase/utc_clip_polygons_image
-/testcase/utc_clip_push_group_image
-/testcase/utc_clip_rectilinear_image
-/testcase/utc_clip_shape_image
-/testcase/utc_clip_stroke_image
-/testcase/utc_clip_stroke_no_op_image
-#/testcase/utc_clip_text_image
-/testcase/utc_clip_twice_image
-/testcase/utc_clip_twice_rectangle_image
-/testcase/utc_clip_unbounded_image
-/testcase/utc_clip_zero_image
-/testcase/utc_close_path_image
-/testcase/utc_close_path_current_point_image
-/testcase/utc_composite_integer_translate_over_image
-/testcase/utc_composite_integer_translate_over_repeat_image
-/testcase/utc_composite_integer_translate_source_image
-/testcase/utc_copy_disjoint_image
-/testcase/utc_copy_path_image
-#/testcase/utc_coverage_rectangles_image
-#/testcase/utc_coverage_intersecting_quads_image
-#/testcase/utc_coverage_intersecting_triangles_image
-#/testcase/utc_coverage_row_triangles_image
-#/testcase/utc_coverage_column_triangles_image
-#/testcase/utc_coverage_triangles_image
-#/testcase/utc_create_for_stream_image
-/testcase/utc_create_from_png_image
-/testcase/utc_create_from_png_stream_image
-#/testcase/utc_culled_glyphs_image
-/testcase/utc_curve_to_as_line_to_image
-/testcase/utc_dash_caps_joins_image
-/testcase/utc_dash_curve_image
-/testcase/utc_dash_infinite_loop_image
-/testcase/utc_dash_no_dash_image
-/testcase/utc_dash_offset_image
-/testcase/utc_dash_offset_negative_image
-/testcase/utc_dash_scale_image
-/testcase/utc_dash_state_image
-/testcase/utc_dash_zero_length_image
-/testcase/utc_degenerate_arc_image
-/testcase/utc_degenerate_arcs_image
-/testcase/utc_degenerate_curve_to_image
-/testcase/utc_degenerate_dash_image
-/testcase/utc_degenerate_linear_gradient_image
-/testcase/utc_degenerate_path_image
-/testcase/utc_degenerate_pen_image
-/testcase/utc_degenerate_radial_gradient_image
-/testcase/utc_degenerate_rel_curve_to_image
-/testcase/utc_degenerate_solid_dash_image
-/testcase/utc_device_offset_image
-/testcase/utc_device_offset_fractional_image
-/testcase/utc_device_offset_positive_image
-/testcase/utc_device_offset_scale_image
-/testcase/utc_drunkard_tails_image
-/testcase/utc_error_setters_image
-/testcase/utc_extended_blend_image
-/testcase/utc_extended_blend_alpha_image
-/testcase/utc_extended_blend_mask_image
-/testcase/utc_extended_blend_alpha_mask_image
-/testcase/utc_extended_blend_solid_image
-/testcase/utc_extended_blend_solid_alpha_image
-/testcase/utc_extend_pad_border_image
-/testcase/utc_extend_pad_image
-/testcase/utc_extend_pad_similar_image
-/testcase/utc_extend_reflect_image
-/testcase/utc_extend_reflect_similar_image
-/testcase/utc_extend_repeat_image
-/testcase/utc_extend_repeat_similar_image
-/testcase/utc_fallback_image
-#/testcase/utc_fallback_resolution_image
-/testcase/utc_fill_alpha_image
-/testcase/utc_fill_alpha_pattern_image
-/testcase/utc_fill_and_stroke_alpha_add_image
-/testcase/utc_fill_and_stroke_alpha_image
-/testcase/utc_fill_and_stroke_image
-/testcase/utc_fill_degenerate_sort_order_image
-/testcase/utc_fill_disjoint_image
-/testcase/utc_fill_empty_image
-/testcase/utc_fill_image_image
-/testcase/utc_fill_missed_stop_image
-/testcase/utc_fill_rule_image
-/testcase/utc_filter_bilinear_extents_image
-/testcase/utc_filter_nearest_offset_image
-/testcase/utc_filter_nearest_transformed_image
-/testcase/utc_finer_grained_fallbacks_image
-/testcase/utc_font_face_get_type_image
-#/testcase/utc_font_matrix_translation_image
-/testcase/utc_font_options_image
-/testcase/utc_ft_font_create_for_ft_face_image
-#/testcase/utc_ft_show_glyphs_positioning_image
-#/testcase/utc_ft_show_glyphs_table_image
-#/testcase/utc_ft_text_antialias_none_image
-#/testcase/utc_ft_text_vertical_layout_type1_image
-#/testcase/utc_ft_text_vertical_layout_type3_image
-/testcase/utc_get_and_set_image
-/testcase/utc_get_clip_image
-/testcase/utc_get_group_target_image
-#/testcase/utc_get_path_extents_image
-#/testcase/utc_get_xrender_format_image
-#/testcase/utc_gl_surface_source_image
-#/testcase/utc_glyph_cache_pressure_image
-/testcase/utc_gradient_alpha_image
-/testcase/utc_gradient_constant_alpha_image
-/testcase/utc_gradient_zero_stops_image
-/testcase/utc_gradient_zero_stops_mask_image
-/testcase/utc_group_clip_image
-/testcase/utc_group_paint_image
-/testcase/utc_group_state_image
-/testcase/utc_group_unaligned_image
-#/testcase/utc_half_coverage_rectangles_image
-#/testcase/utc_half_coverage_triangles_image
-#/testcase/utc_halo_image
-#/testcase/utc_halo_transform_image
-/testcase/utc_hatchings_image
-/testcase/utc_horizontal_clip_image
-/testcase/utc_huge_linear_image
-/testcase/utc_huge_radial_image
-/testcase/utc_image_bug_710072_aligned_image
-/testcase/utc_image_bug_710072_unaligned_image
-/testcase/utc_image_surface_source_image
-/testcase/utc_implicit_close_image
-#/testcase/utc_in_fill_empty_trapezoid_image
-/testcase/utc_in_fill_trapezoid_image
-/testcase/utc_infinite_join_image
-/testcase/utc_invalid_matrix_image
-#/testcase/utc_inverse_text_image
-#/testcase/utc_inverted_clip_image
-/testcase/utc_joins_image
-/testcase/utc_joins_loop_image
-/testcase/utc_joins_retrace_image
-/testcase/utc_joins_star_image
-/testcase/utc_large_clip_image
-/testcase/utc_large_font_image
-/testcase/utc_large_source_image
-/testcase/utc_large_source_roi_image
-/testcase/utc_large_twin_antialias_mixed_image
-/testcase/utc_leaky_dash_image
-/testcase/utc_leaky_dashed_rectangle_image
-/testcase/utc_leaky_dashed_stroke_image
-/testcase/utc_leaky_polygon_image
-/testcase/utc_linear_gradient_image
-/testcase/utc_linear_gradient_extend_image
-/testcase/utc_linear_gradient_large_image
-/testcase/utc_linear_gradient_one_stop_image
-/testcase/utc_linear_gradient_reflect_image
-/testcase/utc_linear_gradient_subset_image
-#/testcase/utc_linear_step_function_image
-/testcase/utc_linear_uniform_image
-/testcase/utc_line_width_image
-/testcase/utc_a1_line_width_image
-/testcase/utc_line_width_large_overlap_image
-/testcase/utc_line_width_large_overlap_offset_image
-/testcase/utc_line_width_large_overlap_rotated_image
-/testcase/utc_line_width_large_overlap_flipped_image
-/testcase/utc_line_width_large_overlap_flopped_image
-/testcase/utc_line_width_large_overlap_dashed_image
-/testcase/utc_line_width_overlap_image
-/testcase/utc_line_width_overlap_offset_image
-/testcase/utc_line_width_overlap_rotated_image
-/testcase/utc_line_width_overlap_flipped_image
-/testcase/utc_line_width_overlap_flopped_image
-/testcase/utc_line_width_overlap_dashed_image
-/testcase/utc_line_width_scale_image
-/testcase/utc_line_width_tolerance_image
-/testcase/utc_line_width_zero_image
-/testcase/utc_long_dashed_lines_image
-#/testcase/utc_long_lines_image
-/testcase/utc_map_all_to_image_image
-/testcase/utc_map_bit_to_image_image
-/testcase/utc_map_to_image_fill_image
-/testcase/utc_mask_alpha_image
-/testcase/utc_mask_image
-/testcase/utc_mask_ctm_image
-#/testcase/utc_mask_glyphs_image
-/testcase/utc_mask_surface_ctm_image
-/testcase/utc_mask_transformed_image_image
-/testcase/utc_mask_transformed_similar_image
-/testcase/utc_mesh_pattern_accuracy_image
-/testcase/utc_mesh_pattern_image
-/testcase/utc_mesh_pattern_conical_image
-/testcase/utc_mesh_pattern_control_points_image
-/testcase/utc_mesh_pattern_fold_image
-/testcase/utc_mesh_pattern_overlap_image
-/testcase/utc_mesh_pattern_transformed_image
-/testcase/utc_mime_data_image
-/testcase/utc_mime_surface_api_image
-#/testcase/utc_mime_surface_image
-/testcase/utc_miter_precision_image
-/testcase/utc_move_to_show_surface_image
-#/testcase/utc_multi_page_image
-/testcase/utc_negative_stride_image_image
-/testcase/utc_new_sub_path_image
-/testcase/utc_nil_surface_image
-/testcase/utc_operator_alpha_alpha_image
-/testcase/utc_operator_alpha_image
-/testcase/utc_operator_image
-#/testcase/utc_operator_clear_image
-#/testcase/utc_operator_source_image
-/testcase/utc_over_above_source_image
-/testcase/utc_over_around_source_image
-/testcase/utc_over_below_source_image
-/testcase/utc_over_between_source_image
-/testcase/utc_overlapping_boxes_image
-/testcase/utc_overlapping_dash_caps_image
-/testcase/utc_overlapping_glyphs_image
-/testcase/utc_paint_image
-/testcase/utc_paint_clip_fill_mono_image
-/testcase/utc_paint_clip_fill_aa_image
-/testcase/utc_paint_repeat_image
-/testcase/utc_paint_source_alpha_image
-/testcase/utc_paint_with_alpha_image
-/testcase/utc_paint_with_alpha_solid_clip_image
-/testcase/utc_paint_with_alpha_clip_image
-/testcase/utc_paint_with_alpha_clip_mask_image
-/testcase/utc_partial_clip_text_top_image
-/testcase/utc_partial_clip_text_bottom_image
-/testcase/utc_partial_clip_text_left_image
-/testcase/utc_partial_clip_text_right_image
-#/testcase/utc_partial_coverage_rectangles_image
-#/testcase/utc_partial_coverage_intersecting_quads_image
-#/testcase/utc_partial_coverage_intersecting_triangles_image
-#/testcase/utc_partial_coverage_triangles_image
-#/testcase/utc_partial_coverage_overlap_three_quarter_triangles_image
-#/testcase/utc_partial_coverage_overlap_half_triangles_eo_image
-#/testcase/utc_partial_coverage_overlap_half_triangles_image
-#/testcase/utc_partial_coverage_half_triangles_image
-/testcase/utc_partial_coverage_reference_image
-/testcase/utc_partial_coverage_three_quarter_reference_image
-/testcase/utc_partial_coverage_half_reference_image
-/testcase/utc_pass_through_image
-/testcase/utc_path_append_image
-#/testcase/utc_path_precision_image
-/testcase/utc_path_stroke_twice_image
-/testcase/utc_pattern_getters_image
-/testcase/utc_pattern_get_type_image
-#/testcase/utc_pdf_features_image
-/testcase/utc_pdf_isolated_group_image
-#/testcase/utc_pdf_mime_data_image
-/testcase/utc_pdf_surface_source_image
-/testcase/utc_pixman_rotate_image
-/testcase/utc_png_image
-#/testcase/utc_ps_eps_image
-#/testcase/utc_ps_features_image
-/testcase/utc_ps_surface_source_image
-/testcase/utc_pthread_same_source_image
-#/testcase/utc_pthread_show_text_image
-/testcase/utc_pthread_similar_image
-/testcase/utc_push_group_image
-/testcase/utc_push_group_color_image
-/testcase/utc_push_group_path_offset_image
-#/testcase/utc_quartz_surface_source_image
-/testcase/utc_radial_gradient_image
-/testcase/utc_radial_gradient_mask_image
-/testcase/utc_radial_gradient_source_image
-#/testcase/utc_radial_gradient_mask_source_image
-/testcase/utc_radial_gradient_one_stop_image
-/testcase/utc_radial_gradient_extend_image
-#/testcase/utc_radial_outer_focus_image
-/testcase/utc_random_clip_image
-/testcase/utc_random_intersections_curves_eo_image
-/testcase/utc_random_intersections_curves_nz_image
-/testcase/utc_random_intersections_eo_image
-/testcase/utc_random_intersections_nonzero_image
-/testcase/utc_record_paint_image
-/testcase/utc_record_paint_alpha_image
-/testcase/utc_record_paint_alpha_solid_clip_image
-/testcase/utc_record_paint_alpha_clip_image
-#/testcase/utc_record_paint_alpha_clip_mask_image
-#/testcase/utc_record_fill_alpha_image
-#/testcase/utc_record_select_font_face_image
-/testcase/utc_record_self_intersecting_image
-#/testcase/utc_record_text_transform_image
-#/testcase/utc_record1414x_fill_alpha_image
-/testcase/utc_record1414x_paint_image
-/testcase/utc_record1414x_paint_alpha_image
-#/testcase/utc_record1414x_paint_alpha_clip_image
-#/testcase/utc_record1414x_paint_alpha_clip_mask_image
-/testcase/utc_record1414x_paint_alpha_solid_clip_image
-#/testcase/utc_record1414x_select_font_face_image
-#/testcase/utc_record1414x_self_intersecting_image
-#/testcase/utc_record1414x_text_transform_image
-#/testcase/utc_record2x_fill_alpha_image
-/testcase/utc_record2x_paint_image
-/testcase/utc_record2x_paint_alpha_image
-/testcase/utc_record2x_paint_alpha_clip_image
-#/testcase/utc_record2x_paint_alpha_clip_mask_image
-/testcase/utc_record2x_paint_alpha_solid_clip_image
-#/testcase/utc_record2x_select_font_face_image
-/testcase/utc_record2x_self_intersecting_image
-#/testcase/utc_record2x_text_transform_image
-#/testcase/utc_record90_fill_alpha_image
-/testcase/utc_record90_paint_image
-/testcase/utc_record90_paint_alpha_image
-#/testcase/utc_record90_paint_alpha_clip_image
-#/testcase/utc_record90_paint_alpha_clip_mask_image
-/testcase/utc_record90_paint_alpha_solid_clip_image
-#/testcase/utc_record90_select_font_face_image
-#/testcase/utc_record90_self_intersecting_image
-#/testcase/utc_record90_text_transform_image
-/testcase/utc_raster_source_image
-/testcase/utc_record_extend_none_image
-/testcase/utc_record_extend_pad_image
-/testcase/utc_record_extend_repeat_image
-/testcase/utc_record_extend_reflect_image
-/testcase/utc_record_extend_none_similar_image
-/testcase/utc_record_extend_pad_similar_image
-/testcase/utc_record_extend_repeat_similar_image
-/testcase/utc_record_extend_reflect_similar_image
-/testcase/utc_recording_surface_extend_none_image
-/testcase/utc_recording_surface_extend_repeat_image
-/testcase/utc_recording_surface_extend_reflect_image
-/testcase/utc_recording_surface_extend_pad_image
-/testcase/utc_recording_surface_over_image
-/testcase/utc_recording_surface_source_image
-/testcase/utc_record_mesh_image
-/testcase/utc_rectangle_rounding_error_image
-/testcase/utc_rectilinear_dash_image
-/testcase/utc_rectilinear_dash_scale_image
-/testcase/utc_rectilinear_dash_scale_unaligned_image
-/testcase/utc_rectilinear_fill_image
-/testcase/utc_rectilinear_grid_image
-/testcase/utc_a1_rectilinear_grid_image
-/testcase/utc_rectilinear_miter_limit_image
-/testcase/utc_rectilinear_stroke_image
-/testcase/utc_reflected_stroke_image
-/testcase/utc_rel_path_image
-/testcase/utc_rgb24_ignore_alpha_image
-/testcase/utc_rotated_clip_image
-/testcase/utc_rotate_image_surface_paint_image
-/testcase/utc_clip_rotate_image_surface_paint_image
-/testcase/utc_rotate_clip_image_surface_paint_image
-/testcase/utc_rounded_rectangle_fill_image
-/testcase/utc_rounded_rectangle_stroke_image
-/testcase/utc_scaled_font_zero_matrix_image
-/testcase/utc_scale_down_source_surface_paint_image
-/testcase/utc_scale_offset_image_image
-/testcase/utc_scale_offset_similar_image
-/testcase/utc_scale_source_surface_paint_image
-#/testcase/utc_select_font_face_image
-/testcase/utc_select_font_no_show_text_image
-/testcase/utc_self_copy_image
-#/testcase/utc_self_copy_overlap_image
-/testcase/utc_self_intersecting_image
-/testcase/utc_set_source_image
-/testcase/utc_shape_general_convex_image
-/testcase/utc_shape_sierpinski_image
-/testcase/utc_show_glyphs_advance_image
-/testcase/utc_show_glyphs_many_image
-#/testcase/utc_show_text_current_point_image
-/testcase/utc_skew_extreme_image
-/testcase/utc_smask_image
-/testcase/utc_smask_fill_image
-/testcase/utc_smask_image_mask_image
-/testcase/utc_smask_mask_image
-/testcase/utc_smask_paint_image
-/testcase/utc_smask_stroke_image
-#/testcase/utc_smask_text_image
-/testcase/utc_solid_pattern_cache_stress_image
-/testcase/utc_source_clip_image
-/testcase/utc_source_clip_scale_image
-/testcase/utc_source_surface_scale_paint_image
-/testcase/utc_spline_decomposition_image
-/testcase/utc_stride_12_image_image
-/testcase/utc_stroke_ctm_caps_image
-/testcase/utc_stroke_image_image
-/testcase/utc_stroke_open_box_image
-/testcase/utc_stroke_pattern_image
-/testcase/utc_subsurface_image
-/testcase/utc_subsurface_image_repeat_image
-/testcase/utc_subsurface_modify_child_image
-/testcase/utc_subsurface_modify_parent_image
-/testcase/utc_subsurface_outside_target_image
-/testcase/utc_subsurface_pad_image
-/testcase/utc_subsurface_reflect_image
-/testcase/utc_subsurface_repeat_image
-/testcase/utc_subsurface_scale_image
-/testcase/utc_subsurface_similar_repeat_image
-/testcase/utc_surface_finish_twice_image
-/testcase/utc_surface_pattern_big_scale_down_image
-/testcase/utc_surface_pattern_image
-/testcase/utc_surface_pattern_operator_image
-/testcase/utc_surface_pattern_scale_down_image
-/testcase/utc_surface_pattern_scale_down_extend_repeat_image
-/testcase/utc_surface_pattern_scale_down_extend_none_image
-/testcase/utc_surface_pattern_scale_down_extend_reflect_image
-/testcase/utc_surface_pattern_scale_down_extend_pad_image
-/testcase/utc_surface_pattern_scale_up_image
-#/testcase/utc_svg_clip_image
-#/testcase/utc_svg_surface_image
-/testcase/utc_svg_surface_source_image
-#/testcase/utc_text_antialias_gray_image
-#/testcase/utc_text_antialias_none_image
-#/testcase/utc_text_antialias_subpixel_image
-#/testcase/utc_text_antialias_subpixel_bgr_image
-#/testcase/utc_text_antialias_subpixel_rgb_image
-#/testcase/utc_text_antialias_subpixel_vbgr_image
-#/testcase/utc_text_antialias_subpixel_vrgb_image
-/testcase/utc_text_cache_crash_image
-/testcase/utc_text_glyph_range_image
-#/testcase/utc_text_pattern_image
-#/testcase/utc_text_rotate_image
-#/testcase/utc_text_transform_image
-/testcase/utc_text_zero_len_image
-/testcase/utc_tiger_image
-#/testcase/utc_tighten_bounds_image
-/testcase/utc_a1_tiger_image
-/testcase/utc_toy_font_face_image
-/testcase/utc_transforms_image
-/testcase/utc_translate_show_surface_image
-#/testcase/utc_trap_clip_image
-/testcase/utc_twin_antialias_gray_image
-/testcase/utc_twin_antialias_mixed_image
-/testcase/utc_twin_antialias_none_image
-/testcase/utc_twin_antialias_subpixel_image
-/testcase/utc_twin_image
-/testcase/utc_unaligned_box_image
-/testcase/utc_unantialiased_shapes_image
-#/testcase/utc_unbounded_operator_image
-/testcase/utc_unclosed_strokes_image
-/testcase/utc_user_data_image
-/testcase/utc_user_font_image
-/testcase/utc_user_font_mask_image
-#/testcase/utc_user_font_proxy_image
-#/testcase/utc_user_font_rescale_image
-/testcase/utc_white_in_noop_image
-/testcase/utc_world_map_image
-/testcase/utc_world_map_stroke_image
-/testcase/utc_world_map_fill_image
-/testcase/utc_xcb_huge_image_shm_image
-/testcase/utc_xcb_snapshot_assert_image
-/testcase/utc_xcb_stress_cache_image
-#/testcase/utc_xcb_surface_source_image
-/testcase/utc_xcomposite_projection_image
-/testcase/utc_xlib_expose_event_image
-#/testcase/utc_xlib_surface_image
-#/testcase/utc_xlib_surface_source_image
-/testcase/utc_zero_alpha_image
-/testcase/utc_zero_mask_image
-/testcase/utc_arc_direction_image
-/testcase/utc_a1_bug_gl
-/testcase/utc_a1_clip_paint_gl
-/testcase/utc_a1_clip_fill_gl
-/testcase/utc_a1_clip_fill_equal_gl
-/testcase/utc_a1_clip_stroke_gl
-/testcase/utc_a1_fill_gl
-/testcase/utc_a1_image_sample_gl
-/testcase/utc_a1_mask_gl
-/testcase/utc_a1_mask_sample_gl
-/testcase/utc_a1_rasterisation_rectangles_gl
-/testcase/utc_a1_rasterisation_triangles_gl
-/testcase/utc_a1_sample_gl
-/testcase/utc_a1_traps_sample_gl
-/testcase/utc_a8_clear_gl
-/testcase/utc_a8_mask_gl
-#/testcase/utc_aliasing_gl
-/testcase/utc_alpha_similar_gl
-/testcase/utc_api_special_cases_gl
-/testcase/utc_arc_infinite_loop_gl
-/testcase/utc_arc_looping_dash_gl
-/testcase/utc_big_empty_box_gl
-/testcase/utc_big_empty_triangle_gl
-#/testcase/utc_big_line_gl
-/testcase/utc_big_little_box_gl
-/testcase/utc_big_little_triangle_gl
-/testcase/utc_big_trap_gl
-/testcase/utc_bilevel_image_gl
-/testcase/utc_bitmap_font_gl
-/testcase/utc_bug_40410_gl
-/testcase/utc_bug_bo_rectangular_gl
-/testcase/utc_bug_bo_ricotz_gl
-/testcase/utc_bug_extents_gl
-/testcase/utc_bug_seams_gl
-/testcase/utc_bug_source_cu_gl
-/testcase/utc_caps_gl
-/testcase/utc_caps_joins_alpha_gl
-/testcase/utc_caps_joins_gl
-/testcase/utc_caps_joins_curve_gl
-/testcase/utc_caps_sub_paths_gl
-/testcase/utc_caps_tails_curve_gl
-/testcase/utc_checkerboard_gl
-/testcase/utc_clear_gl
-/testcase/utc_clear_source_gl
-/testcase/utc_clip_all_gl
-/testcase/utc_clip_complex_shape_eo_mono_gl
-/testcase/utc_clip_complex_shape_eo_aa_gl
-/testcase/utc_clip_contexts_gl
-/testcase/utc_clip_device_offset_gl
-/testcase/utc_clip_disjoint_gl
-#/testcase/utc_clip_disjoint_hatching_gl
-/testcase/utc_clip_double_free_gl
-/testcase/utc_clip_stroke_unbounded_gl
-/testcase/utc_clip_fill_nz_unbounded_gl
-/testcase/utc_clip_fill_eo_unbounded_gl
-/testcase/utc_clip_empty_gl
-/testcase/utc_clip_empty_group_gl
-/testcase/utc_clip_empty_save_gl
-#/testcase/utc_clip_fill_gl
-/testcase/utc_clip_fill_no_op_gl
-/testcase/utc_clip_fill_rule_gl
-#/testcase/utc_a1_clip_fill_rule_gl
-/testcase/utc_clip_fill_rule_pixel_aligned_gl
-/testcase/utc_clip_group_shapes_aligned_rectangles_gl
-/testcase/utc_clip_group_shapes_unaligned_rectangles_gl
-/testcase/utc_clip_group_shapes_circles_gl
-/testcase/utc_clip_image_gl
-/testcase/utc_clip_intersect_gl
-/testcase/utc_clip_mixed_antialias_gl
-/testcase/utc_clip_nesting_gl
-#/testcase/utc_clip_operator_gl
-#/testcase/utc_clipped_group_gl
-/testcase/utc_clipped_surface_gl
-#/testcase/utc_clipped_trapezoids_gl
-/testcase/utc_clip_polygons_gl
-#/testcase/utc_clip_push_group_gl
-/testcase/utc_clip_rectilinear_gl
-/testcase/utc_clip_shape_gl
-#/testcase/utc_clip_stroke_gl
-/testcase/utc_clip_stroke_no_op_gl
-#/testcase/utc_clip_text_gl
-/testcase/utc_clip_twice_gl
-/testcase/utc_clip_twice_rectangle_gl
-/testcase/utc_clip_unbounded_gl
-/testcase/utc_clip_zero_gl
-/testcase/utc_close_path_gl
-/testcase/utc_close_path_current_point_gl
-/testcase/utc_composite_integer_translate_over_gl
-/testcase/utc_composite_integer_translate_over_repeat_gl
-/testcase/utc_composite_integer_translate_source_gl
-/testcase/utc_copy_disjoint_gl
-/testcase/utc_copy_path_gl
-#/testcase/utc_coverage_rectangles_gl
-#/testcase/utc_coverage_intersecting_quads_gl
-#/testcase/utc_coverage_intersecting_triangles_gl
-#/testcase/utc_coverage_row_triangles_gl
-#/testcase/utc_coverage_column_triangles_gl
-#/testcase/utc_coverage_triangles_gl
-#/testcase/utc_create_for_stream_gl
-#/testcase/utc_create_from_png_gl
-/testcase/utc_create_from_png_stream_gl
-#/testcase/utc_culled_glyphs_gl
-/testcase/utc_curve_to_as_line_to_gl
-/testcase/utc_dash_caps_joins_gl
-/testcase/utc_dash_curve_gl
-/testcase/utc_dash_infinite_loop_gl
-/testcase/utc_dash_no_dash_gl
-/testcase/utc_dash_offset_gl
-/testcase/utc_dash_offset_negative_gl
-/testcase/utc_dash_scale_gl
-/testcase/utc_dash_state_gl
-/testcase/utc_dash_zero_length_gl
-#/testcase/utc_degenerate_arc_gl
-/testcase/utc_degenerate_arcs_gl
-/testcase/utc_degenerate_curve_to_gl
-/testcase/utc_degenerate_dash_gl
-/testcase/utc_degenerate_linear_gradient_gl
-/testcase/utc_degenerate_path_gl
-/testcase/utc_degenerate_pen_gl
-/testcase/utc_degenerate_radial_gradient_gl
-/testcase/utc_degenerate_rel_curve_to_gl
-/testcase/utc_degenerate_solid_dash_gl
-/testcase/utc_device_offset_gl
-/testcase/utc_device_offset_fractional_gl
-/testcase/utc_device_offset_positive_gl
-/testcase/utc_device_offset_scale_gl
-/testcase/utc_drunkard_tails_gl
-/testcase/utc_error_setters_gl
-/testcase/utc_extended_blend_gl
-/testcase/utc_extended_blend_alpha_gl
-/testcase/utc_extended_blend_mask_gl
-/testcase/utc_extended_blend_alpha_mask_gl
-/testcase/utc_extended_blend_solid_gl
-/testcase/utc_extended_blend_solid_alpha_gl
-/testcase/utc_extend_pad_border_gl
-/testcase/utc_extend_pad_gl
-/testcase/utc_extend_pad_similar_gl
-/testcase/utc_extend_reflect_gl
-/testcase/utc_extend_reflect_similar_gl
-/testcase/utc_extend_repeat_gl
-/testcase/utc_extend_repeat_similar_gl
-/testcase/utc_fallback_gl
-#/testcase/utc_fallback_resolution_gl
-/testcase/utc_fill_alpha_gl
-/testcase/utc_fill_alpha_pattern_gl
-#/testcase/utc_fill_and_stroke_alpha_add_gl
-#/testcase/utc_fill_and_stroke_alpha_gl
-#/testcase/utc_fill_and_stroke_gl
-/testcase/utc_fill_degenerate_sort_order_gl
-/testcase/utc_fill_disjoint_gl
-/testcase/utc_fill_empty_gl
-/testcase/utc_fill_image_gl
-/testcase/utc_fill_missed_stop_gl
-/testcase/utc_fill_rule_gl
-/testcase/utc_filter_bilinear_extents_gl
-/testcase/utc_filter_nearest_offset_gl
-/testcase/utc_filter_nearest_transformed_gl
-/testcase/utc_finer_grained_fallbacks_gl
-/testcase/utc_font_face_get_type_gl
-#/testcase/utc_font_matrix_translation_gl
-/testcase/utc_font_options_gl
-/testcase/utc_ft_font_create_for_ft_face_gl
-#/testcase/utc_ft_show_glyphs_positioning_gl
-#/testcase/utc_ft_show_glyphs_table_gl
-#/testcase/utc_ft_text_antialias_none_gl
-#/testcase/utc_ft_text_vertical_layout_type1_gl
-#/testcase/utc_ft_text_vertical_layout_type3_gl
-/testcase/utc_get_and_set_gl
-/testcase/utc_get_clip_gl
-/testcase/utc_get_group_target_gl
-#/testcase/utc_get_path_extents_gl
-#/testcase/utc_get_xrender_format_gl
-#/testcase/utc_gl_surface_source_gl
-#/testcase/utc_glyph_cache_pressure_gl
-/testcase/utc_gradient_alpha_gl
-/testcase/utc_gradient_constant_alpha_gl
-/testcase/utc_gradient_zero_stops_gl
-/testcase/utc_gradient_zero_stops_mask_gl
-/testcase/utc_group_clip_gl
-/testcase/utc_group_paint_gl
-/testcase/utc_group_state_gl
-#/testcase/utc_group_unaligned_gl
-#/testcase/utc_half_coverage_rectangles_gl
-#/testcase/utc_half_coverage_triangles_gl
-#/testcase/utc_halo_gl
-#/testcase/utc_halo_transform_gl
-#/testcase/utc_hatchings_gl
-/testcase/utc_horizontal_clip_gl
-/testcase/utc_huge_linear_gl
-/testcase/utc_huge_radial_gl
-/testcase/utc_image_bug_710072_aligned_gl
-/testcase/utc_image_bug_710072_unaligned_gl
-/testcase/utc_image_surface_source_gl
-/testcase/utc_implicit_close_gl
-/testcase/utc_in_fill_empty_trapezoid_gl
-/testcase/utc_in_fill_trapezoid_gl
-/testcase/utc_infinite_join_gl
-/testcase/utc_invalid_matrix_gl
-#/testcase/utc_inverse_text_gl
-/testcase/utc_inverted_clip_gl
-/testcase/utc_joins_gl
-/testcase/utc_joins_loop_gl
-/testcase/utc_joins_retrace_gl
-/testcase/utc_joins_star_gl
-/testcase/utc_large_clip_gl
-/testcase/utc_large_font_gl
-/testcase/utc_large_source_gl
-/testcase/utc_large_source_roi_gl
-#/testcase/utc_large_twin_antialias_mixed_gl
-/testcase/utc_leaky_dash_gl
-/testcase/utc_leaky_dashed_rectangle_gl
-/testcase/utc_leaky_dashed_stroke_gl
-/testcase/utc_leaky_polygon_gl
-/testcase/utc_linear_gradient_gl
-/testcase/utc_linear_gradient_extend_gl
-#/testcase/utc_linear_gradient_large_gl
-/testcase/utc_linear_gradient_one_stop_gl
-/testcase/utc_linear_gradient_reflect_gl
-/testcase/utc_linear_gradient_subset_gl
-/testcase/utc_linear_step_function_gl
-/testcase/utc_linear_uniform_gl
-/testcase/utc_line_width_gl
-/testcase/utc_a1_line_width_gl
-/testcase/utc_line_width_large_overlap_gl
-/testcase/utc_line_width_large_overlap_offset_gl
-/testcase/utc_line_width_large_overlap_rotated_gl
-/testcase/utc_line_width_large_overlap_flipped_gl
-/testcase/utc_line_width_large_overlap_flopped_gl
-#/testcase/utc_line_width_large_overlap_dashed_gl
-/testcase/utc_line_width_overlap_gl
-/testcase/utc_line_width_overlap_offset_gl
-/testcase/utc_line_width_overlap_rotated_gl
-/testcase/utc_line_width_overlap_flipped_gl
-/testcase/utc_line_width_overlap_flopped_gl
-#/testcase/utc_line_width_overlap_dashed_gl
-/testcase/utc_line_width_scale_gl
-/testcase/utc_line_width_tolerance_gl
-/testcase/utc_line_width_zero_gl
-/testcase/utc_long_dashed_lines_gl
-#/testcase/utc_long_lines_gl
-#/testcase/utc_map_all_to_image_gl
-#/testcase/utc_map_bit_to_image_gl
-/testcase/utc_map_to_image_fill_gl
-/testcase/utc_mask_alpha_gl
-#/testcase/utc_mask_gl
-/testcase/utc_mask_ctm_gl
-#/testcase/utc_mask_glyphs_gl
-/testcase/utc_mask_surface_ctm_gl
-/testcase/utc_mask_transformed_image_gl
-/testcase/utc_mask_transformed_similar_gl
-/testcase/utc_mesh_pattern_accuracy_gl
-/testcase/utc_mesh_pattern_gl
-/testcase/utc_mesh_pattern_conical_gl
-/testcase/utc_mesh_pattern_control_points_gl
-/testcase/utc_mesh_pattern_fold_gl
-/testcase/utc_mesh_pattern_overlap_gl
-/testcase/utc_mesh_pattern_transformed_gl
-/testcase/utc_mime_data_gl
-/testcase/utc_mime_surface_api_gl
-#/testcase/utc_mime_surface_gl
-/testcase/utc_miter_precision_gl
-/testcase/utc_move_to_show_surface_gl
-#/testcase/utc_multi_page_gl
-/testcase/utc_negative_stride_image_gl
-/testcase/utc_new_sub_path_gl
-/testcase/utc_nil_surface_gl
-/testcase/utc_operator_alpha_alpha_gl
-/testcase/utc_operator_alpha_gl
-/testcase/utc_operator_gl
-/testcase/utc_operator_clear_gl
-#/testcase/utc_operator_source_gl
-/testcase/utc_over_above_source_gl
-/testcase/utc_over_around_source_gl
-/testcase/utc_over_below_source_gl
-/testcase/utc_over_between_source_gl
-/testcase/utc_overlapping_boxes_gl
-#/testcase/utc_overlapping_dash_caps_gl
-/testcase/utc_overlapping_glyphs_gl
-/testcase/utc_paint_gl
-/testcase/utc_paint_clip_fill_mono_gl
-/testcase/utc_paint_clip_fill_aa_gl
-/testcase/utc_paint_repeat_gl
-/testcase/utc_paint_source_alpha_gl
-/testcase/utc_paint_with_alpha_gl
-/testcase/utc_paint_with_alpha_solid_clip_gl
-/testcase/utc_paint_with_alpha_clip_gl
-/testcase/utc_paint_with_alpha_clip_mask_gl
-/testcase/utc_partial_clip_text_top_gl
-/testcase/utc_partial_clip_text_bottom_gl
-/testcase/utc_partial_clip_text_left_gl
-/testcase/utc_partial_clip_text_right_gl
-#/testcase/utc_partial_coverage_rectangles_gl
-#/testcase/utc_partial_coverage_intersecting_quads_gl
-#/testcase/utc_partial_coverage_intersecting_triangles_gl
-#/testcase/utc_partial_coverage_triangles_gl
-#/testcase/utc_partial_coverage_overlap_three_quarter_triangles_gl
-#/testcase/utc_partial_coverage_overlap_half_triangles_eo_gl
-#/testcase/utc_partial_coverage_overlap_half_triangles_gl
-#/testcase/utc_partial_coverage_half_triangles_gl
-/testcase/utc_partial_coverage_reference_gl
-/testcase/utc_partial_coverage_three_quarter_reference_gl
-/testcase/utc_partial_coverage_half_reference_gl
-/testcase/utc_pass_through_gl
-/testcase/utc_path_append_gl
-/testcase/utc_path_precision_gl
-/testcase/utc_path_stroke_twice_gl
-/testcase/utc_pattern_getters_gl
-/testcase/utc_pattern_get_type_gl
-#/testcase/utc_pdf_features_gl
-/testcase/utc_pdf_isolated_group_gl
-#/testcase/utc_pdf_mime_data_gl
-#/testcase/utc_pdf_surface_source_gl
-/testcase/utc_pixman_rotate_gl
-#/testcase/utc_png_gl
-#/testcase/utc_ps_eps_gl
-#/testcase/utc_ps_features_gl
-#/testcase/utc_ps_surface_source_gl
-/testcase/utc_pthread_same_source_gl
-#/testcase/utc_pthread_show_text_gl
-/testcase/utc_pthread_similar_gl
-/testcase/utc_push_group_gl
-/testcase/utc_push_group_color_gl
-/testcase/utc_push_group_path_offset_gl
-#/testcase/utc_quartz_surface_source_gl
-/testcase/utc_radial_gradient_gl
-/testcase/utc_radial_gradient_mask_gl
-#/testcase/utc_radial_gradient_source_gl
-/testcase/utc_radial_gradient_mask_source_gl
-/testcase/utc_radial_gradient_one_stop_gl
-/testcase/utc_radial_gradient_extend_gl
-#/testcase/utc_radial_outer_focus_gl
-#/testcase/utc_random_clip_gl
-#/testcase/utc_random_intersections_curves_eo_gl
-#/testcase/utc_random_intersections_curves_nz_gl
-#/testcase/utc_random_intersections_eo_gl
-#/testcase/utc_random_intersections_nonzero_gl
-/testcase/utc_record_paint_gl
-/testcase/utc_record_paint_alpha_gl
-/testcase/utc_record_paint_alpha_solid_clip_gl
-/testcase/utc_record_paint_alpha_clip_gl
-/testcase/utc_record_paint_alpha_clip_mask_gl
-/testcase/utc_record_fill_alpha_gl
-#/testcase/utc_record_select_font_face_gl
-/testcase/utc_record_self_intersecting_gl
-#/testcase/utc_record_text_transform_gl
-/testcase/utc_record1414x_fill_alpha_gl
-/testcase/utc_record1414x_paint_gl
-/testcase/utc_record1414x_paint_alpha_gl
-/testcase/utc_record1414x_paint_alpha_clip_gl
-#/testcase/utc_record1414x_paint_alpha_clip_mask_gl
-/testcase/utc_record1414x_paint_alpha_solid_clip_gl
-#/testcase/utc_record1414x_select_font_face_gl
-/testcase/utc_record1414x_self_intersecting_gl
-/testcase/utc_record1414x_text_transform_gl
-/testcase/utc_record2x_fill_alpha_gl
-/testcase/utc_record2x_paint_gl
-/testcase/utc_record2x_paint_alpha_gl
-/testcase/utc_record2x_paint_alpha_clip_gl
-/testcase/utc_record2x_paint_alpha_clip_mask_gl
-/testcase/utc_record2x_paint_alpha_solid_clip_gl
-#/testcase/utc_record2x_select_font_face_gl
-/testcase/utc_record2x_self_intersecting_gl
-/testcase/utc_record2x_text_transform_gl
-/testcase/utc_record90_fill_alpha_gl
-/testcase/utc_record90_paint_gl
-/testcase/utc_record90_paint_alpha_gl
-/testcase/utc_record90_paint_alpha_clip_gl
-#/testcase/utc_record90_paint_alpha_clip_mask_gl
-/testcase/utc_record90_paint_alpha_solid_clip_gl
-#/testcase/utc_record90_select_font_face_gl
-/testcase/utc_record90_self_intersecting_gl
-/testcase/utc_record90_text_transform_gl
-/testcase/utc_raster_source_gl
-/testcase/utc_record_extend_none_gl
-/testcase/utc_record_extend_pad_gl
-/testcase/utc_record_extend_repeat_gl
-/testcase/utc_record_extend_reflect_gl
-/testcase/utc_record_extend_none_similar_gl
-/testcase/utc_record_extend_pad_similar_gl
-/testcase/utc_record_extend_repeat_similar_gl
-/testcase/utc_record_extend_reflect_similar_gl
-/testcase/utc_recording_surface_extend_none_gl
-/testcase/utc_recording_surface_extend_repeat_gl
-/testcase/utc_recording_surface_extend_reflect_gl
-#/testcase/utc_recording_surface_extend_pad_gl
-/testcase/utc_recording_surface_over_gl
-/testcase/utc_recording_surface_source_gl
-/testcase/utc_record_mesh_gl
-/testcase/utc_rectangle_rounding_error_gl
-/testcase/utc_rectilinear_dash_gl
-/testcase/utc_rectilinear_dash_scale_gl
-#/testcase/utc_rectilinear_dash_scale_unaligned_gl
-/testcase/utc_rectilinear_fill_gl
-/testcase/utc_rectilinear_grid_gl
-/testcase/utc_a1_rectilinear_grid_gl
-/testcase/utc_rectilinear_miter_limit_gl
-/testcase/utc_rectilinear_stroke_gl
-/testcase/utc_reflected_stroke_gl
-#/testcase/utc_rel_path_gl
-/testcase/utc_rgb24_ignore_alpha_gl
-/testcase/utc_rotated_clip_gl
-/testcase/utc_rotate_image_surface_paint_gl
-/testcase/utc_clip_rotate_image_surface_paint_gl
-#/testcase/utc_rotate_clip_image_surface_paint_gl
-/testcase/utc_rounded_rectangle_fill_gl
-/testcase/utc_rounded_rectangle_stroke_gl
-/testcase/utc_scaled_font_zero_matrix_gl
-/testcase/utc_scale_down_source_surface_paint_gl
-/testcase/utc_scale_offset_image_gl
-/testcase/utc_scale_offset_similar_gl
-/testcase/utc_scale_source_surface_paint_gl
-#/testcase/utc_select_font_face_gl
-/testcase/utc_select_font_no_show_text_gl
-/testcase/utc_self_copy_gl
-#/testcase/utc_self_copy_overlap_gl
-/testcase/utc_self_intersecting_gl
-/testcase/utc_set_source_gl
-/testcase/utc_shape_general_convex_gl
-/testcase/utc_shape_sierpinski_gl
-/testcase/utc_show_glyphs_advance_gl
-/testcase/utc_show_glyphs_many_gl
-#/testcase/utc_show_text_current_point_gl
-/testcase/utc_skew_extreme_gl
-/testcase/utc_smask_gl
-/testcase/utc_smask_fill_gl
-/testcase/utc_smask_image_mask_gl
-/testcase/utc_smask_mask_gl
-/testcase/utc_smask_paint_gl
-/testcase/utc_smask_stroke_gl
-#/testcase/utc_smask_text_gl
-/testcase/utc_solid_pattern_cache_stress_gl
-/testcase/utc_source_clip_gl
-/testcase/utc_source_clip_scale_gl
-/testcase/utc_source_surface_scale_paint_gl
-/testcase/utc_spline_decomposition_gl
-/testcase/utc_stride_12_image_gl
-/testcase/utc_stroke_ctm_caps_gl
-/testcase/utc_stroke_image_gl
-/testcase/utc_stroke_open_box_gl
-/testcase/utc_stroke_pattern_gl
-/testcase/utc_subsurface_gl
-/testcase/utc_subsurface_image_repeat_gl
-/testcase/utc_subsurface_modify_child_gl
-/testcase/utc_subsurface_modify_parent_gl
-/testcase/utc_subsurface_outside_target_gl
-/testcase/utc_subsurface_pad_gl
-/testcase/utc_subsurface_reflect_gl
-/testcase/utc_subsurface_repeat_gl
-/testcase/utc_subsurface_scale_gl
-/testcase/utc_subsurface_similar_repeat_gl
-/testcase/utc_surface_finish_twice_gl
-/testcase/utc_surface_pattern_big_scale_down_gl
-/testcase/utc_surface_pattern_gl
-/testcase/utc_surface_pattern_operator_gl
-/testcase/utc_surface_pattern_scale_down_gl
-/testcase/utc_surface_pattern_scale_down_extend_repeat_gl
-/testcase/utc_surface_pattern_scale_down_extend_none_gl
-/testcase/utc_surface_pattern_scale_down_extend_reflect_gl
-/testcase/utc_surface_pattern_scale_down_extend_pad_gl
-/testcase/utc_surface_pattern_scale_up_gl
-#/testcase/utc_svg_clip_gl
-#/testcase/utc_svg_surface_gl
-#/testcase/utc_svg_surface_source_gl
-#/testcase/utc_text_antialias_gray_gl
-#/testcase/utc_text_antialias_none_gl
-#/testcase/utc_text_antialias_subpixel_gl
-#/testcase/utc_text_antialias_subpixel_bgr_gl
-#/testcase/utc_text_antialias_subpixel_rgb_gl
-#/testcase/utc_text_antialias_subpixel_vbgr_gl
-#/testcase/utc_text_antialias_subpixel_vrgb_gl
-/testcase/utc_text_cache_crash_gl
-/testcase/utc_text_glyph_range_gl
-#/testcase/utc_text_pattern_gl
-#/testcase/utc_text_rotate_gl
-#/testcase/utc_text_transform_gl
-/testcase/utc_text_zero_len_gl
-/testcase/utc_tiger_gl
-/testcase/utc_a1_tiger_gl
-/testcase/utc_tighten_bounds_gl
-/testcase/utc_toy_font_face_gl
-/testcase/utc_transforms_gl
-/testcase/utc_translate_show_surface_gl
-/testcase/utc_trap_clip_gl
-/testcase/utc_twin_antialias_gray_gl
-#/testcase/utc_twin_antialias_mixed_gl
-/testcase/utc_twin_antialias_none_gl
-#/testcase/utc_twin_antialias_subpixel_gl
-/testcase/utc_twin_gl
-/testcase/utc_unaligned_box_gl
-/testcase/utc_unantialiased_shapes_gl
-/testcase/utc_unbounded_operator_gl
-/testcase/utc_unclosed_strokes_gl
-/testcase/utc_user_data_gl
-/testcase/utc_user_font_gl
-/testcase/utc_user_font_mask_gl
-#/testcase/utc_user_font_proxy_gl
-#/testcase/utc_user_font_rescale_gl
-/testcase/utc_white_in_noop_gl
-/testcase/utc_world_map_gl
-/testcase/utc_world_map_stroke_gl
-/testcase/utc_world_map_fill_gl
-/testcase/utc_xcb_huge_image_shm_gl
-/testcase/utc_xcb_snapshot_assert_gl
-/testcase/utc_xcb_stress_cache_gl
-/testcase/utc_xcb_surface_source_gl
-/testcase/utc_xcomposite_projection_gl
-/testcase/utc_xlib_expose_event_gl
-#/testcase/utc_xlib_surface_gl
-/testcase/utc_xlib_surface_source_gl
-/testcase/utc_zero_alpha_gl
-/testcase/utc_zero_mask_gl
-/testcase/utc_arc_direction_gl
diff --git a/TC/testcase/utc_a1_bug_gl.c b/TC/testcase/utc_a1_bug_gl.c
deleted file mode 100644 (file)
index 7056917..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_bug1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_bug1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_bug1(void)
-{
-       char buf[128];
-       int ret;
-       sprintf(buf, "cd %s && ./cairo-test-suite a1-bug", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_bug1");
-                       else
-                               dts_fail("utc_cairo_a1_bug1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_bug_image.c b/TC/testcase/utc_a1_bug_image.c
deleted file mode 100644 (file)
index 42b5ae0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_bug1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_bug1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_bug1(void)
-{
-       char buf[128];
-       int ret;
-       sprintf(buf, "cd %s && ./cairo-test-suite a1-bug", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_bug1");
-                       else
-                               dts_fail("utc_cairo_a1_bug1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_clip_fill_equal_gl.c b/TC/testcase/utc_a1_clip_fill_equal_gl.c
deleted file mode 100644 (file)
index abdab0e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_clip_fill_equal1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_clip_fill_equal1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_clip_fill_equal1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-clip-fill-equal", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_clip_fill_equal1");
-                       else
-                               dts_fail("utc_cairo_a1_clip_fill_equal1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_clip_fill_equal_image.c b/TC/testcase/utc_a1_clip_fill_equal_image.c
deleted file mode 100644 (file)
index cb6f5bf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_clip_fill_equal1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_clip_fill_equal1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_clip_fill_equal1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-clip-fill-equal", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_clip_fill_equal1");
-                       else
-                               dts_fail("utc_cairo_a1_clip_fill_equal1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_clip_fill_gl.c b/TC/testcase/utc_a1_clip_fill_gl.c
deleted file mode 100644 (file)
index 74eaff9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_clip_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_clip_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_clip_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-clip-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_clip_fill1");
-                       else
-                               dts_fail("utc_cairo_a1_clip_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_clip_fill_image.c b/TC/testcase/utc_a1_clip_fill_image.c
deleted file mode 100644 (file)
index 14d9cdf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_clip_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_clip_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_clip_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-clip-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_clip_fill1");
-                       else
-                               dts_fail("utc_cairo_a1_clip_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_clip_fill_rule_gl.c b/TC/testcase/utc_a1_clip_fill_rule_gl.c
deleted file mode 100644 (file)
index c884e92..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_clip_fill_rule1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_clip_fill_rule1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_clip_fill_rule1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-clip-fill-rule", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_clip_fill_rule1");
-                       else
-                               dts_fail("utc_cairo_a1_clip_fill_rule1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_clip_fill_rule_image.c b/TC/testcase/utc_a1_clip_fill_rule_image.c
deleted file mode 100644 (file)
index 6801c8f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_clip_fill_rule1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_clip_fill_rule1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_clip_fill_rule1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-clip-fill-rule", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_clip_fill_rule1");
-                       else
-                               dts_fail("utc_cairo_a1_clip_fill_rule1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_clip_paint_gl.c b/TC/testcase/utc_a1_clip_paint_gl.c
deleted file mode 100644 (file)
index 5d77aee..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_clip_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_clip_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_clip_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-clip-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_clip_paint1");
-                       else
-                               dts_fail("utc_cairo_a1_clip_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_clip_paint_image.c b/TC/testcase/utc_a1_clip_paint_image.c
deleted file mode 100644 (file)
index c47f5ca..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_clip_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_clip_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_clip_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-clip-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_clip_paint1");
-                       else
-                               dts_fail("utc_cairo_a1_clip_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_clip_stroke_gl.c b/TC/testcase/utc_a1_clip_stroke_gl.c
deleted file mode 100644 (file)
index 1651ca4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_clip_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_clip_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_clip_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-clip-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_clip_stroke1");
-                       else
-                               dts_fail("utc_cairo_a1_clip_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_clip_stroke_image.c b/TC/testcase/utc_a1_clip_stroke_image.c
deleted file mode 100644 (file)
index c2dc2e4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_clip_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_clip_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_clip_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-clip-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_clip_stroke1");
-                       else
-                               dts_fail("utc_cairo_a1_clip_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_fill_gl.c b/TC/testcase/utc_a1_fill_gl.c
deleted file mode 100644 (file)
index 373f06f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_fill1");
-                       else
-                               dts_fail("utc_cairo_a1_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_fill_image.c b/TC/testcase/utc_a1_fill_image.c
deleted file mode 100644 (file)
index de60900..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_fill1");
-                       else
-                               dts_fail("utc_cairo_a1_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_image_sample_gl.c b/TC/testcase/utc_a1_image_sample_gl.c
deleted file mode 100644 (file)
index 10ee5b1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_image_sample1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_image_sample1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_image_sample1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-image-sample", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_image_sample1");
-                       else
-                               dts_fail("utc_cairo_a1_image_sample1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_image_sample_image.c b/TC/testcase/utc_a1_image_sample_image.c
deleted file mode 100644 (file)
index e22c238..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_image_sample1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_image_sample1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_image_sample1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-image-sample", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_image_sample1");
-                       else
-                               dts_fail("utc_cairo_a1_image_sample1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_line_width_gl.c b/TC/testcase/utc_a1_line_width_gl.c
deleted file mode 100644 (file)
index 304b32f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_line_width1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_line_width1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_line_width1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-line-width", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_line_width1");
-                       else
-                               dts_fail("utc_cairo_a1_line_width1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_line_width_image.c b/TC/testcase/utc_a1_line_width_image.c
deleted file mode 100644 (file)
index 8de9023..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_line_width1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_line_width1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_line_width1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-line-width", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_line_width1");
-                       else
-                               dts_fail("utc_cairo_a1_line_width1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_mask_gl.c b/TC/testcase/utc_a1_mask_gl.c
deleted file mode 100644 (file)
index 7927b71..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_mask1");
-                       else
-                               dts_fail("utc_cairo_a1_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_mask_image.c b/TC/testcase/utc_a1_mask_image.c
deleted file mode 100644 (file)
index 3b55f58..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_mask1");
-                       else
-                               dts_fail("utc_cairo_a1_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_mask_sample_gl.c b/TC/testcase/utc_a1_mask_sample_gl.c
deleted file mode 100644 (file)
index 17d96f9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_mask_sample1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_mask_sample1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_mask_sample1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-mask-sample", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_mask_sample1");
-                       else
-                               dts_fail("utc_cairo_a1_mask_sample1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_mask_sample_image.c b/TC/testcase/utc_a1_mask_sample_image.c
deleted file mode 100644 (file)
index cb4386a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_mask_sample1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_mask_sample1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_mask_sample1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-mask-sample", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_mask_sample1");
-                       else
-                               dts_fail("utc_cairo_a1_mask_sample1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_rasterisation_rectangles_gl.c b/TC/testcase/utc_a1_rasterisation_rectangles_gl.c
deleted file mode 100644 (file)
index db96e94..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_rasterisation_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_rasterisation_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_rasterisation_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-rasterisation-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_rasterisation_rectangles1");
-                       else
-                               dts_fail("utc_cairo_a1_rasterisation_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_rasterisation_rectangles_image.c b/TC/testcase/utc_a1_rasterisation_rectangles_image.c
deleted file mode 100644 (file)
index b4dc16a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_rasterisation_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_rasterisation_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_rasterisation_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-rasterisation-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_rasterisation_rectangles1");
-                       else
-                               dts_fail("utc_cairo_a1_rasterisation_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_rasterisation_triangles_gl.c b/TC/testcase/utc_a1_rasterisation_triangles_gl.c
deleted file mode 100644 (file)
index cc3dd7a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_rasterisation_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_rasterisation_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_rasterisation_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-rasterisation-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_rasterisation_triangles1");
-                       else
-                               dts_fail("utc_cairo_a1_rasterisation_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_rasterisation_triangles_image.c b/TC/testcase/utc_a1_rasterisation_triangles_image.c
deleted file mode 100644 (file)
index 004cbf8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_rasterisation_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_rasterisation_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_rasterisation_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-rasterisation-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_rasterisation_triangles1");
-                       else
-                               dts_fail("utc_cairo_a1_rasterisation_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_rectilinear_grid_gl.c b/TC/testcase/utc_a1_rectilinear_grid_gl.c
deleted file mode 100644 (file)
index 3bf52e2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_rectilinear_grid1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_rectilinear_grid1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_rectilinear_grid1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-rectilinear-grid", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_rectilinear_grid1");
-                       else
-                               dts_fail("utc_cairo_a1_rectilinear_grid1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_rectilinear_grid_image.c b/TC/testcase/utc_a1_rectilinear_grid_image.c
deleted file mode 100644 (file)
index 9d18876..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_rectilinear_grid1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_rectilinear_grid1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_rectilinear_grid1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-rectilinear-grid", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_rectilinear_grid1");
-                       else
-                               dts_fail("utc_cairo_a1_rectilinear_grid1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_sample_gl.c b/TC/testcase/utc_a1_sample_gl.c
deleted file mode 100644 (file)
index 99cae72..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_sample1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_sample1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_sample1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-sample", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_sample1");
-                       else
-                               dts_fail("utc_cairo_a1_sample1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_sample_image.c b/TC/testcase/utc_a1_sample_image.c
deleted file mode 100644 (file)
index 57c0051..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_sample1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_sample1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_sample1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-sample", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_sample1");
-                       else
-                               dts_fail("utc_cairo_a1_sample1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_tiger_gl.c b/TC/testcase/utc_a1_tiger_gl.c
deleted file mode 100644 (file)
index 39627ed..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_tiger1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_tiger1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_tiger1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-tiger", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_tiger1");
-                       else
-                               dts_fail("utc_cairo_a1_tiger1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_tiger_image.c b/TC/testcase/utc_a1_tiger_image.c
deleted file mode 100644 (file)
index f00d096..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_tiger1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_tiger1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_tiger1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-tiger", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_tiger1");
-                       else
-                               dts_fail("utc_cairo_a1_tiger1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_traps_sample_gl.c b/TC/testcase/utc_a1_traps_sample_gl.c
deleted file mode 100644 (file)
index 4d451a5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_traps_sample1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_traps_sample1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_traps_sample1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-traps-sample", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_traps_sample1");
-                       else
-                               dts_fail("utc_cairo_a1_traps_sample1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a1_traps_sample_image.c b/TC/testcase/utc_a1_traps_sample_image.c
deleted file mode 100644 (file)
index 3f10704..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a1_traps_sample1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a1_traps_sample1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a1_traps_sample1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a1-traps-sample", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a1_traps_sample1");
-                       else
-                               dts_fail("utc_cairo_a1_traps_sample1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a8_clear_gl.c b/TC/testcase/utc_a8_clear_gl.c
deleted file mode 100644 (file)
index 7e45230..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a8_clear1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a8_clear1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a8_clear1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a8-clear", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a8_clear1");
-                       else
-                               dts_fail("utc_cairo_a8_clear1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a8_clear_image.c b/TC/testcase/utc_a8_clear_image.c
deleted file mode 100644 (file)
index 738681c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a8_clear1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a8_clear1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a8_clear1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a8-clear", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a8_clear1");
-                       else
-                               dts_fail("utc_cairo_a8_clear1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a8_mask_gl.c b/TC/testcase/utc_a8_mask_gl.c
deleted file mode 100644 (file)
index 7c22e80..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a8_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a8_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a8_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a8-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a8_mask1");
-                       else
-                               dts_fail("utc_cairo_a8_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_a8_mask_image.c b/TC/testcase/utc_a8_mask_image.c
deleted file mode 100644 (file)
index 9712190..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_a8_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_a8_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_a8_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite a8-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_a8_mask1");
-                       else
-                               dts_fail("utc_cairo_a8_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_aliasing_gl.c b/TC/testcase/utc_aliasing_gl.c
deleted file mode 100644 (file)
index 1d02baf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_aliasing1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_aliasing1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_aliasing1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite aliasing", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_aliasing1");
-                       else
-                               dts_fail("utc_cairo_aliasing1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_aliasing_image.c b/TC/testcase/utc_aliasing_image.c
deleted file mode 100644 (file)
index 540c8a8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_aliasing1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_aliasing1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_aliasing1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite aliasing", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_aliasing1");
-                       else
-                               dts_fail("utc_cairo_aliasing1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_alpha_similar_gl.c b/TC/testcase/utc_alpha_similar_gl.c
deleted file mode 100644 (file)
index 505b534..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_alpha_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_alpha_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_alpha_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite alpha-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_alpha_similar1");
-                       else
-                               dts_fail("utc_cairo_alpha_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_alpha_similar_image.c b/TC/testcase/utc_alpha_similar_image.c
deleted file mode 100644 (file)
index 84751e9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_alpha_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_alpha_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_alpha_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite alpha-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_alpha_similar1");
-                       else
-                               dts_fail("utc_cairo_alpha_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_api_special_cases_gl.c b/TC/testcase/utc_api_special_cases_gl.c
deleted file mode 100644 (file)
index dfce48e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_api_special_cases1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_api_special_cases1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_api_special_cases1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite api-special-cases", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_api_special_cases1");
-                       else
-                               dts_fail("utc_cairo_api_special_cases1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_api_special_cases_image.c b/TC/testcase/utc_api_special_cases_image.c
deleted file mode 100644 (file)
index d2733dd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_api_special_cases1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_api_special_cases1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_api_special_cases1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite api-special-cases", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_api_special_cases1");
-                       else
-                               dts_fail("utc_cairo_api_special_cases1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_arc_direction_gl.c b/TC/testcase/utc_arc_direction_gl.c
deleted file mode 100644 (file)
index fa68589..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_arc_direction1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_arc_direction1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_arc_direction1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite arc-direction", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_arc_direction1");
-                       else
-                               dts_fail("utc_cairo_arc_direction1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_arc_direction_image.c b/TC/testcase/utc_arc_direction_image.c
deleted file mode 100644 (file)
index 9e80ab2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_arc_direction1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_arc_direction1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_arc_direction1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite arc-direction", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_arc_direction1");
-                       else
-                               dts_fail("utc_cairo_arc_direction1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_arc_infinite_loop_gl.c b/TC/testcase/utc_arc_infinite_loop_gl.c
deleted file mode 100644 (file)
index 1efeb1e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_arc_infinite_loop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_arc_infinite_loop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_arc_infinite_loop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite arc-infinite-loop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_arc_infinite_loop1");
-                       else
-                               dts_fail("utc_cairo_arc_infinite_loop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_arc_infinite_loop_image.c b/TC/testcase/utc_arc_infinite_loop_image.c
deleted file mode 100644 (file)
index 83353c3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_arc_infinite_loop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_arc_infinite_loop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_arc_infinite_loop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite arc-infinite-loop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_arc_infinite_loop1");
-                       else
-                               dts_fail("utc_cairo_arc_infinite_loop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_arc_looping_dash_gl.c b/TC/testcase/utc_arc_looping_dash_gl.c
deleted file mode 100644 (file)
index 6bc458a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_arc_looping_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_arc_looping_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_arc_looping_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite arc-looping-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_arc_looping_dash1");
-                       else
-                               dts_fail("utc_cairo_arc_looping_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_arc_looping_dash_image.c b/TC/testcase/utc_arc_looping_dash_image.c
deleted file mode 100644 (file)
index eda0dc6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_arc_looping_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_arc_looping_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_arc_looping_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite arc-looping-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_arc_looping_dash1");
-                       else
-                               dts_fail("utc_cairo_arc_looping_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_empty_box_gl.c b/TC/testcase/utc_big_empty_box_gl.c
deleted file mode 100644 (file)
index 2cad36e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_empty_box1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_empty_box1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_empty_box1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-empty-box", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_empty_box1");
-                       else
-                               dts_fail("utc_cairo_big_empty_box1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_empty_box_image.c b/TC/testcase/utc_big_empty_box_image.c
deleted file mode 100644 (file)
index 087e24a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_empty_box1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_empty_box1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_empty_box1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-empty-box", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_empty_box1");
-                       else
-                               dts_fail("utc_cairo_big_empty_box1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_empty_triangle_gl.c b/TC/testcase/utc_big_empty_triangle_gl.c
deleted file mode 100644 (file)
index 77f8c3f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_empty_triangle1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_empty_triangle1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_empty_triangle1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-empty-triangle", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_empty_triangle1");
-                       else
-                               dts_fail("utc_cairo_big_empty_triangle1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_empty_triangle_image.c b/TC/testcase/utc_big_empty_triangle_image.c
deleted file mode 100644 (file)
index 993c4d4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_empty_triangle1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_empty_triangle1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_empty_triangle1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-empty-triangle", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_empty_triangle1");
-                       else
-                               dts_fail("utc_cairo_big_empty_triangle1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_line_gl.c b/TC/testcase/utc_big_line_gl.c
deleted file mode 100644 (file)
index b35ed29..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_line1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_line1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_line1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-line", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_line1");
-                       else
-                               dts_fail("utc_cairo_big_line1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_line_image.c b/TC/testcase/utc_big_line_image.c
deleted file mode 100644 (file)
index 0917466..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_line1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_line1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_line1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-line", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_line1");
-                       else
-                               dts_fail("utc_cairo_big_line1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_little_box_gl.c b/TC/testcase/utc_big_little_box_gl.c
deleted file mode 100644 (file)
index abc235a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_little_box1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_little_box1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_little_box1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-little-box", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_little_box1");
-                       else
-                               dts_fail("utc_cairo_big_little_box1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_little_box_image.c b/TC/testcase/utc_big_little_box_image.c
deleted file mode 100644 (file)
index f0c4ad9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_little_box1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_little_box1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_little_box1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-little-box", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_little_box1");
-                       else
-                               dts_fail("utc_cairo_big_little_box1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_little_triangle_gl.c b/TC/testcase/utc_big_little_triangle_gl.c
deleted file mode 100644 (file)
index 00e6d59..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_little_triangle1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_little_triangle1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_little_triangle1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-little-triangle", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_little_triangle1");
-                       else
-                               dts_fail("utc_cairo_big_little_triangle1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_little_triangle_image.c b/TC/testcase/utc_big_little_triangle_image.c
deleted file mode 100644 (file)
index 7c58ed8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_little_triangle1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_little_triangle1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_little_triangle1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-little-triangle", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_little_triangle1");
-                       else
-                               dts_fail("utc_cairo_big_little_triangle1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_trap_gl.c b/TC/testcase/utc_big_trap_gl.c
deleted file mode 100644 (file)
index 77e87cc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_trap1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_trap1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_trap1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-trap", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_trap1");
-                       else
-                               dts_fail("utc_cairo_big_trap1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_big_trap_image.c b/TC/testcase/utc_big_trap_image.c
deleted file mode 100644 (file)
index f6be38f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_big_trap1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_big_trap1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_big_trap1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite big-trap", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_big_trap1");
-                       else
-                               dts_fail("utc_cairo_big_trap1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bilevel_image_gl.c b/TC/testcase/utc_bilevel_image_gl.c
deleted file mode 100644 (file)
index 9659005..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bilevel_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bilevel_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bilevel_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bilevel-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bilevel_image1");
-                       else
-                               dts_fail("utc_cairo_bilevel_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bilevel_image_image.c b/TC/testcase/utc_bilevel_image_image.c
deleted file mode 100644 (file)
index 756d148..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bilevel_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bilevel_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bilevel_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bilevel-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bilevel_image1");
-                       else
-                               dts_fail("utc_cairo_bilevel_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bitmap_font_gl.c b/TC/testcase/utc_bitmap_font_gl.c
deleted file mode 100644 (file)
index 78cd9e8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bitmap_font1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bitmap_font1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bitmap_font1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bitmap-font", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bitmap_font1");
-                       else
-                               dts_fail("utc_cairo_bitmap_font1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bitmap_font_image.c b/TC/testcase/utc_bitmap_font_image.c
deleted file mode 100644 (file)
index e775e42..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bitmap_font1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bitmap_font1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bitmap_font1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bitmap-font", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bitmap_font1");
-                       else
-                               dts_fail("utc_cairo_bitmap_font1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_40410_gl.c b/TC/testcase/utc_bug_40410_gl.c
deleted file mode 100644 (file)
index 7d6b453..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_404101(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_404101, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_404101(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-40410", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_404101");
-                       else
-                               dts_fail("utc_cairo_bug_404101");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_40410_image.c b/TC/testcase/utc_bug_40410_image.c
deleted file mode 100644 (file)
index 6b4d588..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_404101(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_404101, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_404101(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-40410", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_404101");
-                       else
-                               dts_fail("utc_cairo_bug_404101");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_bo_rectangular_gl.c b/TC/testcase/utc_bug_bo_rectangular_gl.c
deleted file mode 100644 (file)
index d450461..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_bo_rectangular1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_bo_rectangular1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_bo_rectangular1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-bo-rectangular", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_bo_rectangular1");
-                       else
-                               dts_fail("utc_cairo_bug_bo_rectangular1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_bo_rectangular_image.c b/TC/testcase/utc_bug_bo_rectangular_image.c
deleted file mode 100644 (file)
index 9638090..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_bo_rectangular1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_bo_rectangular1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_bo_rectangular1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-bo-rectangular", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_bo_rectangular1");
-                       else
-                               dts_fail("utc_cairo_bug_bo_rectangular1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_bo_ricotz_gl.c b/TC/testcase/utc_bug_bo_ricotz_gl.c
deleted file mode 100644 (file)
index fa42ed4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_bo_ricotz1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_bo_ricotz1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_bo_ricotz1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-bo-ricotz", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_bo_ricotz1");
-                       else
-                               dts_fail("utc_cairo_bug_bo_ricotz1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_bo_ricotz_image.c b/TC/testcase/utc_bug_bo_ricotz_image.c
deleted file mode 100644 (file)
index 22f41bf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_bo_ricotz1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_bo_ricotz1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_bo_ricotz1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-bo-ricotz", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_bo_ricotz1");
-                       else
-                               dts_fail("utc_cairo_bug_bo_ricotz1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_extents_gl.c b/TC/testcase/utc_bug_extents_gl.c
deleted file mode 100644 (file)
index 87d0dfc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_extents1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_extents1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_extents1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-extents", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_extents1");
-                       else
-                               dts_fail("utc_cairo_bug_extents1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_extents_image.c b/TC/testcase/utc_bug_extents_image.c
deleted file mode 100644 (file)
index 7e4e4c6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_extents1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_extents1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_extents1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-extents", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_extents1");
-                       else
-                               dts_fail("utc_cairo_bug_extents1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_seams_gl.c b/TC/testcase/utc_bug_seams_gl.c
deleted file mode 100644 (file)
index 6300cf0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_seams1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_seams1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_seams1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-seams", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_seams1");
-                       else
-                               dts_fail("utc_cairo_bug_seams1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_seams_image.c b/TC/testcase/utc_bug_seams_image.c
deleted file mode 100644 (file)
index bb6e06f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_seams1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_seams1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_seams1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-seams", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_seams1");
-                       else
-                               dts_fail("utc_cairo_bug_seams1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_source_cu_gl.c b/TC/testcase/utc_bug_source_cu_gl.c
deleted file mode 100644 (file)
index 48f596c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_source_cu1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_source_cu1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_source_cu1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-source-cu", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_source_cu1");
-                       else
-                               dts_fail("utc_cairo_bug_source_cu1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_bug_source_cu_image.c b/TC/testcase/utc_bug_source_cu_image.c
deleted file mode 100644 (file)
index ed6682a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_bug_source_cu1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_bug_source_cu1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_bug_source_cu1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite bug-source-cu", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_bug_source_cu1");
-                       else
-                               dts_fail("utc_cairo_bug_source_cu1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_gl.c b/TC/testcase/utc_caps_gl.c
deleted file mode 100644 (file)
index 5b4fb33..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps1");
-                       else
-                               dts_fail("utc_cairo_caps1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_image.c b/TC/testcase/utc_caps_image.c
deleted file mode 100644 (file)
index ff4d982..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps1");
-                       else
-                               dts_fail("utc_cairo_caps1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_joins_alpha_gl.c b/TC/testcase/utc_caps_joins_alpha_gl.c
deleted file mode 100644 (file)
index 8ff22c5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps_joins_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps_joins_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps_joins_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps-joins-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps_joins_alpha1");
-                       else
-                               dts_fail("utc_cairo_caps_joins_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_joins_alpha_image.c b/TC/testcase/utc_caps_joins_alpha_image.c
deleted file mode 100644 (file)
index 79f9465..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps_joins_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps_joins_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps_joins_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps-joins-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps_joins_alpha1");
-                       else
-                               dts_fail("utc_cairo_caps_joins_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_joins_curve_gl.c b/TC/testcase/utc_caps_joins_curve_gl.c
deleted file mode 100644 (file)
index c3bdbb2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps_joins_curve1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps_joins_curve1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps_joins_curve1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps-joins-curve", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps_joins_curve1");
-                       else
-                               dts_fail("utc_cairo_caps_joins_curve1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_joins_curve_image.c b/TC/testcase/utc_caps_joins_curve_image.c
deleted file mode 100644 (file)
index 1de2ebe..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps_joins_curve1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps_joins_curve1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps_joins_curve1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps-joins-curve", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps_joins_curve1");
-                       else
-                               dts_fail("utc_cairo_caps_joins_curve1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_joins_gl.c b/TC/testcase/utc_caps_joins_gl.c
deleted file mode 100644 (file)
index b571088..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps_joins1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps_joins1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps_joins1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps-joins", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps_joins1");
-                       else
-                               dts_fail("utc_cairo_caps_joins1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_joins_image.c b/TC/testcase/utc_caps_joins_image.c
deleted file mode 100644 (file)
index a3b78ab..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps_joins1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps_joins1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps_joins1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps-joins", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps_joins1");
-                       else
-                               dts_fail("utc_cairo_caps_joins1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_sub_paths_gl.c b/TC/testcase/utc_caps_sub_paths_gl.c
deleted file mode 100644 (file)
index 3a3c695..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps_sub_paths1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps_sub_paths1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps_sub_paths1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps-sub-paths", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps_sub_paths1");
-                       else
-                               dts_fail("utc_cairo_caps_sub_paths1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_sub_paths_image.c b/TC/testcase/utc_caps_sub_paths_image.c
deleted file mode 100644 (file)
index b03ceab..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps_sub_paths1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps_sub_paths1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps_sub_paths1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps-sub-paths", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps_sub_paths1");
-                       else
-                               dts_fail("utc_cairo_caps_sub_paths1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_tails_curve_gl.c b/TC/testcase/utc_caps_tails_curve_gl.c
deleted file mode 100644 (file)
index f79caa3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps_tails_curve1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps_tails_curve1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps_tails_curve1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps-tails-curve", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps_tails_curve1");
-                       else
-                               dts_fail("utc_cairo_caps_tails_curve1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_caps_tails_curve_image.c b/TC/testcase/utc_caps_tails_curve_image.c
deleted file mode 100644 (file)
index 8465177..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_caps_tails_curve1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_caps_tails_curve1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_caps_tails_curve1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite caps-tails-curve", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_caps_tails_curve1");
-                       else
-                               dts_fail("utc_cairo_caps_tails_curve1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_checkerboard_gl.c b/TC/testcase/utc_checkerboard_gl.c
deleted file mode 100644 (file)
index c1d4b9c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_checkerboard1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_checkerboard1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_checkerboard1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite checkerboard", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_checkerboard1");
-                       else
-                               dts_fail("utc_cairo_checkerboard1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_checkerboard_image.c b/TC/testcase/utc_checkerboard_image.c
deleted file mode 100644 (file)
index 56420bb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_checkerboard1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_checkerboard1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_checkerboard1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite checkerboard", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_checkerboard1");
-                       else
-                               dts_fail("utc_cairo_checkerboard1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clear_gl.c b/TC/testcase/utc_clear_gl.c
deleted file mode 100644 (file)
index 6fc13df..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clear1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clear1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clear1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clear", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clear1");
-                       else
-                               dts_fail("utc_cairo_clear1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clear_image.c b/TC/testcase/utc_clear_image.c
deleted file mode 100644 (file)
index 6c7b2e7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clear1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clear1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clear1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clear", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clear1");
-                       else
-                               dts_fail("utc_cairo_clear1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clear_source_gl.c b/TC/testcase/utc_clear_source_gl.c
deleted file mode 100644 (file)
index 4dc7533..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clear_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clear_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clear_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clear-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clear_source1");
-                       else
-                               dts_fail("utc_cairo_clear_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clear_source_image.c b/TC/testcase/utc_clear_source_image.c
deleted file mode 100644 (file)
index 7cb0dd3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clear_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clear_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clear_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clear-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clear_source1");
-                       else
-                               dts_fail("utc_cairo_clear_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_all_gl.c b/TC/testcase/utc_clip_all_gl.c
deleted file mode 100644 (file)
index e89c731..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_all1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_all1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_all1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-all", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_all1");
-                       else
-                               dts_fail("utc_cairo_clip_all1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_all_image.c b/TC/testcase/utc_clip_all_image.c
deleted file mode 100644 (file)
index 2ba9aa6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_all1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_all1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_all1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-all", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_all1");
-                       else
-                               dts_fail("utc_cairo_clip_all1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_complex_shape_eo_aa_gl.c b/TC/testcase/utc_clip_complex_shape_eo_aa_gl.c
deleted file mode 100644 (file)
index c9abfd1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_complex_shape_eo_aa1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_complex_shape_eo_aa1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_complex_shape_eo_aa1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-complex-shape-eo-aa", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_complex_shape_eo_aa1");
-                       else
-                               dts_fail("utc_cairo_clip_complex_shape_eo_aa1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_complex_shape_eo_aa_image.c b/TC/testcase/utc_clip_complex_shape_eo_aa_image.c
deleted file mode 100644 (file)
index 7500e0f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_complex_shape_eo_aa1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_complex_shape_eo_aa1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_complex_shape_eo_aa1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-complex-shape-eo-aa", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_complex_shape_eo_aa1");
-                       else
-                               dts_fail("utc_cairo_clip_complex_shape_eo_aa1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_complex_shape_eo_mono_gl.c b/TC/testcase/utc_clip_complex_shape_eo_mono_gl.c
deleted file mode 100644 (file)
index d1cd8f9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_complex_shape_eo_mono1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_complex_shape_eo_mono1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_complex_shape_eo_mono1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-complex-shape-eo-mono", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_complex_shape_eo_mono1");
-                       else
-                               dts_fail("utc_cairo_clip_complex_shape_eo_mono1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_complex_shape_eo_mono_image.c b/TC/testcase/utc_clip_complex_shape_eo_mono_image.c
deleted file mode 100644 (file)
index cbafdcd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_complex_shape_eo_mono1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_complex_shape_eo_mono1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_complex_shape_eo_mono1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-complex-shape-eo-mono", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_complex_shape_eo_mono1");
-                       else
-                               dts_fail("utc_cairo_clip_complex_shape_eo_mono1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_contexts_gl.c b/TC/testcase/utc_clip_contexts_gl.c
deleted file mode 100644 (file)
index 991c4a4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_contexts1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_contexts1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_contexts1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-contexts", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_contexts1");
-                       else
-                               dts_fail("utc_cairo_clip_contexts1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_contexts_image.c b/TC/testcase/utc_clip_contexts_image.c
deleted file mode 100644 (file)
index 2ed3ca6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_contexts1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_contexts1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_contexts1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-contexts", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_contexts1");
-                       else
-                               dts_fail("utc_cairo_clip_contexts1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_device_offset_gl.c b/TC/testcase/utc_clip_device_offset_gl.c
deleted file mode 100644 (file)
index 695a99d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_device_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_device_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_device_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-device-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_device_offset1");
-                       else
-                               dts_fail("utc_cairo_clip_device_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_device_offset_image.c b/TC/testcase/utc_clip_device_offset_image.c
deleted file mode 100644 (file)
index 987472a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_device_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_device_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_device_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-device-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_device_offset1");
-                       else
-                               dts_fail("utc_cairo_clip_device_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_disjoint_gl.c b/TC/testcase/utc_clip_disjoint_gl.c
deleted file mode 100644 (file)
index 432f1ae..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_disjoint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_disjoint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_disjoint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-disjoint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_disjoint1");
-                       else
-                               dts_fail("utc_cairo_clip_disjoint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_disjoint_hatching_gl.c b/TC/testcase/utc_clip_disjoint_hatching_gl.c
deleted file mode 100644 (file)
index e77d848..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_disjoint_hatching1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_disjoint_hatching1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_disjoint_hatching1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-disjoint-hatching", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_disjoint_hatching1");
-                       else
-                               dts_fail("utc_cairo_clip_disjoint_hatching1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_disjoint_hatching_image.c b/TC/testcase/utc_clip_disjoint_hatching_image.c
deleted file mode 100644 (file)
index d13f96d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_disjoint_hatching1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_disjoint_hatching1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_disjoint_hatching1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-disjoint-hatching", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_disjoint_hatching1");
-                       else
-                               dts_fail("utc_cairo_clip_disjoint_hatching1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_disjoint_image.c b/TC/testcase/utc_clip_disjoint_image.c
deleted file mode 100644 (file)
index ef48b36..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_disjoint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_disjoint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_disjoint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-disjoint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_disjoint1");
-                       else
-                               dts_fail("utc_cairo_clip_disjoint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_double_free_gl.c b/TC/testcase/utc_clip_double_free_gl.c
deleted file mode 100644 (file)
index 7c1f006..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_double_free1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_double_free1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_double_free1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-double-free", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_double_free1");
-                       else
-                               dts_fail("utc_cairo_clip_double_free1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_double_free_image.c b/TC/testcase/utc_clip_double_free_image.c
deleted file mode 100644 (file)
index c9089ea..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_double_free1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_double_free1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_double_free1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-double-free", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_double_free1");
-                       else
-                               dts_fail("utc_cairo_clip_double_free1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_empty_gl.c b/TC/testcase/utc_clip_empty_gl.c
deleted file mode 100644 (file)
index e541f8b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_empty1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_empty1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_empty1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-empty", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_empty1");
-                       else
-                               dts_fail("utc_cairo_clip_empty1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_empty_group_gl.c b/TC/testcase/utc_clip_empty_group_gl.c
deleted file mode 100644 (file)
index 8e3ca81..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_empty_group1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_empty_group1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_empty_group1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-empty-group", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_empty_group1");
-                       else
-                               dts_fail("utc_cairo_clip_empty_group1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_empty_group_image.c b/TC/testcase/utc_clip_empty_group_image.c
deleted file mode 100644 (file)
index 7084a9c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_empty_group1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_empty_group1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_empty_group1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-empty-group", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_empty_group1");
-                       else
-                               dts_fail("utc_cairo_clip_empty_group1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_empty_image.c b/TC/testcase/utc_clip_empty_image.c
deleted file mode 100644 (file)
index be66f5d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_empty1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_empty1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_empty1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-empty", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_empty1");
-                       else
-                               dts_fail("utc_cairo_clip_empty1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_empty_save_gl.c b/TC/testcase/utc_clip_empty_save_gl.c
deleted file mode 100644 (file)
index 716e5a0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_empty_save1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_empty_save1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_empty_save1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-empty-save", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_empty_save1");
-                       else
-                               dts_fail("utc_cairo_clip_empty_save1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_empty_save_image.c b/TC/testcase/utc_clip_empty_save_image.c
deleted file mode 100644 (file)
index 0e5b997..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_empty_save1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_empty_save1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_empty_save1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-empty-save", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_empty_save1");
-                       else
-                               dts_fail("utc_cairo_clip_empty_save1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_eo_unbounded_gl.c b/TC/testcase/utc_clip_fill_eo_unbounded_gl.c
deleted file mode 100644 (file)
index 6d5279b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill_eo_unbounded1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill_eo_unbounded1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill_eo_unbounded1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill-eo-unbounded", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill_eo_unbounded1");
-                       else
-                               dts_fail("utc_cairo_clip_fill_eo_unbounded1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_eo_unbounded_image.c b/TC/testcase/utc_clip_fill_eo_unbounded_image.c
deleted file mode 100644 (file)
index 77a18f8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill_eo_unbounded1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill_eo_unbounded1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill_eo_unbounded1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill-eo-unbounded", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill_eo_unbounded1");
-                       else
-                               dts_fail("utc_cairo_clip_fill_eo_unbounded1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_gl.c b/TC/testcase/utc_clip_fill_gl.c
deleted file mode 100644 (file)
index 181b221..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill1");
-                       else
-                               dts_fail("utc_cairo_clip_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_image.c b/TC/testcase/utc_clip_fill_image.c
deleted file mode 100644 (file)
index 1385bae..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill1");
-                       else
-                               dts_fail("utc_cairo_clip_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_no_op_gl.c b/TC/testcase/utc_clip_fill_no_op_gl.c
deleted file mode 100644 (file)
index ddacf93..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill_no_op1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill_no_op1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill_no_op1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill-no-op", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill_no_op1");
-                       else
-                               dts_fail("utc_cairo_clip_fill_no_op1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_no_op_image.c b/TC/testcase/utc_clip_fill_no_op_image.c
deleted file mode 100644 (file)
index b89b719..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill_no_op1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill_no_op1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill_no_op1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill-no-op", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill_no_op1");
-                       else
-                               dts_fail("utc_cairo_clip_fill_no_op1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_nz_unbounded_gl.c b/TC/testcase/utc_clip_fill_nz_unbounded_gl.c
deleted file mode 100644 (file)
index cfbf684..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill_nz_unbounded1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill_nz_unbounded1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill_nz_unbounded1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill-nz-unbounded", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill_nz_unbounded1");
-                       else
-                               dts_fail("utc_cairo_clip_fill_nz_unbounded1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_nz_unbounded_image.c b/TC/testcase/utc_clip_fill_nz_unbounded_image.c
deleted file mode 100644 (file)
index ab881fc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill_nz_unbounded1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill_nz_unbounded1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill_nz_unbounded1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill-nz-unbounded", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill_nz_unbounded1");
-                       else
-                               dts_fail("utc_cairo_clip_fill_nz_unbounded1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_rule_gl.c b/TC/testcase/utc_clip_fill_rule_gl.c
deleted file mode 100644 (file)
index 25546e0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill_rule1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill_rule1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill_rule1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill-rule", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill_rule1");
-                       else
-                               dts_fail("utc_cairo_clip_fill_rule1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_rule_image.c b/TC/testcase/utc_clip_fill_rule_image.c
deleted file mode 100644 (file)
index 6ca4258..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill_rule1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill_rule1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill_rule1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill-rule", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill_rule1");
-                       else
-                               dts_fail("utc_cairo_clip_fill_rule1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_rule_pixel_aligned_gl.c b/TC/testcase/utc_clip_fill_rule_pixel_aligned_gl.c
deleted file mode 100644 (file)
index ee6b340..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill_rule_pixel_aligned1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill_rule_pixel_aligned1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill_rule_pixel_aligned1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill-rule-pixel-aligned", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill_rule_pixel_aligned1");
-                       else
-                               dts_fail("utc_cairo_clip_fill_rule_pixel_aligned1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_fill_rule_pixel_aligned_image.c b/TC/testcase/utc_clip_fill_rule_pixel_aligned_image.c
deleted file mode 100644 (file)
index 3777685..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_fill_rule_pixel_aligned1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_fill_rule_pixel_aligned1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_fill_rule_pixel_aligned1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-fill-rule-pixel-aligned", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_fill_rule_pixel_aligned1");
-                       else
-                               dts_fail("utc_cairo_clip_fill_rule_pixel_aligned1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_group_shapes_aligned_rectangles_gl.c b/TC/testcase/utc_clip_group_shapes_aligned_rectangles_gl.c
deleted file mode 100644 (file)
index fdd6f9c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_group_shapes_aligned_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_group_shapes_aligned_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_group_shapes_aligned_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-group-shapes-aligned-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_group_shapes_aligned_rectangles1");
-                       else
-                               dts_fail("utc_cairo_clip_group_shapes_aligned_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_group_shapes_aligned_rectangles_image.c b/TC/testcase/utc_clip_group_shapes_aligned_rectangles_image.c
deleted file mode 100644 (file)
index e599ed5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_group_shapes_aligned_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_group_shapes_aligned_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_group_shapes_aligned_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-group-shapes-aligned-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_group_shapes_aligned_rectangles1");
-                       else
-                               dts_fail("utc_cairo_clip_group_shapes_aligned_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_group_shapes_circles_gl.c b/TC/testcase/utc_clip_group_shapes_circles_gl.c
deleted file mode 100644 (file)
index aa12afe..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_group_shapes_circles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_group_shapes_circles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_group_shapes_circles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-group-shapes-circles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_group_shapes_circles1");
-                       else
-                               dts_fail("utc_cairo_clip_group_shapes_circles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_group_shapes_circles_image.c b/TC/testcase/utc_clip_group_shapes_circles_image.c
deleted file mode 100644 (file)
index 9b222c0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_group_shapes_circles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_group_shapes_circles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_group_shapes_circles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-group-shapes-circles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_group_shapes_circles1");
-                       else
-                               dts_fail("utc_cairo_clip_group_shapes_circles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_group_shapes_unaligned_rectangles_gl.c b/TC/testcase/utc_clip_group_shapes_unaligned_rectangles_gl.c
deleted file mode 100644 (file)
index 17b9f12..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_group_shapes_unaligned_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_group_shapes_unaligned_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_group_shapes_unaligned_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-group-shapes-unaligned-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_group_shapes_unaligned_rectangles1");
-                       else
-                               dts_fail("utc_cairo_clip_group_shapes_unaligned_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_group_shapes_unaligned_rectangles_image.c b/TC/testcase/utc_clip_group_shapes_unaligned_rectangles_image.c
deleted file mode 100644 (file)
index 93a4034..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_group_shapes_unaligned_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_group_shapes_unaligned_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_group_shapes_unaligned_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-group-shapes-unaligned-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_group_shapes_unaligned_rectangles1");
-                       else
-                               dts_fail("utc_cairo_clip_group_shapes_unaligned_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_image_gl.c b/TC/testcase/utc_clip_image_gl.c
deleted file mode 100644 (file)
index 0f6704a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_image1");
-                       else
-                               dts_fail("utc_cairo_clip_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_image_image.c b/TC/testcase/utc_clip_image_image.c
deleted file mode 100644 (file)
index 68e5390..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_image1");
-                       else
-                               dts_fail("utc_cairo_clip_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_intersect_gl.c b/TC/testcase/utc_clip_intersect_gl.c
deleted file mode 100644 (file)
index 4395b83..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_intersect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_intersect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_intersect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-intersect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_intersect1");
-                       else
-                               dts_fail("utc_cairo_clip_intersect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_intersect_image.c b/TC/testcase/utc_clip_intersect_image.c
deleted file mode 100644 (file)
index 4715feb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_intersect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_intersect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_intersect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-intersect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_intersect1");
-                       else
-                               dts_fail("utc_cairo_clip_intersect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_mixed_antialias_gl.c b/TC/testcase/utc_clip_mixed_antialias_gl.c
deleted file mode 100644 (file)
index b03f6f8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_mixed_antialias1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_mixed_antialias1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_mixed_antialias1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-mixed-antialias", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_mixed_antialias1");
-                       else
-                               dts_fail("utc_cairo_clip_mixed_antialias1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_mixed_antialias_image.c b/TC/testcase/utc_clip_mixed_antialias_image.c
deleted file mode 100644 (file)
index 3b87f8e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_mixed_antialias1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_mixed_antialias1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_mixed_antialias1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-mixed-antialias", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_mixed_antialias1");
-                       else
-                               dts_fail("utc_cairo_clip_mixed_antialias1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_nesting_gl.c b/TC/testcase/utc_clip_nesting_gl.c
deleted file mode 100644 (file)
index 966a759..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_nesting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_nesting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_nesting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-nesting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_nesting1");
-                       else
-                               dts_fail("utc_cairo_clip_nesting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_nesting_image.c b/TC/testcase/utc_clip_nesting_image.c
deleted file mode 100644 (file)
index 6179320..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_nesting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_nesting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_nesting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-nesting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_nesting1");
-                       else
-                               dts_fail("utc_cairo_clip_nesting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_operator_gl.c b/TC/testcase/utc_clip_operator_gl.c
deleted file mode 100644 (file)
index e78377f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_operator1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_operator1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_operator1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-operator", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_operator1");
-                       else
-                               dts_fail("utc_cairo_clip_operator1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_operator_image.c b/TC/testcase/utc_clip_operator_image.c
deleted file mode 100644 (file)
index b4e9f8e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_operator1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_operator1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_operator1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-operator", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_operator1");
-                       else
-                               dts_fail("utc_cairo_clip_operator1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_polygons_gl.c b/TC/testcase/utc_clip_polygons_gl.c
deleted file mode 100644 (file)
index 7b7086d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_polygons1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_polygons1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_polygons1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-polygons", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_polygons1");
-                       else
-                               dts_fail("utc_cairo_clip_polygons1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_polygons_image.c b/TC/testcase/utc_clip_polygons_image.c
deleted file mode 100644 (file)
index 54b93b4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_polygons1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_polygons1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_polygons1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-polygons", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_polygons1");
-                       else
-                               dts_fail("utc_cairo_clip_polygons1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_push_group_gl.c b/TC/testcase/utc_clip_push_group_gl.c
deleted file mode 100644 (file)
index 293d2e5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_push_group1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_push_group1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_push_group1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-push-group", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_push_group1");
-                       else
-                               dts_fail("utc_cairo_clip_push_group1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_push_group_image.c b/TC/testcase/utc_clip_push_group_image.c
deleted file mode 100644 (file)
index 4ca8229..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_push_group1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_push_group1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_push_group1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-push-group", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_push_group1");
-                       else
-                               dts_fail("utc_cairo_clip_push_group1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_rectilinear_gl.c b/TC/testcase/utc_clip_rectilinear_gl.c
deleted file mode 100644 (file)
index 2d90830..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_rectilinear1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_rectilinear1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_rectilinear1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-rectilinear", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_rectilinear1");
-                       else
-                               dts_fail("utc_cairo_clip_rectilinear1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_rectilinear_image.c b/TC/testcase/utc_clip_rectilinear_image.c
deleted file mode 100644 (file)
index a545113..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_rectilinear1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_rectilinear1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_rectilinear1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-rectilinear", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_rectilinear1");
-                       else
-                               dts_fail("utc_cairo_clip_rectilinear1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_rotate_image_surface_paint_gl.c b/TC/testcase/utc_clip_rotate_image_surface_paint_gl.c
deleted file mode 100644 (file)
index f976ed2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_rotate_image_surface_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_rotate_image_surface_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_rotate_image_surface_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-rotate-image-surface-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_rotate_image_surface_paint1");
-                       else
-                               dts_fail("utc_cairo_clip_rotate_image_surface_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_rotate_image_surface_paint_image.c b/TC/testcase/utc_clip_rotate_image_surface_paint_image.c
deleted file mode 100644 (file)
index 9ee861e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_rotate_image_surface_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_rotate_image_surface_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_rotate_image_surface_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-rotate-image-surface-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_rotate_image_surface_paint1");
-                       else
-                               dts_fail("utc_cairo_clip_rotate_image_surface_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_shape_gl.c b/TC/testcase/utc_clip_shape_gl.c
deleted file mode 100644 (file)
index 35b82a6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_shape1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_shape1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_shape1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-shape", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_shape1");
-                       else
-                               dts_fail("utc_cairo_clip_shape1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_shape_image.c b/TC/testcase/utc_clip_shape_image.c
deleted file mode 100644 (file)
index b79d96a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_shape1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_shape1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_shape1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-shape", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_shape1");
-                       else
-                               dts_fail("utc_cairo_clip_shape1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_stroke_gl.c b/TC/testcase/utc_clip_stroke_gl.c
deleted file mode 100644 (file)
index fdc0bee..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_stroke1");
-                       else
-                               dts_fail("utc_cairo_clip_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_stroke_image.c b/TC/testcase/utc_clip_stroke_image.c
deleted file mode 100644 (file)
index 5062e6e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_stroke1");
-                       else
-                               dts_fail("utc_cairo_clip_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_stroke_no_op_gl.c b/TC/testcase/utc_clip_stroke_no_op_gl.c
deleted file mode 100644 (file)
index 9d03559..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_stroke_no_op1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_stroke_no_op1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_stroke_no_op1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-stroke-no-op", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_stroke_no_op1");
-                       else
-                               dts_fail("utc_cairo_clip_stroke_no_op1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_stroke_no_op_image.c b/TC/testcase/utc_clip_stroke_no_op_image.c
deleted file mode 100644 (file)
index 8301f22..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_stroke_no_op1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_stroke_no_op1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_stroke_no_op1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-stroke-no-op", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_stroke_no_op1");
-                       else
-                               dts_fail("utc_cairo_clip_stroke_no_op1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_stroke_unbounded_gl.c b/TC/testcase/utc_clip_stroke_unbounded_gl.c
deleted file mode 100644 (file)
index 6573b80..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_stroke_unbounded1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_stroke_unbounded1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_stroke_unbounded1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-stroke-unbounded", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_stroke_unbounded1");
-                       else
-                               dts_fail("utc_cairo_clip_stroke_unbounded1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_stroke_unbounded_image.c b/TC/testcase/utc_clip_stroke_unbounded_image.c
deleted file mode 100644 (file)
index 83af302..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_stroke_unbounded1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_stroke_unbounded1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_stroke_unbounded1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-stroke-unbounded", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_stroke_unbounded1");
-                       else
-                               dts_fail("utc_cairo_clip_stroke_unbounded1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_text_gl.c b/TC/testcase/utc_clip_text_gl.c
deleted file mode 100644 (file)
index 9effd72..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_text1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_text1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_text1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-text", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_text1");
-                       else
-                               dts_fail("utc_cairo_clip_text1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_text_image.c b/TC/testcase/utc_clip_text_image.c
deleted file mode 100644 (file)
index 917e465..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_text1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_text1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_text1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-text", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_text1");
-                       else
-                               dts_fail("utc_cairo_clip_text1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_twice_gl.c b/TC/testcase/utc_clip_twice_gl.c
deleted file mode 100644 (file)
index 967b92c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_twice1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_twice1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_twice1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-twice", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_twice1");
-                       else
-                               dts_fail("utc_cairo_clip_twice1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_twice_image.c b/TC/testcase/utc_clip_twice_image.c
deleted file mode 100644 (file)
index ae19566..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_twice1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_twice1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_twice1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-twice", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_twice1");
-                       else
-                               dts_fail("utc_cairo_clip_twice1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_twice_rectangle_gl.c b/TC/testcase/utc_clip_twice_rectangle_gl.c
deleted file mode 100644 (file)
index 20b45bc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_twice_rectangle1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_twice_rectangle1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_twice_rectangle1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-twice-rectangle", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_twice_rectangle1");
-                       else
-                               dts_fail("utc_cairo_clip_twice_rectangle1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_twice_rectangle_image.c b/TC/testcase/utc_clip_twice_rectangle_image.c
deleted file mode 100644 (file)
index 1e7a381..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_twice_rectangle1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_twice_rectangle1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_twice_rectangle1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-twice-rectangle", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_twice_rectangle1");
-                       else
-                               dts_fail("utc_cairo_clip_twice_rectangle1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_unbounded_gl.c b/TC/testcase/utc_clip_unbounded_gl.c
deleted file mode 100644 (file)
index 6a5d01d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_unbounded1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_unbounded1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_unbounded1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-unbounded", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_unbounded1");
-                       else
-                               dts_fail("utc_cairo_clip_unbounded1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_unbounded_image.c b/TC/testcase/utc_clip_unbounded_image.c
deleted file mode 100644 (file)
index 8465a3d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_unbounded1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_unbounded1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_unbounded1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-unbounded", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_unbounded1");
-                       else
-                               dts_fail("utc_cairo_clip_unbounded1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_zero_gl.c b/TC/testcase/utc_clip_zero_gl.c
deleted file mode 100644 (file)
index a9bbe5c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_zero1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_zero1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_zero1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-zero", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_zero1");
-                       else
-                               dts_fail("utc_cairo_clip_zero1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clip_zero_image.c b/TC/testcase/utc_clip_zero_image.c
deleted file mode 100644 (file)
index 65e7f89..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clip_zero1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clip_zero1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clip_zero1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clip-zero", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clip_zero1");
-                       else
-                               dts_fail("utc_cairo_clip_zero1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clipped_group_gl.c b/TC/testcase/utc_clipped_group_gl.c
deleted file mode 100644 (file)
index df81a43..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clipped_group1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clipped_group1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clipped_group1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clipped-group", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clipped_group1");
-                       else
-                               dts_fail("utc_cairo_clipped_group1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clipped_group_image.c b/TC/testcase/utc_clipped_group_image.c
deleted file mode 100644 (file)
index f8055ef..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clipped_group1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clipped_group1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clipped_group1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clipped-group", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clipped_group1");
-                       else
-                               dts_fail("utc_cairo_clipped_group1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clipped_surface_gl.c b/TC/testcase/utc_clipped_surface_gl.c
deleted file mode 100644 (file)
index bc3cf51..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clipped_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clipped_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clipped_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clipped-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clipped_surface1");
-                       else
-                               dts_fail("utc_cairo_clipped_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clipped_surface_image.c b/TC/testcase/utc_clipped_surface_image.c
deleted file mode 100644 (file)
index b838953..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clipped_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clipped_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clipped_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clipped-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clipped_surface1");
-                       else
-                               dts_fail("utc_cairo_clipped_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clipped_trapezoids_gl.c b/TC/testcase/utc_clipped_trapezoids_gl.c
deleted file mode 100644 (file)
index bab4d7c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clipped_trapezoids1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clipped_trapezoids1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clipped_trapezoids1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clipped-trapezoids", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clipped_trapezoids1");
-                       else
-                               dts_fail("utc_cairo_clipped_trapezoids1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_clipped_trapezoids_image.c b/TC/testcase/utc_clipped_trapezoids_image.c
deleted file mode 100644 (file)
index d012ae0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_clipped_trapezoids1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_clipped_trapezoids1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_clipped_trapezoids1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite clipped-trapezoids", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_clipped_trapezoids1");
-                       else
-                               dts_fail("utc_cairo_clipped_trapezoids1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_close_path_current_point_gl.c b/TC/testcase/utc_close_path_current_point_gl.c
deleted file mode 100644 (file)
index 98b766b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_close_path_current_point1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_close_path_current_point1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_close_path_current_point1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite close-path-current-point", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_close_path_current_point1");
-                       else
-                               dts_fail("utc_cairo_close_path_current_point1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_close_path_current_point_image.c b/TC/testcase/utc_close_path_current_point_image.c
deleted file mode 100644 (file)
index c7e6251..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_close_path_current_point1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_close_path_current_point1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_close_path_current_point1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite close-path-current-point", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_close_path_current_point1");
-                       else
-                               dts_fail("utc_cairo_close_path_current_point1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_close_path_gl.c b/TC/testcase/utc_close_path_gl.c
deleted file mode 100644 (file)
index 7081bd1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_close_path1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_close_path1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_close_path1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite close-path", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_close_path1");
-                       else
-                               dts_fail("utc_cairo_close_path1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_close_path_image.c b/TC/testcase/utc_close_path_image.c
deleted file mode 100644 (file)
index b2c0e1d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_close_path1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_close_path1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_close_path1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite close-path", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_close_path1");
-                       else
-                               dts_fail("utc_cairo_close_path1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_composite_integer_translate_over_gl.c b/TC/testcase/utc_composite_integer_translate_over_gl.c
deleted file mode 100644 (file)
index 022376d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_composite_integer_translate_over1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_composite_integer_translate_over1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_composite_integer_translate_over1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite composite-integer-translate-over", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_composite_integer_translate_over1");
-                       else
-                               dts_fail("utc_cairo_composite_integer_translate_over1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_composite_integer_translate_over_image.c b/TC/testcase/utc_composite_integer_translate_over_image.c
deleted file mode 100644 (file)
index 690509f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_composite_integer_translate_over1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_composite_integer_translate_over1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_composite_integer_translate_over1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite composite-integer-translate-over", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_composite_integer_translate_over1");
-                       else
-                               dts_fail("utc_cairo_composite_integer_translate_over1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_composite_integer_translate_over_repeat_gl.c b/TC/testcase/utc_composite_integer_translate_over_repeat_gl.c
deleted file mode 100644 (file)
index 80e22da..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_composite_integer_translate_over_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_composite_integer_translate_over_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_composite_integer_translate_over_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite composite-integer-translate-over-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_composite_integer_translate_over_repeat1");
-                       else
-                               dts_fail("utc_cairo_composite_integer_translate_over_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_composite_integer_translate_over_repeat_image.c b/TC/testcase/utc_composite_integer_translate_over_repeat_image.c
deleted file mode 100644 (file)
index 85c23eb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_composite_integer_translate_over_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_composite_integer_translate_over_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_composite_integer_translate_over_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite composite-integer-translate-over-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_composite_integer_translate_over_repeat1");
-                       else
-                               dts_fail("utc_cairo_composite_integer_translate_over_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_composite_integer_translate_source_gl.c b/TC/testcase/utc_composite_integer_translate_source_gl.c
deleted file mode 100644 (file)
index 1fa0601..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_composite_integer_translate_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_composite_integer_translate_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_composite_integer_translate_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite composite-integer-translate-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_composite_integer_translate_source1");
-                       else
-                               dts_fail("utc_cairo_composite_integer_translate_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_composite_integer_translate_source_image.c b/TC/testcase/utc_composite_integer_translate_source_image.c
deleted file mode 100644 (file)
index a5021a9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_composite_integer_translate_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_composite_integer_translate_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_composite_integer_translate_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite composite-integer-translate-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_composite_integer_translate_source1");
-                       else
-                               dts_fail("utc_cairo_composite_integer_translate_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_copy_disjoint_gl.c b/TC/testcase/utc_copy_disjoint_gl.c
deleted file mode 100644 (file)
index 53a23c0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_copy_disjoint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_copy_disjoint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_copy_disjoint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite copy-disjoint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_copy_disjoint1");
-                       else
-                               dts_fail("utc_cairo_copy_disjoint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_copy_disjoint_image.c b/TC/testcase/utc_copy_disjoint_image.c
deleted file mode 100644 (file)
index a7e05fa..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_copy_disjoint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_copy_disjoint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_copy_disjoint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite copy-disjoint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_copy_disjoint1");
-                       else
-                               dts_fail("utc_cairo_copy_disjoint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_copy_path_gl.c b/TC/testcase/utc_copy_path_gl.c
deleted file mode 100644 (file)
index 775617e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_copy_path1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_copy_path1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_copy_path1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite copy-path", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_copy_path1");
-                       else
-                               dts_fail("utc_cairo_copy_path1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_copy_path_image.c b/TC/testcase/utc_copy_path_image.c
deleted file mode 100644 (file)
index 3b5e830..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_copy_path1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_copy_path1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_copy_path1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite copy-path", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_copy_path1");
-                       else
-                               dts_fail("utc_cairo_copy_path1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_column_triangles_gl.c b/TC/testcase/utc_coverage_column_triangles_gl.c
deleted file mode 100644 (file)
index ce1aa5a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_column_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_column_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_column_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-column-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_column_triangles1");
-                       else
-                               dts_fail("utc_cairo_coverage_column_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_column_triangles_image.c b/TC/testcase/utc_coverage_column_triangles_image.c
deleted file mode 100644 (file)
index f31e722..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_column_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_column_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_column_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-column-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_column_triangles1");
-                       else
-                               dts_fail("utc_cairo_coverage_column_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_intersecting_quads_gl.c b/TC/testcase/utc_coverage_intersecting_quads_gl.c
deleted file mode 100644 (file)
index c9378c5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_intersecting_quads1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_intersecting_quads1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_intersecting_quads1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-intersecting-quads", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_intersecting_quads1");
-                       else
-                               dts_fail("utc_cairo_coverage_intersecting_quads1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_intersecting_quads_image.c b/TC/testcase/utc_coverage_intersecting_quads_image.c
deleted file mode 100644 (file)
index e79c5fa..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_intersecting_quads1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_intersecting_quads1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_intersecting_quads1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-intersecting-quads", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_intersecting_quads1");
-                       else
-                               dts_fail("utc_cairo_coverage_intersecting_quads1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_intersecting_triangles_gl.c b/TC/testcase/utc_coverage_intersecting_triangles_gl.c
deleted file mode 100644 (file)
index 9e0a395..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_intersecting_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_intersecting_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_intersecting_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-intersecting-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_intersecting_triangles1");
-                       else
-                               dts_fail("utc_cairo_coverage_intersecting_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_intersecting_triangles_image.c b/TC/testcase/utc_coverage_intersecting_triangles_image.c
deleted file mode 100644 (file)
index 20a2f2e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_intersecting_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_intersecting_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_intersecting_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-intersecting-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_intersecting_triangles1");
-                       else
-                               dts_fail("utc_cairo_coverage_intersecting_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_rectangles_gl.c b/TC/testcase/utc_coverage_rectangles_gl.c
deleted file mode 100644 (file)
index ef7166d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_rectangles1");
-                       else
-                               dts_fail("utc_cairo_coverage_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_rectangles_image.c b/TC/testcase/utc_coverage_rectangles_image.c
deleted file mode 100644 (file)
index ac1c4ef..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_rectangles1");
-                       else
-                               dts_fail("utc_cairo_coverage_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_row_triangles_gl.c b/TC/testcase/utc_coverage_row_triangles_gl.c
deleted file mode 100644 (file)
index cf2fdb6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_row_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_row_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_row_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-row-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_row_triangles1");
-                       else
-                               dts_fail("utc_cairo_coverage_row_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_row_triangles_image.c b/TC/testcase/utc_coverage_row_triangles_image.c
deleted file mode 100644 (file)
index fe8b49b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_row_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_row_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_row_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-row-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_row_triangles1");
-                       else
-                               dts_fail("utc_cairo_coverage_row_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_triangles_gl.c b/TC/testcase/utc_coverage_triangles_gl.c
deleted file mode 100644 (file)
index b2afbdf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_triangles1");
-                       else
-                               dts_fail("utc_cairo_coverage_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_coverage_triangles_image.c b/TC/testcase/utc_coverage_triangles_image.c
deleted file mode 100644 (file)
index 4383d1d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_coverage_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_coverage_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_coverage_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite coverage-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_coverage_triangles1");
-                       else
-                               dts_fail("utc_cairo_coverage_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_create_for_stream_gl.c b/TC/testcase/utc_create_for_stream_gl.c
deleted file mode 100644 (file)
index 585959a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_create_for_stream1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_create_for_stream1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_create_for_stream1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite create-for-stream", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_create_for_stream1");
-                       else
-                               dts_fail("utc_cairo_create_for_stream1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_create_for_stream_image.c b/TC/testcase/utc_create_for_stream_image.c
deleted file mode 100644 (file)
index aa7c7eb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_create_for_stream1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_create_for_stream1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_create_for_stream1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite create-for-stream", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_create_for_stream1");
-                       else
-                               dts_fail("utc_cairo_create_for_stream1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_create_from_png_gl.c b/TC/testcase/utc_create_from_png_gl.c
deleted file mode 100644 (file)
index 340bb05..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_create_from_png1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_create_from_png1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_create_from_png1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite create-from-png", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_create_from_png1");
-                       else
-                               dts_fail("utc_cairo_create_from_png1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_create_from_png_image.c b/TC/testcase/utc_create_from_png_image.c
deleted file mode 100644 (file)
index ae6ce0e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_create_from_png1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_create_from_png1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_create_from_png1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite create-from-png", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_create_from_png1");
-                       else
-                               dts_fail("utc_cairo_create_from_png1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_create_from_png_stream_gl.c b/TC/testcase/utc_create_from_png_stream_gl.c
deleted file mode 100644 (file)
index 86d57dd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_create_from_png_stream1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_create_from_png_stream1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_create_from_png_stream1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite create-from-png-stream", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_create_from_png_stream1");
-                       else
-                               dts_fail("utc_cairo_create_from_png_stream1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_create_from_png_stream_image.c b/TC/testcase/utc_create_from_png_stream_image.c
deleted file mode 100644 (file)
index 6fe5eb5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_create_from_png_stream1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_create_from_png_stream1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_create_from_png_stream1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite create-from-png-stream", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_create_from_png_stream1");
-                       else
-                               dts_fail("utc_cairo_create_from_png_stream1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_culled_glyphs_gl.c b/TC/testcase/utc_culled_glyphs_gl.c
deleted file mode 100644 (file)
index 1752e8e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_culled_glyphs1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_culled_glyphs1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_culled_glyphs1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite culled-glyphs", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_culled_glyphs1");
-                       else
-                               dts_fail("utc_cairo_culled_glyphs1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_culled_glyphs_image.c b/TC/testcase/utc_culled_glyphs_image.c
deleted file mode 100644 (file)
index bd497be..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_culled_glyphs1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_culled_glyphs1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_culled_glyphs1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite culled-glyphs", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_culled_glyphs1");
-                       else
-                               dts_fail("utc_cairo_culled_glyphs1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_curve_to_as_line_to_gl.c b/TC/testcase/utc_curve_to_as_line_to_gl.c
deleted file mode 100644 (file)
index 0b53340..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_curve_to_as_line_to1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_curve_to_as_line_to1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_curve_to_as_line_to1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite curve-to-as-line-to", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_curve_to_as_line_to1");
-                       else
-                               dts_fail("utc_cairo_curve_to_as_line_to1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_curve_to_as_line_to_image.c b/TC/testcase/utc_curve_to_as_line_to_image.c
deleted file mode 100644 (file)
index a816519..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_curve_to_as_line_to1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_curve_to_as_line_to1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_curve_to_as_line_to1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite curve-to-as-line-to", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_curve_to_as_line_to1");
-                       else
-                               dts_fail("utc_cairo_curve_to_as_line_to1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_caps_joins_gl.c b/TC/testcase/utc_dash_caps_joins_gl.c
deleted file mode 100644 (file)
index 3271a5a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_caps_joins1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_caps_joins1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_caps_joins1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-caps-joins", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_caps_joins1");
-                       else
-                               dts_fail("utc_cairo_dash_caps_joins1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_caps_joins_image.c b/TC/testcase/utc_dash_caps_joins_image.c
deleted file mode 100644 (file)
index 3b9738b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_caps_joins1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_caps_joins1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_caps_joins1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-caps-joins", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_caps_joins1");
-                       else
-                               dts_fail("utc_cairo_dash_caps_joins1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_curve_gl.c b/TC/testcase/utc_dash_curve_gl.c
deleted file mode 100644 (file)
index 6f7f188..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_curve1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_curve1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_curve1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-curve", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_curve1");
-                       else
-                               dts_fail("utc_cairo_dash_curve1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_curve_image.c b/TC/testcase/utc_dash_curve_image.c
deleted file mode 100644 (file)
index 31193d2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_curve1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_curve1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_curve1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-curve", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_curve1");
-                       else
-                               dts_fail("utc_cairo_dash_curve1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_infinite_loop_gl.c b/TC/testcase/utc_dash_infinite_loop_gl.c
deleted file mode 100644 (file)
index 93f18cf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_infinite_loop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_infinite_loop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_infinite_loop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-infinite-loop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_infinite_loop1");
-                       else
-                               dts_fail("utc_cairo_dash_infinite_loop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_infinite_loop_image.c b/TC/testcase/utc_dash_infinite_loop_image.c
deleted file mode 100644 (file)
index a0e50f6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_infinite_loop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_infinite_loop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_infinite_loop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-infinite-loop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_infinite_loop1");
-                       else
-                               dts_fail("utc_cairo_dash_infinite_loop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_no_dash_gl.c b/TC/testcase/utc_dash_no_dash_gl.c
deleted file mode 100644 (file)
index 40f0e2d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_no_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_no_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_no_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-no-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_no_dash1");
-                       else
-                               dts_fail("utc_cairo_dash_no_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_no_dash_image.c b/TC/testcase/utc_dash_no_dash_image.c
deleted file mode 100644 (file)
index 806663a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_no_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_no_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_no_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-no-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_no_dash1");
-                       else
-                               dts_fail("utc_cairo_dash_no_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_offset_gl.c b/TC/testcase/utc_dash_offset_gl.c
deleted file mode 100644 (file)
index 77692f8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_offset1");
-                       else
-                               dts_fail("utc_cairo_dash_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_offset_image.c b/TC/testcase/utc_dash_offset_image.c
deleted file mode 100644 (file)
index 9fcb9ce..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_offset1");
-                       else
-                               dts_fail("utc_cairo_dash_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_offset_negative_gl.c b/TC/testcase/utc_dash_offset_negative_gl.c
deleted file mode 100644 (file)
index 35044c2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_offset_negative1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_offset_negative1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_offset_negative1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-offset-negative", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_offset_negative1");
-                       else
-                               dts_fail("utc_cairo_dash_offset_negative1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_offset_negative_image.c b/TC/testcase/utc_dash_offset_negative_image.c
deleted file mode 100644 (file)
index eb2b606..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_offset_negative1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_offset_negative1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_offset_negative1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-offset-negative", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_offset_negative1");
-                       else
-                               dts_fail("utc_cairo_dash_offset_negative1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_scale_gl.c b/TC/testcase/utc_dash_scale_gl.c
deleted file mode 100644 (file)
index 4d85f7d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_scale1");
-                       else
-                               dts_fail("utc_cairo_dash_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_scale_image.c b/TC/testcase/utc_dash_scale_image.c
deleted file mode 100644 (file)
index e730e1f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_scale1");
-                       else
-                               dts_fail("utc_cairo_dash_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_state_gl.c b/TC/testcase/utc_dash_state_gl.c
deleted file mode 100644 (file)
index 29d25b3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_state1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_state1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_state1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-state", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_state1");
-                       else
-                               dts_fail("utc_cairo_dash_state1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_state_image.c b/TC/testcase/utc_dash_state_image.c
deleted file mode 100644 (file)
index 8ec76c5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_state1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_state1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_state1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-state", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_state1");
-                       else
-                               dts_fail("utc_cairo_dash_state1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_zero_length_gl.c b/TC/testcase/utc_dash_zero_length_gl.c
deleted file mode 100644 (file)
index 694c955..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_zero_length1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_zero_length1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_zero_length1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-zero-length", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_zero_length1");
-                       else
-                               dts_fail("utc_cairo_dash_zero_length1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_dash_zero_length_image.c b/TC/testcase/utc_dash_zero_length_image.c
deleted file mode 100644 (file)
index c7d0071..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_dash_zero_length1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_dash_zero_length1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_dash_zero_length1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite dash-zero-length", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_dash_zero_length1");
-                       else
-                               dts_fail("utc_cairo_dash_zero_length1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_arc_gl.c b/TC/testcase/utc_degenerate_arc_gl.c
deleted file mode 100644 (file)
index 44b1367..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_arc1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_arc1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_arc1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-arc", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_arc1");
-                       else
-                               dts_fail("utc_cairo_degenerate_arc1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_arc_image.c b/TC/testcase/utc_degenerate_arc_image.c
deleted file mode 100644 (file)
index 2943067..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_arc1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_arc1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_arc1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-arc", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_arc1");
-                       else
-                               dts_fail("utc_cairo_degenerate_arc1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_arcs_gl.c b/TC/testcase/utc_degenerate_arcs_gl.c
deleted file mode 100644 (file)
index d6212cf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_arcs1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_arcs1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_arcs1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-arcs", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_arcs1");
-                       else
-                               dts_fail("utc_cairo_degenerate_arcs1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_arcs_image.c b/TC/testcase/utc_degenerate_arcs_image.c
deleted file mode 100644 (file)
index 31b8908..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_arcs1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_arcs1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_arcs1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-arcs", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_arcs1");
-                       else
-                               dts_fail("utc_cairo_degenerate_arcs1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_curve_to_gl.c b/TC/testcase/utc_degenerate_curve_to_gl.c
deleted file mode 100644 (file)
index 973c81a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_curve_to1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_curve_to1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_curve_to1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-curve-to", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_curve_to1");
-                       else
-                               dts_fail("utc_cairo_degenerate_curve_to1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_curve_to_image.c b/TC/testcase/utc_degenerate_curve_to_image.c
deleted file mode 100644 (file)
index d0072de..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_curve_to1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_curve_to1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_curve_to1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-curve-to", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_curve_to1");
-                       else
-                               dts_fail("utc_cairo_degenerate_curve_to1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_dash_gl.c b/TC/testcase/utc_degenerate_dash_gl.c
deleted file mode 100644 (file)
index 07ef919..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_dash1");
-                       else
-                               dts_fail("utc_cairo_degenerate_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_dash_image.c b/TC/testcase/utc_degenerate_dash_image.c
deleted file mode 100644 (file)
index 53f8161..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_dash1");
-                       else
-                               dts_fail("utc_cairo_degenerate_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_linear_gradient_gl.c b/TC/testcase/utc_degenerate_linear_gradient_gl.c
deleted file mode 100644 (file)
index bddb1bc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_linear_gradient1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_linear_gradient1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_linear_gradient1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-linear-gradient", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_linear_gradient1");
-                       else
-                               dts_fail("utc_cairo_degenerate_linear_gradient1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_linear_gradient_image.c b/TC/testcase/utc_degenerate_linear_gradient_image.c
deleted file mode 100644 (file)
index 9ab9e67..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_linear_gradient1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_linear_gradient1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_linear_gradient1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-linear-gradient", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_linear_gradient1");
-                       else
-                               dts_fail("utc_cairo_degenerate_linear_gradient1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_path_gl.c b/TC/testcase/utc_degenerate_path_gl.c
deleted file mode 100644 (file)
index 2c0f751..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_path1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_path1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_path1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-path", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_path1");
-                       else
-                               dts_fail("utc_cairo_degenerate_path1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_path_image.c b/TC/testcase/utc_degenerate_path_image.c
deleted file mode 100644 (file)
index 8614b22..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_path1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_path1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_path1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-path", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_path1");
-                       else
-                               dts_fail("utc_cairo_degenerate_path1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_pen_gl.c b/TC/testcase/utc_degenerate_pen_gl.c
deleted file mode 100644 (file)
index fcee7fa..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_pen1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_pen1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_pen1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-pen", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_pen1");
-                       else
-                               dts_fail("utc_cairo_degenerate_pen1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_pen_image.c b/TC/testcase/utc_degenerate_pen_image.c
deleted file mode 100644 (file)
index 2c80da2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_pen1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_pen1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_pen1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-pen", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_pen1");
-                       else
-                               dts_fail("utc_cairo_degenerate_pen1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_radial_gradient_gl.c b/TC/testcase/utc_degenerate_radial_gradient_gl.c
deleted file mode 100644 (file)
index 28f619b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_radial_gradient1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_radial_gradient1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_radial_gradient1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-radial-gradient", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_radial_gradient1");
-                       else
-                               dts_fail("utc_cairo_degenerate_radial_gradient1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_radial_gradient_image.c b/TC/testcase/utc_degenerate_radial_gradient_image.c
deleted file mode 100644 (file)
index 1ff223a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_radial_gradient1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_radial_gradient1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_radial_gradient1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-radial-gradient", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_radial_gradient1");
-                       else
-                               dts_fail("utc_cairo_degenerate_radial_gradient1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_rel_curve_to_gl.c b/TC/testcase/utc_degenerate_rel_curve_to_gl.c
deleted file mode 100644 (file)
index 20df1ec..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_rel_curve_to1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_rel_curve_to1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_rel_curve_to1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-rel-curve-to", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_rel_curve_to1");
-                       else
-                               dts_fail("utc_cairo_degenerate_rel_curve_to1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_rel_curve_to_image.c b/TC/testcase/utc_degenerate_rel_curve_to_image.c
deleted file mode 100644 (file)
index 68f4a87..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_rel_curve_to1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_rel_curve_to1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_rel_curve_to1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-rel-curve-to", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_rel_curve_to1");
-                       else
-                               dts_fail("utc_cairo_degenerate_rel_curve_to1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_solid_dash_gl.c b/TC/testcase/utc_degenerate_solid_dash_gl.c
deleted file mode 100644 (file)
index e744050..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_solid_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_solid_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_solid_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-solid-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_solid_dash1");
-                       else
-                               dts_fail("utc_cairo_degenerate_solid_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_degenerate_solid_dash_image.c b/TC/testcase/utc_degenerate_solid_dash_image.c
deleted file mode 100644 (file)
index 2c55cd2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_degenerate_solid_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_degenerate_solid_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_degenerate_solid_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite degenerate-solid-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_degenerate_solid_dash1");
-                       else
-                               dts_fail("utc_cairo_degenerate_solid_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_device_offset_fractional_gl.c b/TC/testcase/utc_device_offset_fractional_gl.c
deleted file mode 100644 (file)
index 3c6bb9e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_device_offset_fractional1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_device_offset_fractional1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_device_offset_fractional1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite device-offset-fractional", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_device_offset_fractional1");
-                       else
-                               dts_fail("utc_cairo_device_offset_fractional1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_device_offset_fractional_image.c b/TC/testcase/utc_device_offset_fractional_image.c
deleted file mode 100644 (file)
index 4228bce..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_device_offset_fractional1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_device_offset_fractional1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_device_offset_fractional1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite device-offset-fractional", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_device_offset_fractional1");
-                       else
-                               dts_fail("utc_cairo_device_offset_fractional1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_device_offset_gl.c b/TC/testcase/utc_device_offset_gl.c
deleted file mode 100644 (file)
index 5975b49..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_device_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_device_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_device_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite device-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_device_offset1");
-                       else
-                               dts_fail("utc_cairo_device_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_device_offset_image.c b/TC/testcase/utc_device_offset_image.c
deleted file mode 100644 (file)
index c0e784f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_device_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_device_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_device_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite device-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_device_offset1");
-                       else
-                               dts_fail("utc_cairo_device_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_device_offset_positive_gl.c b/TC/testcase/utc_device_offset_positive_gl.c
deleted file mode 100644 (file)
index 07f7e92..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_device_offset_positive1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_device_offset_positive1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_device_offset_positive1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite device-offset-positive", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_device_offset_positive1");
-                       else
-                               dts_fail("utc_cairo_device_offset_positive1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_device_offset_positive_image.c b/TC/testcase/utc_device_offset_positive_image.c
deleted file mode 100644 (file)
index dcbafe4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_device_offset_positive1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_device_offset_positive1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_device_offset_positive1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite device-offset-positive", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_device_offset_positive1");
-                       else
-                               dts_fail("utc_cairo_device_offset_positive1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_device_offset_scale_gl.c b/TC/testcase/utc_device_offset_scale_gl.c
deleted file mode 100644 (file)
index e1b10dd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_device_offset_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_device_offset_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_device_offset_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite device-offset-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_device_offset_scale1");
-                       else
-                               dts_fail("utc_cairo_device_offset_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_device_offset_scale_image.c b/TC/testcase/utc_device_offset_scale_image.c
deleted file mode 100644 (file)
index cd2d82b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_device_offset_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_device_offset_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_device_offset_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite device-offset-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_device_offset_scale1");
-                       else
-                               dts_fail("utc_cairo_device_offset_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_drunkard_tails_gl.c b/TC/testcase/utc_drunkard_tails_gl.c
deleted file mode 100644 (file)
index b71a773..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_drunkard_tails1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_drunkard_tails1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_drunkard_tails1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite drunkard-tails", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_drunkard_tails1");
-                       else
-                               dts_fail("utc_cairo_drunkard_tails1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_drunkard_tails_image.c b/TC/testcase/utc_drunkard_tails_image.c
deleted file mode 100644 (file)
index 704af14..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_drunkard_tails1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_drunkard_tails1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_drunkard_tails1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite drunkard-tails", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_drunkard_tails1");
-                       else
-                               dts_fail("utc_cairo_drunkard_tails1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_error_setters_gl.c b/TC/testcase/utc_error_setters_gl.c
deleted file mode 100644 (file)
index 27d22c5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_error_setters1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_error_setters1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_error_setters1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite error-setters", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_error_setters1");
-                       else
-                               dts_fail("utc_cairo_error_setters1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_error_setters_image.c b/TC/testcase/utc_error_setters_image.c
deleted file mode 100644 (file)
index d943ee9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_error_setters1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_error_setters1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_error_setters1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite error-setters", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_error_setters1");
-                       else
-                               dts_fail("utc_cairo_error_setters1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_pad_border_gl.c b/TC/testcase/utc_extend_pad_border_gl.c
deleted file mode 100644 (file)
index dae4ee2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_pad_border1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_pad_border1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_pad_border1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-pad-border", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_pad_border1");
-                       else
-                               dts_fail("utc_cairo_extend_pad_border1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_pad_border_image.c b/TC/testcase/utc_extend_pad_border_image.c
deleted file mode 100644 (file)
index edafad5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_pad_border1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_pad_border1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_pad_border1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-pad-border", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_pad_border1");
-                       else
-                               dts_fail("utc_cairo_extend_pad_border1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_pad_gl.c b/TC/testcase/utc_extend_pad_gl.c
deleted file mode 100644 (file)
index 9df0ecb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_pad1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_pad1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_pad1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-pad", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_pad1");
-                       else
-                               dts_fail("utc_cairo_extend_pad1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_pad_image.c b/TC/testcase/utc_extend_pad_image.c
deleted file mode 100644 (file)
index 87f2b67..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_pad1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_pad1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_pad1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-pad", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_pad1");
-                       else
-                               dts_fail("utc_cairo_extend_pad1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_pad_similar_gl.c b/TC/testcase/utc_extend_pad_similar_gl.c
deleted file mode 100644 (file)
index 573f7df..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_pad_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_pad_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_pad_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-pad-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_pad_similar1");
-                       else
-                               dts_fail("utc_cairo_extend_pad_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_pad_similar_image.c b/TC/testcase/utc_extend_pad_similar_image.c
deleted file mode 100644 (file)
index b5c33d7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_pad_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_pad_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_pad_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-pad-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_pad_similar1");
-                       else
-                               dts_fail("utc_cairo_extend_pad_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_reflect_gl.c b/TC/testcase/utc_extend_reflect_gl.c
deleted file mode 100644 (file)
index cb2a0d7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_reflect1");
-                       else
-                               dts_fail("utc_cairo_extend_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_reflect_image.c b/TC/testcase/utc_extend_reflect_image.c
deleted file mode 100644 (file)
index aa89ca1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_reflect1");
-                       else
-                               dts_fail("utc_cairo_extend_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_reflect_similar_gl.c b/TC/testcase/utc_extend_reflect_similar_gl.c
deleted file mode 100644 (file)
index 616355e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_reflect_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_reflect_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_reflect_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-reflect-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_reflect_similar1");
-                       else
-                               dts_fail("utc_cairo_extend_reflect_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_reflect_similar_image.c b/TC/testcase/utc_extend_reflect_similar_image.c
deleted file mode 100644 (file)
index fd9ff6b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_reflect_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_reflect_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_reflect_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-reflect-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_reflect_similar1");
-                       else
-                               dts_fail("utc_cairo_extend_reflect_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_repeat_gl.c b/TC/testcase/utc_extend_repeat_gl.c
deleted file mode 100644 (file)
index c8ab75f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_repeat1");
-                       else
-                               dts_fail("utc_cairo_extend_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_repeat_image.c b/TC/testcase/utc_extend_repeat_image.c
deleted file mode 100644 (file)
index c0cad28..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_repeat1");
-                       else
-                               dts_fail("utc_cairo_extend_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_repeat_similar_gl.c b/TC/testcase/utc_extend_repeat_similar_gl.c
deleted file mode 100644 (file)
index 6e27b26..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_repeat_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_repeat_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_repeat_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-repeat-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_repeat_similar1");
-                       else
-                               dts_fail("utc_cairo_extend_repeat_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extend_repeat_similar_image.c b/TC/testcase/utc_extend_repeat_similar_image.c
deleted file mode 100644 (file)
index 2d561e3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extend_repeat_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extend_repeat_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extend_repeat_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extend-repeat-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extend_repeat_similar1");
-                       else
-                               dts_fail("utc_cairo_extend_repeat_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_alpha_gl.c b/TC/testcase/utc_extended_blend_alpha_gl.c
deleted file mode 100644 (file)
index 7bee662..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend_alpha1");
-                       else
-                               dts_fail("utc_cairo_extended_blend_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_alpha_image.c b/TC/testcase/utc_extended_blend_alpha_image.c
deleted file mode 100644 (file)
index 3214160..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend_alpha1");
-                       else
-                               dts_fail("utc_cairo_extended_blend_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_alpha_mask_gl.c b/TC/testcase/utc_extended_blend_alpha_mask_gl.c
deleted file mode 100644 (file)
index ed02698..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend_alpha_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend_alpha_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend_alpha_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend-alpha-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend_alpha_mask1");
-                       else
-                               dts_fail("utc_cairo_extended_blend_alpha_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_alpha_mask_image.c b/TC/testcase/utc_extended_blend_alpha_mask_image.c
deleted file mode 100644 (file)
index fdea88f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend_alpha_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend_alpha_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend_alpha_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend-alpha-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend_alpha_mask1");
-                       else
-                               dts_fail("utc_cairo_extended_blend_alpha_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_gl.c b/TC/testcase/utc_extended_blend_gl.c
deleted file mode 100644 (file)
index b70244b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend1");
-                       else
-                               dts_fail("utc_cairo_extended_blend1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_image.c b/TC/testcase/utc_extended_blend_image.c
deleted file mode 100644 (file)
index c5e5c5e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend1");
-                       else
-                               dts_fail("utc_cairo_extended_blend1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_mask_gl.c b/TC/testcase/utc_extended_blend_mask_gl.c
deleted file mode 100644 (file)
index 00f904c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend_mask1");
-                       else
-                               dts_fail("utc_cairo_extended_blend_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_mask_image.c b/TC/testcase/utc_extended_blend_mask_image.c
deleted file mode 100644 (file)
index 1a19354..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend_mask1");
-                       else
-                               dts_fail("utc_cairo_extended_blend_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_solid_alpha_gl.c b/TC/testcase/utc_extended_blend_solid_alpha_gl.c
deleted file mode 100644 (file)
index be66dfb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend_solid_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend_solid_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend_solid_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend-solid-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend_solid_alpha1");
-                       else
-                               dts_fail("utc_cairo_extended_blend_solid_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_solid_alpha_image.c b/TC/testcase/utc_extended_blend_solid_alpha_image.c
deleted file mode 100644 (file)
index 812a5eb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend_solid_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend_solid_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend_solid_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend-solid-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend_solid_alpha1");
-                       else
-                               dts_fail("utc_cairo_extended_blend_solid_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_solid_gl.c b/TC/testcase/utc_extended_blend_solid_gl.c
deleted file mode 100644 (file)
index e7fe24c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend_solid1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend_solid1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend_solid1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend-solid", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend_solid1");
-                       else
-                               dts_fail("utc_cairo_extended_blend_solid1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_extended_blend_solid_image.c b/TC/testcase/utc_extended_blend_solid_image.c
deleted file mode 100644 (file)
index 10ddb8b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_extended_blend_solid1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_extended_blend_solid1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_extended_blend_solid1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite extended-blend-solid", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_extended_blend_solid1");
-                       else
-                               dts_fail("utc_cairo_extended_blend_solid1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fallback_gl.c b/TC/testcase/utc_fallback_gl.c
deleted file mode 100644 (file)
index 0ab8651..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fallback1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fallback1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fallback1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fallback", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fallback1");
-                       else
-                               dts_fail("utc_cairo_fallback1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fallback_image.c b/TC/testcase/utc_fallback_image.c
deleted file mode 100644 (file)
index 058b32c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fallback1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fallback1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fallback1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fallback", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fallback1");
-                       else
-                               dts_fail("utc_cairo_fallback1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fallback_resolution_gl.c b/TC/testcase/utc_fallback_resolution_gl.c
deleted file mode 100644 (file)
index f89413b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fallback_resolution1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fallback_resolution1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fallback_resolution1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fallback-resolution", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fallback_resolution1");
-                       else
-                               dts_fail("utc_cairo_fallback_resolution1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fallback_resolution_image.c b/TC/testcase/utc_fallback_resolution_image.c
deleted file mode 100644 (file)
index fc533e3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fallback_resolution1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fallback_resolution1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fallback_resolution1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fallback-resolution", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fallback_resolution1");
-                       else
-                               dts_fail("utc_cairo_fallback_resolution1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_alpha_gl.c b/TC/testcase/utc_fill_alpha_gl.c
deleted file mode 100644 (file)
index 3adba1a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_alpha1");
-                       else
-                               dts_fail("utc_cairo_fill_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_alpha_image.c b/TC/testcase/utc_fill_alpha_image.c
deleted file mode 100644 (file)
index 89e38c0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_alpha1");
-                       else
-                               dts_fail("utc_cairo_fill_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_alpha_pattern_gl.c b/TC/testcase/utc_fill_alpha_pattern_gl.c
deleted file mode 100644 (file)
index cded0e6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_alpha_pattern1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_alpha_pattern1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_alpha_pattern1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-alpha-pattern", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_alpha_pattern1");
-                       else
-                               dts_fail("utc_cairo_fill_alpha_pattern1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_alpha_pattern_image.c b/TC/testcase/utc_fill_alpha_pattern_image.c
deleted file mode 100644 (file)
index 364456f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_alpha_pattern1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_alpha_pattern1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_alpha_pattern1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-alpha-pattern", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_alpha_pattern1");
-                       else
-                               dts_fail("utc_cairo_fill_alpha_pattern1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_and_stroke_alpha_add_gl.c b/TC/testcase/utc_fill_and_stroke_alpha_add_gl.c
deleted file mode 100644 (file)
index 017a36c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_and_stroke_alpha_add1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_and_stroke_alpha_add1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_and_stroke_alpha_add1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-and-stroke-alpha-add", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_and_stroke_alpha_add1");
-                       else
-                               dts_fail("utc_cairo_fill_and_stroke_alpha_add1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_and_stroke_alpha_add_image.c b/TC/testcase/utc_fill_and_stroke_alpha_add_image.c
deleted file mode 100644 (file)
index 9a6721c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_and_stroke_alpha_add1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_and_stroke_alpha_add1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_and_stroke_alpha_add1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-and-stroke-alpha-add", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_and_stroke_alpha_add1");
-                       else
-                               dts_fail("utc_cairo_fill_and_stroke_alpha_add1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_and_stroke_alpha_gl.c b/TC/testcase/utc_fill_and_stroke_alpha_gl.c
deleted file mode 100644 (file)
index 3a2cd03..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_and_stroke_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_and_stroke_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_and_stroke_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-and-stroke-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_and_stroke_alpha1");
-                       else
-                               dts_fail("utc_cairo_fill_and_stroke_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_and_stroke_alpha_image.c b/TC/testcase/utc_fill_and_stroke_alpha_image.c
deleted file mode 100644 (file)
index 892ff11..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_and_stroke_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_and_stroke_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_and_stroke_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-and-stroke-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_and_stroke_alpha1");
-                       else
-                               dts_fail("utc_cairo_fill_and_stroke_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_and_stroke_gl.c b/TC/testcase/utc_fill_and_stroke_gl.c
deleted file mode 100644 (file)
index 57ca296..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_and_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_and_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_and_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-and-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_and_stroke1");
-                       else
-                               dts_fail("utc_cairo_fill_and_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_and_stroke_image.c b/TC/testcase/utc_fill_and_stroke_image.c
deleted file mode 100644 (file)
index db74286..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_and_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_and_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_and_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-and-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_and_stroke1");
-                       else
-                               dts_fail("utc_cairo_fill_and_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_degenerate_sort_order_gl.c b/TC/testcase/utc_fill_degenerate_sort_order_gl.c
deleted file mode 100644 (file)
index 4851a9b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_degenerate_sort_order1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_degenerate_sort_order1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_degenerate_sort_order1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-degenerate-sort-order", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_degenerate_sort_order1");
-                       else
-                               dts_fail("utc_cairo_fill_degenerate_sort_order1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_degenerate_sort_order_image.c b/TC/testcase/utc_fill_degenerate_sort_order_image.c
deleted file mode 100644 (file)
index 7f34cef..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_degenerate_sort_order1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_degenerate_sort_order1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_degenerate_sort_order1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-degenerate-sort-order", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_degenerate_sort_order1");
-                       else
-                               dts_fail("utc_cairo_fill_degenerate_sort_order1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_disjoint_gl.c b/TC/testcase/utc_fill_disjoint_gl.c
deleted file mode 100644 (file)
index ea7aab3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_disjoint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_disjoint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_disjoint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-disjoint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_disjoint1");
-                       else
-                               dts_fail("utc_cairo_fill_disjoint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_disjoint_image.c b/TC/testcase/utc_fill_disjoint_image.c
deleted file mode 100644 (file)
index 1f45b85..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_disjoint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_disjoint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_disjoint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-disjoint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_disjoint1");
-                       else
-                               dts_fail("utc_cairo_fill_disjoint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_empty_gl.c b/TC/testcase/utc_fill_empty_gl.c
deleted file mode 100644 (file)
index ba81b14..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_empty1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_empty1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_empty1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-empty", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_empty1");
-                       else
-                               dts_fail("utc_cairo_fill_empty1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_empty_image.c b/TC/testcase/utc_fill_empty_image.c
deleted file mode 100644 (file)
index d40c60e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_empty1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_empty1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_empty1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-empty", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_empty1");
-                       else
-                               dts_fail("utc_cairo_fill_empty1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_image_gl.c b/TC/testcase/utc_fill_image_gl.c
deleted file mode 100644 (file)
index 66184fd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_image1");
-                       else
-                               dts_fail("utc_cairo_fill_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_image_image.c b/TC/testcase/utc_fill_image_image.c
deleted file mode 100644 (file)
index 0cdf9b5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_image1");
-                       else
-                               dts_fail("utc_cairo_fill_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_missed_stop_gl.c b/TC/testcase/utc_fill_missed_stop_gl.c
deleted file mode 100644 (file)
index 456ea56..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_missed_stop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_missed_stop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_missed_stop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-missed-stop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_missed_stop1");
-                       else
-                               dts_fail("utc_cairo_fill_missed_stop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_missed_stop_image.c b/TC/testcase/utc_fill_missed_stop_image.c
deleted file mode 100644 (file)
index 6b9c70f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_missed_stop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_missed_stop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_missed_stop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-missed-stop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_missed_stop1");
-                       else
-                               dts_fail("utc_cairo_fill_missed_stop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_rule_gl.c b/TC/testcase/utc_fill_rule_gl.c
deleted file mode 100644 (file)
index b5515a5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_rule1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_rule1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_rule1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-rule", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_rule1");
-                       else
-                               dts_fail("utc_cairo_fill_rule1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_fill_rule_image.c b/TC/testcase/utc_fill_rule_image.c
deleted file mode 100644 (file)
index 5c56a13..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_fill_rule1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_fill_rule1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_fill_rule1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite fill-rule", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_fill_rule1");
-                       else
-                               dts_fail("utc_cairo_fill_rule1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_filter_bilinear_extents_gl.c b/TC/testcase/utc_filter_bilinear_extents_gl.c
deleted file mode 100644 (file)
index 968b371..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_filter_bilinear_extents1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_filter_bilinear_extents1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_filter_bilinear_extents1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite filter-bilinear-extents", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_filter_bilinear_extents1");
-                       else
-                               dts_fail("utc_cairo_filter_bilinear_extents1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_filter_bilinear_extents_image.c b/TC/testcase/utc_filter_bilinear_extents_image.c
deleted file mode 100644 (file)
index 1f4df27..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_filter_bilinear_extents1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_filter_bilinear_extents1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_filter_bilinear_extents1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite filter-bilinear-extents", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_filter_bilinear_extents1");
-                       else
-                               dts_fail("utc_cairo_filter_bilinear_extents1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_filter_nearest_offset_gl.c b/TC/testcase/utc_filter_nearest_offset_gl.c
deleted file mode 100644 (file)
index cccabea..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_filter_nearest_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_filter_nearest_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_filter_nearest_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite filter-nearest-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_filter_nearest_offset1");
-                       else
-                               dts_fail("utc_cairo_filter_nearest_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_filter_nearest_offset_image.c b/TC/testcase/utc_filter_nearest_offset_image.c
deleted file mode 100644 (file)
index b4c1228..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_filter_nearest_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_filter_nearest_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_filter_nearest_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite filter-nearest-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_filter_nearest_offset1");
-                       else
-                               dts_fail("utc_cairo_filter_nearest_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_filter_nearest_transformed_gl.c b/TC/testcase/utc_filter_nearest_transformed_gl.c
deleted file mode 100644 (file)
index 63bf0fb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_filter_nearest_transformed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_filter_nearest_transformed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_filter_nearest_transformed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite filter-nearest-transformed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_filter_nearest_transformed1");
-                       else
-                               dts_fail("utc_cairo_filter_nearest_transformed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_filter_nearest_transformed_image.c b/TC/testcase/utc_filter_nearest_transformed_image.c
deleted file mode 100644 (file)
index a012700..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_filter_nearest_transformed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_filter_nearest_transformed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_filter_nearest_transformed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite filter-nearest-transformed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_filter_nearest_transformed1");
-                       else
-                               dts_fail("utc_cairo_filter_nearest_transformed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_finer_grained_fallbacks_gl.c b/TC/testcase/utc_finer_grained_fallbacks_gl.c
deleted file mode 100644 (file)
index f592982..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_finer_grained_fallbacks1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_finer_grained_fallbacks1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_finer_grained_fallbacks1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite finer-grained-fallbacks", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_finer_grained_fallbacks1");
-                       else
-                               dts_fail("utc_cairo_finer_grained_fallbacks1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_finer_grained_fallbacks_image.c b/TC/testcase/utc_finer_grained_fallbacks_image.c
deleted file mode 100644 (file)
index 3131041..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_finer_grained_fallbacks1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_finer_grained_fallbacks1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_finer_grained_fallbacks1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite finer-grained-fallbacks", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_finer_grained_fallbacks1");
-                       else
-                               dts_fail("utc_cairo_finer_grained_fallbacks1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_font_face_get_type_gl.c b/TC/testcase/utc_font_face_get_type_gl.c
deleted file mode 100644 (file)
index 6427939..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_font_face_get_type1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_font_face_get_type1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_font_face_get_type1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite font-face-get-type", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_font_face_get_type1");
-                       else
-                               dts_fail("utc_cairo_font_face_get_type1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_font_face_get_type_image.c b/TC/testcase/utc_font_face_get_type_image.c
deleted file mode 100644 (file)
index d41ca83..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_font_face_get_type1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_font_face_get_type1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_font_face_get_type1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite font-face-get-type", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_font_face_get_type1");
-                       else
-                               dts_fail("utc_cairo_font_face_get_type1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_font_matrix_translation_gl.c b/TC/testcase/utc_font_matrix_translation_gl.c
deleted file mode 100644 (file)
index c6ace7d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_font_matrix_translation1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_font_matrix_translation1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_font_matrix_translation1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite font-matrix-translation", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_font_matrix_translation1");
-                       else
-                               dts_fail("utc_cairo_font_matrix_translation1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_font_matrix_translation_image.c b/TC/testcase/utc_font_matrix_translation_image.c
deleted file mode 100644 (file)
index 46eb9ef..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_font_matrix_translation1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_font_matrix_translation1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_font_matrix_translation1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite font-matrix-translation", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_font_matrix_translation1");
-                       else
-                               dts_fail("utc_cairo_font_matrix_translation1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_font_options_gl.c b/TC/testcase/utc_font_options_gl.c
deleted file mode 100644 (file)
index cabc5d3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_font_options1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_font_options1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_font_options1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite font-options", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_font_options1");
-                       else
-                               dts_fail("utc_cairo_font_options1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_font_options_image.c b/TC/testcase/utc_font_options_image.c
deleted file mode 100644 (file)
index 72e07e7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_font_options1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_font_options1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_font_options1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite font-options", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_font_options1");
-                       else
-                               dts_fail("utc_cairo_font_options1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_font_create_for_ft_face_gl.c b/TC/testcase/utc_ft_font_create_for_ft_face_gl.c
deleted file mode 100644 (file)
index 93993cd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_font_create_for_ft_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_font_create_for_ft_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_font_create_for_ft_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-font-create-for-ft-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_font_create_for_ft_face1");
-                       else
-                               dts_fail("utc_cairo_ft_font_create_for_ft_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_font_create_for_ft_face_image.c b/TC/testcase/utc_ft_font_create_for_ft_face_image.c
deleted file mode 100644 (file)
index 7810bcf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_font_create_for_ft_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_font_create_for_ft_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_font_create_for_ft_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-font-create-for-ft-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_font_create_for_ft_face1");
-                       else
-                               dts_fail("utc_cairo_ft_font_create_for_ft_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_show_glyphs_positioning_gl.c b/TC/testcase/utc_ft_show_glyphs_positioning_gl.c
deleted file mode 100644 (file)
index d21fd1f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_show_glyphs_positioning1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_show_glyphs_positioning1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_show_glyphs_positioning1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-show-glyphs-positioning", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_show_glyphs_positioning1");
-                       else
-                               dts_fail("utc_cairo_ft_show_glyphs_positioning1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_show_glyphs_positioning_image.c b/TC/testcase/utc_ft_show_glyphs_positioning_image.c
deleted file mode 100644 (file)
index baaa7a5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_show_glyphs_positioning1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_show_glyphs_positioning1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_show_glyphs_positioning1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-show-glyphs-positioning", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_show_glyphs_positioning1");
-                       else
-                               dts_fail("utc_cairo_ft_show_glyphs_positioning1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_show_glyphs_table_gl.c b/TC/testcase/utc_ft_show_glyphs_table_gl.c
deleted file mode 100644 (file)
index 6ca8fd6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_show_glyphs_table1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_show_glyphs_table1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_show_glyphs_table1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-show-glyphs-table", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_show_glyphs_table1");
-                       else
-                               dts_fail("utc_cairo_ft_show_glyphs_table1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_show_glyphs_table_image.c b/TC/testcase/utc_ft_show_glyphs_table_image.c
deleted file mode 100644 (file)
index eb7e656..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_show_glyphs_table1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_show_glyphs_table1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_show_glyphs_table1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-show-glyphs-table", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_show_glyphs_table1");
-                       else
-                               dts_fail("utc_cairo_ft_show_glyphs_table1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_text_antialias_none_gl.c b/TC/testcase/utc_ft_text_antialias_none_gl.c
deleted file mode 100644 (file)
index 5a0e860..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_text_antialias_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_text_antialias_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_text_antialias_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-text-antialias-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_text_antialias_none1");
-                       else
-                               dts_fail("utc_cairo_ft_text_antialias_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_text_antialias_none_image.c b/TC/testcase/utc_ft_text_antialias_none_image.c
deleted file mode 100644 (file)
index 5c5fcf6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_text_antialias_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_text_antialias_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_text_antialias_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-text-antialias-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_text_antialias_none1");
-                       else
-                               dts_fail("utc_cairo_ft_text_antialias_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_text_vertical_layout_type1_gl.c b/TC/testcase/utc_ft_text_vertical_layout_type1_gl.c
deleted file mode 100644 (file)
index c766881..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_text_vertical_layout_type11(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_text_vertical_layout_type11, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_text_vertical_layout_type11(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-text-vertical-layout-type1", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_text_vertical_layout_type11");
-                       else
-                               dts_fail("utc_cairo_ft_text_vertical_layout_type11");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_text_vertical_layout_type1_image.c b/TC/testcase/utc_ft_text_vertical_layout_type1_image.c
deleted file mode 100644 (file)
index bb24f2e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_text_vertical_layout_type11(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_text_vertical_layout_type11, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_text_vertical_layout_type11(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-text-vertical-layout-type1", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_text_vertical_layout_type11");
-                       else
-                               dts_fail("utc_cairo_ft_text_vertical_layout_type11");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_text_vertical_layout_type3_gl.c b/TC/testcase/utc_ft_text_vertical_layout_type3_gl.c
deleted file mode 100644 (file)
index b0bc7e5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_text_vertical_layout_type31(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_text_vertical_layout_type31, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_text_vertical_layout_type31(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-text-vertical-layout-type3", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_text_vertical_layout_type31");
-                       else
-                               dts_fail("utc_cairo_ft_text_vertical_layout_type31");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ft_text_vertical_layout_type3_image.c b/TC/testcase/utc_ft_text_vertical_layout_type3_image.c
deleted file mode 100644 (file)
index ad55b52..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ft_text_vertical_layout_type31(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ft_text_vertical_layout_type31, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ft_text_vertical_layout_type31(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ft-text-vertical-layout-type3", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ft_text_vertical_layout_type31");
-                       else
-                               dts_fail("utc_cairo_ft_text_vertical_layout_type31");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_get_and_set_gl.c b/TC/testcase/utc_get_and_set_gl.c
deleted file mode 100644 (file)
index 005c0e3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_get_and_set1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_get_and_set1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_get_and_set1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite get-and-set", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_get_and_set1");
-                       else
-                               dts_fail("utc_cairo_get_and_set1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_get_and_set_image.c b/TC/testcase/utc_get_and_set_image.c
deleted file mode 100644 (file)
index b90e953..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_get_and_set1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_get_and_set1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_get_and_set1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite get-and-set", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_get_and_set1");
-                       else
-                               dts_fail("utc_cairo_get_and_set1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_get_clip_gl.c b/TC/testcase/utc_get_clip_gl.c
deleted file mode 100644 (file)
index 6f43b91..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_get_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_get_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_get_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite get-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_get_clip1");
-                       else
-                               dts_fail("utc_cairo_get_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_get_clip_image.c b/TC/testcase/utc_get_clip_image.c
deleted file mode 100644 (file)
index 80944d8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_get_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_get_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_get_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite get-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_get_clip1");
-                       else
-                               dts_fail("utc_cairo_get_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_get_group_target_gl.c b/TC/testcase/utc_get_group_target_gl.c
deleted file mode 100644 (file)
index 6a36e26..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_get_group_target1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_get_group_target1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_get_group_target1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite get-group-target", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_get_group_target1");
-                       else
-                               dts_fail("utc_cairo_get_group_target1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_get_group_target_image.c b/TC/testcase/utc_get_group_target_image.c
deleted file mode 100644 (file)
index 5568aa2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_get_group_target1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_get_group_target1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_get_group_target1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite get-group-target", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_get_group_target1");
-                       else
-                               dts_fail("utc_cairo_get_group_target1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_get_path_extents_gl.c b/TC/testcase/utc_get_path_extents_gl.c
deleted file mode 100644 (file)
index 4b22685..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_get_path_extents1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_get_path_extents1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_get_path_extents1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite get-path-extents", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_get_path_extents1");
-                       else
-                               dts_fail("utc_cairo_get_path_extents1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_get_path_extents_image.c b/TC/testcase/utc_get_path_extents_image.c
deleted file mode 100644 (file)
index f193f82..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_get_path_extents1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_get_path_extents1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_get_path_extents1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite get-path-extents", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_get_path_extents1");
-                       else
-                               dts_fail("utc_cairo_get_path_extents1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_get_xrender_format_gl.c b/TC/testcase/utc_get_xrender_format_gl.c
deleted file mode 100644 (file)
index 426c024..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_get_xrender_format1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_get_xrender_format1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_get_xrender_format1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite get-xrender-format", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_get_xrender_format1");
-                       else
-                               dts_fail("utc_cairo_get_xrender_format1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_get_xrender_format_image.c b/TC/testcase/utc_get_xrender_format_image.c
deleted file mode 100644 (file)
index c020e1c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_get_xrender_format1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_get_xrender_format1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_get_xrender_format1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite get-xrender-format", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_get_xrender_format1");
-                       else
-                               dts_fail("utc_cairo_get_xrender_format1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_gl_surface_source_gl.c b/TC/testcase/utc_gl_surface_source_gl.c
deleted file mode 100644 (file)
index da35e83..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_gl_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_gl_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_gl_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite gl-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_gl_surface_source1");
-                       else
-                               dts_fail("utc_cairo_gl_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_gl_surface_source_image.c b/TC/testcase/utc_gl_surface_source_image.c
deleted file mode 100644 (file)
index ca99091..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_gl_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_gl_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_gl_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite gl-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_gl_surface_source1");
-                       else
-                               dts_fail("utc_cairo_gl_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_glyph_cache_pressure_gl.c b/TC/testcase/utc_glyph_cache_pressure_gl.c
deleted file mode 100644 (file)
index 8f4cbeb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_glyph_cache_pressure1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_glyph_cache_pressure1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_glyph_cache_pressure1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite glyph-cache-pressure", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_glyph_cache_pressure1");
-                       else
-                               dts_fail("utc_cairo_glyph_cache_pressure1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_glyph_cache_pressure_image.c b/TC/testcase/utc_glyph_cache_pressure_image.c
deleted file mode 100644 (file)
index 2b4c1b8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_glyph_cache_pressure1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_glyph_cache_pressure1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_glyph_cache_pressure1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite glyph-cache-pressure", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_glyph_cache_pressure1");
-                       else
-                               dts_fail("utc_cairo_glyph_cache_pressure1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_gradient_alpha_gl.c b/TC/testcase/utc_gradient_alpha_gl.c
deleted file mode 100644 (file)
index de5fb23..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_gradient_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_gradient_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_gradient_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite gradient-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_gradient_alpha1");
-                       else
-                               dts_fail("utc_cairo_gradient_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_gradient_alpha_image.c b/TC/testcase/utc_gradient_alpha_image.c
deleted file mode 100644 (file)
index 5c8c4a1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_gradient_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_gradient_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_gradient_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite gradient-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_gradient_alpha1");
-                       else
-                               dts_fail("utc_cairo_gradient_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_gradient_constant_alpha_gl.c b/TC/testcase/utc_gradient_constant_alpha_gl.c
deleted file mode 100644 (file)
index c75e542..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_gradient_constant_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_gradient_constant_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_gradient_constant_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite gradient-constant-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_gradient_constant_alpha1");
-                       else
-                               dts_fail("utc_cairo_gradient_constant_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_gradient_constant_alpha_image.c b/TC/testcase/utc_gradient_constant_alpha_image.c
deleted file mode 100644 (file)
index 3d5ef0a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_gradient_constant_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_gradient_constant_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_gradient_constant_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite gradient-constant-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_gradient_constant_alpha1");
-                       else
-                               dts_fail("utc_cairo_gradient_constant_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_gradient_zero_stops_gl.c b/TC/testcase/utc_gradient_zero_stops_gl.c
deleted file mode 100644 (file)
index 1f805a1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_gradient_zero_stops1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_gradient_zero_stops1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_gradient_zero_stops1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite gradient-zero-stops", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_gradient_zero_stops1");
-                       else
-                               dts_fail("utc_cairo_gradient_zero_stops1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_gradient_zero_stops_image.c b/TC/testcase/utc_gradient_zero_stops_image.c
deleted file mode 100644 (file)
index a22f627..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_gradient_zero_stops1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_gradient_zero_stops1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_gradient_zero_stops1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite gradient-zero-stops", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_gradient_zero_stops1");
-                       else
-                               dts_fail("utc_cairo_gradient_zero_stops1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_gradient_zero_stops_mask_gl.c b/TC/testcase/utc_gradient_zero_stops_mask_gl.c
deleted file mode 100644 (file)
index 480ff24..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_gradient_zero_stops_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_gradient_zero_stops_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_gradient_zero_stops_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite gradient-zero-stops-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_gradient_zero_stops_mask1");
-                       else
-                               dts_fail("utc_cairo_gradient_zero_stops_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_gradient_zero_stops_mask_image.c b/TC/testcase/utc_gradient_zero_stops_mask_image.c
deleted file mode 100644 (file)
index 7af9096..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_gradient_zero_stops_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_gradient_zero_stops_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_gradient_zero_stops_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite gradient-zero-stops-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_gradient_zero_stops_mask1");
-                       else
-                               dts_fail("utc_cairo_gradient_zero_stops_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_group_clip_gl.c b/TC/testcase/utc_group_clip_gl.c
deleted file mode 100644 (file)
index a5c34cf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_group_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_group_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_group_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite group-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_group_clip1");
-                       else
-                               dts_fail("utc_cairo_group_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_group_clip_image.c b/TC/testcase/utc_group_clip_image.c
deleted file mode 100644 (file)
index 35c4a06..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_group_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_group_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_group_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite group-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_group_clip1");
-                       else
-                               dts_fail("utc_cairo_group_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_group_paint_gl.c b/TC/testcase/utc_group_paint_gl.c
deleted file mode 100644 (file)
index b7a9f42..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_group_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_group_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_group_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite group-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_group_paint1");
-                       else
-                               dts_fail("utc_cairo_group_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_group_paint_image.c b/TC/testcase/utc_group_paint_image.c
deleted file mode 100644 (file)
index ec23101..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_group_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_group_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_group_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite group-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_group_paint1");
-                       else
-                               dts_fail("utc_cairo_group_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_group_state_gl.c b/TC/testcase/utc_group_state_gl.c
deleted file mode 100644 (file)
index 3089363..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_group_state1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_group_state1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_group_state1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite group-state", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_group_state1");
-                       else
-                               dts_fail("utc_cairo_group_state1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_group_state_image.c b/TC/testcase/utc_group_state_image.c
deleted file mode 100644 (file)
index 43e0b6c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_group_state1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_group_state1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_group_state1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite group-state", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_group_state1");
-                       else
-                               dts_fail("utc_cairo_group_state1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_group_unaligned_gl.c b/TC/testcase/utc_group_unaligned_gl.c
deleted file mode 100644 (file)
index e167ec7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_group_unaligned1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_group_unaligned1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_group_unaligned1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite group-unaligned", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_group_unaligned1");
-                       else
-                               dts_fail("utc_cairo_group_unaligned1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_group_unaligned_image.c b/TC/testcase/utc_group_unaligned_image.c
deleted file mode 100644 (file)
index f04d041..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_group_unaligned1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_group_unaligned1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_group_unaligned1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite group-unaligned", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_group_unaligned1");
-                       else
-                               dts_fail("utc_cairo_group_unaligned1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_half_coverage_rectangles_gl.c b/TC/testcase/utc_half_coverage_rectangles_gl.c
deleted file mode 100644 (file)
index cef97e9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_half_coverage_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_half_coverage_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_half_coverage_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite half-coverage-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_half_coverage_rectangles1");
-                       else
-                               dts_fail("utc_cairo_half_coverage_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_half_coverage_rectangles_image.c b/TC/testcase/utc_half_coverage_rectangles_image.c
deleted file mode 100644 (file)
index d16026f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_half_coverage_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_half_coverage_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_half_coverage_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite half-coverage-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_half_coverage_rectangles1");
-                       else
-                               dts_fail("utc_cairo_half_coverage_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_half_coverage_triangles_gl.c b/TC/testcase/utc_half_coverage_triangles_gl.c
deleted file mode 100644 (file)
index 7dffc85..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_half_coverage_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_half_coverage_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_half_coverage_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite half-coverage-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_half_coverage_triangles1");
-                       else
-                               dts_fail("utc_cairo_half_coverage_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_half_coverage_triangles_image.c b/TC/testcase/utc_half_coverage_triangles_image.c
deleted file mode 100644 (file)
index 7384acf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_half_coverage_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_half_coverage_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_half_coverage_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite half-coverage-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_half_coverage_triangles1");
-                       else
-                               dts_fail("utc_cairo_half_coverage_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_halo_gl.c b/TC/testcase/utc_halo_gl.c
deleted file mode 100644 (file)
index b35283e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_halo1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_halo1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_halo1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite halo", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_halo1");
-                       else
-                               dts_fail("utc_cairo_halo1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_halo_image.c b/TC/testcase/utc_halo_image.c
deleted file mode 100644 (file)
index 4fa14a2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_halo1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_halo1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_halo1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite halo", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_halo1");
-                       else
-                               dts_fail("utc_cairo_halo1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_halo_transform_gl.c b/TC/testcase/utc_halo_transform_gl.c
deleted file mode 100644 (file)
index 6ad9084..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_halo_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_halo_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_halo_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite halo-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_halo_transform1");
-                       else
-                               dts_fail("utc_cairo_halo_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_halo_transform_image.c b/TC/testcase/utc_halo_transform_image.c
deleted file mode 100644 (file)
index a893ed5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_halo_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_halo_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_halo_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite halo-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_halo_transform1");
-                       else
-                               dts_fail("utc_cairo_halo_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_hatchings_gl.c b/TC/testcase/utc_hatchings_gl.c
deleted file mode 100644 (file)
index b36cca6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_hatchings1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_hatchings1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_hatchings1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite hatchings", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_hatchings1");
-                       else
-                               dts_fail("utc_cairo_hatchings1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_hatchings_image.c b/TC/testcase/utc_hatchings_image.c
deleted file mode 100644 (file)
index 183fdd2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_hatchings1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_hatchings1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_hatchings1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite hatchings", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_hatchings1");
-                       else
-                               dts_fail("utc_cairo_hatchings1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_horizontal_clip_gl.c b/TC/testcase/utc_horizontal_clip_gl.c
deleted file mode 100644 (file)
index 9ed6848..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_horizontal_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_horizontal_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_horizontal_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite horizontal-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_horizontal_clip1");
-                       else
-                               dts_fail("utc_cairo_horizontal_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_horizontal_clip_image.c b/TC/testcase/utc_horizontal_clip_image.c
deleted file mode 100644 (file)
index 4653cae..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_horizontal_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_horizontal_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_horizontal_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite horizontal-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_horizontal_clip1");
-                       else
-                               dts_fail("utc_cairo_horizontal_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_huge_linear_gl.c b/TC/testcase/utc_huge_linear_gl.c
deleted file mode 100644 (file)
index 0eed646..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_huge_linear1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_huge_linear1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_huge_linear1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite huge-linear", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_huge_linear1");
-                       else
-                               dts_fail("utc_cairo_huge_linear1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_huge_linear_image.c b/TC/testcase/utc_huge_linear_image.c
deleted file mode 100644 (file)
index 47b813a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_huge_linear1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_huge_linear1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_huge_linear1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite huge-linear", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_huge_linear1");
-                       else
-                               dts_fail("utc_cairo_huge_linear1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_huge_radial_gl.c b/TC/testcase/utc_huge_radial_gl.c
deleted file mode 100644 (file)
index 8ca59ed..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_huge_radial1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_huge_radial1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_huge_radial1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite huge-radial", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_huge_radial1");
-                       else
-                               dts_fail("utc_cairo_huge_radial1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_huge_radial_image.c b/TC/testcase/utc_huge_radial_image.c
deleted file mode 100644 (file)
index cc2f898..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_huge_radial1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_huge_radial1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_huge_radial1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite huge-radial", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_huge_radial1");
-                       else
-                               dts_fail("utc_cairo_huge_radial1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_image_bug_710072_aligned_gl.c b/TC/testcase/utc_image_bug_710072_aligned_gl.c
deleted file mode 100644 (file)
index 5319bf5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_image_bug_710072_aligned1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_image_bug_710072_aligned1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_image_bug_710072_aligned1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite image-bug-710072-aligned", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_image_bug_710072_aligned1");
-                       else
-                               dts_fail("utc_cairo_image_bug_710072_aligned1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_image_bug_710072_aligned_image.c b/TC/testcase/utc_image_bug_710072_aligned_image.c
deleted file mode 100644 (file)
index 0fc8fae..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_image_bug_710072_aligned1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_image_bug_710072_aligned1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_image_bug_710072_aligned1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite image-bug-710072-aligned", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_image_bug_710072_aligned1");
-                       else
-                               dts_fail("utc_cairo_image_bug_710072_aligned1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_image_bug_710072_unaligned_gl.c b/TC/testcase/utc_image_bug_710072_unaligned_gl.c
deleted file mode 100644 (file)
index e0d8e95..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_image_bug_710072_unaligned1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_image_bug_710072_unaligned1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_image_bug_710072_unaligned1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite image-bug-710072-unaligned", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_image_bug_710072_unaligned1");
-                       else
-                               dts_fail("utc_cairo_image_bug_710072_unaligned1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_image_bug_710072_unaligned_image.c b/TC/testcase/utc_image_bug_710072_unaligned_image.c
deleted file mode 100644 (file)
index 2b160e2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_image_bug_710072_unaligned1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_image_bug_710072_unaligned1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_image_bug_710072_unaligned1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite image-bug-710072-unaligned", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_image_bug_710072_unaligned1");
-                       else
-                               dts_fail("utc_cairo_image_bug_710072_unaligned1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_image_surface_source_gl.c b/TC/testcase/utc_image_surface_source_gl.c
deleted file mode 100644 (file)
index 2888a33..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_image_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_image_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_image_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite image-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_image_surface_source1");
-                       else
-                               dts_fail("utc_cairo_image_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_image_surface_source_image.c b/TC/testcase/utc_image_surface_source_image.c
deleted file mode 100644 (file)
index c7f1a70..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_image_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_image_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_image_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite image-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_image_surface_source1");
-                       else
-                               dts_fail("utc_cairo_image_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_implicit_close_gl.c b/TC/testcase/utc_implicit_close_gl.c
deleted file mode 100644 (file)
index 9686c2f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_implicit_close1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_implicit_close1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_implicit_close1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite implicit-close", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_implicit_close1");
-                       else
-                               dts_fail("utc_cairo_implicit_close1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_implicit_close_image.c b/TC/testcase/utc_implicit_close_image.c
deleted file mode 100644 (file)
index 15e4067..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_implicit_close1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_implicit_close1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_implicit_close1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite implicit-close", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_implicit_close1");
-                       else
-                               dts_fail("utc_cairo_implicit_close1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_in_fill_empty_trapezoid_gl.c b/TC/testcase/utc_in_fill_empty_trapezoid_gl.c
deleted file mode 100644 (file)
index ec810c4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_in_fill_empty_trapezoid1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_in_fill_empty_trapezoid1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_in_fill_empty_trapezoid1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite in-fill-empty-trapezoid", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_in_fill_empty_trapezoid1");
-                       else
-                               dts_fail("utc_cairo_in_fill_empty_trapezoid1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_in_fill_empty_trapezoid_image.c b/TC/testcase/utc_in_fill_empty_trapezoid_image.c
deleted file mode 100644 (file)
index 8b18923..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_in_fill_empty_trapezoid1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_in_fill_empty_trapezoid1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_in_fill_empty_trapezoid1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite in-fill-empty-trapezoid", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_in_fill_empty_trapezoid1");
-                       else
-                               dts_fail("utc_cairo_in_fill_empty_trapezoid1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_in_fill_trapezoid_gl.c b/TC/testcase/utc_in_fill_trapezoid_gl.c
deleted file mode 100644 (file)
index df46565..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_in_fill_trapezoid1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_in_fill_trapezoid1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_in_fill_trapezoid1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite in-fill-trapezoid", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_in_fill_trapezoid1");
-                       else
-                               dts_fail("utc_cairo_in_fill_trapezoid1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_in_fill_trapezoid_image.c b/TC/testcase/utc_in_fill_trapezoid_image.c
deleted file mode 100644 (file)
index d95f13e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_in_fill_trapezoid1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_in_fill_trapezoid1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_in_fill_trapezoid1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite in-fill-trapezoid", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_in_fill_trapezoid1");
-                       else
-                               dts_fail("utc_cairo_in_fill_trapezoid1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_infinite_join_gl.c b/TC/testcase/utc_infinite_join_gl.c
deleted file mode 100644 (file)
index 13555fd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_infinite_join1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_infinite_join1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_infinite_join1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite infinite-join", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_infinite_join1");
-                       else
-                               dts_fail("utc_cairo_infinite_join1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_infinite_join_image.c b/TC/testcase/utc_infinite_join_image.c
deleted file mode 100644 (file)
index 1624038..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_infinite_join1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_infinite_join1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_infinite_join1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite infinite-join", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_infinite_join1");
-                       else
-                               dts_fail("utc_cairo_infinite_join1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_invalid_matrix_gl.c b/TC/testcase/utc_invalid_matrix_gl.c
deleted file mode 100644 (file)
index cb52fec..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_invalid_matrix1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_invalid_matrix1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_invalid_matrix1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite invalid-matrix", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_invalid_matrix1");
-                       else
-                               dts_fail("utc_cairo_invalid_matrix1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_invalid_matrix_image.c b/TC/testcase/utc_invalid_matrix_image.c
deleted file mode 100644 (file)
index 1bd7580..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_invalid_matrix1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_invalid_matrix1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_invalid_matrix1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite invalid-matrix", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_invalid_matrix1");
-                       else
-                               dts_fail("utc_cairo_invalid_matrix1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_inverse_text_gl.c b/TC/testcase/utc_inverse_text_gl.c
deleted file mode 100644 (file)
index c4baf2c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_inverse_text1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_inverse_text1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_inverse_text1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite inverse-text", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_inverse_text1");
-                       else
-                               dts_fail("utc_cairo_inverse_text1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_inverse_text_image.c b/TC/testcase/utc_inverse_text_image.c
deleted file mode 100644 (file)
index ad65930..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_inverse_text1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_inverse_text1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_inverse_text1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite inverse-text", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_inverse_text1");
-                       else
-                               dts_fail("utc_cairo_inverse_text1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_inverted_clip_gl.c b/TC/testcase/utc_inverted_clip_gl.c
deleted file mode 100644 (file)
index ea01ea1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_inverted_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_inverted_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_inverted_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite inverted-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_inverted_clip1");
-                       else
-                               dts_fail("utc_cairo_inverted_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_inverted_clip_image.c b/TC/testcase/utc_inverted_clip_image.c
deleted file mode 100644 (file)
index 2957392..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_inverted_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_inverted_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_inverted_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite inverted-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_inverted_clip1");
-                       else
-                               dts_fail("utc_cairo_inverted_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_joins_gl.c b/TC/testcase/utc_joins_gl.c
deleted file mode 100644 (file)
index e974093..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_joins1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_joins1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_joins1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite joins", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_joins1");
-                       else
-                               dts_fail("utc_cairo_joins1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_joins_image.c b/TC/testcase/utc_joins_image.c
deleted file mode 100644 (file)
index 3055a60..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_joins1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_joins1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_joins1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite joins", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_joins1");
-                       else
-                               dts_fail("utc_cairo_joins1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_joins_loop_gl.c b/TC/testcase/utc_joins_loop_gl.c
deleted file mode 100644 (file)
index bf26abe..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_joins_loop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_joins_loop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_joins_loop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite joins-loop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_joins_loop1");
-                       else
-                               dts_fail("utc_cairo_joins_loop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_joins_loop_image.c b/TC/testcase/utc_joins_loop_image.c
deleted file mode 100644 (file)
index 8abf973..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_joins_loop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_joins_loop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_joins_loop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite joins-loop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_joins_loop1");
-                       else
-                               dts_fail("utc_cairo_joins_loop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_joins_retrace_gl.c b/TC/testcase/utc_joins_retrace_gl.c
deleted file mode 100644 (file)
index cbaa15d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_joins_retrace1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_joins_retrace1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_joins_retrace1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite joins-retrace", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_joins_retrace1");
-                       else
-                               dts_fail("utc_cairo_joins_retrace1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_joins_retrace_image.c b/TC/testcase/utc_joins_retrace_image.c
deleted file mode 100644 (file)
index 1ccd5a8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_joins_retrace1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_joins_retrace1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_joins_retrace1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite joins-retrace", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_joins_retrace1");
-                       else
-                               dts_fail("utc_cairo_joins_retrace1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_joins_star_gl.c b/TC/testcase/utc_joins_star_gl.c
deleted file mode 100644 (file)
index f3acbe3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_joins_star1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_joins_star1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_joins_star1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite joins-star", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_joins_star1");
-                       else
-                               dts_fail("utc_cairo_joins_star1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_joins_star_image.c b/TC/testcase/utc_joins_star_image.c
deleted file mode 100644 (file)
index a54c282..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_joins_star1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_joins_star1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_joins_star1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite joins-star", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_joins_star1");
-                       else
-                               dts_fail("utc_cairo_joins_star1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_large_clip_gl.c b/TC/testcase/utc_large_clip_gl.c
deleted file mode 100644 (file)
index 6584e2f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_large_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_large_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_large_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite large-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_large_clip1");
-                       else
-                               dts_fail("utc_cairo_large_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_large_clip_image.c b/TC/testcase/utc_large_clip_image.c
deleted file mode 100644 (file)
index f08a666..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_large_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_large_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_large_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite large-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_large_clip1");
-                       else
-                               dts_fail("utc_cairo_large_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_large_font_gl.c b/TC/testcase/utc_large_font_gl.c
deleted file mode 100644 (file)
index 08b622f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_large_font1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_large_font1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_large_font1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite large-font", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_large_font1");
-                       else
-                               dts_fail("utc_cairo_large_font1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_large_font_image.c b/TC/testcase/utc_large_font_image.c
deleted file mode 100644 (file)
index 7804d97..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_large_font1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_large_font1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_large_font1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite large-font", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_large_font1");
-                       else
-                               dts_fail("utc_cairo_large_font1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_large_source_gl.c b/TC/testcase/utc_large_source_gl.c
deleted file mode 100644 (file)
index 76c99f0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_large_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_large_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_large_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite large-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_large_source1");
-                       else
-                               dts_fail("utc_cairo_large_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_large_source_image.c b/TC/testcase/utc_large_source_image.c
deleted file mode 100644 (file)
index 4b2e51b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_large_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_large_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_large_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite large-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_large_source1");
-                       else
-                               dts_fail("utc_cairo_large_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_large_source_roi_gl.c b/TC/testcase/utc_large_source_roi_gl.c
deleted file mode 100644 (file)
index 09e2d63..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_large_source_roi1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_large_source_roi1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_large_source_roi1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite large-source-roi", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_large_source_roi1");
-                       else
-                               dts_fail("utc_cairo_large_source_roi1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_large_source_roi_image.c b/TC/testcase/utc_large_source_roi_image.c
deleted file mode 100644 (file)
index 0256e55..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_large_source_roi1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_large_source_roi1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_large_source_roi1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite large-source-roi", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_large_source_roi1");
-                       else
-                               dts_fail("utc_cairo_large_source_roi1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_large_twin_antialias_mixed_gl.c b/TC/testcase/utc_large_twin_antialias_mixed_gl.c
deleted file mode 100644 (file)
index bb6a692..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_large_twin_antialias_mixed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_large_twin_antialias_mixed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_large_twin_antialias_mixed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite large-twin-antialias-mixed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_large_twin_antialias_mixed1");
-                       else
-                               dts_fail("utc_cairo_large_twin_antialias_mixed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_large_twin_antialias_mixed_image.c b/TC/testcase/utc_large_twin_antialias_mixed_image.c
deleted file mode 100644 (file)
index 60b5fb1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_large_twin_antialias_mixed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_large_twin_antialias_mixed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_large_twin_antialias_mixed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite large-twin-antialias-mixed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_large_twin_antialias_mixed1");
-                       else
-                               dts_fail("utc_cairo_large_twin_antialias_mixed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_leaky_dash_gl.c b/TC/testcase/utc_leaky_dash_gl.c
deleted file mode 100644 (file)
index e8dd210..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_leaky_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_leaky_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_leaky_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite leaky-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_leaky_dash1");
-                       else
-                               dts_fail("utc_cairo_leaky_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_leaky_dash_image.c b/TC/testcase/utc_leaky_dash_image.c
deleted file mode 100644 (file)
index 5ca6082..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_leaky_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_leaky_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_leaky_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite leaky-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_leaky_dash1");
-                       else
-                               dts_fail("utc_cairo_leaky_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_leaky_dashed_rectangle_gl.c b/TC/testcase/utc_leaky_dashed_rectangle_gl.c
deleted file mode 100644 (file)
index 678fb59..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_leaky_dashed_rectangle1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_leaky_dashed_rectangle1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_leaky_dashed_rectangle1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite leaky-dashed-rectangle", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_leaky_dashed_rectangle1");
-                       else
-                               dts_fail("utc_cairo_leaky_dashed_rectangle1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_leaky_dashed_rectangle_image.c b/TC/testcase/utc_leaky_dashed_rectangle_image.c
deleted file mode 100644 (file)
index c1da47b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_leaky_dashed_rectangle1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_leaky_dashed_rectangle1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_leaky_dashed_rectangle1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite leaky-dashed-rectangle", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_leaky_dashed_rectangle1");
-                       else
-                               dts_fail("utc_cairo_leaky_dashed_rectangle1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_leaky_dashed_stroke_gl.c b/TC/testcase/utc_leaky_dashed_stroke_gl.c
deleted file mode 100644 (file)
index 5901b16..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_leaky_dashed_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_leaky_dashed_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_leaky_dashed_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite leaky-dashed-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_leaky_dashed_stroke1");
-                       else
-                               dts_fail("utc_cairo_leaky_dashed_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_leaky_dashed_stroke_image.c b/TC/testcase/utc_leaky_dashed_stroke_image.c
deleted file mode 100644 (file)
index 950e05f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_leaky_dashed_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_leaky_dashed_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_leaky_dashed_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite leaky-dashed-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_leaky_dashed_stroke1");
-                       else
-                               dts_fail("utc_cairo_leaky_dashed_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_leaky_polygon_gl.c b/TC/testcase/utc_leaky_polygon_gl.c
deleted file mode 100644 (file)
index e7051f7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_leaky_polygon1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_leaky_polygon1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_leaky_polygon1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite leaky-polygon", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_leaky_polygon1");
-                       else
-                               dts_fail("utc_cairo_leaky_polygon1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_leaky_polygon_image.c b/TC/testcase/utc_leaky_polygon_image.c
deleted file mode 100644 (file)
index 63e601c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_leaky_polygon1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_leaky_polygon1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_leaky_polygon1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite leaky-polygon", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_leaky_polygon1");
-                       else
-                               dts_fail("utc_cairo_leaky_polygon1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_gl.c b/TC/testcase/utc_line_width_gl.c
deleted file mode 100644 (file)
index aefddd5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width1");
-                       else
-                               dts_fail("utc_cairo_line_width1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_image.c b/TC/testcase/utc_line_width_image.c
deleted file mode 100644 (file)
index 2dde797..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width1");
-                       else
-                               dts_fail("utc_cairo_line_width1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_dashed_gl.c b/TC/testcase/utc_line_width_large_overlap_dashed_gl.c
deleted file mode 100644 (file)
index 415e3cf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap_dashed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap_dashed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap_dashed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap-dashed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap_dashed1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap_dashed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_dashed_image.c b/TC/testcase/utc_line_width_large_overlap_dashed_image.c
deleted file mode 100644 (file)
index 1091d1a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap_dashed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap_dashed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap_dashed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap-dashed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap_dashed1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap_dashed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_flipped_gl.c b/TC/testcase/utc_line_width_large_overlap_flipped_gl.c
deleted file mode 100644 (file)
index f2e3d2b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap_flipped1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap_flipped1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap_flipped1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap-flipped", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap_flipped1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap_flipped1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_flipped_image.c b/TC/testcase/utc_line_width_large_overlap_flipped_image.c
deleted file mode 100644 (file)
index 4e662ce..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap_flipped1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap_flipped1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap_flipped1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap-flipped", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap_flipped1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap_flipped1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_flopped_gl.c b/TC/testcase/utc_line_width_large_overlap_flopped_gl.c
deleted file mode 100644 (file)
index b0ead48..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap_flopped1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap_flopped1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap_flopped1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap-flopped", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap_flopped1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap_flopped1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_flopped_image.c b/TC/testcase/utc_line_width_large_overlap_flopped_image.c
deleted file mode 100644 (file)
index 9b9d74f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap_flopped1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap_flopped1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap_flopped1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap-flopped", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap_flopped1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap_flopped1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_gl.c b/TC/testcase/utc_line_width_large_overlap_gl.c
deleted file mode 100644 (file)
index 9d7309d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_image.c b/TC/testcase/utc_line_width_large_overlap_image.c
deleted file mode 100644 (file)
index 8efea2c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_offset_gl.c b/TC/testcase/utc_line_width_large_overlap_offset_gl.c
deleted file mode 100644 (file)
index 4d3bbbd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap_offset1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_offset_image.c b/TC/testcase/utc_line_width_large_overlap_offset_image.c
deleted file mode 100644 (file)
index e220b98..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap_offset1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_rotated_gl.c b/TC/testcase/utc_line_width_large_overlap_rotated_gl.c
deleted file mode 100644 (file)
index c9a1a0d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap_rotated1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap_rotated1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap_rotated1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap-rotated", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap_rotated1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap_rotated1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_large_overlap_rotated_image.c b/TC/testcase/utc_line_width_large_overlap_rotated_image.c
deleted file mode 100644 (file)
index ea7ae29..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_large_overlap_rotated1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_large_overlap_rotated1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_large_overlap_rotated1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-large-overlap-rotated", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_large_overlap_rotated1");
-                       else
-                               dts_fail("utc_cairo_line_width_large_overlap_rotated1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_dashed_gl.c b/TC/testcase/utc_line_width_overlap_dashed_gl.c
deleted file mode 100644 (file)
index 0e991e1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap_dashed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap_dashed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap_dashed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap-dashed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap_dashed1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap_dashed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_dashed_image.c b/TC/testcase/utc_line_width_overlap_dashed_image.c
deleted file mode 100644 (file)
index d9780ad..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap_dashed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap_dashed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap_dashed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap-dashed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap_dashed1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap_dashed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_flipped_gl.c b/TC/testcase/utc_line_width_overlap_flipped_gl.c
deleted file mode 100644 (file)
index f0edb4d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap_flipped1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap_flipped1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap_flipped1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap-flipped", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap_flipped1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap_flipped1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_flipped_image.c b/TC/testcase/utc_line_width_overlap_flipped_image.c
deleted file mode 100644 (file)
index 2149491..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap_flipped1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap_flipped1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap_flipped1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap-flipped", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap_flipped1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap_flipped1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_flopped_gl.c b/TC/testcase/utc_line_width_overlap_flopped_gl.c
deleted file mode 100644 (file)
index 7c26af5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap_flopped1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap_flopped1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap_flopped1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap-flopped", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap_flopped1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap_flopped1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_flopped_image.c b/TC/testcase/utc_line_width_overlap_flopped_image.c
deleted file mode 100644 (file)
index fafeccb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap_flopped1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap_flopped1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap_flopped1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap-flopped", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap_flopped1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap_flopped1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_gl.c b/TC/testcase/utc_line_width_overlap_gl.c
deleted file mode 100644 (file)
index 6471563..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_image.c b/TC/testcase/utc_line_width_overlap_image.c
deleted file mode 100644 (file)
index 2ff9968..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_offset_gl.c b/TC/testcase/utc_line_width_overlap_offset_gl.c
deleted file mode 100644 (file)
index e0ff2c5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap_offset1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_offset_image.c b/TC/testcase/utc_line_width_overlap_offset_image.c
deleted file mode 100644 (file)
index c3c87b8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap_offset1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_rotated_gl.c b/TC/testcase/utc_line_width_overlap_rotated_gl.c
deleted file mode 100644 (file)
index d3002ea..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap_rotated1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap_rotated1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap_rotated1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap-rotated", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap_rotated1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap_rotated1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_overlap_rotated_image.c b/TC/testcase/utc_line_width_overlap_rotated_image.c
deleted file mode 100644 (file)
index 96475a7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_overlap_rotated1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_overlap_rotated1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_overlap_rotated1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-overlap-rotated", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_overlap_rotated1");
-                       else
-                               dts_fail("utc_cairo_line_width_overlap_rotated1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_scale_gl.c b/TC/testcase/utc_line_width_scale_gl.c
deleted file mode 100644 (file)
index 862a382..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_scale1");
-                       else
-                               dts_fail("utc_cairo_line_width_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_scale_image.c b/TC/testcase/utc_line_width_scale_image.c
deleted file mode 100644 (file)
index eb9b524..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_scale1");
-                       else
-                               dts_fail("utc_cairo_line_width_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_tolerance_gl.c b/TC/testcase/utc_line_width_tolerance_gl.c
deleted file mode 100644 (file)
index fa298ad..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_tolerance1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_tolerance1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_tolerance1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-tolerance", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_tolerance1");
-                       else
-                               dts_fail("utc_cairo_line_width_tolerance1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_tolerance_image.c b/TC/testcase/utc_line_width_tolerance_image.c
deleted file mode 100644 (file)
index f8fa55c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_tolerance1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_tolerance1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_tolerance1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-tolerance", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_tolerance1");
-                       else
-                               dts_fail("utc_cairo_line_width_tolerance1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_zero_gl.c b/TC/testcase/utc_line_width_zero_gl.c
deleted file mode 100644 (file)
index 5342509..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_zero1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_zero1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_zero1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-zero", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_zero1");
-                       else
-                               dts_fail("utc_cairo_line_width_zero1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_line_width_zero_image.c b/TC/testcase/utc_line_width_zero_image.c
deleted file mode 100644 (file)
index b281e4f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_line_width_zero1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_line_width_zero1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_line_width_zero1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite line-width-zero", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_line_width_zero1");
-                       else
-                               dts_fail("utc_cairo_line_width_zero1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_extend_gl.c b/TC/testcase/utc_linear_gradient_extend_gl.c
deleted file mode 100644 (file)
index 73bd18d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient_extend1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient_extend1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient_extend1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient-extend", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient_extend1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient_extend1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_extend_image.c b/TC/testcase/utc_linear_gradient_extend_image.c
deleted file mode 100644 (file)
index 4b9bef4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient_extend1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient_extend1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient_extend1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient-extend", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient_extend1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient_extend1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_gl.c b/TC/testcase/utc_linear_gradient_gl.c
deleted file mode 100644 (file)
index c7a3920..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_image.c b/TC/testcase/utc_linear_gradient_image.c
deleted file mode 100644 (file)
index 75b9293..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_large_gl.c b/TC/testcase/utc_linear_gradient_large_gl.c
deleted file mode 100644 (file)
index 367d678..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient_large1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient_large1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient_large1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient-large", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient_large1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient_large1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_large_image.c b/TC/testcase/utc_linear_gradient_large_image.c
deleted file mode 100644 (file)
index eed480f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient_large1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient_large1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient_large1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient-large", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient_large1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient_large1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_one_stop_gl.c b/TC/testcase/utc_linear_gradient_one_stop_gl.c
deleted file mode 100644 (file)
index 50d1763..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient_one_stop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient_one_stop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient_one_stop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient-one-stop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient_one_stop1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient_one_stop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_one_stop_image.c b/TC/testcase/utc_linear_gradient_one_stop_image.c
deleted file mode 100644 (file)
index 920576d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient_one_stop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient_one_stop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient_one_stop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient-one-stop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient_one_stop1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient_one_stop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_reflect_gl.c b/TC/testcase/utc_linear_gradient_reflect_gl.c
deleted file mode 100644 (file)
index 559a303..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient_reflect1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_reflect_image.c b/TC/testcase/utc_linear_gradient_reflect_image.c
deleted file mode 100644 (file)
index 2163918..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient_reflect1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_subset_gl.c b/TC/testcase/utc_linear_gradient_subset_gl.c
deleted file mode 100644 (file)
index 081a9f5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient_subset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient_subset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient_subset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient-subset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient_subset1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient_subset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_gradient_subset_image.c b/TC/testcase/utc_linear_gradient_subset_image.c
deleted file mode 100644 (file)
index ff7c879..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_gradient_subset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_gradient_subset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_gradient_subset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-gradient-subset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_gradient_subset1");
-                       else
-                               dts_fail("utc_cairo_linear_gradient_subset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_step_function_gl.c b/TC/testcase/utc_linear_step_function_gl.c
deleted file mode 100644 (file)
index a63bf8a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_step_function1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_step_function1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_step_function1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-step-function", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_step_function1");
-                       else
-                               dts_fail("utc_cairo_linear_step_function1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_step_function_image.c b/TC/testcase/utc_linear_step_function_image.c
deleted file mode 100644 (file)
index ebd00f5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_step_function1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_step_function1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_step_function1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-step-function", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_step_function1");
-                       else
-                               dts_fail("utc_cairo_linear_step_function1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_uniform_gl.c b/TC/testcase/utc_linear_uniform_gl.c
deleted file mode 100644 (file)
index 3f79468..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_uniform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_uniform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_uniform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-uniform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_uniform1");
-                       else
-                               dts_fail("utc_cairo_linear_uniform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_linear_uniform_image.c b/TC/testcase/utc_linear_uniform_image.c
deleted file mode 100644 (file)
index 7f2ec15..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_linear_uniform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_linear_uniform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_linear_uniform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite linear-uniform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_linear_uniform1");
-                       else
-                               dts_fail("utc_cairo_linear_uniform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_long_dashed_lines_gl.c b/TC/testcase/utc_long_dashed_lines_gl.c
deleted file mode 100644 (file)
index 14b5289..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_long_dashed_lines1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_long_dashed_lines1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_long_dashed_lines1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite long-dashed-lines", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_long_dashed_lines1");
-                       else
-                               dts_fail("utc_cairo_long_dashed_lines1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_long_dashed_lines_image.c b/TC/testcase/utc_long_dashed_lines_image.c
deleted file mode 100644 (file)
index c8d5262..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_long_dashed_lines1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_long_dashed_lines1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_long_dashed_lines1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite long-dashed-lines", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_long_dashed_lines1");
-                       else
-                               dts_fail("utc_cairo_long_dashed_lines1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_long_lines_gl.c b/TC/testcase/utc_long_lines_gl.c
deleted file mode 100644 (file)
index aaedad4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_long_lines1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_long_lines1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_long_lines1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite long-lines", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_long_lines1");
-                       else
-                               dts_fail("utc_cairo_long_lines1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_long_lines_image.c b/TC/testcase/utc_long_lines_image.c
deleted file mode 100644 (file)
index 65ca58c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_long_lines1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_long_lines1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_long_lines1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite long-lines", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_long_lines1");
-                       else
-                               dts_fail("utc_cairo_long_lines1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_map_all_to_image_gl.c b/TC/testcase/utc_map_all_to_image_gl.c
deleted file mode 100644 (file)
index b89f989..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_map_all_to_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_map_all_to_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_map_all_to_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite map-all-to-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_map_all_to_image1");
-                       else
-                               dts_fail("utc_cairo_map_all_to_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_map_all_to_image_image.c b/TC/testcase/utc_map_all_to_image_image.c
deleted file mode 100644 (file)
index 4bf37ba..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_map_all_to_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_map_all_to_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_map_all_to_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite map-all-to-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_map_all_to_image1");
-                       else
-                               dts_fail("utc_cairo_map_all_to_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_map_bit_to_image_gl.c b/TC/testcase/utc_map_bit_to_image_gl.c
deleted file mode 100644 (file)
index 8f01110..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_map_bit_to_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_map_bit_to_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_map_bit_to_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite map-bit-to-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_map_bit_to_image1");
-                       else
-                               dts_fail("utc_cairo_map_bit_to_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_map_bit_to_image_image.c b/TC/testcase/utc_map_bit_to_image_image.c
deleted file mode 100644 (file)
index 57299e3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_map_bit_to_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_map_bit_to_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_map_bit_to_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite map-bit-to-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_map_bit_to_image1");
-                       else
-                               dts_fail("utc_cairo_map_bit_to_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_map_to_image_fill_gl.c b/TC/testcase/utc_map_to_image_fill_gl.c
deleted file mode 100644 (file)
index 62e932c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_map_to_image_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_map_to_image_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_map_to_image_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite map-to-image-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_map_to_image_fill1");
-                       else
-                               dts_fail("utc_cairo_map_to_image_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_map_to_image_fill_image.c b/TC/testcase/utc_map_to_image_fill_image.c
deleted file mode 100644 (file)
index 88f1610..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_map_to_image_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_map_to_image_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_map_to_image_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite map-to-image-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_map_to_image_fill1");
-                       else
-                               dts_fail("utc_cairo_map_to_image_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_alpha_gl.c b/TC/testcase/utc_mask_alpha_gl.c
deleted file mode 100644 (file)
index e568eb1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_alpha1");
-                       else
-                               dts_fail("utc_cairo_mask_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_alpha_image.c b/TC/testcase/utc_mask_alpha_image.c
deleted file mode 100644 (file)
index cbc1252..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_alpha1");
-                       else
-                               dts_fail("utc_cairo_mask_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_ctm_gl.c b/TC/testcase/utc_mask_ctm_gl.c
deleted file mode 100644 (file)
index 749e3d2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_ctm1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_ctm1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_ctm1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-ctm", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_ctm1");
-                       else
-                               dts_fail("utc_cairo_mask_ctm1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_ctm_image.c b/TC/testcase/utc_mask_ctm_image.c
deleted file mode 100644 (file)
index d66668f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_ctm1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_ctm1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_ctm1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-ctm", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_ctm1");
-                       else
-                               dts_fail("utc_cairo_mask_ctm1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_gl.c b/TC/testcase/utc_mask_gl.c
deleted file mode 100644 (file)
index 5109e3b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask1");
-                       else
-                               dts_fail("utc_cairo_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_glyphs_gl.c b/TC/testcase/utc_mask_glyphs_gl.c
deleted file mode 100644 (file)
index 72e2b60..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_glyphs1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_glyphs1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_glyphs1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-glyphs", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_glyphs1");
-                       else
-                               dts_fail("utc_cairo_mask_glyphs1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_glyphs_image.c b/TC/testcase/utc_mask_glyphs_image.c
deleted file mode 100644 (file)
index fbeac2a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_glyphs1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_glyphs1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_glyphs1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-glyphs", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_glyphs1");
-                       else
-                               dts_fail("utc_cairo_mask_glyphs1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_image.c b/TC/testcase/utc_mask_image.c
deleted file mode 100644 (file)
index 6b4733f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask1");
-                       else
-                               dts_fail("utc_cairo_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_surface_ctm_gl.c b/TC/testcase/utc_mask_surface_ctm_gl.c
deleted file mode 100644 (file)
index 681a637..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_surface_ctm1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_surface_ctm1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_surface_ctm1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-surface-ctm", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_surface_ctm1");
-                       else
-                               dts_fail("utc_cairo_mask_surface_ctm1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_surface_ctm_image.c b/TC/testcase/utc_mask_surface_ctm_image.c
deleted file mode 100644 (file)
index a2185d7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_surface_ctm1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_surface_ctm1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_surface_ctm1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-surface-ctm", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_surface_ctm1");
-                       else
-                               dts_fail("utc_cairo_mask_surface_ctm1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_transformed_image_gl.c b/TC/testcase/utc_mask_transformed_image_gl.c
deleted file mode 100644 (file)
index 012e9ca..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_transformed_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_transformed_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_transformed_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-transformed-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_transformed_image1");
-                       else
-                               dts_fail("utc_cairo_mask_transformed_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_transformed_image_image.c b/TC/testcase/utc_mask_transformed_image_image.c
deleted file mode 100644 (file)
index bf9717c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_transformed_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_transformed_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_transformed_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-transformed-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_transformed_image1");
-                       else
-                               dts_fail("utc_cairo_mask_transformed_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_transformed_similar_gl.c b/TC/testcase/utc_mask_transformed_similar_gl.c
deleted file mode 100644 (file)
index dd5f452..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_transformed_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_transformed_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_transformed_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-transformed-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_transformed_similar1");
-                       else
-                               dts_fail("utc_cairo_mask_transformed_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mask_transformed_similar_image.c b/TC/testcase/utc_mask_transformed_similar_image.c
deleted file mode 100644 (file)
index eea585b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mask_transformed_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mask_transformed_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mask_transformed_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mask-transformed-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mask_transformed_similar1");
-                       else
-                               dts_fail("utc_cairo_mask_transformed_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_accuracy_gl.c b/TC/testcase/utc_mesh_pattern_accuracy_gl.c
deleted file mode 100644 (file)
index df91179..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_accuracy1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_accuracy1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_accuracy1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-accuracy", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_accuracy1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_accuracy1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_accuracy_image.c b/TC/testcase/utc_mesh_pattern_accuracy_image.c
deleted file mode 100644 (file)
index ee8cb90..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_accuracy1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_accuracy1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_accuracy1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-accuracy", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_accuracy1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_accuracy1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_conical_gl.c b/TC/testcase/utc_mesh_pattern_conical_gl.c
deleted file mode 100644 (file)
index 4c46eb3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_conical1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_conical1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_conical1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-conical", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_conical1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_conical1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_conical_image.c b/TC/testcase/utc_mesh_pattern_conical_image.c
deleted file mode 100644 (file)
index 69cf5b0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_conical1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_conical1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_conical1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-conical", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_conical1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_conical1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_control_points_gl.c b/TC/testcase/utc_mesh_pattern_control_points_gl.c
deleted file mode 100644 (file)
index f8cace8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_control_points1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_control_points1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_control_points1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-control-points", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_control_points1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_control_points1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_control_points_image.c b/TC/testcase/utc_mesh_pattern_control_points_image.c
deleted file mode 100644 (file)
index 3508246..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_control_points1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_control_points1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_control_points1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-control-points", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_control_points1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_control_points1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_fold_gl.c b/TC/testcase/utc_mesh_pattern_fold_gl.c
deleted file mode 100644 (file)
index b2c6986..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_fold1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_fold1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_fold1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-fold", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_fold1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_fold1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_fold_image.c b/TC/testcase/utc_mesh_pattern_fold_image.c
deleted file mode 100644 (file)
index bcecce0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_fold1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_fold1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_fold1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-fold", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_fold1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_fold1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_gl.c b/TC/testcase/utc_mesh_pattern_gl.c
deleted file mode 100644 (file)
index 6a6e275..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_image.c b/TC/testcase/utc_mesh_pattern_image.c
deleted file mode 100644 (file)
index e7b191f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_overlap_gl.c b/TC/testcase/utc_mesh_pattern_overlap_gl.c
deleted file mode 100644 (file)
index ba11a5e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_overlap1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_overlap1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_overlap1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-overlap", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_overlap1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_overlap1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_overlap_image.c b/TC/testcase/utc_mesh_pattern_overlap_image.c
deleted file mode 100644 (file)
index b46b717..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_overlap1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_overlap1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_overlap1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-overlap", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_overlap1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_overlap1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_transformed_gl.c b/TC/testcase/utc_mesh_pattern_transformed_gl.c
deleted file mode 100644 (file)
index ea3a865..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_transformed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_transformed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_transformed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-transformed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_transformed1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_transformed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mesh_pattern_transformed_image.c b/TC/testcase/utc_mesh_pattern_transformed_image.c
deleted file mode 100644 (file)
index 5a2d064..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mesh_pattern_transformed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mesh_pattern_transformed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mesh_pattern_transformed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mesh-pattern-transformed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mesh_pattern_transformed1");
-                       else
-                               dts_fail("utc_cairo_mesh_pattern_transformed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mime_data_gl.c b/TC/testcase/utc_mime_data_gl.c
deleted file mode 100644 (file)
index ca0abba..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mime_data1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mime_data1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mime_data1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mime-data", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mime_data1");
-                       else
-                               dts_fail("utc_cairo_mime_data1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mime_data_image.c b/TC/testcase/utc_mime_data_image.c
deleted file mode 100644 (file)
index 69c23da..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mime_data1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mime_data1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mime_data1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mime-data", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mime_data1");
-                       else
-                               dts_fail("utc_cairo_mime_data1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mime_surface_api_gl.c b/TC/testcase/utc_mime_surface_api_gl.c
deleted file mode 100644 (file)
index 9e49c6f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mime_surface_api1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mime_surface_api1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mime_surface_api1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mime-surface-api", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mime_surface_api1");
-                       else
-                               dts_fail("utc_cairo_mime_surface_api1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mime_surface_api_image.c b/TC/testcase/utc_mime_surface_api_image.c
deleted file mode 100644 (file)
index 2e66027..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mime_surface_api1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mime_surface_api1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mime_surface_api1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mime-surface-api", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mime_surface_api1");
-                       else
-                               dts_fail("utc_cairo_mime_surface_api1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mime_surface_gl.c b/TC/testcase/utc_mime_surface_gl.c
deleted file mode 100644 (file)
index b1387f7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mime_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mime_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mime_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mime-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mime_surface1");
-                       else
-                               dts_fail("utc_cairo_mime_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_mime_surface_image.c b/TC/testcase/utc_mime_surface_image.c
deleted file mode 100644 (file)
index aaa3fff..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_mime_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_mime_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_mime_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite mime-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_mime_surface1");
-                       else
-                               dts_fail("utc_cairo_mime_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_miter_precision_gl.c b/TC/testcase/utc_miter_precision_gl.c
deleted file mode 100644 (file)
index f780428..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_miter_precision1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_miter_precision1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_miter_precision1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite miter-precision", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_miter_precision1");
-                       else
-                               dts_fail("utc_cairo_miter_precision1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_miter_precision_image.c b/TC/testcase/utc_miter_precision_image.c
deleted file mode 100644 (file)
index 76b67a8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_miter_precision1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_miter_precision1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_miter_precision1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite miter-precision", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_miter_precision1");
-                       else
-                               dts_fail("utc_cairo_miter_precision1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_move_to_show_surface_gl.c b/TC/testcase/utc_move_to_show_surface_gl.c
deleted file mode 100644 (file)
index 061e903..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_move_to_show_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_move_to_show_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_move_to_show_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite move-to-show-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_move_to_show_surface1");
-                       else
-                               dts_fail("utc_cairo_move_to_show_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_move_to_show_surface_image.c b/TC/testcase/utc_move_to_show_surface_image.c
deleted file mode 100644 (file)
index c7f9f95..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_move_to_show_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_move_to_show_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_move_to_show_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite move-to-show-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_move_to_show_surface1");
-                       else
-                               dts_fail("utc_cairo_move_to_show_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_multi_page_gl.c b/TC/testcase/utc_multi_page_gl.c
deleted file mode 100644 (file)
index 15623fd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_multi_page1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_multi_page1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_multi_page1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite multi-page", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_multi_page1");
-                       else
-                               dts_fail("utc_cairo_multi_page1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_multi_page_image.c b/TC/testcase/utc_multi_page_image.c
deleted file mode 100644 (file)
index 448b4de..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_multi_page1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_multi_page1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_multi_page1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite multi-page", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_multi_page1");
-                       else
-                               dts_fail("utc_cairo_multi_page1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_negative_stride_image_gl.c b/TC/testcase/utc_negative_stride_image_gl.c
deleted file mode 100644 (file)
index 1bc561a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_negative_stride_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_negative_stride_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_negative_stride_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite negative-stride-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_negative_stride_image1");
-                       else
-                               dts_fail("utc_cairo_negative_stride_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_negative_stride_image_image.c b/TC/testcase/utc_negative_stride_image_image.c
deleted file mode 100644 (file)
index aca6d10..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_negative_stride_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_negative_stride_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_negative_stride_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite negative-stride-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_negative_stride_image1");
-                       else
-                               dts_fail("utc_cairo_negative_stride_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_new_sub_path_gl.c b/TC/testcase/utc_new_sub_path_gl.c
deleted file mode 100644 (file)
index b6e5507..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_new_sub_path1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_new_sub_path1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_new_sub_path1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite new-sub-path", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_new_sub_path1");
-                       else
-                               dts_fail("utc_cairo_new_sub_path1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_new_sub_path_image.c b/TC/testcase/utc_new_sub_path_image.c
deleted file mode 100644 (file)
index 75cd3df..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_new_sub_path1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_new_sub_path1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_new_sub_path1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite new-sub-path", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_new_sub_path1");
-                       else
-                               dts_fail("utc_cairo_new_sub_path1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_nil_surface_gl.c b/TC/testcase/utc_nil_surface_gl.c
deleted file mode 100644 (file)
index 644c195..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_nil_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_nil_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_nil_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite nil-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_nil_surface1");
-                       else
-                               dts_fail("utc_cairo_nil_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_nil_surface_image.c b/TC/testcase/utc_nil_surface_image.c
deleted file mode 100644 (file)
index ef08b6b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_nil_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_nil_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_nil_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite nil-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_nil_surface1");
-                       else
-                               dts_fail("utc_cairo_nil_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_operator_alpha_alpha_gl.c b/TC/testcase/utc_operator_alpha_alpha_gl.c
deleted file mode 100644 (file)
index 700122a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_operator_alpha_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_operator_alpha_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_operator_alpha_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite operator-alpha-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_operator_alpha_alpha1");
-                       else
-                               dts_fail("utc_cairo_operator_alpha_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_operator_alpha_alpha_image.c b/TC/testcase/utc_operator_alpha_alpha_image.c
deleted file mode 100644 (file)
index 059ad55..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_operator_alpha_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_operator_alpha_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_operator_alpha_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite operator-alpha-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_operator_alpha_alpha1");
-                       else
-                               dts_fail("utc_cairo_operator_alpha_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_operator_alpha_gl.c b/TC/testcase/utc_operator_alpha_gl.c
deleted file mode 100644 (file)
index de36850..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_operator_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_operator_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_operator_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite operator-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_operator_alpha1");
-                       else
-                               dts_fail("utc_cairo_operator_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_operator_alpha_image.c b/TC/testcase/utc_operator_alpha_image.c
deleted file mode 100644 (file)
index 9a3e3f0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_operator_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_operator_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_operator_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite operator-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_operator_alpha1");
-                       else
-                               dts_fail("utc_cairo_operator_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_operator_clear_gl.c b/TC/testcase/utc_operator_clear_gl.c
deleted file mode 100644 (file)
index a3e344a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_operator_clear1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_operator_clear1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_operator_clear1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite operator-clear", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_operator_clear1");
-                       else
-                               dts_fail("utc_cairo_operator_clear1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_operator_clear_image.c b/TC/testcase/utc_operator_clear_image.c
deleted file mode 100644 (file)
index 0eb8944..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_operator_clear1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_operator_clear1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_operator_clear1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite operator-clear", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_operator_clear1");
-                       else
-                               dts_fail("utc_cairo_operator_clear1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_operator_gl.c b/TC/testcase/utc_operator_gl.c
deleted file mode 100644 (file)
index 2384c82..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_operator1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_operator1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_operator1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite operator", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_operator1");
-                       else
-                               dts_fail("utc_cairo_operator1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_operator_image.c b/TC/testcase/utc_operator_image.c
deleted file mode 100644 (file)
index 299896f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_operator1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_operator1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_operator1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite operator", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_operator1");
-                       else
-                               dts_fail("utc_cairo_operator1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_operator_source_gl.c b/TC/testcase/utc_operator_source_gl.c
deleted file mode 100644 (file)
index 147be1e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_operator_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_operator_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_operator_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite operator-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_operator_source1");
-                       else
-                               dts_fail("utc_cairo_operator_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_operator_source_image.c b/TC/testcase/utc_operator_source_image.c
deleted file mode 100644 (file)
index 275fee8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_operator_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_operator_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_operator_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite operator-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_operator_source1");
-                       else
-                               dts_fail("utc_cairo_operator_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_over_above_source_gl.c b/TC/testcase/utc_over_above_source_gl.c
deleted file mode 100644 (file)
index d04f0ac..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_over_above_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_over_above_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_over_above_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite over-above-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_over_above_source1");
-                       else
-                               dts_fail("utc_cairo_over_above_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_over_above_source_image.c b/TC/testcase/utc_over_above_source_image.c
deleted file mode 100644 (file)
index 4c11716..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_over_above_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_over_above_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_over_above_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite over-above-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_over_above_source1");
-                       else
-                               dts_fail("utc_cairo_over_above_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_over_around_source_gl.c b/TC/testcase/utc_over_around_source_gl.c
deleted file mode 100644 (file)
index 1d38aa4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_over_around_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_over_around_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_over_around_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite over-around-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_over_around_source1");
-                       else
-                               dts_fail("utc_cairo_over_around_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_over_around_source_image.c b/TC/testcase/utc_over_around_source_image.c
deleted file mode 100644 (file)
index a551e1c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_over_around_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_over_around_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_over_around_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite over-around-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_over_around_source1");
-                       else
-                               dts_fail("utc_cairo_over_around_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_over_below_source_gl.c b/TC/testcase/utc_over_below_source_gl.c
deleted file mode 100644 (file)
index 83005dc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_over_below_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_over_below_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_over_below_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite over-below-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_over_below_source1");
-                       else
-                               dts_fail("utc_cairo_over_below_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_over_below_source_image.c b/TC/testcase/utc_over_below_source_image.c
deleted file mode 100644 (file)
index f0b0187..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_over_below_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_over_below_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_over_below_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite over-below-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_over_below_source1");
-                       else
-                               dts_fail("utc_cairo_over_below_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_over_between_source_gl.c b/TC/testcase/utc_over_between_source_gl.c
deleted file mode 100644 (file)
index 2be9317..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_over_between_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_over_between_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_over_between_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite over-between-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_over_between_source1");
-                       else
-                               dts_fail("utc_cairo_over_between_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_over_between_source_image.c b/TC/testcase/utc_over_between_source_image.c
deleted file mode 100644 (file)
index 88b700b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_over_between_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_over_between_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_over_between_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite over-between-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_over_between_source1");
-                       else
-                               dts_fail("utc_cairo_over_between_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_overlapping_boxes_gl.c b/TC/testcase/utc_overlapping_boxes_gl.c
deleted file mode 100644 (file)
index 5e17c96..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_overlapping_boxes1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_overlapping_boxes1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_overlapping_boxes1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite overlapping-boxes", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_overlapping_boxes1");
-                       else
-                               dts_fail("utc_cairo_overlapping_boxes1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_overlapping_boxes_image.c b/TC/testcase/utc_overlapping_boxes_image.c
deleted file mode 100644 (file)
index f9c1d1b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_overlapping_boxes1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_overlapping_boxes1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_overlapping_boxes1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite overlapping-boxes", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_overlapping_boxes1");
-                       else
-                               dts_fail("utc_cairo_overlapping_boxes1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_overlapping_dash_caps_gl.c b/TC/testcase/utc_overlapping_dash_caps_gl.c
deleted file mode 100644 (file)
index 1b89359..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_overlapping_dash_caps1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_overlapping_dash_caps1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_overlapping_dash_caps1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite overlapping-dash-caps", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_overlapping_dash_caps1");
-                       else
-                               dts_fail("utc_cairo_overlapping_dash_caps1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_overlapping_dash_caps_image.c b/TC/testcase/utc_overlapping_dash_caps_image.c
deleted file mode 100644 (file)
index 1ffe657..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_overlapping_dash_caps1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_overlapping_dash_caps1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_overlapping_dash_caps1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite overlapping-dash-caps", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_overlapping_dash_caps1");
-                       else
-                               dts_fail("utc_cairo_overlapping_dash_caps1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_overlapping_glyphs_gl.c b/TC/testcase/utc_overlapping_glyphs_gl.c
deleted file mode 100644 (file)
index 55012e0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_overlapping_glyphs1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_overlapping_glyphs1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_overlapping_glyphs1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite overlapping-glyphs", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_overlapping_glyphs1");
-                       else
-                               dts_fail("utc_cairo_overlapping_glyphs1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_overlapping_glyphs_image.c b/TC/testcase/utc_overlapping_glyphs_image.c
deleted file mode 100644 (file)
index 28ef220..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_overlapping_glyphs1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_overlapping_glyphs1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_overlapping_glyphs1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite overlapping-glyphs", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_overlapping_glyphs1");
-                       else
-                               dts_fail("utc_cairo_overlapping_glyphs1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_clip_fill_aa_gl.c b/TC/testcase/utc_paint_clip_fill_aa_gl.c
deleted file mode 100644 (file)
index bff58d9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_clip_fill_aa1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_clip_fill_aa1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_clip_fill_aa1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-clip-fill-aa", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_clip_fill_aa1");
-                       else
-                               dts_fail("utc_cairo_paint_clip_fill_aa1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_clip_fill_aa_image.c b/TC/testcase/utc_paint_clip_fill_aa_image.c
deleted file mode 100644 (file)
index 9d69575..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_clip_fill_aa1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_clip_fill_aa1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_clip_fill_aa1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-clip-fill-aa", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_clip_fill_aa1");
-                       else
-                               dts_fail("utc_cairo_paint_clip_fill_aa1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_clip_fill_mono_gl.c b/TC/testcase/utc_paint_clip_fill_mono_gl.c
deleted file mode 100644 (file)
index 7d5032c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_clip_fill_mono1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_clip_fill_mono1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_clip_fill_mono1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-clip-fill-mono", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_clip_fill_mono1");
-                       else
-                               dts_fail("utc_cairo_paint_clip_fill_mono1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_clip_fill_mono_image.c b/TC/testcase/utc_paint_clip_fill_mono_image.c
deleted file mode 100644 (file)
index c1987d6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_clip_fill_mono1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_clip_fill_mono1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_clip_fill_mono1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-clip-fill-mono", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_clip_fill_mono1");
-                       else
-                               dts_fail("utc_cairo_paint_clip_fill_mono1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_gl.c b/TC/testcase/utc_paint_gl.c
deleted file mode 100644 (file)
index 5d33457..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint1");
-                       else
-                               dts_fail("utc_cairo_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_image.c b/TC/testcase/utc_paint_image.c
deleted file mode 100644 (file)
index 535518b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint1");
-                       else
-                               dts_fail("utc_cairo_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_repeat_gl.c b/TC/testcase/utc_paint_repeat_gl.c
deleted file mode 100644 (file)
index dd0026c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_repeat1");
-                       else
-                               dts_fail("utc_cairo_paint_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_repeat_image.c b/TC/testcase/utc_paint_repeat_image.c
deleted file mode 100644 (file)
index 1119589..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_repeat1");
-                       else
-                               dts_fail("utc_cairo_paint_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_source_alpha_gl.c b/TC/testcase/utc_paint_source_alpha_gl.c
deleted file mode 100644 (file)
index 7e3e0fa..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_source_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_source_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_source_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-source-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_source_alpha1");
-                       else
-                               dts_fail("utc_cairo_paint_source_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_source_alpha_image.c b/TC/testcase/utc_paint_source_alpha_image.c
deleted file mode 100644 (file)
index e6ec3f2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_source_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_source_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_source_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-source-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_source_alpha1");
-                       else
-                               dts_fail("utc_cairo_paint_source_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_with_alpha_clip_gl.c b/TC/testcase/utc_paint_with_alpha_clip_gl.c
deleted file mode 100644 (file)
index 98e646e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_with_alpha_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_with_alpha_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_with_alpha_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-with-alpha-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_with_alpha_clip1");
-                       else
-                               dts_fail("utc_cairo_paint_with_alpha_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_with_alpha_clip_image.c b/TC/testcase/utc_paint_with_alpha_clip_image.c
deleted file mode 100644 (file)
index cf5adf4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_with_alpha_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_with_alpha_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_with_alpha_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-with-alpha-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_with_alpha_clip1");
-                       else
-                               dts_fail("utc_cairo_paint_with_alpha_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_with_alpha_clip_mask_gl.c b/TC/testcase/utc_paint_with_alpha_clip_mask_gl.c
deleted file mode 100644 (file)
index 4f8a9ee..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_with_alpha_clip_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_with_alpha_clip_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_with_alpha_clip_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-with-alpha-clip-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_with_alpha_clip_mask1");
-                       else
-                               dts_fail("utc_cairo_paint_with_alpha_clip_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_with_alpha_clip_mask_image.c b/TC/testcase/utc_paint_with_alpha_clip_mask_image.c
deleted file mode 100644 (file)
index 112a580..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_with_alpha_clip_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_with_alpha_clip_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_with_alpha_clip_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-with-alpha-clip-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_with_alpha_clip_mask1");
-                       else
-                               dts_fail("utc_cairo_paint_with_alpha_clip_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_with_alpha_gl.c b/TC/testcase/utc_paint_with_alpha_gl.c
deleted file mode 100644 (file)
index 17256fa..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_with_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_with_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_with_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-with-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_with_alpha1");
-                       else
-                               dts_fail("utc_cairo_paint_with_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_with_alpha_image.c b/TC/testcase/utc_paint_with_alpha_image.c
deleted file mode 100644 (file)
index 85a1ba5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_with_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_with_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_with_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-with-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_with_alpha1");
-                       else
-                               dts_fail("utc_cairo_paint_with_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_with_alpha_solid_clip_gl.c b/TC/testcase/utc_paint_with_alpha_solid_clip_gl.c
deleted file mode 100644 (file)
index 8c18060..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_with_alpha_solid_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_with_alpha_solid_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_with_alpha_solid_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-with-alpha-solid-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_with_alpha_solid_clip1");
-                       else
-                               dts_fail("utc_cairo_paint_with_alpha_solid_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_paint_with_alpha_solid_clip_image.c b/TC/testcase/utc_paint_with_alpha_solid_clip_image.c
deleted file mode 100644 (file)
index 856f399..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_paint_with_alpha_solid_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_paint_with_alpha_solid_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_paint_with_alpha_solid_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite paint-with-alpha-solid-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_paint_with_alpha_solid_clip1");
-                       else
-                               dts_fail("utc_cairo_paint_with_alpha_solid_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_clip_text_bottom_gl.c b/TC/testcase/utc_partial_clip_text_bottom_gl.c
deleted file mode 100644 (file)
index 57671f1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_clip_text_bottom1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_clip_text_bottom1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_clip_text_bottom1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-clip-text-bottom", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_clip_text_bottom1");
-                       else
-                               dts_fail("utc_cairo_partial_clip_text_bottom1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_clip_text_bottom_image.c b/TC/testcase/utc_partial_clip_text_bottom_image.c
deleted file mode 100644 (file)
index 5fba26d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_clip_text_bottom1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_clip_text_bottom1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_clip_text_bottom1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-clip-text-bottom", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_clip_text_bottom1");
-                       else
-                               dts_fail("utc_cairo_partial_clip_text_bottom1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_clip_text_left_gl.c b/TC/testcase/utc_partial_clip_text_left_gl.c
deleted file mode 100644 (file)
index 29b19d2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_clip_text_left1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_clip_text_left1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_clip_text_left1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-clip-text-left", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_clip_text_left1");
-                       else
-                               dts_fail("utc_cairo_partial_clip_text_left1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_clip_text_left_image.c b/TC/testcase/utc_partial_clip_text_left_image.c
deleted file mode 100644 (file)
index fb4f044..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_clip_text_left1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_clip_text_left1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_clip_text_left1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-clip-text-left", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_clip_text_left1");
-                       else
-                               dts_fail("utc_cairo_partial_clip_text_left1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_clip_text_right_gl.c b/TC/testcase/utc_partial_clip_text_right_gl.c
deleted file mode 100644 (file)
index f3e6847..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_clip_text_right1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_clip_text_right1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_clip_text_right1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-clip-text-right", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_clip_text_right1");
-                       else
-                               dts_fail("utc_cairo_partial_clip_text_right1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_clip_text_right_image.c b/TC/testcase/utc_partial_clip_text_right_image.c
deleted file mode 100644 (file)
index 56c4404..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_clip_text_right1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_clip_text_right1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_clip_text_right1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-clip-text-right", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_clip_text_right1");
-                       else
-                               dts_fail("utc_cairo_partial_clip_text_right1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_clip_text_top_gl.c b/TC/testcase/utc_partial_clip_text_top_gl.c
deleted file mode 100644 (file)
index dd01438..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_clip_text_top1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_clip_text_top1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_clip_text_top1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-clip-text-top", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_clip_text_top1");
-                       else
-                               dts_fail("utc_cairo_partial_clip_text_top1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_clip_text_top_image.c b/TC/testcase/utc_partial_clip_text_top_image.c
deleted file mode 100644 (file)
index 8d9c1f1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_clip_text_top1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_clip_text_top1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_clip_text_top1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-clip-text-top", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_clip_text_top1");
-                       else
-                               dts_fail("utc_cairo_partial_clip_text_top1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_half_reference_gl.c b/TC/testcase/utc_partial_coverage_half_reference_gl.c
deleted file mode 100644 (file)
index 16cd007..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_half_reference1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_half_reference1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_half_reference1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-half-reference", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_half_reference1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_half_reference1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_half_reference_image.c b/TC/testcase/utc_partial_coverage_half_reference_image.c
deleted file mode 100644 (file)
index 9310dc5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_half_reference1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_half_reference1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_half_reference1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-half-reference", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_half_reference1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_half_reference1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_half_triangles_gl.c b/TC/testcase/utc_partial_coverage_half_triangles_gl.c
deleted file mode 100644 (file)
index 0a32316..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_half_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_half_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_half_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-half-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_half_triangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_half_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_half_triangles_image.c b/TC/testcase/utc_partial_coverage_half_triangles_image.c
deleted file mode 100644 (file)
index 6a23c08..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_half_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_half_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_half_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-half-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_half_triangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_half_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_intersecting_quads_gl.c b/TC/testcase/utc_partial_coverage_intersecting_quads_gl.c
deleted file mode 100644 (file)
index 20c4120..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_intersecting_quads1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_intersecting_quads1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_intersecting_quads1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-intersecting-quads", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_intersecting_quads1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_intersecting_quads1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_intersecting_quads_image.c b/TC/testcase/utc_partial_coverage_intersecting_quads_image.c
deleted file mode 100644 (file)
index 24c4b8f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_intersecting_quads1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_intersecting_quads1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_intersecting_quads1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-intersecting-quads", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_intersecting_quads1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_intersecting_quads1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_intersecting_triangles_gl.c b/TC/testcase/utc_partial_coverage_intersecting_triangles_gl.c
deleted file mode 100644 (file)
index 3d9aabb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_intersecting_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_intersecting_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_intersecting_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-intersecting-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_intersecting_triangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_intersecting_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_intersecting_triangles_image.c b/TC/testcase/utc_partial_coverage_intersecting_triangles_image.c
deleted file mode 100644 (file)
index cdd68e3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_intersecting_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_intersecting_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_intersecting_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-intersecting-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_intersecting_triangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_intersecting_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_overlap_half_triangles_eo_gl.c b/TC/testcase/utc_partial_coverage_overlap_half_triangles_eo_gl.c
deleted file mode 100644 (file)
index 09b31b6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_overlap_half_triangles_eo1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_overlap_half_triangles_eo1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_overlap_half_triangles_eo1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-overlap-half-triangles-eo", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_overlap_half_triangles_eo1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_overlap_half_triangles_eo1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_overlap_half_triangles_eo_image.c b/TC/testcase/utc_partial_coverage_overlap_half_triangles_eo_image.c
deleted file mode 100644 (file)
index e1526ed..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_overlap_half_triangles_eo1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_overlap_half_triangles_eo1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_overlap_half_triangles_eo1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-overlap-half-triangles-eo", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_overlap_half_triangles_eo1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_overlap_half_triangles_eo1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_overlap_half_triangles_gl.c b/TC/testcase/utc_partial_coverage_overlap_half_triangles_gl.c
deleted file mode 100644 (file)
index 6ae8f30..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_overlap_half_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_overlap_half_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_overlap_half_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-overlap-half-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_overlap_half_triangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_overlap_half_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_overlap_half_triangles_image.c b/TC/testcase/utc_partial_coverage_overlap_half_triangles_image.c
deleted file mode 100644 (file)
index 0eae267..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_overlap_half_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_overlap_half_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_overlap_half_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-overlap-half-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_overlap_half_triangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_overlap_half_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_overlap_three_quarter_triangles_gl.c b/TC/testcase/utc_partial_coverage_overlap_three_quarter_triangles_gl.c
deleted file mode 100644 (file)
index 0f0a140..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_overlap_three_quarter_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_overlap_three_quarter_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_overlap_three_quarter_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-overlap-three-quarter-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_overlap_three_quarter_triangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_overlap_three_quarter_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_overlap_three_quarter_triangles_image.c b/TC/testcase/utc_partial_coverage_overlap_three_quarter_triangles_image.c
deleted file mode 100644 (file)
index dae2788..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_overlap_three_quarter_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_overlap_three_quarter_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_overlap_three_quarter_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-overlap-three-quarter-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_overlap_three_quarter_triangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_overlap_three_quarter_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_rectangles_gl.c b/TC/testcase/utc_partial_coverage_rectangles_gl.c
deleted file mode 100644 (file)
index 7772a9a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_rectangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_rectangles_image.c b/TC/testcase/utc_partial_coverage_rectangles_image.c
deleted file mode 100644 (file)
index 922fa24..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_rectangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_rectangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_rectangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-rectangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_rectangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_rectangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_reference_gl.c b/TC/testcase/utc_partial_coverage_reference_gl.c
deleted file mode 100644 (file)
index 8319ece..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_reference1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_reference1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_reference1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-reference", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_reference1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_reference1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_reference_image.c b/TC/testcase/utc_partial_coverage_reference_image.c
deleted file mode 100644 (file)
index 79bfe3d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_reference1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_reference1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_reference1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-reference", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_reference1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_reference1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_three_quarter_reference_gl.c b/TC/testcase/utc_partial_coverage_three_quarter_reference_gl.c
deleted file mode 100644 (file)
index 82b1782..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_three_quarter_reference1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_three_quarter_reference1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_three_quarter_reference1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-three-quarter-reference", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_three_quarter_reference1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_three_quarter_reference1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_three_quarter_reference_image.c b/TC/testcase/utc_partial_coverage_three_quarter_reference_image.c
deleted file mode 100644 (file)
index f24a375..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_three_quarter_reference1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_three_quarter_reference1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_three_quarter_reference1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-three-quarter-reference", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_three_quarter_reference1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_three_quarter_reference1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_triangles_gl.c b/TC/testcase/utc_partial_coverage_triangles_gl.c
deleted file mode 100644 (file)
index bc1e5e4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_triangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_partial_coverage_triangles_image.c b/TC/testcase/utc_partial_coverage_triangles_image.c
deleted file mode 100644 (file)
index 70be118..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_partial_coverage_triangles1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_partial_coverage_triangles1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_partial_coverage_triangles1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite partial-coverage-triangles", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_partial_coverage_triangles1");
-                       else
-                               dts_fail("utc_cairo_partial_coverage_triangles1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pass_through_gl.c b/TC/testcase/utc_pass_through_gl.c
deleted file mode 100644 (file)
index fc334c0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pass_through1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pass_through1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pass_through1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pass-through", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pass_through1");
-                       else
-                               dts_fail("utc_cairo_pass_through1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pass_through_image.c b/TC/testcase/utc_pass_through_image.c
deleted file mode 100644 (file)
index 0b1ea6d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pass_through1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pass_through1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pass_through1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pass-through", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pass_through1");
-                       else
-                               dts_fail("utc_cairo_pass_through1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_path_append_gl.c b/TC/testcase/utc_path_append_gl.c
deleted file mode 100644 (file)
index f20a26e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_path_append1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_path_append1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_path_append1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite path-append", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_path_append1");
-                       else
-                               dts_fail("utc_cairo_path_append1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_path_append_image.c b/TC/testcase/utc_path_append_image.c
deleted file mode 100644 (file)
index 8b8fdaa..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_path_append1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_path_append1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_path_append1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite path-append", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_path_append1");
-                       else
-                               dts_fail("utc_cairo_path_append1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_path_precision_gl.c b/TC/testcase/utc_path_precision_gl.c
deleted file mode 100644 (file)
index 41df5ca..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_path_precision1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_path_precision1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_path_precision1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite path-precision", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_path_precision1");
-                       else
-                               dts_fail("utc_cairo_path_precision1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_path_precision_image.c b/TC/testcase/utc_path_precision_image.c
deleted file mode 100644 (file)
index f9edebd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_path_precision1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_path_precision1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_path_precision1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite path-precision", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_path_precision1");
-                       else
-                               dts_fail("utc_cairo_path_precision1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_path_stroke_twice_gl.c b/TC/testcase/utc_path_stroke_twice_gl.c
deleted file mode 100644 (file)
index 38684c2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_path_stroke_twice1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_path_stroke_twice1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_path_stroke_twice1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite path-stroke-twice", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_path_stroke_twice1");
-                       else
-                               dts_fail("utc_cairo_path_stroke_twice1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_path_stroke_twice_image.c b/TC/testcase/utc_path_stroke_twice_image.c
deleted file mode 100644 (file)
index b93e2df..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_path_stroke_twice1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_path_stroke_twice1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_path_stroke_twice1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite path-stroke-twice", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_path_stroke_twice1");
-                       else
-                               dts_fail("utc_cairo_path_stroke_twice1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pattern_get_type_gl.c b/TC/testcase/utc_pattern_get_type_gl.c
deleted file mode 100644 (file)
index 7805b9f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pattern_get_type1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pattern_get_type1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pattern_get_type1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pattern-get-type", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pattern_get_type1");
-                       else
-                               dts_fail("utc_cairo_pattern_get_type1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pattern_get_type_image.c b/TC/testcase/utc_pattern_get_type_image.c
deleted file mode 100644 (file)
index de5a5d1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pattern_get_type1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pattern_get_type1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pattern_get_type1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pattern-get-type", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pattern_get_type1");
-                       else
-                               dts_fail("utc_cairo_pattern_get_type1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pattern_getters_gl.c b/TC/testcase/utc_pattern_getters_gl.c
deleted file mode 100644 (file)
index cd138c7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pattern_getters1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pattern_getters1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pattern_getters1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pattern-getters", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pattern_getters1");
-                       else
-                               dts_fail("utc_cairo_pattern_getters1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pattern_getters_image.c b/TC/testcase/utc_pattern_getters_image.c
deleted file mode 100644 (file)
index da12772..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pattern_getters1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pattern_getters1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pattern_getters1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pattern-getters", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pattern_getters1");
-                       else
-                               dts_fail("utc_cairo_pattern_getters1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pdf_features_gl.c b/TC/testcase/utc_pdf_features_gl.c
deleted file mode 100644 (file)
index e035f3e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pdf_features1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pdf_features1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pdf_features1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pdf-features", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pdf_features1");
-                       else
-                               dts_fail("utc_cairo_pdf_features1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pdf_features_image.c b/TC/testcase/utc_pdf_features_image.c
deleted file mode 100644 (file)
index 77813ca..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pdf_features1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pdf_features1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pdf_features1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pdf-features", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pdf_features1");
-                       else
-                               dts_fail("utc_cairo_pdf_features1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pdf_isolated_group_gl.c b/TC/testcase/utc_pdf_isolated_group_gl.c
deleted file mode 100644 (file)
index 596d3f4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pdf_isolated_group1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pdf_isolated_group1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pdf_isolated_group1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pdf-isolated-group", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pdf_isolated_group1");
-                       else
-                               dts_fail("utc_cairo_pdf_isolated_group1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pdf_isolated_group_image.c b/TC/testcase/utc_pdf_isolated_group_image.c
deleted file mode 100644 (file)
index e0860bb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pdf_isolated_group1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pdf_isolated_group1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pdf_isolated_group1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pdf-isolated-group", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pdf_isolated_group1");
-                       else
-                               dts_fail("utc_cairo_pdf_isolated_group1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pdf_mime_data_gl.c b/TC/testcase/utc_pdf_mime_data_gl.c
deleted file mode 100644 (file)
index 863f1bb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pdf_mime_data1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pdf_mime_data1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pdf_mime_data1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pdf-mime-data", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pdf_mime_data1");
-                       else
-                               dts_fail("utc_cairo_pdf_mime_data1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pdf_mime_data_image.c b/TC/testcase/utc_pdf_mime_data_image.c
deleted file mode 100644 (file)
index c0cde32..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pdf_mime_data1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pdf_mime_data1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pdf_mime_data1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pdf-mime-data", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pdf_mime_data1");
-                       else
-                               dts_fail("utc_cairo_pdf_mime_data1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pdf_surface_source_gl.c b/TC/testcase/utc_pdf_surface_source_gl.c
deleted file mode 100644 (file)
index 453eb78..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pdf_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pdf_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pdf_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pdf-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pdf_surface_source1");
-                       else
-                               dts_fail("utc_cairo_pdf_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pdf_surface_source_image.c b/TC/testcase/utc_pdf_surface_source_image.c
deleted file mode 100644 (file)
index 1de35b8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pdf_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pdf_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pdf_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pdf-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pdf_surface_source1");
-                       else
-                               dts_fail("utc_cairo_pdf_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pixman_rotate_gl.c b/TC/testcase/utc_pixman_rotate_gl.c
deleted file mode 100644 (file)
index d575c84..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pixman_rotate1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pixman_rotate1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pixman_rotate1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pixman-rotate", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pixman_rotate1");
-                       else
-                               dts_fail("utc_cairo_pixman_rotate1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pixman_rotate_image.c b/TC/testcase/utc_pixman_rotate_image.c
deleted file mode 100644 (file)
index 7845e5c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pixman_rotate1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pixman_rotate1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pixman_rotate1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pixman-rotate", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pixman_rotate1");
-                       else
-                               dts_fail("utc_cairo_pixman_rotate1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_png_gl.c b/TC/testcase/utc_png_gl.c
deleted file mode 100644 (file)
index d0ed8a4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_png1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_png1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_png1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite png", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_png1");
-                       else
-                               dts_fail("utc_cairo_png1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_png_image.c b/TC/testcase/utc_png_image.c
deleted file mode 100644 (file)
index e45721c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_png1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_png1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_png1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite png", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_png1");
-                       else
-                               dts_fail("utc_cairo_png1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ps_eps_gl.c b/TC/testcase/utc_ps_eps_gl.c
deleted file mode 100644 (file)
index 3de0839..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ps_eps1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ps_eps1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ps_eps1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ps-eps", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ps_eps1");
-                       else
-                               dts_fail("utc_cairo_ps_eps1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ps_eps_image.c b/TC/testcase/utc_ps_eps_image.c
deleted file mode 100644 (file)
index ca37c39..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ps_eps1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ps_eps1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ps_eps1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ps-eps", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ps_eps1");
-                       else
-                               dts_fail("utc_cairo_ps_eps1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ps_features_gl.c b/TC/testcase/utc_ps_features_gl.c
deleted file mode 100644 (file)
index 731391c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ps_features1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ps_features1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ps_features1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ps-features", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ps_features1");
-                       else
-                               dts_fail("utc_cairo_ps_features1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ps_features_image.c b/TC/testcase/utc_ps_features_image.c
deleted file mode 100644 (file)
index 5cfcdad..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ps_features1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ps_features1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ps_features1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ps-features", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ps_features1");
-                       else
-                               dts_fail("utc_cairo_ps_features1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ps_surface_source_gl.c b/TC/testcase/utc_ps_surface_source_gl.c
deleted file mode 100644 (file)
index ef156b8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ps_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ps_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ps_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ps-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ps_surface_source1");
-                       else
-                               dts_fail("utc_cairo_ps_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_ps_surface_source_image.c b/TC/testcase/utc_ps_surface_source_image.c
deleted file mode 100644 (file)
index 8a67fc9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_ps_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_ps_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_ps_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite ps-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_ps_surface_source1");
-                       else
-                               dts_fail("utc_cairo_ps_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pthread_same_source_gl.c b/TC/testcase/utc_pthread_same_source_gl.c
deleted file mode 100644 (file)
index 1088cef..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pthread_same_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pthread_same_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pthread_same_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pthread-same-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pthread_same_source1");
-                       else
-                               dts_fail("utc_cairo_pthread_same_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pthread_same_source_image.c b/TC/testcase/utc_pthread_same_source_image.c
deleted file mode 100644 (file)
index f9d6032..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pthread_same_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pthread_same_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pthread_same_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pthread-same-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pthread_same_source1");
-                       else
-                               dts_fail("utc_cairo_pthread_same_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pthread_show_text_gl.c b/TC/testcase/utc_pthread_show_text_gl.c
deleted file mode 100644 (file)
index 8602d67..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pthread_show_text1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pthread_show_text1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pthread_show_text1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pthread-show-text", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pthread_show_text1");
-                       else
-                               dts_fail("utc_cairo_pthread_show_text1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pthread_show_text_image.c b/TC/testcase/utc_pthread_show_text_image.c
deleted file mode 100644 (file)
index f36e843..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pthread_show_text1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pthread_show_text1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pthread_show_text1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pthread-show-text", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pthread_show_text1");
-                       else
-                               dts_fail("utc_cairo_pthread_show_text1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pthread_similar_gl.c b/TC/testcase/utc_pthread_similar_gl.c
deleted file mode 100644 (file)
index 2abc572..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pthread_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pthread_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pthread_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pthread-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pthread_similar1");
-                       else
-                               dts_fail("utc_cairo_pthread_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_pthread_similar_image.c b/TC/testcase/utc_pthread_similar_image.c
deleted file mode 100644 (file)
index 89a5ccc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_pthread_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_pthread_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_pthread_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite pthread-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_pthread_similar1");
-                       else
-                               dts_fail("utc_cairo_pthread_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_push_group_color_gl.c b/TC/testcase/utc_push_group_color_gl.c
deleted file mode 100644 (file)
index f88564d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_push_group_color1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_push_group_color1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_push_group_color1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite push-group-color", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_push_group_color1");
-                       else
-                               dts_fail("utc_cairo_push_group_color1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_push_group_color_image.c b/TC/testcase/utc_push_group_color_image.c
deleted file mode 100644 (file)
index 3c541bb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_push_group_color1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_push_group_color1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_push_group_color1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite push-group-color", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_push_group_color1");
-                       else
-                               dts_fail("utc_cairo_push_group_color1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_push_group_gl.c b/TC/testcase/utc_push_group_gl.c
deleted file mode 100644 (file)
index d721aaf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_push_group1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_push_group1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_push_group1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite push-group", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_push_group1");
-                       else
-                               dts_fail("utc_cairo_push_group1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_push_group_image.c b/TC/testcase/utc_push_group_image.c
deleted file mode 100644 (file)
index 485d221..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_push_group1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_push_group1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_push_group1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite push-group", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_push_group1");
-                       else
-                               dts_fail("utc_cairo_push_group1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_push_group_path_offset_gl.c b/TC/testcase/utc_push_group_path_offset_gl.c
deleted file mode 100644 (file)
index 761fbee..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_push_group_path_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_push_group_path_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_push_group_path_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite push-group-path-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_push_group_path_offset1");
-                       else
-                               dts_fail("utc_cairo_push_group_path_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_push_group_path_offset_image.c b/TC/testcase/utc_push_group_path_offset_image.c
deleted file mode 100644 (file)
index b7a0643..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_push_group_path_offset1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_push_group_path_offset1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_push_group_path_offset1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite push-group-path-offset", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_push_group_path_offset1");
-                       else
-                               dts_fail("utc_cairo_push_group_path_offset1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_quartz_surface_source_gl.c b/TC/testcase/utc_quartz_surface_source_gl.c
deleted file mode 100644 (file)
index ecc8f2b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_quartz_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_quartz_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_quartz_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite quartz-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_quartz_surface_source1");
-                       else
-                               dts_fail("utc_cairo_quartz_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_quartz_surface_source_image.c b/TC/testcase/utc_quartz_surface_source_image.c
deleted file mode 100644 (file)
index 7dc9a46..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_quartz_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_quartz_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_quartz_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite quartz-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_quartz_surface_source1");
-                       else
-                               dts_fail("utc_cairo_quartz_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_extend_gl.c b/TC/testcase/utc_radial_gradient_extend_gl.c
deleted file mode 100644 (file)
index c71ecfc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient_extend1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient_extend1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient_extend1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient-extend", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient_extend1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient_extend1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_extend_image.c b/TC/testcase/utc_radial_gradient_extend_image.c
deleted file mode 100644 (file)
index 2f16ca8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient_extend1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient_extend1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient_extend1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient-extend", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient_extend1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient_extend1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_gl.c b/TC/testcase/utc_radial_gradient_gl.c
deleted file mode 100644 (file)
index 3e933fe..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_image.c b/TC/testcase/utc_radial_gradient_image.c
deleted file mode 100644 (file)
index 7eaea2e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_mask_gl.c b/TC/testcase/utc_radial_gradient_mask_gl.c
deleted file mode 100644 (file)
index b6a65e6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient_mask1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_mask_image.c b/TC/testcase/utc_radial_gradient_mask_image.c
deleted file mode 100644 (file)
index 7c7145a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient_mask1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_mask_source_gl.c b/TC/testcase/utc_radial_gradient_mask_source_gl.c
deleted file mode 100644 (file)
index 3f6659a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient_mask_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient_mask_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient_mask_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient-mask-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient_mask_source1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient_mask_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_mask_source_image.c b/TC/testcase/utc_radial_gradient_mask_source_image.c
deleted file mode 100644 (file)
index adfa803..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient_mask_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient_mask_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient_mask_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient-mask-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient_mask_source1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient_mask_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_one_stop_gl.c b/TC/testcase/utc_radial_gradient_one_stop_gl.c
deleted file mode 100644 (file)
index 692a583..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient_one_stop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient_one_stop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient_one_stop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient-one-stop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient_one_stop1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient_one_stop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_one_stop_image.c b/TC/testcase/utc_radial_gradient_one_stop_image.c
deleted file mode 100644 (file)
index 19e951f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient_one_stop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient_one_stop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient_one_stop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient-one-stop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient_one_stop1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient_one_stop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_source_gl.c b/TC/testcase/utc_radial_gradient_source_gl.c
deleted file mode 100644 (file)
index 643fa81..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient_source1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_gradient_source_image.c b/TC/testcase/utc_radial_gradient_source_image.c
deleted file mode 100644 (file)
index dbee49b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_gradient_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_gradient_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_gradient_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-gradient-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_gradient_source1");
-                       else
-                               dts_fail("utc_cairo_radial_gradient_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_outer_focus_gl.c b/TC/testcase/utc_radial_outer_focus_gl.c
deleted file mode 100644 (file)
index 9884ecf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_outer_focus1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_outer_focus1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_outer_focus1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-outer-focus", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_outer_focus1");
-                       else
-                               dts_fail("utc_cairo_radial_outer_focus1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_radial_outer_focus_image.c b/TC/testcase/utc_radial_outer_focus_image.c
deleted file mode 100644 (file)
index 604b60a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_radial_outer_focus1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_radial_outer_focus1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_radial_outer_focus1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite radial-outer-focus", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_radial_outer_focus1");
-                       else
-                               dts_fail("utc_cairo_radial_outer_focus1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_random_clip_gl.c b/TC/testcase/utc_random_clip_gl.c
deleted file mode 100644 (file)
index 0e92476..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_random_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_random_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_random_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite random-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_random_clip1");
-                       else
-                               dts_fail("utc_cairo_random_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_random_clip_image.c b/TC/testcase/utc_random_clip_image.c
deleted file mode 100644 (file)
index ca9f591..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_random_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_random_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_random_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite random-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_random_clip1");
-                       else
-                               dts_fail("utc_cairo_random_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_random_intersections_curves_eo_gl.c b/TC/testcase/utc_random_intersections_curves_eo_gl.c
deleted file mode 100644 (file)
index b10998d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_random_intersections_curves_eo1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_random_intersections_curves_eo1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_random_intersections_curves_eo1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite random-intersections-curves-eo", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_random_intersections_curves_eo1");
-                       else
-                               dts_fail("utc_cairo_random_intersections_curves_eo1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_random_intersections_curves_eo_image.c b/TC/testcase/utc_random_intersections_curves_eo_image.c
deleted file mode 100644 (file)
index 81e26f5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_random_intersections_curves_eo1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_random_intersections_curves_eo1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_random_intersections_curves_eo1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite random-intersections-curves-eo", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_random_intersections_curves_eo1");
-                       else
-                               dts_fail("utc_cairo_random_intersections_curves_eo1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_random_intersections_curves_nz_gl.c b/TC/testcase/utc_random_intersections_curves_nz_gl.c
deleted file mode 100644 (file)
index c17e1c0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_random_intersections_curves_nz1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_random_intersections_curves_nz1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_random_intersections_curves_nz1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite random-intersections-curves-nz", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_random_intersections_curves_nz1");
-                       else
-                               dts_fail("utc_cairo_random_intersections_curves_nz1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_random_intersections_curves_nz_image.c b/TC/testcase/utc_random_intersections_curves_nz_image.c
deleted file mode 100644 (file)
index 0b8e571..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_random_intersections_curves_nz1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_random_intersections_curves_nz1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_random_intersections_curves_nz1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite random-intersections-curves-nz", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_random_intersections_curves_nz1");
-                       else
-                               dts_fail("utc_cairo_random_intersections_curves_nz1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_random_intersections_eo_gl.c b/TC/testcase/utc_random_intersections_eo_gl.c
deleted file mode 100644 (file)
index be5435e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_random_intersections_eo1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_random_intersections_eo1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_random_intersections_eo1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite random-intersections-eo", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_random_intersections_eo1");
-                       else
-                               dts_fail("utc_cairo_random_intersections_eo1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_random_intersections_eo_image.c b/TC/testcase/utc_random_intersections_eo_image.c
deleted file mode 100644 (file)
index 21e896b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_random_intersections_eo1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_random_intersections_eo1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_random_intersections_eo1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite random-intersections-eo", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_random_intersections_eo1");
-                       else
-                               dts_fail("utc_cairo_random_intersections_eo1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_random_intersections_nonzero_gl.c b/TC/testcase/utc_random_intersections_nonzero_gl.c
deleted file mode 100644 (file)
index d95ce8d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_random_intersections_nonzero1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_random_intersections_nonzero1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_random_intersections_nonzero1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite random-intersections-nonzero", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_random_intersections_nonzero1");
-                       else
-                               dts_fail("utc_cairo_random_intersections_nonzero1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_random_intersections_nonzero_image.c b/TC/testcase/utc_random_intersections_nonzero_image.c
deleted file mode 100644 (file)
index d5a0687..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_random_intersections_nonzero1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_random_intersections_nonzero1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_random_intersections_nonzero1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite random-intersections-nonzero", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_random_intersections_nonzero1");
-                       else
-                               dts_fail("utc_cairo_random_intersections_nonzero1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_raster_source_gl.c b/TC/testcase/utc_raster_source_gl.c
deleted file mode 100644 (file)
index dd3182c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_raster_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_raster_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_raster_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite raster-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_raster_source1");
-                       else
-                               dts_fail("utc_cairo_raster_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_raster_source_image.c b/TC/testcase/utc_raster_source_image.c
deleted file mode 100644 (file)
index 188239d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_raster_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_raster_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_raster_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite raster-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_raster_source1");
-                       else
-                               dts_fail("utc_cairo_raster_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_fill_alpha_gl.c b/TC/testcase/utc_record1414x_fill_alpha_gl.c
deleted file mode 100644 (file)
index 7151ed6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_fill_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_fill_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_fill_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-fill-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_fill_alpha1");
-                       else
-                               dts_fail("utc_cairo_record1414x_fill_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_fill_alpha_image.c b/TC/testcase/utc_record1414x_fill_alpha_image.c
deleted file mode 100644 (file)
index 473c928..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_fill_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_fill_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_fill_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-fill-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_fill_alpha1");
-                       else
-                               dts_fail("utc_cairo_record1414x_fill_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_paint_alpha_clip_gl.c b/TC/testcase/utc_record1414x_paint_alpha_clip_gl.c
deleted file mode 100644 (file)
index d1fd7c3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_paint_alpha_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_paint_alpha_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_paint_alpha_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-paint-alpha-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_paint_alpha_clip1");
-                       else
-                               dts_fail("utc_cairo_record1414x_paint_alpha_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_paint_alpha_clip_image.c b/TC/testcase/utc_record1414x_paint_alpha_clip_image.c
deleted file mode 100644 (file)
index 02b65c9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_paint_alpha_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_paint_alpha_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_paint_alpha_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-paint-alpha-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_paint_alpha_clip1");
-                       else
-                               dts_fail("utc_cairo_record1414x_paint_alpha_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_paint_alpha_clip_mask_gl.c b/TC/testcase/utc_record1414x_paint_alpha_clip_mask_gl.c
deleted file mode 100644 (file)
index ebfcfdf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_paint_alpha_clip_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_paint_alpha_clip_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_paint_alpha_clip_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-paint-alpha-clip-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_paint_alpha_clip_mask1");
-                       else
-                               dts_fail("utc_cairo_record1414x_paint_alpha_clip_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_paint_alpha_clip_mask_image.c b/TC/testcase/utc_record1414x_paint_alpha_clip_mask_image.c
deleted file mode 100644 (file)
index d81da4d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_paint_alpha_clip_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_paint_alpha_clip_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_paint_alpha_clip_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-paint-alpha-clip-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_paint_alpha_clip_mask1");
-                       else
-                               dts_fail("utc_cairo_record1414x_paint_alpha_clip_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_paint_alpha_gl.c b/TC/testcase/utc_record1414x_paint_alpha_gl.c
deleted file mode 100644 (file)
index 569b354..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_paint_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_paint_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_paint_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-paint-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_paint_alpha1");
-                       else
-                               dts_fail("utc_cairo_record1414x_paint_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_paint_alpha_image.c b/TC/testcase/utc_record1414x_paint_alpha_image.c
deleted file mode 100644 (file)
index 64165a0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_paint_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_paint_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_paint_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-paint-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_paint_alpha1");
-                       else
-                               dts_fail("utc_cairo_record1414x_paint_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_paint_alpha_solid_clip_gl.c b/TC/testcase/utc_record1414x_paint_alpha_solid_clip_gl.c
deleted file mode 100644 (file)
index 0af8fea..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_paint_alpha_solid_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_paint_alpha_solid_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_paint_alpha_solid_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-paint-alpha-solid-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_paint_alpha_solid_clip1");
-                       else
-                               dts_fail("utc_cairo_record1414x_paint_alpha_solid_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_paint_alpha_solid_clip_image.c b/TC/testcase/utc_record1414x_paint_alpha_solid_clip_image.c
deleted file mode 100644 (file)
index 6912ef8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_paint_alpha_solid_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_paint_alpha_solid_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_paint_alpha_solid_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-paint-alpha-solid-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_paint_alpha_solid_clip1");
-                       else
-                               dts_fail("utc_cairo_record1414x_paint_alpha_solid_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_paint_gl.c b/TC/testcase/utc_record1414x_paint_gl.c
deleted file mode 100644 (file)
index 641cede..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_paint1");
-                       else
-                               dts_fail("utc_cairo_record1414x_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_paint_image.c b/TC/testcase/utc_record1414x_paint_image.c
deleted file mode 100644 (file)
index 741c51b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_paint1");
-                       else
-                               dts_fail("utc_cairo_record1414x_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_select_font_face_gl.c b/TC/testcase/utc_record1414x_select_font_face_gl.c
deleted file mode 100644 (file)
index 1363019..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_select_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_select_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_select_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-select-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_select_font_face1");
-                       else
-                               dts_fail("utc_cairo_record1414x_select_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_select_font_face_image.c b/TC/testcase/utc_record1414x_select_font_face_image.c
deleted file mode 100644 (file)
index c0ef82f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_select_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_select_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_select_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-select-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_select_font_face1");
-                       else
-                               dts_fail("utc_cairo_record1414x_select_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_self_intersecting_gl.c b/TC/testcase/utc_record1414x_self_intersecting_gl.c
deleted file mode 100644 (file)
index c3d199c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_self_intersecting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_self_intersecting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_self_intersecting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-self-intersecting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_self_intersecting1");
-                       else
-                               dts_fail("utc_cairo_record1414x_self_intersecting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_self_intersecting_image.c b/TC/testcase/utc_record1414x_self_intersecting_image.c
deleted file mode 100644 (file)
index ed81571..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_self_intersecting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_self_intersecting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_self_intersecting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-self-intersecting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_self_intersecting1");
-                       else
-                               dts_fail("utc_cairo_record1414x_self_intersecting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_text_transform_gl.c b/TC/testcase/utc_record1414x_text_transform_gl.c
deleted file mode 100644 (file)
index f92b021..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_text_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_text_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_text_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-text-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_text_transform1");
-                       else
-                               dts_fail("utc_cairo_record1414x_text_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record1414x_text_transform_image.c b/TC/testcase/utc_record1414x_text_transform_image.c
deleted file mode 100644 (file)
index b6e80f6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record1414x_text_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record1414x_text_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record1414x_text_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record1414x-text-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record1414x_text_transform1");
-                       else
-                               dts_fail("utc_cairo_record1414x_text_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_fill_alpha_gl.c b/TC/testcase/utc_record2x_fill_alpha_gl.c
deleted file mode 100644 (file)
index e672a0d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_fill_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_fill_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_fill_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-fill-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_fill_alpha1");
-                       else
-                               dts_fail("utc_cairo_record2x_fill_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_fill_alpha_image.c b/TC/testcase/utc_record2x_fill_alpha_image.c
deleted file mode 100644 (file)
index 9940a07..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_fill_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_fill_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_fill_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-fill-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_fill_alpha1");
-                       else
-                               dts_fail("utc_cairo_record2x_fill_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_paint_alpha_clip_gl.c b/TC/testcase/utc_record2x_paint_alpha_clip_gl.c
deleted file mode 100644 (file)
index cbda6fb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_paint_alpha_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_paint_alpha_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_paint_alpha_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-paint-alpha-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_paint_alpha_clip1");
-                       else
-                               dts_fail("utc_cairo_record2x_paint_alpha_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_paint_alpha_clip_image.c b/TC/testcase/utc_record2x_paint_alpha_clip_image.c
deleted file mode 100644 (file)
index 955ec52..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_paint_alpha_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_paint_alpha_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_paint_alpha_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-paint-alpha-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_paint_alpha_clip1");
-                       else
-                               dts_fail("utc_cairo_record2x_paint_alpha_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_paint_alpha_clip_mask_gl.c b/TC/testcase/utc_record2x_paint_alpha_clip_mask_gl.c
deleted file mode 100644 (file)
index be54a56..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_paint_alpha_clip_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_paint_alpha_clip_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_paint_alpha_clip_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-paint-alpha-clip-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_paint_alpha_clip_mask1");
-                       else
-                               dts_fail("utc_cairo_record2x_paint_alpha_clip_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_paint_alpha_clip_mask_image.c b/TC/testcase/utc_record2x_paint_alpha_clip_mask_image.c
deleted file mode 100644 (file)
index 74e19fb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_paint_alpha_clip_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_paint_alpha_clip_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_paint_alpha_clip_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-paint-alpha-clip-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_paint_alpha_clip_mask1");
-                       else
-                               dts_fail("utc_cairo_record2x_paint_alpha_clip_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_paint_alpha_gl.c b/TC/testcase/utc_record2x_paint_alpha_gl.c
deleted file mode 100644 (file)
index 84b0508..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_paint_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_paint_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_paint_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-paint-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_paint_alpha1");
-                       else
-                               dts_fail("utc_cairo_record2x_paint_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_paint_alpha_image.c b/TC/testcase/utc_record2x_paint_alpha_image.c
deleted file mode 100644 (file)
index acee312..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_paint_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_paint_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_paint_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-paint-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_paint_alpha1");
-                       else
-                               dts_fail("utc_cairo_record2x_paint_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_paint_alpha_solid_clip_gl.c b/TC/testcase/utc_record2x_paint_alpha_solid_clip_gl.c
deleted file mode 100644 (file)
index 3a4273c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_paint_alpha_solid_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_paint_alpha_solid_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_paint_alpha_solid_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-paint-alpha-solid-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_paint_alpha_solid_clip1");
-                       else
-                               dts_fail("utc_cairo_record2x_paint_alpha_solid_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_paint_alpha_solid_clip_image.c b/TC/testcase/utc_record2x_paint_alpha_solid_clip_image.c
deleted file mode 100644 (file)
index 402160d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_paint_alpha_solid_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_paint_alpha_solid_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_paint_alpha_solid_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-paint-alpha-solid-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_paint_alpha_solid_clip1");
-                       else
-                               dts_fail("utc_cairo_record2x_paint_alpha_solid_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_paint_gl.c b/TC/testcase/utc_record2x_paint_gl.c
deleted file mode 100644 (file)
index bfdfe24..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_paint1");
-                       else
-                               dts_fail("utc_cairo_record2x_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_paint_image.c b/TC/testcase/utc_record2x_paint_image.c
deleted file mode 100644 (file)
index 049e862..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_paint1");
-                       else
-                               dts_fail("utc_cairo_record2x_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_select_font_face_gl.c b/TC/testcase/utc_record2x_select_font_face_gl.c
deleted file mode 100644 (file)
index b777462..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_select_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_select_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_select_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-select-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_select_font_face1");
-                       else
-                               dts_fail("utc_cairo_record2x_select_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_select_font_face_image.c b/TC/testcase/utc_record2x_select_font_face_image.c
deleted file mode 100644 (file)
index 88db5b6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_select_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_select_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_select_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-select-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_select_font_face1");
-                       else
-                               dts_fail("utc_cairo_record2x_select_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_self_intersecting_gl.c b/TC/testcase/utc_record2x_self_intersecting_gl.c
deleted file mode 100644 (file)
index 145493a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_self_intersecting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_self_intersecting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_self_intersecting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-self-intersecting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_self_intersecting1");
-                       else
-                               dts_fail("utc_cairo_record2x_self_intersecting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_self_intersecting_image.c b/TC/testcase/utc_record2x_self_intersecting_image.c
deleted file mode 100644 (file)
index 10099a9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_self_intersecting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_self_intersecting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_self_intersecting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-self-intersecting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_self_intersecting1");
-                       else
-                               dts_fail("utc_cairo_record2x_self_intersecting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_text_transform_gl.c b/TC/testcase/utc_record2x_text_transform_gl.c
deleted file mode 100644 (file)
index bb38611..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_text_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_text_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_text_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-text-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_text_transform1");
-                       else
-                               dts_fail("utc_cairo_record2x_text_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record2x_text_transform_image.c b/TC/testcase/utc_record2x_text_transform_image.c
deleted file mode 100644 (file)
index ca5d776..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record2x_text_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record2x_text_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record2x_text_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record2x-text-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record2x_text_transform1");
-                       else
-                               dts_fail("utc_cairo_record2x_text_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_fill_alpha_gl.c b/TC/testcase/utc_record90_fill_alpha_gl.c
deleted file mode 100644 (file)
index af96141..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_fill_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_fill_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_fill_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-fill-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_fill_alpha1");
-                       else
-                               dts_fail("utc_cairo_record90_fill_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_fill_alpha_image.c b/TC/testcase/utc_record90_fill_alpha_image.c
deleted file mode 100644 (file)
index 2e9cd63..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_fill_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_fill_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_fill_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-fill-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_fill_alpha1");
-                       else
-                               dts_fail("utc_cairo_record90_fill_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_paint_alpha_clip_gl.c b/TC/testcase/utc_record90_paint_alpha_clip_gl.c
deleted file mode 100644 (file)
index c8b56d0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_paint_alpha_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_paint_alpha_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_paint_alpha_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-paint-alpha-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_paint_alpha_clip1");
-                       else
-                               dts_fail("utc_cairo_record90_paint_alpha_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_paint_alpha_clip_image.c b/TC/testcase/utc_record90_paint_alpha_clip_image.c
deleted file mode 100644 (file)
index 81c3a47..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_paint_alpha_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_paint_alpha_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_paint_alpha_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-paint-alpha-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_paint_alpha_clip1");
-                       else
-                               dts_fail("utc_cairo_record90_paint_alpha_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_paint_alpha_clip_mask_gl.c b/TC/testcase/utc_record90_paint_alpha_clip_mask_gl.c
deleted file mode 100644 (file)
index a2cd2d7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_paint_alpha_clip_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_paint_alpha_clip_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_paint_alpha_clip_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-paint-alpha-clip-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_paint_alpha_clip_mask1");
-                       else
-                               dts_fail("utc_cairo_record90_paint_alpha_clip_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_paint_alpha_clip_mask_image.c b/TC/testcase/utc_record90_paint_alpha_clip_mask_image.c
deleted file mode 100644 (file)
index 72aac9a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_paint_alpha_clip_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_paint_alpha_clip_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_paint_alpha_clip_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-paint-alpha-clip-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_paint_alpha_clip_mask1");
-                       else
-                               dts_fail("utc_cairo_record90_paint_alpha_clip_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_paint_alpha_gl.c b/TC/testcase/utc_record90_paint_alpha_gl.c
deleted file mode 100644 (file)
index 8f82afb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_paint_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_paint_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_paint_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-paint-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_paint_alpha1");
-                       else
-                               dts_fail("utc_cairo_record90_paint_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_paint_alpha_image.c b/TC/testcase/utc_record90_paint_alpha_image.c
deleted file mode 100644 (file)
index 9917c3c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_paint_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_paint_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_paint_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-paint-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_paint_alpha1");
-                       else
-                               dts_fail("utc_cairo_record90_paint_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_paint_alpha_solid_clip_gl.c b/TC/testcase/utc_record90_paint_alpha_solid_clip_gl.c
deleted file mode 100644 (file)
index e83bba3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_paint_alpha_solid_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_paint_alpha_solid_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_paint_alpha_solid_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-paint-alpha-solid-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_paint_alpha_solid_clip1");
-                       else
-                               dts_fail("utc_cairo_record90_paint_alpha_solid_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_paint_alpha_solid_clip_image.c b/TC/testcase/utc_record90_paint_alpha_solid_clip_image.c
deleted file mode 100644 (file)
index c99ec20..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_paint_alpha_solid_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_paint_alpha_solid_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_paint_alpha_solid_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-paint-alpha-solid-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_paint_alpha_solid_clip1");
-                       else
-                               dts_fail("utc_cairo_record90_paint_alpha_solid_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_paint_gl.c b/TC/testcase/utc_record90_paint_gl.c
deleted file mode 100644 (file)
index e1dd2bd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_paint1");
-                       else
-                               dts_fail("utc_cairo_record90_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_paint_image.c b/TC/testcase/utc_record90_paint_image.c
deleted file mode 100644 (file)
index 3a23f97..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_paint1");
-                       else
-                               dts_fail("utc_cairo_record90_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_select_font_face_gl.c b/TC/testcase/utc_record90_select_font_face_gl.c
deleted file mode 100644 (file)
index 67533d2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_select_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_select_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_select_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-select-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_select_font_face1");
-                       else
-                               dts_fail("utc_cairo_record90_select_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_select_font_face_image.c b/TC/testcase/utc_record90_select_font_face_image.c
deleted file mode 100644 (file)
index fc6e166..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_select_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_select_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_select_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-select-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_select_font_face1");
-                       else
-                               dts_fail("utc_cairo_record90_select_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_self_intersecting_gl.c b/TC/testcase/utc_record90_self_intersecting_gl.c
deleted file mode 100644 (file)
index 2b76ca2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_self_intersecting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_self_intersecting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_self_intersecting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-self-intersecting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_self_intersecting1");
-                       else
-                               dts_fail("utc_cairo_record90_self_intersecting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_self_intersecting_image.c b/TC/testcase/utc_record90_self_intersecting_image.c
deleted file mode 100644 (file)
index 9ab9b44..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_self_intersecting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_self_intersecting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_self_intersecting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-self-intersecting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_self_intersecting1");
-                       else
-                               dts_fail("utc_cairo_record90_self_intersecting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_text_transform_gl.c b/TC/testcase/utc_record90_text_transform_gl.c
deleted file mode 100644 (file)
index 993c3ae..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_text_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_text_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_text_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-text-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_text_transform1");
-                       else
-                               dts_fail("utc_cairo_record90_text_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record90_text_transform_image.c b/TC/testcase/utc_record90_text_transform_image.c
deleted file mode 100644 (file)
index 6e614f1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record90_text_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record90_text_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record90_text_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record90-text-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record90_text_transform1");
-                       else
-                               dts_fail("utc_cairo_record90_text_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_none_gl.c b/TC/testcase/utc_record_extend_none_gl.c
deleted file mode 100644 (file)
index b108706..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_none1");
-                       else
-                               dts_fail("utc_cairo_record_extend_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_none_image.c b/TC/testcase/utc_record_extend_none_image.c
deleted file mode 100644 (file)
index c84e587..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_none1");
-                       else
-                               dts_fail("utc_cairo_record_extend_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_none_similar_gl.c b/TC/testcase/utc_record_extend_none_similar_gl.c
deleted file mode 100644 (file)
index 78f307a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_none_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_none_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_none_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-none-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_none_similar1");
-                       else
-                               dts_fail("utc_cairo_record_extend_none_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_none_similar_image.c b/TC/testcase/utc_record_extend_none_similar_image.c
deleted file mode 100644 (file)
index 970ba10..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_none_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_none_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_none_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-none-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_none_similar1");
-                       else
-                               dts_fail("utc_cairo_record_extend_none_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_pad_gl.c b/TC/testcase/utc_record_extend_pad_gl.c
deleted file mode 100644 (file)
index eb37913..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_pad1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_pad1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_pad1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-pad", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_pad1");
-                       else
-                               dts_fail("utc_cairo_record_extend_pad1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_pad_image.c b/TC/testcase/utc_record_extend_pad_image.c
deleted file mode 100644 (file)
index 5124a22..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_pad1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_pad1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_pad1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-pad", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_pad1");
-                       else
-                               dts_fail("utc_cairo_record_extend_pad1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_pad_similar_gl.c b/TC/testcase/utc_record_extend_pad_similar_gl.c
deleted file mode 100644 (file)
index 57eae4f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_pad_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_pad_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_pad_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-pad-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_pad_similar1");
-                       else
-                               dts_fail("utc_cairo_record_extend_pad_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_pad_similar_image.c b/TC/testcase/utc_record_extend_pad_similar_image.c
deleted file mode 100644 (file)
index 77e13da..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_pad_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_pad_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_pad_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-pad-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_pad_similar1");
-                       else
-                               dts_fail("utc_cairo_record_extend_pad_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_reflect_gl.c b/TC/testcase/utc_record_extend_reflect_gl.c
deleted file mode 100644 (file)
index 9b15109..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_reflect1");
-                       else
-                               dts_fail("utc_cairo_record_extend_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_reflect_image.c b/TC/testcase/utc_record_extend_reflect_image.c
deleted file mode 100644 (file)
index 0536d62..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_reflect1");
-                       else
-                               dts_fail("utc_cairo_record_extend_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_reflect_similar_gl.c b/TC/testcase/utc_record_extend_reflect_similar_gl.c
deleted file mode 100644 (file)
index d0da69d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_reflect_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_reflect_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_reflect_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-reflect-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_reflect_similar1");
-                       else
-                               dts_fail("utc_cairo_record_extend_reflect_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_reflect_similar_image.c b/TC/testcase/utc_record_extend_reflect_similar_image.c
deleted file mode 100644 (file)
index ad2466b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_reflect_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_reflect_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_reflect_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-reflect-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_reflect_similar1");
-                       else
-                               dts_fail("utc_cairo_record_extend_reflect_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_repeat_gl.c b/TC/testcase/utc_record_extend_repeat_gl.c
deleted file mode 100644 (file)
index 90ce69f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_repeat1");
-                       else
-                               dts_fail("utc_cairo_record_extend_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_repeat_image.c b/TC/testcase/utc_record_extend_repeat_image.c
deleted file mode 100644 (file)
index bed66b1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_repeat1");
-                       else
-                               dts_fail("utc_cairo_record_extend_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_repeat_similar_gl.c b/TC/testcase/utc_record_extend_repeat_similar_gl.c
deleted file mode 100644 (file)
index 23e7099..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_repeat_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_repeat_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_repeat_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-repeat-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_repeat_similar1");
-                       else
-                               dts_fail("utc_cairo_record_extend_repeat_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_extend_repeat_similar_image.c b/TC/testcase/utc_record_extend_repeat_similar_image.c
deleted file mode 100644 (file)
index d1d7d80..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_extend_repeat_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_extend_repeat_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_extend_repeat_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-extend-repeat-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_extend_repeat_similar1");
-                       else
-                               dts_fail("utc_cairo_record_extend_repeat_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_fill_alpha_gl.c b/TC/testcase/utc_record_fill_alpha_gl.c
deleted file mode 100644 (file)
index 36764ac..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_fill_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_fill_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_fill_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-fill-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_fill_alpha1");
-                       else
-                               dts_fail("utc_cairo_record_fill_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_fill_alpha_image.c b/TC/testcase/utc_record_fill_alpha_image.c
deleted file mode 100644 (file)
index 2a065f0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_fill_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_fill_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_fill_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-fill-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_fill_alpha1");
-                       else
-                               dts_fail("utc_cairo_record_fill_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_mesh_gl.c b/TC/testcase/utc_record_mesh_gl.c
deleted file mode 100644 (file)
index 8a906d5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_mesh1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_mesh1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_mesh1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-mesh", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_mesh1");
-                       else
-                               dts_fail("utc_cairo_record_mesh1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_mesh_image.c b/TC/testcase/utc_record_mesh_image.c
deleted file mode 100644 (file)
index f8bcb6c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_mesh1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_mesh1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_mesh1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-mesh", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_mesh1");
-                       else
-                               dts_fail("utc_cairo_record_mesh1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_paint_alpha_clip_gl.c b/TC/testcase/utc_record_paint_alpha_clip_gl.c
deleted file mode 100644 (file)
index b584ebb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_paint_alpha_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_paint_alpha_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_paint_alpha_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-paint-alpha-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_paint_alpha_clip1");
-                       else
-                               dts_fail("utc_cairo_record_paint_alpha_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_paint_alpha_clip_image.c b/TC/testcase/utc_record_paint_alpha_clip_image.c
deleted file mode 100644 (file)
index 7283b8f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_paint_alpha_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_paint_alpha_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_paint_alpha_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-paint-alpha-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_paint_alpha_clip1");
-                       else
-                               dts_fail("utc_cairo_record_paint_alpha_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_paint_alpha_clip_mask_gl.c b/TC/testcase/utc_record_paint_alpha_clip_mask_gl.c
deleted file mode 100644 (file)
index ff1112b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_paint_alpha_clip_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_paint_alpha_clip_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_paint_alpha_clip_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-paint-alpha-clip-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_paint_alpha_clip_mask1");
-                       else
-                               dts_fail("utc_cairo_record_paint_alpha_clip_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_paint_alpha_clip_mask_image.c b/TC/testcase/utc_record_paint_alpha_clip_mask_image.c
deleted file mode 100644 (file)
index 570421b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_paint_alpha_clip_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_paint_alpha_clip_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_paint_alpha_clip_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-paint-alpha-clip-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_paint_alpha_clip_mask1");
-                       else
-                               dts_fail("utc_cairo_record_paint_alpha_clip_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_paint_alpha_gl.c b/TC/testcase/utc_record_paint_alpha_gl.c
deleted file mode 100644 (file)
index 606d176..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_paint_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_paint_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_paint_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-paint-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_paint_alpha1");
-                       else
-                               dts_fail("utc_cairo_record_paint_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_paint_alpha_image.c b/TC/testcase/utc_record_paint_alpha_image.c
deleted file mode 100644 (file)
index 7d24fcc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_paint_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_paint_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_paint_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-paint-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_paint_alpha1");
-                       else
-                               dts_fail("utc_cairo_record_paint_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_paint_alpha_solid_clip_gl.c b/TC/testcase/utc_record_paint_alpha_solid_clip_gl.c
deleted file mode 100644 (file)
index 6751e1a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_paint_alpha_solid_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_paint_alpha_solid_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_paint_alpha_solid_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-paint-alpha-solid-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_paint_alpha_solid_clip1");
-                       else
-                               dts_fail("utc_cairo_record_paint_alpha_solid_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_paint_alpha_solid_clip_image.c b/TC/testcase/utc_record_paint_alpha_solid_clip_image.c
deleted file mode 100644 (file)
index e7c1c87..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_paint_alpha_solid_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_paint_alpha_solid_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_paint_alpha_solid_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-paint-alpha-solid-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_paint_alpha_solid_clip1");
-                       else
-                               dts_fail("utc_cairo_record_paint_alpha_solid_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_paint_gl.c b/TC/testcase/utc_record_paint_gl.c
deleted file mode 100644 (file)
index d8fa35b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_paint1");
-                       else
-                               dts_fail("utc_cairo_record_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_paint_image.c b/TC/testcase/utc_record_paint_image.c
deleted file mode 100644 (file)
index 7bf318a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_paint1");
-                       else
-                               dts_fail("utc_cairo_record_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_select_font_face_gl.c b/TC/testcase/utc_record_select_font_face_gl.c
deleted file mode 100644 (file)
index 2472b7d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_select_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_select_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_select_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-select-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_select_font_face1");
-                       else
-                               dts_fail("utc_cairo_record_select_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_select_font_face_image.c b/TC/testcase/utc_record_select_font_face_image.c
deleted file mode 100644 (file)
index b092377..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_select_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_select_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_select_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-select-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_select_font_face1");
-                       else
-                               dts_fail("utc_cairo_record_select_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_self_intersecting_gl.c b/TC/testcase/utc_record_self_intersecting_gl.c
deleted file mode 100644 (file)
index 6ec4f82..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_self_intersecting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_self_intersecting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_self_intersecting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-self-intersecting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_self_intersecting1");
-                       else
-                               dts_fail("utc_cairo_record_self_intersecting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_self_intersecting_image.c b/TC/testcase/utc_record_self_intersecting_image.c
deleted file mode 100644 (file)
index 1c43d44..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_self_intersecting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_self_intersecting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_self_intersecting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-self-intersecting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_self_intersecting1");
-                       else
-                               dts_fail("utc_cairo_record_self_intersecting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_text_transform_gl.c b/TC/testcase/utc_record_text_transform_gl.c
deleted file mode 100644 (file)
index c872cb0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_text_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_text_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_text_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-text-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_text_transform1");
-                       else
-                               dts_fail("utc_cairo_record_text_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_record_text_transform_image.c b/TC/testcase/utc_record_text_transform_image.c
deleted file mode 100644 (file)
index 0ec5910..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_record_text_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_record_text_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_record_text_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite record-text-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_record_text_transform1");
-                       else
-                               dts_fail("utc_cairo_record_text_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_extend_none_gl.c b/TC/testcase/utc_recording_surface_extend_none_gl.c
deleted file mode 100644 (file)
index f65a5f6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_extend_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_extend_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_extend_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-extend-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_extend_none1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_extend_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_extend_none_image.c b/TC/testcase/utc_recording_surface_extend_none_image.c
deleted file mode 100644 (file)
index 8636057..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_extend_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_extend_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_extend_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-extend-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_extend_none1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_extend_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_extend_pad_gl.c b/TC/testcase/utc_recording_surface_extend_pad_gl.c
deleted file mode 100644 (file)
index fbf0271..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_extend_pad1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_extend_pad1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_extend_pad1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-extend-pad", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_extend_pad1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_extend_pad1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_extend_pad_image.c b/TC/testcase/utc_recording_surface_extend_pad_image.c
deleted file mode 100644 (file)
index e47b2a6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_extend_pad1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_extend_pad1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_extend_pad1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-extend-pad", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_extend_pad1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_extend_pad1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_extend_reflect_gl.c b/TC/testcase/utc_recording_surface_extend_reflect_gl.c
deleted file mode 100644 (file)
index f403a2d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_extend_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_extend_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_extend_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-extend-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_extend_reflect1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_extend_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_extend_reflect_image.c b/TC/testcase/utc_recording_surface_extend_reflect_image.c
deleted file mode 100644 (file)
index 22c8af0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_extend_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_extend_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_extend_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-extend-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_extend_reflect1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_extend_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_extend_repeat_gl.c b/TC/testcase/utc_recording_surface_extend_repeat_gl.c
deleted file mode 100644 (file)
index 8e79cb6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_extend_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_extend_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_extend_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-extend-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_extend_repeat1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_extend_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_extend_repeat_image.c b/TC/testcase/utc_recording_surface_extend_repeat_image.c
deleted file mode 100644 (file)
index 0149c8c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_extend_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_extend_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_extend_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-extend-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_extend_repeat1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_extend_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_over_gl.c b/TC/testcase/utc_recording_surface_over_gl.c
deleted file mode 100644 (file)
index 8f259e4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_over1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_over1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_over1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-over", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_over1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_over1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_over_image.c b/TC/testcase/utc_recording_surface_over_image.c
deleted file mode 100644 (file)
index 6f31df4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_over1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_over1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_over1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-over", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_over1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_over1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_source_gl.c b/TC/testcase/utc_recording_surface_source_gl.c
deleted file mode 100644 (file)
index 865e858..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_source1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_recording_surface_source_image.c b/TC/testcase/utc_recording_surface_source_image.c
deleted file mode 100644 (file)
index c45114a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_recording_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_recording_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_recording_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite recording-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_recording_surface_source1");
-                       else
-                               dts_fail("utc_cairo_recording_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectangle_rounding_error_gl.c b/TC/testcase/utc_rectangle_rounding_error_gl.c
deleted file mode 100644 (file)
index c90edf4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectangle_rounding_error1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectangle_rounding_error1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectangle_rounding_error1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectangle-rounding-error", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectangle_rounding_error1");
-                       else
-                               dts_fail("utc_cairo_rectangle_rounding_error1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectangle_rounding_error_image.c b/TC/testcase/utc_rectangle_rounding_error_image.c
deleted file mode 100644 (file)
index 490829d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectangle_rounding_error1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectangle_rounding_error1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectangle_rounding_error1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectangle-rounding-error", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectangle_rounding_error1");
-                       else
-                               dts_fail("utc_cairo_rectangle_rounding_error1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_dash_gl.c b/TC/testcase/utc_rectilinear_dash_gl.c
deleted file mode 100644 (file)
index 760dcbf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_dash1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_dash_image.c b/TC/testcase/utc_rectilinear_dash_image.c
deleted file mode 100644 (file)
index 707b31d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_dash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_dash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_dash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-dash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_dash1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_dash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_dash_scale_gl.c b/TC/testcase/utc_rectilinear_dash_scale_gl.c
deleted file mode 100644 (file)
index 5b30404..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_dash_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_dash_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_dash_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-dash-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_dash_scale1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_dash_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_dash_scale_image.c b/TC/testcase/utc_rectilinear_dash_scale_image.c
deleted file mode 100644 (file)
index 2da9155..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_dash_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_dash_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_dash_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-dash-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_dash_scale1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_dash_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_dash_scale_unaligned_gl.c b/TC/testcase/utc_rectilinear_dash_scale_unaligned_gl.c
deleted file mode 100644 (file)
index 4d67cee..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_dash_scale_unaligned1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_dash_scale_unaligned1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_dash_scale_unaligned1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-dash-scale-unaligned", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_dash_scale_unaligned1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_dash_scale_unaligned1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_dash_scale_unaligned_image.c b/TC/testcase/utc_rectilinear_dash_scale_unaligned_image.c
deleted file mode 100644 (file)
index b29a1f0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_dash_scale_unaligned1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_dash_scale_unaligned1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_dash_scale_unaligned1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-dash-scale-unaligned", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_dash_scale_unaligned1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_dash_scale_unaligned1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_fill_gl.c b/TC/testcase/utc_rectilinear_fill_gl.c
deleted file mode 100644 (file)
index 825c789..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_fill1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_fill_image.c b/TC/testcase/utc_rectilinear_fill_image.c
deleted file mode 100644 (file)
index b03e14d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_fill1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_grid_gl.c b/TC/testcase/utc_rectilinear_grid_gl.c
deleted file mode 100644 (file)
index 07c326a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_grid1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_grid1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_grid1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-grid", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_grid1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_grid1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_grid_image.c b/TC/testcase/utc_rectilinear_grid_image.c
deleted file mode 100644 (file)
index 06ad966..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_grid1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_grid1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_grid1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-grid", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_grid1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_grid1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_miter_limit_gl.c b/TC/testcase/utc_rectilinear_miter_limit_gl.c
deleted file mode 100644 (file)
index 84ec928..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_miter_limit1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_miter_limit1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_miter_limit1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-miter-limit", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_miter_limit1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_miter_limit1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_miter_limit_image.c b/TC/testcase/utc_rectilinear_miter_limit_image.c
deleted file mode 100644 (file)
index 42918ba..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_miter_limit1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_miter_limit1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_miter_limit1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-miter-limit", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_miter_limit1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_miter_limit1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_stroke_gl.c b/TC/testcase/utc_rectilinear_stroke_gl.c
deleted file mode 100644 (file)
index b224df5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_stroke1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rectilinear_stroke_image.c b/TC/testcase/utc_rectilinear_stroke_image.c
deleted file mode 100644 (file)
index 845c7ed..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rectilinear_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rectilinear_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rectilinear_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rectilinear-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rectilinear_stroke1");
-                       else
-                               dts_fail("utc_cairo_rectilinear_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_reflected_stroke_gl.c b/TC/testcase/utc_reflected_stroke_gl.c
deleted file mode 100644 (file)
index b96d7cf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_reflected_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_reflected_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_reflected_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite reflected-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_reflected_stroke1");
-                       else
-                               dts_fail("utc_cairo_reflected_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_reflected_stroke_image.c b/TC/testcase/utc_reflected_stroke_image.c
deleted file mode 100644 (file)
index 7f792f7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_reflected_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_reflected_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_reflected_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite reflected-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_reflected_stroke1");
-                       else
-                               dts_fail("utc_cairo_reflected_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rel_path_gl.c b/TC/testcase/utc_rel_path_gl.c
deleted file mode 100644 (file)
index fa1c819..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rel_path1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rel_path1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rel_path1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rel-path", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rel_path1");
-                       else
-                               dts_fail("utc_cairo_rel_path1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rel_path_image.c b/TC/testcase/utc_rel_path_image.c
deleted file mode 100644 (file)
index f9709e0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rel_path1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rel_path1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rel_path1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rel-path", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rel_path1");
-                       else
-                               dts_fail("utc_cairo_rel_path1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rgb24_ignore_alpha_gl.c b/TC/testcase/utc_rgb24_ignore_alpha_gl.c
deleted file mode 100644 (file)
index 21f2ec8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rgb24_ignore_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rgb24_ignore_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rgb24_ignore_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rgb24-ignore-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rgb24_ignore_alpha1");
-                       else
-                               dts_fail("utc_cairo_rgb24_ignore_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rgb24_ignore_alpha_image.c b/TC/testcase/utc_rgb24_ignore_alpha_image.c
deleted file mode 100644 (file)
index 4287965..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rgb24_ignore_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rgb24_ignore_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rgb24_ignore_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rgb24-ignore-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rgb24_ignore_alpha1");
-                       else
-                               dts_fail("utc_cairo_rgb24_ignore_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rotate_clip_image_surface_paint_gl.c b/TC/testcase/utc_rotate_clip_image_surface_paint_gl.c
deleted file mode 100644 (file)
index 0240057..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rotate_clip_image_surface_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rotate_clip_image_surface_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rotate_clip_image_surface_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rotate-clip-image-surface-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rotate_clip_image_surface_paint1");
-                       else
-                               dts_fail("utc_cairo_rotate_clip_image_surface_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rotate_clip_image_surface_paint_image.c b/TC/testcase/utc_rotate_clip_image_surface_paint_image.c
deleted file mode 100644 (file)
index 1416266..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rotate_clip_image_surface_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rotate_clip_image_surface_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rotate_clip_image_surface_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rotate-clip-image-surface-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rotate_clip_image_surface_paint1");
-                       else
-                               dts_fail("utc_cairo_rotate_clip_image_surface_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rotate_image_surface_paint_gl.c b/TC/testcase/utc_rotate_image_surface_paint_gl.c
deleted file mode 100644 (file)
index 7fa6e00..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rotate_image_surface_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rotate_image_surface_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rotate_image_surface_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rotate-image-surface-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rotate_image_surface_paint1");
-                       else
-                               dts_fail("utc_cairo_rotate_image_surface_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rotate_image_surface_paint_image.c b/TC/testcase/utc_rotate_image_surface_paint_image.c
deleted file mode 100644 (file)
index bdfb3e4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rotate_image_surface_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rotate_image_surface_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rotate_image_surface_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rotate-image-surface-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rotate_image_surface_paint1");
-                       else
-                               dts_fail("utc_cairo_rotate_image_surface_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rotated_clip_gl.c b/TC/testcase/utc_rotated_clip_gl.c
deleted file mode 100644 (file)
index c92cb30..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rotated_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rotated_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rotated_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rotated-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rotated_clip1");
-                       else
-                               dts_fail("utc_cairo_rotated_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rotated_clip_image.c b/TC/testcase/utc_rotated_clip_image.c
deleted file mode 100644 (file)
index ffdd784..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rotated_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rotated_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rotated_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rotated-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rotated_clip1");
-                       else
-                               dts_fail("utc_cairo_rotated_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rounded_rectangle_fill_gl.c b/TC/testcase/utc_rounded_rectangle_fill_gl.c
deleted file mode 100644 (file)
index 903250b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rounded_rectangle_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rounded_rectangle_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rounded_rectangle_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rounded-rectangle-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rounded_rectangle_fill1");
-                       else
-                               dts_fail("utc_cairo_rounded_rectangle_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rounded_rectangle_fill_image.c b/TC/testcase/utc_rounded_rectangle_fill_image.c
deleted file mode 100644 (file)
index e97adf6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rounded_rectangle_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rounded_rectangle_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rounded_rectangle_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rounded-rectangle-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rounded_rectangle_fill1");
-                       else
-                               dts_fail("utc_cairo_rounded_rectangle_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rounded_rectangle_stroke_gl.c b/TC/testcase/utc_rounded_rectangle_stroke_gl.c
deleted file mode 100644 (file)
index 50edb2f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rounded_rectangle_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rounded_rectangle_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rounded_rectangle_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rounded-rectangle-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rounded_rectangle_stroke1");
-                       else
-                               dts_fail("utc_cairo_rounded_rectangle_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_rounded_rectangle_stroke_image.c b/TC/testcase/utc_rounded_rectangle_stroke_image.c
deleted file mode 100644 (file)
index 7af0ca1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_rounded_rectangle_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_rounded_rectangle_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_rounded_rectangle_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite rounded-rectangle-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_rounded_rectangle_stroke1");
-                       else
-                               dts_fail("utc_cairo_rounded_rectangle_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_scale_down_source_surface_paint_gl.c b/TC/testcase/utc_scale_down_source_surface_paint_gl.c
deleted file mode 100644 (file)
index 6c176b4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_scale_down_source_surface_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_scale_down_source_surface_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_scale_down_source_surface_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite scale-down-source-surface-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_scale_down_source_surface_paint1");
-                       else
-                               dts_fail("utc_cairo_scale_down_source_surface_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_scale_down_source_surface_paint_image.c b/TC/testcase/utc_scale_down_source_surface_paint_image.c
deleted file mode 100644 (file)
index d1f6adc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_scale_down_source_surface_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_scale_down_source_surface_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_scale_down_source_surface_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite scale-down-source-surface-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_scale_down_source_surface_paint1");
-                       else
-                               dts_fail("utc_cairo_scale_down_source_surface_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_scale_offset_image_gl.c b/TC/testcase/utc_scale_offset_image_gl.c
deleted file mode 100644 (file)
index 2372136..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_scale_offset_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_scale_offset_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_scale_offset_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite scale-offset-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_scale_offset_image1");
-                       else
-                               dts_fail("utc_cairo_scale_offset_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_scale_offset_image_image.c b/TC/testcase/utc_scale_offset_image_image.c
deleted file mode 100644 (file)
index 21de1eb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_scale_offset_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_scale_offset_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_scale_offset_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite scale-offset-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_scale_offset_image1");
-                       else
-                               dts_fail("utc_cairo_scale_offset_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_scale_offset_similar_gl.c b/TC/testcase/utc_scale_offset_similar_gl.c
deleted file mode 100644 (file)
index 9aca28e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_scale_offset_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_scale_offset_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_scale_offset_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite scale-offset-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_scale_offset_similar1");
-                       else
-                               dts_fail("utc_cairo_scale_offset_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_scale_offset_similar_image.c b/TC/testcase/utc_scale_offset_similar_image.c
deleted file mode 100644 (file)
index effef30..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_scale_offset_similar1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_scale_offset_similar1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_scale_offset_similar1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite scale-offset-similar", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_scale_offset_similar1");
-                       else
-                               dts_fail("utc_cairo_scale_offset_similar1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_scale_source_surface_paint_gl.c b/TC/testcase/utc_scale_source_surface_paint_gl.c
deleted file mode 100644 (file)
index 6d4e951..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_scale_source_surface_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_scale_source_surface_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_scale_source_surface_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite scale-source-surface-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_scale_source_surface_paint1");
-                       else
-                               dts_fail("utc_cairo_scale_source_surface_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_scale_source_surface_paint_image.c b/TC/testcase/utc_scale_source_surface_paint_image.c
deleted file mode 100644 (file)
index 836c0bd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_scale_source_surface_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_scale_source_surface_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_scale_source_surface_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite scale-source-surface-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_scale_source_surface_paint1");
-                       else
-                               dts_fail("utc_cairo_scale_source_surface_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_scaled_font_zero_matrix_gl.c b/TC/testcase/utc_scaled_font_zero_matrix_gl.c
deleted file mode 100644 (file)
index 7b0b722..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_scaled_font_zero_matrix1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_scaled_font_zero_matrix1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_scaled_font_zero_matrix1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite scaled-font-zero-matrix", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_scaled_font_zero_matrix1");
-                       else
-                               dts_fail("utc_cairo_scaled_font_zero_matrix1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_scaled_font_zero_matrix_image.c b/TC/testcase/utc_scaled_font_zero_matrix_image.c
deleted file mode 100644 (file)
index 3996b8d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_scaled_font_zero_matrix1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_scaled_font_zero_matrix1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_scaled_font_zero_matrix1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite scaled-font-zero-matrix", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_scaled_font_zero_matrix1");
-                       else
-                               dts_fail("utc_cairo_scaled_font_zero_matrix1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_select_font_face_gl.c b/TC/testcase/utc_select_font_face_gl.c
deleted file mode 100644 (file)
index 447d3e6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_select_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_select_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_select_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite select-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_select_font_face1");
-                       else
-                               dts_fail("utc_cairo_select_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_select_font_face_image.c b/TC/testcase/utc_select_font_face_image.c
deleted file mode 100644 (file)
index 3adc3da..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_select_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_select_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_select_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite select-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_select_font_face1");
-                       else
-                               dts_fail("utc_cairo_select_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_select_font_no_show_text_gl.c b/TC/testcase/utc_select_font_no_show_text_gl.c
deleted file mode 100644 (file)
index 2a32f21..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_select_font_no_show_text1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_select_font_no_show_text1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_select_font_no_show_text1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite select-font-no-show-text", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_select_font_no_show_text1");
-                       else
-                               dts_fail("utc_cairo_select_font_no_show_text1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_select_font_no_show_text_image.c b/TC/testcase/utc_select_font_no_show_text_image.c
deleted file mode 100644 (file)
index 7e7b2fa..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_select_font_no_show_text1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_select_font_no_show_text1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_select_font_no_show_text1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite select-font-no-show-text", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_select_font_no_show_text1");
-                       else
-                               dts_fail("utc_cairo_select_font_no_show_text1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_self_copy_gl.c b/TC/testcase/utc_self_copy_gl.c
deleted file mode 100644 (file)
index d53f5df..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_self_copy1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_self_copy1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_self_copy1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite self-copy", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_self_copy1");
-                       else
-                               dts_fail("utc_cairo_self_copy1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_self_copy_image.c b/TC/testcase/utc_self_copy_image.c
deleted file mode 100644 (file)
index dda3b5f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_self_copy1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_self_copy1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_self_copy1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite self-copy", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_self_copy1");
-                       else
-                               dts_fail("utc_cairo_self_copy1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_self_copy_overlap_gl.c b/TC/testcase/utc_self_copy_overlap_gl.c
deleted file mode 100644 (file)
index 7befa9d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_self_copy_overlap1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_self_copy_overlap1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_self_copy_overlap1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite self-copy-overlap", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_self_copy_overlap1");
-                       else
-                               dts_fail("utc_cairo_self_copy_overlap1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_self_copy_overlap_image.c b/TC/testcase/utc_self_copy_overlap_image.c
deleted file mode 100644 (file)
index 6789c75..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_self_copy_overlap1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_self_copy_overlap1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_self_copy_overlap1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite self-copy-overlap", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_self_copy_overlap1");
-                       else
-                               dts_fail("utc_cairo_self_copy_overlap1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_self_intersecting_gl.c b/TC/testcase/utc_self_intersecting_gl.c
deleted file mode 100644 (file)
index 667124c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_self_intersecting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_self_intersecting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_self_intersecting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite self-intersecting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_self_intersecting1");
-                       else
-                               dts_fail("utc_cairo_self_intersecting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_self_intersecting_image.c b/TC/testcase/utc_self_intersecting_image.c
deleted file mode 100644 (file)
index 440a970..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_self_intersecting1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_self_intersecting1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_self_intersecting1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite self-intersecting", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_self_intersecting1");
-                       else
-                               dts_fail("utc_cairo_self_intersecting1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_set_source_gl.c b/TC/testcase/utc_set_source_gl.c
deleted file mode 100644 (file)
index a1ece62..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_set_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_set_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_set_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite set-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_set_source1");
-                       else
-                               dts_fail("utc_cairo_set_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_set_source_image.c b/TC/testcase/utc_set_source_image.c
deleted file mode 100644 (file)
index 84e4ebf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_set_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_set_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_set_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite set-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_set_source1");
-                       else
-                               dts_fail("utc_cairo_set_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_shape_general_convex_gl.c b/TC/testcase/utc_shape_general_convex_gl.c
deleted file mode 100644 (file)
index e74e4f4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_shape_general_convex1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_shape_general_convex1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_shape_general_convex1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite shape-general-convex", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_shape_general_convex1");
-                       else
-                               dts_fail("utc_cairo_shape_general_convex1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_shape_general_convex_image.c b/TC/testcase/utc_shape_general_convex_image.c
deleted file mode 100644 (file)
index 697f205..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_shape_general_convex1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_shape_general_convex1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_shape_general_convex1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite shape-general-convex", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_shape_general_convex1");
-                       else
-                               dts_fail("utc_cairo_shape_general_convex1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_shape_sierpinski_gl.c b/TC/testcase/utc_shape_sierpinski_gl.c
deleted file mode 100644 (file)
index 8ca3413..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_shape_sierpinski1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_shape_sierpinski1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_shape_sierpinski1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite shape-sierpinski", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_shape_sierpinski1");
-                       else
-                               dts_fail("utc_cairo_shape_sierpinski1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_shape_sierpinski_image.c b/TC/testcase/utc_shape_sierpinski_image.c
deleted file mode 100644 (file)
index 2295ba8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_shape_sierpinski1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_shape_sierpinski1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_shape_sierpinski1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite shape-sierpinski", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_shape_sierpinski1");
-                       else
-                               dts_fail("utc_cairo_shape_sierpinski1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_show_glyphs_advance_gl.c b/TC/testcase/utc_show_glyphs_advance_gl.c
deleted file mode 100644 (file)
index 4bd4748..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_show_glyphs_advance1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_show_glyphs_advance1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_show_glyphs_advance1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite show-glyphs-advance", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_show_glyphs_advance1");
-                       else
-                               dts_fail("utc_cairo_show_glyphs_advance1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_show_glyphs_advance_image.c b/TC/testcase/utc_show_glyphs_advance_image.c
deleted file mode 100644 (file)
index 4a8f012..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_show_glyphs_advance1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_show_glyphs_advance1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_show_glyphs_advance1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite show-glyphs-advance", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_show_glyphs_advance1");
-                       else
-                               dts_fail("utc_cairo_show_glyphs_advance1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_show_glyphs_many_gl.c b/TC/testcase/utc_show_glyphs_many_gl.c
deleted file mode 100644 (file)
index 7bf61fa..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_show_glyphs_many1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_show_glyphs_many1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_show_glyphs_many1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite show-glyphs-many", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_show_glyphs_many1");
-                       else
-                               dts_fail("utc_cairo_show_glyphs_many1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_show_glyphs_many_image.c b/TC/testcase/utc_show_glyphs_many_image.c
deleted file mode 100644 (file)
index 058b2ee..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_show_glyphs_many1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_show_glyphs_many1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_show_glyphs_many1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite show-glyphs-many", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_show_glyphs_many1");
-                       else
-                               dts_fail("utc_cairo_show_glyphs_many1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_show_text_current_point_gl.c b/TC/testcase/utc_show_text_current_point_gl.c
deleted file mode 100644 (file)
index 3cc8c87..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_show_text_current_point1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_show_text_current_point1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_show_text_current_point1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite show-text-current-point", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_show_text_current_point1");
-                       else
-                               dts_fail("utc_cairo_show_text_current_point1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_show_text_current_point_image.c b/TC/testcase/utc_show_text_current_point_image.c
deleted file mode 100644 (file)
index 080d31e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_show_text_current_point1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_show_text_current_point1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_show_text_current_point1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite show-text-current-point", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_show_text_current_point1");
-                       else
-                               dts_fail("utc_cairo_show_text_current_point1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_skew_extreme_gl.c b/TC/testcase/utc_skew_extreme_gl.c
deleted file mode 100644 (file)
index 7cfd5e7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_skew_extreme1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_skew_extreme1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_skew_extreme1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite skew-extreme", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_skew_extreme1");
-                       else
-                               dts_fail("utc_cairo_skew_extreme1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_skew_extreme_image.c b/TC/testcase/utc_skew_extreme_image.c
deleted file mode 100644 (file)
index 93096e9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_skew_extreme1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_skew_extreme1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_skew_extreme1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite skew-extreme", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_skew_extreme1");
-                       else
-                               dts_fail("utc_cairo_skew_extreme1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_fill_gl.c b/TC/testcase/utc_smask_fill_gl.c
deleted file mode 100644 (file)
index a1f3278..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_fill1(void)
-{
-       char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_fill1");
-                       else
-                               dts_fail("utc_cairo_smask_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_fill_image.c b/TC/testcase/utc_smask_fill_image.c
deleted file mode 100644 (file)
index 5000a6f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_fill1(void)
-{
-       char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_fill1");
-                       else
-                               dts_fail("utc_cairo_smask_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_gl.c b/TC/testcase/utc_smask_gl.c
deleted file mode 100644 (file)
index 18fca7b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask1");
-                       else
-                               dts_fail("utc_cairo_smask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_image.c b/TC/testcase/utc_smask_image.c
deleted file mode 100644 (file)
index 20d4d80..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask1");
-                       else
-                               dts_fail("utc_cairo_smask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_image_mask_gl.c b/TC/testcase/utc_smask_image_mask_gl.c
deleted file mode 100644 (file)
index fce8c30..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_image_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_image_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_image_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-image-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_image_mask1");
-                       else
-                               dts_fail("utc_cairo_smask_image_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_image_mask_image.c b/TC/testcase/utc_smask_image_mask_image.c
deleted file mode 100644 (file)
index 09f7bbb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_image_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_image_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_image_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-image-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_image_mask1");
-                       else
-                               dts_fail("utc_cairo_smask_image_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_mask_gl.c b/TC/testcase/utc_smask_mask_gl.c
deleted file mode 100644 (file)
index f91e778..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_mask1");
-                       else
-                               dts_fail("utc_cairo_smask_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_mask_image.c b/TC/testcase/utc_smask_mask_image.c
deleted file mode 100644 (file)
index 07364fb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_mask1");
-                       else
-                               dts_fail("utc_cairo_smask_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_paint_gl.c b/TC/testcase/utc_smask_paint_gl.c
deleted file mode 100644 (file)
index 673a439..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_paint1");
-                       else
-                               dts_fail("utc_cairo_smask_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_paint_image.c b/TC/testcase/utc_smask_paint_image.c
deleted file mode 100644 (file)
index ed72df0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_paint1");
-                       else
-                               dts_fail("utc_cairo_smask_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_stroke_gl.c b/TC/testcase/utc_smask_stroke_gl.c
deleted file mode 100644 (file)
index acaee6f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_stroke1");
-                       else
-                               dts_fail("utc_cairo_smask_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_stroke_image.c b/TC/testcase/utc_smask_stroke_image.c
deleted file mode 100644 (file)
index 85128cb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_stroke1");
-                       else
-                               dts_fail("utc_cairo_smask_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_text_gl.c b/TC/testcase/utc_smask_text_gl.c
deleted file mode 100644 (file)
index 9acff9c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_text1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_text1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_text1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-text", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_text1");
-                       else
-                               dts_fail("utc_cairo_smask_text1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_smask_text_image.c b/TC/testcase/utc_smask_text_image.c
deleted file mode 100644 (file)
index bd2e1ee..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_smask_text1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_smask_text1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_smask_text1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite smask-text", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_smask_text1");
-                       else
-                               dts_fail("utc_cairo_smask_text1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_solid_pattern_cache_stress_gl.c b/TC/testcase/utc_solid_pattern_cache_stress_gl.c
deleted file mode 100644 (file)
index 0b7b1ec..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_solid_pattern_cache_stress1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_solid_pattern_cache_stress1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_solid_pattern_cache_stress1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite solid-pattern-cache-stress", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_solid_pattern_cache_stress1");
-                       else
-                               dts_fail("utc_cairo_solid_pattern_cache_stress1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_solid_pattern_cache_stress_image.c b/TC/testcase/utc_solid_pattern_cache_stress_image.c
deleted file mode 100644 (file)
index e2ab0de..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_solid_pattern_cache_stress1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_solid_pattern_cache_stress1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_solid_pattern_cache_stress1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite solid-pattern-cache-stress", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_solid_pattern_cache_stress1");
-                       else
-                               dts_fail("utc_cairo_solid_pattern_cache_stress1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_source_clip_gl.c b/TC/testcase/utc_source_clip_gl.c
deleted file mode 100644 (file)
index 5987fdd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_source_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_source_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_source_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite source-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_source_clip1");
-                       else
-                               dts_fail("utc_cairo_source_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_source_clip_image.c b/TC/testcase/utc_source_clip_image.c
deleted file mode 100644 (file)
index 8243664..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_source_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_source_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_source_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite source-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_source_clip1");
-                       else
-                               dts_fail("utc_cairo_source_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_source_clip_scale_gl.c b/TC/testcase/utc_source_clip_scale_gl.c
deleted file mode 100644 (file)
index 4ea80c7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_source_clip_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_source_clip_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_source_clip_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite source-clip-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_source_clip_scale1");
-                       else
-                               dts_fail("utc_cairo_source_clip_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_source_clip_scale_image.c b/TC/testcase/utc_source_clip_scale_image.c
deleted file mode 100644 (file)
index 7d6929c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_source_clip_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_source_clip_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_source_clip_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite source-clip-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_source_clip_scale1");
-                       else
-                               dts_fail("utc_cairo_source_clip_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_source_surface_scale_paint_gl.c b/TC/testcase/utc_source_surface_scale_paint_gl.c
deleted file mode 100644 (file)
index 61b59d0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_source_surface_scale_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_source_surface_scale_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_source_surface_scale_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite source-surface-scale-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_source_surface_scale_paint1");
-                       else
-                               dts_fail("utc_cairo_source_surface_scale_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_source_surface_scale_paint_image.c b/TC/testcase/utc_source_surface_scale_paint_image.c
deleted file mode 100644 (file)
index 2819507..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_source_surface_scale_paint1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_source_surface_scale_paint1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_source_surface_scale_paint1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite source-surface-scale-paint", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_source_surface_scale_paint1");
-                       else
-                               dts_fail("utc_cairo_source_surface_scale_paint1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_spline_decomposition_gl.c b/TC/testcase/utc_spline_decomposition_gl.c
deleted file mode 100644 (file)
index 8470428..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_spline_decomposition1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_spline_decomposition1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_spline_decomposition1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite spline-decomposition", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_spline_decomposition1");
-                       else
-                               dts_fail("utc_cairo_spline_decomposition1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_spline_decomposition_image.c b/TC/testcase/utc_spline_decomposition_image.c
deleted file mode 100644 (file)
index 21414e9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_spline_decomposition1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_spline_decomposition1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_spline_decomposition1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite spline-decomposition", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_spline_decomposition1");
-                       else
-                               dts_fail("utc_cairo_spline_decomposition1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_stride_12_image_gl.c b/TC/testcase/utc_stride_12_image_gl.c
deleted file mode 100644 (file)
index 40adb0b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_stride_12_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_stride_12_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_stride_12_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite stride-12-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_stride_12_image1");
-                       else
-                               dts_fail("utc_cairo_stride_12_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_stride_12_image_image.c b/TC/testcase/utc_stride_12_image_image.c
deleted file mode 100644 (file)
index 8e34ab1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_stride_12_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_stride_12_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_stride_12_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite stride-12-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_stride_12_image1");
-                       else
-                               dts_fail("utc_cairo_stride_12_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_stroke_ctm_caps_gl.c b/TC/testcase/utc_stroke_ctm_caps_gl.c
deleted file mode 100644 (file)
index c8f083b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_stroke_ctm_caps1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_stroke_ctm_caps1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_stroke_ctm_caps1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite stroke-ctm-caps", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_stroke_ctm_caps1");
-                       else
-                               dts_fail("utc_cairo_stroke_ctm_caps1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_stroke_ctm_caps_image.c b/TC/testcase/utc_stroke_ctm_caps_image.c
deleted file mode 100644 (file)
index 20b5ca3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_stroke_ctm_caps1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_stroke_ctm_caps1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_stroke_ctm_caps1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite stroke-ctm-caps", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_stroke_ctm_caps1");
-                       else
-                               dts_fail("utc_cairo_stroke_ctm_caps1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_stroke_image_gl.c b/TC/testcase/utc_stroke_image_gl.c
deleted file mode 100644 (file)
index fad88d1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_stroke_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_stroke_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_stroke_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite stroke-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_stroke_image1");
-                       else
-                               dts_fail("utc_cairo_stroke_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_stroke_image_image.c b/TC/testcase/utc_stroke_image_image.c
deleted file mode 100644 (file)
index 775d6bc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_stroke_image1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_stroke_image1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_stroke_image1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite stroke-image", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_stroke_image1");
-                       else
-                               dts_fail("utc_cairo_stroke_image1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_stroke_open_box_gl.c b/TC/testcase/utc_stroke_open_box_gl.c
deleted file mode 100644 (file)
index 484323c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_stroke_open_box1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_stroke_open_box1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_stroke_open_box1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite stroke-open-box", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_stroke_open_box1");
-                       else
-                               dts_fail("utc_cairo_stroke_open_box1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_stroke_open_box_image.c b/TC/testcase/utc_stroke_open_box_image.c
deleted file mode 100644 (file)
index 6d0ed88..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_stroke_open_box1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_stroke_open_box1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_stroke_open_box1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite stroke-open-box", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_stroke_open_box1");
-                       else
-                               dts_fail("utc_cairo_stroke_open_box1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_stroke_pattern_gl.c b/TC/testcase/utc_stroke_pattern_gl.c
deleted file mode 100644 (file)
index d379542..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_stroke_pattern1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_stroke_pattern1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_stroke_pattern1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite stroke-pattern", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_stroke_pattern1");
-                       else
-                               dts_fail("utc_cairo_stroke_pattern1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_stroke_pattern_image.c b/TC/testcase/utc_stroke_pattern_image.c
deleted file mode 100644 (file)
index d0094f5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_stroke_pattern1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_stroke_pattern1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_stroke_pattern1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite stroke-pattern", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_stroke_pattern1");
-                       else
-                               dts_fail("utc_cairo_stroke_pattern1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_gl.c b/TC/testcase/utc_subsurface_gl.c
deleted file mode 100644 (file)
index a970f5c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface1");
-                       else
-                               dts_fail("utc_cairo_subsurface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_image.c b/TC/testcase/utc_subsurface_image.c
deleted file mode 100644 (file)
index 5dba254..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface1");
-                       else
-                               dts_fail("utc_cairo_subsurface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_image_repeat_gl.c b/TC/testcase/utc_subsurface_image_repeat_gl.c
deleted file mode 100644 (file)
index 2ddeef3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_image_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_image_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_image_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-image-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_image_repeat1");
-                       else
-                               dts_fail("utc_cairo_subsurface_image_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_image_repeat_image.c b/TC/testcase/utc_subsurface_image_repeat_image.c
deleted file mode 100644 (file)
index 2cff3fb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_image_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_image_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_image_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-image-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_image_repeat1");
-                       else
-                               dts_fail("utc_cairo_subsurface_image_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_modify_child_gl.c b/TC/testcase/utc_subsurface_modify_child_gl.c
deleted file mode 100644 (file)
index 7d23a66..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_modify_child1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_modify_child1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_modify_child1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-modify-child", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_modify_child1");
-                       else
-                               dts_fail("utc_cairo_subsurface_modify_child1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_modify_child_image.c b/TC/testcase/utc_subsurface_modify_child_image.c
deleted file mode 100644 (file)
index 423bf0c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_modify_child1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_modify_child1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_modify_child1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-modify-child", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_modify_child1");
-                       else
-                               dts_fail("utc_cairo_subsurface_modify_child1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_modify_parent_gl.c b/TC/testcase/utc_subsurface_modify_parent_gl.c
deleted file mode 100644 (file)
index ef6c6f5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_modify_parent1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_modify_parent1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_modify_parent1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-modify-parent", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_modify_parent1");
-                       else
-                               dts_fail("utc_cairo_subsurface_modify_parent1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_modify_parent_image.c b/TC/testcase/utc_subsurface_modify_parent_image.c
deleted file mode 100644 (file)
index f77d6f5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_modify_parent1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_modify_parent1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_modify_parent1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-modify-parent", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_modify_parent1");
-                       else
-                               dts_fail("utc_cairo_subsurface_modify_parent1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_outside_target_gl.c b/TC/testcase/utc_subsurface_outside_target_gl.c
deleted file mode 100644 (file)
index eb1040a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_outside_target1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_outside_target1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_outside_target1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-outside-target", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_outside_target1");
-                       else
-                               dts_fail("utc_cairo_subsurface_outside_target1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_outside_target_image.c b/TC/testcase/utc_subsurface_outside_target_image.c
deleted file mode 100644 (file)
index c93a67e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_outside_target1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_outside_target1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_outside_target1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-outside-target", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_outside_target1");
-                       else
-                               dts_fail("utc_cairo_subsurface_outside_target1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_pad_gl.c b/TC/testcase/utc_subsurface_pad_gl.c
deleted file mode 100644 (file)
index 4b32a52..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_pad1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_pad1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_pad1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-pad", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_pad1");
-                       else
-                               dts_fail("utc_cairo_subsurface_pad1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_pad_image.c b/TC/testcase/utc_subsurface_pad_image.c
deleted file mode 100644 (file)
index 53bce2c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_pad1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_pad1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_pad1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-pad", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_pad1");
-                       else
-                               dts_fail("utc_cairo_subsurface_pad1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_reflect_gl.c b/TC/testcase/utc_subsurface_reflect_gl.c
deleted file mode 100644 (file)
index 53bbb5b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_reflect1");
-                       else
-                               dts_fail("utc_cairo_subsurface_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_reflect_image.c b/TC/testcase/utc_subsurface_reflect_image.c
deleted file mode 100644 (file)
index c1b592f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_reflect1");
-                       else
-                               dts_fail("utc_cairo_subsurface_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_repeat_gl.c b/TC/testcase/utc_subsurface_repeat_gl.c
deleted file mode 100644 (file)
index 0309efd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_repeat1");
-                       else
-                               dts_fail("utc_cairo_subsurface_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_repeat_image.c b/TC/testcase/utc_subsurface_repeat_image.c
deleted file mode 100644 (file)
index 79b2c4b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_repeat1");
-                       else
-                               dts_fail("utc_cairo_subsurface_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_scale_gl.c b/TC/testcase/utc_subsurface_scale_gl.c
deleted file mode 100644 (file)
index d23667d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_scale1");
-                       else
-                               dts_fail("utc_cairo_subsurface_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_scale_image.c b/TC/testcase/utc_subsurface_scale_image.c
deleted file mode 100644 (file)
index 0dbc772..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_scale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_scale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_scale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-scale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_scale1");
-                       else
-                               dts_fail("utc_cairo_subsurface_scale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_similar_repeat_gl.c b/TC/testcase/utc_subsurface_similar_repeat_gl.c
deleted file mode 100644 (file)
index d4cd617..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_similar_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_similar_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_similar_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-similar-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_similar_repeat1");
-                       else
-                               dts_fail("utc_cairo_subsurface_similar_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_subsurface_similar_repeat_image.c b/TC/testcase/utc_subsurface_similar_repeat_image.c
deleted file mode 100644 (file)
index fba4a2a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_subsurface_similar_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_subsurface_similar_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_subsurface_similar_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite subsurface-similar-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_subsurface_similar_repeat1");
-                       else
-                               dts_fail("utc_cairo_subsurface_similar_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_finish_twice_gl.c b/TC/testcase/utc_surface_finish_twice_gl.c
deleted file mode 100644 (file)
index e3247ef..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_finish_twice1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_finish_twice1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_finish_twice1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-finish-twice", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_finish_twice1");
-                       else
-                               dts_fail("utc_cairo_surface_finish_twice1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_finish_twice_image.c b/TC/testcase/utc_surface_finish_twice_image.c
deleted file mode 100644 (file)
index 2b38f86..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_finish_twice1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_finish_twice1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_finish_twice1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-finish-twice", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_finish_twice1");
-                       else
-                               dts_fail("utc_cairo_surface_finish_twice1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_big_scale_down_gl.c b/TC/testcase/utc_surface_pattern_big_scale_down_gl.c
deleted file mode 100644 (file)
index 79b3a96..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_big_scale_down1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_big_scale_down1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_big_scale_down1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-big-scale-down", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_big_scale_down1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_big_scale_down1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_big_scale_down_image.c b/TC/testcase/utc_surface_pattern_big_scale_down_image.c
deleted file mode 100644 (file)
index f78cc1b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_big_scale_down1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_big_scale_down1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_big_scale_down1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-big-scale-down", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_big_scale_down1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_big_scale_down1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_gl.c b/TC/testcase/utc_surface_pattern_gl.c
deleted file mode 100644 (file)
index 07ed82d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_image.c b/TC/testcase/utc_surface_pattern_image.c
deleted file mode 100644 (file)
index ef62b50..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_operator_gl.c b/TC/testcase/utc_surface_pattern_operator_gl.c
deleted file mode 100644 (file)
index b5f4d04..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_operator1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_operator1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_operator1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-operator", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_operator1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_operator1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_operator_image.c b/TC/testcase/utc_surface_pattern_operator_image.c
deleted file mode 100644 (file)
index f1d4b00..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_operator1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_operator1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_operator1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-operator", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_operator1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_operator1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_down_extend_none_gl.c b/TC/testcase/utc_surface_pattern_scale_down_extend_none_gl.c
deleted file mode 100644 (file)
index bf4a73e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_down_extend_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_down_extend_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_down_extend_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-down-extend-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_down_extend_none1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_down_extend_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_down_extend_none_image.c b/TC/testcase/utc_surface_pattern_scale_down_extend_none_image.c
deleted file mode 100644 (file)
index 38d0aba..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_down_extend_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_down_extend_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_down_extend_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-down-extend-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_down_extend_none1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_down_extend_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_down_extend_pad_gl.c b/TC/testcase/utc_surface_pattern_scale_down_extend_pad_gl.c
deleted file mode 100644 (file)
index 2133eaa..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_down_extend_pad1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_down_extend_pad1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_down_extend_pad1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-down-extend-pad", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_down_extend_pad1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_down_extend_pad1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_down_extend_pad_image.c b/TC/testcase/utc_surface_pattern_scale_down_extend_pad_image.c
deleted file mode 100644 (file)
index 823c26a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_down_extend_pad1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_down_extend_pad1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_down_extend_pad1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-down-extend-pad", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_down_extend_pad1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_down_extend_pad1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_down_extend_reflect_gl.c b/TC/testcase/utc_surface_pattern_scale_down_extend_reflect_gl.c
deleted file mode 100644 (file)
index bbd8e60..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_down_extend_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_down_extend_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_down_extend_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-down-extend-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_down_extend_reflect1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_down_extend_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_down_extend_reflect_image.c b/TC/testcase/utc_surface_pattern_scale_down_extend_reflect_image.c
deleted file mode 100644 (file)
index f8c44ce..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_down_extend_reflect1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_down_extend_reflect1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_down_extend_reflect1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-down-extend-reflect", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_down_extend_reflect1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_down_extend_reflect1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_down_extend_repeat_gl.c b/TC/testcase/utc_surface_pattern_scale_down_extend_repeat_gl.c
deleted file mode 100644 (file)
index 9e8e861..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_down_extend_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_down_extend_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_down_extend_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-down-extend-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_down_extend_repeat1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_down_extend_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_down_extend_repeat_image.c b/TC/testcase/utc_surface_pattern_scale_down_extend_repeat_image.c
deleted file mode 100644 (file)
index 449329e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_down_extend_repeat1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_down_extend_repeat1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_down_extend_repeat1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-down-extend-repeat", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_down_extend_repeat1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_down_extend_repeat1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_down_gl.c b/TC/testcase/utc_surface_pattern_scale_down_gl.c
deleted file mode 100644 (file)
index 558d26c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_down1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_down1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_down1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-down", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_down1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_down1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_down_image.c b/TC/testcase/utc_surface_pattern_scale_down_image.c
deleted file mode 100644 (file)
index 4be3bcb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_down1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_down1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_down1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-down", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_down1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_down1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_up_gl.c b/TC/testcase/utc_surface_pattern_scale_up_gl.c
deleted file mode 100644 (file)
index 765bb4c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_up1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_up1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_up1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-up", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_up1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_up1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_surface_pattern_scale_up_image.c b/TC/testcase/utc_surface_pattern_scale_up_image.c
deleted file mode 100644 (file)
index ffd0ba8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_surface_pattern_scale_up1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_surface_pattern_scale_up1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_surface_pattern_scale_up1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite surface-pattern-scale-up", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_surface_pattern_scale_up1");
-                       else
-                               dts_fail("utc_cairo_surface_pattern_scale_up1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_svg_clip_gl.c b/TC/testcase/utc_svg_clip_gl.c
deleted file mode 100644 (file)
index 052a4a4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_svg_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_svg_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_svg_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite svg-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_svg_clip1");
-                       else
-                               dts_fail("utc_cairo_svg_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_svg_clip_image.c b/TC/testcase/utc_svg_clip_image.c
deleted file mode 100644 (file)
index 56c1c6c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_svg_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_svg_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_svg_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite svg-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_svg_clip1");
-                       else
-                               dts_fail("utc_cairo_svg_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_svg_surface_gl.c b/TC/testcase/utc_svg_surface_gl.c
deleted file mode 100644 (file)
index 47f67a1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_svg_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_svg_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_svg_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite svg-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_svg_surface1");
-                       else
-                               dts_fail("utc_cairo_svg_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_svg_surface_image.c b/TC/testcase/utc_svg_surface_image.c
deleted file mode 100644 (file)
index b00c53d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_svg_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_svg_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_svg_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite svg-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_svg_surface1");
-                       else
-                               dts_fail("utc_cairo_svg_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_svg_surface_source_gl.c b/TC/testcase/utc_svg_surface_source_gl.c
deleted file mode 100644 (file)
index 35a5b30..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_svg_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_svg_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_svg_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite svg-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_svg_surface_source1");
-                       else
-                               dts_fail("utc_cairo_svg_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_svg_surface_source_image.c b/TC/testcase/utc_svg_surface_source_image.c
deleted file mode 100644 (file)
index db79ecd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_svg_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_svg_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_svg_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite svg-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_svg_surface_source1");
-                       else
-                               dts_fail("utc_cairo_svg_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_gray_gl.c b/TC/testcase/utc_text_antialias_gray_gl.c
deleted file mode 100644 (file)
index 71c9f92..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_gray1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_gray1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_gray1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-gray", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_gray1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_gray1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_gray_image.c b/TC/testcase/utc_text_antialias_gray_image.c
deleted file mode 100644 (file)
index 5095885..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_gray1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_gray1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_gray1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-gray", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_gray1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_gray1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_none_gl.c b/TC/testcase/utc_text_antialias_none_gl.c
deleted file mode 100644 (file)
index 239bc3c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_none1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_none_image.c b/TC/testcase/utc_text_antialias_none_image.c
deleted file mode 100644 (file)
index d0e307e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_none1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_subpixel_bgr_gl.c b/TC/testcase/utc_text_antialias_subpixel_bgr_gl.c
deleted file mode 100644 (file)
index d0ffefa..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_subpixel_bgr1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_subpixel_bgr1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_subpixel_bgr1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-subpixel-bgr", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_subpixel_bgr1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_subpixel_bgr1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_subpixel_bgr_image.c b/TC/testcase/utc_text_antialias_subpixel_bgr_image.c
deleted file mode 100644 (file)
index b730bc8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_subpixel_bgr1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_subpixel_bgr1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_subpixel_bgr1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-subpixel-bgr", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_subpixel_bgr1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_subpixel_bgr1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_subpixel_gl.c b/TC/testcase/utc_text_antialias_subpixel_gl.c
deleted file mode 100644 (file)
index 04d582d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_subpixel1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_subpixel1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_subpixel1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-subpixel", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_subpixel1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_subpixel1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_subpixel_image.c b/TC/testcase/utc_text_antialias_subpixel_image.c
deleted file mode 100644 (file)
index 4ea9d84..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_subpixel1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_subpixel1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_subpixel1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-subpixel", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_subpixel1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_subpixel1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_subpixel_rgb_gl.c b/TC/testcase/utc_text_antialias_subpixel_rgb_gl.c
deleted file mode 100644 (file)
index 1012ce1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_subpixel_rgb1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_subpixel_rgb1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_subpixel_rgb1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-subpixel-rgb", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_subpixel_rgb1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_subpixel_rgb1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_subpixel_rgb_image.c b/TC/testcase/utc_text_antialias_subpixel_rgb_image.c
deleted file mode 100644 (file)
index 6a415c7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_subpixel_rgb1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_subpixel_rgb1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_subpixel_rgb1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-subpixel-rgb", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_subpixel_rgb1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_subpixel_rgb1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_subpixel_vbgr_gl.c b/TC/testcase/utc_text_antialias_subpixel_vbgr_gl.c
deleted file mode 100644 (file)
index edebb04..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_subpixel_vbgr1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_subpixel_vbgr1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_subpixel_vbgr1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-subpixel-vbgr", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_subpixel_vbgr1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_subpixel_vbgr1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_subpixel_vbgr_image.c b/TC/testcase/utc_text_antialias_subpixel_vbgr_image.c
deleted file mode 100644 (file)
index 616fe90..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_subpixel_vbgr1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_subpixel_vbgr1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_subpixel_vbgr1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-subpixel-vbgr", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_subpixel_vbgr1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_subpixel_vbgr1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_subpixel_vrgb_gl.c b/TC/testcase/utc_text_antialias_subpixel_vrgb_gl.c
deleted file mode 100644 (file)
index 686e28c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_subpixel_vrgb1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_subpixel_vrgb1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_subpixel_vrgb1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-subpixel-vrgb", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_subpixel_vrgb1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_subpixel_vrgb1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_antialias_subpixel_vrgb_image.c b/TC/testcase/utc_text_antialias_subpixel_vrgb_image.c
deleted file mode 100644 (file)
index 358f929..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_antialias_subpixel_vrgb1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_antialias_subpixel_vrgb1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_antialias_subpixel_vrgb1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-antialias-subpixel-vrgb", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_antialias_subpixel_vrgb1");
-                       else
-                               dts_fail("utc_cairo_text_antialias_subpixel_vrgb1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_cache_crash_gl.c b/TC/testcase/utc_text_cache_crash_gl.c
deleted file mode 100644 (file)
index e125cba..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_cache_crash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_cache_crash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_cache_crash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-cache-crash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_cache_crash1");
-                       else
-                               dts_fail("utc_cairo_text_cache_crash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_cache_crash_image.c b/TC/testcase/utc_text_cache_crash_image.c
deleted file mode 100644 (file)
index 098345e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_cache_crash1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_cache_crash1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_cache_crash1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-cache-crash", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_cache_crash1");
-                       else
-                               dts_fail("utc_cairo_text_cache_crash1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_glyph_range_gl.c b/TC/testcase/utc_text_glyph_range_gl.c
deleted file mode 100644 (file)
index b942d52..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_glyph_range1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_glyph_range1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_glyph_range1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-glyph-range", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_glyph_range1");
-                       else
-                               dts_fail("utc_cairo_text_glyph_range1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_glyph_range_image.c b/TC/testcase/utc_text_glyph_range_image.c
deleted file mode 100644 (file)
index 23de848..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_glyph_range1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_glyph_range1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_glyph_range1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-glyph-range", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_glyph_range1");
-                       else
-                               dts_fail("utc_cairo_text_glyph_range1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_pattern_gl.c b/TC/testcase/utc_text_pattern_gl.c
deleted file mode 100644 (file)
index dd1dda4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_pattern1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_pattern1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_pattern1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-pattern", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_pattern1");
-                       else
-                               dts_fail("utc_cairo_text_pattern1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_pattern_image.c b/TC/testcase/utc_text_pattern_image.c
deleted file mode 100644 (file)
index ad18ab3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_pattern1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_pattern1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_pattern1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-pattern", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_pattern1");
-                       else
-                               dts_fail("utc_cairo_text_pattern1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_rotate_gl.c b/TC/testcase/utc_text_rotate_gl.c
deleted file mode 100644 (file)
index 023c19f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_rotate1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_rotate1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_rotate1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-rotate", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_rotate1");
-                       else
-                               dts_fail("utc_cairo_text_rotate1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_rotate_image.c b/TC/testcase/utc_text_rotate_image.c
deleted file mode 100644 (file)
index 111fcfd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_rotate1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_rotate1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_rotate1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-rotate", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_rotate1");
-                       else
-                               dts_fail("utc_cairo_text_rotate1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_transform_gl.c b/TC/testcase/utc_text_transform_gl.c
deleted file mode 100644 (file)
index 4e224b0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_transform1");
-                       else
-                               dts_fail("utc_cairo_text_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_transform_image.c b/TC/testcase/utc_text_transform_image.c
deleted file mode 100644 (file)
index 32150be..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_transform1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_transform1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_transform1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-transform", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_transform1");
-                       else
-                               dts_fail("utc_cairo_text_transform1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_zero_len_gl.c b/TC/testcase/utc_text_zero_len_gl.c
deleted file mode 100644 (file)
index e36f624..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_zero_len1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_zero_len1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_zero_len1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-zero-len", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_zero_len1");
-                       else
-                               dts_fail("utc_cairo_text_zero_len1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_text_zero_len_image.c b/TC/testcase/utc_text_zero_len_image.c
deleted file mode 100644 (file)
index 1f66edb..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_text_zero_len1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_text_zero_len1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_text_zero_len1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite text-zero-len", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_text_zero_len1");
-                       else
-                               dts_fail("utc_cairo_text_zero_len1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_tiger_gl.c b/TC/testcase/utc_tiger_gl.c
deleted file mode 100644 (file)
index 83a1105..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_tiger1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_tiger1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_tiger1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite tiger", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_tiger1");
-                       else
-                               dts_fail("utc_cairo_tiger1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_tiger_image.c b/TC/testcase/utc_tiger_image.c
deleted file mode 100644 (file)
index cb05a87..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_tiger1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_tiger1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_tiger1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite tiger", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_tiger1");
-                       else
-                               dts_fail("utc_cairo_tiger1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_tighten_bounds_gl.c b/TC/testcase/utc_tighten_bounds_gl.c
deleted file mode 100644 (file)
index a4fe2c3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_tighten_bounds1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_tighten_bounds1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_tighten_bounds1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite tighten-bounds", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_tighten_bounds1");
-                       else
-                               dts_fail("utc_cairo_tighten_bounds1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_tighten_bounds_image.c b/TC/testcase/utc_tighten_bounds_image.c
deleted file mode 100644 (file)
index 748d843..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_tighten_bounds1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_tighten_bounds1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_tighten_bounds1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite tighten-bounds", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_tighten_bounds1");
-                       else
-                               dts_fail("utc_cairo_tighten_bounds1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_toy_font_face_gl.c b/TC/testcase/utc_toy_font_face_gl.c
deleted file mode 100644 (file)
index 8073f4d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_toy_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_toy_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_toy_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite toy-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_toy_font_face1");
-                       else
-                               dts_fail("utc_cairo_toy_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_toy_font_face_image.c b/TC/testcase/utc_toy_font_face_image.c
deleted file mode 100644 (file)
index f08fe5f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_toy_font_face1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_toy_font_face1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_toy_font_face1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite toy-font-face", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_toy_font_face1");
-                       else
-                               dts_fail("utc_cairo_toy_font_face1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_transforms_gl.c b/TC/testcase/utc_transforms_gl.c
deleted file mode 100644 (file)
index 2408717..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_transforms1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_transforms1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_transforms1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite transforms", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_transforms1");
-                       else
-                               dts_fail("utc_cairo_transforms1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_transforms_image.c b/TC/testcase/utc_transforms_image.c
deleted file mode 100644 (file)
index 2563a1b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_transforms1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_transforms1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_transforms1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite transforms", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_transforms1");
-                       else
-                               dts_fail("utc_cairo_transforms1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_translate_show_surface_gl.c b/TC/testcase/utc_translate_show_surface_gl.c
deleted file mode 100644 (file)
index d97c861..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_translate_show_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_translate_show_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_translate_show_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite translate-show-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_translate_show_surface1");
-                       else
-                               dts_fail("utc_cairo_translate_show_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_translate_show_surface_image.c b/TC/testcase/utc_translate_show_surface_image.c
deleted file mode 100644 (file)
index 5bb4d19..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_translate_show_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_translate_show_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_translate_show_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite translate-show-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_translate_show_surface1");
-                       else
-                               dts_fail("utc_cairo_translate_show_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_trap_clip_gl.c b/TC/testcase/utc_trap_clip_gl.c
deleted file mode 100644 (file)
index 7bef236..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_trap_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_trap_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_trap_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite trap-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_trap_clip1");
-                       else
-                               dts_fail("utc_cairo_trap_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_trap_clip_image.c b/TC/testcase/utc_trap_clip_image.c
deleted file mode 100644 (file)
index 2699d62..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_trap_clip1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_trap_clip1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_trap_clip1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite trap-clip", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_trap_clip1");
-                       else
-                               dts_fail("utc_cairo_trap_clip1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_twin_antialias_gray_gl.c b/TC/testcase/utc_twin_antialias_gray_gl.c
deleted file mode 100644 (file)
index ac64718..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_twin_antialias_gray1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_twin_antialias_gray1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_twin_antialias_gray1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite twin-antialias-gray", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_twin_antialias_gray1");
-                       else
-                               dts_fail("utc_cairo_twin_antialias_gray1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_twin_antialias_gray_image.c b/TC/testcase/utc_twin_antialias_gray_image.c
deleted file mode 100644 (file)
index f64a157..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_twin_antialias_gray1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_twin_antialias_gray1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_twin_antialias_gray1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite twin-antialias-gray", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_twin_antialias_gray1");
-                       else
-                               dts_fail("utc_cairo_twin_antialias_gray1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_twin_antialias_mixed_gl.c b/TC/testcase/utc_twin_antialias_mixed_gl.c
deleted file mode 100644 (file)
index 9a3c2e5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_twin_antialias_mixed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_twin_antialias_mixed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_twin_antialias_mixed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite twin-antialias-mixed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_twin_antialias_mixed1");
-                       else
-                               dts_fail("utc_cairo_twin_antialias_mixed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_twin_antialias_mixed_image.c b/TC/testcase/utc_twin_antialias_mixed_image.c
deleted file mode 100644 (file)
index d04ba3f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_twin_antialias_mixed1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_twin_antialias_mixed1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_twin_antialias_mixed1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite twin-antialias-mixed", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_twin_antialias_mixed1");
-                       else
-                               dts_fail("utc_cairo_twin_antialias_mixed1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_twin_antialias_none_gl.c b/TC/testcase/utc_twin_antialias_none_gl.c
deleted file mode 100644 (file)
index 8370549..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_twin_antialias_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_twin_antialias_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_twin_antialias_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite twin-antialias-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_twin_antialias_none1");
-                       else
-                               dts_fail("utc_cairo_twin_antialias_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_twin_antialias_none_image.c b/TC/testcase/utc_twin_antialias_none_image.c
deleted file mode 100644 (file)
index 8300b04..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_twin_antialias_none1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_twin_antialias_none1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_twin_antialias_none1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite twin-antialias-none", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_twin_antialias_none1");
-                       else
-                               dts_fail("utc_cairo_twin_antialias_none1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_twin_antialias_subpixel_gl.c b/TC/testcase/utc_twin_antialias_subpixel_gl.c
deleted file mode 100644 (file)
index a3086a9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_twin_antialias_subpixel1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_twin_antialias_subpixel1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_twin_antialias_subpixel1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite twin-antialias-subpixel", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_twin_antialias_subpixel1");
-                       else
-                               dts_fail("utc_cairo_twin_antialias_subpixel1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_twin_antialias_subpixel_image.c b/TC/testcase/utc_twin_antialias_subpixel_image.c
deleted file mode 100644 (file)
index f781014..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_twin_antialias_subpixel1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_twin_antialias_subpixel1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_twin_antialias_subpixel1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite twin-antialias-subpixel", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_twin_antialias_subpixel1");
-                       else
-                               dts_fail("utc_cairo_twin_antialias_subpixel1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_twin_gl.c b/TC/testcase/utc_twin_gl.c
deleted file mode 100644 (file)
index 1fa832f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_twin1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_twin1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_twin1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite twin", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_twin1");
-                       else
-                               dts_fail("utc_cairo_twin1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_twin_image.c b/TC/testcase/utc_twin_image.c
deleted file mode 100644 (file)
index 3b110b4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_twin1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_twin1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_twin1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite twin", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_twin1");
-                       else
-                               dts_fail("utc_cairo_twin1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_unaligned_box_gl.c b/TC/testcase/utc_unaligned_box_gl.c
deleted file mode 100644 (file)
index 90aad51..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_unaligned_box1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_unaligned_box1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_unaligned_box1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite unaligned-box", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_unaligned_box1");
-                       else
-                               dts_fail("utc_cairo_unaligned_box1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_unaligned_box_image.c b/TC/testcase/utc_unaligned_box_image.c
deleted file mode 100644 (file)
index d9b9eb8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_unaligned_box1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_unaligned_box1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_unaligned_box1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite unaligned-box", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_unaligned_box1");
-                       else
-                               dts_fail("utc_cairo_unaligned_box1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_unantialiased_shapes_gl.c b/TC/testcase/utc_unantialiased_shapes_gl.c
deleted file mode 100644 (file)
index 369b942..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_unantialiased_shapes1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_unantialiased_shapes1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_unantialiased_shapes1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite unantialiased-shapes", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_unantialiased_shapes1");
-                       else
-                               dts_fail("utc_cairo_unantialiased_shapes1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_unantialiased_shapes_image.c b/TC/testcase/utc_unantialiased_shapes_image.c
deleted file mode 100644 (file)
index 8c7d789..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_unantialiased_shapes1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_unantialiased_shapes1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_unantialiased_shapes1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite unantialiased-shapes", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_unantialiased_shapes1");
-                       else
-                               dts_fail("utc_cairo_unantialiased_shapes1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_unbounded_operator_gl.c b/TC/testcase/utc_unbounded_operator_gl.c
deleted file mode 100644 (file)
index e1a882d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_unbounded_operator1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_unbounded_operator1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_unbounded_operator1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite unbounded-operator", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_unbounded_operator1");
-                       else
-                               dts_fail("utc_cairo_unbounded_operator1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_unbounded_operator_image.c b/TC/testcase/utc_unbounded_operator_image.c
deleted file mode 100644 (file)
index 1d2003e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_unbounded_operator1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_unbounded_operator1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_unbounded_operator1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite unbounded-operator", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_unbounded_operator1");
-                       else
-                               dts_fail("utc_cairo_unbounded_operator1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_unclosed_strokes_gl.c b/TC/testcase/utc_unclosed_strokes_gl.c
deleted file mode 100644 (file)
index ebdd334..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_unclosed_strokes1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_unclosed_strokes1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_unclosed_strokes1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite unclosed-strokes", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_unclosed_strokes1");
-                       else
-                               dts_fail("utc_cairo_unclosed_strokes1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_unclosed_strokes_image.c b/TC/testcase/utc_unclosed_strokes_image.c
deleted file mode 100644 (file)
index aeb3392..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_unclosed_strokes1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_unclosed_strokes1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_unclosed_strokes1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite unclosed-strokes", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_unclosed_strokes1");
-                       else
-                               dts_fail("utc_cairo_unclosed_strokes1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_user_data_gl.c b/TC/testcase/utc_user_data_gl.c
deleted file mode 100644 (file)
index 37b018c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_user_data1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_user_data1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_user_data1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite user-data", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_user_data1");
-                       else
-                               dts_fail("utc_cairo_user_data1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_user_data_image.c b/TC/testcase/utc_user_data_image.c
deleted file mode 100644 (file)
index d067934..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_user_data1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_user_data1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_user_data1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite user-data", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_user_data1");
-                       else
-                               dts_fail("utc_cairo_user_data1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_user_font_gl.c b/TC/testcase/utc_user_font_gl.c
deleted file mode 100644 (file)
index 49fbc59..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_user_font1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_user_font1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_user_font1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite user-font", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_user_font1");
-                       else
-                               dts_fail("utc_cairo_user_font1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_user_font_image.c b/TC/testcase/utc_user_font_image.c
deleted file mode 100644 (file)
index 356d057..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_user_font1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_user_font1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_user_font1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite user-font", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_user_font1");
-                       else
-                               dts_fail("utc_cairo_user_font1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_user_font_mask_gl.c b/TC/testcase/utc_user_font_mask_gl.c
deleted file mode 100644 (file)
index d942cda..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_user_font_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_user_font_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_user_font_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite user-font-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_user_font_mask1");
-                       else
-                               dts_fail("utc_cairo_user_font_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_user_font_mask_image.c b/TC/testcase/utc_user_font_mask_image.c
deleted file mode 100644 (file)
index 327a58b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_user_font_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_user_font_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_user_font_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite user-font-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_user_font_mask1");
-                       else
-                               dts_fail("utc_cairo_user_font_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_user_font_proxy_gl.c b/TC/testcase/utc_user_font_proxy_gl.c
deleted file mode 100644 (file)
index b39b71a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_user_font_proxy1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_user_font_proxy1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_user_font_proxy1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite user-font-proxy", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_user_font_proxy1");
-                       else
-                               dts_fail("utc_cairo_user_font_proxy1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_user_font_proxy_image.c b/TC/testcase/utc_user_font_proxy_image.c
deleted file mode 100644 (file)
index e61b895..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_user_font_proxy1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_user_font_proxy1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_user_font_proxy1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite user-font-proxy", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_user_font_proxy1");
-                       else
-                               dts_fail("utc_cairo_user_font_proxy1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_user_font_rescale_gl.c b/TC/testcase/utc_user_font_rescale_gl.c
deleted file mode 100644 (file)
index 4ece9ce..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_user_font_rescale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_user_font_rescale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_user_font_rescale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite user-font-rescale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_user_font_rescale1");
-                       else
-                               dts_fail("utc_cairo_user_font_rescale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_user_font_rescale_image.c b/TC/testcase/utc_user_font_rescale_image.c
deleted file mode 100644 (file)
index 5c5a573..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_user_font_rescale1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_user_font_rescale1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_user_font_rescale1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite user-font-rescale", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_user_font_rescale1");
-                       else
-                               dts_fail("utc_cairo_user_font_rescale1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_white_in_noop_gl.c b/TC/testcase/utc_white_in_noop_gl.c
deleted file mode 100644 (file)
index 0a1f0bc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_white_in_noop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_white_in_noop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_white_in_noop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite white-in-noop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_white_in_noop1");
-                       else
-                               dts_fail("utc_cairo_white_in_noop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_white_in_noop_image.c b/TC/testcase/utc_white_in_noop_image.c
deleted file mode 100644 (file)
index c8b04d4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_white_in_noop1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_white_in_noop1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_white_in_noop1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite white-in-noop", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_white_in_noop1");
-                       else
-                               dts_fail("utc_cairo_white_in_noop1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_world_map_fill_gl.c b/TC/testcase/utc_world_map_fill_gl.c
deleted file mode 100644 (file)
index 38c030f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_world_map_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_world_map_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_world_map_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite world-map-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_world_map_fill1");
-                       else
-                               dts_fail("utc_cairo_world_map_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_world_map_fill_image.c b/TC/testcase/utc_world_map_fill_image.c
deleted file mode 100644 (file)
index 2017b98..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_world_map_fill1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_world_map_fill1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_world_map_fill1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite world-map-fill", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_world_map_fill1");
-                       else
-                               dts_fail("utc_cairo_world_map_fill1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_world_map_gl.c b/TC/testcase/utc_world_map_gl.c
deleted file mode 100644 (file)
index c6f2cb9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_world_map1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_world_map1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_world_map1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite world-map", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_world_map1");
-                       else
-                               dts_fail("utc_cairo_world_map1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_world_map_image.c b/TC/testcase/utc_world_map_image.c
deleted file mode 100644 (file)
index b093360..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_world_map1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_world_map1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_world_map1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite world-map", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_world_map1");
-                       else
-                               dts_fail("utc_cairo_world_map1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_world_map_stroke_gl.c b/TC/testcase/utc_world_map_stroke_gl.c
deleted file mode 100644 (file)
index 65ef38a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_world_map_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_world_map_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_world_map_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite world-map-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_world_map_stroke1");
-                       else
-                               dts_fail("utc_cairo_world_map_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_world_map_stroke_image.c b/TC/testcase/utc_world_map_stroke_image.c
deleted file mode 100644 (file)
index b66f371..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_world_map_stroke1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_world_map_stroke1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_world_map_stroke1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite world-map-stroke", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_world_map_stroke1");
-                       else
-                               dts_fail("utc_cairo_world_map_stroke1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xcb_huge_image_shm_gl.c b/TC/testcase/utc_xcb_huge_image_shm_gl.c
deleted file mode 100644 (file)
index ed198a7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xcb_huge_image_shm1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xcb_huge_image_shm1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xcb_huge_image_shm1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xcb-huge-image-shm", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xcb_huge_image_shm1");
-                       else
-                               dts_fail("utc_cairo_xcb_huge_image_shm1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xcb_huge_image_shm_image.c b/TC/testcase/utc_xcb_huge_image_shm_image.c
deleted file mode 100644 (file)
index 0e6cd2a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xcb_huge_image_shm1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xcb_huge_image_shm1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xcb_huge_image_shm1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xcb-huge-image-shm", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xcb_huge_image_shm1");
-                       else
-                               dts_fail("utc_cairo_xcb_huge_image_shm1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xcb_snapshot_assert_gl.c b/TC/testcase/utc_xcb_snapshot_assert_gl.c
deleted file mode 100644 (file)
index 93b741f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xcb_snapshot_assert1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xcb_snapshot_assert1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xcb_snapshot_assert1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xcb-snapshot-assert", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xcb_snapshot_assert1");
-                       else
-                               dts_fail("utc_cairo_xcb_snapshot_assert1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xcb_snapshot_assert_image.c b/TC/testcase/utc_xcb_snapshot_assert_image.c
deleted file mode 100644 (file)
index 7e787dd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xcb_snapshot_assert1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xcb_snapshot_assert1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xcb_snapshot_assert1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xcb-snapshot-assert", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xcb_snapshot_assert1");
-                       else
-                               dts_fail("utc_cairo_xcb_snapshot_assert1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xcb_stress_cache_gl.c b/TC/testcase/utc_xcb_stress_cache_gl.c
deleted file mode 100644 (file)
index 294061a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xcb_stress_cache1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xcb_stress_cache1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xcb_stress_cache1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xcb-stress-cache", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xcb_stress_cache1");
-                       else
-                               dts_fail("utc_cairo_xcb_stress_cache1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xcb_stress_cache_image.c b/TC/testcase/utc_xcb_stress_cache_image.c
deleted file mode 100644 (file)
index db33df6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xcb_stress_cache1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xcb_stress_cache1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xcb_stress_cache1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xcb-stress-cache", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xcb_stress_cache1");
-                       else
-                               dts_fail("utc_cairo_xcb_stress_cache1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xcb_surface_source_gl.c b/TC/testcase/utc_xcb_surface_source_gl.c
deleted file mode 100644 (file)
index be8fbc8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xcb_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xcb_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xcb_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xcb-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xcb_surface_source1");
-                       else
-                               dts_fail("utc_cairo_xcb_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xcb_surface_source_image.c b/TC/testcase/utc_xcb_surface_source_image.c
deleted file mode 100644 (file)
index b100ea8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xcb_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xcb_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xcb_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xcb-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xcb_surface_source1");
-                       else
-                               dts_fail("utc_cairo_xcb_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xcomposite_projection_gl.c b/TC/testcase/utc_xcomposite_projection_gl.c
deleted file mode 100644 (file)
index abcb478..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xcomposite_projection1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xcomposite_projection1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xcomposite_projection1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xcomposite-projection", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xcomposite_projection1");
-                       else
-                               dts_fail("utc_cairo_xcomposite_projection1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xcomposite_projection_image.c b/TC/testcase/utc_xcomposite_projection_image.c
deleted file mode 100644 (file)
index 9c9da9e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xcomposite_projection1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xcomposite_projection1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xcomposite_projection1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xcomposite-projection", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xcomposite_projection1");
-                       else
-                               dts_fail("utc_cairo_xcomposite_projection1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xlib_expose_event_gl.c b/TC/testcase/utc_xlib_expose_event_gl.c
deleted file mode 100644 (file)
index f1df28e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xlib_expose_event1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xlib_expose_event1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xlib_expose_event1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xlib-expose-event", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xlib_expose_event1");
-                       else
-                               dts_fail("utc_cairo_xlib_expose_event1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xlib_expose_event_image.c b/TC/testcase/utc_xlib_expose_event_image.c
deleted file mode 100644 (file)
index f10f026..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xlib_expose_event1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xlib_expose_event1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xlib_expose_event1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xlib-expose-event", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xlib_expose_event1");
-                       else
-                               dts_fail("utc_cairo_xlib_expose_event1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xlib_surface_gl.c b/TC/testcase/utc_xlib_surface_gl.c
deleted file mode 100644 (file)
index 4d37e0f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xlib_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xlib_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xlib_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xlib-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xlib_surface1");
-                       else
-                               dts_fail("utc_cairo_xlib_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xlib_surface_image.c b/TC/testcase/utc_xlib_surface_image.c
deleted file mode 100644 (file)
index 46a8d01..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xlib_surface1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xlib_surface1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xlib_surface1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xlib-surface", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xlib_surface1");
-                       else
-                               dts_fail("utc_cairo_xlib_surface1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xlib_surface_source_gl.c b/TC/testcase/utc_xlib_surface_source_gl.c
deleted file mode 100644 (file)
index 22f5345..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xlib_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xlib_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xlib_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xlib-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xlib_surface_source1");
-                       else
-                               dts_fail("utc_cairo_xlib_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_xlib_surface_source_image.c b/TC/testcase/utc_xlib_surface_source_image.c
deleted file mode 100644 (file)
index e62c8a5..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_xlib_surface_source1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_xlib_surface_source1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_xlib_surface_source1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite xlib-surface-source", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_xlib_surface_source1");
-                       else
-                               dts_fail("utc_cairo_xlib_surface_source1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_zero_alpha_gl.c b/TC/testcase/utc_zero_alpha_gl.c
deleted file mode 100644 (file)
index 7fa9d01..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_zero_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_zero_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_zero_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite zero-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_zero_alpha1");
-                       else
-                               dts_fail("utc_cairo_zero_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_zero_alpha_image.c b/TC/testcase/utc_zero_alpha_image.c
deleted file mode 100644 (file)
index d1b2bd6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_zero_alpha1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_zero_alpha1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_zero_alpha1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite zero-alpha", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_zero_alpha1");
-                       else
-                               dts_fail("utc_cairo_zero_alpha1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_zero_mask_gl.c b/TC/testcase/utc_zero_mask_gl.c
deleted file mode 100644 (file)
index 3ada2ba..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_zero_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_zero_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_zero_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite zero-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_zero_mask1");
-                       else
-                               dts_fail("utc_cairo_zero_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=egl","DISPLAY=:0", "CAIRO_GL_COMPOSITOR=msaa", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/testcase/utc_zero_mask_image.c b/TC/testcase/utc_zero_mask_image.c
deleted file mode 100644 (file)
index 0a84d30..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <tet_api.h>
-#include <cairo/cairo.h>
-#include <cairo/cairo-script-interpreter.h>
-
-#include "cairo-test.h"
-
-#include <unistd.h>
-#include <sys/wait.h>
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_cairo_zero_mask1(void);
-
-struct tet_testlist tet_testlist[] = {
-       { utc_cairo_zero_mask1, 1 },
-       { NULL, 0 },
-};
-
-static void startup(void)
-{
-       /* start of TC */
-}
-
-static void cleanup(void)
-{
-       /* end of TC */
-}
-
-static void utc_cairo_zero_mask1(void)
-{
-        char buf[128];
-        int ret;
-        sprintf(buf, "cd %s && ./cairo-test-suite zero-mask", getenv("CAIRO_TC_ROOT_PATH"));
-       int pid=0;
-       int status=0;
-
-       pid = fork();
-       if(pid > 0) {
-               if (waitpid(pid,&status,0) != pid) {
-                       fprintf(stderr, "Failed to wait!!!");
-                       exit(EXIT_FAILURE);
-               }
-               if(WIFEXITED(status)) {
-                       ret=status;
-                       if(WEXITSTATUS(ret) == CAIRO_TEST_SUCCESS)
-                               dts_pass("utc_cairo_zero_mask1");
-                       else
-                               dts_fail("utc_cairo_zero_mask1");
-               }
-       }
-       else if(pid == 0) {
-               char *env[]={"CAIRO_TEST_TARGET=image", (char *)0};
-               char parse0[4]={0,};
-               char parse1[1024]={0,};
-               char parse2[4]={0,};
-               char parse3[32]={0,};
-               char parse4[32]={0,};
-               sscanf(buf,"%s %s %s %s %s", parse0, parse1, parse2, parse3, parse4 );
-               chdir(parse1);
-               execle(parse3, parse3, parse4, NULL, env);
-       }
-       else {
-               fprintf(stderr, "Failed to fork!!!");
-               exit(EXIT_FAILURE);
-       }
-}
diff --git a/TC/tet_scen b/TC/tet_scen
deleted file mode 100755 (executable)
index 03f029a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-all
-       ^TEST
-##### Scenarios for TEST #####
-
-# Test scenario
-TEST
-       :include:/testcase/tslist
diff --git a/TC/tetbuild.cfg b/TC/tetbuild.cfg
deleted file mode 100755 (executable)
index f7eda55..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-TET_OUTPUT_CAPTURE=True # capture option for build operation checking
-TET_BUILD_TOOL=make # build with using make command
-TET_BUILD_FILE=-f Makefile # execution file (Makefile) for build
-TET_API_COMPLIANT=True # use TET API in Test Case ?
-TET_PASS_TC_NAME=True # report passed TC name in Journal file?
diff --git a/TC/tetclean.cfg b/TC/tetclean.cfg
deleted file mode 100755 (executable)
index 02d7030..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-TET_OUTPUT_CAPTURE=True # capture option
-TET_CLEAN_TOOL= make clean # clean tool
-TET_CLEAN_FILE= Makefile # file for clean
-TET_API_COMPLIANT=True # TET API useage 
-TET_PASS_TC_NAME=True # showing name , passed TC
diff --git a/TC/tetexec.cfg b/TC/tetexec.cfg
deleted file mode 100755 (executable)
index ef3e452..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-TET_OUTPUT_CAPTURE=True # capturing execution or not
-TET_EXEC_TOOL=  # ex) exec : execution tool set up/ Optional
-TET_EXEC_FILE=   # ex) exectool : execution file/ Optional
-TET_API_COMPLIANT=True # Test case or Tool usesTET API?
-TET_PASS_TC_NAME=True # showing Passed TC name ?
diff --git a/aclocal.m4 b/aclocal.m4
deleted file mode 100644 (file)
index 36fe50f..0000000
+++ /dev/null
@@ -1,1026 +0,0 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
-[m4_warning([this file was generated for autoconf 2.67.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  am__universal=false
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac])
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-             [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-                            [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-                 [_AM_DEPENDENCIES(CC)],
-                 [define([AC_PROG_CC],
-                         defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                 [_AM_DEPENDENCIES(CXX)],
-                 [define([AC_PROG_CXX],
-                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                 [_AM_DEPENDENCIES(OBJC)],
-                 [define([AC_PROG_OBJC],
-                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes.                 -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
-          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[[\\\"\#\$\&\'\`$am_lf]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules],
-[  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([build/aclocal.cairo.m4])
-m4_include([build/aclocal.compare.m4])
-m4_include([build/aclocal.enable.m4])
-m4_include([build/aclocal.float.m4])
-m4_include([build/aclocal.makefile.m4])
-m4_include([build/aclocal.pkg.m4])
-m4_include([build/gtk-doc.m4])
-m4_include([build/libtool.m4])
-m4_include([build/ltoptions.m4])
-m4_include([build/ltsugar.m4])
-m4_include([build/ltversion.m4])
-m4_include([build/lt~obsolete.m4])
-m4_include([acinclude.m4])
index 101e997..e0fdb4e 100644 (file)
@@ -25,6 +25,7 @@ cairo_boilerplate_drm_sources = cairo-boilerplate-drm.c
 cairo_boilerplate_glx_sources = cairo-boilerplate-glx.c
 cairo_boilerplate_wgl_sources = cairo-boilerplate-wgl.c
 cairo_boilerplate_egl_sources = cairo-boilerplate-egl.c
+cairo_boilerplate_evasgl_sources = cairo-boilerplate-evas-gl.c
 cairo_boilerplate_pdf_sources = cairo-boilerplate-pdf.c
 cairo_boilerplate_ps_sources = cairo-boilerplate-ps.c
 cairo_boilerplate_qt_cxx_sources = cairo-boilerplate-qt.cpp
@@ -39,3 +40,4 @@ cairo_boilerplate_xlib_headers = cairo-boilerplate-xlib.h
 cairo_boilerplate_xlib_sources = cairo-boilerplate-xlib.c
 cairo_boilerplate_vg_sources = cairo-boilerplate-vg.c
 cairo_boilerplate_cogl_sources = cairo-boilerplate-cogl.c
+cairo_boilerplate_tg_sources = cairo-boilerplate-tg.c
index e60a95b..8efe856 100644 (file)
@@ -19,6 +19,24 @@ enabled_cairo_boilerplate_cxx_sources = $(cairo_boilerplate_cxx_sources)
 enabled_cairo_boilerplate_sources = $(cairo_boilerplate_sources)
 
 
+all_cairo_boilerplate_private += $(cairo_boilerplate_tls_private) $(cairo_boilerplate_tls_headers)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_tls_cxx_sources)
+all_cairo_boilerplate_sources += $(cairo_boilerplate_tls_sources)
+ifeq ($(CAIRO_HAS_TLS),1)
+enabled_cairo_boilerplate_private += $(cairo_boilerplate_tls_private) $(cairo_boilerplate_tls_headers)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_tls_cxx_sources)
+enabled_cairo_boilerplate_sources += $(cairo_boilerplate_tls_sources)
+endif
+
+all_cairo_boilerplate_private += $(cairo_boilerplate_pthread_setspecific_private) $(cairo_boilerplate_pthread_setspecific_headers)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_pthread_setspecific_cxx_sources)
+all_cairo_boilerplate_sources += $(cairo_boilerplate_pthread_setspecific_sources)
+ifeq ($(CAIRO_HAS_PTHREAD_SETSPECIFIC),1)
+enabled_cairo_boilerplate_private += $(cairo_boilerplate_pthread_setspecific_private) $(cairo_boilerplate_pthread_setspecific_headers)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_pthread_setspecific_cxx_sources)
+enabled_cairo_boilerplate_sources += $(cairo_boilerplate_pthread_setspecific_sources)
+endif
+
 supported_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_xlib_private)
@@ -235,6 +253,18 @@ enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gl_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_gl_sources)
 endif
 
+unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_evasgl_headers)
+all_cairo_boilerplate_headers += $(cairo_boilerplate_evasgl_headers)
+all_cairo_boilerplate_private += $(cairo_boilerplate_evasgl_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_evasgl_cxx_sources)
+all_cairo_boilerplate_sources += $(cairo_boilerplate_evasgl_sources)
+ifeq ($(CAIRO_HAS_EVASGL_SURFACE),1)
+enabled_cairo_boilerplate_headers += $(cairo_boilerplate_evasgl_headers)
+enabled_cairo_boilerplate_private += $(cairo_boilerplate_evasgl_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_evasgl_cxx_sources)
+enabled_cairo_boilerplate_sources += $(cairo_boilerplate_evasgl_sources)
+endif
+
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_glesv2_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_glesv2_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_glesv2_private)
@@ -247,6 +277,18 @@ enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_glesv2_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_glesv2_sources)
 endif
 
+unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_glesv3_headers)
+all_cairo_boilerplate_headers += $(cairo_boilerplate_glesv3_headers)
+all_cairo_boilerplate_private += $(cairo_boilerplate_glesv3_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_glesv3_cxx_sources)
+all_cairo_boilerplate_sources += $(cairo_boilerplate_glesv3_sources)
+ifeq ($(CAIRO_HAS_GLESV3_SURFACE),1)
+enabled_cairo_boilerplate_headers += $(cairo_boilerplate_glesv3_headers)
+enabled_cairo_boilerplate_private += $(cairo_boilerplate_glesv3_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_glesv3_cxx_sources)
+enabled_cairo_boilerplate_sources += $(cairo_boilerplate_glesv3_sources)
+endif
+
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_cogl_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_cogl_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_cogl_private)
@@ -271,6 +313,18 @@ enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_directfb_cxx_source
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_directfb_sources)
 endif
 
+unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_tg_headers)
+all_cairo_boilerplate_headers += $(cairo_boilerplate_tg_headers)
+all_cairo_boilerplate_private += $(cairo_boilerplate_tg_private)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_tg_cxx_sources)
+all_cairo_boilerplate_sources += $(cairo_boilerplate_tg_sources)
+ifeq ($(CAIRO_HAS_TG_SURFACE),1)
+enabled_cairo_boilerplate_headers += $(cairo_boilerplate_tg_headers)
+enabled_cairo_boilerplate_private += $(cairo_boilerplate_tg_private)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_tg_cxx_sources)
+enabled_cairo_boilerplate_sources += $(cairo_boilerplate_tg_sources)
+endif
+
 unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_vg_headers)
 all_cairo_boilerplate_headers += $(cairo_boilerplate_vg_headers)
 all_cairo_boilerplate_private += $(cairo_boilerplate_vg_private)
@@ -474,6 +528,15 @@ enabled_cairo_boilerplate_private += $(cairo_boilerplate_user_private)
 enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_user_cxx_sources)
 enabled_cairo_boilerplate_sources += $(cairo_boilerplate_user_sources)
 
+all_cairo_boilerplate_private += $(cairo_boilerplate_openmp_private) $(cairo_boilerplate_openmp_headers)
+all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_openmp_cxx_sources)
+all_cairo_boilerplate_sources += $(cairo_boilerplate_openmp_sources)
+ifeq ($(CAIRO_HAS_OPENMP),1)
+enabled_cairo_boilerplate_private += $(cairo_boilerplate_openmp_private) $(cairo_boilerplate_openmp_headers)
+enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_openmp_cxx_sources)
+enabled_cairo_boilerplate_sources += $(cairo_boilerplate_openmp_sources)
+endif
+
 all_cairo_boilerplate_private += $(cairo_boilerplate_pthread_private) $(cairo_boilerplate_pthread_headers)
 all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_pthread_cxx_sources)
 all_cairo_boilerplate_sources += $(cairo_boilerplate_pthread_sources)
index e1a46e4..dd62ea8 100644 (file)
 
 #include "cairo-boilerplate-private.h"
 
+#if CAIRO_HAS_EVASGL_SURFACE && CAIRO_HAS_GLESV2_SURFACE
+extern void glFinish (void);
+#endif
+
 #include <cairo-gl.h>
 #if CAIRO_HAS_GL_SURFACE
 #include <GL/gl.h>
@@ -90,6 +94,7 @@ _cairo_boilerplate_egl_create_surface (const char              *name,
 #elif CAIRO_HAS_GLESV2_SURFACE
        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
 #endif
+       EGL_SAMPLES, 4,
        EGL_NONE
     };
     const EGLint ctx_attribs[] = {
@@ -130,6 +135,7 @@ _cairo_boilerplate_egl_create_surface (const char            *name,
     }
 
     gltc->device = cairo_egl_device_create (gltc->dpy, gltc->ctx);
+       cairo_gl_device_set_thread_aware (gltc->device, FALSE);
 
     if (width < 1)
        width = 1;
diff --git a/boilerplate/cairo-boilerplate-evas-gl.c b/boilerplate/cairo-boilerplate-evas-gl.c
new file mode 100644 (file)
index 0000000..151e6af
--- /dev/null
@@ -0,0 +1,143 @@
+/* Cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2009 Chris Wilson
+ * Copyright © 2014 Samsung Research America, Inc - Silicon Valley
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Henry Song.
+ */
+
+#include "cairo-boilerplate-private.h"
+
+#include <cairo-gl.h>
+#include <cairo-evas-gl.h>
+#include <Ecore_Evas.h>
+#include <Ecore.h>
+#include <Evas_GL.h>
+
+static const cairo_user_data_key_t gl_closure_key;
+
+typedef struct _evas_gl_target_closure {
+    Evas_GL *evas_gl;
+    Evas_GL_Context *evas_ctx;
+    Evas_GL_API *evas_api;
+
+    cairo_device_t *device;
+    cairo_surface_t *surface;
+} evas_gl_target_closure_t;
+
+static void
+_cairo_boilerplate_evas_gl_cleanup (void *closure)
+{
+    evas_gl_target_closure_t *gltc = closure;
+
+    cairo_device_finish (gltc->device);
+    cairo_device_destroy (gltc->device);
+
+    evas_gl_context_destroy (gltc->evas_gl, gltc->evas_ctx);
+    evas_gl_free (gltc->evas_gl);
+
+    free (gltc);
+
+    ecore_evas_shutdown ();
+    ecore_shutdown ();
+}
+
+static cairo_surface_t *
+_cairo_boilerplate_evas_gl_create_surface (const char           *name,
+                                          cairo_content_t        content,
+                                          double                 width,
+                                          double                 height,
+                                          double                 max_width,
+                                          double                 max_height,
+                                          cairo_boilerplate_mode_t   mode,
+                                          void                 **closure)
+{
+    Ecore_Evas *ee;
+    Evas *canvas;
+
+    evas_gl_target_closure_t *gltc;
+    cairo_surface_t *surface;
+
+    if (width < 1)
+       width = 1;
+    if (height < 1)
+       height = 1;
+
+    ecore_init ();
+    ecore_evas_init ();
+    ee = ecore_evas_gl_x11_new (NULL, 0, 0, 0, ceil (width), ceil (height));;
+    canvas = ecore_evas_get (ee);
+
+    gltc = xcalloc (1, sizeof (evas_gl_target_closure_t));
+    *closure = gltc;
+
+    gltc->evas_gl = evas_gl_new (canvas);
+    gltc->evas_ctx = evas_gl_context_create (gltc->evas_gl, NULL);
+    gltc->evas_api = evas_gl_api_get (gltc->evas_gl);
+
+    gltc->device = cairo_evas_gl_device_create (gltc->evas_gl, gltc->evas_ctx);
+
+    gltc->surface = surface =
+       cairo_gl_surface_create (gltc->device, CAIRO_CONTENT_COLOR_ALPHA,
+                                            ceil (width), ceil (height));
+    if (cairo_surface_status (surface))
+       _cairo_boilerplate_evas_gl_cleanup (gltc);
+
+    return surface;
+}
+
+static void
+_cairo_boilerplate_evas_gl_synchronize (void *closure)
+{
+    evas_gl_target_closure_t *gltc = closure;
+
+    if (cairo_device_acquire (gltc->device))
+       return;
+
+    gltc->evas_api->glFinish ();
+
+    cairo_device_release (gltc->device);
+}
+
+static const cairo_boilerplate_target_t targets[] = {
+    {
+       "evasgl", "gl", NULL, NULL,
+       CAIRO_SURFACE_TYPE_GL, CAIRO_CONTENT_COLOR_ALPHA, 1,
+       "cairo_evas_gl_device_create",
+       _cairo_boilerplate_evas_gl_create_surface,
+       cairo_surface_create_similar,
+       NULL, NULL,
+       _cairo_boilerplate_get_image_surface,
+       cairo_surface_write_to_png,
+       _cairo_boilerplate_evas_gl_cleanup,
+       _cairo_boilerplate_evas_gl_synchronize,
+        NULL,
+       TRUE, FALSE, FALSE
+    }
+};
+CAIRO_BOILERPLATE (evasgl, targets)
index 4cf51f0..52cd99f 100644 (file)
@@ -98,6 +98,9 @@ _cairo_boilerplate_gl_create_surface (const char              *name,
     gltc = calloc (1, sizeof (gl_target_closure_t));
     *closure = gltc;
 
+    width = ceil (width);
+    height = ceil (height);
+
     if (width == 0)
        width = 1;
     if (height == 0)
@@ -133,9 +136,7 @@ _cairo_boilerplate_gl_create_surface (const char            *name,
     gltc->device = cairo_glx_device_create (dpy, ctx);
 
     gltc->surface = surface = cairo_gl_surface_create (gltc->device,
-                                                      content,
-                                                      ceil (width),
-                                                      ceil (height));
+                                                      content, width, height);
     if (cairo_surface_status (surface))
        _cairo_boilerplate_gl_cleanup (gltc);
 
@@ -143,43 +144,23 @@ _cairo_boilerplate_gl_create_surface (const char          *name,
 }
 
 static cairo_surface_t *
-_cairo_boilerplate_gl_create_window (const char               *name,
-                                    cairo_content_t            content,
-                                    double                     width,
-                                    double                     height,
-                                    double                     max_width,
-                                    double                     max_height,
-                                    cairo_boilerplate_mode_t   mode,
-                                    void                     **closure)
+_cairo_boilerplate_gl_create_window_common (int                                rgba_attribs[],
+                                           cairo_content_t             content,
+                                           double                      width,
+                                           double                      height,
+                                           double                      max_width,
+                                           double                      max_height,
+                                           cairo_boilerplate_mode_t    mode,
+                                           gl_target_closure_t         *gltc)
 {
-    int rgba_attribs[] = { GLX_RGBA,
-                          GLX_RED_SIZE, 1,
-                          GLX_GREEN_SIZE, 1,
-                          GLX_BLUE_SIZE, 1,
-                          GLX_ALPHA_SIZE, 1,
-                          GLX_DOUBLEBUFFER,
-                          None };
-
-    int msaa_attribs[] = { GLX_RGBA,
-                          GLX_RED_SIZE, 1,
-                          GLX_GREEN_SIZE, 1,
-                          GLX_BLUE_SIZE, 1,
-                          GLX_ALPHA_SIZE, 1,
-                          GLX_STENCIL_SIZE, 1,
-                          GLX_SAMPLES, 4,
-                          GLX_SAMPLE_BUFFERS, 1,
-                          GLX_DOUBLEBUFFER,
-                          None };
-
     XVisualInfo *vi;
     GLXContext ctx;
-    gl_target_closure_t *gltc;
     cairo_surface_t *surface;
     Display *dpy;
     XSetWindowAttributes attr;
 
-    gltc = calloc (1, sizeof (gl_target_closure_t));
-    *closure = gltc;
+    width = ceil (width);
+    height = ceil (height);
 
     if (width == 0)
        width = 1;
@@ -197,11 +178,7 @@ _cairo_boilerplate_gl_create_window (const char           *name,
     if (mode == CAIRO_BOILERPLATE_MODE_TEST)
        XSynchronize (gltc->dpy, 1);
 
-    vi = glXChooseVisual (dpy, DefaultScreen (dpy), msaa_attribs);
-
-    if (vi == NULL)
-       vi = glXChooseVisual (dpy, DefaultScreen (dpy), rgba_attribs);
-
+    vi = glXChooseVisual (dpy, DefaultScreen (dpy), rgba_attribs);
     if (vi == NULL) {
        fprintf (stderr, "Failed to create RGBA, double-buffered visual\n");
        XCloseDisplay (dpy);
@@ -230,24 +207,26 @@ _cairo_boilerplate_gl_create_window (const char          *name,
 
     gltc->surface = surface = cairo_gl_surface_create_for_window (gltc->device,
                                                                  gltc->drawable,
-                                                                 ceil (width),
-                                                                 ceil (height));
-    if (cairo_surface_status (surface))
+                                                                 width, height);
+    if (cairo_surface_status (surface)) {
        _cairo_boilerplate_gl_cleanup (gltc);
-
+       return NULL;
+    }
     return surface;
 }
 
 static cairo_surface_t *
-_cairo_boilerplate_gl_create_window_db (const char               *name,
-                                       cairo_content_t            content,
-                                       double                     width,
-                                       double                     height,
-                                       double                     max_width,
-                                       double                     max_height,
-                                       cairo_boilerplate_mode_t   mode,
-                                       void                     **closure)
+_cairo_boilerplate_gl_create_window (const char                       *name,
+                                    cairo_content_t            content,
+                                    double                     width,
+                                    double                     height,
+                                    double                     max_width,
+                                    double                     max_height,
+                                    cairo_boilerplate_mode_t   mode,
+                                    void                     **closure)
 {
+    gl_target_closure_t *gltc;
+
     int rgba_attribs[] = { GLX_RGBA,
                           GLX_RED_SIZE, 1,
                           GLX_GREEN_SIZE, 1,
@@ -256,7 +235,28 @@ _cairo_boilerplate_gl_create_window_db (const char           *name,
                           GLX_DOUBLEBUFFER,
                           None };
 
-    int msaa_attribs[] = { GLX_RGBA,
+    gltc = calloc (1, sizeof (gl_target_closure_t));
+    *closure = gltc;
+
+    return _cairo_boilerplate_gl_create_window_common (rgba_attribs, content,
+                                                      width, height,
+                                                      max_width, max_height,
+                                                      mode, gltc);
+}
+
+static cairo_surface_t *
+_cairo_boilerplate_gl_create_window_msaa (const char                  *name,
+                                         cairo_content_t               content,
+                                         double                        width,
+                                         double                        height,
+                                         double                        max_width,
+                                         double                        max_height,
+                                         cairo_boilerplate_mode_t      mode,
+                                         void                        **closure)
+{
+    gl_target_closure_t *gltc;
+
+    int rgba_attribs[] = { GLX_RGBA,
                           GLX_RED_SIZE, 1,
                           GLX_GREEN_SIZE, 1,
                           GLX_BLUE_SIZE, 1,
@@ -267,68 +267,48 @@ _cairo_boilerplate_gl_create_window_db (const char                  *name,
                           GLX_DOUBLEBUFFER,
                           None };
 
-    XVisualInfo *vi;
-    GLXContext ctx;
-    gl_target_closure_t *gltc;
-    cairo_surface_t *surface;
-    Display *dpy;
-    XSetWindowAttributes attr;
-    cairo_status_t status;
-
     gltc = calloc (1, sizeof (gl_target_closure_t));
     *closure = gltc;
+    return _cairo_boilerplate_gl_create_window_common (rgba_attribs, content,
+                                                      width, height,
+                                                      max_width, max_height,
+                                                      mode, gltc);
 
-    if (width == 0)
-       width = 1;
-    if (height == 0)
-       height = 1;
+}
 
-    dpy = XOpenDisplay (NULL);
-    gltc->dpy = dpy;
-    if (!gltc->dpy) {
-       fprintf (stderr, "Failed to open display: %s\n", XDisplayName(0));
-       free (gltc);
-       return NULL;
-    }
+static cairo_surface_t *
+_cairo_boilerplate_gl_create_window_db (const char               *name,
+                                       cairo_content_t            content,
+                                       double                     width,
+                                       double                     height,
+                                       double                     max_width,
+                                       double                     max_height,
+                                       cairo_boilerplate_mode_t   mode,
+                                       void                     **closure)
+{
+    cairo_status_t status;
+    cairo_surface_t *surface;
+    gl_target_closure_t *gltc;
 
-    if (mode == CAIRO_BOILERPLATE_MODE_TEST)
-       XSynchronize (gltc->dpy, 1);
+    int rgba_attribs[] = { GLX_RGBA,
+                          GLX_RED_SIZE, 1,
+                          GLX_GREEN_SIZE, 1,
+                          GLX_BLUE_SIZE, 1,
+                          GLX_ALPHA_SIZE, 1,
+                          GLX_DOUBLEBUFFER,
+                          None };
 
-    vi = glXChooseVisual (dpy, DefaultScreen (dpy), msaa_attribs);
+    gltc = calloc (1, sizeof (gl_target_closure_t));
+    *closure = gltc;
 
-    if (vi == NULL)
-       vi = glXChooseVisual (dpy, DefaultScreen (dpy), rgba_attribs);
+    surface = _cairo_boilerplate_gl_create_window_common (rgba_attribs, content,
+                                                         width, height,
+                                                         max_width, max_height,
+                                                         mode, gltc);
 
-    if (vi == NULL) {
-       fprintf (stderr, "Failed to create RGBA, double-buffered visual\n");
-       XCloseDisplay (dpy);
-       free (gltc);
+   if (! surface)
        return NULL;
-    }
-
-    attr.colormap = XCreateColormap (dpy,
-                                    RootWindow (dpy, vi->screen),
-                                    vi->visual,
-                                    AllocNone);
-    attr.border_pixel = 0;
-    attr.override_redirect = True;
-    gltc->drawable = XCreateWindow (dpy, DefaultRootWindow (dpy), 0, 0,
-                                   width, height, 0, vi->depth,
-                                   InputOutput, vi->visual,
-                                   CWOverrideRedirect | CWBorderPixel | CWColormap,
-                                   &attr);
-    XMapWindow (dpy, gltc->drawable);
 
-    ctx = glXCreateContext (dpy, vi, NULL, True);
-    XFree (vi);
-
-    gltc->ctx = ctx;
-    gltc->device = cairo_glx_device_create (dpy, ctx);
-
-    gltc->surface = cairo_gl_surface_create_for_window (gltc->device,
-                                                       gltc->drawable,
-                                                       ceil (width),
-                                                       ceil (height));
     surface = cairo_surface_create_similar (gltc->surface, content, width, height);
     status = cairo_surface_set_user_data (surface, &gl_closure_key, gltc, NULL);
     if (status == CAIRO_STATUS_SUCCESS)
@@ -441,6 +421,21 @@ static const cairo_boilerplate_target_t targets[] = {
        FALSE, FALSE, FALSE
     },
     {
+       "gl-window-msaa", "gl", NULL, NULL,
+       CAIRO_SURFACE_TYPE_GL, CAIRO_CONTENT_COLOR_ALPHA, 1,
+       "cairo_gl_surface_create_for_window",
+       _cairo_boilerplate_gl_create_window_msaa,
+       cairo_surface_create_similar,
+       NULL,
+       _cairo_boilerplate_gl_finish_window,
+       _cairo_boilerplate_get_image_surface,
+       cairo_surface_write_to_png,
+       _cairo_boilerplate_gl_cleanup,
+       _cairo_boilerplate_gl_synchronize,
+        _cairo_boilerplate_gl_describe,
+       FALSE, FALSE, FALSE
+    },
+    {
        "gl-window&", "gl", NULL, NULL,
        CAIRO_SURFACE_TYPE_GL, CAIRO_CONTENT_COLOR_ALPHA, 1,
        "cairo_gl_surface_create_for_window",
diff --git a/boilerplate/cairo-boilerplate-tg.c b/boilerplate/cairo-boilerplate-tg.c
new file mode 100644 (file)
index 0000000..018f7be
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+ * Copyright © 2012 SCore Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * Author: Taekyun Kim (podain77@gmail.com)
+ */
+
+#include "cairo-boilerplate-private.h"
+
+#include <cairo-tg.h>
+#include <assert.h>
+
+static cairo_surface_t *
+_cairo_boilerplate_tg_create_surface (const char               *name,
+                                     cairo_content_t           content,
+                                     double                    width,
+                                     double                    height,
+                                     double                    max_width,
+                                     double                    max_height,
+                                     cairo_boilerplate_mode_t  mode,
+                                     void                      **closure)
+{
+    cairo_format_t format;
+
+    if (content == CAIRO_CONTENT_COLOR_ALPHA)
+    {
+       format = CAIRO_FORMAT_ARGB32;
+    }
+    else if (content == CAIRO_CONTENT_COLOR)
+    {
+       format = CAIRO_FORMAT_RGB24;
+    }
+    else
+    {
+       assert (0);
+       return NULL;
+    }
+
+    *closure = NULL;
+
+    return cairo_tg_surface_create (format, ceil (width), ceil (height));
+}
+
+static const cairo_boilerplate_target_t targets[] =
+{
+    {
+       "tg", "tg", NULL, NULL,
+       CAIRO_SURFACE_TYPE_TG, CAIRO_CONTENT_COLOR_ALPHA, 0,
+       NULL,
+       _cairo_boilerplate_tg_create_surface,
+       cairo_surface_create_similar,
+       NULL, NULL,
+       _cairo_boilerplate_get_image_surface,
+       cairo_surface_write_to_png,
+       NULL, NULL, NULL,
+       TRUE, FALSE, FALSE
+    }
+};
+CAIRO_BOILERPLATE (tg, targets)
index 979f5b5..ffefecb 100644 (file)
@@ -46,9 +46,15 @@ typedef struct _xcb_target_closure {
 static cairo_status_t
 _cairo_boilerplate_xcb_handle_errors (xcb_target_closure_t *xtc)
 {
-    xcb_generic_event_t *ev;
+    xcb_generic_event_t *ev = NULL;
 
-    if ((ev = xcb_poll_for_event (xtc->c)) != NULL) {
+    /* Ignore all MappingNotify events; those might happen without us causing them */
+    do {
+       free(ev);
+       ev = xcb_poll_for_event(xtc->c);
+    } while (ev != NULL && ev->response_type == XCB_MAPPING_NOTIFY);
+
+    if (ev != NULL) {
        if (ev->response_type == CAIRO_XCB_ERROR) {
            xcb_generic_error_t *error = (xcb_generic_error_t *) ev;
 
index 8cb155d..cf7721a 100644 (file)
@@ -1,5 +1,7 @@
 # Generated by configure.  Modify to customize.
 
+CAIRO_HAS_TLS=0
+CAIRO_HAS_PTHREAD_SETSPECIFIC=0
 CAIRO_HAS_XLIB_SURFACE=0
 CAIRO_HAS_XLIB_XRENDER_SURFACE=0
 CAIRO_HAS_XCB_SURFACE=0
@@ -18,9 +20,12 @@ CAIRO_HAS_DRM_SURFACE=0
 CAIRO_HAS_GALLIUM_SURFACE=0
 CAIRO_HAS_PNG_FUNCTIONS=1
 CAIRO_HAS_GL_SURFACE=0
+CAIRO_HAS_EVASGL_SURFACE=0
 CAIRO_HAS_GLESV2_SURFACE=0
+CAIRO_HAS_GLESV3_SURFACE=0
 CAIRO_HAS_COGL_SURFACE=0
 CAIRO_HAS_DIRECTFB_SURFACE=0
+CAIRO_HAS_TG_SURFACE=0
 CAIRO_HAS_VG_SURFACE=0
 CAIRO_HAS_EGL_FUNCTIONS=0
 CAIRO_HAS_GLX_FUNCTIONS=0
@@ -34,6 +39,7 @@ CAIRO_HAS_SVG_SURFACE=1
 CAIRO_HAS_TEST_SURFACES=0
 CAIRO_HAS_TEE_SURFACE=0
 CAIRO_HAS_XML_SURFACE=0
+CAIRO_HAS_OPENMP=0
 CAIRO_HAS_PTHREAD=0
 CAIRO_HAS_GOBJECT_FUNCTIONS=0
 CAIRO_HAS_TRACE=0
index 13904cf..f5164d7 100644 (file)
@@ -5,6 +5,12 @@ $(top_srcdir)/src/cairo-features.h: $(top_srcdir)/build/Makefile.win32.features
        @echo "/* Generated by Makefile.win32.features-h.  Do not edit. */" > $(top_srcdir)/src/cairo-features.h
        @echo "#ifndef CAIRO_FEATURES_H" >> $(top_srcdir)/src/cairo-features.h
        @echo "#define CAIRO_FEATURES_H 1" >> $(top_srcdir)/src/cairo-features.h
+ifeq ($(CAIRO_HAS_TLS),1)
+       @echo "#define CAIRO_HAS_TLS 1" >> $(top_srcdir)/src/cairo-features.h
+endif
+ifeq ($(CAIRO_HAS_PTHREAD_SETSPECIFIC),1)
+       @echo "#define CAIRO_HAS_PTHREAD_SETSPECIFIC 1" >> $(top_srcdir)/src/cairo-features.h
+endif
 ifeq ($(CAIRO_HAS_XLIB_SURFACE),1)
        @echo "#define CAIRO_HAS_XLIB_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h
 endif
@@ -59,15 +65,24 @@ endif
 ifeq ($(CAIRO_HAS_GL_SURFACE),1)
        @echo "#define CAIRO_HAS_GL_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h
 endif
+ifeq ($(CAIRO_HAS_EVASGL_SURFACE),1)
+       @echo "#define CAIRO_HAS_EVASGL_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h
+endif
 ifeq ($(CAIRO_HAS_GLESV2_SURFACE),1)
        @echo "#define CAIRO_HAS_GLESV2_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h
 endif
+ifeq ($(CAIRO_HAS_GLESV3_SURFACE),1)
+       @echo "#define CAIRO_HAS_GLESV3_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h
+endif
 ifeq ($(CAIRO_HAS_COGL_SURFACE),1)
        @echo "#define CAIRO_HAS_COGL_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h
 endif
 ifeq ($(CAIRO_HAS_DIRECTFB_SURFACE),1)
        @echo "#define CAIRO_HAS_DIRECTFB_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h
 endif
+ifeq ($(CAIRO_HAS_TG_SURFACE),1)
+       @echo "#define CAIRO_HAS_TG_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h
+endif
 ifeq ($(CAIRO_HAS_VG_SURFACE),1)
        @echo "#define CAIRO_HAS_VG_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h
 endif
@@ -112,6 +127,9 @@ ifeq ($(CAIRO_HAS_XML_SURFACE),1)
        @echo "#define CAIRO_HAS_XML_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h
 endif
        @echo "#define CAIRO_HAS_USER_FONT 1" >> $(top_srcdir)/src/cairo-features.h
+ifeq ($(CAIRO_HAS_OPENMP),1)
+       @echo "#define CAIRO_HAS_OPENMP 1" >> $(top_srcdir)/src/cairo-features.h
+endif
 ifeq ($(CAIRO_HAS_PTHREAD),1)
        @echo "#define CAIRO_HAS_PTHREAD 1" >> $(top_srcdir)/src/cairo-features.h
 endif
index 74306ce..cf90a96 100644 (file)
@@ -92,6 +92,8 @@ fi[]dnl
 # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
 # [ACTION-IF-NOT-FOUND])
 #
+# ACTION-IF-NOT-FOUND is not allowed to be empty, that trigger PKG_CONFIG_PATH error message.
+# Use : or set a dummy variable to avoid that behavior.
 #
 # Note that if there is a possibility the first call to
 # PKG_CHECK_MODULES might not happen, you should be sure to include an
index e4a2aaf..0457bf3 100644 (file)
@@ -367,6 +367,7 @@ AC_DEFUN([CAIRO_REPORT],
        echo "  Recording:     yes (always builtin)"
        echo "  Observer:      yes (always builtin)"
        echo "  Mime:          yes (always builtin)"
+       echo "  TG:            $use_tg"
        echo "  Tee:           $use_tee"
        echo "  XML:           $use_xml"
        echo "  Skia:          $use_skia"
@@ -384,6 +385,7 @@ AC_DEFUN([CAIRO_REPORT],
        echo "  SVG:           $use_svg"
        echo "  OpenGL:        $use_gl"
        echo "  OpenGL ES 2.0: $use_glesv2"
+       echo "  OpenGL ES 3.0: $use_glesv3"
        echo "  BeOS:          $use_beos"
        echo "  DirectFB:      $use_directfb"
        echo "  OpenVG:        $use_vg"
@@ -411,6 +413,7 @@ AC_DEFUN([CAIRO_REPORT],
        echo ""
        echo "And the following internal features:"
        echo "  pthread:       $use_pthread"
+       echo "  openmp:        $use_openmp"
        echo "  gtk-doc:       $enable_gtk_doc"
        echo "  gcov support:  $use_gcov"
        echo "  symbol-lookup: $use_symbol_lookup"
diff --git a/build/configure.ac.openmp b/build/configure.ac.openmp
new file mode 100644 (file)
index 0000000..e5bff7f
--- /dev/null
@@ -0,0 +1,74 @@
+m4_define([libcairo_openmp_program],[dnl
+  #include <stdio.h>
+
+  extern unsigned int lcg_seed;
+  #pragma omp threadprivate(lcg_seed)
+  unsigned int lcg_seed;
+
+  unsigned function(unsigned a, unsigned b)
+  {
+       lcg_seed ^= b;
+       return ((a + b) ^ a ) + lcg_seed;
+  }
+
+  int main(int argc, char **argv)
+  {
+       int i;
+       int n1 = 0, n2 = argc;
+       unsigned checksum = 0;
+       int verbose = argv != NULL;
+       unsigned (*test_function)(unsigned, unsigned);
+       test_function = function;
+       #pragma omp parallel for reduction(+:checksum) default(none) \
+                                       shared(n1, n2, test_function, verbose)
+       for (i = n1; i < n2; i++)
+       {
+               unsigned crc = test_function (i, 0);
+               if (verbose)
+                       printf ("%d: %08X\n", i, crc);
+               checksum += crc;
+       }
+       printf("%u\n", checksum);
+       return 0;
+  }
+}])
+
+AC_DEFUN([CAIRO_CHECK_OPENMP],[dnl
+        CAIRO_CC_TRY_LINK_WITH_ENV_SILENT(
+                   [CFLAGS="$CFLAGS $2";
+                    LIBS="$LIBS $3"],
+                   [$4],
+                   [$1_CFLAGS="$2";
+                    $1_LIBS="$3";
+                    $5],
+                   [$1_CFLAGS="";
+                    $1_LIBS="";
+                    $6])
+])
+
+AC_DEFUN([CAIRO_CONFIGURE_OPENMP],[dnl
+       if test "x$OPENMP_CFLAGS" = "x"; then
+               OPENMP_CFLAGS="-fopenmp"
+       fi
+       if test "x$OPENMP_LIBS" = "x"; then
+               OPENMP_LIBS="-lgomp"
+       fi
+
+       CAIRO_CHECK_OPENMP(
+               [openmp], [$OPENMP_CFLAGS], [$OPENMP_LIBS],
+               [libcairo_openmp_program],
+               [have_openmp=yes],
+               [have_openmp=no])
+       OPENMP_CFLAGS=
+       OPENMP_LIBS=
+
+       dnl Tell autoconf about the results.
+       if test "x$have_openmp" = "xyes"; then
+                AC_DEFINE([CAIRO_HAS_OPENMP], 1,
+                       [Define to 1 if we have openmp support])
+       fi
+
+       dnl Set the output variables for CAIRO_ENABLE.
+       use_openmp="$have_openmp"
+       openmp_REQUIRES=""
+])
diff --git a/build/configure.ac.tls b/build/configure.ac.tls
new file mode 100644 (file)
index 0000000..881c919
--- /dev/null
@@ -0,0 +1,108 @@
+m4_define([libcairo_pthread_setspecific_program],[dnl
+    #include <stdlib.h>
+    #include <pthread.h>
+    #include <stdio.h>
+
+    static pthread_once_t once_control = PTHREAD_ONCE_INIT;
+    static pthread_key_t key;
+
+    static void
+    make_key (void)
+    {
+        pthread_key_create (&key, NULL);
+    }
+
+    int
+    main (int argc, char **argv)
+    {
+        void *value = NULL;
+
+        if (pthread_once (&once_control, make_key) != 0)
+        {
+          value = NULL;
+        }
+       else
+        {
+           value = pthread_getspecific (key);
+           if (!value)
+           {
+               value = malloc (100);
+               pthread_setspecific (key, value);
+           }
+       }
+
+       printf ("%d, %p\n", argc, argv);
+       return 0;
+    }
+}])
+
+AC_DEFUN([CAIRO_CONFIGURE_TLS], [dnl
+    have_tls=no
+    AC_CACHE_VAL(ac_cv_tls, [
+       ac_cv_tls=none
+       keywords="__thread __declspec(thread)"
+       for kw in $keywords ; do
+           AC_TRY_COMPILE([
+           #if defined(__MINGW32__) && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
+           #error This MinGW version has broken __thread support
+           #endif
+           #ifdef __OpenBSD__
+           #error OpenBSD has broken __thread support
+           #endif
+
+       int $kw test;], [], [ac_cv_tls=$kw; break])
+       done
+    ])
+
+    if test "$ac_cv_tls" != "none"; then
+       have_tls=yes
+       AC_DEFINE([CAIRO_HAS_TLS], 1, [Define to 1 if we have tls support])
+       AC_DEFINE_UNQUOTED([TLS], $ac_cv_tls, [The compiler supported TLS storage class])
+    fi
+
+    dnl Set the output variables for CAIRO_ENABLE.
+    use_tls="$have_tls"
+    tls_REQUIRES=""
+])
+
+AC_DEFUN([CAIRO_CHECK_PTHREAD_SETSPECIFIC],[dnl
+    CAIRO_CC_TRY_LINK_WITH_ENV_SILENT(
+       [CFLAGS="$CFLAGS $2";
+       LIBS="$LIBS $3"],
+       [$4],
+       [$1_CFLAGS="$2";
+       $1_LIBS="$3";
+       $5],
+       [$1_CFLAGS="";
+       $1_LIBS="";
+       $6])
+])
+
+AC_DEFUN([CAIRO_CONFIGURE_PTHREAD_SETSPECIFIC],[dnl
+    if test "x$PTHREAD_SETSPECIFIC_CFLAGS" = "x"; then
+       PTHREAD_SETSPECIFIC_CFLAGS="-D_REENTRANT"
+    fi
+
+    if test "x$PTHREAD_SETSPECIFIC_LIBS" = "x"; then
+       PTHREAD_SETSPECIFIC_LIBS="-lpthread"
+    fi
+
+    CAIRO_CHECK_PTHREAD_SETSPECIFIC(
+       [pthread_setspecific], [$PTHREAD_SETSPECIFIC_CFLAGS], [$PTHREAD_SETSPECIFIC_LIBS],
+       [libcairo_pthread_setspecific_program],
+       [have_pthread_setspecific=yes],
+       [have_pthread_setspecific=no])
+
+    PTHREAD_SETSPECIFIC_CFLAGS=
+    PTHREAD_SETSPECIFIC_LIBS=
+
+    dnl Tell autoconf about the results.
+    if test "x$have_pthread_setspecific" = "xyes"; then
+       AC_DEFINE([CAIRO_HAS_PTHREAD_SETSPECIFIC], 1,
+                 [Define to 1 if we have pthread_setspecific support])
+    fi
+
+    dnl Set the output variables for CAIRO_ENABLE.
+    use_pthread_setspecific="$have_pthread_setspecific"
+    pthread_setspecific_REQUIRES=""
+])
index 9b9c742..f984eb2 100644 (file)
@@ -21,8 +21,11 @@ MAYBE_WARN="-Wall -Wextra \
 -Wno-missing-field-initializers -Wno-unused-parameter \
 -Wno-attributes -Wno-long-long -Winline"
 
+# New -Wno options should be added here
+# gcc-4.4 and later accept every -Wno- option but may complain later that this
+# option is unknow each time another warning happen.
 # -Wunused-but-set-variable is too noisy at present
-NO_WARN="-Wno-unused-but-set-variable"
+NO_WARN="unused-but-set-variable"
 
 dnl Sun Studio 12 likes to rag at us for abusing enums like
 dnl having cairo_status_t variables hold cairo_int_status_t
@@ -48,8 +51,6 @@ MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
 dnl Also to turn various gcc/glibc-specific preprocessor checks
 MAYBE_WARN="$MAYBE_WARN -Wp,-D_FORTIFY_SOURCE=2"
 
-MAYBE_WARN="$MAYBE_WARN $NO_WARN"
-
 # invalidate cached value if MAYBE_WARN has changed
 if test "x$cairo_cv_warn_maybe" != "x$MAYBE_WARN"; then
        unset cairo_cv_warn_cflags
@@ -72,7 +73,9 @@ AC_CACHE_CHECK([for supported warning flags], cairo_cv_warn_cflags, [
        for W in $MAYBE_WARN; do
                CAIRO_CC_TRY_FLAG([$W],, [WARN_CFLAGS="$WARN_CFLAGS $W"])
        done
-
+       for W in $NO_WARN; do
+               CAIRO_CC_TRY_FLAG([-W$W -Wno-$W],, [WARN_CFLAGS="$WARN_CFLAGS -Wno-$W"])
+       done
        cairo_cv_warn_cflags=$WARN_CFLAGS
        cairo_cv_warn_maybe=$MAYBE_WARN
 
diff --git a/cairo-glesv3-uninstall.pc b/cairo-glesv3-uninstall.pc
new file mode 100644 (file)
index 0000000..67e252e
--- /dev/null
@@ -0,0 +1,7 @@
+Name: cairo-glesv3
+Description: OpenGLESv3 surface backend for cairo graphics library
+Version: 1.12.14
+
+Requires: cairo glesv3
+Libs:  
+Cflags: -I${pc_top_builddir}/${pcfiledir}/./src 
index a64d622..9cda383 100644 (file)
@@ -3,6 +3,6 @@
 
 #define CAIRO_VERSION_MAJOR 1
 #define CAIRO_VERSION_MINOR 12
-#define CAIRO_VERSION_MICRO 3
+#define CAIRO_VERSION_MICRO 14
 
 #endif
diff --git a/config.h.in b/config.h.in
deleted file mode 100644 (file)
index fd0a609..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
-
-/* whether memory barriers are needed around atomic operations */
-#undef ATOMIC_OP_NEEDS_MEMORY_BARRIER
-
-/* Define to 1 if the PDF backend can be tested (need poppler and other
-   dependencies for pdf2png) */
-#undef CAIRO_CAN_TEST_PDF_SURFACE
-
-/* Define to 1 if the PS backend can be tested (needs ghostscript) */
-#undef CAIRO_CAN_TEST_PS_SURFACE
-
-/* Define to 1 if the SVG backend can be tested */
-#undef CAIRO_CAN_TEST_SVG_SURFACE
-
-/* Define to 1 if the Win32 Printing backend can be tested (needs ghostscript)
-   */
-#undef CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE
-
-/* Define to 1 if dlsym is available */
-#undef CAIRO_HAS_DLSYM
-
-/* Define to 1 to enable cairo's cairo-script-interpreter feature */
-#undef CAIRO_HAS_INTERPRETER
-
-/* Define to 1 to enable cairo's pthread feature */
-#undef CAIRO_HAS_PTHREAD
-
-/* Define to 1 if we have full pthread support */
-#undef CAIRO_HAS_REAL_PTHREAD
-
-/* Define to 1 if libspectre is available */
-#undef CAIRO_HAS_SPECTRE
-
-/* Define to 1 to enable cairo's symbol-lookup feature */
-#undef CAIRO_HAS_SYMBOL_LOOKUP
-
-/* Define to 1 to enable cairo's test surfaces feature */
-#undef CAIRO_HAS_TEST_SURFACES
-
-/* Define to 1 to enable cairo's cairo-trace feature */
-#undef CAIRO_HAS_TRACE
-
-/* Define to 1 to disable certain code paths that rely heavily on double
-   precision floating-point calculation */
-#undef DISABLE_SOME_FLOATING_POINT
-
-/* Define to 1 if your system stores words within floats with the most
-   significant word first */
-#undef FLOAT_WORDS_BIGENDIAN
-
-/* Define to 1 if you have the `alarm' function. */
-#undef HAVE_ALARM
-
-/* Define to 1 if you have the binutils development files installed */
-#undef HAVE_BFD
-
-/* Define to 1 if your compiler supports the __builtin_return_address()
-   intrinsic. */
-#undef HAVE_BUILTIN_RETURN_ADDRESS
-
-/* Define to 1 if you have the <byteswap.h> header file. */
-#undef HAVE_BYTESWAP_H
-
-/* Define to 1 if you have the `clock_gettime' function. */
-#undef HAVE_CLOCK_GETTIME
-
-/* Define to 1 if you have the `ctime_r' function. */
-#undef HAVE_CTIME_R
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the `drand48' function. */
-#undef HAVE_DRAND48
-
-/* Define to 1 if you have the `FcFini' function. */
-#undef HAVE_FCFINI
-
-/* Define to 1 if you have the `FcInit' function. */
-#undef HAVE_FCINIT
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define to 1 if you have the `feclearexcept' function. */
-#undef HAVE_FECLEAREXCEPT
-
-/* Define to 1 if you have the `fedisableexcept' function. */
-#undef HAVE_FEDISABLEEXCEPT
-
-/* Define to 1 if you have the `feenableexcept' function. */
-#undef HAVE_FEENABLEEXCEPT
-
-/* Define to 1 if you have the <fenv.h> header file. */
-#undef HAVE_FENV_H
-
-/* Define to 1 if you have the `flockfile' function. */
-#undef HAVE_FLOCKFILE
-
-/* Define to 1 if you have the `fork' function. */
-#undef HAVE_FORK
-
-/* FT_Bitmap_Size structure includes y_ppem field */
-#undef HAVE_FT_BITMAP_SIZE_Y_PPEM
-
-/* Define to 1 if you have the `FT_GlyphSlot_Embolden' function. */
-#undef HAVE_FT_GLYPHSLOT_EMBOLDEN
-
-/* Define to 1 if you have the `FT_GlyphSlot_Oblique' function. */
-#undef HAVE_FT_GLYPHSLOT_OBLIQUE
-
-/* Define to 1 if you have the `FT_Library_SetLcdFilter' function. */
-#undef HAVE_FT_LIBRARY_SETLCDFILTER
-
-/* Define to 1 if you have the `FT_Load_Sfnt_Table' function. */
-#undef HAVE_FT_LOAD_SFNT_TABLE
-
-/* Define to 1 if you have the `funlockfile' function. */
-#undef HAVE_FUNLOCKFILE
-
-/* Whether you have gcov */
-#undef HAVE_GCOV
-
-/* Define to 1 if you have the `getline' function. */
-#undef HAVE_GETLINE
-
-/* Enable if your compiler supports the Intel __sync_* atomic primitives */
-#undef HAVE_INTEL_ATOMIC_PRIMITIVES
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <io.h> header file. */
-#undef HAVE_IO_H
-
-/* Define to 1 if you have the <libgen.h> header file. */
-#undef HAVE_LIBGEN_H
-
-/* Define to 1 if you have the `rt' library (-lrt). */
-#undef HAVE_LIBRT
-
-/* Enable if you have libatomic-ops-dev installed */
-#undef HAVE_LIB_ATOMIC_OPS
-
-/* Define to 1 if you have the `link' function. */
-#undef HAVE_LINK
-
-/* Define to 1 if you have the Valgrind lockdep tool */
-#undef HAVE_LOCKDEP
-
-/* Define to 1 if you have the Valgrind memfault tool */
-#undef HAVE_MEMFAULT
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to non-zero if your system has mkdir, and to 2 if your version of
-   mkdir requires a mode parameter */
-#undef HAVE_MKDIR
-
-/* Define to 1 if you have the `mmap' function. */
-#undef HAVE_MMAP
-
-/* Enable if you have MacOS X atomic operations */
-#undef HAVE_OS_ATOMIC_OPS
-
-/* Define to 1 if you have the `poppler_page_render' function. */
-#undef HAVE_POPPLER_PAGE_RENDER
-
-/* Define to 1 if you have the `raise' function. */
-#undef HAVE_RAISE
-
-/* Define to 1 if you have the `rsvg_pixbuf_from_file' function. */
-#undef HAVE_RSVG_PIXBUF_FROM_FILE
-
-/* Define to 1 if you have the `sched_getaffinity' function. */
-#undef HAVE_SCHED_GETAFFINITY
-
-/* Define to 1 if you have the <sched.h> header file. */
-#undef HAVE_SCHED_H
-
-/* Define to 1 if you have the <setjmp.h> header file. */
-#undef HAVE_SETJMP_H
-
-/* Define to 1 if you have the <signal.h> header file. */
-#undef HAVE_SIGNAL_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strndup' function. */
-#undef HAVE_STRNDUP
-
-/* Define to 1 if you have the <sys/int_types.h> header file. */
-#undef HAVE_SYS_INT_TYPES_H
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
-
-/* Define to 1 if you have the <sys/poll.h> header file. */
-#undef HAVE_SYS_POLL_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/un.h> header file. */
-#undef HAVE_SYS_UN_H
-
-/* Define to 1 if you have the <sys/wait.h> header file. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define to 1 if you have the <time.h> header file. */
-#undef HAVE_TIME_H
-
-/* Define to 1 if the system has the type `uint128_t'. */
-#undef HAVE_UINT128_T
-
-/* Define to 1 if the system has the type `uint64_t'. */
-#undef HAVE_UINT64_T
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have Valgrind */
-#undef HAVE_VALGRIND
-
-/* Define to 1 if you have the `waitpid' function. */
-#undef HAVE_WAITPID
-
-/* Define to 1 if you have the <windows.h> header file. */
-#undef HAVE_WINDOWS_H
-
-/* Define to 1 if you have the `XRenderCreateConicalGradient' function. */
-#undef HAVE_XRENDERCREATECONICALGRADIENT
-
-/* Define to 1 if you have the `XRenderCreateLinearGradient' function. */
-#undef HAVE_XRENDERCREATELINEARGRADIENT
-
-/* Define to 1 if you have the `XRenderCreateRadialGradient' function. */
-#undef HAVE_XRENDERCREATERADIALGRADIENT
-
-/* Define to 1 if you have zlib available */
-#undef HAVE_ZLIB
-
-/* Define to 1 if the system has the type `__uint128_t'. */
-#undef HAVE___UINT128_T
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#undef LT_OBJDIR
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Shared library file extension */
-#undef SHARED_LIB_EXT
-
-/* The size of `int', as computed by sizeof. */
-#undef SIZEOF_INT
-
-/* The size of `long', as computed by sizeof. */
-#undef SIZEOF_LONG
-
-/* The size of `long long', as computed by sizeof. */
-#undef SIZEOF_LONG_LONG
-
-/* The size of `size_t', as computed by sizeof. */
-#undef SIZEOF_SIZE_T
-
-/* The size of `void *', as computed by sizeof. */
-#undef SIZEOF_VOID_P
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
-/* Define to the value your compiler uses to support the warn-unused-result
-   attribute */
-#undef WARN_UNUSED_RESULT
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
-#endif
-
-
-/* Deal with multiple architecture compiles on Mac OS X */
-#ifdef __APPLE_CC__
-#ifdef __BIG_ENDIAN__
-#define WORDS_BIGENDIAN 1
-#define FLOAT_WORDS_BIGENDIAN 1
-#else
-#undef WORDS_BIGENDIAN
-#undef FLOAT_WORDS_BIGENDIAN
-#endif
-#endif
-
-
-/* Define to 1 if the X Window System is missing or not being used. */
-#undef X_DISPLAY_MISSING
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
-   this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
-   calls it, or to nothing if 'inline' is not supported under any name.  */
-#ifndef __cplusplus
-#undef inline
-#endif
diff --git a/configure b/configure
deleted file mode 100755 (executable)
index b7e9d84..0000000
--- a/configure
+++ /dev/null
@@ -1,37843 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for cairo 1.12.3.
-#
-# Report bugs to <http://bugs.freedesktop.org/enter_bug.cgi?product=cairo>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://bugs.freedesktop.org/enter_bug.cgi?product=cairo
-$0: about your system, including any error possibly output
-$0: before this message. Then install a modern shell, or
-$0: manually run the script under such a shell if you do
-$0: have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
-  ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $ECHO works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<_LT_EOF
-$*
-_LT_EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
-  if test "X${echo_test_string+set}" != Xset; then
-    # find a string as large as possible, as long as the shell can cope with it
-    for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
-      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
-        { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
-      then
-        break
-      fi
-    done
-  fi
-
-  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-     test "X$echo_testing_string" = "X$echo_test_string"; then
-    :
-  else
-    # The Solaris, AIX, and Digital Unix default echo programs unquote
-    # backslashes.  This makes it impossible to quote backslashes using
-    #   echo "$something" | sed 's/\\/\\\\/g'
-    #
-    # So, first we look for a working echo in the user's PATH.
-
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for dir in $PATH /usr/ucb; do
-      IFS="$lt_save_ifs"
-      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        ECHO="$dir/echo"
-        break
-      fi
-    done
-    IFS="$lt_save_ifs"
-
-    if test "X$ECHO" = Xecho; then
-      # We didn't find a better echo, so look for alternatives.
-      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        # This shell has a builtin print -r that does the trick.
-        ECHO='print -r'
-      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
-          test "X$CONFIG_SHELL" != X/bin/ksh; then
-        # If we have ksh, try running configure again with it.
-        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-        export ORIGINAL_CONFIG_SHELL
-        CONFIG_SHELL=/bin/ksh
-        export CONFIG_SHELL
-        exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
-      else
-        # Try using printf.
-        ECHO='printf %s\n'
-        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-          echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-          test "X$echo_testing_string" = "X$echo_test_string"; then
-         # Cool, printf works
-         :
-        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-            test "X$echo_testing_string" = 'X\t' &&
-            echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-            test "X$echo_testing_string" = "X$echo_test_string"; then
-         CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-         export CONFIG_SHELL
-         SHELL="$CONFIG_SHELL"
-         export SHELL
-         ECHO="$CONFIG_SHELL $0 --fallback-echo"
-        elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-            test "X$echo_testing_string" = 'X\t' &&
-            echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-            test "X$echo_testing_string" = "X$echo_test_string"; then
-         ECHO="$CONFIG_SHELL $0 --fallback-echo"
-        else
-         # maybe with a smaller string...
-         prev=:
-
-         for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
-           if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
-           then
-             break
-           fi
-           prev="$cmd"
-         done
-
-         if test "$prev" != 'sed 50q "$0"'; then
-           echo_test_string=`eval $prev`
-           export echo_test_string
-           exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
-         else
-           # Oops.  We lost completely, so just stick with echo.
-           ECHO=echo
-         fi
-        fi
-      fi
-    fi
-  fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
-   lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='cairo'
-PACKAGE_TARNAME='cairo'
-PACKAGE_VERSION='1.12.3'
-PACKAGE_STRING='cairo 1.12.3'
-PACKAGE_BUGREPORT='http://bugs.freedesktop.org/enter_bug.cgi?product=cairo'
-PACKAGE_URL='http://cairographics.org/'
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_unique_file="src/cairo.h"
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-HAVE_GTK_FALSE
-HAVE_GTK_TRUE
-gtk_LIBS
-gtk_CFLAGS
-BUILD_CXX_FALSE
-BUILD_CXX_TRUE
-DISABLE_SOME_FLOATING_POINT_FALSE
-DISABLE_SOME_FLOATING_POINT_TRUE
-shm_LIBS
-BUILD_SPHINX_FALSE
-BUILD_SPHINX_TRUE
-glib_LIBS
-glib_CFLAGS
-CAIRO_HAS_SYMBOL_LOOKUP_FALSE
-CAIRO_HAS_SYMBOL_LOOKUP_TRUE
-BFD_LIBS
-CAIRO_HAS_INTERPRETER_FALSE
-CAIRO_HAS_INTERPRETER_TRUE
-CAIRO_HAS_TRACE_FALSE
-CAIRO_HAS_TRACE_TRUE
-SHLIB_EXT
-BUILD_ANY2PPM_FALSE
-BUILD_ANY2PPM_TRUE
-CAIRO_TEST_MODE
-CAIRO_HAS_GOBJECT_FUNCTIONS_FALSE
-CAIRO_HAS_GOBJECT_FUNCTIONS_TRUE
-GOBJECT_LIBS
-GOBJECT_CFLAGS
-real_pthread_LIBS
-real_pthread_CFLAGS
-pthread_LIBS
-pthread_CFLAGS
-HAVE_PTHREAD_FALSE
-HAVE_PTHREAD_TRUE
-HAVE_REAL_PTHREAD_FALSE
-HAVE_REAL_PTHREAD_TRUE
-CAIRO_HAS_PTHREAD_FALSE
-CAIRO_HAS_PTHREAD_TRUE
-CAIRO_HAS_XML_SURFACE_FALSE
-CAIRO_HAS_XML_SURFACE_TRUE
-CAIRO_HAS_TEE_SURFACE_FALSE
-CAIRO_HAS_TEE_SURFACE_TRUE
-pixman_LIBS
-pixman_CFLAGS
-CAIRO_HAS_TEST_SURFACES_FALSE
-CAIRO_HAS_TEST_SURFACES_TRUE
-CAIRO_CAN_TEST_SVG_SURFACE_FALSE
-CAIRO_CAN_TEST_SVG_SURFACE_TRUE
-LIBRSVG_LIBS
-LIBRSVG_CFLAGS
-CAIRO_HAS_SVG_SURFACE_FALSE
-CAIRO_HAS_SVG_SURFACE_TRUE
-CAIRO_HAS_MULTI_PAGE_SURFACES_FALSE
-CAIRO_HAS_MULTI_PAGE_SURFACES_TRUE
-CAIRO_CAN_TEST_PDF_SURFACE_FALSE
-CAIRO_CAN_TEST_PDF_SURFACE_TRUE
-POPPLER_LIBS
-POPPLER_CFLAGS
-CAIRO_HAS_PDF_SURFACE_FALSE
-CAIRO_HAS_PDF_SURFACE_TRUE
-CAIRO_HAS_SPECTRE_FALSE
-CAIRO_HAS_SPECTRE_TRUE
-CAIRO_CAN_TEST_PS_SURFACE_FALSE
-CAIRO_CAN_TEST_PS_SURFACE_TRUE
-LIBSPECTRE_LIBS
-LIBSPECTRE_CFLAGS
-CAIRO_HAS_PS_SURFACE_FALSE
-CAIRO_HAS_PS_SURFACE_TRUE
-CAIRO_HAS_FC_FONT_FALSE
-CAIRO_HAS_FC_FONT_TRUE
-FONTCONFIG_LIBS
-FONTCONFIG_CFLAGS
-CAIRO_HAS_FT_FONT_FALSE
-CAIRO_HAS_FT_FONT_TRUE
-FREETYPE_CONFIG
-FREETYPE_LIBS
-FREETYPE_CFLAGS
-CAIRO_HAS_SCRIPT_SURFACE_FALSE
-CAIRO_HAS_SCRIPT_SURFACE_TRUE
-CAIRO_HAS_WGL_FUNCTIONS_FALSE
-CAIRO_HAS_WGL_FUNCTIONS_TRUE
-CAIRO_HAS_GLX_FUNCTIONS_FALSE
-CAIRO_HAS_GLX_FUNCTIONS_TRUE
-CAIRO_HAS_EGL_FUNCTIONS_FALSE
-CAIRO_HAS_EGL_FUNCTIONS_TRUE
-egl_LIBS
-egl_CFLAGS
-CAIRO_HAS_VG_SURFACE_FALSE
-CAIRO_HAS_VG_SURFACE_TRUE
-CAIRO_HAS_DIRECTFB_SURFACE_FALSE
-CAIRO_HAS_DIRECTFB_SURFACE_TRUE
-directfb_LIBS
-directfb_CFLAGS
-CAIRO_HAS_COGL_SURFACE_FALSE
-CAIRO_HAS_COGL_SURFACE_TRUE
-cogl_LIBS
-cogl_CFLAGS
-CAIRO_HAS_GLESV2_SURFACE_FALSE
-CAIRO_HAS_GLESV2_SURFACE_TRUE
-glesv2_LIBS
-glesv2_CFLAGS
-CAIRO_HAS_GL_SURFACE_FALSE
-CAIRO_HAS_GL_SURFACE_TRUE
-gl_LIBS
-gl_CFLAGS
-CAIRO_HAS_PNG_FUNCTIONS_FALSE
-CAIRO_HAS_PNG_FUNCTIONS_TRUE
-png_LIBS
-png_CFLAGS
-png_REQUIRES
-CAIRO_HAS_GALLIUM_SURFACE_FALSE
-CAIRO_HAS_GALLIUM_SURFACE_TRUE
-gallium_DIR
-mesa_DIR
-CAIRO_HAS_DRM_SURFACE_FALSE
-CAIRO_HAS_DRM_SURFACE_TRUE
-drm_LIBS
-drm_CFLAGS
-CAIRO_HAS_BEOS_SURFACE_FALSE
-CAIRO_HAS_BEOS_SURFACE_TRUE
-CAIRO_HAS_OS2_SURFACE_FALSE
-CAIRO_HAS_OS2_SURFACE_TRUE
-CAIRO_HAS_SKIA_SURFACE_FALSE
-CAIRO_HAS_SKIA_SURFACE_TRUE
-skia_DIR
-CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE_FALSE
-CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE_TRUE
-GS
-CAIRO_HAS_WIN32_FONT_FALSE
-CAIRO_HAS_WIN32_FONT_TRUE
-CAIRO_HAS_WIN32_SURFACE_FALSE
-CAIRO_HAS_WIN32_SURFACE_TRUE
-CAIRO_HAS_QUARTZ_IMAGE_SURFACE_FALSE
-CAIRO_HAS_QUARTZ_IMAGE_SURFACE_TRUE
-CAIRO_HAS_QUARTZ_FONT_FALSE
-CAIRO_HAS_QUARTZ_FONT_TRUE
-CAIRO_HAS_QUARTZ_SURFACE_FALSE
-CAIRO_HAS_QUARTZ_SURFACE_TRUE
-CAIRO_HAS_QT_SURFACE_FALSE
-CAIRO_HAS_QT_SURFACE_TRUE
-qt_LIBS
-qt_CFLAGS
-CAIRO_HAS_XCB_SHM_FUNCTIONS_FALSE
-CAIRO_HAS_XCB_SHM_FUNCTIONS_TRUE
-xcb_shm_LIBS
-xcb_shm_CFLAGS
-CAIRO_HAS_XLIB_XCB_FUNCTIONS_FALSE
-CAIRO_HAS_XLIB_XCB_FUNCTIONS_TRUE
-xlib_xcb_LIBS
-xlib_xcb_CFLAGS
-CAIRO_HAS_XCB_SURFACE_FALSE
-CAIRO_HAS_XCB_SURFACE_TRUE
-xcb_LIBS
-xcb_CFLAGS
-CAIRO_HAS_XLIB_XRENDER_SURFACE_FALSE
-CAIRO_HAS_XLIB_XRENDER_SURFACE_TRUE
-xlib_xrender_LIBS
-xlib_xrender_CFLAGS
-CAIRO_HAS_XLIB_SURFACE_FALSE
-CAIRO_HAS_XLIB_SURFACE_TRUE
-X_EXTRA_LIBS
-X_LIBS
-X_PRE_LIBS
-X_CFLAGS
-XMKMF
-xlib_LIBS
-xlib_CFLAGS
-CAIRO_HAS_DLSYM_FALSE
-CAIRO_HAS_DLSYM_TRUE
-CAIRO_HAS_DL_FALSE
-CAIRO_HAS_DL_TRUE
-VALGRIND_LIBS
-VALGRIND_CFLAGS
-CAIRO_HAS_LCOV_FALSE
-CAIRO_HAS_LCOV_TRUE
-LTP_GENHTML
-LTP
-SHTOOL
-CAIROBOILERPLATE_LIBS
-SHM_LIBS
-HAVE_SHM_FALSE
-HAVE_SHM_TRUE
-LIBM
-OS_WIN32_FALSE
-OS_WIN32_TRUE
-CROSS_COMPILING_FALSE
-CROSS_COMPILING_TRUE
-CAIRO_TEST_UNDEFINED_LDFLAGS
-CAIRO_NONPKGCONFIG_LIBS
-CAIRO_LIBS
-CAIRO_NONPKGCONFIG_CFLAGS
-CAIRO_LDFLAGS
-CAIRO_CFLAGS
-CAIRO_REQUIRES
-PKGCONFIG_REQUIRES
-CXXCPP
-am__fastdepCXX_FALSE
-am__fastdepCXX_TRUE
-CXXDEPMODE
-ac_ct_CXX
-CXXFLAGS
-CXX
-XARGS
-FIND
-CAIRO_LIBTOOL_VERSION_INFO
-CAIRO_RELEASE_STATUS
-CAIRO_VERSION_SONUM
-CAIRO_VERSION_MICRO
-CAIRO_VERSION_MINOR
-CAIRO_VERSION_MAJOR
-GTK_DOC_USE_REBASE_FALSE
-GTK_DOC_USE_REBASE_TRUE
-GTK_DOC_USE_LIBTOOL_FALSE
-GTK_DOC_USE_LIBTOOL_TRUE
-GTK_DOC_BUILD_PDF_FALSE
-GTK_DOC_BUILD_PDF_TRUE
-GTK_DOC_BUILD_HTML_FALSE
-GTK_DOC_BUILD_HTML_TRUE
-ENABLE_GTK_DOC_FALSE
-ENABLE_GTK_DOC_TRUE
-PKG_CONFIG
-HTML_DIR
-GTKDOC_MKPDF
-GTKDOC_REBASE
-GTKDOC_CHECK
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-lt_ECHO
-RANLIB
-AR
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-SED
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-LIBTOOL
-OBJDUMP
-DLLTOOL
-AS
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-EGREP
-GREP
-CPP
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_silent_rules
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-enable_libtool_lock
-with_html_dir
-enable_gtk_doc
-enable_gtk_doc_html
-enable_gtk_doc_pdf
-enable_largefile
-enable_atomic
-enable_gcov
-enable_valgrind
-enable_xlib
-with_x
-enable_xlib_xrender
-enable_xcb
-enable_xlib_xcb
-enable_xcb_shm
-enable_qt
-enable_quartz
-enable_quartz_font
-enable_quartz_image
-enable_win32
-enable_win32_font
-enable_skia
-with_skia
-with_skia_bulid
-enable_os2
-enable_beos
-enable_drm
-enable_gallium
-with_gallium
-enable_png
-enable_gl
-enable_glesv2
-enable_cogl
-enable_directfb
-enable_vg
-enable_egl
-enable_glx
-enable_wgl
-enable_script
-enable_ft
-enable_fc
-enable_ps
-enable_pdf
-enable_svg
-enable_test_surfaces
-enable_tee
-enable_xml
-enable_pthread
-enable_gobject
-enable_full_testing
-enable_trace
-enable_interpreter
-enable_symbol_lookup
-enable_some_floating_point
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP
-PKG_CONFIG
-CXX
-CXXFLAGS
-CCC
-CXXCPP
-VALGRIND_CFLAGS
-VALGRIND_LIBS
-xlib_CFLAGS
-xlib_LIBS
-XMKMF
-xlib_xrender_CFLAGS
-xlib_xrender_LIBS
-xcb_CFLAGS
-xcb_LIBS
-xlib_xcb_CFLAGS
-xlib_xcb_LIBS
-xcb_shm_CFLAGS
-xcb_shm_LIBS
-qt_CFLAGS
-qt_LIBS
-drm_CFLAGS
-drm_LIBS
-png_REQUIRES
-png_CFLAGS
-png_LIBS
-gl_CFLAGS
-gl_LIBS
-glesv2_CFLAGS
-glesv2_LIBS
-cogl_CFLAGS
-cogl_LIBS
-directfb_CFLAGS
-directfb_LIBS
-egl_CFLAGS
-egl_LIBS
-FREETYPE_CFLAGS
-FREETYPE_LIBS
-FONTCONFIG_CFLAGS
-FONTCONFIG_LIBS
-LIBSPECTRE_CFLAGS
-LIBSPECTRE_LIBS
-POPPLER_CFLAGS
-POPPLER_LIBS
-LIBRSVG_CFLAGS
-LIBRSVG_LIBS
-pixman_CFLAGS
-pixman_LIBS
-GOBJECT_CFLAGS
-GOBJECT_LIBS
-glib_CFLAGS
-glib_LIBS
-gtk_CFLAGS
-gtk_LIBS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures cairo 1.12.3 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/cairo]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-X features:
-  --x-includes=DIR    X include files are in DIR
-  --x-libraries=DIR   X library files are in DIR
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of cairo 1.12.3:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-gtk-doc        use gtk-doc to build documentation [[default=no]]
-  --enable-gtk-doc-html   build documentation in html format [[default=yes]]
-  --enable-gtk-doc-pdf    build documentation in pdf format [[default=no]]
-  --disable-largefile     omit support for large files
-  --disable-atomic        disable use of native atomic operations
-  --enable-gcov           Enable gcov
-  --disable-valgrind      Disable valgrind support
-  --enable-xlib=[no/auto/yes]
-                          Enable cairo's Xlib surface backend feature
-                          [default=auto]
-  --enable-xlib-xrender=[no/auto/yes]
-                          Enable cairo's Xlib Xrender surface backend feature
-                          [default=auto]
-  --enable-xcb=[no/auto/yes]
-                          Enable cairo's XCB surface backend feature
-                          [default=auto]
-  --enable-xlib-xcb=[no/auto/yes]
-                          Enable cairo's Xlib/XCB functions feature
-                          [default=no]
-  --enable-xcb-shm=[no/auto/yes]
-                          Enable cairo's XCB/SHM functions feature
-                          [default=auto]
-  --enable-qt=[no/auto/yes]
-                          Enable cairo's Qt surface backend feature
-                          [default=no]
-  --enable-quartz=[no/auto/yes]
-                          Enable cairo's Quartz surface backend feature
-                          [default=auto]
-  --enable-quartz-font=[no/auto/yes]
-                          Enable cairo's Quartz font backend feature
-                          [default=auto]
-  --enable-quartz-image=[no/auto/yes]
-                          Enable cairo's Quartz Image surface backend feature
-                          [default=no]
-  --enable-win32=[no/auto/yes]
-                          Enable cairo's Microsoft Windows surface backend
-                          feature [default=auto]
-  --enable-win32-font=[no/auto/yes]
-                          Enable cairo's Microsoft Windows font backend
-                          feature [default=auto]
-  --enable-skia=[no/auto/yes]
-                          Enable cairo's Skia surface backend feature
-                          [default=no]
-  --enable-os2=[no/auto/yes]
-                          Enable cairo's OS/2 surface backend feature
-                          [default=no]
-  --enable-beos=[no/auto/yes]
-                          Enable cairo's BeOS/Zeta surface backend feature
-                          [default=no]
-  --enable-drm=[no/auto/yes]
-                          Enable cairo's DRM surface backend feature
-                          [default=no]
-  --enable-gallium=[no/auto/yes]
-                          Enable cairo's Gallium3D surface backend feature
-                          [default=no]
-  --enable-png=[no/auto/yes]
-                          Enable cairo's PNG functions feature [default=yes]
-  --enable-gl=[no/auto/yes]
-                          Enable cairo's OpenGL surface backend feature
-                          [default=no]
-  --enable-glesv2=[no/auto/yes]
-                          Enable cairo's OpenGLESv2 surface backend feature
-                          [default=no]
-  --enable-cogl=[no/auto/yes]
-                          Enable cairo's Cogl surface backend feature
-                          [default=no]
-  --enable-directfb=[no/auto/yes]
-                          Enable cairo's directfb surface backend feature
-                          [default=no]
-  --enable-vg=[no/auto/yes]
-                          Enable cairo's OpenVG surface backend feature
-                          [default=no]
-  --enable-egl=[no/auto/yes]
-                          Enable cairo's EGL functions feature [default=auto]
-  --enable-glx=[no/auto/yes]
-                          Enable cairo's GLX functions feature [default=auto]
-  --enable-wgl=[no/auto/yes]
-                          Enable cairo's WGL functions feature [default=auto]
-  --enable-script=[no/auto/yes]
-                          Enable cairo's script surface backend feature
-                          [default=yes]
-  --enable-ft=[no/auto/yes]
-                          Enable cairo's FreeType font backend feature
-                          [default=auto]
-  --enable-fc=[no/auto/yes]
-                          Enable cairo's Fontconfig font backend feature
-                          [default=auto]
-  --enable-ps=[no/auto/yes]
-                          Enable cairo's PostScript surface backend feature
-                          [default=yes]
-  --enable-pdf=[no/auto/yes]
-                          Enable cairo's PDF surface backend feature
-                          [default=yes]
-  --enable-svg=[no/auto/yes]
-                          Enable cairo's SVG surface backend feature
-                          [default=yes]
-  --enable-test-surfaces=[no/auto/yes]
-                          Enable cairo's test surfaces feature [default=no]
-  --enable-tee=[no/auto/yes]
-                          Enable cairo's tee surface backend feature
-                          [default=no]
-  --enable-xml=[no/auto/yes]
-                          Enable cairo's xml surface backend feature
-                          [default=no]
-  --enable-pthread=[no/auto/yes]
-                          Enable cairo's pthread feature [default=auto]
-  --enable-gobject=[no/auto/yes]
-                          Enable cairo's gobject functions feature
-                          [default=auto]
-  --enable-full-testing   Sets the test suite to perform full testing by
-                          default, which will dramatically slow down make
-                          check, but is a *requirement* before release.
-  --enable-trace=[no/auto/yes]
-                          Enable cairo's cairo-trace feature [default=auto]
-  --enable-interpreter=[no/auto/yes]
-                          Enable cairo's cairo-script-interpreter feature
-                          [default=yes]
-  --enable-symbol-lookup=[no/auto/yes]
-                          Enable cairo's symbol-lookup feature [default=auto]
-  --disable-some-floating-point
-                          Disable certain code paths that rely heavily on
-                          double precision floating-point calculation. This
-                          option can improve performance on systems without a
-                          double precision floating-point unit, but might
-                          degrade performance on those that do.
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-html-dir=PATH    path to installed docs
-  --with-x                use the X Window System
-  --with-skia=/path/to/skia
-                          directory to find compiled skia sources
-  --with-skia-build=(Release|Debug)
-                             build of skia to link with, default is Release
-
-  --with-gallium=/path/to/mesa
-                          directory to find gallium enabled mesa
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-  PKG_CONFIG  path to pkg-config utility
-  CXX         C++ compiler command
-  CXXFLAGS    C++ compiler flags
-  CXXCPP      C++ preprocessor
-  VALGRIND_CFLAGS
-              C compiler flags for VALGRIND, overriding pkg-config
-  VALGRIND_LIBS
-              linker flags for VALGRIND, overriding pkg-config
-  xlib_CFLAGS C compiler flags for xlib, overriding pkg-config
-  xlib_LIBS   linker flags for xlib, overriding pkg-config
-  XMKMF       Path to xmkmf, Makefile generator for X Window System
-  xlib_xrender_CFLAGS
-              C compiler flags for xlib_xrender, overriding pkg-config
-  xlib_xrender_LIBS
-              linker flags for xlib_xrender, overriding pkg-config
-  xcb_CFLAGS  C compiler flags for xcb, overriding pkg-config
-  xcb_LIBS    linker flags for xcb, overriding pkg-config
-  xlib_xcb_CFLAGS
-              C compiler flags for xlib_xcb, overriding pkg-config
-  xlib_xcb_LIBS
-              linker flags for xlib_xcb, overriding pkg-config
-  xcb_shm_CFLAGS
-              C compiler flags for xcb_shm, overriding pkg-config
-  xcb_shm_LIBS
-              linker flags for xcb_shm, overriding pkg-config
-  qt_CFLAGS   C compiler flags for qt, overriding pkg-config
-  qt_LIBS     linker flags for qt, overriding pkg-config
-  drm_CFLAGS  C compiler flags for drm, overriding pkg-config
-  drm_LIBS    linker flags for drm, overriding pkg-config
-  png_REQUIRES
-              module name for libpng to search for using pkg-config
-  png_CFLAGS  C compiler flags for png, overriding pkg-config
-  png_LIBS    linker flags for png, overriding pkg-config
-  gl_CFLAGS   C compiler flags for gl, overriding pkg-config
-  gl_LIBS     linker flags for gl, overriding pkg-config
-  glesv2_CFLAGS
-              C compiler flags for glesv2, overriding pkg-config
-  glesv2_LIBS linker flags for glesv2, overriding pkg-config
-  cogl_CFLAGS C compiler flags for cogl, overriding pkg-config
-  cogl_LIBS   linker flags for cogl, overriding pkg-config
-  directfb_CFLAGS
-              C compiler flags for directfb, overriding pkg-config
-  directfb_LIBS
-              linker flags for directfb, overriding pkg-config
-  egl_CFLAGS  C compiler flags for egl, overriding pkg-config
-  egl_LIBS    linker flags for egl, overriding pkg-config
-  FREETYPE_CFLAGS
-              C compiler flags for FREETYPE, overriding pkg-config
-  FREETYPE_LIBS
-              linker flags for FREETYPE, overriding pkg-config
-  FONTCONFIG_CFLAGS
-              C compiler flags for FONTCONFIG, overriding pkg-config
-  FONTCONFIG_LIBS
-              linker flags for FONTCONFIG, overriding pkg-config
-  LIBSPECTRE_CFLAGS
-              C compiler flags for LIBSPECTRE, overriding pkg-config
-  LIBSPECTRE_LIBS
-              linker flags for LIBSPECTRE, overriding pkg-config
-  POPPLER_CFLAGS
-              C compiler flags for POPPLER, overriding pkg-config
-  POPPLER_LIBS
-              linker flags for POPPLER, overriding pkg-config
-  LIBRSVG_CFLAGS
-              C compiler flags for LIBRSVG, overriding pkg-config
-  LIBRSVG_LIBS
-              linker flags for LIBRSVG, overriding pkg-config
-  pixman_CFLAGS
-              C compiler flags for pixman, overriding pkg-config
-  pixman_LIBS linker flags for pixman, overriding pkg-config
-  GOBJECT_CFLAGS
-              C compiler flags for GOBJECT, overriding pkg-config
-  GOBJECT_LIBS
-              linker flags for GOBJECT, overriding pkg-config
-  glib_CFLAGS C compiler flags for glib, overriding pkg-config
-  glib_LIBS   linker flags for glib, overriding pkg-config
-  gtk_CFLAGS  C compiler flags for gtk, overriding pkg-config
-  gtk_LIBS    linker flags for gtk, overriding pkg-config
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://bugs.freedesktop.org/enter_bug.cgi?product=cairo>.
-cairo home page: <http://cairographics.org/>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-cairo configure 1.12.3
-generated by GNU Autoconf 2.67
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval "test \"\${$3+set}\"" = set; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ---------------------------------------------------------------------- ##
-## Report this to http://bugs.freedesktop.org/enter_bug.cgi?product=cairo ##
-## ---------------------------------------------------------------------- ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_func
-
-# ac_fn_cxx_try_compile LINENO
-# ----------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_compile
-
-# ac_fn_cxx_try_cpp LINENO
-# ------------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_cpp
-
-# ac_fn_cxx_try_link LINENO
-# -------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_link
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval "test \"\${$3+set}\"" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-# ----------------------------------------------------
-# Tries to find if the field MEMBER exists in type AGGR, after including
-# INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval "test \"\${$4+set}\"" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$4
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_member
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by cairo $as_me 1.12.3, which was
-generated by GNU Autoconf 2.67.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5 ; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_aux_dir=
-for ac_dir in build "$srcdir"/build; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in build \"$srcdir\"/build" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5 ; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5 ; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5 ; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5 ; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5 ; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
-  MINIX=yes
-else
-  MINIX=
-fi
-
-
-  if test "$MINIX" = yes; then
-
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
-
-
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
-
-
-$as_echo "#define _MINIX 1" >>confdefs.h
-
-  fi
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#        define __EXTENSIONS__ 1
-         $ac_includes_default
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_safe_to_define___extensions__=yes
-else
-  ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
-  test $ac_cv_safe_to_define___extensions__ = yes &&
-    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
-
-  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
-  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
-
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='cairo'
- VERSION='1.12.3'
-
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
-  enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=0;;
-esac
-AM_BACKSLASH='\'
-
-
-# Initialize libtool
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.2.6b'
-macro_revision='1.3017'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:5774: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:5777: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:5780: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
-                = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd* | netbsdelf*-gnu)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-else
-  AR="$ac_cv_prog_AR"
-fi
-
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-const struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_save_LIBS="$LIBS"
-         lt_save_CFLAGS="$CFLAGS"
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS="$lt_save_LIBS"
-         CFLAGS="$lt_save_CFLAGS"
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line 6982 "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-# Set options
-enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AS+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AS"; then
-  ac_cv_prog_AS="$AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AS="${ac_tool_prefix}as"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AS"; then
-  ac_ct_AS=$AS
-  # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AS+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AS"; then
-  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AS="as"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
-$as_echo "$ac_ct_AS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_AS" = x; then
-    AS="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AS=$ac_ct_AS
-  fi
-else
-  AS="$ac_cv_prog_AS"
-fi
-
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-  ;;
-esac
-
-test -z "$AS" && AS=as
-
-
-
-
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-        enable_dlopen=no
-
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8542: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:8546: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl*)
-       # IBM XL C 8.0/Fortran 10.1 on PPC
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       *Sun\ F*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
-$as_echo "$lt_prog_compiler_pic" >&6; }
-
-
-
-
-
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8881: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:8885: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8986: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:8990: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9041: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:9045: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  linux* | k*bsd*-gnu)
-    link_all_deplibs=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]*)                        # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-       link_all_deplibs=no
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         # Exported symbols can be pulled into shared objects from archives
-         whole_archive_flag_spec='$convenience'
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec=' '
-      allow_undefined_flag=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_from_new_cmds='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  whole_archive_flag_spec=''
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo(void) {}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-        LDFLAGS="$save_LDFLAGS"
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl
-       pic_flag=$lt_prog_compiler_pic
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag
-        allow_undefined_flag=
-        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-        then
-         archive_cmds_need_lc=no
-        else
-         archive_cmds_need_lc=yes
-        fi
-        allow_undefined_flag=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5
-$as_echo "$archive_cmds_need_lc" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line 11425 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line 11521 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-# Api documentation
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-       if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
-       _pkg_min_version=0.9.0
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
-       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       else
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-               PKG_CONFIG=""
-       fi
-
-fi
-
-
-    # Extract the first word of "gtkdoc-check", so it can be a program name with args.
-set dummy gtkdoc-check; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GTKDOC_CHECK+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GTKDOC_CHECK in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
-if test -n "$GTKDOC_CHECK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
-$as_echo "$GTKDOC_CHECK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  for ac_prog in gtkdoc-rebase
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GTKDOC_REBASE+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GTKDOC_REBASE in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GTKDOC_REBASE="$GTKDOC_REBASE" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GTKDOC_REBASE="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-GTKDOC_REBASE=$ac_cv_path_GTKDOC_REBASE
-if test -n "$GTKDOC_REBASE"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_REBASE" >&5
-$as_echo "$GTKDOC_REBASE" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$GTKDOC_REBASE" && break
-done
-test -n "$GTKDOC_REBASE" || GTKDOC_REBASE="true"
-
-  # Extract the first word of "gtkdoc-mkpdf", so it can be a program name with args.
-set dummy gtkdoc-mkpdf; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GTKDOC_MKPDF+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $GTKDOC_MKPDF in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_GTKDOC_MKPDF="$GTKDOC_MKPDF" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GTKDOC_MKPDF="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-GTKDOC_MKPDF=$ac_cv_path_GTKDOC_MKPDF
-if test -n "$GTKDOC_MKPDF"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_MKPDF" >&5
-$as_echo "$GTKDOC_MKPDF" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-# Check whether --with-html-dir was given.
-if test "${with_html_dir+set}" = set; then :
-  withval=$with_html_dir;
-else
-  with_html_dir='${datadir}/gtk-doc/html'
-fi
-
-  HTML_DIR="$with_html_dir"
-
-
-    # Check whether --enable-gtk-doc was given.
-if test "${enable_gtk_doc+set}" = set; then :
-  enableval=$enable_gtk_doc;
-else
-  enable_gtk_doc=no
-fi
-
-
-  if test x$enable_gtk_doc = xyes; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.15\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.15") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  :
-else
-  as_fn_error $? "You need to have gtk-doc >= 1.15 installed to build $PACKAGE_NAME" "$LINENO" 5
-fi
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
-$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
-$as_echo "$enable_gtk_doc" >&6; }
-
-    # Check whether --enable-gtk-doc-html was given.
-if test "${enable_gtk_doc_html+set}" = set; then :
-  enableval=$enable_gtk_doc_html;
-else
-  enable_gtk_doc_html=yes
-fi
-
-    # Check whether --enable-gtk-doc-pdf was given.
-if test "${enable_gtk_doc_pdf+set}" = set; then :
-  enableval=$enable_gtk_doc_pdf;
-else
-  enable_gtk_doc_pdf=no
-fi
-
-
-  if test -z "$GTKDOC_MKPDF"; then
-    enable_gtk_doc_pdf=no
-  fi
-
-
-   if test x$enable_gtk_doc = xyes; then
-  ENABLE_GTK_DOC_TRUE=
-  ENABLE_GTK_DOC_FALSE='#'
-else
-  ENABLE_GTK_DOC_TRUE='#'
-  ENABLE_GTK_DOC_FALSE=
-fi
-
-   if test x$enable_gtk_doc_html = xyes; then
-  GTK_DOC_BUILD_HTML_TRUE=
-  GTK_DOC_BUILD_HTML_FALSE='#'
-else
-  GTK_DOC_BUILD_HTML_TRUE='#'
-  GTK_DOC_BUILD_HTML_FALSE=
-fi
-
-   if test x$enable_gtk_doc_pdf = xyes; then
-  GTK_DOC_BUILD_PDF_TRUE=
-  GTK_DOC_BUILD_PDF_FALSE='#'
-else
-  GTK_DOC_BUILD_PDF_TRUE='#'
-  GTK_DOC_BUILD_PDF_FALSE=
-fi
-
-   if test -n "$LIBTOOL"; then
-  GTK_DOC_USE_LIBTOOL_TRUE=
-  GTK_DOC_USE_LIBTOOL_FALSE='#'
-else
-  GTK_DOC_USE_LIBTOOL_TRUE='#'
-  GTK_DOC_USE_LIBTOOL_FALSE=
-fi
-
-   if test -n "$GTKDOC_REBASE"; then
-  GTK_DOC_USE_REBASE_TRUE=
-  GTK_DOC_USE_REBASE_FALSE='#'
-else
-  GTK_DOC_USE_REBASE_TRUE='#'
-  GTK_DOC_USE_REBASE_FALSE=
-fi
-
-
-
-# Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
-  enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_sys_largefile_CC=no
-     if test "$GCC" != yes; then
-       ac_save_CC=$CC
-       while :; do
-        # IRIX 6.2 and later do not support large files by default,
-        # so use the C compiler's -n32 option if that helps.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-        if ac_fn_c_try_compile "$LINENO"; then :
-  break
-fi
-rm -f core conftest.err conftest.$ac_objext
-        CC="$CC -n32"
-        if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_largefile_CC=' -n32'; break
-fi
-rm -f core conftest.err conftest.$ac_objext
-        break
-       done
-       CC=$ac_save_CC
-       rm -f conftest.$ac_ext
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
-  if test "$ac_cv_sys_largefile_CC" != no; then
-    CC=$CC$ac_cv_sys_largefile_CC
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  while :; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_file_offset_bits=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_file_offset_bits=unknown
-  break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
-  no | unknown) ;;
-  *)
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-;;
-esac
-rm -rf conftest*
-  if test $ac_cv_sys_file_offset_bits = unknown; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  while :; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_large_files=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#define _LARGE_FILES 1
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
-    We can't simply define LARGE_OFF_T to be 9223372036854775807,
-    since some C++ compilers masquerading as C compilers
-    incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-                      && LARGE_OFF_T % 2147483647 == 1)
-                     ? 1 : -1];
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_large_files=unknown
-  break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
-  no | unknown) ;;
-  *)
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
-esac
-rm -rf conftest*
-  fi
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-CAIRO_VERSION_MAJOR=1
-CAIRO_VERSION_MINOR=12
-CAIRO_VERSION_MICRO=3
-CAIRO_VERSION_SONUM=2
-CAIRO_RELEASE_STATUS=git
-CAIRO_LIBTOOL_VERSION_INFO=11202:3:11200
-
-
-
-
-
-
-
-# Extract the first word of "find", so it can be a program name with args.
-set dummy find; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_FIND+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $FIND in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_FIND="$FIND" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-FIND=$ac_cv_path_FIND
-if test -n "$FIND"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FIND" >&5
-$as_echo "$FIND" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "xargs", so it can be a program name with args.
-set dummy xargs; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XARGS+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $XARGS in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_XARGS="$XARGS" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_XARGS="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-XARGS=$ac_cv_path_XARGS
-if test -n "$XARGS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XARGS" >&5
-$as_echo "$XARGS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5 ; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
-
-  fi
-fi
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-else
-  CXXFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-        CXXFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CXX"  am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
-
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
-
-  fi
-fi
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-else
-  CXXFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-        CXXFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CXX"  am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
-
-
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-_lt_caught_CXX_error=yes; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-else
-  _lt_caught_CXX_error=yes
-fi
-
-
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-archive_cmds_need_lc_CXX=no
-allow_undefined_flag_CXX=
-always_export_symbols_CXX=no
-archive_expsym_cmds_CXX=
-compiler_needs_object_CXX=no
-export_dynamic_flag_spec_CXX=
-hardcode_direct_CXX=no
-hardcode_direct_absolute_CXX=no
-hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
-hardcode_libdir_separator_CXX=
-hardcode_minus_L_CXX=no
-hardcode_shlibpath_var_CXX=unsupported
-hardcode_automatic_CXX=no
-inherit_rpath_CXX=no
-module_cmds_CXX=
-module_expsym_cmds_CXX=
-link_all_deplibs_CXX=unknown
-old_archive_cmds_CXX=$old_archive_cmds
-no_undefined_flag_CXX=
-whole_archive_flag_spec_CXX=
-enable_shared_with_static_runtimes_CXX=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-objext_CXX=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="int some_variable = 0;"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-  # save warnings/boilerplate of simple test code
-  ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-  ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  compiler=$CC
-  compiler_CXX=$CC
-  for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test "$GXX" = yes; then
-      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-    else
-      lt_prog_compiler_no_builtin_flag_CXX=
-    fi
-
-    if test "$GXX" = yes; then
-      # Set up default GNU C++ configuration
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test "$with_gnu_ld" = yes; then
-        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='${wl}'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-         $GREP 'no-whole-archive' > /dev/null; then
-          whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-        else
-          whole_archive_flag_spec_CXX=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-    ld_shlibs_CXX=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-      aix[4-9]*)
-        if test "$host_cpu" = ia64; then
-          # On IA64, the linker does run time linking by default, so we don't
-          # have to do anything special.
-          aix_use_runtimelinking=no
-          exp_sym_flag='-Bexport'
-          no_entry_flag=""
-        else
-          aix_use_runtimelinking=no
-
-          # Test if we are trying to use run time linking or normal
-          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-          # need to do runtime linking.
-          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-           for ld_flag in $LDFLAGS; do
-             case $ld_flag in
-             *-brtl*)
-               aix_use_runtimelinking=yes
-               break
-               ;;
-             esac
-           done
-           ;;
-          esac
-
-          exp_sym_flag='-bexport'
-          no_entry_flag='-bnoentry'
-        fi
-
-        # When large executables or shared objects are built, AIX ld can
-        # have problems creating the table of contents.  If linking a library
-        # or program results in "error TOC overflow" add -mminimal-toc to
-        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-        archive_cmds_CXX=''
-        hardcode_direct_CXX=yes
-        hardcode_direct_absolute_CXX=yes
-        hardcode_libdir_separator_CXX=':'
-        link_all_deplibs_CXX=yes
-        file_list_spec_CXX='${wl}-f,'
-
-        if test "$GXX" = yes; then
-          case $host_os in aix4.[012]|aix4.[012].*)
-          # We only want to do this on AIX 4.2 and lower, the check
-          # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-            strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-           # We have reworked collect2
-           :
-         else
-           # We have old collect2
-           hardcode_direct_CXX=unsupported
-           # It fails to find uninstalled libraries when the uninstalled
-           # path is not listed in the libpath.  Setting hardcode_minus_L
-           # to unsupported forces relinking
-           hardcode_minus_L_CXX=yes
-           hardcode_libdir_flag_spec_CXX='-L$libdir'
-           hardcode_libdir_separator_CXX=
-         fi
-          esac
-          shared_flag='-shared'
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag="$shared_flag "'${wl}-G'
-         fi
-        else
-          # not using gcc
-          if test "$host_cpu" = ia64; then
-         # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-         # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-          else
-           if test "$aix_use_runtimelinking" = yes; then
-             shared_flag='${wl}-G'
-           else
-             shared_flag='${wl}-bM:SRE'
-           fi
-          fi
-        fi
-
-        export_dynamic_flag_spec_CXX='${wl}-bexpall'
-        # It seems that -bexpall does not export symbols beginning with
-        # underscore (_), so it is better to generate a list of symbols to
-       # export.
-        always_export_symbols_CXX=yes
-        if test "$aix_use_runtimelinking" = yes; then
-          # Warning - without using the other runtime loading flags (-brtl),
-          # -berok will link without error, but may produce a broken library.
-          allow_undefined_flag_CXX='-berok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-          hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-        else
-          if test "$host_cpu" = ia64; then
-           hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
-           allow_undefined_flag_CXX="-z nodefs"
-           archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-          else
-           # Determine the default libpath from the value encoded in an
-           # empty executable.
-           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-           hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-           # Warning - without using the other run time loading flags,
-           # -berok will link without error, but may produce a broken library.
-           no_undefined_flag_CXX=' ${wl}-bernotok'
-           allow_undefined_flag_CXX=' ${wl}-berok'
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec_CXX='$convenience'
-           archive_cmds_need_lc_CXX=yes
-           # This is similar to how AIX traditionally builds its shared
-           # libraries.
-           archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-          fi
-        fi
-        ;;
-
-      beos*)
-       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-         allow_undefined_flag_CXX=unsupported
-         # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-         # support --undefined.  This deserves some investigation.  FIXME
-         archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       else
-         ld_shlibs_CXX=no
-       fi
-       ;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-         # FIXME: insert proper C++ library support
-         ld_shlibs_CXX=no
-         ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-        # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
-        # as there is no search path for DLLs.
-        hardcode_libdir_flag_spec_CXX='-L$libdir'
-        allow_undefined_flag_CXX=unsupported
-        always_export_symbols_CXX=no
-        enable_shared_with_static_runtimes_CXX=yes
-
-        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-          archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-          # If the export-symbols file already is a .def file (1st line
-          # is EXPORTS), use it as is; otherwise, prepend...
-          archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           cp $export_symbols $output_objdir/$soname.def;
-          else
-           echo EXPORTS > $output_objdir/$soname.def;
-           cat $export_symbols >> $output_objdir/$soname.def;
-          fi~
-          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-        else
-          ld_shlibs_CXX=no
-        fi
-        ;;
-      darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc_CXX=no
-  hardcode_direct_CXX=no
-  hardcode_automatic_CXX=yes
-  hardcode_shlibpath_var_CXX=unsupported
-  whole_archive_flag_spec_CXX=''
-  link_all_deplibs_CXX=yes
-  allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
-    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-       if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-      archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-      archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-    fi
-
-  else
-  ld_shlibs_CXX=no
-  fi
-
-       ;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-          ghcx*)
-           # Green Hills C++ Compiler
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-          *)
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-        esac
-        ;;
-
-      freebsd[12]*)
-        # C++ shared libraries reported to be fairly broken before
-       # switch to ELF
-        ld_shlibs_CXX=no
-        ;;
-
-      freebsd-elf*)
-        archive_cmds_need_lc_CXX=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        ld_shlibs_CXX=yes
-        ;;
-
-      gnu*)
-        ;;
-
-      hpux9*)
-        hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-        hardcode_libdir_separator_CXX=:
-        export_dynamic_flag_spec_CXX='${wl}-E'
-        hardcode_direct_CXX=yes
-        hardcode_minus_L_CXX=yes # Not in the search PATH,
-                                            # but as the default
-                                            # location of the library.
-
-        case $cc_basename in
-          CC*)
-            # FIXME: insert proper C++ library support
-            ld_shlibs_CXX=no
-            ;;
-          aCC*)
-            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            # Commands to make compiler produce verbose output that lists
-            # what "hidden" libraries, object files and flags are used when
-            # linking a shared library.
-            #
-            # There doesn't appear to be a way to prevent this compiler from
-            # explicitly linking system object files so we need to strip them
-            # from the output so that they don't get included in the library
-            # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-            ;;
-          *)
-            if test "$GXX" = yes; then
-              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            else
-              # FIXME: insert proper C++ library support
-              ld_shlibs_CXX=no
-            fi
-            ;;
-        esac
-        ;;
-
-      hpux10*|hpux11*)
-        if test $with_gnu_ld = no; then
-         hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-         hardcode_libdir_separator_CXX=:
-
-          case $host_cpu in
-            hppa*64*|ia64*)
-              ;;
-            *)
-             export_dynamic_flag_spec_CXX='${wl}-E'
-              ;;
-          esac
-        fi
-        case $host_cpu in
-          hppa*64*|ia64*)
-            hardcode_direct_CXX=no
-            hardcode_shlibpath_var_CXX=no
-            ;;
-          *)
-            hardcode_direct_CXX=yes
-            hardcode_direct_absolute_CXX=yes
-            hardcode_minus_L_CXX=yes # Not in the search PATH,
-                                                # but as the default
-                                                # location of the library.
-            ;;
-        esac
-
-        case $cc_basename in
-          CC*)
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-          aCC*)
-           case $host_cpu in
-             hppa*64*)
-               archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-               ;;
-             ia64*)
-               archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-               ;;
-             *)
-               archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-               ;;
-           esac
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           #
-           # There doesn't appear to be a way to prevent this compiler from
-           # explicitly linking system object files so we need to strip them
-           # from the output so that they don't get included in the library
-           # dependencies.
-           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-           ;;
-          *)
-           if test "$GXX" = yes; then
-             if test $with_gnu_ld = no; then
-               case $host_cpu in
-                 hppa*64*)
-                   archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-                   ;;
-                 ia64*)
-                   archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-                   ;;
-                 *)
-                   archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-                   ;;
-               esac
-             fi
-           else
-             # FIXME: insert proper C++ library support
-             ld_shlibs_CXX=no
-           fi
-           ;;
-        esac
-        ;;
-
-      interix[3-9]*)
-       hardcode_direct_CXX=no
-       hardcode_shlibpath_var_CXX=no
-       hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-       export_dynamic_flag_spec_CXX='${wl}-E'
-       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-       # Instead, shared libraries are loaded at an image base (0x10000000 by
-       # default) and relocated if they conflict, which is a slow very memory
-       # consuming and fragmenting process.  To avoid this, we pick a random,
-       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-       archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-       archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-       ;;
-      irix5* | irix6*)
-        case $cc_basename in
-          CC*)
-           # SGI C++
-           archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-
-           # Archives containing C++ object files must be created using
-           # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-           # necessary to make sure instantiated templates are included
-           # in the archive.
-           old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
-           ;;
-          *)
-           if test "$GXX" = yes; then
-             if test "$with_gnu_ld" = no; then
-               archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-             else
-               archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
-             fi
-           fi
-           link_all_deplibs_CXX=yes
-           ;;
-        esac
-        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-        hardcode_libdir_separator_CXX=:
-        inherit_rpath_CXX=yes
-        ;;
-
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
-        case $cc_basename in
-          KCC*)
-           # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-           # KCC will only create a shared library if the output file
-           # ends with ".so" (or ".sl" for HP-UX), so rename the library
-           # to its proper name (with version) after linking.
-           archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-           archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           #
-           # There doesn't appear to be a way to prevent this compiler from
-           # explicitly linking system object files so we need to strip them
-           # from the output so that they don't get included in the library
-           # dependencies.
-           output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-
-           hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-           export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-           # Archives containing C++ object files must be created using
-           # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-           old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-           ;;
-         icpc* | ecpc* )
-           # Intel C++
-           with_gnu_ld=yes
-           # version 8.0 and above of icpc choke on multiply defined symbols
-           # if we add $predep_objects and $postdep_objects, however 7.1 and
-           # earlier do not add the objects themselves.
-           case `$CC -V 2>&1` in
-             *"Version 7."*)
-               archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-               archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-               ;;
-             *)  # Version 8.0 or newer
-               tmp_idyn=
-               case $host_cpu in
-                 ia64*) tmp_idyn=' -i_dynamic';;
-               esac
-               archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-               archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-               ;;
-           esac
-           archive_cmds_need_lc_CXX=no
-           hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-           export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-           whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-           ;;
-          pgCC* | pgcpp*)
-            # Portland Group C++ compiler
-           case `$CC -V` in
-           *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
-             prelink_cmds_CXX='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-               compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
-             old_archive_cmds_CXX='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-               $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
-               $RANLIB $oldlib'
-             archive_cmds_CXX='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-             archive_expsym_cmds_CXX='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-             ;;
-           *) # Version 6 will use weak symbols
-             archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-             archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-             ;;
-           esac
-
-           hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
-           export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-           whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-            ;;
-         cxx*)
-           # Compaq C++
-           archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-           runpath_var=LD_RUN_PATH
-           hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-           hardcode_libdir_separator_CXX=:
-
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           #
-           # There doesn't appear to be a way to prevent this compiler from
-           # explicitly linking system object files so we need to strip them
-           # from the output so that they don't get included in the library
-           # dependencies.
-           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-           ;;
-         xl*)
-           # IBM XL 8.0 on PPC, with GNU ld
-           hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-           export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-           archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           if test "x$supports_anon_versioning" = xyes; then
-             archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
-               cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-               echo "local: *; };" >> $output_objdir/$libname.ver~
-               $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-           fi
-           ;;
-         *)
-           case `$CC -V 2>&1 | sed 5q` in
-           *Sun\ C*)
-             # Sun C++ 5.9
-             no_undefined_flag_CXX=' -zdefs'
-             archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-             archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-             hardcode_libdir_flag_spec_CXX='-R$libdir'
-             whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-             compiler_needs_object_CXX=yes
-
-             # Not sure whether something based on
-             # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-             # would be better.
-             output_verbose_link_cmd='echo'
-
-             # Archives containing C++ object files must be created using
-             # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-             # necessary to make sure instantiated templates are included
-             # in the archive.
-             old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-             ;;
-           esac
-           ;;
-       esac
-       ;;
-
-      lynxos*)
-        # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-
-      m88k*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-       ;;
-
-      mvs*)
-        case $cc_basename in
-          cxx*)
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-         *)
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-       esac
-       ;;
-
-      netbsd*)
-        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-         archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-         wlarc=
-         hardcode_libdir_flag_spec_CXX='-R$libdir'
-         hardcode_direct_CXX=yes
-         hardcode_shlibpath_var_CXX=no
-       fi
-       # Workaround some broken pre-1.5 toolchains
-       output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-       ;;
-
-      *nto* | *qnx*)
-        ld_shlibs_CXX=yes
-       ;;
-
-      openbsd2*)
-        # C++ shared libraries are fairly broken
-       ld_shlibs_CXX=no
-       ;;
-
-      openbsd*)
-       if test -f /usr/libexec/ld.so; then
-         hardcode_direct_CXX=yes
-         hardcode_shlibpath_var_CXX=no
-         hardcode_direct_absolute_CXX=yes
-         archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-         hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-         if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-           archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-           export_dynamic_flag_spec_CXX='${wl}-E'
-           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-         fi
-         output_verbose_link_cmd=echo
-       else
-         ld_shlibs_CXX=no
-       fi
-       ;;
-
-      osf3* | osf4* | osf5*)
-        case $cc_basename in
-          KCC*)
-           # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-           # KCC will only create a shared library if the output file
-           # ends with ".so" (or ".sl" for HP-UX), so rename the library
-           # to its proper name (with version) after linking.
-           archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-           hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-           hardcode_libdir_separator_CXX=:
-
-           # Archives containing C++ object files must be created using
-           # the KAI C++ compiler.
-           case $host in
-             osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
-             *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
-           esac
-           ;;
-          RCC*)
-           # Rational C++ 2.4.1
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-          cxx*)
-           case $host in
-             osf3*)
-               allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-               archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-               hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-               ;;
-             *)
-               allow_undefined_flag_CXX=' -expect_unresolved \*'
-               archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-               archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-                 echo "-hidden">> $lib.exp~
-                 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
-                 $RM $lib.exp'
-               hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-               ;;
-           esac
-
-           hardcode_libdir_separator_CXX=:
-
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           #
-           # There doesn't appear to be a way to prevent this compiler from
-           # explicitly linking system object files so we need to strip them
-           # from the output so that they don't get included in the library
-           # dependencies.
-           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-           ;;
-         *)
-           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-             allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-             case $host in
-               osf3*)
-                 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-                 ;;
-               *)
-                 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-                 ;;
-             esac
-
-             hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-             hardcode_libdir_separator_CXX=:
-
-             # Commands to make compiler produce verbose output that lists
-             # what "hidden" libraries, object files and flags are used when
-             # linking a shared library.
-             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
-           else
-             # FIXME: insert proper C++ library support
-             ld_shlibs_CXX=no
-           fi
-           ;;
-        esac
-        ;;
-
-      psos*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-
-      sunos4*)
-        case $cc_basename in
-          CC*)
-           # Sun C++ 4.x
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-          lcc*)
-           # Lucid
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-          *)
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-        esac
-        ;;
-
-      solaris*)
-        case $cc_basename in
-          CC*)
-           # Sun C++ 4.2, 5.x and Centerline C++
-            archive_cmds_need_lc_CXX=yes
-           no_undefined_flag_CXX=' -zdefs'
-           archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-           archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-             $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-           hardcode_libdir_flag_spec_CXX='-R$libdir'
-           hardcode_shlibpath_var_CXX=no
-           case $host_os in
-             solaris2.[0-5] | solaris2.[0-5].*) ;;
-             *)
-               # The compiler driver will combine and reorder linker options,
-               # but understands `-z linker_flag'.
-               # Supported since Solaris 2.6 (maybe 2.5.1?)
-               whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
-               ;;
-           esac
-           link_all_deplibs_CXX=yes
-
-           output_verbose_link_cmd='echo'
-
-           # Archives containing C++ object files must be created using
-           # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-           # necessary to make sure instantiated templates are included
-           # in the archive.
-           old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-           ;;
-          gcx*)
-           # Green Hills C++ Compiler
-           archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-           # The C++ compiler must be used to create the archive.
-           old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-           ;;
-          *)
-           # GNU C++ compiler with Solaris linker
-           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-             no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
-             if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-               archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-               archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-               # Commands to make compiler produce verbose output that lists
-               # what "hidden" libraries, object files and flags are used when
-               # linking a shared library.
-               output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-             else
-               # g++ 2.7 appears to require `-G' NOT `-shared' on this
-               # platform.
-               archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-               archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-               # Commands to make compiler produce verbose output that lists
-               # what "hidden" libraries, object files and flags are used when
-               # linking a shared library.
-               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-             fi
-
-             hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
-             case $host_os in
-               solaris2.[0-5] | solaris2.[0-5].*) ;;
-               *)
-                 whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-                 ;;
-             esac
-           fi
-           ;;
-        esac
-        ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag_CXX='${wl}-z,text'
-      archive_cmds_need_lc_CXX=no
-      hardcode_shlibpath_var_CXX=no
-      runpath_var='LD_RUN_PATH'
-
-      case $cc_basename in
-        CC*)
-         archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-      esac
-      ;;
-
-      sysv5* | sco3.2v5* | sco5v6*)
-       # Note: We can NOT use -z defs as we might desire, because we do not
-       # link with -lc, and that would cause any symbols used from libc to
-       # always be unresolved, which means just about no library would
-       # ever link correctly.  If we're not using GNU ld we use -z text
-       # though, which does catch some bad symbols but isn't as heavy-handed
-       # as -z defs.
-       no_undefined_flag_CXX='${wl}-z,text'
-       allow_undefined_flag_CXX='${wl}-z,nodefs'
-       archive_cmds_need_lc_CXX=no
-       hardcode_shlibpath_var_CXX=no
-       hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
-       hardcode_libdir_separator_CXX=':'
-       link_all_deplibs_CXX=yes
-       export_dynamic_flag_spec_CXX='${wl}-Bexport'
-       runpath_var='LD_RUN_PATH'
-
-       case $cc_basename in
-          CC*)
-           archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           ;;
-         *)
-           archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-           ;;
-       esac
-      ;;
-
-      tandem*)
-        case $cc_basename in
-          NCC*)
-           # NonStop-UX NCC 3.20
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-          *)
-           # FIXME: insert proper C++ library support
-           ld_shlibs_CXX=no
-           ;;
-        esac
-        ;;
-
-      vxworks*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-
-      *)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-    esac
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
-$as_echo "$ld_shlibs_CXX" >&6; }
-    test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-    GCC_CXX="$GXX"
-    LD_CXX="$LD"
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    # Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-
-cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-_LT_EOF
-
-if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" ||
-          test $p = "-R"; then
-        prev=$p
-        continue
-       else
-        prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-        case $p in
-        -L* | -R*)
-          # Internal compiler library paths should come after those
-          # provided the user.  The postdeps already come after the
-          # user supplied libs so there is no need to process them.
-          if test -z "$compiler_lib_search_path_CXX"; then
-            compiler_lib_search_path_CXX="${prev}${p}"
-          else
-            compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
-          fi
-          ;;
-        # The "-l" case would never come before the object being
-        # linked, so don't bother handling this case.
-        esac
-       else
-        if test -z "$postdeps_CXX"; then
-          postdeps_CXX="${prev}${p}"
-        else
-          postdeps_CXX="${postdeps_CXX} ${prev}${p}"
-        fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-        pre_test_object_deps_done=yes
-        continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-        if test -z "$predep_objects_CXX"; then
-          predep_objects_CXX="$p"
-        else
-          predep_objects_CXX="$predep_objects_CXX $p"
-        fi
-       else
-        if test -z "$postdep_objects_CXX"; then
-          postdep_objects_CXX="$p"
-        else
-          postdep_objects_CXX="$postdep_objects_CXX $p"
-        fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling CXX test program"
-fi
-
-$RM -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-case $host_os in
-interix[3-9]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  predep_objects_CXX=
-  postdep_objects_CXX=
-  postdeps_CXX=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    if test "$solaris_use_stlport4" != yes; then
-      postdeps_CXX='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      postdeps_CXX='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-
-
-case " $postdeps_CXX " in
-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
-esac
- compiler_lib_search_dirs_CXX=
-if test -n "${compiler_lib_search_path_CXX}"; then
- compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    lt_prog_compiler_wl_CXX=
-lt_prog_compiler_pic_CXX=
-lt_prog_compiler_static_CXX=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    lt_prog_compiler_wl_CXX='-Wl,'
-    lt_prog_compiler_static_CXX='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static_CXX='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic_CXX='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_CXX='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      lt_prog_compiler_pic_CXX=
-      ;;
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic_CXX=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       ;;
-      *)
-       lt_prog_compiler_pic_CXX='-fPIC'
-       ;;
-      esac
-      ;;
-    *qnx* | *nto*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic_CXX='-fPIC -shared'
-      ;;
-    *)
-      lt_prog_compiler_pic_CXX='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[4-9]*)
-       # All AIX code is PIC.
-       if test "$host_cpu" = ia64; then
-         # AIX 5 now supports IA64 processor
-         lt_prog_compiler_static_CXX='-Bstatic'
-       else
-         lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
-       fi
-       ;;
-      chorus*)
-       case $cc_basename in
-       cxch68*)
-         # Green Hills C++ Compiler
-         # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-         ;;
-       esac
-       ;;
-      dgux*)
-       case $cc_basename in
-         ec++*)
-           lt_prog_compiler_pic_CXX='-KPIC'
-           ;;
-         ghcx*)
-           # Green Hills C++ Compiler
-           lt_prog_compiler_pic_CXX='-pic'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      freebsd* | dragonfly*)
-       # FreeBSD uses GNU C++
-       ;;
-      hpux9* | hpux10* | hpux11*)
-       case $cc_basename in
-         CC*)
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
-           if test "$host_cpu" != ia64; then
-             lt_prog_compiler_pic_CXX='+Z'
-           fi
-           ;;
-         aCC*)
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
-           case $host_cpu in
-           hppa*64*|ia64*)
-             # +Z the default
-             ;;
-           *)
-             lt_prog_compiler_pic_CXX='+Z'
-             ;;
-           esac
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      interix*)
-       # This is c89, which is MS Visual C++ (no shared libs)
-       # Anyone wants to do a port?
-       ;;
-      irix5* | irix6* | nonstopux*)
-       case $cc_basename in
-         CC*)
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_static_CXX='-non_shared'
-           # CC pic flag -KPIC is the default.
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
-       case $cc_basename in
-         KCC*)
-           # KAI C++ Compiler
-           lt_prog_compiler_wl_CXX='--backend -Wl,'
-           lt_prog_compiler_pic_CXX='-fPIC'
-           ;;
-         ecpc* )
-           # old Intel C++ for x86_64 which still supported -KPIC.
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_pic_CXX='-KPIC'
-           lt_prog_compiler_static_CXX='-static'
-           ;;
-         icpc* )
-           # Intel C++, used to be incompatible with GCC.
-           # ICC 10 doesn't accept -KPIC any more.
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_pic_CXX='-fPIC'
-           lt_prog_compiler_static_CXX='-static'
-           ;;
-         pgCC* | pgcpp*)
-           # Portland Group C++ compiler
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_pic_CXX='-fpic'
-           lt_prog_compiler_static_CXX='-Bstatic'
-           ;;
-         cxx*)
-           # Compaq C++
-           # Make sure the PIC flag is empty.  It appears that all Alpha
-           # Linux and Compaq Tru64 Unix objects are PIC.
-           lt_prog_compiler_pic_CXX=
-           lt_prog_compiler_static_CXX='-non_shared'
-           ;;
-         xlc* | xlC*)
-           # IBM XL 8.0 on PPC
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_pic_CXX='-qpic'
-           lt_prog_compiler_static_CXX='-qstaticlink'
-           ;;
-         *)
-           case `$CC -V 2>&1 | sed 5q` in
-           *Sun\ C*)
-             # Sun C++ 5.9
-             lt_prog_compiler_pic_CXX='-KPIC'
-             lt_prog_compiler_static_CXX='-Bstatic'
-             lt_prog_compiler_wl_CXX='-Qoption ld '
-             ;;
-           esac
-           ;;
-       esac
-       ;;
-      lynxos*)
-       ;;
-      m88k*)
-       ;;
-      mvs*)
-       case $cc_basename in
-         cxx*)
-           lt_prog_compiler_pic_CXX='-W c,exportall'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      netbsd* | netbsdelf*-gnu)
-       ;;
-      *qnx* | *nto*)
-        # QNX uses GNU C++, but need to define -shared option too, otherwise
-        # it will coredump.
-        lt_prog_compiler_pic_CXX='-fPIC -shared'
-        ;;
-      osf3* | osf4* | osf5*)
-       case $cc_basename in
-         KCC*)
-           lt_prog_compiler_wl_CXX='--backend -Wl,'
-           ;;
-         RCC*)
-           # Rational C++ 2.4.1
-           lt_prog_compiler_pic_CXX='-pic'
-           ;;
-         cxx*)
-           # Digital/Compaq C++
-           lt_prog_compiler_wl_CXX='-Wl,'
-           # Make sure the PIC flag is empty.  It appears that all Alpha
-           # Linux and Compaq Tru64 Unix objects are PIC.
-           lt_prog_compiler_pic_CXX=
-           lt_prog_compiler_static_CXX='-non_shared'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      psos*)
-       ;;
-      solaris*)
-       case $cc_basename in
-         CC*)
-           # Sun C++ 4.2, 5.x and Centerline C++
-           lt_prog_compiler_pic_CXX='-KPIC'
-           lt_prog_compiler_static_CXX='-Bstatic'
-           lt_prog_compiler_wl_CXX='-Qoption ld '
-           ;;
-         gcx*)
-           # Green Hills C++ Compiler
-           lt_prog_compiler_pic_CXX='-PIC'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      sunos4*)
-       case $cc_basename in
-         CC*)
-           # Sun C++ 4.x
-           lt_prog_compiler_pic_CXX='-pic'
-           lt_prog_compiler_static_CXX='-Bstatic'
-           ;;
-         lcc*)
-           # Lucid
-           lt_prog_compiler_pic_CXX='-pic'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-       case $cc_basename in
-         CC*)
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_pic_CXX='-KPIC'
-           lt_prog_compiler_static_CXX='-Bstatic'
-           ;;
-       esac
-       ;;
-      tandem*)
-       case $cc_basename in
-         NCC*)
-           # NonStop-UX NCC 3.20
-           lt_prog_compiler_pic_CXX='-KPIC'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      vxworks*)
-       ;;
-      *)
-       lt_prog_compiler_can_build_shared_CXX=no
-       ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_CXX=
-    ;;
-  *)
-    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
-    ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
-$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
-
-
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works_CXX=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15735: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:15739: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works_CXX=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
-    case $lt_prog_compiler_pic_CXX in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
-     esac
-else
-    lt_prog_compiler_pic_CXX=
-     lt_prog_compiler_can_build_shared_CXX=no
-fi
-
-fi
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works_CXX=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works_CXX=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works_CXX=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
-    :
-else
-    lt_prog_compiler_static_CXX=
-fi
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15834: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:15838: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_CXX=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15886: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:15890: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_CXX=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[4-9]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    else
-      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    export_symbols_cmds_CXX="$ltdll_cmds"
-  ;;
-  cygwin* | mingw* | cegcc*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  linux* | k*bsd*-gnu)
-    link_all_deplibs_CXX=no
-  ;;
-  *)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
-$as_echo "$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-with_gnu_ld_CXX=$with_gnu_ld
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_CXX=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_CXX in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_CXX
-       pic_flag=$lt_prog_compiler_pic_CXX
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
-        allow_undefined_flag_CXX=
-        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-        then
-         archive_cmds_need_lc_CXX=no
-        else
-         archive_cmds_need_lc_CXX=yes
-        fi
-        allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5
-$as_echo "$archive_cmds_need_lc_CXX" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
-       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" ||
-   test -n "$runpath_var_CXX" ||
-   test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct_CXX" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
-     test "$hardcode_minus_L_CXX" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_CXX=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_CXX=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_CXX=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
-$as_echo "$hardcode_action_CXX" >&6; }
-
-if test "$hardcode_action_CXX" = relink ||
-   test "$inherit_rpath_CXX" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-
-  fi # test -n "$compiler"
-
-  CC=$lt_save_CC
-  LDCXX=$LD
-  LD=$lt_save_LD
-  GCC=$lt_save_GCC
-  with_gnu_ld=$lt_save_with_gnu_ld
-  lt_cv_path_LDCXX=$lt_cv_path_LD
-  lt_cv_path_LD=$lt_save_path_LD
-  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\"" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
-
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-       if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
-       _pkg_min_version=0.9.0
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
-       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       else
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-               PKG_CONFIG=""
-       fi
-
-fi
-if test "x$PKG_CONFIG" = x; then
-       as_fn_error $? "pkg-config >= $PKGCONFIG_REQUIRED required but not found (http://pkgconfig.freedesktop.org/)" "$LINENO" 5
-fi
-
-case `$PKG_CONFIG --version` in
-0.?|0.?.?|0.1[0-7]|0.1[0-7].?) PKGCONFIG_REQUIRES="Requires"; ;;
-*) PKGCONFIG_REQUIRES="Requires.private"; ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                               CAIRO_MAKEFILE___WIN32='# Generated by configure.  Modify to customize.
-'
-
-                       ac_config_commands="$ac_config_commands $srcdir/build/Makefile.win32.features"
-
-
-
-
-                                               CAIRO_MAKEFILE_cairo_AMAKE='# Generated by configure.  Do not edit.
-'
-
-                       ac_config_commands="$ac_config_commands $srcdir/src/Makefile.am.features"
-
-
-                                               CAIRO_MAKEFILE_cairo_WIN32='# Generated by configure.  Do not edit.
-'
-
-                       ac_config_commands="$ac_config_commands $srcdir/src/Makefile.win32.features"
-
-
-
-                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE='# Generated by configure.  Do not edit.
-'
-
-                       ac_config_commands="$ac_config_commands $srcdir/boilerplate/Makefile.am.features"
-
-
-                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32='# Generated by configure.  Do not edit.
-'
-
-                       ac_config_commands="$ac_config_commands $srcdir/boilerplate/Makefile.win32.features"
-
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'include $(top_srcdir)/src/Makefile.sources
-'
-
-                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(top_srcdir),)
-include Makefile.sources
-else
-include $(top_srcdir)/src/Makefile.sources
-endif
-'
-
-                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'include $(top_srcdir)/boilerplate/Makefile.sources
-'
-
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(top_srcdir),)
-include Makefile.sources
-else
-include $(top_srcdir)/boilerplate/Makefile.sources
-endif
-'
-
-
-
-                                               cr_make_tmp='supported_cairo_headers = $(cairo_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-                                                       cr_make_tmp='supported_cairo_boilerplate_headers = $(cairo_boilerplate_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                               cr_make_tmp='unsupported_cairo_headers ='
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-                                                       cr_make_tmp='unsupported_cairo_boilerplate_headers ='
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                               cr_make_tmp='all_cairo_headers = $(cairo_headers)
-all_cairo_private = $(cairo_private)
-all_cairo_cxx_sources = $(cairo_cxx_sources)
-all_cairo_sources = $(cairo_sources)
-'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-                                                       cr_make_tmp='all_cairo_boilerplate_headers = $(cairo_boilerplate_headers)
-all_cairo_boilerplate_private = $(cairo_boilerplate_private)
-all_cairo_boilerplate_cxx_sources = $(cairo_boilerplate_cxx_sources)
-all_cairo_boilerplate_sources = $(cairo_boilerplate_sources)
-'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                               cr_make_tmp='enabled_cairo_headers = $(cairo_headers)
-enabled_cairo_private = $(cairo_private)
-enabled_cairo_cxx_sources = $(cairo_cxx_sources)
-enabled_cairo_sources = $(cairo_sources)
-'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-                                                       cr_make_tmp='enabled_cairo_boilerplate_headers = $(cairo_boilerplate_headers)
-enabled_cairo_boilerplate_private = $(cairo_boilerplate_private)
-enabled_cairo_boilerplate_cxx_sources = $(cairo_boilerplate_cxx_sources)
-enabled_cairo_boilerplate_sources = $(cairo_boilerplate_sources)
-'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-ac_config_files="$ac_config_files src/cairo.pc"
-ac_config_files="$ac_config_files cairo-uninstalled.pc:src/cairo-uninstalled.pc.in"
-
-                                                                                                                                       CAIRO_REQUIRES=""
-                                                                                                                               CAIRO_CFLAGS=""
-CAIRO_NONPKGCONFIG_CFLAGS=""
-                                                                                                                               CAIRO_LIBS="$LIBS"
-CAIRO_NONPKGCONFIG_LIBS="$LIBS"
-
-
-
-
-
-
-                                                       cr_make_tmp='all_cairo_pkgconf = cairo.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                       cr_make_tmp='enabled_cairo_pkgconf = cairo.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-
-
-                               CAIRO_FEATURES=''
-                                               CAIRO_SUPPORTED_FEATURES=''
-                                               CAIRO_NO_FEATURES=''
-
-       ac_config_commands="$ac_config_commands src/cairo-features.h"
-
-       ac_config_commands="$ac_config_commands src/cairo-supported-features.h"
-
-
-
-
-
-                                               CAIRO_MAKEFILE_win32_features_h_WIN32='# Generated by configure.  Do not edit.
-'
-
-                       ac_config_commands="$ac_config_commands $srcdir/build/Makefile.win32.features-h"
-
-
-                                                       cr_make_tmp='$(top_srcdir)/src/cairo-features.h: $(top_srcdir)/build/Makefile.win32.features
-       @echo "Generating src/cairo-features.h"
-       @echo "/* Generated by Makefile.win32.features-h.  Do not edit. */" > $(top_srcdir)/src/cairo-features.h
-       @echo "#ifndef CAIRO_FEATURES_H" >> $(top_srcdir)/src/cairo-features.h
-       @echo "#define CAIRO_FEATURES_H 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-                               CAIRO_WARNING_MESSAGE=''
-
-
-
-
-                               CAIRO_NATIVE_SURFACE_BACKENDS=''
-                                       CAIRO_NATIVE_FONT_BACKENDS=''
-
-
-
-
-
-
-# -Wcast-align generates lots of false positive reports we need to
-# cast image data from uint8_t to uin32_t.
-
-# -Wlogical-op causes too much noise from strcmp("literal", str)
-
-MAYBE_WARN="-Wall -Wextra \
--Wold-style-definition -Wdeclaration-after-statement \
--Wmissing-declarations -Werror-implicit-function-declaration \
--Wnested-externs -Wpointer-arith -Wwrite-strings \
--Wsign-compare -Wstrict-prototypes -Wmissing-prototypes \
--Wpacked -Wswitch-enum -Wmissing-format-attribute \
--Wbad-function-cast -Wvolatile-register-var \
--Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations \
--Wno-missing-field-initializers -Wno-unused-parameter \
--Wno-attributes -Wno-long-long -Winline"
-
-# -Wunused-but-set-variable is too noisy at present
-NO_WARN="-Wno-unused-but-set-variable"
-
-MAYBE_WARN="$MAYBE_WARN -erroff=E_ENUM_TYPE_MISMATCH_ARG \
-                       -erroff=E_ENUM_TYPE_MISMATCH_OP"
-
-
-
-safe_MAYBE_WARN="$MAYBE_WARN"
-MAYBE_WARN="$MAYBE_WARN -flto"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-       int main(int argc, char **argv) { return 0; }
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-else
-
-       MAYBE_WARN="$safe_MAYBE_WARN"
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
-
-MAYBE_WARN="$MAYBE_WARN -Wp,-D_FORTIFY_SOURCE=2"
-
-MAYBE_WARN="$MAYBE_WARN $NO_WARN"
-
-# invalidate cached value if MAYBE_WARN has changed
-if test "x$cairo_cv_warn_maybe" != "x$MAYBE_WARN"; then
-       unset cairo_cv_warn_cflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported warning flags" >&5
-$as_echo_n "checking for supported warning flags... " >&6; }
-if test "${cairo_cv_warn_cflags+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo
-       WARN_CFLAGS=""
-
-       # Some warning options are not supported by all versions of
-       # gcc, so test all desired options against the current
-       # compiler.
-       #
-       # Note that there are some order dependencies
-       # here. Specifically, an option that disables a warning will
-       # have no net effect if a later option then enables that
-       # warnings, (perhaps implicitly). So we put some grouped
-       # options (-Wall and -Wextra) up front and the -Wno options
-       # last.
-
-       for W in $MAYBE_WARN; do
-                               _test_WERROR=${WERROR+set}
-       if test "z$_test_WERROR" != zset; then
-               WERROR=""
-               for _werror in -Werror -errwarn; do
-                       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $_werror" >&5
-$as_echo_n "checking whether $CC supports $_werror... " >&6; }
-                                       # AC_LANG_PROGRAM() produces a main() w/o args,
-       # but -Wold-style-definition doesn't like that.
-       # We need _some_ program so that we don't get
-       # warnings about empty compilation units, so always
-       # append a reasonable main().
-       _compile_program=""'
-               int main(int c, char **v) { (void)c; (void)v; return 0; }'
-
-       _save_cflags="$CFLAGS"
-       _save_ldflags="$LDFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS $_werror"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$_compile_program
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=yes
-else
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-       if test "x$cairo_cc_stderr" != "x"; then
-               cairo_cc_flag=no
-       fi
-
-       if test "x$cairo_cc_flag" = "xyes"; then
-               WERROR="$WERROR $_werror"
-       else
-               :
-       fi
-       CFLAGS="$_save_cflags"
-       LDFLAGS="$_save_ldflags"
-       LIBS="$_save_libs"
-
-
-                       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_cc_flag" >&5
-$as_echo "$cairo_cc_flag" >&6; }
-               done
-       fi
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $W" >&5
-$as_echo_n "checking whether $CC supports $W... " >&6; }
-                       # AC_LANG_PROGRAM() produces a main() w/o args,
-       # but -Wold-style-definition doesn't like that.
-       # We need _some_ program so that we don't get
-       # warnings about empty compilation units, so always
-       # append a reasonable main().
-       _compile_program=""'
-               int main(int c, char **v) { (void)c; (void)v; return 0; }'
-
-       _save_cflags="$CFLAGS"
-       _save_ldflags="$LDFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS $WERROR $W"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$_compile_program
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=yes
-else
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-       if test "x$cairo_cc_stderr" != "x"; then
-               cairo_cc_flag=no
-       fi
-
-       if test "x$cairo_cc_flag" = "xyes"; then
-               WARN_CFLAGS="$WARN_CFLAGS $W"
-       else
-               :
-       fi
-       CFLAGS="$_save_cflags"
-       LDFLAGS="$_save_ldflags"
-       LIBS="$_save_libs"
-
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_cc_flag" >&5
-$as_echo "$cairo_cc_flag" >&6; }
-
-       done
-
-       cairo_cv_warn_cflags=$WARN_CFLAGS
-       cairo_cv_warn_maybe=$MAYBE_WARN
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking which warning flags were supported" >&5
-$as_echo_n "checking which warning flags were supported... " >&6; }
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_cv_warn_cflags" >&5
-$as_echo "$cairo_cv_warn_cflags" >&6; }
-WARN_CFLAGS="$cairo_cv_warn_cflags"
-CAIRO_CFLAGS="$CAIRO_CFLAGS $WARN_CFLAGS"
-
-# We only wish to enable attribute(warn_unused_result) if we can prevent
-# gcc from generating thousands of warnings about the misapplication of the
-# attribute to void functions and variables.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to enable unused result warnings" >&5
-$as_echo_n "checking how to enable unused result warnings... " >&6; }
-if test "${cairo_cv_warn_unused_result+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-
-       cairo_cv_warn_unused_result=""
-       if echo $WARN_CFLAGS | $GREP -e '-Wno-attributes' >/dev/null; then
-                       # AC_LANG_PROGRAM() produces a main() w/o args,
-       # but -Wold-style-definition doesn't like that.
-       # We need _some_ program so that we don't get
-       # warnings about empty compilation units, so always
-       # append a reasonable main().
-       _compile_program="__attribute__((__warn_unused_result__)) void f (void) {}
-                        __attribute__((__warn_unused_result__)) int g;"'
-               int main(int c, char **v) { (void)c; (void)v; return 0; }'
-
-       _save_cflags="$CFLAGS"
-       _save_ldflags="$LDFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS -Wno-attributes"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$_compile_program
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=yes
-else
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-       if test "x$cairo_cc_stderr" != "x"; then
-               cairo_cc_flag=no
-       fi
-
-       if test "x$cairo_cc_flag" = "xyes"; then
-               cairo_cv_warn_unused_result="__attribute__((__warn_unused_result__))"
-       else
-               :
-       fi
-       CFLAGS="$_save_cflags"
-       LDFLAGS="$_save_ldflags"
-       LIBS="$_save_libs"
-
-
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_cv_warn_unused_result" >&5
-$as_echo "$cairo_cv_warn_unused_result" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define WARN_UNUSED_RESULT $cairo_cv_warn_unused_result
-_ACEOF
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to allow undefined symbols in shared libraries used by test suite" >&5
-$as_echo_n "checking how to allow undefined symbols in shared libraries used by test suite... " >&6; }
-if test "${cairo_cv_test_undefined_ldflags+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-               # AC_LANG_PROGRAM() produces a main() w/o args,
-       # but -Wold-style-definition doesn't like that.
-       # We need _some_ program so that we don't get
-       # warnings about empty compilation units, so always
-       # append a reasonable main().
-       _compile_program=""'
-               int main(int c, char **v) { (void)c; (void)v; return 0; }'
-
-       _save_cflags="$CFLAGS"
-       _save_ldflags="$LDFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS -Wl,--allow-shlib-undefined"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$_compile_program
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=yes
-else
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-       if test "x$cairo_cc_stderr" != "x"; then
-               cairo_cc_flag=no
-       fi
-
-       if test "x$cairo_cc_flag" = "xyes"; then
-               cairo_cv_test_undefined_ldflags="-Wl,--allow-shlib-undefined"
-       else
-               :
-       fi
-       CFLAGS="$_save_cflags"
-       LDFLAGS="$_save_ldflags"
-       LIBS="$_save_libs"
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_cv_test_undefined_ldflags" >&5
-$as_echo "$cairo_cv_test_undefined_ldflags" >&6; }
-CAIRO_TEST_UNDEFINED_LDFLAGS="$cairo_cv_test_undefined_ldflags"
-
-
-
- if test "x$cross_compiling" = "xyes"; then
-  CROSS_COMPILING_TRUE=
-  CROSS_COMPILING_FALSE='#'
-else
-  CROSS_COMPILING_TRUE='#'
-  CROSS_COMPILING_FALSE=
-fi
-
-       case $host_os in
-               darwin*)
-
-               ;;
-               *)
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5  ;;
- esac
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether float word ordering is bigendian" >&5
-$as_echo_n "checking whether float word ordering is bigendian... " >&6; }
-if test "${ax_cv_c_float_words_bigendian+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-
-# The endianess is detected by first compiling C code that contains a special
-# double float value, then grepping the resulting object file for certain
-# strings of ascii values. The double is specially crafted to have a
-# binary representation that corresponds with a simple string. In this
-# implementation, the string "noonsees" was selected because the individual
-# word values ("noon" and "sees") are palindromes, thus making this test
-# byte-order agnostic. If grep finds the string "noonsees" in the object
-# file, the target platform stores float words in big-endian order. If grep
-# finds "seesnoon", float words are in little-endian order. If neither value
-# is found, the user is instructed to specify the ordering.
-
-ax_cv_c_float_words_bigendian=unknown
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-
-double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
-
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-
-if strings - conftest.$ac_objext | grep noonsees >/dev/null ; then
-  ax_cv_c_float_words_bigendian=yes
-fi
-if strings - conftest.$ac_objext | grep seesnoon >/dev/null ; then
-  if test "$ax_cv_c_float_words_bigendian" = unknown; then
-    ax_cv_c_float_words_bigendian=no
-  else
-    ax_cv_c_float_words_bigendian=unknown
-  fi
-fi
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_float_words_bigendian" >&5
-$as_echo "$ax_cv_c_float_words_bigendian" >&6; }
-
-case $ax_cv_c_float_words_bigendian in
-  yes)
-
-$as_echo "#define FLOAT_WORDS_BIGENDIAN 1" >>confdefs.h
- ;;
-  no)
-     ;;
-  *)
-    as_fn_error $? "
-
-Unknown float word ordering. You need to manually preset
-ax_cv_c_float_words_bigendian=no (or yes) according to your system.
-
-    " "$LINENO" 5  ;;
-esac
-
-
-               ;;
-       esac
-
-# Check whether --enable-atomic was given.
-if test "${enable_atomic+set}" = set; then :
-  enableval=$enable_atomic; use_atomic=$enableval
-else
-  use_atomic=yes
-fi
-
-if test "x$use_atomic" = "xyes"; then :
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for native atomic primitives" >&5
-$as_echo_n "checking for native atomic primitives... " >&6; }
-if test "${cairo_cv_atomic_primitives+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-               cairo_cv_atomic_primitives="none"
-
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int atomic_add(int i) { return __sync_fetch_and_add (&i, 1); }
-int atomic_cmpxchg(int i, int j, int k) { return __sync_val_compare_and_swap (&i, j, k); }
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cairo_cv_atomic_primitives="Intel"
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-               if test "x$cairo_cv_atomic_primitives" = "xnone"; then
-                       ac_fn_c_check_header_mongrel "$LINENO" "atomic_ops.h" "ac_cv_header_atomic_ops_h" "$ac_includes_default"
-if test "x$ac_cv_header_atomic_ops_h" = x""yes; then :
-  cairo_cv_atomic_primitives="libatomic-ops"
-fi
-
-
-               fi
-
-               if test "x$cairo_cv_atomic_primitives" = "xnone"; then
-                       ac_fn_c_check_header_mongrel "$LINENO" "libkern/OSAtomic.h" "ac_cv_header_libkern_OSAtomic_h" "$ac_includes_default"
-if test "x$ac_cv_header_libkern_OSAtomic_h" = x""yes; then :
-  cairo_cv_atomic_primitives="OSAtomic"
-fi
-
-
-               fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_cv_atomic_primitives" >&5
-$as_echo "$cairo_cv_atomic_primitives" >&6; }
-       if test "x$cairo_cv_atomic_primitives" = xIntel; then
-
-$as_echo "#define HAVE_INTEL_ATOMIC_PRIMITIVES 1" >>confdefs.h
-
-       fi
-
-       if test "x$cairo_cv_atomic_primitives" = "xlibatomic-ops"; then
-
-$as_echo "#define HAVE_LIB_ATOMIC_OPS 1" >>confdefs.h
-
-       fi
-
-       if test "x$cairo_cv_atomic_primitives" = xOSAtomic; then
-
-$as_echo "#define HAVE_OS_ATOMIC_OPS 1" >>confdefs.h
-
-       fi
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether atomic ops require a memory barrier" >&5
-$as_echo_n "checking whether atomic ops require a memory barrier... " >&6; }
-if test "${cairo_cv_atomic_op_needs_memory_barrier+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-               case $host_cpu in
-                   i?86)       cairo_cv_atomic_op_needs_memory_barrier="no"  ;;
-                   x86_64)     cairo_cv_atomic_op_needs_memory_barrier="no"  ;;
-                   arm*)       cairo_cv_atomic_op_needs_memory_barrier="no"  ;;
-                   *)          cairo_cv_atomic_op_needs_memory_barrier="yes" ;;
-               esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_cv_atomic_op_needs_memory_barrier" >&5
-$as_echo "$cairo_cv_atomic_op_needs_memory_barrier" >&6; }
-       if test "x$cairo_cv_atomic_op_needs_memory_barrier" = "xyes"; then
-
-cat >>confdefs.h <<_ACEOF
-#define ATOMIC_OP_NEEDS_MEMORY_BARRIER 1
-_ACEOF
-
-       fi
-
-
-fi
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
-$as_echo_n "checking size of void *... " >&6; }
-if test "${ac_cv_sizeof_void_p+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_void_p" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (void *)
-See \`config.log' for more details" "$LINENO" 5 ; }
-   else
-     ac_cv_sizeof_void_p=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
-$as_echo "$ac_cv_sizeof_void_p" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
-$as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_int" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (int)
-See \`config.log' for more details" "$LINENO" 5 ; }
-   else
-     ac_cv_sizeof_int=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
-$as_echo "$ac_cv_sizeof_int" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
-$as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long)
-See \`config.log' for more details" "$LINENO" 5 ; }
-   else
-     ac_cv_sizeof_long=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
-$as_echo "$ac_cv_sizeof_long" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
-$as_echo_n "checking size of long long... " >&6; }
-if test "${ac_cv_sizeof_long_long+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_long" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long long)
-See \`config.log' for more details" "$LINENO" 5 ; }
-   else
-     ac_cv_sizeof_long_long=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
-$as_echo "$ac_cv_sizeof_long_long" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
-$as_echo_n "checking size of size_t... " >&6; }
-if test "${ac_cv_sizeof_size_t+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_size_t" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (size_t)
-See \`config.log' for more details" "$LINENO" 5 ; }
-   else
-     ac_cv_sizeof_size_t=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
-$as_echo "$ac_cv_sizeof_size_t" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
-_ACEOF
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for native Win32" >&5
-$as_echo_n "checking for native Win32... " >&6; }
-case "$host" in
-  *-*-mingw*)
-    cairo_os_win32=yes
-    ;;
-  *)
-    cairo_os_win32=no
-    ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_os_win32" >&5
-$as_echo "$cairo_os_win32" >&6; }
- if test "$cairo_os_win32" = "yes"; then
-  OS_WIN32_TRUE=
-  OS_WIN32_FALSE='#'
-else
-  OS_WIN32_TRUE='#'
-  OS_WIN32_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Sun Solaris (non-POSIX ctime_r)" >&5
-$as_echo_n "checking for Sun Solaris (non-POSIX ctime_r)... " >&6; }
-case "$host" in
-    *-*-solaris*)
-       CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS"
-       solaris_posix_pthread=yes
-       ;;
-    *)
-       solaris_posix_pthread=no
-       ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $solaris_posix_pthread" >&5
-$as_echo "$solaris_posix_pthread" >&6; }
-
-
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mwvalidcheckl in -lmw" >&5
-$as_echo_n "checking for _mwvalidcheckl in -lmw... " >&6; }
-if test "${ac_cv_lib_mw__mwvalidcheckl+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lmw  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char _mwvalidcheckl ();
-int
-main ()
-{
-return _mwvalidcheckl ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_mw__mwvalidcheckl=yes
-else
-  ac_cv_lib_mw__mwvalidcheckl=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mw__mwvalidcheckl" >&5
-$as_echo "$ac_cv_lib_mw__mwvalidcheckl" >&6; }
-if test "x$ac_cv_lib_mw__mwvalidcheckl" = x""yes; then :
-  LIBM="-lmw"
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
-$as_echo_n "checking for cos in -lm... " >&6; }
-if test "${ac_cv_lib_m_cos+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char cos ();
-int
-main ()
-{
-return cos ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_cos=yes
-else
-  ac_cv_lib_m_cos=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
-$as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = x""yes; then :
-  LIBM="$LIBM -lm"
-fi
-
-  ;;
-*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
-$as_echo_n "checking for cos in -lm... " >&6; }
-if test "${ac_cv_lib_m_cos+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char cos ();
-int
-main ()
-{
-return cos ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_cos=yes
-else
-  ac_cv_lib_m_cos=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
-$as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = x""yes; then :
-  LIBM="-lm"
-fi
-
-  ;;
-esac
-
-
-LIBS="$LIBS $LIBM"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
-$as_echo_n "checking for sched_yield in -lrt... " >&6; }
-if test "${ac_cv_lib_rt_sched_yield+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char sched_yield ();
-int
-main ()
-{
-return sched_yield ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_rt_sched_yield=yes
-else
-  ac_cv_lib_rt_sched_yield=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5
-$as_echo "$ac_cv_lib_rt_sched_yield" >&6; }
-if test "x$ac_cv_lib_rt_sched_yield" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBRT 1
-_ACEOF
-
-  LIBS="-lrt $LIBS"
-
-fi
-
-
-has_shm_open=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shm_open in -lrt" >&5
-$as_echo_n "checking for shm_open in -lrt... " >&6; }
-if test "${ac_cv_lib_rt_shm_open+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shm_open ();
-int
-main ()
-{
-return shm_open ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_rt_shm_open=yes
-else
-  ac_cv_lib_rt_shm_open=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_shm_open" >&5
-$as_echo "$ac_cv_lib_rt_shm_open" >&6; }
-if test "x$ac_cv_lib_rt_shm_open" = x""yes; then :
-
-            SHM_LIBS=-lrt
-            has_shm_open=yes
-
-else
-  SHM_LIBS=
-fi
-
- if test "x$has_shm_open" = "xyes"; then
-  HAVE_SHM_TRUE=
-  HAVE_SHM_FALSE='#'
-else
-  HAVE_SHM_TRUE='#'
-  HAVE_SHM_FALSE=
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
-$as_echo_n "checking for connect in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_connect+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char connect ();
-int
-main ()
-{
-return connect ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_socket_connect=yes
-else
-  ac_cv_lib_socket_connect=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
-$as_echo "$ac_cv_lib_socket_connect" >&6; }
-if test "x$ac_cv_lib_socket_connect" = x""yes; then :
-  SOCKET_LIBS=-lsocket
-else
-  SOCKET_LIBS=
-fi
-
-CAIROBOILERPLATE_LIBS=$SOCKET_LIBS
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_return_address(0)" >&5
-$as_echo_n "checking for __builtin_return_address(0)... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-__builtin_return_address(0);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  have_builtin_return_address=yes
-else
-  have_builtin_return_address=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_builtin_return_address" >&5
-$as_echo "$have_builtin_return_address" >&6; }
-if test "x$have_builtin_return_address" = "xyes"; then
-
-$as_echo "#define HAVE_BUILTIN_RETURN_ADDRESS 1" >>confdefs.h
-
-fi
-
-for ac_header in stdint.h inttypes.h sys/int_types.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint64_t" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_UINT64_T 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_type "$LINENO" "uint128_t" "ac_cv_type_uint128_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint128_t" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_UINT128_T 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_type "$LINENO" "__uint128_t" "ac_cv_type___uint128_t" "$ac_includes_default"
-if test "x$ac_cv_type___uint128_t" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE___UINT128_T 1
-_ACEOF
-
-
-fi
-
-
-for ac_header in fcntl.h unistd.h signal.h sys/stat.h sys/socket.h sys/poll.h sys/un.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_func in alarm
-do :
-  ac_fn_c_check_func "$LINENO" "alarm" "ac_cv_func_alarm"
-if test "x$ac_cv_func_alarm" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ALARM 1
-_ACEOF
-
-fi
-done
-
-
-for ac_header in sched.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sched.h" "ac_cv_header_sched_h" "$ac_includes_default"
-if test "x$ac_cv_header_sched_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SCHED_H 1
-_ACEOF
- for ac_func in sched_getaffinity
-do :
-  ac_fn_c_check_func "$LINENO" "sched_getaffinity" "ac_cv_func_sched_getaffinity"
-if test "x$ac_cv_func_sched_getaffinity" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SCHED_GETAFFINITY 1
-_ACEOF
-
-fi
-done
-
-fi
-
-done
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
- for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-fi
-
-done
-
-
-for ac_header in time.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default"
-if test "x$ac_cv_header_time_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_TIME_H 1
-_ACEOF
- for ac_func in clock_gettime
-do :
-  ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime"
-if test "x$ac_cv_func_clock_gettime" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_CLOCK_GETTIME 1
-_ACEOF
-
-fi
-done
-
-fi
-
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default"
-if test "x$ac_cv_header_fenv_h" = x""yes; then :
-  for ac_func in feenableexcept fedisableexcept feclearexcept
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-fi
-
-
-
-for ac_header in libgen.h byteswap.h signal.h setjmp.h fenv.h sys/wait.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in ctime_r drand48 flockfile funlockfile getline link strndup
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-for ac_header in windows.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default"
-if test "x$ac_cv_header_windows_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_WINDOWS_H 1
-_ACEOF
- have_windows=yes
-else
-  have_windows=no
-fi
-
-done
-
-
-
-for ac_header in sys/stat.h io.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-ac_fn_c_check_func "$LINENO" "mkdir" "ac_cv_func_mkdir"
-if test "x$ac_cv_func_mkdir" = x""yes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking mkdir variant" >&5
-$as_echo_n "checking mkdir variant... " >&6; }
-             mkdir_variant="unknown"
-             save_CFLAGS="$CFLAGS"
-             CFLAGS=$WARN_CFLAGS
-             cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_IO_H
-#include <io.h>
-#endif
-
-int
-main ()
-{
-mkdir ("hello.world", 0777)
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  mkdir_variant="mkdir(path, mode)"
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_IO_H
-#include <io.h>
-#endif
-
-int
-main ()
-{
-mkdir ("hello.world")
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  mkdir_variant="mkdir(path)"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $mkdir_variant" >&5
-$as_echo "$mkdir_variant" >&6; }
-             CFLAGS="$save_CFLAGS"
-             if test "x$mkdir_variant" = "xmkdir(path, mode)"; then
-
-$as_echo "#define HAVE_MKDIR 2" >>confdefs.h
-
-             else
-
-$as_echo "#define HAVE_MKDIR 1" >>confdefs.h
-
-             fi
-fi
-
-
-
-for ac_func in fork waitpid raise
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-       cairo_has_lcov=no
-# Check whether --enable-gcov was given.
-if test "${enable_gcov+set}" = set; then :
-  enableval=$enable_gcov; use_gcov=$enableval
-else
-  use_gcov=no
-fi
-
-
-if test "x$use_gcov" = "xyes"; then
-    if test "$GCC" != "yes"; then
-    as_fn_error $? "GCC is required for --enable-gcov" "$LINENO" 5
-  fi
-
-    # Extract the first word of "shtool", so it can be a program name with args.
-set dummy shtool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_SHTOOL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$SHTOOL"; then
-  ac_cv_prog_SHTOOL="$SHTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_SHTOOL="shtool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-SHTOOL=$ac_cv_prog_SHTOOL
-if test -n "$SHTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHTOOL" >&5
-$as_echo "$SHTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  case `$SHTOOL path $CC` in
-    *ccache*) gcc_ccache=yes;;
-    *) gcc_ccache=no;;
-  esac
-
-  if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then
-    as_fn_error $? "ccache must be disabled when --enable-gcov option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1." "$LINENO" 5
-  fi
-
-  ltp_version_list="1.7 1.6 1.5 1.4"
-  # Extract the first word of "lcov", so it can be a program name with args.
-set dummy lcov; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LTP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LTP"; then
-  ac_cv_prog_LTP="$LTP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LTP="lcov"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LTP=$ac_cv_prog_LTP
-if test -n "$LTP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LTP" >&5
-$as_echo "$LTP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  # Extract the first word of "genhtml", so it can be a program name with args.
-set dummy genhtml; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LTP_GENHTML+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LTP_GENHTML"; then
-  ac_cv_prog_LTP_GENHTML="$LTP_GENHTML" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LTP_GENHTML="genhtml"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LTP_GENHTML=$ac_cv_prog_LTP_GENHTML
-if test -n "$LTP_GENHTML"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LTP_GENHTML" >&5
-$as_echo "$LTP_GENHTML" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-  if test "$LTP"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ltp version" >&5
-$as_echo_n "checking for ltp version... " >&6; }
-if test "${cairo_cv_ltp_version+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-      cairo_cv_ltp_version=invalid
-      ltp_version=`$LTP -v 2>/dev/null | $SED -e 's/^.* //'`
-      for ltp_check_version in $ltp_version_list; do
-        if test "$ltp_version" = "$ltp_check_version"; then
-          cairo_cv_ltp_version="$ltp_check_version (ok)"
-        fi
-      done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_cv_ltp_version" >&5
-$as_echo "$cairo_cv_ltp_version" >&6; }
-  fi
-
-  case $cairo_cv_ltp_version in
-    ""|invalid)
-      ;;
-    *)
-      cairo_has_lcov=yes
-      ;;
-  esac
-
-  if test "x$cairo_has_lcov" != "xyes"; then
-    as_fn_error $? "To enable code coverage reporting you must have one of the following LTP versions installed: $ltp_version_list.
-Please install the Linux Test Project [http://ltp.sourceforge.net/], and try again." "$LINENO" 5
-   fi
-
-  if test -z "$LTP_GENHTML"; then
-    as_fn_error $? "Could not find genhtml from the LTP package.
-Please install the Linux Test Project [http://ltp.sourceforge.net/], and try again." "$LINENO" 5
-  fi
-
-
-$as_echo "#define HAVE_GCOV 1" >>confdefs.h
-
-
-
-  CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9]*//g'`
-  CAIRO_CFLAGS=`echo "$CAIRO_CFLAGS" | $SED -e 's/-O[0-9]*//g'`
-
-
-                       _test_WERROR=${WERROR+set}
-       if test "z$_test_WERROR" != zset; then
-               WERROR=""
-               for _werror in -Werror -errwarn; do
-                       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $_werror" >&5
-$as_echo_n "checking whether $CC supports $_werror... " >&6; }
-                                       # AC_LANG_PROGRAM() produces a main() w/o args,
-       # but -Wold-style-definition doesn't like that.
-       # We need _some_ program so that we don't get
-       # warnings about empty compilation units, so always
-       # append a reasonable main().
-       _compile_program=""'
-               int main(int c, char **v) { (void)c; (void)v; return 0; }'
-
-       _save_cflags="$CFLAGS"
-       _save_ldflags="$LDFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS $_werror"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$_compile_program
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=yes
-else
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-       if test "x$cairo_cc_stderr" != "x"; then
-               cairo_cc_flag=no
-       fi
-
-       if test "x$cairo_cc_flag" = "xyes"; then
-               WERROR="$WERROR $_werror"
-       else
-               :
-       fi
-       CFLAGS="$_save_cflags"
-       LDFLAGS="$_save_ldflags"
-       LIBS="$_save_libs"
-
-
-                       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_cc_flag" >&5
-$as_echo "$cairo_cc_flag" >&6; }
-               done
-       fi
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports --coverage" >&5
-$as_echo_n "checking whether $CC supports --coverage... " >&6; }
-                       # AC_LANG_PROGRAM() produces a main() w/o args,
-       # but -Wold-style-definition doesn't like that.
-       # We need _some_ program so that we don't get
-       # warnings about empty compilation units, so always
-       # append a reasonable main().
-       _compile_program=""'
-               int main(int c, char **v) { (void)c; (void)v; return 0; }'
-
-       _save_cflags="$CFLAGS"
-       _save_ldflags="$LDFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS $WERROR --coverage"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$_compile_program
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=yes
-else
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-       if test "x$cairo_cc_stderr" != "x"; then
-               cairo_cc_flag=no
-       fi
-
-       if test "x$cairo_cc_flag" = "xyes"; then
-
-                   CAIRO_CFLAGS="$CAIRO_CFLAGS -O0 --coverage"
-                   CAIRO_LDFLAGS="$CAIRO_LDFLAGS -O0 --coverage"
-
-       else
-               :
-       fi
-       CFLAGS="$_save_cflags"
-       LDFLAGS="$_save_ldflags"
-       LIBS="$_save_libs"
-
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cairo_cc_flag" >&5
-$as_echo "$cairo_cc_flag" >&6; }
-
-fi
- if test "x$cairo_has_lcov" = "xyes"; then
-  CAIRO_HAS_LCOV_TRUE=
-  CAIRO_HAS_LCOV_FALSE='#'
-else
-  CAIRO_HAS_LCOV_TRUE='#'
-  CAIRO_HAS_LCOV_FALSE=
-fi
-
-
-# Check whether --enable-valgrind was given.
-if test "${enable_valgrind+set}" = set; then :
-  enableval=$enable_valgrind; use_valgrind=$enableval
-else
-  use_valgrind=yes
-fi
-
-
-if test "x$use_valgrind" = "xyes"; then
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VALGRIND" >&5
-$as_echo_n "checking for VALGRIND... " >&6; }
-
-if test -n "$VALGRIND_CFLAGS"; then
-    pkg_cv_VALGRIND_CFLAGS="$VALGRIND_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "valgrind") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_VALGRIND_CFLAGS=`$PKG_CONFIG --cflags "valgrind" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$VALGRIND_LIBS"; then
-    pkg_cv_VALGRIND_LIBS="$VALGRIND_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "valgrind") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_VALGRIND_LIBS=`$PKG_CONFIG --libs "valgrind" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               VALGRIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "valgrind" 2>&1`
-        else
-               VALGRIND_PKG_ERRORS=`$PKG_CONFIG --print-errors "valgrind" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$VALGRIND_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-else
-       VALGRIND_CFLAGS=$pkg_cv_VALGRIND_CFLAGS
-       VALGRIND_LIBS=$pkg_cv_VALGRIND_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-           _save_CFLAGS="$CFLAGS"
-           _save_CPPFLAGS="$CPPFLAGS"
-           CFLAGS="$CFLAGS $VALGRIND_CFLAGS"
-           CPPFLAGS="$CPPFLAGS $VALGRIND_CFLAGS"
-           ac_fn_c_check_header_mongrel "$LINENO" "valgrind.h" "ac_cv_header_valgrind_h" "$ac_includes_default"
-if test "x$ac_cv_header_valgrind_h" = x""yes; then :
-
-$as_echo "#define HAVE_VALGRIND 1" >>confdefs.h
-
-fi
-
-
-           ac_fn_c_check_header_mongrel "$LINENO" "lockdep.h" "ac_cv_header_lockdep_h" "$ac_includes_default"
-if test "x$ac_cv_header_lockdep_h" = x""yes; then :
-
-$as_echo "#define HAVE_LOCKDEP 1" >>confdefs.h
-
-fi
-
-
-           ac_fn_c_check_header_mongrel "$LINENO" "memfault.h" "ac_cv_header_memfault_h" "$ac_includes_default"
-if test "x$ac_cv_header_memfault_h" = x""yes; then :
-
-$as_echo "#define HAVE_MEMFAULT 1" >>confdefs.h
-
-fi
-
-
-           CAIRO_CFLAGS="$VALGRIND_CFLAGS $CAIRO_CFLAGS"
-           CFLAGS="$_save_CFLAGS"
-           CPPFLAGS="$_save_CPPFLAGS"
-
-fi
-fi
-
-echo '#undef PACKAGE_VERSION' >>confdefs.h
-echo '#undef PACKAGE_STRING' >>confdefs.h
-echo '#undef PACKAGE_NAME' >>confdefs.h
-echo '#undef PACKAGE_TARNAME' >>confdefs.h
-$as_echo "#define PACKAGE_VERSION USE_cairo_version_OR_cairo_version_string_INSTEAD" >>confdefs.h
-
-$as_echo "#define PACKAGE_STRING USE_cairo_version_OR_cairo_version_string_INSTEAD" >>confdefs.h
-
-$as_echo "#define PACKAGE_NAME USE_cairo_INSTEAD" >>confdefs.h
-
-$as_echo "#define PACKAGE_TARNAME USE_cairo_INSTEAD" >>confdefs.h
-
-
-
-
-
-
-
-
-
-
-  cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress in -lz" >&5
-$as_echo_n "checking for compress in -lz... " >&6; }
-if test "${ac_cv_lib_z_compress+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char compress ();
-int
-main ()
-{
-return compress ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_z_compress=yes
-else
-  ac_cv_lib_z_compress=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress" >&5
-$as_echo "$ac_cv_lib_z_compress" >&6; }
-if test "x$ac_cv_lib_z_compress" = x""yes; then :
-  ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_zlib_h" = x""yes; then :
-
-         have_libz=yes
-
-$as_echo "#define HAVE_ZLIB 1" >>confdefs.h
-
-
-else
-  have_libz="no (requires zlib http://www.gzip.org/zlib/)"
-fi
-
-
-else
-  have_libz="no (requires zlib http://www.gzip.org/zlib/)"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
-$as_echo_n "checking for dlsym in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlsym+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlsym ();
-int
-main ()
-{
-return dlsym ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlsym=yes
-else
-  ac_cv_lib_dl_dlsym=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
-$as_echo "$ac_cv_lib_dl_dlsym" >&6; }
-if test "x$ac_cv_lib_dl_dlsym" = x""yes; then :
-  have_dlsym=yes; have_dl=yes
-else
-  have_dlsym=no; have_dl=no
-fi
-
-if test "x$have_dlsym" = "xno"; then
-   ac_fn_c_check_func "$LINENO" "dlsym" "ac_cv_func_dlsym"
-if test "x$ac_cv_func_dlsym" = x""yes; then :
-  have_dlsym=yes
-else
-  have_dlsym=no
-fi
-
-fi
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
- have_dlsym=yes
-else
-  have_dlsym=no
-fi
-
-done
-
- if test "x$have_dl" = "xyes"; then
-  CAIRO_HAS_DL_TRUE=
-  CAIRO_HAS_DL_FALSE='#'
-else
-  CAIRO_HAS_DL_TRUE='#'
-  CAIRO_HAS_DL_FALSE=
-fi
-
-if test "x$have_dlsym" = "xyes"; then
-
-$as_echo "#define CAIRO_HAS_DLSYM 1" >>confdefs.h
-
-fi
- if test "x$have_dlsym" = "xyes"; then
-  CAIRO_HAS_DLSYM_TRUE=
-  CAIRO_HAS_DLSYM_FALSE='#'
-else
-  CAIRO_HAS_DLSYM_TRUE='#'
-  CAIRO_HAS_DLSYM_FALSE=
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
-$as_echo_n "checking for X... " >&6; }
-
-
-# Check whether --with-x was given.
-if test "${with_x+set}" = set; then :
-  withval=$with_x;
-fi
-
-# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
-if test "x$with_x" = xno; then
-  # The user explicitly disabled X.
-  have_x=disabled
-else
-  case $x_includes,$x_libraries in #(
-    *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #(
-    *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  # One or both of the vars are not set, and there is no cached value.
-ac_x_includes=no ac_x_libraries=no
-rm -f -r conftest.dir
-if mkdir conftest.dir; then
-  cd conftest.dir
-  cat >Imakefile <<'_ACEOF'
-incroot:
-       @echo incroot='${INCROOT}'
-usrlibdir:
-       @echo usrlibdir='${USRLIBDIR}'
-libdir:
-       @echo libdir='${LIBDIR}'
-_ACEOF
-  if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
-    # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-    for ac_var in incroot usrlibdir libdir; do
-      eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
-    done
-    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
-    for ac_extension in a so sl dylib la dll; do
-      if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
-        test -f "$ac_im_libdir/libX11.$ac_extension"; then
-       ac_im_usrlibdir=$ac_im_libdir; break
-      fi
-    done
-    # Screen out bogus values from the imake configuration.  They are
-    # bogus both because they are the default anyway, and because
-    # using them would break gcc on systems where it needs fixed includes.
-    case $ac_im_incroot in
-       /usr/include) ac_x_includes= ;;
-       *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
-    esac
-    case $ac_im_usrlibdir in
-       /usr/lib | /usr/lib64 | /lib | /lib64) ;;
-       *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
-    esac
-  fi
-  cd ..
-  rm -f -r conftest.dir
-fi
-
-# Standard set of common directories for X headers.
-# Check X11 before X11Rn because it is often a symlink to the current release.
-ac_x_header_dirs='
-/usr/X11/include
-/usr/X11R7/include
-/usr/X11R6/include
-/usr/X11R5/include
-/usr/X11R4/include
-
-/usr/include/X11
-/usr/include/X11R7
-/usr/include/X11R6
-/usr/include/X11R5
-/usr/include/X11R4
-
-/usr/local/X11/include
-/usr/local/X11R7/include
-/usr/local/X11R6/include
-/usr/local/X11R5/include
-/usr/local/X11R4/include
-
-/usr/local/include/X11
-/usr/local/include/X11R7
-/usr/local/include/X11R6
-/usr/local/include/X11R5
-/usr/local/include/X11R4
-
-/usr/X386/include
-/usr/x386/include
-/usr/XFree86/include/X11
-
-/usr/include
-/usr/local/include
-/usr/unsupported/include
-/usr/athena/include
-/usr/local/x11r5/include
-/usr/lpp/Xamples/include
-
-/usr/openwin/include
-/usr/openwin/share/include'
-
-if test "$ac_x_includes" = no; then
-  # Guess where to find include files, by looking for Xlib.h.
-  # First, try using that file with no special directory specified.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # We can compile using X headers with no special include directory.
-ac_x_includes=
-else
-  for ac_dir in $ac_x_header_dirs; do
-  if test -r "$ac_dir/X11/Xlib.h"; then
-    ac_x_includes=$ac_dir
-    break
-  fi
-done
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-fi # $ac_x_includes = no
-
-if test "$ac_x_libraries" = no; then
-  # Check for the libraries.
-  # See if we find them without any special options.
-  # Don't add to $LIBS permanently.
-  ac_save_LIBS=$LIBS
-  LIBS="-lX11 $LIBS"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-int
-main ()
-{
-XrmInitialize ()
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  LIBS=$ac_save_LIBS
-# We can link X programs with no special library path.
-ac_x_libraries=
-else
-  LIBS=$ac_save_LIBS
-for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
-do
-  # Don't even attempt the hair of trying to link an X program!
-  for ac_extension in a so sl dylib la dll; do
-    if test -r "$ac_dir/libX11.$ac_extension"; then
-      ac_x_libraries=$ac_dir
-      break 2
-    fi
-  done
-done
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi # $ac_x_libraries = no
-
-case $ac_x_includes,$ac_x_libraries in #(
-  no,* | *,no | *\'*)
-    # Didn't find X, or a directory has "'" in its name.
-    ac_cv_have_x="have_x=no";; #(
-  *)
-    # Record where we found X for the cache.
-    ac_cv_have_x="have_x=yes\
-       ac_x_includes='$ac_x_includes'\
-       ac_x_libraries='$ac_x_libraries'"
-esac
-fi
-;; #(
-    *) have_x=yes;;
-  esac
-  eval "$ac_cv_have_x"
-fi # $with_x != no
-
-if test "$have_x" != yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5
-$as_echo "$have_x" >&6; }
-  no_x=yes
-else
-  # If each of the values was on the command line, it overrides each guess.
-  test "x$x_includes" = xNONE && x_includes=$ac_x_includes
-  test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
-  # Update the cache value to reflect the command line values.
-  ac_cv_have_x="have_x=yes\
-       ac_x_includes='$x_includes'\
-       ac_x_libraries='$x_libraries'"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5
-$as_echo "libraries $x_libraries, headers $x_includes" >&6; }
-fi
-
-                                                                                                                               # Check whether --enable-xlib was given.
-if test "${enable_xlib+set}" = set; then :
-  enableval=$enable_xlib; enable_xlib=$enableval
-else
-  enable_xlib=auto
-fi
-
-                       case $enable_xlib in #(
-  no) :
-               use_xlib="no (disabled, use --enable-xlib to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Xlib surface backend feature" >&5
-$as_echo_n "checking for cairo's Xlib surface backend feature... " >&6; }
-               echo
-
-               use_xlib=yes
-                       xlib_BASE="cairo"
-xlib_REQUIRES="$ac_env_xlib_REQUIRES_value"
-xlib_CFLAGS="$ac_env_xlib_CFLAGS_value"
-xlib_NONPKGCONFIG_CFLAGS="$ac_env_xlib_NONPKGCONFIG_CFLAGS_value"
-xlib_LIBS="$ac_env_xlib_LIBS_value"
-xlib_NONPKGCONFIG_LIBS="$ac_env_xlib_NONPKGCONFIG_LIBS_value"
-xlib_NONPKGCONFIG_EXTRA_LIBS="$ac_env_xlib_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  xlib_REQUIRES="x11"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xlib" >&5
-$as_echo_n "checking for xlib... " >&6; }
-
-if test -n "$xlib_CFLAGS"; then
-    pkg_cv_xlib_CFLAGS="$xlib_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$xlib_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$xlib_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_xlib_CFLAGS=`$PKG_CONFIG --cflags "$xlib_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$xlib_LIBS"; then
-    pkg_cv_xlib_LIBS="$xlib_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$xlib_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$xlib_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_xlib_LIBS=`$PKG_CONFIG --libs "$xlib_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               xlib_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$xlib_REQUIRES" 2>&1`
-        else
-               xlib_PKG_ERRORS=`$PKG_CONFIG --print-errors "$xlib_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$xlib_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                    xlib_REQUIRES=""
-                    if test "$no_x" = yes; then
-  # Not all programs may use this symbol, but it does not hurt to define it.
-
-$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h
-
-  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
-else
-  if test -n "$x_includes"; then
-    X_CFLAGS="$X_CFLAGS -I$x_includes"
-  fi
-
-  # It would also be nice to do this for all -L options, not just this one.
-  if test -n "$x_libraries"; then
-    X_LIBS="$X_LIBS -L$x_libraries"
-    # For Solaris; some versions of Sun CC require a space after -R and
-    # others require no space.  Words are not sufficient . . . .
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5
-$as_echo_n "checking whether -R must be followed by a space... " >&6; }
-    ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
-    ac_xsave_c_werror_flag=$ac_c_werror_flag
-    ac_c_werror_flag=yes
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       X_LIBS="$X_LIBS -R$x_libraries"
-else
-  LIBS="$ac_xsave_LIBS -R $x_libraries"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-         X_LIBS="$X_LIBS -R $x_libraries"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5
-$as_echo "neither works" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    ac_c_werror_flag=$ac_xsave_c_werror_flag
-    LIBS=$ac_xsave_LIBS
-  fi
-
-  # Check for system-dependent libraries X programs must link with.
-  # Do this before checking for the system-independent R6 libraries
-  # (-lICE), since we may need -lsocket or whatever for X linking.
-
-  if test "$ISC" = yes; then
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
-  else
-    # Martyn Johnson says this is needed for Ultrix, if the X
-    # libraries were built with DECnet support.  And Karl Berry says
-    # the Alpha needs dnet_stub (dnet does not exist).
-    ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char XOpenDisplay ();
-int
-main ()
-{
-return XOpenDisplay ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
-$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
-if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldnet  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dnet_ntoa ();
-int
-main ()
-{
-return dnet_ntoa ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dnet_dnet_ntoa=yes
-else
-  ac_cv_lib_dnet_dnet_ntoa=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
-$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
-if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
-fi
-
-    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
-$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
-if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldnet_stub  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dnet_ntoa ();
-int
-main ()
-{
-return dnet_ntoa ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dnet_stub_dnet_ntoa=yes
-else
-  ac_cv_lib_dnet_stub_dnet_ntoa=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
-$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
-if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
-fi
-
-    fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LIBS="$ac_xsave_LIBS"
-
-    # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
-    # to get the SysV transport functions.
-    # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
-    # needs -lnsl.
-    # The nsl library prevents programs from opening the X display
-    # on Irix 5.2, according to T.E. Dickey.
-    # The functions gethostbyname, getservbyname, and inet_addr are
-    # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
-    ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
-if test "x$ac_cv_func_gethostbyname" = x""yes; then :
-
-fi
-
-    if test $ac_cv_func_gethostbyname = no; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
-$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_nsl_gethostbyname=yes
-else
-  ac_cv_lib_nsl_gethostbyname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
-$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
-fi
-
-      if test $ac_cv_lib_nsl_gethostbyname = no; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
-$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
-if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbsd  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_bsd_gethostbyname=yes
-else
-  ac_cv_lib_bsd_gethostbyname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
-$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
-if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
-fi
-
-      fi
-    fi
-
-    # lieder@skyler.mavd.honeywell.com says without -lsocket,
-    # socket/setsockopt and other routines are undefined under SCO ODT
-    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
-    # on later versions), says Simon Leinen: it contains gethostby*
-    # variants that don't use the name server (or something).  -lsocket
-    # must be given before -lnsl if both are needed.  We assume that
-    # if connect needs -lnsl, so does gethostbyname.
-    ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
-if test "x$ac_cv_func_connect" = x""yes; then :
-
-fi
-
-    if test $ac_cv_func_connect = no; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
-$as_echo_n "checking for connect in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_connect+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char connect ();
-int
-main ()
-{
-return connect ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_socket_connect=yes
-else
-  ac_cv_lib_socket_connect=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
-$as_echo "$ac_cv_lib_socket_connect" >&6; }
-if test "x$ac_cv_lib_socket_connect" = x""yes; then :
-  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
-fi
-
-    fi
-
-    # Guillermo Gomez says -lposix is necessary on A/UX.
-    ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
-if test "x$ac_cv_func_remove" = x""yes; then :
-
-fi
-
-    if test $ac_cv_func_remove = no; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
-$as_echo_n "checking for remove in -lposix... " >&6; }
-if test "${ac_cv_lib_posix_remove+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lposix  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char remove ();
-int
-main ()
-{
-return remove ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_posix_remove=yes
-else
-  ac_cv_lib_posix_remove=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
-$as_echo "$ac_cv_lib_posix_remove" >&6; }
-if test "x$ac_cv_lib_posix_remove" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
-fi
-
-    fi
-
-    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
-    ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
-if test "x$ac_cv_func_shmat" = x""yes; then :
-
-fi
-
-    if test $ac_cv_func_shmat = no; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
-$as_echo_n "checking for shmat in -lipc... " >&6; }
-if test "${ac_cv_lib_ipc_shmat+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lipc  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shmat ();
-int
-main ()
-{
-return shmat ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ipc_shmat=yes
-else
-  ac_cv_lib_ipc_shmat=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
-$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
-if test "x$ac_cv_lib_ipc_shmat" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
-fi
-
-    fi
-  fi
-
-  # Check for libraries that X11R6 Xt/Xaw programs need.
-  ac_save_LDFLAGS=$LDFLAGS
-  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
-  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
-  # check for ICE first), but we must link in the order -lSM -lICE or
-  # we get undefined symbols.  So assume we have SM if we have ICE.
-  # These have to be linked with before -lX11, unlike the other
-  # libraries we check for below, so use a different variable.
-  # John Interrante, Karl Berry
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
-$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
-if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lICE $X_EXTRA_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char IceConnectionNumber ();
-int
-main ()
-{
-return IceConnectionNumber ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ICE_IceConnectionNumber=yes
-else
-  ac_cv_lib_ICE_IceConnectionNumber=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
-$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
-if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then :
-  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
-fi
-
-  LDFLAGS=$ac_save_LDFLAGS
-
-fi
-
-                    if test "x$no_x" = xyes; then
-                      use_xlib="no (requires X development libraries)"
-                    else
-                      xlib_NONPKGCONFIG_LIBS="$X_PRE_LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
-                      xlib_NONPKGCONFIG_CFLAGS=$X_CFLAGS
-                    fi
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                    xlib_REQUIRES=""
-                    if test "$no_x" = yes; then
-  # Not all programs may use this symbol, but it does not hurt to define it.
-
-$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h
-
-  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
-else
-  if test -n "$x_includes"; then
-    X_CFLAGS="$X_CFLAGS -I$x_includes"
-  fi
-
-  # It would also be nice to do this for all -L options, not just this one.
-  if test -n "$x_libraries"; then
-    X_LIBS="$X_LIBS -L$x_libraries"
-    # For Solaris; some versions of Sun CC require a space after -R and
-    # others require no space.  Words are not sufficient . . . .
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5
-$as_echo_n "checking whether -R must be followed by a space... " >&6; }
-    ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
-    ac_xsave_c_werror_flag=$ac_c_werror_flag
-    ac_c_werror_flag=yes
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       X_LIBS="$X_LIBS -R$x_libraries"
-else
-  LIBS="$ac_xsave_LIBS -R $x_libraries"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-         X_LIBS="$X_LIBS -R $x_libraries"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5
-$as_echo "neither works" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    ac_c_werror_flag=$ac_xsave_c_werror_flag
-    LIBS=$ac_xsave_LIBS
-  fi
-
-  # Check for system-dependent libraries X programs must link with.
-  # Do this before checking for the system-independent R6 libraries
-  # (-lICE), since we may need -lsocket or whatever for X linking.
-
-  if test "$ISC" = yes; then
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
-  else
-    # Martyn Johnson says this is needed for Ultrix, if the X
-    # libraries were built with DECnet support.  And Karl Berry says
-    # the Alpha needs dnet_stub (dnet does not exist).
-    ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char XOpenDisplay ();
-int
-main ()
-{
-return XOpenDisplay ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
-$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
-if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldnet  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dnet_ntoa ();
-int
-main ()
-{
-return dnet_ntoa ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dnet_dnet_ntoa=yes
-else
-  ac_cv_lib_dnet_dnet_ntoa=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
-$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
-if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
-fi
-
-    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
-$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
-if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldnet_stub  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dnet_ntoa ();
-int
-main ()
-{
-return dnet_ntoa ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dnet_stub_dnet_ntoa=yes
-else
-  ac_cv_lib_dnet_stub_dnet_ntoa=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
-$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
-if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
-fi
-
-    fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LIBS="$ac_xsave_LIBS"
-
-    # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
-    # to get the SysV transport functions.
-    # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
-    # needs -lnsl.
-    # The nsl library prevents programs from opening the X display
-    # on Irix 5.2, according to T.E. Dickey.
-    # The functions gethostbyname, getservbyname, and inet_addr are
-    # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
-    ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
-if test "x$ac_cv_func_gethostbyname" = x""yes; then :
-
-fi
-
-    if test $ac_cv_func_gethostbyname = no; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
-$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_nsl_gethostbyname=yes
-else
-  ac_cv_lib_nsl_gethostbyname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
-$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
-fi
-
-      if test $ac_cv_lib_nsl_gethostbyname = no; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
-$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
-if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbsd  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_bsd_gethostbyname=yes
-else
-  ac_cv_lib_bsd_gethostbyname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
-$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
-if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
-fi
-
-      fi
-    fi
-
-    # lieder@skyler.mavd.honeywell.com says without -lsocket,
-    # socket/setsockopt and other routines are undefined under SCO ODT
-    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
-    # on later versions), says Simon Leinen: it contains gethostby*
-    # variants that don't use the name server (or something).  -lsocket
-    # must be given before -lnsl if both are needed.  We assume that
-    # if connect needs -lnsl, so does gethostbyname.
-    ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
-if test "x$ac_cv_func_connect" = x""yes; then :
-
-fi
-
-    if test $ac_cv_func_connect = no; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
-$as_echo_n "checking for connect in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_connect+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char connect ();
-int
-main ()
-{
-return connect ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_socket_connect=yes
-else
-  ac_cv_lib_socket_connect=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
-$as_echo "$ac_cv_lib_socket_connect" >&6; }
-if test "x$ac_cv_lib_socket_connect" = x""yes; then :
-  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
-fi
-
-    fi
-
-    # Guillermo Gomez says -lposix is necessary on A/UX.
-    ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
-if test "x$ac_cv_func_remove" = x""yes; then :
-
-fi
-
-    if test $ac_cv_func_remove = no; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
-$as_echo_n "checking for remove in -lposix... " >&6; }
-if test "${ac_cv_lib_posix_remove+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lposix  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char remove ();
-int
-main ()
-{
-return remove ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_posix_remove=yes
-else
-  ac_cv_lib_posix_remove=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
-$as_echo "$ac_cv_lib_posix_remove" >&6; }
-if test "x$ac_cv_lib_posix_remove" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
-fi
-
-    fi
-
-    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
-    ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
-if test "x$ac_cv_func_shmat" = x""yes; then :
-
-fi
-
-    if test $ac_cv_func_shmat = no; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
-$as_echo_n "checking for shmat in -lipc... " >&6; }
-if test "${ac_cv_lib_ipc_shmat+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lipc  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shmat ();
-int
-main ()
-{
-return shmat ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ipc_shmat=yes
-else
-  ac_cv_lib_ipc_shmat=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
-$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
-if test "x$ac_cv_lib_ipc_shmat" = x""yes; then :
-  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
-fi
-
-    fi
-  fi
-
-  # Check for libraries that X11R6 Xt/Xaw programs need.
-  ac_save_LDFLAGS=$LDFLAGS
-  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
-  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
-  # check for ICE first), but we must link in the order -lSM -lICE or
-  # we get undefined symbols.  So assume we have SM if we have ICE.
-  # These have to be linked with before -lX11, unlike the other
-  # libraries we check for below, so use a different variable.
-  # John Interrante, Karl Berry
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
-$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
-if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lICE $X_EXTRA_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char IceConnectionNumber ();
-int
-main ()
-{
-return IceConnectionNumber ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ICE_IceConnectionNumber=yes
-else
-  ac_cv_lib_ICE_IceConnectionNumber=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
-$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
-if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then :
-  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
-fi
-
-  LDFLAGS=$ac_save_LDFLAGS
-
-fi
-
-                    if test "x$no_x" = xyes; then
-                      use_xlib="no (requires X development libraries)"
-                    else
-                      xlib_NONPKGCONFIG_LIBS="$X_PRE_LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
-                      xlib_NONPKGCONFIG_CFLAGS=$X_CFLAGS
-                    fi
-else
-       xlib_CFLAGS=$pkg_cv_xlib_CFLAGS
-       xlib_LIBS=$pkg_cv_xlib_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Xlib surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Xlib surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_xlib" >&5
-$as_echo "$use_xlib" >&6; }
-
-               if test "x$enable_xlib" = "xyes" -a "x$use_xlib" != xyes; then :
-                       as_fn_error $? " Xlib surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-xlib: \`$use_xlib', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_xlib" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$xlib_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$xlib_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$xlib_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$xlib_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$xlib_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset xlib_BASE
-unset xlib_REQUIRES
-unset xlib_CFLAGS
-unset xlib_NONPKGCONFIG_CFLAGS
-unset xlib_LIBS
-unset xlib_NONPKGCONFIG_LIBS
-unset xlib_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_xlib" = xyes; then
-  CAIRO_HAS_XLIB_SURFACE_TRUE=
-  CAIRO_HAS_XLIB_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_XLIB_SURFACE_TRUE='#'
-  CAIRO_HAS_XLIB_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_XLIB_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_xlib_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_xlib_headers)
-all_cairo_private += $(cairo_xlib_private)
-all_cairo_cxx_sources += $(cairo_xlib_cxx_sources)
-all_cairo_sources += $(cairo_xlib_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_xlib_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_xlib_headers)
-enabled_cairo_private += $(cairo_xlib_private)
-enabled_cairo_cxx_sources += $(cairo_xlib_cxx_sources)
-enabled_cairo_sources += $(cairo_xlib_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XLIB_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_xlib_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_XLIB_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_xlib" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-xlib.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_xlib" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-xlib-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-xlib.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-xlib.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XLIB_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_xlib" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_XLIB_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_XLIB_SURFACE'
-
-
-
-                                       if test "x$use_xlib" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_XLIB_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_XLIB_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_xlib" = xyes; then :
-  :
-                                       CAIRO_NATIVE_SURFACE_BACKENDS="${CAIRO_NATIVE_SURFACE_BACKENDS}"'xlib'
-
-
-
-fi
-
-
-
-                                                                                                                               # Check whether --enable-xlib-xrender was given.
-if test "${enable_xlib_xrender+set}" = set; then :
-  enableval=$enable_xlib_xrender; enable_xlib_xrender=$enableval
-else
-  enable_xlib_xrender=auto
-fi
-
-                       case $enable_xlib_xrender in #(
-  no) :
-               use_xlib_xrender="no (disabled, use --enable-xlib-xrender to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Xlib Xrender surface backend feature" >&5
-$as_echo_n "checking for cairo's Xlib Xrender surface backend feature... " >&6; }
-               echo
-
-               use_xlib_xrender=yes
-                       xlib_xrender_BASE="cairo"
-xlib_xrender_REQUIRES="$ac_env_xlib_xrender_REQUIRES_value"
-xlib_xrender_CFLAGS="$ac_env_xlib_xrender_CFLAGS_value"
-xlib_xrender_NONPKGCONFIG_CFLAGS="$ac_env_xlib_xrender_NONPKGCONFIG_CFLAGS_value"
-xlib_xrender_LIBS="$ac_env_xlib_xrender_LIBS_value"
-xlib_xrender_NONPKGCONFIG_LIBS="$ac_env_xlib_xrender_NONPKGCONFIG_LIBS_value"
-xlib_xrender_NONPKGCONFIG_EXTRA_LIBS="$ac_env_xlib_xrender_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  if test "x$use_xlib" != "xyes"; then
-    use_xlib_xrender="no (requires --enable-xlib)"
-  else
-        xlib_xrender_BASE=cairo-xlib
-    xlib_xrender_REQUIRES="xrender >= 0.6"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xlib_xrender" >&5
-$as_echo_n "checking for xlib_xrender... " >&6; }
-
-if test -n "$xlib_xrender_CFLAGS"; then
-    pkg_cv_xlib_xrender_CFLAGS="$xlib_xrender_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$xlib_xrender_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$xlib_xrender_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_xlib_xrender_CFLAGS=`$PKG_CONFIG --cflags "$xlib_xrender_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$xlib_xrender_LIBS"; then
-    pkg_cv_xlib_xrender_LIBS="$xlib_xrender_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$xlib_xrender_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$xlib_xrender_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_xlib_xrender_LIBS=`$PKG_CONFIG --libs "$xlib_xrender_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               xlib_xrender_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$xlib_xrender_REQUIRES" 2>&1`
-        else
-               xlib_xrender_PKG_ERRORS=`$PKG_CONFIG --print-errors "$xlib_xrender_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$xlib_xrender_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                      xlib_xrender_REQUIRES=""
-                      old_CPPFLAGS=$CPPFLAGS
-                      CPPFLAGS="$CPPFLAGS $xlib_CFLAGS $xlib_NONPKGCONFIG_CFLAGS"
-                      ac_fn_c_check_header_mongrel "$LINENO" "X11/extensions/Xrender.h" "ac_cv_header_X11_extensions_Xrender_h" "$ac_includes_default"
-if test "x$ac_cv_header_X11_extensions_Xrender_h" = x""yes; then :
-  xlib_xrender_NONPKGCONFIG_LIBS="-lXrender"
-else
-  use_xlib_xrender="no (requires $xlib_xrender_REQUIRES http://freedesktop.org/Software/xlibs)"
-fi
-
-
-                      CPPFLAGS=$old_CPPFLAGS
-
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                      xlib_xrender_REQUIRES=""
-                      old_CPPFLAGS=$CPPFLAGS
-                      CPPFLAGS="$CPPFLAGS $xlib_CFLAGS $xlib_NONPKGCONFIG_CFLAGS"
-                      ac_fn_c_check_header_mongrel "$LINENO" "X11/extensions/Xrender.h" "ac_cv_header_X11_extensions_Xrender_h" "$ac_includes_default"
-if test "x$ac_cv_header_X11_extensions_Xrender_h" = x""yes; then :
-  xlib_xrender_NONPKGCONFIG_LIBS="-lXrender"
-else
-  use_xlib_xrender="no (requires $xlib_xrender_REQUIRES http://freedesktop.org/Software/xlibs)"
-fi
-
-
-                      CPPFLAGS=$old_CPPFLAGS
-
-else
-       xlib_xrender_CFLAGS=$pkg_cv_xlib_xrender_CFLAGS
-       xlib_xrender_LIBS=$pkg_cv_xlib_xrender_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-
-    old_CFLAGS=$CFLAGS
-    old_LIBS=$LIBS
-    CFLAGS="$CFLAGS $xlib_CFLAGS $xlib_NONPKGCONFIG_CFLAGS $xlib_xrender_CFLAGS $xlib_xrender_NONPKGCONFIG_CFLAGS"
-    LIBS="$LIBS $xlib_LIBS $xlib_NONPKGCONFIG_LIBS $xlib_xrender_LIBS $xlib_xrender_NONPKGCONFIG_LIBS"
-    for ac_func in XRenderCreateLinearGradient XRenderCreateRadialGradient XRenderCreateConicalGradient
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-    CFLAGS=$old_CFLAGS
-    LIBS=$old_LIBS
-
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Xlib Xrender surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Xlib Xrender surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_xlib_xrender" >&5
-$as_echo "$use_xlib_xrender" >&6; }
-
-               if test "x$enable_xlib_xrender" = "xyes" -a "x$use_xlib_xrender" != xyes; then :
-                       as_fn_error $? " Xlib Xrender surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-xlib-xrender: \`$use_xlib_xrender', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_xlib_xrender" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$xlib_xrender_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$xlib_xrender_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$xlib_xrender_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$xlib_xrender_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$xlib_xrender_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset xlib_xrender_BASE
-unset xlib_xrender_REQUIRES
-unset xlib_xrender_CFLAGS
-unset xlib_xrender_NONPKGCONFIG_CFLAGS
-unset xlib_xrender_LIBS
-unset xlib_xrender_NONPKGCONFIG_LIBS
-unset xlib_xrender_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_xlib_xrender" = xyes; then
-  CAIRO_HAS_XLIB_XRENDER_SURFACE_TRUE=
-  CAIRO_HAS_XLIB_XRENDER_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_XLIB_XRENDER_SURFACE_TRUE='#'
-  CAIRO_HAS_XLIB_XRENDER_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_XLIB_XRENDER_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_xlib_xrender_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xrender_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_xlib_xrender_headers)
-all_cairo_private += $(cairo_xlib_xrender_private)
-all_cairo_cxx_sources += $(cairo_xlib_xrender_cxx_sources)
-all_cairo_sources += $(cairo_xlib_xrender_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xrender_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_xlib_xrender_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_xrender_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_xrender_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_xlib_xrender_headers)
-enabled_cairo_private += $(cairo_xlib_xrender_private)
-enabled_cairo_cxx_sources += $(cairo_xlib_xrender_cxx_sources)
-enabled_cairo_sources += $(cairo_xlib_xrender_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XLIB_XRENDER_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_XRENDER_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xrender_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_xlib_xrender_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_xrender_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_xrender_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_XLIB_XRENDER_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_XRENDER_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_xlib_xrender" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-xlib-xrender.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_xlib_xrender" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-xlib-xrender-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-xlib-xrender.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-xlib-xrender.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XLIB_XRENDER_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_XRENDER_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_xlib_xrender" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_XLIB_XRENDER_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_XLIB_XRENDER_SURFACE'
-
-
-
-                                       if test "x$use_xlib_xrender" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_XLIB_XRENDER_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_XLIB_XRENDER_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_XRENDER_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_xlib_xrender" = xyes; then :
-  :
-                                       CAIRO_NATIVE_SURFACE_BACKENDS="${CAIRO_NATIVE_SURFACE_BACKENDS}"'xlib_xrender'
-
-
-
-fi
-
-
-
-
-                                                                                                                               # Check whether --enable-xcb was given.
-if test "${enable_xcb+set}" = set; then :
-  enableval=$enable_xcb; enable_xcb=$enableval
-else
-  enable_xcb=auto
-fi
-
-                       case $enable_xcb in #(
-  no) :
-               use_xcb="no (disabled, use --enable-xcb to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's XCB surface backend feature" >&5
-$as_echo_n "checking for cairo's XCB surface backend feature... " >&6; }
-               echo
-
-               use_xcb=yes
-                       xcb_BASE="cairo"
-xcb_REQUIRES="$ac_env_xcb_REQUIRES_value"
-xcb_CFLAGS="$ac_env_xcb_CFLAGS_value"
-xcb_NONPKGCONFIG_CFLAGS="$ac_env_xcb_NONPKGCONFIG_CFLAGS_value"
-xcb_LIBS="$ac_env_xcb_LIBS_value"
-xcb_NONPKGCONFIG_LIBS="$ac_env_xcb_NONPKGCONFIG_LIBS_value"
-xcb_NONPKGCONFIG_EXTRA_LIBS="$ac_env_xcb_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  xcb_REQUIRES="xcb >= 1.6 xcb-render >= 1.6"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xcb" >&5
-$as_echo_n "checking for xcb... " >&6; }
-
-if test -n "$xcb_CFLAGS"; then
-    pkg_cv_xcb_CFLAGS="$xcb_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$xcb_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$xcb_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_xcb_CFLAGS=`$PKG_CONFIG --cflags "$xcb_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$xcb_LIBS"; then
-    pkg_cv_xcb_LIBS="$xcb_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$xcb_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$xcb_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_xcb_LIBS=`$PKG_CONFIG --libs "$xcb_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               xcb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$xcb_REQUIRES" 2>&1`
-        else
-               xcb_PKG_ERRORS=`$PKG_CONFIG --print-errors "$xcb_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$xcb_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                   use_xcb="no (requires $xcb_REQUIRES http://xcb.freedesktop.org)"
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                   use_xcb="no (requires $xcb_REQUIRES http://xcb.freedesktop.org)"
-else
-       xcb_CFLAGS=$pkg_cv_xcb_CFLAGS
-       xcb_LIBS=$pkg_cv_xcb_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's XCB surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's XCB surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_xcb" >&5
-$as_echo "$use_xcb" >&6; }
-
-               if test "x$enable_xcb" = "xyes" -a "x$use_xcb" != xyes; then :
-                       as_fn_error $? " XCB surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-xcb: \`$use_xcb', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_xcb" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$xcb_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$xcb_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$xcb_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$xcb_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$xcb_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset xcb_BASE
-unset xcb_REQUIRES
-unset xcb_CFLAGS
-unset xcb_NONPKGCONFIG_CFLAGS
-unset xcb_LIBS
-unset xcb_NONPKGCONFIG_LIBS
-unset xcb_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_xcb" = xyes; then
-  CAIRO_HAS_XCB_SURFACE_TRUE=
-  CAIRO_HAS_XCB_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_XCB_SURFACE_TRUE='#'
-  CAIRO_HAS_XCB_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_XCB_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_xcb_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_xcb_headers)
-all_cairo_private += $(cairo_xcb_private)
-all_cairo_cxx_sources += $(cairo_xcb_cxx_sources)
-all_cairo_sources += $(cairo_xcb_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_xcb_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xcb_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_xcb_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_xcb_headers)
-enabled_cairo_private += $(cairo_xcb_private)
-enabled_cairo_cxx_sources += $(cairo_xcb_cxx_sources)
-enabled_cairo_sources += $(cairo_xcb_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XCB_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XCB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_xcb_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xcb_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xcb_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_XCB_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_XCB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_xcb" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-xcb.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_xcb" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-xcb-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-xcb.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-xcb.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XCB_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XCB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_xcb" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_XCB_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_XCB_SURFACE'
-
-
-
-                                       if test "x$use_xcb" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_XCB_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_XCB_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_XCB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_xcb" = xyes; then :
-  :
-                                       CAIRO_NATIVE_SURFACE_BACKENDS="${CAIRO_NATIVE_SURFACE_BACKENDS}"'xcb'
-
-
-
-fi
-
-
-
-                                                                                                                               # Check whether --enable-xlib-xcb was given.
-if test "${enable_xlib_xcb+set}" = set; then :
-  enableval=$enable_xlib_xcb; enable_xlib_xcb=$enableval
-else
-  enable_xlib_xcb=no
-fi
-
-                       case $enable_xlib_xcb in #(
-  no) :
-               use_xlib_xcb="no (disabled, use --enable-xlib-xcb to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Xlib/XCB functions feature" >&5
-$as_echo_n "checking for cairo's Xlib/XCB functions feature... " >&6; }
-               echo
-
-               use_xlib_xcb=yes
-                       xlib_xcb_BASE="cairo"
-xlib_xcb_REQUIRES="$ac_env_xlib_xcb_REQUIRES_value"
-xlib_xcb_CFLAGS="$ac_env_xlib_xcb_CFLAGS_value"
-xlib_xcb_NONPKGCONFIG_CFLAGS="$ac_env_xlib_xcb_NONPKGCONFIG_CFLAGS_value"
-xlib_xcb_LIBS="$ac_env_xlib_xcb_LIBS_value"
-xlib_xcb_NONPKGCONFIG_LIBS="$ac_env_xlib_xcb_NONPKGCONFIG_LIBS_value"
-xlib_xcb_NONPKGCONFIG_EXTRA_LIBS="$ac_env_xlib_xcb_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  if test "x$use_xcb" = "xyes" -a "x$use_xlib" = "xyes"; then
-    xlib_xcb_REQUIRES="x11-xcb"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xlib_xcb" >&5
-$as_echo_n "checking for xlib_xcb... " >&6; }
-
-if test -n "$xlib_xcb_CFLAGS"; then
-    pkg_cv_xlib_xcb_CFLAGS="$xlib_xcb_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$xlib_xcb_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$xlib_xcb_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_xlib_xcb_CFLAGS=`$PKG_CONFIG --cflags "$xlib_xcb_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$xlib_xcb_LIBS"; then
-    pkg_cv_xlib_xcb_LIBS="$xlib_xcb_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$xlib_xcb_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$xlib_xcb_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_xlib_xcb_LIBS=`$PKG_CONFIG --libs "$xlib_xcb_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               xlib_xcb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$xlib_xcb_REQUIRES" 2>&1`
-        else
-               xlib_xcb_PKG_ERRORS=`$PKG_CONFIG --print-errors "$xlib_xcb_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$xlib_xcb_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                     use_xlib_xcb="no (requires $xlib_xcb_REQUIRES http://xcb.freedesktop.org)"
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                     use_xlib_xcb="no (requires $xlib_xcb_REQUIRES http://xcb.freedesktop.org)"
-else
-       xlib_xcb_CFLAGS=$pkg_cv_xlib_xcb_CFLAGS
-       xlib_xcb_LIBS=$pkg_cv_xlib_xcb_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-  else
-    use_xlib_xcb="no (requires both --enable-xlib and --enable-xcb)"
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Xlib/XCB functions feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Xlib/XCB functions feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_xlib_xcb" >&5
-$as_echo "$use_xlib_xcb" >&6; }
-
-               if test "x$enable_xlib_xcb" = "xyes" -a "x$use_xlib_xcb" != xyes; then :
-                       as_fn_error $? " Xlib/XCB functions feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-xlib-xcb: \`$use_xlib_xcb', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_xlib_xcb" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$xlib_xcb_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$xlib_xcb_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$xlib_xcb_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$xlib_xcb_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$xlib_xcb_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset xlib_xcb_BASE
-unset xlib_xcb_REQUIRES
-unset xlib_xcb_CFLAGS
-unset xlib_xcb_NONPKGCONFIG_CFLAGS
-unset xlib_xcb_LIBS
-unset xlib_xcb_NONPKGCONFIG_LIBS
-unset xlib_xcb_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_xlib_xcb" = xyes; then
-  CAIRO_HAS_XLIB_XCB_FUNCTIONS_TRUE=
-  CAIRO_HAS_XLIB_XCB_FUNCTIONS_FALSE='#'
-else
-  CAIRO_HAS_XLIB_XCB_FUNCTIONS_TRUE='#'
-  CAIRO_HAS_XLIB_XCB_FUNCTIONS_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_XLIB_XCB_FUNCTIONS=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_xlib_xcb_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xcb_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_xlib_xcb_headers)
-all_cairo_private += $(cairo_xlib_xcb_private)
-all_cairo_cxx_sources += $(cairo_xlib_xcb_cxx_sources)
-all_cairo_sources += $(cairo_xlib_xcb_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xcb_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_xlib_xcb_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_xcb_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_xcb_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_xlib_xcb_headers)
-enabled_cairo_private += $(cairo_xlib_xcb_private)
-enabled_cairo_cxx_sources += $(cairo_xlib_xcb_cxx_sources)
-enabled_cairo_sources += $(cairo_xlib_xcb_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XLIB_XCB_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_XCB_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xlib_xcb_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_xlib_xcb_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xlib_xcb_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xlib_xcb_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_XLIB_XCB_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_XCB_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_xlib_xcb" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-xlib-xcb.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_xlib_xcb" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-xlib-xcb-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-xlib-xcb.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-xlib-xcb.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XLIB_XCB_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_XCB_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_xlib_xcb" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_XLIB_XCB_FUNCTIONS'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_XLIB_XCB_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_XLIB_XCB_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_xlib_xcb" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The Xlib/XCB functions feature is still under active development and is
---- included in this release only as a preview. It does NOT fully work yet
---- and incompatible changes may yet be made to Xlib/XCB functions specific
---- API.'
-
-
-
-fi
-
-
-
-
-
-                                                                                                                               # Check whether --enable-xcb-shm was given.
-if test "${enable_xcb_shm+set}" = set; then :
-  enableval=$enable_xcb_shm; enable_xcb_shm=$enableval
-else
-  enable_xcb_shm=auto
-fi
-
-                       case $enable_xcb_shm in #(
-  no) :
-               use_xcb_shm="no (disabled, use --enable-xcb-shm to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's XCB/SHM functions feature" >&5
-$as_echo_n "checking for cairo's XCB/SHM functions feature... " >&6; }
-               echo
-
-               use_xcb_shm=yes
-                       xcb_shm_BASE="cairo"
-xcb_shm_REQUIRES="$ac_env_xcb_shm_REQUIRES_value"
-xcb_shm_CFLAGS="$ac_env_xcb_shm_CFLAGS_value"
-xcb_shm_NONPKGCONFIG_CFLAGS="$ac_env_xcb_shm_NONPKGCONFIG_CFLAGS_value"
-xcb_shm_LIBS="$ac_env_xcb_shm_LIBS_value"
-xcb_shm_NONPKGCONFIG_LIBS="$ac_env_xcb_shm_NONPKGCONFIG_LIBS_value"
-xcb_shm_NONPKGCONFIG_EXTRA_LIBS="$ac_env_xcb_shm_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  if test "x$use_xcb" = "xyes"; then
-      xcb_shm_REQUIRES="xcb-shm"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xcb_shm" >&5
-$as_echo_n "checking for xcb_shm... " >&6; }
-
-if test -n "$xcb_shm_CFLAGS"; then
-    pkg_cv_xcb_shm_CFLAGS="$xcb_shm_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$xcb_shm_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$xcb_shm_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_xcb_shm_CFLAGS=`$PKG_CONFIG --cflags "$xcb_shm_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$xcb_shm_LIBS"; then
-    pkg_cv_xcb_shm_LIBS="$xcb_shm_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$xcb_shm_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$xcb_shm_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_xcb_shm_LIBS=`$PKG_CONFIG --libs "$xcb_shm_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               xcb_shm_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$xcb_shm_REQUIRES" 2>&1`
-        else
-               xcb_shm_PKG_ERRORS=`$PKG_CONFIG --print-errors "$xcb_shm_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$xcb_shm_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                       use_xcb_shm="no (requires $xcb_shm http://xcb.freedesktop.org)"
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                       use_xcb_shm="no (requires $xcb_shm http://xcb.freedesktop.org)"
-else
-       xcb_shm_CFLAGS=$pkg_cv_xcb_shm_CFLAGS
-       xcb_shm_LIBS=$pkg_cv_xcb_shm_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-  else
-    use_xcb_shm="no (requires --enable-xcb)"
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's XCB/SHM functions feature could be enabled" >&5
-$as_echo_n "checking whether cairo's XCB/SHM functions feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_xcb_shm" >&5
-$as_echo "$use_xcb_shm" >&6; }
-
-               if test "x$enable_xcb_shm" = "xyes" -a "x$use_xcb_shm" != xyes; then :
-                       as_fn_error $? " XCB/SHM functions feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-xcb-shm: \`$use_xcb_shm', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_xcb_shm" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$xcb_shm_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$xcb_shm_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$xcb_shm_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$xcb_shm_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$xcb_shm_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset xcb_shm_BASE
-unset xcb_shm_REQUIRES
-unset xcb_shm_CFLAGS
-unset xcb_shm_NONPKGCONFIG_CFLAGS
-unset xcb_shm_LIBS
-unset xcb_shm_NONPKGCONFIG_LIBS
-unset xcb_shm_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_xcb_shm" = xyes; then
-  CAIRO_HAS_XCB_SHM_FUNCTIONS_TRUE=
-  CAIRO_HAS_XCB_SHM_FUNCTIONS_FALSE='#'
-else
-  CAIRO_HAS_XCB_SHM_FUNCTIONS_TRUE='#'
-  CAIRO_HAS_XCB_SHM_FUNCTIONS_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_XCB_SHM_FUNCTIONS=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_xcb_shm_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_shm_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_xcb_shm_headers)
-all_cairo_private += $(cairo_xcb_shm_private)
-all_cairo_cxx_sources += $(cairo_xcb_shm_cxx_sources)
-all_cairo_sources += $(cairo_xcb_shm_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_shm_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_xcb_shm_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xcb_shm_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_xcb_shm_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_xcb_shm_headers)
-enabled_cairo_private += $(cairo_xcb_shm_private)
-enabled_cairo_cxx_sources += $(cairo_xcb_shm_cxx_sources)
-enabled_cairo_sources += $(cairo_xcb_shm_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XCB_SHM_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XCB_SHM_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xcb_shm_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_xcb_shm_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xcb_shm_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xcb_shm_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_XCB_SHM_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_XCB_SHM_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_xcb_shm" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-xcb-shm.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_xcb_shm" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-xcb-shm-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-xcb-shm.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-xcb-shm.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XCB_SHM_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XCB_SHM_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_xcb_shm" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_XCB_SHM_FUNCTIONS'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_XCB_SHM_FUNCTIONS'
-
-
-
-                                       if test "x$use_xcb_shm" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_XCB_SHM_FUNCTIONS'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_XCB_SHM_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_XCB_SHM_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-qt was given.
-if test "${enable_qt+set}" = set; then :
-  enableval=$enable_qt; enable_qt=$enableval
-else
-  enable_qt=no
-fi
-
-                       case $enable_qt in #(
-  no) :
-               use_qt="no (disabled, use --enable-qt to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Qt surface backend feature" >&5
-$as_echo_n "checking for cairo's Qt surface backend feature... " >&6; }
-               echo
-
-               use_qt=yes
-                       qt_BASE="cairo"
-qt_REQUIRES="$ac_env_qt_REQUIRES_value"
-qt_CFLAGS="$ac_env_qt_CFLAGS_value"
-qt_NONPKGCONFIG_CFLAGS="$ac_env_qt_NONPKGCONFIG_CFLAGS_value"
-qt_LIBS="$ac_env_qt_LIBS_value"
-qt_NONPKGCONFIG_LIBS="$ac_env_qt_NONPKGCONFIG_LIBS_value"
-qt_NONPKGCONFIG_EXTRA_LIBS="$ac_env_qt_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  qt_REQUIRES="QtGui >= 4.4.0"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for qt" >&5
-$as_echo_n "checking for qt... " >&6; }
-
-if test -n "$qt_CFLAGS"; then
-    pkg_cv_qt_CFLAGS="$qt_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$qt_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$qt_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_qt_CFLAGS=`$PKG_CONFIG --cflags "$qt_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$qt_LIBS"; then
-    pkg_cv_qt_LIBS="$qt_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$qt_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$qt_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_qt_LIBS=`$PKG_CONFIG --libs "$qt_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               qt_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$qt_REQUIRES" 2>&1`
-        else
-               qt_PKG_ERRORS=`$PKG_CONFIG --print-errors "$qt_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$qt_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                    qt_REQUIRES=""
-                    use_qt="no (requires Qt4 development libraries)"
-
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                    qt_REQUIRES=""
-                    use_qt="no (requires Qt4 development libraries)"
-
-else
-       qt_CFLAGS=$pkg_cv_qt_CFLAGS
-       qt_LIBS=$pkg_cv_qt_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Qt surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Qt surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_qt" >&5
-$as_echo "$use_qt" >&6; }
-
-               if test "x$enable_qt" = "xyes" -a "x$use_qt" != xyes; then :
-                       as_fn_error $? " Qt surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-qt: \`$use_qt', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_qt" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$qt_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$qt_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$qt_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$qt_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$qt_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset qt_BASE
-unset qt_REQUIRES
-unset qt_CFLAGS
-unset qt_NONPKGCONFIG_CFLAGS
-unset qt_LIBS
-unset qt_NONPKGCONFIG_LIBS
-unset qt_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_qt" = xyes; then
-  CAIRO_HAS_QT_SURFACE_TRUE=
-  CAIRO_HAS_QT_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_QT_SURFACE_TRUE='#'
-  CAIRO_HAS_QT_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_QT_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_qt_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_qt_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_qt_headers)
-all_cairo_private += $(cairo_qt_private)
-all_cairo_cxx_sources += $(cairo_qt_cxx_sources)
-all_cairo_sources += $(cairo_qt_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_qt_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_qt_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_qt_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_qt_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_qt_headers)
-enabled_cairo_private += $(cairo_qt_private)
-enabled_cairo_cxx_sources += $(cairo_qt_cxx_sources)
-enabled_cairo_sources += $(cairo_qt_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_QT_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_QT_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_qt_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_qt_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_qt_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_qt_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_QT_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_QT_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_qt" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-qt.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_qt" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-qt-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-qt.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-qt.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_QT_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_QT_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_qt" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_QT_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_QT_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_QT_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_qt" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The Qt surface backend feature is still under active development and is
---- included in this release only as a preview. It does NOT fully work yet
---- and incompatible changes may yet be made to Qt surface backend specific
---- API.'
-
-
-
-fi
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-quartz was given.
-if test "${enable_quartz+set}" = set; then :
-  enableval=$enable_quartz; enable_quartz=$enableval
-else
-  enable_quartz=auto
-fi
-
-                       case $enable_quartz in #(
-  no) :
-               use_quartz="no (disabled, use --enable-quartz to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Quartz surface backend feature" >&5
-$as_echo_n "checking for cairo's Quartz surface backend feature... " >&6; }
-               echo
-
-               use_quartz=yes
-                       quartz_BASE="cairo"
-quartz_REQUIRES="$ac_env_quartz_REQUIRES_value"
-quartz_CFLAGS="$ac_env_quartz_CFLAGS_value"
-quartz_NONPKGCONFIG_CFLAGS="$ac_env_quartz_NONPKGCONFIG_CFLAGS_value"
-quartz_LIBS="$ac_env_quartz_LIBS_value"
-quartz_NONPKGCONFIG_LIBS="$ac_env_quartz_NONPKGCONFIG_LIBS_value"
-quartz_NONPKGCONFIG_EXTRA_LIBS="$ac_env_quartz_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-    ac_fn_c_check_header_mongrel "$LINENO" "ApplicationServices/ApplicationServices.h" "ac_cv_header_ApplicationServices_ApplicationServices_h" "$ac_includes_default"
-if test "x$ac_cv_header_ApplicationServices_ApplicationServices_h" = x""yes; then :
-
-else
-  use_quartz="no (requires ApplicationServices framework)"
-fi
-
-
-  if test "x$use_quartz" != "xyes" ; then
-        ac_fn_c_check_header_mongrel "$LINENO" "CoreGraphics/CoreGraphics.h" "ac_cv_header_CoreGraphics_CoreGraphics_h" "$ac_includes_default"
-if test "x$ac_cv_header_CoreGraphics_CoreGraphics_h" = x""yes; then :
-
-else
-  use_quartz="no (requires CoreGraphics framework)"
-fi
-
-
-    quartz_LIBS="-Xlinker -framework -Xlinker CoreGraphics"
-  else
-    quartz_LIBS="-Xlinker -framework -Xlinker ApplicationServices"
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Quartz surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Quartz surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_quartz" >&5
-$as_echo "$use_quartz" >&6; }
-
-               if test "x$enable_quartz" = "xyes" -a "x$use_quartz" != xyes; then :
-                       as_fn_error $? " Quartz surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-quartz: \`$use_quartz', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_quartz" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$quartz_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$quartz_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$quartz_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$quartz_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$quartz_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset quartz_BASE
-unset quartz_REQUIRES
-unset quartz_CFLAGS
-unset quartz_NONPKGCONFIG_CFLAGS
-unset quartz_LIBS
-unset quartz_NONPKGCONFIG_LIBS
-unset quartz_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_quartz" = xyes; then
-  CAIRO_HAS_QUARTZ_SURFACE_TRUE=
-  CAIRO_HAS_QUARTZ_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_QUARTZ_SURFACE_TRUE='#'
-  CAIRO_HAS_QUARTZ_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_QUARTZ_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_quartz_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_quartz_headers)
-all_cairo_private += $(cairo_quartz_private)
-all_cairo_cxx_sources += $(cairo_quartz_cxx_sources)
-all_cairo_sources += $(cairo_quartz_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_quartz_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_quartz_headers)
-enabled_cairo_private += $(cairo_quartz_private)
-enabled_cairo_cxx_sources += $(cairo_quartz_cxx_sources)
-enabled_cairo_sources += $(cairo_quartz_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_QUARTZ_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_quartz_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_QUARTZ_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_quartz" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-quartz.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_quartz" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-quartz-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-quartz.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-quartz.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_QUARTZ_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_quartz" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_QUARTZ_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_QUARTZ_SURFACE'
-
-
-
-                                       if test "x$use_quartz" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_QUARTZ_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_QUARTZ_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_quartz" = xyes; then :
-  :
-                                       CAIRO_NATIVE_SURFACE_BACKENDS="${CAIRO_NATIVE_SURFACE_BACKENDS}"'quartz'
-
-
-
-fi
-
-
-
-                                                                                                                               # Check whether --enable-quartz-font was given.
-if test "${enable_quartz_font+set}" = set; then :
-  enableval=$enable_quartz_font; enable_quartz_font=$enableval
-else
-  enable_quartz_font=auto
-fi
-
-                       case $enable_quartz_font in #(
-  no) :
-               use_quartz_font="no (disabled, use --enable-quartz-font to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Quartz font backend feature" >&5
-$as_echo_n "checking for cairo's Quartz font backend feature... " >&6; }
-               echo
-
-               use_quartz_font=yes
-                       quartz_font_BASE="cairo"
-quartz_font_REQUIRES="$ac_env_quartz_font_REQUIRES_value"
-quartz_font_CFLAGS="$ac_env_quartz_font_CFLAGS_value"
-quartz_font_NONPKGCONFIG_CFLAGS="$ac_env_quartz_font_NONPKGCONFIG_CFLAGS_value"
-quartz_font_LIBS="$ac_env_quartz_font_LIBS_value"
-quartz_font_NONPKGCONFIG_LIBS="$ac_env_quartz_font_NONPKGCONFIG_LIBS_value"
-quartz_font_NONPKGCONFIG_EXTRA_LIBS="$ac_env_quartz_font_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  use_quartz_font=$use_quartz
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Quartz font backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Quartz font backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_quartz_font" >&5
-$as_echo "$use_quartz_font" >&6; }
-
-               if test "x$enable_quartz_font" = "xyes" -a "x$use_quartz_font" != xyes; then :
-                       as_fn_error $? " Quartz font backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-quartz-font: \`$use_quartz_font', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_quartz_font" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$quartz_font_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$quartz_font_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$quartz_font_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$quartz_font_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$quartz_font_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset quartz_font_BASE
-unset quartz_font_REQUIRES
-unset quartz_font_CFLAGS
-unset quartz_font_NONPKGCONFIG_CFLAGS
-unset quartz_font_LIBS
-unset quartz_font_NONPKGCONFIG_LIBS
-unset quartz_font_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_quartz_font" = xyes; then
-  CAIRO_HAS_QUARTZ_FONT_TRUE=
-  CAIRO_HAS_QUARTZ_FONT_FALSE='#'
-else
-  CAIRO_HAS_QUARTZ_FONT_TRUE='#'
-  CAIRO_HAS_QUARTZ_FONT_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_QUARTZ_FONT=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_quartz_font_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_font_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_quartz_font_headers)
-all_cairo_private += $(cairo_quartz_font_private)
-all_cairo_cxx_sources += $(cairo_quartz_font_cxx_sources)
-all_cairo_sources += $(cairo_quartz_font_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_font_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_quartz_font_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_font_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_font_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_quartz_font_headers)
-enabled_cairo_private += $(cairo_quartz_font_private)
-enabled_cairo_cxx_sources += $(cairo_quartz_font_cxx_sources)
-enabled_cairo_sources += $(cairo_quartz_font_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_QUARTZ_FONT'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_font_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_quartz_font_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_font_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_font_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_QUARTZ_FONT'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_quartz_font" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-quartz-font.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_quartz_font" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-quartz-font-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-quartz-font.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-quartz-font.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_QUARTZ_FONT'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_quartz_font" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_QUARTZ_FONT'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_QUARTZ_FONT'
-
-
-
-                                       if test "x$use_quartz_font" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_QUARTZ_FONT'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_QUARTZ_FONT 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_FONT),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-                                       if test "x$use_quartz_font" = xyes; then :
-  :
-                                       CAIRO_NATIVE_FONT_BACKENDS="${CAIRO_NATIVE_FONT_BACKENDS}"'quartz_font'
-
-
-
-fi
-
-
-                                                                                                                               # Check whether --enable-quartz-image was given.
-if test "${enable_quartz_image+set}" = set; then :
-  enableval=$enable_quartz_image; enable_quartz_image=$enableval
-else
-  enable_quartz_image=no
-fi
-
-                       case $enable_quartz_image in #(
-  no) :
-               use_quartz_image="no (disabled, use --enable-quartz-image to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Quartz Image surface backend feature" >&5
-$as_echo_n "checking for cairo's Quartz Image surface backend feature... " >&6; }
-               echo
-
-               use_quartz_image=yes
-                       quartz_image_BASE="cairo"
-quartz_image_REQUIRES="$ac_env_quartz_image_REQUIRES_value"
-quartz_image_CFLAGS="$ac_env_quartz_image_CFLAGS_value"
-quartz_image_NONPKGCONFIG_CFLAGS="$ac_env_quartz_image_NONPKGCONFIG_CFLAGS_value"
-quartz_image_LIBS="$ac_env_quartz_image_LIBS_value"
-quartz_image_NONPKGCONFIG_LIBS="$ac_env_quartz_image_NONPKGCONFIG_LIBS_value"
-quartz_image_NONPKGCONFIG_EXTRA_LIBS="$ac_env_quartz_image_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  use_quartz_image=$use_quartz
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Quartz Image surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Quartz Image surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_quartz_image" >&5
-$as_echo "$use_quartz_image" >&6; }
-
-               if test "x$enable_quartz_image" = "xyes" -a "x$use_quartz_image" != xyes; then :
-                       as_fn_error $? " Quartz Image surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-quartz-image: \`$use_quartz_image', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_quartz_image" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$quartz_image_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$quartz_image_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$quartz_image_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$quartz_image_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$quartz_image_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset quartz_image_BASE
-unset quartz_image_REQUIRES
-unset quartz_image_CFLAGS
-unset quartz_image_NONPKGCONFIG_CFLAGS
-unset quartz_image_LIBS
-unset quartz_image_NONPKGCONFIG_LIBS
-unset quartz_image_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_quartz_image" = xyes; then
-  CAIRO_HAS_QUARTZ_IMAGE_SURFACE_TRUE=
-  CAIRO_HAS_QUARTZ_IMAGE_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_QUARTZ_IMAGE_SURFACE_TRUE='#'
-  CAIRO_HAS_QUARTZ_IMAGE_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_QUARTZ_IMAGE_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_quartz_image_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_image_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_quartz_image_headers)
-all_cairo_private += $(cairo_quartz_image_private)
-all_cairo_cxx_sources += $(cairo_quartz_image_cxx_sources)
-all_cairo_sources += $(cairo_quartz_image_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_image_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_quartz_image_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_image_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_image_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_quartz_image_headers)
-enabled_cairo_private += $(cairo_quartz_image_private)
-enabled_cairo_cxx_sources += $(cairo_quartz_image_cxx_sources)
-enabled_cairo_sources += $(cairo_quartz_image_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_QUARTZ_IMAGE_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_IMAGE_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_quartz_image_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_quartz_image_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_quartz_image_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_quartz_image_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_QUARTZ_IMAGE_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_IMAGE_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_quartz_image" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-quartz-image.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_quartz_image" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-quartz-image-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-quartz-image.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-quartz-image.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_QUARTZ_IMAGE_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_IMAGE_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_quartz_image" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_QUARTZ_IMAGE_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_QUARTZ_IMAGE_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_QUARTZ_IMAGE_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_quartz_image" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The Quartz Image surface backend feature is still under active
---- development and is included in this release only as a preview. It does
---- NOT fully work yet and incompatible changes may yet be made to Quartz
---- Image surface backend specific API.'
-
-
-
-fi
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-win32 was given.
-if test "${enable_win32+set}" = set; then :
-  enableval=$enable_win32; enable_win32=$enableval
-else
-  enable_win32=auto
-fi
-
-                       case $enable_win32 in #(
-  no) :
-               use_win32="no (disabled, use --enable-win32 to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Microsoft Windows surface backend feature" >&5
-$as_echo_n "checking for cairo's Microsoft Windows surface backend feature... " >&6; }
-               echo
-
-               use_win32=yes
-                       win32_BASE="cairo"
-win32_REQUIRES="$ac_env_win32_REQUIRES_value"
-win32_CFLAGS="$ac_env_win32_CFLAGS_value"
-win32_NONPKGCONFIG_CFLAGS="$ac_env_win32_NONPKGCONFIG_CFLAGS_value"
-win32_LIBS="$ac_env_win32_LIBS_value"
-win32_NONPKGCONFIG_LIBS="$ac_env_win32_NONPKGCONFIG_LIBS_value"
-win32_NONPKGCONFIG_EXTRA_LIBS="$ac_env_win32_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  if test "x$have_windows" != xyes; then
-    use_win32="no (requires a Win32 platform)"
-  fi
-  win32_LIBS="-lgdi32 -lmsimg32"
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Microsoft Windows surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Microsoft Windows surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_win32" >&5
-$as_echo "$use_win32" >&6; }
-
-               if test "x$enable_win32" = "xyes" -a "x$use_win32" != xyes; then :
-                       as_fn_error $? " Microsoft Windows surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-win32: \`$use_win32', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_win32" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$win32_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$win32_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$win32_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$win32_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$win32_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset win32_BASE
-unset win32_REQUIRES
-unset win32_CFLAGS
-unset win32_NONPKGCONFIG_CFLAGS
-unset win32_LIBS
-unset win32_NONPKGCONFIG_LIBS
-unset win32_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_win32" = xyes; then
-  CAIRO_HAS_WIN32_SURFACE_TRUE=
-  CAIRO_HAS_WIN32_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_WIN32_SURFACE_TRUE='#'
-  CAIRO_HAS_WIN32_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_WIN32_SURFACE=1'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_win32_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_win32_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_win32_headers)
-all_cairo_private += $(cairo_win32_private)
-all_cairo_cxx_sources += $(cairo_win32_cxx_sources)
-all_cairo_sources += $(cairo_win32_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_win32_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_win32_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_win32_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_win32_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_win32_headers)
-enabled_cairo_private += $(cairo_win32_private)
-enabled_cairo_cxx_sources += $(cairo_win32_cxx_sources)
-enabled_cairo_sources += $(cairo_win32_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_WIN32_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_WIN32_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_win32_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_win32_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_win32_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_win32_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_WIN32_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_WIN32_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_win32" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-win32.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_win32" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-win32-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-win32.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-win32.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_WIN32_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_WIN32_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_win32" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_WIN32_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_WIN32_SURFACE'
-
-
-
-                                       if test "x$use_win32" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_WIN32_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_WIN32_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_WIN32_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_win32" = xyes; then :
-  :
-                                       CAIRO_NATIVE_SURFACE_BACKENDS="${CAIRO_NATIVE_SURFACE_BACKENDS}"'win32'
-
-
-
-fi
-
-
-
-                                                                                                                               # Check whether --enable-win32-font was given.
-if test "${enable_win32_font+set}" = set; then :
-  enableval=$enable_win32_font; enable_win32_font=$enableval
-else
-  enable_win32_font=auto
-fi
-
-                       case $enable_win32_font in #(
-  no) :
-               use_win32_font="no (disabled, use --enable-win32-font to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Microsoft Windows font backend feature" >&5
-$as_echo_n "checking for cairo's Microsoft Windows font backend feature... " >&6; }
-               echo
-
-               use_win32_font=yes
-                       win32_font_BASE="cairo"
-win32_font_REQUIRES="$ac_env_win32_font_REQUIRES_value"
-win32_font_CFLAGS="$ac_env_win32_font_CFLAGS_value"
-win32_font_NONPKGCONFIG_CFLAGS="$ac_env_win32_font_NONPKGCONFIG_CFLAGS_value"
-win32_font_LIBS="$ac_env_win32_font_LIBS_value"
-win32_font_NONPKGCONFIG_LIBS="$ac_env_win32_font_NONPKGCONFIG_LIBS_value"
-win32_font_NONPKGCONFIG_EXTRA_LIBS="$ac_env_win32_font_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  use_win32_font=$use_win32
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Microsoft Windows font backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Microsoft Windows font backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_win32_font" >&5
-$as_echo "$use_win32_font" >&6; }
-
-               if test "x$enable_win32_font" = "xyes" -a "x$use_win32_font" != xyes; then :
-                       as_fn_error $? " Microsoft Windows font backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-win32-font: \`$use_win32_font', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_win32_font" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$win32_font_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$win32_font_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$win32_font_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$win32_font_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$win32_font_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset win32_font_BASE
-unset win32_font_REQUIRES
-unset win32_font_CFLAGS
-unset win32_font_NONPKGCONFIG_CFLAGS
-unset win32_font_LIBS
-unset win32_font_NONPKGCONFIG_LIBS
-unset win32_font_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_win32_font" = xyes; then
-  CAIRO_HAS_WIN32_FONT_TRUE=
-  CAIRO_HAS_WIN32_FONT_FALSE='#'
-else
-  CAIRO_HAS_WIN32_FONT_TRUE='#'
-  CAIRO_HAS_WIN32_FONT_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_WIN32_FONT=1'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_win32_font_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_win32_font_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_win32_font_headers)
-all_cairo_private += $(cairo_win32_font_private)
-all_cairo_cxx_sources += $(cairo_win32_font_cxx_sources)
-all_cairo_sources += $(cairo_win32_font_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_win32_font_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_win32_font_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_win32_font_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_win32_font_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_win32_font_headers)
-enabled_cairo_private += $(cairo_win32_font_private)
-enabled_cairo_cxx_sources += $(cairo_win32_font_cxx_sources)
-enabled_cairo_sources += $(cairo_win32_font_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_WIN32_FONT'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_WIN32_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_win32_font_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_win32_font_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_win32_font_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_win32_font_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_WIN32_FONT'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_WIN32_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_win32_font" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-win32-font.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_win32_font" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-win32-font-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-win32-font.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-win32-font.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_WIN32_FONT'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_WIN32_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_win32_font" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_WIN32_FONT'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_WIN32_FONT'
-
-
-
-                                       if test "x$use_win32_font" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_WIN32_FONT'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_WIN32_FONT 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_WIN32_FONT),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-                                       if test "x$use_win32_font" = xyes; then :
-  :
-                                       CAIRO_NATIVE_FONT_BACKENDS="${CAIRO_NATIVE_FONT_BACKENDS}"'win32_font'
-
-
-
-fi
-
-
-test_win32_printing=no
-if test "x$use_win32" = "xyes"; then
-  # Extract the first word of "gs", so it can be a program name with args.
-set dummy gs; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GS+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$GS"; then
-  ac_cv_prog_GS="$GS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_GS="gs"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-GS=$ac_cv_prog_GS
-if test -n "$GS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GS" >&5
-$as_echo "$GS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  if test "$GS"; then
-
-$as_echo "#define CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE 1" >>confdefs.h
-
-    test_win32_printing="yes"
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Win32 Printing backend will not be tested since ghostscript is not available" >&5
-$as_echo "$as_me: WARNING: Win32 Printing backend will not be tested since ghostscript is not available" >&2;}
-    test_win32_printing="no (requires ghostscript)"
-  fi
-fi
-
- if test "x$test_win32_printing" = "xyes"; then
-  CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE_TRUE=
-  CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE_FALSE='#'
-else
-  CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE_TRUE='#'
-  CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE_FALSE=
-fi
-
-
-
-                                                                                                                               # Check whether --enable-skia was given.
-if test "${enable_skia+set}" = set; then :
-  enableval=$enable_skia; enable_skia=$enableval
-else
-  enable_skia=no
-fi
-
-                       case $enable_skia in #(
-  no) :
-               use_skia="no (disabled, use --enable-skia to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Skia surface backend feature" >&5
-$as_echo_n "checking for cairo's Skia surface backend feature... " >&6; }
-               echo
-
-               use_skia=yes
-                       skia_BASE="cairo"
-skia_REQUIRES="$ac_env_skia_REQUIRES_value"
-skia_CFLAGS="$ac_env_skia_CFLAGS_value"
-skia_NONPKGCONFIG_CFLAGS="$ac_env_skia_NONPKGCONFIG_CFLAGS_value"
-skia_LIBS="$ac_env_skia_LIBS_value"
-skia_NONPKGCONFIG_LIBS="$ac_env_skia_NONPKGCONFIG_LIBS_value"
-skia_NONPKGCONFIG_EXTRA_LIBS="$ac_env_skia_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-
-# Check whether --with-skia was given.
-if test "${with_skia+set}" = set; then :
-  withval=$with_skia; skia_DIR="$withval"
-else
-  skia_DIR="`pwd`/../skia"
-fi
-
-
-# Check whether --with-skia-bulid was given.
-if test "${with_skia_bulid+set}" = set; then :
-  withval=$with_skia_bulid; skia_BUILD="$withval"
-else
-  skia_BUILD="Release"
-fi
-
-  skia_NONPKGCONFIG_CFLAGS="-I$skia_DIR/include/config -I$skia_DIR/include/core -I$skia_DIR/include/effects"
-  if test "x$skia_BUILD" = x"Release"; then
-       skia_NONPKGCONFIG_CFLAGS="-DSK_RELEASE -DSK_CAN_USE_FLOAT $skia_NONPKGCONFIG_CFLAGS"
-  fi
-  skia_NONPKGCONFIG_LIBS="--start-group $skia_DIR/out/$skia_BUILD/obj.target/gyp/libeffects.a $skia_DIR/out/$skia_BUILD/obj.target/gyp/libimages.a $skia_DIR/out/$skia_BUILD/obj.target/gyp/libutils.a $skia_DIR/out/$skia_BUILD/obj.target/gyp/libopts.a $skia_DIR/out/$skia_BUILD/obj.target/gyp/libcore.a -end-group"
-
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Skia surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Skia surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_skia" >&5
-$as_echo "$use_skia" >&6; }
-
-               if test "x$enable_skia" = "xyes" -a "x$use_skia" != xyes; then :
-                       as_fn_error $? " Skia surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-skia: \`$use_skia', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_skia" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$skia_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$skia_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$skia_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$skia_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$skia_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset skia_BASE
-unset skia_REQUIRES
-unset skia_CFLAGS
-unset skia_NONPKGCONFIG_CFLAGS
-unset skia_LIBS
-unset skia_NONPKGCONFIG_LIBS
-unset skia_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_skia" = xyes; then
-  CAIRO_HAS_SKIA_SURFACE_TRUE=
-  CAIRO_HAS_SKIA_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_SKIA_SURFACE_TRUE='#'
-  CAIRO_HAS_SKIA_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_SKIA_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_skia_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_skia_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_skia_headers)
-all_cairo_private += $(cairo_skia_private)
-all_cairo_cxx_sources += $(cairo_skia_cxx_sources)
-all_cairo_sources += $(cairo_skia_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_skia_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_skia_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_skia_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_skia_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_skia_headers)
-enabled_cairo_private += $(cairo_skia_private)
-enabled_cairo_cxx_sources += $(cairo_skia_cxx_sources)
-enabled_cairo_sources += $(cairo_skia_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_SKIA_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_SKIA_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_skia_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_skia_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_skia_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_skia_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_SKIA_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_SKIA_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_skia" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-skia.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_skia" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-skia-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-skia.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-skia.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_SKIA_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_SKIA_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_skia" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_SKIA_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_SKIA_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_SKIA_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_skia" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The Skia surface backend feature is still under active development and is
---- included in this release only as a preview. It does NOT fully work yet
---- and incompatible changes may yet be made to Skia surface backend specific
---- API.'
-
-
-
-fi
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-os2 was given.
-if test "${enable_os2+set}" = set; then :
-  enableval=$enable_os2; enable_os2=$enableval
-else
-  enable_os2=no
-fi
-
-                       case $enable_os2 in #(
-  no) :
-               use_os2="no (disabled, use --enable-os2 to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's OS/2 surface backend feature" >&5
-$as_echo_n "checking for cairo's OS/2 surface backend feature... " >&6; }
-               echo
-
-               use_os2=yes
-                       os2_BASE="cairo"
-os2_REQUIRES="$ac_env_os2_REQUIRES_value"
-os2_CFLAGS="$ac_env_os2_CFLAGS_value"
-os2_NONPKGCONFIG_CFLAGS="$ac_env_os2_NONPKGCONFIG_CFLAGS_value"
-os2_LIBS="$ac_env_os2_LIBS_value"
-os2_NONPKGCONFIG_LIBS="$ac_env_os2_NONPKGCONFIG_LIBS_value"
-os2_NONPKGCONFIG_EXTRA_LIBS="$ac_env_os2_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  case "$host" in
-    *-*-os2*)
-      :
-      ;;
-    *)
-      use_os2="no (requires an OS/2 platform)"
-      ;;
-  esac
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's OS/2 surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's OS/2 surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_os2" >&5
-$as_echo "$use_os2" >&6; }
-
-               if test "x$enable_os2" = "xyes" -a "x$use_os2" != xyes; then :
-                       as_fn_error $? " OS/2 surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-os2: \`$use_os2', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_os2" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$os2_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$os2_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$os2_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$os2_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$os2_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset os2_BASE
-unset os2_REQUIRES
-unset os2_CFLAGS
-unset os2_NONPKGCONFIG_CFLAGS
-unset os2_LIBS
-unset os2_NONPKGCONFIG_LIBS
-unset os2_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_os2" = xyes; then
-  CAIRO_HAS_OS2_SURFACE_TRUE=
-  CAIRO_HAS_OS2_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_OS2_SURFACE_TRUE='#'
-  CAIRO_HAS_OS2_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_OS2_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_os2_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_os2_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_os2_headers)
-all_cairo_private += $(cairo_os2_private)
-all_cairo_cxx_sources += $(cairo_os2_cxx_sources)
-all_cairo_sources += $(cairo_os2_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_os2_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_os2_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_os2_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_os2_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_os2_headers)
-enabled_cairo_private += $(cairo_os2_private)
-enabled_cairo_cxx_sources += $(cairo_os2_cxx_sources)
-enabled_cairo_sources += $(cairo_os2_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_OS2_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_OS2_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_os2_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_os2_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_os2_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_os2_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_OS2_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_OS2_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_os2" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-os2.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_os2" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-os2-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-os2.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-os2.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_OS2_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_OS2_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_os2" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_OS2_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_OS2_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_OS2_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_os2" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The OS/2 surface backend feature is still under active development and is
---- included in this release only as a preview. It does NOT fully work yet
---- and incompatible changes may yet be made to OS/2 surface backend specific
---- API.'
-
-
-
-fi
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-beos was given.
-if test "${enable_beos+set}" = set; then :
-  enableval=$enable_beos; enable_beos=$enableval
-else
-  enable_beos=no
-fi
-
-                       case $enable_beos in #(
-  no) :
-               use_beos="no (disabled, use --enable-beos to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's BeOS/Zeta surface backend feature" >&5
-$as_echo_n "checking for cairo's BeOS/Zeta surface backend feature... " >&6; }
-               echo
-
-               use_beos=yes
-                       beos_BASE="cairo"
-beos_REQUIRES="$ac_env_beos_REQUIRES_value"
-beos_CFLAGS="$ac_env_beos_CFLAGS_value"
-beos_NONPKGCONFIG_CFLAGS="$ac_env_beos_NONPKGCONFIG_CFLAGS_value"
-beos_LIBS="$ac_env_beos_LIBS_value"
-beos_NONPKGCONFIG_LIBS="$ac_env_beos_NONPKGCONFIG_LIBS_value"
-beos_NONPKGCONFIG_EXTRA_LIBS="$ac_env_beos_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  case "$host" in
-    *-*-beos)
-      beos_LIBS=""
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lbe" >&5
-$as_echo_n "checking for main in -lbe... " >&6; }
-if test "${ac_cv_lib_be_main+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbe  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-
-int
-main ()
-{
-return main ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_be_main=yes
-else
-  ac_cv_lib_be_main=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_be_main" >&5
-$as_echo "$ac_cv_lib_be_main" >&6; }
-if test "x$ac_cv_lib_be_main" = x""yes; then :
-  beos_LIBS="$beos_LIBS -lbe"
-fi
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lzeta" >&5
-$as_echo_n "checking for main in -lzeta... " >&6; }
-if test "${ac_cv_lib_zeta_main+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lzeta  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-
-int
-main ()
-{
-return main ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_zeta_main=yes
-else
-  ac_cv_lib_zeta_main=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zeta_main" >&5
-$as_echo "$ac_cv_lib_zeta_main" >&6; }
-if test "x$ac_cv_lib_zeta_main" = x""yes; then :
-  beos_LIBS="$beos_LIBS -lzeta"
-fi
-
-      ;;
-    *)
-      use_beos="no (requires a BeOS platform)"
-      ;;
-  esac
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's BeOS/Zeta surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's BeOS/Zeta surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_beos" >&5
-$as_echo "$use_beos" >&6; }
-
-               if test "x$enable_beos" = "xyes" -a "x$use_beos" != xyes; then :
-                       as_fn_error $? " BeOS/Zeta surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-beos: \`$use_beos', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_beos" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$beos_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$beos_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$beos_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$beos_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$beos_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset beos_BASE
-unset beos_REQUIRES
-unset beos_CFLAGS
-unset beos_NONPKGCONFIG_CFLAGS
-unset beos_LIBS
-unset beos_NONPKGCONFIG_LIBS
-unset beos_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_beos" = xyes; then
-  CAIRO_HAS_BEOS_SURFACE_TRUE=
-  CAIRO_HAS_BEOS_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_BEOS_SURFACE_TRUE='#'
-  CAIRO_HAS_BEOS_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_BEOS_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_beos_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_beos_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_beos_headers)
-all_cairo_private += $(cairo_beos_private)
-all_cairo_cxx_sources += $(cairo_beos_cxx_sources)
-all_cairo_sources += $(cairo_beos_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_beos_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_beos_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_beos_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_beos_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_beos_headers)
-enabled_cairo_private += $(cairo_beos_private)
-enabled_cairo_cxx_sources += $(cairo_beos_cxx_sources)
-enabled_cairo_sources += $(cairo_beos_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_BEOS_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_BEOS_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_beos_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_beos_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_beos_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_beos_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_BEOS_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_BEOS_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_beos" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-beos.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_beos" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-beos-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-beos.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-beos.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_BEOS_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_BEOS_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_beos" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_BEOS_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_BEOS_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_BEOS_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_beos" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The BeOS/Zeta surface backend feature is still under active development
---- and is included in this release only as a preview. It does NOT fully work
---- yet and incompatible changes may yet be made to BeOS/Zeta surface backend
---- specific API.'
-
-
-
-fi
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-drm was given.
-if test "${enable_drm+set}" = set; then :
-  enableval=$enable_drm; enable_drm=$enableval
-else
-  enable_drm=no
-fi
-
-                       case $enable_drm in #(
-  no) :
-               use_drm="no (disabled, use --enable-drm to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's DRM surface backend feature" >&5
-$as_echo_n "checking for cairo's DRM surface backend feature... " >&6; }
-               echo
-
-               use_drm=yes
-                       drm_BASE="cairo"
-drm_REQUIRES="$ac_env_drm_REQUIRES_value"
-drm_CFLAGS="$ac_env_drm_CFLAGS_value"
-drm_NONPKGCONFIG_CFLAGS="$ac_env_drm_NONPKGCONFIG_CFLAGS_value"
-drm_LIBS="$ac_env_drm_LIBS_value"
-drm_NONPKGCONFIG_LIBS="$ac_env_drm_NONPKGCONFIG_LIBS_value"
-drm_NONPKGCONFIG_EXTRA_LIBS="$ac_env_drm_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  drm_REQUIRES="libudev >= 136"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for drm" >&5
-$as_echo_n "checking for drm... " >&6; }
-
-if test -n "$drm_CFLAGS"; then
-    pkg_cv_drm_CFLAGS="$drm_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$drm_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$drm_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_drm_CFLAGS=`$PKG_CONFIG --cflags "$drm_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$drm_LIBS"; then
-    pkg_cv_drm_LIBS="$drm_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$drm_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$drm_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_drm_LIBS=`$PKG_CONFIG --libs "$drm_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               drm_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$drm_REQUIRES" 2>&1`
-        else
-               drm_PKG_ERRORS=`$PKG_CONFIG --print-errors "$drm_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$drm_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  use_drm="no (requires $drm_REQUIRES, udev is available from git://git.kernel.org/pub/scm/linux/hotplug/udev.git)"
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  use_drm="no (requires $drm_REQUIRES, udev is available from git://git.kernel.org/pub/scm/linux/hotplug/udev.git)"
-else
-       drm_CFLAGS=$pkg_cv_drm_CFLAGS
-       drm_LIBS=$pkg_cv_drm_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's DRM surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's DRM surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_drm" >&5
-$as_echo "$use_drm" >&6; }
-
-               if test "x$enable_drm" = "xyes" -a "x$use_drm" != xyes; then :
-                       as_fn_error $? " DRM surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-drm: \`$use_drm', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_drm" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$drm_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$drm_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$drm_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$drm_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$drm_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset drm_BASE
-unset drm_REQUIRES
-unset drm_CFLAGS
-unset drm_NONPKGCONFIG_CFLAGS
-unset drm_LIBS
-unset drm_NONPKGCONFIG_LIBS
-unset drm_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_drm" = xyes; then
-  CAIRO_HAS_DRM_SURFACE_TRUE=
-  CAIRO_HAS_DRM_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_DRM_SURFACE_TRUE='#'
-  CAIRO_HAS_DRM_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_DRM_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_drm_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_drm_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_drm_headers)
-all_cairo_private += $(cairo_drm_private)
-all_cairo_cxx_sources += $(cairo_drm_cxx_sources)
-all_cairo_sources += $(cairo_drm_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_drm_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_drm_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_drm_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_drm_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_drm_headers)
-enabled_cairo_private += $(cairo_drm_private)
-enabled_cairo_cxx_sources += $(cairo_drm_cxx_sources)
-enabled_cairo_sources += $(cairo_drm_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_DRM_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_DRM_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_drm_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_drm_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_drm_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_drm_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_DRM_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_DRM_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_drm" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-drm.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_drm" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-drm-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-drm.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-drm.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_DRM_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_DRM_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_drm" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_DRM_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_DRM_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_DRM_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_drm" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The DRM surface backend feature is still under active development and is
---- included in this release only as a preview. It does NOT fully work yet
---- and incompatible changes may yet be made to DRM surface backend specific
---- API.'
-
-
-
-fi
-
-
-
-
-
-                                                                                                                               # Check whether --enable-gallium was given.
-if test "${enable_gallium+set}" = set; then :
-  enableval=$enable_gallium; enable_gallium=$enableval
-else
-  enable_gallium=no
-fi
-
-                       case $enable_gallium in #(
-  no) :
-               use_gallium="no (disabled, use --enable-gallium to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Gallium3D surface backend feature" >&5
-$as_echo_n "checking for cairo's Gallium3D surface backend feature... " >&6; }
-               echo
-
-               use_gallium=yes
-                       gallium_BASE="cairo"
-gallium_REQUIRES="$ac_env_gallium_REQUIRES_value"
-gallium_CFLAGS="$ac_env_gallium_CFLAGS_value"
-gallium_NONPKGCONFIG_CFLAGS="$ac_env_gallium_NONPKGCONFIG_CFLAGS_value"
-gallium_LIBS="$ac_env_gallium_LIBS_value"
-gallium_NONPKGCONFIG_LIBS="$ac_env_gallium_NONPKGCONFIG_LIBS_value"
-gallium_NONPKGCONFIG_EXTRA_LIBS="$ac_env_gallium_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  if test "x$use_drm" = "xyes"; then
-
-# Check whether --with-gallium was given.
-if test "${with_gallium+set}" = set; then :
-  withval=$with_gallium; mesa_DIR="$withval"
-else
-  mesa_DIR="`pwd`/../mesa"
-fi
-
-      gallium_DIR="$mesa_DIR/src/gallium"
-      gallium_NONPKGCONFIG_CFLAGS="-I$mesa_DIR/include -I$mesa_DIR/src/mesa -I$gallium_DIR/include -I$gallium_DIR/auxiliary"
-      gallium_NONPKGCONFIG_LIBS="-lGL"
-
-
-  else
-    use_gallium="no (requires --enable-drm)"
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Gallium3D surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Gallium3D surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_gallium" >&5
-$as_echo "$use_gallium" >&6; }
-
-               if test "x$enable_gallium" = "xyes" -a "x$use_gallium" != xyes; then :
-                       as_fn_error $? " Gallium3D surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-gallium: \`$use_gallium', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_gallium" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$gallium_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$gallium_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$gallium_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$gallium_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$gallium_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset gallium_BASE
-unset gallium_REQUIRES
-unset gallium_CFLAGS
-unset gallium_NONPKGCONFIG_CFLAGS
-unset gallium_LIBS
-unset gallium_NONPKGCONFIG_LIBS
-unset gallium_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_gallium" = xyes; then
-  CAIRO_HAS_GALLIUM_SURFACE_TRUE=
-  CAIRO_HAS_GALLIUM_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_GALLIUM_SURFACE_TRUE='#'
-  CAIRO_HAS_GALLIUM_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_GALLIUM_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_gallium_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_gallium_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_gallium_headers)
-all_cairo_private += $(cairo_gallium_private)
-all_cairo_cxx_sources += $(cairo_gallium_cxx_sources)
-all_cairo_sources += $(cairo_gallium_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_gallium_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_gallium_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gallium_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_gallium_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_gallium_headers)
-enabled_cairo_private += $(cairo_gallium_private)
-enabled_cairo_cxx_sources += $(cairo_gallium_cxx_sources)
-enabled_cairo_sources += $(cairo_gallium_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_GALLIUM_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_GALLIUM_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_gallium_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_gallium_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gallium_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_gallium_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_GALLIUM_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_GALLIUM_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_gallium" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-gallium.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_gallium" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-gallium-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-gallium.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-gallium.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_GALLIUM_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_GALLIUM_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_gallium" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_GALLIUM_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_GALLIUM_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_GALLIUM_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_gallium" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The Gallium3D surface backend feature is still under active development
---- and is included in this release only as a preview. It does NOT fully work
---- yet and incompatible changes may yet be made to Gallium3D surface backend
---- specific API.'
-
-
-
-fi
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-png was given.
-if test "${enable_png+set}" = set; then :
-  enableval=$enable_png; enable_png=$enableval
-else
-  enable_png=yes
-fi
-
-                       case $enable_png in #(
-  no) :
-               use_png="no (disabled, use --enable-png to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's PNG functions feature" >&5
-$as_echo_n "checking for cairo's PNG functions feature... " >&6; }
-               echo
-
-               use_png=yes
-                       png_BASE="cairo"
-png_REQUIRES="$ac_env_png_REQUIRES_value"
-png_CFLAGS="$ac_env_png_CFLAGS_value"
-png_NONPKGCONFIG_CFLAGS="$ac_env_png_NONPKGCONFIG_CFLAGS_value"
-png_LIBS="$ac_env_png_LIBS_value"
-png_NONPKGCONFIG_LIBS="$ac_env_png_NONPKGCONFIG_LIBS_value"
-png_NONPKGCONFIG_EXTRA_LIBS="$ac_env_png_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  use_png=no
-
-  if test "x$png_REQUIRES" = x; then
-    # libpng13 is GnuWin32's libpng-1.2.8 :-(
-    for l in libpng libpng14 libpng12 libpng13 libpng10; do
-      if $PKG_CONFIG --exists $l ; then
-        png_REQUIRES=$l
-        use_png=yes
-        break
-      fi
-    done
-  else
-    use_png=yes
-  fi
-
-  if test "x$use_png" = "xyes" ; then
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for png" >&5
-$as_echo_n "checking for png... " >&6; }
-
-if test -n "$png_CFLAGS"; then
-    pkg_cv_png_CFLAGS="$png_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$png_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$png_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_png_CFLAGS=`$PKG_CONFIG --cflags "$png_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$png_LIBS"; then
-    pkg_cv_png_LIBS="$png_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$png_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$png_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_png_LIBS=`$PKG_CONFIG --libs "$png_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               png_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$png_REQUIRES" 2>&1`
-        else
-               png_PKG_ERRORS=`$PKG_CONFIG --print-errors "$png_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$png_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-else
-       png_CFLAGS=$pkg_cv_png_CFLAGS
-       png_LIBS=$pkg_cv_png_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find libpng in the pkg-config search path" >&5
-$as_echo "$as_me: WARNING: Could not find libpng in the pkg-config search path" >&2;}
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's PNG functions feature could be enabled" >&5
-$as_echo_n "checking whether cairo's PNG functions feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_png" >&5
-$as_echo "$use_png" >&6; }
-
-               if test "x$enable_png" = "xyes" -a "x$use_png" != xyes; then :
-                       as_fn_error $? "recommended PNG functions feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-png: \`$use_png', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_png" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$png_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$png_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$png_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$png_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$png_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset png_BASE
-unset png_REQUIRES
-unset png_CFLAGS
-unset png_NONPKGCONFIG_CFLAGS
-unset png_LIBS
-unset png_NONPKGCONFIG_LIBS
-unset png_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_png" = xyes; then
-  CAIRO_HAS_PNG_FUNCTIONS_TRUE=
-  CAIRO_HAS_PNG_FUNCTIONS_FALSE='#'
-else
-  CAIRO_HAS_PNG_FUNCTIONS_TRUE='#'
-  CAIRO_HAS_PNG_FUNCTIONS_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_PNG_FUNCTIONS=1'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_png_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_png_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_png_headers)
-all_cairo_private += $(cairo_png_private)
-all_cairo_cxx_sources += $(cairo_png_cxx_sources)
-all_cairo_sources += $(cairo_png_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_png_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_png_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_png_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_png_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_png_headers)
-enabled_cairo_private += $(cairo_png_private)
-enabled_cairo_cxx_sources += $(cairo_png_cxx_sources)
-enabled_cairo_sources += $(cairo_png_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_PNG_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_png_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_png_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_png_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_png_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_PNG_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_png" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-png.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_png" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-png-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-png.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-png.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_PNG_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_png" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_PNG_FUNCTIONS'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_PNG_FUNCTIONS'
-
-
-
-                                       if test "x$use_png" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_PNG_FUNCTIONS'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_PNG_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-                                       if test "x$use_png" != xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'+++ It is strongly recommended that you do NOT disable the PNG functions
-+++ feature.'
-
-
-
-fi
-
-
-
-
-                                                                                                                               # Check whether --enable-gl was given.
-if test "${enable_gl+set}" = set; then :
-  enableval=$enable_gl; enable_gl=$enableval
-else
-  enable_gl=no
-fi
-
-                       case $enable_gl in #(
-  no) :
-               use_gl="no (disabled, use --enable-gl to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's OpenGL surface backend feature" >&5
-$as_echo_n "checking for cairo's OpenGL surface backend feature... " >&6; }
-               echo
-
-               use_gl=yes
-                       gl_BASE="cairo"
-gl_REQUIRES="$ac_env_gl_REQUIRES_value"
-gl_CFLAGS="$ac_env_gl_CFLAGS_value"
-gl_NONPKGCONFIG_CFLAGS="$ac_env_gl_NONPKGCONFIG_CFLAGS_value"
-gl_LIBS="$ac_env_gl_LIBS_value"
-gl_NONPKGCONFIG_LIBS="$ac_env_gl_NONPKGCONFIG_LIBS_value"
-gl_NONPKGCONFIG_EXTRA_LIBS="$ac_env_gl_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  gl_REQUIRES="gl"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl" >&5
-$as_echo_n "checking for gl... " >&6; }
-
-if test -n "$gl_CFLAGS"; then
-    pkg_cv_gl_CFLAGS="$gl_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gl_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$gl_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_gl_CFLAGS=`$PKG_CONFIG --cflags "$gl_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$gl_LIBS"; then
-    pkg_cv_gl_LIBS="$gl_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gl_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$gl_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_gl_LIBS=`$PKG_CONFIG --libs "$gl_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               gl_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$gl_REQUIRES" 2>&1`
-        else
-               gl_PKG_ERRORS=`$PKG_CONFIG --print-errors "$gl_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$gl_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-                 ac_fn_c_check_header_mongrel "$LINENO" "GL/gl.h" "ac_cv_header_GL_gl_h" "$ac_includes_default"
-if test "x$ac_cv_header_GL_gl_h" = x""yes; then :
-
-else
-  use_gl="no (gl.pc nor OpenGL headers not found)"
-fi
-
-
-         if test "x$use_gl" = "xyes"; then
-             gl_NONPKGCONFIG_CFLAGS=
-             gl_NONPKGCONFIG_LIBS="-lGL"
-         fi
-elif test $pkg_failed = untried; then
-
-                 ac_fn_c_check_header_mongrel "$LINENO" "GL/gl.h" "ac_cv_header_GL_gl_h" "$ac_includes_default"
-if test "x$ac_cv_header_GL_gl_h" = x""yes; then :
-
-else
-  use_gl="no (gl.pc nor OpenGL headers not found)"
-fi
-
-
-         if test "x$use_gl" = "xyes"; then
-             gl_NONPKGCONFIG_CFLAGS=
-             gl_NONPKGCONFIG_LIBS="-lGL"
-         fi
-else
-       gl_CFLAGS=$pkg_cv_gl_CFLAGS
-       gl_LIBS=$pkg_cv_gl_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-
-  if test "x$have_dl" = "xyes" -a "x$have_dlsym" = "xyes"; then
-    gl_LIBS="$gl_LIBS -ldl"
-  fi
-
-  need_glx_functions=yes
-  need_wgl_functions=yes
-  need_egl_functions=yes
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's OpenGL surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's OpenGL surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_gl" >&5
-$as_echo "$use_gl" >&6; }
-
-               if test "x$enable_gl" = "xyes" -a "x$use_gl" != xyes; then :
-                       as_fn_error $? " OpenGL surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-gl: \`$use_gl', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_gl" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$gl_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$gl_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$gl_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$gl_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$gl_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset gl_BASE
-unset gl_REQUIRES
-unset gl_CFLAGS
-unset gl_NONPKGCONFIG_CFLAGS
-unset gl_LIBS
-unset gl_NONPKGCONFIG_LIBS
-unset gl_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_gl" = xyes; then
-  CAIRO_HAS_GL_SURFACE_TRUE=
-  CAIRO_HAS_GL_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_GL_SURFACE_TRUE='#'
-  CAIRO_HAS_GL_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_GL_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_gl_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_gl_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_gl_headers)
-all_cairo_private += $(cairo_gl_private)
-all_cairo_cxx_sources += $(cairo_gl_cxx_sources)
-all_cairo_sources += $(cairo_gl_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_gl_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_gl_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gl_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_gl_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_gl_headers)
-enabled_cairo_private += $(cairo_gl_private)
-enabled_cairo_cxx_sources += $(cairo_gl_cxx_sources)
-enabled_cairo_sources += $(cairo_gl_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_GL_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_GL_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_gl_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_gl_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gl_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_gl_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_GL_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_GL_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_gl" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-gl.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_gl" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-gl-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-gl.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-gl.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_GL_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_GL_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_gl" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_GL_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_GL_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_GL_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_gl" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The OpenGL surface backend feature is still under active development and
---- is included in this release only as a preview. It does NOT fully work yet
---- and incompatible changes may yet be made to OpenGL surface backend
---- specific API.'
-
-
-
-fi
-
-
-
-
-
-                                                                                                                               # Check whether --enable-glesv2 was given.
-if test "${enable_glesv2+set}" = set; then :
-  enableval=$enable_glesv2; enable_glesv2=$enableval
-else
-  enable_glesv2=no
-fi
-
-                       case $enable_glesv2 in #(
-  no) :
-               use_glesv2="no (disabled, use --enable-glesv2 to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's OpenGLESv2 surface backend feature" >&5
-$as_echo_n "checking for cairo's OpenGLESv2 surface backend feature... " >&6; }
-               echo
-
-               use_glesv2=yes
-                       glesv2_BASE="cairo"
-glesv2_REQUIRES="$ac_env_glesv2_REQUIRES_value"
-glesv2_CFLAGS="$ac_env_glesv2_CFLAGS_value"
-glesv2_NONPKGCONFIG_CFLAGS="$ac_env_glesv2_NONPKGCONFIG_CFLAGS_value"
-glesv2_LIBS="$ac_env_glesv2_LIBS_value"
-glesv2_NONPKGCONFIG_LIBS="$ac_env_glesv2_NONPKGCONFIG_LIBS_value"
-glesv2_NONPKGCONFIG_EXTRA_LIBS="$ac_env_glesv2_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  glesv2_REQUIRES="gles20"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for glesv2" >&5
-$as_echo_n "checking for glesv2... " >&6; }
-
-if test -n "$glesv2_CFLAGS"; then
-    pkg_cv_glesv2_CFLAGS="$glesv2_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$glesv2_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$glesv2_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_glesv2_CFLAGS=`$PKG_CONFIG --cflags "$glesv2_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$glesv2_LIBS"; then
-    pkg_cv_glesv2_LIBS="$glesv2_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$glesv2_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$glesv2_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_glesv2_LIBS=`$PKG_CONFIG --libs "$glesv2_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               glesv2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$glesv2_REQUIRES" 2>&1`
-        else
-               glesv2_PKG_ERRORS=`$PKG_CONFIG --print-errors "$glesv2_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$glesv2_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-                 ac_fn_c_check_header_mongrel "$LINENO" "GLES2/gl2.h" "ac_cv_header_GLES2_gl2_h" "$ac_includes_default"
-if test "x$ac_cv_header_GLES2_gl2_h" = x""yes; then :
-
-else
-  use_glesv2="no (glesv2.pc nor OpenGL ES 2.0 headers not found)"
-fi
-
-
-         if test "x$use_glesv2" = "xyes"; then
-             glesv2_NONPKGCONFIG_CFLAGS=
-             glesv2_NONPKGCONFIG_LIBS="-lGLESv2"
-         fi
-elif test $pkg_failed = untried; then
-
-                 ac_fn_c_check_header_mongrel "$LINENO" "GLES2/gl2.h" "ac_cv_header_GLES2_gl2_h" "$ac_includes_default"
-if test "x$ac_cv_header_GLES2_gl2_h" = x""yes; then :
-
-else
-  use_glesv2="no (glesv2.pc nor OpenGL ES 2.0 headers not found)"
-fi
-
-
-         if test "x$use_glesv2" = "xyes"; then
-             glesv2_NONPKGCONFIG_CFLAGS=
-             glesv2_NONPKGCONFIG_LIBS="-lGLESv2"
-         fi
-else
-       glesv2_CFLAGS=$pkg_cv_glesv2_CFLAGS
-       glesv2_LIBS=$pkg_cv_glesv2_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-
-  if test "x$have_dl" = "xyes" -a "x$have_dlsym" = "xyes"; then
-    glesv2_LIBS="$glesv2_LIBS -ldl"
-  fi
-
-  need_egl_functions=yes
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's OpenGLESv2 surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's OpenGLESv2 surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_glesv2" >&5
-$as_echo "$use_glesv2" >&6; }
-
-               if test "x$enable_glesv2" = "xyes" -a "x$use_glesv2" != xyes; then :
-                       as_fn_error $? " OpenGLESv2 surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-glesv2: \`$use_glesv2', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_glesv2" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$glesv2_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$glesv2_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$glesv2_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$glesv2_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$glesv2_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset glesv2_BASE
-unset glesv2_REQUIRES
-unset glesv2_CFLAGS
-unset glesv2_NONPKGCONFIG_CFLAGS
-unset glesv2_LIBS
-unset glesv2_NONPKGCONFIG_LIBS
-unset glesv2_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_glesv2" = xyes; then
-  CAIRO_HAS_GLESV2_SURFACE_TRUE=
-  CAIRO_HAS_GLESV2_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_GLESV2_SURFACE_TRUE='#'
-  CAIRO_HAS_GLESV2_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_GLESV2_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_glesv2_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_glesv2_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_glesv2_headers)
-all_cairo_private += $(cairo_glesv2_private)
-all_cairo_cxx_sources += $(cairo_glesv2_cxx_sources)
-all_cairo_sources += $(cairo_glesv2_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_glesv2_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_glesv2_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_glesv2_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_glesv2_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_glesv2_headers)
-enabled_cairo_private += $(cairo_glesv2_private)
-enabled_cairo_cxx_sources += $(cairo_glesv2_cxx_sources)
-enabled_cairo_sources += $(cairo_glesv2_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_GLESV2_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_GLESV2_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_glesv2_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_glesv2_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_glesv2_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_glesv2_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_GLESV2_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_GLESV2_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_glesv2" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-glesv2.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_glesv2" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-glesv2-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-glesv2.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-glesv2.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_GLESV2_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_GLESV2_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_glesv2" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_GLESV2_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_GLESV2_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_GLESV2_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_glesv2" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The OpenGLESv2 surface backend feature is still under active development
---- and is included in this release only as a preview. It does NOT fully work
---- yet and incompatible changes may yet be made to OpenGLESv2 surface
---- backend specific API.'
-
-
-
-fi
-
-
-
-
-
-                                                                                                                               # Check whether --enable-cogl was given.
-if test "${enable_cogl+set}" = set; then :
-  enableval=$enable_cogl; enable_cogl=$enableval
-else
-  enable_cogl=no
-fi
-
-                       case $enable_cogl in #(
-  no) :
-               use_cogl="no (disabled, use --enable-cogl to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Cogl surface backend feature" >&5
-$as_echo_n "checking for cairo's Cogl surface backend feature... " >&6; }
-               echo
-
-               use_cogl=yes
-                       cogl_BASE="cairo"
-cogl_REQUIRES="$ac_env_cogl_REQUIRES_value"
-cogl_CFLAGS="$ac_env_cogl_CFLAGS_value"
-cogl_NONPKGCONFIG_CFLAGS="$ac_env_cogl_NONPKGCONFIG_CFLAGS_value"
-cogl_LIBS="$ac_env_cogl_LIBS_value"
-cogl_NONPKGCONFIG_LIBS="$ac_env_cogl_NONPKGCONFIG_LIBS_value"
-cogl_NONPKGCONFIG_EXTRA_LIBS="$ac_env_cogl_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  cogl_REQUIRES="cogl-2.0-experimental"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cogl" >&5
-$as_echo_n "checking for cogl... " >&6; }
-
-if test -n "$cogl_CFLAGS"; then
-    pkg_cv_cogl_CFLAGS="$cogl_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$cogl_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$cogl_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_cogl_CFLAGS=`$PKG_CONFIG --cflags "$cogl_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$cogl_LIBS"; then
-    pkg_cv_cogl_LIBS="$cogl_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$cogl_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$cogl_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_cogl_LIBS=`$PKG_CONFIG --libs "$cogl_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               cogl_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$cogl_REQUIRES" 2>&1`
-        else
-               cogl_PKG_ERRORS=`$PKG_CONFIG --print-errors "$cogl_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$cogl_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                use_cogl="no"
-elif test $pkg_failed = untried; then
-       use_cogl="no"
-else
-       cogl_CFLAGS=$pkg_cv_cogl_CFLAGS
-       cogl_LIBS=$pkg_cv_cogl_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Cogl surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Cogl surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_cogl" >&5
-$as_echo "$use_cogl" >&6; }
-
-               if test "x$enable_cogl" = "xyes" -a "x$use_cogl" != xyes; then :
-                       as_fn_error $? " Cogl surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-cogl: \`$use_cogl', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_cogl" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$cogl_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$cogl_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$cogl_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$cogl_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$cogl_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset cogl_BASE
-unset cogl_REQUIRES
-unset cogl_CFLAGS
-unset cogl_NONPKGCONFIG_CFLAGS
-unset cogl_LIBS
-unset cogl_NONPKGCONFIG_LIBS
-unset cogl_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_cogl" = xyes; then
-  CAIRO_HAS_COGL_SURFACE_TRUE=
-  CAIRO_HAS_COGL_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_COGL_SURFACE_TRUE='#'
-  CAIRO_HAS_COGL_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_COGL_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_cogl_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_cogl_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_cogl_headers)
-all_cairo_private += $(cairo_cogl_private)
-all_cairo_cxx_sources += $(cairo_cogl_cxx_sources)
-all_cairo_sources += $(cairo_cogl_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_cogl_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_cogl_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_cogl_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_cogl_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_cogl_headers)
-enabled_cairo_private += $(cairo_cogl_private)
-enabled_cairo_cxx_sources += $(cairo_cogl_cxx_sources)
-enabled_cairo_sources += $(cairo_cogl_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_COGL_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_COGL_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_cogl_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_cogl_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_cogl_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_cogl_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_COGL_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_COGL_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_cogl" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-cogl.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_cogl" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-cogl-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-cogl.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-cogl.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_COGL_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_COGL_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_cogl" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_COGL_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_COGL_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_COGL_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_cogl" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The Cogl surface backend feature is still under active development and is
---- included in this release only as a preview. It does NOT fully work yet
---- and incompatible changes may yet be made to Cogl surface backend specific
---- API.'
-
-
-
-fi
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-directfb was given.
-if test "${enable_directfb+set}" = set; then :
-  enableval=$enable_directfb; enable_directfb=$enableval
-else
-  enable_directfb=no
-fi
-
-                       case $enable_directfb in #(
-  no) :
-               use_directfb="no (disabled, use --enable-directfb to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's directfb surface backend feature" >&5
-$as_echo_n "checking for cairo's directfb surface backend feature... " >&6; }
-               echo
-
-               use_directfb=yes
-                       directfb_BASE="cairo"
-directfb_REQUIRES="$ac_env_directfb_REQUIRES_value"
-directfb_CFLAGS="$ac_env_directfb_CFLAGS_value"
-directfb_NONPKGCONFIG_CFLAGS="$ac_env_directfb_NONPKGCONFIG_CFLAGS_value"
-directfb_LIBS="$ac_env_directfb_LIBS_value"
-directfb_NONPKGCONFIG_LIBS="$ac_env_directfb_NONPKGCONFIG_LIBS_value"
-directfb_NONPKGCONFIG_EXTRA_LIBS="$ac_env_directfb_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  directfb_REQUIRES=directfb
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for directfb" >&5
-$as_echo_n "checking for directfb... " >&6; }
-
-if test -n "$directfb_CFLAGS"; then
-    pkg_cv_directfb_CFLAGS="$directfb_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$directfb_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$directfb_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_directfb_CFLAGS=`$PKG_CONFIG --cflags "$directfb_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$directfb_LIBS"; then
-    pkg_cv_directfb_LIBS="$directfb_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$directfb_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$directfb_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_directfb_LIBS=`$PKG_CONFIG --libs "$directfb_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               directfb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$directfb_REQUIRES" 2>&1`
-        else
-               directfb_PKG_ERRORS=`$PKG_CONFIG --print-errors "$directfb_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$directfb_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                   use_directfb="no (requires $directfb_REQUIRES http://www.directfb.org)"
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                   use_directfb="no (requires $directfb_REQUIRES http://www.directfb.org)"
-else
-       directfb_CFLAGS=$pkg_cv_directfb_CFLAGS
-       directfb_LIBS=$pkg_cv_directfb_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's directfb surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's directfb surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_directfb" >&5
-$as_echo "$use_directfb" >&6; }
-
-               if test "x$enable_directfb" = "xyes" -a "x$use_directfb" != xyes; then :
-                       as_fn_error $? " directfb surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-directfb: \`$use_directfb', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_directfb" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$directfb_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$directfb_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$directfb_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$directfb_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$directfb_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset directfb_BASE
-unset directfb_REQUIRES
-unset directfb_CFLAGS
-unset directfb_NONPKGCONFIG_CFLAGS
-unset directfb_LIBS
-unset directfb_NONPKGCONFIG_LIBS
-unset directfb_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_directfb" = xyes; then
-  CAIRO_HAS_DIRECTFB_SURFACE_TRUE=
-  CAIRO_HAS_DIRECTFB_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_DIRECTFB_SURFACE_TRUE='#'
-  CAIRO_HAS_DIRECTFB_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_DIRECTFB_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_directfb_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_directfb_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_directfb_headers)
-all_cairo_private += $(cairo_directfb_private)
-all_cairo_cxx_sources += $(cairo_directfb_cxx_sources)
-all_cairo_sources += $(cairo_directfb_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_directfb_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_directfb_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_directfb_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_directfb_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_directfb_headers)
-enabled_cairo_private += $(cairo_directfb_private)
-enabled_cairo_cxx_sources += $(cairo_directfb_cxx_sources)
-enabled_cairo_sources += $(cairo_directfb_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_DIRECTFB_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_DIRECTFB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_directfb_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_directfb_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_directfb_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_directfb_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_DIRECTFB_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_DIRECTFB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_directfb" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-directfb.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_directfb" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-directfb-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-directfb.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-directfb.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_DIRECTFB_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_DIRECTFB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_directfb" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_DIRECTFB_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_DIRECTFB_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_DIRECTFB_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_directfb" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The directfb surface backend feature is still under active development
---- and is included in this release only as a preview. It does NOT fully work
---- yet and incompatible changes may yet be made to directfb surface backend
---- specific API.'
-
-
-
-fi
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-vg was given.
-if test "${enable_vg+set}" = set; then :
-  enableval=$enable_vg; enable_vg=$enableval
-else
-  enable_vg=no
-fi
-
-                       case $enable_vg in #(
-  no) :
-               use_vg="no (disabled, use --enable-vg to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's OpenVG surface backend feature" >&5
-$as_echo_n "checking for cairo's OpenVG surface backend feature... " >&6; }
-               echo
-
-               use_vg=yes
-                       vg_BASE="cairo"
-vg_REQUIRES="$ac_env_vg_REQUIRES_value"
-vg_CFLAGS="$ac_env_vg_CFLAGS_value"
-vg_NONPKGCONFIG_CFLAGS="$ac_env_vg_NONPKGCONFIG_CFLAGS_value"
-vg_LIBS="$ac_env_vg_LIBS_value"
-vg_NONPKGCONFIG_LIBS="$ac_env_vg_NONPKGCONFIG_LIBS_value"
-vg_NONPKGCONFIG_EXTRA_LIBS="$ac_env_vg_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-    ac_fn_c_check_header_mongrel "$LINENO" "VG/openvg.h" "ac_cv_header_VG_openvg_h" "$ac_includes_default"
-if test "x$ac_cv_header_VG_openvg_h" = x""yes; then :
-
-else
-  use_vg="no (OpenVG headers not found)"
-fi
-
-
-  if test "x$use_vg" = "xyes"; then
-      vg_NONPKGCONFIG_CFLAGS=
-      vg_NONPKGCONFIG_LIBS="-lOpenVG"
-      need_egl_functions=yes
-      need_glx_functions=yes
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's OpenVG surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's OpenVG surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_vg" >&5
-$as_echo "$use_vg" >&6; }
-
-               if test "x$enable_vg" = "xyes" -a "x$use_vg" != xyes; then :
-                       as_fn_error $? " OpenVG surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-vg: \`$use_vg', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_vg" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$vg_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$vg_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$vg_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$vg_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$vg_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset vg_BASE
-unset vg_REQUIRES
-unset vg_CFLAGS
-unset vg_NONPKGCONFIG_CFLAGS
-unset vg_LIBS
-unset vg_NONPKGCONFIG_LIBS
-unset vg_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_vg" = xyes; then
-  CAIRO_HAS_VG_SURFACE_TRUE=
-  CAIRO_HAS_VG_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_VG_SURFACE_TRUE='#'
-  CAIRO_HAS_VG_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_VG_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_vg_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_vg_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_vg_headers)
-all_cairo_private += $(cairo_vg_private)
-all_cairo_cxx_sources += $(cairo_vg_cxx_sources)
-all_cairo_sources += $(cairo_vg_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_vg_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_vg_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_vg_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_vg_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_vg_headers)
-enabled_cairo_private += $(cairo_vg_private)
-enabled_cairo_cxx_sources += $(cairo_vg_cxx_sources)
-enabled_cairo_sources += $(cairo_vg_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_VG_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_VG_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_vg_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_vg_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_vg_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_vg_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_VG_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_VG_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_vg" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-vg.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_vg" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-vg-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-vg.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-vg.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_VG_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_VG_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_vg" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_VG_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_VG_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_VG_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_vg" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The OpenVG surface backend feature is still under active development and
---- is included in this release only as a preview. It does NOT fully work yet
---- and incompatible changes may yet be made to OpenVG surface backend
---- specific API.'
-
-
-
-fi
-
-
-
-
-
-                                                                                                                               # Check whether --enable-egl was given.
-if test "${enable_egl+set}" = set; then :
-  enableval=$enable_egl; enable_egl=$enableval
-else
-  enable_egl=auto
-fi
-
-                       case $enable_egl in #(
-  no) :
-               use_egl="no (disabled, use --enable-egl to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's EGL functions feature" >&5
-$as_echo_n "checking for cairo's EGL functions feature... " >&6; }
-               echo
-
-               use_egl=yes
-                       egl_BASE="cairo"
-egl_REQUIRES="$ac_env_egl_REQUIRES_value"
-egl_CFLAGS="$ac_env_egl_CFLAGS_value"
-egl_NONPKGCONFIG_CFLAGS="$ac_env_egl_NONPKGCONFIG_CFLAGS_value"
-egl_LIBS="$ac_env_egl_LIBS_value"
-egl_NONPKGCONFIG_LIBS="$ac_env_egl_NONPKGCONFIG_LIBS_value"
-egl_NONPKGCONFIG_EXTRA_LIBS="$ac_env_egl_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  if test "x$need_egl_functions" = "xyes"; then
-      egl_REQUIRES="egl"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egl" >&5
-$as_echo_n "checking for egl... " >&6; }
-
-if test -n "$egl_CFLAGS"; then
-    pkg_cv_egl_CFLAGS="$egl_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$egl_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$egl_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_egl_CFLAGS=`$PKG_CONFIG --cflags "$egl_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$egl_LIBS"; then
-    pkg_cv_egl_LIBS="$egl_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$egl_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$egl_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_egl_LIBS=`$PKG_CONFIG --libs "$egl_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               egl_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$egl_REQUIRES" 2>&1`
-        else
-               egl_PKG_ERRORS=`$PKG_CONFIG --print-errors "$egl_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$egl_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                egl_REQUIRES=""
-                    ac_fn_c_check_header_mongrel "$LINENO" "EGL/egl.h" "ac_cv_header_EGL_egl_h" "$ac_includes_default"
-if test "x$ac_cv_header_EGL_egl_h" = x""yes; then :
-
-else
-  use_egl="no (EGL headers not found)"
-fi
-
-
-                    if test "x$use_egl" = "xyes"; then
-                        egl_NONPKGCONFIG_CFLAGS=
-                        egl_NONPKGCONFIG_LIBS=
-                        save_LIBS="$LIBS"
-                        other_egl_LIBS=""
-                        # Temporary workaround for missing link from egl13
-                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for csi_stream_attachresource in -lcsi" >&5
-$as_echo_n "checking for csi_stream_attachresource in -lcsi... " >&6; }
-if test "${ac_cv_lib_csi_csi_stream_attachresource+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcsi  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char csi_stream_attachresource ();
-int
-main ()
-{
-return csi_stream_attachresource ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_csi_csi_stream_attachresource=yes
-else
-  ac_cv_lib_csi_csi_stream_attachresource=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_csi_csi_stream_attachresource" >&5
-$as_echo "$ac_cv_lib_csi_csi_stream_attachresource" >&6; }
-if test "x$ac_cv_lib_csi_csi_stream_attachresource" = x""yes; then :
-  other_egl_LIBS="-lcsi"
-fi
-
-                        LIBS="$other_egl_LIBS $LIBS"
-                        for egl_lib in EGL egl13 egl12 egl11; do
-                            if test -z "$egl_NONPKGCONFIG_LIBS"; then
-                                as_ac_Lib=`$as_echo "ac_cv_lib_$egl_lib''_eglGetError" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for eglGetError in -l$egl_lib" >&5
-$as_echo_n "checking for eglGetError in -l$egl_lib... " >&6; }
-if eval "test \"\${$as_ac_Lib+set}\"" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$egl_lib  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char eglGetError ();
-int
-main ()
-{
-return eglGetError ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_ac_Lib=yes"
-else
-  eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
-  egl_NONPKGCONFIG_LIBS="-l$egl_lib"
-fi
-
-                            fi
-                        done
-                        if test -z "$egl_NONPKGCONFIG_LIBS"; then
-                            use_egl="no (EGL library not found)"
-                        else
-                            egl_NONPKGCONFIG_LIBS="$egl_NONPKGCONFIG_LIBS $other_egl_LIBS"
-                        fi
-                        LIBS="$save_LIBS"
-                    fi
-
-elif test $pkg_failed = untried; then
-       egl_REQUIRES=""
-                    ac_fn_c_check_header_mongrel "$LINENO" "EGL/egl.h" "ac_cv_header_EGL_egl_h" "$ac_includes_default"
-if test "x$ac_cv_header_EGL_egl_h" = x""yes; then :
-
-else
-  use_egl="no (EGL headers not found)"
-fi
-
-
-                    if test "x$use_egl" = "xyes"; then
-                        egl_NONPKGCONFIG_CFLAGS=
-                        egl_NONPKGCONFIG_LIBS=
-                        save_LIBS="$LIBS"
-                        other_egl_LIBS=""
-                        # Temporary workaround for missing link from egl13
-                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for csi_stream_attachresource in -lcsi" >&5
-$as_echo_n "checking for csi_stream_attachresource in -lcsi... " >&6; }
-if test "${ac_cv_lib_csi_csi_stream_attachresource+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcsi  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char csi_stream_attachresource ();
-int
-main ()
-{
-return csi_stream_attachresource ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_csi_csi_stream_attachresource=yes
-else
-  ac_cv_lib_csi_csi_stream_attachresource=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_csi_csi_stream_attachresource" >&5
-$as_echo "$ac_cv_lib_csi_csi_stream_attachresource" >&6; }
-if test "x$ac_cv_lib_csi_csi_stream_attachresource" = x""yes; then :
-  other_egl_LIBS="-lcsi"
-fi
-
-                        LIBS="$other_egl_LIBS $LIBS"
-                        for egl_lib in EGL egl13 egl12 egl11; do
-                            if test -z "$egl_NONPKGCONFIG_LIBS"; then
-                                as_ac_Lib=`$as_echo "ac_cv_lib_$egl_lib''_eglGetError" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for eglGetError in -l$egl_lib" >&5
-$as_echo_n "checking for eglGetError in -l$egl_lib... " >&6; }
-if eval "test \"\${$as_ac_Lib+set}\"" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$egl_lib  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char eglGetError ();
-int
-main ()
-{
-return eglGetError ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_ac_Lib=yes"
-else
-  eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
-  egl_NONPKGCONFIG_LIBS="-l$egl_lib"
-fi
-
-                            fi
-                        done
-                        if test -z "$egl_NONPKGCONFIG_LIBS"; then
-                            use_egl="no (EGL library not found)"
-                        else
-                            egl_NONPKGCONFIG_LIBS="$egl_NONPKGCONFIG_LIBS $other_egl_LIBS"
-                        fi
-                        LIBS="$save_LIBS"
-                    fi
-
-else
-       egl_CFLAGS=$pkg_cv_egl_CFLAGS
-       egl_LIBS=$pkg_cv_egl_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-  else
-      use_egl="no (not required by any backend)"
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's EGL functions feature could be enabled" >&5
-$as_echo_n "checking whether cairo's EGL functions feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_egl" >&5
-$as_echo "$use_egl" >&6; }
-
-               if test "x$enable_egl" = "xyes" -a "x$use_egl" != xyes; then :
-                       as_fn_error $? " EGL functions feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-egl: \`$use_egl', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_egl" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$egl_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$egl_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$egl_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$egl_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$egl_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset egl_BASE
-unset egl_REQUIRES
-unset egl_CFLAGS
-unset egl_NONPKGCONFIG_CFLAGS
-unset egl_LIBS
-unset egl_NONPKGCONFIG_LIBS
-unset egl_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_egl" = xyes; then
-  CAIRO_HAS_EGL_FUNCTIONS_TRUE=
-  CAIRO_HAS_EGL_FUNCTIONS_FALSE='#'
-else
-  CAIRO_HAS_EGL_FUNCTIONS_TRUE='#'
-  CAIRO_HAS_EGL_FUNCTIONS_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_EGL_FUNCTIONS=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_egl_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_egl_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_egl_headers)
-all_cairo_private += $(cairo_egl_private)
-all_cairo_cxx_sources += $(cairo_egl_cxx_sources)
-all_cairo_sources += $(cairo_egl_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_egl_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_egl_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_egl_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_egl_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_egl_headers)
-enabled_cairo_private += $(cairo_egl_private)
-enabled_cairo_cxx_sources += $(cairo_egl_cxx_sources)
-enabled_cairo_sources += $(cairo_egl_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_EGL_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_EGL_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_egl_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_egl_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_egl_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_egl_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_EGL_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_EGL_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_egl" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-egl.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_egl" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-egl-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-egl.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-egl.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_EGL_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_EGL_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_egl" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_EGL_FUNCTIONS'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_EGL_FUNCTIONS'
-
-
-
-                                       if test "x$use_egl" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_EGL_FUNCTIONS'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_EGL_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_EGL_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-glx was given.
-if test "${enable_glx+set}" = set; then :
-  enableval=$enable_glx; enable_glx=$enableval
-else
-  enable_glx=auto
-fi
-
-                       case $enable_glx in #(
-  no) :
-               use_glx="no (disabled, use --enable-glx to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's GLX functions feature" >&5
-$as_echo_n "checking for cairo's GLX functions feature... " >&6; }
-               echo
-
-               use_glx=yes
-                       glx_BASE="cairo"
-glx_REQUIRES="$ac_env_glx_REQUIRES_value"
-glx_CFLAGS="$ac_env_glx_CFLAGS_value"
-glx_NONPKGCONFIG_CFLAGS="$ac_env_glx_NONPKGCONFIG_CFLAGS_value"
-glx_LIBS="$ac_env_glx_LIBS_value"
-glx_NONPKGCONFIG_LIBS="$ac_env_glx_NONPKGCONFIG_LIBS_value"
-glx_NONPKGCONFIG_EXTRA_LIBS="$ac_env_glx_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  if test "x$need_glx_functions" = "xyes"; then
-    save_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS $gl_CFLAGS $gl_NONPKGCONFIG_CFLAGS"
-    ac_fn_c_check_header_mongrel "$LINENO" "GL/glx.h" "ac_cv_header_GL_glx_h" "$ac_includes_default"
-if test "x$ac_cv_header_GL_glx_h" = x""yes; then :
-
-else
-  use_glx="no (GLX headers not found)"
-fi
-
-
-    glx_NONPKGCONFIG_CFLAGS=
-    glx_NONPKGCONFIG_LIBS="-lGL"
-    CFLAGS="$save_CFLAGS"
-  else
-      use_glx="no (not required by any backend)"
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's GLX functions feature could be enabled" >&5
-$as_echo_n "checking whether cairo's GLX functions feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_glx" >&5
-$as_echo "$use_glx" >&6; }
-
-               if test "x$enable_glx" = "xyes" -a "x$use_glx" != xyes; then :
-                       as_fn_error $? " GLX functions feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-glx: \`$use_glx', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_glx" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$glx_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$glx_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$glx_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$glx_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$glx_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset glx_BASE
-unset glx_REQUIRES
-unset glx_CFLAGS
-unset glx_NONPKGCONFIG_CFLAGS
-unset glx_LIBS
-unset glx_NONPKGCONFIG_LIBS
-unset glx_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_glx" = xyes; then
-  CAIRO_HAS_GLX_FUNCTIONS_TRUE=
-  CAIRO_HAS_GLX_FUNCTIONS_FALSE='#'
-else
-  CAIRO_HAS_GLX_FUNCTIONS_TRUE='#'
-  CAIRO_HAS_GLX_FUNCTIONS_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_GLX_FUNCTIONS=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_glx_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_glx_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_glx_headers)
-all_cairo_private += $(cairo_glx_private)
-all_cairo_cxx_sources += $(cairo_glx_cxx_sources)
-all_cairo_sources += $(cairo_glx_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_glx_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_glx_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_glx_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_glx_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_glx_headers)
-enabled_cairo_private += $(cairo_glx_private)
-enabled_cairo_cxx_sources += $(cairo_glx_cxx_sources)
-enabled_cairo_sources += $(cairo_glx_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_GLX_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_GLX_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_glx_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_glx_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_glx_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_glx_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_GLX_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_GLX_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_glx" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-glx.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_glx" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-glx-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-glx.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-glx.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_GLX_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_GLX_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_glx" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_GLX_FUNCTIONS'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_GLX_FUNCTIONS'
-
-
-
-                                       if test "x$use_glx" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_GLX_FUNCTIONS'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_GLX_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_GLX_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-wgl was given.
-if test "${enable_wgl+set}" = set; then :
-  enableval=$enable_wgl; enable_wgl=$enableval
-else
-  enable_wgl=auto
-fi
-
-                       case $enable_wgl in #(
-  no) :
-               use_wgl="no (disabled, use --enable-wgl to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's WGL functions feature" >&5
-$as_echo_n "checking for cairo's WGL functions feature... " >&6; }
-               echo
-
-               use_wgl=yes
-                       wgl_BASE="cairo"
-wgl_REQUIRES="$ac_env_wgl_REQUIRES_value"
-wgl_CFLAGS="$ac_env_wgl_CFLAGS_value"
-wgl_NONPKGCONFIG_CFLAGS="$ac_env_wgl_NONPKGCONFIG_CFLAGS_value"
-wgl_LIBS="$ac_env_wgl_LIBS_value"
-wgl_NONPKGCONFIG_LIBS="$ac_env_wgl_NONPKGCONFIG_LIBS_value"
-wgl_NONPKGCONFIG_EXTRA_LIBS="$ac_env_wgl_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  if test "x$need_wgl_functions" = "xyes"; then
-    ac_fn_c_check_header_mongrel "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default"
-if test "x$ac_cv_header_windows_h" = x""yes; then :
-
-else
-  use_wgl="no (WGL headers not found)"
-fi
-
-
-  else
-      use_wgl="no (not required by any backend)"
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's WGL functions feature could be enabled" >&5
-$as_echo_n "checking whether cairo's WGL functions feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_wgl" >&5
-$as_echo "$use_wgl" >&6; }
-
-               if test "x$enable_wgl" = "xyes" -a "x$use_wgl" != xyes; then :
-                       as_fn_error $? " WGL functions feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-wgl: \`$use_wgl', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_wgl" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$wgl_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$wgl_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$wgl_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$wgl_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$wgl_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset wgl_BASE
-unset wgl_REQUIRES
-unset wgl_CFLAGS
-unset wgl_NONPKGCONFIG_CFLAGS
-unset wgl_LIBS
-unset wgl_NONPKGCONFIG_LIBS
-unset wgl_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_wgl" = xyes; then
-  CAIRO_HAS_WGL_FUNCTIONS_TRUE=
-  CAIRO_HAS_WGL_FUNCTIONS_FALSE='#'
-else
-  CAIRO_HAS_WGL_FUNCTIONS_TRUE='#'
-  CAIRO_HAS_WGL_FUNCTIONS_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_WGL_FUNCTIONS=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_wgl_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_wgl_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_wgl_headers)
-all_cairo_private += $(cairo_wgl_private)
-all_cairo_cxx_sources += $(cairo_wgl_cxx_sources)
-all_cairo_sources += $(cairo_wgl_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_wgl_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_wgl_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_wgl_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_wgl_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_wgl_headers)
-enabled_cairo_private += $(cairo_wgl_private)
-enabled_cairo_cxx_sources += $(cairo_wgl_cxx_sources)
-enabled_cairo_sources += $(cairo_wgl_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_WGL_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_WGL_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_wgl_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_wgl_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_wgl_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_wgl_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_WGL_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_WGL_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_wgl" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-wgl.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_wgl" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-wgl-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-wgl.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-wgl.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_WGL_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_WGL_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_wgl" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_WGL_FUNCTIONS'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_WGL_FUNCTIONS'
-
-
-
-                                       if test "x$use_wgl" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_WGL_FUNCTIONS'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_WGL_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_WGL_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-
-any2ppm_cs=no
-                                                                                                                               # Check whether --enable-script was given.
-if test "${enable_script+set}" = set; then :
-  enableval=$enable_script; enable_script=$enableval
-else
-  enable_script=yes
-fi
-
-                       case $enable_script in #(
-  no) :
-               use_script="no (disabled, use --enable-script to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's script surface backend feature" >&5
-$as_echo_n "checking for cairo's script surface backend feature... " >&6; }
-               echo
-
-               use_script=yes
-                       script_BASE="cairo"
-script_REQUIRES="$ac_env_script_REQUIRES_value"
-script_CFLAGS="$ac_env_script_CFLAGS_value"
-script_NONPKGCONFIG_CFLAGS="$ac_env_script_NONPKGCONFIG_CFLAGS_value"
-script_LIBS="$ac_env_script_LIBS_value"
-script_NONPKGCONFIG_LIBS="$ac_env_script_NONPKGCONFIG_LIBS_value"
-script_NONPKGCONFIG_EXTRA_LIBS="$ac_env_script_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  any2ppm_cs=yes
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's script surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's script surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_script" >&5
-$as_echo "$use_script" >&6; }
-
-               if test "x$enable_script" = "xyes" -a "x$use_script" != xyes; then :
-                       as_fn_error $? "recommended script surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-script: \`$use_script', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_script" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$script_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$script_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$script_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$script_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$script_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset script_BASE
-unset script_REQUIRES
-unset script_CFLAGS
-unset script_NONPKGCONFIG_CFLAGS
-unset script_LIBS
-unset script_NONPKGCONFIG_LIBS
-unset script_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_script" = xyes; then
-  CAIRO_HAS_SCRIPT_SURFACE_TRUE=
-  CAIRO_HAS_SCRIPT_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_SCRIPT_SURFACE_TRUE='#'
-  CAIRO_HAS_SCRIPT_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_SCRIPT_SURFACE=1'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_script_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_script_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_script_headers)
-all_cairo_private += $(cairo_script_private)
-all_cairo_cxx_sources += $(cairo_script_cxx_sources)
-all_cairo_sources += $(cairo_script_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_script_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_script_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_script_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_script_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_script_headers)
-enabled_cairo_private += $(cairo_script_private)
-enabled_cairo_cxx_sources += $(cairo_script_cxx_sources)
-enabled_cairo_sources += $(cairo_script_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_SCRIPT_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_SCRIPT_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_script_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_script_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_script_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_script_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_SCRIPT_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_SCRIPT_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_script" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-script.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_script" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-script-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-script.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-script.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_SCRIPT_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_SCRIPT_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_script" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_SCRIPT_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_SCRIPT_SURFACE'
-
-
-
-                                       if test "x$use_script" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_SCRIPT_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_SCRIPT_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_SCRIPT_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-                                       if test "x$use_script" != xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'+++ It is strongly recommended that you do NOT disable the script surface
-+++ backend feature.'
-
-
-
-fi
-
-
-
-
-
-# We use pkg-config to look for freetype2, but fall back to
-# freetype-config if it fails.  We prefer pkg-config, since we can
-# then just put freetype2 >= $FREETYPE_MIN_VERSION in
-# Requires.private, but at least up to 2003-06-07, there was no
-# freetype2.pc in the release.
-#
-# FreeType versions come in three forms:
-#   release (such as 2.1.9)
-#   libtool (such as 9.7.3) (returned by freetype-config and pkg-config)
-#   platform-specific/soname (such as 6.3.4)
-# and they recommend you never use the platform-specific version
-# (see docs/VERSION.DLL in freetype2 sources)
-#
-# Set these as appropriate:
-
-# release number - for information only
-FREETYPE_MIN_RELEASE=2.1.9
-# libtool-specific version - this is what is checked
-FREETYPE_MIN_VERSION=9.7.3
-
-                                                                                                                               # Check whether --enable-ft was given.
-if test "${enable_ft+set}" = set; then :
-  enableval=$enable_ft; enable_ft=$enableval
-else
-  enable_ft=auto
-fi
-
-                       case $enable_ft in #(
-  no) :
-               use_ft="no (disabled, use --enable-ft to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's FreeType font backend feature" >&5
-$as_echo_n "checking for cairo's FreeType font backend feature... " >&6; }
-               echo
-
-               use_ft=yes
-                       ft_BASE="cairo"
-ft_REQUIRES="$ac_env_ft_REQUIRES_value"
-ft_CFLAGS="$ac_env_ft_CFLAGS_value"
-ft_NONPKGCONFIG_CFLAGS="$ac_env_ft_NONPKGCONFIG_CFLAGS_value"
-ft_LIBS="$ac_env_ft_LIBS_value"
-ft_NONPKGCONFIG_LIBS="$ac_env_ft_NONPKGCONFIG_LIBS_value"
-ft_NONPKGCONFIG_EXTRA_LIBS="$ac_env_ft_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE" >&5
-$as_echo_n "checking for FREETYPE... " >&6; }
-
-if test -n "$FREETYPE_CFLAGS"; then
-    pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= \$FREETYPE_MIN_VERSION\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "freetype2 >= $FREETYPE_MIN_VERSION") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2 >= $FREETYPE_MIN_VERSION" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$FREETYPE_LIBS"; then
-    pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= \$FREETYPE_MIN_VERSION\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "freetype2 >= $FREETYPE_MIN_VERSION") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2 >= $FREETYPE_MIN_VERSION" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "freetype2 >= $FREETYPE_MIN_VERSION" 2>&1`
-        else
-               FREETYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "freetype2 >= $FREETYPE_MIN_VERSION" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$FREETYPE_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                      freetype_pkgconfig=no
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                      freetype_pkgconfig=no
-else
-       FREETYPE_CFLAGS=$pkg_cv_FREETYPE_CFLAGS
-       FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       freetype_pkgconfig=yes
-fi
-
-    if test "x$freetype_pkgconfig" = "xyes"; then
-      ft_REQUIRES="freetype2 >= $FREETYPE_MIN_VERSION $ft_REQUIRES"
-    else
-
-      if test -z "$FREETYPE_CONFIG"; then
-        # Extract the first word of "freetype-config", so it can be a program name with args.
-set dummy freetype-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_FREETYPE_CONFIG+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $FREETYPE_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_FREETYPE_CONFIG="$FREETYPE_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_FREETYPE_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_FREETYPE_CONFIG" && ac_cv_path_FREETYPE_CONFIG="no"
-  ;;
-esac
-fi
-FREETYPE_CONFIG=$ac_cv_path_FREETYPE_CONFIG
-if test -n "$FREETYPE_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_CONFIG" >&5
-$as_echo "$FREETYPE_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-      fi
-      if test "x$FREETYPE_CONFIG" = "xno" ; then
-        use_ft='no (freetype-config not found in path or $FREETYPE_CONFIG)'
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking freetype2 libtool version" >&5
-$as_echo_n "checking freetype2 libtool version... " >&6; }
-
-        FREETYPE_VERSION=`$FREETYPE_CONFIG --version`
-
-  # Used to indicate true or false condition
-  ax_compare_version=false
-
-  # Convert the two version strings to be compared into a format that
-  # allows a simple string comparison.  The end result is that a version
-  # string of the form 1.12.5-r617 will be converted to the form
-  # 0001001200050617.  In other words, each number is zero padded to four
-  # digits, and non digits are removed.
-
-  ax_compare_version_A=`echo "$FREETYPE_VERSION" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
-                     -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
-                     -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
-                     -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
-                     -e 's/[^0-9]//g'`
-
-
-  ax_compare_version_B=`echo "$FREETYPE_MIN_VERSION" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
-                     -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
-                     -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
-                     -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
-                     -e 's/[^0-9]//g'`
-
-
-    ax_compare_version=`echo "x$ax_compare_version_A
-x$ax_compare_version_B" | sed 's/^ *//' | sort | sed "s/x${ax_compare_version_A}/false/;s/x${ax_compare_version_B}/true/;1q"`
-
-
-
-    if test "$ax_compare_version" = "true" ; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_VERSION - OK" >&5
-$as_echo "$FREETYPE_VERSION - OK" >&6; }
-                          ft_NONPKGCONFIG_CFLAGS=`$FREETYPE_CONFIG --cflags`
-                          ft_NONPKGCONFIG_LIBS=`$FREETYPE_CONFIG --libs`
-    else { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_VERSION - Too old" >&5
-$as_echo "$FREETYPE_VERSION - Too old" >&6; }
-                          use_ft="no ($FREETYPE_VERSION found; version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required)"
-  fi
-
-      fi
-    fi
-
-  ft_CFLAGS="$FREETYPE_CFLAGS"
-  ft_LIBS="$FREETYPE_LIBS"
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's FreeType font backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's FreeType font backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_ft" >&5
-$as_echo "$use_ft" >&6; }
-
-               if test "x$enable_ft" = "xyes" -a "x$use_ft" != xyes; then :
-                       as_fn_error $? " FreeType font backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-ft: \`$use_ft', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_ft" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$ft_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$ft_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$ft_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$ft_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$ft_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset ft_BASE
-unset ft_REQUIRES
-unset ft_CFLAGS
-unset ft_NONPKGCONFIG_CFLAGS
-unset ft_LIBS
-unset ft_NONPKGCONFIG_LIBS
-unset ft_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_ft" = xyes; then
-  CAIRO_HAS_FT_FONT_TRUE=
-  CAIRO_HAS_FT_FONT_FALSE='#'
-else
-  CAIRO_HAS_FT_FONT_TRUE='#'
-  CAIRO_HAS_FT_FONT_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_FT_FONT=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_ft_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_ft_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_ft_headers)
-all_cairo_private += $(cairo_ft_private)
-all_cairo_cxx_sources += $(cairo_ft_cxx_sources)
-all_cairo_sources += $(cairo_ft_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_ft_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_ft_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_ft_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_ft_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_ft_headers)
-enabled_cairo_private += $(cairo_ft_private)
-enabled_cairo_cxx_sources += $(cairo_ft_cxx_sources)
-enabled_cairo_sources += $(cairo_ft_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_FT_FONT'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_FT_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_ft_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_ft_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_ft_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_ft_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_FT_FONT'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_FT_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_ft" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-ft.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_ft" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-ft-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-ft.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-ft.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_FT_FONT'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_FT_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_ft" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_FT_FONT'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_FT_FONT'
-
-
-
-                                       if test "x$use_ft" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_FT_FONT'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_FT_FONT 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_FT_FONT),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-                                       if test "x$use_ft" = xyes; then :
-  :
-                                       CAIRO_NATIVE_FONT_BACKENDS="${CAIRO_NATIVE_FONT_BACKENDS}"'ft'
-
-
-
-fi
-
-
-FONTCONFIG_MIN_VERSION=2.2.95
-                                                                                                                               # Check whether --enable-fc was given.
-if test "${enable_fc+set}" = set; then :
-  enableval=$enable_fc; enable_fc=$enableval
-else
-  enable_fc=auto
-fi
-
-                       case $enable_fc in #(
-  no) :
-               use_fc="no (disabled, use --enable-fc to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's Fontconfig font backend feature" >&5
-$as_echo_n "checking for cairo's Fontconfig font backend feature... " >&6; }
-               echo
-
-               use_fc=yes
-                       fc_BASE="cairo"
-fc_REQUIRES="$ac_env_fc_REQUIRES_value"
-fc_CFLAGS="$ac_env_fc_CFLAGS_value"
-fc_NONPKGCONFIG_CFLAGS="$ac_env_fc_NONPKGCONFIG_CFLAGS_value"
-fc_LIBS="$ac_env_fc_LIBS_value"
-fc_NONPKGCONFIG_LIBS="$ac_env_fc_NONPKGCONFIG_LIBS_value"
-fc_NONPKGCONFIG_EXTRA_LIBS="$ac_env_fc_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  use_fc=$use_ft
-  if test "x$use_fc" = "xyes"; then
-    fc_REQUIRES="fontconfig >= $FONTCONFIG_MIN_VERSION"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FONTCONFIG" >&5
-$as_echo_n "checking for FONTCONFIG... " >&6; }
-
-if test -n "$FONTCONFIG_CFLAGS"; then
-    pkg_cv_FONTCONFIG_CFLAGS="$FONTCONFIG_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$fc_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$fc_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_FONTCONFIG_CFLAGS=`$PKG_CONFIG --cflags "$fc_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$FONTCONFIG_LIBS"; then
-    pkg_cv_FONTCONFIG_LIBS="$FONTCONFIG_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$fc_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$fc_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_FONTCONFIG_LIBS=`$PKG_CONFIG --libs "$fc_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$fc_REQUIRES" 2>&1`
-        else
-               FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --print-errors "$fc_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$FONTCONFIG_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }; use_fc="no (requires $fc_REQUIRES)"
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }; use_fc="no (requires $fc_REQUIRES)"
-else
-       FONTCONFIG_CFLAGS=$pkg_cv_FONTCONFIG_CFLAGS
-       FONTCONFIG_LIBS=$pkg_cv_FONTCONFIG_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-  fi
-  fc_CFLAGS="$FONTCONFIG_CFLAGS"
-  fc_LIBS="$FONTCONFIG_LIBS"
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Fontconfig font backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's Fontconfig font backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_fc" >&5
-$as_echo "$use_fc" >&6; }
-
-               if test "x$enable_fc" = "xyes" -a "x$use_fc" != xyes; then :
-                       as_fn_error $? " Fontconfig font backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-fc: \`$use_fc', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_fc" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$fc_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$fc_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$fc_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$fc_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$fc_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset fc_BASE
-unset fc_REQUIRES
-unset fc_CFLAGS
-unset fc_NONPKGCONFIG_CFLAGS
-unset fc_LIBS
-unset fc_NONPKGCONFIG_LIBS
-unset fc_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_fc" = xyes; then
-  CAIRO_HAS_FC_FONT_TRUE=
-  CAIRO_HAS_FC_FONT_FALSE='#'
-else
-  CAIRO_HAS_FC_FONT_TRUE='#'
-  CAIRO_HAS_FC_FONT_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_FC_FONT=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_fc_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_fc_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_fc_headers)
-all_cairo_private += $(cairo_fc_private)
-all_cairo_cxx_sources += $(cairo_fc_cxx_sources)
-all_cairo_sources += $(cairo_fc_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_fc_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_fc_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_fc_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_fc_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_fc_headers)
-enabled_cairo_private += $(cairo_fc_private)
-enabled_cairo_cxx_sources += $(cairo_fc_cxx_sources)
-enabled_cairo_sources += $(cairo_fc_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_FC_FONT'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_FC_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_fc_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_fc_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_fc_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_fc_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_FC_FONT'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_FC_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_fc" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-fc.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_fc" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-fc-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-fc.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-fc.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_FC_FONT'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_FC_FONT),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_fc" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_FC_FONT'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_FC_FONT'
-
-
-
-                                       if test "x$use_fc" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_FC_FONT'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_FC_FONT 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_FC_FONT),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-                                       if test "x$use_fc" = xyes; then :
-  :
-                                       CAIRO_NATIVE_FONT_BACKENDS="${CAIRO_NATIVE_FONT_BACKENDS}"'fc'
-
-
-
-fi
-
-
-if test "x$use_ft" = "xyes"; then
-  _save_libs="$LIBS"
-  _save_cflags="$CFLAGS"
-  LIBS="$LIBS $ft_LIBS"
-  CFLAGS="$CFLAGS $ft_CFLAGS"
-  ac_fn_c_check_member "$LINENO" "FT_Bitmap_Size" "y_ppem" "ac_cv_member_FT_Bitmap_Size_y_ppem" "#include <ft2build.h>
-                   #include FT_FREETYPE_H
-"
-if test "x$ac_cv_member_FT_Bitmap_Size_y_ppem" = x""yes; then :
-  HAVE_FT_BITMAP_SIZE_Y_PPEM=1
-else
-  HAVE_FT_BITMAP_SIZE_Y_PPEM=0
-fi
-
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_FT_BITMAP_SIZE_Y_PPEM $HAVE_FT_BITMAP_SIZE_Y_PPEM
-_ACEOF
-
-
-  for ac_func in FT_GlyphSlot_Embolden FT_GlyphSlot_Oblique FT_Load_Sfnt_Table FT_Library_SetLcdFilter
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-  LIBS="$_save_libs"
-  CFLAGS="$_save_cflags"
-fi
-
-if test "x$use_fc" = "xyes"; then
-       _save_cflags="$CFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS $FONTCONFIG_CFLAGS"
-       LIBS="$LIBS $FONTCONFIG_LIBS"
-       for ac_func in FcInit FcFini
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-       CFLAGS="$_save_cflags"
-       LIBS="$_save_libs"
-
-fi
-
-
-                                                                                                                               # Check whether --enable-ps was given.
-if test "${enable_ps+set}" = set; then :
-  enableval=$enable_ps; enable_ps=$enableval
-else
-  enable_ps=yes
-fi
-
-                       case $enable_ps in #(
-  no) :
-               use_ps="no (disabled, use --enable-ps to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's PostScript surface backend feature" >&5
-$as_echo_n "checking for cairo's PostScript surface backend feature... " >&6; }
-               echo
-
-               use_ps=yes
-                       ps_BASE="cairo"
-ps_REQUIRES="$ac_env_ps_REQUIRES_value"
-ps_CFLAGS="$ac_env_ps_CFLAGS_value"
-ps_NONPKGCONFIG_CFLAGS="$ac_env_ps_NONPKGCONFIG_CFLAGS_value"
-ps_LIBS="$ac_env_ps_LIBS_value"
-ps_NONPKGCONFIG_LIBS="$ac_env_ps_NONPKGCONFIG_LIBS_value"
-ps_NONPKGCONFIG_EXTRA_LIBS="$ac_env_ps_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-    # The ps backend requires zlib.
-    use_ps=$have_libz
-    ps_NONPKGCONFIG_LIBS=-lz
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's PostScript surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's PostScript surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_ps" >&5
-$as_echo "$use_ps" >&6; }
-
-               if test "x$enable_ps" = "xyes" -a "x$use_ps" != xyes; then :
-                       as_fn_error $? "recommended PostScript surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-ps: \`$use_ps', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_ps" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$ps_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$ps_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$ps_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$ps_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$ps_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset ps_BASE
-unset ps_REQUIRES
-unset ps_CFLAGS
-unset ps_NONPKGCONFIG_CFLAGS
-unset ps_LIBS
-unset ps_NONPKGCONFIG_LIBS
-unset ps_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_ps" = xyes; then
-  CAIRO_HAS_PS_SURFACE_TRUE=
-  CAIRO_HAS_PS_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_PS_SURFACE_TRUE='#'
-  CAIRO_HAS_PS_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_PS_SURFACE=1'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_ps_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_ps_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_ps_headers)
-all_cairo_private += $(cairo_ps_private)
-all_cairo_cxx_sources += $(cairo_ps_cxx_sources)
-all_cairo_sources += $(cairo_ps_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_ps_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_ps_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_ps_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_ps_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_ps_headers)
-enabled_cairo_private += $(cairo_ps_private)
-enabled_cairo_cxx_sources += $(cairo_ps_cxx_sources)
-enabled_cairo_sources += $(cairo_ps_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_PS_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_PS_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_ps_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_ps_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_ps_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_ps_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_PS_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_PS_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_ps" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-ps.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_ps" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-ps-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-ps.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-ps.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_PS_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_PS_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_ps" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_PS_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_PS_SURFACE'
-
-
-
-                                       if test "x$use_ps" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_PS_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_PS_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_PS_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-                                       if test "x$use_ps" != xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'+++ It is strongly recommended that you do NOT disable the PostScript surface
-+++ backend feature.'
-
-
-
-fi
-
-
-
-
-
-SPECTRE_VERSION_REQUIRED=0.2.0
-test_ps=no
-any2ppm_ps=no
-if test "x$use_ps" = "xyes"; then
-  # Extract the first word of "gs", so it can be a program name with args.
-set dummy gs; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GS+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$GS"; then
-  ac_cv_prog_GS="$GS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_GS="gs"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-GS=$ac_cv_prog_GS
-if test -n "$GS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GS" >&5
-$as_echo "$GS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  if test "$GS"; then
-
-$as_echo "#define CAIRO_CAN_TEST_PS_SURFACE 1" >>confdefs.h
-
-    test_ps="yes"
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PS backend will not be tested since ghostscript is not available" >&5
-$as_echo "$as_me: WARNING: PS backend will not be tested since ghostscript is not available" >&2;}
-    test_ps="no (requires ghostscript)"
-  fi
-
-  libspectre_DEPENDENCY="libspectre >= $SPECTRE_VERSION_REQUIRED"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBSPECTRE" >&5
-$as_echo_n "checking for LIBSPECTRE... " >&6; }
-
-if test -n "$LIBSPECTRE_CFLAGS"; then
-    pkg_cv_LIBSPECTRE_CFLAGS="$LIBSPECTRE_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$libspectre_DEPENDENCY\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$libspectre_DEPENDENCY") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_LIBSPECTRE_CFLAGS=`$PKG_CONFIG --cflags "$libspectre_DEPENDENCY" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$LIBSPECTRE_LIBS"; then
-    pkg_cv_LIBSPECTRE_LIBS="$LIBSPECTRE_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$libspectre_DEPENDENCY\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$libspectre_DEPENDENCY") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_LIBSPECTRE_LIBS=`$PKG_CONFIG --libs "$libspectre_DEPENDENCY" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               LIBSPECTRE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$libspectre_DEPENDENCY" 2>&1`
-        else
-               LIBSPECTRE_PKG_ERRORS=`$PKG_CONFIG --print-errors "$libspectre_DEPENDENCY" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$LIBSPECTRE_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                test_ps="no (requires libspectre)"
-elif test $pkg_failed = untried; then
-       test_ps="no (requires libspectre)"
-else
-       LIBSPECTRE_CFLAGS=$pkg_cv_LIBSPECTRE_CFLAGS
-       LIBSPECTRE_LIBS=$pkg_cv_LIBSPECTRE_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       any2ppm_ps=yes
-fi
-fi
-
- if test "x$test_ps" = "xyes"; then
-  CAIRO_CAN_TEST_PS_SURFACE_TRUE=
-  CAIRO_CAN_TEST_PS_SURFACE_FALSE='#'
-else
-  CAIRO_CAN_TEST_PS_SURFACE_TRUE='#'
-  CAIRO_CAN_TEST_PS_SURFACE_FALSE=
-fi
-
- if test "x$any2ppm_ps" = "xyes"; then
-  CAIRO_HAS_SPECTRE_TRUE=
-  CAIRO_HAS_SPECTRE_FALSE='#'
-else
-  CAIRO_HAS_SPECTRE_TRUE='#'
-  CAIRO_HAS_SPECTRE_FALSE=
-fi
-
-if test "x$any2ppm_ps" = "xyes"; then
-
-$as_echo "#define CAIRO_HAS_SPECTRE 1" >>confdefs.h
-
-fi
-
-
-
-
-                                                                                                                               # Check whether --enable-pdf was given.
-if test "${enable_pdf+set}" = set; then :
-  enableval=$enable_pdf; enable_pdf=$enableval
-else
-  enable_pdf=yes
-fi
-
-                       case $enable_pdf in #(
-  no) :
-               use_pdf="no (disabled, use --enable-pdf to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's PDF surface backend feature" >&5
-$as_echo_n "checking for cairo's PDF surface backend feature... " >&6; }
-               echo
-
-               use_pdf=yes
-                       pdf_BASE="cairo"
-pdf_REQUIRES="$ac_env_pdf_REQUIRES_value"
-pdf_CFLAGS="$ac_env_pdf_CFLAGS_value"
-pdf_NONPKGCONFIG_CFLAGS="$ac_env_pdf_NONPKGCONFIG_CFLAGS_value"
-pdf_LIBS="$ac_env_pdf_LIBS_value"
-pdf_NONPKGCONFIG_LIBS="$ac_env_pdf_NONPKGCONFIG_LIBS_value"
-pdf_NONPKGCONFIG_EXTRA_LIBS="$ac_env_pdf_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-    # The pdf backend requires zlib.
-    use_pdf=$have_libz
-    pdf_NONPKGCONFIG_LIBS=-lz
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's PDF surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's PDF surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_pdf" >&5
-$as_echo "$use_pdf" >&6; }
-
-               if test "x$enable_pdf" = "xyes" -a "x$use_pdf" != xyes; then :
-                       as_fn_error $? "recommended PDF surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-pdf: \`$use_pdf', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_pdf" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$pdf_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$pdf_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$pdf_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$pdf_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$pdf_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset pdf_BASE
-unset pdf_REQUIRES
-unset pdf_CFLAGS
-unset pdf_NONPKGCONFIG_CFLAGS
-unset pdf_LIBS
-unset pdf_NONPKGCONFIG_LIBS
-unset pdf_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_pdf" = xyes; then
-  CAIRO_HAS_PDF_SURFACE_TRUE=
-  CAIRO_HAS_PDF_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_PDF_SURFACE_TRUE='#'
-  CAIRO_HAS_PDF_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_PDF_SURFACE=1'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_pdf_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_pdf_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_pdf_headers)
-all_cairo_private += $(cairo_pdf_private)
-all_cairo_cxx_sources += $(cairo_pdf_cxx_sources)
-all_cairo_sources += $(cairo_pdf_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_pdf_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_pdf_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_pdf_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_pdf_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_pdf_headers)
-enabled_cairo_private += $(cairo_pdf_private)
-enabled_cairo_cxx_sources += $(cairo_pdf_cxx_sources)
-enabled_cairo_sources += $(cairo_pdf_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_PDF_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_PDF_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_pdf_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_pdf_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_pdf_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_pdf_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_PDF_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_PDF_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_pdf" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-pdf.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_pdf" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-pdf-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-pdf.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-pdf.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_PDF_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_PDF_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_pdf" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_PDF_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_PDF_SURFACE'
-
-
-
-                                       if test "x$use_pdf" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_PDF_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_PDF_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_PDF_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-                                       if test "x$use_pdf" != xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'+++ It is strongly recommended that you do NOT disable the PDF surface
-+++ backend feature.'
-
-
-
-fi
-
-
-
-
-
-# poppler-0.17.4 fixes text-pattern and text-transform
-POPPLER_VERSION_REQUIRED=0.17.4
-test_pdf=no
-any2ppm_pdf=no
-if test "x$use_pdf" = "xyes"; then
-  poppler_DEPENDENCY="poppler-glib >= $POPPLER_VERSION_REQUIRED"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POPPLER" >&5
-$as_echo_n "checking for POPPLER... " >&6; }
-
-if test -n "$POPPLER_CFLAGS"; then
-    pkg_cv_POPPLER_CFLAGS="$POPPLER_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$poppler_DEPENDENCY\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$poppler_DEPENDENCY") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_POPPLER_CFLAGS=`$PKG_CONFIG --cflags "$poppler_DEPENDENCY" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$POPPLER_LIBS"; then
-    pkg_cv_POPPLER_LIBS="$POPPLER_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$poppler_DEPENDENCY\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$poppler_DEPENDENCY") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_POPPLER_LIBS=`$PKG_CONFIG --libs "$poppler_DEPENDENCY" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               POPPLER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$poppler_DEPENDENCY" 2>&1`
-        else
-               POPPLER_PKG_ERRORS=`$PKG_CONFIG --print-errors "$poppler_DEPENDENCY" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$POPPLER_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                test_pdf="no (requires $poppler_DEPENDENCY)"
-elif test $pkg_failed = untried; then
-       test_pdf="no (requires $poppler_DEPENDENCY)"
-else
-       POPPLER_CFLAGS=$pkg_cv_POPPLER_CFLAGS
-       POPPLER_LIBS=$pkg_cv_POPPLER_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-               _save_cflags="$CFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS $POPPLER_CFLAGS"
-       LIBS="$LIBS $POPPLER_LIBS"
-       for ac_func in poppler_page_render
-do :
-  ac_fn_c_check_func "$LINENO" "poppler_page_render" "ac_cv_func_poppler_page_render"
-if test "x$ac_cv_func_poppler_page_render" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_POPPLER_PAGE_RENDER 1
-_ACEOF
- test_pdf=yes; any2ppm_pdf=yes
-else
-  test_pdf="no (requires $poppler_DEPENDENCY)"
-fi
-done
-
-       CFLAGS="$_save_cflags"
-       LIBS="$_save_libs"
-
-fi
-  if test "x$test_pdf" = "xyes"; then
-
-$as_echo "#define CAIRO_CAN_TEST_PDF_SURFACE 1" >>confdefs.h
-
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: PDF backend will not be tested since poppler >= $POPPLER_VERSION_REQUIRED is not available" >&5
-$as_echo "$as_me: WARNING: PDF backend will not be tested since poppler >= $POPPLER_VERSION_REQUIRED is not available" >&2;}
-  fi
-fi
-
- if test "x$test_pdf" = "xyes"; then
-  CAIRO_CAN_TEST_PDF_SURFACE_TRUE=
-  CAIRO_CAN_TEST_PDF_SURFACE_FALSE='#'
-else
-  CAIRO_CAN_TEST_PDF_SURFACE_TRUE='#'
-  CAIRO_CAN_TEST_PDF_SURFACE_FALSE=
-fi
-
-
-
-
- if test "x$use_ps" = "xyes" -o "x$use_pdf" = "xyes"; then
-  CAIRO_HAS_MULTI_PAGE_SURFACES_TRUE=
-  CAIRO_HAS_MULTI_PAGE_SURFACES_FALSE='#'
-else
-  CAIRO_HAS_MULTI_PAGE_SURFACES_TRUE='#'
-  CAIRO_HAS_MULTI_PAGE_SURFACES_FALSE=
-fi
-
-
-
-                                                                                                                               # Check whether --enable-svg was given.
-if test "${enable_svg+set}" = set; then :
-  enableval=$enable_svg; enable_svg=$enableval
-else
-  enable_svg=yes
-fi
-
-                       case $enable_svg in #(
-  no) :
-               use_svg="no (disabled, use --enable-svg to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's SVG surface backend feature" >&5
-$as_echo_n "checking for cairo's SVG surface backend feature... " >&6; }
-               echo
-
-               use_svg=yes
-                       svg_BASE="cairo"
-svg_REQUIRES="$ac_env_svg_REQUIRES_value"
-svg_CFLAGS="$ac_env_svg_CFLAGS_value"
-svg_NONPKGCONFIG_CFLAGS="$ac_env_svg_NONPKGCONFIG_CFLAGS_value"
-svg_LIBS="$ac_env_svg_LIBS_value"
-svg_NONPKGCONFIG_LIBS="$ac_env_svg_NONPKGCONFIG_LIBS_value"
-svg_NONPKGCONFIG_EXTRA_LIBS="$ac_env_svg_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  if test "x$use_png" != "xyes"; then
-    use_svg="no (requires --enable-png)"
-  fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's SVG surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's SVG surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_svg" >&5
-$as_echo "$use_svg" >&6; }
-
-               if test "x$enable_svg" = "xyes" -a "x$use_svg" != xyes; then :
-                       as_fn_error $? "recommended SVG surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-svg: \`$use_svg', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_svg" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$svg_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$svg_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$svg_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$svg_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$svg_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset svg_BASE
-unset svg_REQUIRES
-unset svg_CFLAGS
-unset svg_NONPKGCONFIG_CFLAGS
-unset svg_LIBS
-unset svg_NONPKGCONFIG_LIBS
-unset svg_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_svg" = xyes; then
-  CAIRO_HAS_SVG_SURFACE_TRUE=
-  CAIRO_HAS_SVG_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_SVG_SURFACE_TRUE='#'
-  CAIRO_HAS_SVG_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_SVG_SURFACE=1'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_svg_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_svg_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_svg_headers)
-all_cairo_private += $(cairo_svg_private)
-all_cairo_cxx_sources += $(cairo_svg_cxx_sources)
-all_cairo_sources += $(cairo_svg_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_svg_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_svg_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_svg_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_svg_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_svg_headers)
-enabled_cairo_private += $(cairo_svg_private)
-enabled_cairo_cxx_sources += $(cairo_svg_cxx_sources)
-enabled_cairo_sources += $(cairo_svg_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_SVG_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_SVG_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_svg_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_svg_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_svg_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_svg_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_SVG_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_SVG_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_svg" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-svg.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_svg" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-svg-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-svg.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-svg.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_SVG_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_SVG_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_svg" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_SVG_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_SVG_SURFACE'
-
-
-
-                                       if test "x$use_svg" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_SVG_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_SVG_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_SVG_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-                                       if test "x$use_svg" != xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'+++ It is strongly recommended that you do NOT disable the SVG surface
-+++ backend feature.'
-
-
-
-fi
-
-
-
-
-LIBRSVG_VERSION_REQUIRED=2.15.0
-test_svg=no
-any2ppm_svg=no
-if test "x$use_svg" = "xyes"; then
-  librsvg_DEPENDENCY="librsvg-2.0 >= $LIBRSVG_VERSION_REQUIRED"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBRSVG" >&5
-$as_echo_n "checking for LIBRSVG... " >&6; }
-
-if test -n "$LIBRSVG_CFLAGS"; then
-    pkg_cv_LIBRSVG_CFLAGS="$LIBRSVG_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$librsvg_DEPENDENCY gdk-2.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$librsvg_DEPENDENCY gdk-2.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_LIBRSVG_CFLAGS=`$PKG_CONFIG --cflags "$librsvg_DEPENDENCY gdk-2.0" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$LIBRSVG_LIBS"; then
-    pkg_cv_LIBRSVG_LIBS="$LIBRSVG_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$librsvg_DEPENDENCY gdk-2.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$librsvg_DEPENDENCY gdk-2.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_LIBRSVG_LIBS=`$PKG_CONFIG --libs "$librsvg_DEPENDENCY gdk-2.0" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               LIBRSVG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$librsvg_DEPENDENCY gdk-2.0" 2>&1`
-        else
-               LIBRSVG_PKG_ERRORS=`$PKG_CONFIG --print-errors "$librsvg_DEPENDENCY gdk-2.0" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$LIBRSVG_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                test_svg="no (requires $librsvg_DEPENDENCY)"
-elif test $pkg_failed = untried; then
-       test_svg="no (requires $librsvg_DEPENDENCY)"
-else
-       LIBRSVG_CFLAGS=$pkg_cv_LIBRSVG_CFLAGS
-       LIBRSVG_LIBS=$pkg_cv_LIBRSVG_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-               _save_cflags="$CFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS $LIBRSVG_CFLAGS"
-       LIBS="$LIBS $LIBRSVG_LIBS"
-       for ac_func in rsvg_pixbuf_from_file
-do :
-  ac_fn_c_check_func "$LINENO" "rsvg_pixbuf_from_file" "ac_cv_func_rsvg_pixbuf_from_file"
-if test "x$ac_cv_func_rsvg_pixbuf_from_file" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_RSVG_PIXBUF_FROM_FILE 1
-_ACEOF
- test_svg=yes; any2ppm_svg=yes
-else
-  test_svg="no (requires $librsvg_DEPENDENCY)"
-fi
-done
-
-       CFLAGS="$_save_cflags"
-       LIBS="$_save_libs"
-
-fi
-  if test "x$test_svg" = "xyes"; then
-
-$as_echo "#define CAIRO_CAN_TEST_SVG_SURFACE 1" >>confdefs.h
-
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SVG backend will not be tested since librsvg >= $LIBRSVG_VERSION_REQUIRED is not available" >&5
-$as_echo "$as_me: WARNING: SVG backend will not be tested since librsvg >= $LIBRSVG_VERSION_REQUIRED is not available" >&2;}
-  fi
-fi
-
- if test "x$test_svg" = "xyes"; then
-  CAIRO_CAN_TEST_SVG_SURFACE_TRUE=
-  CAIRO_CAN_TEST_SVG_SURFACE_FALSE='#'
-else
-  CAIRO_CAN_TEST_SVG_SURFACE_TRUE='#'
-  CAIRO_CAN_TEST_SVG_SURFACE_FALSE=
-fi
-
-
-
-
-
-                                                                                                                               # Check whether --enable-test-surfaces was given.
-if test "${enable_test_surfaces+set}" = set; then :
-  enableval=$enable_test_surfaces; enable_test_surfaces=$enableval
-else
-  enable_test_surfaces=no
-fi
-
-                       case $enable_test_surfaces in #(
-  no) :
-               use_test_surfaces="no (disabled, use --enable-test-surfaces to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's test surfaces feature" >&5
-$as_echo_n "checking for cairo's test surfaces feature... " >&6; }
-               echo
-
-               use_test_surfaces=yes
-                       test_surfaces_BASE="cairo"
-test_surfaces_REQUIRES="$ac_env_test_surfaces_REQUIRES_value"
-test_surfaces_CFLAGS="$ac_env_test_surfaces_CFLAGS_value"
-test_surfaces_NONPKGCONFIG_CFLAGS="$ac_env_test_surfaces_NONPKGCONFIG_CFLAGS_value"
-test_surfaces_LIBS="$ac_env_test_surfaces_LIBS_value"
-test_surfaces_NONPKGCONFIG_LIBS="$ac_env_test_surfaces_NONPKGCONFIG_LIBS_value"
-test_surfaces_NONPKGCONFIG_EXTRA_LIBS="$ac_env_test_surfaces_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's test surfaces feature could be enabled" >&5
-$as_echo_n "checking whether cairo's test surfaces feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_test_surfaces" >&5
-$as_echo "$use_test_surfaces" >&6; }
-
-               if test "x$enable_test_surfaces" = "xyes" -a "x$use_test_surfaces" != xyes; then :
-                       as_fn_error $? " test surfaces feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-test-surfaces: \`$use_test_surfaces', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_test_surfaces" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$test_surfaces_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$test_surfaces_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$test_surfaces_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$test_surfaces_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$test_surfaces_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset test_surfaces_BASE
-unset test_surfaces_REQUIRES
-unset test_surfaces_CFLAGS
-unset test_surfaces_NONPKGCONFIG_CFLAGS
-unset test_surfaces_LIBS
-unset test_surfaces_NONPKGCONFIG_LIBS
-unset test_surfaces_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_test_surfaces" = xyes; then
-  CAIRO_HAS_TEST_SURFACES_TRUE=
-  CAIRO_HAS_TEST_SURFACES_FALSE='#'
-else
-  CAIRO_HAS_TEST_SURFACES_TRUE='#'
-  CAIRO_HAS_TEST_SURFACES_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_TEST_SURFACES=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-                                                                               cr_make_tmp='all_cairo_private += $(cairo_test_surfaces_private) $(cairo_test_surfaces_headers)
-all_cairo_cxx_sources += $(cairo_test_surfaces_cxx_sources)
-all_cairo_sources += $(cairo_test_surfaces_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_private += $(cairo_boilerplate_test_surfaces_private) $(cairo_boilerplate_test_surfaces_headers)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_test_surfaces_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_test_surfaces_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_private += $(cairo_test_surfaces_private) $(cairo_test_surfaces_headers)
-enabled_cairo_cxx_sources += $(cairo_test_surfaces_cxx_sources)
-enabled_cairo_sources += $(cairo_test_surfaces_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_TEST_SURFACES'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_TEST_SURFACES),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_private += $(cairo_boilerplate_test_surfaces_private) $(cairo_boilerplate_test_surfaces_headers)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_test_surfaces_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_test_surfaces_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_TEST_SURFACES'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_TEST_SURFACES),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-
-                                       if test "x$use_test_surfaces" = xyes; then :
-  :
-
-$as_echo "#define CAIRO_HAS_TEST_SURFACES 1" >>confdefs.h
-
-
-
-fi
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_TEST_SURFACES 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_TEST_SURFACES),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-
-                                                                                                                               enable_image=yes
-                       case $enable_image in #(
-  no) :
-               use_image="no (disabled, use --enable-image to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's image surface backend feature" >&5
-$as_echo_n "checking for cairo's image surface backend feature... " >&6; }
-               echo
-
-               use_image=yes
-                       image_BASE="cairo"
-image_REQUIRES="$ac_env_image_REQUIRES_value"
-image_CFLAGS="$ac_env_image_CFLAGS_value"
-image_NONPKGCONFIG_CFLAGS="$ac_env_image_NONPKGCONFIG_CFLAGS_value"
-image_LIBS="$ac_env_image_LIBS_value"
-image_NONPKGCONFIG_LIBS="$ac_env_image_NONPKGCONFIG_LIBS_value"
-image_NONPKGCONFIG_EXTRA_LIBS="$ac_env_image_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  pixman_REQUIRES="pixman-1 >= 0.22.0"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pixman" >&5
-$as_echo_n "checking for pixman... " >&6; }
-
-if test -n "$pixman_CFLAGS"; then
-    pkg_cv_pixman_CFLAGS="$pixman_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pixman_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$pixman_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_pixman_CFLAGS=`$PKG_CONFIG --cflags "$pixman_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$pixman_LIBS"; then
-    pkg_cv_pixman_LIBS="$pixman_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pixman_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$pixman_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_pixman_LIBS=`$PKG_CONFIG --libs "$pixman_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               pixman_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pixman_REQUIRES" 2>&1`
-        else
-               pixman_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pixman_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$pixman_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"
-else
-       pixman_CFLAGS=$pkg_cv_pixman_CFLAGS
-       pixman_LIBS=$pkg_cv_pixman_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-  image_REQUIRES=$pixman_REQUIRES
-  image_CFLAGS=$pixman_CFLAGS
-  image_LIBS=$pixman_LIBS
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's image surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's image surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_image" >&5
-$as_echo "$use_image" >&6; }
-
-               if test "x$enable_image" = "xyes" -a "x$use_image" != xyes; then :
-                       as_fn_error $? "mandatory image surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-image: \`$use_image', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_image" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$image_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$image_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$image_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$image_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$image_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset image_BASE
-unset image_REQUIRES
-unset image_CFLAGS
-unset image_NONPKGCONFIG_CFLAGS
-unset image_LIBS
-unset image_NONPKGCONFIG_LIBS
-unset image_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_image_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_image_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_image_headers)
-all_cairo_private += $(cairo_image_private)
-all_cairo_cxx_sources += $(cairo_image_cxx_sources)
-all_cairo_sources += $(cairo_image_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_image_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_image_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_image_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_image_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_image_headers)
-enabled_cairo_private += $(cairo_image_private)
-enabled_cairo_cxx_sources += $(cairo_image_cxx_sources)
-enabled_cairo_sources += $(cairo_image_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_image_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_image_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_image_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_image_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-
-                                       if test "x$use_image" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_IMAGE_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_IMAGE_SURFACE'
-
-
-
-                                       if test "x$use_image" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_IMAGE_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_IMAGE_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                               CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-
-
-                                                                                                                               enable_mime=yes
-                       case $enable_mime in #(
-  no) :
-               use_mime="no (disabled, use --enable-mime to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's mime surface backend feature" >&5
-$as_echo_n "checking for cairo's mime surface backend feature... " >&6; }
-               echo
-
-               use_mime=yes
-                       mime_BASE="cairo"
-mime_REQUIRES="$ac_env_mime_REQUIRES_value"
-mime_CFLAGS="$ac_env_mime_CFLAGS_value"
-mime_NONPKGCONFIG_CFLAGS="$ac_env_mime_NONPKGCONFIG_CFLAGS_value"
-mime_LIBS="$ac_env_mime_LIBS_value"
-mime_NONPKGCONFIG_LIBS="$ac_env_mime_NONPKGCONFIG_LIBS_value"
-mime_NONPKGCONFIG_EXTRA_LIBS="$ac_env_mime_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's mime surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's mime surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_mime" >&5
-$as_echo "$use_mime" >&6; }
-
-               if test "x$enable_mime" = "xyes" -a "x$use_mime" != xyes; then :
-                       as_fn_error $? "mandatory mime surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-mime: \`$use_mime', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_mime" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$mime_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$mime_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$mime_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$mime_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$mime_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset mime_BASE
-unset mime_REQUIRES
-unset mime_CFLAGS
-unset mime_NONPKGCONFIG_CFLAGS
-unset mime_LIBS
-unset mime_NONPKGCONFIG_LIBS
-unset mime_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_mime_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_mime_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_mime_headers)
-all_cairo_private += $(cairo_mime_private)
-all_cairo_cxx_sources += $(cairo_mime_cxx_sources)
-all_cairo_sources += $(cairo_mime_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_mime_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_mime_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_mime_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_mime_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_mime_headers)
-enabled_cairo_private += $(cairo_mime_private)
-enabled_cairo_cxx_sources += $(cairo_mime_cxx_sources)
-enabled_cairo_sources += $(cairo_mime_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_mime_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_mime_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_mime_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_mime_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-
-                                       if test "x$use_mime" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_MIME_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_MIME_SURFACE'
-
-
-
-                                       if test "x$use_mime" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_MIME_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_MIME_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                               CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-                                                                                                                               enable_recording=yes
-                       case $enable_recording in #(
-  no) :
-               use_recording="no (disabled, use --enable-recording to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's recording surface backend feature" >&5
-$as_echo_n "checking for cairo's recording surface backend feature... " >&6; }
-               echo
-
-               use_recording=yes
-                       recording_BASE="cairo"
-recording_REQUIRES="$ac_env_recording_REQUIRES_value"
-recording_CFLAGS="$ac_env_recording_CFLAGS_value"
-recording_NONPKGCONFIG_CFLAGS="$ac_env_recording_NONPKGCONFIG_CFLAGS_value"
-recording_LIBS="$ac_env_recording_LIBS_value"
-recording_NONPKGCONFIG_LIBS="$ac_env_recording_NONPKGCONFIG_LIBS_value"
-recording_NONPKGCONFIG_EXTRA_LIBS="$ac_env_recording_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's recording surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's recording surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_recording" >&5
-$as_echo "$use_recording" >&6; }
-
-               if test "x$enable_recording" = "xyes" -a "x$use_recording" != xyes; then :
-                       as_fn_error $? "mandatory recording surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-recording: \`$use_recording', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_recording" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$recording_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$recording_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$recording_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$recording_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$recording_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset recording_BASE
-unset recording_REQUIRES
-unset recording_CFLAGS
-unset recording_NONPKGCONFIG_CFLAGS
-unset recording_LIBS
-unset recording_NONPKGCONFIG_LIBS
-unset recording_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_recording_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_recording_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_recording_headers)
-all_cairo_private += $(cairo_recording_private)
-all_cairo_cxx_sources += $(cairo_recording_cxx_sources)
-all_cairo_sources += $(cairo_recording_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_recording_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_recording_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_recording_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_recording_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_recording_headers)
-enabled_cairo_private += $(cairo_recording_private)
-enabled_cairo_cxx_sources += $(cairo_recording_cxx_sources)
-enabled_cairo_sources += $(cairo_recording_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_recording_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_recording_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_recording_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_recording_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-
-                                       if test "x$use_recording" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_RECORDING_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_RECORDING_SURFACE'
-
-
-
-                                       if test "x$use_recording" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_RECORDING_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_RECORDING_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                               CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-                                                                                                                               enable_observer=yes
-                       case $enable_observer in #(
-  no) :
-               use_observer="no (disabled, use --enable-observer to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's observer surface backend feature" >&5
-$as_echo_n "checking for cairo's observer surface backend feature... " >&6; }
-               echo
-
-               use_observer=yes
-                       observer_BASE="cairo"
-observer_REQUIRES="$ac_env_observer_REQUIRES_value"
-observer_CFLAGS="$ac_env_observer_CFLAGS_value"
-observer_NONPKGCONFIG_CFLAGS="$ac_env_observer_NONPKGCONFIG_CFLAGS_value"
-observer_LIBS="$ac_env_observer_LIBS_value"
-observer_NONPKGCONFIG_LIBS="$ac_env_observer_NONPKGCONFIG_LIBS_value"
-observer_NONPKGCONFIG_EXTRA_LIBS="$ac_env_observer_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's observer surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's observer surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_observer" >&5
-$as_echo "$use_observer" >&6; }
-
-               if test "x$enable_observer" = "xyes" -a "x$use_observer" != xyes; then :
-                       as_fn_error $? "mandatory observer surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-observer: \`$use_observer', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_observer" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$observer_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$observer_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$observer_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$observer_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$observer_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset observer_BASE
-unset observer_REQUIRES
-unset observer_CFLAGS
-unset observer_NONPKGCONFIG_CFLAGS
-unset observer_LIBS
-unset observer_NONPKGCONFIG_LIBS
-unset observer_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_observer_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_observer_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_observer_headers)
-all_cairo_private += $(cairo_observer_private)
-all_cairo_cxx_sources += $(cairo_observer_cxx_sources)
-all_cairo_sources += $(cairo_observer_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_observer_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_observer_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_observer_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_observer_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_observer_headers)
-enabled_cairo_private += $(cairo_observer_private)
-enabled_cairo_cxx_sources += $(cairo_observer_cxx_sources)
-enabled_cairo_sources += $(cairo_observer_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_observer_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_observer_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_observer_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_observer_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-
-                                       if test "x$use_observer" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_OBSERVER_SURFACE'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_OBSERVER_SURFACE'
-
-
-
-                                       if test "x$use_observer" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_OBSERVER_SURFACE'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_OBSERVER_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                               CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-tee was given.
-if test "${enable_tee+set}" = set; then :
-  enableval=$enable_tee; enable_tee=$enableval
-else
-  enable_tee=no
-fi
-
-                       case $enable_tee in #(
-  no) :
-               use_tee="no (disabled, use --enable-tee to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's tee surface backend feature" >&5
-$as_echo_n "checking for cairo's tee surface backend feature... " >&6; }
-               echo
-
-               use_tee=yes
-                       tee_BASE="cairo"
-tee_REQUIRES="$ac_env_tee_REQUIRES_value"
-tee_CFLAGS="$ac_env_tee_CFLAGS_value"
-tee_NONPKGCONFIG_CFLAGS="$ac_env_tee_NONPKGCONFIG_CFLAGS_value"
-tee_LIBS="$ac_env_tee_LIBS_value"
-tee_NONPKGCONFIG_LIBS="$ac_env_tee_NONPKGCONFIG_LIBS_value"
-tee_NONPKGCONFIG_EXTRA_LIBS="$ac_env_tee_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's tee surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's tee surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_tee" >&5
-$as_echo "$use_tee" >&6; }
-
-               if test "x$enable_tee" = "xyes" -a "x$use_tee" != xyes; then :
-                       as_fn_error $? " tee surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-tee: \`$use_tee', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_tee" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$tee_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$tee_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$tee_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$tee_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$tee_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset tee_BASE
-unset tee_REQUIRES
-unset tee_CFLAGS
-unset tee_NONPKGCONFIG_CFLAGS
-unset tee_LIBS
-unset tee_NONPKGCONFIG_LIBS
-unset tee_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_tee" = xyes; then
-  CAIRO_HAS_TEE_SURFACE_TRUE=
-  CAIRO_HAS_TEE_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_TEE_SURFACE_TRUE='#'
-  CAIRO_HAS_TEE_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_TEE_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_tee_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_tee_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_tee_headers)
-all_cairo_private += $(cairo_tee_private)
-all_cairo_cxx_sources += $(cairo_tee_cxx_sources)
-all_cairo_sources += $(cairo_tee_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_tee_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_tee_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_tee_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_tee_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_tee_headers)
-enabled_cairo_private += $(cairo_tee_private)
-enabled_cairo_cxx_sources += $(cairo_tee_cxx_sources)
-enabled_cairo_sources += $(cairo_tee_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_TEE_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_TEE_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_tee_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_tee_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_tee_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_tee_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_TEE_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_TEE_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_tee" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-tee.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_tee" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-tee-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-tee.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-tee.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_TEE_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_TEE_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_tee" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_TEE_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_TEE_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_TEE_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_tee" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The tee surface backend feature is still under active development and is
---- included in this release only as a preview. It does NOT fully work yet
---- and incompatible changes may yet be made to tee surface backend specific
---- API.'
-
-
-
-fi
-
-
-
-
-                                                                                                                               # Check whether --enable-xml was given.
-if test "${enable_xml+set}" = set; then :
-  enableval=$enable_xml; enable_xml=$enableval
-else
-  enable_xml=no
-fi
-
-                       case $enable_xml in #(
-  no) :
-               use_xml="no (disabled, use --enable-xml to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's xml surface backend feature" >&5
-$as_echo_n "checking for cairo's xml surface backend feature... " >&6; }
-               echo
-
-               use_xml=yes
-                       xml_BASE="cairo"
-xml_REQUIRES="$ac_env_xml_REQUIRES_value"
-xml_CFLAGS="$ac_env_xml_CFLAGS_value"
-xml_NONPKGCONFIG_CFLAGS="$ac_env_xml_NONPKGCONFIG_CFLAGS_value"
-xml_LIBS="$ac_env_xml_LIBS_value"
-xml_NONPKGCONFIG_LIBS="$ac_env_xml_NONPKGCONFIG_LIBS_value"
-xml_NONPKGCONFIG_EXTRA_LIBS="$ac_env_xml_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-    use_xml=$have_libz
-    xml_NONPKGCONFIG_LIBS=-lz
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's xml surface backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's xml surface backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_xml" >&5
-$as_echo "$use_xml" >&6; }
-
-               if test "x$enable_xml" = "xyes" -a "x$use_xml" != xyes; then :
-                       as_fn_error $? " xml surface backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-xml: \`$use_xml', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_xml" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$xml_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$xml_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$xml_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$xml_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$xml_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset xml_BASE
-unset xml_REQUIRES
-unset xml_CFLAGS
-unset xml_NONPKGCONFIG_CFLAGS
-unset xml_LIBS
-unset xml_NONPKGCONFIG_LIBS
-unset xml_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_xml" = xyes; then
-  CAIRO_HAS_XML_SURFACE_TRUE=
-  CAIRO_HAS_XML_SURFACE_FALSE='#'
-else
-  CAIRO_HAS_XML_SURFACE_TRUE='#'
-  CAIRO_HAS_XML_SURFACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_XML_SURFACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='unsupported_cairo_headers += $(cairo_xml_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_xml_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_xml_headers)
-all_cairo_private += $(cairo_xml_private)
-all_cairo_cxx_sources += $(cairo_xml_cxx_sources)
-all_cairo_sources += $(cairo_xml_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_xml_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_xml_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xml_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_xml_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_xml_headers)
-enabled_cairo_private += $(cairo_xml_private)
-enabled_cairo_cxx_sources += $(cairo_xml_cxx_sources)
-enabled_cairo_sources += $(cairo_xml_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XML_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XML_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_xml_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_xml_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_xml_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_xml_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_XML_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_XML_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_xml" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-xml.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_xml" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-xml-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-xml.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-xml.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_XML_SURFACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_XML_SURFACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_xml" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_XML_SURFACE'
-
-
-fi
-
-
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_XML_SURFACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_XML_SURFACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-                                       if test "x$use_xml" = xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'--- The xml surface backend feature is still under active development and is
---- included in this release only as a preview. It does NOT fully work yet
---- and incompatible changes may yet be made to xml surface backend specific
---- API.'
-
-
-
-fi
-
-
-
-
-
-
-                                                                                                                               enable_user=yes
-                       case $enable_user in #(
-  no) :
-               use_user="no (disabled, use --enable-user to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's user font backend feature" >&5
-$as_echo_n "checking for cairo's user font backend feature... " >&6; }
-               echo
-
-               use_user=yes
-                       user_BASE="cairo"
-user_REQUIRES="$ac_env_user_REQUIRES_value"
-user_CFLAGS="$ac_env_user_CFLAGS_value"
-user_NONPKGCONFIG_CFLAGS="$ac_env_user_NONPKGCONFIG_CFLAGS_value"
-user_LIBS="$ac_env_user_LIBS_value"
-user_NONPKGCONFIG_LIBS="$ac_env_user_NONPKGCONFIG_LIBS_value"
-user_NONPKGCONFIG_EXTRA_LIBS="$ac_env_user_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's user font backend feature could be enabled" >&5
-$as_echo_n "checking whether cairo's user font backend feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_user" >&5
-$as_echo "$use_user" >&6; }
-
-               if test "x$enable_user" = "xyes" -a "x$use_user" != xyes; then :
-                       as_fn_error $? "mandatory user font backend feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-user: \`$use_user', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_user" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$user_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$user_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$user_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$user_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$user_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset user_BASE
-unset user_REQUIRES
-unset user_CFLAGS
-unset user_NONPKGCONFIG_CFLAGS
-unset user_LIBS
-unset user_NONPKGCONFIG_LIBS
-unset user_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_user_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_user_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_user_headers)
-all_cairo_private += $(cairo_user_private)
-all_cairo_cxx_sources += $(cairo_user_cxx_sources)
-all_cairo_sources += $(cairo_user_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_user_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_user_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_user_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_user_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_user_headers)
-enabled_cairo_private += $(cairo_user_private)
-enabled_cairo_cxx_sources += $(cairo_user_cxx_sources)
-enabled_cairo_sources += $(cairo_user_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_user_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_user_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_user_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_user_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-
-                                       if test "x$use_user" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_USER_FONT'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_USER_FONT'
-
-
-
-                                       if test "x$use_user" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_USER_FONT'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_USER_FONT 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                               CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-
-
-have_real_pthread=no
-have_pthread=no
-                                                                                                                               # Check whether --enable-pthread was given.
-if test "${enable_pthread+set}" = set; then :
-  enableval=$enable_pthread; enable_pthread=$enableval
-else
-  enable_pthread=auto
-fi
-
-                       case $enable_pthread in #(
-  no) :
-               use_pthread="no (disabled, use --enable-pthread to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's pthread feature" >&5
-$as_echo_n "checking for cairo's pthread feature... " >&6; }
-               echo
-
-               use_pthread=yes
-                       pthread_BASE="cairo"
-pthread_REQUIRES="$ac_env_pthread_REQUIRES_value"
-pthread_CFLAGS="$ac_env_pthread_CFLAGS_value"
-pthread_NONPKGCONFIG_CFLAGS="$ac_env_pthread_NONPKGCONFIG_CFLAGS_value"
-pthread_LIBS="$ac_env_pthread_LIBS_value"
-pthread_NONPKGCONFIG_LIBS="$ac_env_pthread_NONPKGCONFIG_LIBS_value"
-pthread_NONPKGCONFIG_EXTRA_LIBS="$ac_env_pthread_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-                                       if test "x$PTHREAD_CFLAGS" = "x"; then
-               PTHREAD_CFLAGS="-D_REENTRANT"
-       fi
-       if test "x$PTHREAD_LIBS" = "x"; then
-               PTHREAD_LIBS="-lpthread"
-       fi
-
-                               # AC_LANG_PROGRAM() produces a main() w/o args,
-       # but -Wold-style-definition doesn't like that.
-       # We need _some_ program so that we don't get
-       # warnings about empty compilation units, so always
-       # append a reasonable main().
-       _compile_program="#ifndef _GNU_SOURCE
-#define _GNU_SOURCE /* for PTHREAD_MUTEX_INITIALIZER under linux */
-#endif
-#include <pthread.h>
-
-pthread_mutex_t test_mutex_initializer = PTHREAD_MUTEX_INITIALIZER;
-int test_mutex (void)
-{
-       int x = 0;
-       pthread_mutex_t mutex;
-       x |= pthread_mutex_init (&mutex, NULL);
-       x |= pthread_mutex_lock (&mutex);
-       x |= pthread_mutex_unlock (&mutex);
-       x |= pthread_mutex_destroy (&mutex);
-       return 0;
-}
-
-int test_mutex_attr (void)
-{
-       int x = 0;
-       pthread_mutexattr_t attr;
-       pthread_mutex_t mutex;
-       x |= pthread_mutexattr_init (&attr);
-       x |= pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE);
-       x |= pthread_mutex_init (&mutex, &attr);
-       x |= pthread_mutex_lock (&mutex);
-       x |= pthread_mutex_unlock (&mutex);
-       x |= pthread_mutex_destroy (&mutex);
-       x |= pthread_mutexattr_destroy (&attr);
-       return x;
-}
-
-pthread_once_t once_control = PTHREAD_ONCE_INIT;
-void test_once_init (void) {}
-int test_once (void)
-{
-       return pthread_once (&once_control, test_once_init);
-}
-
-pthread_key_t test_specific_key;
-int test_specific (void)
-{
-       int x = 0;
-       x |= pthread_key_create (&test_specific_key, NULL);
-       x |= pthread_setspecific (test_specific_key, NULL);
-       x |= pthread_getspecific (test_specific_key) != NULL;
-       return x;
-}
-
-void cleaner (void *arg) { (void)arg; }
-
-void *
-test_thread_main (void *arg)
-{
-       pthread_cleanup_push (cleaner, arg);
-       pthread_exit (arg);
-       pthread_cleanup_pop (1);
-       return arg;
-}
-
-int
-test_threads (void)
-{
-       int x = 0;
-       pthread_t thread;
-       pthread_attr_t attr;
-       void *arg = NULL;
-       x |= pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
-       x |= pthread_create (&thread, &attr, test_thread_main, arg);
-       x |= pthread_equal (pthread_self(), thread);
-       x |= pthread_join (thread, &arg);
-       x |= pthread_attr_destroy (&attr);
-       return x;
-}"'
-               int main(int c, char **v) { (void)c; (void)v; return 0; }'
-
-       _save_cflags="$CFLAGS"
-       _save_ldflags="$LDFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS $PTHREAD_CFLAGS";
-                LIBS="$LIBS $PTHREAD_LIBS"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$_compile_program
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=yes
-else
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-       if test "x$cairo_cc_stderr" != "x"; then
-               cairo_cc_flag=no
-       fi
-
-       if test "x$cairo_cc_flag" = "xyes"; then
-               real_pthread_CFLAGS="$PTHREAD_CFLAGS";
-                real_pthread_LIBS="$PTHREAD_LIBS";
-                have_real_pthread=yes
-       else
-               real_pthread_CFLAGS="";
-                real_pthread_LIBS="";
-                have_real_pthread=no
-       fi
-       CFLAGS="$_save_cflags"
-       LDFLAGS="$_save_ldflags"
-       LIBS="$_save_libs"
-
-
-       if test "x$have_real_pthread" != "xyes"; then
-                                               # AC_LANG_PROGRAM() produces a main() w/o args,
-       # but -Wold-style-definition doesn't like that.
-       # We need _some_ program so that we don't get
-       # warnings about empty compilation units, so always
-       # append a reasonable main().
-       _compile_program="#ifndef _GNU_SOURCE
-#define _GNU_SOURCE /* for PTHREAD_MUTEX_INITIALIZER under linux */
-#endif
-#include <pthread.h>
-
-pthread_mutex_t test_mutex_initializer = PTHREAD_MUTEX_INITIALIZER;
-int test_mutex (void)
-{
-       int x = 0;
-       pthread_mutex_t mutex;
-       x |= pthread_mutex_init (&mutex, NULL);
-       x |= pthread_mutex_lock (&mutex);
-       x |= pthread_mutex_unlock (&mutex);
-       x |= pthread_mutex_destroy (&mutex);
-       return 0;
-}
-
-int test_mutex_attr (void)
-{
-       int x = 0;
-       pthread_mutexattr_t attr;
-       pthread_mutex_t mutex;
-       x |= pthread_mutexattr_init (&attr);
-       x |= pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE);
-       x |= pthread_mutex_init (&mutex, &attr);
-       x |= pthread_mutex_lock (&mutex);
-       x |= pthread_mutex_unlock (&mutex);
-       x |= pthread_mutex_destroy (&mutex);
-       x |= pthread_mutexattr_destroy (&attr);
-       return x;
-}
-
-pthread_once_t once_control = PTHREAD_ONCE_INIT;
-void test_once_init (void) {}
-int test_once (void)
-{
-       return pthread_once (&once_control, test_once_init);
-}
-
-pthread_key_t test_specific_key;
-int test_specific (void)
-{
-       int x = 0;
-       x |= pthread_key_create (&test_specific_key, NULL);
-       x |= pthread_setspecific (test_specific_key, NULL);
-       x |= pthread_getspecific (test_specific_key) != NULL;
-       return x;
-}
-
-void cleaner (void *arg) { (void)arg; }
-
-void *
-test_thread_main (void *arg)
-{
-       pthread_cleanup_push (cleaner, arg);
-       pthread_exit (arg);
-       pthread_cleanup_pop (1);
-       return arg;
-}
-
-int
-test_threads (void)
-{
-       int x = 0;
-       pthread_t thread;
-       pthread_attr_t attr;
-       void *arg = NULL;
-       x |= pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
-       x |= pthread_create (&thread, &attr, test_thread_main, arg);
-       x |= pthread_equal (pthread_self(), thread);
-       x |= pthread_join (thread, &arg);
-       x |= pthread_attr_destroy (&attr);
-       return x;
-}"'
-               int main(int c, char **v) { (void)c; (void)v; return 0; }'
-
-       _save_cflags="$CFLAGS"
-       _save_ldflags="$LDFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS -pthread";
-                LIBS="$LIBS "
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$_compile_program
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=yes
-else
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-       if test "x$cairo_cc_stderr" != "x"; then
-               cairo_cc_flag=no
-       fi
-
-       if test "x$cairo_cc_flag" = "xyes"; then
-               real_pthread_CFLAGS="-pthread";
-                real_pthread_LIBS="";
-                have_real_pthread=yes
-       else
-               real_pthread_CFLAGS="";
-                real_pthread_LIBS="";
-                have_real_pthread="no (can't link with -lpthread or -pthread)"
-       fi
-       CFLAGS="$_save_cflags"
-       LDFLAGS="$_save_ldflags"
-       LIBS="$_save_libs"
-
-
-       fi
-       PTHREAD_CFLAGS=
-       PTHREAD_LIBS=
-
-                               have_pthread="no"
-       if test "x$enable_pthread" != "xyes"; then
-                               # AC_LANG_PROGRAM() produces a main() w/o args,
-       # but -Wold-style-definition doesn't like that.
-       # We need _some_ program so that we don't get
-       # warnings about empty compilation units, so always
-       # append a reasonable main().
-       _compile_program="#ifndef _GNU_SOURCE
-#define _GNU_SOURCE /* for PTHREAD_MUTEX_INITIALIZER under linux */
-#endif
-#include <pthread.h>
-
-pthread_mutex_t test_mutex_initializer = PTHREAD_MUTEX_INITIALIZER;
-int test_mutex (void)
-{
-       int x = 0;
-       pthread_mutex_t mutex;
-       x |= pthread_mutex_init (&mutex, NULL);
-       x |= pthread_mutex_lock (&mutex);
-       x |= pthread_mutex_unlock (&mutex);
-       x |= pthread_mutex_destroy (&mutex);
-       return 0;
-}
-
-int test_mutex_attr (void)
-{
-       int x = 0;
-       pthread_mutexattr_t attr;
-       pthread_mutex_t mutex;
-       x |= pthread_mutexattr_init (&attr);
-       x |= pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE);
-       x |= pthread_mutex_init (&mutex, &attr);
-       x |= pthread_mutex_lock (&mutex);
-       x |= pthread_mutex_unlock (&mutex);
-       x |= pthread_mutex_destroy (&mutex);
-       x |= pthread_mutexattr_destroy (&attr);
-       return x;
-}"'
-               int main(int c, char **v) { (void)c; (void)v; return 0; }'
-
-       _save_cflags="$CFLAGS"
-       _save_ldflags="$LDFLAGS"
-       _save_libs="$LIBS"
-       CFLAGS="$CFLAGS -D_REENTRANT";
-                LIBS="$LIBS "
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$_compile_program
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=yes
-else
-  cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
-                cairo_cc_flag=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-       if test "x$cairo_cc_stderr" != "x"; then
-               cairo_cc_flag=no
-       fi
-
-       if test "x$cairo_cc_flag" = "xyes"; then
-               pthread_CFLAGS="-D_REENTRANT";
-                pthread_LIBS="";
-                have_pthread=yes
-       else
-               pthread_CFLAGS="";
-                pthread_LIBS="";
-
-       fi
-       CFLAGS="$_save_cflags"
-       LDFLAGS="$_save_ldflags"
-       LIBS="$_save_libs"
-
-
-       fi
-
-               if test "x$have_pthread" != "xyes"; then
-               have_pthread="$have_real_pthread";
-               pthread_CFLAGS="$real_pthread_CFLAGS";
-               pthread_LIBS="$real_pthread_LIBS";
-       fi
-
-               if test "x$have_real_pthread" = "xyes"; then
-
-$as_echo "#define CAIRO_HAS_REAL_PTHREAD 1" >>confdefs.h
-
-       fi
-       if test "x$have_pthread" = "xyes"; then
-
-$as_echo "#define CAIRO_HAS_PTHREAD 1" >>confdefs.h
-
-       fi
-
-               if test "x$enable_pthread" = "xyes" -a "x$have_pthread" != "xyes"; then
-               as_fn_error $? "pthread requested but not found" "$LINENO" 5
-       fi
-
-               use_pthread="$have_pthread"
-       pthread_REQUIRES=""
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's pthread feature could be enabled" >&5
-$as_echo_n "checking whether cairo's pthread feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_pthread" >&5
-$as_echo "$use_pthread" >&6; }
-
-               if test "x$enable_pthread" = "xyes" -a "x$use_pthread" != xyes; then :
-                       as_fn_error $? " pthread feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-pthread: \`$use_pthread', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_pthread" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$pthread_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$pthread_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$pthread_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$pthread_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$pthread_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset pthread_BASE
-unset pthread_REQUIRES
-unset pthread_CFLAGS
-unset pthread_NONPKGCONFIG_CFLAGS
-unset pthread_LIBS
-unset pthread_NONPKGCONFIG_LIBS
-unset pthread_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_pthread" = xyes; then
-  CAIRO_HAS_PTHREAD_TRUE=
-  CAIRO_HAS_PTHREAD_FALSE='#'
-else
-  CAIRO_HAS_PTHREAD_TRUE='#'
-  CAIRO_HAS_PTHREAD_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_PTHREAD=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-                                                                               cr_make_tmp='all_cairo_private += $(cairo_pthread_private) $(cairo_pthread_headers)
-all_cairo_cxx_sources += $(cairo_pthread_cxx_sources)
-all_cairo_sources += $(cairo_pthread_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_private += $(cairo_boilerplate_pthread_private) $(cairo_boilerplate_pthread_headers)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_pthread_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_pthread_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_private += $(cairo_pthread_private) $(cairo_pthread_headers)
-enabled_cairo_cxx_sources += $(cairo_pthread_cxx_sources)
-enabled_cairo_sources += $(cairo_pthread_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_PTHREAD'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_PTHREAD),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_private += $(cairo_boilerplate_pthread_private) $(cairo_boilerplate_pthread_headers)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_pthread_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_pthread_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_PTHREAD'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_PTHREAD),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-
-                                       if test "x$use_pthread" = xyes; then :
-  :
-
-$as_echo "#define CAIRO_HAS_PTHREAD 1" >>confdefs.h
-
-
-
-fi
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_PTHREAD 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_PTHREAD),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-
-
- if test "x$use_pthread" = "xyes" -a "x$have_real_pthread" = "xyes"; then
-  HAVE_REAL_PTHREAD_TRUE=
-  HAVE_REAL_PTHREAD_FALSE='#'
-else
-  HAVE_REAL_PTHREAD_TRUE='#'
-  HAVE_REAL_PTHREAD_FALSE=
-fi
-
- if test "x$use_pthread" = "xyes"; then
-  HAVE_PTHREAD_TRUE=
-  HAVE_PTHREAD_FALSE='#'
-else
-  HAVE_PTHREAD_TRUE='#'
-  HAVE_PTHREAD_FALSE=
-fi
-
-
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-gobject was given.
-if test "${enable_gobject+set}" = set; then :
-  enableval=$enable_gobject; enable_gobject=$enableval
-else
-  enable_gobject=auto
-fi
-
-                       case $enable_gobject in #(
-  no) :
-               use_gobject="no (disabled, use --enable-gobject to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's gobject functions feature" >&5
-$as_echo_n "checking for cairo's gobject functions feature... " >&6; }
-               echo
-
-               use_gobject=yes
-                       gobject_BASE="cairo"
-gobject_REQUIRES="$ac_env_gobject_REQUIRES_value"
-gobject_CFLAGS="$ac_env_gobject_CFLAGS_value"
-gobject_NONPKGCONFIG_CFLAGS="$ac_env_gobject_NONPKGCONFIG_CFLAGS_value"
-gobject_LIBS="$ac_env_gobject_LIBS_value"
-gobject_NONPKGCONFIG_LIBS="$ac_env_gobject_NONPKGCONFIG_LIBS_value"
-gobject_NONPKGCONFIG_EXTRA_LIBS="$ac_env_gobject_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-  gobject_REQUIRES="gobject-2.0 glib-2.0"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GOBJECT" >&5
-$as_echo_n "checking for GOBJECT... " >&6; }
-
-if test -n "$GOBJECT_CFLAGS"; then
-    pkg_cv_GOBJECT_CFLAGS="$GOBJECT_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gobject_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$gobject_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GOBJECT_CFLAGS=`$PKG_CONFIG --cflags "$gobject_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$GOBJECT_LIBS"; then
-    pkg_cv_GOBJECT_LIBS="$GOBJECT_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gobject_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$gobject_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GOBJECT_LIBS=`$PKG_CONFIG --libs "$gobject_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               GOBJECT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$gobject_REQUIRES" 2>&1`
-        else
-               GOBJECT_PKG_ERRORS=`$PKG_CONFIG --print-errors "$gobject_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$GOBJECT_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  use_gobject="no (requires $gobject_REQUIRES http://download.gnome.org/pub/GNOME/sources/glib/)"
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  use_gobject="no (requires $gobject_REQUIRES http://download.gnome.org/pub/GNOME/sources/glib/)"
-else
-       GOBJECT_CFLAGS=$pkg_cv_GOBJECT_CFLAGS
-       GOBJECT_LIBS=$pkg_cv_GOBJECT_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-  gobject_NONPKGCONFIG_EXTRA_LIBS="-L\${libdir} -lcairo-gobject"
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's gobject functions feature could be enabled" >&5
-$as_echo_n "checking whether cairo's gobject functions feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_gobject" >&5
-$as_echo "$use_gobject" >&6; }
-
-               if test "x$enable_gobject" = "xyes" -a "x$use_gobject" != xyes; then :
-                       as_fn_error $? " gobject functions feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-gobject: \`$use_gobject', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_gobject" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$gobject_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$gobject_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$gobject_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$gobject_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$gobject_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset gobject_BASE
-unset gobject_REQUIRES
-unset gobject_CFLAGS
-unset gobject_NONPKGCONFIG_CFLAGS
-unset gobject_LIBS
-unset gobject_NONPKGCONFIG_LIBS
-unset gobject_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_gobject" = xyes; then
-  CAIRO_HAS_GOBJECT_FUNCTIONS_TRUE=
-  CAIRO_HAS_GOBJECT_FUNCTIONS_FALSE='#'
-else
-  CAIRO_HAS_GOBJECT_FUNCTIONS_TRUE='#'
-  CAIRO_HAS_GOBJECT_FUNCTIONS_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_GOBJECT_FUNCTIONS=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='supported_cairo_headers += $(cairo_gobject_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='supported_cairo_boilerplate_headers += $(cairo_boilerplate_gobject_headers)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-                                                                               cr_make_tmp='all_cairo_headers += $(cairo_gobject_headers)
-all_cairo_private += $(cairo_gobject_private)
-all_cairo_cxx_sources += $(cairo_gobject_cxx_sources)
-all_cairo_sources += $(cairo_gobject_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_headers += $(cairo_boilerplate_gobject_headers)
-all_cairo_boilerplate_private += $(cairo_boilerplate_gobject_private)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gobject_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_gobject_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_headers += $(cairo_gobject_headers)
-enabled_cairo_private += $(cairo_gobject_private)
-enabled_cairo_cxx_sources += $(cairo_gobject_cxx_sources)
-enabled_cairo_sources += $(cairo_gobject_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_GOBJECT_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_GOBJECT_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_headers += $(cairo_boilerplate_gobject_headers)
-enabled_cairo_boilerplate_private += $(cairo_boilerplate_gobject_private)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gobject_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_gobject_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_GOBJECT_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_GOBJECT_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-                                       if test "x$use_gobject" = xyes; then :
-  :
-               ac_config_files="$ac_config_files src/cairo-gobject.pc:src/cairo-features.pc.in"
-
-
-fi
-                                       if test "x$use_gobject" = xyes; then :
-  :
-               ac_config_files="$ac_config_files cairo-gobject-uninstalled.pc:src/cairo-features-uninstalled.pc.in"
-
-
-fi
-                                                                               cr_make_tmp='all_cairo_pkgconf += cairo-gobject.pc'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_pkgconf += cairo-gobject.pc'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_GOBJECT_FUNCTIONS'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_GOBJECT_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-
-
-                                       if test "x$use_gobject" = xyes; then :
-  :
-                                       CAIRO_FEATURES="${CAIRO_FEATURES} "'CAIRO_HAS_GOBJECT_FUNCTIONS'
-
-
-fi
-                                                                               CAIRO_SUPPORTED_FEATURES="${CAIRO_SUPPORTED_FEATURES} "'CAIRO_HAS_GOBJECT_FUNCTIONS'
-
-
-
-                                       if test "x$use_gobject" != xyes; then :
-  :
-                                       CAIRO_NO_FEATURES="${CAIRO_NO_FEATURES} "'CAIRO_HAS_GOBJECT_FUNCTIONS'
-
-
-
-fi
-
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_GOBJECT_FUNCTIONS 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_GOBJECT_FUNCTIONS),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-
-
-if test "x$use_gobject" = "xyes"; then
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GOBJECT" >&5
-$as_echo_n "checking for GOBJECT... " >&6; }
-
-if test -n "$GOBJECT_CFLAGS"; then
-    pkg_cv_GOBJECT_CFLAGS="$GOBJECT_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gobject_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$gobject_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GOBJECT_CFLAGS=`$PKG_CONFIG --cflags "$gobject_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$GOBJECT_LIBS"; then
-    pkg_cv_GOBJECT_LIBS="$GOBJECT_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gobject_REQUIRES\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$gobject_REQUIRES") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GOBJECT_LIBS=`$PKG_CONFIG --libs "$gobject_REQUIRES" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               GOBJECT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$gobject_REQUIRES" 2>&1`
-        else
-               GOBJECT_PKG_ERRORS=`$PKG_CONFIG --print-errors "$gobject_REQUIRES" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$GOBJECT_PKG_ERRORS" >&5
-
-       as_fn_error $? "Package requirements ($gobject_REQUIRES) were not met:
-
-$GOBJECT_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables GOBJECT_CFLAGS
-and GOBJECT_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" "$LINENO" 5
-elif test $pkg_failed = untried; then
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables GOBJECT_CFLAGS
-and GOBJECT_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5 ; }
-else
-       GOBJECT_CFLAGS=$pkg_cv_GOBJECT_CFLAGS
-       GOBJECT_LIBS=$pkg_cv_GOBJECT_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       :
-fi
-fi
-
-
-# Check whether --enable-full-testing was given.
-if test "${enable_full_testing+set}" = set; then :
-  enableval=$enable_full_testing;
-if test "x$enableval" = "xyes"; then
-    CAIRO_TEST_MODE=full
-
-fi
-
-fi
-
-
- if test "x$any2ppm_svg" = "xyes" \
-                -o "x$any2ppm_pdf" = "xyes" \
-                -o "x$any2ppm_ps"  = "xyes" \
-                -o "x$any2ppm_cs"  = "xyes"; then
-  BUILD_ANY2PPM_TRUE=
-  BUILD_ANY2PPM_FALSE='#'
-else
-  BUILD_ANY2PPM_TRUE='#'
-  BUILD_ANY2PPM_FALSE=
-fi
-
-
-
-case $host in
-*-*-darwin*)
-       SHLIB_EXT="dylib"
-       ;;
-*)
-       SHLIB_EXT="so"
-       ;;
-esac
-
-cat >>confdefs.h <<_ACEOF
-#define SHARED_LIB_EXT "${SHLIB_EXT}"
-_ACEOF
-
-
-
-
-case $host in
-*-linux*|*-*bsd*|*-solaris*|*-*-darwin*|*-dragonfly*|*-*-gnu*)
-       have_ld_preload="yes"
-       ;;
-*)
-       have_ld_preload="no"
-       ;;
-esac
-
-                                                                                                                               # Check whether --enable-trace was given.
-if test "${enable_trace+set}" = set; then :
-  enableval=$enable_trace; enable_trace=$enableval
-else
-  enable_trace=auto
-fi
-
-                       case $enable_trace in #(
-  no) :
-               use_trace="no (disabled, use --enable-trace to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's cairo-trace feature" >&5
-$as_echo_n "checking for cairo's cairo-trace feature... " >&6; }
-               echo
-
-               use_trace=yes
-                       trace_BASE="cairo"
-trace_REQUIRES="$ac_env_trace_REQUIRES_value"
-trace_CFLAGS="$ac_env_trace_CFLAGS_value"
-trace_NONPKGCONFIG_CFLAGS="$ac_env_trace_NONPKGCONFIG_CFLAGS_value"
-trace_LIBS="$ac_env_trace_LIBS_value"
-trace_NONPKGCONFIG_LIBS="$ac_env_trace_NONPKGCONFIG_LIBS_value"
-trace_NONPKGCONFIG_EXTRA_LIBS="$ac_env_trace_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-       if test "x$have_ld_preload" != "xyes" -o \
-               "x$have_libz" != "xyes" -o \
-               "x$have_real_pthread" != "xyes" -o \
-               "x$have_dlsym" != "xyes"; then
-               use_trace="no (requires dynamic linker and zlib and real pthreads)"
-       fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's cairo-trace feature could be enabled" >&5
-$as_echo_n "checking whether cairo's cairo-trace feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_trace" >&5
-$as_echo "$use_trace" >&6; }
-
-               if test "x$enable_trace" = "xyes" -a "x$use_trace" != xyes; then :
-                       as_fn_error $? " cairo-trace feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-trace: \`$use_trace', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_trace" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$trace_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$trace_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$trace_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$trace_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$trace_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset trace_BASE
-unset trace_REQUIRES
-unset trace_CFLAGS
-unset trace_NONPKGCONFIG_CFLAGS
-unset trace_LIBS
-unset trace_NONPKGCONFIG_LIBS
-unset trace_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_trace" = xyes; then
-  CAIRO_HAS_TRACE_TRUE=
-  CAIRO_HAS_TRACE_FALSE='#'
-else
-  CAIRO_HAS_TRACE_TRUE='#'
-  CAIRO_HAS_TRACE_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_TRACE=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-                                                                               cr_make_tmp='all_cairo_private += $(cairo_trace_private) $(cairo_trace_headers)
-all_cairo_cxx_sources += $(cairo_trace_cxx_sources)
-all_cairo_sources += $(cairo_trace_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_private += $(cairo_boilerplate_trace_private) $(cairo_boilerplate_trace_headers)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_trace_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_trace_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_private += $(cairo_trace_private) $(cairo_trace_headers)
-enabled_cairo_cxx_sources += $(cairo_trace_cxx_sources)
-enabled_cairo_sources += $(cairo_trace_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_TRACE'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_TRACE),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_private += $(cairo_boilerplate_trace_private) $(cairo_boilerplate_trace_headers)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_trace_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_trace_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_TRACE'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_TRACE),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-
-                                       if test "x$use_trace" = xyes; then :
-  :
-
-$as_echo "#define CAIRO_HAS_TRACE 1" >>confdefs.h
-
-
-
-fi
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_TRACE 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_TRACE),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-                                                                                                                               # Check whether --enable-interpreter was given.
-if test "${enable_interpreter+set}" = set; then :
-  enableval=$enable_interpreter; enable_interpreter=$enableval
-else
-  enable_interpreter=yes
-fi
-
-                       case $enable_interpreter in #(
-  no) :
-               use_interpreter="no (disabled, use --enable-interpreter to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's cairo-script-interpreter feature" >&5
-$as_echo_n "checking for cairo's cairo-script-interpreter feature... " >&6; }
-               echo
-
-               use_interpreter=yes
-                       interpreter_BASE="cairo"
-interpreter_REQUIRES="$ac_env_interpreter_REQUIRES_value"
-interpreter_CFLAGS="$ac_env_interpreter_CFLAGS_value"
-interpreter_NONPKGCONFIG_CFLAGS="$ac_env_interpreter_NONPKGCONFIG_CFLAGS_value"
-interpreter_LIBS="$ac_env_interpreter_LIBS_value"
-interpreter_NONPKGCONFIG_LIBS="$ac_env_interpreter_NONPKGCONFIG_LIBS_value"
-interpreter_NONPKGCONFIG_EXTRA_LIBS="$ac_env_interpreter_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-       if test "x$have_libz" != "xyes"; then
-               use_interpreter="no (requires zlib)"
-       fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's cairo-script-interpreter feature could be enabled" >&5
-$as_echo_n "checking whether cairo's cairo-script-interpreter feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_interpreter" >&5
-$as_echo "$use_interpreter" >&6; }
-
-               if test "x$enable_interpreter" = "xyes" -a "x$use_interpreter" != xyes; then :
-                       as_fn_error $? "recommended cairo-script-interpreter feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-interpreter: \`$use_interpreter', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_interpreter" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$interpreter_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$interpreter_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$interpreter_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$interpreter_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$interpreter_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset interpreter_BASE
-unset interpreter_REQUIRES
-unset interpreter_CFLAGS
-unset interpreter_NONPKGCONFIG_CFLAGS
-unset interpreter_LIBS
-unset interpreter_NONPKGCONFIG_LIBS
-unset interpreter_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_interpreter" = xyes; then
-  CAIRO_HAS_INTERPRETER_TRUE=
-  CAIRO_HAS_INTERPRETER_FALSE='#'
-else
-  CAIRO_HAS_INTERPRETER_TRUE='#'
-  CAIRO_HAS_INTERPRETER_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_INTERPRETER=1'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-                                                                               cr_make_tmp='all_cairo_private += $(cairo_interpreter_private) $(cairo_interpreter_headers)
-all_cairo_cxx_sources += $(cairo_interpreter_cxx_sources)
-all_cairo_sources += $(cairo_interpreter_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_private += $(cairo_boilerplate_interpreter_private) $(cairo_boilerplate_interpreter_headers)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_interpreter_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_interpreter_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_private += $(cairo_interpreter_private) $(cairo_interpreter_headers)
-enabled_cairo_cxx_sources += $(cairo_interpreter_cxx_sources)
-enabled_cairo_sources += $(cairo_interpreter_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_INTERPRETER'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_INTERPRETER),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_private += $(cairo_boilerplate_interpreter_private) $(cairo_boilerplate_interpreter_headers)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_interpreter_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_interpreter_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_INTERPRETER'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_INTERPRETER),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-
-                                       if test "x$use_interpreter" = xyes; then :
-  :
-
-$as_echo "#define CAIRO_HAS_INTERPRETER 1" >>confdefs.h
-
-
-
-fi
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_INTERPRETER 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_INTERPRETER),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-                                       if test "x$use_interpreter" != xyes; then :
-  :
-                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'+++ It is strongly recommended that you do NOT disable the
-+++ cairo-script-interpreter feature.'
-
-
-
-fi
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bfd_openr in -lbfd" >&5
-$as_echo_n "checking for bfd_openr in -lbfd... " >&6; }
-if test "${ac_cv_lib_bfd_bfd_openr+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbfd  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char bfd_openr ();
-int
-main ()
-{
-return bfd_openr ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_bfd_bfd_openr=yes
-else
-  ac_cv_lib_bfd_bfd_openr=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bfd_bfd_openr" >&5
-$as_echo "$ac_cv_lib_bfd_bfd_openr" >&6; }
-if test "x$ac_cv_lib_bfd_bfd_openr" = x""yes; then :
-  ac_fn_c_check_header_mongrel "$LINENO" "bfd.h" "ac_cv_header_bfd_h" "$ac_includes_default"
-if test "x$ac_cv_header_bfd_h" = x""yes; then :
-  have_bfd=yes
-else
-  have_bfd=no
-fi
-
-
-else
-  have_bfd=no
-fi
-
-ac_fn_c_check_header_mongrel "$LINENO" "libiberty.h" "ac_cv_header_libiberty_h" "$ac_includes_default"
-if test "x$ac_cv_header_libiberty_h" = x""yes; then :
-
-else
-  have_bfd=no
-fi
-
-
-if test "x$have_bfd" = "xyes"; then
-
-$as_echo "#define HAVE_BFD 1" >>confdefs.h
-
-    BFD_LIBS=-lbfd
-
-fi
-
-                                                                                                                               # Check whether --enable-symbol-lookup was given.
-if test "${enable_symbol_lookup+set}" = set; then :
-  enableval=$enable_symbol_lookup; enable_symbol_lookup=$enableval
-else
-  enable_symbol_lookup=auto
-fi
-
-                       case $enable_symbol_lookup in #(
-  no) :
-               use_symbol_lookup="no (disabled, use --enable-symbol-lookup to enable)"
-        ;; #(
-       yes|auto) :
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo's symbol-lookup feature" >&5
-$as_echo_n "checking for cairo's symbol-lookup feature... " >&6; }
-               echo
-
-               use_symbol_lookup=yes
-                       symbol_lookup_BASE="cairo"
-symbol_lookup_REQUIRES="$ac_env_symbol_lookup_REQUIRES_value"
-symbol_lookup_CFLAGS="$ac_env_symbol_lookup_CFLAGS_value"
-symbol_lookup_NONPKGCONFIG_CFLAGS="$ac_env_symbol_lookup_NONPKGCONFIG_CFLAGS_value"
-symbol_lookup_LIBS="$ac_env_symbol_lookup_LIBS_value"
-symbol_lookup_NONPKGCONFIG_LIBS="$ac_env_symbol_lookup_NONPKGCONFIG_LIBS_value"
-symbol_lookup_NONPKGCONFIG_EXTRA_LIBS="$ac_env_symbol_lookup_NONPKGCONFIG_EXTRA_LIBS_value"
-
-
-
-       if test "x$have_bfd" != "xyes"; then
-               use_symbol_lookup="no (requires bfd)"
-       fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's symbol-lookup feature could be enabled" >&5
-$as_echo_n "checking whether cairo's symbol-lookup feature could be enabled... " >&6; }
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_symbol_lookup" >&5
-$as_echo "$use_symbol_lookup" >&6; }
-
-               if test "x$enable_symbol_lookup" = "xyes" -a "x$use_symbol_lookup" != xyes; then :
-                       as_fn_error $? " symbol-lookup feature could not be enabled" "$LINENO" 5
-
-fi      ;; #(
-  *) :
-                       as_fn_error $? "invalid argument passed to --enable-symbol-lookup: \`$use_symbol_lookup', should be one of [no/auto/yes]" "$LINENO" 5
-        ;;
-esac
-       if test "x$use_symbol_lookup" = "xyes"; then :
-                                                                               CAIRO_REQUIRES="$symbol_lookup_REQUIRES"" ${CAIRO_REQUIRES}"
-
-                                                                       CAIRO_CFLAGS="$symbol_lookup_CFLAGS"" ${CAIRO_CFLAGS}"
-
-                                                                       CAIRO_NONPKGCONFIG_CFLAGS="$symbol_lookup_NONPKGCONFIG_CFLAGS"" ${CAIRO_NONPKGCONFIG_CFLAGS}"
-
-                                                                       CAIRO_LIBS="$symbol_lookup_LIBS"" ${CAIRO_LIBS}"
-
-                                                                       CAIRO_NONPKGCONFIG_LIBS="$symbol_lookup_NONPKGCONFIG_LIBS"" ${CAIRO_NONPKGCONFIG_LIBS}"
-
-
-else
-                                       unset symbol_lookup_BASE
-unset symbol_lookup_REQUIRES
-unset symbol_lookup_CFLAGS
-unset symbol_lookup_NONPKGCONFIG_CFLAGS
-unset symbol_lookup_LIBS
-unset symbol_lookup_NONPKGCONFIG_LIBS
-unset symbol_lookup_NONPKGCONFIG_EXTRA_LIBS
-
-
-fi
-
-                                                        if test "x$use_symbol_lookup" = xyes; then
-  CAIRO_HAS_SYMBOL_LOOKUP_TRUE=
-  CAIRO_HAS_SYMBOL_LOOKUP_FALSE='#'
-else
-  CAIRO_HAS_SYMBOL_LOOKUP_TRUE='#'
-  CAIRO_HAS_SYMBOL_LOOKUP_FALSE=
-fi
-
-
-                                                                               cr_make_tmp='CAIRO_HAS_SYMBOL_LOOKUP=0'
-                                                                                                               CAIRO_MAKEFILE___WIN32="${CAIRO_MAKEFILE___WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp=''
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-
-
-
-
-                                                                               cr_make_tmp='all_cairo_private += $(cairo_symbol_lookup_private) $(cairo_symbol_lookup_headers)
-all_cairo_cxx_sources += $(cairo_symbol_lookup_cxx_sources)
-all_cairo_sources += $(cairo_symbol_lookup_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                                                               cr_make_tmp='all_cairo_boilerplate_private += $(cairo_boilerplate_symbol_lookup_private) $(cairo_boilerplate_symbol_lookup_headers)
-all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_symbol_lookup_cxx_sources)
-all_cairo_boilerplate_sources += $(cairo_boilerplate_symbol_lookup_sources)'
-                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-
-                                                                                                               CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-
-
-                                                                               cr_make_tmp='enabled_cairo_private += $(cairo_symbol_lookup_private) $(cairo_symbol_lookup_headers)
-enabled_cairo_cxx_sources += $(cairo_symbol_lookup_cxx_sources)
-enabled_cairo_sources += $(cairo_symbol_lookup_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'if CAIRO_HAS_SYMBOL_LOOKUP'
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_AMAKE="${CAIRO_MAKEFILE_cairo_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'ifeq ($(CAIRO_HAS_SYMBOL_LOOKUP),1)'
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_WIN32="${CAIRO_MAKEFILE_cairo_WIN32}
-"'endif'
-                                                                       cr_make_tmp='enabled_cairo_boilerplate_private += $(cairo_boilerplate_symbol_lookup_private) $(cairo_boilerplate_symbol_lookup_headers)
-enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_symbol_lookup_cxx_sources)
-enabled_cairo_boilerplate_sources += $(cairo_boilerplate_symbol_lookup_sources)'
-                                                                               CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'if CAIRO_HAS_SYMBOL_LOOKUP'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_AMAKE="${CAIRO_MAKEFILE_cairo_boilerplate_AMAKE}
-"'endif'
-
-                                                                                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'ifeq ($(CAIRO_HAS_SYMBOL_LOOKUP),1)'
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_cairo_boilerplate_WIN32="${CAIRO_MAKEFILE_cairo_boilerplate_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-
-                                       if test "x$use_symbol_lookup" = xyes; then :
-  :
-
-$as_echo "#define CAIRO_HAS_SYMBOL_LOOKUP 1" >>confdefs.h
-
-
-
-fi
-                                                                               cr_make_tmp='   @echo "#define CAIRO_HAS_SYMBOL_LOOKUP 1" >> $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'ifeq ($(CAIRO_HAS_SYMBOL_LOOKUP),1)'
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-"'endif'
-
-
-
-
-
-
-
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for glib" >&5
-$as_echo_n "checking for glib... " >&6; }
-
-if test -n "$glib_CFLAGS"; then
-    pkg_cv_glib_CFLAGS="$glib_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_glib_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$glib_LIBS"; then
-    pkg_cv_glib_LIBS="$glib_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_glib_LIBS=`$PKG_CONFIG --libs "glib-2.0" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               glib_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0" 2>&1`
-        else
-               glib_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$glib_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                have_glib=no
-elif test $pkg_failed = untried; then
-       have_glib=no
-else
-       glib_CFLAGS=$pkg_cv_glib_CFLAGS
-       glib_LIBS=$pkg_cv_glib_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       have_glib=yes
-fi
-
-
- if test "x$have_glib" = "xyes"; then
-  BUILD_SPHINX_TRUE=
-  BUILD_SPHINX_FALSE='#'
-else
-  BUILD_SPHINX_TRUE='#'
-  BUILD_SPHINX_FALSE=
-fi
-
-
-save_LIBS="$LIBS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shm_open in -lrt" >&5
-$as_echo_n "checking for shm_open in -lrt... " >&6; }
-if test "${ac_cv_lib_rt_shm_open+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shm_open ();
-int
-main ()
-{
-return shm_open ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_rt_shm_open=yes
-else
-  ac_cv_lib_rt_shm_open=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_shm_open" >&5
-$as_echo "$ac_cv_lib_rt_shm_open" >&6; }
-if test "x$ac_cv_lib_rt_shm_open" = x""yes; then :
-  shm_LIBS="-lrt"
-fi
-
-
-LIBS="$save_LIBS"
-
-
-# Check whether --enable-some-floating-point was given.
-if test "${enable_some_floating_point+set}" = set; then :
-  enableval=$enable_some_floating_point;
-if test "x$enableval" = "xno"; then
-  # A value of 'no' for $enableval means that they want to disable, which
-  # means 'yes' for $disable_some_floating_point.
-  disable_some_floating_point=yes
-fi
-
-else
-  disable_some_floating_point=no
-fi
-
-
- if test "x$disable_some_floating_point" = "xyes"; then
-  DISABLE_SOME_FLOATING_POINT_TRUE=
-  DISABLE_SOME_FLOATING_POINT_FALSE='#'
-else
-  DISABLE_SOME_FLOATING_POINT_TRUE='#'
-  DISABLE_SOME_FLOATING_POINT_FALSE=
-fi
-
-if test "x$disable_some_floating_point" = "xyes"; then
-
-$as_echo "#define DISABLE_SOME_FLOATING_POINT 1" >>confdefs.h
-
-fi
-
-
-need_cxx="no"
-if test "x$use_skia" = "xyes"; then :
-  need_cxx="yes"
-fi
-if test "x$use_qt" = "xyes"; then :
-  need_cxx="yes"
-fi
-if test "x$use_beos" = "xyes"; then :
-  need_cxx="yes"
-fi
-
- if test "x$need_cxx" = "xyes"; then
-  BUILD_CXX_TRUE=
-  BUILD_CXX_FALSE='#'
-else
-  BUILD_CXX_TRUE='#'
-  BUILD_CXX_FALSE=
-fi
-
-
-
-# We use GTK+ for some utility/debugging tools
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk" >&5
-$as_echo_n "checking for gtk... " >&6; }
-
-if test -n "$gtk_CFLAGS"; then
-    pkg_cv_gtk_CFLAGS="$gtk_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\"gtk+-2.0\"\""; } >&5
-  ($PKG_CONFIG --exists --print-errors ""gtk+-2.0"") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_gtk_CFLAGS=`$PKG_CONFIG --cflags ""gtk+-2.0"" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$gtk_LIBS"; then
-    pkg_cv_gtk_LIBS="$gtk_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\"gtk+-2.0\"\""; } >&5
-  ($PKG_CONFIG --exists --print-errors ""gtk+-2.0"") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_gtk_LIBS=`$PKG_CONFIG --libs ""gtk+-2.0"" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               gtk_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors ""gtk+-2.0"" 2>&1`
-        else
-               gtk_PKG_ERRORS=`$PKG_CONFIG --print-errors ""gtk+-2.0"" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$gtk_PKG_ERRORS" >&5
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                have_gtk=no
-elif test $pkg_failed = untried; then
-       have_gtk=no
-else
-       gtk_CFLAGS=$pkg_cv_gtk_CFLAGS
-       gtk_LIBS=$pkg_cv_gtk_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       have_gtk=yes
-fi
- if test "x$have_gtk" = "xyes"; then
-  HAVE_GTK_TRUE=
-  HAVE_GTK_FALSE='#'
-else
-  HAVE_GTK_TRUE='#'
-  HAVE_GTK_FALSE=
-fi
-
-
-ac_config_files="$ac_config_files Makefile boilerplate/Makefile src/Makefile test/Makefile test/pdiff/Makefile perf/Makefile perf/micro/Makefile util/Makefile util/cairo-fdr/Makefile util/cairo-gobject/Makefile util/cairo-missing/Makefile util/cairo-script/Makefile util/cairo-script/examples/Makefile util/cairo-sphinx/Makefile util/cairo-trace/Makefile util/cairo-trace/cairo-trace doc/Makefile doc/public/Makefile"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
-  as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GTK_DOC_BUILD_HTML_TRUE}" && test -z "${GTK_DOC_BUILD_HTML_FALSE}"; then
-  as_fn_error $? "conditional \"GTK_DOC_BUILD_HTML\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GTK_DOC_BUILD_PDF_TRUE}" && test -z "${GTK_DOC_BUILD_PDF_FALSE}"; then
-  as_fn_error $? "conditional \"GTK_DOC_BUILD_PDF\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then
-  as_fn_error $? "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GTK_DOC_USE_REBASE_TRUE}" && test -z "${GTK_DOC_USE_REBASE_FALSE}"; then
-  as_fn_error $? "conditional \"GTK_DOC_USE_REBASE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-CAIRO_CFLAGS="$CAIRO_CFLAGS $CAIRO_NONPKGCONFIG_CFLAGS"
-CAIRO_LIBS="$CAIRO_LIBS $CAIRO_NONPKGCONFIG_LIBS"
-
-                                                               cr_make_tmp='   @echo "#endif" >>  $(top_srcdir)/src/cairo-features.h'
-                                                                                                       CAIRO_MAKEFILE_win32_features_h_WIN32="${CAIRO_MAKEFILE_win32_features_h_WIN32}
-""$cr_make_tmp"
-
-
-
-       if test -z "$CAIRO_NATIVE_SURFACE_BACKENDS"; then :
-                                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'*** No native surface backends enabled for your platform. It is strongly
-*** recommended that you enable the native surface backend feature for your
-*** platform.'
-
-
-fi
-       if test -z "$CAIRO_NATIVE_FONT_BACKENDS"; then :
-                                                       CAIRO_WARNING_MESSAGE="${CAIRO_WARNING_MESSAGE}
-
-"'*** No native font backends enabled for your platform. It is strongly
-*** recommended that you enable the native font backend feature for your
-*** platform.'
-
-
-fi
-
-if test -z "${CROSS_COMPILING_TRUE}" && test -z "${CROSS_COMPILING_FALSE}"; then
-  as_fn_error $? "conditional \"CROSS_COMPILING\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${OS_WIN32_TRUE}" && test -z "${OS_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"OS_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_SHM_TRUE}" && test -z "${HAVE_SHM_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_SHM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_LCOV_TRUE}" && test -z "${CAIRO_HAS_LCOV_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_LCOV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_DL_TRUE}" && test -z "${CAIRO_HAS_DL_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_DL\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_DLSYM_TRUE}" && test -z "${CAIRO_HAS_DLSYM_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_DLSYM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_XLIB_SURFACE_TRUE}" && test -z "${CAIRO_HAS_XLIB_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_XLIB_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_XLIB_XRENDER_SURFACE_TRUE}" && test -z "${CAIRO_HAS_XLIB_XRENDER_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_XLIB_XRENDER_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_XCB_SURFACE_TRUE}" && test -z "${CAIRO_HAS_XCB_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_XCB_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_XLIB_XCB_FUNCTIONS_TRUE}" && test -z "${CAIRO_HAS_XLIB_XCB_FUNCTIONS_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_XLIB_XCB_FUNCTIONS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_XCB_SHM_FUNCTIONS_TRUE}" && test -z "${CAIRO_HAS_XCB_SHM_FUNCTIONS_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_XCB_SHM_FUNCTIONS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_QT_SURFACE_TRUE}" && test -z "${CAIRO_HAS_QT_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_QT_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_QUARTZ_SURFACE_TRUE}" && test -z "${CAIRO_HAS_QUARTZ_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_QUARTZ_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_QUARTZ_FONT_TRUE}" && test -z "${CAIRO_HAS_QUARTZ_FONT_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_QUARTZ_FONT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_QUARTZ_IMAGE_SURFACE_TRUE}" && test -z "${CAIRO_HAS_QUARTZ_IMAGE_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_QUARTZ_IMAGE_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_WIN32_SURFACE_TRUE}" && test -z "${CAIRO_HAS_WIN32_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_WIN32_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_WIN32_FONT_TRUE}" && test -z "${CAIRO_HAS_WIN32_FONT_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_WIN32_FONT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE_TRUE}" && test -z "${CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_SKIA_SURFACE_TRUE}" && test -z "${CAIRO_HAS_SKIA_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_SKIA_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_OS2_SURFACE_TRUE}" && test -z "${CAIRO_HAS_OS2_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_OS2_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_BEOS_SURFACE_TRUE}" && test -z "${CAIRO_HAS_BEOS_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_BEOS_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_DRM_SURFACE_TRUE}" && test -z "${CAIRO_HAS_DRM_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_DRM_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_GALLIUM_SURFACE_TRUE}" && test -z "${CAIRO_HAS_GALLIUM_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_GALLIUM_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_PNG_FUNCTIONS_TRUE}" && test -z "${CAIRO_HAS_PNG_FUNCTIONS_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_PNG_FUNCTIONS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_GL_SURFACE_TRUE}" && test -z "${CAIRO_HAS_GL_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_GL_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_GLESV2_SURFACE_TRUE}" && test -z "${CAIRO_HAS_GLESV2_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_GLESV2_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_COGL_SURFACE_TRUE}" && test -z "${CAIRO_HAS_COGL_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_COGL_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_DIRECTFB_SURFACE_TRUE}" && test -z "${CAIRO_HAS_DIRECTFB_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_DIRECTFB_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_VG_SURFACE_TRUE}" && test -z "${CAIRO_HAS_VG_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_VG_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_EGL_FUNCTIONS_TRUE}" && test -z "${CAIRO_HAS_EGL_FUNCTIONS_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_EGL_FUNCTIONS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_GLX_FUNCTIONS_TRUE}" && test -z "${CAIRO_HAS_GLX_FUNCTIONS_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_GLX_FUNCTIONS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_WGL_FUNCTIONS_TRUE}" && test -z "${CAIRO_HAS_WGL_FUNCTIONS_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_WGL_FUNCTIONS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_SCRIPT_SURFACE_TRUE}" && test -z "${CAIRO_HAS_SCRIPT_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_SCRIPT_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_FT_FONT_TRUE}" && test -z "${CAIRO_HAS_FT_FONT_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_FT_FONT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_FC_FONT_TRUE}" && test -z "${CAIRO_HAS_FC_FONT_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_FC_FONT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_PS_SURFACE_TRUE}" && test -z "${CAIRO_HAS_PS_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_PS_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_CAN_TEST_PS_SURFACE_TRUE}" && test -z "${CAIRO_CAN_TEST_PS_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_CAN_TEST_PS_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_SPECTRE_TRUE}" && test -z "${CAIRO_HAS_SPECTRE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_SPECTRE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_PDF_SURFACE_TRUE}" && test -z "${CAIRO_HAS_PDF_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_PDF_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_CAN_TEST_PDF_SURFACE_TRUE}" && test -z "${CAIRO_CAN_TEST_PDF_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_CAN_TEST_PDF_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_MULTI_PAGE_SURFACES_TRUE}" && test -z "${CAIRO_HAS_MULTI_PAGE_SURFACES_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_MULTI_PAGE_SURFACES\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_SVG_SURFACE_TRUE}" && test -z "${CAIRO_HAS_SVG_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_SVG_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_CAN_TEST_SVG_SURFACE_TRUE}" && test -z "${CAIRO_CAN_TEST_SVG_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_CAN_TEST_SVG_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_TEST_SURFACES_TRUE}" && test -z "${CAIRO_HAS_TEST_SURFACES_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_TEST_SURFACES\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_TEE_SURFACE_TRUE}" && test -z "${CAIRO_HAS_TEE_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_TEE_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_XML_SURFACE_TRUE}" && test -z "${CAIRO_HAS_XML_SURFACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_XML_SURFACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_PTHREAD_TRUE}" && test -z "${CAIRO_HAS_PTHREAD_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_PTHREAD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_REAL_PTHREAD_TRUE}" && test -z "${HAVE_REAL_PTHREAD_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_REAL_PTHREAD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_PTHREAD_TRUE}" && test -z "${HAVE_PTHREAD_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_PTHREAD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_GOBJECT_FUNCTIONS_TRUE}" && test -z "${CAIRO_HAS_GOBJECT_FUNCTIONS_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_GOBJECT_FUNCTIONS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_ANY2PPM_TRUE}" && test -z "${BUILD_ANY2PPM_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_ANY2PPM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_TRACE_TRUE}" && test -z "${CAIRO_HAS_TRACE_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_TRACE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_INTERPRETER_TRUE}" && test -z "${CAIRO_HAS_INTERPRETER_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_INTERPRETER\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${CAIRO_HAS_SYMBOL_LOOKUP_TRUE}" && test -z "${CAIRO_HAS_SYMBOL_LOOKUP_FALSE}"; then
-  as_fn_error $? "conditional \"CAIRO_HAS_SYMBOL_LOOKUP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_SPHINX_TRUE}" && test -z "${BUILD_SPHINX_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_SPHINX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${DISABLE_SOME_FLOATING_POINT_TRUE}" && test -z "${DISABLE_SOME_FLOATING_POINT_FALSE}"; then
-  as_fn_error $? "conditional \"DISABLE_SOME_FLOATING_POINT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_CXX_TRUE}" && test -z "${BUILD_CXX_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_CXX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_GTK_TRUE}" && test -z "${HAVE_GTK_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_GTK\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by cairo $as_me 1.12.3, which was
-generated by GNU Autoconf 2.67.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://bugs.freedesktop.org/enter_bug.cgi?product=cairo>.
-cairo home page: <http://cairographics.org/>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-cairo config.status 1.12.3
-configured by $0, generated by GNU Autoconf 2.67,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
-AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
-enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
-host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
-host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
-host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
-build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
-build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
-build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
-SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
-Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
-GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
-EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
-FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
-LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
-NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
-LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
-exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
-AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
-GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
-SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
-ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
-need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
-LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
-libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
-version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
-striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
-LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# Quote evaled strings.
-for var in SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-deplibs_check_method \
-file_magic_cmd \
-AR \
-AR_FLAGS \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-SHELL \
-ECHO \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_wl \
-lt_prog_compiler_pic \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-fix_srcfile_path \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-finish_eval \
-old_striplib \
-striplib \
-compiler_lib_search_dirs \
-predep_objects \
-postdep_objects \
-predeps \
-postdeps \
-compiler_lib_search_path \
-LD_CXX \
-compiler_CXX \
-lt_prog_compiler_no_builtin_flag_CXX \
-lt_prog_compiler_wl_CXX \
-lt_prog_compiler_pic_CXX \
-lt_prog_compiler_static_CXX \
-lt_cv_prog_compiler_c_o_CXX \
-export_dynamic_flag_spec_CXX \
-whole_archive_flag_spec_CXX \
-compiler_needs_object_CXX \
-with_gnu_ld_CXX \
-allow_undefined_flag_CXX \
-no_undefined_flag_CXX \
-hardcode_libdir_flag_spec_CXX \
-hardcode_libdir_flag_spec_ld_CXX \
-hardcode_libdir_separator_CXX \
-fix_srcfile_path_CXX \
-exclude_expsyms_CXX \
-include_expsyms_CXX \
-file_list_spec_CXX \
-compiler_lib_search_dirs_CXX \
-predep_objects_CXX \
-postdep_objects_CXX \
-predeps_CXX \
-postdeps_CXX \
-compiler_lib_search_path_CXX; do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec \
-old_archive_cmds_CXX \
-old_archive_from_new_cmds_CXX \
-old_archive_from_expsyms_cmds_CXX \
-archive_cmds_CXX \
-archive_expsym_cmds_CXX \
-module_cmds_CXX \
-module_expsym_cmds_CXX \
-export_symbols_cmds_CXX \
-prelink_cmds_CXX; do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\$0 --fallback-echo"')  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
-  ;;
-esac
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-
-
-CAIRO_MAKEFILE___WIN32='$CAIRO_MAKEFILE___WIN32'
-CAIRO_MAKEFILE_cairo_AMAKE='$CAIRO_MAKEFILE_cairo_AMAKE'
-CAIRO_MAKEFILE_cairo_WIN32='$CAIRO_MAKEFILE_cairo_WIN32'
-CAIRO_MAKEFILE_cairo_boilerplate_AMAKE='$CAIRO_MAKEFILE_cairo_boilerplate_AMAKE'
-CAIRO_MAKEFILE_cairo_boilerplate_WIN32='$CAIRO_MAKEFILE_cairo_boilerplate_WIN32'
-       CAIRO_FEATURES='$CAIRO_FEATURES'
-       CAIRO_NO_FEATURES='$CAIRO_NO_FEATURES'
-
-       CAIRO_SUPPORTED_FEATURES='$CAIRO_SUPPORTED_FEATURES'
-
-CAIRO_MAKEFILE_win32_features_h_WIN32='$CAIRO_MAKEFILE_win32_features_h_WIN32'
-               SED='$SED'
-               xlib_BASE='$xlib_BASE'
-               xlib_REQUIRES='$xlib_REQUIRES'
-               xlib_NONPKGCONFIG_LIBS='$xlib_NONPKGCONFIG_LIBS'
-               xlib_NONPKGCONFIG_EXTRA_LIBS='$xlib_NONPKGCONFIG_EXTRA_LIBS'
-               xlib_NONPKGCONFIG_CFLAGS='$xlib_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xlib_BASE='$xlib_BASE'
-               xlib_REQUIRES='$xlib_REQUIRES'
-               xlib_NONPKGCONFIG_LIBS='$xlib_NONPKGCONFIG_LIBS'
-               xlib_NONPKGCONFIG_EXTRA_LIBS='$xlib_NONPKGCONFIG_EXTRA_LIBS'
-               xlib_NONPKGCONFIG_CFLAGS='$xlib_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xlib_xrender_BASE='$xlib_xrender_BASE'
-               xlib_xrender_REQUIRES='$xlib_xrender_REQUIRES'
-               xlib_xrender_NONPKGCONFIG_LIBS='$xlib_xrender_NONPKGCONFIG_LIBS'
-               xlib_xrender_NONPKGCONFIG_EXTRA_LIBS='$xlib_xrender_NONPKGCONFIG_EXTRA_LIBS'
-               xlib_xrender_NONPKGCONFIG_CFLAGS='$xlib_xrender_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xlib_xrender_BASE='$xlib_xrender_BASE'
-               xlib_xrender_REQUIRES='$xlib_xrender_REQUIRES'
-               xlib_xrender_NONPKGCONFIG_LIBS='$xlib_xrender_NONPKGCONFIG_LIBS'
-               xlib_xrender_NONPKGCONFIG_EXTRA_LIBS='$xlib_xrender_NONPKGCONFIG_EXTRA_LIBS'
-               xlib_xrender_NONPKGCONFIG_CFLAGS='$xlib_xrender_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xcb_BASE='$xcb_BASE'
-               xcb_REQUIRES='$xcb_REQUIRES'
-               xcb_NONPKGCONFIG_LIBS='$xcb_NONPKGCONFIG_LIBS'
-               xcb_NONPKGCONFIG_EXTRA_LIBS='$xcb_NONPKGCONFIG_EXTRA_LIBS'
-               xcb_NONPKGCONFIG_CFLAGS='$xcb_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xcb_BASE='$xcb_BASE'
-               xcb_REQUIRES='$xcb_REQUIRES'
-               xcb_NONPKGCONFIG_LIBS='$xcb_NONPKGCONFIG_LIBS'
-               xcb_NONPKGCONFIG_EXTRA_LIBS='$xcb_NONPKGCONFIG_EXTRA_LIBS'
-               xcb_NONPKGCONFIG_CFLAGS='$xcb_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xlib_xcb_BASE='$xlib_xcb_BASE'
-               xlib_xcb_REQUIRES='$xlib_xcb_REQUIRES'
-               xlib_xcb_NONPKGCONFIG_LIBS='$xlib_xcb_NONPKGCONFIG_LIBS'
-               xlib_xcb_NONPKGCONFIG_EXTRA_LIBS='$xlib_xcb_NONPKGCONFIG_EXTRA_LIBS'
-               xlib_xcb_NONPKGCONFIG_CFLAGS='$xlib_xcb_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xlib_xcb_BASE='$xlib_xcb_BASE'
-               xlib_xcb_REQUIRES='$xlib_xcb_REQUIRES'
-               xlib_xcb_NONPKGCONFIG_LIBS='$xlib_xcb_NONPKGCONFIG_LIBS'
-               xlib_xcb_NONPKGCONFIG_EXTRA_LIBS='$xlib_xcb_NONPKGCONFIG_EXTRA_LIBS'
-               xlib_xcb_NONPKGCONFIG_CFLAGS='$xlib_xcb_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xcb_shm_BASE='$xcb_shm_BASE'
-               xcb_shm_REQUIRES='$xcb_shm_REQUIRES'
-               xcb_shm_NONPKGCONFIG_LIBS='$xcb_shm_NONPKGCONFIG_LIBS'
-               xcb_shm_NONPKGCONFIG_EXTRA_LIBS='$xcb_shm_NONPKGCONFIG_EXTRA_LIBS'
-               xcb_shm_NONPKGCONFIG_CFLAGS='$xcb_shm_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xcb_shm_BASE='$xcb_shm_BASE'
-               xcb_shm_REQUIRES='$xcb_shm_REQUIRES'
-               xcb_shm_NONPKGCONFIG_LIBS='$xcb_shm_NONPKGCONFIG_LIBS'
-               xcb_shm_NONPKGCONFIG_EXTRA_LIBS='$xcb_shm_NONPKGCONFIG_EXTRA_LIBS'
-               xcb_shm_NONPKGCONFIG_CFLAGS='$xcb_shm_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               qt_BASE='$qt_BASE'
-               qt_REQUIRES='$qt_REQUIRES'
-               qt_NONPKGCONFIG_LIBS='$qt_NONPKGCONFIG_LIBS'
-               qt_NONPKGCONFIG_EXTRA_LIBS='$qt_NONPKGCONFIG_EXTRA_LIBS'
-               qt_NONPKGCONFIG_CFLAGS='$qt_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               qt_BASE='$qt_BASE'
-               qt_REQUIRES='$qt_REQUIRES'
-               qt_NONPKGCONFIG_LIBS='$qt_NONPKGCONFIG_LIBS'
-               qt_NONPKGCONFIG_EXTRA_LIBS='$qt_NONPKGCONFIG_EXTRA_LIBS'
-               qt_NONPKGCONFIG_CFLAGS='$qt_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               quartz_BASE='$quartz_BASE'
-               quartz_REQUIRES='$quartz_REQUIRES'
-               quartz_NONPKGCONFIG_LIBS='$quartz_NONPKGCONFIG_LIBS'
-               quartz_NONPKGCONFIG_EXTRA_LIBS='$quartz_NONPKGCONFIG_EXTRA_LIBS'
-               quartz_NONPKGCONFIG_CFLAGS='$quartz_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               quartz_BASE='$quartz_BASE'
-               quartz_REQUIRES='$quartz_REQUIRES'
-               quartz_NONPKGCONFIG_LIBS='$quartz_NONPKGCONFIG_LIBS'
-               quartz_NONPKGCONFIG_EXTRA_LIBS='$quartz_NONPKGCONFIG_EXTRA_LIBS'
-               quartz_NONPKGCONFIG_CFLAGS='$quartz_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               quartz_font_BASE='$quartz_font_BASE'
-               quartz_font_REQUIRES='$quartz_font_REQUIRES'
-               quartz_font_NONPKGCONFIG_LIBS='$quartz_font_NONPKGCONFIG_LIBS'
-               quartz_font_NONPKGCONFIG_EXTRA_LIBS='$quartz_font_NONPKGCONFIG_EXTRA_LIBS'
-               quartz_font_NONPKGCONFIG_CFLAGS='$quartz_font_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               quartz_font_BASE='$quartz_font_BASE'
-               quartz_font_REQUIRES='$quartz_font_REQUIRES'
-               quartz_font_NONPKGCONFIG_LIBS='$quartz_font_NONPKGCONFIG_LIBS'
-               quartz_font_NONPKGCONFIG_EXTRA_LIBS='$quartz_font_NONPKGCONFIG_EXTRA_LIBS'
-               quartz_font_NONPKGCONFIG_CFLAGS='$quartz_font_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               quartz_image_BASE='$quartz_image_BASE'
-               quartz_image_REQUIRES='$quartz_image_REQUIRES'
-               quartz_image_NONPKGCONFIG_LIBS='$quartz_image_NONPKGCONFIG_LIBS'
-               quartz_image_NONPKGCONFIG_EXTRA_LIBS='$quartz_image_NONPKGCONFIG_EXTRA_LIBS'
-               quartz_image_NONPKGCONFIG_CFLAGS='$quartz_image_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               quartz_image_BASE='$quartz_image_BASE'
-               quartz_image_REQUIRES='$quartz_image_REQUIRES'
-               quartz_image_NONPKGCONFIG_LIBS='$quartz_image_NONPKGCONFIG_LIBS'
-               quartz_image_NONPKGCONFIG_EXTRA_LIBS='$quartz_image_NONPKGCONFIG_EXTRA_LIBS'
-               quartz_image_NONPKGCONFIG_CFLAGS='$quartz_image_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               win32_BASE='$win32_BASE'
-               win32_REQUIRES='$win32_REQUIRES'
-               win32_NONPKGCONFIG_LIBS='$win32_NONPKGCONFIG_LIBS'
-               win32_NONPKGCONFIG_EXTRA_LIBS='$win32_NONPKGCONFIG_EXTRA_LIBS'
-               win32_NONPKGCONFIG_CFLAGS='$win32_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               win32_BASE='$win32_BASE'
-               win32_REQUIRES='$win32_REQUIRES'
-               win32_NONPKGCONFIG_LIBS='$win32_NONPKGCONFIG_LIBS'
-               win32_NONPKGCONFIG_EXTRA_LIBS='$win32_NONPKGCONFIG_EXTRA_LIBS'
-               win32_NONPKGCONFIG_CFLAGS='$win32_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               win32_font_BASE='$win32_font_BASE'
-               win32_font_REQUIRES='$win32_font_REQUIRES'
-               win32_font_NONPKGCONFIG_LIBS='$win32_font_NONPKGCONFIG_LIBS'
-               win32_font_NONPKGCONFIG_EXTRA_LIBS='$win32_font_NONPKGCONFIG_EXTRA_LIBS'
-               win32_font_NONPKGCONFIG_CFLAGS='$win32_font_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               win32_font_BASE='$win32_font_BASE'
-               win32_font_REQUIRES='$win32_font_REQUIRES'
-               win32_font_NONPKGCONFIG_LIBS='$win32_font_NONPKGCONFIG_LIBS'
-               win32_font_NONPKGCONFIG_EXTRA_LIBS='$win32_font_NONPKGCONFIG_EXTRA_LIBS'
-               win32_font_NONPKGCONFIG_CFLAGS='$win32_font_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               skia_BASE='$skia_BASE'
-               skia_REQUIRES='$skia_REQUIRES'
-               skia_NONPKGCONFIG_LIBS='$skia_NONPKGCONFIG_LIBS'
-               skia_NONPKGCONFIG_EXTRA_LIBS='$skia_NONPKGCONFIG_EXTRA_LIBS'
-               skia_NONPKGCONFIG_CFLAGS='$skia_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               skia_BASE='$skia_BASE'
-               skia_REQUIRES='$skia_REQUIRES'
-               skia_NONPKGCONFIG_LIBS='$skia_NONPKGCONFIG_LIBS'
-               skia_NONPKGCONFIG_EXTRA_LIBS='$skia_NONPKGCONFIG_EXTRA_LIBS'
-               skia_NONPKGCONFIG_CFLAGS='$skia_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               os2_BASE='$os2_BASE'
-               os2_REQUIRES='$os2_REQUIRES'
-               os2_NONPKGCONFIG_LIBS='$os2_NONPKGCONFIG_LIBS'
-               os2_NONPKGCONFIG_EXTRA_LIBS='$os2_NONPKGCONFIG_EXTRA_LIBS'
-               os2_NONPKGCONFIG_CFLAGS='$os2_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               os2_BASE='$os2_BASE'
-               os2_REQUIRES='$os2_REQUIRES'
-               os2_NONPKGCONFIG_LIBS='$os2_NONPKGCONFIG_LIBS'
-               os2_NONPKGCONFIG_EXTRA_LIBS='$os2_NONPKGCONFIG_EXTRA_LIBS'
-               os2_NONPKGCONFIG_CFLAGS='$os2_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               beos_BASE='$beos_BASE'
-               beos_REQUIRES='$beos_REQUIRES'
-               beos_NONPKGCONFIG_LIBS='$beos_NONPKGCONFIG_LIBS'
-               beos_NONPKGCONFIG_EXTRA_LIBS='$beos_NONPKGCONFIG_EXTRA_LIBS'
-               beos_NONPKGCONFIG_CFLAGS='$beos_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               beos_BASE='$beos_BASE'
-               beos_REQUIRES='$beos_REQUIRES'
-               beos_NONPKGCONFIG_LIBS='$beos_NONPKGCONFIG_LIBS'
-               beos_NONPKGCONFIG_EXTRA_LIBS='$beos_NONPKGCONFIG_EXTRA_LIBS'
-               beos_NONPKGCONFIG_CFLAGS='$beos_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               drm_BASE='$drm_BASE'
-               drm_REQUIRES='$drm_REQUIRES'
-               drm_NONPKGCONFIG_LIBS='$drm_NONPKGCONFIG_LIBS'
-               drm_NONPKGCONFIG_EXTRA_LIBS='$drm_NONPKGCONFIG_EXTRA_LIBS'
-               drm_NONPKGCONFIG_CFLAGS='$drm_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               drm_BASE='$drm_BASE'
-               drm_REQUIRES='$drm_REQUIRES'
-               drm_NONPKGCONFIG_LIBS='$drm_NONPKGCONFIG_LIBS'
-               drm_NONPKGCONFIG_EXTRA_LIBS='$drm_NONPKGCONFIG_EXTRA_LIBS'
-               drm_NONPKGCONFIG_CFLAGS='$drm_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               gallium_BASE='$gallium_BASE'
-               gallium_REQUIRES='$gallium_REQUIRES'
-               gallium_NONPKGCONFIG_LIBS='$gallium_NONPKGCONFIG_LIBS'
-               gallium_NONPKGCONFIG_EXTRA_LIBS='$gallium_NONPKGCONFIG_EXTRA_LIBS'
-               gallium_NONPKGCONFIG_CFLAGS='$gallium_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               gallium_BASE='$gallium_BASE'
-               gallium_REQUIRES='$gallium_REQUIRES'
-               gallium_NONPKGCONFIG_LIBS='$gallium_NONPKGCONFIG_LIBS'
-               gallium_NONPKGCONFIG_EXTRA_LIBS='$gallium_NONPKGCONFIG_EXTRA_LIBS'
-               gallium_NONPKGCONFIG_CFLAGS='$gallium_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               png_BASE='$png_BASE'
-               png_REQUIRES='$png_REQUIRES'
-               png_NONPKGCONFIG_LIBS='$png_NONPKGCONFIG_LIBS'
-               png_NONPKGCONFIG_EXTRA_LIBS='$png_NONPKGCONFIG_EXTRA_LIBS'
-               png_NONPKGCONFIG_CFLAGS='$png_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               png_BASE='$png_BASE'
-               png_REQUIRES='$png_REQUIRES'
-               png_NONPKGCONFIG_LIBS='$png_NONPKGCONFIG_LIBS'
-               png_NONPKGCONFIG_EXTRA_LIBS='$png_NONPKGCONFIG_EXTRA_LIBS'
-               png_NONPKGCONFIG_CFLAGS='$png_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               gl_BASE='$gl_BASE'
-               gl_REQUIRES='$gl_REQUIRES'
-               gl_NONPKGCONFIG_LIBS='$gl_NONPKGCONFIG_LIBS'
-               gl_NONPKGCONFIG_EXTRA_LIBS='$gl_NONPKGCONFIG_EXTRA_LIBS'
-               gl_NONPKGCONFIG_CFLAGS='$gl_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               gl_BASE='$gl_BASE'
-               gl_REQUIRES='$gl_REQUIRES'
-               gl_NONPKGCONFIG_LIBS='$gl_NONPKGCONFIG_LIBS'
-               gl_NONPKGCONFIG_EXTRA_LIBS='$gl_NONPKGCONFIG_EXTRA_LIBS'
-               gl_NONPKGCONFIG_CFLAGS='$gl_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               glesv2_BASE='$glesv2_BASE'
-               glesv2_REQUIRES='$glesv2_REQUIRES'
-               glesv2_NONPKGCONFIG_LIBS='$glesv2_NONPKGCONFIG_LIBS'
-               glesv2_NONPKGCONFIG_EXTRA_LIBS='$glesv2_NONPKGCONFIG_EXTRA_LIBS'
-               glesv2_NONPKGCONFIG_CFLAGS='$glesv2_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               glesv2_BASE='$glesv2_BASE'
-               glesv2_REQUIRES='$glesv2_REQUIRES'
-               glesv2_NONPKGCONFIG_LIBS='$glesv2_NONPKGCONFIG_LIBS'
-               glesv2_NONPKGCONFIG_EXTRA_LIBS='$glesv2_NONPKGCONFIG_EXTRA_LIBS'
-               glesv2_NONPKGCONFIG_CFLAGS='$glesv2_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               cogl_BASE='$cogl_BASE'
-               cogl_REQUIRES='$cogl_REQUIRES'
-               cogl_NONPKGCONFIG_LIBS='$cogl_NONPKGCONFIG_LIBS'
-               cogl_NONPKGCONFIG_EXTRA_LIBS='$cogl_NONPKGCONFIG_EXTRA_LIBS'
-               cogl_NONPKGCONFIG_CFLAGS='$cogl_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               cogl_BASE='$cogl_BASE'
-               cogl_REQUIRES='$cogl_REQUIRES'
-               cogl_NONPKGCONFIG_LIBS='$cogl_NONPKGCONFIG_LIBS'
-               cogl_NONPKGCONFIG_EXTRA_LIBS='$cogl_NONPKGCONFIG_EXTRA_LIBS'
-               cogl_NONPKGCONFIG_CFLAGS='$cogl_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               directfb_BASE='$directfb_BASE'
-               directfb_REQUIRES='$directfb_REQUIRES'
-               directfb_NONPKGCONFIG_LIBS='$directfb_NONPKGCONFIG_LIBS'
-               directfb_NONPKGCONFIG_EXTRA_LIBS='$directfb_NONPKGCONFIG_EXTRA_LIBS'
-               directfb_NONPKGCONFIG_CFLAGS='$directfb_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               directfb_BASE='$directfb_BASE'
-               directfb_REQUIRES='$directfb_REQUIRES'
-               directfb_NONPKGCONFIG_LIBS='$directfb_NONPKGCONFIG_LIBS'
-               directfb_NONPKGCONFIG_EXTRA_LIBS='$directfb_NONPKGCONFIG_EXTRA_LIBS'
-               directfb_NONPKGCONFIG_CFLAGS='$directfb_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               vg_BASE='$vg_BASE'
-               vg_REQUIRES='$vg_REQUIRES'
-               vg_NONPKGCONFIG_LIBS='$vg_NONPKGCONFIG_LIBS'
-               vg_NONPKGCONFIG_EXTRA_LIBS='$vg_NONPKGCONFIG_EXTRA_LIBS'
-               vg_NONPKGCONFIG_CFLAGS='$vg_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               vg_BASE='$vg_BASE'
-               vg_REQUIRES='$vg_REQUIRES'
-               vg_NONPKGCONFIG_LIBS='$vg_NONPKGCONFIG_LIBS'
-               vg_NONPKGCONFIG_EXTRA_LIBS='$vg_NONPKGCONFIG_EXTRA_LIBS'
-               vg_NONPKGCONFIG_CFLAGS='$vg_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               egl_BASE='$egl_BASE'
-               egl_REQUIRES='$egl_REQUIRES'
-               egl_NONPKGCONFIG_LIBS='$egl_NONPKGCONFIG_LIBS'
-               egl_NONPKGCONFIG_EXTRA_LIBS='$egl_NONPKGCONFIG_EXTRA_LIBS'
-               egl_NONPKGCONFIG_CFLAGS='$egl_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               egl_BASE='$egl_BASE'
-               egl_REQUIRES='$egl_REQUIRES'
-               egl_NONPKGCONFIG_LIBS='$egl_NONPKGCONFIG_LIBS'
-               egl_NONPKGCONFIG_EXTRA_LIBS='$egl_NONPKGCONFIG_EXTRA_LIBS'
-               egl_NONPKGCONFIG_CFLAGS='$egl_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               glx_BASE='$glx_BASE'
-               glx_REQUIRES='$glx_REQUIRES'
-               glx_NONPKGCONFIG_LIBS='$glx_NONPKGCONFIG_LIBS'
-               glx_NONPKGCONFIG_EXTRA_LIBS='$glx_NONPKGCONFIG_EXTRA_LIBS'
-               glx_NONPKGCONFIG_CFLAGS='$glx_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               glx_BASE='$glx_BASE'
-               glx_REQUIRES='$glx_REQUIRES'
-               glx_NONPKGCONFIG_LIBS='$glx_NONPKGCONFIG_LIBS'
-               glx_NONPKGCONFIG_EXTRA_LIBS='$glx_NONPKGCONFIG_EXTRA_LIBS'
-               glx_NONPKGCONFIG_CFLAGS='$glx_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               wgl_BASE='$wgl_BASE'
-               wgl_REQUIRES='$wgl_REQUIRES'
-               wgl_NONPKGCONFIG_LIBS='$wgl_NONPKGCONFIG_LIBS'
-               wgl_NONPKGCONFIG_EXTRA_LIBS='$wgl_NONPKGCONFIG_EXTRA_LIBS'
-               wgl_NONPKGCONFIG_CFLAGS='$wgl_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               wgl_BASE='$wgl_BASE'
-               wgl_REQUIRES='$wgl_REQUIRES'
-               wgl_NONPKGCONFIG_LIBS='$wgl_NONPKGCONFIG_LIBS'
-               wgl_NONPKGCONFIG_EXTRA_LIBS='$wgl_NONPKGCONFIG_EXTRA_LIBS'
-               wgl_NONPKGCONFIG_CFLAGS='$wgl_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               script_BASE='$script_BASE'
-               script_REQUIRES='$script_REQUIRES'
-               script_NONPKGCONFIG_LIBS='$script_NONPKGCONFIG_LIBS'
-               script_NONPKGCONFIG_EXTRA_LIBS='$script_NONPKGCONFIG_EXTRA_LIBS'
-               script_NONPKGCONFIG_CFLAGS='$script_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               script_BASE='$script_BASE'
-               script_REQUIRES='$script_REQUIRES'
-               script_NONPKGCONFIG_LIBS='$script_NONPKGCONFIG_LIBS'
-               script_NONPKGCONFIG_EXTRA_LIBS='$script_NONPKGCONFIG_EXTRA_LIBS'
-               script_NONPKGCONFIG_CFLAGS='$script_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               ft_BASE='$ft_BASE'
-               ft_REQUIRES='$ft_REQUIRES'
-               ft_NONPKGCONFIG_LIBS='$ft_NONPKGCONFIG_LIBS'
-               ft_NONPKGCONFIG_EXTRA_LIBS='$ft_NONPKGCONFIG_EXTRA_LIBS'
-               ft_NONPKGCONFIG_CFLAGS='$ft_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               ft_BASE='$ft_BASE'
-               ft_REQUIRES='$ft_REQUIRES'
-               ft_NONPKGCONFIG_LIBS='$ft_NONPKGCONFIG_LIBS'
-               ft_NONPKGCONFIG_EXTRA_LIBS='$ft_NONPKGCONFIG_EXTRA_LIBS'
-               ft_NONPKGCONFIG_CFLAGS='$ft_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               fc_BASE='$fc_BASE'
-               fc_REQUIRES='$fc_REQUIRES'
-               fc_NONPKGCONFIG_LIBS='$fc_NONPKGCONFIG_LIBS'
-               fc_NONPKGCONFIG_EXTRA_LIBS='$fc_NONPKGCONFIG_EXTRA_LIBS'
-               fc_NONPKGCONFIG_CFLAGS='$fc_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               fc_BASE='$fc_BASE'
-               fc_REQUIRES='$fc_REQUIRES'
-               fc_NONPKGCONFIG_LIBS='$fc_NONPKGCONFIG_LIBS'
-               fc_NONPKGCONFIG_EXTRA_LIBS='$fc_NONPKGCONFIG_EXTRA_LIBS'
-               fc_NONPKGCONFIG_CFLAGS='$fc_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               ps_BASE='$ps_BASE'
-               ps_REQUIRES='$ps_REQUIRES'
-               ps_NONPKGCONFIG_LIBS='$ps_NONPKGCONFIG_LIBS'
-               ps_NONPKGCONFIG_EXTRA_LIBS='$ps_NONPKGCONFIG_EXTRA_LIBS'
-               ps_NONPKGCONFIG_CFLAGS='$ps_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               ps_BASE='$ps_BASE'
-               ps_REQUIRES='$ps_REQUIRES'
-               ps_NONPKGCONFIG_LIBS='$ps_NONPKGCONFIG_LIBS'
-               ps_NONPKGCONFIG_EXTRA_LIBS='$ps_NONPKGCONFIG_EXTRA_LIBS'
-               ps_NONPKGCONFIG_CFLAGS='$ps_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               pdf_BASE='$pdf_BASE'
-               pdf_REQUIRES='$pdf_REQUIRES'
-               pdf_NONPKGCONFIG_LIBS='$pdf_NONPKGCONFIG_LIBS'
-               pdf_NONPKGCONFIG_EXTRA_LIBS='$pdf_NONPKGCONFIG_EXTRA_LIBS'
-               pdf_NONPKGCONFIG_CFLAGS='$pdf_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               pdf_BASE='$pdf_BASE'
-               pdf_REQUIRES='$pdf_REQUIRES'
-               pdf_NONPKGCONFIG_LIBS='$pdf_NONPKGCONFIG_LIBS'
-               pdf_NONPKGCONFIG_EXTRA_LIBS='$pdf_NONPKGCONFIG_EXTRA_LIBS'
-               pdf_NONPKGCONFIG_CFLAGS='$pdf_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               svg_BASE='$svg_BASE'
-               svg_REQUIRES='$svg_REQUIRES'
-               svg_NONPKGCONFIG_LIBS='$svg_NONPKGCONFIG_LIBS'
-               svg_NONPKGCONFIG_EXTRA_LIBS='$svg_NONPKGCONFIG_EXTRA_LIBS'
-               svg_NONPKGCONFIG_CFLAGS='$svg_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               svg_BASE='$svg_BASE'
-               svg_REQUIRES='$svg_REQUIRES'
-               svg_NONPKGCONFIG_LIBS='$svg_NONPKGCONFIG_LIBS'
-               svg_NONPKGCONFIG_EXTRA_LIBS='$svg_NONPKGCONFIG_EXTRA_LIBS'
-               svg_NONPKGCONFIG_CFLAGS='$svg_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               tee_BASE='$tee_BASE'
-               tee_REQUIRES='$tee_REQUIRES'
-               tee_NONPKGCONFIG_LIBS='$tee_NONPKGCONFIG_LIBS'
-               tee_NONPKGCONFIG_EXTRA_LIBS='$tee_NONPKGCONFIG_EXTRA_LIBS'
-               tee_NONPKGCONFIG_CFLAGS='$tee_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               tee_BASE='$tee_BASE'
-               tee_REQUIRES='$tee_REQUIRES'
-               tee_NONPKGCONFIG_LIBS='$tee_NONPKGCONFIG_LIBS'
-               tee_NONPKGCONFIG_EXTRA_LIBS='$tee_NONPKGCONFIG_EXTRA_LIBS'
-               tee_NONPKGCONFIG_CFLAGS='$tee_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xml_BASE='$xml_BASE'
-               xml_REQUIRES='$xml_REQUIRES'
-               xml_NONPKGCONFIG_LIBS='$xml_NONPKGCONFIG_LIBS'
-               xml_NONPKGCONFIG_EXTRA_LIBS='$xml_NONPKGCONFIG_EXTRA_LIBS'
-               xml_NONPKGCONFIG_CFLAGS='$xml_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               xml_BASE='$xml_BASE'
-               xml_REQUIRES='$xml_REQUIRES'
-               xml_NONPKGCONFIG_LIBS='$xml_NONPKGCONFIG_LIBS'
-               xml_NONPKGCONFIG_EXTRA_LIBS='$xml_NONPKGCONFIG_EXTRA_LIBS'
-               xml_NONPKGCONFIG_CFLAGS='$xml_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               gobject_BASE='$gobject_BASE'
-               gobject_REQUIRES='$gobject_REQUIRES'
-               gobject_NONPKGCONFIG_LIBS='$gobject_NONPKGCONFIG_LIBS'
-               gobject_NONPKGCONFIG_EXTRA_LIBS='$gobject_NONPKGCONFIG_EXTRA_LIBS'
-               gobject_NONPKGCONFIG_CFLAGS='$gobject_NONPKGCONFIG_CFLAGS'
-
-               SED='$SED'
-               gobject_BASE='$gobject_BASE'
-               gobject_REQUIRES='$gobject_REQUIRES'
-               gobject_NONPKGCONFIG_LIBS='$gobject_NONPKGCONFIG_LIBS'
-               gobject_NONPKGCONFIG_EXTRA_LIBS='$gobject_NONPKGCONFIG_EXTRA_LIBS'
-               gobject_NONPKGCONFIG_CFLAGS='$gobject_NONPKGCONFIG_CFLAGS'
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "$srcdir/build/Makefile.win32.features") CONFIG_COMMANDS="$CONFIG_COMMANDS $srcdir/build/Makefile.win32.features" ;;
-    "$srcdir/src/Makefile.am.features") CONFIG_COMMANDS="$CONFIG_COMMANDS $srcdir/src/Makefile.am.features" ;;
-    "$srcdir/src/Makefile.win32.features") CONFIG_COMMANDS="$CONFIG_COMMANDS $srcdir/src/Makefile.win32.features" ;;
-    "$srcdir/boilerplate/Makefile.am.features") CONFIG_COMMANDS="$CONFIG_COMMANDS $srcdir/boilerplate/Makefile.am.features" ;;
-    "$srcdir/boilerplate/Makefile.win32.features") CONFIG_COMMANDS="$CONFIG_COMMANDS $srcdir/boilerplate/Makefile.win32.features" ;;
-    "src/cairo.pc") CONFIG_FILES="$CONFIG_FILES src/cairo.pc" ;;
-    "cairo-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-uninstalled.pc:src/cairo-uninstalled.pc.in" ;;
-    "src/cairo-features.h") CONFIG_COMMANDS="$CONFIG_COMMANDS src/cairo-features.h" ;;
-    "src/cairo-supported-features.h") CONFIG_COMMANDS="$CONFIG_COMMANDS src/cairo-supported-features.h" ;;
-    "$srcdir/build/Makefile.win32.features-h") CONFIG_COMMANDS="$CONFIG_COMMANDS $srcdir/build/Makefile.win32.features-h" ;;
-    "src/cairo-xlib.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-xlib.pc:src/cairo-features.pc.in" ;;
-    "cairo-xlib-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-xlib-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-xlib-xrender.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-xlib-xrender.pc:src/cairo-features.pc.in" ;;
-    "cairo-xlib-xrender-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-xlib-xrender-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-xcb.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-xcb.pc:src/cairo-features.pc.in" ;;
-    "cairo-xcb-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-xcb-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-xlib-xcb.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-xlib-xcb.pc:src/cairo-features.pc.in" ;;
-    "cairo-xlib-xcb-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-xlib-xcb-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-xcb-shm.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-xcb-shm.pc:src/cairo-features.pc.in" ;;
-    "cairo-xcb-shm-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-xcb-shm-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-qt.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-qt.pc:src/cairo-features.pc.in" ;;
-    "cairo-qt-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-qt-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-quartz.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-quartz.pc:src/cairo-features.pc.in" ;;
-    "cairo-quartz-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-quartz-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-quartz-font.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-quartz-font.pc:src/cairo-features.pc.in" ;;
-    "cairo-quartz-font-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-quartz-font-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-quartz-image.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-quartz-image.pc:src/cairo-features.pc.in" ;;
-    "cairo-quartz-image-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-quartz-image-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-win32.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-win32.pc:src/cairo-features.pc.in" ;;
-    "cairo-win32-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-win32-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-win32-font.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-win32-font.pc:src/cairo-features.pc.in" ;;
-    "cairo-win32-font-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-win32-font-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-skia.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-skia.pc:src/cairo-features.pc.in" ;;
-    "cairo-skia-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-skia-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-os2.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-os2.pc:src/cairo-features.pc.in" ;;
-    "cairo-os2-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-os2-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-beos.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-beos.pc:src/cairo-features.pc.in" ;;
-    "cairo-beos-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-beos-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-drm.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-drm.pc:src/cairo-features.pc.in" ;;
-    "cairo-drm-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-drm-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-gallium.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-gallium.pc:src/cairo-features.pc.in" ;;
-    "cairo-gallium-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-gallium-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-png.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-png.pc:src/cairo-features.pc.in" ;;
-    "cairo-png-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-png-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-gl.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-gl.pc:src/cairo-features.pc.in" ;;
-    "cairo-gl-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-gl-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-glesv2.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-glesv2.pc:src/cairo-features.pc.in" ;;
-    "cairo-glesv2-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-glesv2-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-cogl.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-cogl.pc:src/cairo-features.pc.in" ;;
-    "cairo-cogl-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-cogl-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-directfb.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-directfb.pc:src/cairo-features.pc.in" ;;
-    "cairo-directfb-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-directfb-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-vg.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-vg.pc:src/cairo-features.pc.in" ;;
-    "cairo-vg-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-vg-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-egl.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-egl.pc:src/cairo-features.pc.in" ;;
-    "cairo-egl-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-egl-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-glx.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-glx.pc:src/cairo-features.pc.in" ;;
-    "cairo-glx-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-glx-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-wgl.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-wgl.pc:src/cairo-features.pc.in" ;;
-    "cairo-wgl-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-wgl-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-script.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-script.pc:src/cairo-features.pc.in" ;;
-    "cairo-script-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-script-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-ft.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-ft.pc:src/cairo-features.pc.in" ;;
-    "cairo-ft-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-ft-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-fc.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-fc.pc:src/cairo-features.pc.in" ;;
-    "cairo-fc-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-fc-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-ps.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-ps.pc:src/cairo-features.pc.in" ;;
-    "cairo-ps-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-ps-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-pdf.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-pdf.pc:src/cairo-features.pc.in" ;;
-    "cairo-pdf-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-pdf-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-svg.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-svg.pc:src/cairo-features.pc.in" ;;
-    "cairo-svg-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-svg-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-tee.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-tee.pc:src/cairo-features.pc.in" ;;
-    "cairo-tee-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-tee-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-xml.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-xml.pc:src/cairo-features.pc.in" ;;
-    "cairo-xml-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-xml-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "src/cairo-gobject.pc") CONFIG_FILES="$CONFIG_FILES src/cairo-gobject.pc:src/cairo-features.pc.in" ;;
-    "cairo-gobject-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES cairo-gobject-uninstalled.pc:src/cairo-features-uninstalled.pc.in" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "boilerplate/Makefile") CONFIG_FILES="$CONFIG_FILES boilerplate/Makefile" ;;
-    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
-    "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
-    "test/pdiff/Makefile") CONFIG_FILES="$CONFIG_FILES test/pdiff/Makefile" ;;
-    "perf/Makefile") CONFIG_FILES="$CONFIG_FILES perf/Makefile" ;;
-    "perf/micro/Makefile") CONFIG_FILES="$CONFIG_FILES perf/micro/Makefile" ;;
-    "util/Makefile") CONFIG_FILES="$CONFIG_FILES util/Makefile" ;;
-    "util/cairo-fdr/Makefile") CONFIG_FILES="$CONFIG_FILES util/cairo-fdr/Makefile" ;;
-    "util/cairo-gobject/Makefile") CONFIG_FILES="$CONFIG_FILES util/cairo-gobject/Makefile" ;;
-    "util/cairo-missing/Makefile") CONFIG_FILES="$CONFIG_FILES util/cairo-missing/Makefile" ;;
-    "util/cairo-script/Makefile") CONFIG_FILES="$CONFIG_FILES util/cairo-script/Makefile" ;;
-    "util/cairo-script/examples/Makefile") CONFIG_FILES="$CONFIG_FILES util/cairo-script/examples/Makefile" ;;
-    "util/cairo-sphinx/Makefile") CONFIG_FILES="$CONFIG_FILES util/cairo-sphinx/Makefile" ;;
-    "util/cairo-trace/Makefile") CONFIG_FILES="$CONFIG_FILES util/cairo-trace/Makefile" ;;
-    "util/cairo-trace/cairo-trace") CONFIG_FILES="$CONFIG_FILES util/cairo-trace/cairo-trace" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "doc/public/Makefile") CONFIG_FILES="$CONFIG_FILES doc/public/Makefile" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp=
-  trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5  ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$tmp/stdin"
-  case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags="CXX "
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Assembler program.
-AS=$AS
-
-# DLL creation program.
-DLLTOOL=$DLLTOOL
-
-# Object dumper program.
-OBJDUMP=$OBJDUMP
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that does not interpret backslashes.
-ECHO=$lt_ECHO
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects
-postdep_objects=$lt_postdep_objects
-predeps=$lt_predeps
-postdeps=$lt_postdeps
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  case $xsi_shell in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-  func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
-  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-  # positional parameters, so assign one to ordinary parameter first.
-  func_stripname_result=${3}
-  func_stripname_result=${func_stripname_result#"${1}"}
-  func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=${1%%=*}
-  func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  case ${1} in
-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-    *)    func_lo2o_result=${1} ;;
-  esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=$(( $* ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=${#1}
-}
-
-_LT_EOF
-    ;;
-  *) # Bourne compatible functions.
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-  case ${2} in
-    .*) func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
-  esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[^=]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=`expr "$@"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1+=\$2"
-}
-_LT_EOF
-    ;;
-  *)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1=\$$1\$2"
-}
-
-_LT_EOF
-    ;;
-  esac
-
-
-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
-
-    cat <<_LT_EOF >> "$ofile"
-
-# ### BEGIN LIBTOOL TAG CONFIG: CXX
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds_CXX
-
-# A language specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object_CXX
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld_CXX
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute_CXX
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath_CXX
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path_CXX
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds_CXX
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec_CXX
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects_CXX
-postdep_objects=$lt_postdep_objects_CXX
-predeps=$lt_predeps_CXX
-postdeps=$lt_postdeps_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# ### END LIBTOOL TAG CONFIG: CXX
-_LT_EOF
-
- ;;
-    "$srcdir/build/Makefile.win32.features":C)
-               _config_file=$srcdir/build/Makefile.win32.features
-               _tmp_file=cairoconf.tmp
-               { $as_echo "$as_me:${as_lineno-$LINENO}: creating $_config_file" >&5
-$as_echo "$as_me: creating $_config_file" >&6;}
-               {
-                       echo "$CAIRO_MAKEFILE___WIN32"
-               } >> "$_tmp_file" ||
-               as_fn_error $? "failed to write to $_tmp_file" "$LINENO" 5
-
-               if cmp -s "$_tmp_file" "$_config_file"; then
-                 { $as_echo "$as_me:${as_lineno-$LINENO}: $_config_file is unchanged" >&5
-$as_echo "$as_me: $_config_file is unchanged" >&6;}
-                 rm -f "$_tmp_file"
-               else
-                 mv "$_tmp_file" "$_config_file" ||
-                 as_fn_error $? "failed to update $_config_file" "$LINENO" 5
-               fi
-        ;;
-    "$srcdir/src/Makefile.am.features":C)
-               _config_file=$srcdir/src/Makefile.am.features
-               _tmp_file=cairoconf.tmp
-               { $as_echo "$as_me:${as_lineno-$LINENO}: creating $_config_file" >&5
-$as_echo "$as_me: creating $_config_file" >&6;}
-               {
-                       echo "$CAIRO_MAKEFILE_cairo_AMAKE"
-               } >> "$_tmp_file" ||
-               as_fn_error $? "failed to write to $_tmp_file" "$LINENO" 5
-
-               if cmp -s "$_tmp_file" "$_config_file"; then
-                 { $as_echo "$as_me:${as_lineno-$LINENO}: $_config_file is unchanged" >&5
-$as_echo "$as_me: $_config_file is unchanged" >&6;}
-                 rm -f "$_tmp_file"
-               else
-                 mv "$_tmp_file" "$_config_file" ||
-                 as_fn_error $? "failed to update $_config_file" "$LINENO" 5
-               fi
-        ;;
-    "$srcdir/src/Makefile.win32.features":C)
-               _config_file=$srcdir/src/Makefile.win32.features
-               _tmp_file=cairoconf.tmp
-               { $as_echo "$as_me:${as_lineno-$LINENO}: creating $_config_file" >&5
-$as_echo "$as_me: creating $_config_file" >&6;}
-               {
-                       echo "$CAIRO_MAKEFILE_cairo_WIN32"
-               } >> "$_tmp_file" ||
-               as_fn_error $? "failed to write to $_tmp_file" "$LINENO" 5
-
-               if cmp -s "$_tmp_file" "$_config_file"; then
-                 { $as_echo "$as_me:${as_lineno-$LINENO}: $_config_file is unchanged" >&5
-$as_echo "$as_me: $_config_file is unchanged" >&6;}
-                 rm -f "$_tmp_file"
-               else
-                 mv "$_tmp_file" "$_config_file" ||
-                 as_fn_error $? "failed to update $_config_file" "$LINENO" 5
-               fi
-        ;;
-    "$srcdir/boilerplate/Makefile.am.features":C)
-               _config_file=$srcdir/boilerplate/Makefile.am.features
-               _tmp_file=cairoconf.tmp
-               { $as_echo "$as_me:${as_lineno-$LINENO}: creating $_config_file" >&5
-$as_echo "$as_me: creating $_config_file" >&6;}
-               {
-                       echo "$CAIRO_MAKEFILE_cairo_boilerplate_AMAKE"
-               } >> "$_tmp_file" ||
-               as_fn_error $? "failed to write to $_tmp_file" "$LINENO" 5
-
-               if cmp -s "$_tmp_file" "$_config_file"; then
-                 { $as_echo "$as_me:${as_lineno-$LINENO}: $_config_file is unchanged" >&5
-$as_echo "$as_me: $_config_file is unchanged" >&6;}
-                 rm -f "$_tmp_file"
-               else
-                 mv "$_tmp_file" "$_config_file" ||
-                 as_fn_error $? "failed to update $_config_file" "$LINENO" 5
-               fi
-        ;;
-    "$srcdir/boilerplate/Makefile.win32.features":C)
-               _config_file=$srcdir/boilerplate/Makefile.win32.features
-               _tmp_file=cairoconf.tmp
-               { $as_echo "$as_me:${as_lineno-$LINENO}: creating $_config_file" >&5
-$as_echo "$as_me: creating $_config_file" >&6;}
-               {
-                       echo "$CAIRO_MAKEFILE_cairo_boilerplate_WIN32"
-               } >> "$_tmp_file" ||
-               as_fn_error $? "failed to write to $_tmp_file" "$LINENO" 5
-
-               if cmp -s "$_tmp_file" "$_config_file"; then
-                 { $as_echo "$as_me:${as_lineno-$LINENO}: $_config_file is unchanged" >&5
-$as_echo "$as_me: $_config_file is unchanged" >&6;}
-                 rm -f "$_tmp_file"
-               else
-                 mv "$_tmp_file" "$_config_file" ||
-                 as_fn_error $? "failed to update $_config_file" "$LINENO" 5
-               fi
-        ;;
-    "src/cairo-features.h":C)
-               _config_file=src/cairo-features.h
-               _tmp_file=cairoconf.tmp
-               { $as_echo "$as_me:${as_lineno-$LINENO}: creating $_config_file" >&5
-$as_echo "$as_me: creating $_config_file" >&6;}
-               {
-                               echo '/* Generated by configure.  Do not edit. */'
-       echo '#ifndef CAIRO_FEATURES_H'
-       echo '#define CAIRO_FEATURES_H'
-       echo ''
-       for FEATURE in $CAIRO_FEATURES; do
-               echo "#define $FEATURE 1"
-       done | LANG=C sort
-       echo ''
-       for FEATURE in $CAIRO_NO_FEATURES; do
-               echo "/*#undef $FEATURE */"
-       done | LANG=C sort
-       echo ''
-       echo '#endif'
-
-               } >> "$_tmp_file" ||
-               as_fn_error $? "failed to write to $_tmp_file" "$LINENO" 5
-
-               if cmp -s "$_tmp_file" "$_config_file"; then
-                 { $as_echo "$as_me:${as_lineno-$LINENO}: $_config_file is unchanged" >&5
-$as_echo "$as_me: $_config_file is unchanged" >&6;}
-                 rm -f "$_tmp_file"
-               else
-                 mv "$_tmp_file" "$_config_file" ||
-                 as_fn_error $? "failed to update $_config_file" "$LINENO" 5
-               fi
-        ;;
-    "src/cairo-supported-features.h":C)
-               _config_file=src/cairo-supported-features.h
-               _tmp_file=cairoconf.tmp
-               { $as_echo "$as_me:${as_lineno-$LINENO}: creating $_config_file" >&5
-$as_echo "$as_me: creating $_config_file" >&6;}
-               {
-                               echo '/* Generated by configure.  Do not edit. */'
-       echo '#ifndef CAIRO_SUPPORTED_FEATURES_H'
-       echo '#define CAIRO_SUPPORTED_FEATURES_H'
-       echo ''
-       echo '/* This is a dummy header, to trick gtk-doc only */'
-       echo ''
-       for FEATURE in $CAIRO_SUPPORTED_FEATURES; do
-               echo "#define $FEATURE 1"
-       done
-       echo ''
-       echo '#endif'
-
-               } >> "$_tmp_file" ||
-               as_fn_error $? "failed to write to $_tmp_file" "$LINENO" 5
-
-               if cmp -s "$_tmp_file" "$_config_file"; then
-                 { $as_echo "$as_me:${as_lineno-$LINENO}: $_config_file is unchanged" >&5
-$as_echo "$as_me: $_config_file is unchanged" >&6;}
-                 rm -f "$_tmp_file"
-               else
-                 mv "$_tmp_file" "$_config_file" ||
-                 as_fn_error $? "failed to update $_config_file" "$LINENO" 5
-               fi
-        ;;
-    "$srcdir/build/Makefile.win32.features-h":C)
-               _config_file=$srcdir/build/Makefile.win32.features-h
-               _tmp_file=cairoconf.tmp
-               { $as_echo "$as_me:${as_lineno-$LINENO}: creating $_config_file" >&5
-$as_echo "$as_me: creating $_config_file" >&6;}
-               {
-                       echo "$CAIRO_MAKEFILE_win32_features_h_WIN32"
-               } >> "$_tmp_file" ||
-               as_fn_error $? "failed to write to $_tmp_file" "$LINENO" 5
-
-               if cmp -s "$_tmp_file" "$_config_file"; then
-                 { $as_echo "$as_me:${as_lineno-$LINENO}: $_config_file is unchanged" >&5
-$as_echo "$as_me: $_config_file is unchanged" >&6;}
-                 rm -f "$_tmp_file"
-               else
-                 mv "$_tmp_file" "$_config_file" ||
-                 as_fn_error $? "failed to update $_config_file" "$LINENO" 5
-               fi
-        ;;
-    "src/cairo-xlib.pc":F)             mv "src/cairo-xlib.pc" "src/cairo-xlib.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xlib%g;            s%@FEATURE_NAME@%Xlib surface backend%g;                s%@FEATURE_BASE@%$xlib_BASE%g;          s%@FEATURE_REQUIRES@%$xlib_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$xlib_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xlib_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xlib_NONPKGCONFIG_CFLAGS%g;            " < "src/cairo-xlib.pc.tmp" > "src/cairo-xlib.pc" && rm -f "src/cairo-xlib.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-xlib.pc" "$LINENO" 5
-        ;;
-    "cairo-xlib-uninstalled.pc":F)             mv "cairo-xlib-uninstalled.pc" "cairo-xlib-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xlib%g;            s%@FEATURE_NAME@%Xlib surface backend%g;                s%@FEATURE_BASE@%$xlib_BASE%g;          s%@FEATURE_REQUIRES@%$xlib_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$xlib_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xlib_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xlib_NONPKGCONFIG_CFLAGS%g;            " < "cairo-xlib-uninstalled.pc.tmp" > "cairo-xlib-uninstalled.pc" && rm -f "cairo-xlib-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-xlib-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-xlib-xrender.pc":F)             mv "src/cairo-xlib-xrender.pc" "src/cairo-xlib-xrender.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xlib-xrender%g;            s%@FEATURE_NAME@%Xlib Xrender surface backend%g;                s%@FEATURE_BASE@%$xlib_xrender_BASE%g;          s%@FEATURE_REQUIRES@%$xlib_xrender_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$xlib_xrender_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xlib_xrender_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xlib_xrender_NONPKGCONFIG_CFLAGS%g;            " < "src/cairo-xlib-xrender.pc.tmp" > "src/cairo-xlib-xrender.pc" && rm -f "src/cairo-xlib-xrender.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-xlib-xrender.pc" "$LINENO" 5
-        ;;
-    "cairo-xlib-xrender-uninstalled.pc":F)             mv "cairo-xlib-xrender-uninstalled.pc" "cairo-xlib-xrender-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xlib-xrender%g;            s%@FEATURE_NAME@%Xlib Xrender surface backend%g;                s%@FEATURE_BASE@%$xlib_xrender_BASE%g;          s%@FEATURE_REQUIRES@%$xlib_xrender_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$xlib_xrender_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xlib_xrender_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xlib_xrender_NONPKGCONFIG_CFLAGS%g;            " < "cairo-xlib-xrender-uninstalled.pc.tmp" > "cairo-xlib-xrender-uninstalled.pc" && rm -f "cairo-xlib-xrender-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-xlib-xrender-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-xcb.pc":F)              mv "src/cairo-xcb.pc" "src/cairo-xcb.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xcb%g;             s%@FEATURE_NAME@%XCB surface backend%g;         s%@FEATURE_BASE@%$xcb_BASE%g;           s%@FEATURE_REQUIRES@%$xcb_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$xcb_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xcb_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xcb_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-xcb.pc.tmp" > "src/cairo-xcb.pc" && rm -f "src/cairo-xcb.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-xcb.pc" "$LINENO" 5
-        ;;
-    "cairo-xcb-uninstalled.pc":F)              mv "cairo-xcb-uninstalled.pc" "cairo-xcb-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xcb%g;             s%@FEATURE_NAME@%XCB surface backend%g;         s%@FEATURE_BASE@%$xcb_BASE%g;           s%@FEATURE_REQUIRES@%$xcb_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$xcb_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xcb_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xcb_NONPKGCONFIG_CFLAGS%g;             " < "cairo-xcb-uninstalled.pc.tmp" > "cairo-xcb-uninstalled.pc" && rm -f "cairo-xcb-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-xcb-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-xlib-xcb.pc":F)                 mv "src/cairo-xlib-xcb.pc" "src/cairo-xlib-xcb.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xlib-xcb%g;                s%@FEATURE_NAME@%Xlib/XCB functions%g;          s%@FEATURE_BASE@%$xlib_xcb_BASE%g;              s%@FEATURE_REQUIRES@%$xlib_xcb_REQUIRES%g;              s%@FEATURE_NONPKGCONFIG_LIBS@%$xlib_xcb_NONPKGCONFIG_LIBS%g;            s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xlib_xcb_NONPKGCONFIG_EXTRA_LIBS%g;                s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xlib_xcb_NONPKGCONFIG_CFLAGS%g;                " < "src/cairo-xlib-xcb.pc.tmp" > "src/cairo-xlib-xcb.pc" && rm -f "src/cairo-xlib-xcb.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-xlib-xcb.pc" "$LINENO" 5
-        ;;
-    "cairo-xlib-xcb-uninstalled.pc":F)                 mv "cairo-xlib-xcb-uninstalled.pc" "cairo-xlib-xcb-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xlib-xcb%g;                s%@FEATURE_NAME@%Xlib/XCB functions%g;          s%@FEATURE_BASE@%$xlib_xcb_BASE%g;              s%@FEATURE_REQUIRES@%$xlib_xcb_REQUIRES%g;              s%@FEATURE_NONPKGCONFIG_LIBS@%$xlib_xcb_NONPKGCONFIG_LIBS%g;            s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xlib_xcb_NONPKGCONFIG_EXTRA_LIBS%g;                s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xlib_xcb_NONPKGCONFIG_CFLAGS%g;                " < "cairo-xlib-xcb-uninstalled.pc.tmp" > "cairo-xlib-xcb-uninstalled.pc" && rm -f "cairo-xlib-xcb-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-xlib-xcb-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-xcb-shm.pc":F)          mv "src/cairo-xcb-shm.pc" "src/cairo-xcb-shm.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xcb-shm%g;         s%@FEATURE_NAME@%XCB/SHM functions%g;           s%@FEATURE_BASE@%$xcb_shm_BASE%g;               s%@FEATURE_REQUIRES@%$xcb_shm_REQUIRES%g;               s%@FEATURE_NONPKGCONFIG_LIBS@%$xcb_shm_NONPKGCONFIG_LIBS%g;             s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xcb_shm_NONPKGCONFIG_EXTRA_LIBS%g;         s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xcb_shm_NONPKGCONFIG_CFLAGS%g;         " < "src/cairo-xcb-shm.pc.tmp" > "src/cairo-xcb-shm.pc" && rm -f "src/cairo-xcb-shm.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-xcb-shm.pc" "$LINENO" 5
-        ;;
-    "cairo-xcb-shm-uninstalled.pc":F)          mv "cairo-xcb-shm-uninstalled.pc" "cairo-xcb-shm-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xcb-shm%g;         s%@FEATURE_NAME@%XCB/SHM functions%g;           s%@FEATURE_BASE@%$xcb_shm_BASE%g;               s%@FEATURE_REQUIRES@%$xcb_shm_REQUIRES%g;               s%@FEATURE_NONPKGCONFIG_LIBS@%$xcb_shm_NONPKGCONFIG_LIBS%g;             s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xcb_shm_NONPKGCONFIG_EXTRA_LIBS%g;         s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xcb_shm_NONPKGCONFIG_CFLAGS%g;         " < "cairo-xcb-shm-uninstalled.pc.tmp" > "cairo-xcb-shm-uninstalled.pc" && rm -f "cairo-xcb-shm-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-xcb-shm-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-qt.pc":F)               mv "src/cairo-qt.pc" "src/cairo-qt.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-qt%g;              s%@FEATURE_NAME@%Qt surface backend%g;          s%@FEATURE_BASE@%$qt_BASE%g;            s%@FEATURE_REQUIRES@%$qt_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$qt_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$qt_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$qt_NONPKGCONFIG_CFLAGS%g;              " < "src/cairo-qt.pc.tmp" > "src/cairo-qt.pc" && rm -f "src/cairo-qt.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-qt.pc" "$LINENO" 5
-        ;;
-    "cairo-qt-uninstalled.pc":F)               mv "cairo-qt-uninstalled.pc" "cairo-qt-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-qt%g;              s%@FEATURE_NAME@%Qt surface backend%g;          s%@FEATURE_BASE@%$qt_BASE%g;            s%@FEATURE_REQUIRES@%$qt_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$qt_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$qt_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$qt_NONPKGCONFIG_CFLAGS%g;              " < "cairo-qt-uninstalled.pc.tmp" > "cairo-qt-uninstalled.pc" && rm -f "cairo-qt-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-qt-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-quartz.pc":F)           mv "src/cairo-quartz.pc" "src/cairo-quartz.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-quartz%g;          s%@FEATURE_NAME@%Quartz surface backend%g;              s%@FEATURE_BASE@%$quartz_BASE%g;                s%@FEATURE_REQUIRES@%$quartz_REQUIRES%g;                s%@FEATURE_NONPKGCONFIG_LIBS@%$quartz_NONPKGCONFIG_LIBS%g;              s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$quartz_NONPKGCONFIG_EXTRA_LIBS%g;          s%@FEATURE_NONPKGCONFIG_CFLAGS@%$quartz_NONPKGCONFIG_CFLAGS%g;          " < "src/cairo-quartz.pc.tmp" > "src/cairo-quartz.pc" && rm -f "src/cairo-quartz.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-quartz.pc" "$LINENO" 5
-        ;;
-    "cairo-quartz-uninstalled.pc":F)           mv "cairo-quartz-uninstalled.pc" "cairo-quartz-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-quartz%g;          s%@FEATURE_NAME@%Quartz surface backend%g;              s%@FEATURE_BASE@%$quartz_BASE%g;                s%@FEATURE_REQUIRES@%$quartz_REQUIRES%g;                s%@FEATURE_NONPKGCONFIG_LIBS@%$quartz_NONPKGCONFIG_LIBS%g;              s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$quartz_NONPKGCONFIG_EXTRA_LIBS%g;          s%@FEATURE_NONPKGCONFIG_CFLAGS@%$quartz_NONPKGCONFIG_CFLAGS%g;          " < "cairo-quartz-uninstalled.pc.tmp" > "cairo-quartz-uninstalled.pc" && rm -f "cairo-quartz-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-quartz-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-quartz-font.pc":F)              mv "src/cairo-quartz-font.pc" "src/cairo-quartz-font.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-quartz-font%g;             s%@FEATURE_NAME@%Quartz font backend%g;         s%@FEATURE_BASE@%$quartz_font_BASE%g;           s%@FEATURE_REQUIRES@%$quartz_font_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$quartz_font_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$quartz_font_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$quartz_font_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-quartz-font.pc.tmp" > "src/cairo-quartz-font.pc" && rm -f "src/cairo-quartz-font.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-quartz-font.pc" "$LINENO" 5
-        ;;
-    "cairo-quartz-font-uninstalled.pc":F)              mv "cairo-quartz-font-uninstalled.pc" "cairo-quartz-font-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-quartz-font%g;             s%@FEATURE_NAME@%Quartz font backend%g;         s%@FEATURE_BASE@%$quartz_font_BASE%g;           s%@FEATURE_REQUIRES@%$quartz_font_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$quartz_font_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$quartz_font_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$quartz_font_NONPKGCONFIG_CFLAGS%g;             " < "cairo-quartz-font-uninstalled.pc.tmp" > "cairo-quartz-font-uninstalled.pc" && rm -f "cairo-quartz-font-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-quartz-font-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-quartz-image.pc":F)             mv "src/cairo-quartz-image.pc" "src/cairo-quartz-image.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-quartz-image%g;            s%@FEATURE_NAME@%Quartz Image surface backend%g;                s%@FEATURE_BASE@%$quartz_image_BASE%g;          s%@FEATURE_REQUIRES@%$quartz_image_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$quartz_image_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$quartz_image_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$quartz_image_NONPKGCONFIG_CFLAGS%g;            " < "src/cairo-quartz-image.pc.tmp" > "src/cairo-quartz-image.pc" && rm -f "src/cairo-quartz-image.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-quartz-image.pc" "$LINENO" 5
-        ;;
-    "cairo-quartz-image-uninstalled.pc":F)             mv "cairo-quartz-image-uninstalled.pc" "cairo-quartz-image-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-quartz-image%g;            s%@FEATURE_NAME@%Quartz Image surface backend%g;                s%@FEATURE_BASE@%$quartz_image_BASE%g;          s%@FEATURE_REQUIRES@%$quartz_image_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$quartz_image_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$quartz_image_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$quartz_image_NONPKGCONFIG_CFLAGS%g;            " < "cairo-quartz-image-uninstalled.pc.tmp" > "cairo-quartz-image-uninstalled.pc" && rm -f "cairo-quartz-image-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-quartz-image-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-win32.pc":F)            mv "src/cairo-win32.pc" "src/cairo-win32.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-win32%g;           s%@FEATURE_NAME@%Microsoft Windows surface backend%g;           s%@FEATURE_BASE@%$win32_BASE%g;         s%@FEATURE_REQUIRES@%$win32_REQUIRES%g;         s%@FEATURE_NONPKGCONFIG_LIBS@%$win32_NONPKGCONFIG_LIBS%g;               s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$win32_NONPKGCONFIG_EXTRA_LIBS%g;           s%@FEATURE_NONPKGCONFIG_CFLAGS@%$win32_NONPKGCONFIG_CFLAGS%g;           " < "src/cairo-win32.pc.tmp" > "src/cairo-win32.pc" && rm -f "src/cairo-win32.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-win32.pc" "$LINENO" 5
-        ;;
-    "cairo-win32-uninstalled.pc":F)            mv "cairo-win32-uninstalled.pc" "cairo-win32-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-win32%g;           s%@FEATURE_NAME@%Microsoft Windows surface backend%g;           s%@FEATURE_BASE@%$win32_BASE%g;         s%@FEATURE_REQUIRES@%$win32_REQUIRES%g;         s%@FEATURE_NONPKGCONFIG_LIBS@%$win32_NONPKGCONFIG_LIBS%g;               s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$win32_NONPKGCONFIG_EXTRA_LIBS%g;           s%@FEATURE_NONPKGCONFIG_CFLAGS@%$win32_NONPKGCONFIG_CFLAGS%g;           " < "cairo-win32-uninstalled.pc.tmp" > "cairo-win32-uninstalled.pc" && rm -f "cairo-win32-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-win32-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-win32-font.pc":F)               mv "src/cairo-win32-font.pc" "src/cairo-win32-font.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-win32-font%g;              s%@FEATURE_NAME@%Microsoft Windows font backend%g;              s%@FEATURE_BASE@%$win32_font_BASE%g;            s%@FEATURE_REQUIRES@%$win32_font_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$win32_font_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$win32_font_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$win32_font_NONPKGCONFIG_CFLAGS%g;              " < "src/cairo-win32-font.pc.tmp" > "src/cairo-win32-font.pc" && rm -f "src/cairo-win32-font.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-win32-font.pc" "$LINENO" 5
-        ;;
-    "cairo-win32-font-uninstalled.pc":F)               mv "cairo-win32-font-uninstalled.pc" "cairo-win32-font-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-win32-font%g;              s%@FEATURE_NAME@%Microsoft Windows font backend%g;              s%@FEATURE_BASE@%$win32_font_BASE%g;            s%@FEATURE_REQUIRES@%$win32_font_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$win32_font_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$win32_font_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$win32_font_NONPKGCONFIG_CFLAGS%g;              " < "cairo-win32-font-uninstalled.pc.tmp" > "cairo-win32-font-uninstalled.pc" && rm -f "cairo-win32-font-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-win32-font-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-skia.pc":F)             mv "src/cairo-skia.pc" "src/cairo-skia.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-skia%g;            s%@FEATURE_NAME@%Skia surface backend%g;                s%@FEATURE_BASE@%$skia_BASE%g;          s%@FEATURE_REQUIRES@%$skia_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$skia_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$skia_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$skia_NONPKGCONFIG_CFLAGS%g;            " < "src/cairo-skia.pc.tmp" > "src/cairo-skia.pc" && rm -f "src/cairo-skia.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-skia.pc" "$LINENO" 5
-        ;;
-    "cairo-skia-uninstalled.pc":F)             mv "cairo-skia-uninstalled.pc" "cairo-skia-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-skia%g;            s%@FEATURE_NAME@%Skia surface backend%g;                s%@FEATURE_BASE@%$skia_BASE%g;          s%@FEATURE_REQUIRES@%$skia_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$skia_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$skia_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$skia_NONPKGCONFIG_CFLAGS%g;            " < "cairo-skia-uninstalled.pc.tmp" > "cairo-skia-uninstalled.pc" && rm -f "cairo-skia-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-skia-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-os2.pc":F)              mv "src/cairo-os2.pc" "src/cairo-os2.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-os2%g;             s%@FEATURE_NAME@%OS/2 surface backend%g;                s%@FEATURE_BASE@%$os2_BASE%g;           s%@FEATURE_REQUIRES@%$os2_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$os2_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$os2_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$os2_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-os2.pc.tmp" > "src/cairo-os2.pc" && rm -f "src/cairo-os2.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-os2.pc" "$LINENO" 5
-        ;;
-    "cairo-os2-uninstalled.pc":F)              mv "cairo-os2-uninstalled.pc" "cairo-os2-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-os2%g;             s%@FEATURE_NAME@%OS/2 surface backend%g;                s%@FEATURE_BASE@%$os2_BASE%g;           s%@FEATURE_REQUIRES@%$os2_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$os2_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$os2_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$os2_NONPKGCONFIG_CFLAGS%g;             " < "cairo-os2-uninstalled.pc.tmp" > "cairo-os2-uninstalled.pc" && rm -f "cairo-os2-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-os2-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-beos.pc":F)             mv "src/cairo-beos.pc" "src/cairo-beos.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-beos%g;            s%@FEATURE_NAME@%BeOS/Zeta surface backend%g;           s%@FEATURE_BASE@%$beos_BASE%g;          s%@FEATURE_REQUIRES@%$beos_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$beos_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$beos_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$beos_NONPKGCONFIG_CFLAGS%g;            " < "src/cairo-beos.pc.tmp" > "src/cairo-beos.pc" && rm -f "src/cairo-beos.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-beos.pc" "$LINENO" 5
-        ;;
-    "cairo-beos-uninstalled.pc":F)             mv "cairo-beos-uninstalled.pc" "cairo-beos-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-beos%g;            s%@FEATURE_NAME@%BeOS/Zeta surface backend%g;           s%@FEATURE_BASE@%$beos_BASE%g;          s%@FEATURE_REQUIRES@%$beos_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$beos_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$beos_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$beos_NONPKGCONFIG_CFLAGS%g;            " < "cairo-beos-uninstalled.pc.tmp" > "cairo-beos-uninstalled.pc" && rm -f "cairo-beos-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-beos-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-drm.pc":F)              mv "src/cairo-drm.pc" "src/cairo-drm.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-drm%g;             s%@FEATURE_NAME@%DRM surface backend%g;         s%@FEATURE_BASE@%$drm_BASE%g;           s%@FEATURE_REQUIRES@%$drm_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$drm_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$drm_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$drm_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-drm.pc.tmp" > "src/cairo-drm.pc" && rm -f "src/cairo-drm.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-drm.pc" "$LINENO" 5
-        ;;
-    "cairo-drm-uninstalled.pc":F)              mv "cairo-drm-uninstalled.pc" "cairo-drm-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-drm%g;             s%@FEATURE_NAME@%DRM surface backend%g;         s%@FEATURE_BASE@%$drm_BASE%g;           s%@FEATURE_REQUIRES@%$drm_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$drm_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$drm_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$drm_NONPKGCONFIG_CFLAGS%g;             " < "cairo-drm-uninstalled.pc.tmp" > "cairo-drm-uninstalled.pc" && rm -f "cairo-drm-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-drm-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-gallium.pc":F)          mv "src/cairo-gallium.pc" "src/cairo-gallium.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-gallium%g;         s%@FEATURE_NAME@%Gallium3D surface backend%g;           s%@FEATURE_BASE@%$gallium_BASE%g;               s%@FEATURE_REQUIRES@%$gallium_REQUIRES%g;               s%@FEATURE_NONPKGCONFIG_LIBS@%$gallium_NONPKGCONFIG_LIBS%g;             s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$gallium_NONPKGCONFIG_EXTRA_LIBS%g;         s%@FEATURE_NONPKGCONFIG_CFLAGS@%$gallium_NONPKGCONFIG_CFLAGS%g;         " < "src/cairo-gallium.pc.tmp" > "src/cairo-gallium.pc" && rm -f "src/cairo-gallium.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-gallium.pc" "$LINENO" 5
-        ;;
-    "cairo-gallium-uninstalled.pc":F)          mv "cairo-gallium-uninstalled.pc" "cairo-gallium-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-gallium%g;         s%@FEATURE_NAME@%Gallium3D surface backend%g;           s%@FEATURE_BASE@%$gallium_BASE%g;               s%@FEATURE_REQUIRES@%$gallium_REQUIRES%g;               s%@FEATURE_NONPKGCONFIG_LIBS@%$gallium_NONPKGCONFIG_LIBS%g;             s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$gallium_NONPKGCONFIG_EXTRA_LIBS%g;         s%@FEATURE_NONPKGCONFIG_CFLAGS@%$gallium_NONPKGCONFIG_CFLAGS%g;         " < "cairo-gallium-uninstalled.pc.tmp" > "cairo-gallium-uninstalled.pc" && rm -f "cairo-gallium-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-gallium-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-png.pc":F)              mv "src/cairo-png.pc" "src/cairo-png.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-png%g;             s%@FEATURE_NAME@%PNG functions%g;               s%@FEATURE_BASE@%$png_BASE%g;           s%@FEATURE_REQUIRES@%$png_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$png_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$png_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$png_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-png.pc.tmp" > "src/cairo-png.pc" && rm -f "src/cairo-png.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-png.pc" "$LINENO" 5
-        ;;
-    "cairo-png-uninstalled.pc":F)              mv "cairo-png-uninstalled.pc" "cairo-png-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-png%g;             s%@FEATURE_NAME@%PNG functions%g;               s%@FEATURE_BASE@%$png_BASE%g;           s%@FEATURE_REQUIRES@%$png_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$png_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$png_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$png_NONPKGCONFIG_CFLAGS%g;             " < "cairo-png-uninstalled.pc.tmp" > "cairo-png-uninstalled.pc" && rm -f "cairo-png-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-png-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-gl.pc":F)               mv "src/cairo-gl.pc" "src/cairo-gl.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-gl%g;              s%@FEATURE_NAME@%OpenGL surface backend%g;              s%@FEATURE_BASE@%$gl_BASE%g;            s%@FEATURE_REQUIRES@%$gl_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$gl_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$gl_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$gl_NONPKGCONFIG_CFLAGS%g;              " < "src/cairo-gl.pc.tmp" > "src/cairo-gl.pc" && rm -f "src/cairo-gl.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-gl.pc" "$LINENO" 5
-        ;;
-    "cairo-gl-uninstalled.pc":F)               mv "cairo-gl-uninstalled.pc" "cairo-gl-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-gl%g;              s%@FEATURE_NAME@%OpenGL surface backend%g;              s%@FEATURE_BASE@%$gl_BASE%g;            s%@FEATURE_REQUIRES@%$gl_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$gl_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$gl_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$gl_NONPKGCONFIG_CFLAGS%g;              " < "cairo-gl-uninstalled.pc.tmp" > "cairo-gl-uninstalled.pc" && rm -f "cairo-gl-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-gl-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-glesv2.pc":F)           mv "src/cairo-glesv2.pc" "src/cairo-glesv2.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-glesv2%g;          s%@FEATURE_NAME@%OpenGLESv2 surface backend%g;          s%@FEATURE_BASE@%$glesv2_BASE%g;                s%@FEATURE_REQUIRES@%$glesv2_REQUIRES%g;                s%@FEATURE_NONPKGCONFIG_LIBS@%$glesv2_NONPKGCONFIG_LIBS%g;              s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$glesv2_NONPKGCONFIG_EXTRA_LIBS%g;          s%@FEATURE_NONPKGCONFIG_CFLAGS@%$glesv2_NONPKGCONFIG_CFLAGS%g;          " < "src/cairo-glesv2.pc.tmp" > "src/cairo-glesv2.pc" && rm -f "src/cairo-glesv2.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-glesv2.pc" "$LINENO" 5
-        ;;
-    "cairo-glesv2-uninstalled.pc":F)           mv "cairo-glesv2-uninstalled.pc" "cairo-glesv2-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-glesv2%g;          s%@FEATURE_NAME@%OpenGLESv2 surface backend%g;          s%@FEATURE_BASE@%$glesv2_BASE%g;                s%@FEATURE_REQUIRES@%$glesv2_REQUIRES%g;                s%@FEATURE_NONPKGCONFIG_LIBS@%$glesv2_NONPKGCONFIG_LIBS%g;              s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$glesv2_NONPKGCONFIG_EXTRA_LIBS%g;          s%@FEATURE_NONPKGCONFIG_CFLAGS@%$glesv2_NONPKGCONFIG_CFLAGS%g;          " < "cairo-glesv2-uninstalled.pc.tmp" > "cairo-glesv2-uninstalled.pc" && rm -f "cairo-glesv2-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-glesv2-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-cogl.pc":F)             mv "src/cairo-cogl.pc" "src/cairo-cogl.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-cogl%g;            s%@FEATURE_NAME@%Cogl surface backend%g;                s%@FEATURE_BASE@%$cogl_BASE%g;          s%@FEATURE_REQUIRES@%$cogl_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$cogl_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$cogl_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$cogl_NONPKGCONFIG_CFLAGS%g;            " < "src/cairo-cogl.pc.tmp" > "src/cairo-cogl.pc" && rm -f "src/cairo-cogl.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-cogl.pc" "$LINENO" 5
-        ;;
-    "cairo-cogl-uninstalled.pc":F)             mv "cairo-cogl-uninstalled.pc" "cairo-cogl-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-cogl%g;            s%@FEATURE_NAME@%Cogl surface backend%g;                s%@FEATURE_BASE@%$cogl_BASE%g;          s%@FEATURE_REQUIRES@%$cogl_REQUIRES%g;          s%@FEATURE_NONPKGCONFIG_LIBS@%$cogl_NONPKGCONFIG_LIBS%g;                s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$cogl_NONPKGCONFIG_EXTRA_LIBS%g;            s%@FEATURE_NONPKGCONFIG_CFLAGS@%$cogl_NONPKGCONFIG_CFLAGS%g;            " < "cairo-cogl-uninstalled.pc.tmp" > "cairo-cogl-uninstalled.pc" && rm -f "cairo-cogl-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-cogl-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-directfb.pc":F)                 mv "src/cairo-directfb.pc" "src/cairo-directfb.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-directfb%g;                s%@FEATURE_NAME@%directfb surface backend%g;            s%@FEATURE_BASE@%$directfb_BASE%g;              s%@FEATURE_REQUIRES@%$directfb_REQUIRES%g;              s%@FEATURE_NONPKGCONFIG_LIBS@%$directfb_NONPKGCONFIG_LIBS%g;            s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$directfb_NONPKGCONFIG_EXTRA_LIBS%g;                s%@FEATURE_NONPKGCONFIG_CFLAGS@%$directfb_NONPKGCONFIG_CFLAGS%g;                " < "src/cairo-directfb.pc.tmp" > "src/cairo-directfb.pc" && rm -f "src/cairo-directfb.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-directfb.pc" "$LINENO" 5
-        ;;
-    "cairo-directfb-uninstalled.pc":F)                 mv "cairo-directfb-uninstalled.pc" "cairo-directfb-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-directfb%g;                s%@FEATURE_NAME@%directfb surface backend%g;            s%@FEATURE_BASE@%$directfb_BASE%g;              s%@FEATURE_REQUIRES@%$directfb_REQUIRES%g;              s%@FEATURE_NONPKGCONFIG_LIBS@%$directfb_NONPKGCONFIG_LIBS%g;            s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$directfb_NONPKGCONFIG_EXTRA_LIBS%g;                s%@FEATURE_NONPKGCONFIG_CFLAGS@%$directfb_NONPKGCONFIG_CFLAGS%g;                " < "cairo-directfb-uninstalled.pc.tmp" > "cairo-directfb-uninstalled.pc" && rm -f "cairo-directfb-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-directfb-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-vg.pc":F)               mv "src/cairo-vg.pc" "src/cairo-vg.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-vg%g;              s%@FEATURE_NAME@%OpenVG surface backend%g;              s%@FEATURE_BASE@%$vg_BASE%g;            s%@FEATURE_REQUIRES@%$vg_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$vg_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$vg_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$vg_NONPKGCONFIG_CFLAGS%g;              " < "src/cairo-vg.pc.tmp" > "src/cairo-vg.pc" && rm -f "src/cairo-vg.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-vg.pc" "$LINENO" 5
-        ;;
-    "cairo-vg-uninstalled.pc":F)               mv "cairo-vg-uninstalled.pc" "cairo-vg-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-vg%g;              s%@FEATURE_NAME@%OpenVG surface backend%g;              s%@FEATURE_BASE@%$vg_BASE%g;            s%@FEATURE_REQUIRES@%$vg_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$vg_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$vg_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$vg_NONPKGCONFIG_CFLAGS%g;              " < "cairo-vg-uninstalled.pc.tmp" > "cairo-vg-uninstalled.pc" && rm -f "cairo-vg-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-vg-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-egl.pc":F)              mv "src/cairo-egl.pc" "src/cairo-egl.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-egl%g;             s%@FEATURE_NAME@%EGL functions%g;               s%@FEATURE_BASE@%$egl_BASE%g;           s%@FEATURE_REQUIRES@%$egl_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$egl_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$egl_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$egl_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-egl.pc.tmp" > "src/cairo-egl.pc" && rm -f "src/cairo-egl.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-egl.pc" "$LINENO" 5
-        ;;
-    "cairo-egl-uninstalled.pc":F)              mv "cairo-egl-uninstalled.pc" "cairo-egl-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-egl%g;             s%@FEATURE_NAME@%EGL functions%g;               s%@FEATURE_BASE@%$egl_BASE%g;           s%@FEATURE_REQUIRES@%$egl_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$egl_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$egl_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$egl_NONPKGCONFIG_CFLAGS%g;             " < "cairo-egl-uninstalled.pc.tmp" > "cairo-egl-uninstalled.pc" && rm -f "cairo-egl-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-egl-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-glx.pc":F)              mv "src/cairo-glx.pc" "src/cairo-glx.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-glx%g;             s%@FEATURE_NAME@%GLX functions%g;               s%@FEATURE_BASE@%$glx_BASE%g;           s%@FEATURE_REQUIRES@%$glx_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$glx_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$glx_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$glx_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-glx.pc.tmp" > "src/cairo-glx.pc" && rm -f "src/cairo-glx.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-glx.pc" "$LINENO" 5
-        ;;
-    "cairo-glx-uninstalled.pc":F)              mv "cairo-glx-uninstalled.pc" "cairo-glx-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-glx%g;             s%@FEATURE_NAME@%GLX functions%g;               s%@FEATURE_BASE@%$glx_BASE%g;           s%@FEATURE_REQUIRES@%$glx_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$glx_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$glx_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$glx_NONPKGCONFIG_CFLAGS%g;             " < "cairo-glx-uninstalled.pc.tmp" > "cairo-glx-uninstalled.pc" && rm -f "cairo-glx-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-glx-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-wgl.pc":F)              mv "src/cairo-wgl.pc" "src/cairo-wgl.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-wgl%g;             s%@FEATURE_NAME@%WGL functions%g;               s%@FEATURE_BASE@%$wgl_BASE%g;           s%@FEATURE_REQUIRES@%$wgl_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$wgl_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$wgl_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$wgl_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-wgl.pc.tmp" > "src/cairo-wgl.pc" && rm -f "src/cairo-wgl.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-wgl.pc" "$LINENO" 5
-        ;;
-    "cairo-wgl-uninstalled.pc":F)              mv "cairo-wgl-uninstalled.pc" "cairo-wgl-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-wgl%g;             s%@FEATURE_NAME@%WGL functions%g;               s%@FEATURE_BASE@%$wgl_BASE%g;           s%@FEATURE_REQUIRES@%$wgl_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$wgl_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$wgl_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$wgl_NONPKGCONFIG_CFLAGS%g;             " < "cairo-wgl-uninstalled.pc.tmp" > "cairo-wgl-uninstalled.pc" && rm -f "cairo-wgl-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-wgl-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-script.pc":F)           mv "src/cairo-script.pc" "src/cairo-script.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-script%g;          s%@FEATURE_NAME@%script surface backend%g;              s%@FEATURE_BASE@%$script_BASE%g;                s%@FEATURE_REQUIRES@%$script_REQUIRES%g;                s%@FEATURE_NONPKGCONFIG_LIBS@%$script_NONPKGCONFIG_LIBS%g;              s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$script_NONPKGCONFIG_EXTRA_LIBS%g;          s%@FEATURE_NONPKGCONFIG_CFLAGS@%$script_NONPKGCONFIG_CFLAGS%g;          " < "src/cairo-script.pc.tmp" > "src/cairo-script.pc" && rm -f "src/cairo-script.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-script.pc" "$LINENO" 5
-        ;;
-    "cairo-script-uninstalled.pc":F)           mv "cairo-script-uninstalled.pc" "cairo-script-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-script%g;          s%@FEATURE_NAME@%script surface backend%g;              s%@FEATURE_BASE@%$script_BASE%g;                s%@FEATURE_REQUIRES@%$script_REQUIRES%g;                s%@FEATURE_NONPKGCONFIG_LIBS@%$script_NONPKGCONFIG_LIBS%g;              s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$script_NONPKGCONFIG_EXTRA_LIBS%g;          s%@FEATURE_NONPKGCONFIG_CFLAGS@%$script_NONPKGCONFIG_CFLAGS%g;          " < "cairo-script-uninstalled.pc.tmp" > "cairo-script-uninstalled.pc" && rm -f "cairo-script-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-script-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-ft.pc":F)               mv "src/cairo-ft.pc" "src/cairo-ft.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-ft%g;              s%@FEATURE_NAME@%FreeType font backend%g;               s%@FEATURE_BASE@%$ft_BASE%g;            s%@FEATURE_REQUIRES@%$ft_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$ft_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$ft_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$ft_NONPKGCONFIG_CFLAGS%g;              " < "src/cairo-ft.pc.tmp" > "src/cairo-ft.pc" && rm -f "src/cairo-ft.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-ft.pc" "$LINENO" 5
-        ;;
-    "cairo-ft-uninstalled.pc":F)               mv "cairo-ft-uninstalled.pc" "cairo-ft-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-ft%g;              s%@FEATURE_NAME@%FreeType font backend%g;               s%@FEATURE_BASE@%$ft_BASE%g;            s%@FEATURE_REQUIRES@%$ft_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$ft_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$ft_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$ft_NONPKGCONFIG_CFLAGS%g;              " < "cairo-ft-uninstalled.pc.tmp" > "cairo-ft-uninstalled.pc" && rm -f "cairo-ft-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-ft-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-fc.pc":F)               mv "src/cairo-fc.pc" "src/cairo-fc.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-fc%g;              s%@FEATURE_NAME@%Fontconfig font backend%g;             s%@FEATURE_BASE@%$fc_BASE%g;            s%@FEATURE_REQUIRES@%$fc_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$fc_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$fc_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$fc_NONPKGCONFIG_CFLAGS%g;              " < "src/cairo-fc.pc.tmp" > "src/cairo-fc.pc" && rm -f "src/cairo-fc.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-fc.pc" "$LINENO" 5
-        ;;
-    "cairo-fc-uninstalled.pc":F)               mv "cairo-fc-uninstalled.pc" "cairo-fc-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-fc%g;              s%@FEATURE_NAME@%Fontconfig font backend%g;             s%@FEATURE_BASE@%$fc_BASE%g;            s%@FEATURE_REQUIRES@%$fc_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$fc_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$fc_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$fc_NONPKGCONFIG_CFLAGS%g;              " < "cairo-fc-uninstalled.pc.tmp" > "cairo-fc-uninstalled.pc" && rm -f "cairo-fc-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-fc-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-ps.pc":F)               mv "src/cairo-ps.pc" "src/cairo-ps.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-ps%g;              s%@FEATURE_NAME@%PostScript surface backend%g;          s%@FEATURE_BASE@%$ps_BASE%g;            s%@FEATURE_REQUIRES@%$ps_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$ps_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$ps_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$ps_NONPKGCONFIG_CFLAGS%g;              " < "src/cairo-ps.pc.tmp" > "src/cairo-ps.pc" && rm -f "src/cairo-ps.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-ps.pc" "$LINENO" 5
-        ;;
-    "cairo-ps-uninstalled.pc":F)               mv "cairo-ps-uninstalled.pc" "cairo-ps-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-ps%g;              s%@FEATURE_NAME@%PostScript surface backend%g;          s%@FEATURE_BASE@%$ps_BASE%g;            s%@FEATURE_REQUIRES@%$ps_REQUIRES%g;            s%@FEATURE_NONPKGCONFIG_LIBS@%$ps_NONPKGCONFIG_LIBS%g;          s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$ps_NONPKGCONFIG_EXTRA_LIBS%g;              s%@FEATURE_NONPKGCONFIG_CFLAGS@%$ps_NONPKGCONFIG_CFLAGS%g;              " < "cairo-ps-uninstalled.pc.tmp" > "cairo-ps-uninstalled.pc" && rm -f "cairo-ps-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-ps-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-pdf.pc":F)              mv "src/cairo-pdf.pc" "src/cairo-pdf.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-pdf%g;             s%@FEATURE_NAME@%PDF surface backend%g;         s%@FEATURE_BASE@%$pdf_BASE%g;           s%@FEATURE_REQUIRES@%$pdf_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$pdf_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$pdf_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$pdf_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-pdf.pc.tmp" > "src/cairo-pdf.pc" && rm -f "src/cairo-pdf.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-pdf.pc" "$LINENO" 5
-        ;;
-    "cairo-pdf-uninstalled.pc":F)              mv "cairo-pdf-uninstalled.pc" "cairo-pdf-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-pdf%g;             s%@FEATURE_NAME@%PDF surface backend%g;         s%@FEATURE_BASE@%$pdf_BASE%g;           s%@FEATURE_REQUIRES@%$pdf_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$pdf_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$pdf_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$pdf_NONPKGCONFIG_CFLAGS%g;             " < "cairo-pdf-uninstalled.pc.tmp" > "cairo-pdf-uninstalled.pc" && rm -f "cairo-pdf-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-pdf-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-svg.pc":F)              mv "src/cairo-svg.pc" "src/cairo-svg.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-svg%g;             s%@FEATURE_NAME@%SVG surface backend%g;         s%@FEATURE_BASE@%$svg_BASE%g;           s%@FEATURE_REQUIRES@%$svg_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$svg_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$svg_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$svg_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-svg.pc.tmp" > "src/cairo-svg.pc" && rm -f "src/cairo-svg.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-svg.pc" "$LINENO" 5
-        ;;
-    "cairo-svg-uninstalled.pc":F)              mv "cairo-svg-uninstalled.pc" "cairo-svg-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-svg%g;             s%@FEATURE_NAME@%SVG surface backend%g;         s%@FEATURE_BASE@%$svg_BASE%g;           s%@FEATURE_REQUIRES@%$svg_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$svg_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$svg_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$svg_NONPKGCONFIG_CFLAGS%g;             " < "cairo-svg-uninstalled.pc.tmp" > "cairo-svg-uninstalled.pc" && rm -f "cairo-svg-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-svg-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-tee.pc":F)              mv "src/cairo-tee.pc" "src/cairo-tee.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-tee%g;             s%@FEATURE_NAME@%tee surface backend%g;         s%@FEATURE_BASE@%$tee_BASE%g;           s%@FEATURE_REQUIRES@%$tee_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$tee_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$tee_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$tee_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-tee.pc.tmp" > "src/cairo-tee.pc" && rm -f "src/cairo-tee.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-tee.pc" "$LINENO" 5
-        ;;
-    "cairo-tee-uninstalled.pc":F)              mv "cairo-tee-uninstalled.pc" "cairo-tee-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-tee%g;             s%@FEATURE_NAME@%tee surface backend%g;         s%@FEATURE_BASE@%$tee_BASE%g;           s%@FEATURE_REQUIRES@%$tee_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$tee_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$tee_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$tee_NONPKGCONFIG_CFLAGS%g;             " < "cairo-tee-uninstalled.pc.tmp" > "cairo-tee-uninstalled.pc" && rm -f "cairo-tee-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-tee-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-xml.pc":F)              mv "src/cairo-xml.pc" "src/cairo-xml.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xml%g;             s%@FEATURE_NAME@%xml surface backend%g;         s%@FEATURE_BASE@%$xml_BASE%g;           s%@FEATURE_REQUIRES@%$xml_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$xml_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xml_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xml_NONPKGCONFIG_CFLAGS%g;             " < "src/cairo-xml.pc.tmp" > "src/cairo-xml.pc" && rm -f "src/cairo-xml.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-xml.pc" "$LINENO" 5
-        ;;
-    "cairo-xml-uninstalled.pc":F)              mv "cairo-xml-uninstalled.pc" "cairo-xml-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-xml%g;             s%@FEATURE_NAME@%xml surface backend%g;         s%@FEATURE_BASE@%$xml_BASE%g;           s%@FEATURE_REQUIRES@%$xml_REQUIRES%g;           s%@FEATURE_NONPKGCONFIG_LIBS@%$xml_NONPKGCONFIG_LIBS%g;         s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$xml_NONPKGCONFIG_EXTRA_LIBS%g;             s%@FEATURE_NONPKGCONFIG_CFLAGS@%$xml_NONPKGCONFIG_CFLAGS%g;             " < "cairo-xml-uninstalled.pc.tmp" > "cairo-xml-uninstalled.pc" && rm -f "cairo-xml-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-xml-uninstalled.pc" "$LINENO" 5
-        ;;
-    "src/cairo-gobject.pc":F)          mv "src/cairo-gobject.pc" "src/cairo-gobject.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-gobject%g;         s%@FEATURE_NAME@%gobject functions%g;           s%@FEATURE_BASE@%$gobject_BASE%g;               s%@FEATURE_REQUIRES@%$gobject_REQUIRES%g;               s%@FEATURE_NONPKGCONFIG_LIBS@%$gobject_NONPKGCONFIG_LIBS%g;             s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$gobject_NONPKGCONFIG_EXTRA_LIBS%g;         s%@FEATURE_NONPKGCONFIG_CFLAGS@%$gobject_NONPKGCONFIG_CFLAGS%g;         " < "src/cairo-gobject.pc.tmp" > "src/cairo-gobject.pc" && rm -f "src/cairo-gobject.pc.tmp" ||
-               as_fn_error $? "failed to update src/cairo-gobject.pc" "$LINENO" 5
-        ;;
-    "cairo-gobject-uninstalled.pc":F)          mv "cairo-gobject-uninstalled.pc" "cairo-gobject-uninstalled.pc.tmp" &&
-               $SED "          s%@FEATURE_PC@%cairo-gobject%g;         s%@FEATURE_NAME@%gobject functions%g;           s%@FEATURE_BASE@%$gobject_BASE%g;               s%@FEATURE_REQUIRES@%$gobject_REQUIRES%g;               s%@FEATURE_NONPKGCONFIG_LIBS@%$gobject_NONPKGCONFIG_LIBS%g;             s%@FEATURE_NONPKGCONFIG_EXTRA_LIBS@%$gobject_NONPKGCONFIG_EXTRA_LIBS%g;         s%@FEATURE_NONPKGCONFIG_CFLAGS@%$gobject_NONPKGCONFIG_CFLAGS%g;         " < "cairo-gobject-uninstalled.pc.tmp" > "cairo-gobject-uninstalled.pc" && rm -f "cairo-gobject-uninstalled.pc.tmp" ||
-               as_fn_error $? "failed to update cairo-gobject-uninstalled.pc" "$LINENO" 5
-        ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-       V="$CAIRO_VERSION_MAJOR.$CAIRO_VERSION_MINOR.$CAIRO_VERSION_MICRO"
-       echo ""
-       echo "cairo (version $V [$CAIRO_RELEASE_STATUS]) will be compiled with:"
-       echo ""
-       echo "The following surface backends:"
-       echo "  Image:         yes (always builtin)"
-       echo "  Recording:     yes (always builtin)"
-       echo "  Observer:      yes (always builtin)"
-       echo "  Mime:          yes (always builtin)"
-       echo "  Tee:           $use_tee"
-       echo "  XML:           $use_xml"
-       echo "  Skia:          $use_skia"
-       echo "  Xlib:          $use_xlib"
-       echo "  Xlib Xrender:  $use_xlib_xrender"
-       echo "  Qt:            $use_qt"
-       echo "  Quartz:        $use_quartz"
-       echo "  Quartz-image:  $use_quartz_image"
-       echo "  XCB:           $use_xcb"
-       echo "  Win32:         $use_win32"
-       echo "  OS2:           $use_os2"
-       echo "  CairoScript:   $use_script"
-       echo "  PostScript:    $use_ps"
-       echo "  PDF:           $use_pdf"
-       echo "  SVG:           $use_svg"
-       echo "  OpenGL:        $use_gl"
-       echo "  OpenGL ES 2.0: $use_glesv2"
-       echo "  BeOS:          $use_beos"
-       echo "  DirectFB:      $use_directfb"
-       echo "  OpenVG:        $use_vg"
-       echo "  DRM:           $use_drm"
-       echo "  Cogl:          $use_cogl"
-       echo ""
-       echo "The following font backends:"
-       echo "  User:          yes (always builtin)"
-       echo "  FreeType:      $use_ft"
-       echo "  Fontconfig:    $use_fc"
-       echo "  Win32:         $use_win32_font"
-       echo "  Quartz:        $use_quartz_font"
-       echo ""
-       echo "The following functions:"
-       echo "  PNG functions:   $use_png"
-       echo "  GLX functions:   $use_glx"
-       echo "  WGL functions:   $use_wgl"
-       echo "  EGL functions:   $use_egl"
-       echo "  X11-xcb functions: $use_xlib_xcb"
-       echo "  XCB-shm functions: $use_xcb_shm"
-       echo ""
-       echo "The following features and utilities:"
-       echo "  cairo-trace:                $use_trace"
-       echo "  cairo-script-interpreter:   $use_interpreter"
-       echo ""
-       echo "And the following internal features:"
-       echo "  pthread:       $use_pthread"
-       echo "  gtk-doc:       $enable_gtk_doc"
-       echo "  gcov support:  $use_gcov"
-       echo "  symbol-lookup: $use_symbol_lookup"
-       echo "  test surfaces: $use_test_surfaces"
-       echo "  ps testing:    $test_ps"
-       echo "  pdf testing:   $test_pdf"
-       echo "  svg testing:   $test_svg"
-       if test x"$use_win32" = "xyes"; then
-               echo "  win32 printing testing:    $test_win32_printing"
-       fi
-       echo "$CAIRO_WARNING_MESSAGE"
-       echo ""
-
index df55cbc..80f97ed 100644 (file)
@@ -34,7 +34,9 @@ m4_include(build/configure.ac.warnings)       dnl checks for compiler warning
 m4_include(build/configure.ac.system)  dnl checks for system functions, headers, libs
 m4_include(build/configure.ac.analysis)        dnl checks for analysis tools (lcov, etc)
 m4_include(build/configure.ac.noversion) dnl disable builtin libtool versioning
+m4_include(build/configure.ac.openmp) dnl checks for openmp
 m4_include(build/configure.ac.pthread)  dnl checks for pthreads
+m4_include(build/configure.ac.tls)  dnl checks for thread-local storage
 AC_CACHE_SAVE
 
 dnl ===========================================================================
@@ -47,6 +49,18 @@ AC_CHECK_LIB(z, compress,
         [have_libz="no (requires zlib http://www.gzip.org/zlib/)"])],
         [have_libz="no (requires zlib http://www.gzip.org/zlib/)"])
 
+save_LIBS="$LIBS"
+AC_CHECK_LIB(lzo2, lzo2a_decompress,
+        [AC_CHECK_HEADER(lzo/lzo2a.h, [
+         have_lzo=yes
+         AC_DEFINE(HAVE_LZO, 1, [Define to 1 if you have lzo available])
+         lzo_LIBS="-llzo2"
+        ],
+        [have_lzo="no (requires lzpo http://www.oberhumer.com/opensource/lzo/)"])],
+        [have_lzo="no (requires lzpo http://www.oberhumer.com/opensource/lzo/)"])
+AC_SUBST(lzo_LIBS)
+LIBS="$save_LIBS"
+
 AC_CHECK_LIB(dl, dlsym,
             [have_dlsym=yes; have_dl=yes],
             [have_dlsym=no; have_dl=no])
@@ -61,19 +75,70 @@ fi
 AM_CONDITIONAL(CAIRO_HAS_DLSYM, test "x$have_dlsym" = "xyes")
 
 dnl ===========================================================================
+dnl Check support for TLS
+have_tls=no
+CAIRO_ENABLE(tls, tls, no, [CAIRO_CONFIGURE_TLS])
+AM_CONDITIONAL(HAVE_TLS, test "x$use_tls" = "xyes")
+AC_SUBST(tls_CFLAGS)
+AC_SUBST(tls_LIBS)
+
+dnl ===========================================================================
+dnl Check support for pthread_setspecific
+have_pthread_setspecific=no
+CAIRO_ENABLE(pthread_setspecific, pthread_setspecific, no, [CAIRO_CONFIGURE_PTHREAD_SETSPECIFIC])
+AM_CONDITIONAL(HAVE_PTHREAD_SETSPECIFIC, test "x$use_pthread_setspecific" = "xyes")
+AC_SUBST(pthread_setspecific_CFLAGS)
+AC_SUBST(pthread_setspecific_LIBS)
+
+dnl ===========================================================================
 
 CAIRO_ENABLE_SURFACE_BACKEND(xlib, Xlib, auto, [
-  xlib_REQUIRES="x11"
+  xlib_REQUIRES="x11 xext"
   PKG_CHECK_MODULES(xlib, $xlib_REQUIRES, ,
-                   [AC_MSG_RESULT(no)
-                    xlib_REQUIRES=""
+                   [xlib_REQUIRES=""
                     AC_PATH_XTRA
                     if test "x$no_x" = xyes; then
                       use_xlib="no (requires X development libraries)"
                     else
-                      xlib_NONPKGCONFIG_LIBS="$X_PRE_LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
+                      xlib_NONPKGCONFIG_LIBS="$X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS"
                       xlib_NONPKGCONFIG_CFLAGS=$X_CFLAGS
                     fi])
+
+  AC_CHECK_HEADER(sys/ipc.h)
+  AC_CHECK_HEADER(sys/shm.h)
+
+  if test "$ac_cv_header_sys_ipc_h" = "yes" -a "$ac_cv_header_sys_shm_h" = "yes"; then
+      AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
+      AC_TRY_RUN([
+                 #include <sys/types.h>
+                 #include <sys/ipc.h>
+                 #include <sys/shm.h>
+                 int main()
+                 {
+                     char *shmaddr;
+                     int id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600);
+                     if (id == -1) return 2;
+                     shmaddr = shmat (id, 0, 0);
+                     shmctl (id, IPC_RMID, 0);
+                     if ((char*) shmat (id, 0, 0) == (char*) -1) {
+                         shmdt (shmaddr);
+                         return 1;
+                     }
+                     shmdt (shmaddr);
+                     shmdt (shmaddr);
+                     return 0;
+                 }
+                 ],
+                 AC_DEFINE(IPC_RMID_DEFERRED_RELEASE, 1,
+                           [Define to 1 if shared memory segments are released deferred.])
+                 AC_MSG_RESULT(yes),
+                 AC_MSG_RESULT(no),
+                 AC_MSG_RESULT(assuming no))
+      fi
+
+      AC_CHECK_HEADERS([X11/extensions/XShm.h X11/extensions/shmproto.h X11/extensions/shmstr.h], [], [],
+                      [#include <X11/Xlibint.h>
+                       #include <X11/Xproto.h>])
 ])
 
 CAIRO_ENABLE_SURFACE_BACKEND(xlib_xrender, Xlib Xrender, auto, [
@@ -84,13 +149,13 @@ CAIRO_ENABLE_SURFACE_BACKEND(xlib_xrender, Xlib Xrender, auto, [
     xlib_xrender_BASE=cairo-xlib
     xlib_xrender_REQUIRES="xrender >= 0.6"
     PKG_CHECK_MODULES(xlib_xrender, $xlib_xrender_REQUIRES, ,
-                     [AC_MSG_RESULT(no)
-                      xlib_xrender_REQUIRES=""
+                     [xlib_xrender_REQUIRES=""
                       old_CPPFLAGS=$CPPFLAGS
                       CPPFLAGS="$CPPFLAGS $xlib_CFLAGS $xlib_NONPKGCONFIG_CFLAGS"
                       AC_CHECK_HEADER(X11/extensions/Xrender.h,
                                       [xlib_xrender_NONPKGCONFIG_LIBS="-lXrender"],
-                                      [use_xlib_xrender="no (requires $xlib_xrender_REQUIRES http://freedesktop.org/Software/xlibs)"])
+                                      [use_xlib_xrender="no (requires $xlib_xrender_REQUIRES http://freedesktop.org/Software/xlibs)"],
+                                      [#include <X11/X.h>])
                       CPPFLAGS=$old_CPPFLAGS
                      ])
 
@@ -110,16 +175,14 @@ dnl ===========================================================================
 CAIRO_ENABLE_SURFACE_BACKEND(xcb, XCB, auto, [
   xcb_REQUIRES="xcb >= 1.6 xcb-render >= 1.6"
   PKG_CHECK_MODULES(xcb, $xcb_REQUIRES, ,
-                   [AC_MSG_RESULT(no)
-                   use_xcb="no (requires $xcb_REQUIRES http://xcb.freedesktop.org)"])
+                   [use_xcb="no (requires $xcb_REQUIRES http://xcb.freedesktop.org)"])
 ])
 
 CAIRO_ENABLE_FUNCTIONS(xlib_xcb, Xlib/XCB, no, [
   if test "x$use_xcb" = "xyes" -a "x$use_xlib" = "xyes"; then
     xlib_xcb_REQUIRES="x11-xcb"
     PKG_CHECK_MODULES(xlib_xcb, $xlib_xcb_REQUIRES, ,
-                     [AC_MSG_RESULT(no)
-                     use_xlib_xcb="no (requires $xlib_xcb_REQUIRES http://xcb.freedesktop.org)"])
+                     [use_xlib_xcb="no (requires $xlib_xcb_REQUIRES http://xcb.freedesktop.org)"])
   else
     use_xlib_xcb="no (requires both --enable-xlib and --enable-xcb)"
   fi
@@ -129,8 +192,7 @@ CAIRO_ENABLE_FUNCTIONS(xcb_shm, XCB/SHM, auto, [
   if test "x$use_xcb" = "xyes"; then
       xcb_shm_REQUIRES="xcb-shm"
       PKG_CHECK_MODULES(xcb_shm, $xcb_shm_REQUIRES, ,
-                       [AC_MSG_RESULT(no)
-                       use_xcb_shm="no (requires $xcb_shm http://xcb.freedesktop.org)"])
+                       [use_xcb_shm="no (requires $xcb_shm http://xcb.freedesktop.org)"])
   else
     use_xcb_shm="no (requires --enable-xcb)"
   fi
@@ -141,8 +203,7 @@ dnl ===========================================================================
 CAIRO_ENABLE_SURFACE_BACKEND(qt, Qt, no, [
   qt_REQUIRES="QtGui >= 4.4.0"
   PKG_CHECK_MODULES(qt, $qt_REQUIRES, ,
-                   [AC_MSG_RESULT(no)
-                    qt_REQUIRES=""
+                   [qt_REQUIRES=""
                     use_qt="no (requires Qt4 development libraries)"
                     ])
 ])
@@ -151,13 +212,13 @@ dnl ===========================================================================
 
 CAIRO_ENABLE_SURFACE_BACKEND(quartz, Quartz, auto, [
   dnl There is no pkgconfig for quartz; lets do a header check
-  AC_CHECK_HEADER(ApplicationServices/ApplicationServices.h, , [use_quartz="no (requires ApplicationServices framework)"])
+  AC_CHECK_HEADERS([ApplicationServices/ApplicationServices.h Accelerate/Accelerate.h], , [use_quartz="no (requires ApplicationServices framework)"])
   if test "x$use_quartz" != "xyes" ; then
     dnl check for CoreGraphics as a separate framework
-    AC_CHECK_HEADER(CoreGraphics/CoreGraphics.h, , [use_quartz="no (requires CoreGraphics framework)"])
-    quartz_LIBS="-Xlinker -framework -Xlinker CoreGraphics"
+    AC_CHECK_HEADERS([CoreGraphics/CoreGraphics.h Accelerate/Accelerate.h], , [use_quartz="no (requires CoreGraphics framework)"])
+    quartz_LIBS="-Xlinker -framework -Xlinker CoreGraphics -Xlinker -framework -Xlinker Accelerate"
   else
-    quartz_LIBS="-Xlinker -framework -Xlinker ApplicationServices"
+    quartz_LIBS="-Xlinker -framework -Xlinker ApplicationServices -Xlinker -framework -Xlinker Accelerate"
   fi
 ])
 
@@ -250,8 +311,8 @@ dnl ===========================================================================
 
 CAIRO_ENABLE_SURFACE_BACKEND(drm, DRM, no, [
   drm_REQUIRES="libudev >= 136"
-  PKG_CHECK_MODULES(drm, $drm_REQUIRES, , [AC_MSG_RESULT(no)
-  use_drm="no (requires $drm_REQUIRES, udev is available from git://git.kernel.org/pub/scm/linux/hotplug/udev.git)"])
+  PKG_CHECK_MODULES(drm, $drm_REQUIRES, ,
+   [use_drm="no (requires $drm_REQUIRES, udev is available from git://git.kernel.org/pub/scm/linux/hotplug/udev.git)"])
 ])
 
 CAIRO_ENABLE_SURFACE_BACKEND(gallium, Gallium3D, no, [
@@ -290,7 +351,7 @@ CAIRO_ENABLE_FUNCTIONS(png, PNG, yes, [
   fi
 
   if test "x$use_png" = "xyes" ; then 
-    PKG_CHECK_MODULES(png, $png_REQUIRES, , AC_MSG_RESULT(no))
+    PKG_CHECK_MODULES(png, $png_REQUIRES, , )
   else
     AC_MSG_WARN([Could not find libpng in the pkg-config search path])
   fi    
@@ -314,6 +375,24 @@ CAIRO_ENABLE_SURFACE_BACKEND(gl, OpenGL, no, [
   need_glx_functions=yes
   need_wgl_functions=yes
   need_egl_functions=yes
+  need_evasgl_functions=yes
+])
+
+dnl ===========================================================================
+CAIRO_ENABLE_SURFACE_BACKEND(evasgl, EvasGL, no, [
+  evasgl_REQUIRES="evas ecore ecore-evas"
+  PKG_CHECK_MODULES(evasgl, $evasgl_REQUIRES,, [
+         dnl Fallback to searching for headers
+         AC_CHECK_HEADER(evas-1/Evas_GL.h,, [use_evasgl="no (evas.pc nor EvasGL headers not found)"])
+         gl_NONPKGCONFIG_CFLAGS=
+         gl_NONPKGCONFIG_LIBS="-levas"
+         ])
+
+  if test "x$have_dl" = "xyes" -a "x$have_dlsym" = "xyes"; then
+    gl_LIBS="$gl_LIBS -ldl"
+  fi
+
+  need_evasgl_functions=yes
 ])
 
 dnl ===========================================================================
@@ -335,6 +414,24 @@ CAIRO_ENABLE_SURFACE_BACKEND(glesv2, OpenGLESv2, no, [
 ])
 
 dnl ===========================================================================
+CAIRO_ENABLE_SURFACE_BACKEND(glesv3, OpenGLESv3, no, [
+  glesv3_REQUIRES="glesv2"
+  PKG_CHECK_MODULES(glesv3, $glesv3_REQUIRES,, [
+         dnl Fallback to searching for headers
+         AC_CHECK_HEADER(GLES3/gl3.h,, [use_glesv3="no (glesv2.pc nor OpenGL ES 3.0 headers not found)"])
+         if test "x$use_glesv3" = "xyes"; then
+             glesv3_NONPKGCONFIG_CFLAGS=
+             glesv3_NONPKGCONFIG_LIBS="-lGLESv2"
+         fi])
+
+  if test "x$have_dl" = "xyes" -a "x$have_dlsym" = "xyes"; then
+    glesv3_LIBS="$glesv3_LIBS -ldl"
+  fi
+
+  need_egl_functions=yes
+])
+
+dnl ===========================================================================
 CAIRO_ENABLE_SURFACE_BACKEND(cogl, Cogl, no, [
   cogl_REQUIRES="cogl-2.0-experimental"
   PKG_CHECK_MODULES(cogl, $cogl_REQUIRES,, [use_cogl="no"])
@@ -344,12 +441,21 @@ dnl ===========================================================================
 
 CAIRO_ENABLE_SURFACE_BACKEND(directfb, directfb, no, [
   directfb_REQUIRES=directfb
-  PKG_CHECK_MODULES(directfb, $directfb_REQUIRES, , AC_MSG_RESULT(no)
+  PKG_CHECK_MODULES(directfb, $directfb_REQUIRES, ,
                    [use_directfb="no (requires $directfb_REQUIRES http://www.directfb.org)"])
 ])
 
 dnl ===========================================================================
 
+CAIRO_ENABLE_SURFACE_BACKEND(tg, TG, no, [
+  if test "x$use_tls" != "xyes" -a \
+          "x$use_pthread_setspecific" != "xyes"; then
+    use_tg="no (requires tls or pthread_setspecific)"
+    tg_REQUIRES="tls or pthread setspecific"
+  fi])
+
+dnl ===========================================================================
+
 CAIRO_ENABLE_SURFACE_BACKEND(vg, OpenVG, no, [
   dnl There is no pkgconfig for OpenVG; lets do a header check
   AC_CHECK_HEADER(VG/openvg.h,, [use_vg="no (OpenVG headers not found)"])
@@ -447,8 +553,7 @@ CAIRO_ENABLE_FONT_BACKEND(ft, FreeType, auto, [
 
     PKG_CHECK_MODULES(FREETYPE, freetype2 >= $FREETYPE_MIN_VERSION,
                       [freetype_pkgconfig=yes],
-                     [AC_MSG_RESULT(no)
-                      freetype_pkgconfig=no])
+                     [freetype_pkgconfig=no])
   
     if test "x$freetype_pkgconfig" = "xyes"; then
       ft_REQUIRES="freetype2 >= $FREETYPE_MIN_VERSION $ft_REQUIRES"
@@ -482,7 +587,7 @@ CAIRO_ENABLE_FONT_BACKEND(fc, Fontconfig, auto, [
   if test "x$use_fc" = "xyes"; then
     fc_REQUIRES="fontconfig >= $FONTCONFIG_MIN_VERSION"
     PKG_CHECK_MODULES(FONTCONFIG, $fc_REQUIRES,,
-                     [AC_MSG_RESULT(no); use_fc="no (requires $fc_REQUIRES)"])
+                     [use_fc="no (requires $fc_REQUIRES)"])
   fi
   fc_CFLAGS="$FONTCONFIG_CFLAGS"
   fc_LIBS="$FONTCONFIG_LIBS"
@@ -493,15 +598,8 @@ if test "x$use_ft" = "xyes"; then
   _save_cflags="$CFLAGS"
   LIBS="$LIBS $ft_LIBS"
   CFLAGS="$CFLAGS $ft_CFLAGS"
-  AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
-                  HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
-                  HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
-                  [#include <ft2build.h>
-                   #include FT_FREETYPE_H])
-  AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
-                     [FT_Bitmap_Size structure includes y_ppem field])
 
-  AC_CHECK_FUNCS(FT_GlyphSlot_Embolden FT_GlyphSlot_Oblique FT_Load_Sfnt_Table FT_Library_SetLcdFilter)
+  AC_CHECK_FUNCS(FT_Get_X11_Font_Format FT_GlyphSlot_Embolden FT_GlyphSlot_Oblique FT_Load_Sfnt_Table FT_Library_SetLcdFilter)
 
   LIBS="$_save_libs"
   CFLAGS="$_save_cflags"
@@ -620,13 +718,18 @@ dnl ===========================================================================
 
 CAIRO_ENABLE_SURFACE_BACKEND(image, image, always, [
   pixman_REQUIRES="pixman-1 >= 0.22.0"
-  PKG_CHECK_MODULES(pixman, $pixman_REQUIRES, , [AC_MSG_RESULT(no)
-  use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"])
+  PKG_CHECK_MODULES(pixman, $pixman_REQUIRES, ,
+    [use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"])
   image_REQUIRES=$pixman_REQUIRES
   image_CFLAGS=$pixman_CFLAGS
   image_LIBS=$pixman_LIBS
 ])
 
+if pkg-config --exists 'pixman-1 >= 0.27.1'; then
+    AC_DEFINE([HAS_PIXMAN_GLYPHS], 1, [Enable pixman glyph cache])
+fi
+
+
 dnl ===========================================================================
 
 CAIRO_ENABLE_SURFACE_BACKEND(mime, mime, always)
@@ -643,6 +746,14 @@ dnl ===========================================================================
 CAIRO_ENABLE_FONT_BACKEND(user, user, always)
 
 dnl ===========================================================================
+dnl Check support for openmp
+have_openmp=no
+CAIRO_ENABLE(openmp, openmp, no, [CAIRO_CONFIGURE_OPENMP])
+AM_CONDITIONAL(HAVE_OPENMP, test "x$use_openmp" = "xyes")
+AC_SUBST(openmp_CFLAGS)
+AC_SUBST(openmp_LIBS)
+
+dnl ===========================================================================
 dnl
 dnl This needs to be last on our list of features so that the pthread libs and flags
 dnl gets prefixed in front of everything else in CAIRO_{CFLAGS,LIBS}.
@@ -663,13 +774,13 @@ dnl Build gobject integration library
 
 CAIRO_ENABLE_FUNCTIONS(gobject, gobject, auto, [
   gobject_REQUIRES="gobject-2.0 glib-2.0"
-  PKG_CHECK_MODULES(GOBJECT, $gobject_REQUIRES, , [AC_MSG_RESULT(no)
-  use_gobject="no (requires $gobject_REQUIRES http://download.gnome.org/pub/GNOME/sources/glib/)"])
+  PKG_CHECK_MODULES(GOBJECT, $gobject_REQUIRES, ,
+    [use_gobject="no (requires $gobject_REQUIRES http://download.gnome.org/pub/GNOME/sources/glib/)"])
   gobject_NONPKGCONFIG_EXTRA_LIBS="-L\${libdir} -lcairo-gobject"
 ])
 dnl I'm too lazy to fix the caching properly
 if test "x$use_gobject" = "xyes"; then
-  PKG_CHECK_MODULES(GOBJECT, $gobject_REQUIRES)
+  PKG_CHECK_MODULES(GOBJECT, $gobject_REQUIRES, : )
 fi
 
 dnl ===========================================================================
@@ -807,21 +918,11 @@ AC_CONFIG_FILES([
 Makefile
 boilerplate/Makefile
 src/Makefile
-test/Makefile
-test/pdiff/Makefile
-perf/Makefile
-perf/micro/Makefile
 util/Makefile
-util/cairo-fdr/Makefile
 util/cairo-gobject/Makefile
 util/cairo-missing/Makefile
 util/cairo-script/Makefile
 util/cairo-script/examples/Makefile
-util/cairo-sphinx/Makefile
-util/cairo-trace/Makefile
-util/cairo-trace/cairo-trace
-doc/Makefile
-doc/public/Makefile
 ])
 
 AC_OUTPUT
diff --git a/debian/changelog b/debian/changelog
deleted file mode 100644 (file)
index f878135..0000000
+++ /dev/null
@@ -1,1120 +0,0 @@
-cairo (1.12.2-slp2+8) unstable; urgency=low
-
-  * Update latest DTS code
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.2-slp2+8
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Thu, 02 Aug 2012 14:59:36 +0900
-
-cairo (1.12.2-slp2+7) unstable; urgency=low
-
-  * Bug fixes and memory optimization
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.2-slp2+7
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Mon, 16 Jul 2012 15:11:38 +0900
-
-cairo (1.12.2-slp2+6) unstable; urgency=low
-
-  * Reupload package
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.2-slp2+6
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Wed, 11 Jul 2012 19:25:02 +0900
-
-cairo (1.12.2-slp2+5) unstable; urgency=low
-
-  * gl: Glyph and image cache surfaces must be released in _gl_finish()
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.2-slp2+5
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Tue, 10 Jul 2012 14:19:56 +0900
-
-cairo (1.12.2-slp2+4) unstable; urgency=low
-
-  * gl: Fix color differences at gradient boundaries
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.2-slp2+4
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Thu, 05 Jul 2012 10:10:35 +0900
-
-cairo (1.12.2-slp2+3) unstable; urgency=low
-
-  * Update cairo gles backend to latest
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.2-slp2+3
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Thu, 21 Jun 2012 12:02:27 +0900
-
-cairo (1.12.2-slp2+2) unstable; urgency=low
-
-  * Fix duplicate context release in msaa mask source operator
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.2-slp2+2
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Tue, 12 Jun 2012 17:03:58 +0900
-
-cairo (1.12.2-slp2+1) unstable; urgency=low
-
-  * Update cairo to 1.12.2 with cairogles optimizations
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.2-slp2+1
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Tue, 08 May 2012 16:26:19 +0900
-
-cairo (1.12.0-slp2+7) unstable; urgency=low
-
-  * Add missing cairo_gl_composite_flush for disabling lazy flushing
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.0-slp2+7
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Thu, 03 May 2012 20:03:18 +0900
-
-cairo (1.12.0-slp2+6) unstable; urgency=low
-
-  * Fix mono scan converter's crash probelm
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.0-slp2+6
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Thu, 26 Apr 2012 17:21:51 +0900
-
-cairo (1.12.0-slp2+5) unstable; urgency=low
-
-  * Revert autogen and configure to fix build error
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.0-slp2+5
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Thu, 26 Apr 2012 13:41:44 +0900
-
-cairo (1.12.0-slp2+4) unstable; urgency=low
-
-  * Update cairo gles backend to latest (commit id: 24857828243b)
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.0-slp2+4
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Wed, 25 Apr 2012 19:24:54 +0900
-
-cairo (1.12.0-slp2+3) unstable; urgency=low
-
-  * Fix memory address reference error in gl msaa compositor
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.0-slp2+3
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Mon, 23 Apr 2012 20:23:25 +0900
-
-cairo (1.12.0-slp2+2) unstable; urgency=low
-
-  * Modify cairo.pc to use gles20 package
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.0-slp2+2
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Thu, 12 Apr 2012 10:05:34 +0900
-
-cairo (1.12.0-slp2+1) unstable; urgency=low
-
-  * Upgrade cairo version to 1.12.0 with cairogles
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.12.0-slp2+1
-
- -- Dongyeon Kim <dy5.kim@samsung.com>  Mon, 09 Apr 2012 12:12:04 +0900
-
-cairo (1.11.3-slp2+11) unstable; urgency=low
-
-  * Add packaging directory for OBS
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+11
-
- -- Deokjin Kim <deokjin81.kim@samsung.com>  Wed, 14 Mar 2012 18:21:11 +0900
-
-cairo (1.11.3-slp2+10) unstable; urgency=low
-
-  * Remove SLP_FIX_DASHED_LINE_STROKE patch
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+10
-
- -- Deokjin Kim <deokjin81.kim@samsung.com>  Wed, 28 Dec 2011 15:58:21 +0900
-
-cairo (1.11.3-slp2+9) unstable; urgency=low
-
-  * Mono scan converter : fix array size and equation of algorithm
-  * Git: slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+9
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Mon, 19 Dec 2011 13:40:25 +0900
-
-cairo (1.11.3-slp2+8) unstable; urgency=low
-
-  * Fix sometimes polygon isn't displayed well when clip has null path
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+8
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Thu, 08 Dec 2011 13:24:36 +0900
-
-cairo (1.11.3-slp2+7) unstable; urgency=low
-
-  * Fix dashed line stroke issue
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+7
-
- -- Deokjin Kim <deokjin81.kim@samsung.com>  Wed, 30 Nov 2011 15:23:59 +0900
-
-cairo (1.11.3-slp2+6) unstable; urgency=low
-
-  * Add cairo_ft_font_option_set_extra_flags() for synthetic bold
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+6
-
- -- Deokjin Kim <deokjin81.kim@samsung.com>  Thu, 24 Nov 2011 16:27:58 +0900
-
-cairo (1.11.3-slp2+5) unstable; urgency=low
-
-  * image : Fix display bug regarding subsurface problem in recording surface
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+5
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Wed, 23 Nov 2011 09:26:47 +0900
-
-cairo (1.11.3-slp2+4) unstable; urgency=low
-
-  * image : Fix tessellator crash problem (CQ  H0100136146)
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+4
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Wed, 02 Nov 2011 15:12:57 +0900
-
-cairo (1.11.3-slp2+3) unstable; urgency=low
-
-  * image : Fix Twitter app's button broken problem (CQ H0100135401/H0100136153)
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+3
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Tue, 01 Nov 2011 21:30:06 +0900
-
-cairo (1.11.3-slp2+2) unstable; urgency=low
-
-  * image: Update cairo to upstream latest (solve CQ H0100134938, H0100134936)
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+2
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Thu, 13 Oct 2011 11:00:15 +0900
-
-cairo (1.11.3-slp2+1) unstable; urgency=low
-
-  * image: Upgrade version from 1.10.2 to 1.11.3
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.11.3-slp2+1
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Mon, 10 Oct 2011 11:09:12 +0900
-
-cairo (1.10.2-slp2+7) unstable; urgency=low
-
-  * image: Workaround for antialias of clip path in paint()
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.10.2-slp2+7
-
- -- Deokjin Kim <deokjin81.kim@samsung.com>  Thu, 01 Sep 2011 11:10:09 +0900
-
-cairo (1.10.2-slp2+6) unstable; urgency=low
-
-  * Several bug fixes for clip and unbounded ops
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.10.2-slp2+6
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Wed, 06 Jul 2011 08:16:40 +0900
-
-cairo (1.10.2-slp2+5) unstable; urgency=low
-
-  * tessellator: Fixed to produce an output box with x1 <= x2 for single box
-    input
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.10.2-slp2+5
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Thu, 16 Jun 2011 09:50:09 +0900
-
-cairo (1.10.2-slp2+4) unstable; urgency=low
-
-  * Bug fix for _cairo_image_surface_fixup_unbounded_boxes
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.10.2-slp2+4
-
- -- Seongwon Cho <seongwon1.cho@samsung.com>  Tue, 14 Jun 2011 13:43:43 +0900
-
-cairo (1.10.2-slp2+3) unstable; urgency=low
-
-  * Fix build break caused by xcb-shm
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.10.2-slp2+3
-
- -- Deokjin Kim <deokjin81.kim@samsung.com>>  Fri, 20 May 2011 13:40:50 +0900
-
-cairo (1.10.2-slp2+2) unstable; urgency=low
-
-  * Fix build break caused by xcb-shm
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.10.2-slp2+2
-
- -- Deokjin Kim <deokjin81.kim@samsung.com>>  Fri, 20 May 2011 12:13:06 +0900
-
-cairo (1.10.2-slp2+1) unstable; urgency=low
-
-  * Upgrade version from 1.8.8 to 1.10.2
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.10.2-slp2+1
-
- -- Deokjin Kim <deokjin81.kim@samsung.com>>  Wed, 27 Apr 2011 18:44:24 +0900
-
-cairo (1.8.8-11slp2) unstable; urgency=low
-
-  * Reupload according to modification of freetype2
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.8.8-11slp2
-
- -- Deokjin Kim <deokjin81.kim@samsung.com>>  Wed, 06 Apr 2011 17:32:04 +0900
-
-cairo (1.8.8-10slp2) unstable; urgency=low
-
-  * Apply '-mfpu=vfp -mfloat-abi=softfp'
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.8.8-10slp2
-
- -- Boram Park <boram1288.park@samsung.com>>  Wed, 23 Mar 2011 12:09:09 +0900
-
-cairo (1.8.8-9slp2) unstable; urgency=low
-
-  * Don't err on non-invertible font matrix
-  * Git: 165.213.180.234:slp/unmodified/cairo.git
-  * Tag: cairo_1.8.8-9slp2
-
- -- Boram Park <boram1288.park@samsung.com>>  Fri, 11 Feb 2011 14:13:45 +0900
-
-cairo (1.8.8-8slp2) unstable; urgency=low
-
-  * Version up to 1.8.8-8slp2
-  * Git: 165.213.180.234:/git/slp/unmodified/cairo
-  * Tag: cairo_1.8.8-8slp2
-
- -- Deokjin Kim <deokjin81.kim@samsung.com>>  Thu, 18 Nov 2010 16:07:42 +0900
-
-cairo (1.8.8-7slp2) unstable; urgency=low
-
-  * Version up to 1.8.8-7slp2
-  * Git: 165.213.180.234:/git/slp/unmodified/cairo
-  * Tag: cairo_1.8.8-7slp2
-
- -- Boram Park <boram1288.park@samsung.com>>  Thu, 18 Nov 2010 14:01:48 +0900
-
-cairo (1.8.8-6slp2) unstable; urgency=low
-
-  * Add "libpixman1.0-0" dependency.
-  * Remove libcairo2-doc
-
- -- Boram Park <boram1288.park@samsung.com>>  Wed, 06 Oct 2010 16:22:09 +0900
-
-cairo (1.8.8-5slp2) unstable; urgency=low
-
-  * Changing version naming rule
-
- -- Boram Park <boram1288.park@samsung.com>>  Wed, 24 Mar 2010 21:08:23 +0900
-
-cairo (1.8.8-4) unstable; urgency=low
-
-  * Modify debian/rules to add CFLAGS into building.
-
- -- root <doyoun.kang@samsung.com>>  Wed, 13 Jan 2010 14:26:39 +0900
-
-cairo (1.8.8-3) unstable; urgency=low
-
-  [ Doyoun Kang ]
-  * Change debian/control and debian/rules files.
-
-  [ root ]
-  * i
-
- -- root <doyoun.kang@samsung.com>>  Wed, 13 Jan 2010 14:26:37 +0900
-
-cairo (1.8.8-2) unstable; urgency=low
-
-  * Upload to unstable.
-
- -- Sebastian Dröge <slomo@debian.org>  Thu, 18 Jun 2009 08:59:17 +0200
-
-cairo (1.8.8-1) experimental; urgency=low
-
-  [ Loïc Minier ]
-  * Use "udeb" consistently to describe this flavor
-  * Rename CFLAGS to CFLAGS_MAIN for consistency
-  * Rename %-flavor-stamp targets to %-stamp-flavor
-  * Also strip dependency_libs in DEB_DIST_DIR
-  * Always lowercase the flavor name in vars
-  * Drop unused configure-main and udeb targets
-  * Drop dangerous configure target listed in .PHONY
-  * Drop build-main and build-udeb targets
-  * Make the build and configure rules implicit ones
-  * Define builddir using the current_flavor
-  * Split flavors installation into a install-% target
-  * Move debian/build-* and /dist-* to nicer places
-  * Misc cleanups
-  * Factor configure flags
-  * Fix --host and --build handling
-  * Remove useless cleanups
-  * Factor "touch" calls
-  * Save and restore config.guess and .sub
-  * Drop INSTALL_PROGRAM, not needed with dh_strip
-  * Factor CFLAGS; add -Wall
-  * Implement an optional optimized flavor
-
-  [ Sebastian Dröge ]
-  * New upstream bugfix release.
-  * Update Standards-Version to 3.8.2.
-  * Update sections of binary packages
-
- -- Sebastian Dröge <slomo@debian.org>  Wed, 17 Jun 2009 16:47:55 +0200
-
-cairo (1.8.6-2) unstable; urgency=low
-
-  * Upload to unstable.
-
- -- Sebastian Dröge <slomo@debian.org>  Tue, 17 Feb 2009 09:56:44 +0100
-
-cairo (1.8.6-1) experimental; urgency=low
-
-  * New upstream bugfix release.
-
- -- Sebastian Dröge <slomo@debian.org>  Tue, 16 Dec 2008 14:55:53 +0100
-
-cairo (1.8.4-1) experimental; urgency=low
-
-  * New upstream bugfix release.
-
- -- Sebastian Dröge <slomo@debian.org>  Sat, 15 Nov 2008 08:46:56 +0100
-
-cairo (1.8.2-2) experimental; urgency=low
-
-  * ACK NMU and merge all changes, thanks Joss.
-
- -- Sebastian Dröge <slomo@debian.org>  Wed, 05 Nov 2008 12:59:03 +0100
-
-cairo (1.6.4-6.1) unstable; urgency=low
-
-  * Non-maintainer upload.
-  * Remove the rpath stuff in /usr/lib/libcairo-directdb and only keep
-    it around for compatibility. Closes: #499662.
-    + Remove the rpath hack in the .pc file.
-    + Make the libcairo-directfb2{,dev} packages dummy, only keeping
-      symbolic links from the former locations.
-    + libcairo-directfb2-dev.postinst: do the symbolic link dance upon
-      upgrade.
-    + Update package descriptions accordingly.
-    + libcairo2.symbols: add cairo_directfb_surface_create.
-    + libcairo2-dev conflicts with libcairo-directfb2-dev
-      (<< 1.6.4-6.1).
-  * rules: completely cleanup the .la files from their dependency libs.
-    Closes: #491292.
-  * Add ~ to symbol versions to make backports possible.
-  * Fix doc-base section.
-  * Standards version is 3.8.0.
-
- -- Josselin Mouette <joss@debian.org>  Mon, 13 Oct 2008 11:00:24 +0200
-
-cairo (1.8.2-1) experimental; urgency=low
-
-  * New upstream stable release:
-    + debian/control:
-      - Update (Build-)Depends.
-      - Fix section of libcairo2 from docs to libs.
-    + debian/watch:
-      - Update location for releases.
-    + debian/rules:
-      - Patch from Ubuntu package to update config.guess/sub again properly.
-      - Update shlibs to 1.8.0 because of new API.
-      - Remove src/cairo-features.h as it's generated by configure and breaks
-        the build if it's already there.
-    + debian/libcairo-directfb2.symbols,
-      debian/libcairo2.symbols:
-      - Updated symbols.
-  * debian/patches/02_no-private-symbol-export.dpatch:
-    + Re-added to not export some private symbols.
-
- -- Sebastian Dröge <slomo@debian.org>  Wed, 05 Nov 2008 12:17:09 +0100
-
-cairo (1.7.4-1) experimental; urgency=low
-
-  * New upstream snapshot release
-  * Removed debian/patches/02_no-private-symbol-export.dpatch merged upstream
-  * Removed debian/patches/01_directfb-no-accel.dpatch
-    Hoping that this GIT commit makes it moot:
-    + commit 7fbda72137d8685718a8e8fe1d3af5b1d377521c
-      Date: Sun Aug 10 05:05:27 2008 -0700
-  * Known packaging errors:
-    - not copying new config.sub/config.guess for now
-
- -- Dave Beckett <dajobe@debian.org>  Thu, 11 Sep 2008 23:03:15 -0700
-
-cairo (1.6.4-7) unstable; urgency=low
-
-  * debian/rules:
-    + Remove libtool .la dependency_libs (Closes: #491292)
-  * debian/control:
-    + Update to standards version 3.8.0
-    + Move libcairo2-doc to 'doc' section (Closes: #486174)
-  * debian/dpatch/*: Added ##DP descriptions (lintian)
-  * debian/libcairo2.symbols: Removed symbols with a debian revision (lintian)
-  * debian/libcairo2-doc.doc-base: Use section "Graphics" (lintian)
-
- -- Dave Beckett <dajobe@debian.org>  Sun, 07 Sep 2008 15:33:00 -0700
-
-cairo (1.6.4-6) unstable; urgency=low
-
-  * debian/control:
-    + Let libcairo2-dev depend on libxcb-render-util0-dev (Closes: #486006).
-
- -- Sebastian Dröge <slomo@debian.org>  Fri, 13 Jun 2008 11:55:50 +0200
-
-cairo (1.6.4-5) unstable; urgency=low
-
-  * debian/rules,
-    debian/control,
-    debian/libcairo2.symbols:
-    + Enable XCB backend now that XCB is in unstable (Closes: #474353).
-
- -- Sebastian Dröge <slomo@debian.org>  Tue, 10 Jun 2008 07:46:49 +0200
-
-cairo (1.6.4-4) unstable; urgency=low
-
-  * debian/rules:
-    + Make sure that the debug package contains debug symbols for the
-      libcairo2 package and not for the directfb one (Closes: #484603).
-
- -- Sebastian Dröge <slomo@debian.org>  Thu, 05 Jun 2008 12:35:35 +0200
-
-cairo (1.6.4-3) unstable; urgency=low
-
-  * debian/patches/02_no-private-symbol-export.dpatch,
-    debian/libcairo2.symbols,
-    debian/libcairo-directfb2.symbols,
-    debian/rules:
-    + Don't export private symbols and pass -c4 to
-      dh_makeshlibs (Closes: #481260).
-  * debian/control:
-    + Fix documentation path in the package description (Closes: #464116).
-  * debian/rules:
-    + Only build the arch-indep packages when build-indep is
-      invoked (Closes: #476499).
-
- -- Sebastian Dröge <slomo@debian.org>  Wed, 28 May 2008 11:19:21 +0200
-
-cairo (1.6.4-2) unstable; urgency=low
-
-  * debian/patches/01_directfb-no-accel.dpatch:
-    + Disable rendering acceleration for the DirectFB backend as it
-      causes broken screen repainting with the Debian installer
-      and other GTK/DirectFB applications (Closes: #477331).
-
- -- Sebastian Dröge <slomo@debian.org>  Tue, 13 May 2008 10:34:26 +0200
-
-cairo (1.6.4-1) unstable; urgency=low
-
-  * New upstream release:
-    + Works on remote Sun displays by adding support for
-      8 bit pseudocolors (Closes: #348109).
-    + Adds support for 32 bit visuals (Closes: #421266).
-    + Adds support for 655 xlib format (Closes: #413690).
-    + Fixes error when creating pdf charts (Closes: #474136).
-    + Fixes assertions in cairo_destroy (Closes: #423951).
-    + Fixes display errors with iceweasel 3.0 (Closes: #474395).
-    + debian/control:
-      - Update build dependencies and dependencies.
-      - Add myself as co-maintainer.
-      - Fix spelling error.
-    + debian/rules:
-      - Update shlibs to >= 1.6.0 because of API additions.
-    + debian/libcairo2.symbols,
-      debian/libcairo-directfb2.symbols:
-      - Add symbol files for the libraries.
-
- -- Sebastian Dröge <slomo@debian.org>  Tue, 15 Apr 2008 20:07:29 +0200
-
-cairo (1.5.8-1) experimental; urgency=low
-
-  * New upstream release
-
- -- Dave Beckett <dajobe@debian.org>  Wed, 30 Jan 2008 08:27:44 -0800
-
-cairo (1.5.6-1) experimental; urgency=low
-
-  * New upstream release
-
- -- Dave Beckett <dajobe@debian.org>  Wed, 16 Jan 2008 19:14:02 -0800
-
-cairo (1.5.4-1) experimental; urgency=low
-
-  * Cairo snapshot packaging (Closes: #452736)
-    - NOTE: This is the *unstable* Cairo API and may change at any time before
-      the next stable release which will be called something like 1.6.0
-
- -- Dave Beckett <dajobe@debian.org>  Mon, 24 Dec 2007 15:08:42 -0800
-
-cairo (1.4.12-2) unstable; urgency=low
-
-  * Apply fixes from upstream to fix PDF issues using
-    upstream cairo bug 8399 via dependent upstream bugs
-    - cairo bug 12284 (Early detection of a zero sized bitmap)
-      git commit d62f8861689d8b9a9a837043fb78813f0407abd4
-    - cairo bug 9846 (Ignore FT_Load_Glyph errors other than out-of-memory
-      Same for FT_Render_Glyph)
-      git commit 21ab44f11d3d20eead5d988c7a6cf48eebff08c7
-    (Closes: #428466, #435913, #439542, #440811, #442481)
-  * Apply fix from upstream
-    "PS: Ensure that xyshow operator has a pair of offsets for each glyph"
-    git commit 5e8f60531a09f357db38c4b646b1bbd29b97a891 (Closes: #453718)
-
- -- Dave Beckett <dajobe@debian.org>  Sun, 16 Dec 2007 12:57:00 -0800
-
-cairo (1.4.12-1) unstable; urgency=low
-
-  * New upstream release
-    - fixes SIG PIPE crash (Closes: #454768)
-  * Acknowledge NMU - Thanks Nico
-  * Correct source package name
-  * Added debug package libcairo2-dbg (Closes: #422597, #429335, #446637)
-  * debian/control:
-    - Standards version 3.7.3
-    - Add homepage
-    - Use ${binary:Version} to replace deprecated ${Source-Version} in Depends
-    - libcairo2-doc package is now in Section doc
-  * debian/rules: fix cross build support (Closes: #451596)
-  * debian/libcairo2-doc.doc-base: fix lintian warning
-    doc-base-file-separator-extra-whitespaces
-  * Evaluated ubuntu patches to 1.4.10 and applied none:
-    - 02-cairo-1.4.8-lcd-filter-2.dpatch - changes Cairo public API
-    - 90_from_git_fix_not_available_glyph_handling.dpatch - from upstream
-    - 90_from_git_fix_zero_sized_bitmap_handling.dpatch - from upstream
-    - 91_malloc-overflow-fixes.dpatch - from upstream
-
- -- Dave Beckett <dajobe@debian.org>  Tue, 11 Dec 2007 09:33:10 -0800
-
-libcairo (1.4.10-1.2) unstable; urgency=high
-
-   * Fix floating point regressions introduced by the previous NMU.
-     Do not blindly call malloc if the size is zero
-     (Closes: #454768,#454650,#454413).
-
- -- Nico Golde <nion@debian.org>  Fri, 07 Dec 2007 20:33:11 +0100
-
-libcairo (1.4.10-1.1) unstable; urgency=high
-
-   * Non-maintainer upload by testing-security team.
-   * Fix multiple integer overflows leading to arbitrary code
-     execution (CVE-2007-5503; Closes: #453686).
-
- -- Nico Golde <nion@debian.org>  Mon, 03 Dec 2007 17:20:59 +0100
-
-libcairo (1.4.10-1) unstable; urgency=low
-
-  * New upstream release
-    - fixes XError crash seen in openoffice.org (Closes: #430550)
-  * Removed patch 001-148-directfb.dpatch merged upstream
-
- -- Dave Beckett <dajobe@debian.org>  Wed, 27 Jun 2007 18:20:10 -0700
-
-libcairo (1.4.8-1) unstable; urgency=low
-
-  * New upstream release
-    - fixes gnome bug http://bugzilla.gnome.org/show_bug.cgi?id=431990
-      that caused gnome-about to crash (Closes: #425058)
-  * Added patch 001-148-directfb.dpatch to make directfb build with 1.4.8
-  * Fix directfb udeb shlibs (Closes: #429672)
-    - remove udeb line from libcairo2 package shlibs
-    - libcairo-directfb2 package shlibs provide libcairo-directfb2(-udeb)
-  * Acknowledge NMU - thanks Don
-
- -- Dave Beckett <dajobe@debian.org>  Thu, 21 Jun 2007 01:03:51 -0700
-
-libcairo (1.4.6-1.1) unstable; urgency=low
-
-   * NMU
-   * Apply patch from Adrian Johnson to fix segfault with PS_surface
-     (closes: #422388)
-
- -- Don Armstrong <don@debian.org>  Mon, 28 May 2007 11:11:45 -0700
-
-libcairo (1.4.6-1) unstable; urgency=low
-
-  * New upstream release
-  * Add debian/compat, remove DH_COMPAT from debian/rules
-
- -- Dave Beckett <dajobe@debian.org>  Tue, 1 May 2007 23:38:00 -0800
-
-libcairo (1.4.4-1) unstable; urgency=low
-
-  * New upstream release
-  * Remove different versioned shlibs dependency for one udeb
-    to get rid of duplicate dependencies (Closes: #418616)
-  * Switch shlibs API version to 1.4.0 since API calls were added
-  * PDF fonts fixed upstream (Closes: #406191)
-
- -- Dave Beckett <dajobe@debian.org>  Fri, 13 Apr 2007 21:46:46 -0700
-
-libcairo (1.4.2-1) experimental; urgency=low
-
-  * New upstream release (Closes: #416024)
-  * debian/rules: Pass on CFLAGS (Closes: #399868)
-
- -- Dave Beckett <dajobe@debian.org>  Tue, 27 Mar 2007 06:55:45 -0700
-
-libcairo (1.2.6-1) experimental; urgency=low
-
-  * New upstream release
-  * Removed patch 01-cairo_xlib_surface_add_glyph.patch now in upstream
-  * Require pkg-config 0.19
-
- -- Dave Beckett <dajobe@debian.org>  Fri, 17 Nov 2006 20:42:08 -0800
-
-libcairo (1.2.4-4) unstable; urgency=medium
-
-  * Acknowledge NMU.
-  * Urgency medium since RC bugs are acknowledged.
-  * Patch 01-cairo_xlib_surface_add_glyph.patch added in
-    experimental confirmed fixes powerpc X byte copy crash
-    for bug #388116 which was closed by email after an NMU.
-  * Enable PDF and PS for the cairo+directfb build in unstable (Closes: #383297)
-  * Bump libcairo-directfb2's shlibs to >= 1.2.4-4 for the addition of
-    PDF and PS related symbols to the cairo+directfb lib. (Closes: #387289)
-  * Remove libcairo.la references to other .la files to aid future
-    removal of all .la files.
-
- -- Dave Beckett <dajobe@debian.org>  Thu, 19 Oct 2006 22:41:56 -0700
-
-libcairo (1.2.4-3.2) experimental; urgency=low
-
-  * NMU
-  * Re-upload to get the changes from -2 in experimental, that is
-    building cairo+directfb with PS and PDF support (needed by
-    Gtk+2.10+directfb).
-  * Bump libcairo-directfb shlibs to >= 1.2.4-3.2 so that packages depending
-    on the new +directfb things get the right dep.
-
- -- Marc 'HE' Brockschmidt <he@debian.org>  Wed, 18 Oct 2006 11:09:16 +0200
-
-libcairo (1.2.4-3.1) unstable; urgency=low
-
-  * NMU
-  * Upload with 01-cairo_xlib_surface_add_glyph.patch but without
-    the directfb changes from -2. The patch fixes the segfault caused
-    by a broken loop condition (c >= 0 works like, eh, always after
-    doing "unsigned int c"...). (Closes: #388116)
-
- -- Marc 'HE' Brockschmidt <he@debian.org>  Sun, 15 Oct 2006 16:25:06 +0200
-
-libcairo (1.2.4-3) experimental; urgency=low
-
-  * Added patch 01-cairo_xlib_surface_add_glyph.patch from upstream git
-    attempting to fix 388116
-
- -- Dave Beckett <dajobe@debian.org>  Sun,  8 Oct 2006 11:08:23 -0700
-
-libcairo (1.2.4-2) experimental; urgency=low
-
-  * Enable PDF and PS for the cairo+directfb build in order to
-    allow GTK 2.10+directfb to build (Closes: #383297)
-
- -- Dave Beckett <dajobe@debian.org>  Sun,  3 Sep 2006 13:24:31 -0700
-
-libcairo (1.2.4-1) unstable; urgency=low
-
-  * New upstream release.
-  * Remove double call to dh_installdocs (Closes: #382594)
-  * Submit to override for libcairo2-doc, changing to section libs.
-
- -- Dave Beckett <dajobe@debian.org>  Fri, 18 Aug 2006 18:11:00 -0700
-
-libcairo (1.2.2-1) unstable; urgency=medium
-
-  * New upstream release.
-  * This version again handles BGR X server visuals such as used by
-    Exceed and VNC  (Closes: #376858)
-  * Removed patches taken from upstream git:
-    -  cairo-bug-7494.patch
-    -  cairo-bug-7514.patch
-  * Build-Depend on xutils-dev and libxt-dev since the test for the
-    presence of X in the latest configure (as generated by autoconf 2.60)
-    uses xmkmf and checks for libxt-dev even though neither are used by
-    Cairo.
-
- -- Dave Beckett <dajobe@debian.org>  Tue,  8 Aug 2006 23:59:01 -0700
-
-libcairo (1.2.0-5) unstable; urgency=medium
-
-  * Rebuild against directfb 0.9.25 which has changed library and udeb
-    package names from 0.9.24 that all earlier cairos were built against,
-    and which are now removed.  This should prevent Cairo from becoming
-    uninstallable due to this change.  Urgency medium due to this.
-
- -- Dave Beckett <dajobe@debian.org>  Wed,  2 Aug 2006 22:04:17 -0700
-
-libcairo (1.2.0-4) unstable; urgency=medium
-
-  * Added patch cairo-bug-7494.patch (Closes: #378005)
-  * Added patch cairo-bug-7514.patch (Closes: #380064)
-
- -- Dave Beckett <dajobe@debian.org>  Tue,  1 Aug 2006 22:29:04 -0700
-
-libcairo (1.2.0-3) unstable; urgency=low
-
-  * Add libsm-dev to Build-Depends and libcairo2-dev depends to pull in
-    libSM and libICE (Closes: #377259)
-  * Remove unused libxrender-dev Depends from libcairo-directfb2-dev
-
- -- Dave Beckett <dajobe@debian.org>  Sun,  9 Jul 2006 16:36:10 -0700
-
-libcairo (1.2.0-2) unstable; urgency=low
-
-  * Remove libcairo2-dev depending on libdirectfb-dev (Closes: 376691)
-
- -- Dave Beckett <dajobe@debian.org>  Tue,  4 Jul 2006 10:45:33 -0700
-
-libcairo (1.2.0-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Dave Beckett <dajobe@debian.org>  Sat,  1 Jul 2006 19:43:51 -0700
-
-libcairo (1.1.10-3) experimental; urgency=low
-
-  * First upload of 1.1.x series to debian experimental
-  * Remove patch 02-no-ft-glyphslot-embolden.patch (was for bug #325526)
-    and depend on a new enough libfreetype6 (2.1.10) which is already in
-    testing.
-  * Removed Build-Depend on libxml2 for creating SVG as that has been
-    rewritten.
-  * Added libcairo2 Conflicts and Replaces libcairo1 (Closes: #366755)
-
- -- Dave Beckett <dajobe@debian.org>  Wed, 28 Jun 2006 19:04:10 -0700
-
-libcairo (1.1.10-2) experimental; urgency=low
-
-  * Add -Wl,-rpath,${libdir} to libcairo-directfb pkgconfig to make the
-    linker use the libcairo in the libdir
-  * Removed Provides: libcairo2 from libcairo-directfb2-udeb
-
- -- Dave Beckett <dajobe@debian.org>  Sun, 25 Jun 2006 10:20:40 -0700
-
-libcairo (1.1.10-1) experimental; urgency=low
-
-  * New upstream release
-  * Renamed directfb packages to be libcairo-directfb2*
-  * Use dh_makeshlibs with --add-udeb to make udeb: lines appear in shlibs
-  * Depend on debhelper 5.0.22 to get a working dh_makeshlibs with --add-udeb
-
- -- Dave Beckett <dajobe@debian.org>  Sat, 24 Jun 2006 10:03:02 -0700
-
-libcairo (1.1.8-1) experimental; urgency=low
-
-  * New upstream release
-  * Added libcairo2-directfb deb.
-
- -- Dave Beckett <dajobe@debian.org>  Wed, 14 Jun 2006 11:47:00 -0700
-
-libcairo (1.1.6-1) experimental; urgency=low
-
-  * New upstream release
-  * Enable PNG, PDF and SVG backends (add Build-Depend: on libxml2)
-  * Added Cairo DirectFB udeb packages libcairo2-directfb-udeb and
-    libcairo2-directfb-dev (add Build-Depend: on libdirectfb-dev)
-  * libcairo2-dev and libcairo2-directfb-dev can both be installed together
-  * Stop using CDBS since it cannot handle the double configure and build
-    setup.
-  * Use dpatch for patching and Build-Depend: on it.
-
- -- Dave Beckett <dajobe@debian.org>  Mon, 12 Jun 2006 12:57:38 -0700
-
-libcairo (1.0.4-2) unstable; urgency=low
-
-  * Rebuild against X11R7 to fix .la breakage xorg caused (Closes: #362237)
-
- -- Dave Beckett <dajobe@debian.org>  Tue, 25 Apr 2006 22:00:36 -0700
-
-libcairo (1.0.4-1) unstable; urgency=low
-
-  * New upstream release
-  * Removed patches merged upstream:
-    - 01-INT_pixman.patch
-  * Debhelper 5
-
- -- Dave Beckett <dajobe@debian.org>  Wed,  5 Apr 2006 17:44:12 -0700
-
-libcairo (1.0.2-4) unstable; urgency=low
-
-  * Rebuild against current build dependencies since something in the
-    build depends changed to make it stop working.  This may be the most
-    useless changelog entry ever.  (Closes: #347675)
-
- -- Dave Beckett <dajobe@debian.org>  Thu, 12 Jan 2006 19:52:08 -0800
-
-libcairo (1.0.2-3) unstable; urgency=low
-
-  * Bump libcairo2 shlibs to 1.0.2-2 given all the freetype version changes.
-
- -- Dave Beckett <dajobe@debian.org>  Wed, 30 Nov 2005 09:21:02 -0800
-
-libcairo (1.0.2-2) unstable; urgency=low
-
-  * Fix libcairo2-doc section to doc (Closes: #337515)
-  * Re-add patch 02-no-ft-glyphslot-embolden.patch to use only
-    freetype 2.1.7 symbols even though sid has freetype 2.1.10.
-    The latter has ABI changes beyond it's declared shlibs of 2.1.5
-    and is undergoing a large transition.
-    Require freetype 2.1.7+ again.  (Closes: #338817)
-  * Added patch 01-INT_pixman.patch from CVS to remove spurious INT_ items
-    that broke build with recent binutils (Closes: #340073)
-  * Require pkg-config >= 0.18 since cairo.pc uses Require.private:
-
- -- Dave Beckett <dajobe@debian.org>  Fri, 25 Nov 2005 04:01:51 +0000
-
-libcairo (1.0.2-1) unstable; urgency=low
-
-  * New upstream release
-  * Removed patch 01-endianess-cairo-xlib-surface.patch previously taken
-    from upstream CVS.
-  * Removed patch 02-no-ft-glyphslot-embolden.patch to re-allow configure
-    to use FT_GlyphSlot_Embolden provided in freetype 2.1.10 which is now
-    in sid.
-  * Require freetype 2.1.10+
-
- -- Dave Beckett <dajobe@debian.org>  Tue, 25 Oct 2005 18:45:57 +0100
-
-libcairo (1.0.0-3) unstable; urgency=low
-
-  * Added patch 02-no-ft-glyphslot-embolden.patch to disable use of
-    FT_GlyphSlot_Embolden in freetype, which was added after the
-    freetype version 2.1.7 currently in testing (closes: #325526)
-  * Require freetype 2.1.7+
-
- -- Dave Beckett <dajobe@debian.org>  Tue, 13 Sep 2005 19:33:38 +0100
-
-libcairo (1.0.0-2) unstable; urgency=low
-
-  * Added patch 01-endianess-cairo-xlib-surface.patch from CVS to fix
-    endianess problem when running over remote X (Closes: #326920)
-  * Register cairo docs with doc-base (Closes: #325541)
-
- -- Dave Beckett <dajobe@debian.org>  Tue,  6 Sep 2005 18:15:57 +0100
-
-libcairo (1.0.0-1) unstable; urgency=low
-
-  * New upstream release
-  * Removed glitz backend as currently experimental and unsupported
-  * debian/watch: update to use stable release area
-  * Removed patch cairo-0.9.2-cache-eviction-fix.patch merged upstream.
-
- -- Dave Beckett <dajobe@debian.org>  Wed, 24 Aug 2005 18:14:23 +0100
-
-libcairo (0.9.2-2) unstable; urgency=low
-
-  * Add patch cairo-0.9.2-cache-eviction-fix.patch from Kristian Høgsberg
-    to make the freetype font cache evict correctly.
-
- -- Dave Beckett <dajobe@debian.org>  Mon, 15 Aug 2005 19:48:43 +0100
-
-libcairo (0.9.2-1) unstable; urgency=low
-
-  * New upstream release
-  * First stable API release - remove patching sonames
-  * libcairo2, libcairo2-dev and libcairo2-doc replace all previous versions
-  * No longer Depends: on libpixman, now an internal library
-
- -- Dave Beckett <dajobe@debian.org>  Sat, 13 Aug 2005 14:16:46 +0100
-
-libcairo (0.9.0-1) unstable; urgency=low
-
-  * New upstream release
-  * libcairo0.9.0 replaces libcairo0.6.0
-  * Functions were added so create new sonames and libraries
-
- -- Dave Beckett <dajobe@debian.org>  Tue,  9 Aug 2005 08:21:50 +0100
-
-libcairo (0.6.0-1) unstable; urgency=low
-
-  * New upstream release
-  * libcairo0.6.0 replaces libcairo0.5.1
-  * Functions were added so create new sonames and libraries
-  * Require glitz 0.4.4 API and libpixman 0.1.5
-
- -- Dave Beckett <dajobe@debian.org>  Fri, 29 Jul 2005 23:31:05 +0100
-
-libcairo (0.5.1-2) unstable; urgency=low
-
-  * Upload to unstable
-  * libcairo0.5.1 replaces older libcairo1
-  * libcairo0.5.1-dev already conflicted with libcairo1-dev so enable
-    shipping libcairo.so and delete patch 05-cairo.pc.in.patch as the
-    cairo.pc.in is ok again
-
- -- Dave Beckett <dajobe@debian.org>  Sun, 10 Jul 2005 22:07:22 +0100
-
-libcairo (0.5.1-1) experimental; urgency=low
-
-  * New upstream release
-  * Revert to source package name libcairo
-  * Reflect ABI version into both library soname as libcairo-1debian0.5.1
-    and package name libcairo0.5.1 (Closes: #314776)
-  * libcairo0.5.1 no longer conflicts with libcairo1
-  * Added a libcairo0.5.1-doc package with the HTML documentation
-
- -- Dave Beckett <dajobe@debian.org>  Wed, 22 Jun 2005 21:06:01 +0100
-
-cairo (0.5.0-2) unstable; urgency=low
-
-  * Fix the shlibs dependencies for libcairo0.5
-
- -- Dave Beckett <dajobe@debian.org>  Thu,  9 Jun 2005 21:56:08 +0100
-
-cairo (0.5.0-1) unstable; urgency=low
-
-  * New upstream release (Closes: 311042)
-  * Change source package s/lib// and add API version to binary packages
-  * Enable glitz backend (Closes: 307573)
-
- -- Dave Beckett <dajobe@debian.org>  Thu,  9 Jun 2005 20:51:11 +0100
-
-libcairo (0.4.0-1) unstable; urgency=low
-
-  * New upstream release
-  * API changes for fonts so shlib version is now 0.4.0
-  * Require libpixman 0.1.4
-
- -- Dave Beckett <dajobe@debian.org>  Wed,  9 Mar 2005 19:39:44 +0000
-
-libcairo (0.3.0-1) unstable; urgency=low
-
-  * New upstream release. Closes: 284205
-  * Bumped shlibs version since new functions were added.
-  * Headers have moved to below /usr/include/cairo
-  * Require libpixman 0.1.3
-
- -- Dave Beckett <dajobe@debian.org>  Sun,  6 Feb 2005 12:40:04 +0000
-
-libcairo (0.2.0-1) unstable; urgency=low
-
-  * New upstream release
-  * Bumped shlibs version since new functions were added.
-  * Require libpixman 0.1.2
-  * Still keep glitz disabled
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Mon,  8 Nov 2004 22:19:29 +0000
-
-libcairo (0.1.23-2) unstable; urgency=low
-
-  * Replace Build-Depend on xlibs-dev with libx11-dev
-  * Changed to LGPL license (in CVS 2004-08-02)
-  * Disable use of glitz explicitly
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Mon, 23 Aug 2004 22:25:16 +0100
-
-libcairo (0.1.23-1) unstable; urgency=low
-
-  * New upstream release. Closes: 248705
-  * Add PNG backend, require libpng12-dev
-  * Requires libpixman >= 0.1.1
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Sat, 29 May 2004 21:10:58 +0100
-
-libcairo (0.1.18-1) unstable; urgency=low
-
-  * New upstream release
-  * Remove xlib-surface-debian.patch, not needed for XFree86 4.3.0+
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Thu, 19 Feb 2004 23:08:25 +0000
-
-libcairo (0.1.17-4) unstable; urgency=low
-
-  * Initial version to debian archive. Closes: #205346
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Sun, 15 Feb 2004 21:45:47 +0000
-
-libcairo (0.1.17-3) unstable; urgency=low
-
-  * Setting me as the maintainer temporarily
-
- -- Eduard Bloch <blade@debian.org>  Sat, 14 Feb 2004 16:49:18 +0100
-
-libcairo (0.1.17-2) unstable; urgency=low
-
-  * Add patch/xlib-surface-debian.patch to restore this to working for X.
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Sat, 24 Jan 2004 18:02:38 +0000
-
-libcairo (0.1.17-1) unstable; urgency=low
-
-  * New upstream release
-  * Replace libpixman/libic dependencies with libpixman
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Tue, 16 Dec 2003 17:49:55 +0000
-
-libcairo (0.1.16-1) unstable; urgency=low
-
-  * New upstream release
-  * Added libxrender-dev (>=0.6.0) requirement to match configure.in
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Mon,  8 Dec 2003 20:39:59 +0000
-
-libcairo (0.1.13-1) unstable; urgency=low
-
-  * New upstream release
-  * Remove patch for src/config.h - merged upstream.
-  * Return libfreetype6 minimum version to 2.1.0.
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Fri, 21 Nov 2003 20:05:38 +0000
-
-libcairo (0.1.12-3) unstable; urgency=low
-
-  * Pull patch from CVS to allow building with newer freetype using the
-    new include via defines mechanism now enforced in freetype 2.1.6
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Tue, 18 Nov 2003 20:15:08 +0000
-
-libcairo (0.1.12-2) unstable; urgency=low
-
-  * Remove dependency on libxft-dev, replaced with libfreetype6-dev and
-    libfontconfig1-dev
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Sat,  8 Nov 2003 18:44:19 +0000
-
-libcairo (0.1.12-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Fri,  7 Nov 2003 20:43:33 +0000
-
-libcairo (0.1.11-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Tue,  4 Nov 2003 15:10:14 +0000
-
-libcairo (0.1.10-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Tue,  4 Nov 2003 00:23:16 +0000
-
-libcairo (0.1.9-2) unstable; urgency=low
-
-  * Generate packages correctly named after the library major soname:
-    libcairo1, libcairo1-dev
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Thu, 30 Oct 2003 23:16:43 +0000
-
-libcairo (0.1.9-1) unstable; urgency=low
-
-  * New upstream release.
-  * Removed dependency on automake, autoconf, libtool
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Thu, 30 Oct 2003 21:37:25 +0000
-
-libcairo (0.1.8-1) unstable; urgency=low
-
-  * Initial package
-
- -- Dave Beckett <Dave.Beckett@bristol.ac.uk>  Wed, 29 Oct 2003 23:20:26 +0000
-
diff --git a/debian/compat b/debian/compat
deleted file mode 100644 (file)
index 7ed6ff8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/debian/control b/debian/control
deleted file mode 100755 (executable)
index 9f61558..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-Source: cairo
-Section: libs
-Priority: optional
-Maintainer: Wonsik Jung <sidein@samsung.com>, Deokjin Kim <deokjin81.kim@samsung.com>, Seongwon Cho <seongwon1.cho@samsung.com>, Dongyeon Kim <dy5.kim@samsung.com>
-Build-Depends: debhelper (>= 5.0.22), autotools-dev, pkg-config (>= 0.19), libfontconfig1-dev, libfreetype6-dev (>= 2.1.10), libxrender-dev (>= 0.6.0), libx11-dev, libpng12-dev, libsm-dev, xutils-dev, libxt-dev, dpatch, libpixman-1-dev (>= 0.12.0), libxcb1-dev (>= 0.9.92), libxcb-render0-dev (>= 0.9.92), libxcb-render-util0-dev, libglib2.0-dev, libxcb-shm0-dev, opengl-es-dev
-Standards-Version: 3.8.2
-
-Package: libcairo2-dev
-Provides: libcairo-dev
-Conflicts: libcairo-dev, libcairo0.5.1-dev, libcairo0.6.0-dev, libcairo0.9.0-dev
-Replaces: libcairo0.5.1-dev, libcairo0.6.0-dev, libcairo0.9.0-dev
-Section: libdevel
-Architecture: any
-Depends: libcairo2 (= ${binary:Version}), libfontconfig1-dev, libfreetype6-dev (>= 2.1.10), libxrender-dev (>= 0.6.0), libpng12-dev, libsm-dev, libpixman-1-dev (>= 0.12.0), libxcb1-dev, libxcb-render0-dev, libxcb-render-util0-dev, libxcb-shm0-dev, opengl-es-dev
-Description: Development files for the Cairo 2D graphics library
- Cairo is a multi-platform library providing anti-aliased
- vector-based rendering for multiple target backends.
- .
- This package contains the development libraries, header files needed by
- programs that want to compile with Cairo.
-
-Package: libcairo2
-Section: libs
-Architecture: any
-Depends: ${shlibs:Depends}, libpixman-1-0
-Provides: libcairo
-Conflicts: libcairo1
-Replaces: libcairo0.5.1, libcairo0.6.0, libcairo0.9.0, libcairo1
-Description: The Cairo 2D vector graphics library
- Cairo is a multi-platform library providing anti-aliased
- vector-based rendering for multiple target backends. Paths consist
- of line segments and cubic splines and can be rendered at any width
- with various join and cap styles. All colors may be specified with
- optional translucence (opacity/alpha) and combined using the
- extended Porter/Duff compositing algebra as found in the X Render
- Extension.
- .
- Cairo exports a stateful rendering API similar in spirit to the path
- construction, text, and painting operators of PostScript, (with the
- significant addition of translucence in the imaging model). When
- complete, the API is intended to support the complete imaging model of
- PDF 1.4.
- .
- This package contains the shared libraries.
-
-Package: libcairo2-dbg
-Section: debug
-Priority: extra
-Architecture: any
-Depends: libcairo2 (= ${binary:Version})
-Description: The Cairo 2D vector graphics library (debugging symbols)
- Debugging symbols for the Cairo 2D vector graphics library. This is
- needed to debug programs linked against libcairo2.
-
-
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644 (file)
index a162af3..0000000
+++ /dev/null
@@ -1,533 +0,0 @@
-This is the Debian package of the Cairo multi-platform 2D graphics library
-
-Packaged by Dave Beckett <dajobe@debian.org>
-
-It was downloaded from http://cairographics.org/snapshots/
-
-----------------------------------------------------------------------
-  Copyright 1999 Tom Tromey
-  Copyright 2002, 2003 University of Southern California, Information
-    Sciences Institute  (ISI)
-  Copyright 2000, 2002, 2004, 2005 Keith Packard
-  Copyright 2004 Calum Robinson
-  Copyright 2004 Richard D. Worth
-  Copyright 2004, 2005 Red Hat, Inc.
-
-  Copyright 2004 David Reveman
-    Permission to use, copy, modify, distribute, and sell this software
-    and its documentation for any purpose is hereby granted without
-    fee, provided that the above copyright notice appear in all copies
-    and that both that copyright notice and this permission notice
-    appear in supporting documentation, and that the name of David
-    Reveman not be used in advertising or publicity pertaining to
-    distribution of the software without specific, written prior
-    permission. David Reveman makes no representations about the
-    suitability of this software for any purpose.  It is provided "as
-    is" without express or implied warranty.
-
-    DAVID REVEMAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
-    SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-    FITNESS, IN NO EVENT SHALL DAVID REVEMAN BE LIABLE FOR ANY SPECIAL,
-    INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-    RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
-    OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-    IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-    Author: David Reveman <davidr@novell.com>
-
-----------------------------------------------------------------------
-
-Cairo is free software.
-
-Every source file in the implementation of cairo is available to be
-redistributed and/or modified under the terms of either the GNU Lesser
-General Public License (LPGL) version 2.1 or the Mozilla Public
-License (MPL) version 1.1.  Some files are available under more
-liberal terms, but we believe that in all cases, each file may be used
-under either the LGPL or the MPL.
-
-See the following files in this directory for the precise terms and
-conditions of either license:
-
-       COPYING-LGPL-2.1
-       COPYING-MPL-1.1
-
-Please see each file in the implementation for Copyright and licensing
-information.
-
-----------------------------------------------------------------------
-On Debian systems, the complete text of the GNU General Lesser Public
-License 2.1 can be found in /usr/share/common-licenses/LGPL-2.1
-
-The Mozilla Public License 1.1 (COPYING-MPL-1.1 above) follows:
-
-                          MOZILLA PUBLIC LICENSE
-                                Version 1.1
-
-                              ---------------
-
-1. Definitions.
-
-     1.0.1. "Commercial Use" means distribution or otherwise making the
-     Covered Code available to a third party.
-
-     1.1. "Contributor" means each entity that creates or contributes to
-     the creation of Modifications.
-
-     1.2. "Contributor Version" means the combination of the Original
-     Code, prior Modifications used by a Contributor, and the Modifications
-     made by that particular Contributor.
-
-     1.3. "Covered Code" means the Original Code or Modifications or the
-     combination of the Original Code and Modifications, in each case
-     including portions thereof.
-
-     1.4. "Electronic Distribution Mechanism" means a mechanism generally
-     accepted in the software development community for the electronic
-     transfer of data.
-
-     1.5. "Executable" means Covered Code in any form other than Source
-     Code.
-
-     1.6. "Initial Developer" means the individual or entity identified
-     as the Initial Developer in the Source Code notice required by Exhibit
-     A.
-
-     1.7. "Larger Work" means a work which combines Covered Code or
-     portions thereof with code not governed by the terms of this License.
-
-     1.8. "License" means this document.
-
-     1.8.1. "Licensable" means having the right to grant, to the maximum
-     extent possible, whether at the time of the initial grant or
-     subsequently acquired, any and all of the rights conveyed herein.
-
-     1.9. "Modifications" means any addition to or deletion from the
-     substance or structure of either the Original Code or any previous
-     Modifications. When Covered Code is released as a series of files, a
-     Modification is:
-          A. Any addition to or deletion from the contents of a file
-          containing Original Code or previous Modifications.
-
-          B. Any new file that contains any part of the Original Code or
-          previous Modifications.
-
-     1.10. "Original Code" means Source Code of computer software code
-     which is described in the Source Code notice required by Exhibit A as
-     Original Code, and which, at the time of its release under this
-     License is not already Covered Code governed by this License.
-
-     1.10.1. "Patent Claims" means any patent claim(s), now owned or
-     hereafter acquired, including without limitation,  method, process,
-     and apparatus claims, in any patent Licensable by grantor.
-
-     1.11. "Source Code" means the preferred form of the Covered Code for
-     making modifications to it, including all modules it contains, plus
-     any associated interface definition files, scripts used to control
-     compilation and installation of an Executable, or source code
-     differential comparisons against either the Original Code or another
-     well known, available Covered Code of the Contributor's choice. The
-     Source Code can be in a compressed or archival form, provided the
-     appropriate decompression or de-archiving software is widely available
-     for no charge.
-
-     1.12. "You" (or "Your")  means an individual or a legal entity
-     exercising rights under, and complying with all of the terms of, this
-     License or a future version of this License issued under Section 6.1.
-     For legal entities, "You" includes any entity which controls, is
-     controlled by, or is under common control with You. For purposes of
-     this definition, "control" means (a) the power, direct or indirect,
-     to cause the direction or management of such entity, whether by
-     contract or otherwise, or (b) ownership of more than fifty percent
-     (50%) of the outstanding shares or beneficial ownership of such
-     entity.
-
-2. Source Code License.
-
-     2.1. The Initial Developer Grant.
-     The Initial Developer hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Initial Developer to use, reproduce,
-          modify, display, perform, sublicense and distribute the Original
-          Code (or portions thereof) with or without Modifications, and/or
-          as part of a Larger Work; and
-
-          (b) under Patents Claims infringed by the making, using or
-          selling of Original Code, to make, have made, use, practice,
-          sell, and offer for sale, and/or otherwise dispose of the
-          Original Code (or portions thereof).
-
-          (c) the licenses granted in this Section 2.1(a) and (b) are
-          effective on the date Initial Developer first distributes
-          Original Code under the terms of this License.
-
-          (d) Notwithstanding Section 2.1(b) above, no patent license is
-          granted: 1) for code that You delete from the Original Code; 2)
-          separate from the Original Code;  or 3) for infringements caused
-          by: i) the modification of the Original Code or ii) the
-          combination of the Original Code with other software or devices.
-
-     2.2. Contributor Grant.
-     Subject to third party intellectual property claims, each Contributor
-     hereby grants You a world-wide, royalty-free, non-exclusive license
-
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Contributor, to use, reproduce, modify,
-          display, perform, sublicense and distribute the Modifications
-          created by such Contributor (or portions thereof) either on an
-          unmodified basis, with other Modifications, as Covered Code
-          and/or as part of a Larger Work; and
-
-          (b) under Patent Claims infringed by the making, using, or
-          selling of  Modifications made by that Contributor either alone
-          and/or in combination with its Contributor Version (or portions
-          of such combination), to make, use, sell, offer for sale, have
-          made, and/or otherwise dispose of: 1) Modifications made by that
-          Contributor (or portions thereof); and 2) the combination of
-          Modifications made by that Contributor with its Contributor
-          Version (or portions of such combination).
-
-          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
-          effective on the date Contributor first makes Commercial Use of
-          the Covered Code.
-
-          (d)    Notwithstanding Section 2.2(b) above, no patent license is
-          granted: 1) for any code that Contributor has deleted from the
-          Contributor Version; 2)  separate from the Contributor Version;
-          3)  for infringements caused by: i) third party modifications of
-          Contributor Version or ii)  the combination of Modifications made
-          by that Contributor with other software  (except as part of the
-          Contributor Version) or other devices; or 4) under Patent Claims
-          infringed by Covered Code in the absence of Modifications made by
-          that Contributor.
-
-3. Distribution Obligations.
-
-     3.1. Application of License.
-     The Modifications which You create or to which You contribute are
-     governed by the terms of this License, including without limitation
-     Section 2.2. The Source Code version of Covered Code may be
-     distributed only under the terms of this License or a future version
-     of this License released under Section 6.1, and You must include a
-     copy of this License with every copy of the Source Code You
-     distribute. You may not offer or impose any terms on any Source Code
-     version that alters or restricts the applicable version of this
-     License or the recipients' rights hereunder. However, You may include
-     an additional document offering the additional rights described in
-     Section 3.5.
-
-     3.2. Availability of Source Code.
-     Any Modification which You create or to which You contribute must be
-     made available in Source Code form under the terms of this License
-     either on the same media as an Executable version or via an accepted
-     Electronic Distribution Mechanism to anyone to whom you made an
-     Executable version available; and if made available via Electronic
-     Distribution Mechanism, must remain available for at least twelve (12)
-     months after the date it initially became available, or at least six
-     (6) months after a subsequent version of that particular Modification
-     has been made available to such recipients. You are responsible for
-     ensuring that the Source Code version remains available even if the
-     Electronic Distribution Mechanism is maintained by a third party.
-
-     3.3. Description of Modifications.
-     You must cause all Covered Code to which You contribute to contain a
-     file documenting the changes You made to create that Covered Code and
-     the date of any change. You must include a prominent statement that
-     the Modification is derived, directly or indirectly, from Original
-     Code provided by the Initial Developer and including the name of the
-     Initial Developer in (a) the Source Code, and (b) in any notice in an
-     Executable version or related documentation in which You describe the
-     origin or ownership of the Covered Code.
-
-     3.4. Intellectual Property Matters
-          (a) Third Party Claims.
-          If Contributor has knowledge that a license under a third party's
-          intellectual property rights is required to exercise the rights
-          granted by such Contributor under Sections 2.1 or 2.2,
-          Contributor must include a text file with the Source Code
-          distribution titled "LEGAL" which describes the claim and the
-          party making the claim in sufficient detail that a recipient will
-          know whom to contact. If Contributor obtains such knowledge after
-          the Modification is made available as described in Section 3.2,
-          Contributor shall promptly modify the LEGAL file in all copies
-          Contributor makes available thereafter and shall take other steps
-          (such as notifying appropriate mailing lists or newsgroups)
-          reasonably calculated to inform those who received the Covered
-          Code that new knowledge has been obtained.
-
-          (b) Contributor APIs.
-          If Contributor's Modifications include an application programming
-          interface and Contributor has knowledge of patent licenses which
-          are reasonably necessary to implement that API, Contributor must
-          also include this information in the LEGAL file.
-
-               (c)    Representations.
-          Contributor represents that, except as disclosed pursuant to
-          Section 3.4(a) above, Contributor believes that Contributor's
-          Modifications are Contributor's original creation(s) and/or
-          Contributor has sufficient rights to grant the rights conveyed by
-          this License.
-
-     3.5. Required Notices.
-     You must duplicate the notice in Exhibit A in each file of the Source
-     Code.  If it is not possible to put such notice in a particular Source
-     Code file due to its structure, then You must include such notice in a
-     location (such as a relevant directory) where a user would be likely
-     to look for such a notice.  If You created one or more Modification(s)
-     You may add your name as a Contributor to the notice described in
-     Exhibit A.  You must also duplicate this License in any documentation
-     for the Source Code where You describe recipients' rights or ownership
-     rights relating to Covered Code.  You may choose to offer, and to
-     charge a fee for, warranty, support, indemnity or liability
-     obligations to one or more recipients of Covered Code. However, You
-     may do so only on Your own behalf, and not on behalf of the Initial
-     Developer or any Contributor. You must make it absolutely clear than
-     any such warranty, support, indemnity or liability obligation is
-     offered by You alone, and You hereby agree to indemnify the Initial
-     Developer and every Contributor for any liability incurred by the
-     Initial Developer or such Contributor as a result of warranty,
-     support, indemnity or liability terms You offer.
-
-     3.6. Distribution of Executable Versions.
-     You may distribute Covered Code in Executable form only if the
-     requirements of Section 3.1-3.5 have been met for that Covered Code,
-     and if You include a notice stating that the Source Code version of
-     the Covered Code is available under the terms of this License,
-     including a description of how and where You have fulfilled the
-     obligations of Section 3.2. The notice must be conspicuously included
-     in any notice in an Executable version, related documentation or
-     collateral in which You describe recipients' rights relating to the
-     Covered Code. You may distribute the Executable version of Covered
-     Code or ownership rights under a license of Your choice, which may
-     contain terms different from this License, provided that You are in
-     compliance with the terms of this License and that the license for the
-     Executable version does not attempt to limit or alter the recipient's
-     rights in the Source Code version from the rights set forth in this
-     License. If You distribute the Executable version under a different
-     license You must make it absolutely clear that any terms which differ
-     from this License are offered by You alone, not by the Initial
-     Developer or any Contributor. You hereby agree to indemnify the
-     Initial Developer and every Contributor for any liability incurred by
-     the Initial Developer or such Contributor as a result of any such
-     terms You offer.
-
-     3.7. Larger Works.
-     You may create a Larger Work by combining Covered Code with other code
-     not governed by the terms of this License and distribute the Larger
-     Work as a single product. In such a case, You must make sure the
-     requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-     If it is impossible for You to comply with any of the terms of this
-     License with respect to some or all of the Covered Code due to
-     statute, judicial order, or regulation then You must: (a) comply with
-     the terms of this License to the maximum extent possible; and (b)
-     describe the limitations and the code they affect. Such description
-     must be included in the LEGAL file described in Section 3.4 and must
-     be included with all distributions of the Source Code. Except to the
-     extent prohibited by statute or regulation, such description must be
-     sufficiently detailed for a recipient of ordinary skill to be able to
-     understand it.
-
-5. Application of this License.
-
-     This License applies to code to which the Initial Developer has
-     attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
-     6.1. New Versions.
-     Netscape Communications Corporation ("Netscape") may publish revised
-     and/or new versions of the License from time to time. Each version
-     will be given a distinguishing version number.
-
-     6.2. Effect of New Versions.
-     Once Covered Code has been published under a particular version of the
-     License, You may always continue to use it under the terms of that
-     version. You may also choose to use such Covered Code under the terms
-     of any subsequent version of the License published by Netscape. No one
-     other than Netscape has the right to modify the terms applicable to
-     Covered Code created under this License.
-
-     6.3. Derivative Works.
-     If You create or use a modified version of this License (which you may
-     only do in order to apply it to code which is not already Covered Code
-     governed by this License), You must (a) rename Your license so that
-     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
-     "MPL", "NPL" or any confusingly similar phrase do not appear in your
-     license (except to note that your license differs from this License)
-     and (b) otherwise make it clear that Your version of the license
-     contains terms which differ from the Mozilla Public License and
-     Netscape Public License. (Filling in the name of the Initial
-     Developer, Original Code or Contributor in the notice described in
-     Exhibit A shall not of themselves be deemed to be modifications of
-     this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
-     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
-     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
-     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
-     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
-     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
-     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-     8.1.  This License and the rights granted hereunder will terminate
-     automatically if You fail to comply with terms herein and fail to cure
-     such breach within 30 days of becoming aware of the breach. All
-     sublicenses to the Covered Code which are properly granted shall
-     survive any termination of this License. Provisions which, by their
-     nature, must remain in effect beyond the termination of this License
-     shall survive.
-
-     8.2.  If You initiate litigation by asserting a patent infringement
-     claim (excluding declatory judgment actions) against Initial Developer
-     or a Contributor (the Initial Developer or Contributor against whom
-     You file such action is referred to as "Participant")  alleging that:
-
-     (a)  such Participant's Contributor Version directly or indirectly
-     infringes any patent, then any and all rights granted by such
-     Participant to You under Sections 2.1 and/or 2.2 of this License
-     shall, upon 60 days notice from Participant terminate prospectively,
-     unless if within 60 days after receipt of notice You either: (i)
-     agree in writing to pay Participant a mutually agreeable reasonable
-     royalty for Your past and future use of Modifications made by such
-     Participant, or (ii) withdraw Your litigation claim with respect to
-     the Contributor Version against such Participant.  If within 60 days
-     of notice, a reasonable royalty and payment arrangement are not
-     mutually agreed upon in writing by the parties or the litigation claim
-     is not withdrawn, the rights granted by Participant to You under
-     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
-     the 60 day notice period specified above.
-
-     (b)  any software, hardware, or device, other than such Participant's
-     Contributor Version, directly or indirectly infringes any patent, then
-     any rights granted to You by such Participant under Sections 2.1(b)
-     and 2.2(b) are revoked effective as of the date You first made, used,
-     sold, distributed, or had made, Modifications made by that
-     Participant.
-
-     8.3.  If You assert a patent infringement claim against Participant
-     alleging that such Participant's Contributor Version directly or
-     indirectly infringes any patent where such claim is resolved (such as
-     by license or settlement) prior to the initiation of patent
-     infringement litigation, then the reasonable value of the licenses
-     granted by such Participant under Sections 2.1 or 2.2 shall be taken
-     into account in determining the amount or value of any payment or
-     license.
-
-     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
-     all end user license agreements (excluding distributors and resellers)
-     which have been validly granted by You or any distributor hereunder
-     prior to termination shall survive termination.
-
-9. LIMITATION OF LIABILITY.
-
-     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
-     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
-     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
-     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
-     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
-     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-     The Covered Code is a "commercial item," as that term is defined in
-     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
-     software" and "commercial computer software documentation," as such
-     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
-     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
-     all U.S. Government End Users acquire Covered Code with only those
-     rights set forth herein.
-
-11. MISCELLANEOUS.
-
-     This License represents the complete agreement concerning subject
-     matter hereof. If any provision of this License is held to be
-     unenforceable, such provision shall be reformed only to the extent
-     necessary to make it enforceable. This License shall be governed by
-     California law provisions (except to the extent applicable law, if
-     any, provides otherwise), excluding its conflict-of-law provisions.
-     With respect to disputes in which at least one party is a citizen of,
-     or an entity chartered or registered to do business in the United
-     States of America, any litigation relating to this License shall be
-     subject to the jurisdiction of the Federal Courts of the Northern
-     District of California, with venue lying in Santa Clara County,
-     California, with the losing party responsible for costs, including
-     without limitation, court costs and reasonable attorneys' fees and
-     expenses. The application of the United Nations Convention on
-     Contracts for the International Sale of Goods is expressly excluded.
-     Any law or regulation which provides that the language of a contract
-     shall be construed against the drafter shall not apply to this
-     License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-     As between Initial Developer and the Contributors, each party is
-     responsible for claims and damages arising, directly or indirectly,
-     out of its utilization of rights under this License and You agree to
-     work with Initial Developer and Contributors to distribute such
-     responsibility on an equitable basis. Nothing herein is intended or
-     shall be deemed to constitute any admission of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
-     Initial Developer may designate portions of the Covered Code as
-     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
-     Developer permits you to utilize portions of the Covered Code under
-     Your choice of the NPL or the alternative licenses, if any, specified
-     by the Initial Developer in the file described in Exhibit A.
-
-EXHIBIT A -Mozilla Public License.
-
-     ``The contents of this file are subject to the Mozilla Public License
-     Version 1.1 (the "License"); you may not use this file except in
-     compliance with the License. You may obtain a copy of the License at
-     http://www.mozilla.org/MPL/
-
-     Software distributed under the License is distributed on an "AS IS"
-     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-     License for the specific language governing rights and limitations
-     under the License.
-
-     The Original Code is ______________________________________.
-
-     The Initial Developer of the Original Code is ________________________.
-     Portions created by ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-     Contributor(s): ______________________________________.
-
-     Alternatively, the contents of this file may be used under the terms
-     of the _____ license (the  "[___] License"), in which case the
-     provisions of [______] License are applicable instead of those
-     above.  If you wish to allow use of your version of this file only
-     under the terms of the [____] License and not to allow others to use
-     your version of this file under the MPL, indicate your decision by
-     deleting  the provisions above and replace  them with the notice and
-     other provisions required by the [___] License.  If you do not delete
-     the provisions above, a recipient may use your version of this file
-     under either the MPL or the [___] License."
-
-     [NOTE: The text of this Exhibit A may differ slightly from the text of
-     the notices in the Source Code files of the Original Code. You should
-     use the text of this Exhibit A rather than the text found in the
-     Original Code Source Code for Your Modifications.]
-
diff --git a/debian/libcairo2-dev.install b/debian/libcairo2-dev.install
deleted file mode 100644 (file)
index 6101b59..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-debian/install/main/usr/include/cairo/*.h /usr/include/cairo
-debian/install/main/usr/lib/libcairo.so /usr/lib
-debian/install/main/usr/lib/libcairo*.a /usr/lib
-debian/install/main/usr/lib/libcairo*.la /usr/lib
-debian/install/main/usr/lib/pkgconfig/cairo*.pc /usr/lib/pkgconfig
diff --git a/debian/libcairo2-doc.doc-base b/debian/libcairo2-doc.doc-base
deleted file mode 100644 (file)
index 291a6b2..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-Document: libcairo2-doc
-Title: Cairo Reference Manual
-Author: Cairo Project
-Abstract: Cairo is a multi-platform library providing anti-aliased
- vector-based rendering for multiple target backends.
- This document covers programming using the Cairo library.
-Section: Programming/C
-
-Format: HTML
-Index: /usr/share/gtk-doc/html/cairo/index.html
-Files: /usr/share/gtk-doc/html/cairo/*.html
diff --git a/debian/libcairo2-doc.install b/debian/libcairo2-doc.install
deleted file mode 100644 (file)
index 030ef08..0000000
+++ /dev/null
@@ -1 +0,0 @@
-debian/install/main/usr/share/gtk-doc/html/cairo /usr/share/gtk-doc/html
diff --git a/debian/libcairo2.install b/debian/libcairo2.install
deleted file mode 100644 (file)
index 1be4a14..0000000
+++ /dev/null
@@ -1 +0,0 @@
-debian/install/main/usr/lib/libcairo.so.* /usr/lib
diff --git a/debian/libcairo2.install.in b/debian/libcairo2.install.in
deleted file mode 100644 (file)
index 1be4a14..0000000
+++ /dev/null
@@ -1 +0,0 @@
-debian/install/main/usr/lib/libcairo.so.* /usr/lib
diff --git a/debian/libcairo2.install.opt b/debian/libcairo2.install.opt
deleted file mode 100644 (file)
index 769bad5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-debian/install/opt/usr/lib/libcairo.so.* @OPTLIBDIR@
diff --git a/debian/rules b/debian/rules
deleted file mode 100755 (executable)
index 4351a15..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-#!/usr/bin/make -f
-
-DISTRIBUTION   = SLP
-
-# list of flavors we build; each gets a builddir, a configure pass (configure
-# args are defined below), a build pass, and an install pass
-FLAVORS := main udeb
-
-# current flavor we're building; this is only expanded in flavor specific
-# targets
-current_flavor = $*
-
-# macro to get a value for the current flavor we're building; for example
-# when building the main flavor, $(call flavor_get,CFLAGS) will expand to
-# main_CFLAGS if it's set or to CFLAGS otherwise; pay attention to not adding
-# superflous spaces when for the arguments of $(call ); only some vars can
-# be expanded in this way though
-flavor_get = $(or $($(current_flavor)_$(1)),$($(1)))
-
-# Supported backends (as of Cairo 1.7.4):
-#  (internal) Image
-#  xlib       Xlib
-#  pdf        PDF
-#  ps         PostScript
-#  svg        SVG
-#
-# Experimental and unsupported backends:
-#  directfb  DirectFB (requires Build-Depend on libdirectfb-dev (>=0.9.25) )
-#  glitz     OpenGL (glitz)
-#  xcb       XCB  (requires Build-Depend on at least libxcb1-dev)
-#
-# Other platform backends are auto disabled: quartz/OSX, win32/Win32
-#
-# Features:
-# --enable-png  PNG (default enabled)
-
-DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-#DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
-PREFIX = /usr
-configure_flags += \
---prefix=$(PREFIX) \
---mandir=/usr/share/man \
---infodir=/usr/share/info \
---disable-glitz \
---build=$(DEB_BUILD_GNU_TYPE) \
---disable-win32 \
---enable-directfb=no \
---enable-xlib \
---with-x \
---x-includes=$(PREFIX)/include \
---x-libraries=$(PREFIX)/lib \
---enable-static
-
-
-ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
-configure_flags += --host=$(DEB_HOST_GNU_TYPE)
-endif
-
-ifeq (arm, $(findstring arm, $(DEB_HOST_GNU_TYPE)))
-CONFIGURE_OPTIONS += \
---enable-svg=no 
-
-configure_flags += \
---enable-egl=yes \
---enable-glesv2=yes
-endif
-
-main_configure_flags += \
-$(configure_flags) 
-
-ifeq ($(DISTRIBUTION),SLP)
-configure_flags += --enable-xcb
-endif
-
-builddir = $(buildbasedir)/$(current_flavor)
-buildbasedir = $(CURDIR)/debian/build
-
-installdir = $(installbasedir)/$(current_flavor)
-installbasedir = $(CURDIR)/debian/install
-
-# default CFLAGS; these can be expanded with $(call flavor_get, )
-CFLAGS += -Wall -g
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0
-else
-       CFLAGS += -O2
-endif
-
-CFLAGS += -fPIC -rdynamic
-LDFLAGS += -Wl,--hash-style=both -Wl,--as-needed
-
-ifeq (armel, $(DEB_HOST_ARCH))
-        CFLAGS += -mfpu=vfp -mfloat-abi=softfp
-endif
-
-include /usr/share/dpatch/dpatch.make
-
-configure-common-stamp: patch-stamp
-       dh_testdir
-       NOCONFIGURE=1 ./autogen.sh
-       touch $@
-
-configure-stamp-%: configure-common-stamp
-       dh_testdir
-       mkdir -p $(builddir); \
-       cd $(builddir); \
-       $(CURDIR)/configure \
-               CFLAGS="$(call flavor_get,CFLAGS)" \
-               $(call flavor_get,configure_flags)
-       touch $@
-
-build: $(addprefix build-stamp-, $(FLAVORS))
-
-build-stamp-%: configure-stamp-%
-       dh_testdir
-       $(MAKE) -C $(builddir)
-       touch $@
-
-clean: unpatch
-       dh_testdir
-       dh_testroot
-       # restore files from backup
-       [ ! -r config.sub.orig ] || mv -f config.sub.orig config.sub
-       [ ! -r config.guess.orig ] || mv -f config.guess.orig config.guess
-       rm -f src/cairo-features.h
-       rm -f *-stamp
-       rm -rf $(buildbasedir) $(installbasedir)
-       # Generated by configure and breaks the build if already existing
-       rm -f src/cairo-features.h
-       # Copy in fresh copies of config.{sub,guess}
-       # (these are from autotools-dev, so must Build-Depend on it)
-       -test -r /usr/share/misc/config.sub && \
-         cp -f /usr/share/misc/config.sub config.sub
-       -test -r /usr/share/misc/config.guess && \
-         cp -f /usr/share/misc/config.guess config.guess
-       dh_clean
-
-install-%: build-stamp-%
-       $(MAKE) -C $(builddir) install DESTDIR=$(installdir)
-       sed -i "/dependency_libs/ s/'.*'/''/" $(installdir)/usr/lib/*.la
-
-install:
-       dh_testdir
-       dh_testroot
-       dh_clean -k
-       dh_installdirs
-       for f in $(FLAVORS); do \
-           debian/rules install-$$f; \
-       done
-
-binary-indep: build install
-       dh_testdir
-       dh_testroot
-       dh_install -i
-       dh_installchangelogs -i ChangeLog
-       dh_installdocs -i -A NEWS README AUTHORS
-       dh_link -i
-       dh_compress -i
-       dh_fixperms -i
-       dh_installdeb -i
-       dh_gencontrol -i
-       dh_md5sums -i
-       dh_builddeb -i
-
-binary-arch: build install
-       dh_testdir
-       dh_testroot
-       dh_install -s
-       dh_installdocs -s -A README NEWS AUTHORS
-       dh_installchangelogs -s ChangeLog
-       dh_installman -s
-       dh_installexamples -s
-       dh_link -s
-       dh_strip -s --dbg-package=libcairo2-dbg
-       dh_compress -s
-       dh_fixperms -s
-       dh_makeshlibs -plibcairo2 -V 'libcairo2 (>= 1.8.0-2)' -- -c4
-       dh_installdeb -s
-       dh_shlibdeps -s
-       dh_perl -s
-       dh_gencontrol -s
-       dh_md5sums -s
-       dh_builddeb -s
-
-binary: binary-indep binary-arch
-
-.PHONY: build clean binary-indep binary-arch binary install patch unpatch clean
diff --git a/debian/watch b/debian/watch
deleted file mode 100644 (file)
index c8ddd8c..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-version=2
-http://cairographics.org/releases/ cairo-([\d+\.]+|\d+)\.tar\.gz debian uupdate
diff --git a/doc/cairo-evas-gl_doc.h b/doc/cairo-evas-gl_doc.h
new file mode 100755 (executable)
index 0000000..fb010cb
--- /dev/null
@@ -0,0 +1,60 @@
+/* Cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2009 Eric Anholt
+ * Copyright © 2009 Chris Wilson
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Eric Anholt.
+ */
+
+#ifndef __TIZEN_CAIRO_EVAS_GL_DOC_H__
+#define __TIZEN_CAIRO_EVAS_GL_DOC_H__
+
+/**
+ * @defgroup CAPI_CAIRO_EVAS_GL_MODULE Cairo GL
+ * @brief  Cairo GL/Evas_GL APIs are offical APIs for Tizen.
+ * @ingroup OPENSRC_CAIRO_FRAMEWORK
+ *
+ * @section CAIRO_EVAS_GL Required Header
+ *   \#include <cairo-evas-gl.h>
+ *
+ * @section CAIRO_EVAS_GL_MODULE_OVERVIEW Overview
+ * In Tizen, Cairo provides gl backend in order to do hardware-accelerated rendering.
+ * Since the EGL is not public supported in Tizen, Cairo Evas_GL has been provided to user interfaces instead to allow indirect access to EGL layer.
+ *
+ * Features    :\n
+ *     - Support a new cairo_device structure for interface to the underlying GL or EvasGL.\n
+ *     - Support a new cairo_surface structure for representing GL or Evas_GL_Surface object that cairo can render to.\n
+ *     - Get the underlying Evas_GL object used to create cairo device object.\n
+ *     - Get the underlying Evas_GL_Context object used to create cairo device object.
+ *
+ * Remarks     :\n
+ *     - Cairo GL and Cairo Evas_GL will use an GL/Evas_GL context and API set.\n
+ *     - Therefore, Evas_GL and OpenGL-ES should be provided for normal operation of Cairo gl backend.\n
+ */
+
+#endif // __TIZEN_CAIRO_EVAS_GL_DOC_H__
diff --git a/doc/tutorial/slides/.gitignore b/doc/tutorial/slides/.gitignore
deleted file mode 100644 (file)
index 72a67a0..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-tutorial-???.html
-tutorial-???.png
-tutorial-???.svg
-tutorial-index.xml
-tutorial.pdf
-index.html
-*~
diff --git a/doc/tutorial/slides/cairo-blank.svg b/doc/tutorial/slides/cairo-blank.svg
deleted file mode 100644 (file)
index ac91186..0000000
+++ /dev/null
@@ -1,477 +0,0 @@
-<?xml version="1.0" ?>
-<svg width="1024" height="768"
-    xmlns="http://www.w3.org/2000/svg"
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    xmlns:ss="http://www.svgslides.org/svgslides0.1"
-    fill="black">
-
-
-       <defs id="cairo-artwork_defs">
-               <g id="hacker_emblem">
-                       <!-- Note: This is similar though not identical to Keith Packard's SVG version
-                               of the hacker emblem (http://www.catb.org/hacker-emblem/glider.svg) -->
-                       <g id="hacker_emblem_grid" fill="white" stroke="none">
-                               <!-- Outside: Top, Right, Bottom, Left -->
-                               <rect x="-2.95" y="-3.05" width="6"   height="0.1" />
-                               <rect x="2.95"  y="-2.95" width="0.1" height="6" />
-                               <rect x="-3.05" y="2.95"  width="6"   height="0.1" />
-                               <rect x="-3.05" y="-3.05" width="0.1" height="6" />
-                               <!-- Vertical: Left, Right -->
-                               <rect x="-1.05" y="-2.95" width="0.1" height="5.9" />
-                               <rect x="0.95"  y="-2.95" width="0.1" height="5.9" />
-                               <!-- Horizontal: TopLeft, TopMiddle, TopRight -->
-                               <rect x="-2.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="-0.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="1.05"  y="-1.05" width="1.9" height="0.1" />
-                               <!-- Horizontal: BottomLeft, BottomMiddle, BottomRight -->
-                               <rect x="-2.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="-0.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="1.05"  y="0.95"  width="1.9" height="0.1" />
-                       </g>
-                       <g id="hacker_emblem_dots" fill="white">
-                               <circle cx="0"  cy="-2" r="0.7" />
-                               <circle cx="2"  cy="0"  r="0.7" />
-                               <circle cx="-2" cy="2"  r="0.7" />
-                               <circle cx="0"  cy="2"  r="0.7" />
-                               <circle cx="2"  cy="2"  r="0.7" />
-                       </g>
-               </g>
-               <g id="scarab" fill="#3B80AE">
-                       <g transform="translate(-150, -170)">
-                       <path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129
-                               c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
-                       <path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362
-                               c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519
-                               c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374
-                               C49.321,155.106,129.288,154.47,136.423,161.506z"/>
-                       <path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721
-                               c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
-                       <path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499
-                               c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475
-                               c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048
-                               l-9.02-111.29L140.403,197.149z"/>
-                       <path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715
-                               c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438
-                               l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
-                       <path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92
-                               c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273
-                               c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648
-                               C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099
-                               c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83
-                               c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519
-                               c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
-                       <path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346
-                               c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795
-                               c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504
-                               c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077
-                               c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
-                       <path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837
-                               c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136
-                               c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734
-                               c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39
-                               c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
-                       <path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92
-                               c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273
-                               c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648
-                               C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099
-                               c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83
-                               c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519
-                               c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
-                       <path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346
-                               c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795
-                               c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504
-                               c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077
-                               c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
-                       <path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837
-                               c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136
-                               c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734
-                               c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39
-                               c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
-                       </g>
-               </g>
-               <radialGradient id="gradient_radial_dung"
-                               cx="0" cy="0" r="60"
-                               fx="0" fy="0" gradientUnits="userSpaceOnUse"
-               >
-                       <stop offset="0"    stop-color="#9a9a9a" />
-                       <stop offset="0.70" stop-color="#bababa" />
-                       <stop offset="0.95" stop-color="#FFFFFF" />
-               </radialGradient>
-               <g id="dung">
-                       <circle cx="0" cy="0" r="60" fill="url(#gradient_radial_dung)" />
-                       <g transform="translate(-61, -61)">
-                               <!-- rough equivalent: <circle cx="0" cy="0" r="60" stroke="#8a8a8a" stroke-width="2" /> -->
-                               <path fill="#8a8a8a" d="M0,61c0,33.636,27.364,61,61,61s61-27.364,61-61S94.636,0,61,0S0,27.364,0,61z
-                                                       M2,61C2,28.467,28.467,2,61,2c32.532,0,59,26.467,59,59c0,32.533-26.468,59-59,59C28.467,120,2,93.533,2,61z"/>
-                       </g>
-                       <use xlink:href="#hacker_emblem" x="0" y="0" transform="scale(9)" />
-               </g>
-
-               <!-- scarab dimensions: 300x340 -->
-               <!-- dung dimensions: 120x120 (radius: 60) -->
-               <!-- scarab and dung dimensions: 300x400 -->
-
-               <g id="cairo_logo">
-                       <!-- dimensions: 300x400, centered -->
-                       <!-- The logo (scarab and dung), with the center-point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung" x="0" y="0" transform="translate(0, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 30)" />
-               </g>
-               <g id="cairo_logo_dung-centered">
-                       <!-- The logo (scarab and dung), with the dung at (0,0), the scarab below -->
-                       <use xlink:href="#dung" x="0" y="0" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0,170)" />
-               </g>
-               <g id="cairo_logo_scarab-centered">
-                       <!-- The logo (scarab and dung), with the scarab's rotational center at (0,0), the dung above -->
-                       <!-- The scarab's rotational center in this case is not the center of its bounding box,
-                               but is calculated to be the intersection-point of the torso, spine and wings -->
-                       <use xlink:href="#dung" x="0" y="0" transform="translate(0, -175.85)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -5.85)" />
-               </g>
-               <g id="cairo_logo_top-centered">
-                       <!-- The logo (scarab and dung), with the top-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung" x="0" y="0" transform="translate(0, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 230)" /><!-- (0,170+60) -->
-               </g>
-               <g id="cairo_logo_bottom-centered">
-                       <!-- The logo (scarab and dung), with the bottom-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung" x="0" y="0" transform="translate(0, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -170)" />
-               </g>
-               <g id="cairo_logo_right-centered">
-                       <!-- The logo (scarab and dung), with the right-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung" x="0" y="0" transform="translate(-150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 30)" />
-               </g>
-               <g id="cairo_logo_left-centered">
-                       <!-- The logo (scarab and dung), with the left-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung" x="0" y="0" transform="translate(150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 30)" />
-               </g>
-               <g id="cairo_logo_topleft-centered">
-                       <!-- The logo (scarab and dung), with the top-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung" x="0" y="0" transform="translate(150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 230)" /><!-- (150, 170+60) -->
-               </g>
-               <g id="cairo_logo_topright-centered">
-                       <!-- The logo (scarab and dung), with the top-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung" x="0" y="0" transform="translate(-150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 230)" /><!-- (-150,170+60) -->
-               </g>
-               <g id="cairo_logo_bottomleft-centered">
-                       <!-- The logo (scarab and dung), with the bottom-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung" x="0" y="0" transform="translate(150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, -170)" />
-               </g>
-               <g id="cairo_logo_bottomright-centered">
-                       <!-- The logo (scarab and dung), with the bottom-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung" x="0" y="0" transform="translate(-150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, -170)" />
-               </g>
-
-               <g id="cairo_text" transform="translate(0,-97)">
-                   <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(65,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(486.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1234.25,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1610,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small_spaced" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(379.5,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1341.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1826,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(261.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(764.75)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(988.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1355.5,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <g id="cairo_logo_text_small">
-                       <!-- The logo on the left, the text 'cairo' on the right -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" transform="translate(175,82)"/>
-               </g>
-
-               <g id="cairo_logo_with_text">
-                       <!-- The logo (scarab and dung), with the text 'cairo' below, the dot of the 'i' positioned between the hind legs of the scarab -->
-                       <!-- dimensions: 300x490, centered -->
-                       <use xlink:href="#cairo_logo_top-centered" transform="translate(0, -245)" />
-                       <use xlink:href="#cairo_text" transform="translate(0, 245)" />
-               </g>
-
-               <g id="cairo_banner">
-                       <!-- The logo on the left, the text 'cairo' in the center, and a mirror image of the logo on the right -->
-                       <!-- The logos are scaled such that the scarab body nearly matches the height of the text characters (excepting the 'i')
-                               and the dung should nearly aligns with the dot of the 'i'. The bottoms of the logos are aligned with the bottom of the text. -->
-                       <!-- dimensions: 370x88, centered -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" />
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" />
-               </g>
-
-               <g id="freedesktop_org_logo" style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
-                 <g>
-                   <path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552
-                                                    l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551
-                                                    l7.449,28.55z"/>>
-                   <path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181
-                                                              -15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661
-                                                              c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>>
-                   </g>g>
-                   <path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>>
-                   <path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801
-                            c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>>
-                   <path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786
-                            c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>>
-                   <path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043
-                            c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>>
-                   </g>g>
-       </defs>
-
-  <!-- Blue bar at top of slide -->
-  <rect x="0" y="0" width="1024" height="170" fill="#162284" />
-  
-  <g font-family="Frutiger">
-    <!-- Slide title -->
-    <g id="slide_title" transform="translate(512, 133)">
-      <text text-anchor="middle"
-           fill="white"
-           font-weight="bold"
-           x="0"
-           y="4" font-size="55"
-           ss:variable="title">Slide Title</text>
-    </g>
-    
-    <!-- Slide content -->
-    <g ss:region="default">
-      <rect x="112" y="200" width="800" height="480" fill="none" stroke="blue"/>
-      <text font-size="35" fill="black"
-           x="112" y="232">Slide content</text>
-    </g>
-    
-    <!-- Footer -->
-    <text ss:variable="URL" x="1016" y="753" text-anchor="end" font-size="20">http://cairographics.org</text>
-  </g>
-
-</svg>
diff --git a/doc/tutorial/slides/cairo-code.svg b/doc/tutorial/slides/cairo-code.svg
deleted file mode 100644 (file)
index 09e26bf..0000000
+++ /dev/null
@@ -1,913 +0,0 @@
-<?xml version="1.0" ?>
-<svg width="1024" height="768"
-    xmlns="http://www.w3.org/2000/svg"
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    xmlns:ss="http://www.svgslides.org/svgslides0.1"
-    fill="black">
-
-
-
-       <defs id="cairo-artwork_defs">
-               <g id="hacker_emblem">
-                       <!-- Note: This is similar though not identical to Keith Packard's SVG version
-                               of the hacker emblem (http://www.catb.org/hacker-emblem/glider.svg) -->
-                       <g id="hacker_emblem_grid" fill="white" stroke="none">
-                               <!-- Outside: Top, Right, Bottom, Left -->
-                               <rect x="-2.95" y="-3.05" width="6"   height="0.1" />
-                               <rect x="2.95"  y="-2.95" width="0.1" height="6" />
-                               <rect x="-3.05" y="2.95"  width="6"   height="0.1" />
-                               <rect x="-3.05" y="-3.05" width="0.1" height="6" />
-                               <!-- Vertical: Left, Right -->
-                               <rect x="-1.05" y="-2.95" width="0.1" height="5.9" />
-                               <rect x="0.95"  y="-2.95" width="0.1" height="5.9" />
-                               <!-- Horizontal: TopLeft, TopMiddle, TopRight -->
-                               <rect x="-2.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="-0.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="1.05"  y="-1.05" width="1.9" height="0.1" />
-                               <!-- Horizontal: BottomLeft, BottomMiddle, BottomRight -->
-                               <rect x="-2.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="-0.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="1.05"  y="0.95"  width="1.9" height="0.1" />
-                       </g>
-                       <g id="hacker_emblem_dots" fill="white">
-                               <circle cx="0"  cy="-2" r="0.7" />
-                               <circle cx="2"  cy="0"  r="0.7" />
-                               <circle cx="-2" cy="2"  r="0.7" />
-                               <circle cx="0"  cy="2"  r="0.7" />
-                               <circle cx="2"  cy="2"  r="0.7" />
-                       </g>
-               </g>
-               <g id="scarab" fill="#f19a14">
-                       <g transform="translate(-150, -170)">
-                       <path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129
-                               c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
-                       <path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362
-                               c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519
-                               c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374
-                               C49.321,155.106,129.288,154.47,136.423,161.506z"/>
-                       <path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721
-                               c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
-                       <path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499
-                               c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475
-                               c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048
-                               l-9.02-111.29L140.403,197.149z"/>
-                       <path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715
-                               c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438
-                               l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
-                       <path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92
-                               c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273
-                               c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648
-                               C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099
-                               c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83
-                               c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519
-                               c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
-                       <path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346
-                               c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795
-                               c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504
-                               c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077
-                               c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
-                       <path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837
-                               c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136
-                               c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734
-                               c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39
-                               c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
-                       <path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92
-                               c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273
-                               c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648
-                               C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099
-                               c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83
-                               c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519
-                               c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
-                       <path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346
-                               c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795
-                               c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504
-                               c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077
-                               c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
-                       <path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837
-                               c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136
-                               c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734
-                               c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39
-                               c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
-                       </g>
-               </g>
-               <radialGradient id="gradient_radial_dung"
-                               cx="0" cy="0" r="60"
-                               fx="0" fy="0" gradientUnits="userSpaceOnUse"
-               >
-                       <stop offset="0"    stop-color="#9a9a9a" />
-                       <stop offset="0.70" stop-color="#bababa" />
-                       <stop offset="0.95" stop-color="#FFFFFF" />
-               </radialGradient>
-               <g id="dung">
-                       <circle cx="0" cy="0" r="60" fill="url(#gradient_radial_dung)" />
-                       <g transform="translate(-61, -61)">
-                               <!-- rough equivalent: <circle cx="0" cy="0" r="60" stroke="#8a8a8a" stroke-width="2" /> -->
-                               <path fill="#8a8a8a" d="M0,61c0,33.636,27.364,61,61,61s61-27.364,61-61S94.636,0,61,0S0,27.364,0,61z
-                                                       M2,61C2,28.467,28.467,2,61,2c32.532,0,59,26.467,59,59c0,32.533-26.468,59-59,59C28.467,120,2,93.533,2,61z"/>
-                       </g>
-                       <use xlink:href="#hacker_emblem" x="0" y="0" transform="scale(9)" />
-               </g>
-               <g id="dung_2_color">
-                       <!-- This would be simple a circle like so:
-                               <circle cx="0" cy="0" r="48" stroke-width="2" fill="none" stroke="white"/>
-                            but there appears to currently be a bug in the cairo
-                            PDF backend that results in an ugly spike in that
-                            case. So we use 8 splines instead.
-                       -->
-                       <path stroke-width="4" stroke="white" fill="none" d="
-M 48,                  0
-C 48,                  12.730391512298112, 
-  42.94287166245995,   24.939379331448613
-  33.941125496954285,  33.941125496954278
-C 24.939379331448624,  42.942871662459943
-  12.730391512298114,  48
-  0,                   48
-C -12.730391512298109, 48, 
-  -24.939379331448613, 42.94287166245995
-  -33.941125496954278, 33.941125496954285
-C -42.942871662459943, 24.939379331448624,
-  -48,                 12.730391512298118,
-  -48,                 0,
-C -48,                 -12.730391512298105, 
-  -42.94287166245995,  -24.939379331448613,
-  -33.941125496954285, -33.941125496954278
-C -24.939379331448624, -42.942871662459943,
-  -12.730391512298119, -48, 
-  0,                   -48
-C 12.730391512298104,  -48, 
-  24.939379331448606,  -42.942871662459943,
-  33.941125496954271,  -33.941125496954285
-C 42.942871662459936,  -24.939379331448624,
-  48,                  -12.730391512298123,
-  48,                  0" />
-                       <g transform="scale(9)" fill="white" stroke="none" stroke-width="0.22222">
-                               <!-- Hacker emblem grid -->
-                               <!--
-                               <path stroke="white" fill="none"
-                                     d="M -3,-3 L  3,-3 L 3,3 L-3,3 Z
-                                        M -1,-3 L -1, 3
-                                        M  1,-3 L  1, 3
-                                        M -3,-1 L  3,-1
-                                        M -3, 1 L  3, 1"/>
-                                        -->
-
-                               <!-- Hacker emblem dots -->
-                               <circle cx="0"  cy="-2" r="0.7" />
-                               <circle cx="2"  cy="0"  r="0.7" />
-                               <circle cx="-2" cy="2"  r="0.7" />
-                               <circle cx="0"  cy="2"  r="0.7" />
-                               <circle cx="2"  cy="2"  r="0.7" />
-                       </g>
-               </g>
-
-               <!-- scarab dimensions: 300x340 -->
-               <!-- dung dimensions: 120x120 (radius: 60) -->
-               <!-- scarab and dung dimensions: 300x400 -->
-
-               <g id="cairo_logo">
-                       <!-- dimensions: 300x400, centered -->
-                       <!-- The logo (scarab and dung), with the center-point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 30)" />
-               </g>
-               <g id="cairo_logo_dung-centered">
-                       <!-- The logo (scarab and dung), with the dung at (0,0), the scarab below -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0,170)" />
-               </g>
-               <g id="cairo_logo_scarab-centered">
-                       <!-- The logo (scarab and dung), with the scarab's rotational center at (0,0), the dung above -->
-                       <!-- The scarab's rotational center in this case is not the center of its bounding box,
-                               but is calculated to be the intersection-point of the torso, spine and wings -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -175.85)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -5.85)" />
-               </g>
-               <g id="cairo_logo_top-centered">
-                       <!-- The logo (scarab and dung), with the top-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 230)" /><!-- (0,170+60) -->
-               </g>
-               <g id="cairo_logo_bottom-centered">
-                       <!-- The logo (scarab and dung), with the bottom-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -170)" />
-               </g>
-               <g id="cairo_logo_right-centered">
-                       <!-- The logo (scarab and dung), with the right-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 30)" />
-               </g>
-               <g id="cairo_logo_left-centered">
-                       <!-- The logo (scarab and dung), with the left-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 30)" />
-               </g>
-               <g id="cairo_logo_topleft-centered">
-                       <!-- The logo (scarab and dung), with the top-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 230)" /><!-- (150, 170+60) -->
-               </g>
-               <g id="cairo_logo_topright-centered">
-                       <!-- The logo (scarab and dung), with the top-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 230)" /><!-- (-150,170+60) -->
-               </g>
-               <g id="cairo_logo_bottomleft-centered">
-                       <!-- The logo (scarab and dung), with the bottom-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, -170)" />
-               </g>
-               <g id="cairo_logo_bottomright-centered">
-                       <!-- The logo (scarab and dung), with the bottom-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, -170)" />
-               </g>
-
-               <g id="cairo_text" transform="translate(0,-97)">
-                   <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(65,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(486.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1234.25,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1610,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small_spaced" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(379.5,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1341.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1826,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(261.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(764.75)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(988.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1355.5,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <g id="cairo_logo_text_small">
-                       <!-- The logo on the left, the text 'cairo' on the right -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" fill="white" transform="translate(175,82)"/>
-               </g>
-
-               <g id="cairo_logo_with_text">
-                       <!-- The logo (scarab and dung), with the text 'cairo' below, the dot of the 'i' positioned between the hind legs of the scarab -->
-                       <!-- dimensions: 300x490, centered -->
-                       <use xlink:href="#cairo_logo_top-centered" transform="translate(0, -245)" />
-                       <use xlink:href="#cairo_text" transform="translate(0, 245)" />
-               </g>
-
-               <g id="cairo_banner">
-                       <!-- The logo on the left, the text 'cairo' in the center, and a mirror image of the logo on the right -->
-                       <!-- The logos are scaled such that the scarab body nearly matches the height of the text characters (excepting the 'i')
-                               and the dung should nearly aligns with the dot of the 'i'. The bottoms of the logos are aligned with the bottom of the text. -->
-                       <!-- dimensions: 370x88, centered -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" />
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" />
-               </g>
-
-               <g id="freedesktop_org_logo" style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
-                 <g>
-                   <path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552
-                                                    l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551
-                                                    l7.449,28.55z"/>>
-                   <path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181
-                                                              -15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661
-                                                              c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>>
-                   </g>g>
-                   <path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>>
-                   <path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801
-                            c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>>
-                   <path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786
-                            c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>>
-                   <path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043
-                            c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>>
-                   </g>g>
-                   <g id="bullet">
-                     <use x="0" y="0" xlink:href="#cairo_logo" transform="translate(-6,-2) scale(0.1, 0.1)"/>>
-                   </g>
-                   <g id="redhat_logo_horizontal">
-                     <!-- 380x125 Red Hat log (horizontal layout) -->
-                      <g fill="black" stroke="none" 
-                       transform="translate(0,124),scale(1,-1),translate(-214,-258)"
-                       fill-rule="evenodd"
-                      >
-                       <!-- r -->
-                       <path fill="black" d="
-                        M 367.0625 315.3203
-                        C 367.0625 320.8765 366.9463 324.9644 366.7227 328.6597
-                        L 375.811 328.6597
-                        L 376.2002 320.7764
-                        L 376.4971 320.7764
-                        C 378.5391 326.6221 383.3809 329.5996 387.8594 329.5996
-                        C 388.8843 329.5996 389.4824 329.5601 390.3218 329.373
-                        L 390.3218 319.4863
-                        C 389.3398 319.6763 388.4224 319.7842 387.1592 319.7842
-                        C 382.1597 319.7842 378.688 316.6006 377.751 311.8447
-                        C 377.5732 310.918 377.4805 309.8086 377.4805 308.6777
-                        L 377.4805 287.1504
-                        L 366.9766 287.1504
-                        L 367.0625 315.3203
-                       " />
-
-                       <!-- e -->
-                       <path fill="black" d="
-                        M 402.9927 305.0791
-                        C 403.2715 297.5586 409.0918 294.2695 415.814 294.2695
-                        C 420.6406 294.2695 424.0942 295.0234 427.2681 296.1924
-                        L 428.8232 288.9678
-                        C 425.269 287.4629 420.3413 286.3359 414.3149 286.3359
-                        C 400.8384 286.3359 392.9409 294.6592 392.9409 307.3809
-                        C 392.9409 318.8369 399.8911 329.6772 413.2437 329.6772
-                        C 426.7397 329.6772 431.1338 318.5771 431.1338 309.4893
-                        C 431.1338 307.5381 430.9624 305.9707 430.7593 305.0059
-                        L 402.9927 305.0791
-
-                        M 421.2485 312.3926
-                        C 421.2954 316.2388 419.6206 322.5088 412.5903 322.5088
-                        C 406.1299 322.5088 403.4438 316.645 402.9722 312.3926
-                        L 421.2485 312.3926
-                       " />
-
-                       <!-- d -->
-                       <path fill="black" d="
-                        M 476.355 344.667
-                        L 465.8638 347.5083
-                        L 465.8638 324.1914
-                        L 465.6904 324.1914
-                        C 463.8335 327.2563 459.7407 329.5996 454.0571 329.5996
-                        C 444.0762 329.5996 435.3828 321.3374 435.4478 307.4307
-                        C 435.4478 294.6719 443.2983 286.2168 453.2119 286.2168
-                        C 459.2017 286.2168 464.2114 289.0723 466.6909 293.7217
-                        L 466.8779 293.7217
-                        L 467.3491 287.1504
-                        L 476.6997 287.1504
-                        C 476.5083 289.9717 476.355 294.543 476.355 298.792
-                        L 476.355 344.667
-
-                        M 465.8638 305.1504
-                        C 465.8638 304.0479 465.7856 303.0234 465.5454 302.0869
-                        C 464.4873 297.5439 460.7734 294.6172 456.4819 294.6172
-                        C 449.8721 294.6172 446.0903 300.1885 446.0903 307.8164
-                        C 446.0903 315.5166 449.8384 321.4761 456.6016 321.4761
-                        C 461.3208 321.4761 464.6992 318.1484 465.6274 314.1064
-                        C 465.8071 313.2559 465.8638 312.208 465.8638 311.3711
-                        L 465.8638 305.1504
-                       " />
-
-                       <!-- h -->
-                       <path fill="black" d="
-                        M 503.7964 329.0176
-                        C 500.6836 329.0176 497.8926 328.1187 495.5493 326.6714
-                        C 493.1162 325.2461 491.1353 323.0464 489.959 320.7666
-                        L 489.7915 320.7666
-                        L 489.7915 341.0195
-                        L 485.7427 342.1226
-                        L 485.7427 287.1504
-                        L 489.7915 287.1504
-                        L 489.7915 312.1787
-                        C 489.7915 313.8408 489.9204 314.9946 490.3462 316.2109
-                        C 492.0928 321.3013 496.8896 325.4805 502.689 325.4805
-                        C 511.0664 325.4805 513.9673 318.7603 513.9673 311.3906
-                        L 513.9673 287.1504
-                        L 518.0137 287.1504
-                        L 518.0137 311.8359
-                        C 518.0137 327.0791 507.6753 329.0176 503.7964 329.0176
-                       " />
-
-                       <!-- a -->
-                       <path fill="black" d="
-                        M 554.3413 296.873
-                        C 554.3413 293.6357 554.4692 290.2832 554.9375 287.1504
-                        L 551.2085 287.1504
-                        L 550.6128 293.0156
-                        L 550.4209 293.0156
-                        C 548.438 289.8594 543.8765 286.2168 537.3726 286.2168
-                        C 529.1392 286.2168 525.3057 292.0117 525.3057 297.4688
-                        C 525.3057 306.9121 533.6421 312.6064 550.292 312.4321
-                        L 550.292 313.5234
-                        C 550.292 317.5718 549.5044 325.6475 539.8242 325.5859
-                        C 536.2446 325.5859 532.5132 324.6255 529.5513 322.5366
-                        L 528.2632 325.4805
-                        C 532.0015 328.0137 536.5659 329.0176 540.2705 329.0176
-                        C 552.0801 329.0176 554.3413 320.1509 554.3413 312.8379
-                        L 554.3413 296.873
-
-                        M 550.292 309.0234
-                        C 541.3813 309.2813 529.6128 307.9336 529.6128 298.1055
-                        C 529.6128 292.2246 533.4946 289.5811 537.7578 289.5811
-                        C 544.5796 289.5811 548.4561 293.8018 549.8677 297.7871
-                        C 550.1646 298.6621 550.292 299.5371 550.292 300.2402
-                        L 550.292 309.0234
-                       " />
-
-                       <!-- t -->
-                       <path fill="black" d="
-                        M 570.459 337.0996
-                        L 570.459 328.0801
-                        L 582.1235 328.0801
-                        L 582.1235 324.7959
-                        L 570.459 324.7959
-                        L 570.459 298.1943
-                        C 570.459 292.9912 572.0757 289.7285 576.4692 289.7285
-                        C 578.5815 289.7285 580.0757 290.0078 581.1206 290.3711
-                        L 581.6099 287.2354
-                        C 580.2871 286.6836 578.4302 286.2539 575.9619 286.2539
-                        C 572.9741 286.2539 570.4995 287.1934 568.8994 289.1543
-                        C 567.0469 291.3057 566.4116 294.7412 566.4116 298.916
-                        L 566.4116 324.7959
-                        L 559.5059 324.7959
-                        L 559.5059 328.0801
-                        L 566.4116 328.0801
-                        L 566.4116 335.606
-                        L 570.459 337.0996
-                       " />
-
-                       <!-- ® for 'redhat' -->
-                       <path fill="black" d="
-                        M 335.5 288.9707
-                        L 336.0352 288.9707
-                        L 336.8408 287.6445
-                        L 337.3608 287.6445
-                        L 336.4888 288.9937
-                        C 336.9404 289.0498 337.2832 289.2881 337.2832 289.834
-                        C 337.2832 290.4385 336.9258 290.7051 336.2017 290.7051
-                        L 335.0366 290.7051
-                        L 335.0366 287.6445
-                        L 335.5 287.6445
-                        L 335.5 288.9707
-
-                        M 335.5 289.3643
-                        L 335.5 290.3101
-                        L 336.1318 290.3101
-                        C 336.4531 290.3101 336.7979 290.2402 336.7979 289.8647
-                        C 336.7979 289.3916 336.4492 289.3643 336.0566 289.3643
-                        L 335.5 289.3643
-                       " />
-
-                       <path fill="black" d="
-                        M 339.0439 289.1719
-                        C 339.0439 287.5176 337.7041 286.1763 336.0493 286.1763
-                        C 334.395 286.1763 333.0527 287.5176 333.0527 289.1719
-                        C 333.0527 290.8271 334.395 292.1675 336.0493 292.1675
-                        C 337.7041 292.1675 339.0439 290.8271 339.0439 289.1719
-
-                        M 336.0493 291.6367
-                        C 334.6865 291.6367 333.5835 290.5332 333.5835 289.1719
-                        C 333.5835 287.8096 334.6865 286.7061 336.0493 286.7061
-                        C 337.4082 286.7061 338.5117 287.8096 338.5117 289.1719
-                        C 338.5117 290.5332 337.4082 291.6367 336.0493 291.6367
-                       " />
-
-                       <!-- Black background behind The Shadowman -->
-                       <path fill="black" d="
-                        M 326.4531 286.208
-                        C 324.1177 286.7451 321.6396 287.0801 319.1338 287.0801
-                        C 314.8496 287.0801 310.9502 286.3389 308.0732 285.1426
-                        C 307.7559 284.9844 307.5303 284.6533 307.5303 284.2764
-                        C 307.5303 284.1406 307.5654 283.999 307.6172 283.8838
-                        C 307.957 282.8975 307.3984 281.8281 304.6157 281.2158
-                        C 300.4883 280.3096 297.8833 276.0527 296.3916 274.6367
-                        C 294.6411 272.9756 289.6973 271.9531 290.4404 272.9434
-                        C 291.0225 273.7188 293.2485 276.1348 294.6016 278.748
-                        C 295.8125 281.083 296.8906 281.7461 298.375 283.9736
-                        C 298.811 284.627 300.4995 286.9219 300.9912 288.7373
-                        C 301.543 290.5107 301.356 292.7344 301.5679 293.6494
-                        C 301.8721 294.9697 303.1182 297.8369 303.2129 299.4531
-                        C 303.2666 300.3691 299.3916 298.1494 297.5532 298.1494
-                        C 295.7144 298.1494 293.9233 299.248 292.2808 299.3281
-                        C 290.248 299.4248 288.9414 297.7607 287.1025 298.0508
-                        C 286.0518 298.2178 285.167 299.1426 283.3311 299.2129
-                        C 280.7178 299.3086 277.5244 297.7607 271.5264 297.9531
-                        C 265.6255 298.1436 260.1753 305.4082 259.4312 306.5635
-                        C 258.5605 307.9199 257.4961 307.9199 256.335 306.8555
-                        C 255.1738 305.792 253.7432 306.627 253.3359 307.3389
-                        C 252.5615 308.6943 250.4927 312.6543 247.2881 313.4824
-                        C 242.8564 314.6309 240.6118 311.0283 240.9033 308.1621
-                        C 241.1987 305.252 243.0801 304.4375 243.9512 302.8906
-                        C 244.8213 301.3428 245.2671 300.3428 246.9053 299.6572
-                        C 248.0674 299.1758 248.5 298.458 248.1533 297.5049
-                        C 247.8506 296.6738 246.6416 296.4834 245.8477 296.4463
-                        C 244.1592 296.3662 242.9756 296.8242 242.1123 297.376
-                        C 241.1084 298.0137 240.292 298.9033 239.416 300.4131
-                        C 238.4023 302.0781 236.8052 302.8037 234.9453 302.8037
-                        C 234.0586 302.8037 233.2295 302.5693 232.4922 302.1895
-                        C 229.5771 300.6748 226.1064 299.7744 222.3706 299.7744
-                        L 218.1572 299.7734
-                        C 216.1064 305.8555 214.9951 312.3682 214.9951 319.1416
-                        C 214.9951 352.6064 242.1226 379.7334 275.5859 379.7334
-                        C 309.0498 379.7334 336.1758 352.6064 336.1758 319.1416
-                        C 336.1758 307 332.6035 295.6895 326.4531 286.208
-                       " />
-
-                       <!-- The Shadowman's face -->
-                       <path fill="white" d="
-                        M 326.4531 286.209
-                        C 324.1177 286.7461 321.6396 287.084 319.1338 287.084
-                        C 314.8496 287.084 310.9502 286.3418 308.0732 285.1436
-                        C 307.7559 284.9873 307.5303 284.6553 307.5303 284.2783
-                        C 307.5303 284.1416 307.5654 284.001 307.6172 283.8838
-                        C 307.957 282.8994 307.3984 281.8311 304.6157 281.2178
-                        C 300.4883 280.3115 297.8833 276.0537 296.3916 274.6416
-                        C 294.6411 272.9766 289.6973 271.9551 290.4404 272.9463
-                        C 291.0225 273.7197 293.2485 276.1367 294.6016 278.749
-                        C 295.8125 281.083 296.8906 281.75 298.375 283.9756
-                        C 298.811 284.627 300.4995 286.9238 300.9912 288.7402
-                        C 301.543 290.5117 301.356 292.7354 301.5679 293.6514
-                        C 301.8721 294.9727 303.1182 297.8379 303.2129 299.457
-                        C 303.2666 300.3721 299.3916 298.1504 297.5532 298.1504
-                        C 295.7144 298.1504 293.9233 299.251 292.2808 299.3301
-                        C 290.248 299.4258 288.9414 297.7627 287.1025 298.0518
-                        C 286.0518 298.2207 285.167 299.1465 283.3311 299.2148
-                        C 280.7178 299.3096 277.5244 297.7627 271.5264 297.9561
-                        C 265.6255 298.1475 260.1753 305.4121 259.4312 306.5674
-                        C 258.5605 307.9219 257.4961 307.9219 256.335 306.8574
-                        C 255.1738 305.7939 253.7432 306.6299 253.3359 307.3438
-                        C 252.5615 308.6963 250.4927 312.6553 247.2881 313.4854
-                        C 242.8564 314.6338 240.6118 311.0313 240.9033 308.1641
-                        C 241.1987 305.2539 243.0801 304.4395 243.9512 302.8926
-                        C 244.8213 301.3438 245.2671 300.3457 246.9053 299.6621
-                        C 248.0674 299.1768 248.5 298.4609 248.1533 297.5068
-                        C 247.8506 296.6768 246.6416 296.4873 245.8477 296.4492
-                        C 244.1592 296.3672 242.9756 296.8262 242.1123 297.376
-                        C 241.1084 298.0176 240.292 298.9043 239.416 300.416
-                        C 238.4023 302.0801 236.8052 302.8086 234.9453 302.8086
-                        C 234.0586 302.8086 233.2295 302.5723 232.4922 302.1934
-                        C 229.5771 300.6748 226.1064 299.7773 222.3706 299.7773
-                        L 218.1572 299.7744
-                        C 226.2363 275.8105 248.8965 258.5527 275.5859 258.5527
-                        C 296.9063 258.5527 315.6538 269.5635 326.4531 286.209
-                       " />
-
-                       <!-- nose shadow -->
-                       <path fill="black" d="
-                        M 288.9307 291.7637
-                        C 289.2422 291.46 289.7793 290.4375 289.1226 289.1396
-                        C 288.7544 288.4521 288.3579 287.9678 287.6489 287.4023
-                        C 286.7969 286.7188 285.1309 285.9307 282.8457 287.3799
-                        C 281.6172 288.1592 281.543 288.4209 279.8467 288.2012
-                        C 278.6348 288.043 278.1533 289.2656 278.5884 290.2832
-                        C 279.0244 291.2969 280.8145 292.1191 283.04 290.8135
-                        C 284.041 290.2256 285.6025 288.9844 286.9688 290.084
-                        C 287.5356 290.5381 287.875 290.8408 288.6611 291.75
-                        C 288.6963 291.7881 288.7461 291.8105 288.8018 291.8105
-                        C 288.8516 291.8105 288.8965 291.793 288.9307 291.7637
-                       " />
-
-                       <!-- The Shadowman's red hat -->
-                       <path fill="#cc0000" d="
-                        M 309.7769 335.2627
-                        C 309.1787 333.251 308.3271 330.6763 304.5391 328.7314
-                        C 303.9878 328.4497 303.7764 328.9126 304.0313 329.3477
-                        C 305.4629 331.7832 305.7168 332.3921 306.1328 333.3525
-                        C 306.7148 334.7568 307.02 336.7549 305.8618 340.9219
-                        C 303.5835 349.1221 298.8296 360.083 295.375 363.6392
-                        C 292.04 367.0698 285.998 368.0361 280.5371 366.6348
-                        C 278.5264 366.1191 274.5918 364.0732 267.2939 365.7168
-                        C 254.665 368.5605 252.7939 362.2368 252.0693 359.4824
-                        C 251.3438 356.7271 249.6045 348.897 249.6045 348.897
-                        C 249.0244 345.7085 248.2646 340.1631 267.874 336.4287
-                        C 277.0088 334.6885 277.4736 332.3276 277.8779 330.6289
-                        C 278.603 327.585 279.7627 325.8438 281.0674 324.9746
-                        C 282.373 324.1035 281.0674 323.3828 279.6187 323.2349
-                        C 275.7285 322.8311 261.3491 326.9541 252.8428 331.7881
-                        C 245.8828 336.0415 245.7656 339.8721 247.3584 343.1211
-                        C 236.8452 344.2573 228.9561 342.1348 227.5254 337.1582
-                        C 225.0693 328.6157 246.3047 314.0264 270.4839 306.7061
-                        C 295.8579 299.0225 321.9556 304.3857 324.8564 320.335
-                        C 326.1738 327.5811 320.0713 332.9419 309.7769 335.2627
-                       " />
-
-                       <!-- shadow on hat -->
-                       <path fill="black" d="
-                        M 270.8711 350.8813
-                        C 263.8721 350.375 263.145 349.6191 261.834 348.2227
-                        C 259.9854 346.2539 257.5508 350.7773 257.5508 350.7773
-                        C 256.0898 351.085 254.3179 353.4404 255.2744 355.6411
-                        C 256.2158 357.8174 257.9551 357.1641 258.5 356.4868
-                        C 259.1626 355.6621 260.5771 354.3125 262.4141 354.3613
-                        C 264.251 354.4097 266.3706 354.7959 269.3262 354.7959
-                        C 272.3213 354.7959 274.335 353.6777 274.4487 352.7168
-                        C 274.5459 351.8965 274.2061 351.1226 270.8711 350.8813
-                       " />
-
-                       <!-- another shadow on hat -->
-                       <path fill="black" d="
-                        M 278.2236 362.4463
-                        C 278.2129 362.4453 278.2021 362.4438 278.1919 362.4438
-                        C 278.084 362.4438 277.9961 362.5273 277.9961 362.6274
-                        C 277.9961 362.7007 278.041 362.7646 278.106 362.7939
-                        C 279.4629 363.5107 281.4873 364.0811 283.8042 364.3169
-                        C 284.499 364.3887 285.1787 364.4248 285.832 364.4307
-                        C 285.9478 364.4307 286.0615 364.4297 286.1787 364.4277
-                        C 290.062 364.3398 293.1719 362.7974 293.1255 360.9814
-                        C 293.0791 359.165 289.8955 357.7637 286.0112 357.8506
-                        C 284.7529 357.8794 283.5732 358.0615 282.5576 358.3545
-                        C 282.4385 358.3857 282.3506 358.4883 282.3506 358.6094
-                        C 282.3506 358.731 282.4385 358.834 282.5605 358.8638
-                        C 284.9839 359.4248 286.6191 360.3408 286.5039 361.207
-                        C 286.3511 362.3545 283.1816 362.979 279.4248 362.6011
-                        C 279.0137 362.5596 278.6118 362.5068 278.2236 362.4463
-                       " />
-
-                       <!-- ® for The Shadowman -->
-                       <path fill="black" d="
-                        M 588.3018 288.9707
-                        L 588.8369 288.9707
-                        L 589.6426 287.6445
-                        L 590.1626 287.6445
-                        L 589.2905 288.9937
-                        C 589.7422 289.0498 590.085 289.2881 590.085 289.834
-                        C 590.085 290.4385 589.7275 290.7051 589.0034 290.7051
-                        L 587.8384 290.7051
-                        L 587.8384 287.6445
-                        L 588.3018 287.6445
-                        L 588.3018 288.9707
-
-                        M 588.3018 289.3643
-                        L 588.3018 290.3101
-                        L 588.9336 290.3101
-                        C 589.2549 290.3101 589.5996 290.2402 589.5996 289.8647
-                        C 589.5996 289.3916 589.251 289.3643 588.8584 289.3643
-                        L 588.3018 289.3643
-                       " />
-
-                       <path fill="black" d="
-                        M 591.8457 289.1719
-                        C 591.8457 287.5176 590.5059 286.1763 588.8511 286.1763
-                        C 587.1968 286.1763 585.8545 287.5176 585.8545 289.1719
-                        C 585.8545 290.8271 587.1968 292.1675 588.8511 292.1675
-                        C 590.5059 292.1675 591.8457 290.8271 591.8457 289.1719
-
-                        M 588.8511 291.6367
-                        C 587.4883 291.6367 586.3853 290.5332 586.3853 289.1719
-                        C 586.3853 287.8096 587.4883 286.7061 588.8511 286.7061
-                        C 590.21 286.7061 591.3135 287.8096 591.3135 289.1719
-                        C 591.3135 290.5332 590.21 291.6367 588.8511 291.6367
-                       " />
-
-                     </g>
-                   </g>
-
-       </defs>
-
-  <g id="watermark" transform="translate(200, 185), rotate(-50), scale(2.5)">
-    <use xlink:href="#scarab" x="0" y="170" fill-opacity="0.2"/>
-  </g>
-
-
-  <!-- Blue bar at top of slide -->
-  <rect x="0" y="0" width="1024" height="170" fill="#162284" />
-
-  <!-- Scarab and "cairo" at upper-left -->
-  <g transform="translate(10,0)">
-    <use stroke="none" xlink:href="#cairo_logo_text_small"/>
-  </g>
-
-  <!-- Presentation title at upper-right -->
-  <text ss:variable="presentation-subtitle" text-anchor="end"
-     fill="white" x="1016" y="28" font-size="20">Presentation Sub-title</text>
-
-  <!-- Red Hat logo at lower-left -->
-  <use xlink:href="#redhat_logo_horizontal" transform="translate(8,768),scale(.5,.5),translate(0, -125)" />
-  <g font-family="Frutiger">
-    <!-- Slide title -->
-    <g id="slide_title" transform="translate(512, 133)">
-      <text text-anchor="middle"
-           fill="white"
-           font-weight="bold"
-           x="0"
-           y="4" font-size="55"
-           ss:variable="title">Slide Title</text>
-    </g>
-    
-    <!-- Slide content -->
-    <g ss:region="default" font-family="Mono">
-      <rect x="112" y="170" width="800" height="480" fill="none" stroke="blue"/>
-      <text font-size="20" fill="black"
-           x="112" y="190">Slide content</text>
-    </g>
-    
-    <!-- Footer -->
-    <text ss:variable="URL" x="1016" y="753" text-anchor="end" font-size="20">http://cairographics.org</text>
-  </g>
-
-</svg>
diff --git a/doc/tutorial/slides/cairo-large-content.svg b/doc/tutorial/slides/cairo-large-content.svg
deleted file mode 100644 (file)
index 5acf4c9..0000000
+++ /dev/null
@@ -1,899 +0,0 @@
-<?xml version="1.0" ?>
-<svg width="1024" height="768"
-    xmlns="http://www.w3.org/2000/svg"
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    xmlns:ss="http://www.svgslides.org/svgslides0.1"
-    fill="black">
-
-
-
-       <defs id="cairo-artwork_defs">
-               <g id="hacker_emblem">
-                       <!-- Note: This is similar though not identical to Keith Packard's SVG version
-                               of the hacker emblem (http://www.catb.org/hacker-emblem/glider.svg) -->
-                       <g id="hacker_emblem_grid" fill="white" stroke="none">
-                               <!-- Outside: Top, Right, Bottom, Left -->
-                               <rect x="-2.95" y="-3.05" width="6"   height="0.1" />
-                               <rect x="2.95"  y="-2.95" width="0.1" height="6" />
-                               <rect x="-3.05" y="2.95"  width="6"   height="0.1" />
-                               <rect x="-3.05" y="-3.05" width="0.1" height="6" />
-                               <!-- Vertical: Left, Right -->
-                               <rect x="-1.05" y="-2.95" width="0.1" height="5.9" />
-                               <rect x="0.95"  y="-2.95" width="0.1" height="5.9" />
-                               <!-- Horizontal: TopLeft, TopMiddle, TopRight -->
-                               <rect x="-2.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="-0.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="1.05"  y="-1.05" width="1.9" height="0.1" />
-                               <!-- Horizontal: BottomLeft, BottomMiddle, BottomRight -->
-                               <rect x="-2.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="-0.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="1.05"  y="0.95"  width="1.9" height="0.1" />
-                       </g>
-                       <g id="hacker_emblem_dots" fill="white">
-                               <circle cx="0"  cy="-2" r="0.7" />
-                               <circle cx="2"  cy="0"  r="0.7" />
-                               <circle cx="-2" cy="2"  r="0.7" />
-                               <circle cx="0"  cy="2"  r="0.7" />
-                               <circle cx="2"  cy="2"  r="0.7" />
-                       </g>
-               </g>
-               <g id="scarab" fill="#f19a14">
-                       <g transform="translate(-150, -170)">
-                       <path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129
-                               c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
-                       <path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362
-                               c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519
-                               c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374
-                               C49.321,155.106,129.288,154.47,136.423,161.506z"/>
-                       <path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721
-                               c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
-                       <path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499
-                               c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475
-                               c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048
-                               l-9.02-111.29L140.403,197.149z"/>
-                       <path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715
-                               c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438
-                               l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
-                       <path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92
-                               c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273
-                               c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648
-                               C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099
-                               c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83
-                               c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519
-                               c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
-                       <path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346
-                               c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795
-                               c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504
-                               c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077
-                               c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
-                       <path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837
-                               c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136
-                               c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734
-                               c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39
-                               c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
-                       <path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92
-                               c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273
-                               c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648
-                               C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099
-                               c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83
-                               c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519
-                               c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
-                       <path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346
-                               c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795
-                               c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504
-                               c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077
-                               c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
-                       <path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837
-                               c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136
-                               c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734
-                               c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39
-                               c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
-                       </g>
-               </g>
-               <radialGradient id="gradient_radial_dung"
-                               cx="0" cy="0" r="60"
-                               fx="0" fy="0" gradientUnits="userSpaceOnUse"
-               >
-                       <stop offset="0"    stop-color="#9a9a9a" />
-                       <stop offset="0.70" stop-color="#bababa" />
-                       <stop offset="0.95" stop-color="#FFFFFF" />
-               </radialGradient>
-               <g id="dung">
-                       <circle cx="0" cy="0" r="60" fill="url(#gradient_radial_dung)" />
-                       <g transform="translate(-61, -61)">
-                               <!-- rough equivalent: <circle cx="0" cy="0" r="60" stroke="#8a8a8a" stroke-width="2" /> -->
-                               <path fill="#8a8a8a" d="M0,61c0,33.636,27.364,61,61,61s61-27.364,61-61S94.636,0,61,0S0,27.364,0,61z
-                                                       M2,61C2,28.467,28.467,2,61,2c32.532,0,59,26.467,59,59c0,32.533-26.468,59-59,59C28.467,120,2,93.533,2,61z"/>
-                       </g>
-                       <use xlink:href="#hacker_emblem" x="0" y="0" transform="scale(9)" />
-               </g>
-               <g id="dung_2_color">
-                       <!-- This would be simple a circle like so:
-                               <circle cx="0" cy="0" r="48" stroke-width="2" fill="none" stroke="white"/>
-                            but there appears to currently be a bug in the cairo
-                            PDF backend that results in an ugly spike in that
-                            case. So we use 8 splines instead.
-                       -->
-                       <path stroke-width="4" stroke="white" fill="none" d="
-M 48,                  0
-C 48,                  12.730391512298112, 
-  42.94287166245995,   24.939379331448613
-  33.941125496954285,  33.941125496954278
-C 24.939379331448624,  42.942871662459943
-  12.730391512298114,  48
-  0,                   48
-C -12.730391512298109, 48, 
-  -24.939379331448613, 42.94287166245995
-  -33.941125496954278, 33.941125496954285
-C -42.942871662459943, 24.939379331448624,
-  -48,                 12.730391512298118,
-  -48,                 0,
-C -48,                 -12.730391512298105, 
-  -42.94287166245995,  -24.939379331448613,
-  -33.941125496954285, -33.941125496954278
-C -24.939379331448624, -42.942871662459943,
-  -12.730391512298119, -48, 
-  0,                   -48
-C 12.730391512298104,  -48, 
-  24.939379331448606,  -42.942871662459943,
-  33.941125496954271,  -33.941125496954285
-C 42.942871662459936,  -24.939379331448624,
-  48,                  -12.730391512298123,
-  48,                  0" />
-                       <g transform="scale(9)" fill="white" stroke="none" stroke-width="0.22222">
-                               <!-- Hacker emblem grid -->
-                               <!--
-                               <path stroke="white" fill="none"
-                                     d="M -3,-3 L  3,-3 L 3,3 L-3,3 Z
-                                        M -1,-3 L -1, 3
-                                        M  1,-3 L  1, 3
-                                        M -3,-1 L  3,-1
-                                        M -3, 1 L  3, 1"/>
-                                        -->
-
-                               <!-- Hacker emblem dots -->
-                               <circle cx="0"  cy="-2" r="0.7" />
-                               <circle cx="2"  cy="0"  r="0.7" />
-                               <circle cx="-2" cy="2"  r="0.7" />
-                               <circle cx="0"  cy="2"  r="0.7" />
-                               <circle cx="2"  cy="2"  r="0.7" />
-                       </g>
-               </g>
-
-               <!-- scarab dimensions: 300x340 -->
-               <!-- dung dimensions: 120x120 (radius: 60) -->
-               <!-- scarab and dung dimensions: 300x400 -->
-
-               <g id="cairo_logo">
-                       <!-- dimensions: 300x400, centered -->
-                       <!-- The logo (scarab and dung), with the center-point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 30)" />
-               </g>
-               <g id="cairo_logo_dung-centered">
-                       <!-- The logo (scarab and dung), with the dung at (0,0), the scarab below -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0,170)" />
-               </g>
-               <g id="cairo_logo_scarab-centered">
-                       <!-- The logo (scarab and dung), with the scarab's rotational center at (0,0), the dung above -->
-                       <!-- The scarab's rotational center in this case is not the center of its bounding box,
-                               but is calculated to be the intersection-point of the torso, spine and wings -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -175.85)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -5.85)" />
-               </g>
-               <g id="cairo_logo_top-centered">
-                       <!-- The logo (scarab and dung), with the top-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 230)" /><!-- (0,170+60) -->
-               </g>
-               <g id="cairo_logo_bottom-centered">
-                       <!-- The logo (scarab and dung), with the bottom-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -170)" />
-               </g>
-               <g id="cairo_logo_right-centered">
-                       <!-- The logo (scarab and dung), with the right-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 30)" />
-               </g>
-               <g id="cairo_logo_left-centered">
-                       <!-- The logo (scarab and dung), with the left-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 30)" />
-               </g>
-               <g id="cairo_logo_topleft-centered">
-                       <!-- The logo (scarab and dung), with the top-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 230)" /><!-- (150, 170+60) -->
-               </g>
-               <g id="cairo_logo_topright-centered">
-                       <!-- The logo (scarab and dung), with the top-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 230)" /><!-- (-150,170+60) -->
-               </g>
-               <g id="cairo_logo_bottomleft-centered">
-                       <!-- The logo (scarab and dung), with the bottom-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, -170)" />
-               </g>
-               <g id="cairo_logo_bottomright-centered">
-                       <!-- The logo (scarab and dung), with the bottom-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, -170)" />
-               </g>
-
-               <g id="cairo_text" transform="translate(0,-97)">
-                   <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(65,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(486.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1234.25,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1610,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small_spaced" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(379.5,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1341.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1826,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(261.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(764.75)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(988.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1355.5,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <g id="cairo_logo_text_small">
-                       <!-- The logo on the left, the text 'cairo' on the right -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" fill="white" transform="translate(175,82)"/>
-               </g>
-
-               <g id="cairo_logo_with_text">
-                       <!-- The logo (scarab and dung), with the text 'cairo' below, the dot of the 'i' positioned between the hind legs of the scarab -->
-                       <!-- dimensions: 300x490, centered -->
-                       <use xlink:href="#cairo_logo_top-centered" transform="translate(0, -245)" />
-                       <use xlink:href="#cairo_text" transform="translate(0, 245)" />
-               </g>
-
-               <g id="cairo_banner">
-                       <!-- The logo on the left, the text 'cairo' in the center, and a mirror image of the logo on the right -->
-                       <!-- The logos are scaled such that the scarab body nearly matches the height of the text characters (excepting the 'i')
-                               and the dung should nearly aligns with the dot of the 'i'. The bottoms of the logos are aligned with the bottom of the text. -->
-                       <!-- dimensions: 370x88, centered -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" />
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" />
-               </g>
-
-               <g id="freedesktop_org_logo" style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
-                 <g>
-                   <path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552
-                                                    l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551
-                                                    l7.449,28.55z"/>>
-                   <path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181
-                                                              -15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661
-                                                              c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>>
-                   </g>g>
-                   <path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>>
-                   <path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801
-                            c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>>
-                   <path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786
-                            c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>>
-                   <path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043
-                            c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>>
-                   </g>g>
-                   <g id="bullet">
-                     <use x="0" y="0" xlink:href="#cairo_logo" transform="translate(-6,-2) scale(0.1, 0.1)"/>>
-                   </g>
-                   <g id="redhat_logo_horizontal">
-                     <!-- 380x125 Red Hat log (horizontal layout) -->
-                      <g fill="black" stroke="none" 
-                       transform="translate(0,124),scale(1,-1),translate(-214,-258)"
-                       fill-rule="evenodd"
-                      >
-                       <!-- r -->
-                       <path fill="black" d="
-                        M 367.0625 315.3203
-                        C 367.0625 320.8765 366.9463 324.9644 366.7227 328.6597
-                        L 375.811 328.6597
-                        L 376.2002 320.7764
-                        L 376.4971 320.7764
-                        C 378.5391 326.6221 383.3809 329.5996 387.8594 329.5996
-                        C 388.8843 329.5996 389.4824 329.5601 390.3218 329.373
-                        L 390.3218 319.4863
-                        C 389.3398 319.6763 388.4224 319.7842 387.1592 319.7842
-                        C 382.1597 319.7842 378.688 316.6006 377.751 311.8447
-                        C 377.5732 310.918 377.4805 309.8086 377.4805 308.6777
-                        L 377.4805 287.1504
-                        L 366.9766 287.1504
-                        L 367.0625 315.3203
-                       " />
-
-                       <!-- e -->
-                       <path fill="black" d="
-                        M 402.9927 305.0791
-                        C 403.2715 297.5586 409.0918 294.2695 415.814 294.2695
-                        C 420.6406 294.2695 424.0942 295.0234 427.2681 296.1924
-                        L 428.8232 288.9678
-                        C 425.269 287.4629 420.3413 286.3359 414.3149 286.3359
-                        C 400.8384 286.3359 392.9409 294.6592 392.9409 307.3809
-                        C 392.9409 318.8369 399.8911 329.6772 413.2437 329.6772
-                        C 426.7397 329.6772 431.1338 318.5771 431.1338 309.4893
-                        C 431.1338 307.5381 430.9624 305.9707 430.7593 305.0059
-                        L 402.9927 305.0791
-
-                        M 421.2485 312.3926
-                        C 421.2954 316.2388 419.6206 322.5088 412.5903 322.5088
-                        C 406.1299 322.5088 403.4438 316.645 402.9722 312.3926
-                        L 421.2485 312.3926
-                       " />
-
-                       <!-- d -->
-                       <path fill="black" d="
-                        M 476.355 344.667
-                        L 465.8638 347.5083
-                        L 465.8638 324.1914
-                        L 465.6904 324.1914
-                        C 463.8335 327.2563 459.7407 329.5996 454.0571 329.5996
-                        C 444.0762 329.5996 435.3828 321.3374 435.4478 307.4307
-                        C 435.4478 294.6719 443.2983 286.2168 453.2119 286.2168
-                        C 459.2017 286.2168 464.2114 289.0723 466.6909 293.7217
-                        L 466.8779 293.7217
-                        L 467.3491 287.1504
-                        L 476.6997 287.1504
-                        C 476.5083 289.9717 476.355 294.543 476.355 298.792
-                        L 476.355 344.667
-
-                        M 465.8638 305.1504
-                        C 465.8638 304.0479 465.7856 303.0234 465.5454 302.0869
-                        C 464.4873 297.5439 460.7734 294.6172 456.4819 294.6172
-                        C 449.8721 294.6172 446.0903 300.1885 446.0903 307.8164
-                        C 446.0903 315.5166 449.8384 321.4761 456.6016 321.4761
-                        C 461.3208 321.4761 464.6992 318.1484 465.6274 314.1064
-                        C 465.8071 313.2559 465.8638 312.208 465.8638 311.3711
-                        L 465.8638 305.1504
-                       " />
-
-                       <!-- h -->
-                       <path fill="black" d="
-                        M 503.7964 329.0176
-                        C 500.6836 329.0176 497.8926 328.1187 495.5493 326.6714
-                        C 493.1162 325.2461 491.1353 323.0464 489.959 320.7666
-                        L 489.7915 320.7666
-                        L 489.7915 341.0195
-                        L 485.7427 342.1226
-                        L 485.7427 287.1504
-                        L 489.7915 287.1504
-                        L 489.7915 312.1787
-                        C 489.7915 313.8408 489.9204 314.9946 490.3462 316.2109
-                        C 492.0928 321.3013 496.8896 325.4805 502.689 325.4805
-                        C 511.0664 325.4805 513.9673 318.7603 513.9673 311.3906
-                        L 513.9673 287.1504
-                        L 518.0137 287.1504
-                        L 518.0137 311.8359
-                        C 518.0137 327.0791 507.6753 329.0176 503.7964 329.0176
-                       " />
-
-                       <!-- a -->
-                       <path fill="black" d="
-                        M 554.3413 296.873
-                        C 554.3413 293.6357 554.4692 290.2832 554.9375 287.1504
-                        L 551.2085 287.1504
-                        L 550.6128 293.0156
-                        L 550.4209 293.0156
-                        C 548.438 289.8594 543.8765 286.2168 537.3726 286.2168
-                        C 529.1392 286.2168 525.3057 292.0117 525.3057 297.4688
-                        C 525.3057 306.9121 533.6421 312.6064 550.292 312.4321
-                        L 550.292 313.5234
-                        C 550.292 317.5718 549.5044 325.6475 539.8242 325.5859
-                        C 536.2446 325.5859 532.5132 324.6255 529.5513 322.5366
-                        L 528.2632 325.4805
-                        C 532.0015 328.0137 536.5659 329.0176 540.2705 329.0176
-                        C 552.0801 329.0176 554.3413 320.1509 554.3413 312.8379
-                        L 554.3413 296.873
-
-                        M 550.292 309.0234
-                        C 541.3813 309.2813 529.6128 307.9336 529.6128 298.1055
-                        C 529.6128 292.2246 533.4946 289.5811 537.7578 289.5811
-                        C 544.5796 289.5811 548.4561 293.8018 549.8677 297.7871
-                        C 550.1646 298.6621 550.292 299.5371 550.292 300.2402
-                        L 550.292 309.0234
-                       " />
-
-                       <!-- t -->
-                       <path fill="black" d="
-                        M 570.459 337.0996
-                        L 570.459 328.0801
-                        L 582.1235 328.0801
-                        L 582.1235 324.7959
-                        L 570.459 324.7959
-                        L 570.459 298.1943
-                        C 570.459 292.9912 572.0757 289.7285 576.4692 289.7285
-                        C 578.5815 289.7285 580.0757 290.0078 581.1206 290.3711
-                        L 581.6099 287.2354
-                        C 580.2871 286.6836 578.4302 286.2539 575.9619 286.2539
-                        C 572.9741 286.2539 570.4995 287.1934 568.8994 289.1543
-                        C 567.0469 291.3057 566.4116 294.7412 566.4116 298.916
-                        L 566.4116 324.7959
-                        L 559.5059 324.7959
-                        L 559.5059 328.0801
-                        L 566.4116 328.0801
-                        L 566.4116 335.606
-                        L 570.459 337.0996
-                       " />
-
-                       <!-- ® for 'redhat' -->
-                       <path fill="black" d="
-                        M 335.5 288.9707
-                        L 336.0352 288.9707
-                        L 336.8408 287.6445
-                        L 337.3608 287.6445
-                        L 336.4888 288.9937
-                        C 336.9404 289.0498 337.2832 289.2881 337.2832 289.834
-                        C 337.2832 290.4385 336.9258 290.7051 336.2017 290.7051
-                        L 335.0366 290.7051
-                        L 335.0366 287.6445
-                        L 335.5 287.6445
-                        L 335.5 288.9707
-
-                        M 335.5 289.3643
-                        L 335.5 290.3101
-                        L 336.1318 290.3101
-                        C 336.4531 290.3101 336.7979 290.2402 336.7979 289.8647
-                        C 336.7979 289.3916 336.4492 289.3643 336.0566 289.3643
-                        L 335.5 289.3643
-                       " />
-
-                       <path fill="black" d="
-                        M 339.0439 289.1719
-                        C 339.0439 287.5176 337.7041 286.1763 336.0493 286.1763
-                        C 334.395 286.1763 333.0527 287.5176 333.0527 289.1719
-                        C 333.0527 290.8271 334.395 292.1675 336.0493 292.1675
-                        C 337.7041 292.1675 339.0439 290.8271 339.0439 289.1719
-
-                        M 336.0493 291.6367
-                        C 334.6865 291.6367 333.5835 290.5332 333.5835 289.1719
-                        C 333.5835 287.8096 334.6865 286.7061 336.0493 286.7061
-                        C 337.4082 286.7061 338.5117 287.8096 338.5117 289.1719
-                        C 338.5117 290.5332 337.4082 291.6367 336.0493 291.6367
-                       " />
-
-                       <!-- Black background behind The Shadowman -->
-                       <path fill="black" d="
-                        M 326.4531 286.208
-                        C 324.1177 286.7451 321.6396 287.0801 319.1338 287.0801
-                        C 314.8496 287.0801 310.9502 286.3389 308.0732 285.1426
-                        C 307.7559 284.9844 307.5303 284.6533 307.5303 284.2764
-                        C 307.5303 284.1406 307.5654 283.999 307.6172 283.8838
-                        C 307.957 282.8975 307.3984 281.8281 304.6157 281.2158
-                        C 300.4883 280.3096 297.8833 276.0527 296.3916 274.6367
-                        C 294.6411 272.9756 289.6973 271.9531 290.4404 272.9434
-                        C 291.0225 273.7188 293.2485 276.1348 294.6016 278.748
-                        C 295.8125 281.083 296.8906 281.7461 298.375 283.9736
-                        C 298.811 284.627 300.4995 286.9219 300.9912 288.7373
-                        C 301.543 290.5107 301.356 292.7344 301.5679 293.6494
-                        C 301.8721 294.9697 303.1182 297.8369 303.2129 299.4531
-                        C 303.2666 300.3691 299.3916 298.1494 297.5532 298.1494
-                        C 295.7144 298.1494 293.9233 299.248 292.2808 299.3281
-                        C 290.248 299.4248 288.9414 297.7607 287.1025 298.0508
-                        C 286.0518 298.2178 285.167 299.1426 283.3311 299.2129
-                        C 280.7178 299.3086 277.5244 297.7607 271.5264 297.9531
-                        C 265.6255 298.1436 260.1753 305.4082 259.4312 306.5635
-                        C 258.5605 307.9199 257.4961 307.9199 256.335 306.8555
-                        C 255.1738 305.792 253.7432 306.627 253.3359 307.3389
-                        C 252.5615 308.6943 250.4927 312.6543 247.2881 313.4824
-                        C 242.8564 314.6309 240.6118 311.0283 240.9033 308.1621
-                        C 241.1987 305.252 243.0801 304.4375 243.9512 302.8906
-                        C 244.8213 301.3428 245.2671 300.3428 246.9053 299.6572
-                        C 248.0674 299.1758 248.5 298.458 248.1533 297.5049
-                        C 247.8506 296.6738 246.6416 296.4834 245.8477 296.4463
-                        C 244.1592 296.3662 242.9756 296.8242 242.1123 297.376
-                        C 241.1084 298.0137 240.292 298.9033 239.416 300.4131
-                        C 238.4023 302.0781 236.8052 302.8037 234.9453 302.8037
-                        C 234.0586 302.8037 233.2295 302.5693 232.4922 302.1895
-                        C 229.5771 300.6748 226.1064 299.7744 222.3706 299.7744
-                        L 218.1572 299.7734
-                        C 216.1064 305.8555 214.9951 312.3682 214.9951 319.1416
-                        C 214.9951 352.6064 242.1226 379.7334 275.5859 379.7334
-                        C 309.0498 379.7334 336.1758 352.6064 336.1758 319.1416
-                        C 336.1758 307 332.6035 295.6895 326.4531 286.208
-                       " />
-
-                       <!-- The Shadowman's face -->
-                       <path fill="white" d="
-                        M 326.4531 286.209
-                        C 324.1177 286.7461 321.6396 287.084 319.1338 287.084
-                        C 314.8496 287.084 310.9502 286.3418 308.0732 285.1436
-                        C 307.7559 284.9873 307.5303 284.6553 307.5303 284.2783
-                        C 307.5303 284.1416 307.5654 284.001 307.6172 283.8838
-                        C 307.957 282.8994 307.3984 281.8311 304.6157 281.2178
-                        C 300.4883 280.3115 297.8833 276.0537 296.3916 274.6416
-                        C 294.6411 272.9766 289.6973 271.9551 290.4404 272.9463
-                        C 291.0225 273.7197 293.2485 276.1367 294.6016 278.749
-                        C 295.8125 281.083 296.8906 281.75 298.375 283.9756
-                        C 298.811 284.627 300.4995 286.9238 300.9912 288.7402
-                        C 301.543 290.5117 301.356 292.7354 301.5679 293.6514
-                        C 301.8721 294.9727 303.1182 297.8379 303.2129 299.457
-                        C 303.2666 300.3721 299.3916 298.1504 297.5532 298.1504
-                        C 295.7144 298.1504 293.9233 299.251 292.2808 299.3301
-                        C 290.248 299.4258 288.9414 297.7627 287.1025 298.0518
-                        C 286.0518 298.2207 285.167 299.1465 283.3311 299.2148
-                        C 280.7178 299.3096 277.5244 297.7627 271.5264 297.9561
-                        C 265.6255 298.1475 260.1753 305.4121 259.4312 306.5674
-                        C 258.5605 307.9219 257.4961 307.9219 256.335 306.8574
-                        C 255.1738 305.7939 253.7432 306.6299 253.3359 307.3438
-                        C 252.5615 308.6963 250.4927 312.6553 247.2881 313.4854
-                        C 242.8564 314.6338 240.6118 311.0313 240.9033 308.1641
-                        C 241.1987 305.2539 243.0801 304.4395 243.9512 302.8926
-                        C 244.8213 301.3438 245.2671 300.3457 246.9053 299.6621
-                        C 248.0674 299.1768 248.5 298.4609 248.1533 297.5068
-                        C 247.8506 296.6768 246.6416 296.4873 245.8477 296.4492
-                        C 244.1592 296.3672 242.9756 296.8262 242.1123 297.376
-                        C 241.1084 298.0176 240.292 298.9043 239.416 300.416
-                        C 238.4023 302.0801 236.8052 302.8086 234.9453 302.8086
-                        C 234.0586 302.8086 233.2295 302.5723 232.4922 302.1934
-                        C 229.5771 300.6748 226.1064 299.7773 222.3706 299.7773
-                        L 218.1572 299.7744
-                        C 226.2363 275.8105 248.8965 258.5527 275.5859 258.5527
-                        C 296.9063 258.5527 315.6538 269.5635 326.4531 286.209
-                       " />
-
-                       <!-- nose shadow -->
-                       <path fill="black" d="
-                        M 288.9307 291.7637
-                        C 289.2422 291.46 289.7793 290.4375 289.1226 289.1396
-                        C 288.7544 288.4521 288.3579 287.9678 287.6489 287.4023
-                        C 286.7969 286.7188 285.1309 285.9307 282.8457 287.3799
-                        C 281.6172 288.1592 281.543 288.4209 279.8467 288.2012
-                        C 278.6348 288.043 278.1533 289.2656 278.5884 290.2832
-                        C 279.0244 291.2969 280.8145 292.1191 283.04 290.8135
-                        C 284.041 290.2256 285.6025 288.9844 286.9688 290.084
-                        C 287.5356 290.5381 287.875 290.8408 288.6611 291.75
-                        C 288.6963 291.7881 288.7461 291.8105 288.8018 291.8105
-                        C 288.8516 291.8105 288.8965 291.793 288.9307 291.7637
-                       " />
-
-                       <!-- The Shadowman's red hat -->
-                       <path fill="#cc0000" d="
-                        M 309.7769 335.2627
-                        C 309.1787 333.251 308.3271 330.6763 304.5391 328.7314
-                        C 303.9878 328.4497 303.7764 328.9126 304.0313 329.3477
-                        C 305.4629 331.7832 305.7168 332.3921 306.1328 333.3525
-                        C 306.7148 334.7568 307.02 336.7549 305.8618 340.9219
-                        C 303.5835 349.1221 298.8296 360.083 295.375 363.6392
-                        C 292.04 367.0698 285.998 368.0361 280.5371 366.6348
-                        C 278.5264 366.1191 274.5918 364.0732 267.2939 365.7168
-                        C 254.665 368.5605 252.7939 362.2368 252.0693 359.4824
-                        C 251.3438 356.7271 249.6045 348.897 249.6045 348.897
-                        C 249.0244 345.7085 248.2646 340.1631 267.874 336.4287
-                        C 277.0088 334.6885 277.4736 332.3276 277.8779 330.6289
-                        C 278.603 327.585 279.7627 325.8438 281.0674 324.9746
-                        C 282.373 324.1035 281.0674 323.3828 279.6187 323.2349
-                        C 275.7285 322.8311 261.3491 326.9541 252.8428 331.7881
-                        C 245.8828 336.0415 245.7656 339.8721 247.3584 343.1211
-                        C 236.8452 344.2573 228.9561 342.1348 227.5254 337.1582
-                        C 225.0693 328.6157 246.3047 314.0264 270.4839 306.7061
-                        C 295.8579 299.0225 321.9556 304.3857 324.8564 320.335
-                        C 326.1738 327.5811 320.0713 332.9419 309.7769 335.2627
-                       " />
-
-                       <!-- shadow on hat -->
-                       <path fill="black" d="
-                        M 270.8711 350.8813
-                        C 263.8721 350.375 263.145 349.6191 261.834 348.2227
-                        C 259.9854 346.2539 257.5508 350.7773 257.5508 350.7773
-                        C 256.0898 351.085 254.3179 353.4404 255.2744 355.6411
-                        C 256.2158 357.8174 257.9551 357.1641 258.5 356.4868
-                        C 259.1626 355.6621 260.5771 354.3125 262.4141 354.3613
-                        C 264.251 354.4097 266.3706 354.7959 269.3262 354.7959
-                        C 272.3213 354.7959 274.335 353.6777 274.4487 352.7168
-                        C 274.5459 351.8965 274.2061 351.1226 270.8711 350.8813
-                       " />
-
-                       <!-- another shadow on hat -->
-                       <path fill="black" d="
-                        M 278.2236 362.4463
-                        C 278.2129 362.4453 278.2021 362.4438 278.1919 362.4438
-                        C 278.084 362.4438 277.9961 362.5273 277.9961 362.6274
-                        C 277.9961 362.7007 278.041 362.7646 278.106 362.7939
-                        C 279.4629 363.5107 281.4873 364.0811 283.8042 364.3169
-                        C 284.499 364.3887 285.1787 364.4248 285.832 364.4307
-                        C 285.9478 364.4307 286.0615 364.4297 286.1787 364.4277
-                        C 290.062 364.3398 293.1719 362.7974 293.1255 360.9814
-                        C 293.0791 359.165 289.8955 357.7637 286.0112 357.8506
-                        C 284.7529 357.8794 283.5732 358.0615 282.5576 358.3545
-                        C 282.4385 358.3857 282.3506 358.4883 282.3506 358.6094
-                        C 282.3506 358.731 282.4385 358.834 282.5605 358.8638
-                        C 284.9839 359.4248 286.6191 360.3408 286.5039 361.207
-                        C 286.3511 362.3545 283.1816 362.979 279.4248 362.6011
-                        C 279.0137 362.5596 278.6118 362.5068 278.2236 362.4463
-                       " />
-
-                       <!-- ® for The Shadowman -->
-                       <path fill="black" d="
-                        M 588.3018 288.9707
-                        L 588.8369 288.9707
-                        L 589.6426 287.6445
-                        L 590.1626 287.6445
-                        L 589.2905 288.9937
-                        C 589.7422 289.0498 590.085 289.2881 590.085 289.834
-                        C 590.085 290.4385 589.7275 290.7051 589.0034 290.7051
-                        L 587.8384 290.7051
-                        L 587.8384 287.6445
-                        L 588.3018 287.6445
-                        L 588.3018 288.9707
-
-                        M 588.3018 289.3643
-                        L 588.3018 290.3101
-                        L 588.9336 290.3101
-                        C 589.2549 290.3101 589.5996 290.2402 589.5996 289.8647
-                        C 589.5996 289.3916 589.251 289.3643 588.8584 289.3643
-                        L 588.3018 289.3643
-                       " />
-
-                       <path fill="black" d="
-                        M 591.8457 289.1719
-                        C 591.8457 287.5176 590.5059 286.1763 588.8511 286.1763
-                        C 587.1968 286.1763 585.8545 287.5176 585.8545 289.1719
-                        C 585.8545 290.8271 587.1968 292.1675 588.8511 292.1675
-                        C 590.5059 292.1675 591.8457 290.8271 591.8457 289.1719
-
-                        M 588.8511 291.6367
-                        C 587.4883 291.6367 586.3853 290.5332 586.3853 289.1719
-                        C 586.3853 287.8096 587.4883 286.7061 588.8511 286.7061
-                        C 590.21 286.7061 591.3135 287.8096 591.3135 289.1719
-                        C 591.3135 290.5332 590.21 291.6367 588.8511 291.6367
-                       " />
-
-                     </g>
-                   </g>
-
-       </defs>
-
-  <g id="watermark" transform="translate(200, 185), rotate(-50), scale(2.5)">
-    <use xlink:href="#scarab" x="0" y="170" fill-opacity="0.2"/>
-  </g>
-
-  <!-- Blue bar at top of slide -->
-  <rect x="0" y="0" width="1024" height="80" fill="#162284" />
-
-  <g font-family="Frutiger">
-    <!-- Slide title -->
-    <!-- Slide title -->
-    <g id="slide_title" transform="translate(512, 60)">
-      <text text-anchor="middle"
-           fill="white"
-           font-weight="bold"
-           x="0"
-           y="4" font-size="55"
-           ss:variable="title">Slide Title</text>
-    </g>
-    
-    <!-- Slide content -->
-    <g ss:region="default">
-      <rect x="112" y="120" width="800" height="580" fill="none" stroke="blue"/>
-      <text font-size="40" fill="black"
-           x="112" y="152">Slide content</text>
-    </g>
-    
-  </g>
-
-</svg>
diff --git a/doc/tutorial/slides/cairo-separator.svg b/doc/tutorial/slides/cairo-separator.svg
deleted file mode 100644 (file)
index 8d2c840..0000000
+++ /dev/null
@@ -1,909 +0,0 @@
-<?xml version="1.0" ?>
-<svg width="1024" height="768"
-    xmlns="http://www.w3.org/2000/svg"
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    xmlns:ss="http://www.svgslides.org/svgslides0.1"
-    fill="black">
-
-
-
-       <defs id="cairo-artwork_defs">
-               <g id="hacker_emblem">
-                       <!-- Note: This is similar though not identical to Keith Packard's SVG version
-                               of the hacker emblem (http://www.catb.org/hacker-emblem/glider.svg) -->
-                       <g id="hacker_emblem_grid" fill="white" stroke="none">
-                               <!-- Outside: Top, Right, Bottom, Left -->
-                               <rect x="-2.95" y="-3.05" width="6"   height="0.1" />
-                               <rect x="2.95"  y="-2.95" width="0.1" height="6" />
-                               <rect x="-3.05" y="2.95"  width="6"   height="0.1" />
-                               <rect x="-3.05" y="-3.05" width="0.1" height="6" />
-                               <!-- Vertical: Left, Right -->
-                               <rect x="-1.05" y="-2.95" width="0.1" height="5.9" />
-                               <rect x="0.95"  y="-2.95" width="0.1" height="5.9" />
-                               <!-- Horizontal: TopLeft, TopMiddle, TopRight -->
-                               <rect x="-2.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="-0.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="1.05"  y="-1.05" width="1.9" height="0.1" />
-                               <!-- Horizontal: BottomLeft, BottomMiddle, BottomRight -->
-                               <rect x="-2.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="-0.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="1.05"  y="0.95"  width="1.9" height="0.1" />
-                       </g>
-                       <g id="hacker_emblem_dots" fill="white">
-                               <circle cx="0"  cy="-2" r="0.7" />
-                               <circle cx="2"  cy="0"  r="0.7" />
-                               <circle cx="-2" cy="2"  r="0.7" />
-                               <circle cx="0"  cy="2"  r="0.7" />
-                               <circle cx="2"  cy="2"  r="0.7" />
-                       </g>
-               </g>
-               <g id="scarab" fill="#f19a14">
-                       <g transform="translate(-150, -170)">
-                       <path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129
-                               c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
-                       <path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362
-                               c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519
-                               c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374
-                               C49.321,155.106,129.288,154.47,136.423,161.506z"/>
-                       <path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721
-                               c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
-                       <path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499
-                               c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475
-                               c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048
-                               l-9.02-111.29L140.403,197.149z"/>
-                       <path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715
-                               c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438
-                               l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
-                       <path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92
-                               c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273
-                               c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648
-                               C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099
-                               c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83
-                               c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519
-                               c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
-                       <path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346
-                               c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795
-                               c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504
-                               c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077
-                               c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
-                       <path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837
-                               c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136
-                               c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734
-                               c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39
-                               c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
-                       <path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92
-                               c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273
-                               c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648
-                               C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099
-                               c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83
-                               c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519
-                               c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
-                       <path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346
-                               c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795
-                               c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504
-                               c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077
-                               c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
-                       <path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837
-                               c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136
-                               c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734
-                               c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39
-                               c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
-                       </g>
-               </g>
-               <radialGradient id="gradient_radial_dung"
-                               cx="0" cy="0" r="60"
-                               fx="0" fy="0" gradientUnits="userSpaceOnUse"
-               >
-                       <stop offset="0"    stop-color="#9a9a9a" />
-                       <stop offset="0.70" stop-color="#bababa" />
-                       <stop offset="0.95" stop-color="#FFFFFF" />
-               </radialGradient>
-               <g id="dung">
-                       <circle cx="0" cy="0" r="60" fill="url(#gradient_radial_dung)" />
-                       <g transform="translate(-61, -61)">
-                               <!-- rough equivalent: <circle cx="0" cy="0" r="60" stroke="#8a8a8a" stroke-width="2" /> -->
-                               <path fill="#8a8a8a" d="M0,61c0,33.636,27.364,61,61,61s61-27.364,61-61S94.636,0,61,0S0,27.364,0,61z
-                                                       M2,61C2,28.467,28.467,2,61,2c32.532,0,59,26.467,59,59c0,32.533-26.468,59-59,59C28.467,120,2,93.533,2,61z"/>
-                       </g>
-                       <use xlink:href="#hacker_emblem" x="0" y="0" transform="scale(9)" />
-               </g>
-               <g id="dung_2_color">
-                       <!-- This would be simple a circle like so:
-                               <circle cx="0" cy="0" r="48" stroke-width="2" fill="none" stroke="white"/>
-                            but there appears to currently be a bug in the cairo
-                            PDF backend that results in an ugly spike in that
-                            case. So we use 8 splines instead.
-                       -->
-                       <path stroke-width="4" stroke="white" fill="none" d="
-M 48,                  0
-C 48,                  12.730391512298112, 
-  42.94287166245995,   24.939379331448613
-  33.941125496954285,  33.941125496954278
-C 24.939379331448624,  42.942871662459943
-  12.730391512298114,  48
-  0,                   48
-C -12.730391512298109, 48, 
-  -24.939379331448613, 42.94287166245995
-  -33.941125496954278, 33.941125496954285
-C -42.942871662459943, 24.939379331448624,
-  -48,                 12.730391512298118,
-  -48,                 0,
-C -48,                 -12.730391512298105, 
-  -42.94287166245995,  -24.939379331448613,
-  -33.941125496954285, -33.941125496954278
-C -24.939379331448624, -42.942871662459943,
-  -12.730391512298119, -48, 
-  0,                   -48
-C 12.730391512298104,  -48, 
-  24.939379331448606,  -42.942871662459943,
-  33.941125496954271,  -33.941125496954285
-C 42.942871662459936,  -24.939379331448624,
-  48,                  -12.730391512298123,
-  48,                  0" />
-                       <g transform="scale(9)" fill="white" stroke="none" stroke-width="0.22222">
-                               <!-- Hacker emblem grid -->
-                               <!--
-                               <path stroke="white" fill="none"
-                                     d="M -3,-3 L  3,-3 L 3,3 L-3,3 Z
-                                        M -1,-3 L -1, 3
-                                        M  1,-3 L  1, 3
-                                        M -3,-1 L  3,-1
-                                        M -3, 1 L  3, 1"/>
-                                        -->
-
-                               <!-- Hacker emblem dots -->
-                               <circle cx="0"  cy="-2" r="0.7" />
-                               <circle cx="2"  cy="0"  r="0.7" />
-                               <circle cx="-2" cy="2"  r="0.7" />
-                               <circle cx="0"  cy="2"  r="0.7" />
-                               <circle cx="2"  cy="2"  r="0.7" />
-                       </g>
-               </g>
-
-               <!-- scarab dimensions: 300x340 -->
-               <!-- dung dimensions: 120x120 (radius: 60) -->
-               <!-- scarab and dung dimensions: 300x400 -->
-
-               <g id="cairo_logo">
-                       <!-- dimensions: 300x400, centered -->
-                       <!-- The logo (scarab and dung), with the center-point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 30)" />
-               </g>
-               <g id="cairo_logo_dung-centered">
-                       <!-- The logo (scarab and dung), with the dung at (0,0), the scarab below -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0,170)" />
-               </g>
-               <g id="cairo_logo_scarab-centered">
-                       <!-- The logo (scarab and dung), with the scarab's rotational center at (0,0), the dung above -->
-                       <!-- The scarab's rotational center in this case is not the center of its bounding box,
-                               but is calculated to be the intersection-point of the torso, spine and wings -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -175.85)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -5.85)" />
-               </g>
-               <g id="cairo_logo_top-centered">
-                       <!-- The logo (scarab and dung), with the top-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 230)" /><!-- (0,170+60) -->
-               </g>
-               <g id="cairo_logo_bottom-centered">
-                       <!-- The logo (scarab and dung), with the bottom-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -170)" />
-               </g>
-               <g id="cairo_logo_right-centered">
-                       <!-- The logo (scarab and dung), with the right-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 30)" />
-               </g>
-               <g id="cairo_logo_left-centered">
-                       <!-- The logo (scarab and dung), with the left-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 30)" />
-               </g>
-               <g id="cairo_logo_topleft-centered">
-                       <!-- The logo (scarab and dung), with the top-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 230)" /><!-- (150, 170+60) -->
-               </g>
-               <g id="cairo_logo_topright-centered">
-                       <!-- The logo (scarab and dung), with the top-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 230)" /><!-- (-150,170+60) -->
-               </g>
-               <g id="cairo_logo_bottomleft-centered">
-                       <!-- The logo (scarab and dung), with the bottom-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, -170)" />
-               </g>
-               <g id="cairo_logo_bottomright-centered">
-                       <!-- The logo (scarab and dung), with the bottom-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, -170)" />
-               </g>
-
-               <g id="cairo_text" transform="translate(0,-97)">
-                   <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(65,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(486.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1234.25,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1610,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small_spaced" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(379.5,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1341.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1826,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(261.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(764.75)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(988.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1355.5,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <g id="cairo_logo_text_small">
-                       <!-- The logo on the left, the text 'cairo' on the right -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" fill="white" transform="translate(175,82)"/>
-               </g>
-
-               <g id="cairo_logo_with_text">
-                       <!-- The logo (scarab and dung), with the text 'cairo' below, the dot of the 'i' positioned between the hind legs of the scarab -->
-                       <!-- dimensions: 300x490, centered -->
-                       <use xlink:href="#cairo_logo_top-centered" transform="translate(0, -245)" />
-                       <use xlink:href="#cairo_text" transform="translate(0, 245)" />
-               </g>
-
-               <g id="cairo_banner">
-                       <!-- The logo on the left, the text 'cairo' in the center, and a mirror image of the logo on the right -->
-                       <!-- The logos are scaled such that the scarab body nearly matches the height of the text characters (excepting the 'i')
-                               and the dung should nearly aligns with the dot of the 'i'. The bottoms of the logos are aligned with the bottom of the text. -->
-                       <!-- dimensions: 370x88, centered -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" />
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" />
-               </g>
-
-               <g id="freedesktop_org_logo" style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
-                 <g>
-                   <path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552
-                                                    l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551
-                                                    l7.449,28.55z"/>>
-                   <path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181
-                                                              -15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661
-                                                              c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>>
-                   </g>g>
-                   <path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>>
-                   <path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801
-                            c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>>
-                   <path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786
-                            c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>>
-                   <path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043
-                            c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>>
-                   </g>g>
-                   <g id="bullet">
-                     <use x="0" y="0" xlink:href="#cairo_logo" transform="translate(-6,-2) scale(0.1, 0.1)"/>>
-                   </g>
-                   <g id="redhat_logo_horizontal">
-                     <!-- 380x125 Red Hat log (horizontal layout) -->
-                      <g fill="black" stroke="none" 
-                       transform="translate(0,124),scale(1,-1),translate(-214,-258)"
-                       fill-rule="evenodd"
-                      >
-                       <!-- r -->
-                       <path fill="black" d="
-                        M 367.0625 315.3203
-                        C 367.0625 320.8765 366.9463 324.9644 366.7227 328.6597
-                        L 375.811 328.6597
-                        L 376.2002 320.7764
-                        L 376.4971 320.7764
-                        C 378.5391 326.6221 383.3809 329.5996 387.8594 329.5996
-                        C 388.8843 329.5996 389.4824 329.5601 390.3218 329.373
-                        L 390.3218 319.4863
-                        C 389.3398 319.6763 388.4224 319.7842 387.1592 319.7842
-                        C 382.1597 319.7842 378.688 316.6006 377.751 311.8447
-                        C 377.5732 310.918 377.4805 309.8086 377.4805 308.6777
-                        L 377.4805 287.1504
-                        L 366.9766 287.1504
-                        L 367.0625 315.3203
-                       " />
-
-                       <!-- e -->
-                       <path fill="black" d="
-                        M 402.9927 305.0791
-                        C 403.2715 297.5586 409.0918 294.2695 415.814 294.2695
-                        C 420.6406 294.2695 424.0942 295.0234 427.2681 296.1924
-                        L 428.8232 288.9678
-                        C 425.269 287.4629 420.3413 286.3359 414.3149 286.3359
-                        C 400.8384 286.3359 392.9409 294.6592 392.9409 307.3809
-                        C 392.9409 318.8369 399.8911 329.6772 413.2437 329.6772
-                        C 426.7397 329.6772 431.1338 318.5771 431.1338 309.4893
-                        C 431.1338 307.5381 430.9624 305.9707 430.7593 305.0059
-                        L 402.9927 305.0791
-
-                        M 421.2485 312.3926
-                        C 421.2954 316.2388 419.6206 322.5088 412.5903 322.5088
-                        C 406.1299 322.5088 403.4438 316.645 402.9722 312.3926
-                        L 421.2485 312.3926
-                       " />
-
-                       <!-- d -->
-                       <path fill="black" d="
-                        M 476.355 344.667
-                        L 465.8638 347.5083
-                        L 465.8638 324.1914
-                        L 465.6904 324.1914
-                        C 463.8335 327.2563 459.7407 329.5996 454.0571 329.5996
-                        C 444.0762 329.5996 435.3828 321.3374 435.4478 307.4307
-                        C 435.4478 294.6719 443.2983 286.2168 453.2119 286.2168
-                        C 459.2017 286.2168 464.2114 289.0723 466.6909 293.7217
-                        L 466.8779 293.7217
-                        L 467.3491 287.1504
-                        L 476.6997 287.1504
-                        C 476.5083 289.9717 476.355 294.543 476.355 298.792
-                        L 476.355 344.667
-
-                        M 465.8638 305.1504
-                        C 465.8638 304.0479 465.7856 303.0234 465.5454 302.0869
-                        C 464.4873 297.5439 460.7734 294.6172 456.4819 294.6172
-                        C 449.8721 294.6172 446.0903 300.1885 446.0903 307.8164
-                        C 446.0903 315.5166 449.8384 321.4761 456.6016 321.4761
-                        C 461.3208 321.4761 464.6992 318.1484 465.6274 314.1064
-                        C 465.8071 313.2559 465.8638 312.208 465.8638 311.3711
-                        L 465.8638 305.1504
-                       " />
-
-                       <!-- h -->
-                       <path fill="black" d="
-                        M 503.7964 329.0176
-                        C 500.6836 329.0176 497.8926 328.1187 495.5493 326.6714
-                        C 493.1162 325.2461 491.1353 323.0464 489.959 320.7666
-                        L 489.7915 320.7666
-                        L 489.7915 341.0195
-                        L 485.7427 342.1226
-                        L 485.7427 287.1504
-                        L 489.7915 287.1504
-                        L 489.7915 312.1787
-                        C 489.7915 313.8408 489.9204 314.9946 490.3462 316.2109
-                        C 492.0928 321.3013 496.8896 325.4805 502.689 325.4805
-                        C 511.0664 325.4805 513.9673 318.7603 513.9673 311.3906
-                        L 513.9673 287.1504
-                        L 518.0137 287.1504
-                        L 518.0137 311.8359
-                        C 518.0137 327.0791 507.6753 329.0176 503.7964 329.0176
-                       " />
-
-                       <!-- a -->
-                       <path fill="black" d="
-                        M 554.3413 296.873
-                        C 554.3413 293.6357 554.4692 290.2832 554.9375 287.1504
-                        L 551.2085 287.1504
-                        L 550.6128 293.0156
-                        L 550.4209 293.0156
-                        C 548.438 289.8594 543.8765 286.2168 537.3726 286.2168
-                        C 529.1392 286.2168 525.3057 292.0117 525.3057 297.4688
-                        C 525.3057 306.9121 533.6421 312.6064 550.292 312.4321
-                        L 550.292 313.5234
-                        C 550.292 317.5718 549.5044 325.6475 539.8242 325.5859
-                        C 536.2446 325.5859 532.5132 324.6255 529.5513 322.5366
-                        L 528.2632 325.4805
-                        C 532.0015 328.0137 536.5659 329.0176 540.2705 329.0176
-                        C 552.0801 329.0176 554.3413 320.1509 554.3413 312.8379
-                        L 554.3413 296.873
-
-                        M 550.292 309.0234
-                        C 541.3813 309.2813 529.6128 307.9336 529.6128 298.1055
-                        C 529.6128 292.2246 533.4946 289.5811 537.7578 289.5811
-                        C 544.5796 289.5811 548.4561 293.8018 549.8677 297.7871
-                        C 550.1646 298.6621 550.292 299.5371 550.292 300.2402
-                        L 550.292 309.0234
-                       " />
-
-                       <!-- t -->
-                       <path fill="black" d="
-                        M 570.459 337.0996
-                        L 570.459 328.0801
-                        L 582.1235 328.0801
-                        L 582.1235 324.7959
-                        L 570.459 324.7959
-                        L 570.459 298.1943
-                        C 570.459 292.9912 572.0757 289.7285 576.4692 289.7285
-                        C 578.5815 289.7285 580.0757 290.0078 581.1206 290.3711
-                        L 581.6099 287.2354
-                        C 580.2871 286.6836 578.4302 286.2539 575.9619 286.2539
-                        C 572.9741 286.2539 570.4995 287.1934 568.8994 289.1543
-                        C 567.0469 291.3057 566.4116 294.7412 566.4116 298.916
-                        L 566.4116 324.7959
-                        L 559.5059 324.7959
-                        L 559.5059 328.0801
-                        L 566.4116 328.0801
-                        L 566.4116 335.606
-                        L 570.459 337.0996
-                       " />
-
-                       <!-- ® for 'redhat' -->
-                       <path fill="black" d="
-                        M 335.5 288.9707
-                        L 336.0352 288.9707
-                        L 336.8408 287.6445
-                        L 337.3608 287.6445
-                        L 336.4888 288.9937
-                        C 336.9404 289.0498 337.2832 289.2881 337.2832 289.834
-                        C 337.2832 290.4385 336.9258 290.7051 336.2017 290.7051
-                        L 335.0366 290.7051
-                        L 335.0366 287.6445
-                        L 335.5 287.6445
-                        L 335.5 288.9707
-
-                        M 335.5 289.3643
-                        L 335.5 290.3101
-                        L 336.1318 290.3101
-                        C 336.4531 290.3101 336.7979 290.2402 336.7979 289.8647
-                        C 336.7979 289.3916 336.4492 289.3643 336.0566 289.3643
-                        L 335.5 289.3643
-                       " />
-
-                       <path fill="black" d="
-                        M 339.0439 289.1719
-                        C 339.0439 287.5176 337.7041 286.1763 336.0493 286.1763
-                        C 334.395 286.1763 333.0527 287.5176 333.0527 289.1719
-                        C 333.0527 290.8271 334.395 292.1675 336.0493 292.1675
-                        C 337.7041 292.1675 339.0439 290.8271 339.0439 289.1719
-
-                        M 336.0493 291.6367
-                        C 334.6865 291.6367 333.5835 290.5332 333.5835 289.1719
-                        C 333.5835 287.8096 334.6865 286.7061 336.0493 286.7061
-                        C 337.4082 286.7061 338.5117 287.8096 338.5117 289.1719
-                        C 338.5117 290.5332 337.4082 291.6367 336.0493 291.6367
-                       " />
-
-                       <!-- Black background behind The Shadowman -->
-                       <path fill="black" d="
-                        M 326.4531 286.208
-                        C 324.1177 286.7451 321.6396 287.0801 319.1338 287.0801
-                        C 314.8496 287.0801 310.9502 286.3389 308.0732 285.1426
-                        C 307.7559 284.9844 307.5303 284.6533 307.5303 284.2764
-                        C 307.5303 284.1406 307.5654 283.999 307.6172 283.8838
-                        C 307.957 282.8975 307.3984 281.8281 304.6157 281.2158
-                        C 300.4883 280.3096 297.8833 276.0527 296.3916 274.6367
-                        C 294.6411 272.9756 289.6973 271.9531 290.4404 272.9434
-                        C 291.0225 273.7188 293.2485 276.1348 294.6016 278.748
-                        C 295.8125 281.083 296.8906 281.7461 298.375 283.9736
-                        C 298.811 284.627 300.4995 286.9219 300.9912 288.7373
-                        C 301.543 290.5107 301.356 292.7344 301.5679 293.6494
-                        C 301.8721 294.9697 303.1182 297.8369 303.2129 299.4531
-                        C 303.2666 300.3691 299.3916 298.1494 297.5532 298.1494
-                        C 295.7144 298.1494 293.9233 299.248 292.2808 299.3281
-                        C 290.248 299.4248 288.9414 297.7607 287.1025 298.0508
-                        C 286.0518 298.2178 285.167 299.1426 283.3311 299.2129
-                        C 280.7178 299.3086 277.5244 297.7607 271.5264 297.9531
-                        C 265.6255 298.1436 260.1753 305.4082 259.4312 306.5635
-                        C 258.5605 307.9199 257.4961 307.9199 256.335 306.8555
-                        C 255.1738 305.792 253.7432 306.627 253.3359 307.3389
-                        C 252.5615 308.6943 250.4927 312.6543 247.2881 313.4824
-                        C 242.8564 314.6309 240.6118 311.0283 240.9033 308.1621
-                        C 241.1987 305.252 243.0801 304.4375 243.9512 302.8906
-                        C 244.8213 301.3428 245.2671 300.3428 246.9053 299.6572
-                        C 248.0674 299.1758 248.5 298.458 248.1533 297.5049
-                        C 247.8506 296.6738 246.6416 296.4834 245.8477 296.4463
-                        C 244.1592 296.3662 242.9756 296.8242 242.1123 297.376
-                        C 241.1084 298.0137 240.292 298.9033 239.416 300.4131
-                        C 238.4023 302.0781 236.8052 302.8037 234.9453 302.8037
-                        C 234.0586 302.8037 233.2295 302.5693 232.4922 302.1895
-                        C 229.5771 300.6748 226.1064 299.7744 222.3706 299.7744
-                        L 218.1572 299.7734
-                        C 216.1064 305.8555 214.9951 312.3682 214.9951 319.1416
-                        C 214.9951 352.6064 242.1226 379.7334 275.5859 379.7334
-                        C 309.0498 379.7334 336.1758 352.6064 336.1758 319.1416
-                        C 336.1758 307 332.6035 295.6895 326.4531 286.208
-                       " />
-
-                       <!-- The Shadowman's face -->
-                       <path fill="white" d="
-                        M 326.4531 286.209
-                        C 324.1177 286.7461 321.6396 287.084 319.1338 287.084
-                        C 314.8496 287.084 310.9502 286.3418 308.0732 285.1436
-                        C 307.7559 284.9873 307.5303 284.6553 307.5303 284.2783
-                        C 307.5303 284.1416 307.5654 284.001 307.6172 283.8838
-                        C 307.957 282.8994 307.3984 281.8311 304.6157 281.2178
-                        C 300.4883 280.3115 297.8833 276.0537 296.3916 274.6416
-                        C 294.6411 272.9766 289.6973 271.9551 290.4404 272.9463
-                        C 291.0225 273.7197 293.2485 276.1367 294.6016 278.749
-                        C 295.8125 281.083 296.8906 281.75 298.375 283.9756
-                        C 298.811 284.627 300.4995 286.9238 300.9912 288.7402
-                        C 301.543 290.5117 301.356 292.7354 301.5679 293.6514
-                        C 301.8721 294.9727 303.1182 297.8379 303.2129 299.457
-                        C 303.2666 300.3721 299.3916 298.1504 297.5532 298.1504
-                        C 295.7144 298.1504 293.9233 299.251 292.2808 299.3301
-                        C 290.248 299.4258 288.9414 297.7627 287.1025 298.0518
-                        C 286.0518 298.2207 285.167 299.1465 283.3311 299.2148
-                        C 280.7178 299.3096 277.5244 297.7627 271.5264 297.9561
-                        C 265.6255 298.1475 260.1753 305.4121 259.4312 306.5674
-                        C 258.5605 307.9219 257.4961 307.9219 256.335 306.8574
-                        C 255.1738 305.7939 253.7432 306.6299 253.3359 307.3438
-                        C 252.5615 308.6963 250.4927 312.6553 247.2881 313.4854
-                        C 242.8564 314.6338 240.6118 311.0313 240.9033 308.1641
-                        C 241.1987 305.2539 243.0801 304.4395 243.9512 302.8926
-                        C 244.8213 301.3438 245.2671 300.3457 246.9053 299.6621
-                        C 248.0674 299.1768 248.5 298.4609 248.1533 297.5068
-                        C 247.8506 296.6768 246.6416 296.4873 245.8477 296.4492
-                        C 244.1592 296.3672 242.9756 296.8262 242.1123 297.376
-                        C 241.1084 298.0176 240.292 298.9043 239.416 300.416
-                        C 238.4023 302.0801 236.8052 302.8086 234.9453 302.8086
-                        C 234.0586 302.8086 233.2295 302.5723 232.4922 302.1934
-                        C 229.5771 300.6748 226.1064 299.7773 222.3706 299.7773
-                        L 218.1572 299.7744
-                        C 226.2363 275.8105 248.8965 258.5527 275.5859 258.5527
-                        C 296.9063 258.5527 315.6538 269.5635 326.4531 286.209
-                       " />
-
-                       <!-- nose shadow -->
-                       <path fill="black" d="
-                        M 288.9307 291.7637
-                        C 289.2422 291.46 289.7793 290.4375 289.1226 289.1396
-                        C 288.7544 288.4521 288.3579 287.9678 287.6489 287.4023
-                        C 286.7969 286.7188 285.1309 285.9307 282.8457 287.3799
-                        C 281.6172 288.1592 281.543 288.4209 279.8467 288.2012
-                        C 278.6348 288.043 278.1533 289.2656 278.5884 290.2832
-                        C 279.0244 291.2969 280.8145 292.1191 283.04 290.8135
-                        C 284.041 290.2256 285.6025 288.9844 286.9688 290.084
-                        C 287.5356 290.5381 287.875 290.8408 288.6611 291.75
-                        C 288.6963 291.7881 288.7461 291.8105 288.8018 291.8105
-                        C 288.8516 291.8105 288.8965 291.793 288.9307 291.7637
-                       " />
-
-                       <!-- The Shadowman's red hat -->
-                       <path fill="#cc0000" d="
-                        M 309.7769 335.2627
-                        C 309.1787 333.251 308.3271 330.6763 304.5391 328.7314
-                        C 303.9878 328.4497 303.7764 328.9126 304.0313 329.3477
-                        C 305.4629 331.7832 305.7168 332.3921 306.1328 333.3525
-                        C 306.7148 334.7568 307.02 336.7549 305.8618 340.9219
-                        C 303.5835 349.1221 298.8296 360.083 295.375 363.6392
-                        C 292.04 367.0698 285.998 368.0361 280.5371 366.6348
-                        C 278.5264 366.1191 274.5918 364.0732 267.2939 365.7168
-                        C 254.665 368.5605 252.7939 362.2368 252.0693 359.4824
-                        C 251.3438 356.7271 249.6045 348.897 249.6045 348.897
-                        C 249.0244 345.7085 248.2646 340.1631 267.874 336.4287
-                        C 277.0088 334.6885 277.4736 332.3276 277.8779 330.6289
-                        C 278.603 327.585 279.7627 325.8438 281.0674 324.9746
-                        C 282.373 324.1035 281.0674 323.3828 279.6187 323.2349
-                        C 275.7285 322.8311 261.3491 326.9541 252.8428 331.7881
-                        C 245.8828 336.0415 245.7656 339.8721 247.3584 343.1211
-                        C 236.8452 344.2573 228.9561 342.1348 227.5254 337.1582
-                        C 225.0693 328.6157 246.3047 314.0264 270.4839 306.7061
-                        C 295.8579 299.0225 321.9556 304.3857 324.8564 320.335
-                        C 326.1738 327.5811 320.0713 332.9419 309.7769 335.2627
-                       " />
-
-                       <!-- shadow on hat -->
-                       <path fill="black" d="
-                        M 270.8711 350.8813
-                        C 263.8721 350.375 263.145 349.6191 261.834 348.2227
-                        C 259.9854 346.2539 257.5508 350.7773 257.5508 350.7773
-                        C 256.0898 351.085 254.3179 353.4404 255.2744 355.6411
-                        C 256.2158 357.8174 257.9551 357.1641 258.5 356.4868
-                        C 259.1626 355.6621 260.5771 354.3125 262.4141 354.3613
-                        C 264.251 354.4097 266.3706 354.7959 269.3262 354.7959
-                        C 272.3213 354.7959 274.335 353.6777 274.4487 352.7168
-                        C 274.5459 351.8965 274.2061 351.1226 270.8711 350.8813
-                       " />
-
-                       <!-- another shadow on hat -->
-                       <path fill="black" d="
-                        M 278.2236 362.4463
-                        C 278.2129 362.4453 278.2021 362.4438 278.1919 362.4438
-                        C 278.084 362.4438 277.9961 362.5273 277.9961 362.6274
-                        C 277.9961 362.7007 278.041 362.7646 278.106 362.7939
-                        C 279.4629 363.5107 281.4873 364.0811 283.8042 364.3169
-                        C 284.499 364.3887 285.1787 364.4248 285.832 364.4307
-                        C 285.9478 364.4307 286.0615 364.4297 286.1787 364.4277
-                        C 290.062 364.3398 293.1719 362.7974 293.1255 360.9814
-                        C 293.0791 359.165 289.8955 357.7637 286.0112 357.8506
-                        C 284.7529 357.8794 283.5732 358.0615 282.5576 358.3545
-                        C 282.4385 358.3857 282.3506 358.4883 282.3506 358.6094
-                        C 282.3506 358.731 282.4385 358.834 282.5605 358.8638
-                        C 284.9839 359.4248 286.6191 360.3408 286.5039 361.207
-                        C 286.3511 362.3545 283.1816 362.979 279.4248 362.6011
-                        C 279.0137 362.5596 278.6118 362.5068 278.2236 362.4463
-                       " />
-
-                       <!-- ® for The Shadowman -->
-                       <path fill="black" d="
-                        M 588.3018 288.9707
-                        L 588.8369 288.9707
-                        L 589.6426 287.6445
-                        L 590.1626 287.6445
-                        L 589.2905 288.9937
-                        C 589.7422 289.0498 590.085 289.2881 590.085 289.834
-                        C 590.085 290.4385 589.7275 290.7051 589.0034 290.7051
-                        L 587.8384 290.7051
-                        L 587.8384 287.6445
-                        L 588.3018 287.6445
-                        L 588.3018 288.9707
-
-                        M 588.3018 289.3643
-                        L 588.3018 290.3101
-                        L 588.9336 290.3101
-                        C 589.2549 290.3101 589.5996 290.2402 589.5996 289.8647
-                        C 589.5996 289.3916 589.251 289.3643 588.8584 289.3643
-                        L 588.3018 289.3643
-                       " />
-
-                       <path fill="black" d="
-                        M 591.8457 289.1719
-                        C 591.8457 287.5176 590.5059 286.1763 588.8511 286.1763
-                        C 587.1968 286.1763 585.8545 287.5176 585.8545 289.1719
-                        C 585.8545 290.8271 587.1968 292.1675 588.8511 292.1675
-                        C 590.5059 292.1675 591.8457 290.8271 591.8457 289.1719
-
-                        M 588.8511 291.6367
-                        C 587.4883 291.6367 586.3853 290.5332 586.3853 289.1719
-                        C 586.3853 287.8096 587.4883 286.7061 588.8511 286.7061
-                        C 590.21 286.7061 591.3135 287.8096 591.3135 289.1719
-                        C 591.3135 290.5332 590.21 291.6367 588.8511 291.6367
-                       " />
-
-                     </g>
-                   </g>
-
-       </defs>
-
-  <g id="watermark" transform="translate(200, 185), rotate(-50), scale(2.5)">
-    <use xlink:href="#scarab" x="0" y="170" fill-opacity="0.2"/>
-  </g>
-
-  <!-- Blue bar at top of slide -->
-  <rect x="0" y="0" width="1024" height="170" fill="#162284" />
-
-  <!-- Scarab and "cairo" at upper-left -->
-  <g transform="translate(10,0)">
-    <use stroke="none" xlink:href="#cairo_logo_text_small"/>
-  </g>
-
-  <!-- Presentation title at upper-right -->
-  <text ss:variable="presentation-subtitle" text-anchor="end"
-     fill="white" x="1016" y="28" font-size="20">Presentation Sub-title</text>
-
-  <!-- Red Hat logo at lower-left -->
-  <use xlink:href="#redhat_logo_horizontal" transform="translate(8,768),scale(.5,.5),translate(0, -125)" />
-
-  <g font-family="Frutiger">
-    <text text-anchor="middle"
-         fill="black"
-         x="512"
-         y="300" font-size="80"
-         font-weight="bold"
-         ss:variable="title">Slide Title</text>
-    
-    <!-- Slide content -->
-    <g ss:region="default">
-      <rect x="512" y="400" width="2" height="280" fill="none" stroke="blue"/>
-      <text font-size="50" fill="black" text-anchor="middle"
-           x="512" y="450">Slide content</text>
-    </g>
-    
-    <!-- Footer -->
-    <text ss:variable="URL" x="1016" y="753" text-anchor="end" font-size="20">http://cairographics.org</text>
-  </g>
-
-</svg>
diff --git a/doc/tutorial/slides/cairo-title.svg b/doc/tutorial/slides/cairo-title.svg
deleted file mode 100644 (file)
index 31b14f8..0000000
+++ /dev/null
@@ -1,898 +0,0 @@
-<?xml version="1.0" ?>
-<svg width="1024" height="768"
-    xmlns="http://www.w3.org/2000/svg"
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    xmlns:ss="http://www.svgslides.org/svgslides0.1"
-    fill="black">
-
-
-       <defs id="cairo-artwork_defs">
-               <g id="hacker_emblem">
-                       <!-- Note: This is similar though not identical to Keith Packard's SVG version
-                               of the hacker emblem (http://www.catb.org/hacker-emblem/glider.svg) -->
-                       <g id="hacker_emblem_grid" fill="white" stroke="none">
-                               <!-- Outside: Top, Right, Bottom, Left -->
-                               <rect x="-2.95" y="-3.05" width="6"   height="0.1" />
-                               <rect x="2.95"  y="-2.95" width="0.1" height="6" />
-                               <rect x="-3.05" y="2.95"  width="6"   height="0.1" />
-                               <rect x="-3.05" y="-3.05" width="0.1" height="6" />
-                               <!-- Vertical: Left, Right -->
-                               <rect x="-1.05" y="-2.95" width="0.1" height="5.9" />
-                               <rect x="0.95"  y="-2.95" width="0.1" height="5.9" />
-                               <!-- Horizontal: TopLeft, TopMiddle, TopRight -->
-                               <rect x="-2.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="-0.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="1.05"  y="-1.05" width="1.9" height="0.1" />
-                               <!-- Horizontal: BottomLeft, BottomMiddle, BottomRight -->
-                               <rect x="-2.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="-0.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="1.05"  y="0.95"  width="1.9" height="0.1" />
-                       </g>
-                       <g id="hacker_emblem_dots" fill="white">
-                               <circle cx="0"  cy="-2" r="0.7" />
-                               <circle cx="2"  cy="0"  r="0.7" />
-                               <circle cx="-2" cy="2"  r="0.7" />
-                               <circle cx="0"  cy="2"  r="0.7" />
-                               <circle cx="2"  cy="2"  r="0.7" />
-                       </g>
-               </g>
-               <g id="scarab" fill="#f19a14">
-                       <g transform="translate(-150, -170)">
-                       <path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129
-                               c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
-                       <path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362
-                               c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519
-                               c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374
-                               C49.321,155.106,129.288,154.47,136.423,161.506z"/>
-                       <path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721
-                               c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
-                       <path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499
-                               c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475
-                               c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048
-                               l-9.02-111.29L140.403,197.149z"/>
-                       <path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715
-                               c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438
-                               l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
-                       <path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92
-                               c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273
-                               c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648
-                               C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099
-                               c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83
-                               c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519
-                               c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
-                       <path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346
-                               c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795
-                               c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504
-                               c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077
-                               c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
-                       <path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837
-                               c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136
-                               c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734
-                               c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39
-                               c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
-                       <path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92
-                               c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273
-                               c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648
-                               C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099
-                               c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83
-                               c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519
-                               c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
-                       <path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346
-                               c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795
-                               c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504
-                               c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077
-                               c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
-                       <path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837
-                               c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136
-                               c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734
-                               c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39
-                               c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
-                       </g>
-               </g>
-               <radialGradient id="gradient_radial_dung"
-                               cx="0" cy="0" r="60"
-                               fx="0" fy="0" gradientUnits="userSpaceOnUse"
-               >
-                       <stop offset="0"    stop-color="#9a9a9a" />
-                       <stop offset="0.70" stop-color="#bababa" />
-                       <stop offset="0.95" stop-color="#FFFFFF" />
-               </radialGradient>
-               <g id="dung">
-                       <circle cx="0" cy="0" r="60" fill="url(#gradient_radial_dung)" />
-                       <g transform="translate(-61, -61)">
-                               <!-- rough equivalent: <circle cx="0" cy="0" r="60" stroke="#8a8a8a" stroke-width="2" /> -->
-                               <path fill="#8a8a8a" d="M0,61c0,33.636,27.364,61,61,61s61-27.364,61-61S94.636,0,61,0S0,27.364,0,61z
-                                                       M2,61C2,28.467,28.467,2,61,2c32.532,0,59,26.467,59,59c0,32.533-26.468,59-59,59C28.467,120,2,93.533,2,61z"/>
-                       </g>
-                       <use xlink:href="#hacker_emblem" x="0" y="0" transform="scale(9)" />
-               </g>
-               <g id="dung_2_color">
-                       <!-- This would be simple a circle like so:
-                               <circle cx="0" cy="0" r="48" stroke-width="2" fill="none" stroke="white"/>
-                            but there appears to currently be a bug in the cairo
-                            PDF backend that results in an ugly spike in that
-                            case. So we use 8 splines instead.
-                       -->
-                       <path stroke-width="4" stroke="white" fill="none" d="
-M 48,                  0
-C 48,                  12.730391512298112, 
-  42.94287166245995,   24.939379331448613
-  33.941125496954285,  33.941125496954278
-C 24.939379331448624,  42.942871662459943
-  12.730391512298114,  48
-  0,                   48
-C -12.730391512298109, 48, 
-  -24.939379331448613, 42.94287166245995
-  -33.941125496954278, 33.941125496954285
-C -42.942871662459943, 24.939379331448624,
-  -48,                 12.730391512298118,
-  -48,                 0,
-C -48,                 -12.730391512298105, 
-  -42.94287166245995,  -24.939379331448613,
-  -33.941125496954285, -33.941125496954278
-C -24.939379331448624, -42.942871662459943,
-  -12.730391512298119, -48, 
-  0,                   -48
-C 12.730391512298104,  -48, 
-  24.939379331448606,  -42.942871662459943,
-  33.941125496954271,  -33.941125496954285
-C 42.942871662459936,  -24.939379331448624,
-  48,                  -12.730391512298123,
-  48,                  0" />
-                       <g transform="scale(9)" fill="white" stroke="none"
-stroke-width="0.2">
-                               <!-- Hacker emblem grid -->
-                               <path stroke="white" fill="none"
-                                     d="M -3,-3 L  3,-3 L 3,3 L-3,3 Z
-                                        M -1,-3 L -1, 3
-                                        M  1,-3 L  1, 3
-                                        M -3,-1 L  3,-1
-                                        M -3, 1 L  3, 1"/>
-
-                               <!-- Hacker emblem dots -->
-                               <circle cx="0"  cy="-2" r="0.7" />
-                               <circle cx="2"  cy="0"  r="0.7" />
-                               <circle cx="-2" cy="2"  r="0.7" />
-                               <circle cx="0"  cy="2"  r="0.7" />
-                               <circle cx="2"  cy="2"  r="0.7" />
-                       </g>
-               </g>
-
-               <!-- scarab dimensions: 300x340 -->
-               <!-- dung dimensions: 120x120 (radius: 60) -->
-               <!-- scarab and dung dimensions: 300x400 -->
-
-               <g id="cairo_logo">
-                       <!-- dimensions: 300x400, centered -->
-                       <!-- The logo (scarab and dung), with the center-point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 30)" />
-               </g>
-               <g id="cairo_logo_dung-centered">
-                       <!-- The logo (scarab and dung), with the dung at (0,0), the scarab below -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0,170)" />
-               </g>
-               <g id="cairo_logo_scarab-centered">
-                       <!-- The logo (scarab and dung), with the scarab's rotational center at (0,0), the dung above -->
-                       <!-- The scarab's rotational center in this case is not the center of its bounding box,
-                               but is calculated to be the intersection-point of the torso, spine and wings -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -175.85)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -5.85)" />
-               </g>
-               <g id="cairo_logo_top-centered">
-                       <!-- The logo (scarab and dung), with the top-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 230)" /><!-- (0,170+60) -->
-               </g>
-               <g id="cairo_logo_bottom-centered">
-                       <!-- The logo (scarab and dung), with the bottom-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -170)" />
-               </g>
-               <g id="cairo_logo_right-centered">
-                       <!-- The logo (scarab and dung), with the right-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 30)" />
-               </g>
-               <g id="cairo_logo_left-centered">
-                       <!-- The logo (scarab and dung), with the left-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 30)" />
-               </g>
-               <g id="cairo_logo_topleft-centered">
-                       <!-- The logo (scarab and dung), with the top-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 230)" /><!-- (150, 170+60) -->
-               </g>
-               <g id="cairo_logo_topright-centered">
-                       <!-- The logo (scarab and dung), with the top-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 230)" /><!-- (-150,170+60) -->
-               </g>
-               <g id="cairo_logo_bottomleft-centered">
-                       <!-- The logo (scarab and dung), with the bottom-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, -170)" />
-               </g>
-               <g id="cairo_logo_bottomright-centered">
-                       <!-- The logo (scarab and dung), with the bottom-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, -170)" />
-               </g>
-
-               <g id="cairo_text" transform="translate(0,-97)">
-                   <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(65,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(486.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1234.25,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1610,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small_spaced" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(379.5,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1341.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1826,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(261.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(764.75)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(988.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1355.5,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <g id="cairo_logo_text_small">
-                       <!-- The logo on the left, the text 'cairo' on the right -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" fill="white" transform="translate(175,82)"/>
-               </g>
-
-               <g id="cairo_logo_with_text">
-                       <!-- The logo (scarab and dung), with the text 'cairo' below, the dot of the 'i' positioned between the hind legs of the scarab -->
-                       <!-- dimensions: 300x490, centered -->
-                       <use xlink:href="#cairo_logo_top-centered" transform="translate(0, -245)" />
-                       <use xlink:href="#cairo_text" transform="translate(0, 245)" />
-               </g>
-
-               <g id="cairo_banner">
-                       <!-- The logo on the left, the text 'cairo' in the center, and a mirror image of the logo on the right -->
-                       <!-- The logos are scaled such that the scarab body nearly matches the height of the text characters (excepting the 'i')
-                               and the dung should nearly aligns with the dot of the 'i'. The bottoms of the logos are aligned with the bottom of the text. -->
-                       <!-- dimensions: 370x88, centered -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" />
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" />
-               </g>
-
-               <g id="freedesktop_org_logo" style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
-                 <g>
-                   <path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552
-                                                    l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551
-                                                    l7.449,28.55z"/>>
-                   <path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181
-                                                              -15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661
-                                                              c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>>
-                   </g>g>
-                   <path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>>
-                   <path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801
-                            c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>>
-                   <path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786
-                            c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>>
-                   <path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043
-                            c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>>
-                   </g>g>
-                   <g id="bullet">
-                     <use x="0" y="0" xlink:href="#cairo_logo" transform="translate(-6,-2) scale(0.1, 0.1)"/>>
-                   </g>
-                   <g id="redhat_logo_horizontal">
-                     <!-- 380x125 Red Hat log (horizontal layout) -->
-                      <g fill="black" stroke="none" 
-                       transform="translate(0,124),scale(1,-1),translate(-214,-258)"
-                       fill-rule="evenodd"
-                      >
-                       <!-- r -->
-                       <path fill="black" d="
-                        M 367.0625 315.3203
-                        C 367.0625 320.8765 366.9463 324.9644 366.7227 328.6597
-                        L 375.811 328.6597
-                        L 376.2002 320.7764
-                        L 376.4971 320.7764
-                        C 378.5391 326.6221 383.3809 329.5996 387.8594 329.5996
-                        C 388.8843 329.5996 389.4824 329.5601 390.3218 329.373
-                        L 390.3218 319.4863
-                        C 389.3398 319.6763 388.4224 319.7842 387.1592 319.7842
-                        C 382.1597 319.7842 378.688 316.6006 377.751 311.8447
-                        C 377.5732 310.918 377.4805 309.8086 377.4805 308.6777
-                        L 377.4805 287.1504
-                        L 366.9766 287.1504
-                        L 367.0625 315.3203
-                       " />
-
-                       <!-- e -->
-                       <path fill="black" d="
-                        M 402.9927 305.0791
-                        C 403.2715 297.5586 409.0918 294.2695 415.814 294.2695
-                        C 420.6406 294.2695 424.0942 295.0234 427.2681 296.1924
-                        L 428.8232 288.9678
-                        C 425.269 287.4629 420.3413 286.3359 414.3149 286.3359
-                        C 400.8384 286.3359 392.9409 294.6592 392.9409 307.3809
-                        C 392.9409 318.8369 399.8911 329.6772 413.2437 329.6772
-                        C 426.7397 329.6772 431.1338 318.5771 431.1338 309.4893
-                        C 431.1338 307.5381 430.9624 305.9707 430.7593 305.0059
-                        L 402.9927 305.0791
-
-                        M 421.2485 312.3926
-                        C 421.2954 316.2388 419.6206 322.5088 412.5903 322.5088
-                        C 406.1299 322.5088 403.4438 316.645 402.9722 312.3926
-                        L 421.2485 312.3926
-                       " />
-
-                       <!-- d -->
-                       <path fill="black" d="
-                        M 476.355 344.667
-                        L 465.8638 347.5083
-                        L 465.8638 324.1914
-                        L 465.6904 324.1914
-                        C 463.8335 327.2563 459.7407 329.5996 454.0571 329.5996
-                        C 444.0762 329.5996 435.3828 321.3374 435.4478 307.4307
-                        C 435.4478 294.6719 443.2983 286.2168 453.2119 286.2168
-                        C 459.2017 286.2168 464.2114 289.0723 466.6909 293.7217
-                        L 466.8779 293.7217
-                        L 467.3491 287.1504
-                        L 476.6997 287.1504
-                        C 476.5083 289.9717 476.355 294.543 476.355 298.792
-                        L 476.355 344.667
-
-                        M 465.8638 305.1504
-                        C 465.8638 304.0479 465.7856 303.0234 465.5454 302.0869
-                        C 464.4873 297.5439 460.7734 294.6172 456.4819 294.6172
-                        C 449.8721 294.6172 446.0903 300.1885 446.0903 307.8164
-                        C 446.0903 315.5166 449.8384 321.4761 456.6016 321.4761
-                        C 461.3208 321.4761 464.6992 318.1484 465.6274 314.1064
-                        C 465.8071 313.2559 465.8638 312.208 465.8638 311.3711
-                        L 465.8638 305.1504
-                       " />
-
-                       <!-- h -->
-                       <path fill="black" d="
-                        M 503.7964 329.0176
-                        C 500.6836 329.0176 497.8926 328.1187 495.5493 326.6714
-                        C 493.1162 325.2461 491.1353 323.0464 489.959 320.7666
-                        L 489.7915 320.7666
-                        L 489.7915 341.0195
-                        L 485.7427 342.1226
-                        L 485.7427 287.1504
-                        L 489.7915 287.1504
-                        L 489.7915 312.1787
-                        C 489.7915 313.8408 489.9204 314.9946 490.3462 316.2109
-                        C 492.0928 321.3013 496.8896 325.4805 502.689 325.4805
-                        C 511.0664 325.4805 513.9673 318.7603 513.9673 311.3906
-                        L 513.9673 287.1504
-                        L 518.0137 287.1504
-                        L 518.0137 311.8359
-                        C 518.0137 327.0791 507.6753 329.0176 503.7964 329.0176
-                       " />
-
-                       <!-- a -->
-                       <path fill="black" d="
-                        M 554.3413 296.873
-                        C 554.3413 293.6357 554.4692 290.2832 554.9375 287.1504
-                        L 551.2085 287.1504
-                        L 550.6128 293.0156
-                        L 550.4209 293.0156
-                        C 548.438 289.8594 543.8765 286.2168 537.3726 286.2168
-                        C 529.1392 286.2168 525.3057 292.0117 525.3057 297.4688
-                        C 525.3057 306.9121 533.6421 312.6064 550.292 312.4321
-                        L 550.292 313.5234
-                        C 550.292 317.5718 549.5044 325.6475 539.8242 325.5859
-                        C 536.2446 325.5859 532.5132 324.6255 529.5513 322.5366
-                        L 528.2632 325.4805
-                        C 532.0015 328.0137 536.5659 329.0176 540.2705 329.0176
-                        C 552.0801 329.0176 554.3413 320.1509 554.3413 312.8379
-                        L 554.3413 296.873
-
-                        M 550.292 309.0234
-                        C 541.3813 309.2813 529.6128 307.9336 529.6128 298.1055
-                        C 529.6128 292.2246 533.4946 289.5811 537.7578 289.5811
-                        C 544.5796 289.5811 548.4561 293.8018 549.8677 297.7871
-                        C 550.1646 298.6621 550.292 299.5371 550.292 300.2402
-                        L 550.292 309.0234
-                       " />
-
-                       <!-- t -->
-                       <path fill="black" d="
-                        M 570.459 337.0996
-                        L 570.459 328.0801
-                        L 582.1235 328.0801
-                        L 582.1235 324.7959
-                        L 570.459 324.7959
-                        L 570.459 298.1943
-                        C 570.459 292.9912 572.0757 289.7285 576.4692 289.7285
-                        C 578.5815 289.7285 580.0757 290.0078 581.1206 290.3711
-                        L 581.6099 287.2354
-                        C 580.2871 286.6836 578.4302 286.2539 575.9619 286.2539
-                        C 572.9741 286.2539 570.4995 287.1934 568.8994 289.1543
-                        C 567.0469 291.3057 566.4116 294.7412 566.4116 298.916
-                        L 566.4116 324.7959
-                        L 559.5059 324.7959
-                        L 559.5059 328.0801
-                        L 566.4116 328.0801
-                        L 566.4116 335.606
-                        L 570.459 337.0996
-                       " />
-
-                       <!-- ® for 'redhat' -->
-                       <path fill="black" d="
-                        M 335.5 288.9707
-                        L 336.0352 288.9707
-                        L 336.8408 287.6445
-                        L 337.3608 287.6445
-                        L 336.4888 288.9937
-                        C 336.9404 289.0498 337.2832 289.2881 337.2832 289.834
-                        C 337.2832 290.4385 336.9258 290.7051 336.2017 290.7051
-                        L 335.0366 290.7051
-                        L 335.0366 287.6445
-                        L 335.5 287.6445
-                        L 335.5 288.9707
-
-                        M 335.5 289.3643
-                        L 335.5 290.3101
-                        L 336.1318 290.3101
-                        C 336.4531 290.3101 336.7979 290.2402 336.7979 289.8647
-                        C 336.7979 289.3916 336.4492 289.3643 336.0566 289.3643
-                        L 335.5 289.3643
-                       " />
-
-                       <path fill="black" d="
-                        M 339.0439 289.1719
-                        C 339.0439 287.5176 337.7041 286.1763 336.0493 286.1763
-                        C 334.395 286.1763 333.0527 287.5176 333.0527 289.1719
-                        C 333.0527 290.8271 334.395 292.1675 336.0493 292.1675
-                        C 337.7041 292.1675 339.0439 290.8271 339.0439 289.1719
-
-                        M 336.0493 291.6367
-                        C 334.6865 291.6367 333.5835 290.5332 333.5835 289.1719
-                        C 333.5835 287.8096 334.6865 286.7061 336.0493 286.7061
-                        C 337.4082 286.7061 338.5117 287.8096 338.5117 289.1719
-                        C 338.5117 290.5332 337.4082 291.6367 336.0493 291.6367
-                       " />
-
-                       <!-- Black background behind The Shadowman -->
-                       <path fill="black" d="
-                        M 326.4531 286.208
-                        C 324.1177 286.7451 321.6396 287.0801 319.1338 287.0801
-                        C 314.8496 287.0801 310.9502 286.3389 308.0732 285.1426
-                        C 307.7559 284.9844 307.5303 284.6533 307.5303 284.2764
-                        C 307.5303 284.1406 307.5654 283.999 307.6172 283.8838
-                        C 307.957 282.8975 307.3984 281.8281 304.6157 281.2158
-                        C 300.4883 280.3096 297.8833 276.0527 296.3916 274.6367
-                        C 294.6411 272.9756 289.6973 271.9531 290.4404 272.9434
-                        C 291.0225 273.7188 293.2485 276.1348 294.6016 278.748
-                        C 295.8125 281.083 296.8906 281.7461 298.375 283.9736
-                        C 298.811 284.627 300.4995 286.9219 300.9912 288.7373
-                        C 301.543 290.5107 301.356 292.7344 301.5679 293.6494
-                        C 301.8721 294.9697 303.1182 297.8369 303.2129 299.4531
-                        C 303.2666 300.3691 299.3916 298.1494 297.5532 298.1494
-                        C 295.7144 298.1494 293.9233 299.248 292.2808 299.3281
-                        C 290.248 299.4248 288.9414 297.7607 287.1025 298.0508
-                        C 286.0518 298.2178 285.167 299.1426 283.3311 299.2129
-                        C 280.7178 299.3086 277.5244 297.7607 271.5264 297.9531
-                        C 265.6255 298.1436 260.1753 305.4082 259.4312 306.5635
-                        C 258.5605 307.9199 257.4961 307.9199 256.335 306.8555
-                        C 255.1738 305.792 253.7432 306.627 253.3359 307.3389
-                        C 252.5615 308.6943 250.4927 312.6543 247.2881 313.4824
-                        C 242.8564 314.6309 240.6118 311.0283 240.9033 308.1621
-                        C 241.1987 305.252 243.0801 304.4375 243.9512 302.8906
-                        C 244.8213 301.3428 245.2671 300.3428 246.9053 299.6572
-                        C 248.0674 299.1758 248.5 298.458 248.1533 297.5049
-                        C 247.8506 296.6738 246.6416 296.4834 245.8477 296.4463
-                        C 244.1592 296.3662 242.9756 296.8242 242.1123 297.376
-                        C 241.1084 298.0137 240.292 298.9033 239.416 300.4131
-                        C 238.4023 302.0781 236.8052 302.8037 234.9453 302.8037
-                        C 234.0586 302.8037 233.2295 302.5693 232.4922 302.1895
-                        C 229.5771 300.6748 226.1064 299.7744 222.3706 299.7744
-                        L 218.1572 299.7734
-                        C 216.1064 305.8555 214.9951 312.3682 214.9951 319.1416
-                        C 214.9951 352.6064 242.1226 379.7334 275.5859 379.7334
-                        C 309.0498 379.7334 336.1758 352.6064 336.1758 319.1416
-                        C 336.1758 307 332.6035 295.6895 326.4531 286.208
-                       " />
-
-                       <!-- The Shadowman's face -->
-                       <path fill="white" d="
-                        M 326.4531 286.209
-                        C 324.1177 286.7461 321.6396 287.084 319.1338 287.084
-                        C 314.8496 287.084 310.9502 286.3418 308.0732 285.1436
-                        C 307.7559 284.9873 307.5303 284.6553 307.5303 284.2783
-                        C 307.5303 284.1416 307.5654 284.001 307.6172 283.8838
-                        C 307.957 282.8994 307.3984 281.8311 304.6157 281.2178
-                        C 300.4883 280.3115 297.8833 276.0537 296.3916 274.6416
-                        C 294.6411 272.9766 289.6973 271.9551 290.4404 272.9463
-                        C 291.0225 273.7197 293.2485 276.1367 294.6016 278.749
-                        C 295.8125 281.083 296.8906 281.75 298.375 283.9756
-                        C 298.811 284.627 300.4995 286.9238 300.9912 288.7402
-                        C 301.543 290.5117 301.356 292.7354 301.5679 293.6514
-                        C 301.8721 294.9727 303.1182 297.8379 303.2129 299.457
-                        C 303.2666 300.3721 299.3916 298.1504 297.5532 298.1504
-                        C 295.7144 298.1504 293.9233 299.251 292.2808 299.3301
-                        C 290.248 299.4258 288.9414 297.7627 287.1025 298.0518
-                        C 286.0518 298.2207 285.167 299.1465 283.3311 299.2148
-                        C 280.7178 299.3096 277.5244 297.7627 271.5264 297.9561
-                        C 265.6255 298.1475 260.1753 305.4121 259.4312 306.5674
-                        C 258.5605 307.9219 257.4961 307.9219 256.335 306.8574
-                        C 255.1738 305.7939 253.7432 306.6299 253.3359 307.3438
-                        C 252.5615 308.6963 250.4927 312.6553 247.2881 313.4854
-                        C 242.8564 314.6338 240.6118 311.0313 240.9033 308.1641
-                        C 241.1987 305.2539 243.0801 304.4395 243.9512 302.8926
-                        C 244.8213 301.3438 245.2671 300.3457 246.9053 299.6621
-                        C 248.0674 299.1768 248.5 298.4609 248.1533 297.5068
-                        C 247.8506 296.6768 246.6416 296.4873 245.8477 296.4492
-                        C 244.1592 296.3672 242.9756 296.8262 242.1123 297.376
-                        C 241.1084 298.0176 240.292 298.9043 239.416 300.416
-                        C 238.4023 302.0801 236.8052 302.8086 234.9453 302.8086
-                        C 234.0586 302.8086 233.2295 302.5723 232.4922 302.1934
-                        C 229.5771 300.6748 226.1064 299.7773 222.3706 299.7773
-                        L 218.1572 299.7744
-                        C 226.2363 275.8105 248.8965 258.5527 275.5859 258.5527
-                        C 296.9063 258.5527 315.6538 269.5635 326.4531 286.209
-                       " />
-
-                       <!-- nose shadow -->
-                       <path fill="black" d="
-                        M 288.9307 291.7637
-                        C 289.2422 291.46 289.7793 290.4375 289.1226 289.1396
-                        C 288.7544 288.4521 288.3579 287.9678 287.6489 287.4023
-                        C 286.7969 286.7188 285.1309 285.9307 282.8457 287.3799
-                        C 281.6172 288.1592 281.543 288.4209 279.8467 288.2012
-                        C 278.6348 288.043 278.1533 289.2656 278.5884 290.2832
-                        C 279.0244 291.2969 280.8145 292.1191 283.04 290.8135
-                        C 284.041 290.2256 285.6025 288.9844 286.9688 290.084
-                        C 287.5356 290.5381 287.875 290.8408 288.6611 291.75
-                        C 288.6963 291.7881 288.7461 291.8105 288.8018 291.8105
-                        C 288.8516 291.8105 288.8965 291.793 288.9307 291.7637
-                       " />
-
-                       <!-- The Shadowman's red hat -->
-                       <path fill="#cc0000" d="
-                        M 309.7769 335.2627
-                        C 309.1787 333.251 308.3271 330.6763 304.5391 328.7314
-                        C 303.9878 328.4497 303.7764 328.9126 304.0313 329.3477
-                        C 305.4629 331.7832 305.7168 332.3921 306.1328 333.3525
-                        C 306.7148 334.7568 307.02 336.7549 305.8618 340.9219
-                        C 303.5835 349.1221 298.8296 360.083 295.375 363.6392
-                        C 292.04 367.0698 285.998 368.0361 280.5371 366.6348
-                        C 278.5264 366.1191 274.5918 364.0732 267.2939 365.7168
-                        C 254.665 368.5605 252.7939 362.2368 252.0693 359.4824
-                        C 251.3438 356.7271 249.6045 348.897 249.6045 348.897
-                        C 249.0244 345.7085 248.2646 340.1631 267.874 336.4287
-                        C 277.0088 334.6885 277.4736 332.3276 277.8779 330.6289
-                        C 278.603 327.585 279.7627 325.8438 281.0674 324.9746
-                        C 282.373 324.1035 281.0674 323.3828 279.6187 323.2349
-                        C 275.7285 322.8311 261.3491 326.9541 252.8428 331.7881
-                        C 245.8828 336.0415 245.7656 339.8721 247.3584 343.1211
-                        C 236.8452 344.2573 228.9561 342.1348 227.5254 337.1582
-                        C 225.0693 328.6157 246.3047 314.0264 270.4839 306.7061
-                        C 295.8579 299.0225 321.9556 304.3857 324.8564 320.335
-                        C 326.1738 327.5811 320.0713 332.9419 309.7769 335.2627
-                       " />
-
-                       <!-- shadow on hat -->
-                       <path fill="black" d="
-                        M 270.8711 350.8813
-                        C 263.8721 350.375 263.145 349.6191 261.834 348.2227
-                        C 259.9854 346.2539 257.5508 350.7773 257.5508 350.7773
-                        C 256.0898 351.085 254.3179 353.4404 255.2744 355.6411
-                        C 256.2158 357.8174 257.9551 357.1641 258.5 356.4868
-                        C 259.1626 355.6621 260.5771 354.3125 262.4141 354.3613
-                        C 264.251 354.4097 266.3706 354.7959 269.3262 354.7959
-                        C 272.3213 354.7959 274.335 353.6777 274.4487 352.7168
-                        C 274.5459 351.8965 274.2061 351.1226 270.8711 350.8813
-                       " />
-
-                       <!-- another shadow on hat -->
-                       <path fill="black" d="
-                        M 278.2236 362.4463
-                        C 278.2129 362.4453 278.2021 362.4438 278.1919 362.4438
-                        C 278.084 362.4438 277.9961 362.5273 277.9961 362.6274
-                        C 277.9961 362.7007 278.041 362.7646 278.106 362.7939
-                        C 279.4629 363.5107 281.4873 364.0811 283.8042 364.3169
-                        C 284.499 364.3887 285.1787 364.4248 285.832 364.4307
-                        C 285.9478 364.4307 286.0615 364.4297 286.1787 364.4277
-                        C 290.062 364.3398 293.1719 362.7974 293.1255 360.9814
-                        C 293.0791 359.165 289.8955 357.7637 286.0112 357.8506
-                        C 284.7529 357.8794 283.5732 358.0615 282.5576 358.3545
-                        C 282.4385 358.3857 282.3506 358.4883 282.3506 358.6094
-                        C 282.3506 358.731 282.4385 358.834 282.5605 358.8638
-                        C 284.9839 359.4248 286.6191 360.3408 286.5039 361.207
-                        C 286.3511 362.3545 283.1816 362.979 279.4248 362.6011
-                        C 279.0137 362.5596 278.6118 362.5068 278.2236 362.4463
-                       " />
-
-                       <!-- ® for The Shadowman -->
-                       <path fill="black" d="
-                        M 588.3018 288.9707
-                        L 588.8369 288.9707
-                        L 589.6426 287.6445
-                        L 590.1626 287.6445
-                        L 589.2905 288.9937
-                        C 589.7422 289.0498 590.085 289.2881 590.085 289.834
-                        C 590.085 290.4385 589.7275 290.7051 589.0034 290.7051
-                        L 587.8384 290.7051
-                        L 587.8384 287.6445
-                        L 588.3018 287.6445
-                        L 588.3018 288.9707
-
-                        M 588.3018 289.3643
-                        L 588.3018 290.3101
-                        L 588.9336 290.3101
-                        C 589.2549 290.3101 589.5996 290.2402 589.5996 289.8647
-                        C 589.5996 289.3916 589.251 289.3643 588.8584 289.3643
-                        L 588.3018 289.3643
-                       " />
-
-                       <path fill="black" d="
-                        M 591.8457 289.1719
-                        C 591.8457 287.5176 590.5059 286.1763 588.8511 286.1763
-                        C 587.1968 286.1763 585.8545 287.5176 585.8545 289.1719
-                        C 585.8545 290.8271 587.1968 292.1675 588.8511 292.1675
-                        C 590.5059 292.1675 591.8457 290.8271 591.8457 289.1719
-
-                        M 588.8511 291.6367
-                        C 587.4883 291.6367 586.3853 290.5332 586.3853 289.1719
-                        C 586.3853 287.8096 587.4883 286.7061 588.8511 286.7061
-                        C 590.21 286.7061 591.3135 287.8096 591.3135 289.1719
-                        C 591.3135 290.5332 590.21 291.6367 588.8511 291.6367
-                       " />
-
-                     </g>
-                   </g>
-
-       </defs>
-
-<g fill="black">
-
-  <g font-family="Frutiger">
-
-    <rect x="0" y="0" width="341" height="768" fill="#162284"/>
-    
-    <use xlink:href="#cairo_logo_with_text" fill="white" transform="translate(170, 420)" />
-
-    <use xlink:href="#redhat_logo_horizontal" 
-     transform="translate(826,768),scale(.5,.5),translate(0,-125)"/>
-    
-    <g id="slide_title" transform="translate(683, 80)">
-      <text text-anchor="middle"
-           fill="black"
-           font-weight="bold"
-           x="0"
-           y="10" font-size="50"
-           ss:variable="presentation">Presentation Title</text>
-    </g>
-  
-    <g ss:region="default" text-anchor="middle">
-      <rect x="683" y="270" width="2" height="350" fill="none" stroke="blue"/>
-      <text font-size="40" fill="black"
-           x="683" y="310">Slide content</text>
-    </g>
-  </g>
-
-</g>
-
-</svg>
diff --git a/doc/tutorial/slides/cairo.svg b/doc/tutorial/slides/cairo.svg
deleted file mode 100644 (file)
index 3d96abc..0000000
+++ /dev/null
@@ -1,898 +0,0 @@
-<?xml version="1.0" ?>
-<svg width="1024" height="768"
-    xmlns="http://www.w3.org/2000/svg"
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    xmlns:ss="http://www.svgslides.org/svgslides0.1"
-    fill="black">
-
-
-       <defs id="cairo-artwork_defs">
-               <g id="hacker_emblem">
-                       <!-- Note: This is similar though not identical to Keith Packard's SVG version
-                               of the hacker emblem (http://www.catb.org/hacker-emblem/glider.svg) -->
-                       <g id="hacker_emblem_grid" fill="white" stroke="none">
-                               <!-- Outside: Top, Right, Bottom, Left -->
-                               <rect x="-2.95" y="-3.05" width="6"   height="0.1" />
-                               <rect x="2.95"  y="-2.95" width="0.1" height="6" />
-                               <rect x="-3.05" y="2.95"  width="6"   height="0.1" />
-                               <rect x="-3.05" y="-3.05" width="0.1" height="6" />
-                               <!-- Vertical: Left, Right -->
-                               <rect x="-1.05" y="-2.95" width="0.1" height="5.9" />
-                               <rect x="0.95"  y="-2.95" width="0.1" height="5.9" />
-                               <!-- Horizontal: TopLeft, TopMiddle, TopRight -->
-                               <rect x="-2.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="-0.95" y="-1.05" width="1.9" height="0.1" />
-                               <rect x="1.05"  y="-1.05" width="1.9" height="0.1" />
-                               <!-- Horizontal: BottomLeft, BottomMiddle, BottomRight -->
-                               <rect x="-2.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="-0.95" y="0.95"  width="1.9" height="0.1" />
-                               <rect x="1.05"  y="0.95"  width="1.9" height="0.1" />
-                       </g>
-                       <g id="hacker_emblem_dots" fill="white">
-                               <circle cx="0"  cy="-2" r="0.7" />
-                               <circle cx="2"  cy="0"  r="0.7" />
-                               <circle cx="-2" cy="2"  r="0.7" />
-                               <circle cx="0"  cy="2"  r="0.7" />
-                               <circle cx="2"  cy="2"  r="0.7" />
-                       </g>
-               </g>
-               <g id="scarab" fill="#f19a14" stroke="none">
-                       <g transform="translate(-150, -170)">
-                       <path id="scarab_head" d="M205.599,94.567c0-11.668-24.914-21.129-55.628-21.129
-                               c-30.723,0-55.624,9.46-55.624,21.129c0,10.203,24.901,7.346,55.624,7.346C180.685,101.913,205.599,104.233,205.599,94.567z"/>
-                       <path id="scarab_torso" d="M136.423,161.506c0,0,12.751,12.577,13.547,13.362
-                               c2.262-2.232,13.545-13.362,13.545-13.362c7.135-7.036,87.111-6.399,91.066-6.363c-0.469-6.298-1.254-12.472-2.325-18.519
-                               c-15.183-19.279-42.811-32.225-74.485-32.225h-55.518c-31.745,0-59.439,13.011-74.598,32.37c-1.054,6-1.829,12.128-2.296,18.374
-                               C49.321,155.106,129.288,154.47,136.423,161.506z"/>
-                       <path id="scarab_spine" d="M149.97,301.187c2.005-24.729,8.386-103.483,8.405-103.721
-                               c-0.09-0.219-6.478-15.578-8.405-20.214c-1.936,4.655-8.316,19.995-8.408,20.214C141.582,197.704,147.965,276.458,149.97,301.187z"/>
-                       <path id="scarab_wing_left" d="M140.403,197.149l8.862-21.31l-13.686-13.499
-                               c-5.65-5.573-67.074-6.235-90.259-6.019l-0.006-0.622c-0.154,2.144-0.271,4.302-0.35,6.475
-                               c-0.076,2.207,10.392,4.706,10.392,6.717c0,2.319-10.457,5.084-10.359,7.631c2.993,73.349,48.53,131.631,104.372,132.048
-                               l-9.02-111.29L140.403,197.149z"/>
-                       <path id="scarab_wing_right" d="M244.585,168.891c0-2.011,10.467-4.506,10.391-6.715
-                               c-0.079-2.174-0.195-4.332-0.351-6.479l-0.004,0.624c-23.186-0.216-84.608,0.445-90.26,6.017l-13.688,13.502l8.915,21.438
-                               l-9.017,111.29c55.854-0.417,101.378-58.698,104.373-132.049C255.04,173.976,244.585,171.209,244.585,168.891z"/>
-                       <path id="scarab_leg_front_left" d="M44.506,141.12c-4.135-0.856-4.895-1.54-7.935-2.92
-                               c-9.59-3.364-10.376-5.481-16.08-11.86c-7.426-8.306-12.661-20.142-17.1-29.463c-3.576-7.525-3.984-16.409-2.86-24.273
-                               c0.991-6.935,7.144-12.869,12.074-18.92c5.844-7.191,10.356-14.822,17.924-21.354c7.736-6.682,23.203-9.809,26.168-19.648
-                               C57.86,8.819,54.334,1.766,61.482,0c-0.366,4.703,3.639,8.477,2.397,13.575c-1.129,4.627-4.368,5.811-9.611,9.099
-                               c-7.564,4.746-18.366,8.779-24.748,13.965c-7.175,5.827-4.369,13.771-10.569,20.057c-2.001,2.03-7.901,4.706-9.137,6.83
-                               c-1.861,3.199-0.297,9.572-0.116,13.12c0.425,8.284,5.588,14.244,9.555,22.045c4.152,8.141,6.429,15.409,13.411,22.519
-                               c4.183,4.262,11.429,4.802,16.21,10.647l-3.555,4.186L44.506,141.12z"/>
-                       <path id="scarab_leg_middle_left" d="M43.94,191.922l-0.809-7.346
-                               c-9.506-4.579-10.339-9.772-20.738-12.466c-23.728-6.151-21.361,11.25-15.532,26.373c5.676,14.726,8.237,30.23,14.345,44.795
-                               c2.805,6.688,6.919,13.213,14.298,15.127c0.372-8.435-0.917-10.651-6.113-16.919c-4.395-5.293-3.326-12.548-6.072-18.504
-                               c-3.581-7.804-4.196-15.646-7.279-23.502c-1.363-3.479-8.33-13.966-6.452-17.861c3.183-6.603,9.178-0.083,12.179,2.077
-                               c4.218,3.036,6.467,2.223,11.681,2.898C34.041,186.673,37.005,188.756,43.94,191.922z"/>
-                       <path id="scarab_leg_back_left" d="M65.839,257.063l-2.771-4.837
-                               c-6.68,8.928-6.993,16.228-10.056,23.347c-5.277,12.263-0.157,28.851,9.854,37.676c6.052,5.375,15.907,9.618,23.122,13.136
-                               c10.035,4.892,20.113,11.286,31.336,13.396c2.482,0.466,8.798,1.295,6.693-3.522c-0.975-2.237-8.091-4.591-10.146-5.734
-                               c-8.312-4.623-16.377-10.524-24.142-16.176c-9.498-6.862-20.843-11.186-28.311-20.684c-3.054-3.885-3.544-4.922-2.816-9.39
-                               c0.693-4.263,1.344-9.174,2.241-13.439C61.855,266.029,63.274,261.378,65.839,257.063z"/>
-                       <path id="scarab_leg_front_right" d="M255.487,141.12c4.134-0.856,4.896-1.54,7.936-2.92
-                               c9.583-3.364,10.369-5.481,16.071-11.86c7.428-8.306,12.661-20.142,17.115-29.463c3.574-7.525,3.983-16.409,2.86-24.273
-                               c-0.992-6.935-7.157-12.869-12.087-18.92c-5.843-7.191-10.356-14.822-17.919-21.354c-7.735-6.682-23.202-9.809-26.167-19.648
-                               C242.135,8.819,245.66,1.766,238.511,0c0.366,4.703-3.637,8.477-2.396,13.575c1.131,4.627,4.368,5.811,9.611,9.099
-                               c7.563,4.746,18.367,8.779,24.747,13.965c7.17,5.827,4.362,13.771,10.563,20.057c2.001,2.03,7.901,4.706,9.139,6.83
-                               c1.859,3.199,0.295,9.572,0.113,13.12c-0.424,8.284-5.588,14.244-9.553,22.045c-4.152,8.141-6.431,15.409-13.404,22.519
-                               c-4.184,4.262-11.429,4.802-16.211,10.647l3.556,4.186L255.487,141.12z"/>
-                       <path id="scarab_leg_middle_right" d="M256.053,191.922l0.81-7.346
-                               c9.507-4.579,10.34-9.772,20.73-12.466c23.741-6.151,21.374,11.25,15.534,26.373c-5.676,14.726-8.238,30.23-14.347,44.795
-                               c-2.804,6.688-6.911,13.213-14.291,15.127c-0.371-8.435,0.918-10.651,6.113-16.919c4.39-5.293,3.319-12.548,6.066-18.504
-                               c3.58-7.804,4.197-15.646,7.278-23.502c1.363-3.479,8.33-13.966,6.453-17.861c-3.184-6.603-9.179-0.083-12.181,2.077
-                               c-4.217,3.036-6.458,2.223-11.672,2.898C265.951,186.673,262.986,188.756,256.053,191.922z"/>
-                       <path id="scarab_leg_back_right" d="M234.155,257.063l2.771-4.837
-                               c6.679,8.928,6.991,16.228,10.057,23.347c5.274,12.263,0.154,28.851-9.854,37.676c-6.055,5.375-15.903,9.618-23.117,13.136
-                               c-10.034,4.892-20.127,11.286-31.351,13.396c-2.481,0.466-8.789,1.295-6.691-3.522c0.976-2.237,8.092-4.591,10.146-5.734
-                               c8.312-4.623,16.392-10.524,24.155-16.176c9.498-6.862,20.838-11.186,28.305-20.684c3.055-3.885,3.543-4.922,2.818-9.39
-                               c-0.696-4.263-1.346-9.174-2.244-13.439C238.137,266.029,236.718,261.378,234.155,257.063z"/>
-                       </g>
-               </g>
-               <radialGradient id="gradient_radial_dung"
-                               cx="0" cy="0" r="60"
-                               fx="0" fy="0" gradientUnits="userSpaceOnUse"
-               >
-                       <stop offset="0"    stop-color="#9a9a9a" />
-                       <stop offset="0.70" stop-color="#bababa" />
-                       <stop offset="0.95" stop-color="#FFFFFF" />
-               </radialGradient>
-               <g id="dung">
-                       <circle cx="0" cy="0" r="60" fill="url(#gradient_radial_dung)" />
-                       <g transform="translate(-61, -61)">
-                               <!-- rough equivalent: <circle cx="0" cy="0" r="60" stroke="#8a8a8a" stroke-width="2" /> -->
-                               <path fill="#8a8a8a" d="M0,61c0,33.636,27.364,61,61,61s61-27.364,61-61S94.636,0,61,0S0,27.364,0,61z
-                                                       M2,61C2,28.467,28.467,2,61,2c32.532,0,59,26.467,59,59c0,32.533-26.468,59-59,59C28.467,120,2,93.533,2,61z"/>
-                       </g>
-                       <use xlink:href="#hacker_emblem" x="0" y="0" transform="scale(9)" />
-               </g>
-               <g id="dung_2_color">
-                       <path stroke="none" d="
-M -46,                 0
-A 46,                  46,
-  0,
-  0, 1,
-  46,                  0
-A 46,                  46,
-  0,
-  0, 1,
-  -46,                 0
-M -50,                 0
-A 50,                  50,
-  0,
-  0, 0,
-  50,                  0
-A 50,                  50,
-  0,
-  0, 0,
-  -50,                 0
-Z" />
-                       <g transform="scale(9)">
-                               <!-- Hacker emblem grid -->
-                               <path fill="none" stroke-width="0.2"
-                                     d="M -3,-3 L  3,-3 L 3,3 L-3,3 Z
-                                        M -1,-3 L -1, 3
-                                        M  1,-3 L  1, 3
-                                        M -3,-1 L  3,-1
-                                        M -3, 1 L  3, 1"/>
-                               <g stroke="none">
-                                       <!-- Hacker emblem dots -->
-                                       <circle cx="0"  cy="-2" r="0.7" />
-                                       <circle cx="2"  cy="0"  r="0.7" />
-                                       <circle cx="-2" cy="2"  r="0.7" />
-                                       <circle cx="0"  cy="2"  r="0.7" />
-                                       <circle cx="2"  cy="2"  r="0.7" />
-                               </g>
-                       </g>
-               </g>
-
-               <!-- scarab dimensions: 300x340 -->
-               <!-- dung dimensions: 120x120 (radius: 60) -->
-               <!-- scarab and dung dimensions: 300x400 -->
-
-               <g id="cairo_logo">
-                       <!-- dimensions: 300x400, centered -->
-                       <!-- The logo (scarab and dung), with the center-point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 30)" />
-               </g>
-               <g id="cairo_logo_dung-centered">
-                       <!-- The logo (scarab and dung), with the dung at (0,0), the scarab below -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0,170)" />
-               </g>
-               <g id="cairo_logo_scarab-centered">
-                       <!-- The logo (scarab and dung), with the scarab's rotational center at (0,0), the dung above -->
-                       <!-- The scarab's rotational center in this case is not the center of its bounding box,
-                               but is calculated to be the intersection-point of the torso, spine and wings -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -175.85)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -5.85)" />
-               </g>
-               <g id="cairo_logo_top-centered">
-                       <!-- The logo (scarab and dung), with the top-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, 230)" /><!-- (0,170+60) -->
-               </g>
-               <g id="cairo_logo_bottom-centered">
-                       <!-- The logo (scarab and dung), with the bottom-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(0, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(0, -170)" />
-               </g>
-               <g id="cairo_logo_right-centered">
-                       <!-- The logo (scarab and dung), with the right-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 30)" />
-               </g>
-               <g id="cairo_logo_left-centered">
-                       <!-- The logo (scarab and dung), with the left-center point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, -140)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 30)" />
-               </g>
-               <g id="cairo_logo_topleft-centered">
-                       <!-- The logo (scarab and dung), with the top-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, 230)" /><!-- (150, 170+60) -->
-               </g>
-               <g id="cairo_logo_topright-centered">
-                       <!-- The logo (scarab and dung), with the top-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, 60)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, 230)" /><!-- (-150,170+60) -->
-               </g>
-               <g id="cairo_logo_bottomleft-centered">
-                       <!-- The logo (scarab and dung), with the bottom-left point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(150, -170)" />
-               </g>
-               <g id="cairo_logo_bottomright-centered">
-                       <!-- The logo (scarab and dung), with the bottom-right point of the bounding box at (0,0) -->
-                       <use xlink:href="#dung_2_color" x="0" y="0" transform="translate(-150, -340)" />
-                       <use xlink:href="#scarab" x="0" y="0" transform="translate(-150, -170)" />
-               </g>
-
-               <g id="cairo_text" transform="translate(0,-97)">
-                   <g transform="scale(0.1484,0.1484)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(65,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(486.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1234.25,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1610,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small_spaced" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(379.5,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(1000,0)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(1341.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1826,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-
-               <!-- scaled by 0.72, shifted around to hit pixel boundaries -->
-               <g id="cairo_text_small" transform="translate(0,-71)">
-                   <g transform="scale(0.085,0.085)"> <g transform="translate(-1139,-208.5)">
-                        <!-- 63 (c), advance 444, 0 horiBearing 38,522 -->
-                        <path transform="translate(-151,0)" d="
-                              M 412, 433 
-                              C 385, 422 336, 413 298, 413 
-                              C 142, 413 38, 525 38, 680 
-                              C 38, 826 144, 947 298, 947 
-                              C 332, 947 377, 944 416, 926 
-                              L 409, 842 
-                              C 380, 861 340, 871 308, 871 
-                              C 187, 871 138, 771 138, 680 
-                              C 138, 583 197, 489 302, 489 
-                              C 332, 489 368, 496 404, 511 
-                              L 412, 433 " />
-                        <!-- 61 (a), advance 556, 0 horiBearing 46,522 -->
-                        <path transform="translate(261.75,0)" d="
-                              M 109, 541 
-                              C 147, 509 204, 489 257, 489 
-                              C 351, 489 383, 534 383, 622 
-                              C 346, 620 320, 620 283, 620 
-                              C 186, 620 46, 660 46, 788 
-                              C 46, 899 123, 947 233, 947 
-                              C 319, 947 369, 900 391, 869 
-                              L 393, 869 
-                              L 393, 935 
-                              L 481, 935 
-                              C 479, 920 477, 893 477, 835 
-                              L 477, 624 
-                              C 477, 485 418, 413 272, 413 
-                              C 207, 413 151, 433 104, 461 
-                              L 109, 541 
-                              M 383, 737 
-                              C 383, 813 334, 871 241, 871 
-                              C 198, 871 146, 842 146, 788 
-                              C 146, 698 272, 690 323, 690 
-                              C 343, 690 363, 692 383, 692 
-                              L 383, 737 " />
-                        <!-- 69 (i), advance 278, 0 horiBearing 86,730 -->
-                        <path transform="translate(764.75)" d="
-                              M 92, 935 
-                              L 186, 935 
-                              L 186, 425 
-                              L 92, 425 
-                              L 92, 935 
-                              M 88, 261
-                              A 51, 51 0 1 1 190,261
-                              A 51, 51 0 1 1 88,261" />
-                        <!-- 72 (r), advance 389, 0 horiBearing 80,522 -->
-                        <path transform="translate(988.5,0)" d="
-                              M 80, 935 
-                              L 174, 935 
-                              L 174, 703 
-                              C 174, 575 229, 495 313, 495 
-                              C 329, 495 348, 497 365, 504 
-                              L 365, 420 
-                              C 345, 416 331, 413 303, 413 
-                              C 249, 413 195, 451 170, 504 
-                              L 168, 504 
-                              L 168, 425 
-                              L 80, 425 
-                              L 80, 935 " />
-                        <!-- 6f (o), advance 611, 0 horiBearing 46,522 -->
-                        <path transform="translate(1355.5,0)" d="
-                              M 46, 680 
-                              C 46, 826 152, 947 306, 947 
-                              C 459, 947 565, 826 565, 680 
-                              C 565, 525 461, 413 306, 413 
-                              C 150, 413 46, 525 46, 680 
-                              M 146, 680 
-                              C 146, 583 205, 489 306, 489 
-                              C 406, 489 465, 583 465, 680 
-                              C 465, 771 416, 871 306, 871 
-                              C 195, 871 146, 771 146, 680 " />
-                        <!-- bounds: 38, 205 <-> 2232, 947 -->
-                   </g> </g>
-               </g>
-
-               <g id="cairo_logo_text_small">
-                       <!-- The logo on the left, the text 'cairo' on the right -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(0, 78), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" fill="white" transform="translate(175,82)"/>
-               </g>
-
-               <g id="cairo_logo_with_text">
-                       <!-- The logo (scarab and dung), with the text 'cairo' below, the dot of the 'i' positioned between the hind legs of the scarab -->
-                       <!-- dimensions: 300x490, centered -->
-                       <use xlink:href="#cairo_logo_top-centered" transform="translate(0, -245)" />
-                       <use xlink:href="#cairo_text" transform="translate(0, 245)" />
-               </g>
-
-               <g id="cairo_banner">
-                       <!-- The logo on the left, the text 'cairo' in the center, and a mirror image of the logo on the right -->
-                       <!-- The logos are scaled such that the scarab body nearly matches the height of the text characters (excepting the 'i')
-                               and the dung should nearly aligns with the dot of the 'i'. The bottoms of the logos are aligned with the bottom of the text. -->
-                       <!-- dimensions: 370x88, centered -->
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(-180, 40), scale(0.1944)" />
-                       <use xlink:href="#cairo_text_small" transform="translate(0, 42)" fill="black" />
-                       <use xlink:href="#cairo_logo_bottomleft-centered" transform="translate(180, 40), scale(0.1944), scale(-1, 1)" />
-               </g>
-
-               <g id="freedesktop_org_logo" style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
-                 <g>
-                   <path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552
-                                                    l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551
-                                                    l7.449,28.55z"/>>
-                   <path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181
-                                                              -15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661
-                                                              c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>>
-                   </g>g>
-                   <path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>>
-                   <path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801
-                            c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>>
-                   <path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786
-                            c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>>
-                   <path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043
-                            c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>>
-                   </g>g>
-                   <g id="bullet">
-                     <use x="0" y="0" xlink:href="#cairo_logo" transform="translate(-6,-2) scale(0.1, 0.1)"/>>
-                   </g>
-                   <g id="redhat_logo_horizontal">
-                     <!-- 380x125 Red Hat log (horizontal layout) -->
-                      <g fill="black" stroke="none" 
-                       transform="translate(0,124),scale(1,-1),translate(-214,-258)"
-                       fill-rule="evenodd"
-                      >
-                       <!-- r -->
-                       <path fill="black" d="
-                        M 367.0625 315.3203
-                        C 367.0625 320.8765 366.9463 324.9644 366.7227 328.6597
-                        L 375.811 328.6597
-                        L 376.2002 320.7764
-                        L 376.4971 320.7764
-                        C 378.5391 326.6221 383.3809 329.5996 387.8594 329.5996
-                        C 388.8843 329.5996 389.4824 329.5601 390.3218 329.373
-                        L 390.3218 319.4863
-                        C 389.3398 319.6763 388.4224 319.7842 387.1592 319.7842
-                        C 382.1597 319.7842 378.688 316.6006 377.751 311.8447
-                        C 377.5732 310.918 377.4805 309.8086 377.4805 308.6777
-                        L 377.4805 287.1504
-                        L 366.9766 287.1504
-                        L 367.0625 315.3203
-                       " />
-
-                       <!-- e -->
-                       <path fill="black" d="
-                        M 402.9927 305.0791
-                        C 403.2715 297.5586 409.0918 294.2695 415.814 294.2695
-                        C 420.6406 294.2695 424.0942 295.0234 427.2681 296.1924
-                        L 428.8232 288.9678
-                        C 425.269 287.4629 420.3413 286.3359 414.3149 286.3359
-                        C 400.8384 286.3359 392.9409 294.6592 392.9409 307.3809
-                        C 392.9409 318.8369 399.8911 329.6772 413.2437 329.6772
-                        C 426.7397 329.6772 431.1338 318.5771 431.1338 309.4893
-                        C 431.1338 307.5381 430.9624 305.9707 430.7593 305.0059
-                        L 402.9927 305.0791
-
-                        M 421.2485 312.3926
-                        C 421.2954 316.2388 419.6206 322.5088 412.5903 322.5088
-                        C 406.1299 322.5088 403.4438 316.645 402.9722 312.3926
-                        L 421.2485 312.3926
-                       " />
-
-                       <!-- d -->
-                       <path fill="black" d="
-                        M 476.355 344.667
-                        L 465.8638 347.5083
-                        L 465.8638 324.1914
-                        L 465.6904 324.1914
-                        C 463.8335 327.2563 459.7407 329.5996 454.0571 329.5996
-                        C 444.0762 329.5996 435.3828 321.3374 435.4478 307.4307
-                        C 435.4478 294.6719 443.2983 286.2168 453.2119 286.2168
-                        C 459.2017 286.2168 464.2114 289.0723 466.6909 293.7217
-                        L 466.8779 293.7217
-                        L 467.3491 287.1504
-                        L 476.6997 287.1504
-                        C 476.5083 289.9717 476.355 294.543 476.355 298.792
-                        L 476.355 344.667
-
-                        M 465.8638 305.1504
-                        C 465.8638 304.0479 465.7856 303.0234 465.5454 302.0869
-                        C 464.4873 297.5439 460.7734 294.6172 456.4819 294.6172
-                        C 449.8721 294.6172 446.0903 300.1885 446.0903 307.8164
-                        C 446.0903 315.5166 449.8384 321.4761 456.6016 321.4761
-                        C 461.3208 321.4761 464.6992 318.1484 465.6274 314.1064
-                        C 465.8071 313.2559 465.8638 312.208 465.8638 311.3711
-                        L 465.8638 305.1504
-                       " />
-
-                       <!-- h -->
-                       <path fill="black" d="
-                        M 503.7964 329.0176
-                        C 500.6836 329.0176 497.8926 328.1187 495.5493 326.6714
-                        C 493.1162 325.2461 491.1353 323.0464 489.959 320.7666
-                        L 489.7915 320.7666
-                        L 489.7915 341.0195
-                        L 485.7427 342.1226
-                        L 485.7427 287.1504
-                        L 489.7915 287.1504
-                        L 489.7915 312.1787
-                        C 489.7915 313.8408 489.9204 314.9946 490.3462 316.2109
-                        C 492.0928 321.3013 496.8896 325.4805 502.689 325.4805
-                        C 511.0664 325.4805 513.9673 318.7603 513.9673 311.3906
-                        L 513.9673 287.1504
-                        L 518.0137 287.1504
-                        L 518.0137 311.8359
-                        C 518.0137 327.0791 507.6753 329.0176 503.7964 329.0176
-                       " />
-
-                       <!-- a -->
-                       <path fill="black" d="
-                        M 554.3413 296.873
-                        C 554.3413 293.6357 554.4692 290.2832 554.9375 287.1504
-                        L 551.2085 287.1504
-                        L 550.6128 293.0156
-                        L 550.4209 293.0156
-                        C 548.438 289.8594 543.8765 286.2168 537.3726 286.2168
-                        C 529.1392 286.2168 525.3057 292.0117 525.3057 297.4688
-                        C 525.3057 306.9121 533.6421 312.6064 550.292 312.4321
-                        L 550.292 313.5234
-                        C 550.292 317.5718 549.5044 325.6475 539.8242 325.5859
-                        C 536.2446 325.5859 532.5132 324.6255 529.5513 322.5366
-                        L 528.2632 325.4805
-                        C 532.0015 328.0137 536.5659 329.0176 540.2705 329.0176
-                        C 552.0801 329.0176 554.3413 320.1509 554.3413 312.8379
-                        L 554.3413 296.873
-
-                        M 550.292 309.0234
-                        C 541.3813 309.2813 529.6128 307.9336 529.6128 298.1055
-                        C 529.6128 292.2246 533.4946 289.5811 537.7578 289.5811
-                        C 544.5796 289.5811 548.4561 293.8018 549.8677 297.7871
-                        C 550.1646 298.6621 550.292 299.5371 550.292 300.2402
-                        L 550.292 309.0234
-                       " />
-
-                       <!-- t -->
-                       <path fill="black" d="
-                        M 570.459 337.0996
-                        L 570.459 328.0801
-                        L 582.1235 328.0801
-                        L 582.1235 324.7959
-                        L 570.459 324.7959
-                        L 570.459 298.1943
-                        C 570.459 292.9912 572.0757 289.7285 576.4692 289.7285
-                        C 578.5815 289.7285 580.0757 290.0078 581.1206 290.3711
-                        L 581.6099 287.2354
-                        C 580.2871 286.6836 578.4302 286.2539 575.9619 286.2539
-                        C 572.9741 286.2539 570.4995 287.1934 568.8994 289.1543
-                        C 567.0469 291.3057 566.4116 294.7412 566.4116 298.916
-                        L 566.4116 324.7959
-                        L 559.5059 324.7959
-                        L 559.5059 328.0801
-                        L 566.4116 328.0801
-                        L 566.4116 335.606
-                        L 570.459 337.0996
-                       " />
-
-                       <!-- ® for 'redhat' -->
-                       <path fill="black" d="
-                        M 335.5 288.9707
-                        L 336.0352 288.9707
-                        L 336.8408 287.6445
-                        L 337.3608 287.6445
-                        L 336.4888 288.9937
-                        C 336.9404 289.0498 337.2832 289.2881 337.2832 289.834
-                        C 337.2832 290.4385 336.9258 290.7051 336.2017 290.7051
-                        L 335.0366 290.7051
-                        L 335.0366 287.6445
-                        L 335.5 287.6445
-                        L 335.5 288.9707
-
-                        M 335.5 289.3643
-                        L 335.5 290.3101
-                        L 336.1318 290.3101
-                        C 336.4531 290.3101 336.7979 290.2402 336.7979 289.8647
-                        C 336.7979 289.3916 336.4492 289.3643 336.0566 289.3643
-                        L 335.5 289.3643
-                       " />
-
-                       <path fill="black" d="
-                        M 339.0439 289.1719
-                        C 339.0439 287.5176 337.7041 286.1763 336.0493 286.1763
-                        C 334.395 286.1763 333.0527 287.5176 333.0527 289.1719
-                        C 333.0527 290.8271 334.395 292.1675 336.0493 292.1675
-                        C 337.7041 292.1675 339.0439 290.8271 339.0439 289.1719
-
-                        M 336.0493 291.6367
-                        C 334.6865 291.6367 333.5835 290.5332 333.5835 289.1719
-                        C 333.5835 287.8096 334.6865 286.7061 336.0493 286.7061
-                        C 337.4082 286.7061 338.5117 287.8096 338.5117 289.1719
-                        C 338.5117 290.5332 337.4082 291.6367 336.0493 291.6367
-                       " />
-
-                       <!-- Black background behind The Shadowman -->
-                       <path fill="black" d="
-                        M 326.4531 286.208
-                        C 324.1177 286.7451 321.6396 287.0801 319.1338 287.0801
-                        C 314.8496 287.0801 310.9502 286.3389 308.0732 285.1426
-                        C 307.7559 284.9844 307.5303 284.6533 307.5303 284.2764
-                        C 307.5303 284.1406 307.5654 283.999 307.6172 283.8838
-                        C 307.957 282.8975 307.3984 281.8281 304.6157 281.2158
-                        C 300.4883 280.3096 297.8833 276.0527 296.3916 274.6367
-                        C 294.6411 272.9756 289.6973 271.9531 290.4404 272.9434
-                        C 291.0225 273.7188 293.2485 276.1348 294.6016 278.748
-                        C 295.8125 281.083 296.8906 281.7461 298.375 283.9736
-                        C 298.811 284.627 300.4995 286.9219 300.9912 288.7373
-                        C 301.543 290.5107 301.356 292.7344 301.5679 293.6494
-                        C 301.8721 294.9697 303.1182 297.8369 303.2129 299.4531
-                        C 303.2666 300.3691 299.3916 298.1494 297.5532 298.1494
-                        C 295.7144 298.1494 293.9233 299.248 292.2808 299.3281
-                        C 290.248 299.4248 288.9414 297.7607 287.1025 298.0508
-                        C 286.0518 298.2178 285.167 299.1426 283.3311 299.2129
-                        C 280.7178 299.3086 277.5244 297.7607 271.5264 297.9531
-                        C 265.6255 298.1436 260.1753 305.4082 259.4312 306.5635
-                        C 258.5605 307.9199 257.4961 307.9199 256.335 306.8555
-                        C 255.1738 305.792 253.7432 306.627 253.3359 307.3389
-                        C 252.5615 308.6943 250.4927 312.6543 247.2881 313.4824
-                        C 242.8564 314.6309 240.6118 311.0283 240.9033 308.1621
-                        C 241.1987 305.252 243.0801 304.4375 243.9512 302.8906
-                        C 244.8213 301.3428 245.2671 300.3428 246.9053 299.6572
-                        C 248.0674 299.1758 248.5 298.458 248.1533 297.5049
-                        C 247.8506 296.6738 246.6416 296.4834 245.8477 296.4463
-                        C 244.1592 296.3662 242.9756 296.8242 242.1123 297.376
-                        C 241.1084 298.0137 240.292 298.9033 239.416 300.4131
-                        C 238.4023 302.0781 236.8052 302.8037 234.9453 302.8037
-                        C 234.0586 302.8037 233.2295 302.5693 232.4922 302.1895
-                        C 229.5771 300.6748 226.1064 299.7744 222.3706 299.7744
-                        L 218.1572 299.7734
-                        C 216.1064 305.8555 214.9951 312.3682 214.9951 319.1416
-                        C 214.9951 352.6064 242.1226 379.7334 275.5859 379.7334
-                        C 309.0498 379.7334 336.1758 352.6064 336.1758 319.1416
-                        C 336.1758 307 332.6035 295.6895 326.4531 286.208
-                       " />
-
-                       <!-- The Shadowman's face -->
-                       <path fill="white" d="
-                        M 326.4531 286.209
-                        C 324.1177 286.7461 321.6396 287.084 319.1338 287.084
-                        C 314.8496 287.084 310.9502 286.3418 308.0732 285.1436
-                        C 307.7559 284.9873 307.5303 284.6553 307.5303 284.2783
-                        C 307.5303 284.1416 307.5654 284.001 307.6172 283.8838
-                        C 307.957 282.8994 307.3984 281.8311 304.6157 281.2178
-                        C 300.4883 280.3115 297.8833 276.0537 296.3916 274.6416
-                        C 294.6411 272.9766 289.6973 271.9551 290.4404 272.9463
-                        C 291.0225 273.7197 293.2485 276.1367 294.6016 278.749
-                        C 295.8125 281.083 296.8906 281.75 298.375 283.9756
-                        C 298.811 284.627 300.4995 286.9238 300.9912 288.7402
-                        C 301.543 290.5117 301.356 292.7354 301.5679 293.6514
-                        C 301.8721 294.9727 303.1182 297.8379 303.2129 299.457
-                        C 303.2666 300.3721 299.3916 298.1504 297.5532 298.1504
-                        C 295.7144 298.1504 293.9233 299.251 292.2808 299.3301
-                        C 290.248 299.4258 288.9414 297.7627 287.1025 298.0518
-                        C 286.0518 298.2207 285.167 299.1465 283.3311 299.2148
-                        C 280.7178 299.3096 277.5244 297.7627 271.5264 297.9561
-                        C 265.6255 298.1475 260.1753 305.4121 259.4312 306.5674
-                        C 258.5605 307.9219 257.4961 307.9219 256.335 306.8574
-                        C 255.1738 305.7939 253.7432 306.6299 253.3359 307.3438
-                        C 252.5615 308.6963 250.4927 312.6553 247.2881 313.4854
-                        C 242.8564 314.6338 240.6118 311.0313 240.9033 308.1641
-                        C 241.1987 305.2539 243.0801 304.4395 243.9512 302.8926
-                        C 244.8213 301.3438 245.2671 300.3457 246.9053 299.6621
-                        C 248.0674 299.1768 248.5 298.4609 248.1533 297.5068
-                        C 247.8506 296.6768 246.6416 296.4873 245.8477 296.4492
-                        C 244.1592 296.3672 242.9756 296.8262 242.1123 297.376
-                        C 241.1084 298.0176 240.292 298.9043 239.416 300.416
-                        C 238.4023 302.0801 236.8052 302.8086 234.9453 302.8086
-                        C 234.0586 302.8086 233.2295 302.5723 232.4922 302.1934
-                        C 229.5771 300.6748 226.1064 299.7773 222.3706 299.7773
-                        L 218.1572 299.7744
-                        C 226.2363 275.8105 248.8965 258.5527 275.5859 258.5527
-                        C 296.9063 258.5527 315.6538 269.5635 326.4531 286.209
-                       " />
-
-                       <!-- nose shadow -->
-                       <path fill="black" d="
-                        M 288.9307 291.7637
-                        C 289.2422 291.46 289.7793 290.4375 289.1226 289.1396
-                        C 288.7544 288.4521 288.3579 287.9678 287.6489 287.4023
-                        C 286.7969 286.7188 285.1309 285.9307 282.8457 287.3799
-                        C 281.6172 288.1592 281.543 288.4209 279.8467 288.2012
-                        C 278.6348 288.043 278.1533 289.2656 278.5884 290.2832
-                        C 279.0244 291.2969 280.8145 292.1191 283.04 290.8135
-                        C 284.041 290.2256 285.6025 288.9844 286.9688 290.084
-                        C 287.5356 290.5381 287.875 290.8408 288.6611 291.75
-                        C 288.6963 291.7881 288.7461 291.8105 288.8018 291.8105
-                        C 288.8516 291.8105 288.8965 291.793 288.9307 291.7637
-                       " />
-
-                       <!-- The Shadowman's red hat -->
-                       <path fill="#cc0000" d="
-                        M 309.7769 335.2627
-                        C 309.1787 333.251 308.3271 330.6763 304.5391 328.7314
-                        C 303.9878 328.4497 303.7764 328.9126 304.0313 329.3477
-                        C 305.4629 331.7832 305.7168 332.3921 306.1328 333.3525
-                        C 306.7148 334.7568 307.02 336.7549 305.8618 340.9219
-                        C 303.5835 349.1221 298.8296 360.083 295.375 363.6392
-                        C 292.04 367.0698 285.998 368.0361 280.5371 366.6348
-                        C 278.5264 366.1191 274.5918 364.0732 267.2939 365.7168
-                        C 254.665 368.5605 252.7939 362.2368 252.0693 359.4824
-                        C 251.3438 356.7271 249.6045 348.897 249.6045 348.897
-                        C 249.0244 345.7085 248.2646 340.1631 267.874 336.4287
-                        C 277.0088 334.6885 277.4736 332.3276 277.8779 330.6289
-                        C 278.603 327.585 279.7627 325.8438 281.0674 324.9746
-                        C 282.373 324.1035 281.0674 323.3828 279.6187 323.2349
-                        C 275.7285 322.8311 261.3491 326.9541 252.8428 331.7881
-                        C 245.8828 336.0415 245.7656 339.8721 247.3584 343.1211
-                        C 236.8452 344.2573 228.9561 342.1348 227.5254 337.1582
-                        C 225.0693 328.6157 246.3047 314.0264 270.4839 306.7061
-                        C 295.8579 299.0225 321.9556 304.3857 324.8564 320.335
-                        C 326.1738 327.5811 320.0713 332.9419 309.7769 335.2627
-                       " />
-
-                       <!-- shadow on hat -->
-                       <path fill="black" d="
-                        M 270.8711 350.8813
-                        C 263.8721 350.375 263.145 349.6191 261.834 348.2227
-                        C 259.9854 346.2539 257.5508 350.7773 257.5508 350.7773
-                        C 256.0898 351.085 254.3179 353.4404 255.2744 355.6411
-                        C 256.2158 357.8174 257.9551 357.1641 258.5 356.4868
-                        C 259.1626 355.6621 260.5771 354.3125 262.4141 354.3613
-                        C 264.251 354.4097 266.3706 354.7959 269.3262 354.7959
-                        C 272.3213 354.7959 274.335 353.6777 274.4487 352.7168
-                        C 274.5459 351.8965 274.2061 351.1226 270.8711 350.8813
-                       " />
-
-                       <!-- another shadow on hat -->
-                       <path fill="black" d="
-                        M 278.2236 362.4463
-                        C 278.2129 362.4453 278.2021 362.4438 278.1919 362.4438
-                        C 278.084 362.4438 277.9961 362.5273 277.9961 362.6274
-                        C 277.9961 362.7007 278.041 362.7646 278.106 362.7939
-                        C 279.4629 363.5107 281.4873 364.0811 283.8042 364.3169
-                        C 284.499 364.3887 285.1787 364.4248 285.832 364.4307
-                        C 285.9478 364.4307 286.0615 364.4297 286.1787 364.4277
-                        C 290.062 364.3398 293.1719 362.7974 293.1255 360.9814
-                        C 293.0791 359.165 289.8955 357.7637 286.0112 357.8506
-                        C 284.7529 357.8794 283.5732 358.0615 282.5576 358.3545
-                        C 282.4385 358.3857 282.3506 358.4883 282.3506 358.6094
-                        C 282.3506 358.731 282.4385 358.834 282.5605 358.8638
-                        C 284.9839 359.4248 286.6191 360.3408 286.5039 361.207
-                        C 286.3511 362.3545 283.1816 362.979 279.4248 362.6011
-                        C 279.0137 362.5596 278.6118 362.5068 278.2236 362.4463
-                       " />
-
-                       <!-- ® for The Shadowman -->
-                       <path fill="black" d="
-                        M 588.3018 288.9707
-                        L 588.8369 288.9707
-                        L 589.6426 287.6445
-                        L 590.1626 287.6445
-                        L 589.2905 288.9937
-                        C 589.7422 289.0498 590.085 289.2881 590.085 289.834
-                        C 590.085 290.4385 589.7275 290.7051 589.0034 290.7051
-                        L 587.8384 290.7051
-                        L 587.8384 287.6445
-                        L 588.3018 287.6445
-                        L 588.3018 288.9707
-
-                        M 588.3018 289.3643
-                        L 588.3018 290.3101
-                        L 588.9336 290.3101
-                        C 589.2549 290.3101 589.5996 290.2402 589.5996 289.8647
-                        C 589.5996 289.3916 589.251 289.3643 588.8584 289.3643
-                        L 588.3018 289.3643
-                       " />
-
-                       <path fill="black" d="
-                        M 591.8457 289.1719
-                        C 591.8457 287.5176 590.5059 286.1763 588.8511 286.1763
-                        C 587.1968 286.1763 585.8545 287.5176 585.8545 289.1719
-                        C 585.8545 290.8271 587.1968 292.1675 588.8511 292.1675
-                        C 590.5059 292.1675 591.8457 290.8271 591.8457 289.1719
-
-                        M 588.8511 291.6367
-                        C 587.4883 291.6367 586.3853 290.5332 586.3853 289.1719
-                        C 586.3853 287.8096 587.4883 286.7061 588.8511 286.7061
-                        C 590.21 286.7061 591.3135 287.8096 591.3135 289.1719
-                        C 591.3135 290.5332 590.21 291.6367 588.8511 291.6367
-                       " />
-
-                     </g>
-                   </g>
-
-       </defs>
-
-  <g id="watermark" transform="translate(200, 185), rotate(-50), scale(2.5)">
-    <use xlink:href="#scarab" x="0" y="170" fill-opacity="0.2"/>
-  </g>
-
-  <!-- Blue bar at top of slide -->
-  <rect x="0" y="0" width="1024" height="170" fill="#162284" />
-
-  <!-- Scarab and "cairo" at upper-left -->
-  <g transform="translate(10,0)">
-    <use stroke="none" fill="white" xlink:href="#cairo_logo_text_small"/>
-  </g>
-
-  <!-- Presentation title at upper-right -->
-  <text ss:variable="presentation-subtitle" text-anchor="end"
-     fill="white" x="1016" y="28" font-size="20">Presentation Sub-title</text>
-
-  <!-- Red Hat logo at lower-left -->
-  <use xlink:href="#redhat_logo_horizontal" transform="translate(8,768),scale(.5,.5),translate(0, -125)" />
-
-  <g font-family="Frutiger">
-    <!-- Slide title -->
-    <g id="slide_title" transform="translate(512, 133)">
-      <text text-anchor="middle"
-           fill="white"
-           font-weight="bold"
-           x="0"
-           y="4" font-size="55"
-           ss:variable="title">Really long slide title so you can see</text>
-    </g>
-    
-    <!-- Slide content -->
-    <g ss:region="default">
-      <rect x="112" y="200" width="800" height="480" fill="none" stroke="blue"/>
-      <text font-size="40" fill="black"
-           x="112" y="232">Slide content</text>
-    </g>
-    
-    <!-- Footer -->
-    <text ss:variable="URL" x="1016" y="753" text-anchor="end" font-size="20">http://cairographics.org</text>
-  </g>
-
-</svg>
diff --git a/doc/tutorial/slides/circle-cairo-large.png b/doc/tutorial/slides/circle-cairo-large.png
deleted file mode 100644 (file)
index a08e119..0000000
Binary files a/doc/tutorial/slides/circle-cairo-large.png and /dev/null differ
diff --git a/doc/tutorial/slides/circle-cairo.png b/doc/tutorial/slides/circle-cairo.png
deleted file mode 100644 (file)
index f5d8cd4..0000000
Binary files a/doc/tutorial/slides/circle-cairo.png and /dev/null differ
diff --git a/doc/tutorial/slides/circle-ooo-large.png b/doc/tutorial/slides/circle-ooo-large.png
deleted file mode 100644 (file)
index dfa4099..0000000
Binary files a/doc/tutorial/slides/circle-ooo-large.png and /dev/null differ
diff --git a/doc/tutorial/slides/circle-ooo.png b/doc/tutorial/slides/circle-ooo.png
deleted file mode 100644 (file)
index eb90666..0000000
Binary files a/doc/tutorial/slides/circle-ooo.png and /dev/null differ
diff --git a/doc/tutorial/slides/expander-fuzzy-large.png b/doc/tutorial/slides/expander-fuzzy-large.png
deleted file mode 100644 (file)
index 3a485da..0000000
Binary files a/doc/tutorial/slides/expander-fuzzy-large.png and /dev/null differ
diff --git a/doc/tutorial/slides/expander-fuzzy.png b/doc/tutorial/slides/expander-fuzzy.png
deleted file mode 100644 (file)
index b01fd63..0000000
Binary files a/doc/tutorial/slides/expander-fuzzy.png and /dev/null differ
diff --git a/doc/tutorial/slides/expander-sharp-large.png b/doc/tutorial/slides/expander-sharp-large.png
deleted file mode 100644 (file)
index f97fa06..0000000
Binary files a/doc/tutorial/slides/expander-sharp-large.png and /dev/null differ
diff --git a/doc/tutorial/slides/expander-sharp.png b/doc/tutorial/slides/expander-sharp.png
deleted file mode 100644 (file)
index 40759ae..0000000
Binary files a/doc/tutorial/slides/expander-sharp.png and /dev/null differ
diff --git a/doc/tutorial/slides/fuzzies.svg b/doc/tutorial/slides/fuzzies.svg
deleted file mode 100644 (file)
index df12b8a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg"
-     xmlns:xlink="http://www.w3.org/1999/xlink"
-     width="800" height="500">
-
-  <image xlink:href="expander-fuzzy.png" x="175" y="25" width="50" height="50"/>
-  <image xlink:href="expander-sharp.png" x="575" y="25" width="50" height="50"/>
-
-  <image xlink:href="expander-fuzzy-large.png" x="0" y="100" width="400" height="400"/>
-  <image xlink:href="expander-sharp-large.png" x="400" y="100" width="400" height="400"/>
-</svg>
diff --git a/doc/tutorial/slides/jaggies.svg b/doc/tutorial/slides/jaggies.svg
deleted file mode 100644 (file)
index e99d07b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg"
-     xmlns:xlink="http://www.w3.org/1999/xlink"
-     width="800" height="500">
-
-  <image xlink:href="circle-ooo.png" x="175" y="25" width="50" height="50"/>
-  <image xlink:href="circle-cairo.png" x="575" y="25" width="50" height="50"/>
-
-  <image xlink:href="circle-ooo-large.png" x="0" y="100" width="400" height="400"/>
-  <image xlink:href="circle-cairo-large.png" x="400" y="100" width="400" height="400"/>
-</svg>
diff --git a/doc/tutorial/slides/rendering-model.png b/doc/tutorial/slides/rendering-model.png
deleted file mode 100644 (file)
index 9008984..0000000
Binary files a/doc/tutorial/slides/rendering-model.png and /dev/null differ
diff --git a/doc/tutorial/slides/tutorial.xml b/doc/tutorial/slides/tutorial.xml
deleted file mode 100644 (file)
index 3224bea..0000000
+++ /dev/null
@@ -1,535 +0,0 @@
-<?xml version="1.0" ?>
-<svgslides
-    xmlns="http://www.svgslides.org/svgslides0.1"
-    xmlns:svg="http://www.w3.org/2000/svg"
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    >
-
-  <slides theme="cairo"
-         presentation="Drawing with cairo"
-         presentation-subtitle="drawing with cairo"
-         URL="http://cairographics.org"
-         bullet="bullet">
-
-    <slide title="Tutorial preparation" variant="blank" bullet="">
-      <lc></lc>
-      <lc align="center">http://cairographics.org/tutorial</lc>
-      <lc></lc>
-      <li>wget http://cairographics.org/cairo-tutorial.tar.gz</li>
-      <li>tar xzf cairo-tutorial.tar.gz</li>
-      <li>cd cairo-tutorial</li>
-      <li>make</li>
-      <li>cat README</li>
-      <lc></lc>
-      <lc align="center">IRC: irc.freenode.net #cairo</lc>
-    </slide>
-
-    <slide variant="title">
-      <lc>Carl Worth</lc>
-      <lc>Red Hat, Inc.</lc>
-      <lc></lc>
-      <lc>linux.conf.au</lc>
-      <lc>2006-01-26</lc>
-      <lc>http://cairographics.org</lc>
-    </slide>
-
-    <slide title="Ugly graphics" variant="separator">
-      <lc align="left">Jaggies</lc>
-      <lc align="center">Fuzzies</lc>
-      <lc align="right">Fireworks</lc>
-    </slide>
-
-    <slide title="Jaggies">
-      <img src="jaggies.svg"/>
-    </slide>
-
-    <slide title="Fuzzies">
-      <img src="fuzzies.svg"/>
-    </slide>
-
-    <slide title="Fireworks">
-    </slide>
-
-    <slide title="What you can do about it">
-      <li>Let application authors know there are options</li>
-      <li>Learn to use cairo—patch the applications</li>
-      <li>Write your own cairo-using applications</li>
-    </slide>
-
-    <slide title="Getting started" variant="separator">
-      <lc align="center">Various shell cairo programs</lc>
-    </slide>
-
-    <slide title="Minimal cairo-xlib program" variant="code">
-      <lc>#include &lt;cairo.h&gt;</lc>
-      <lc>#include &lt;cairo-xlib.h&gt;</lc>
-      <lc>int main (void) {</lc>
-      <lc>    Display *dpy = XOpenDisplay (0);</lc>
-      <lc>    Window  w = XCreateSimpleWindow (dpy,RootWindow (dpy, 0),</lc>
-      <lc>                0, 0, WIDTH, HEIGHT, 0, 0, WhitePixel (dpy, 0));</lc>
-      <lc>    cairo_surface_t *surface = cairo_xlib_surface_create (dpy, w,</lc>
-      <lc>                        DefaultVisual (dpy, DefaultScreen (dpy)),</lc>
-      <lc>                                                   WIDTH, HEIGHT);</lc>
-      <lc>    XEvent  ev;</lc>
-      <lc>    XSelectInput (dpy, w, ExposureMask);</lc>
-      <lc>    XMapWindow (dpy, w);</lc>
-      <lc>    while (XNextEvent (dpy, &amp;ev) == 0)</lc>
-      <lc>        if (ev.type == Expose &amp;&amp; !ev.xexpose.count) {</lc>
-      <lc>            cairo_t *cr = cairo_create (surface);</lc>
-      <lc>            draw (cr);</lc>
-      <lc>            cairo_destroy (cr);</lc>
-      <lc>        }</lc>
-      <lc>}</lc>
-    </slide>
-
-    <slide title="Minimal cairo-gtk program" variant="code">
-      <lc>#include &lt;gtk/gtk.h&gt;</lc>
-      <lc>static gboolean</lc>
-      <lc>handle_expose (GtkWidget *widget, GdkEventExpose *event, gpointer data) {</lc>
-      <lc>    cairo_t *cr = gdk_cairo_create (widget->window);</lc>
-      <lc>    draw (cr);</lc>
-      <lc>    cairo_destroy (cr);</lc>
-      <lc>    return FALSE;</lc>
-      <lc>}</lc>
-      <lc>int main (int argc, char **argv) {</lc>
-      <lc>    GtkWidget *window, *drawing_area;</lc>
-      <lc>    gtk_init (&amp;argc, &amp;argv);</lc>
-      <lc>    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);</lc>
-      <lc>    gtk_window_set_default_size (GTK_WINDOW (window), WIDTH, HEIGHT);</lc>
-      <lc>    drawing_area = gtk_drawing_area_new ();</lc>
-      <lc>    gtk_container_add (GTK_CONTAINER (window), drawing_area);</lc>
-      <lc>    g_signal_connect (drawing_area, "expose-event",</lc>
-      <lc>                      G_CALLBACK (handle_expose), NULL);</lc>
-      <lc>    gtk_widget_show_all (window); gtk_main ();</lc>
-      <lc>}</lc>
-    </slide>
-
-    <slide title="Minimal cairo-png program" variant="code">
-      <lc>#include &lt;cairo.h&gt;</lc>
-      <lc></lc>
-      <lc>int main (void)</lc>
-      <lc>{</lc>
-      <lc>    cairo_surface_t *surface;</lc>
-      <lc>    cairo_t *cr;</lc>
-      <lc></lc>
-      <lc>    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,</lc>
-      <lc>                                          WIDTH, HEIGHT);</lc>
-      <lc>    cr = cairo_create (surface);</lc>
-      <lc>    draw (cr);</lc>
-      <lc>    cairo_surface_write_to_png (surface, "foo.png");</lc>
-      <lc></lc>
-      <lc>    cairo_surface_destroy (surface);</lc>
-      <lc>    cairo_destroy (cr);</lc>
-      <lc></lc>
-      <lc>    return 0;</lc>
-      <lc>}</lc>
-    </slide>
-
-    <slide title="Minimal cairo-pdf program" variant="code">
-      <lc>#include &lt;cairo.h&gt;</lc>
-      <lc>#include &lt;cairo-pdf.h&gt;</lc>
-      <lc>int main (void)</lc>
-      <lc>{</lc>
-      <lc>    cairo_surface_t *surface;</lc>
-      <lc>    cairo_t *cr;</lc>
-      <lc></lc>
-      <lc>    surface = cairo_pdf_surface_create ("foo.pdf", WIDTH, HEIGHT);</lc>
-      <lc>    </lc>
-      <lc>    cr = cairo_create (surface);</lc>
-      <lc>    draw (cr);</lc>
-      <lc>    cairo_show_page (cr);</lc>
-      <lc></lc>
-      <lc>    cairo_surface_destroy (surface);</lc>
-      <lc>    cairo_destroy (cr);</lc>
-      <lc></lc>
-      <lc>    return 0;</lc>
-      <lc>}</lc>
-    </slide>
-
-    <slide title="Minimal pycairo-gtk shell" variant="code">
-      <lc>#!/usr/bin/env python</lc>
-      <lc>import gtk</lc>
-      <lc>import cairo</lc>
-      <lc></lc>
-      <lc>def expose (widget, event):</lc>
-      <lc>    cr = widget.window.cairo_create ()</lc>
-      <lc>    draw (cr)</lc>
-      <lc>      </lc>
-      <lc>win = gtk.Window ()</lc>
-      <lc>win.connect ('destroy', gtk.main_quit)</lc>
-      <lc>win.set_default_size(WIDTH, HEIGHT)</lc>
-      <lc>drawingarea = gtk.DrawingArea ()</lc>
-      <lc>win.add (drawingarea)</lc>
-      <lc>drawingarea.connect ('expose_event', expose)</lc>
-      <lc>win.show_all ()</lc>
-      <lc>gtk.main ()</lc>
-    </slide>
-
-    <slide title="Minimal pycairo-png shell" variant="code">
-      <lc>#!/usr/bin/env python</lc>
-      <lc>import cairo</lc>
-      <lc></lc>
-      <lc>surface = cairo.ImageSurface (cairo.FORMAT_ARGB32, WIDTH, HEIGHT)</lc>
-      <lc>cr = cairo.Context (surface)</lc>
-      <lc></lc>
-      <lc>draw (cr)</lc>
-      <lc></lc>
-      <lc>surface.write_to_png ('foo.png')</lc>
-    </slide>
-
-    <slide title="Minimal nickle program" variant="code">
-      <lc>autoimport Cairo;</lc>
-      <lc></lc>
-      <lc>cairo_t cr = new (WIDTH, HEIGHT);</lc>
-      <lc>draw (cr);</lc>
-    </slide>
-
-    <slide title="Available bindings:" variant="large-content">
-      <li>C++ (cairomm)</li>
-      <li>Haskell (hscairo)</li>
-      <li>Java (CairoJava, cairo-java)</li>
-      <li>Common Lisp (cl-cairo)</li>
-      <li>Nickle (cairo-5c)</li>
-      <li>Objective Caml (cairo-ocaml)</li>
-      <li>perl (cairo-perl)</li>
-      <li>python (pycairo)</li>
-      <li>ruby (rcairo)</li>
-      <li>squeak (cairo-squeak)</li>
-    </slide>
-
-    <slide title="Following along" >
-      <lc></lc>
-      <lc align="center">http://cairographics.org/tutorial</lc>
-      <lc align="center">http://cairographics.org/cairo-tutorial.tar.gz</lc>
-      <li>tar xzf cairo-tutorial.tar.gz</li>
-      <li>cd cairo-tutorial</li>
-      <li>make</li>
-      <li>cat README</li>
-      <lc align="center">IRC: irc.freenode.net #cairo</lc>
-    </slide>
-
-    <slide title="Cairo's rendering model">
-      <g>
-       <image x="0" y="0" xlink:href="rendering-model.png" width="800" height="500" />
-      </g>
-    </slide>
-
-    <slide title="Let's start drawing" variant="separator">
-      <lc align="center">Here comes the fun part</lc>
-    </slide>
-
-    <slide title="API Overview" variant="large-content">
-      <ul>
-       <li>Paths</li>
-       <ul>
-         <li>construction</li>
-         <li>filling, stroking</li>
-       </ul>
-       <li>Images</li>
-       <ul>
-         <li>loading from disk</li>
-         <li>using as source</li>
-         <li>transforming/filtering</li>
-       </ul>
-       <li>Text</li>
-       <ul>
-         <li>“Toy” API</li>
-         <li>“Full” API</li>
-       </ul>
-      </ul>
-    </slide>
-
-    <slide title="Drawing functions" variant="large-content">
-      <ul>
-       <li>Paths</li>
-       <ul>
-         <li>cairo_stroke</li>
-         <li>cairo_fill</li>
-       </ul>
-       <li>Images</li>
-       <ul>
-         <li>cairo_paint</li>
-         <li>cairo_mask</li>
-         <li>cairo_paint_with_alpha</li>
-       </ul>
-       <li>Text</li>
-       <ul>
-         <li>cairo_show_text (“toy”)</li>
-         <li>cairo_show_glyphs (“full”)</li>
-       </ul>
-      </ul>
-    </slide>
-
-    <slide title="Basic path building">
-      <ul>
-       <li>Paths consist of lines and splines:</li>
-       <ul>
-         <li>cairo_move_to</li>
-         <lc>  start new sub path, set current point</lc>
-         <li>cairo_line_to</li>
-         <lc>  add line segment to path</lc>
-         <li>cairo_curve_to</li>
-         <lc>  add Bézier spline to path</lc>
-         <li>cairo_close_path</li>
-         <lc>  add line segment to last move_to point</lc>
-       </ul>
-      </ul>
-    </slide>
-
-    <slide title="Stroking paths">
-      <ul>
-       <li>cairo_stroke</li>
-       <ul>
-         <li>Paints the path itself as stroked by a pen</li>
-         <li>Controlled by various stroke parameters:</li>
-         <ul>
-           <li>cairo_set_line_width</li>
-           <li>cairo_set_line_cap</li>
-           <li>cairo_set_line_join</li>
-           <li>cairo_set_miter_limit</li>
-           <li>cairo_set_dash</li>
-         </ul>
-       </ul>
-      </ul>
-    </slide>
-
-    <slide title="cairo_stroke example">
-    </slide>
-
-    <slide title="cairo_set_line_width">
-    </slide>
-
-    <slide title="cairo_set_line_cap example">
-      <ul>
-       <li>CAIRO_LINE_CAP_BUTT</li>
-       <li>CAIRO_LINE_CAP_ROUND</li>
-       <li>CAIRO_LINE_CAP_SQUARE</li>
-      </ul>
-    </slide>
-
-    <slide title="cairo_set_line_join example">
-      <ul>
-       <li>CAIRO_LINE_JOIN_BEVEL</li>
-       <li>CAIRO_LINE_JOIN_ROUND</li>
-       <li>CAIRO_LINE_JOIN_MITER</li>
-      </ul>
-    </slide>
-
-    <slide title="cairo_close_path example">
-      <li>Adds a line segment (if necessary) to the</li>
-      <lc>start of the path</lc>
-      <li>Draws a join from that line to the first</li>
-      <lc>element of the path</lc>
-    </slide>
-
-    <slide title="cairo_set_dash example">
-    </slide>
-
-    <slide title="cairo_fill">
-      <ul>
-       <li>Paints the “inside” of the path</li>
-       <li>Two different ways to determine inside-ness</li>
-       <ul>
-         <li>cairo_set_fill_rule:</li>
-         <lc>  CAIRO_FILL_RULE_WINDING</lc>
-         <lc>  CAIRO_FILL_RULE_EVEN_ODD</lc>
-       </ul>
-      </ul>
-    </slide>
-
-    <slide title="cairo_fill example">
-    </slide>
-
-    <slide title="cairo_set_fill_rule">
-      <li>To test a point for inside-ness, imagine a ray</li>
-      <lc>from the point and extending to infinity</lc>
-      <lc>(any direction) and examine path crossings</lc>
-      <li>EVEN_ODD counts crossings and fills when odd</li>
-      <li>WINDING counts up/down for left/right crossings</li>
-      <lc>and fills when the final number is not zero</lc>
-    </slide>
-
-    <slide title="Fill rule example">
-    </slide>
-
-    <slide title="Something besides black?">
-      <li>All drawing occurs with the source pattern</li>
-      <li>Uniform-color sources can be set</li>
-      <lc>with or without alpha:</lc>
-      <ul>
-       <li>cairo_set_source_rgb</li>
-       <li>cairo_set_source_rgba</li>
-      </ul>
-    </slide>
-
-    <slide title="cairo_set_source example">
-    </slide>
-
-    <slide title="Fill and stroke the same path">
-      <li>cairo_stroke and cairo_fill consume the path</li>
-      <li>Variants are available to preserve the path:</li>
-      <ul>
-       <li>cairo_stroke_preserve</li>
-       <li>cairo_fill_preserve</li>
-      </ul>
-      <li>This is a variation from PostScript and PDF</li>
-      <ul>
-       <li>The cairo approach differs in different ways</li>
-       <li>We think this way is better (of course)</li>
-      </ul>
-    </slide>
-
-    <slide title="Fill and stroke example">
-    </slide>
-
-    <slide title="More path building">
-      <ul>
-       <li>cairo_rectangle</li>
-       <li>cairo_arc</li>
-       <li>cairo_text_path</li>
-       <li>cairo_glyph_path</li>
-       <li>Relative-coordinate variants:</li>
-       <ul>
-         <li>cairo_rel_move_to</li>
-         <li>cairo_rel_line_to</li>
-         <li>cairo_rel_curve_to</li>
-       </ul>
-      </ul>
-    </slide>
-
-    <slide title="cairo_arc example">
-    </slide>
-
-    <slide title="Outline text">
-    </slide>
-
-    <slide title="Affine Transformations">
-      <ul>
-       <li>Single matrix combines rotation, translation,</li>
-       <lc>scale and shear</lc>
-       <li>Non-projective transformations</li>
-       <ul>
-         <li>Pen doesn't change shape along the stroke</li>
-       </ul>
-       <li>Transformations are cumulative</li>
-       <ul>
-         <li>translate, scale != scale, translate</li>
-       </ul>
-      </ul>
-    </slide>
-
-    <slide title="Affine Transform Example">
-    </slide>
-
-    <slide title="Save/Restore Graphics States">
-      <ul>
-       <li>cairo_save and cairo_restore</li>
-       <li>Very useful for bracketing function bodies</li>
-       <li>Eliminates graphics state side effects</li>
-       <lc></lc>
-       <li>NOTE: Path is not part of graphics state</li>
-       <ul>
-         <li>Path is not affected by cairo_save/restore</li>
-         <li>Useful for path-generating functions</li>
-       </ul>
-      </ul>
-    </slide>
-
-    <slide title="Clipping">
-      <li>cairo_clip</li>
-      <li>Intersects path with current clip to further</li>
-      <lc>restrict drawing</lc>
-      <li>Pixel-aligned clipping is much faster</li>
-      <li>cairo_clip_preserve is available as well</li>
-    </slide>
-
-    <slide title="Other source patterns">
-      <ul>
-       <li>Surface patterns</li>
-       <ul>
-         <li>Image from disk</li>
-         <li>Results of cairo drawing</li>
-       </ul>
-       <li>Gradient patterns</li>
-       <ul>
-         <li>linear gradients</li>
-         <li>radial gradients</li>
-       </ul>
-      </ul>
-    </slide>
-
-    <slide title="Loading an image file">
-    </slide>
-
-    <slide title="Painting an image">
-    </slide>
-
-    <slide title="Pattern transformation">
-    </slide>
-
-    <slide title="Pattern filtering">
-    </slide>
-
-    <slide title="Linear gradient example">
-    </slide>
-
-    <slide title="Radial gradient example">
-    </slide>
-
-    <slide title="Text">
-      <ul>
-       <li>“Toy” API:</li>
-       <ul>
-         <li>Useful for demos like we are writing today</li>
-         <li>No real layout—not useful for the majority</li>
-         <lc>of writing systems in the world</lc>
-       </ul>
-       <li>“Full” API:</li>
-       <ul>
-         <li>User must do OS-dependent font selection</li>
-         <li>User must access font glyph IDs directly</li>
-         <li>User must do all text layout</li>
-       </ul>
-      </ul>
-    </slide>
-
-    <slide title="“Toy” text API"/>
-    <ul>
-      <li>Simple font selection</li>
-      <ul>
-       <li>family, weight, slant</li>
-       <li>OS independent</li>
-       <li>No font listing support</li>
-      </ul>
-      <li>UTF-8 text drawing and extents functions</li>
-      <li>Still supports full font transformations</li>
-    </ul>
-
-    <slide title="“Toy” text example">
-    </slide>
-
-    <slide title="“Real” text example">
-      <li>Just use pango</li>
-    </slide>
-
-    <slide title="Error handling in C">
-      <li>C has no exceptions</li>
-      <li>Checking each return is tedious</li>
-      <li>C programmers rarely bother</li>
-      <li>Lots of broken programs result</li>
-    </slide>
-      
-      <slide title="Cairo error handling">
-       <li>Cairo stores status value when error occurs</li>
-       <li>API “shuts down” when an error occurs</li>
-       <li>All cairo functions are benign</li>
-       <lc>(and well defined) after any error.</lc>
-       <li>cairo_status can be called when convenient</li>
-       <li>Error status values propagate across objects</li>
-      </slide>
-
-      <slide title="Cairo error example">
-      </slide>
-
-  </slides>
-</svgslides>
diff --git a/doc/tutorial/src/.gitignore b/doc/tutorial/src/.gitignore
deleted file mode 100644 (file)
index 68af59e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-*-gtk
-*-pdf
-*-png
-*-xlib
-*.pdf
-*.png
-*.o
-*~
diff --git a/doc/tutorial/src/README b/doc/tutorial/src/README
deleted file mode 100644 (file)
index a2738da..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-Welcome to the cairo tutorial:
-
-+--------------------------------+
-| How to Recognize Ugly Graphics |
-|(and what you can do about them)|
-+--------------------------------+
-
-This directory is your personal playground for following along with
-the examples. In order for you to make use of these files you will
-need to have cairo and its header files installed. You can find
-instructions for doing this at:
-
-       http://cairographics.org/tutorial
-
-Notice that there are a few .c files in this directory.
-
-You should start out by just typing "make" which will turn each .c
-file into several different programs. Go ahead and run each of the
-programs and see what they do. Some of them will open up new X windows
-while others will simply write their output to files (such .png or
-.pdf).
-
-After you play with those a bit, go ahead and take a look at the
-contents of the .c files. You'll see that each file contains a draw()
-function that does all of the drawing.
-
-You might be surprised to notice that there is no main() function in
-any of the files. Instead, main is hidden away by means of
-cairo-tutorial.h. This rather non-conventional style is used to allow
-you to focus on the actual drawing code involved in using cairo, while
-not having to worry about the setup semantics. We don't recommend that
-you follow this style for real projects.
-
-As you follow along during the tutorial and get some ideas for things
-to draw, you'll want to start making your own .c files. You can copy
-an existing file or make your own by following this simple minimal
-template:
-
-       #include "cairo-tutorial.h"
-
-       static void
-       draw (cairo_t *cr, int width, int height)
-       {
-           /* Put your drawing code here. */
-       }
-
-Any new file you create will automatically get picked up by the
-Makefile so that "make" will compile your file into several different
-programs, just like the existing examples.
-
-If you'd like to control the initial size of the output, you may
-define WIDTH and HEIGHT before including cairo-tutorial.h like so:
-
-       #define WIDTH  100
-       #define HEIGHT 100
-
-       #include "cairo-tutorial.h"
-
-If you would like to change the set of cairo-backend target programs
-that are compiled, you may edit the "all" target in the Makefile.
-
-Have fun!
-
--Carl Worth
-
-cworth@redhat.com
diff --git a/doc/tutorial/src/circle.c b/doc/tutorial/src/circle.c
deleted file mode 100644 (file)
index 6bd02e8..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "cairo-tutorial.h"
-
-static void
-draw (cairo_t *cr, int width, int height)
-{
-    int radius;
-
-    if (width < height)
-       radius = width/2 - 4;
-    else
-       radius = height/2 - 4;
-
-    cairo_move_to (cr, width/2 + radius, height/2);
-    cairo_arc (cr, width/2, height/2, radius,
-              0.0, 2 * M_PI);
-
-    cairo_set_source_rgb (cr, 0.6, 0.8, 1.0);
-    cairo_fill_preserve (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_stroke (cr);
-}
diff --git a/doc/tutorial/src/include/cairo-tutorial-gtk.h b/doc/tutorial/src/include/cairo-tutorial-gtk.h
deleted file mode 100644 (file)
index 60516a3..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/* cairo-tutorial-gtk.h - a tutorial framework for cairo with gtk+
- *
- * Copyright © 2005, Carl Worth
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.
- */
-
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-
-#include <cairo.h>
-
-#ifndef WIDTH
-#define WIDTH 400
-#endif
-
-#ifndef HEIGHT
-#define HEIGHT 400
-#endif
-
-static void
-draw (cairo_t *cr, int width, int height);
-
-#if ! GTK_CHECK_VERSION(2,7,0)
-/* copied from gtk+/gdk/gdkcairo.c and gtk+/gdk/x11/gdkdrawable-x11.c
- * gdk_cairo_create() which is available in 2.7.0 and later.
- */
-static cairo_t *
-gdk_cairo_create (GdkDrawable *drawable)
-{
-    int width, height;
-    cairo_t *cr = NULL;
-    cairo_surface_t *surface = NULL;
-    GdkVisual *visual = gdk_drawable_get_visual (drawable);
-
-    gdk_drawable_get_size (drawable, &width, &height);
-    if (visual)
-       surface = cairo_xlib_surface_create (GDK_DRAWABLE_XDISPLAY (drawable),
-                                            GDK_DRAWABLE_XID (drawable),
-                                            GDK_VISUAL_XVISUAL (visual),
-                                            width, height);
-    else if (gdk_drawable_get_depth (drawable) == 1)
-       surface = cairo_xlib_surface_create_for_bitmap
-           (GDK_PIXMAP_XDISPLAY (drawable),
-            GDK_PIXMAP_XID (drawable),
-            GDK_SCREEN_XSCREEN (gdk_drawable_get_screen (drawable)),
-            width, height);
-    else {
-       g_warning ("Using Cairo rendering requires the drawable argument to\n"
-                  "have a specified colormap. All windows have a colormap,\n"
-                  "however, pixmaps only have colormap by default if they\n"
-                  "were created with a non-NULL window argument. Otherwise\n"
-                  "a colormap must be set on them with "
-                  "gdk_drawable_set_colormap");
-       return NULL;
-    }
-    if (surface) {
-       cr = cairo_create (surface);
-       cairo_surface_destroy (surface);
-    }
-    return cr;
-}
-#endif
-
-static gboolean
-handle_expose (GtkWidget      *widget,
-              GdkEventExpose *event,
-              gpointer        data)
-{
-    cairo_t *cr;
-
-    cr = gdk_cairo_create (widget->window);
-
-    draw (cr, widget->allocation.width, widget->allocation.height);
-
-    cairo_destroy (cr);
-
-    return FALSE;
-}
-
-static gboolean
-handle_key_press (GtkWidget *widget,
-                 GdkEventKey *event,
-                 gpointer data)
-{
-    if ((event->keyval == GDK_Q ||
-        event->keyval == GDK_q) && (event->state & GDK_CONTROL_MASK))
-       gtk_main_quit ();
-
-    return FALSE;
-}
-
-int
-main (int argc, char **argv)
-{
-    GtkWidget *window, *drawing_area;
-
-    gtk_init (&argc, &argv);
-
-    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
-    gtk_window_set_default_size (GTK_WINDOW (window), WIDTH, HEIGHT);
-    gtk_window_set_title (GTK_WINDOW (window), "cairo demo");
-
-    g_signal_connect (window, "destroy",
-                     G_CALLBACK (gtk_main_quit), NULL);
-
-    drawing_area = gtk_drawing_area_new ();
-    gtk_container_add (GTK_CONTAINER (window), drawing_area);
-
-    g_signal_connect (drawing_area, "expose-event",
-                     G_CALLBACK (handle_expose), NULL);
-
-    g_signal_connect (window, "key-press-event",
-                     G_CALLBACK (handle_key_press), NULL);
-
-    gtk_widget_show_all (window);
-
-    gtk_main ();
-
-    return 0;
-}
diff --git a/doc/tutorial/src/include/cairo-tutorial-pdf.h b/doc/tutorial/src/include/cairo-tutorial-pdf.h
deleted file mode 100644 (file)
index 00d0f18..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/* cairo-tutorial-png.h - a tutorial framework for cairo to write a PNG image
- *
- * Copyright © 2005, Carl Worth
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.
- */
-
-#include <cairo.h>
-#include <cairo-pdf.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#ifndef WIDTH
-#define WIDTH 400
-#endif
-
-#ifndef HEIGHT
-#define HEIGHT 400
-#endif
-
-static void
-draw (cairo_t *cr, int width, int height);
-
-int
-main (int argc, char **argv)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    char *filename, *dash;
-
-    filename = strdup (argv[0]);
-    assert (filename != NULL);
-
-    dash = strrchr (filename, '-');
-
-    if (strcmp (dash, "-pdf") == 0) {
-       *dash = '.';
-    } else {
-       char *new_filename;
-       new_filename = malloc (strlen (filename) + 5);
-       sprintf (new_filename, "%s.pdf", filename);
-       free (filename);
-       filename = new_filename;
-    }
-
-    surface = cairo_pdf_surface_create (filename, WIDTH, HEIGHT);
-
-    cr = cairo_create (surface);
-
-    draw (cr, WIDTH, HEIGHT);
-
-    cairo_show_page (cr);
-
-    cairo_surface_destroy (surface);
-    cairo_destroy (cr);
-
-    free (filename);
-
-    return 0;
-}
diff --git a/doc/tutorial/src/include/cairo-tutorial-png.h b/doc/tutorial/src/include/cairo-tutorial-png.h
deleted file mode 100644 (file)
index 428baf2..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/* cairo-tutorial-png.h - a tutorial framework for cairo to write a PNG image
- *
- * Copyright © 2005, Carl Worth
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.
- */
-
-#include <cairo.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#ifndef WIDTH
-#define WIDTH 400
-#endif
-
-#ifndef HEIGHT
-#define HEIGHT 400
-#endif
-
-static void
-draw (cairo_t *cr, int width, int height);
-
-int
-main (int argc, char **argv)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    char *filename, *dash;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                         WIDTH, HEIGHT);
-
-    cr = cairo_create (surface);
-
-    draw (cr, WIDTH, HEIGHT);
-
-    filename = strdup (argv[0]);
-    assert (filename != NULL);
-
-    dash = strrchr (filename, '-');
-
-    if (strcmp (dash, "-png") == 0) {
-       *dash = '.';
-    } else {
-       char *new_filename;
-       new_filename = malloc (strlen (filename) + 5);
-       sprintf (new_filename, "%s.png", filename);
-       free (filename);
-       filename = new_filename;
-    }
-
-    cairo_surface_write_to_png (surface, filename);
-
-    free (filename);
-
-    cairo_surface_destroy (surface);
-    cairo_destroy (cr);
-
-    return 0;
-}
diff --git a/doc/tutorial/src/include/cairo-tutorial-xlib.h b/doc/tutorial/src/include/cairo-tutorial-xlib.h
deleted file mode 100644 (file)
index 5e78d03..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-/* cairo-tutorial-xlib.h - a tutorial framework for cairo with xlib
- *
- * Copyright © 2005, Keith Packard
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.
- */
-
-#include    <stdio.h>
-#include    <stdlib.h>
-#include    <ctype.h>
-#include    <strings.h>
-#include    <X11/Xos.h>
-#include    <X11/Xlib.h>
-#include    <X11/Xutil.h>
-#include    <X11/Xatom.h>
-#include    <cairo.h>
-#include    <cairo-xlib.h>
-
-#ifndef WIDTH
-#define WIDTH 400
-#endif
-
-#ifndef HEIGHT
-#define HEIGHT 400
-#endif
-
-#ifndef DEFAULT_VISUAL
-#define DEFAULT_VISUAL 0
-#endif
-
-static void
-Usage (char *program)
-{
-    fprintf (stderr, "Usage: %s\n", program);
-    fprintf (stderr, "\t-display <display-name>\n");
-    fprintf (stderr, "\t-geometry <geometry>\n");
-    exit (1);
-}
-
-char       *dpy_name;
-VisualID    vid = DEFAULT_VISUAL;
-Colormap    colormap;
-Visual     *visual;
-int        depth;
-unsigned int width = WIDTH, height = HEIGHT;
-Window     win;
-Pixmap     pix;
-GC         gc;
-
-static void
-draw (cairo_t *cr, int width, int height);
-
-static void
-draw_to_pixmap (Display *dpy, Pixmap pix)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_xlib_surface_create (dpy, pix, visual,
-                                        width, height);
-    cr = cairo_create (surface);
-
-    draw (cr, width, height);
-
-    cairo_destroy (cr);
-    cairo_surface_destroy (surface);
-}
-
-static void
-handle_configure (Display *dpy, XConfigureEvent *cev)
-{
-    width = cev->width;
-    height = cev->height;
-
-    XFreePixmap(dpy, pix);
-    pix = XCreatePixmap(dpy, win, width, height, depth);
-    XFillRectangle(dpy, pix, gc, 0, 0, width, height);
-    draw_to_pixmap (dpy, pix);
-}
-
-static void
-handle_expose (Display *dpy, XExposeEvent *eev)
-{
-    XCopyArea (dpy, pix, win, gc,
-              eev->x, eev->y,
-              eev->width, eev->height,
-              eev->x, eev->y);
-}
-
-int
-main (argc, argv)
-    int            argc;
-    char    **argv;
-{
-    Display *dpy;
-    Window  root = 0;
-    char    **init_argv = argv;
-    XSetWindowAttributes    attr;
-    int            scr;
-    int            x = 0, y = 0;
-    int            geometryMask;
-    int            border_width = 1;
-    XSizeHints sizeHints;
-    XWMHints   wmHints;
-    XClassHint classHints;
-    XEvent     ev;
-    XEvent     eev;
-    int                HasExpose = 0;
-    int                sync = 0;
-    XTextProperty   wm_name, icon_name;
-    Atom       wm_delete_window;
-    unsigned long   gc_mask;
-    XGCValues      gcv;
-    char       quit_string[10];
-    unsigned long   window_mask;
-    int                has_colormap = 0;
-
-    wm_name.value = (unsigned char *) argv[0];
-    wm_name.encoding = XA_STRING;
-    wm_name.format = 8;
-    wm_name.nitems = strlen (argv[0]) + 1;
-    icon_name = wm_name;
-    gc_mask = 0;
-    while (*++argv) {
-       if (!strcmp (*argv, "-display"))
-           dpy_name = *++argv;
-       else if (!strcmp (*argv, "-visual"))
-           vid = strtol(*++argv, NULL, 0);
-       else if (!strcmp (*argv, "-geometry"))
-           geometryMask = XParseGeometry (*++argv, &x, &y, &width, &height);
-       else if (!strcmp (*argv, "-sync"))
-           sync = 1;
-       else if (!strcmp (*argv, "-bw"))
-           border_width = strtol(*++argv, NULL, 0);
-       else if (!strcmp (*argv, "-root"))
-           root = strtol (*++argv, NULL, 0);
-       else
-           Usage (*init_argv);
-    }
-    sizeHints.flags = 0;
-    wmHints.flags = InputHint;
-    wmHints.input = True;
-    classHints.res_name = init_argv[0];
-    classHints.res_class = init_argv[0];
-    dpy = XOpenDisplay (dpy_name);
-    if (!dpy) {
-       fprintf (stderr, "Error: failed to open display: %s\n",
-                XDisplayName (dpy_name));
-       exit (1);
-    }
-    if (sync)
-       XSynchronize (dpy, sync);
-    scr = DefaultScreen (dpy);
-    if (!root)
-       root = RootWindow (dpy, scr);
-    window_mask = CWBackPixel|CWBorderPixel|CWEventMask;
-    if (!has_colormap)
-       colormap = DefaultColormap (dpy, scr);
-    else
-    {
-       window_mask |= CWColormap;
-       attr.colormap = colormap;
-    }
-    visual = DefaultVisual (dpy, scr);
-    depth = DefaultDepth (dpy, scr);
-    if (vid)
-    {
-       XVisualInfo vi, *vi_ret;
-       int         n;
-
-       vi.visualid = vid;
-       vi.screen = scr;
-       vi_ret = XGetVisualInfo (dpy, VisualIDMask|VisualScreenMask,
-                                &vi, &n);
-       if (vi_ret)
-       {
-           visual = vi_ret->visual;
-           if (!has_colormap)
-           {
-               colormap = XCreateColormap (dpy, root, visual, AllocNone);
-               window_mask |= CWColormap;
-               attr.colormap = colormap;
-           }
-           depth = vi_ret->depth;
-       }
-    }
-    attr.background_pixel = WhitePixel (dpy, scr);
-    attr.border_pixel = 0;
-    attr.event_mask = ExposureMask|KeyPressMask|KeyReleaseMask|StructureNotifyMask;
-    wm_delete_window = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
-    win = XCreateWindow (dpy, root, x, y, width, height, border_width,
-                        depth, InputOutput,
-                        visual,
-                        window_mask,
-                        &attr);
-    pix = XCreatePixmap (dpy, win, width, height, depth);
-    gcv.foreground = WhitePixel (dpy, scr);
-    gc = XCreateGC (dpy, pix, GCForeground, &gcv);
-    XFillRectangle(dpy, pix, gc, 0, 0, width, height);
-    draw_to_pixmap (dpy, pix);
-    XSetWMProperties (dpy, win,
-                     &wm_name, &icon_name,
-                     init_argv, argc,
-                     &sizeHints, &wmHints, 0);
-    XSetWMProtocols (dpy, win, &wm_delete_window, 1);
-    XMapWindow (dpy, win);
-    for (;;) {
-       XNextEvent (dpy, &ev);
-       if (HasExpose && ev.type != Expose) {
-           HasExpose = 0;
-           handle_expose (dpy, &eev.xexpose);
-       }
-       switch (ev.type) {
-       case ConfigureNotify:
-           handle_configure (dpy, &ev.xconfigure);
-           break;
-       case Expose:
-           if (QLength(dpy)) {
-               eev = ev;
-               HasExpose = 1;
-           } else if (ev.xexpose.count == 0) {
-               handle_expose (dpy, &ev.xexpose);
-           }
-           break;
-       case KeyPress:
-           if (XLookupString ((XKeyEvent *) &ev, quit_string, sizeof (quit_string), 0, 0) == 1) {
-               switch (quit_string[0]) {
-               case 'q':
-                   exit (0);
-               case 'c':
-                   XClearArea (dpy, ev.xkey.window, 0, 0, 0, 0, True);
-                   break;
-               }
-           }
-           break;
-       case ClientMessage:
-           exit (0);
-       }
-    }
-}
diff --git a/doc/tutorial/src/include/cairo-tutorial.h b/doc/tutorial/src/include/cairo-tutorial.h
deleted file mode 100644 (file)
index ec738e9..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* cairo-tutorial-gtk.h - a tutorial framework for cairo
- *
- * Copyright © 2005, Carl Worth
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.
- */
-
-#include <cairo.h>
-#include <math.h>
-
-/* The application program may override these before including
- * cairo-tutorial.h in order to get a window of a different size. */
-#ifndef WIDTH
-#define WIDTH 400
-#endif
-
-#ifndef HEIGHT
-#define HEIGHT 400
-#endif
-
-#ifdef CAIRO_TUTORIAL_GTK
-#include "cairo-tutorial-gtk.h"
-#elif CAIRO_TUTORIAL_XLIB
-#include "cairo-tutorial-xlib.h"
-#elif CAIRO_TUTORIAL_PDF
-#include "cairo-tutorial-pdf.h"
-#elif CAIRO_TUTORIAL_PNG
-#include "cairo-tutorial-png.h"
-#endif
diff --git a/doc/tutorial/src/lca.c b/doc/tutorial/src/lca.c
deleted file mode 100644 (file)
index 0b131af..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#define WIDTH 750
-#define HEIGHT 360
-
-#include "cairo-tutorial.h"
-
-static void
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_save (cr);
-
-    cairo_translate (cr, 60, 60);
-    cairo_scale (cr, 3, 3);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_set_line_width (cr, 20);
-
-    /* L */
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, 0, 80);
-    cairo_line_to (cr, 50, 80);
-
-    /* C */
-    cairo_move_to (cr, 110 + 40 * cos (M_PI / 3), 40 + 40 * sin(M_PI / 3));
-    cairo_arc (cr, 110, 40, 40, M_PI / 3, -M_PI / 3);
-
-    /* A */
-    cairo_move_to (cr, 160, 80);
-    cairo_curve_to (cr, 160, -30, 210, -30, 210, 80);
-
-    cairo_stroke (cr);
-}
diff --git a/doc/tutorial/src/singular.c b/doc/tutorial/src/singular.c
deleted file mode 100644 (file)
index 958b2b0..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
- * Uses Singular values of transformation matrix to find the length of the
- * major and minor axes of the scaled pen.
- *
- * Put this file in cairo/doc/tutorial/src and type "make"
- */
-
-#define WIDTH 300
-#define HEIGHT 300
-
-#include "cairo-tutorial.h"
-
-#include <math.h>
-
-/*
- * Finds the singular values of the non-translation part of matrix.
- *
- * Let M be the cairo transformation matrix in question:
- *
- *       ⌈xx xy⌉
- *   M = |yx yy|
- *       ⌊x0 y0⌋
- *
- * The non-translation part is:
- *
- *   A = ⌈xx xy⌉
- *       ⌊yx yy⌋
- *
- * The non-zero singular values of A are the square roots of the non-zero
- * eigenvalues of A⁺ A, where A⁺ is A-transpose.
- *
- *   A⁺ A = ⌈xx yx⌉⌈xx xy⌉ = ⌈xx²+yx²     xx*xy+yx*yy⌉
- *          ⌊xy yy⌋⌊yx yy⌋   ⌊xx*xy+yx*yy     xy²+yy²⌋
- *
- * Name those:
- *
- *   B = A⁺ A = ⌈a k⌉
- *              ⌊k b⌋
- *
- * The eigenvalues of B satisfy:
- *
- *   λ² - (a+b).λ + a.b - k² = 0
- *
- * The eigenvalues are:
- *                __________________
- *       (a+b) ± √(a+b)² - 4(a.b-k²)
- *   λ = ---------------------------
- *                   2
- * that simplifies to:
- *                  _______________
- *   λ = (a+b)/2 ± √((a-b)/2)² + k²
- *
- * And the Singular values are the root of λs.
- *
- */
-static void
-get_singular_values (const cairo_matrix_t *matrix,
-                    double *major,
-                    double *minor)
-{
-    double xx = matrix->xx, xy = matrix->xy;
-    double yx = matrix->yx, yy = matrix->yy;
-
-    double a = xx*xx+yx*yx;
-    double b = xy*xy+yy*yy;
-    double k = xx*xy+yx*yy;
-
-    double f = (a+b) * .5;
-    double g = (a-b) * .5;
-    double delta = sqrt (g*g + k*k);
-
-    if (major)
-       *major = sqrt (f + delta);
-    if (minor)
-       *minor = sqrt (f - delta);
-}
-
-/*
- * Finds the length of the major and minor axes of the pen for a cairo_t,
- * identified by the current transformation matrix and line width.
- *
- * Returned values are in device units.
- */
-static void
-get_pen_axes (cairo_t *cr,
-             double *major,
-             double *minor)
-{
-    double width;
-    cairo_matrix_t matrix;
-
-    width = cairo_get_line_width (cr);
-    cairo_get_matrix (cr, &matrix);
-
-    get_singular_values (&matrix, major, minor);
-
-    if (major)
-       *major *= width;
-    if (minor)
-       *minor *= width;
-}
-
-static void
-draw (cairo_t *cr, int width, int height)
-{
-    double major_width, minor_width;
-
-    /* clear background */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-#define W width
-#define H height
-#define B ((width+height)/16)
-
-    /* the spline we want to stroke */
-    cairo_move_to  (cr, W-B, B);
-    cairo_curve_to (cr, -W,   B,
-                       2*W, H-B,
-                       B,   H-B);
-
-    /* the effect is show better with round caps */
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-
-    /* set the skewed pen */
-    cairo_rotate (cr, +.7);
-    cairo_scale  (cr, .5, 2.);
-    cairo_rotate (cr, -.7);
-    cairo_set_line_width (cr, B);
-
-    get_pen_axes (cr, &major_width, &minor_width);
-
-    /* stroke with "major" pen in translucent red */
-    cairo_save (cr);
-    cairo_identity_matrix (cr);
-    cairo_set_line_width (cr, major_width);
-    cairo_set_source_rgba (cr, 1.0, 0.0, 0.0, .9);
-    cairo_stroke_preserve (cr);
-    cairo_restore (cr);
-
-    /* stroke with skewed pen in translucent black */
-    cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, .9);
-    cairo_stroke_preserve (cr);
-
-    /* stroke with "minor" pen in translucent yellow */
-    cairo_save (cr);
-    cairo_identity_matrix (cr);
-    cairo_set_line_width (cr, minor_width);
-    cairo_set_source_rgba (cr, 1.0, 1.0, 0.0, .9);
-    cairo_stroke_preserve (cr);
-    cairo_restore (cr);
-
-    /* stroke with hairline in black */
-    cairo_save (cr);
-    cairo_identity_matrix (cr);
-    cairo_set_line_width (cr, 1);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_stroke_preserve (cr);
-    cairo_restore (cr);
-
-    cairo_new_path (cr);
-}
diff --git a/doc/tutorial/src/twin.c b/doc/tutorial/src/twin.c
deleted file mode 100644 (file)
index 14347ba..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Put this file in cairo/doc/tutorial/src and type "make"
- */
-
-#define WIDTH 1350
-#define HEIGHT 900
-
-#include "cairo-tutorial.h"
-
-
-static void
-draw (cairo_t *cr, int width, int height)
-{
-    int i, j, h;
-    unsigned char s[2] = {0, 0};
-
-    /* clear background */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    h = 2;
-    for (i = 8; i < 48; i >= 24 ? i+=3 : i++) {
-       cairo_set_font_size (cr, i);
-       for (j = 33; j < 128; j++) {
-           if (j == 33 || (j == 80 && i > 24)) {
-               h += i + 2;
-               cairo_move_to (cr, 10, h);
-           }
-           s[0] = j;
-           cairo_show_text (cr, (const char *) s);
-       }
-    }
-}
old mode 100644 (file)
new mode 100755 (executable)
index ee51a4b..341b9c5
@@ -1,18 +1,19 @@
 #sbs-git:slp/unmodified/cairo cairo 1.11.3 076a40b95caaadbc4a05b92a1a1d7840427e05b7
 Name:       cairo
 Summary:    A vector graphics library
-Version:    1.12.2
-Release:    8
+Version:    1.12.14
+Release:    10
 Group:      System/Libraries
-License:    LGPLv2 or MPLv1.1
+License:    LGPL-2.1+ or MPL-1.1
 URL:        http://www.cairographics.org
 Source0:    http://cairographics.org/releases/%{name}-%{version}.tar.gz
-Source1001: packaging/cairo.manifest 
+Source1001: packaging/cairo.manifest
 
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
 BuildRequires:  pkgconfig(xrender)
 BuildRequires:  pkgconfig(x11)
+BuildRequires:  pkgconfig(xext)
 BuildRequires:  pkgconfig(libpng)
 BuildRequires:  pkgconfig(libxml-2.0)
 BuildRequires:  pkgconfig(pixman-1)
@@ -23,9 +24,12 @@ BuildRequires:  pkgconfig(sm)
 BuildRequires:  pkgconfig(xt)
 BuildRequires:  pkgconfig(xcb)
 BuildRequires:  pkgconfig(xcb-render)
-BuildRequires:  pkgconfig(xcb-renderutil)
+#BuildRequires:  pkgconfig(xcb-renderutil)
 BuildRequires:  pkgconfig(xcb-shm)
 BuildRequires:  pkgconfig(opengl-es-20)
+BuildRequires:  pkgconfig(ecore)
+BuildRequires:  pkgconfig(evas)
+BuildRequires:  pkgconfig(elementary)
 #BuildRequires:  pkgconfig(librsvg-2.0)
 BuildRequires:  binutils-devel
 BuildRequires:  which
@@ -58,11 +62,15 @@ NOCONFIGURE=1 ./autogen.sh
     --x-libraries=%{_libdir} \
     --disable-gtk-doc \
 %ifarch %ix86
-    --enable-xcb
+    --enable-xcb \
+    --enable-egl=no \
+    --enable-glesv2=no \
+    --enable-evasgl=yes \
 %else
     --enable-xcb \
     --enable-egl=yes \
-    --enable-glesv2=yes
+    --enable-glesv2=yes \
+    --enable-evasgl=yes
 %endif
 
 make %{?jobs:-j%jobs}
@@ -71,6 +79,8 @@ make %{?jobs:-j%jobs}
 rm -rf %{buildroot}
 %make_install
 rm -rf $RPM_BUILD_ROOT/usr/share/gtk-doc
+mkdir -p %{buildroot}/usr/share/license
+cat COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1 > %{buildroot}/usr/share/license/%{name}
 
 %post -p /sbin/ldconfig
 
@@ -78,14 +88,14 @@ rm -rf $RPM_BUILD_ROOT/usr/share/gtk-doc
 
 %files
 %manifest cairo.manifest
-%{_libdir}/libcairo*.so.*
+%{_libdir}/libcairo.so.*
+/usr/share/license/%{name}
+%exclude %{_libdir}/libcairo-*.so.*
 
 %files devel
 %manifest cairo.manifest
 %{_includedir}/*
 %{_libdir}/libcairo*.so
+%{_libdir}/libcairo-*.so.*
 %{_libdir}/pkgconfig/*
-%exclude %{_bindir}/cairo-trace
-%exclude %{_libdir}/cairo/libcairo-trace.so
-%exclude %{_libdir}/cairo/libcairo-trace.so.*
 
diff --git a/perf/.gitignore b/perf/.gitignore
deleted file mode 100644 (file)
index 02af7a9..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-TAGS
-tags
-cairo-analyse-trace
-cairo-perf
-cairo-perf-micro
-cairo-perf-print
-cairo-perf-trace
-cairo-perf-chart
-cairo-perf-compare-backends
-cairo-perf-diff-files
-cairo-perf-graph-files
-cairo-traces
-valgrind-log
-callgrind.out.*
-index.html
-*.png
-*.perf
-*.o
-*.gcda
-*.gcno
-*.exe
-*.manifest
-*.obj
-*.ilk
-*.suo
-*.lib
-*.pdb
-*~
-.*.sw?
-*.data
diff --git a/perf/COPYING b/perf/COPYING
deleted file mode 100644 (file)
index 17754cf..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Cairo is free software.
-
-These tests are mainly available under a liberal MIT license to simplify
-any use of the code for reference purposes. Please check the opening comment
-of each file for copyright and licensing information.
diff --git a/perf/Makefile.am b/perf/Makefile.am
deleted file mode 100644 (file)
index 92f0dfc..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-include $(top_srcdir)/build/Makefile.am.common
-
-include $(top_srcdir)/perf/Makefile.sources
-
-AM_CPPFLAGS =                                  \
-       -I$(srcdir)                             \
-       -I$(top_srcdir)/boilerplate             \
-       -I$(top_srcdir)/src                     \
-       -I$(top_srcdir)/util/cairo-missing      \
-       -I$(top_srcdir)/util/cairo-script       \
-       -I$(top_builddir)/src                   \
-       $(CAIRO_CFLAGS)
-
-AM_LDFLAGS = $(CAIRO_LDFLAGS)
-
-SUBDIRS = micro
-
-noinst_PROGRAMS = \
-       cairo-analyse-trace \
-       cairo-perf-trace \
-       cairo-perf-micro \
-       $(NULL)
-
-EXTRA_PROGRAMS += \
-       cairo-analyse-trace \
-       cairo-perf-micro \
-       cairo-perf-trace \
-       cairo-perf-diff-files \
-       cairo-perf-print \
-       cairo-perf-chart \
-       cairo-perf-compare-backends \
-       cairo-perf-graph-files \
-       $(NULL)
-EXTRA_DIST += cairo-perf-diff COPYING
-EXTRA_LTLIBRARIES += libcairoperf.la
-
-LDADD = libcairoperf.la \
-       $(top_builddir)/boilerplate/libcairoboilerplate.la \
-       $(top_builddir)/src/libcairo.la
-
-cairo_perf_micro_SOURCES = $(cairo_perf_micro_sources)
-cairo_perf_micro_LDADD = \
-       $(top_builddir)/perf/micro/libcairo-perf-micro.la \
-       $(LDADD)
-cairo_perf_micro_DEPENDENCIES = \
-       $(top_builddir)/perf/micro/libcairo-perf-micro.la \
-       $(LDADD)
-
-libcairoperf_la_SOURCES = \
-       $(libcairoperf_sources) \
-       $(libcairoperf_external_sources) \
-       $(libcairoperf_headers) \
-       $(NULL)
-
-cairo_analyse_trace_SOURCES = \
-       $(cairo_analyse_trace_sources)  \
-       $(cairo_analyse_trace_external_sources)
-cairo_analyse_trace_LDADD =            \
-       $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-       $(top_builddir)/util/cairo-missing/libcairo-missing.la \
-       $(LDADD)
-cairo_analyse_trace_DEPENDENCIES = \
-       $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-       $(top_builddir)/util/cairo-missing/libcairo-missing.la \
-       $(LDADD)
-
-cairo_perf_trace_SOURCES = \
-       $(cairo_perf_trace_sources)     \
-       $(cairo_perf_trace_external_sources)
-cairo_perf_trace_LDADD =               \
-       $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-       $(top_builddir)/util/cairo-missing/libcairo-missing.la \
-       $(LDADD)
-cairo_perf_trace_DEPENDENCIES = \
-       $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-       $(top_builddir)/util/cairo-missing/libcairo-missing.la \
-       $(LDADD)
-
-cairo_perf_diff_files_SOURCES =        $(cairo_perf_diff_files_sources)
-cairo_perf_print_SOURCES = $(cairo_perf_print_sources)
-cairo_perf_chart_SOURCES = $(cairo_perf_chart_sources)
-cairo_perf_compare_backends_SOURCES = $(cairo_perf_compare_backends_sources)
-
-cairo_perf_graph_files_SOURCES = \
-       $(cairo_perf_graph_files_sources)       \
-       $(cairo_perf_graph_files_headers)
-cairo_perf_graph_files_CFLAGS = @gtk_CFLAGS@
-cairo_perf_graph_files_LDADD = @gtk_LIBS@ $(LDADD)
-
-# Install rules to rebuild the libraries and add explicit dependencies
-$(top_builddir)/perf/micro/libcairo-perf-micro.la:
-       cd $(top_builddir)/perf/micro && $(MAKE) $(AM_MAKEFLAGS) libcairo-perf-micro.la
-
-$(top_builddir)/boilerplate/libcairoboilerplate.la: $(top_builddir)/src/libcairo.la
-       cd $(top_builddir)/boilerplate && $(MAKE) $(AM_MAKEFLAGS) libcairoboilerplate.la
-
-$(top_builddir)/src/libcairo.la:
-       cd $(top_builddir)/src && $(MAKE) $(AM_MAKEFLAGS) libcairo.la
-
-$(top_builddir)/util/cairo-script/libcairo-script-interpreter.la: $(top_builddir)/src/libcairo.la
-       cd $(top_builddir)/util/cairo-script && $(MAKE) $(AM_MAKEFLAGS) libcairo-script-interpreter.la
-
-
-# Do a funny transition of CAIRO_TEST_TARGET through TARGETS such that
-# one can limit tested targets both through CAIRO_TEST_TARGET env var
-# and TARGETS make var on the command line.  Same for the rest.
-TARGETS = $(CAIRO_TEST_TARGET)
-TARGETS_EXCLUDE = $(CAIRO_TEST_TARGET_EXCLUDE)
-ITERS = $(CAIRO_PERF_ITERATIONS)
-
-CAIRO_PERF_ENVIRONMENT = CAIRO_PERF_ITERATIONS="$(ITERS)" CAIRO_TEST_TARGET="$(TARGETS)" CAIRO_TEST_TARGET_EXCLUDE="$(TARGETS_EXCLUDE)"
-
-perf: cairo-perf-micro$(EXEEXT) cairo-perf-trace$(EXEEXT)
-       -$(CAIRO_PERF_ENVIRONMENT) ./cairo-perf-micro$(EXEEXT)
-       -$(CAIRO_PERF_ENVIRONMENT) ./cairo-perf-trace$(EXEEXT)
-
-html-local: index.html
-
-perf-tag.html : cairo-perf-micro${EXEEXT}
-       $(CAIRO_PERF_ENVIRONMENT) ./cairo-perf-diff -t -h $@ `git describe --abbrev=0` HEAD
-perf-commit.html : cairo-perf-micro${EXEEXT}
-       $(CAIRO_PERF_ENVIRONMENT) ./cairo-perf-diff -t -h $@ HEAD
-
-# Summarise changes in index.html, with details in links
-index.html: perf-tag.html perf-commit.html
-       echo "<html><head><title>Performance Changes</title></head><body>Against <a href=\"perf-tag.html\">"`git describe --abbrev=0`"</a><br><a href=\"perf-commit.html\">Latest commit</a></body>" > $@
-
-EXTRA_VALGRIND_FLAGS = $(CAIRO_EXTRA_VALGRIND_FLAGS)
-VALGRIND_MEMCHECK_FLAGS = \
-       --tool=memcheck \
-       --suppressions=$(top_srcdir)/test/.valgrind-suppressions \
-       --leak-check=yes --show-reachable=yes
-VALGRIND_CALLGRIND_FLAGS = \
-       --tool=callgrind
-CLEANFILES += \
-       valgrind-log \
-       callgrind.out.* \
-       index.html
-
-perf-valgrind:
-       $(MAKE) $(AM_MAKEFLAGS) perf \
-           $(top_builddir)/libtool --mode=execute \
-           valgrind $(VALGRIND_MEMCHECK_FLAGS) $(EXTRA_VALGRIND_FLAGS)' \
-           | tee valgrind-log
-
-perf-callgrind:
-       $(MAKE) $(AM_MAKEFLAGS) perf \
-           $(top_builddir)/libtool --mode=execute \
-           valgrind $(VALGRIND_CALLGRIND_FLAGS) $(EXTRA_VALGRIND_FLAGS)'
-
-.PHONY: perf perf-valgrind perf-callgrind
-
-EXTRA_DIST += Makefile.win32
diff --git a/perf/Makefile.in b/perf/Makefile.in
deleted file mode 100644 (file)
index ea7dfda..0000000
+++ /dev/null
@@ -1,1216 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(top_srcdir)/build/Makefile.am.common \
-       $(top_srcdir)/perf/Makefile.sources COPYING
-EXTRA_PROGRAMS = cairo-analyse-trace$(EXEEXT) \
-       cairo-perf-micro$(EXEEXT) cairo-perf-trace$(EXEEXT) \
-       cairo-perf-diff-files$(EXEEXT) cairo-perf-print$(EXEEXT) \
-       cairo-perf-chart$(EXEEXT) cairo-perf-compare-backends$(EXEEXT) \
-       cairo-perf-graph-files$(EXEEXT)
-TESTS =
-check_PROGRAMS =
-noinst_PROGRAMS = cairo-analyse-trace$(EXEEXT) \
-       cairo-perf-trace$(EXEEXT) cairo-perf-micro$(EXEEXT)
-subdir = perf
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/build/aclocal.cairo.m4 \
-       $(top_srcdir)/build/aclocal.compare.m4 \
-       $(top_srcdir)/build/aclocal.enable.m4 \
-       $(top_srcdir)/build/aclocal.float.m4 \
-       $(top_srcdir)/build/aclocal.makefile.m4 \
-       $(top_srcdir)/build/aclocal.pkg.m4 \
-       $(top_srcdir)/build/gtk-doc.m4 $(top_srcdir)/build/libtool.m4 \
-       $(top_srcdir)/build/ltoptions.m4 \
-       $(top_srcdir)/build/ltsugar.m4 \
-       $(top_srcdir)/build/ltversion.m4 \
-       $(top_srcdir)/build/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/cairo-version.h \
-       $(top_srcdir)/build/configure.ac.version \
-       $(top_srcdir)/build/configure.ac.tools \
-       $(top_srcdir)/build/configure.ac.features \
-       $(top_srcdir)/build/configure.ac.warnings \
-       $(top_srcdir)/build/configure.ac.system \
-       $(top_srcdir)/build/configure.ac.analysis \
-       $(top_srcdir)/build/configure.ac.noversion \
-       $(top_srcdir)/build/configure.ac.pthread \
-       $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-libcairoperf_la_LIBADD =
-am__objects_1 = cairo-perf.lo cairo-perf-report.lo cairo-stats.lo
-am__objects_2 = cairo-time.lo
-am__objects_3 =
-am_libcairoperf_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
-       $(am__objects_3)
-libcairoperf_la_OBJECTS = $(am_libcairoperf_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
-am__v_lt_0 = --silent
-PROGRAMS = $(noinst_PROGRAMS)
-am__objects_4 = cairo-analyse-trace.$(OBJEXT)
-am__objects_5 = cairo-error.$(OBJEXT)
-am_cairo_analyse_trace_OBJECTS = $(am__objects_4) $(am__objects_5)
-cairo_analyse_trace_OBJECTS = $(am_cairo_analyse_trace_OBJECTS)
-am__objects_6 = cairo-perf-chart.$(OBJEXT)
-am_cairo_perf_chart_OBJECTS = $(am__objects_6)
-cairo_perf_chart_OBJECTS = $(am_cairo_perf_chart_OBJECTS)
-cairo_perf_chart_LDADD = $(LDADD)
-cairo_perf_chart_DEPENDENCIES = libcairoperf.la \
-       $(top_builddir)/boilerplate/libcairoboilerplate.la \
-       $(top_builddir)/src/libcairo.la
-am__objects_7 = cairo-perf-compare-backends.$(OBJEXT)
-am_cairo_perf_compare_backends_OBJECTS = $(am__objects_7)
-cairo_perf_compare_backends_OBJECTS =  \
-       $(am_cairo_perf_compare_backends_OBJECTS)
-cairo_perf_compare_backends_LDADD = $(LDADD)
-cairo_perf_compare_backends_DEPENDENCIES = libcairoperf.la \
-       $(top_builddir)/boilerplate/libcairoboilerplate.la \
-       $(top_builddir)/src/libcairo.la
-am__objects_8 = cairo-perf-diff-files.$(OBJEXT)
-am_cairo_perf_diff_files_OBJECTS = $(am__objects_8)
-cairo_perf_diff_files_OBJECTS = $(am_cairo_perf_diff_files_OBJECTS)
-cairo_perf_diff_files_LDADD = $(LDADD)
-cairo_perf_diff_files_DEPENDENCIES = libcairoperf.la \
-       $(top_builddir)/boilerplate/libcairoboilerplate.la \
-       $(top_builddir)/src/libcairo.la
-am__objects_9 =  \
-       cairo_perf_graph_files-cairo-perf-graph-files.$(OBJEXT) \
-       cairo_perf_graph_files-cairo-perf-graph-widget.$(OBJEXT)
-am_cairo_perf_graph_files_OBJECTS = $(am__objects_9) $(am__objects_3)
-cairo_perf_graph_files_OBJECTS = $(am_cairo_perf_graph_files_OBJECTS)
-cairo_perf_graph_files_DEPENDENCIES = $(LDADD)
-cairo_perf_graph_files_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
-       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
-       $(cairo_perf_graph_files_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-am__objects_10 = cairo-perf-micro.$(OBJEXT)
-am_cairo_perf_micro_OBJECTS = $(am__objects_10)
-cairo_perf_micro_OBJECTS = $(am_cairo_perf_micro_OBJECTS)
-am__objects_11 = cairo-perf-print.$(OBJEXT)
-am_cairo_perf_print_OBJECTS = $(am__objects_11)
-cairo_perf_print_OBJECTS = $(am_cairo_perf_print_OBJECTS)
-cairo_perf_print_LDADD = $(LDADD)
-cairo_perf_print_DEPENDENCIES = libcairoperf.la \
-       $(top_builddir)/boilerplate/libcairoboilerplate.la \
-       $(top_builddir)/src/libcairo.la
-am__objects_12 = cairo-perf-trace.$(OBJEXT)
-am__objects_13 = cairo-error.$(OBJEXT) cairo-hash.$(OBJEXT)
-am_cairo_perf_trace_OBJECTS = $(am__objects_12) $(am__objects_13)
-cairo_perf_trace_OBJECTS = $(am_cairo_perf_trace_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/build/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-       $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
-am__v_CC_0 = @echo "  CC    " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(libcairoperf_la_SOURCES) $(cairo_analyse_trace_SOURCES) \
-       $(cairo_perf_chart_SOURCES) \
-       $(cairo_perf_compare_backends_SOURCES) \
-       $(cairo_perf_diff_files_SOURCES) \
-       $(cairo_perf_graph_files_SOURCES) $(cairo_perf_micro_SOURCES) \
-       $(cairo_perf_print_SOURCES) $(cairo_perf_trace_SOURCES)
-DIST_SOURCES = $(libcairoperf_la_SOURCES) \
-       $(cairo_analyse_trace_SOURCES) $(cairo_perf_chart_SOURCES) \
-       $(cairo_perf_compare_backends_SOURCES) \
-       $(cairo_perf_diff_files_SOURCES) \
-       $(cairo_perf_graph_files_SOURCES) $(cairo_perf_micro_SOURCES) \
-       $(cairo_perf_print_SOURCES) $(cairo_perf_trace_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
-ETAGS = etags
-CTAGS = ctags
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-CAIROBOILERPLATE_LIBS = @CAIROBOILERPLATE_LIBS@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_LDFLAGS = @CAIRO_LDFLAGS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CAIRO_LIBTOOL_VERSION_INFO = @CAIRO_LIBTOOL_VERSION_INFO@
-CAIRO_NONPKGCONFIG_CFLAGS = @CAIRO_NONPKGCONFIG_CFLAGS@
-CAIRO_NONPKGCONFIG_LIBS = @CAIRO_NONPKGCONFIG_LIBS@
-CAIRO_RELEASE_STATUS = @CAIRO_RELEASE_STATUS@
-CAIRO_REQUIRES = @CAIRO_REQUIRES@
-CAIRO_TEST_MODE = @CAIRO_TEST_MODE@
-CAIRO_TEST_UNDEFINED_LDFLAGS = @CAIRO_TEST_UNDEFINED_LDFLAGS@
-CAIRO_VERSION_MAJOR = @CAIRO_VERSION_MAJOR@
-CAIRO_VERSION_MICRO = @CAIRO_VERSION_MICRO@
-CAIRO_VERSION_MINOR = @CAIRO_VERSION_MINOR@
-CAIRO_VERSION_SONUM = @CAIRO_VERSION_SONUM@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FIND = @FIND@
-FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
-FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
-FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
-FREETYPE_CONFIG = @FREETYPE_CONFIG@
-FREETYPE_LIBS = @FREETYPE_LIBS@
-GOBJECT_CFLAGS = @GOBJECT_CFLAGS@
-GOBJECT_LIBS = @GOBJECT_LIBS@
-GREP = @GREP@
-GS = @GS@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBM = @LIBM@
-LIBOBJS = @LIBOBJS@
-LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@
-LIBRSVG_LIBS = @LIBRSVG_LIBS@
-LIBS = @LIBS@
-LIBSPECTRE_CFLAGS = @LIBSPECTRE_CFLAGS@
-LIBSPECTRE_LIBS = @LIBSPECTRE_LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LTP = @LTP@
-LTP_GENHTML = @LTP_GENHTML@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
-PKG_CONFIG = @PKG_CONFIG@
-POPPLER_CFLAGS = @POPPLER_CFLAGS@
-POPPLER_LIBS = @POPPLER_LIBS@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SHLIB_EXT = @SHLIB_EXT@
-SHM_LIBS = @SHM_LIBS@
-SHTOOL = @SHTOOL@
-STRIP = @STRIP@
-VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
-VALGRIND_LIBS = @VALGRIND_LIBS@
-VERSION = @VERSION@
-XARGS = @XARGS@
-XMKMF = @XMKMF@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-cogl_CFLAGS = @cogl_CFLAGS@
-cogl_LIBS = @cogl_LIBS@
-datadir = @datadir@
-datarootdir = @datarootdir@
-directfb_CFLAGS = @directfb_CFLAGS@
-directfb_LIBS = @directfb_LIBS@
-docdir = @docdir@
-drm_CFLAGS = @drm_CFLAGS@
-drm_LIBS = @drm_LIBS@
-dvidir = @dvidir@
-egl_CFLAGS = @egl_CFLAGS@
-egl_LIBS = @egl_LIBS@
-exec_prefix = @exec_prefix@
-gallium_DIR = @gallium_DIR@
-gl_CFLAGS = @gl_CFLAGS@
-gl_LIBS = @gl_LIBS@
-glesv2_CFLAGS = @glesv2_CFLAGS@
-glesv2_LIBS = @glesv2_LIBS@
-glib_CFLAGS = @glib_CFLAGS@
-glib_LIBS = @glib_LIBS@
-gtk_CFLAGS = @gtk_CFLAGS@
-gtk_LIBS = @gtk_LIBS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mesa_DIR = @mesa_DIR@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pixman_CFLAGS = @pixman_CFLAGS@
-pixman_LIBS = @pixman_LIBS@
-png_CFLAGS = @png_CFLAGS@
-png_LIBS = @png_LIBS@
-png_REQUIRES = @png_REQUIRES@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_CFLAGS = @pthread_CFLAGS@
-pthread_LIBS = @pthread_LIBS@
-qt_CFLAGS = @qt_CFLAGS@
-qt_LIBS = @qt_LIBS@
-real_pthread_CFLAGS = @real_pthread_CFLAGS@
-real_pthread_LIBS = @real_pthread_LIBS@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-shm_LIBS = @shm_LIBS@
-skia_DIR = @skia_DIR@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-xcb_CFLAGS = @xcb_CFLAGS@
-xcb_LIBS = @xcb_LIBS@
-xcb_shm_CFLAGS = @xcb_shm_CFLAGS@
-xcb_shm_LIBS = @xcb_shm_LIBS@
-xlib_CFLAGS = @xlib_CFLAGS@
-xlib_LIBS = @xlib_LIBS@
-xlib_xcb_CFLAGS = @xlib_xcb_CFLAGS@
-xlib_xcb_LIBS = @xlib_xcb_LIBS@
-xlib_xrender_CFLAGS = @xlib_xrender_CFLAGS@
-xlib_xrender_LIBS = @xlib_xrender_LIBS@
-BUILT_SOURCES = 
-CLEANFILES = *.i *.s *.gch $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) \
-       $(check_PROGRAMS) valgrind-log callgrind.out.* index.html
-DISTCLEANFILES = $(BUILT_SOURCES)
-EXTRA_DIST = cairo-perf-diff COPYING Makefile.win32
-EXTRA_LTLIBRARIES = libcairoperf.la
-MAINTAINERCLEANFILES = Makefile.in
-libcairoperf_sources = \
-       cairo-perf.c            \
-       cairo-perf-report.c     \
-       cairo-stats.c           \
-       $(NULL)
-
-libcairoperf_external_sources = ../src/cairo-time.c
-libcairoperf_headers = \
-       cairo-perf.h   \
-       cairo-stats.h  \
-       $(NULL)
-
-cairo_analyse_trace_sources = cairo-analyse-trace.c
-cairo_analyse_trace_external_sources = ../src/cairo-error.c
-cairo_perf_trace_sources = cairo-perf-trace.c
-cairo_perf_trace_external_sources = \
-       ../src/cairo-error.c \
-       ../src/cairo-hash.c \
-       $(NULL)
-
-cairo_perf_micro_sources = cairo-perf-micro.c
-cairo_perf_diff_files_sources = cairo-perf-diff-files.c
-cairo_perf_print_sources = cairo-perf-print.c
-cairo_perf_chart_sources = cairo-perf-chart.c
-cairo_perf_compare_backends_sources = cairo-perf-compare-backends.c
-cairo_perf_graph_files_sources = \
-       cairo-perf-graph-files.c        \
-       cairo-perf-graph-widget.c       \
-       $(NULL)
-
-cairo_perf_graph_files_headers = cairo-perf-graph.h
-AM_CPPFLAGS = \
-       -I$(srcdir)                             \
-       -I$(top_srcdir)/boilerplate             \
-       -I$(top_srcdir)/src                     \
-       -I$(top_srcdir)/util/cairo-missing      \
-       -I$(top_srcdir)/util/cairo-script       \
-       -I$(top_builddir)/src                   \
-       $(CAIRO_CFLAGS)
-
-AM_LDFLAGS = $(CAIRO_LDFLAGS)
-SUBDIRS = micro
-LDADD = libcairoperf.la \
-       $(top_builddir)/boilerplate/libcairoboilerplate.la \
-       $(top_builddir)/src/libcairo.la
-
-cairo_perf_micro_SOURCES = $(cairo_perf_micro_sources)
-cairo_perf_micro_LDADD = \
-       $(top_builddir)/perf/micro/libcairo-perf-micro.la \
-       $(LDADD)
-
-cairo_perf_micro_DEPENDENCIES = \
-       $(top_builddir)/perf/micro/libcairo-perf-micro.la \
-       $(LDADD)
-
-libcairoperf_la_SOURCES = \
-       $(libcairoperf_sources) \
-       $(libcairoperf_external_sources) \
-       $(libcairoperf_headers) \
-       $(NULL)
-
-cairo_analyse_trace_SOURCES = \
-       $(cairo_analyse_trace_sources)  \
-       $(cairo_analyse_trace_external_sources)
-
-cairo_analyse_trace_LDADD = \
-       $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-       $(top_builddir)/util/cairo-missing/libcairo-missing.la \
-       $(LDADD)
-
-cairo_analyse_trace_DEPENDENCIES = \
-       $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-       $(top_builddir)/util/cairo-missing/libcairo-missing.la \
-       $(LDADD)
-
-cairo_perf_trace_SOURCES = \
-       $(cairo_perf_trace_sources)     \
-       $(cairo_perf_trace_external_sources)
-
-cairo_perf_trace_LDADD = \
-       $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-       $(top_builddir)/util/cairo-missing/libcairo-missing.la \
-       $(LDADD)
-
-cairo_perf_trace_DEPENDENCIES = \
-       $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-       $(top_builddir)/util/cairo-missing/libcairo-missing.la \
-       $(LDADD)
-
-cairo_perf_diff_files_SOURCES = $(cairo_perf_diff_files_sources)
-cairo_perf_print_SOURCES = $(cairo_perf_print_sources)
-cairo_perf_chart_SOURCES = $(cairo_perf_chart_sources)
-cairo_perf_compare_backends_SOURCES = $(cairo_perf_compare_backends_sources)
-cairo_perf_graph_files_SOURCES = \
-       $(cairo_perf_graph_files_sources)       \
-       $(cairo_perf_graph_files_headers)
-
-cairo_perf_graph_files_CFLAGS = @gtk_CFLAGS@
-cairo_perf_graph_files_LDADD = @gtk_LIBS@ $(LDADD)
-
-# Do a funny transition of CAIRO_TEST_TARGET through TARGETS such that
-# one can limit tested targets both through CAIRO_TEST_TARGET env var
-# and TARGETS make var on the command line.  Same for the rest.
-TARGETS = $(CAIRO_TEST_TARGET)
-TARGETS_EXCLUDE = $(CAIRO_TEST_TARGET_EXCLUDE)
-ITERS = $(CAIRO_PERF_ITERATIONS)
-CAIRO_PERF_ENVIRONMENT = CAIRO_PERF_ITERATIONS="$(ITERS)" CAIRO_TEST_TARGET="$(TARGETS)" CAIRO_TEST_TARGET_EXCLUDE="$(TARGETS_EXCLUDE)"
-EXTRA_VALGRIND_FLAGS = $(CAIRO_EXTRA_VALGRIND_FLAGS)
-VALGRIND_MEMCHECK_FLAGS = \
-       --tool=memcheck \
-       --suppressions=$(top_srcdir)/test/.valgrind-suppressions \
-       --leak-check=yes --show-reachable=yes
-
-VALGRIND_CALLGRIND_FLAGS = \
-       --tool=callgrind
-
-all: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/Makefile.am.common $(top_srcdir)/perf/Makefile.sources $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign perf/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign perf/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-libcairoperf.la: $(libcairoperf_la_OBJECTS) $(libcairoperf_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(LINK)  $(libcairoperf_la_OBJECTS) $(libcairoperf_la_LIBADD) $(LIBS)
-
-clean-checkPROGRAMS:
-       @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-
-clean-noinstPROGRAMS:
-       @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-cairo-analyse-trace$(EXEEXT): $(cairo_analyse_trace_OBJECTS) $(cairo_analyse_trace_DEPENDENCIES) 
-       @rm -f cairo-analyse-trace$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(cairo_analyse_trace_OBJECTS) $(cairo_analyse_trace_LDADD) $(LIBS)
-cairo-perf-chart$(EXEEXT): $(cairo_perf_chart_OBJECTS) $(cairo_perf_chart_DEPENDENCIES) 
-       @rm -f cairo-perf-chart$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(cairo_perf_chart_OBJECTS) $(cairo_perf_chart_LDADD) $(LIBS)
-cairo-perf-compare-backends$(EXEEXT): $(cairo_perf_compare_backends_OBJECTS) $(cairo_perf_compare_backends_DEPENDENCIES) 
-       @rm -f cairo-perf-compare-backends$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(cairo_perf_compare_backends_OBJECTS) $(cairo_perf_compare_backends_LDADD) $(LIBS)
-cairo-perf-diff-files$(EXEEXT): $(cairo_perf_diff_files_OBJECTS) $(cairo_perf_diff_files_DEPENDENCIES) 
-       @rm -f cairo-perf-diff-files$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(cairo_perf_diff_files_OBJECTS) $(cairo_perf_diff_files_LDADD) $(LIBS)
-cairo-perf-graph-files$(EXEEXT): $(cairo_perf_graph_files_OBJECTS) $(cairo_perf_graph_files_DEPENDENCIES) 
-       @rm -f cairo-perf-graph-files$(EXEEXT)
-       $(AM_V_CCLD)$(cairo_perf_graph_files_LINK) $(cairo_perf_graph_files_OBJECTS) $(cairo_perf_graph_files_LDADD) $(LIBS)
-cairo-perf-micro$(EXEEXT): $(cairo_perf_micro_OBJECTS) $(cairo_perf_micro_DEPENDENCIES) 
-       @rm -f cairo-perf-micro$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(cairo_perf_micro_OBJECTS) $(cairo_perf_micro_LDADD) $(LIBS)
-cairo-perf-print$(EXEEXT): $(cairo_perf_print_OBJECTS) $(cairo_perf_print_DEPENDENCIES) 
-       @rm -f cairo-perf-print$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(cairo_perf_print_OBJECTS) $(cairo_perf_print_LDADD) $(LIBS)
-cairo-perf-trace$(EXEEXT): $(cairo_perf_trace_OBJECTS) $(cairo_perf_trace_DEPENDENCIES) 
-       @rm -f cairo-perf-trace$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(cairo_perf_trace_OBJECTS) $(cairo_perf_trace_LDADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-analyse-trace.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-error.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-hash.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-perf-chart.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-perf-compare-backends.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-perf-diff-files.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-perf-micro.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-perf-print.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-perf-report.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-perf-trace.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-perf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-stats.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-time.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-files.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-widget.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-cairo-time.lo: ../src/cairo-time.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cairo-time.lo -MD -MP -MF $(DEPDIR)/cairo-time.Tpo -c -o cairo-time.lo `test -f '../src/cairo-time.c' || echo '$(srcdir)/'`../src/cairo-time.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/cairo-time.Tpo $(DEPDIR)/cairo-time.Plo
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../src/cairo-time.c' object='cairo-time.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cairo-time.lo `test -f '../src/cairo-time.c' || echo '$(srcdir)/'`../src/cairo-time.c
-
-cairo-error.o: ../src/cairo-error.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cairo-error.o -MD -MP -MF $(DEPDIR)/cairo-error.Tpo -c -o cairo-error.o `test -f '../src/cairo-error.c' || echo '$(srcdir)/'`../src/cairo-error.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/cairo-error.Tpo $(DEPDIR)/cairo-error.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../src/cairo-error.c' object='cairo-error.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cairo-error.o `test -f '../src/cairo-error.c' || echo '$(srcdir)/'`../src/cairo-error.c
-
-cairo-error.obj: ../src/cairo-error.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cairo-error.obj -MD -MP -MF $(DEPDIR)/cairo-error.Tpo -c -o cairo-error.obj `if test -f '../src/cairo-error.c'; then $(CYGPATH_W) '../src/cairo-error.c'; else $(CYGPATH_W) '$(srcdir)/../src/cairo-error.c'; fi`
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/cairo-error.Tpo $(DEPDIR)/cairo-error.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../src/cairo-error.c' object='cairo-error.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cairo-error.obj `if test -f '../src/cairo-error.c'; then $(CYGPATH_W) '../src/cairo-error.c'; else $(CYGPATH_W) '$(srcdir)/../src/cairo-error.c'; fi`
-
-cairo_perf_graph_files-cairo-perf-graph-files.o: cairo-perf-graph-files.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cairo_perf_graph_files_CFLAGS) $(CFLAGS) -MT cairo_perf_graph_files-cairo-perf-graph-files.o -MD -MP -MF $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-files.Tpo -c -o cairo_perf_graph_files-cairo-perf-graph-files.o `test -f 'cairo-perf-graph-files.c' || echo '$(srcdir)/'`cairo-perf-graph-files.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-files.Tpo $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-files.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='cairo-perf-graph-files.c' object='cairo_perf_graph_files-cairo-perf-graph-files.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cairo_perf_graph_files_CFLAGS) $(CFLAGS) -c -o cairo_perf_graph_files-cairo-perf-graph-files.o `test -f 'cairo-perf-graph-files.c' || echo '$(srcdir)/'`cairo-perf-graph-files.c
-
-cairo_perf_graph_files-cairo-perf-graph-files.obj: cairo-perf-graph-files.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cairo_perf_graph_files_CFLAGS) $(CFLAGS) -MT cairo_perf_graph_files-cairo-perf-graph-files.obj -MD -MP -MF $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-files.Tpo -c -o cairo_perf_graph_files-cairo-perf-graph-files.obj `if test -f 'cairo-perf-graph-files.c'; then $(CYGPATH_W) 'cairo-perf-graph-files.c'; else $(CYGPATH_W) '$(srcdir)/cairo-perf-graph-files.c'; fi`
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-files.Tpo $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-files.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='cairo-perf-graph-files.c' object='cairo_perf_graph_files-cairo-perf-graph-files.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cairo_perf_graph_files_CFLAGS) $(CFLAGS) -c -o cairo_perf_graph_files-cairo-perf-graph-files.obj `if test -f 'cairo-perf-graph-files.c'; then $(CYGPATH_W) 'cairo-perf-graph-files.c'; else $(CYGPATH_W) '$(srcdir)/cairo-perf-graph-files.c'; fi`
-
-cairo_perf_graph_files-cairo-perf-graph-widget.o: cairo-perf-graph-widget.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cairo_perf_graph_files_CFLAGS) $(CFLAGS) -MT cairo_perf_graph_files-cairo-perf-graph-widget.o -MD -MP -MF $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-widget.Tpo -c -o cairo_perf_graph_files-cairo-perf-graph-widget.o `test -f 'cairo-perf-graph-widget.c' || echo '$(srcdir)/'`cairo-perf-graph-widget.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-widget.Tpo $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-widget.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='cairo-perf-graph-widget.c' object='cairo_perf_graph_files-cairo-perf-graph-widget.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cairo_perf_graph_files_CFLAGS) $(CFLAGS) -c -o cairo_perf_graph_files-cairo-perf-graph-widget.o `test -f 'cairo-perf-graph-widget.c' || echo '$(srcdir)/'`cairo-perf-graph-widget.c
-
-cairo_perf_graph_files-cairo-perf-graph-widget.obj: cairo-perf-graph-widget.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cairo_perf_graph_files_CFLAGS) $(CFLAGS) -MT cairo_perf_graph_files-cairo-perf-graph-widget.obj -MD -MP -MF $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-widget.Tpo -c -o cairo_perf_graph_files-cairo-perf-graph-widget.obj `if test -f 'cairo-perf-graph-widget.c'; then $(CYGPATH_W) 'cairo-perf-graph-widget.c'; else $(CYGPATH_W) '$(srcdir)/cairo-perf-graph-widget.c'; fi`
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-widget.Tpo $(DEPDIR)/cairo_perf_graph_files-cairo-perf-graph-widget.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='cairo-perf-graph-widget.c' object='cairo_perf_graph_files-cairo-perf-graph-widget.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cairo_perf_graph_files_CFLAGS) $(CFLAGS) -c -o cairo_perf_graph_files-cairo-perf-graph-widget.obj `if test -f 'cairo-perf-graph-widget.c'; then $(CYGPATH_W) 'cairo-perf-graph-widget.c'; else $(CYGPATH_W) '$(srcdir)/cairo-perf-graph-widget.c'; fi`
-
-cairo-hash.o: ../src/cairo-hash.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cairo-hash.o -MD -MP -MF $(DEPDIR)/cairo-hash.Tpo -c -o cairo-hash.o `test -f '../src/cairo-hash.c' || echo '$(srcdir)/'`../src/cairo-hash.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/cairo-hash.Tpo $(DEPDIR)/cairo-hash.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../src/cairo-hash.c' object='cairo-hash.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cairo-hash.o `test -f '../src/cairo-hash.c' || echo '$(srcdir)/'`../src/cairo-hash.c
-
-cairo-hash.obj: ../src/cairo-hash.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cairo-hash.obj -MD -MP -MF $(DEPDIR)/cairo-hash.Tpo -c -o cairo-hash.obj `if test -f '../src/cairo-hash.c'; then $(CYGPATH_W) '../src/cairo-hash.c'; else $(CYGPATH_W) '$(srcdir)/../src/cairo-hash.c'; fi`
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/cairo-hash.Tpo $(DEPDIR)/cairo-hash.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='../src/cairo-hash.c' object='cairo-hash.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cairo-hash.obj `if test -f '../src/cairo-hash.c'; then $(CYGPATH_W) '../src/cairo-hash.c'; else $(CYGPATH_W) '$(srcdir)/../src/cairo-hash.c'; fi`
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
-       @failed=0; all=0; xfail=0; xpass=0; skip=0; \
-       srcdir=$(srcdir); export srcdir; \
-       list=' $(TESTS) '; \
-       $(am__tty_colors); \
-       if test -n "$$list"; then \
-         for tst in $$list; do \
-           if test -f ./$$tst; then dir=./; \
-           elif test -f $$tst; then dir=; \
-           else dir="$(srcdir)/"; fi; \
-           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xpass=`expr $$xpass + 1`; \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=XPASS; \
-             ;; \
-             *) \
-               col=$$grn; res=PASS; \
-             ;; \
-             esac; \
-           elif test $$? -ne 77; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xfail=`expr $$xfail + 1`; \
-               col=$$lgn; res=XFAIL; \
-             ;; \
-             *) \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=FAIL; \
-             ;; \
-             esac; \
-           else \
-             skip=`expr $$skip + 1`; \
-             col=$$blu; res=SKIP; \
-           fi; \
-           echo "$${col}$$res$${std}: $$tst"; \
-         done; \
-         if test "$$all" -eq 1; then \
-           tests="test"; \
-           All=""; \
-         else \
-           tests="tests"; \
-           All="All "; \
-         fi; \
-         if test "$$failed" -eq 0; then \
-           if test "$$xfail" -eq 0; then \
-             banner="$$All$$all $$tests passed"; \
-           else \
-             if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
-             banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
-           fi; \
-         else \
-           if test "$$xpass" -eq 0; then \
-             banner="$$failed of $$all $$tests failed"; \
-           else \
-             if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
-             banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
-           fi; \
-         fi; \
-         dashes="$$banner"; \
-         skipped=""; \
-         if test "$$skip" -ne 0; then \
-           if test "$$skip" -eq 1; then \
-             skipped="($$skip test was not run)"; \
-           else \
-             skipped="($$skip tests were not run)"; \
-           fi; \
-           test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$skipped"; \
-         fi; \
-         report=""; \
-         if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
-           report="Please report to $(PACKAGE_BUGREPORT)"; \
-           test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$report"; \
-         fi; \
-         dashes=`echo "$$dashes" | sed s/./=/g`; \
-         if test "$$failed" -eq 0; then \
-           echo "$$grn$$dashes"; \
-         else \
-           echo "$$red$$dashes"; \
-         fi; \
-         echo "$$banner"; \
-         test -z "$$skipped" || echo "$$skipped"; \
-         test -z "$$report" || echo "$$report"; \
-         echo "$$dashes$$std"; \
-         test "$$failed" -eq 0; \
-       else :; fi
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
-       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile $(PROGRAMS)
-installdirs: installdirs-recursive
-installdirs-am:
-install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-recursive
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
-       clean-noinstPROGRAMS mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am: html-local
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       check-am ctags-recursive install install-am install-strip \
-       tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-TESTS check-am clean \
-       clean-checkPROGRAMS clean-generic clean-libtool \
-       clean-noinstPROGRAMS ctags ctags-recursive distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am html-local info \
-       info-am install install-am install-data install-data-am \
-       install-dvi install-dvi-am install-exec install-exec-am \
-       install-html install-html-am install-info install-info-am \
-       install-man install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags tags-recursive uninstall uninstall-am
-
-
-# Install rules to rebuild the libraries and add explicit dependencies
-$(top_builddir)/perf/micro/libcairo-perf-micro.la:
-       cd $(top_builddir)/perf/micro && $(MAKE) $(AM_MAKEFLAGS) libcairo-perf-micro.la
-
-$(top_builddir)/boilerplate/libcairoboilerplate.la: $(top_builddir)/src/libcairo.la
-       cd $(top_builddir)/boilerplate && $(MAKE) $(AM_MAKEFLAGS) libcairoboilerplate.la
-
-$(top_builddir)/src/libcairo.la:
-       cd $(top_builddir)/src && $(MAKE) $(AM_MAKEFLAGS) libcairo.la
-
-$(top_builddir)/util/cairo-script/libcairo-script-interpreter.la: $(top_builddir)/src/libcairo.la
-       cd $(top_builddir)/util/cairo-script && $(MAKE) $(AM_MAKEFLAGS) libcairo-script-interpreter.la
-
-perf: cairo-perf-micro$(EXEEXT) cairo-perf-trace$(EXEEXT)
-       -$(CAIRO_PERF_ENVIRONMENT) ./cairo-perf-micro$(EXEEXT)
-       -$(CAIRO_PERF_ENVIRONMENT) ./cairo-perf-trace$(EXEEXT)
-
-html-local: index.html
-
-perf-tag.html : cairo-perf-micro${EXEEXT}
-       $(CAIRO_PERF_ENVIRONMENT) ./cairo-perf-diff -t -h $@ `git describe --abbrev=0` HEAD
-perf-commit.html : cairo-perf-micro${EXEEXT}
-       $(CAIRO_PERF_ENVIRONMENT) ./cairo-perf-diff -t -h $@ HEAD
-
-# Summarise changes in index.html, with details in links
-index.html: perf-tag.html perf-commit.html
-       echo "<html><head><title>Performance Changes</title></head><body>Against <a href=\"perf-tag.html\">"`git describe --abbrev=0`"</a><br><a href=\"perf-commit.html\">Latest commit</a></body>" > $@
-
-perf-valgrind:
-       $(MAKE) $(AM_MAKEFLAGS) perf \
-           $(top_builddir)/libtool --mode=execute \
-           valgrind $(VALGRIND_MEMCHECK_FLAGS) $(EXTRA_VALGRIND_FLAGS)' \
-           | tee valgrind-log
-
-perf-callgrind:
-       $(MAKE) $(AM_MAKEFLAGS) perf \
-           $(top_builddir)/libtool --mode=execute \
-           valgrind $(VALGRIND_CALLGRIND_FLAGS) $(EXTRA_VALGRIND_FLAGS)'
-
-.PHONY: perf perf-valgrind perf-callgrind
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/perf/Makefile.sources b/perf/Makefile.sources
deleted file mode 100644 (file)
index 1fcf148..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-libcairoperf_sources = \
-       cairo-perf.c            \
-       cairo-perf-report.c     \
-       cairo-stats.c           \
-       $(NULL)
-
-libcairoperf_external_sources = ../src/cairo-time.c
-
-libcairoperf_headers = \
-       cairo-perf.h   \
-       cairo-stats.h  \
-       $(NULL)
-
-cairo_analyse_trace_sources = cairo-analyse-trace.c
-cairo_analyse_trace_external_sources = ../src/cairo-error.c
-
-cairo_perf_trace_sources = cairo-perf-trace.c
-cairo_perf_trace_external_sources = \
-       ../src/cairo-error.c \
-       ../src/cairo-hash.c \
-       $(NULL)
-
-cairo_perf_micro_sources = cairo-perf-micro.c
-
-cairo_perf_diff_files_sources =        cairo-perf-diff-files.c
-
-cairo_perf_print_sources = cairo-perf-print.c
-
-cairo_perf_chart_sources = cairo-perf-chart.c
-
-cairo_perf_compare_backends_sources = cairo-perf-compare-backends.c
-
-cairo_perf_graph_files_sources =       \
-       cairo-perf-graph-files.c        \
-       cairo-perf-graph-widget.c       \
-       $(NULL)
-
-cairo_perf_graph_files_headers = cairo-perf-graph.h
diff --git a/perf/Makefile.win32 b/perf/Makefile.win32
deleted file mode 100644 (file)
index 084abf0..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-top_srcdir = ..
-include $(top_srcdir)/build/Makefile.win32.common
-include $(top_srcdir)/perf/Makefile.sources
-
-CFLAGS += -I$(top_srcdir)/boilerplate -I$(top_srcdir)/util/cairo-script/
-
-PERF_LIBS = \
-         $(CFG)/libcairoperf.lib       \
-         $(top_builddir)/boilerplate/$(CFG)/boiler.lib \
-         $(top_builddir)/src/$(CFG)/cairo-static.lib   \
-         $(NULL)
-
-PERF_EXES = \
-         $(CFG)/cairo-perf-trace.exe   \
-         $(CFG)/cairo-perf-micro.exe   \
-         $(CFG)/cairo-perf-diff-files.exe      \
-         $(CFG)/cairo-perf-print.exe   \
-         $(CFG)/cairo-perf-chart.exe   \
-         $(CFG)/cairo-perf-compare-backends.exe        \
-         $(NULL)
-
-all: inform $(PERF_EXES)
-
-perf: inform $(CFG)/cairo-perf-micro.exe
-       ./$(CFG)/cairo-perf-micro.exe
-
-
-libcairoperf_OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(libcairoperf_sources))
-
-$(CFG)/libcairoperf.lib: $(libcairoperf_OBJECTS)
-       @$(AR) $(CAIRO_ARFLAGS) -OUT:$@ $(libcairoperf_OBJECTS)
-
-cairo_perf_trace_OBJECTS = \
-       $(patsubst %.c, $(CFG)/%-static.obj, $(cairo_perf_trace_sources))               \
-       $(top_builddir)/util/cairo-script/$(CFG)/libcairo-script-interpreter.lib        \
-       $(NULL)
-
-cairo_perf_micro_OBJECTS = \
-       $(patsubst %.c, $(CFG)/%-static.obj, $(cairo_perf_micro_sources))       \
-       ./micro/$(CFG)/libcairo-perf-micro.lib                                  \
-       $(NULL)
-
-cairo_perf_diff_files_OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(cairo_perf_diff_files_sources))
-cairo_perf_print_OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(cairo_perf_print_sources))
-cairo_perf_chart_OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(cairo_perf_chart_sources))
-cairo_perf_compare_backends_OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(cairo_perf_compare_backends_sources))
-
-
-$(CFG)/cairo-perf-trace.exe: $(cairo_perf_trace_OBJECTS) $(PERF_LIBS)
-       @$(LD) $(CAIRO_LDFLAGS) -OUT:$@ $(cairo_perf_trace_OBJECTS) $(PERF_LIBS) $(CAIRO_LIBS)
-
-$(CFG)/cairo-perf-micro.exe: $(cairo_perf_micro_OBJECTS) $(PERF_LIBS)
-       @$(LD) $(CAIRO_LDFLAGS) -OUT:$@ $(cairo_perf_micro_OBJECTS) $(PERF_LIBS) $(CAIRO_LIBS)
-
-$(CFG)/cairo-perf-diff-files.exe: $(cairo_perf_diff_files_OBJECTS) $(PERF_LIBS)
-       @$(LD) $(CAIRO_LDFLAGS) -OUT:$@ $(cairo_perf_diff_files_OBJECTS) $(PERF_LIBS) $(CAIRO_LIBS)
-
-$(CFG)/cairo-perf-print.exe: $(cairo_perf_print_OBJECTS) $(PERF_LIBS)
-       @$(LD) $(CAIRO_LDFLAGS) -OUT:$@ $(cairo_perf_print_OBJECTS) $(PERF_LIBS) $(CAIRO_LIBS)
-
-$(CFG)/cairo-perf-chart.exe: $(cairo_perf_chart_OBJECTS) $(PERF_LIBS)
-       @$(LD) $(CAIRO_LDFLAGS) -OUT:$@ $(cairo_perf_chart_OBJECTS) $(PERF_LIBS) $(CAIRO_LIBS)
-
-$(CFG)/cairo-perf-compare-backends.exe: $(cairo_perf_compare_backends_OBJECTS) $(PERF_LIBS)
-       @$(LD) $(CAIRO_LDFLAGS) -OUT:$@ $(cairo_perf_compare_backends_OBJECTS) $(PERF_LIBS) $(CAIRO_LIBS)
-
-
-./micro/$(CFG)/libcairo-perf-micro.lib:
-       $(MAKE) -C micro -f Makefile.win32
-
-$(top_builddir)/src/$(CFG)/cairo-static.lib:
-       $(MAKE) -C $(top_srcdir)/src -f Makefile.win32
-
-$(top_builddir)/boilerplate/$(CFG)/boiler.lib:
-       $(MAKE) -C $(top_srcdir)/boilerplate -f Makefile.win32
-
-$(top_builddir)/util/cairo-script/$(CFG)/libcairo-script-interpreter.lib:
-       $(MAKE) -C $(top_srcdir)/util/cairo-script -f Makefile.win32
diff --git a/perf/README b/perf/README
deleted file mode 100644 (file)
index beca927..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-This is cairo's performance test suite.
-
-One of the simplest ways to run the performance suite is:
-
-    make perf
-
-which will give a report of the speed of each individual test. See
-more details on other options for running the suite below.
-
-Running the cairo performance suite
------------------------------------
-The performance suite is composed of two types of tests, micro- and
-macro-benchmarks. The micro-benchmarks are a series of hand-written,
-short, synthetic tests that measure the speed of doing a simple
-operation such as painting a surface or showing glyphs. These aim to
-give very good feedback on whether a performance related patch is
-successful without causing any performance degradations elsewhere. The
-second type of benchmark consists of replaying a cairo-trace from a
-large application during typical usage. These aim to give an overall
-feel as to whether cairo is faster for everyday use.
-
-Running the micro-benchmarks
-----------------------------
-The micro-benchmarks are compiled into a single executable called
-cairo-perf-micro, which is what "make perf" executes. Some
-examples of running it:
-
-    # Report on all tests with default number of iterations:
-    ./cairo-perf-micro
-
-    # Report on 100 iterations of all gradient tests:
-    ./cairo-perf-micro -i 100 gradient
-
-    # Generate raw results for 10 iterations into cairo.perf
-    ./cairo-perf-micro -r -i 10 > cairo.perf
-    # Append 10 more iterations of the paint test
-    ./cairo-perf-micro -r -i 10 paint >> cairo.perf
-
-Raw results aren't useful for reading directly, but are quite useful
-when using cairo-perf-diff to compare separate runs (see more
-below). The advantage of using the raw mode is that test runs can be
-generated incrementally and appended to existing reports.
-
-Running the macro-benchmarks
-----------------------------
-The macro-benchmarks are run by a single program called
-cairo-perf-trace, which is also executed by "make perf".
-cairo-perf-trace loops over the series of traces stored beneath
-cairo-traces/. cairo-perf-trace produces the same output and takes the
-same arguments as cairo-perf-micro.  Some examples of running it:
-
-    # Report on all tests with default number of iterations:
-    ./cairo-perf-trace
-
-    # Report on 100 iterations of all firefox tests:
-    ./cairo-perf-trace -i 100 firefox
-
-    # Generate raw results for 10 iterations into cairo.perf
-    ./cairo-perf-trace -r -i 10 > cairo.perf
-    # Append 10 more iterations of the poppler tests
-    ./cairo-perf-trace -r -i 10 poppler >> cairo.perf
-
-Generating comparisons of separate runs
----------------------------------------
-It's often useful to generate a chart showing the comparison of two
-separate runs of the cairo performance suite, (for example, after
-applying a patch intended to improve cairo's performance). The
-cairo-perf-diff script can be used to compare two report files
-generated by cairo-perf.
-
-Again, by way of example:
-
-    # Show performance changes from cairo-orig.perf to cairo-patched.perf
-    ./cairo-perf-diff cairo-orig.perf cairo-patched.perf
-
-This will work whether the data files were generate in raw mode (with
-cairo-perf -r) or cooked, (cairo-perf without -r).
-
-Finally, in its most powerful mode, cairo-perf-diff accepts two git
-revisions and will do all the work of checking each revision out,
-building it, running cairo-perf for each revision, and finally
-generating the report. Obviously, this mode only works if you are
-using cairo within a git repository, (and not from a tar file). Using
-this mode is as simple as passing the git revisions to be compared to
-cairo-perf-diff:
-
-    # Compare cairo 1.2.6 to cairo 1.4.0
-    ./cairo-perf-diff 1.2.6 1.4.0
-
-    # Measure the impact of the latest commit
-    ./cairo-perf-diff HEAD~1 HEAD
-
-As a convenience, this common desire to measure a single commit is
-supported by passing a single revision to cairo-perf-diff, in which
-case it will compare it to the immediately preceding commit. So for
-example:
-
-    # Measure the impact of the latest commit
-    ./cairo-perf-diff HEAD
-
-    # Measure the impact of an arbitrary commit by SHA-1
-    ./cairo-perf-diff aa883123d2af90
-
-Also, when passing git revisions to cairo-perf-diff like this, it will
-automatically cache results and re-use them rather than re-running
-cairo-perf over and over on the same versions. This means that if you
-ask for a report that you've generated in the past, cairo-perf-diff
-should return it immediately.
-
-Now, sometimes it is desirable to generate more iterations rather than
-re-using cached results. In this case, the -f flag can be used to
-force cairo-perf-diff to generate additional results in addition to
-what has been cached:
-
-    # Measure the impact of latest commit (force more measurement)
-    ./cairo-perf-diff -f
-
-And finally, the -f mode is most useful in conjunction with the --
-option to cairo-perf-diff which allows you to pass options to the
-underlying cairo-perf runs. This allows you to restrict the additional
-test runs to a limited subset of the tests.
-
-For example, a frequently used trick is to first generate a chart with
-a very small number of iterations for all tests:
-
-    ./cairo-perf-diff HEAD
-
-Then, if any of the results look suspicious, (say there's a slowdown
-reported in the text tests, but you think the text test shouldn't be
-affected), then you can force more iterations to be tested for only
-those tests:
-
-    ./cairo-perf-diff -f HEAD -- text
-
-Generating comparisons of different backends
---------------------------------------------
-An alternate question that is often asked is, "how does the speed of one
-backend compare to another?". cairo-perf-compare-backends can read files
-generated by cairo-perf and produces a comparison of the backends for every
-test.
-
-Again, by way of example:
-
-    # Show relative performance of the backends
-    ./cairo-perf-compare-backends cairo.perf
-
-This will work whether the data files were generate in raw mode (with
-cairo-perf -r) or cooked, (cairo-perf without -r).
-
-
-Creating a new performance test
--------------------------------
-This is where we could use everybody's help. If you have encountered a
-sequence of cairo operations that are slower than you would like, then
-please provide a performance test. Writing a test is very simple, it
-requires you to write only a small C file with a couple of functions,
-one of which exercises the cairo calls of interest.
-
-Here is the basic structure of a performance test file:
-
-    /* Copyright © 2006 Kind Cairo User
-     *
-     * ... Licensing information here ...
-     * Please copy the MIT blurb as in other tests
-     */
-
-    #include "cairo-perf.h"
-
-    static cairo_time_t
-    do_my_new_test (cairo_t *cr, int width, int height)
-    {
-       cairo_perf_timer_start ();
-
-       /* Make the cairo calls to be measured */
-
-       cairo_perf_timer_stop ();
-
-       return cairo_perf_timer_elapsed ();
-    }
-
-    void
-    my_new_test (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-    {
-       /* First do any setup for which the execution time should not
-        * be measured. For example, this might include loading
-        * images from disk, creating patterns, etc. */
-
-       /* Then launch the actual performance testing. */
-       cairo_perf_run (perf, "my_new_test", do_my_new_test);
-
-       /* Finally, perform any cleanup from the setup above. */
-    }
-
-That's really all there is to writing a new test. The first function
-above is the one that does the real work and returns a timing
-number. The second function is the one that will be called by the
-performance test rig (see below for how to accomplish that), and
-allows for multiple performance cases to be written in one file,
-(simply call cairo_perf_run once for each case, passing the
-appropriate callback function to each).
-
-We go through this dance of indirectly calling your own function
-through cairo_perf_run so that cairo_perf_run can call your function
-many times and measure statistical properties over the many runs.
-
-Finally, to fully integrate your new test case you just need to add
-your new test to three different lists. (TODO: We should set this up
-better so that the lists are maintained automatically---computed from
-the list of files in cairo/perf, for example). Here's what needs to be
-added:
-
- 1. Makefile.am: Add the new file name to the cairo_perf_SOURCES list
-
- 2. cairo-perf.h: Add a new CAIRO_PERF_DECL line with the name of your
-    function, (my_new_test in the example above)
-
- 3. cairo-perf-micro.c: Add a new row to the list at the end of the
-    file. A typical entry would look like:
-
-       { my_new_test, 16, 64 }
-
-    The last two numbers are a minimum and a maximum image size at
-    which your test should be exercised. If these values are the same,
-    then only that size will be used. If they are different, then
-    intermediate sizes will be used by doubling. So in the example
-    above, three tests would be performed at sizes of 16x16, 32x32 and
-    64x64.
-
-
-How to record new traces
------------------------
-Using cairo-trace you can record the exact sequence of graphic operations
-made by an application and replay them later. These traces can then be
-used by cairo-perf-trace to benchmark the various backends and patches.
-
-To record a trace:
-$ cairo-trace --no-mark-dirty --no-callers $APPLICATION [$ARGV]
-
---no-mark-dirty is useful for applications that are paranoid about
-surfaces being modified by external plugins outside of their control, the
-prime example here is firefox.
---no-callers disables the symbolic caller lookup and so speeds tracing
-(dramatically for large c++ programs) and similarly speeds up the replay
-as the files are much smaller.
-
-The output file will be called $APPLICATION.$PID.trace, the actual path
-written to will be displayed on the terminal.
-
-Alternatively you can use:
-$ cairo-trace --profile $APPLICATION [$ARGV]
-which automatically passes --no-mark-dirty and --no-callers and compresses
-the resultant trace using LZMA. To use the trace with cairo-perf-trace you
-will first need to decompress it.
-
-Then to use cairo-perf-trace:
-$ ./cairo-perf-trace $APPLICATION.$PID.trace
-
-Alternatively you can put the trace into perf/cairo-traces, or set
-CAIRO_TRACE_DIR to point to your trace directory, and the trace will be
-included in the performance tests.
-
-If you record an interesting trace, please consider sharing it by compressing
-it, LZMA preferred, and posting a link to cairo@cairographics.org, or by
-uploading it to git.cairographics.org/cairo-traces.
-
-
-How to run cairo-perf-diff on WINDOWS
--------------------------------------
-This section explains the specifics of running cairo-perf-diff under
-win32 plateforms. It assumes that you have installed a UNIX-like shell
-environment such as MSYS (distributed as part of MinGW).
-
- 1. From your Mingw32 window, be sure to have all of your MSVC environ-
-    ment variables set up for proper compilation using 'make'
-
- 2. Add the %GitBaseDir%/Git/bin path to your environment, replacing the 
-    %GitBaseDir% by whatever directory your Git version is installed to.
-
- 3. Comment out the "UNSET CDPATH" line in the git-sh-setup script 
-    (located inside the ...Git/bin directory) by putting a "#" at the 
-    beginning of the line.
-
-you should be ready to go !
-
-From your mingw32 window, go to your cairo/perf directory and run the 
-cairo-perf-diff script with the right arguments.
-
-Thanks for your contributions and have fun with cairo!
diff --git a/perf/cairo-analyse-trace.c b/perf/cairo-analyse-trace.c
deleted file mode 100644 (file)
index 9941486..0000000
+++ /dev/null
@@ -1,592 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright © 2006 Mozilla Corporation
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2009 Chris Wilson
- * Copyright © 2011 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Vladimir Vukicevic <vladimir@pobox.com>
- *         Carl Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#define _GNU_SOURCE 1  /* for sched_getaffinity() and getline() */
-
-#include "../cairo-version.h" /* for the real version */
-
-#include "cairo-perf.h"
-#include "cairo-stats.h"
-
-#include "cairo-boilerplate-getopt.h"
-#include <cairo-script-interpreter.h>
-#include "cairo-missing.h"
-
-/* rudely reuse bits of the library... */
-#include "../src/cairo-error-private.h"
-
-/* For basename */
-#ifdef HAVE_LIBGEN_H
-#include <libgen.h>
-#endif
-#include <ctype.h> /* isspace() */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifdef _MSC_VER
-#include "dirent-win32.h"
-
-static char *
-basename_no_ext (char *path)
-{
-    static char name[_MAX_FNAME + 1];
-
-    _splitpath (path, NULL, NULL, name, NULL);
-
-    name[_MAX_FNAME] = '\0';
-
-    return name;
-}
-
-
-#else
-#include <dirent.h>
-
-static char *
-basename_no_ext (char *path)
-{
-    char *dot, *name;
-
-    name = basename (path);
-
-    dot = strchr (name, '.');
-    if (dot)
-       *dot = '\0';
-
-    return name;
-}
-
-#endif
-
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include <signal.h>
-
-#if HAVE_FCFINI
-#include <fontconfig/fontconfig.h>
-#endif
-
-struct trace {
-    const cairo_boilerplate_target_t *target;
-    void            *closure;
-    cairo_surface_t *surface;
-};
-
-cairo_bool_t
-cairo_perf_can_run (cairo_perf_t *perf,
-                   const char   *name,
-                   cairo_bool_t *is_explicit)
-{
-    unsigned int i;
-    char *copy, *dot;
-    cairo_bool_t ret;
-
-    if (is_explicit)
-       *is_explicit = FALSE;
-
-    if (perf->exact_names) {
-       if (is_explicit)
-           *is_explicit = TRUE;
-       return TRUE;
-    }
-
-    if (perf->num_names == 0 && perf->num_exclude_names == 0)
-       return TRUE;
-
-    copy = xstrdup (name);
-    dot = strchr (copy, '.');
-    if (dot != NULL)
-       *dot = '\0';
-
-    if (perf->num_names) {
-       ret = TRUE;
-       for (i = 0; i < perf->num_names; i++)
-           if (strstr (copy, perf->names[i])) {
-               if (is_explicit)
-                   *is_explicit = strcmp (copy, perf->names[i]) == 0;
-               goto check_exclude;
-           }
-
-       ret = FALSE;
-       goto done;
-    }
-
-check_exclude:
-    if (perf->num_exclude_names) {
-       ret = FALSE;
-       for (i = 0; i < perf->num_exclude_names; i++)
-           if (strstr (copy, perf->exclude_names[i])) {
-               if (is_explicit)
-                   *is_explicit = strcmp (copy, perf->exclude_names[i]) == 0;
-               goto done;
-           }
-
-       ret = TRUE;
-       goto done;
-    }
-
-done:
-    free (copy);
-
-    return ret;
-}
-
-static cairo_surface_t *
-surface_create (void            *closure,
-               cairo_content_t  content,
-               double            width,
-               double            height,
-               long              uid)
-{
-    struct trace *args = closure;
-    return cairo_surface_create_similar (args->surface, content, width, height);
-}
-
-static int user_interrupt;
-
-static void
-interrupt (int sig)
-{
-    if (user_interrupt) {
-       signal (sig, SIG_DFL);
-       raise (sig);
-    }
-
-    user_interrupt = 1;
-}
-
-static void
-describe (cairo_perf_t *perf,
-          void *closure)
-{
-    char *description = NULL;
-
-    if (perf->has_described_backend)
-           return;
-    perf->has_described_backend = TRUE;
-
-    if (perf->target->describe)
-        description = perf->target->describe (closure);
-
-    if (description == NULL)
-        return;
-
-    free (description);
-}
-
-static void
-execute (cairo_perf_t   *perf,
-        struct trace    *args,
-        const char      *trace)
-{
-    char *trace_cpy, *name;
-    const cairo_script_interpreter_hooks_t hooks = {
-       .closure = args,
-       .surface_create = surface_create,
-    };
-
-    trace_cpy = xstrdup (trace);
-    name = basename_no_ext (trace_cpy);
-
-    if (perf->list_only) {
-       printf ("%s\n", name);
-       free (trace_cpy);
-       return;
-    }
-
-    describe (perf, args->closure);
-
-    {
-       cairo_script_interpreter_t *csi;
-       cairo_status_t status;
-       unsigned int line_no;
-
-       csi = cairo_script_interpreter_create ();
-       cairo_script_interpreter_install_hooks (csi, &hooks);
-
-       cairo_script_interpreter_run (csi, trace);
-
-       cairo_script_interpreter_finish (csi);
-
-       line_no = cairo_script_interpreter_get_line_number (csi);
-       status = cairo_script_interpreter_destroy (csi);
-       if (status) {
-           /* XXXX cairo_status_to_string is just wrong! */
-           fprintf (stderr, "Error during replay, line %d: %s\n",
-                    line_no, cairo_status_to_string (status));
-       }
-    }
-    user_interrupt = 0;
-
-    free (trace_cpy);
-}
-
-static void
-usage (const char *argv0)
-{
-    fprintf (stderr,
-"Usage: %s [-l] [-i iterations] [-x exclude-file] [test-names ... | traces ...]\n"
-"\n"
-"Run the cairo trace analysis suite over the given tests (all by default)\n"
-"The command-line arguments are interpreted as follows:\n"
-"\n"
-"  -i  iterations; specify the number of iterations per test case\n"
-"  -l  list only; just list selected test case names without executing\n"
-"  -x  exclude; specify a file to read a list of traces to exclude\n"
-"\n"
-"If test names are given they are used as sub-string matches so a command\n"
-"such as \"%s firefox\" can be used to run all firefox traces.\n"
-"Alternatively, you can specify a list of filenames to execute.\n",
-            argv0, argv0);
-}
-
-static cairo_bool_t
-read_excludes (cairo_perf_t *perf,
-              const char   *filename)
-{
-    FILE *file;
-    char *line = NULL;
-    size_t line_size = 0;
-    char *s, *t;
-
-    file = fopen (filename, "r");
-    if (file == NULL)
-       return FALSE;
-
-    while (getline (&line, &line_size, file) != -1) {
-       /* terminate the line at a comment marker '#' */
-       s = strchr (line, '#');
-       if (s)
-           *s = '\0';
-
-       /* whitespace delimits */
-       s = line;
-       while (*s != '\0' && isspace (*s))
-           s++;
-
-       t = s;
-       while (*t != '\0' && ! isspace (*t))
-           t++;
-
-       if (s != t) {
-           int i = perf->num_exclude_names;
-           perf->exclude_names = xrealloc (perf->exclude_names,
-                                           sizeof (char *) * (i+1));
-           perf->exclude_names[i] = strndup (s, t-s);
-           perf->num_exclude_names++;
-       }
-    }
-    free (line);
-
-    fclose (file);
-
-    return TRUE;
-}
-
-static void
-parse_options (cairo_perf_t *perf,
-              int           argc,
-              char         *argv[])
-{
-    char *end;
-    int c;
-
-    perf->list_only = FALSE;
-    perf->names = NULL;
-    perf->num_names = 0;
-    perf->exclude_names = NULL;
-    perf->num_exclude_names = 0;
-
-    while (1) {
-       c = _cairo_getopt (argc, argv, "i:lx:");
-       if (c == -1)
-           break;
-
-       switch (c) {
-       case 'i':
-           perf->exact_iterations = TRUE;
-           perf->iterations = strtoul (optarg, &end, 10);
-           if (*end != '\0') {
-               fprintf (stderr, "Invalid argument for -i (not an integer): %s\n",
-                        optarg);
-               exit (1);
-           }
-           break;
-       case 'l':
-           perf->list_only = TRUE;
-           break;
-       case 'x':
-           if (! read_excludes (perf, optarg)) {
-               fprintf (stderr, "Invalid argument for -x (not readable file): %s\n",
-                        optarg);
-               exit (1);
-           }
-           break;
-       default:
-           fprintf (stderr, "Internal error: unhandled option: %c\n", c);
-           /* fall-through */
-       case '?':
-           usage (argv[0]);
-           exit (1);
-       }
-    }
-
-    if (optind < argc) {
-       perf->names = &argv[optind];
-       perf->num_names = argc - optind;
-    }
-}
-
-static void
-cairo_perf_fini (cairo_perf_t *perf)
-{
-    cairo_boilerplate_free_targets (perf->targets);
-    cairo_boilerplate_fini ();
-
-    cairo_debug_reset_static_data ();
-#if HAVE_FCFINI
-    FcFini ();
-#endif
-}
-
-static cairo_bool_t
-have_trace_filenames (cairo_perf_t *perf)
-{
-    unsigned int i;
-
-    if (perf->num_names == 0)
-       return FALSE;
-
-#if HAVE_UNISTD_H
-    for (i = 0; i < perf->num_names; i++)
-       if (access (perf->names[i], R_OK) == 0)
-           return TRUE;
-#endif
-
-    return FALSE;
-}
-
-static cairo_status_t
-print (void *closure, const unsigned char *data, unsigned int length)
-{
-    fwrite (data, length, 1, closure);
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static void
-cairo_perf_trace (cairo_perf_t                    *perf,
-                 const cairo_boilerplate_target_t *target,
-                 const char                       *trace)
-{
-    struct trace args;
-    cairo_surface_t *real;
-
-    args.target = target;
-    real = target->create_surface (NULL,
-                                  CAIRO_CONTENT_COLOR_ALPHA,
-                                  1, 1,
-                                  1, 1,
-                                  CAIRO_BOILERPLATE_MODE_PERF,
-                                  &args.closure);
-    args.surface =
-           cairo_surface_create_observer (real,
-                                          CAIRO_SURFACE_OBSERVER_RECORD_OPERATIONS);
-    cairo_surface_destroy (real);
-    if (cairo_surface_status (args.surface)) {
-       fprintf (stderr,
-                "Error: Failed to create target surface: %s\n",
-                target->name);
-       return;
-    }
-
-    printf ("Observing '%s'...", trace);
-    fflush (stdout);
-
-    execute (perf, &args, trace);
-
-    printf ("\n");
-    cairo_device_observer_print (cairo_surface_get_device (args.surface),
-                                print, stdout);
-    fflush (stdout);
-
-    cairo_surface_destroy (args.surface);
-
-    if (target->cleanup)
-       target->cleanup (args.closure);
-}
-
-static void
-warn_no_traces (const char *message,
-               const char *trace_dir)
-{
-    fprintf (stderr,
-"Error: %s '%s'.\n"
-"Have you cloned the cairo-traces repository and uncompressed the traces?\n"
-"  git clone git://anongit.freedesktop.org/cairo-traces\n"
-"  cd cairo-traces && make\n"
-"Or set the env.var CAIRO_TRACE_DIR to point to your traces?\n",
-           message, trace_dir);
-}
-
-static int
-cairo_perf_trace_dir (cairo_perf_t                    *perf,
-                     const cairo_boilerplate_target_t *target,
-                     const char                       *dirname)
-{
-    DIR *dir;
-    struct dirent *de;
-    int num_traces = 0;
-    cairo_bool_t force;
-    cairo_bool_t is_explicit;
-
-    dir = opendir (dirname);
-    if (dir == NULL)
-       return 0;
-
-    force = FALSE;
-    if (cairo_perf_can_run (perf, dirname, &is_explicit))
-       force = is_explicit;
-
-    while ((de = readdir (dir)) != NULL) {
-       char *trace;
-       struct stat st;
-
-       if (de->d_name[0] == '.')
-           continue;
-
-       xasprintf (&trace, "%s/%s", dirname, de->d_name);
-       if (stat (trace, &st) != 0)
-           goto next;
-
-       if (S_ISDIR(st.st_mode)) {
-           num_traces += cairo_perf_trace_dir (perf, target, trace);
-       } else {
-           const char *dot;
-
-           dot = strrchr (de->d_name, '.');
-           if (dot == NULL)
-               goto next;
-           if (strcmp (dot, ".trace"))
-               goto next;
-
-           num_traces++;
-           if (!force && ! cairo_perf_can_run (perf, de->d_name, NULL))
-               goto next;
-
-           cairo_perf_trace (perf, target, trace);
-       }
-next:
-       free (trace);
-
-    }
-    closedir (dir);
-
-    return num_traces;
-}
-
-int
-main (int   argc,
-      char *argv[])
-{
-    cairo_perf_t perf;
-    const char *trace_dir = "cairo-traces:/usr/src/cairo-traces:/usr/share/cairo-traces";
-    unsigned int n;
-    int i;
-
-    parse_options (&perf, argc, argv);
-
-    signal (SIGINT, interrupt);
-
-    if (getenv ("CAIRO_TRACE_DIR") != NULL)
-       trace_dir = getenv ("CAIRO_TRACE_DIR");
-
-    perf.targets = cairo_boilerplate_get_targets (&perf.num_targets, NULL);
-
-    /* do we have a list of filenames? */
-    perf.exact_names = have_trace_filenames (&perf);
-
-    for (i = 0; i < perf.num_targets; i++) {
-       const cairo_boilerplate_target_t *target = perf.targets[i];
-
-       if (! perf.list_only && ! target->is_measurable)
-           continue;
-
-       perf.target = target;
-       perf.has_described_backend = FALSE;
-
-       if (perf.exact_names) {
-           for (n = 0; n < perf.num_names; n++) {
-               struct stat st;
-
-               if (stat (perf.names[n], &st) == 0) {
-                   if (S_ISDIR (st.st_mode)) {
-                       cairo_perf_trace_dir (&perf, target, perf.names[n]);
-                   } else
-                       cairo_perf_trace (&perf, target, perf.names[n]);
-               }
-           }
-       } else {
-           int num_traces = 0;
-           const char *dir;
-
-           dir = trace_dir;
-           do {
-               char buf[1024];
-               const char *end = strchr (dir, ':');
-               if (end != NULL) {
-                   memcpy (buf, dir, end-dir);
-                   buf[end-dir] = '\0';
-                   end++;
-
-                   dir = buf;
-               }
-
-               num_traces += cairo_perf_trace_dir (&perf, target, dir);
-               dir = end;
-           } while (dir != NULL);
-
-           if (num_traces == 0) {
-               warn_no_traces ("Found no traces in", trace_dir);
-               return 1;
-           }
-       }
-
-       if (perf.list_only)
-           break;
-    }
-
-    cairo_perf_fini (&perf);
-
-    return 0;
-}
diff --git a/perf/cairo-perf-chart.c b/perf/cairo-perf-chart.c
deleted file mode 100644 (file)
index df0bd88..0000000
+++ /dev/null
@@ -1,969 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Authors: Carl Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <ctype.h>
-#include <math.h>
-#include <assert.h>
-
-struct chart {
-    cairo_perf_report_t *reports;
-    const char **names;
-
-    cairo_t *cr;
-    int width, height;
-    int num_tests, num_reports;
-    double min_value, max_value;
-
-    cairo_bool_t use_html;
-    cairo_bool_t relative;
-};
-struct color {
-    double red, green, blue;
-};
-
-#define FONT_SIZE 12
-#define PAD (4)
-
-#define MAX(a,b) ((a) > (b) ? (a) : (b))
-
-static double
-to_factor (double x)
-{
-#if 1
-    if (x > 1.)
-       return (x-1) * 100.;
-    else
-       return (1. - 1./x) * 100.;
-#else
-    return log (x);
-#endif
-}
-
-static int
-_double_cmp (const void *_a,
-            const void *_b)
-{
-    const double *a = _a;
-    const double *b = _b;
-
-    if (*a > *b)
-       return 1;
-    if (*a < *b)
-       return -1;
-    return 0;
-}
-
-static void
-trim_outliers (double *values,
-              int     num_values,
-              double *min,
-              double *max)
-{
-    double q1, q3, iqr;
-    double outlier_min, outlier_max;
-    int i;
-
-    /* First, identify any outliers, using the definition of "mild
-     * outliers" from:
-     *
-     *         http://en.wikipedia.org/wiki/Outliers
-     *
-     * Which is that outliers are any values less than Q1 - 1.5 * IQR
-     * or greater than Q3 + 1.5 * IQR where Q1 and Q3 are the first
-     * and third quartiles and IQR is the inter-quartile range (Q3 -
-     * Q1).
-     */
-    qsort (values, num_values,
-          sizeof (double), _double_cmp);
-
-    q1         = values[1*num_values / 6];
-    q3         = values[5*num_values / 6];
-
-    iqr = q3 - q1;
-
-    outlier_min = q1 - 3 * iqr;
-    outlier_max = q3 + 3 * iqr;
-
-    i = 0;
-    while (i < num_values && values[i] < outlier_min)
-       i++;
-    if (i == num_values)
-       return;
-
-    *min = values[i];
-
-    while (i < num_values && values[i] <= outlier_max)
-       i++;
-
-    *max = values[i-1];
-}
-
-static void
-find_ranges (struct chart *chart)
-{
-    test_report_t **tests, *min_test;
-    double *values;
-    int num_values, size_values;
-    double min = 0, max = 0;
-    double test_time;
-    int seen_non_null;
-    int num_tests = 0;
-    double slow_sum = 0, fast_sum = 0, sum;
-    int slow_count = 0, fast_count = 0;
-    int i;
-
-    num_values = 0;
-    size_values = 64;
-    values = xmalloc (size_values * sizeof (double));
-
-    tests = xmalloc (chart->num_reports * sizeof (test_report_t *));
-    for (i = 0; i < chart->num_reports; i++)
-       tests[i] = chart->reports[i].tests;
-
-    while (1) {
-       /* We expect iterations values of 0 when multiple raw reports
-        * for the same test have been condensed into the stats of the
-        * first. So we just skip these later reports that have no
-        * stats. */
-       seen_non_null = 0;
-       for (i = 0; i < chart->num_reports; i++) {
-           while (tests[i]->name && tests[i]->stats.iterations == 0)
-               tests[i]++;
-           if (tests[i]->name)
-               seen_non_null++;
-       }
-       if (! seen_non_null)
-           break;
-
-       num_tests++;
-
-       /* Find the minimum of all current tests, (we have to do this
-        * in case some reports don't have a particular test). */
-       for (i = 0; i < chart->num_reports; i++) {
-           if (tests[i]->name) {
-               min_test = tests[i];
-               break;
-           }
-       }
-       for (++i; i < chart->num_reports; i++) {
-           if (tests[i]->name && test_report_cmp_name (tests[i], min_test) < 0)
-               min_test = tests[i];
-       }
-
-       test_time = 0;
-       for (i = 0; i < chart->num_reports; i++) {
-           double report_time = HUGE_VAL;
-
-           while (tests[i]->name &&
-                  test_report_cmp_name (tests[i], min_test) == 0)
-           {
-               double time = tests[i]->stats.min_ticks;
-               if (time < report_time) {
-                   time /= tests[i]->stats.ticks_per_ms;
-                   if (time < report_time)
-                       report_time = time;
-               }
-               tests[i]++;
-           }
-
-           if (report_time != HUGE_VAL) {
-               if (test_time == 0)
-                   test_time = report_time;
-
-               if (chart->relative) {
-                   if (test_time != report_time) {
-                       double v = to_factor (test_time / report_time);
-                       if (num_values == size_values) {
-                           size_values *= 2;
-                           values = xrealloc (values,
-                                              size_values * sizeof (double));
-                       }
-                       values[num_values++] = v;
-                       if (v < min)
-                           min = v;
-                       if (v > max)
-                           max = v;
-                       if (v > 0)
-                           fast_sum += v/100, fast_count++;
-                       else
-                           slow_sum += v/100, slow_count++;
-                       sum += v/100;
-                       printf ("%s %d: %f\n", min_test->name, num_values, v);
-                   }
-               } else {
-                   if (report_time < min)
-                       min = report_time;
-                   if (report_time > max)
-                       max = report_time;
-               }
-           }
-       }
-    }
-
-    if (chart->relative)
-       trim_outliers (values, num_values, &min, &max);
-    chart->min_value = min;
-    chart->max_value = max;
-    chart->num_tests = num_tests;
-
-    free (values);
-    free (tests);
-
-    printf ("%d: slow[%d] average: %f, fast[%d] average: %f, %f\n",
-           num_values, slow_count, slow_sum / slow_count, fast_count, fast_sum / fast_count, sum / num_values);
-}
-
-#define SET_COLOR(C, R, G, B) (C)->red = (R), (C)->green = (G), (C)->blue = (B)
-static void
-hsv_to_rgb (double       h,
-           double        s,
-           double        v,
-           struct color *color)
-{
-    double m, n, f;
-    int i;
-
-    while (h < 0)
-       h += 6.;
-    while (h > 6.)
-       h -= 6.;
-
-    if (s < 0.)
-       s = 0.;
-    if (s > 1.)
-       s = 1.;
-
-    if (v < 0.)
-       v = 0.;
-    if (v > 1.)
-       v = 1.;
-
-    i = floor (h);
-    f = h - i;
-    if ((i & 1) == 0)
-       f = 1 - f;
-
-    m = v * (1 - s);
-    n = v * (1 - s * f);
-    switch(i){
-    default:
-    case 6:
-    case 0: SET_COLOR (color, v, n, m); break;
-    case 1: SET_COLOR (color, n, v, m); break;
-    case 2: SET_COLOR (color, m, v, n); break;
-    case 3: SET_COLOR (color, m, n, v); break;
-    case 4: SET_COLOR (color, n, m, v); break;
-    case 5: SET_COLOR (color, v, m, n); break;
-    }
-}
-
-static void set_report_color (struct chart *chart, int report)
-{
-    struct color color;
-
-    hsv_to_rgb (6. / chart->num_reports * report, .7, .7, &color);
-    cairo_set_source_rgb (chart->cr, color.red, color.green, color.blue);
-}
-
-static void set_report_gradient (struct chart *chart, int report,
-                                double x, double y, double w, double h)
-{
-    struct color color;
-    cairo_pattern_t *p;
-
-    hsv_to_rgb (6. / chart->num_reports * report, .7, .7, &color);
-
-    p = cairo_pattern_create_linear (x, 0, x+w, 0);
-    cairo_pattern_add_color_stop_rgba (p, 0.0,
-                                      color.red, color.green, color.blue,
-                                      .50);
-    cairo_pattern_add_color_stop_rgba (p, 0.5,
-                                      color.red, color.green, color.blue,
-                                      .50);
-    cairo_pattern_add_color_stop_rgba (p, 1.0,
-                                      color.red, color.green, color.blue,
-                                      1.0);
-    cairo_set_source (chart->cr, p);
-    cairo_pattern_destroy (p);
-}
-
-static void
-test_background (struct chart *c,
-                int           test)
-{
-    double dx, x;
-
-    dx = c->width / (double) c->num_tests;
-    x = dx * test;
-
-    if (test & 1)
-       cairo_set_source_rgba (c->cr, .2, .2, .2, .2);
-    else
-       cairo_set_source_rgba (c->cr, .8, .8, .8, .2);
-
-    cairo_rectangle (c->cr, floor (x), 0,
-                    floor (dx + x) - floor (x), c->height);
-    cairo_fill (c->cr);
-}
-
-static void
-add_chart (struct chart *c,
-          int           test,
-          int           report,
-          double        value)
-{
-    double dx, dy, x;
-
-    if (fabs (value) < 0.1)
-       return;
-
-    if (c->relative) {
-       cairo_text_extents_t extents;
-       char buf[80];
-       double y;
-
-       dy = (c->height/2. - PAD) / MAX (-c->min_value, c->max_value);
-       /* the first report is always skipped, as it is used as the baseline */
-       dx = c->width / (double) (c->num_tests * c->num_reports);
-       x = dx * (c->num_reports * test + report - .5);
-
-       set_report_gradient (c, report,
-                            floor (x), c->height / 2.,
-                            floor (x + dx) - floor (x),
-                            ceil (-dy*value - c->height/2.) + c->height/2.);
-
-       cairo_rectangle (c->cr,
-                        floor (x), c->height / 2.,
-                        floor (x + dx) - floor (x),
-                        ceil (-dy*value - c->height/2.) + c->height/2.);
-       cairo_fill_preserve (c->cr);
-       cairo_save (c->cr);
-       cairo_clip_preserve (c->cr);
-       set_report_color (c, report);
-       cairo_stroke (c->cr);
-       cairo_restore (c->cr);
-
-       /* Skip the label if the difference between the two is less than 0.1% */
-       if (fabs (value) < 0.1)
-               return;
-
-       cairo_save (c->cr);
-       cairo_set_font_size (c->cr, dx - 2);
-
-       if (value < 0) {
-           sprintf (buf, "%.1f", -value/100 + 1);
-       } else {
-           sprintf (buf, "%.1f", value/100 + 1);
-       }
-       cairo_text_extents (c->cr, buf, &extents);
-
-       /* will it be clipped? */
-       y = -dy * value;
-       if (y < -c->height/2) {
-           y = -c->height/2;
-       } else if (y > c->height/2) {
-           y = c->height/2;
-       }
-
-       if (y < 0) {
-           if (y > -extents.width - 6)
-                   y -= extents.width + 6;
-       } else {
-           if (y < extents.width + 6)
-                   y += extents.width + 6;
-       }
-
-       cairo_translate (c->cr,
-                        floor (x) + (floor (x + dx) - floor (x))/2,
-                        floor (y) + c->height/2.);
-       cairo_rotate (c->cr, -M_PI/2);
-       if (y < 0) {
-           cairo_move_to (c->cr, -extents.x_bearing -extents.width - 4, -extents.y_bearing/2);
-       } else {
-           cairo_move_to (c->cr, 2, -extents.y_bearing/2);
-       }
-
-       cairo_set_source_rgb (c->cr, .95, .95, .95);
-       cairo_show_text (c->cr, buf);
-       cairo_restore (c->cr);
-    } else {
-       dy = (c->height - PAD) / c->max_value;
-       dx = c->width / (double) (c->num_tests * (c->num_reports+1));
-       x = dx * ((c->num_reports+1) * test + report + .5);
-
-       set_report_gradient (c, report,
-                        floor (x), c->height,
-                        floor (x + dx) - floor (x),
-                        floor (c->height - dy*value) - c->height);
-
-       cairo_rectangle (c->cr,
-                        floor (x), c->height,
-                        floor (x + dx) - floor (x),
-                        floor (c->height - dy*value) - c->height);
-       cairo_fill_preserve (c->cr);
-       cairo_save (c->cr);
-       cairo_clip_preserve (c->cr);
-       set_report_color (c, report);
-       cairo_stroke (c->cr);
-       cairo_restore (c->cr);
-    }
-}
-
-static void
-add_label (struct chart *c,
-          int           test,
-          const char   *label)
-{
-    cairo_text_extents_t extents;
-    double dx, x;
-
-    cairo_save (c->cr);
-    dx = c->width / (double) c->num_tests;
-    if (dx / 2 - PAD < 4)
-       return;
-    cairo_set_font_size (c->cr, dx / 2 - PAD);
-    cairo_text_extents (c->cr, label, &extents);
-
-    cairo_set_source_rgb (c->cr, .5, .5, .5);
-
-    x = (test + .5) * dx;
-    cairo_save (c->cr);
-    cairo_translate (c->cr, x, c->height - PAD / 2);
-    cairo_rotate (c->cr, -M_PI/2);
-    cairo_move_to (c->cr, 0, -extents.y_bearing/2);
-    cairo_show_text (c->cr, label);
-    cairo_restore (c->cr);
-
-    cairo_save (c->cr);
-    cairo_translate (c->cr, x, PAD / 2);
-    cairo_rotate (c->cr, -M_PI/2);
-    cairo_move_to (c->cr, -extents.width, -extents.y_bearing/2);
-    cairo_show_text (c->cr, label);
-    cairo_restore (c->cr);
-
-    cairo_restore (c->cr);
-}
-
-static void
-add_base_line (struct chart *c)
-{
-    double y;
-
-    cairo_save (c->cr);
-    cairo_set_line_width (c->cr, 2.);
-    if (c->relative) {
-       y = c->height / 2.;
-    } else {
-       y = c->height;
-    }
-    cairo_move_to (c->cr, 0, y);
-    cairo_line_to (c->cr, c->width, y);
-    cairo_set_source_rgb (c->cr, 1, 1, 1);
-    cairo_stroke (c->cr);
-    cairo_restore (c->cr);
-}
-
-static void
-add_absolute_lines (struct chart *c)
-{
-    const double dashes[] = { 2, 4 };
-    const double vlog_steps[] = { 10, 5, 4, 3, 2, 1, .5, .4, .3, .2, .1};
-    double v, y, dy;
-    unsigned int i;
-    char buf[80];
-    cairo_text_extents_t extents;
-
-    v = c->max_value / 2.;
-
-    for (i = 0; i < sizeof (vlog_steps) / sizeof (vlog_steps[0]); i++) {
-       double vlog = log (v) / log (vlog_steps[i]);
-       if (vlog > 1) {
-           v = pow (vlog_steps[i], floor (vlog));
-           goto done;
-       }
-    }
-    return;
-done:
-
-    dy = (c->height - PAD) / c->max_value;
-
-    cairo_save (c->cr);
-    cairo_set_line_width (c->cr, 1.);
-    cairo_set_dash (c->cr, dashes, sizeof (dashes) / sizeof (dashes[0]), 0);
-
-    i = 0;
-    do {
-       y = c->height - ++i * v * dy;
-       if (y < PAD)
-           break;
-
-       cairo_set_font_size (c->cr, 8);
-
-       sprintf (buf, "%.0fs", i*v/1000);
-       cairo_text_extents (c->cr, buf, &extents);
-
-       cairo_set_source_rgba (c->cr, .75, 0, 0, .95);
-       cairo_move_to (c->cr, 1-extents.x_bearing, floor (y) - (extents.height/2 + extents.y_bearing) + .5);
-       cairo_show_text (c->cr, buf);
-
-       cairo_move_to (c->cr, c->width-extents.width-1, floor (y) - (extents.height/2 + extents.y_bearing) + .5);
-       cairo_show_text (c->cr, buf);
-
-       cairo_set_source_rgba (c->cr, .75, 0, 0, .5);
-       cairo_move_to (c->cr,
-                      ceil (extents.width + extents.x_bearing + 2),
-                      floor (y) + .5);
-       cairo_line_to (c->cr,
-                      floor (c->width - (extents.width + extents.x_bearing + 2)),
-                      floor (y) + .5);
-       cairo_stroke (c->cr);
-    } while (1);
-
-    cairo_restore (c->cr);
-}
-
-static void
-add_relative_lines (struct chart *c)
-{
-    const double dashes[] = { 2, 4 };
-    const double v_steps[] = { 10, 5, 1, .5, .1, .05, .01};
-    const int precision_steps[] = { 0, 0, 0, 1, 1, 2, 2};
-    int precision;
-    double v, y, dy, mid;
-    unsigned int i;
-    char buf[80];
-    cairo_text_extents_t extents;
-
-    v = MAX (-c->min_value, c->max_value) / 200;
-
-    for (i = 0; i < sizeof (v_steps) / sizeof (v_steps[0]); i++) {
-       if (v > v_steps[i]) {
-           v = v_steps[i];
-           precision = precision_steps[i];
-           goto done;
-       }
-    }
-    return;
-done:
-
-    mid = c->height/2.;
-    dy = (mid - PAD) / MAX (-c->min_value, c->max_value);
-
-    cairo_save (c->cr);
-    cairo_set_line_width (c->cr, 1.);
-    cairo_set_dash (c->cr, dashes, sizeof (dashes) / sizeof (dashes[0]), 0);
-    cairo_set_font_size (c->cr, 8);
-
-    i = 0;
-    do {
-       y = ++i * v * dy * 100;
-       if (y > mid)
-           break;
-
-       sprintf (buf, "%.*fx", precision, i*v + 1);
-       cairo_text_extents (c->cr, buf, &extents);
-
-       cairo_set_source_rgba (c->cr, .75, 0, 0, .95);
-       cairo_move_to (c->cr, 1-extents.x_bearing, floor (mid + y) - (extents.height/2 + extents.y_bearing) + .5);
-       cairo_show_text (c->cr, buf);
-
-       cairo_move_to (c->cr, c->width-extents.width-1, floor (mid + y) - (extents.height/2 + extents.y_bearing) + .5);
-       cairo_show_text (c->cr, buf);
-
-       cairo_set_source_rgba (c->cr, 0, .75, 0, .95);
-       cairo_move_to (c->cr, 1-extents.x_bearing, ceil (mid - y) - (extents.height/2 + extents.y_bearing) + .5);
-       cairo_show_text (c->cr, buf);
-
-       cairo_move_to (c->cr, c->width-extents.width-1, ceil (mid - y) - (extents.height/2 + extents.y_bearing) + .5);
-       cairo_show_text (c->cr, buf);
-
-       /* trim the dashes to no obscure the labels */
-       cairo_set_source_rgba (c->cr, .75, 0, 0, .5);
-       cairo_move_to (c->cr,
-                      ceil (extents.width + extents.x_bearing + 2),
-                      floor (mid + y) + .5);
-       cairo_line_to (c->cr,
-                      floor (c->width - (extents.width + 2)),
-                      floor (mid + y) + .5);
-       cairo_stroke (c->cr);
-
-       cairo_set_source_rgba (c->cr, 0, .75, 0, .5);
-       cairo_move_to (c->cr,
-                      ceil (extents.width + extents.x_bearing + 2),
-                      ceil (mid - y) + .5);
-       cairo_line_to (c->cr,
-                      floor (c->width - (extents.width + 2)),
-                      ceil (mid - y) + .5);
-       cairo_stroke (c->cr);
-
-    } while (1);
-
-    cairo_restore (c->cr);
-}
-
-static void
-add_slower_faster_guide (struct chart *c)
-{
-    cairo_text_extents_t extents;
-
-    cairo_save (c->cr);
-
-    cairo_set_font_size (c->cr, FONT_SIZE);
-
-    cairo_text_extents (c->cr, "FASTER", &extents);
-    cairo_set_source_rgba (c->cr, 0, .75, 0, .5);
-    cairo_move_to (c->cr,
-                  c->width/4. - extents.width/2. + extents.x_bearing,
-                  1 - extents.y_bearing);
-    cairo_show_text (c->cr, "FASTER");
-    cairo_move_to (c->cr,
-                  3*c->width/4. - extents.width/2. + extents.x_bearing,
-                  1 - extents.y_bearing);
-    cairo_show_text (c->cr, "FASTER");
-
-    cairo_text_extents (c->cr, "SLOWER", &extents);
-    cairo_set_source_rgba (c->cr, .75, 0, 0, .5);
-    cairo_move_to (c->cr,
-                  c->width/4. - extents.width/2. + extents.x_bearing,
-                  c->height - 1);
-    cairo_show_text (c->cr, "SLOWER");
-    cairo_move_to (c->cr,
-                  3*c->width/4. - extents.width/2. + extents.x_bearing,
-                  c->height - 1);
-    cairo_show_text (c->cr, "SLOWER");
-
-    cairo_restore (c->cr);
-}
-
-static void
-cairo_perf_reports_compare (struct chart *chart,
-                           cairo_bool_t  print)
-{
-    test_report_t **tests, *min_test;
-    double test_time, best_time;
-    int num_test = 0;
-    int seen_non_null;
-    int i;
-
-    tests = xmalloc (chart->num_reports * sizeof (test_report_t *));
-    for (i = 0; i < chart->num_reports; i++)
-       tests[i] = chart->reports[i].tests;
-
-    if (print) {
-       if (chart->use_html) {
-           printf ("<table style=\"text-align:right\" cellspacing=\"4\">\n");
-           printf ("<tr><td></td>");
-           for (i = 0; i < chart->num_reports; i++) {
-               printf ("<td>%s</td>", chart->names[i] ? chart->names[i] : "");
-           }
-           printf ("</tr>\n");
-       }
-    }
-
-    while (1) {
-       /* We expect iterations values of 0 when multiple raw reports
-        * for the same test have been condensed into the stats of the
-        * first. So we just skip these later reports that have no
-        * stats. */
-       seen_non_null = 0;
-       for (i = 0; i < chart->num_reports; i++) {
-           while (tests[i]->name && tests[i]->stats.iterations == 0)
-               tests[i]++;
-           if (tests[i]->name)
-               seen_non_null++;
-       }
-       if (! seen_non_null)
-           break;
-
-       /* Find the minimum of all current tests, (we have to do this
-        * in case some reports don't have a particular test). */
-       for (i = 0; i < chart->num_reports; i++) {
-           if (tests[i]->name) {
-               min_test = tests[i];
-               break;
-           }
-       }
-       for (++i; i < chart->num_reports; i++) {
-           if (tests[i]->name && test_report_cmp_name (tests[i], min_test) < 0)
-               min_test = tests[i];
-       }
-
-       add_label (chart, num_test, min_test->name);
-       if (print) {
-           if (chart->use_html) {
-               printf ("<tr><td>%s</td>", min_test->name);
-           } else {
-               if (min_test->size) {
-                   printf ("%16s, size %4d:\n",
-                           min_test->name,
-                           min_test->size);
-               } else {
-                   printf ("%26s:",
-                           min_test->name);
-               }
-           }
-       }
-
-       test_time = 0;
-       best_time = HUGE_VAL;
-       for (i = 0; i < chart->num_reports; i++) {
-           test_report_t *initial = tests[i];
-           double report_time = HUGE_VAL;
-
-           while (tests[i]->name &&
-                  test_report_cmp_name (tests[i], min_test) == 0)
-           {
-               double time = tests[i]->stats.min_ticks;
-               if (time < report_time) {
-                   time /= tests[i]->stats.ticks_per_ms;
-                   if (time < report_time)
-                       report_time = time;
-               }
-               tests[i]++;
-           }
-
-           if (test_time == 0 && report_time != HUGE_VAL)
-               test_time = report_time;
-           if (report_time < best_time)
-               best_time = report_time;
-
-           tests[i] = initial;
-       }
-
-       for (i = 0; i < chart->num_reports; i++) {
-           double report_time = HUGE_VAL;
-
-           while (tests[i]->name &&
-                  test_report_cmp_name (tests[i], min_test) == 0)
-           {
-               double time = tests[i]->stats.min_ticks;
-               if (time > 0) {
-                   time /= tests[i]->stats.ticks_per_ms;
-                   if (time < report_time)
-                       report_time = time;
-               }
-               tests[i]++;
-           }
-
-           if (print) {
-               if (chart->use_html) {
-                   if (report_time < HUGE_VAL) {
-                       if (report_time / best_time < 1.01) {
-                           printf ("<td><strong>%.1f</strong></td>", report_time/1000);
-                       } else {
-                           printf ("<td>%.1f</td>", report_time/1000);
-                       }
-                   } else {
-                       printf ("<td></td>");
-                   }
-               } else {
-                   if (report_time < HUGE_VAL)
-                       printf (" %6.1f",  report_time/1000);
-                   else
-                       printf ("    ---");
-               }
-           }
-
-           if (report_time < HUGE_VAL) {
-               if (chart->relative) {
-                   add_chart (chart, num_test, i,
-                              to_factor (test_time / report_time));
-               } else {
-                   add_chart (chart, num_test, i, report_time);
-               }
-           }
-       }
-
-       if (print) {
-           if (chart->use_html) {
-               printf ("</tr>\n");
-           } else {
-               printf ("\n");
-           }
-       }
-
-       num_test++;
-    }
-    free (tests);
-
-    if (print) {
-       if (chart->use_html)
-           printf ("</table>\n");
-
-       printf ("\n");
-       for (i = 0; i < chart->num_reports; i++) {
-           if (chart->names[i]) {
-               printf ("[%s] %s\n",
-                       chart->names[i], chart->reports[i].configuration);
-           } else {
-               printf ("[%d] %s\n",
-                       i, chart->reports[i].configuration);
-           }
-       }
-    }
-}
-
-static void
-add_legend (struct chart *chart)
-{
-    cairo_text_extents_t extents;
-    const char *str;
-    int i, x, y;
-
-    cairo_set_font_size (chart->cr, FONT_SIZE);
-
-    x = PAD;
-    y = chart->height + PAD;
-    for (i = chart->relative; i < chart->num_reports; i++) {
-       str = chart->names[i] ?
-             chart->names[i] : chart->reports[i].configuration;
-
-       set_report_color (chart, i);
-
-       cairo_rectangle (chart->cr, x, y + 6, 8, 8);
-       cairo_fill (chart->cr);
-
-       cairo_set_source_rgb (chart->cr, 1, 1, 1);
-       cairo_move_to (chart->cr, x + 10, y + FONT_SIZE + PAD / 2.);
-       cairo_text_extents (chart->cr, str, &extents);
-       cairo_show_text (chart->cr, str);
-
-       x += 10 + 2 * PAD + ceil (extents.width);
-    }
-
-    if (chart->relative) {
-       char buf[80];
-
-       str = chart->names[0] ?
-             chart->names[0] : chart->reports[0].configuration;
-
-       sprintf (buf, "(relative to %s)", str);
-       cairo_text_extents (chart->cr, buf, &extents);
-
-       cairo_set_source_rgb (chart->cr, 1, 1, 1);
-       cairo_move_to (chart->cr,
-                      chart->width - 1 - extents.width,
-                      y + FONT_SIZE + PAD / 2.);
-       cairo_show_text (chart->cr, buf);
-    }
-}
-
-int
-main (int        argc,
-      const char *argv[])
-{
-    cairo_surface_t *surface;
-    struct chart chart;
-    test_report_t *t;
-    int i;
-
-    chart.use_html = 0;
-    chart.width = 640;
-    chart.height = 480;
-
-    chart.reports = xcalloc (argc-1, sizeof (cairo_perf_report_t));
-    chart.names = xcalloc (argc-1, sizeof (cairo_perf_report_t));
-
-    chart.num_reports = 0;
-    for (i = 1; i < argc; i++) {
-       if (strcmp (argv[i], "--html") == 0) {
-           chart.use_html = 1;
-       } else if (strncmp (argv[i], "--width=", 8) == 0) {
-           chart.width = atoi (argv[i] + 8);
-       } else if (strncmp (argv[i], "--height=", 9) == 0) {
-           chart.height = atoi (argv[i] + 9);
-       } else if (strcmp (argv[i], "--name") == 0) {
-           if (i + 1 < argc)
-               chart.names[chart.num_reports] = argv[++i];
-       } else if (strncmp (argv[i], "--name=", 7) == 0) {
-           chart.names[chart.num_reports] = argv[i] + 7;
-       } else {
-           cairo_perf_report_load (&chart.reports[chart.num_reports++],
-                                   argv[i], i,
-                                   test_report_cmp_name);
-       }
-    }
-
-    for (chart.relative = 0; chart.relative <= 1; chart.relative++) {
-       surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                             chart.width,
-                                             chart.height + (FONT_SIZE + PAD) + 2*PAD);
-       chart.cr = cairo_create (surface);
-       cairo_surface_destroy (surface);
-
-       cairo_set_source_rgb (chart.cr, 0, 0, 0);
-       cairo_paint (chart.cr);
-
-       find_ranges (&chart);
-
-       for (i = 0; i < chart.num_tests; i++)
-           test_background (&chart, i);
-       if (chart.relative) {
-           add_relative_lines (&chart);
-           add_slower_faster_guide (&chart);
-       } else
-           add_absolute_lines (&chart);
-
-       cairo_save (chart.cr);
-       cairo_rectangle (chart.cr, 0, 0, chart.width, chart.height);
-       cairo_clip (chart.cr);
-       cairo_perf_reports_compare (&chart, !chart.relative);
-       cairo_restore (chart.cr);
-
-       add_base_line (&chart);
-       add_legend (&chart);
-
-       cairo_surface_write_to_png (cairo_get_target (chart.cr),
-                                   chart.relative ?
-                                   "cairo-perf-chart-relative.png" :
-                                   "cairo-perf-chart-absolute.png");
-       cairo_destroy (chart.cr);
-    }
-
-    /* Pointless memory cleanup, (would be a great place for talloc) */
-    for (i = 0; i < chart.num_reports; i++) {
-       for (t = chart.reports[i].tests; t->name; t++) {
-           free (t->samples);
-           free (t->backend);
-           free (t->name);
-       }
-       free (chart.reports[i].tests);
-       free (chart.reports[i].configuration);
-    }
-    free (chart.names);
-    free (chart.reports);
-
-    return 0;
-}
diff --git a/perf/cairo-perf-compare-backends.c b/perf/cairo-perf-compare-backends.c
deleted file mode 100644 (file)
index 2cbb24c..0000000
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Authors: Carl Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <ctype.h>
-#include <math.h>
-#include <assert.h>
-
-typedef struct _cairo_perf_report_options {
-    double min_change;
-    int use_utf;
-    int print_change_bars;
-} cairo_perf_report_options_t;
-
-typedef struct _cairo_perf_diff_files_args {
-    const char **filenames;
-    int num_filenames;
-    cairo_perf_report_options_t options;
-} cairo_perf_diff_files_args_t;
-
-static int
-test_diff_cmp (const void *a,
-              const void *b)
-{
-    const test_diff_t *a_diff = a;
-    const test_diff_t *b_diff = b;
-
-    /* Reverse sort by magnitude of change so larger changes come
-     * first */
-    if (a_diff->change > b_diff->change)
-       return -1;
-
-    if (a_diff->change < b_diff->change)
-       return 1;
-
-    return 0;
-}
-
-#define CHANGE_BAR_WIDTH 70
-static void
-print_change_bar (double change,
-                 double max_change,
-                 int    use_utf)
-{
-    int units_per_cell = ceil (max_change / CHANGE_BAR_WIDTH);
-    static char const *ascii_boxes[8] = {
-       "****","***" ,"***", "**",
-       "**",  "*",   "*",   ""
-    };
-    static char const *utf_boxes[8] = {
-       "█", "▉", "▊", "▋",
-       "▌", "▍", "▎", "▏"
-    };
-    char const **boxes = use_utf ? utf_boxes : ascii_boxes;
-
-    /* For a 1.0x speedup we want a zero-size bar to show "no
-     * change". */
-    change -= 1.0;
-
-    while (change > units_per_cell) {
-       printf ("%s", boxes[0]);
-       change -= units_per_cell;
-    }
-
-    change /= units_per_cell;
-
-    if (change > 7.5/8.0)
-       printf ("%s", boxes[0]);
-    else if (change > 6.5/8.0)
-       printf ("%s", boxes[1]);
-    else if (change > 5.5/8.0)
-       printf ("%s", boxes[2]);
-    else if (change > 4.5/8.0)
-       printf ("%s", boxes[3]);
-    else if (change > 3.5/8.0)
-       printf ("%s", boxes[4]);
-    else if (change > 2.5/8.0)
-       printf ("%s", boxes[5]);
-    else if (change > 1.5/8.0)
-       printf ("%s", boxes[6]);
-    else if (change > 0.5/8.0)
-       printf ("%s", boxes[7]);
-}
-
-static void
-test_diff_print (test_diff_t                *diff,
-                double                       max_change,
-                cairo_perf_report_options_t *options)
-{
-    int i;
-    double test_time;
-    double change;
-
-    if (diff->tests[0]->size != 0) {
-       printf ("(%s, size: %d)\n",
-               diff->tests[0]->name,
-               diff->tests[0]->size);
-    } else {
-       printf ("(%s)\n", diff->tests[0]->name);
-    }
-
-    for (i = 0; i < diff->num_tests; i++) {
-       test_time = diff->tests[i]->stats.min_ticks;
-       test_time /= diff->tests[i]->stats.ticks_per_ms;
-       change = diff->max / test_time;
-       printf ("%8s-%s-%s\t%6.2f: %5.2fx ",
-               diff->tests[i]->backend,
-               diff->tests[i]->content,
-               diff->tests[i]->configuration,
-               diff->tests[i]->stats.min_ticks / diff->tests[i]->stats.ticks_per_ms,
-               change);
-
-       if (options->print_change_bars)
-           print_change_bar (change, max_change, options->use_utf);
-       printf ("\n");
-    }
-
-    printf("\n");
-}
-
-#define MAX(a,b) ((a) > (b) ? (a) : (b))
-static void
-cairo_perf_reports_compare (cairo_perf_report_t        *reports,
-                           int                          num_reports,
-                           cairo_perf_report_options_t *options)
-{
-    int i;
-    test_report_t **tests, *min_test;
-    test_diff_t *diff, *diffs;
-    int num_diffs, max_diffs;
-    double max_change;
-    double test_time;
-    int seen_non_null;
-
-    tests = xmalloc (num_reports * sizeof (test_report_t *));
-
-    max_diffs = reports[0].tests_count;
-    for (i = 0; i < num_reports; i++) {
-       tests[i] = reports[i].tests;
-       if (reports[i].tests_count > max_diffs)
-           max_diffs = reports[i].tests_count;
-    }
-
-    diff = diffs = xmalloc (max_diffs * sizeof (test_diff_t));
-
-    num_diffs = 0;
-    while (1) {
-       int num_tests;
-
-       /* We expect iterations values of 0 when multiple raw reports
-        * for the same test have been condensed into the stats of the
-        * first. So we just skip these later reports that have no
-        * stats. */
-       seen_non_null = 0;
-       for (i = 0; i < num_reports; i++) {
-           while (tests[i]->name && tests[i]->stats.iterations == 0)
-               tests[i]++;
-           if (tests[i]->name)
-               seen_non_null++;
-       }
-       if (! seen_non_null)
-           break;
-
-       /* Find the minimum of all current tests, (we have to do this
-        * in case some reports don't have a particular test). */
-       for (i = 0; i < num_reports; i++) {
-           if (tests[i]->name) {
-               min_test = tests[i];
-               break;
-           }
-       }
-       for (++i; i < num_reports; i++) {
-           if (tests[i]->name && test_report_cmp_name (tests[i], min_test) < 0)
-               min_test = tests[i];
-       }
-
-       num_tests = 0;
-       for (i = 0; i < num_reports; i++) {
-           test_report_t *test;
-           int n = 0;
-
-           test = tests[i];
-           while (test[n].name &&
-                   test_report_cmp_name (&test[n], min_test) == 0)
-           {
-               n++;
-           }
-
-           num_tests += n;
-       }
-
-       /* For each report that has the current test, record it into
-        * the diff structure. */
-       diff->num_tests = 0;
-       diff->tests = xmalloc (num_tests * sizeof (test_diff_t));
-       for (i = 0; i < num_reports; i++) {
-           while (tests[i]->name &&
-                   test_report_cmp_name (tests[i], min_test) == 0)
-           {
-               test_time = tests[i]->stats.min_ticks;
-               if (test_time > 0) {
-                   test_time /= tests[i]->stats.ticks_per_ms;
-                   if (diff->num_tests == 0) {
-                       diff->min = test_time;
-                       diff->max = test_time;
-                   } else {
-                       if (test_time < diff->min)
-                           diff->min = test_time;
-                       if (test_time > diff->max)
-                           diff->max = test_time;
-                   }
-                   diff->tests[diff->num_tests++] = tests[i];
-               }
-               tests[i]++;
-           }
-       }
-       diff->change = diff->max / diff->min;
-
-       diff++;
-       num_diffs++;
-    }
-    if (num_diffs == 0)
-       goto DONE;
-
-    qsort (diffs, num_diffs, sizeof (test_diff_t), test_diff_cmp);
-
-    max_change = 1.0;
-    for (i = 0; i < num_diffs; i++) {
-       if (fabs (diffs[i].change) > max_change)
-           max_change = fabs (diffs[i].change);
-    }
-
-    for (i = 0; i < num_diffs; i++) {
-       diff = &diffs[i];
-
-       /* Discard as uninteresting a change which is less than the
-        * minimum change required, (default may be overridden on
-        * command-line). */
-       if (fabs (diff->change) - 1.0 < options->min_change)
-           continue;
-
-       test_diff_print (diff, max_change, options);
-    }
-
-    for (i = 0; i < num_diffs; i++)
-       free (diffs[i].tests);
- DONE:
-    free (diffs);
-    free (tests);
-}
-
-static void
-usage (const char *argv0)
-{
-    char const *basename = strrchr(argv0, '/');
-    basename = basename ? basename+1 : argv0;
-    fprintf (stderr,
-            "Usage: %s [options] file [...]\n\n",
-            basename);
-    fprintf (stderr,
-            "Computes significant performance differences for cairo performance reports.\n"
-            "Each file should be the output of the cairo-perf program (or \"make perf\").\n"
-            "The following options are available:\n"
-            "\n"
-            "--no-utf    Use ascii stars instead of utf-8 change bars.\n"
-            "            Four stars are printed per factor of speedup.\n"
-            "\n"
-            "--no-bars   Don't display change bars at all.\n\n"
-            "\n"
-            "--use-ms    Use milliseconds to calculate differences.\n"
-            "            (instead of ticks which are hardware dependent)\n"
-            "\n"
-            "--min-change threshold[%%]\n"
-            "            Suppress all changes below the given threshold.\n"
-            "            The default threshold of 0.05 or 5%% ignores any\n"
-            "            speedup or slowdown of 1.05 or less. A threshold\n"
-            "            of 0 will cause all output to be reported.\n"
-       );
-    exit(1);
-}
-
-static void
-parse_args (int                           argc,
-           char const                   **argv,
-           cairo_perf_diff_files_args_t  *args)
-{
-    int i;
-
-    for (i = 1; i < argc; i++) {
-       if (strcmp (argv[i], "--no-utf") == 0) {
-           args->options.use_utf = 0;
-       }
-       else if (strcmp (argv[i], "--no-bars") == 0) {
-           args->options.print_change_bars = 0;
-       }
-       else if (strcmp (argv[i], "--min-change") == 0) {
-           char *end = NULL;
-           i++;
-           if (i >= argc)
-               usage (argv[0]);
-           args->options.min_change = strtod (argv[i], &end);
-           if (*end) {
-               if (*end == '%') {
-                   args->options.min_change /= 100;
-               } else {
-                   usage (argv[0]);
-               }
-           }
-       }
-       else {
-           args->num_filenames++;
-           args->filenames = xrealloc (args->filenames,
-                                       args->num_filenames * sizeof (char *));
-           args->filenames[args->num_filenames - 1] = argv[i];
-       }
-    }
-}
-
-int
-main (int        argc,
-      const char *argv[])
-{
-    cairo_perf_diff_files_args_t args = {
-       NULL,                   /* filenames */
-       0,                      /* num_filenames */
-       {
-           0.05,               /* min change */
-           1,                  /* use UTF-8? */
-           1,                  /* display change bars? */
-       }
-    };
-    cairo_perf_report_t *reports;
-    test_report_t *t;
-    int i;
-
-    parse_args (argc, argv, &args);
-
-    if (args.num_filenames) {
-       reports = xcalloc (args.num_filenames, sizeof (cairo_perf_report_t));
-       for (i = 0; i < args.num_filenames; i++) {
-           cairo_perf_report_load (&reports[i], args.filenames[i], i,
-                                   test_report_cmp_name);
-           printf ("loaded: %s, %d tests\n",
-                   args.filenames[i], reports[i].tests_count);
-       }
-    } else {
-       args.num_filenames = 1;
-       reports = xcalloc (args.num_filenames, sizeof (cairo_perf_report_t));
-       cairo_perf_report_load (&reports[0], NULL, 0, test_report_cmp_name);
-    }
-
-    cairo_perf_reports_compare (reports, args.num_filenames, &args.options);
-
-    /* Pointless memory cleanup, (would be a great place for talloc) */
-    free (args.filenames);
-    for (i = 0; i < args.num_filenames; i++) {
-       for (t = reports[i].tests; t->name; t++) {
-           free (t->samples);
-           free (t->backend);
-           free (t->name);
-       }
-       free (reports[i].tests);
-       free (reports[i].configuration);
-    }
-    free (reports);
-
-    return 0;
-}
diff --git a/perf/cairo-perf-diff b/perf/cairo-perf-diff
deleted file mode 100755 (executable)
index 5a4b7b3..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-#!/bin/sh
-set -e
-
-usage() {
-    argv0=`basename $0`
-
-    cat >&2 << END
-Usage:
-For comparing files created my cairo-perf:
-
-       $argv0 old.perf new.perf
-
-For comparing (cached) performance of revisions:
-
-       $argv0 [OPTIONS] <revision> [-- cairo-perf options]
-       $argv0 [OPTIONS] <rev1> <rev2> [-- cairo-perf-options]
-
-If given a single revision, compares its results to that of its
-(first-parent) predecessor. Otherwise compares the two given revisions.
-The revisions can be any revision accepted by git. For example:
-
-       $argv0 HEAD             # Show impact of latest commit
-       $argv0 1.2.0 1.2.4      # Compare performance of 1.2.0 to 1.2.4
-
-Options:
-
--f, --force
-       Forces cairo-perf-diff to re-run performance tests
-       even if cached performance data is available.
-
--h, --html
-       With this option performance changes are summarized
-       as HTML table.
-
--t, --trace
-       Compare performance using trace replays instead of
-       microbenchmarks.
-
-Additional options can be passed the child cairo-perf process
-by separating them with a double hyphen (--). For example, to
-examine what the impact of the latest change is on the stroke
-test you might use:
-
-       $argv0 HEAD -- stroke
-
-The performance results are cached in .perf next to the .git directory.
-
-Set CAIRO_AUTOGEN_OPTIONS to pass options to autogen for both
-builds.
-END
-
-    exit 1
-}
-
-benchmark="cairo-perf-micro"
-
-# First, pull off any known options
-while true; do
-    case $1 in
-        -f|--force) force_cairo_perf="true";;
-        -h|--html) html_output="$2"; shift ;;
-        -t|--trace) benchmark="cairo-perf-trace";;
-        *) break;;
-    esac
-
-    shift
-done
-
-# Then if anything is left that still looks like an option, (begins
-# with a dash), give usage to catch --help or any other -garbage
-if [ $# -eq 0 ] || [ "`echo "$1" | sed 's/^-//'`" != "$1" ]; then
-    usage
-fi
-
-# Finally, pick up the actual revision arguments
-if [ $# -eq 1 ] || [ "$2" = "--" ]; then
-    old="$1^"
-    new="$1"
-    shift 1
-else
-    old="$1"
-    new="$2"
-    shift 2
-fi
-
-# And post-finally, pass anything after -- on to cairo-perf
-CAIRO_PERF_OPTIONS="-r -i 10"
-if [ $# -gt 0 ]; then
-    if [ "$1" = "--" ]; then
-       shift 1
-       CAIRO_PERF_OPTIONS="$CAIRO_PERF_OPTIONS $@"
-    else
-       usage
-    fi
-fi
-
-git_setup() {
-    SUBDIRECTORY_OK='Yes'
-    . "$(git --exec-path)/git-sh-setup"
-    CAIRO_DIR=`dirname $GIT_DIR`
-    if [ "$CAIRO_DIR" = "." ]; then
-       CAIRO_DIR=`pwd`
-    fi
-    CAIRO_PERF_DIR=$CAIRO_DIR/.perf
-}
-
-rev2sha() {
-    rev=$1
-    git rev-parse --verify $rev || ( echo "Cannot resolve $rev as a git object" && exit 1 )
-}
-
-cpu_count() {
-    test -f /proc/cpuinfo &&
-    grep -c '^processor[[:blank:]]\+:' /proc/cpuinfo ||
-    echo 1
-}
-
-# We cache performance output based on a two-part name capturing the
-# current performance test suite and the library being tested. We
-# capture these as the tree object of the perf directory in HEAD and
-# the tree object of the src directory of the revision being tested.
-#
-# This way, whenever the performance suite is updated, cached output
-# from old versions of the suite are automatically invalidated. Also,
-# if a commit just changes things outside of the src tree, (say it
-# changes the "test" test suite, or README or configure.in, or
-# whatever), cairo-perf-diff will be smart enough to still use cached
-# results from a run with an equivalent src tree.
-rev2perf() {
-    rev=$1
-    sha=`rev2sha $rev`
-    src_tree_sha=`rev2sha $rev:src`
-    perf_tree_sha=`rev2sha HEAD:perf`
-    script_tree_sha=`rev2sha HEAD:util/cairo-script`
-    echo "$CAIRO_PERF_DIR/${sha}-${perf_tree_sha}-${script_tree_sha}-${src_tree_sha}.perf"
-}
-rev2perf_glob() {
-    rev=$1
-    src_tree_sha=`rev2sha $rev:src`
-    perf_tree_sha=`rev2sha HEAD:perf`
-    script_tree_sha=`rev2sha HEAD:util/cairo-script`
-    echo "$CAIRO_PERF_DIR/*-${perf_tree_sha}-${script_tree_sha}-${src_tree_sha}.perf"
-}
-
-build() {
-    build_dir=$1
-    sha=$2
-
-    if [ ! -d $build_dir ]; then
-       git clone -s $CAIRO_DIR $build_dir
-       (cd $build_dir; git checkout -b tmp-cairo-perf-diff $sha)
-    fi
-    cd $build_dir
-
-    git checkout tmp-cairo-perf-diff
-    git reset --hard $sha
-
-    if [ -z "$MAKEFLAGS" ]; then
-       CPU_COUNT=`cpu_count`
-        export MAKEFLAGS="-j`expr $CPU_COUNT + 1`"
-    fi
-
-    if [ ! -e Makefile ]; then
-       ./autogen.sh $CAIRO_AUTOGEN_OPTIONS
-    fi
-
-    for file in $boilerplate_files; do
-       rsync $CAIRO_DIR/$file boilerplate
-    done
-    for file in $perf_files; do
-       rsync $CAIRO_DIR/$file perf
-    done
-    for file in $script_files; do
-       rsync $CAIRO_DIR/$file util/cairo-script
-    done
-
-    make || (rm config.cache && make)
-    (cd boilerplate && make libcairoboilerplate.la)
-
-    cd perf
-    make ${benchmark}
-}
-
-# Usage: run_cairo_perf_if_not_cached <rev> <suffix>
-# The <rev> argument must be a valid git ref-spec that can
-# be resolved to a commit. The suffix is just something
-# unique so that build directories can be separated for
-# multiple calls to this function.
-run_cairo_perf_if_not_cached() {
-    rev=$1
-    build_dir="build-$2"
-
-    owd=`pwd`
-    sha=`rev2sha $rev`
-    perf=`rev2perf $rev`
-    glob=`rev2perf_glob $rev`
-    if [ -e $glob ] && [ "$force_cairo_perf" != "true" ]; then
-       return 0
-    fi
-    if [ ! -d $CAIRO_PERF_DIR ]; then
-       echo "Creating new perf cache in $CAIRO_PERF_DIR"
-       mkdir $CAIRO_PERF_DIR
-    fi
-
-    cd $CAIRO_DIR
-    boilerplate_files=`git ls-tree --name-only HEAD boilerplate/*`
-    perf_files=`git ls-tree --name-only HEAD perf/*`
-    script_files=`git ls-tree --name-only HEAD util/cairo-script/*`
-    cd $CAIRO_PERF_DIR
-
-    build $build_dir $sha || {
-       rm -rf $build_dir
-       build $build_dir $sha || exit 1
-    }
-
-    echo "Running \"cairo-perf $CAIRO_PERF_OPTIONS\" against $rev. Results will be cached in:"
-    { ./$benchmark $CAIRO_PERF_OPTIONS || echo "*** Performance test crashed"; } >> $perf
-
-    cd $owd
-}
-
-git_setup
-
-if [ -e ./cairo-perf-diff-files ]; then
-       bindir="."
-else
-       bindir=$CAIRO_DIR/perf
-
-       # Build cairo-perf-diff-files if not available
-       if [ ! -e $bindir/cairo-perf-diff-files ]; then
-           echo "Building cairo-perf-diff-files"
-           if [ "x$OS" = "xWindows_NT" ]; then
-               make -f Makefile.win32 -C $bindir cairo-perf-diff-files CFG=debug
-           else
-               make -C $bindir cairo-perf-diff-files
-           fi
-       fi
-fi
-
-if [ ! -e $old ]; then
-    run_cairo_perf_if_not_cached $old old
-    old=`rev2perf $old`
-fi
-
-if [ ! -e $new ]; then
-    run_cairo_perf_if_not_cached $new new
-    new=`rev2perf $new`
-fi
-
-if [ -z "$html_output" ]; then
-    $bindir/cairo-perf-diff-files $old $new
-else
-    $bindir/cairo-perf-diff-files $old $new |
-    $CAIRO_DIR/perf/make-html.py > $html_output
-fi
diff --git a/perf/cairo-perf-diff-files.c b/perf/cairo-perf-diff-files.c
deleted file mode 100644 (file)
index 0850927..0000000
+++ /dev/null
@@ -1,507 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Authors: Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <ctype.h>
-#include <math.h>
-#include <assert.h>
-
-typedef struct _cairo_perf_report_options {
-    double min_change;
-    int use_utf;
-    int print_change_bars;
-    int use_ticks;
-} cairo_perf_report_options_t;
-
-typedef struct _cairo_perf_diff_files_args {
-    const char **filenames;
-    int num_filenames;
-    cairo_perf_report_options_t options;
-} cairo_perf_diff_files_args_t;
-
-static int
-test_diff_cmp_speedup_before_slowdown (const void *a,
-                                      const void *b)
-{
-    const test_diff_t *a_diff = a;
-    const test_diff_t *b_diff = b;
-
-    /* First make all speedups come before all slowdowns. */
-    if (a_diff->change > 0 && b_diff->change < 0)
-       return -1;
-    if (a_diff->change < 0 && b_diff->change > 0)
-       return 1;
-
-    if (a_diff->change == b_diff->change)
-       return 0;
-
-    /* Large speedups come first. */
-    if (a_diff->change > 0) {
-           if (a_diff->change > b_diff->change)
-                   return -1;
-           else
-                   return 1;
-    }
-
-    /* Large slowdowns come last. */
-    if (a_diff->change < 0) {
-           if (a_diff->change < b_diff->change)
-                   return 1;
-           else
-                   return -1;
-    }
-
-    return 0;
-}
-
-static int
-test_diff_cmp (const void *a,
-              const void *b)
-{
-    const test_diff_t *a_diff = a;
-    const test_diff_t *b_diff = b;
-
-    /* Reverse sort by magnitude of change so larger changes come
-     * first */
-    if (a_diff->change > b_diff->change)
-       return -1;
-
-    if (a_diff->change < b_diff->change)
-       return 1;
-
-    return 0;
-}
-
-#define CHANGE_BAR_WIDTH 70
-static void
-print_change_bar (double change,
-                 double max_change,
-                 int    use_utf)
-{
-    int units_per_cell = ceil (max_change / CHANGE_BAR_WIDTH);
-    static char const *ascii_boxes[8] = {
-       "****","***" ,"***", "**",
-       "**",  "*",   "*",   ""
-    };
-    static char const *utf_boxes[8] = {
-       "█", "▉", "▊", "▋",
-       "▌", "▍", "▎", "▏"
-    };
-    char const **boxes = use_utf ? utf_boxes : ascii_boxes;
-
-    /* For a 1.0x speedup we want a zero-size bar to show "no
-     * change". */
-    change -= 1.0;
-
-    while (change > units_per_cell) {
-       printf ("%s", boxes[0]);
-       change -= units_per_cell;
-    }
-
-    change /= units_per_cell;
-
-    if (change > 7.5/8.0)
-       printf ("%s", boxes[0]);
-    else if (change > 6.5/8.0)
-       printf ("%s", boxes[1]);
-    else if (change > 5.5/8.0)
-       printf ("%s", boxes[2]);
-    else if (change > 4.5/8.0)
-       printf ("%s", boxes[3]);
-    else if (change > 3.5/8.0)
-       printf ("%s", boxes[4]);
-    else if (change > 2.5/8.0)
-       printf ("%s", boxes[5]);
-    else if (change > 1.5/8.0)
-       printf ("%s", boxes[6]);
-    else if (change > 0.5/8.0)
-       printf ("%s", boxes[7]);
-
-    printf ("\n");
-}
-
-static void
-test_diff_print_binary (test_diff_t                *diff,
-                       double                       max_change,
-                       cairo_perf_report_options_t *options)
-{
-    if (diff->tests[0]->size)
-       printf ("%5s-%-4s %26s-%-3d",
-               diff->tests[0]->backend, diff->tests[0]->content,
-               diff->tests[0]->name, diff->tests[0]->size);
-    else
-       printf ("%5s %26s", diff->tests[0]->backend, diff->tests[0]->name);
-
-    printf ("  %6.2f (%.2f %4.2f%%) -> %6.2f (%.2f %4.2f%%): %5.2fx ",
-           diff->tests[0]->stats.min_ticks / diff->tests[0]->stats.ticks_per_ms,
-           diff->tests[0]->stats.median_ticks / diff->tests[0]->stats.ticks_per_ms,
-           diff->tests[0]->stats.std_dev * 100,
-           diff->tests[1]->stats.min_ticks / diff->tests[1]->stats.ticks_per_ms,
-           diff->tests[1]->stats.median_ticks / diff->tests[1]->stats.ticks_per_ms,
-           diff->tests[1]->stats.std_dev * 100,
-           fabs (diff->change));
-
-    if (diff->change > 1.0)
-       printf ("speedup\n");
-    else
-       printf ("slowdown\n");
-
-    if (options->print_change_bars)
-       print_change_bar (fabs (diff->change), max_change,
-                         options->use_utf);
-}
-
-static void
-test_diff_print_multi (test_diff_t                *diff,
-                      double                       max_change,
-                      cairo_perf_report_options_t *options)
-{
-    int i;
-    double test_time;
-    double change;
-
-    if (diff->tests[0]->size) {
-       printf ("%s (backend: %s-%s, size: %d)\n",
-               diff->tests[0]->name,
-               diff->tests[0]->backend,
-               diff->tests[0]->content,
-               diff->tests[0]->size);
-    } else {
-       printf ("%s (backend: %s)\n",
-               diff->tests[0]->name,
-               diff->tests[0]->backend);
-    }
-
-    for (i = 0; i < diff->num_tests; i++) {
-       test_time = diff->tests[i]->stats.min_ticks;
-       if (! options->use_ticks)
-           test_time /= diff->tests[i]->stats.ticks_per_ms;
-       change = diff->max / test_time;
-       printf ("[%d] %6.2f: %5.2fx ",
-               diff->tests[i]->fileno,
-               diff->tests[i]->stats.min_ticks / diff->tests[i]->stats.ticks_per_ms,
-               change);
-
-       if (options->print_change_bars)
-           print_change_bar (change, max_change, options->use_utf);
-       else
-           printf("\n");
-    }
-
-    printf("\n");
-}
-
-#define MAX(a,b) ((a) > (b) ? (a) : (b))
-static void
-cairo_perf_reports_compare (cairo_perf_report_t        *reports,
-                           int                          num_reports,
-                           cairo_perf_report_options_t *options)
-{
-    int i;
-    test_report_t **tests, *min_test;
-    test_diff_t *diff, *diffs;
-    int num_diffs, max_diffs;
-    double max_change;
-    double test_time;
-    int seen_non_null;
-    cairo_bool_t printed_speedup = FALSE;
-    cairo_bool_t printed_slowdown = FALSE;
-
-    assert (num_reports >= 2);
-
-    tests = xmalloc (num_reports * sizeof (test_report_t *));
-
-    max_diffs = reports[0].tests_count;
-    for (i = 0; i < num_reports; i++) {
-       tests[i] = reports[i].tests;
-       if (reports[i].tests_count > max_diffs)
-           max_diffs = reports[i].tests_count;
-    }
-
-    diff = diffs = xmalloc (max_diffs * sizeof (test_diff_t));
-
-    num_diffs = 0;
-    while (1) {
-       /* We expect iterations values of 0 when multiple raw reports
-        * for the same test have been condensed into the stats of the
-        * first. So we just skip these later reports that have no
-        * stats. */
-       seen_non_null = 0;
-       for (i = 0; i < num_reports; i++) {
-           while (tests[i]->name && tests[i]->stats.iterations == 0)
-               tests[i]++;
-           if (tests[i]->name)
-               seen_non_null++;
-       }
-
-       if (seen_non_null < 2)
-           break;
-
-       /* Find the minimum of all current tests, (we have to do this
-        * in case some reports don't have a particular test). */
-       for (i = 0; i < num_reports; i++) {
-           if (tests[i]->name) {
-               min_test = tests[i];
-               break;
-           }
-       }
-       for (++i; i < num_reports; i++) {
-           if (tests[i]->name &&
-               test_report_cmp_backend_then_name (tests[i], min_test) < 0)
-           {
-               min_test = tests[i];
-           }
-       }
-
-       /* For each report that has the current test, record it into
-        * the diff structure. */
-       diff->num_tests = 0;
-       diff->tests = xmalloc (num_reports * sizeof (test_diff_t));
-       for (i = 0; i < num_reports; i++) {
-           if (tests[i]->name &&
-               test_report_cmp_backend_then_name (tests[i], min_test) == 0)
-           {
-               test_time = tests[i]->stats.min_ticks;
-               if (! options->use_ticks)
-                   test_time /= tests[i]->stats.ticks_per_ms;
-               if (diff->num_tests == 0) {
-                   diff->min = test_time;
-                   diff->max = test_time;
-               } else {
-                   if (test_time < diff->min)
-                       diff->min = test_time;
-                   if (test_time > diff->max)
-                       diff->max = test_time;
-               }
-               diff->tests[diff->num_tests++] = tests[i];
-               tests[i]++;
-           }
-       }
-       diff->change = diff->max / diff->min;
-
-       if (num_reports == 2) {
-           double old_time, new_time;
-           if (diff->num_tests == 1) {
-               printf ("Only in %s: %s %s\n",
-                       diff->tests[0]->configuration,
-                       diff->tests[0]->backend,
-                       diff->tests[0]->name);
-               continue;
-           }
-           old_time = diff->tests[0]->stats.min_ticks;
-           new_time = diff->tests[1]->stats.min_ticks;
-           if (! options->use_ticks) {
-               old_time /= diff->tests[0]->stats.ticks_per_ms;
-               new_time /= diff->tests[1]->stats.ticks_per_ms;
-           }
-           diff->change = old_time / new_time;
-           if (diff->change < 1.0)
-               diff->change = - 1.0 / diff->change;
-       }
-
-       diff++;
-       num_diffs++;
-    }
-    if (num_diffs == 0)
-       goto DONE;
-
-    if (num_reports == 2)
-       qsort (diffs, num_diffs, sizeof (test_diff_t),
-              test_diff_cmp_speedup_before_slowdown);
-    else
-       qsort (diffs, num_diffs, sizeof (test_diff_t), test_diff_cmp);
-
-    max_change = 1.0;
-    for (i = 0; i < num_diffs; i++) {
-       if (fabs (diffs[i].change) > max_change)
-           max_change = fabs (diffs[i].change);
-    }
-
-    if (num_reports == 2)
-       printf ("old: %s\n"
-               "new: %s\n",
-               diffs->tests[0]->configuration,
-               diffs->tests[1]->configuration);
-
-    for (i = 0; i < num_diffs; i++) {
-       diff = &diffs[i];
-
-       /* Discard as uninteresting a change which is less than the
-        * minimum change required, (default may be overriden on
-        * command-line). */
-       if (fabs (diff->change) - 1.0 < options->min_change)
-           continue;
-
-       if (num_reports == 2) {
-           if (diff->change > 1.0 && ! printed_speedup) {
-               printf ("Speedups\n"
-                       "========\n");
-               printed_speedup = TRUE;
-           }
-           if (diff->change < 1.0 && ! printed_slowdown) {
-               printf ("Slowdowns\n"
-                       "=========\n");
-               printed_slowdown = TRUE;
-           }
-           test_diff_print_binary (diff, max_change, options);
-       } else {
-           test_diff_print_multi (diff, max_change, options);
-       }
-    }
-
- DONE:
-    for (i = 0; i < num_diffs; i++)
-       free (diffs[i].tests);
-    free (diffs);
-    free (tests);
-}
-
-static void
-usage (const char *argv0)
-{
-    char const *basename = strrchr(argv0, '/');
-    basename = basename ? basename+1 : argv0;
-    fprintf (stderr,
-            "Usage: %s [options] file1 file2 [...]\n\n",
-            basename);
-    fprintf (stderr,
-            "Computes significant performance differences for cairo performance reports.\n"
-            "Each file should be the output of the cairo-perf program (or \"make perf\").\n"
-            "The following options are available:\n"
-            "\n"
-            "--no-utf    Use ascii stars instead of utf-8 change bars.\n"
-            "            Four stars are printed per factor of speedup.\n"
-            "\n"
-            "--no-bars   Don't display change bars at all.\n\n"
-            "\n"
-            "--use-ms    Use milliseconds to calculate differences.\n"
-            "            (instead of ticks which are hardware dependent)\n"
-            "\n"
-            "--min-change threshold[%%]\n"
-            "            Suppress all changes below the given threshold.\n"
-            "            The default threshold of 0.05 or 5%% ignores any\n"
-            "            speedup or slowdown of 1.05 or less. A threshold\n"
-            "            of 0 will cause all output to be reported.\n"
-       );
-    exit(1);
-}
-
-static void
-parse_args (int                           argc,
-           char const                   **argv,
-           cairo_perf_diff_files_args_t  *args)
-{
-    int i;
-
-    for (i = 1; i < argc; i++) {
-       if (strcmp (argv[i], "--no-utf") == 0) {
-           args->options.use_utf = 0;
-       }
-       else if (strcmp (argv[i], "--no-bars") == 0) {
-           args->options.print_change_bars = 0;
-       }
-       else if (strcmp (argv[i], "--use-ms") == 0) {
-           /* default */
-       }
-       else if (strcmp (argv[i], "--use-ticks") == 0) {
-           args->options.use_ticks = 1;
-       }
-       else if (strcmp (argv[i], "--min-change") == 0) {
-           char *end = NULL;
-           i++;
-           if (i >= argc)
-               usage (argv[0]);
-           args->options.min_change = strtod (argv[i], &end);
-           if (*end) {
-               if (*end == '%') {
-                   args->options.min_change /= 100;
-               } else {
-                   usage (argv[0]);
-               }
-           }
-       }
-       else {
-           args->num_filenames++;
-           args->filenames = xrealloc (args->filenames,
-                                       args->num_filenames * sizeof (char *));
-           args->filenames[args->num_filenames - 1] = argv[i];
-       }
-    }
-}
-
-int
-main (int        argc,
-      const char *argv[])
-{
-    cairo_perf_diff_files_args_t args = {
-       NULL,                   /* filenames */
-       0,                      /* num_filenames */
-       {
-           0.05,               /* min change */
-           1,                  /* use UTF-8? */
-           1,                  /* display change bars? */
-       }
-    };
-    cairo_perf_report_t *reports;
-    test_report_t *t;
-    int i;
-
-    parse_args (argc, argv, &args);
-
-    if (args.num_filenames < 2)
-       usage (argv[0]);
-
-    reports = xmalloc (args.num_filenames * sizeof (cairo_perf_report_t));
-
-    for (i = 0; i < args.num_filenames; i++ ) {
-       cairo_perf_report_load (&reports[i], args.filenames[i], i, NULL);
-       printf ("[%d] %s\n", i, args.filenames[i]);
-    }
-    printf ("\n");
-
-    cairo_perf_reports_compare (reports, args.num_filenames, &args.options);
-
-    /* Pointless memory cleanup, (would be a great place for talloc) */
-    free (args.filenames);
-    for (i = 0; i < args.num_filenames; i++) {
-       for (t = reports[i].tests; t->name; t++) {
-           free (t->samples);
-           free (t->backend);
-           free (t->name);
-       }
-       free (reports[i].tests);
-       free (reports[i].configuration);
-    }
-    free (reports);
-
-    return 0;
-}
diff --git a/perf/cairo-perf-graph b/perf/cairo-perf-graph
deleted file mode 100755 (executable)
index a167351..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-#!/bin/sh
-set -e
-
-###
-### XXX Source common functions from cairo-perf-diff
-###
-
-usage() {
-    argv0=`basename $0`
-
-    cat >&2 << END
-Usage:
-As opposed to its sibling, cairo-perf-diff, cairo-perf-graph targets
-reviewing changes between series by graphically comparing the performance
-at each commit.
-
-The two revisions can be any revision accepted by git. For example:
-
-       $argv0 1.2.0 1.2.4      # Compare performance of 1.2.0 to 1.2.4
-
-Options:
-
--f, --force
-       Forces cairo-perf-diff to re-run performance tests
-       even if cached performance data is available.
-
--h, --html
-       With this option performance changes are summarized
-       as HTML table.
-
-Additional options can be passed the child cairo-perf process
-by separating them with a double hyphen (--). For example, to
-examine what the impact of the latest change is on the stroke
-test you might use:
-
-       $argv0 HEAD -- stroke
-
-The performance results are cached in .perf next to the .git directory.
-
-Set CAIRO_AUTOGEN_OPTIONS to pass options to autogen for both
-builds.
-END
-
-    exit 1
-}
-
-# First, pull off any known options
-while true; do
-    case $1 in
-        -f|--force) force_cairo_perf="true";;
-        -h|--html) html_output="true";;
-        -s|--show) show_only="true";;
-        *) break;;
-    esac
-
-    shift
-done
-
-# Then if anything is left that still looks like an option, (begins
-# with a dash), give usage to catch --help or any other -garbage
-if [ $# -eq 0 ] || [ "`echo "$1" | sed 's/^-//'`" != "$1" ]; then
-    usage
-fi
-
-# Finally, pick up the actual revision arguments
-old="$1"
-new="$2"
-shift 2
-
-# And post-finally, pass anything after -- on to cairo-perf
-CAIRO_PERF_OPTIONS="-r -i 25"
-if [ $# -gt 0 ]; then
-    if [ "$1" = "--" ]; then
-       shift 1
-       CAIRO_PERF_OPTIONS="$CAIRO_PERF_OPTIONS $@"
-    else
-       usage
-    fi
-fi
-
-git_setup() {
-    SUBDIRECTORY_OK='Yes'
-    . "$(git --exec-path)/git-sh-setup"
-    CAIRO_DIR=`dirname $GIT_DIR`
-    if [ "$CAIRO_DIR" = "." ]; then
-       CAIRO_DIR=`pwd`
-    fi
-    CAIRO_PERF_DIR=$CAIRO_DIR/.perf
-}
-
-rev2sha() {
-    rev=$1
-    git rev-parse --verify $rev || ( echo "Cannot resolve $rev as a git object" && exit 1 )
-}
-
-cpu_count() {
-    test -f /proc/cpuinfo &&
-    grep -c '^processor[[:blank:]]\+:' /proc/cpuinfo ||
-    echo 1
-}
-
-# We cache performance output based on a two-part name capturing the
-# current performance test suite and the library being tested. We
-# capture these as the tree object of the perf directory in HEAD and
-# the tree object of the src directory of the revision being tested.
-#
-# This way, whenever the performance suite is updated, cached output
-# from old versions of the suite are automatically invalidated. Also,
-# if a commit just changes things outside of the src tree, (say it
-# changes the "test" test suite, or README or configure.in, or
-# whatever), cairo-perf-diff will be smart enough to still use cached
-# results from a run with an equivalent src tree.
-rev2perf() {
-    rev=$1
-    sha=`rev2sha $rev`
-    src_tree_sha=`rev2sha $rev:src`
-    perf_tree_sha=`rev2sha HEAD:perf`
-    echo "$CAIRO_PERF_DIR/${sha}-${perf_tree_sha}-${src_tree_sha}.perf"
-}
-rev2perf_glob() {
-    rev=$1
-    src_tree_sha=`rev2sha $rev:src`
-    perf_tree_sha=`rev2sha HEAD:perf`
-    echo "$CAIRO_PERF_DIR/*-${perf_tree_sha}-${src_tree_sha}.perf"
-}
-
-# Usage: run_cairo_perf_if_not_cached <rev> <suffix>
-# The <rev> argument must be a valid git ref-spec that can
-# be resolved to a commit. The suffix is just something
-# unique so that build directories can be separated for
-# multiple calls to this function.
-run_cairo_perf_if_not_cached() {
-    rev=$1
-    build_dir="build-$2"
-
-    owd=`pwd`
-    sha=`rev2sha $rev`
-    perf=`rev2perf $rev`
-    glob=`rev2perf_glob $rev`
-    if [ -e $glob ] && [ "$force_cairo_perf" != "true" ]  || [ -n "$show_only" ]; then
-       return 0
-    fi
-    if [ ! -d $CAIRO_PERF_DIR ]; then
-       echo "Creating new perf cache in $CAIRO_PERF_DIR"
-       mkdir $CAIRO_PERF_DIR
-    fi
-
-    cd $CAIRO_DIR
-    boilerplate_files=`git ls-tree --name-only HEAD boilerplate/*`
-    perf_files=`git ls-tree --name-only HEAD perf/*`
-    cd $CAIRO_PERF_DIR
-
-    if [ ! -d $build_dir ]; then
-       git clone -s $CAIRO_DIR $build_dir
-       (cd $build_dir; git checkout -b tmp-cairo-perf-diff $sha)
-    fi
-    cd $build_dir
-
-    git checkout tmp-cairo-perf-diff
-    git reset --hard $sha
-
-    if [ -z "$MAKEFLAGS" ]; then
-       CPU_COUNT=`cpu_count`
-        export MAKEFLAGS="-j`expr $CPU_COUNT + 1`"
-    fi
-
-    if [ ! -e Makefile ]; then
-       CFLAGS="-O2" ./autogen.sh $CAIRO_AUTOGEN_OPTIONS
-    fi
-    make CFLAGS="-O2" || (rm config.cache && make CFLAGS="-O2")
-    for file in $boilerplate_files; do
-       rsync $CAIRO_DIR/$file boilerplate
-    done
-    (cd boilerplate; make)
-    for file in $perf_files; do
-       rsync $CAIRO_DIR/$file perf
-    done
-    cd perf;
-    make cairo-perf || exit 1
-    echo "Running \"cairo-perf $CAIRO_PERF_OPTIONS\" against $rev. Results will be cached in:"
-    echo "$perf"
-    (./cairo-perf $CAIRO_PERF_OPTIONS || echo "*** Performance test crashed") >> $perf
-    cd $owd
-}
-
-git_setup
-
-# Build cairo-perf-graph-files if not available
-if [ ! -e $CAIRO_DIR/perf/cairo-perf-graph-files ]; then
-    echo "Building cairo-perf-graph-files"
-    if [ "x$OS" = "xWindows_NT" ]; then
-        make -f Makefile.win32 -C $CAIRO_DIR/perf/ cairo-perf-graph-files CFG=debug
-    else
-        make -C $CAIRO_DIR/perf/ cairo-perf-graph-files
-    fi
-fi
-
-revs=""
-for rev in `git rev-list --reverse $old..$new`; do
-    run_cairo_perf_if_not_cached $rev rev
-    perf=`rev2perf $rev`
-    [ -e "$perf" ] && revs="$revs $perf"
-done
-
-exec $CAIRO_DIR/perf/cairo-perf-graph-files $revs
-#exec $CAIRO_DIR/libtool --mode=execute gdb --args $CAIRO_DIR/perf/cairo-perf-graph-files $revs
diff --git a/perf/cairo-perf-graph-files.c b/perf/cairo-perf-graph-files.c
deleted file mode 100644 (file)
index 1fd99e4..0000000
+++ /dev/null
@@ -1,604 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Authors: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-#include "cairo-perf-graph.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#include <cairo.h>
-
-static void
-usage (const char *argv0)
-{
-    char const *basename = strrchr (argv0, '/');
-    basename = basename ? basename+1 : argv0;
-    g_printerr ("Usage: %s [options] file1 file2 [...]\n\n", basename);
-    g_printerr ("Draws a graph illustrating the change in performance over a series.\n");
-    exit(1);
-}
-
-enum {
-    CASE_SHOWN,
-    CASE_INCONSISTENT,
-    CASE_BACKEND,
-    CASE_CONTENT,
-    CASE_NAME,
-    CASE_SIZE,
-    CASE_FG_COLOR,
-    CASE_DATA,
-    CASE_NCOLS
-};
-
-static GtkTreeStore *
-cases_to_store (test_case_t *cases)
-{
-    GtkTreeStore *store;
-    GtkTreeIter backend_iter;
-    GtkTreeIter content_iter;
-    const char *backend = NULL;
-    const char *content = NULL;
-
-    store = gtk_tree_store_new (CASE_NCOLS,
-                               G_TYPE_BOOLEAN, /* shown */
-                               G_TYPE_BOOLEAN, /* inconsistent */
-                               G_TYPE_STRING, /* backend */
-                               G_TYPE_STRING, /* content */
-                               G_TYPE_STRING, /* name */
-                               G_TYPE_INT, /* size */
-                               GDK_TYPE_COLOR, /* fg color */
-                               G_TYPE_POINTER); /* data */
-    while (cases->backend != NULL) {
-       GtkTreeIter iter;
-
-       if (backend == NULL || strcmp (backend, cases->backend)) {
-           gtk_tree_store_append (store, &backend_iter, NULL);
-           gtk_tree_store_set (store, &backend_iter,
-                               CASE_SHOWN, TRUE,
-                               CASE_BACKEND, cases->backend,
-                               -1);
-           backend = cases->backend;
-           content = NULL;
-       }
-       if (content == NULL || strcmp (content, cases->content)) {
-           gtk_tree_store_append (store, &content_iter, &backend_iter);
-           gtk_tree_store_set (store, &content_iter,
-                               CASE_SHOWN, TRUE,
-                               CASE_BACKEND, cases->backend,
-                               CASE_CONTENT, cases->content,
-                               -1);
-           content = cases->content;
-       }
-
-       gtk_tree_store_append (store, &iter, &content_iter);
-       gtk_tree_store_set (store, &iter,
-                           CASE_SHOWN, TRUE,
-                           CASE_BACKEND, cases->backend,
-                           CASE_CONTENT, cases->content,
-                           CASE_NAME, cases->name,
-                           CASE_SIZE, cases->size,
-                           CASE_FG_COLOR, &cases->color,
-                           CASE_DATA, cases,
-                           -1);
-       cases++;
-    }
-
-    return store;
-}
-
-struct _app_data {
-    GtkWidget *window;
-
-    test_case_t *cases;
-    cairo_perf_report_t *reports;
-    int num_reports;
-
-    GtkTreeStore *case_store;
-
-    GIOChannel *git_io;
-    GtkTextBuffer *git_buffer;
-
-    GtkWidget *gv;
-};
-
-static void
-recurse_set_shown (GtkTreeModel *model,
-                  GtkTreeIter  *parent,
-                  gboolean      shown)
-{
-    GtkTreeIter iter;
-
-    if (gtk_tree_model_iter_children (model, &iter, parent)) do {
-       test_case_t *c;
-
-       gtk_tree_model_get (model, &iter, CASE_DATA, &c, -1);
-       if (c == NULL) {
-           recurse_set_shown (model, &iter, shown);
-       } else if (shown != c->shown) {
-           c->shown = shown;
-           gtk_tree_store_set (GTK_TREE_STORE (model), &iter,
-                               CASE_SHOWN, shown,
-                               CASE_INCONSISTENT, FALSE,
-                               -1);
-       }
-    } while (gtk_tree_model_iter_next (model, &iter));
-}
-
-static gboolean
-children_consistent (GtkTreeModel *model,
-                    GtkTreeIter  *parent)
-{
-    GtkTreeIter iter;
-    gboolean first = TRUE;
-    gboolean first_active;
-
-    if (gtk_tree_model_iter_children (model, &iter, parent)) do {
-       gboolean active, inconsistent;
-
-       gtk_tree_model_get (model, &iter,
-                           CASE_INCONSISTENT, &inconsistent,
-                           CASE_SHOWN, &active,
-                           -1);
-       if (inconsistent)
-           return FALSE;
-
-       if (first) {
-           first_active = active;
-           first = FALSE;
-       } else if (active != first_active)
-           return FALSE;
-    } while (gtk_tree_model_iter_next (model, &iter));
-
-    return TRUE;
-}
-
-static void
-check_consistent (GtkTreeModel *model,
-                 GtkTreeIter  *child)
-{
-    GtkTreeIter parent;
-
-    if (gtk_tree_model_iter_parent (model, &parent, child)) {
-       gtk_tree_store_set (GTK_TREE_STORE (model), &parent,
-                           CASE_INCONSISTENT,
-                           ! children_consistent (model, &parent),
-                           -1);
-       check_consistent (model, &parent);
-    }
-}
-
-static void
-show_case_toggled (GtkCellRendererToggle *cell,
-                  gchar                 *str,
-                  struct _app_data      *app)
-{
-    GtkTreeModel *model;
-    GtkTreePath *path;
-    GtkTreeIter iter;
-    test_case_t *c;
-    gboolean active;
-
-    active = ! gtk_cell_renderer_toggle_get_active (cell);
-
-    model = GTK_TREE_MODEL (app->case_store);
-
-    path = gtk_tree_path_new_from_string (str);
-    gtk_tree_model_get_iter (model, &iter, path);
-    gtk_tree_path_free (path);
-
-    gtk_tree_store_set (app->case_store, &iter,
-                       CASE_SHOWN, active,
-                       CASE_INCONSISTENT, FALSE,
-                       -1);
-    gtk_tree_model_get (model, &iter, CASE_DATA, &c, -1);
-    if (c != NULL) {
-       if (active == c->shown)
-           return;
-
-       c->shown = active;
-    } else {
-       recurse_set_shown (model, &iter, active);
-    }
-    check_consistent (model, &iter);
-
-    graph_view_update_visible ((GraphView *) app->gv);
-}
-
-static gboolean
-git_read (GIOChannel      *io,
-         GIOCondition      cond,
-         struct _app_data *app)
-{
-    int fd;
-
-    fd = g_io_channel_unix_get_fd (io);
-    do {
-       char buf[4096];
-       int len;
-       GtkTextIter end;
-
-       len = read (fd, buf, sizeof (buf));
-       if (len <= 0) {
-           int err = len ? errno : 0;
-           switch (err) {
-           case EAGAIN:
-           case EINTR:
-               return TRUE;
-           default:
-               g_io_channel_unref (app->git_io);
-               app->git_io = NULL;
-               return FALSE;
-           }
-       }
-
-       gtk_text_buffer_get_end_iter (app->git_buffer, &end);
-       gtk_text_buffer_insert (app->git_buffer, &end, buf, len);
-    } while (TRUE);
-}
-
-static void
-do_git (struct _app_data  *app,
-       char             **argv)
-{
-    gint output;
-    GError *error = NULL;
-    GtkTextIter start, stop;
-    long flags;
-
-    if (! g_spawn_async_with_pipes (NULL, argv, NULL,
-                                   G_SPAWN_SEARCH_PATH |
-                                   G_SPAWN_STDERR_TO_DEV_NULL |
-                                   G_SPAWN_FILE_AND_ARGV_ZERO,
-                                   NULL, NULL, NULL,
-                                   NULL, &output, NULL,
-                                   &error))
-    {
-       g_error ("spawn failed: %s", error->message);
-    }
-
-    if (app->git_io) {
-       g_io_channel_shutdown (app->git_io, FALSE, NULL);
-       g_io_channel_unref (app->git_io);
-    }
-
-    gtk_text_buffer_get_bounds (app->git_buffer, &start, &stop);
-    gtk_text_buffer_delete (app->git_buffer, &start, &stop);
-
-    flags = fcntl (output, F_GETFL);
-    if ((flags & O_NONBLOCK) == 0)
-       fcntl (output, F_SETFL, flags | O_NONBLOCK);
-
-    app->git_io = g_io_channel_unix_new (output);
-    g_io_add_watch (app->git_io, G_IO_IN | G_IO_HUP, (GIOFunc) git_read, app);
-}
-
-static void
-gv_report_selected (GraphView       *gv,
-                   int               i,
-                   struct _app_data *app)
-{
-    cairo_perf_report_t *report;
-    char *hyphen;
-
-    if (i == -1)
-       return;
-
-    report = &app->reports[i];
-    hyphen = strchr (report->configuration, '-');
-    if (hyphen != NULL) {
-       int len = hyphen - report->configuration;
-       char *id = g_malloc (len + 1);
-       char *argv[5];
-
-       memcpy (id, report->configuration, len);
-       id[len] = '\0';
-
-       argv[0] = (char *) "git";
-       argv[1] = (char *) "git";
-       argv[2] = (char *) "show";
-       argv[3] = id;
-       argv[4] = NULL;
-
-       do_git (app, argv);
-       g_free (id);
-    }
-}
-
-static GtkWidget *
-window_create (test_case_t        *cases,
-              cairo_perf_report_t *reports,
-              int                  num_reports)
-{
-    GtkWidget *window, *table, *w;
-    GtkWidget *tv, *sw;
-    GtkTreeStore *store;
-    GtkTreeViewColumn *column;
-    GtkCellRenderer *renderer;
-    struct _app_data *data;
-
-
-    data = g_new0 (struct _app_data, 1);
-    data->cases = cases;
-    data->reports = reports;
-    data->num_reports = num_reports;
-
-    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-    gtk_window_set_title (GTK_WINDOW (window), "Cairo Performance Graph");
-    g_object_set_data_full (G_OBJECT (window),
-                           "app-data", data, (GDestroyNotify)g_free);
-
-    data->window = window;
-
-    table = gtk_table_new (2, 2, FALSE);
-
-    /* legend & show/hide lines (categorised) */
-    tv = gtk_tree_view_new ();
-    store = cases_to_store (cases);
-    data->case_store = store;
-    gtk_tree_view_set_model (GTK_TREE_VIEW (tv), GTK_TREE_MODEL (store));
-
-    renderer = gtk_cell_renderer_toggle_new ();
-    column = gtk_tree_view_column_new_with_attributes (NULL,
-           renderer,
-           "active", CASE_SHOWN,
-           "inconsistent", CASE_INCONSISTENT,
-           NULL);
-    gtk_tree_view_append_column (GTK_TREE_VIEW (tv), column);
-    g_signal_connect (renderer, "toggled",
-                     G_CALLBACK (show_case_toggled), data);
-
-    renderer = gtk_cell_renderer_text_new ();
-    column = gtk_tree_view_column_new_with_attributes ("Backend",
-           renderer,
-           "text", CASE_BACKEND,
-           NULL);
-    gtk_tree_view_append_column (GTK_TREE_VIEW (tv), column);
-
-    renderer = gtk_cell_renderer_text_new ();
-    column = gtk_tree_view_column_new_with_attributes ("Content",
-           renderer,
-           "text", CASE_CONTENT,
-           NULL);
-    gtk_tree_view_append_column (GTK_TREE_VIEW (tv), column);
-
-    renderer = gtk_cell_renderer_text_new ();
-    column = gtk_tree_view_column_new_with_attributes ("Test",
-           renderer,
-           "text", CASE_NAME,
-           "foreground-gdk", CASE_FG_COLOR,
-           NULL);
-    gtk_tree_view_append_column (GTK_TREE_VIEW (tv), column);
-
-    renderer = gtk_cell_renderer_text_new ();
-    column = gtk_tree_view_column_new_with_attributes ("Size",
-           renderer,
-           "text", CASE_SIZE,
-           NULL);
-    gtk_tree_view_append_column (GTK_TREE_VIEW (tv), column);
-
-    gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (tv), TRUE);
-    g_object_unref (store);
-
-    sw = gtk_scrolled_window_new (NULL, NULL);
-    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
-                                   GTK_POLICY_NEVER,
-                                   GTK_POLICY_AUTOMATIC);
-    gtk_container_add (GTK_CONTAINER (sw), tv);
-    gtk_widget_show (tv);
-    gtk_table_attach (GTK_TABLE (table), sw,
-                     0, 1, 0, 2,
-                     GTK_FILL, GTK_FILL,
-                     4, 4);
-    gtk_widget_show (sw);
-
-    /* the performance chart */
-    w = graph_view_new ();
-    data->gv = w;
-    g_signal_connect (w, "report-selected",
-                     G_CALLBACK (gv_report_selected), data);
-    graph_view_set_reports ((GraphView *)w, cases, reports, num_reports);
-    gtk_table_attach (GTK_TABLE (table), w,
-                     1, 2, 0, 1,
-                     GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND,
-                     4, 4);
-    gtk_widget_show (w);
-
-    /* interesting information - presumably the commit log */
-    w = gtk_text_view_new ();
-    data->git_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (w));
-    sw = gtk_scrolled_window_new (NULL, NULL);
-    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
-                                   GTK_POLICY_NEVER,
-                                   GTK_POLICY_AUTOMATIC);
-    gtk_container_add (GTK_CONTAINER (sw), w);
-    gtk_widget_show (w);
-    gtk_table_attach (GTK_TABLE (table), sw,
-                     1, 2, 1, 2,
-                     GTK_FILL, GTK_FILL | GTK_EXPAND,
-                     4, 4);
-    gtk_widget_show (sw);
-
-    gtk_container_add (GTK_CONTAINER (window), table);
-    gtk_widget_show (table);
-
-    return window;
-}
-
-static void
-name_to_color (const char *name,
-              GdkColor   *color)
-{
-    gint v = g_str_hash (name);
-
-    color->red = ((v >>  0) & 0xff) / 384. * 0xffff;
-    color->green = ((v >>  8) & 0xff) / 384. * 0xffff;
-    color->blue = ((v >> 16) & 0xff) / 384. * 0xffff;
-}
-
-static test_case_t *
-test_cases_from_reports (cairo_perf_report_t *reports,
-                        int                  num_reports)
-{
-    test_case_t *cases, *c;
-    test_report_t **tests;
-    int i, j;
-    int num_tests;
-
-    num_tests = 0;
-    for (i = 0; i < num_reports; i++) {
-       for (j = 0; reports[i].tests[j].name != NULL; j++)
-           ;
-       if (j > num_tests)
-           num_tests = j;
-    }
-
-    cases = xcalloc (num_tests+1, sizeof (test_case_t));
-    tests = xmalloc (num_reports * sizeof (test_report_t *));
-    for (i = 0; i < num_reports; i++)
-       tests[i] = reports[i].tests;
-
-    c = cases;
-    while (1) {
-       int seen_non_null;
-       test_report_t *min_test;
-
-       /* We expect iterations values of 0 when multiple raw reports
-        * for the same test have been condensed into the stats of the
-        * first. So we just skip these later reports that have no
-        * stats. */
-       seen_non_null = 0;
-       for (i = 0; i < num_reports; i++) {
-           while (tests[i]->name && tests[i]->stats.iterations == 0)
-               tests[i]++;
-           if (tests[i]->name)
-               seen_non_null++;
-       }
-
-       if (seen_non_null < 2)
-           break;
-
-       /* Find the minimum of all current tests, (we have to do this
-        * in case some reports don't have a particular test). */
-       for (i = 0; i < num_reports; i++) {
-           if (tests[i]->name) {
-               min_test = tests[i];
-               break;
-           }
-       }
-       for (++i; i < num_reports; i++) {
-           if (tests[i]->name &&
-               test_report_cmp_backend_then_name (tests[i], min_test) < 0)
-           {
-               min_test = tests[i];
-           }
-       }
-
-       c->min_test = min_test;
-       c->backend = min_test->backend;
-       c->content = min_test->content;
-       c->name = min_test->name;
-       c->size = min_test->size;
-       c->baseline = min_test->stats.min_ticks;
-       c->min = c->max = 1.;
-       c->shown = TRUE;
-       name_to_color (c->name, &c->color);
-
-       for (i = 0; i < num_reports; i++) {
-           if (tests[i]->name &&
-               test_report_cmp_backend_then_name (tests[i], min_test) == 0)
-           {
-               tests[i]++;
-               break;
-           }
-       }
-
-       for (++i; i < num_reports; i++) {
-           if (tests[i]->name &&
-               test_report_cmp_backend_then_name (tests[i], min_test) == 0)
-           {
-               double v = tests[i]->stats.min_ticks / c->baseline;
-               if (v < c->min)
-                   c->min = v;
-               if (v > c->max)
-                   c->max = v;
-               tests[i]++;
-           }
-       }
-
-       c++;
-    }
-    free (tests);
-
-    return cases;
-}
-int
-main (int   argc,
-      char *argv[])
-{
-    cairo_perf_report_t *reports;
-    test_case_t *cases;
-    test_report_t *t;
-    int i;
-    GtkWidget *window;
-
-    gtk_init (&argc, &argv);
-
-    if (argc < 3)
-       usage (argv[0]);
-
-    reports = xmalloc ((argc-1) * sizeof (cairo_perf_report_t));
-    for (i = 1; i < argc; i++ )
-       cairo_perf_report_load (&reports[i-1], argv[i], i, NULL);
-
-    cases = test_cases_from_reports (reports, argc-1);
-
-    window = window_create (cases, reports, argc-1);
-    g_signal_connect (window, "delete-event",
-                     G_CALLBACK (gtk_main_quit), NULL);
-    gtk_widget_show (window);
-
-    gtk_main ();
-
-    /* Pointless memory cleanup, (would be a great place for talloc) */
-    free (cases);
-    for (i = 0; i < argc-1; i++) {
-       for (t = reports[i].tests; t->name; t++) {
-           free (t->samples);
-           free (t->backend);
-           free (t->name);
-       }
-       free (reports[i].tests);
-       free (reports[i].configuration);
-    }
-    free (reports);
-
-    return 0;
-}
diff --git a/perf/cairo-perf-graph-widget.c b/perf/cairo-perf-graph-widget.c
deleted file mode 100644 (file)
index 41311f7..0000000
+++ /dev/null
@@ -1,604 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Authors: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-#include "cairo-perf-graph.h"
-
-#include <gtk/gtk.h>
-
-struct _GraphView {
-    GtkWidget widget;
-
-    test_case_t *cases;
-    cairo_perf_report_t *reports;
-    int num_reports;
-    double ymin, ymax;
-
-    int selected_report;
-};
-
-typedef struct _GraphViewClass {
-    GtkWidgetClass parent_class;
-} GraphViewClass;
-
-static GType graph_view_get_type (void);
-
-enum {
-    REPORT_SELECTED,
-    LAST_SIGNAL
-};
-
-static guint signals[LAST_SIGNAL];
-
-G_DEFINE_TYPE (GraphView, graph_view, GTK_TYPE_WIDGET)
-
-static void
-draw_baseline_performance (test_case_t         *cases,
-                          cairo_perf_report_t  *reports,
-                          int                   num_reports,
-                          cairo_t              *cr,
-                          const cairo_matrix_t *m)
-{
-    test_report_t **tests;
-    double dots[2] = { 0, 1.};
-    int i;
-
-    tests = xmalloc (num_reports * sizeof (test_report_t *));
-    for (i = 0; i < num_reports; i++)
-       tests[i] = reports[i].tests;
-
-    while (cases->backend != NULL) {
-       test_report_t *min_test;
-       double baseline, last_y;
-       double x, y;
-
-       if (! cases->shown) {
-           cases++;
-           continue;
-       }
-
-       min_test = cases->min_test;
-
-       for (i = 0; i < num_reports; i++) {
-           while (tests[i]->name &&
-               test_report_cmp_backend_then_name (tests[i], min_test) < 0)
-           {
-               tests[i]++;
-           }
-       }
-
-       /* first the stroke */
-       cairo_save (cr);
-       cairo_set_line_width (cr, 2.);
-       gdk_cairo_set_source_color (cr, &cases->color);
-       for (i = 0; i < num_reports; i++) {
-           if (tests[i]->name &&
-               test_report_cmp_backend_then_name (tests[i], min_test) == 0)
-           {
-               baseline = tests[i]->stats.min_ticks;
-
-               x = i; y = 0;
-               cairo_matrix_transform_point (m, &x, &y);
-               x = floor (x);
-               y = floor (y);
-               cairo_move_to (cr, x, y);
-               last_y = y;
-               break;
-           }
-       }
-
-       for (++i; i < num_reports; i++) {
-           if (tests[i]->name &&
-               test_report_cmp_backend_then_name (tests[i], min_test) == 0)
-           {
-               x = i, y = tests[i]->stats.min_ticks / baseline;
-
-               if (y < 1.)
-                   y = -1./y + 1;
-               else
-                   y -= 1;
-
-               cairo_matrix_transform_point (m, &x, &y);
-               x = floor (x);
-               y = floor (y);
-               cairo_line_to (cr, x, last_y);
-               cairo_line_to (cr, x, y);
-               last_y = y;
-           }
-       }
-       {
-           x = num_reports, y = 0;
-           cairo_matrix_transform_point (m, &x, &y);
-           x = floor (x);
-           cairo_line_to (cr, x, last_y);
-       }
-
-       cairo_set_line_width (cr, 1.);
-       cairo_stroke (cr);
-
-       /* then draw the points */
-       for (i = 0; i < num_reports; i++) {
-           if (tests[i]->name &&
-               test_report_cmp_backend_then_name (tests[i], min_test) == 0)
-           {
-               baseline = tests[i]->stats.min_ticks;
-
-               x = i; y = 0;
-               cairo_matrix_transform_point (m, &x, &y);
-               x = floor (x);
-               y = floor (y);
-               cairo_move_to (cr, x, y);
-               cairo_close_path (cr);
-               last_y = y;
-
-               tests[i]++;
-               break;
-           }
-       }
-
-       for (++i; i < num_reports; i++) {
-           if (tests[i]->name &&
-               test_report_cmp_backend_then_name (tests[i], min_test) == 0)
-           {
-               x = i, y = tests[i]->stats.min_ticks / baseline;
-
-               if (y < 1.)
-                   y = -1./y + 1;
-               else
-                   y -= 1;
-
-               cairo_matrix_transform_point (m, &x, &y);
-               x = floor (x);
-               y = floor (y);
-               cairo_move_to (cr, x, last_y);
-               cairo_close_path (cr);
-               cairo_move_to (cr, x, y);
-               cairo_close_path (cr);
-               last_y = y;
-
-               tests[i]++;
-           }
-       }
-       {
-           x = num_reports, y = 0;
-           cairo_matrix_transform_point (m, &x, &y);
-           x = floor (x);
-           cairo_move_to (cr, x, last_y);
-           cairo_close_path (cr);
-       }
-       cairo_set_source_rgba (cr, 0, 0, 0, .5);
-       cairo_set_dash (cr, dots, 2, 0.);
-       cairo_set_line_width (cr, 3.);
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-       cairo_stroke (cr);
-       cairo_restore (cr);
-
-       cases++;
-    }
-    free (tests);
-}
-
-static void
-draw_hline (cairo_t             *cr,
-           const cairo_matrix_t *m,
-           double                y0,
-           double                xmin,
-           double                xmax)
-{
-    double x, y;
-    double py_offset;
-
-    py_offset = fmod (cairo_get_line_width (cr) / 2., 1.);
-
-    x = xmin; y = y0;
-    cairo_matrix_transform_point (m, &x, &y);
-    cairo_move_to (cr, floor (x), floor (y) + py_offset);
-
-    x = xmax; y = y0;
-    cairo_matrix_transform_point (m, &x, &y);
-    cairo_line_to (cr, ceil (x), floor (y) + py_offset);
-
-    cairo_stroke (cr);
-}
-
-static void
-draw_label (cairo_t             *cr,
-           const cairo_matrix_t *m,
-           double                y0,
-           double                xmin,
-           double                xmax)
-{
-    double x, y;
-    char buf[80];
-    cairo_text_extents_t extents;
-
-    snprintf (buf, sizeof (buf), "%.0fx", fabs (y0));
-    cairo_text_extents (cr, buf, &extents);
-
-    x = xmin; y = y0;
-    cairo_matrix_transform_point (m, &x, &y);
-    cairo_move_to (cr,
-                  x - extents.width - 4,
-                  y - (extents.height/2. + extents.y_bearing));
-    cairo_show_text (cr, buf);
-
-
-    snprintf (buf, sizeof (buf), "%.0fx", fabs (y0));
-    cairo_text_extents (cr, buf, &extents);
-
-    x = xmax; y = y0;
-    cairo_matrix_transform_point (m, &x, &y);
-    cairo_move_to (cr,
-                  x + 4,
-                  y - (extents.height/2. + extents.y_bearing));
-    cairo_show_text (cr, buf);
-}
-
-#define ALIGN_X(v) ((v)<<0)
-#define ALIGN_Y(v) ((v)<<2)
-static void
-draw_rotated_label (cairo_t    *cr,
-                   const char *text,
-                   double      x,
-                   double      y,
-                   double      angle,
-                   int         align)
-{
-    cairo_text_extents_t extents;
-
-    cairo_text_extents (cr, text, &extents);
-
-    cairo_save (cr); {
-       cairo_translate (cr, x, y);
-       cairo_rotate (cr, angle);
-       switch (align) {
-       case ALIGN_X(0) | ALIGN_Y(0):
-           cairo_move_to (cr,
-                          -extents.x_bearing,
-                          -extents.y_bearing);
-           break;
-       case ALIGN_X(0) | ALIGN_Y(1):
-           cairo_move_to (cr,
-                          -extents.x_bearing,
-                          - (extents.height/2. + extents.y_bearing));
-           break;
-       case ALIGN_X(0) | ALIGN_Y(2):
-           cairo_move_to (cr,
-                          -extents.x_bearing,
-                          - (extents.height + extents.y_bearing));
-           break;
-
-       case ALIGN_X(1) | ALIGN_Y(0):
-           cairo_move_to (cr,
-                          - (extents.width/2. + extents.x_bearing),
-                          -extents.y_bearing);
-           break;
-       case ALIGN_X(1) | ALIGN_Y(1):
-           cairo_move_to (cr,
-                          - (extents.width/2. + extents.x_bearing),
-                          - (extents.height/2. + extents.y_bearing));
-           break;
-       case ALIGN_X(1) | ALIGN_Y(2):
-           cairo_move_to (cr,
-                          - (extents.width/2. + extents.x_bearing),
-                          - (extents.height + extents.y_bearing));
-           break;
-
-       case ALIGN_X(2) | ALIGN_Y(0):
-           cairo_move_to (cr,
-                          - (extents.width + extents.x_bearing),
-                          -extents.y_bearing);
-           break;
-       case ALIGN_X(2) | ALIGN_Y(1):
-           cairo_move_to (cr,
-                          - (extents.width + extents.x_bearing),
-                          - (extents.height/2. + extents.y_bearing));
-           break;
-       case ALIGN_X(2) | ALIGN_Y(2):
-           cairo_move_to (cr,
-                          - (extents.width + extents.x_bearing),
-                          - (extents.height + extents.y_bearing));
-           break;
-       }
-       cairo_show_text (cr, text);
-    } cairo_restore (cr);
-}
-
-#define PAD 36
-static void
-graph_view_draw (GraphView *self,
-                cairo_t   *cr)
-{
-    cairo_matrix_t m;
-    const double dash[2] = {4, 4};
-    double range;
-    int i;
-
-    if (self->widget.allocation.width < 4 *PAD)
-       return;
-    if (self->widget.allocation.height < 3 *PAD)
-       return;
-
-    range = floor (self->ymax+1) - ceil (self->ymin-1);
-
-    cairo_matrix_init_translate (&m, PAD, self->widget.allocation.height - PAD);
-    cairo_matrix_scale (&m,
-                       (self->widget.allocation.width-2*PAD)/(self->num_reports),
-                       -(self->widget.allocation.height-2*PAD)/range);
-    cairo_matrix_translate (&m, 0,   floor (self->ymax+1));
-
-    if (self->selected_report != -1) {
-       cairo_save (cr); {
-           double x0, x1, y;
-           x0 = self->selected_report; y = 0;
-           cairo_matrix_transform_point (&m, &x0, &y);
-           x0 = floor (x0);
-           x1 = self->selected_report + 1; y = 0;
-           cairo_matrix_transform_point (&m, &x1, &y);
-           x1 = ceil (x1);
-           y = (x1 - x0) / 8;
-           y = MIN (y, PAD / 2);
-           x0 -= y;
-           x1 += y;
-           cairo_rectangle (cr, x0, PAD/2, x1-x0, self->widget.allocation.height-2*PAD + PAD);
-           gdk_cairo_set_source_color (cr, &self->widget.style->base[GTK_STATE_SELECTED]);
-           cairo_fill (cr);
-       } cairo_restore (cr);
-    }
-
-    cairo_save (cr); {
-       cairo_pattern_t *linear;
-       double x, y;
-
-       gdk_cairo_set_source_color (cr,
-                                   &self->widget.style->fg[GTK_WIDGET_STATE (self)]);
-       cairo_set_line_width (cr, 2.);
-       draw_hline (cr, &m, 0, 0, self->num_reports);
-
-       cairo_set_line_width (cr, 1.);
-       cairo_set_dash (cr, NULL, 0, 0);
-
-       for (i = ceil (self->ymin-1); i <= floor (self->ymax+1); i++) {
-           if (i != 0)
-               draw_hline (cr, &m, i, 0, self->num_reports);
-       }
-
-       cairo_set_font_size (cr, 11);
-
-       linear = cairo_pattern_create_linear (0, PAD, 0, self->widget.allocation.height-2*PAD);
-       cairo_pattern_add_color_stop_rgb (linear, 0, 0, 1, 0);
-       cairo_pattern_add_color_stop_rgb (linear, 1, 1, 0, 0);
-       cairo_set_source (cr, linear);
-       cairo_pattern_destroy (linear);
-
-       for (i = ceil (self->ymin-1); i <= floor (self->ymax+1); i++) {
-           if (i != 0)
-               draw_label (cr, &m, i, 0, self->num_reports);
-       }
-
-       x = 0, y = floor (self->ymax+1);
-       cairo_matrix_transform_point (&m, &x, &y);
-       draw_rotated_label (cr, "Faster", x - 7, y + 14,
-                           270./360 * 2 * G_PI,
-                           ALIGN_X(2) | ALIGN_Y(1));
-       x = self->num_reports, y = floor (self->ymax+1);
-       cairo_matrix_transform_point (&m, &x, &y);
-       draw_rotated_label (cr, "Faster", x + 11, y + 14,
-                           270./360 * 2 * G_PI,
-                           ALIGN_X(2) | ALIGN_Y(1));
-
-       x = 0, y = ceil (self->ymin-1);
-       cairo_matrix_transform_point (&m, &x, &y);
-       draw_rotated_label (cr, "Slower", x - 7, y - 14,
-                           90./360 * 2 * G_PI,
-                           ALIGN_X(2) | ALIGN_Y(1));
-       x = self->num_reports, y = ceil (self->ymin-1);
-       cairo_matrix_transform_point (&m, &x, &y);
-       draw_rotated_label (cr, "Slower", x + 11, y - 14,
-                           90./360 * 2 * G_PI,
-                           ALIGN_X(2) | ALIGN_Y(1));
-    } cairo_restore (cr);
-
-    draw_baseline_performance (self->cases,
-                              self->reports, self->num_reports,
-                              cr, &m);
-
-    cairo_save (cr); {
-       cairo_set_source_rgb (cr, 0.7, 0.7, 0.7);
-       cairo_set_line_width (cr, 1.);
-       cairo_set_dash (cr, dash, 2, 0);
-       draw_hline (cr, &m, 0, 0, self->num_reports);
-    } cairo_restore (cr);
-}
-
-static gboolean
-graph_view_expose (GtkWidget     *w,
-                  GdkEventExpose *ev)
-{
-    GraphView *self = (GraphView *) w;
-    cairo_t *cr;
-
-    cr = gdk_cairo_create (w->window);
-    gdk_cairo_set_source_color (cr, &w->style->base[GTK_WIDGET_STATE (w)]);
-    cairo_paint (cr);
-
-    graph_view_draw (self, cr);
-
-    cairo_destroy (cr);
-
-    return FALSE;
-}
-
-static gboolean
-graph_view_button_press (GtkWidget     *w,
-                        GdkEventButton *ev)
-{
-    GraphView *self = (GraphView *) w;
-    cairo_matrix_t m;
-    double x,y;
-    int i;
-
-    cairo_matrix_init_translate (&m, PAD, self->widget.allocation.height-PAD);
-    cairo_matrix_scale (&m, (self->widget.allocation.width-2*PAD)/self->num_reports, -(self->widget.allocation.height-2*PAD)/(self->ymax - self->ymin));
-    cairo_matrix_translate (&m, 0, -self->ymin);
-    cairo_matrix_invert (&m);
-
-    x = ev->x;
-    y = ev->y;
-    cairo_matrix_transform_point (&m, &x, &y);
-
-    i = floor (x);
-    if (i < 0 || i >= self->num_reports)
-       i = -1;
-
-    if (i != self->selected_report) {
-       self->selected_report = i;
-       gtk_widget_queue_draw (w);
-
-       g_signal_emit (w, signals[REPORT_SELECTED], 0, i);
-    }
-
-    return FALSE;
-}
-
-static gboolean
-graph_view_button_release (GtkWidget     *w,
-                          GdkEventButton *ev)
-{
-    GraphView *self = (GraphView *) w;
-
-    return FALSE;
-}
-
-static void
-graph_view_realize (GtkWidget *widget)
-{
-    GdkWindowAttr attributes;
-
-    GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
-
-    attributes.window_type = GDK_WINDOW_CHILD;
-    attributes.x = widget->allocation.x;
-    attributes.y = widget->allocation.y;
-    attributes.width  = widget->allocation.width;
-    attributes.height = widget->allocation.height;
-    attributes.wclass = GDK_INPUT_OUTPUT;
-    attributes.visual = gtk_widget_get_visual (widget);
-    attributes.colormap = gtk_widget_get_colormap (widget);
-    attributes.event_mask = gtk_widget_get_events (widget) |
-                           GDK_BUTTON_PRESS_MASK |
-                           GDK_BUTTON_RELEASE_MASK |
-                           GDK_EXPOSURE_MASK;
-
-    widget->window = gdk_window_new (gtk_widget_get_parent_window (widget),
-                                    &attributes,
-                                    GDK_WA_X | GDK_WA_Y |
-                                    GDK_WA_VISUAL | GDK_WA_COLORMAP);
-    gdk_window_set_user_data (widget->window, widget);
-
-    widget->style = gtk_style_attach (widget->style, widget->window);
-    gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
-}
-
-static void
-graph_view_finalize (GObject *obj)
-{
-    G_OBJECT_CLASS (graph_view_parent_class)->finalize (obj);
-}
-
-static void
-graph_view_class_init (GraphViewClass *klass)
-{
-    GObjectClass *object_class = (GObjectClass *) klass;
-    GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;
-
-    object_class->finalize = graph_view_finalize;
-
-    widget_class->realize = graph_view_realize;
-    widget_class->expose_event = graph_view_expose;
-    widget_class->button_press_event = graph_view_button_press;
-    widget_class->button_release_event = graph_view_button_release;
-
-    signals[REPORT_SELECTED] =
-       g_signal_new ("report-selected",
-                     G_TYPE_FROM_CLASS (object_class),
-                     G_SIGNAL_RUN_FIRST,
-                     0,//G_STRUCT_OFFSET (GraphView, report_selected),
-                     NULL, NULL,
-                     g_cclosure_marshal_VOID__INT,
-                     G_TYPE_NONE, 1, G_TYPE_INT);
-}
-
-static void
-graph_view_init (GraphView *self)
-{
-    self->selected_report = -1;
-}
-
-GtkWidget *
-graph_view_new (void)
-{
-    return g_object_new (graph_view_get_type (), NULL);
-}
-
-void
-graph_view_update_visible (GraphView *gv)
-{
-    double min, max;
-    test_case_t *cases;
-
-    cases = gv->cases;
-
-    min = max = 1.;
-    while (cases->name != NULL) {
-       if (cases->shown) {
-           if (cases->min < min)
-               min = cases->min;
-           if (cases->max > max)
-               max = cases->max;
-       }
-       cases++;
-    }
-    gv->ymin = -1/min + 1;
-    gv->ymax = max - 1;
-
-    gtk_widget_queue_draw (&gv->widget);
-}
-
-void
-graph_view_set_reports (GraphView          *gv,
-                       test_case_t         *cases,
-                       cairo_perf_report_t *reports,
-                       int                  num_reports)
-{
-    /* XXX ownership? */
-    gv->cases = cases;
-    gv->reports = reports;
-    gv->num_reports = num_reports;
-
-    graph_view_update_visible (gv);
-}
diff --git a/perf/cairo-perf-graph.h b/perf/cairo-perf-graph.h
deleted file mode 100644 (file)
index 4cb6216..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Authors: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#ifndef CAIRO_PERF_GRAPH_H
-#define CAIRO_PERF_GRAPH_H
-
-#include <gtk/gtk.h>
-
-#include "cairo-perf.h"
-
-typedef struct _test_case {
-    const char *backend;
-    const char *content;
-    const char *name;
-    int size;
-
-    test_report_t *min_test;
-
-    cairo_bool_t shown;
-    double baseline;
-    double min, max;
-    GdkColor color;
-} test_case_t;
-
-typedef struct _GraphView GraphView;
-
-GtkWidget *
-graph_view_new (void);
-
-void
-graph_view_set_reports (GraphView          *gv,
-                       test_case_t         *tests,
-                       cairo_perf_report_t *reports,
-                       int                  num_reports);
-
-void
-graph_view_update_visible (GraphView *gv);
-
-#endif
diff --git a/perf/cairo-perf-micro.c b/perf/cairo-perf-micro.c
deleted file mode 100644 (file)
index d6b52c4..0000000
+++ /dev/null
@@ -1,594 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright © 2006 Mozilla Corporation
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Vladimir Vukicevic <vladimir@pobox.com>
- *         Carl Worth <cworth@cworth.org>
- */
-
-#define _GNU_SOURCE 1  /* for sched_getaffinity() */
-
-#include "../cairo-version.h" /* for the real version */
-
-#include "cairo-perf.h"
-#include "cairo-stats.h"
-
-#include "cairo-boilerplate-getopt.h"
-
-/* For basename */
-#ifdef HAVE_LIBGEN_H
-#include <libgen.h>
-#endif
-
-#if HAVE_FCFINI
-#include <fontconfig/fontconfig.h>
-#endif
-
-#ifdef HAVE_SCHED_H
-#include <sched.h>
-#endif
-
-#define CAIRO_PERF_ITERATIONS_DEFAULT          100
-#define CAIRO_PERF_LOW_STD_DEV                 0.03
-#define CAIRO_PERF_STABLE_STD_DEV_COUNT                5
-#define CAIRO_PERF_ITERATION_MS_DEFAULT                2000
-#define CAIRO_PERF_ITERATION_MS_FAST           5
-
-typedef struct _cairo_perf_case {
-    CAIRO_PERF_RUN_DECL (*run);
-    cairo_bool_t (*enabled) (cairo_perf_t *perf);
-    unsigned int min_size;
-    unsigned int max_size;
-} cairo_perf_case_t;
-
-const cairo_perf_case_t perf_cases[];
-
-static const char *
-_content_to_string (cairo_content_t content,
-                   cairo_bool_t    similar)
-{
-    switch (content|similar) {
-    case CAIRO_CONTENT_COLOR:
-       return "rgb";
-    case CAIRO_CONTENT_COLOR|1:
-       return "rgb&";
-    case CAIRO_CONTENT_ALPHA:
-       return "a";
-    case CAIRO_CONTENT_ALPHA|1:
-       return "a&";
-    case CAIRO_CONTENT_COLOR_ALPHA:
-       return "rgba";
-    case CAIRO_CONTENT_COLOR_ALPHA|1:
-       return "rgba&";
-    default:
-       return "<unknown_content>";
-    }
-}
-
-static cairo_bool_t
-cairo_perf_has_similar (cairo_perf_t *perf)
-{
-    cairo_surface_t *target;
-
-    if (getenv ("CAIRO_TEST_SIMILAR") == NULL)
-       return FALSE;
-
-    /* exclude the image backend */
-    target = cairo_get_target (perf->cr);
-    if (cairo_surface_get_type (target) == CAIRO_SURFACE_TYPE_IMAGE)
-       return FALSE;
-
-    return TRUE;
-}
-
-cairo_bool_t
-cairo_perf_can_run (cairo_perf_t *perf,
-                   const char   *name,
-                   cairo_bool_t *is_explicit)
-{
-    unsigned int i;
-
-    if (is_explicit)
-       *is_explicit = FALSE;
-
-    if (perf->num_names == 0)
-       return TRUE;
-
-    for (i = 0; i < perf->num_names; i++) {
-       if (strstr (name, perf->names[i])) {
-           if (is_explicit)
-               *is_explicit = FALSE;
-           return TRUE;
-       }
-    }
-
-    return FALSE;
-}
-
-static unsigned
-cairo_perf_calibrate (cairo_perf_t     *perf,
-                     cairo_perf_func_t  perf_func)
-{
-    cairo_time_t calibration, calibration_max;
-    unsigned loops, min_loops;
-
-    min_loops = 1;
-    calibration = perf_func (perf->cr, perf->size, perf->size, min_loops);
-
-    if (!perf->fast_and_sloppy) {
-       calibration_max = _cairo_time_from_s (perf->ms_per_iteration * 0.0001 / 4);
-       while (calibration < calibration_max) {
-           min_loops *= 2;
-           calibration = perf_func (perf->cr, perf->size, perf->size, min_loops);
-       }
-    }
-
-    /* XXX
-     * Compute the number of loops required for the timing
-     * interval to be perf->ms_per_iteration milliseconds. This
-     * helps to eliminate sampling variance due to timing and
-     * other systematic errors.  However, it also hides
-     * synchronisation overhead as we attempt to process a large
-     * batch of identical operations in a single shot. This can be
-     * considered both good and bad... It would be good to perform
-     * a more rigorous analysis of the synchronisation overhead,
-     * that is to estimate the time for loop=0.
-     */
-    loops = _cairo_time_from_s (perf->ms_per_iteration * 0.001 * min_loops / calibration);
-    min_loops = perf->fast_and_sloppy ? 1 : 10;
-    if (loops < min_loops)
-       loops = min_loops;
-
-    return loops;
-}
-
-void
-cairo_perf_run (cairo_perf_t      *perf,
-               const char         *name,
-               cairo_perf_func_t   perf_func,
-               cairo_count_func_t  count_func)
-{
-    static cairo_bool_t first_run = TRUE;
-    unsigned int i, similar, similar_iters;
-    cairo_time_t *times;
-    cairo_stats_t stats = {0.0, 0.0};
-    int low_std_dev_count;
-
-    if (perf->list_only) {
-       printf ("%s\n", name);
-       return;
-    }
-
-    if (first_run) {
-       if (perf->raw) {
-           printf ("[ # ] %s.%-s %s %s %s ...\n",
-                   "backend", "content", "test-size", "ticks-per-ms", "time(ticks)");
-       }
-
-       if (perf->summary) {
-           fprintf (perf->summary,
-                    "[ # ] %8s.%-4s %28s %8s %8s %5s %5s %s %s\n",
-                    "backend", "content", "test-size", "min(ticks)", "min(ms)", "median(ms)",
-                    "stddev.", "iterations", "overhead");
-       }
-       first_run = FALSE;
-    }
-
-    times = perf->times;
-
-    if (getenv ("CAIRO_PERF_OUTPUT") != NULL) { /* check output */
-       char *filename;
-       cairo_status_t status;
-
-       xasprintf (&filename, "%s.%s.%s.%d.out.png",
-                  name, perf->target->name,
-                  _content_to_string (perf->target->content, 0),
-                  perf->size);
-       cairo_save (perf->cr);
-       perf_func (perf->cr, perf->size, perf->size, 1);
-       cairo_restore (perf->cr);
-       status = cairo_surface_write_to_png (cairo_get_target (perf->cr), filename);
-       if (status) {
-           fprintf (stderr, "Failed to generate output check '%s': %s\n",
-                    filename, cairo_status_to_string (status));
-           return;
-       }
-
-       free (filename);
-    }
-
-    if (cairo_perf_has_similar (perf))
-       similar_iters = 2;
-    else
-       similar_iters = 1;
-
-    for (similar = 0; similar < similar_iters; similar++) {
-       unsigned loops;
-
-       if (perf->summary) {
-           fprintf (perf->summary,
-                    "[%3d] %8s.%-5s %26s.%-3d ",
-                    perf->test_number, perf->target->name,
-                    _content_to_string (perf->target->content, similar),
-                    name, perf->size);
-           fflush (perf->summary);
-       }
-
-       /* We run one iteration in advance to warm caches and calibrate. */
-       cairo_perf_yield ();
-       if (similar)
-           cairo_push_group_with_content (perf->cr,
-                                          cairo_boilerplate_content (perf->target->content));
-       else
-           cairo_save (perf->cr);
-       perf_func (perf->cr, perf->size, perf->size, 1);
-       loops = cairo_perf_calibrate (perf, perf_func);
-       if (similar)
-           cairo_pattern_destroy (cairo_pop_group (perf->cr));
-       else
-           cairo_restore (perf->cr);
-
-       low_std_dev_count = 0;
-       for (i =0; i < perf->iterations; i++) {
-           cairo_perf_yield ();
-           if (similar)
-               cairo_push_group_with_content (perf->cr,
-                                              cairo_boilerplate_content (perf->target->content));
-           else
-               cairo_save (perf->cr);
-           times[i] = perf_func (perf->cr, perf->size, perf->size, loops) ;
-           if (similar)
-               cairo_pattern_destroy (cairo_pop_group (perf->cr));
-           else
-               cairo_restore (perf->cr);
-           if (perf->raw) {
-               if (i == 0)
-                   printf ("[*] %s.%s %s.%d %g",
-                           perf->target->name,
-                           _content_to_string (perf->target->content, similar),
-                           name, perf->size,
-                           _cairo_time_to_double (_cairo_time_from_s (1.)) / 1000.);
-               printf (" %lld", (long long) (times[i] / (double) loops));
-           } else if (! perf->exact_iterations) {
-               if (i > 0) {
-                   _cairo_stats_compute (&stats, times, i+1);
-
-                   if (stats.std_dev <= CAIRO_PERF_LOW_STD_DEV) {
-                       low_std_dev_count++;
-                       if (low_std_dev_count >= CAIRO_PERF_STABLE_STD_DEV_COUNT)
-                           break;
-                   } else {
-                       low_std_dev_count = 0;
-                   }
-               }
-           }
-       }
-
-       if (perf->raw)
-           printf ("\n");
-
-       if (perf->summary) {
-           _cairo_stats_compute (&stats, times, i);
-           if (count_func != NULL) {
-               double count = count_func (perf->cr, perf->size, perf->size);
-               fprintf (perf->summary,
-                        "%.3f [%10lld/%d] %#8.3f %#8.3f %#5.2f%% %3d: %.2f\n",
-                        stats.min_ticks /(double) loops,
-                        (long long) stats.min_ticks, loops,
-                        _cairo_time_to_s (stats.min_ticks) * 1000.0 / loops,
-                        _cairo_time_to_s (stats.median_ticks) * 1000.0 / loops,
-                        stats.std_dev * 100.0, stats.iterations,
-                        count / _cairo_time_to_s (stats.min_ticks));
-           } else {
-               fprintf (perf->summary,
-                        "%.3f [%10lld/%d] %#8.3f %#8.3f %#5.2f%% %3d\n",
-                        stats.min_ticks /(double) loops,
-                        (long long) stats.min_ticks, loops,
-                        _cairo_time_to_s (stats.min_ticks) * 1000.0 / loops,
-                        _cairo_time_to_s (stats.median_ticks) * 1000.0 / loops,
-                        stats.std_dev * 100.0, stats.iterations);
-           }
-           fflush (perf->summary);
-       }
-
-       perf->test_number++;
-    }
-}
-
-static void
-usage (const char *argv0)
-{
-    fprintf (stderr,
-"Usage: %s [-flrv] [-i iterations] [test-names ...]\n"
-"\n"
-"Run the cairo performance test suite over the given tests (all by default)\n"
-"The command-line arguments are interpreted as follows:\n"
-"\n"
-"  -f  fast; faster, less accurate\n"
-"  -i  iterations; specify the number of iterations per test case\n"
-"  -l  list only; just list selected test case names without executing\n"
-"  -r  raw; display each time measurement instead of summary statistics\n"
-"  -v  verbose; in raw mode also show the summaries\n"
-"\n"
-"If test names are given they are used as sub-string matches so a command\n"
-"such as \"%s text\" can be used to run all text test cases.\n",
-            argv0, argv0);
-}
-
-static void
-parse_options (cairo_perf_t *perf,
-              int           argc,
-              char         *argv[])
-{
-    int c;
-    const char *iters;
-    const char *ms = NULL;
-    char *end;
-    int verbose = 0;
-
-    if ((iters = getenv("CAIRO_PERF_ITERATIONS")) && *iters)
-       perf->iterations = strtol(iters, NULL, 0);
-    else
-       perf->iterations = CAIRO_PERF_ITERATIONS_DEFAULT;
-    perf->exact_iterations = 0;
-
-    perf->fast_and_sloppy = FALSE;
-    perf->ms_per_iteration = CAIRO_PERF_ITERATION_MS_DEFAULT;
-    if ((ms = getenv("CAIRO_PERF_ITERATION_MS")) && *ms) {
-       perf->ms_per_iteration = atof(ms);
-    }
-
-    perf->raw = FALSE;
-    perf->list_only = FALSE;
-    perf->names = NULL;
-    perf->num_names = 0;
-    perf->summary = stdout;
-
-    while (1) {
-       c = _cairo_getopt (argc, argv, "fi:lrv");
-       if (c == -1)
-           break;
-
-       switch (c) {
-       case 'f':
-           perf->fast_and_sloppy = TRUE;
-           if (ms == NULL)
-               perf->ms_per_iteration = CAIRO_PERF_ITERATION_MS_FAST;
-           break;
-       case 'i':
-           perf->exact_iterations = TRUE;
-           perf->iterations = strtoul (optarg, &end, 10);
-           if (*end != '\0') {
-               fprintf (stderr, "Invalid argument for -i (not an integer): %s\n",
-                        optarg);
-               exit (1);
-           }
-           break;
-       case 'l':
-           perf->list_only = TRUE;
-           break;
-       case 'r':
-           perf->raw = TRUE;
-           perf->summary = NULL;
-           break;
-       case 'v':
-           verbose = 1;
-           break;
-       default:
-           fprintf (stderr, "Internal error: unhandled option: %c\n", c);
-           /* fall-through */
-       case '?':
-           usage (argv[0]);
-           exit (1);
-       }
-    }
-
-    if (verbose && perf->summary == NULL)
-       perf->summary = stderr;
-
-    if (optind < argc) {
-       perf->names = &argv[optind];
-       perf->num_names = argc - optind;
-    }
-}
-
-static int 
-check_cpu_affinity (void)
-{
-#ifdef HAVE_SCHED_GETAFFINITY
-
-    cpu_set_t affinity;
-    int i, cpu_count;
-
-    if (sched_getaffinity(0, sizeof(affinity), &affinity)) {
-       perror("sched_getaffinity");
-       return -1;
-    }
-
-    for(i = 0, cpu_count = 0; i < CPU_SETSIZE; ++i) {
-       if (CPU_ISSET(i, &affinity))
-           ++cpu_count;
-    }
-
-    if (cpu_count > 1) {
-       fputs(
-           "WARNING: cairo-perf has not been bound to a single CPU.\n",
-           stderr);
-       return -1;
-    }
-
-    return 0;
-#else
-    fputs(
-       "WARNING: Cannot check CPU affinity for this platform.\n",
-       stderr);
-    return -1;
-#endif
-}
-
-static void
-cairo_perf_fini (cairo_perf_t *perf)
-{
-    cairo_boilerplate_free_targets (perf->targets);
-    cairo_boilerplate_fini ();
-
-    free (perf->times);
-    cairo_debug_reset_static_data ();
-#if HAVE_FCFINI
-    FcFini ();
-#endif
-}
-
-
-int
-main (int   argc,
-      char *argv[])
-{
-    int i, j;
-    cairo_perf_t perf;
-    cairo_surface_t *surface;
-
-    parse_options (&perf, argc, argv);
-
-    if (check_cpu_affinity()) {
-       fputs(
-           "NOTICE: cairo-perf and the X server should be bound to CPUs (either the same\n"
-           "or separate) on SMP systems. Not doing so causes random results when the X\n"
-           "server is moved to or from cairo-perf's CPU during the benchmarks:\n"
-           "\n"
-           "    $ sudo taskset -cp 0 $(pidof X)\n"
-           "    $ taskset -cp 1 $$\n"
-           "\n"
-           "See taskset(1) for information about changing CPU affinity.\n",
-           stderr);
-    }
-
-    perf.targets = cairo_boilerplate_get_targets (&perf.num_targets, NULL);
-    perf.times = xmalloc (perf.iterations * sizeof (cairo_time_t));
-
-    for (i = 0; i < perf.num_targets; i++) {
-       const cairo_boilerplate_target_t *target = perf.targets[i];
-
-       if (! target->is_measurable)
-           continue;
-
-       perf.target = target;
-       perf.test_number = 0;
-
-       for (j = 0; perf_cases[j].run; j++) {
-           const cairo_perf_case_t *perf_case = &perf_cases[j];
-
-           if (! perf_case->enabled (&perf))
-               continue;
-
-           for (perf.size = perf_case->min_size;
-                perf.size <= perf_case->max_size;
-                perf.size *= 2)
-           {
-               void *closure;
-
-               surface = (target->create_surface) (NULL,
-                                                   target->content,
-                                                   perf.size, perf.size,
-                                                   perf.size, perf.size,
-                                                   CAIRO_BOILERPLATE_MODE_PERF,
-                                                   &closure);
-               if (surface == NULL) {
-                   fprintf (stderr,
-                            "Error: Failed to create target surface: %s\n",
-                            target->name);
-                   continue;
-               }
-
-               cairo_perf_timer_set_synchronize (target->synchronize, closure);
-
-               perf.cr = cairo_create (surface);
-
-               perf_case->run (&perf, perf.cr, perf.size, perf.size);
-
-               if (cairo_status (perf.cr)) {
-                   fprintf (stderr, "Error: Test left cairo in an error state: %s\n",
-                            cairo_status_to_string (cairo_status (perf.cr)));
-               }
-
-               cairo_destroy (perf.cr);
-               cairo_surface_destroy (surface);
-
-               if (target->cleanup)
-                   target->cleanup (closure);
-           }
-       }
-    }
-
-    cairo_perf_fini (&perf);
-
-    return 0;
-}
-
-#define FUNC(f) f, f##_enabled
-const cairo_perf_case_t perf_cases[] = {
-    { FUNC(pixel),  1, 1 },
-    { FUNC(a1_pixel),  1, 1 },
-    { FUNC(paint),  64, 512},
-    { FUNC(paint_with_alpha),  64, 512},
-    { FUNC(fill),   64, 512},
-    { FUNC(stroke), 64, 512},
-    { FUNC(text),   64, 512},
-    { FUNC(glyphs), 64, 512},
-    { FUNC(mask),   64, 512},
-    { FUNC(line),  32, 512},
-    { FUNC(a1_line),  32, 512},
-    { FUNC(curve),  32, 512},
-    { FUNC(a1_curve),  32, 512},
-    { FUNC(disjoint),   64, 512},
-    { FUNC(hatching),   64, 512},
-    { FUNC(tessellate), 100, 100},
-    { FUNC(subimage_copy), 16, 512},
-    { FUNC(hash_table), 16, 16},
-    { FUNC(pattern_create_radial), 16, 16},
-    { FUNC(zrusin), 415, 415},
-    { FUNC(world_map), 800, 800},
-    { FUNC(box_outline), 100, 100},
-    { FUNC(mosaic), 800, 800 },
-    { FUNC(long_lines), 100, 100},
-    { FUNC(unaligned_clip), 100, 100},
-    { FUNC(rectangles), 512, 512},
-    { FUNC(rounded_rectangles), 512, 512},
-    { FUNC(long_dashed_lines), 512, 512},
-    { FUNC(composite_checker), 16, 512},
-    { FUNC(twin), 800, 800},
-    { FUNC(dragon), 1024, 1024 },
-    { FUNC(sierpinski), 32, 1024 },
-    { FUNC(pythagoras_tree), 768, 768 },
-    { FUNC(intersections), 512, 512 },
-    { FUNC(many_strokes), 32, 512 },
-    { FUNC(wide_strokes), 32, 512 },
-    { FUNC(many_fills), 32, 512 },
-    { FUNC(wide_fills), 32, 512 },
-    { FUNC(many_curves), 32, 512 },
-    { FUNC(spiral), 512, 512 },
-    { FUNC(wave), 500, 500 },
-    { FUNC(fill_clip), 16, 512 },
-    { FUNC(tiger), 16, 1024 },
-    { NULL }
-};
diff --git a/perf/cairo-perf-print.c b/perf/cairo-perf-print.c
deleted file mode 100644 (file)
index 16a3ff4..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Authors: Carl Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-#include <stdio.h>
-
-static void
-report_print (const cairo_perf_report_t *report)
-{
-    const test_report_t *tests;
-
-    tests = report->tests;
-    for (tests = report->tests; tests->name != NULL; tests++) {
-       if (tests->stats.iterations == 0)
-           continue;
-
-       if (tests->size) {
-           printf ("%5s-%-4s %26s-%-3d  %6.2f %4.2f%%\n",
-                   tests->backend, tests->content,
-                   tests->name, tests->size,
-                   tests->stats.median_ticks / tests->stats.ticks_per_ms,
-                   tests->stats.std_dev * 100);
-       } else {
-           printf ("%5s %26s  %6.2f %4.2f%%\n",
-                   tests->backend, tests->name,
-                   tests->stats.median_ticks / tests->stats.ticks_per_ms,
-                   tests->stats.std_dev * 100);
-       }
-    }
-}
-
-int
-main (int        argc,
-      const char *argv[])
-{
-    int i;
-
-    for (i = 1; i < argc; i++ ) {
-       cairo_perf_report_t report;
-
-       cairo_perf_report_load (&report, argv[i], i, NULL);
-       report_print (&report);
-    }
-
-    return 0;
-}
diff --git a/perf/cairo-perf-report.c b/perf/cairo-perf-report.c
deleted file mode 100644 (file)
index 38bdc0c..0000000
+++ /dev/null
@@ -1,452 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Authors: Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-missing.h"
-#include "cairo-perf.h"
-#include "cairo-stats.h"
-
-/* We use _GNU_SOURCE for getline and strndup if available. */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <ctype.h>
-#include <math.h>
-#include <assert.h>
-#ifdef HAVE_LIBGEN_H
-#include <libgen.h>
-#endif
-
-#ifdef _MSC_VER
-static long long
-strtoll (const char  *nptr,
-        char       **endptr,
-        int          base);
-
-static char *
-basename (char *path);
-#endif
-
-/* Ad-hoc parsing, macros with a strong dependence on the calling
- * context, and plenty of other ugliness is here.  But at least it's
- * not perl... */
-#define parse_error(...) fprintf(stderr, __VA_ARGS__); return TEST_REPORT_STATUS_ERROR;
-#define skip_char(c)                                                   \
-do {                                                                   \
-    if (*s && *s == (c)) {                                             \
-       s++;                                                            \
-    } else {                                                           \
-        parse_error ("expected '%c' but found '%c'", c, *s);           \
-    }                                                                  \
-} while (0)
-#define skip_space() while (*s && (*s == ' ' || *s == '\t')) s++;
-#define parse_int(result)                                              \
-do {                                                                   \
-    (result) = strtol (s, &end, 10);                                   \
-    if (*s && end != s) {                                              \
-       s = end;                                                        \
-    } else {                                                           \
-       parse_error("expected integer but found %s", s);                \
-    }                                                                  \
-} while (0)
-#define parse_long_long(result)                                        \
-do {                                                                   \
-    (result) = strtoll (s, &end, 10);                                  \
-    if (*s && end != s) {                                              \
-       s = end;                                                        \
-    } else {                                                           \
-       parse_error("expected integer but found %s", s);                \
-    }                                                                  \
-} while (0)
-#define parse_double(result)                                           \
-do {                                                                   \
-    (result) = strtod (s, &end);                                       \
-    if (*s && end != s) {                                              \
-       s = end;                                                        \
-    } else {                                                           \
-       parse_error("expected floating-point value but found %s", s);   \
-    }                                                                  \
-} while (0)
-/* Here a string is simply a sequence of non-whitespace */
-#define parse_string(result)                                           \
-do {                                                                   \
-    for (end = s; *end; end++)                                         \
-       if (isspace (*end))                                             \
-           break;                                                      \
-    (result) = strndup (s, end - s);                                   \
-    if ((result) == NULL) {                                            \
-       fprintf (stderr, "Out of memory.\n");                           \
-       exit (1);                                                       \
-    }                                                                  \
-    s = end;                                                           \
-} while (0)
-
-static test_report_status_t
-test_report_parse (test_report_t *report,
-                  int fileno,
-                  char          *line,
-                  char          *configuration)
-{
-    char *end;
-    char *s = line;
-    cairo_bool_t is_raw = FALSE;
-    double min_time, median_time;
-
-    /* The code here looks funny unless you understand that these are
-     * all macro calls, (and then the code just looks sick). */
-    if (*s == '\n')
-       return TEST_REPORT_STATUS_COMMENT;
-
-    skip_char ('[');
-    skip_space ();
-    if (*s == '#')
-       return TEST_REPORT_STATUS_COMMENT;
-    if (*s == '*') {
-       s++;
-       is_raw = TRUE;
-    } else {
-       parse_int (report->id);
-    }
-    skip_char (']');
-
-    skip_space ();
-
-    report->fileno = fileno;
-    report->configuration = configuration;
-    parse_string (report->backend);
-    end = strrchr (report->backend, '.');
-    if (end)
-       *end++ = '\0';
-    report->content = end ? end : xstrdup ("???");
-
-    skip_space ();
-
-    parse_string (report->name);
-    end = strrchr (report->name, '.');
-    if (end)
-       *end++ = '\0';
-    report->size = end ? atoi (end) : 0;
-
-    skip_space ();
-
-    report->samples = NULL;
-    report->samples_size = 0;
-    report->samples_count = 0;
-
-    if (is_raw) {
-       parse_double (report->stats.ticks_per_ms);
-       skip_space ();
-
-       report->samples_size = 5;
-       report->samples = xmalloc (report->samples_size * sizeof (cairo_time_t));
-       report->stats.min_ticks = 0;
-       do {
-           if (report->samples_count == report->samples_size) {
-               report->samples_size *= 2;
-               report->samples = xrealloc (report->samples,
-                                           report->samples_size * sizeof (cairo_time_t));
-           }
-           parse_long_long (report->samples[report->samples_count]);
-           if (report->samples_count == 0) {
-               report->stats.min_ticks =
-                   report->samples[report->samples_count];
-           } else if (report->stats.min_ticks >
-                      report->samples[report->samples_count]){
-               report->stats.min_ticks =
-                   report->samples[report->samples_count];
-           }
-           report->samples_count++;
-           skip_space ();
-       } while (*s && *s != '\n');
-       report->stats.iterations = 0;
-       skip_char ('\n');
-    } else {
-       parse_double (report->stats.min_ticks);
-       skip_space ();
-
-       parse_double (min_time);
-       report->stats.ticks_per_ms = report->stats.min_ticks / min_time;
-
-       skip_space ();
-
-       parse_double (median_time);
-       report->stats.median_ticks = median_time * report->stats.ticks_per_ms;
-
-       skip_space ();
-
-       parse_double (report->stats.std_dev);
-       report->stats.std_dev /= 100.0;
-       skip_char ('%');
-
-       skip_space ();
-
-       parse_int (report->stats.iterations);
-
-       skip_space ();
-       skip_char ('\n');
-    }
-
-    return TEST_REPORT_STATUS_SUCCESS;
-}
-
-/* We provide hereafter a win32 implementation of the basename
- * and strtoll functions which are not available otherwise.
- * The basename function is fully compliant to its GNU specs.
- */
-#ifdef _MSC_VER
-long long
-strtoll (const char  *nptr,
-        char       **endptr,
-        int          base)
-{
-    return _atoi64(nptr);
-}
-
-static char *
-basename (char *path)
-{
-    char *end, *s;
-
-    end = (path + strlen(path) - 1);
-    while (end && (end >= path + 1) && (*end == '/')) {
-       *end = '\0';
-       end--;
-    }
-
-    s = strrchr(path, '/');
-    if (s) {
-       if (s == end) {
-           return s;
-       } else {
-           return s+1;
-       }
-    } else {
-       return path;
-    }
-}
-#endif /* ifndef _MSC_VER */
-
-int
-test_report_cmp_backend_then_name (const void *a,
-                                  const void *b)
-{
-    const test_report_t *a_test = a;
-    const test_report_t *b_test = b;
-
-    int cmp;
-
-    cmp = strcmp (a_test->backend, b_test->backend);
-    if (cmp)
-       return cmp;
-
-    cmp = strcmp (a_test->content, b_test->content);
-    if (cmp)
-       return cmp;
-
-    /* A NULL name is a list-termination marker, so force it last. */
-    if (a_test->name == NULL)
-       if (b_test->name == NULL)
-           return 0;
-       else
-           return 1;
-    else if (b_test->name == NULL)
-       return -1;
-
-    cmp = strcmp (a_test->name, b_test->name);
-    if (cmp)
-       return cmp;
-
-    if (a_test->size < b_test->size)
-       return -1;
-    if (a_test->size > b_test->size)
-       return 1;
-
-    return 0;
-}
-
-int
-test_report_cmp_name (const void *a,
-                     const void *b)
-{
-    const test_report_t *a_test = a;
-    const test_report_t *b_test = b;
-
-    int cmp;
-
-    /* A NULL name is a list-termination marker, so force it last. */
-    if (a_test->name == NULL)
-       if (b_test->name == NULL)
-           return 0;
-       else
-           return 1;
-    else if (b_test->name == NULL)
-       return -1;
-
-    cmp = strcmp (a_test->name, b_test->name);
-    if (cmp)
-       return cmp;
-
-    if (a_test->size < b_test->size)
-       return -1;
-    if (a_test->size > b_test->size)
-       return 1;
-
-    return 0;
-}
-
-void
-cairo_perf_report_sort_and_compute_stats (cairo_perf_report_t *report,
-                                         int (*cmp) (const void*, const void*))
-{
-    test_report_t *base, *next, *last, *t;
-
-    if (cmp == NULL)
-       cmp = test_report_cmp_backend_then_name;
-
-    /* First we sort, since the diff needs both lists in the same
-     * order */
-    qsort (report->tests, report->tests_count, sizeof (test_report_t), cmp);
-
-    /* The sorting also brings all related raw reports together so we
-     * can condense them and compute the stats.
-     */
-    base = &report->tests[0];
-    last = &report->tests[report->tests_count - 1];
-    while (base <= last) {
-       next = base+1;
-       if (next <= last) {
-           while (next <= last &&
-                  test_report_cmp_backend_then_name (base, next) == 0)
-           {
-               next++;
-           }
-           if (next != base) {
-               unsigned int new_samples_count = base->samples_count;
-               for (t = base + 1; t < next; t++)
-                   new_samples_count += t->samples_count;
-               if (new_samples_count > base->samples_size) {
-                   base->samples_size = new_samples_count;
-                   base->samples = xrealloc (base->samples,
-                                             base->samples_size * sizeof (cairo_time_t));
-               }
-               for (t = base + 1; t < next; t++) {
-                   memcpy (&base->samples[base->samples_count], t->samples,
-                           t->samples_count * sizeof (cairo_time_t));
-                   base->samples_count += t->samples_count;
-               }
-           }
-       }
-       if (base->samples)
-           _cairo_stats_compute (&base->stats, base->samples, base->samples_count);
-       base = next;
-    }
-}
-
-void
-cairo_perf_report_load (cairo_perf_report_t *report,
-                       const char *filename, int id,
-                       int (*cmp) (const void *, const void *))
-{
-    FILE *file;
-    test_report_status_t status;
-    int line_number = 0;
-    char *line = NULL;
-    size_t line_size = 0;
-    char *configuration;
-    char *dot;
-    char *baseName;
-    const char *name;
-
-    name = filename;
-    if (name == NULL)
-       name = "stdin";
-
-    configuration = xstrdup (name);
-    baseName = basename (configuration);
-    report->configuration = xstrdup (baseName);
-    free (configuration);
-
-    dot = strrchr (report->configuration, '.');
-    if (dot)
-       *dot = '\0';
-
-    report->name = name;
-    report->tests_size = 16;
-    report->tests = xmalloc (report->tests_size * sizeof (test_report_t));
-    report->tests_count = 0;
-    report->fileno = id;
-
-    if (filename == NULL) {
-       file = stdin;
-    } else {
-       file = fopen (filename, "r");
-       if (file == NULL) {
-           fprintf (stderr, "Failed to open %s: %s\n",
-                    filename, strerror (errno));
-           exit (1);
-       }
-    }
-
-    while (1) {
-       if (report->tests_count == report->tests_size) {
-           report->tests_size *= 2;
-           report->tests = xrealloc (report->tests,
-                                     report->tests_size * sizeof (test_report_t));
-       }
-
-       line_number++;
-       if (getline (&line, &line_size, file) == -1)
-           break;
-
-       status = test_report_parse (&report->tests[report->tests_count],
-                                   id, line, report->configuration);
-       if (status == TEST_REPORT_STATUS_ERROR)
-           fprintf (stderr, "Ignoring unrecognized line %d of %s:\n%s",
-                    line_number, filename, line);
-       if (status == TEST_REPORT_STATUS_SUCCESS)
-           report->tests_count++;
-       /* Do nothing on TEST_REPORT_STATUS_COMMENT */
-    }
-
-    free (line);
-
-    if (filename != NULL)
-       fclose (file);
-
-    cairo_perf_report_sort_and_compute_stats (report, cmp);
-
-    /* Add one final report with a NULL name to terminate the list. */
-    if (report->tests_count == report->tests_size) {
-       report->tests_size *= 2;
-       report->tests = xrealloc (report->tests,
-                                 report->tests_size * sizeof (test_report_t));
-    }
-    report->tests[report->tests_count].name = NULL;
-}
diff --git a/perf/cairo-perf-trace.c b/perf/cairo-perf-trace.c
deleted file mode 100644 (file)
index bd0cb07..0000000
+++ /dev/null
@@ -1,1050 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright © 2006 Mozilla Corporation
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Vladimir Vukicevic <vladimir@pobox.com>
- *         Carl Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#define _GNU_SOURCE 1  /* for sched_getaffinity() and getline() */
-
-#include "../cairo-version.h" /* for the real version */
-
-#include "cairo-missing.h"
-#include "cairo-perf.h"
-#include "cairo-stats.h"
-
-#include "cairo-boilerplate-getopt.h"
-#include <cairo-script-interpreter.h>
-#include <cairo-types-private.h> /* for INTERNAL_SURFACE_TYPE */
-
-/* rudely reuse bits of the library... */
-#include "../src/cairo-hash-private.h"
-#include "../src/cairo-error-private.h"
-
-/* For basename */
-#ifdef HAVE_LIBGEN_H
-#include <libgen.h>
-#endif
-#include <ctype.h> /* isspace() */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifdef _MSC_VER
-#include "dirent-win32.h"
-
-static char *
-basename_no_ext (char *path)
-{
-    static char name[_MAX_FNAME + 1];
-
-    _splitpath (path, NULL, NULL, name, NULL);
-
-    name[_MAX_FNAME] = '\0';
-
-    return name;
-}
-
-
-#else
-#include <dirent.h>
-
-static char *
-basename_no_ext (char *path)
-{
-    char *dot, *name;
-
-    name = basename (path);
-
-    dot = strrchr (name, '.');
-    if (dot)
-       *dot = '\0';
-
-    return name;
-}
-
-#endif
-
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include <signal.h>
-
-#if HAVE_FCFINI
-#include <fontconfig/fontconfig.h>
-#endif
-
-#define CAIRO_PERF_ITERATIONS_DEFAULT  15
-#define CAIRO_PERF_LOW_STD_DEV         0.05
-#define CAIRO_PERF_MIN_STD_DEV_COUNT   3
-#define CAIRO_PERF_STABLE_STD_DEV_COUNT 3
-
-struct trace {
-    const cairo_boilerplate_target_t *target;
-    void            *closure;
-    cairo_surface_t *surface;
-    cairo_bool_t observe;
-    int tile_size;
-};
-
-cairo_bool_t
-cairo_perf_can_run (cairo_perf_t *perf,
-                   const char   *name,
-                   cairo_bool_t *is_explicit)
-{
-    unsigned int i;
-    char *copy, *dot;
-    cairo_bool_t ret;
-
-    if (is_explicit)
-       *is_explicit = FALSE;
-
-    if (perf->exact_names) {
-       if (is_explicit)
-           *is_explicit = TRUE;
-       return TRUE;
-    }
-
-    if (perf->num_names == 0 && perf->num_exclude_names == 0)
-       return TRUE;
-
-    copy = xstrdup (name);
-    dot = strrchr (copy, '.');
-    if (dot != NULL)
-       *dot = '\0';
-
-    if (perf->num_names) {
-       ret = TRUE;
-       for (i = 0; i < perf->num_names; i++)
-           if (strstr (copy, perf->names[i])) {
-               if (is_explicit)
-                   *is_explicit = strcmp (copy, perf->names[i]) == 0;
-               goto check_exclude;
-           }
-
-       ret = FALSE;
-       goto done;
-    }
-
-check_exclude:
-    if (perf->num_exclude_names) {
-       ret = FALSE;
-       for (i = 0; i < perf->num_exclude_names; i++)
-           if (strstr (copy, perf->exclude_names[i])) {
-               if (is_explicit)
-                   *is_explicit = strcmp (copy, perf->exclude_names[i]) == 0;
-               goto done;
-           }
-
-       ret = TRUE;
-       goto done;
-    }
-
-done:
-    free (copy);
-
-    return ret;
-}
-
-static void
-clear_surface (cairo_surface_t *surface)
-{
-    cairo_t *cr = cairo_create (surface);
-    cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
-    cairo_paint (cr);
-    cairo_destroy (cr);
-}
-
-struct scache {
-    cairo_hash_entry_t entry;
-    cairo_content_t content;
-    int width, height;
-    cairo_surface_t *surface;
-};
-
-static cairo_hash_table_t *surface_cache;
-static cairo_surface_t *surface_holdovers[16];
-
-static cairo_bool_t
-scache_equal (const void *A,
-             const void *B)
-{
-    const struct scache *a = A, *b = B;
-    return a->entry.hash == b->entry.hash;
-}
-
-#define ARRAY_SIZE(A) (sizeof(A)/sizeof(A[0]))
-static void
-scache_mark_active (cairo_surface_t *surface)
-{
-    cairo_surface_t *t0, *t1;
-    unsigned n;
-
-    if (surface_cache == NULL)
-       return;
-
-    t0 = cairo_surface_reference (surface);
-    for (n = 0; n < ARRAY_SIZE (surface_holdovers); n++) {
-       if (surface_holdovers[n] == surface) {
-           surface_holdovers[n] = t0;
-           t0 = surface;
-           break;
-       }
-
-       t1 = surface_holdovers[n];
-       surface_holdovers[n] = t0;
-       t0 = t1;
-    }
-    cairo_surface_destroy (t0);
-}
-
-static void
-scache_clear (void)
-{
-    unsigned n;
-
-    if (surface_cache == NULL)
-       return;
-
-    for (n = 0; n < ARRAY_SIZE (surface_holdovers); n++) {
-       cairo_surface_destroy (surface_holdovers[n]);
-       surface_holdovers[n] = NULL;
-    }
-}
-
-static void
-scache_remove (void *closure)
-{
-    _cairo_hash_table_remove (surface_cache, closure);
-    free (closure);
-}
-
-static cairo_surface_t *
-_similar_surface_create (void           *closure,
-                        cairo_content_t  content,
-                        double           width,
-                        double           height,
-                        long             uid)
-{
-    struct trace *args = closure;
-    cairo_surface_t *surface;
-    struct scache skey, *s;
-
-    if (args->observe)
-           return cairo_surface_create_similar (args->surface,
-                                                content, width, height);
-
-    if (uid == 0 || surface_cache == NULL)
-       return args->target->create_similar (args->surface, content, width, height);
-
-    skey.entry.hash = uid;
-    s = _cairo_hash_table_lookup (surface_cache, &skey.entry);
-    if (s != NULL) {
-       if (s->content == content &&
-           s->width   == width   &&
-           s->height  == height)
-       {
-           return cairo_surface_reference (s->surface);
-       }
-
-       /* The surface has been resized, allow the original entry to expire
-        * as it becomes inactive.
-        */
-    }
-
-    surface = args->target->create_similar (args->surface, content, width, height);
-    s = malloc (sizeof (struct scache));
-    if (s == NULL)
-       return surface;
-
-    s->entry.hash = uid;
-    s->content = content;
-    s->width = width;
-    s->height = height;
-    s->surface = surface;
-    if (_cairo_hash_table_insert (surface_cache, &s->entry)) {
-       free (s);
-    } else if (cairo_surface_set_user_data
-              (surface,
-               (const cairo_user_data_key_t *) &surface_cache,
-               s, scache_remove))
-    {
-       scache_remove (s);
-    }
-
-    return surface;
-}
-
-static cairo_t *
-_context_create (void           *closure,
-                cairo_surface_t *surface)
-{
-    scache_mark_active (surface);
-    return cairo_create (surface);
-}
-
-static int user_interrupt;
-
-static void
-interrupt (int sig)
-{
-    if (user_interrupt) {
-       signal (sig, SIG_DFL);
-       raise (sig);
-    }
-
-    user_interrupt = 1;
-}
-
-static void
-describe (cairo_perf_t *perf,
-          void *closure)
-{
-    char *description = NULL;
-
-    if (perf->has_described_backend)
-           return;
-    perf->has_described_backend = TRUE;
-
-    if (perf->target->describe)
-        description = perf->target->describe (closure);
-
-    if (description == NULL)
-        return;
-
-    if (perf->raw) {
-        printf ("[ # ] %s: %s\n", perf->target->name, description);
-    }
-
-    if (perf->summary) {
-        fprintf (perf->summary,
-                 "[ # ] %8s: %s\n",
-                 perf->target->name,
-                 description);
-    }
-
-    free (description);
-}
-
-static void
-usage (const char *argv0)
-{
-    fprintf (stderr,
-"Usage: %s [-clrsv] [-i iterations] [-t tile-size] [-x exclude-file] [test-names ... | traces ...]\n"
-"\n"
-"Run the cairo performance test suite over the given tests (all by default)\n"
-"The command-line arguments are interpreted as follows:\n"
-"\n"
-"  -c  use surface cache; keep a cache of surfaces to be reused\n"
-"  -i  iterations; specify the number of iterations per test case\n"
-"  -l  list only; just list selected test case names without executing\n"
-"  -r  raw; display each time measurement instead of summary statistics\n"
-"  -s  sync; only sum the elapsed time of the indiviual operations\n"
-"  -t  tile size; draw to tiled surfaces\n"
-"  -v  verbose; in raw mode also show the summaries\n"
-"  -x  exclude; specify a file to read a list of traces to exclude\n"
-"\n"
-"If test names are given they are used as sub-string matches so a command\n"
-"such as \"%s firefox\" can be used to run all firefox traces.\n"
-"Alternatively, you can specify a list of filenames to execute.\n",
-            argv0, argv0);
-}
-
-static cairo_bool_t
-read_excludes (cairo_perf_t *perf,
-              const char   *filename)
-{
-    FILE *file;
-    char *line = NULL;
-    size_t line_size = 0;
-    char *s, *t;
-
-    file = fopen (filename, "r");
-    if (file == NULL)
-       return FALSE;
-
-    while (getline (&line, &line_size, file) != -1) {
-       /* terminate the line at a comment marker '#' */
-       s = strchr (line, '#');
-       if (s)
-           *s = '\0';
-
-       /* whitespace delimits */
-       s = line;
-       while (*s != '\0' && isspace (*s))
-           s++;
-
-       t = s;
-       while (*t != '\0' && ! isspace (*t))
-           t++;
-
-       if (s != t) {
-           int i = perf->num_exclude_names;
-           perf->exclude_names = xrealloc (perf->exclude_names,
-                                           sizeof (char *) * (i+1));
-           perf->exclude_names[i] = strndup (s, t-s);
-           perf->num_exclude_names++;
-       }
-    }
-    free (line);
-
-    fclose (file);
-
-    return TRUE;
-}
-
-static void
-parse_options (cairo_perf_t *perf,
-              int           argc,
-              char         *argv[])
-{
-    int c;
-    const char *iters;
-    char *end;
-    int verbose = 0;
-    int use_surface_cache = 0;
-
-    if ((iters = getenv ("CAIRO_PERF_ITERATIONS")) && *iters)
-       perf->iterations = strtol (iters, NULL, 0);
-    else
-       perf->iterations = CAIRO_PERF_ITERATIONS_DEFAULT;
-    perf->exact_iterations = 0;
-
-    perf->raw = FALSE;
-    perf->observe = FALSE;
-    perf->list_only = FALSE;
-    perf->tile_size = 0;
-    perf->names = NULL;
-    perf->num_names = 0;
-    perf->summary = stdout;
-    perf->summary_continuous = FALSE;
-    perf->exclude_names = NULL;
-    perf->num_exclude_names = 0;
-
-    while (1) {
-       c = _cairo_getopt (argc, argv, "ci:lrst:vx:");
-       if (c == -1)
-           break;
-
-       switch (c) {
-       case 'c':
-           use_surface_cache = 1;
-           break;
-       case 'i':
-           perf->exact_iterations = TRUE;
-           perf->iterations = strtoul (optarg, &end, 10);
-           if (*end != '\0') {
-               fprintf (stderr, "Invalid argument for -i (not an integer): %s\n",
-                        optarg);
-               exit (1);
-           }
-           break;
-       case 'l':
-           perf->list_only = TRUE;
-           break;
-       case 'r':
-           perf->raw = TRUE;
-           perf->summary = NULL;
-           break;
-       case 's':
-           perf->observe = TRUE;
-           break;
-       case 't':
-           perf->tile_size = strtoul (optarg, &end, 10);
-           if (*end != '\0') {
-               fprintf (stderr, "Invalid argument for -t (not an integer): %s\n",
-                        optarg);
-               exit (1);
-           }
-           break;
-       case 'v':
-           verbose = 1;
-           break;
-       case 'x':
-           if (! read_excludes (perf, optarg)) {
-               fprintf (stderr, "Invalid argument for -x (not readable file): %s\n",
-                        optarg);
-               exit (1);
-           }
-           break;
-       default:
-           fprintf (stderr, "Internal error: unhandled option: %c\n", c);
-           /* fall-through */
-       case '?':
-           usage (argv[0]);
-           exit (1);
-       }
-    }
-
-    if (perf->observe && perf->tile_size) {
-       fprintf (stderr, "Can't mix observer and tiling. Sorry.\n");
-       exit (1);
-    }
-
-    if (verbose && perf->summary == NULL)
-       perf->summary = stderr;
-#if HAVE_UNISTD_H
-    if (perf->summary && isatty (fileno (perf->summary)))
-       perf->summary_continuous = TRUE;
-#endif
-
-    if (optind < argc) {
-       perf->names = &argv[optind];
-       perf->num_names = argc - optind;
-    }
-
-    if (use_surface_cache)
-       surface_cache = _cairo_hash_table_create (scache_equal);
-}
-
-static void
-cairo_perf_fini (cairo_perf_t *perf)
-{
-    cairo_boilerplate_free_targets (perf->targets);
-    cairo_boilerplate_fini ();
-
-    free (perf->times);
-    cairo_debug_reset_static_data ();
-#if HAVE_FCFINI
-    FcFini ();
-#endif
-}
-
-static cairo_bool_t
-have_trace_filenames (cairo_perf_t *perf)
-{
-    unsigned int i;
-
-    if (perf->num_names == 0)
-       return FALSE;
-
-#if HAVE_UNISTD_H
-    for (i = 0; i < perf->num_names; i++)
-       if (access (perf->names[i], R_OK) == 0)
-           return TRUE;
-#endif
-
-    return FALSE;
-}
-
-static void
-_tiling_surface_finish (cairo_surface_t *observer,
-                       cairo_surface_t *target,
-                       void *closure)
-{
-    struct trace *args = closure;
-    cairo_surface_t *surface;
-    cairo_content_t content;
-    cairo_rectangle_t r;
-    int width, height;
-    int x, y, w, h;
-
-    cairo_recording_surface_get_extents (target, &r);
-    w = r.width;
-    h = r.height;
-
-    content = cairo_surface_get_content (target);
-
-    for (y = 0; y < h; y += args->tile_size) {
-       height = args->tile_size;
-       if (y + height > h)
-           height = h - y;
-
-       for (x = 0; x < w; x += args->tile_size) {
-           cairo_t *cr;
-
-           width = args->tile_size;
-           if (x + width > w)
-               width = w - x;
-
-           /* XXX to correctly observe the playback we would need
-            * to replay the target onto the observer directly.
-            */
-           surface = args->target->create_similar (args->surface,
-                                                   content, width, height);
-
-           cr = cairo_create (surface);
-           cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-           cairo_set_source_surface (cr, target, -x, -y);
-           cairo_paint (cr);
-           cairo_destroy (cr);
-
-           cairo_surface_destroy (surface);
-       }
-    }
-}
-
-static cairo_surface_t *
-_tiling_surface_create (void            *closure,
-                       cairo_content_t  content,
-                       double            width,
-                       double            height,
-                       long              uid)
-{
-    cairo_rectangle_t r;
-    cairo_surface_t *surface, *observer;
-
-    r.x = r.y = 0;
-    r.width = width;
-    r.height = height;
-
-    surface = cairo_recording_surface_create (content, &r);
-    observer = cairo_surface_create_observer (surface,
-                                             CAIRO_SURFACE_OBSERVER_NORMAL);
-    cairo_surface_destroy (surface);
-
-    cairo_surface_observer_add_finish_callback (observer,
-                                               _tiling_surface_finish,
-                                               closure);
-
-    return observer;
-}
-
-static void
-cairo_perf_trace (cairo_perf_t                    *perf,
-                 const cairo_boilerplate_target_t *target,
-                 const char                       *trace)
-{
-    static cairo_bool_t first_run = TRUE;
-    unsigned int i;
-    cairo_time_t *times, *paint, *mask, *fill, *stroke, *glyphs;
-    cairo_stats_t stats = {0.0, 0.0};
-    struct trace args = { target };
-    int low_std_dev_count;
-    char *trace_cpy, *name;
-    const cairo_script_interpreter_hooks_t hooks = {
-       &args,
-       perf->tile_size ? _tiling_surface_create : _similar_surface_create,
-       NULL, /* surface_destroy */
-       _context_create,
-       NULL, /* context_destroy */
-       NULL, /* show_page */
-       NULL /* copy_page */
-    };
-
-    args.tile_size = perf->tile_size;
-    args.observe = perf->observe;
-
-    trace_cpy = xstrdup (trace);
-    name = basename_no_ext (trace_cpy);
-
-    if (perf->list_only) {
-       printf ("%s\n", name);
-       free (trace_cpy);
-       return;
-    }
-
-    if (first_run) {
-       if (perf->raw) {
-           printf ("[ # ] %s.%-s %s %s %s ...\n",
-                   "backend", "content", "test-size", "ticks-per-ms", "time(ticks)");
-       }
-
-       if (perf->summary) {
-           if (perf->observe) {
-               fprintf (perf->summary,
-                        "[ # ] %8s %28s  %9s %9s %9s %9s %9s %9s %5s\n",
-                        "backend", "test",
-                        "total(s)", "paint(s)", "mask(s)", "fill(s)", "stroke(s)", "glyphs(s)",
-                        "count");
-           } else {
-               fprintf (perf->summary,
-                        "[ # ] %8s %28s %8s %5s %5s %s\n",
-                        "backend", "test", "min(s)", "median(s)",
-                        "stddev.", "count");
-           }
-       }
-       first_run = FALSE;
-    }
-
-    times = perf->times;
-    paint = times + perf->iterations;
-    mask = paint + perf->iterations;
-    stroke = mask + perf->iterations;
-    fill = stroke + perf->iterations;
-    glyphs = fill + perf->iterations;
-
-    low_std_dev_count = 0;
-    for (i = 0; i < perf->iterations && ! user_interrupt; i++) {
-       cairo_script_interpreter_t *csi;
-       cairo_status_t status;
-       unsigned int line_no;
-
-       args.surface = target->create_surface (NULL,
-                                              CAIRO_CONTENT_COLOR_ALPHA,
-                                              1, 1,
-                                              1, 1,
-                                              CAIRO_BOILERPLATE_MODE_PERF,
-                                              &args.closure);
-       if (perf->observe) {
-           cairo_surface_t *obs;
-           obs = cairo_surface_create_observer (args.surface,
-                                                CAIRO_SURFACE_OBSERVER_NORMAL);
-           cairo_surface_destroy (args.surface);
-           args.surface = obs;
-       }
-       if (cairo_surface_status (args.surface)) {
-           fprintf (stderr,
-                    "Error: Failed to create target surface: %s\n",
-                    target->name);
-           return;
-       }
-
-       cairo_perf_timer_set_synchronize (target->synchronize, args.closure);
-
-       if (i == 0) {
-           describe (perf, args.closure);
-           if (perf->summary) {
-               fprintf (perf->summary,
-                        "[%3d] %8s %28s ",
-                        perf->test_number,
-                        perf->target->name,
-                        name);
-               fflush (perf->summary);
-           }
-       }
-
-       csi = cairo_script_interpreter_create ();
-       cairo_script_interpreter_install_hooks (csi, &hooks);
-
-       if (! perf->observe) {
-           cairo_perf_yield ();
-           cairo_perf_timer_start ();
-       }
-
-       cairo_script_interpreter_run (csi, trace);
-       line_no = cairo_script_interpreter_get_line_number (csi);
-
-       /* Finish before querying timings in case we are using an intermediate
-        * target and so need to destroy all surfaces before rendering
-        * commences.
-        */
-       cairo_script_interpreter_finish (csi);
-
-       if (perf->observe) {
-           cairo_device_t *observer = cairo_surface_get_device (args.surface);
-           times[i] = _cairo_time_from_s (1.e-9 * cairo_device_observer_elapsed (observer));
-           paint[i] = _cairo_time_from_s (1.e-9 * cairo_device_observer_paint_elapsed (observer));
-           mask[i] = _cairo_time_from_s (1.e-9 * cairo_device_observer_mask_elapsed (observer));
-           stroke[i] = _cairo_time_from_s (1.e-9 * cairo_device_observer_stroke_elapsed (observer));
-           fill[i] = _cairo_time_from_s (1.e-9 * cairo_device_observer_fill_elapsed (observer));
-           glyphs[i] = _cairo_time_from_s (1.e-9 * cairo_device_observer_glyphs_elapsed (observer));
-       } else {
-           clear_surface (args.surface); /* queue a write to the sync'ed surface */
-           cairo_perf_timer_stop ();
-           times[i] = cairo_perf_timer_elapsed ();
-       }
-
-       scache_clear ();
-
-       cairo_surface_destroy (args.surface);
-
-       if (target->cleanup)
-           target->cleanup (args.closure);
-
-       status = cairo_script_interpreter_destroy (csi);
-       if (status) {
-           if (perf->summary) {
-               fprintf (perf->summary, "Error during replay, line %d: %s\n",
-                        line_no,
-                        cairo_status_to_string (status));
-           }
-           goto out;
-       }
-
-       if (perf->raw) {
-           if (i == 0)
-               printf ("[*] %s.%s %s.%d %g",
-                       perf->target->name,
-                       "rgba",
-                       name,
-                       0,
-                       _cairo_time_to_double (_cairo_time_from_s (1)) / 1000.);
-           printf (" %lld", (long long) times[i]);
-           fflush (stdout);
-       } else if (! perf->exact_iterations) {
-           if (i > CAIRO_PERF_MIN_STD_DEV_COUNT) {
-               _cairo_stats_compute (&stats, times, i+1);
-
-               if (stats.std_dev <= CAIRO_PERF_LOW_STD_DEV) {
-                   if (++low_std_dev_count >= CAIRO_PERF_STABLE_STD_DEV_COUNT)
-                       break;
-               } else {
-                   low_std_dev_count = 0;
-               }
-           }
-       }
-
-       if (perf->summary && perf->summary_continuous) {
-           _cairo_stats_compute (&stats, times, i+1);
-
-           fprintf (perf->summary,
-                    "\r[%3d] %8s %28s ",
-                    perf->test_number,
-                    perf->target->name,
-                    name);
-           if (perf->observe) {
-               fprintf (perf->summary,
-                        " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-               _cairo_stats_compute (&stats, paint, i+1);
-               fprintf (perf->summary,
-                        " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-               _cairo_stats_compute (&stats, mask, i+1);
-               fprintf (perf->summary,
-                        " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-               _cairo_stats_compute (&stats, fill, i+1);
-               fprintf (perf->summary,
-                        " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-               _cairo_stats_compute (&stats, stroke, i+1);
-               fprintf (perf->summary,
-                        " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-               _cairo_stats_compute (&stats, glyphs, i+1);
-               fprintf (perf->summary,
-                        " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-               fprintf (perf->summary,
-                        " %5d", i+1);
-           } else {
-               fprintf (perf->summary,
-                        "%#8.3f %#8.3f %#6.2f%% %4d/%d",
-                        _cairo_time_to_s (stats.min_ticks),
-                        _cairo_time_to_s (stats.median_ticks),
-                        stats.std_dev * 100.0,
-                        stats.iterations, i+1);
-           }
-           fflush (perf->summary);
-       }
-    }
-    user_interrupt = 0;
-
-    if (perf->summary) {
-       _cairo_stats_compute (&stats, times, i);
-       if (perf->summary_continuous) {
-           fprintf (perf->summary,
-                    "\r[%3d] %8s %28s ",
-                    perf->test_number,
-                    perf->target->name,
-                    name);
-       }
-       if (perf->observe) {
-           fprintf (perf->summary,
-                    " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-           _cairo_stats_compute (&stats, paint, i);
-           fprintf (perf->summary,
-                    " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-           _cairo_stats_compute (&stats, mask, i);
-           fprintf (perf->summary,
-                    " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-           _cairo_stats_compute (&stats, fill, i);
-           fprintf (perf->summary,
-                    " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-           _cairo_stats_compute (&stats, stroke, i);
-           fprintf (perf->summary,
-                    " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-           _cairo_stats_compute (&stats, glyphs, i);
-           fprintf (perf->summary,
-                    " %#9.3f", _cairo_time_to_s (stats.median_ticks));
-
-           fprintf (perf->summary,
-                    " %5d\n", i);
-       } else {
-           fprintf (perf->summary,
-                    "%#8.3f %#8.3f %#6.2f%% %4d/%d\n",
-                    _cairo_time_to_s (stats.min_ticks),
-                    _cairo_time_to_s (stats.median_ticks),
-                    stats.std_dev * 100.0,
-                    stats.iterations, i);
-       }
-       fflush (perf->summary);
-    }
-
-out:
-    if (perf->raw) {
-       printf ("\n");
-       fflush (stdout);
-    }
-
-    perf->test_number++;
-    free (trace_cpy);
-}
-
-static void
-warn_no_traces (const char *message,
-               const char *trace_dir)
-{
-    fprintf (stderr,
-"Error: %s '%s'.\n"
-"Have you cloned the cairo-traces repository and uncompressed the traces?\n"
-"  git clone git://anongit.freedesktop.org/cairo-traces\n"
-"  cd cairo-traces && make\n"
-"Or set the env.var CAIRO_TRACE_DIR to point to your traces?\n",
-           message, trace_dir);
-}
-
-static int
-cairo_perf_trace_dir (cairo_perf_t                    *perf,
-                     const cairo_boilerplate_target_t *target,
-                     const char                       *dirname)
-{
-    DIR *dir;
-    struct dirent *de;
-    int num_traces = 0;
-    cairo_bool_t force;
-    cairo_bool_t is_explicit;
-
-    dir = opendir (dirname);
-    if (dir == NULL)
-       return 0;
-
-    force = FALSE;
-    if (cairo_perf_can_run (perf, dirname, &is_explicit))
-       force = is_explicit;
-
-    while ((de = readdir (dir)) != NULL) {
-       char *trace;
-       struct stat st;
-
-       if (de->d_name[0] == '.')
-           continue;
-
-       xasprintf (&trace, "%s/%s", dirname, de->d_name);
-       if (stat (trace, &st) != 0)
-           goto next;
-
-       if (S_ISDIR(st.st_mode)) {
-           num_traces += cairo_perf_trace_dir (perf, target, trace);
-       } else {
-           const char *dot;
-
-           dot = strrchr (de->d_name, '.');
-           if (dot == NULL)
-               goto next;
-           if (strcmp (dot, ".trace"))
-               goto next;
-
-           num_traces++;
-           if (!force && ! cairo_perf_can_run (perf, de->d_name, NULL))
-               goto next;
-
-           cairo_perf_trace (perf, target, trace);
-       }
-next:
-       free (trace);
-
-    }
-    closedir (dir);
-
-    return num_traces;
-}
-
-int
-main (int   argc,
-      char *argv[])
-{
-    cairo_perf_t perf;
-    const char *trace_dir = "cairo-traces:/usr/src/cairo-traces:/usr/share/cairo-traces";
-    unsigned int n;
-    int i;
-
-    parse_options (&perf, argc, argv);
-
-    signal (SIGINT, interrupt);
-
-    if (getenv ("CAIRO_TRACE_DIR") != NULL)
-       trace_dir = getenv ("CAIRO_TRACE_DIR");
-
-    perf.targets = cairo_boilerplate_get_targets (&perf.num_targets, NULL);
-    perf.times = xmalloc (6 * perf.iterations * sizeof (cairo_time_t));
-
-    /* do we have a list of filenames? */
-    perf.exact_names = have_trace_filenames (&perf);
-
-    for (i = 0; i < perf.num_targets; i++) {
-       const cairo_boilerplate_target_t *target = perf.targets[i];
-
-       if (! perf.list_only && ! target->is_measurable)
-           continue;
-
-       perf.target = target;
-       perf.test_number = 0;
-       perf.has_described_backend = FALSE;
-
-       if (perf.exact_names) {
-           for (n = 0; n < perf.num_names; n++) {
-               struct stat st;
-
-               if (stat (perf.names[n], &st) == 0) {
-                   if (S_ISDIR (st.st_mode)) {
-                       cairo_perf_trace_dir (&perf, target, perf.names[n]);
-                   } else
-                       cairo_perf_trace (&perf, target, perf.names[n]);
-               }
-           }
-       } else {
-           int num_traces = 0;
-           const char *dir;
-
-           dir = trace_dir;
-           do {
-               char buf[1024];
-               const char *end = strchr (dir, ':');
-               if (end != NULL) {
-                   memcpy (buf, dir, end-dir);
-                   buf[end-dir] = '\0';
-                   end++;
-
-                   dir = buf;
-               }
-
-               num_traces += cairo_perf_trace_dir (&perf, target, dir);
-               dir = end;
-           } while (dir != NULL);
-
-           if (num_traces == 0) {
-               warn_no_traces ("Found no traces in", trace_dir);
-               return 1;
-           }
-       }
-
-       if (perf.list_only)
-           break;
-    }
-
-    cairo_perf_fini (&perf);
-
-    return 0;
-}
diff --git a/perf/cairo-perf.c b/perf/cairo-perf.c
deleted file mode 100644 (file)
index f049d6d..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2007 Netlabs
- * Copyright (c) 2006 Mozilla Corporation
- * Copyright (c) 2006 Red Hat, Inc.
- * Copyright (c) 2011 Andrea Canciani
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Peter Weilbacher <mozilla@weilbacher.org>
- *         Vladimir Vukicevic <vladimir@pobox.com> (win32/linux code)
- *         Carl Worth <cworth@cworth.org> (win32/linux code)
- *          Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-perf.h"
-#include "../src/cairo-time-private.h"
-
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#if defined(__OS2__)
-#define INCL_BASE
-#include <os2.h>
-#elif defined(_WIN32)
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#elif defined(_POSIX_PRIORITY_SCHEDULING)
-#include <sched.h>
-#endif
-
-/* XXX: add thread-aware for gl backend */
-#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_GLESV2_SURFACE
-#include <cairo-gl.h>
-#endif
-void cairo_perf_set_thread_aware (cairo_t *cr, cairo_bool_t thread_aware)
-{
-#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_GLESV2_SURFACE
-    cairo_device_t *device = cairo_surface_get_device (cairo_get_target (cr));
-    if (cairo_device_get_type (device) == CAIRO_DEVICE_TYPE_GL)
-       cairo_gl_device_set_thread_aware (device, thread_aware);
-#endif
-}
-
-
-/* timers */
-static cairo_time_t timer;
-static cairo_perf_timer_synchronize_t cairo_perf_timer_synchronize = NULL;
-static void *cairo_perf_timer_synchronize_closure = NULL;
-
-void
-cairo_perf_timer_set_synchronize (cairo_perf_timer_synchronize_t  synchronize,
-                                 void                           *closure)
-{
-    cairo_perf_timer_synchronize = synchronize;
-    cairo_perf_timer_synchronize_closure = closure;
-}
-
-void
-cairo_perf_timer_start (void)
-{
-    timer = _cairo_time_get ();
-}
-
-void
-cairo_perf_timer_stop (void)
-{
-    timer = _cairo_time_get_delta (timer);
-}
-
-cairo_time_t
-cairo_perf_timer_elapsed (void)
-{
-    return timer;
-}
-
-void
-cairo_perf_yield (void)
-{
-    /* try to deactivate this thread until the scheduler calls it again */
-
-#if defined(__OS2__)
-    DosSleep (0);
-#elif defined(_WIN32)
-    SleepEx(0, TRUE);
-#elif defined(_POSIX_PRIORITY_SCHEDULING)
-    sched_yield ();
-#else
-    sleep (0);
-#endif
-}
diff --git a/perf/cairo-perf.h b/perf/cairo-perf.h
deleted file mode 100644 (file)
index 5145821..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Copyright © 2006 Mozilla Corporation
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Vladimir Vukicevic <vladimir@pobox.com>
- *         Carl Worth <cworth@cworth.org>
- */
-
-#ifndef _CAIRO_PERF_H_
-#define _CAIRO_PERF_H_
-
-#include "cairo-boilerplate.h"
-#include "../src/cairo-time-private.h"
-#include <stdio.h>
-
-typedef struct _cairo_stats {
-    cairo_time_t min_ticks;
-    cairo_time_t median_ticks;
-    double ticks_per_ms;
-    double std_dev;
-    int iterations;
-} cairo_stats_t;
-
-/* XXX: add support for thread_aware for gl backend */
-void cairo_perf_set_thread_aware (cairo_t *cr, cairo_bool_t thread_aware);
-
-/* timers */
-
-void
-cairo_perf_timer_start (void);
-
-void
-cairo_perf_timer_stop (void);
-
-typedef void
-(*cairo_perf_timer_synchronize_t) (void *closure);
-
-void
-cairo_perf_timer_set_synchronize (cairo_perf_timer_synchronize_t  synchronize,
-                                 void                           *closure);
-
-cairo_time_t
-cairo_perf_timer_elapsed (void);
-
-/* yield */
-
-void
-cairo_perf_yield (void);
-
-/* running a test case */
-typedef struct _cairo_perf {
-    FILE *summary;
-    cairo_bool_t summary_continuous;
-
-    /* Options from command-line */
-    unsigned int iterations;
-    cairo_bool_t exact_iterations;
-    cairo_bool_t raw;
-    cairo_bool_t list_only;
-    cairo_bool_t observe;
-    char **names;
-    unsigned int num_names;
-    char **exclude_names;
-    unsigned int num_exclude_names;
-    cairo_bool_t exact_names;
-
-    double ms_per_iteration;
-    cairo_bool_t fast_and_sloppy;
-
-    unsigned int tile_size;
-
-    /* Stuff used internally */
-    cairo_time_t *times;
-    const cairo_boilerplate_target_t **targets;
-    int num_targets;
-    const cairo_boilerplate_target_t *target;
-    cairo_bool_t has_described_backend;
-    unsigned int test_number;
-    unsigned int size;
-    cairo_t *cr;
-} cairo_perf_t;
-
-typedef cairo_time_t
-(*cairo_perf_func_t) (cairo_t *cr, int width, int height, int loops);
-
-typedef double
-(*cairo_count_func_t) (cairo_t *cr, int width, int height);
-
-cairo_bool_t
-cairo_perf_can_run (cairo_perf_t *perf,
-                   const char   *name,
-                   cairo_bool_t *is_explicit);
-
-void
-cairo_perf_run (cairo_perf_t      *perf,
-               const char         *name,
-               cairo_perf_func_t   perf_func,
-               cairo_count_func_t  count_func);
-
-void
-cairo_perf_cover_sources_and_operators (cairo_perf_t      *perf,
-                                       const char         *name,
-                                       cairo_perf_func_t   perf_func,
-                                       cairo_count_func_t  count_func);
-
-/* reporter convenience routines */
-
-typedef struct _test_report {
-    int id;
-    int fileno;
-    const char *configuration;
-    char *backend;
-    char *content;
-    char *name;
-    int size;
-
-    /* The samples only exists for "raw" reports */
-    cairo_time_t *samples;
-    unsigned int samples_size;
-    unsigned int samples_count;
-
-    /* The stats are either read directly or computed from samples.
-     * If the stats have not yet been computed from samples, then
-     * iterations will be 0. */
-    cairo_stats_t stats;
-} test_report_t;
-
-typedef struct _test_diff {
-    test_report_t **tests;
-    int num_tests;
-    double min;
-    double max;
-    double change;
-} test_diff_t;
-
-typedef struct _cairo_perf_report {
-    char *configuration;
-    const char *name;
-    int fileno;
-    test_report_t *tests;
-    int tests_size;
-    int tests_count;
-} cairo_perf_report_t;
-
-typedef enum {
-    TEST_REPORT_STATUS_SUCCESS,
-    TEST_REPORT_STATUS_COMMENT,
-    TEST_REPORT_STATUS_ERROR
-} test_report_status_t;
-
-void
-cairo_perf_report_load (cairo_perf_report_t *report,
-                       const char *filename, int id,
-                       int (*cmp) (const void *, const void *));
-
-void
-cairo_perf_report_sort_and_compute_stats (cairo_perf_report_t *report,
-                                         int (*cmp) (const void *, const void *));
-
-int
-test_report_cmp_backend_then_name (const void *a,
-                                  const void *b);
-
-int
-test_report_cmp_name (const void *a,
-                     const void *b);
-
-#define CAIRO_PERF_ENABLED_DECL(func) cairo_bool_t (func ## _enabled) (cairo_perf_t *perf)
-#define CAIRO_PERF_RUN_DECL(func) void (func) (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-
-#define CAIRO_PERF_DECL(func) CAIRO_PERF_RUN_DECL(func); CAIRO_PERF_ENABLED_DECL(func)
-
-CAIRO_PERF_DECL (fill);
-CAIRO_PERF_DECL (paint);
-CAIRO_PERF_DECL (paint_with_alpha);
-CAIRO_PERF_DECL (mask);
-CAIRO_PERF_DECL (stroke);
-CAIRO_PERF_DECL (subimage_copy);
-CAIRO_PERF_DECL (disjoint);
-CAIRO_PERF_DECL (hatching);
-CAIRO_PERF_DECL (tessellate);
-CAIRO_PERF_DECL (text);
-CAIRO_PERF_DECL (glyphs);
-CAIRO_PERF_DECL (hash_table);
-CAIRO_PERF_DECL (pattern_create_radial);
-CAIRO_PERF_DECL (zrusin);
-CAIRO_PERF_DECL (world_map);
-CAIRO_PERF_DECL (box_outline);
-CAIRO_PERF_DECL (mosaic);
-CAIRO_PERF_DECL (long_lines);
-CAIRO_PERF_DECL (unaligned_clip);
-CAIRO_PERF_DECL (rectangles);
-CAIRO_PERF_DECL (rounded_rectangles);
-CAIRO_PERF_DECL (long_dashed_lines);
-CAIRO_PERF_DECL (composite_checker);
-CAIRO_PERF_DECL (twin);
-CAIRO_PERF_DECL (dragon);
-CAIRO_PERF_DECL (pythagoras_tree);
-CAIRO_PERF_DECL (intersections);
-CAIRO_PERF_DECL (spiral);
-CAIRO_PERF_DECL (wave);
-CAIRO_PERF_DECL (many_strokes);
-CAIRO_PERF_DECL (wide_strokes);
-CAIRO_PERF_DECL (many_fills);
-CAIRO_PERF_DECL (wide_fills);
-CAIRO_PERF_DECL (many_curves);
-CAIRO_PERF_DECL (curve);
-CAIRO_PERF_DECL (a1_curve);
-CAIRO_PERF_DECL (line);
-CAIRO_PERF_DECL (a1_line);
-CAIRO_PERF_DECL (pixel);
-CAIRO_PERF_DECL (a1_pixel);
-CAIRO_PERF_DECL (sierpinski);
-CAIRO_PERF_DECL (fill_clip);
-CAIRO_PERF_DECL (tiger);
-
-#endif
diff --git a/perf/cairo-stats.c b/perf/cairo-stats.c
deleted file mode 100644 (file)
index 44ed038..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-stats.h"
-
-#include <assert.h>
-
-void
-_cairo_stats_compute (cairo_stats_t *stats,
-                     cairo_time_t  *values,
-                     int            num_values)
-{
-    cairo_time_t sum, mean, q1, q3, iqr;
-    cairo_time_t outlier_min, outlier_max;
-    int i, min_valid, num_valid;
-    double s;
-
-    assert (num_values > 0);
-
-    if (num_values == 1) {
-       stats->min_ticks = stats->median_ticks = values[0];
-       stats->std_dev = 0;
-       stats->iterations = 1;
-       return;
-    }
-
-    /* First, identify any outliers, using the definition of "mild
-     * outliers" from:
-     *
-     *         http://en.wikipedia.org/wiki/Outliers
-     *
-     * Which is that outliers are any values less than Q1 - 1.5 * IQR
-     * or greater than Q3 + 1.5 * IQR where Q1 and Q3 are the first
-     * and third quartiles and IQR is the inter-quartile range (Q3 -
-     * Q1).
-     */
-    qsort (values, num_values, sizeof (cairo_time_t), _cairo_time_cmp);
-
-    q1 = values[1*num_values/4];
-    q3 = values[3*num_values/4];
-
-    /* XXX assumes we have native uint64_t */
-    iqr = q3 - q1;
-    outlier_min = q1 - 3 * iqr / 2;
-    outlier_max = q3 + 3 * iqr / 2;
-
-    for (i = 0; i < num_values && values[i] < outlier_min; i++)
-       ;
-    min_valid = i;
-
-    for (i = 0; i < num_values && values[i] <= outlier_max; i++)
-       ;
-    num_valid = i - min_valid;
-    assert(num_valid);
-
-    stats->iterations = num_valid;
-    stats->min_ticks = values[min_valid];
-    stats->median_ticks = values[min_valid + num_valid / 2];
-
-    sum = 0;
-    for (i = min_valid; i < min_valid + num_valid; i++)
-       sum = _cairo_time_add (sum, values[i]);
-    mean = sum / num_valid;
-
-    /* Let's use a normalized std. deviation for easier comparison. */
-    s = 0;
-    for (i = min_valid; i < min_valid + num_valid; i++) {
-       double delta = (values[i] - mean) / (double)mean;
-       s += delta * delta;
-    }
-    stats->std_dev = sqrt(s / num_valid);
-}
diff --git a/perf/cairo-stats.h b/perf/cairo-stats.h
deleted file mode 100644 (file)
index 8406e65..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Carl Worth <cworth@cworth.org>
- */
-
-#ifndef _CAIRO_STATS_H_
-#define _CAIRO_STATS_H_
-
-#include "cairo-perf.h"
-
-void
-_cairo_stats_compute (cairo_stats_t *stats,
-                     cairo_time_t  *values,
-                     int            num_values);
-
-#endif /* _CAIRO_STATS_H_ */
diff --git a/perf/dirent-win32.h b/perf/dirent-win32.h
deleted file mode 100644 (file)
index 0f2ed05..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2011 Andrea Canciani
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-compiler-private.h"
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-#define stat _stat
-
-#define S_ISDIR(s) ((s) & _S_IFDIR)
-
-struct dirent {
-    ino_t d_ino;
-    char d_name[FILENAME_MAX + 1];
-};
-
-typedef struct _DIR {
-    HANDLE handle;
-    cairo_bool_t has_next;
-    WIN32_FIND_DATA data;
-    struct dirent de;
-} DIR;
-
-static DIR *
-opendir(const char *dirname)
-{
-    DIR *dirp;
-
-    dirp = malloc (sizeof (*dirp));
-    if (unlikely (dirp == NULL))
-       return NULL;
-
-    dirp->handle = FindFirstFile(dirname, &dirp->data);
-
-    if (unlikely (dirp->handle == INVALID_HANDLE_VALUE)) {
-       free (dirp);
-       return NULL;
-    }
-
-    memcpy (dirp->de.d_name, dirp->data.cFileName,
-           sizeof (dirp->data.cFileName));
-    dirp->de.d_name[FILENAME_MAX] = '\0';
-
-    dirp->has_next = TRUE;
-
-    return dirp;
-}
-
-static int
-closedir(DIR *dirp)
-{
-    int ret;
-
-    ret = ! FindClose (dirp->handle);
-
-    free (dirp);
-
-    /* TODO: set errno */
-
-    return ret;
-}
-
-static struct dirent *
-readdir(DIR *dirp)
-{
-    if (! dirp->has_next)
-       return NULL;
-
-    /* COMPILE_TIME_ASSERT (FILENAME_MAX == sizeof (dirp->data.cFileName)); */
-
-    memcpy (dirp->de.d_name, dirp->data.cFileName,
-           sizeof (dirp->data.cFileName));
-    dirp->de.d_name[FILENAME_MAX] = '\0';
-
-    dirp->has_next = FindNextFile (dirp->handle, &dirp->data);
-
-    return &dirp->de;
-}
diff --git a/perf/make-html.py b/perf/make-html.py
deleted file mode 100755 (executable)
index 0b45335..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/python
-
-from string import strip
-from sys import stdin
-
-targets = {}
-smilies = {'slowdown': '&#9785;' , 'speedup': '&#9786;'}
-
-for line in stdin:
-       line = map(strip, filter(None, line.split(' ')))
-
-       if 9 == len(line):
-               target, name = line[0:2]
-               factor, dir = line[-2:]
-
-               name = name.split('-')
-               name, size = '-'.join(name[:-1]), name[-1]
-
-               target_tests = targets.get(target, {})
-               name_tests = target_tests.get(name, {})
-
-               name_tests[int(size)] = (factor, dir)
-               target_tests[name] = name_tests
-               targets[target] = target_tests
-
-print '''\
-<html><head>
-<title>Performance Changes</title>
-<style type="text/css">/*<![CDATA[*/
-    body { background: white; color: black; }
-    table { border-collapse: collapse; }
-
-    th, td { border: 1px solid silver; padding: 0.2em; }
-    td { text-align: center; }
-    th:first-child { text-align: left; }
-    th { background: #eee; }
-
- /* those colors also should work for color blinds */
-    td.slowdown { background: #f93; }
-    td.speedup { background: #6f9; }
-/*]]>*/</style>
-</head><body>
-<h1>Performance Changes</h1>'''
-
-targets = targets.items()
-targets.sort(lambda a, b: cmp(a[0], b[0]))
-
-for target, names in targets:
-       sizes = {}
-
-       for tests in names.values():
-               for size in tests.keys():
-                       sizes[size] = True      
-
-       sizes = sizes.keys()
-       sizes.sort()
-
-       names = names.items()
-       names.sort(lambda a, b: cmp(a[0], b[0]))
-
-       print '<h2><a name="%s">%s</a></h2>' % (target, target)
-       print '<table><thead><tr><th>&nbsp;</th>'
-
-       for size in sizes:
-               print '<th>%s</th>' % size
-
-       print '</tr></thead><tbody>'
-
-       for name, tests in names:
-               print '<tr><th>%s</th>' % name
-               
-               for size in sizes:
-                       result = tests.get(size)
-
-                       if result:
-                               factor, dir = result
-                               print '<td class="%s">%s %s</td>' % (
-                                       dir, factor, smilies[dir])
-
-                       else:
-                               print '<td>&nbsp;</td>'
-
-               print '</tr>'
-
-
-       print '</tbody></table>'
-
-print '</body></html>'
diff --git a/perf/micro/Makefile.am b/perf/micro/Makefile.am
deleted file mode 100644 (file)
index 3edbf53..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-include $(top_srcdir)/build/Makefile.am.common
-
-include $(top_srcdir)/perf/micro/Makefile.sources
-
-noinst_LTLIBRARIES = libcairo-perf-micro.la
-libcairo_perf_micro_la_SOURCES = \
-       $(libcairo_perf_micro_sources)  \
-       $(libcairo_perf_micro_headers)
-
-AM_CPPFLAGS =                          \
-       -I$(srcdir)                     \
-       -I$(top_srcdir)/boilerplate     \
-       -I$(top_srcdir)/src             \
-       -I$(top_srcdir)/perf            \
-       -I$(top_builddir)/src           \
-       $(CAIRO_CFLAGS)
diff --git a/perf/micro/Makefile.in b/perf/micro/Makefile.in
deleted file mode 100644 (file)
index 30f3cb9..0000000
+++ /dev/null
@@ -1,844 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(top_srcdir)/build/Makefile.am.common \
-       $(top_srcdir)/perf/micro/Makefile.sources
-EXTRA_PROGRAMS =
-TESTS =
-check_PROGRAMS =
-subdir = perf/micro
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/build/aclocal.cairo.m4 \
-       $(top_srcdir)/build/aclocal.compare.m4 \
-       $(top_srcdir)/build/aclocal.enable.m4 \
-       $(top_srcdir)/build/aclocal.float.m4 \
-       $(top_srcdir)/build/aclocal.makefile.m4 \
-       $(top_srcdir)/build/aclocal.pkg.m4 \
-       $(top_srcdir)/build/gtk-doc.m4 $(top_srcdir)/build/libtool.m4 \
-       $(top_srcdir)/build/ltoptions.m4 \
-       $(top_srcdir)/build/ltsugar.m4 \
-       $(top_srcdir)/build/ltversion.m4 \
-       $(top_srcdir)/build/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/cairo-version.h \
-       $(top_srcdir)/build/configure.ac.version \
-       $(top_srcdir)/build/configure.ac.tools \
-       $(top_srcdir)/build/configure.ac.features \
-       $(top_srcdir)/build/configure.ac.warnings \
-       $(top_srcdir)/build/configure.ac.system \
-       $(top_srcdir)/build/configure.ac.analysis \
-       $(top_srcdir)/build/configure.ac.noversion \
-       $(top_srcdir)/build/configure.ac.pthread \
-       $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libcairo_perf_micro_la_LIBADD =
-am__objects_1 = cairo-perf-cover.lo box-outline.lo \
-       composite-checker.lo disjoint.lo fill.lo hatching.lo \
-       hash-table.lo line.lo a1-line.lo long-lines.lo mosaic.lo \
-       paint.lo paint-with-alpha.lo mask.lo pattern_create_radial.lo \
-       rectangles.lo rounded-rectangles.lo stroke.lo subimage_copy.lo \
-       tessellate.lo text.lo tiger.lo glyphs.lo twin.lo \
-       unaligned-clip.lo wave.lo world-map.lo zrusin.lo \
-       long-dashed-lines.lo dragon.lo pythagoras-tree.lo \
-       intersections.lo many-strokes.lo wide-strokes.lo many-fills.lo \
-       wide-fills.lo many-curves.lo curve.lo a1-curve.lo spiral.lo \
-       pixel.lo sierpinski.lo fill-clip.lo
-am__objects_2 =
-am_libcairo_perf_micro_la_OBJECTS = $(am__objects_1) $(am__objects_2)
-libcairo_perf_micro_la_OBJECTS = $(am_libcairo_perf_micro_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
-am__v_lt_0 = --silent
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/build/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-       $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
-am__v_CC_0 = @echo "  CC    " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(libcairo_perf_micro_la_SOURCES)
-DIST_SOURCES = $(libcairo_perf_micro_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BFD_LIBS = @BFD_LIBS@
-CAIROBOILERPLATE_LIBS = @CAIROBOILERPLATE_LIBS@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_LDFLAGS = @CAIRO_LDFLAGS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CAIRO_LIBTOOL_VERSION_INFO = @CAIRO_LIBTOOL_VERSION_INFO@
-CAIRO_NONPKGCONFIG_CFLAGS = @CAIRO_NONPKGCONFIG_CFLAGS@
-CAIRO_NONPKGCONFIG_LIBS = @CAIRO_NONPKGCONFIG_LIBS@
-CAIRO_RELEASE_STATUS = @CAIRO_RELEASE_STATUS@
-CAIRO_REQUIRES = @CAIRO_REQUIRES@
-CAIRO_TEST_MODE = @CAIRO_TEST_MODE@
-CAIRO_TEST_UNDEFINED_LDFLAGS = @CAIRO_TEST_UNDEFINED_LDFLAGS@
-CAIRO_VERSION_MAJOR = @CAIRO_VERSION_MAJOR@
-CAIRO_VERSION_MICRO = @CAIRO_VERSION_MICRO@
-CAIRO_VERSION_MINOR = @CAIRO_VERSION_MINOR@
-CAIRO_VERSION_SONUM = @CAIRO_VERSION_SONUM@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FIND = @FIND@
-FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
-FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
-FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
-FREETYPE_CONFIG = @FREETYPE_CONFIG@
-FREETYPE_LIBS = @FREETYPE_LIBS@
-GOBJECT_CFLAGS = @GOBJECT_CFLAGS@
-GOBJECT_LIBS = @GOBJECT_LIBS@
-GREP = @GREP@
-GS = @GS@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBM = @LIBM@
-LIBOBJS = @LIBOBJS@
-LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@
-LIBRSVG_LIBS = @LIBRSVG_LIBS@
-LIBS = @LIBS@
-LIBSPECTRE_CFLAGS = @LIBSPECTRE_CFLAGS@
-LIBSPECTRE_LIBS = @LIBSPECTRE_LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LTP = @LTP@
-LTP_GENHTML = @LTP_GENHTML@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@
-PKG_CONFIG = @PKG_CONFIG@
-POPPLER_CFLAGS = @POPPLER_CFLAGS@
-POPPLER_LIBS = @POPPLER_LIBS@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SHLIB_EXT = @SHLIB_EXT@
-SHM_LIBS = @SHM_LIBS@
-SHTOOL = @SHTOOL@
-STRIP = @STRIP@
-VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
-VALGRIND_LIBS = @VALGRIND_LIBS@
-VERSION = @VERSION@
-XARGS = @XARGS@
-XMKMF = @XMKMF@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-cogl_CFLAGS = @cogl_CFLAGS@
-cogl_LIBS = @cogl_LIBS@
-datadir = @datadir@
-datarootdir = @datarootdir@
-directfb_CFLAGS = @directfb_CFLAGS@
-directfb_LIBS = @directfb_LIBS@
-docdir = @docdir@
-drm_CFLAGS = @drm_CFLAGS@
-drm_LIBS = @drm_LIBS@
-dvidir = @dvidir@
-egl_CFLAGS = @egl_CFLAGS@
-egl_LIBS = @egl_LIBS@
-exec_prefix = @exec_prefix@
-gallium_DIR = @gallium_DIR@
-gl_CFLAGS = @gl_CFLAGS@
-gl_LIBS = @gl_LIBS@
-glesv2_CFLAGS = @glesv2_CFLAGS@
-glesv2_LIBS = @glesv2_LIBS@
-glib_CFLAGS = @glib_CFLAGS@
-glib_LIBS = @glib_LIBS@
-gtk_CFLAGS = @gtk_CFLAGS@
-gtk_LIBS = @gtk_LIBS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mesa_DIR = @mesa_DIR@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pixman_CFLAGS = @pixman_CFLAGS@
-pixman_LIBS = @pixman_LIBS@
-png_CFLAGS = @png_CFLAGS@
-png_LIBS = @png_LIBS@
-png_REQUIRES = @png_REQUIRES@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_CFLAGS = @pthread_CFLAGS@
-pthread_LIBS = @pthread_LIBS@
-qt_CFLAGS = @qt_CFLAGS@
-qt_LIBS = @qt_LIBS@
-real_pthread_CFLAGS = @real_pthread_CFLAGS@
-real_pthread_LIBS = @real_pthread_LIBS@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-shm_LIBS = @shm_LIBS@
-skia_DIR = @skia_DIR@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-xcb_CFLAGS = @xcb_CFLAGS@
-xcb_LIBS = @xcb_LIBS@
-xcb_shm_CFLAGS = @xcb_shm_CFLAGS@
-xcb_shm_LIBS = @xcb_shm_LIBS@
-xlib_CFLAGS = @xlib_CFLAGS@
-xlib_LIBS = @xlib_LIBS@
-xlib_xcb_CFLAGS = @xlib_xcb_CFLAGS@
-xlib_xcb_LIBS = @xlib_xcb_LIBS@
-xlib_xrender_CFLAGS = @xlib_xrender_CFLAGS@
-xlib_xrender_LIBS = @xlib_xrender_LIBS@
-BUILT_SOURCES = 
-CLEANFILES = *.i *.s *.gch $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) \
-       $(check_PROGRAMS)
-DISTCLEANFILES = $(BUILT_SOURCES)
-EXTRA_DIST = 
-EXTRA_LTLIBRARIES = 
-MAINTAINERCLEANFILES = Makefile.in
-libcairo_perf_micro_sources = \
-       cairo-perf-cover.c      \
-       box-outline.c           \
-       composite-checker.c     \
-       disjoint.c              \
-       fill.c                  \
-       hatching.c              \
-       hash-table.c            \
-       line.c                  \
-       a1-line.c               \
-       long-lines.c            \
-       mosaic.c                \
-       paint.c                 \
-       paint-with-alpha.c      \
-       mask.c                  \
-       pattern_create_radial.c \
-       rectangles.c            \
-       rounded-rectangles.c    \
-       stroke.c                \
-       subimage_copy.c         \
-       tessellate.c            \
-       text.c                  \
-       tiger.c                 \
-       glyphs.c                \
-       twin.c                  \
-       unaligned-clip.c        \
-       wave.c                  \
-       world-map.c             \
-       zrusin.c                \
-       long-dashed-lines.c     \
-       dragon.c                \
-       pythagoras-tree.c       \
-       intersections.c         \
-       many-strokes.c          \
-       wide-strokes.c          \
-       many-fills.c            \
-       wide-fills.c            \
-       many-curves.c           \
-       curve.c                 \
-       a1-curve.c              \
-       spiral.c                \
-       pixel.c                 \
-       sierpinski.c            \
-       fill-clip.c             \
-       $(NULL)
-
-libcairo_perf_micro_headers = \
-       mosaic.h                \
-       world-map.h             \
-       zrusin-another.h        \
-       $(NULL)
-
-noinst_LTLIBRARIES = libcairo-perf-micro.la
-libcairo_perf_micro_la_SOURCES = \
-       $(libcairo_perf_micro_sources)  \
-       $(libcairo_perf_micro_headers)
-
-AM_CPPFLAGS = \
-       -I$(srcdir)                     \
-       -I$(top_srcdir)/boilerplate     \
-       -I$(top_srcdir)/src             \
-       -I$(top_srcdir)/perf            \
-       -I$(top_builddir)/src           \
-       $(CAIRO_CFLAGS)
-
-all: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/Makefile.am.common $(top_srcdir)/perf/micro/Makefile.sources $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign perf/micro/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign perf/micro/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
-       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-libcairo-perf-micro.la: $(libcairo_perf_micro_la_OBJECTS) $(libcairo_perf_micro_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(LINK)  $(libcairo_perf_micro_la_OBJECTS) $(libcairo_perf_micro_la_LIBADD) $(LIBS)
-
-clean-checkPROGRAMS:
-       @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/a1-curve.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/a1-line.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/box-outline.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cairo-perf-cover.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/composite-checker.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curve.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disjoint.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dragon.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fill-clip.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fill.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glyphs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash-table.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hatching.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/intersections.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/line.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/long-dashed-lines.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/long-lines.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/many-curves.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/many-fills.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/many-strokes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mask.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mosaic.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paint-with-alpha.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paint.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pattern_create_radial.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixel.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pythagoras-tree.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rectangles.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rounded-rectangles.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sierpinski.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spiral.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stroke.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subimage_copy.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tessellate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tiger.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/twin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unaligned-clip.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wave.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wide-fills.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wide-strokes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/world-map.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zrusin.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@am__fastdepCC_FALSE@  $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
-       @failed=0; all=0; xfail=0; xpass=0; skip=0; \
-       srcdir=$(srcdir); export srcdir; \
-       list=' $(TESTS) '; \
-       $(am__tty_colors); \
-       if test -n "$$list"; then \
-         for tst in $$list; do \
-           if test -f ./$$tst; then dir=./; \
-           elif test -f $$tst; then dir=; \
-           else dir="$(srcdir)/"; fi; \
-           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xpass=`expr $$xpass + 1`; \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=XPASS; \
-             ;; \
-             *) \
-               col=$$grn; res=PASS; \
-             ;; \
-             esac; \
-           elif test $$? -ne 77; then \
-             all=`expr $$all + 1`; \
-             case " $(XFAIL_TESTS) " in \
-             *[\ \     ]$$tst[\ \      ]*) \
-               xfail=`expr $$xfail + 1`; \
-               col=$$lgn; res=XFAIL; \
-             ;; \
-             *) \
-               failed=`expr $$failed + 1`; \
-               col=$$red; res=FAIL; \
-             ;; \
-             esac; \
-           else \
-             skip=`expr $$skip + 1`; \
-             col=$$blu; res=SKIP; \
-           fi; \
-           echo "$${col}$$res$${std}: $$tst"; \
-         done; \
-         if test "$$all" -eq 1; then \
-           tests="test"; \
-           All=""; \
-         else \
-           tests="tests"; \
-           All="All "; \
-         fi; \
-         if test "$$failed" -eq 0; then \
-           if test "$$xfail" -eq 0; then \
-             banner="$$All$$all $$tests passed"; \
-           else \
-             if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
-             banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
-           fi; \
-         else \
-           if test "$$xpass" -eq 0; then \
-             banner="$$failed of $$all $$tests failed"; \
-           else \
-             if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
-             banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
-           fi; \
-         fi; \
-         dashes="$$banner"; \
-         skipped=""; \
-         if test "$$skip" -ne 0; then \
-           if test "$$skip" -eq 1; then \
-             skipped="($$skip test was not run)"; \
-           else \
-             skipped="($$skip tests were not run)"; \
-           fi; \
-           test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$skipped"; \
-         fi; \
-         report=""; \
-         if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
-           report="Please report to $(PACKAGE_BUGREPORT)"; \
-           test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
-             dashes="$$report"; \
-         fi; \
-         dashes=`echo "$$dashes" | sed s/./=/g`; \
-         if test "$$failed" -eq 0; then \
-           echo "$$grn$$dashes"; \
-         else \
-           echo "$$red$$dashes"; \
-         fi; \
-         echo "$$banner"; \
-         test -z "$$skipped" || echo "$$skipped"; \
-         test -z "$$report" || echo "$$report"; \
-         echo "$$dashes$$std"; \
-         test "$$failed" -eq 0; \
-       else :; fi
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
-       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-am
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
-       clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: all check check-am install install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
-       clean-checkPROGRAMS clean-generic clean-libtool \
-       clean-noinstLTLIBRARIES ctags distclean distclean-compile \
-       distclean-generic distclean-libtool distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/perf/micro/Makefile.sources b/perf/micro/Makefile.sources
deleted file mode 100644 (file)
index 19ead17..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-libcairo_perf_micro_sources = \
-       cairo-perf-cover.c      \
-       box-outline.c           \
-       composite-checker.c     \
-       disjoint.c              \
-       fill.c                  \
-       hatching.c              \
-       hash-table.c            \
-       line.c                  \
-       a1-line.c               \
-       long-lines.c            \
-       mosaic.c                \
-       paint.c                 \
-       paint-with-alpha.c      \
-       mask.c                  \
-       pattern_create_radial.c \
-       rectangles.c            \
-       rounded-rectangles.c    \
-       stroke.c                \
-       subimage_copy.c         \
-       tessellate.c            \
-       text.c                  \
-       tiger.c                 \
-       glyphs.c                \
-       twin.c                  \
-       unaligned-clip.c        \
-       wave.c                  \
-       world-map.c             \
-       zrusin.c                \
-       long-dashed-lines.c     \
-       dragon.c                \
-       pythagoras-tree.c       \
-       intersections.c         \
-       many-strokes.c          \
-       wide-strokes.c          \
-       many-fills.c            \
-       wide-fills.c            \
-       many-curves.c           \
-       curve.c                 \
-       a1-curve.c              \
-       spiral.c                \
-       pixel.c                 \
-       sierpinski.c            \
-       fill-clip.c             \
-       $(NULL)
-
-libcairo_perf_micro_headers = \
-       mosaic.h                \
-       world-map.h             \
-       zrusin-another.h        \
-       $(NULL)
diff --git a/perf/micro/Makefile.win32 b/perf/micro/Makefile.win32
deleted file mode 100644 (file)
index f41f781..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-top_srcdir = ../..
-include $(top_srcdir)/build/Makefile.win32.common
-include $(top_srcdir)/perf/micro/Makefile.sources
-
-CFLAGS += -I$(top_srcdir)/perf -I$(top_srcdir)/boilerplate/
-
-OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(libcairo_perf_micro_sources))
-
-all: inform $(CFG)/libcairo-perf-micro.lib
-
-$(CFG)/libcairo-perf-micro.lib: $(OBJECTS)
-       @$(AR) $(CAIRO_ARFLAGS) -OUT:$@ $(OBJECTS)
diff --git a/perf/micro/a1-curve.c b/perf/micro/a1-curve.c
deleted file mode 100644 (file)
index 5fbaf24..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_time_t
-do_curve_stroke (cairo_t *cr, int width, int height, int loops)
-{
-    state = 0xc0ffee;
-    cairo_set_line_width (cr, 2.);
-    cairo_perf_timer_start ();
-
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       double x1 = uniform_random (0, width);
-       double x2 = uniform_random (0, width);
-       double x3 = uniform_random (0, width);
-       double y1 = uniform_random (0, height);
-       double y2 = uniform_random (0, height);
-       double y3 = uniform_random (0, height);
-       cairo_move_to (cr, uniform_random (0, width), uniform_random (0, height));
-       cairo_curve_to (cr, x1, y1, x2, y2, x3, y3);
-       cairo_stroke(cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_curve_fill (cairo_t *cr, int width, int height, int loops)
-{
-    state = 0xc0ffee;
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-
-       double x0 = uniform_random (0, width);
-       double x1 = uniform_random (0, width);
-       double x2 = uniform_random (0, width);
-       double x3 = uniform_random (0, width);
-       double xm = uniform_random (0, width);
-       double xn = uniform_random (0, width);
-       double y0 = uniform_random (0, height);
-       double y1 = uniform_random (0, height);
-       double y2 = uniform_random (0, height);
-       double y3 = uniform_random (0, height);
-       double ym = uniform_random (0, height);
-       double yn = uniform_random (0, height);
-
-       cairo_move_to (cr, xm, ym);
-       cairo_curve_to (cr, x1, y1, x2, y2, xn, yn);
-       cairo_curve_to (cr, x3, y3, x0, y0, xm, ym);
-       cairo_close_path (cr);
-
-       cairo_fill(cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-a1_curve_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "a1-curve", NULL);
-}
-
-void
-a1_curve (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    cairo_perf_run (perf, "a1-curve-stroked", do_curve_stroke, NULL);
-    cairo_perf_run (perf, "a1-curve-filled", do_curve_fill, NULL);
-}
diff --git a/perf/micro/a1-line.c b/perf/micro/a1-line.c
deleted file mode 100644 (file)
index 98fd17d..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-horizontal (cairo_t *cr, int width, int height, int loops)
-{
-    double h = height/2 + .5;
-
-    cairo_move_to (cr, 0, h);
-    cairo_line_to (cr, width, h);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-horizontal_hair (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return horizontal (cr, width, height, loops);
-}
-
-static cairo_time_t
-horizontal_wide (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return horizontal (cr, width, height, loops);
-}
-
-static cairo_time_t
-nearly_horizontal (cairo_t *cr, int width, int height, int loops)
-{
-    double h = height/2;
-
-    cairo_move_to (cr, 0, h);
-    cairo_line_to (cr, width, h+1);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-nearly_horizontal_hair (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return nearly_horizontal (cr, width, height, loops);
-}
-
-static cairo_time_t
-nearly_horizontal_wide (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return nearly_horizontal (cr, width, height, loops);
-}
-
-
-static cairo_time_t
-vertical (cairo_t *cr, int width, int height, int loops)
-{
-    double w = width/2 + .5;
-
-    cairo_move_to (cr, w, 0);
-    cairo_line_to (cr, w, height);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-vertical_hair (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return vertical (cr, width, height, loops);
-}
-
-static cairo_time_t
-vertical_wide (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return vertical (cr, width, height, loops);
-}
-
-static cairo_time_t
-nearly_vertical (cairo_t *cr, int width, int height, int loops)
-{
-    double w = width/2;
-
-    cairo_move_to (cr, w, 0);
-    cairo_line_to (cr, w+1, height);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-nearly_vertical_hair (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return nearly_vertical (cr, width, height, loops);
-}
-
-static cairo_time_t
-nearly_vertical_wide (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return nearly_vertical (cr, width, height, loops);
-}
-
-
-static cairo_time_t
-diagonal (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, width, height);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-diagonal_hair (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return diagonal (cr, width, height, loops);
-}
-
-static cairo_time_t
-diagonal_wide (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return diagonal (cr, width, height, loops);
-}
-
-cairo_bool_t
-a1_line_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "a1-line", NULL);
-}
-
-void
-a1_line (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    cairo_perf_run (perf, "a1-line-hh", horizontal_hair, NULL);
-    cairo_perf_run (perf, "a1-line-hw", horizontal_wide, NULL);
-    cairo_perf_run (perf, "a1-line-nhh", nearly_horizontal_hair, NULL);
-    cairo_perf_run (perf, "a1-line-nhw", nearly_horizontal_wide, NULL);
-
-    cairo_perf_run (perf, "a1-line-vh", vertical_hair, NULL);
-    cairo_perf_run (perf, "a1-line-vw", vertical_wide, NULL);
-    cairo_perf_run (perf, "a1-line-nvh", nearly_vertical_hair, NULL);
-    cairo_perf_run (perf, "a1-line-nvw", nearly_vertical_wide, NULL);
-
-    cairo_perf_run (perf, "a1-line-dh", diagonal_hair, NULL);
-    cairo_perf_run (perf, "a1-line-dw", diagonal_wide, NULL);
-}
diff --git a/perf/micro/box-outline.c b/perf/micro/box-outline.c
deleted file mode 100644 (file)
index 6c2a382..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-/* This test case is designed to illustrate a performance bug that
- * exists in cairo in which using cairo_stroke is much slower than
- * cairo_fill to draw an identical figure, (and in particular a figure
- * that is much more natural to draw with cairo_stroke). The figure is
- * a 100x100 square outline 1-pixel wide, nicely pixel aligned.
- *
- * The performance bug should affect any path whose resulting contour
- * consists only of pixel-aligned horizontal and vertical elements.
- *
- * Initial testing on on machine shows stroke as 5x slower than fill
- * for the xlib backend and 16x slower for the image backend.
- */
-
-static cairo_time_t
-box_outline_stroke (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-
-    cairo_rectangle (cr,
-                    1.5, 1.5,
-                    width - 3, height - 3);
-    cairo_set_line_width (cr, 1.0);
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-box_outline_alpha_stroke (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-
-    cairo_rectangle (cr,
-                    1.5, 1.5,
-                    width - 3, height - 3);
-    cairo_set_line_width (cr, 1.0);
-    cairo_set_source_rgba (cr, 1, 0, 0, .5); /* red */
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-box_outline_aa_stroke (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-
-    cairo_translate (cr, .5, .5);
-    cairo_rectangle (cr,
-                    1.5, 1.5,
-                    width - 3, height - 3);
-    cairo_set_line_width (cr, 1.0);
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-box_outline_fill (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-
-    cairo_rectangle (cr,
-                    1.0, 1.0,
-                    width - 2, height - 2);
-    cairo_rectangle (cr,
-                    2.0, 2.0,
-                    width - 4, height - 4);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_set_source_rgb (cr, 0, 1, 0); /* green */
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-box_outline_alpha_fill (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-
-    cairo_rectangle (cr,
-                    1.0, 1.0,
-                    width - 2, height - 2);
-    cairo_rectangle (cr,
-                    2.0, 2.0,
-                    width - 4, height - 4);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_set_source_rgba (cr, 0, 1, 0, .5); /* green */
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-box_outline_aa_fill (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-
-    cairo_translate (cr, .5, .5);
-    cairo_rectangle (cr,
-                    1.0, 1.0,
-                    width - 2, height - 2);
-    cairo_rectangle (cr,
-                    2.0, 2.0,
-                    width - 4, height - 4);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_set_source_rgb (cr, 0, 1, 0); /* green */
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-box_outline_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "box-outline", NULL);
-}
-
-void
-box_outline (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "box-outline-stroke", box_outline_stroke, NULL);
-    cairo_perf_run (perf, "box-outline-fill", box_outline_fill, NULL);
-
-    cairo_perf_run (perf, "box-outline-alpha-stroke", box_outline_alpha_stroke, NULL);
-    cairo_perf_run (perf, "box-outline-alpha-fill", box_outline_alpha_fill, NULL);
-
-    cairo_perf_run (perf, "box-outline-aa-stroke", box_outline_aa_stroke, NULL);
-    cairo_perf_run (perf, "box-outline-aa-fill", box_outline_aa_fill, NULL);
-}
diff --git a/perf/micro/cairo-perf-cover.c b/perf/micro/cairo-perf-cover.c
deleted file mode 100644 (file)
index 151a2e6..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-static void
-init_and_set_source_surface (cairo_t           *cr,
-                            cairo_surface_t    *source,
-                            int                 width,
-                            int                 height)
-{
-    cairo_t *cr2;
-
-    /* Fill it with something known */
-    cr2 = cairo_create (source);
-    cairo_set_operator (cr2, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgb (cr2, 0, 0, 1); /* blue */
-    cairo_paint (cr2);
-
-    cairo_set_source_rgba (cr2, 1, 0, 0, 0.5); /* 50% red */
-    cairo_new_path (cr2);
-    cairo_rectangle (cr2, 0, 0, width/2.0, height/2.0);
-    cairo_rectangle (cr2, width/2.0, height/2.0, width/2.0, height/2.0);
-    cairo_fill (cr2);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-}
-
-static void
-set_source_solid_rgb (cairo_t  *cr,
-                     int        width,
-                     int        height)
-{
-    cairo_set_source_rgb (cr, 0.2, 0.6, 0.9);
-}
-
-static void
-set_source_solid_rgba (cairo_t *cr,
-                      int       width,
-                      int       height)
-{
-    cairo_set_source_rgba (cr, 0.2, 0.6, 0.9, 0.7);
-}
-
-static void
-set_source_image_surface_rgb (cairo_t  *cr,
-                             int        width,
-                             int        height)
-{
-    cairo_surface_t *source;
-
-    source = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
-                                        width, height);
-    init_and_set_source_surface (cr, source, width, height);
-
-    cairo_surface_destroy (source);
-}
-
-static void
-set_source_image_surface_rgba (cairo_t *cr,
-                              int       width,
-                              int       height)
-{
-    cairo_surface_t *source;
-
-    source = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                        width, height);
-    init_and_set_source_surface (cr, source, width, height);
-
-    cairo_surface_destroy (source);
-}
-
-static void
-set_source_image_surface_rgba_mag (cairo_t     *cr,
-                                  int          width,
-                                  int          height)
-{
-    cairo_surface_t *source;
-
-    source = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                        width/2, height/2);
-    cairo_scale(cr, 2.1, 2.1);
-    init_and_set_source_surface (cr, source, width/2, height/2);
-    cairo_scale(cr, 1/2.1, 1/2.1);
-
-    cairo_surface_destroy (source);
-}
-
-static void
-set_source_image_surface_rgba_min (cairo_t     *cr,
-                                  int          width,
-                                  int          height)
-{
-    cairo_surface_t *source;
-
-    source = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                        width*2, height*2);
-    cairo_scale(cr, 1/1.9, 1/1.9);
-    init_and_set_source_surface (cr, source, width*2, height*2);
-    cairo_scale(cr, 1.9, 1.9);
-
-    cairo_surface_destroy (source);
-}
-
-static void
-set_source_similar_surface_rgb (cairo_t        *cr,
-                               int      width,
-                               int      height)
-{
-    cairo_surface_t *source;
-
-    source = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                          CAIRO_CONTENT_COLOR,
-                                          width, height);
-    init_and_set_source_surface (cr, source, width, height);
-
-    cairo_surface_destroy (source);
-}
-
-static void
-set_source_similar_surface_rgba (cairo_t       *cr,
-                                int             width,
-                                int             height)
-{
-    cairo_surface_t *source;
-
-    source = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                          CAIRO_CONTENT_COLOR_ALPHA,
-                                          width, height);
-    init_and_set_source_surface (cr, source, width, height);
-
-    cairo_surface_destroy (source);
-}
-
-static void
-set_source_similar_surface_rgba_mag (cairo_t   *cr,
-                                    int        width,
-                                    int        height)
-{
-    cairo_surface_t *source;
-
-    source = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                          CAIRO_CONTENT_COLOR_ALPHA,
-                                          width/2, height/2);
-    cairo_scale(cr, 2.1, 2.1);
-    init_and_set_source_surface (cr, source, width/2, height/2);
-    cairo_scale(cr, 1/2.1, 1/2.1);
-
-    cairo_surface_destroy (source);
-}
-
-static void
-set_source_similar_surface_rgba_min (cairo_t   *cr,
-                                    int        width,
-                                    int        height)
-{
-    cairo_surface_t *source;
-
-    source = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                          CAIRO_CONTENT_COLOR_ALPHA,
-                                          width*2, height*2);
-    cairo_scale(cr, 1/1.9, 1/1.9);
-    init_and_set_source_surface (cr, source, width*2, height*2);
-    cairo_scale(cr, 1.9, 1.9);
-
-    cairo_surface_destroy (source);
-}
-
-static void
-set_source_linear_rgb (cairo_t *cr,
-                      int      width,
-                      int      height)
-{
-    cairo_pattern_t *linear;
-
-    linear = cairo_pattern_create_linear (0.0, 0.0, width, height);
-    cairo_pattern_add_color_stop_rgb (linear, 0.0, 1, 0, 0); /* red */
-    cairo_pattern_add_color_stop_rgb (linear, 1.0, 0, 0, 1); /* blue */
-
-    cairo_set_source (cr, linear);
-
-    cairo_pattern_destroy (linear);
-}
-
-static void
-set_source_linear_rgba (cairo_t *cr,
-                       int     width,
-                       int     height)
-{
-    cairo_pattern_t *linear;
-
-    linear = cairo_pattern_create_linear (0.0, 0.0, width, height);
-    cairo_pattern_add_color_stop_rgba (linear, 0.0, 1, 0, 0, 0.5); /* 50% red */
-    cairo_pattern_add_color_stop_rgba (linear, 1.0, 0, 0, 1, 0.0); /*  0% blue */
-
-    cairo_set_source (cr, linear);
-
-    cairo_pattern_destroy (linear);
-}
-
-static void
-set_source_linear3_rgb (cairo_t *cr,
-                      int      width,
-                      int      height)
-{
-    cairo_pattern_t *linear;
-
-    linear = cairo_pattern_create_linear (0.0, 0.0, width, height);
-    cairo_pattern_add_color_stop_rgb (linear, 0.0, 1, 0, 0); /* red */
-    cairo_pattern_add_color_stop_rgb (linear, 0.5, 0, 1, 0); /* green */
-    cairo_pattern_add_color_stop_rgb (linear, 1.0, 0, 0, 1); /* blue */
-
-    cairo_set_source (cr, linear);
-
-    cairo_pattern_destroy (linear);
-}
-
-static void
-set_source_linear3_rgba (cairo_t *cr,
-                       int     width,
-                       int     height)
-{
-    cairo_pattern_t *linear;
-
-    linear = cairo_pattern_create_linear (0.0, 0.0, width, height);
-    cairo_pattern_add_color_stop_rgba (linear, 0.0, 1, 0, 0, 0.5); /* 50% red */
-    cairo_pattern_add_color_stop_rgba (linear, 0.5, 0, 1, 0, 0.0); /*  0% green */
-    cairo_pattern_add_color_stop_rgba (linear, 1.0, 0, 0, 1, 0.5); /*  50% blue */
-
-    cairo_set_source (cr, linear);
-
-    cairo_pattern_destroy (linear);
-}
-
-static void
-set_source_radial_rgb (cairo_t *cr,
-                      int      width,
-                      int      height)
-{
-    cairo_pattern_t *radial;
-
-    radial = cairo_pattern_create_radial (width/2.0, height/2.0, 0.0,
-                                         width/2.0, height/2.0, width/2.0);
-    cairo_pattern_add_color_stop_rgb (radial, 0.0, 1, 0, 0); /* red */
-    cairo_pattern_add_color_stop_rgb (radial, 1.0, 0, 0, 1); /* blue */
-
-    cairo_set_source (cr, radial);
-
-    cairo_pattern_destroy (radial);
-}
-
-static void
-set_source_radial_rgba (cairo_t *cr,
-                       int     width,
-                       int     height)
-{
-    cairo_pattern_t *radial;
-
-    radial = cairo_pattern_create_radial (width/2.0, height/2.0, 0.0,
-                                         width/2.0, height/2.0, width/2.0);
-    cairo_pattern_add_color_stop_rgba (radial, 0.0, 1, 0, 0, 0.5); /* 50% red */
-    cairo_pattern_add_color_stop_rgba (radial, 1.0, 0, 0, 1, 0.0); /*  0% blue */
-
-    cairo_set_source (cr, radial);
-
-    cairo_pattern_destroy (radial);
-}
-
-typedef void (*set_source_func_t) (cairo_t *cr, int width, int height);
-#define ARRAY_SIZE(arr) (sizeof(arr)/sizeof((arr)[0]))
-
-void
-cairo_perf_cover_sources_and_operators (cairo_perf_t           *perf,
-                                       const char              *name,
-                                       cairo_perf_func_t        perf_func,
-                                       cairo_count_func_t       count_func)
-{
-    unsigned int i, j;
-    char *expanded_name;
-
-    struct { set_source_func_t set_source; const char *name; } sources[] = {
-       { set_source_solid_rgb, "solid-rgb" },
-       { set_source_solid_rgba, "solid-rgba" },
-       { set_source_image_surface_rgb, "image-rgb" },
-       { set_source_image_surface_rgba, "image-rgba" },
-       { set_source_image_surface_rgba_mag, "image-rgba-mag" },
-       { set_source_image_surface_rgba_min, "image-rgba-min" },
-       { set_source_similar_surface_rgb, "similar-rgb" },
-       { set_source_similar_surface_rgba, "similar-rgba" },
-       { set_source_similar_surface_rgba_mag, "similar-rgba-mag" },
-       { set_source_similar_surface_rgba_min, "similar-rgba-min" },
-       { set_source_linear_rgb, "linear-rgb" },
-       { set_source_linear_rgba, "linear-rgba" },
-       { set_source_linear3_rgb, "linear3-rgb" },
-       { set_source_linear3_rgba, "linear3-rgba" },
-       { set_source_radial_rgb, "radial-rgb" },
-       { set_source_radial_rgba, "radial-rgba" }
-    };
-
-    struct { cairo_operator_t op; const char *name; } operators[] = {
-       { CAIRO_OPERATOR_OVER, "over" },
-       { CAIRO_OPERATOR_SOURCE, "source" }
-    };
-
-    for (i = 0; i < ARRAY_SIZE (sources); i++) {
-       (sources[i].set_source) (perf->cr, perf->size, perf->size);
-
-       for (j = 0; j < ARRAY_SIZE (operators); j++) {
-           cairo_set_operator (perf->cr, operators[j].op);
-
-           xasprintf (&expanded_name, "%s_%s_%s",
-                      name, sources[i].name, operators[j].name);
-           cairo_perf_run (perf, expanded_name, perf_func, count_func);
-           free (expanded_name);
-       }
-    }
-}
diff --git a/perf/micro/composite-checker.c b/perf/micro/composite-checker.c
deleted file mode 100644 (file)
index ac745f2..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright © 2007 Björn Lindqvist
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Björn Lindqvist <bjourne@gmail.com>
- */
-
-#include "cairo-perf.h"
-
-/* This test case measures how much time cairo takes to render the
- * equivalent of the following gdk-pixbuf operation:
- *
- *    gdk_pixbuf_composite_color(dest,
- *                               0, 0, DST_SIZE, DST_SIZE,
- *                               0, 0,
- *                               SCALE, SCALE,
- *                               gdk.INTERP_NEAREST,
- *                               255,
- *                               0, 0,
- *                               8, 0x33333333, 0x88888888);
- *
- * Cairo is (at the time of writing) about 2-3 times as slow as
- * gdk-pixbuf.
- */
-#define PAT_SIZE    16
-#define SRC_SIZE    64
-
-static cairo_pattern_t *checkerboard = NULL;
-static cairo_pattern_t *src_pattern = NULL;
-
-static cairo_time_t
-do_composite_checker (cairo_t *cr,
-                      int      width,
-                      int      height,
-                     int loops)
-{
-    /* Compute zoom so that the src_pattern covers the whole output image. */
-    double xscale = width / (double) SRC_SIZE;
-    double yscale = height / (double) SRC_SIZE;
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       /* Fill the surface with our background. */
-       cairo_identity_matrix (cr);
-       cairo_set_source (cr, checkerboard);
-       cairo_paint (cr);
-
-       /* Draw the scaled image on top. */
-       cairo_scale (cr, xscale, yscale);
-       cairo_set_source (cr, src_pattern);
-       cairo_paint (cr);
-    }
-
-    cairo_perf_timer_stop ();
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-composite_checker_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "composite-checker", NULL);
-}
-
-void
-composite_checker (cairo_perf_t *perf,
-                   cairo_t      *cr,
-                   int           width,
-                   int           height)
-{
-    cairo_surface_t *image;
-
-    /* Create the checker pattern. We don't actually need to draw
-     * anything on it since that wouldn't affect performance.
-     */
-    image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                        PAT_SIZE,
-                                        PAT_SIZE);
-    checkerboard = cairo_pattern_create_for_surface (image);
-    cairo_pattern_set_filter (checkerboard, CAIRO_FILTER_NEAREST);
-    cairo_pattern_set_extend (checkerboard, CAIRO_EXTEND_REPEAT);
-    cairo_surface_destroy (image);
-
-    /* Create the image source pattern. Again we use the NEAREST
-     * filtering which should be fastest.
-    */
-    image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                        SRC_SIZE,
-                                        SRC_SIZE);
-    src_pattern = cairo_pattern_create_for_surface (image);
-    cairo_pattern_set_filter (src_pattern, CAIRO_FILTER_NEAREST);
-    cairo_surface_destroy (image);
-
-    cairo_perf_run (perf, "composite-checker", do_composite_checker, NULL);
-
-    cairo_pattern_destroy (checkerboard);
-    cairo_pattern_destroy (src_pattern);
-}
diff --git a/perf/micro/curve.c b/perf/micro/curve.c
deleted file mode 100644 (file)
index 5bb2d20..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_time_t
-do_curve_stroke (cairo_t *cr, int width, int height, int loops)
-{
-    state = 0xc0ffee;
-    cairo_set_line_width (cr, 2.);
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       double x1 = uniform_random (0, width);
-       double x2 = uniform_random (0, width);
-       double x3 = uniform_random (0, width);
-       double y1 = uniform_random (0, height);
-       double y2 = uniform_random (0, height);
-       double y3 = uniform_random (0, height);
-       cairo_move_to (cr, uniform_random (0, width), uniform_random (0, height));
-       cairo_curve_to (cr, x1, y1, x2, y2, x3, y3);
-       cairo_stroke(cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_curve_fill (cairo_t *cr, int width, int height, int loops)
-{
-    state = 0xc0ffee;
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       double x0 = uniform_random (0, width);
-       double x1 = uniform_random (0, width);
-       double x2 = uniform_random (0, width);
-       double x3 = uniform_random (0, width);
-       double xm = uniform_random (0, width);
-       double xn = uniform_random (0, width);
-       double y0 = uniform_random (0, height);
-       double y1 = uniform_random (0, height);
-       double y2 = uniform_random (0, height);
-       double y3 = uniform_random (0, height);
-       double ym = uniform_random (0, height);
-       double yn = uniform_random (0, height);
-
-       cairo_move_to (cr, xm, ym);
-       cairo_curve_to (cr, x1, y1, x2, y2, xn, yn);
-       cairo_curve_to (cr, x3, y3, x0, y0, xm, ym);
-       cairo_close_path (cr);
-
-       cairo_fill(cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-curve_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "curve", NULL);
-}
-
-void
-curve (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-
-    cairo_perf_run (perf, "curve-stroked", do_curve_stroke, NULL);
-    cairo_perf_run (perf, "curve-filled", do_curve_fill, NULL);
-}
diff --git a/perf/micro/disjoint.c b/perf/micro/disjoint.c
deleted file mode 100644 (file)
index d62c87a..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright (c) 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-#include <assert.h>
-#include "cairo-perf.h"
-
-#define STEP   5
-
-static void path (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_rectangle (cr, 0, 0, width, height);
-    cairo_clip (cr);
-
-    cairo_translate (cr, width/2, height/2);
-    cairo_rotate (cr, M_PI/4);
-    cairo_translate (cr, -width/2, -height/2);
-
-    for (i = 0; i < width; i += STEP) {
-       cairo_rectangle (cr, i, -2, 1, height+4);
-       cairo_rectangle (cr, -2, i, width+4, 1);
-    }
-}
-
-static void clip (cairo_t *cr, int width, int height)
-{
-    int i, j;
-
-    for (j = 0; j < height; j += 2*STEP) {
-       for (i = 0; i < width; i += 2*STEP)
-           cairo_rectangle (cr, i, j, STEP, STEP);
-
-       j += 2*STEP;
-       for (i = 0; i < width; i += 2*STEP)
-           cairo_rectangle (cr, i+STEP/2, j, STEP, STEP);
-    }
-
-    cairo_clip (cr);
-}
-
-static cairo_time_t
-draw (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_save (cr);
-       clip (cr, width, height);
-       path (cr, width, height);
-       cairo_fill (cr);
-       cairo_restore (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_restore (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-disjoint_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "disjoint", NULL);
-}
-
-void
-disjoint (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    if (! cairo_perf_can_run (perf, "disjoint", NULL))
-       return;
-
-    cairo_perf_run (perf, "disjoint", draw, NULL);
-}
diff --git a/perf/micro/dragon.c b/perf/micro/dragon.c
deleted file mode 100644 (file)
index 7036599..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Copyright © 2007 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- *
- * Inspiration (and path!) taken from
- * http://labs.trolltech.com/blogs/2007/08/31/rasterizing-dragons/
- */
-
-#include "cairo-perf.h"
-
-#ifndef MIN
-#define MIN(a,b) (((a) < (b)) ? (a) : (b))
-#endif
-
-#ifndef MAX
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#endif
-
-static inline int
-next_pot (int v)
-{
-    v--;
-    v |= v >> 1;
-    v |= v >> 2;
-    v |= v >> 4;
-    v |= v >> 8;
-    v |= v >> 16;
-    v++;
-    return v;
-}
-
-static cairo_bool_t
-direction (int i)
-{
-    int pivot, np2;
-
-    if (i < 2)
-       return TRUE;
-
-    np2 = next_pot (i + 1);
-    if (np2 == i + 1)
-       return TRUE;
-
-    pivot = np2 / 2 - 1;
-    return ! direction (2 * pivot - i);
-}
-
-static void
-path (cairo_t *cr, int step, int dir, int iterations)
-{
-    double dx, dy;
-    int i;
-
-    switch (dir) {
-       default:
-       case 0: dx =  step; dy =  0; break;
-       case 1: dx = -step; dy =  0; break;
-       case 2: dx =  0; dy =  step; break;
-       case 3: dx =  0; dy = -step; break;
-    }
-
-    for (i = 0; i < iterations; i++) {
-       cairo_rel_line_to (cr, dx, dy);
-
-       if (direction (i)) {
-           double t = dx;
-           dx = dy;
-           dy = -t;
-       } else {
-           double t = dx;
-           dx = -dy;
-           dy = t;
-       }
-    }
-}
-
-static cairo_time_t
-do_dragon (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_pattern_t *pattern;
-    double cx, cy, r;
-
-    cx = cy = .5 * MAX (width, height);
-    r = .5 * MIN (width, height);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       pattern = cairo_pattern_create_radial (cx, cy, 0., cx, cy, r);
-       cairo_pattern_add_color_stop_rgb (pattern, 0., .0, .0, .0);
-       cairo_pattern_add_color_stop_rgb (pattern, 0.25, .5, .4, .4);
-       cairo_pattern_add_color_stop_rgb (pattern, .5, .8, .8, .9);
-       cairo_pattern_add_color_stop_rgb (pattern, 1., .9, .9, 1.);
-       cairo_set_source (cr, pattern);
-       cairo_pattern_destroy (pattern);
-       cairo_paint (cr);
-
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-       cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-       cairo_set_line_width (cr, 4.);
-
-       cairo_move_to (cr, cx, cy);
-       path (cr, 12, 0, 2048);
-       pattern = cairo_pattern_create_radial (cx, cy, 0., cx, cy, r);
-       cairo_pattern_add_color_stop_rgb (pattern, 0., 1., 1., 1.);
-       cairo_pattern_add_color_stop_rgb (pattern, 1., 0., 0., 0.);
-       cairo_set_source (cr, pattern);
-       cairo_pattern_destroy (pattern);
-       cairo_stroke(cr);
-
-       cairo_move_to (cr, cx, cy);
-       path (cr, 12, 1, 2048);
-       pattern = cairo_pattern_create_radial (cx, cy, 0., cx, cy, r);
-       cairo_pattern_add_color_stop_rgb (pattern, 1., 1., 1., 0.);
-       cairo_pattern_add_color_stop_rgb (pattern, 0., 1., 0., 0.);
-       cairo_set_source (cr, pattern);
-       cairo_pattern_destroy (pattern);
-       cairo_stroke(cr);
-
-       cairo_move_to (cr, cx, cy);
-       path (cr, 12, 2, 2048);
-       pattern = cairo_pattern_create_radial (cx, cy, 0., cx, cy, r);
-       cairo_pattern_add_color_stop_rgb (pattern, 1., 0., 1., 1.);
-       cairo_pattern_add_color_stop_rgb (pattern, 0., 0., 1., 0.);
-       cairo_set_source (cr, pattern);
-       cairo_pattern_destroy (pattern);
-       cairo_stroke(cr);
-
-       cairo_move_to (cr, cx, cy);
-       path (cr, 12, 3, 2048);
-       pattern = cairo_pattern_create_radial (cx, cy, 0., cx, cy, r);
-       cairo_pattern_add_color_stop_rgb (pattern, 1., 1., 0., 1.);
-       cairo_pattern_add_color_stop_rgb (pattern, 0., 0., 0., 1.);
-       cairo_set_source (cr, pattern);
-       cairo_pattern_destroy (pattern);
-       cairo_stroke(cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_dragon_solid (cairo_t *cr, int width, int height, int loops)
-{
-    double cx, cy;
-
-    cx = cy = .5 * MAX (width, height);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_set_source_rgb (cr, 0, 0, 0);
-       cairo_paint (cr);
-
-       cairo_set_line_width (cr, 4.);
-
-       cairo_move_to (cr, cx, cy);
-       path (cr, 12, 0, 2048);
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       cairo_stroke(cr);
-
-       cairo_move_to (cr, cx, cy);
-       path (cr, 12, 1, 2048);
-       cairo_set_source_rgb (cr, 0, 1, 0);
-       cairo_stroke(cr);
-
-       cairo_move_to (cr, cx, cy);
-       path (cr, 12, 2, 2048);
-       cairo_set_source_rgb (cr, 0, 0, 1);
-       cairo_stroke(cr);
-
-       cairo_move_to (cr, cx, cy);
-       path (cr, 12, 3, 2048);
-       cairo_set_source_rgb (cr, 1, 1, 1);
-       cairo_stroke(cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_dragon_solid_unaligned (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_translate (cr, 0.01, 0.01);
-    return do_dragon_solid (cr, width, height, loops);
-}
-
-static cairo_time_t
-do_dragon_solid_aligned_clip (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_reset_clip (cr);
-    cairo_rectangle (cr, 10, 10, width/2 + 10, height/2 + 10);
-    cairo_rectangle (cr, width/2-20, height/2-20, width/2 + 10, height/2 + 10);
-    cairo_clip (cr);
-
-    return do_dragon_solid (cr, width, height, loops);
-}
-
-static cairo_time_t
-do_dragon_unaligned_solid_aligned_clip (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_translate (cr, 0.01, 0.01);
-    cairo_reset_clip (cr);
-    cairo_rectangle (cr, 10, 10, width/2 + 10, height/2 + 10);
-    cairo_rectangle (cr, width/2-20, height/2-20, width/2 + 10, height/2 + 10);
-    cairo_clip (cr);
-
-    return do_dragon_solid (cr, width, height, loops);
-}
-
-static cairo_time_t
-do_dragon_solid_unaligned_clip (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_reset_clip (cr);
-    cairo_rectangle (cr, 10.5, 10.5, width/2 + 10, height/2 + 10);
-    cairo_rectangle (cr, width/2-20, height/2-20, width/2 + 9.5, height/2 + 9.5);
-    cairo_clip (cr);
-
-    return do_dragon_solid (cr, width, height, loops);
-}
-
-static cairo_time_t
-do_dragon_unaligned_solid_unaligned_clip (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_translate (cr, 0.01, 0.01);
-    cairo_reset_clip (cr);
-    cairo_rectangle (cr, 10.5, 10.5, width/2 + 10, height/2 + 10);
-    cairo_rectangle (cr, width/2-20, height/2-20, width/2 + 9.5, height/2 + 9.5);
-    cairo_clip (cr);
-
-    return do_dragon_solid (cr, width, height, loops);
-}
-
-static cairo_time_t
-do_dragon_solid_circle_clip (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_reset_clip (cr);
-    cairo_arc (cr, width/2., height/2., MIN (width, height)/2. - 10, 0, 2 * M_PI);
-    cairo_clip (cr);
-
-    return do_dragon_solid (cr, width, height, loops);
-}
-
-cairo_bool_t
-dragon_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "dragon", NULL);
-}
-
-void
-dragon (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "dragon-solid", do_dragon_solid, NULL);
-    cairo_perf_run (perf, "dragon-unaligned-solid", do_dragon_solid_unaligned, NULL);
-    cairo_perf_run (perf, "dragon-solid-aligned-clip", do_dragon_solid_aligned_clip, NULL);
-    cairo_perf_run (perf, "dragon-unaligned-solid-aligned-clip", do_dragon_unaligned_solid_aligned_clip, NULL);
-    cairo_perf_run (perf, "dragon-solid-unaligned-clip", do_dragon_solid_unaligned_clip, NULL);
-    cairo_perf_run (perf, "dragon-unaligned-solid-unaligned-clip", do_dragon_unaligned_solid_unaligned_clip, NULL);
-    cairo_perf_run (perf, "dragon-solid-circle-clip", do_dragon_solid_circle_clip, NULL);
-    cairo_perf_run (perf, "dragon", do_dragon, NULL);
-}
diff --git a/perf/micro/fill-clip.c b/perf/micro/fill-clip.c
deleted file mode 100644 (file)
index 149445c..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* Compares the overhead for WebKit's drawRect() */
-
-#include "cairo-perf.h"
-
-#include <pixman.h>
-
-static cairo_time_t
-clip_paint (cairo_t *cr, int width, int height, int loops)
-{
-    int x = width/4, w = width/2;
-    int y = height/4, h = height/2;
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_reset_clip (cr);
-       cairo_rectangle (cr, x, y, w, h);
-       cairo_clip (cr);
-       cairo_paint (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-rect_fill (cairo_t *cr, int width, int height, int loops)
-{
-    int x = width/4, w = width/2;
-    int y = height/4, h = height/2;
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_rectangle (cr, x, y, w, h);
-       cairo_fill (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-direct (cairo_t *cr, int width, int height, int loops)
-{
-    int x = width/4, w = width/2;
-    int y = height/4, h = height/2;
-    cairo_surface_t *surface, *image;
-    uint8_t *data;
-    int stride, bpp;
-
-
-    surface = cairo_get_target (cr);
-    image = cairo_surface_map_to_image (surface, NULL);
-    data = cairo_image_surface_get_data (image);
-    stride = cairo_image_surface_get_stride (image);
-
-    switch (cairo_image_surface_get_format (image)) {
-    default:
-    case CAIRO_FORMAT_INVALID:
-    case CAIRO_FORMAT_A1: bpp = 0; break;
-    case CAIRO_FORMAT_A8: bpp = 8; break;
-    case CAIRO_FORMAT_RGB16_565: bpp = 16; break;
-    case CAIRO_FORMAT_RGB24:
-    case CAIRO_FORMAT_RGB30:
-    case CAIRO_FORMAT_ARGB32: bpp = 32; break;
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       pixman_fill ((uint32_t *)data, stride / sizeof(uint32_t), bpp,
-                    x, y, w, h,
-                    -1);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_surface_unmap_image (surface, image);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-fill_clip_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "fillclip", NULL);
-}
-
-void
-fill_clip (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-
-    cairo_perf_run (perf, "fillclip-clip", clip_paint, NULL);
-    cairo_perf_run (perf, "fillclip-fill", rect_fill, NULL);
-    cairo_perf_run (perf, "fillclip-direct", direct, NULL);
-}
diff --git a/perf/micro/fill.c b/perf/micro/fill.c
deleted file mode 100644 (file)
index 7f24702..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-do_fill (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_arc (cr,
-              width/2.0, height/2.0,
-              width/3.0,
-              0, 2 * M_PI);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_fill_annuli (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_new_sub_path (cr);
-    cairo_arc (cr,
-              width/2.0, height/2.0,
-              width/3.0,
-              0, 2 * M_PI);
-
-    cairo_new_sub_path (cr);
-    cairo_arc_negative (cr,
-              width/2.0, height/2.0,
-              width/4.0,
-              2 * M_PI, 0);
-
-    cairo_new_sub_path (cr);
-    cairo_arc (cr,
-              width/2.0, height/2.0,
-              width/6.0,
-              0, 2 * M_PI);
-
-    cairo_new_sub_path (cr);
-    cairo_arc_negative (cr,
-              width/2.0, height/2.0,
-              width/8.0,
-              2 * M_PI, 0);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_fill_eo_noaa (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    cairo_arc (cr,
-              width/2.0, height/2.0,
-              width/3.0,
-              0, 2 * M_PI);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-fill_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "fill", NULL);
-}
-
-void
-fill (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_cover_sources_and_operators (perf, "fill", do_fill, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "fill-annuli", do_fill_annuli, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "fill-eo-noaa", do_fill_eo_noaa, NULL);
-}
diff --git a/perf/micro/glyphs.c b/perf/micro/glyphs.c
deleted file mode 100644 (file)
index ebabd9a..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-do_glyphs (double font_size,
-          cairo_antialias_t antialias,
-          cairo_t *cr, int width, int height, int loops)
-{
-    const char text[] = "the jay, pig, fox, zebra and my wolves quack";
-    cairo_scaled_font_t *scaled_font;
-    cairo_glyph_t *glyphs = NULL, *glyphs_copy;
-    cairo_text_extents_t extents;
-    cairo_font_options_t *options;
-    cairo_status_t status;
-    double x, y;
-    int num_glyphs, n;
-
-    options = cairo_font_options_create ();
-    cairo_font_options_set_antialias (options, antialias);
-    cairo_set_font_options (cr, options);
-    cairo_font_options_destroy (options);
-
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, font_size);
-    scaled_font = cairo_get_scaled_font (cr);
-    status = cairo_scaled_font_text_to_glyphs (scaled_font, 0., 0.,
-                                              text, -1,
-                                              &glyphs, &num_glyphs,
-                                              NULL, NULL,
-                                              NULL);
-    if (status)
-       return 0;
-
-    glyphs_copy = cairo_glyph_allocate (num_glyphs);
-    if (glyphs_copy == NULL) {
-       cairo_glyph_free (glyphs);
-       return 0;
-    }
-
-    cairo_scaled_font_glyph_extents (scaled_font,
-                                    glyphs, num_glyphs,
-                                    &extents);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       y = 0;
-       do {
-           x = 0;
-           do {
-               for (n = 0; n < num_glyphs; n++) {
-                   glyphs_copy[n] = glyphs[n];
-                   glyphs_copy[n].x += x;
-                   glyphs_copy[n].y += y;
-               }
-               cairo_show_glyphs (cr, glyphs_copy, num_glyphs);
-
-               x += extents.width;
-           } while (x < width);
-           y += extents.height;
-       } while (y < height);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_glyph_free (glyphs);
-    cairo_glyph_free (glyphs_copy);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static double
-count_glyphs (double font_size,
-             cairo_antialias_t antialias,
-             cairo_t *cr, int width, int height)
-{
-    const char text[] = "the jay, pig, fox, zebra and my wolves quack";
-    cairo_scaled_font_t *scaled_font;
-    cairo_glyph_t *glyphs = NULL;
-    cairo_text_extents_t extents;
-    cairo_font_options_t *options;
-    cairo_status_t status;
-    int num_glyphs;
-    int glyphs_per_line, lines_per_loop;
-
-    options = cairo_font_options_create ();
-    cairo_font_options_set_antialias (options, antialias);
-    cairo_set_font_options (cr, options);
-    cairo_font_options_destroy (options);
-
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, font_size);
-    scaled_font = cairo_get_scaled_font (cr);
-    status = cairo_scaled_font_text_to_glyphs (scaled_font, 0., 0.,
-                                              text, -1,
-                                              &glyphs, &num_glyphs,
-                                              NULL, NULL,
-                                              NULL);
-    if (status)
-       return 0;
-
-    cairo_scaled_font_glyph_extents (scaled_font,
-                                    glyphs, num_glyphs,
-                                    &extents);
-    cairo_glyph_free (glyphs);
-
-    glyphs_per_line = num_glyphs * width / extents.width + 1;
-    lines_per_loop = height / extents.height + 1;
-    return glyphs_per_line * lines_per_loop / 1000.; /* kiloglyphs */
-}
-
-#define DECL(name,size, aa) \
-static cairo_time_t \
-do_glyphs##name (cairo_t *cr, int width, int height, int loops) \
-{ \
-    return do_glyphs (size, aa, cr, width, height, loops); \
-} \
-\
-static double \
-count_glyphs##name (cairo_t *cr, int width, int height) \
-{ \
-    return count_glyphs (size, aa, cr, width, height); \
-}
-
-DECL(8, 8, CAIRO_ANTIALIAS_GRAY)
-DECL(10, 10, CAIRO_ANTIALIAS_GRAY)
-DECL(12, 12, CAIRO_ANTIALIAS_GRAY)
-DECL(16, 16, CAIRO_ANTIALIAS_GRAY)
-DECL(20, 20, CAIRO_ANTIALIAS_GRAY)
-DECL(24, 24, CAIRO_ANTIALIAS_GRAY)
-DECL(32, 32, CAIRO_ANTIALIAS_GRAY)
-DECL(40, 40, CAIRO_ANTIALIAS_GRAY)
-DECL(48, 48, CAIRO_ANTIALIAS_GRAY)
-
-DECL(8ca, 8, CAIRO_ANTIALIAS_SUBPIXEL)
-DECL(48ca, 48, CAIRO_ANTIALIAS_SUBPIXEL)
-
-DECL(8mono, 8, CAIRO_ANTIALIAS_NONE)
-DECL(48mono, 48, CAIRO_ANTIALIAS_NONE)
-
-cairo_bool_t
-glyphs_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "glyphs", NULL);
-}
-
-void
-glyphs (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_cover_sources_and_operators (perf, "glyphs8mono", do_glyphs8mono, count_glyphs8mono);
-    cairo_perf_cover_sources_and_operators (perf, "glyphs8", do_glyphs8, count_glyphs8);
-    cairo_perf_cover_sources_and_operators (perf, "glyphs8ca", do_glyphs8ca, count_glyphs8ca);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_perf_run (perf, "glyphs8", do_glyphs8, count_glyphs8);
-    cairo_perf_run (perf, "glyphs10", do_glyphs10, count_glyphs10);
-    cairo_perf_run (perf, "glyphs12", do_glyphs12, count_glyphs12);
-    cairo_perf_run (perf, "glyphs16", do_glyphs16, count_glyphs16);
-    cairo_perf_run (perf, "glyphs20", do_glyphs20, count_glyphs20);
-    cairo_perf_run (perf, "glyphs24", do_glyphs24, count_glyphs24);
-    cairo_perf_run (perf, "glyphs32", do_glyphs32, count_glyphs32);
-    cairo_perf_run (perf, "glyphs40", do_glyphs40, count_glyphs40);
-    cairo_perf_run (perf, "glyphs48", do_glyphs48, count_glyphs48);
-
-    cairo_perf_cover_sources_and_operators (perf, "glyphs48mono", do_glyphs48mono, count_glyphs48mono);
-    cairo_perf_cover_sources_and_operators (perf, "glyphs48", do_glyphs48, count_glyphs48);
-    cairo_perf_cover_sources_and_operators (perf, "glyphs48ca", do_glyphs48ca, count_glyphs48ca);
-}
diff --git a/perf/micro/hash-table.c b/perf/micro/hash-table.c
deleted file mode 100644 (file)
index a08f3ef..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright © 2011 Andrea Canciani
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-perf.h"
-
-#define ITER 1000
-#define HOLDOVERS 256
-#define LIVE_ENTRIES 257
-#define ACTIVE_FONTS (LIVE_ENTRIES - HOLDOVERS - 1)
-
-/*
- * The original implementation of hash tables was very inefficient, as
- * pointed out in https://bugs.freedesktop.org/show_bug.cgi?id=17399
- *
- * This benchmark tries to fill up the scaled_font_map hash table to
- * show the O(n) behavior.
- */
-
-static cairo_time_t
-do_hash_table (cairo_t *cr, int width, int height, int loops)
-{
-    /*
-     * Microsoft C Compiler complains that:
-     * error C2466: cannot allocate an array of constant size 0
-     * so we add an unused element to make it happy
-     */
-    cairo_scaled_font_t *active_fonts[ACTIVE_FONTS + 1];
-    cairo_matrix_t m;
-    int i;
-
-    cairo_matrix_init_identity (&m);
-
-    /* Touch HOLDOVERS scaled fonts to fill up the holdover list. */
-    for (i = 0; i < HOLDOVERS; i++) {
-       m.yy = m.xx * (i + 1);
-       cairo_set_font_matrix (cr, &m);
-       cairo_get_scaled_font (cr);
-    }
-
-    /*
-     * Reference some scaled fonts so that they will be kept in the
-     * scaled fonts map. We want LIVE_ENTRIES elements in the font
-     * map, but cairo keeps HOLDOVERS recently used fonts in it and we
-     * will be activating a new font in the cr context, so we just
-     * keep references to ACTIVE_FONTS fonts.
-     *
-     * Note: setting LIVE_ENTRIES == HOLDOVERS+1 means that we keep no
-     * font in active_fonts and the slowness is caused by the holdover
-     * fonts only.
-     */
-    for (i = 0; i < ACTIVE_FONTS; i++) {
-       cairo_scaled_font_t *scaled_font;
-
-       m.yy = m.xx * (i + 1);
-       cairo_set_font_matrix (cr, &m);
-
-       scaled_font = cairo_get_scaled_font (cr);
-       active_fonts[i] = cairo_scaled_font_reference (scaled_font);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE); 
-       m.xx += 1.0;
-
-       /* Generate ITER new scaled fonts per loop */
-       for (i = 0; i < ITER; i++) {
-           m.yy = m.xx * (i + 1);
-           cairo_set_font_matrix (cr, &m);
-           cairo_get_scaled_font (cr);
-       }
-    }
-
-    cairo_perf_timer_stop ();
-
-    for (i = 0; i < ACTIVE_FONTS; i++)
-       cairo_scaled_font_destroy (active_fonts[i]);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-hash_table_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "hash-table", NULL);
-}
-
-void
-hash_table (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_cover_sources_and_operators (perf, "hash-table",
-                                           do_hash_table, NULL);
-}
diff --git a/perf/micro/hatching.c b/perf/micro/hatching.c
deleted file mode 100644 (file)
index 006ca57..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright (c) 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-#include <assert.h>
-#include "cairo-perf.h"
-
-
-#define STEP   5
-#define WIDTH  100
-#define HEIGHT 100
-
-static void path (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    for (i = 0; i < width+1; i += STEP) {
-       cairo_rectangle (cr, i-1, -1, 2, height+2);
-       cairo_rectangle (cr, -1, i-1, width+2, 2);
-    }
-}
-
-static void aa (cairo_t *cr)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_DEFAULT);
-}
-
-static void mono (cairo_t *cr)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-}
-
-static void aligned (cairo_t *cr, int width, int height)
-{
-}
-
-static void misaligned (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, 0.25, 0.25);
-}
-
-static void rotated (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, width/2, height/2);
-    cairo_rotate (cr, M_PI/4);
-    cairo_translate (cr, -width/2, -height/2);
-}
-
-static void clip (cairo_t *cr)
-{
-    cairo_clip (cr);
-    cairo_paint (cr);
-}
-
-static void clip_alpha (cairo_t *cr)
-{
-    cairo_clip (cr);
-    cairo_paint_with_alpha (cr, .5);
-}
-
-static cairo_time_t
-draw (cairo_t *cr,
-      void (*prepare) (cairo_t *cr),
-      void (*transform) (cairo_t *cr, int width, int height),
-      void (*op) (cairo_t *cr),
-      int width, int height, int loops)
-{
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    prepare (cr);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-    while (loops--) {
-       cairo_save (cr);
-       transform (cr, width, height);
-       path (cr, width, height);
-       op (cr);
-       cairo_restore (cr);
-    }
-
-    cairo_perf_set_thread_aware (cr, TRUE);
-
-    cairo_perf_timer_stop ();
-
-    cairo_restore (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-draw_aligned_aa (cairo_t *cr, int width, int height, int loops)
-{
-    return draw(cr, aa, aligned, cairo_fill,
-               width, height, loops);
-}
-
-static cairo_time_t
-draw_misaligned_aa (cairo_t *cr, int width, int height, int loops)
-{
-    return draw(cr, aa, misaligned, cairo_fill,
-               width, height, loops);
-}
-
-static cairo_time_t
-draw_rotated_aa (cairo_t *cr, int width, int height, int loops)
-{
-    return draw(cr, aa, rotated, cairo_fill,
-               width, height, loops);
-}
-
-static cairo_time_t
-draw_aligned_mono (cairo_t *cr, int width, int height, int loops)
-{
-    return draw(cr, mono, aligned, cairo_fill,
-               width, height, loops);
-}
-
-static cairo_time_t
-draw_misaligned_mono (cairo_t *cr, int width, int height, int loops)
-{
-    return draw(cr, mono, misaligned, cairo_fill,
-               width, height, loops);
-}
-
-static cairo_time_t
-draw_rotated_mono (cairo_t *cr, int width, int height, int loops)
-{
-    return draw(cr, mono, rotated, cairo_fill,
-               width, height, loops);
-}
-
-#define F(name, op,transform,aa) \
-static cairo_time_t \
-draw_##name (cairo_t *cr, int width, int height, int loops) \
-{ return draw(cr, (aa), (transform), (op), width, height, loops); }
-
-F(clip_aligned, clip, aligned, aa)
-F(clip_misaligned, clip, misaligned, aa)
-F(clip_rotated, clip, rotated, aa)
-F(clip_aligned_mono, clip, aligned, mono)
-F(clip_misaligned_mono, clip, misaligned, mono)
-F(clip_rotated_mono, clip, rotated, mono)
-
-F(clip_alpha_aligned, clip_alpha, aligned, aa)
-F(clip_alpha_misaligned, clip_alpha, misaligned, aa)
-F(clip_alpha_rotated, clip_alpha, rotated, aa)
-F(clip_alpha_aligned_mono, clip_alpha, aligned, mono)
-F(clip_alpha_misaligned_mono, clip_alpha, misaligned, mono)
-F(clip_alpha_rotated_mono, clip_alpha, rotated, mono)
-
-cairo_bool_t
-hatching_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "hatching", NULL);
-}
-
-void
-hatching (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "hatching-aligned-aa", draw_aligned_aa, NULL);
-    cairo_perf_run (perf, "hatching-misaligned-aa", draw_misaligned_aa, NULL);
-    cairo_perf_run (perf, "hatching-rotated-aa", draw_rotated_aa, NULL);
-    cairo_perf_run (perf, "hatching-aligned-mono", draw_aligned_mono, NULL);
-    cairo_perf_run (perf, "hatching-misaligned-mono", draw_misaligned_mono, NULL);
-    cairo_perf_run (perf, "hatching-rotated-mono", draw_rotated_mono, NULL);
-
-    cairo_perf_run (perf, "hatching-clip-aligned-aa", draw_clip_aligned, NULL);
-    cairo_perf_run (perf, "hatching-clip-misaligned-aa", draw_clip_misaligned, NULL);
-    cairo_perf_run (perf, "hatching-clip-rotated-aa", draw_clip_rotated, NULL);
-    cairo_perf_run (perf, "hatching-clip-aligned-mono", draw_clip_aligned_mono, NULL);
-    cairo_perf_run (perf, "hatching-clip-misaligned-mono", draw_clip_misaligned_mono, NULL);
-    cairo_perf_run (perf, "hatching-clip-rotated-mono", draw_clip_rotated_mono, NULL);
-
-    cairo_perf_run (perf, "hatching-clip-alpha-aligned-aa", draw_clip_alpha_aligned, NULL);
-    cairo_perf_run (perf, "hatching-clip-alpha-misaligned-aa", draw_clip_alpha_misaligned, NULL);
-    cairo_perf_run (perf, "hatching-clip-alpha-rotated-aa", draw_clip_alpha_rotated, NULL);
-    cairo_perf_run (perf, "hatching-clip-alpha-aligned-mono", draw_clip_alpha_aligned_mono, NULL);
-    cairo_perf_run (perf, "hatching-clip-alpha-misaligned-mono", draw_clip_alpha_misaligned_mono, NULL);
-    cairo_perf_run (perf, "hatching-clip-alpha-rotated-mono", draw_clip_alpha_rotated_mono, NULL);
-}
diff --git a/perf/micro/intersections.c b/perf/micro/intersections.c
deleted file mode 100644 (file)
index c4dded0..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright (c) 2008  M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-#include "cairo-perf.h"
-
-#define NUM_SEGMENTS 256
-
-static unsigned state;
-static double
-uniform_random (double minval, double maxval)
-{
-    static unsigned const poly = 0x9a795537U;
-    unsigned n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_time_t
-draw_random (cairo_t *cr, cairo_fill_rule_t fill_rule,
-            int width, int height, int loops)
-{
-    double x[NUM_SEGMENTS];
-    double y[NUM_SEGMENTS];
-    int i;
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    for (i = 0; i < NUM_SEGMENTS; i++) {
-         x[i] = uniform_random (0, width);
-         y[i] = uniform_random (0, height);
-    }
-
-    state = 0x12345678;
-    cairo_translate (cr, 1, 1);
-    cairo_set_fill_rule (cr, fill_rule);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 0, 0);
-    for (i = 0; i < NUM_SEGMENTS; i++)
-       cairo_line_to (cr, x[i], y[i]);
-    cairo_close_path (cr);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-        cairo_fill_preserve (cr);
-    }
-    cairo_perf_timer_stop ();
-
-    cairo_restore (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-draw_random_curve (cairo_t *cr, cairo_fill_rule_t fill_rule,
-                  int width, int height, int loops)
-{
-    double x[3*NUM_SEGMENTS];
-    double y[3*NUM_SEGMENTS];
-    int i;
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    for (i = 0; i < 3*NUM_SEGMENTS; i++) {
-         x[i] = uniform_random (0, width);
-         y[i] = uniform_random (0, height);
-    }
-
-    state = 0x12345678;
-    cairo_translate (cr, 1, 1);
-    cairo_set_fill_rule (cr, fill_rule);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 0, 0);
-    for (i = 0; i < NUM_SEGMENTS; i++) {
-       cairo_curve_to (cr,
-                       x[3*i+0], y[3*i+0],
-                       x[3*i+1], y[3*i+1],
-                       x[3*i+2], y[3*i+2]);
-    }
-    cairo_close_path (cr);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-        cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_restore (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-random_eo (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_random (cr, CAIRO_FILL_RULE_EVEN_ODD, width, height, loops);
-}
-
-static cairo_time_t
-random_nz (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_random (cr, CAIRO_FILL_RULE_WINDING, width, height, loops);
-}
-
-static cairo_time_t
-random_curve_eo (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_random_curve (cr, CAIRO_FILL_RULE_EVEN_ODD, width, height, loops);
-}
-
-static cairo_time_t
-random_curve_nz (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_random_curve (cr, CAIRO_FILL_RULE_WINDING, width, height, loops);
-}
-
-cairo_bool_t
-intersections_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "intersections", NULL);
-}
-
-void
-intersections (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "intersections-nz-fill", random_nz, NULL);
-    cairo_perf_run (perf, "intersections-eo-fill", random_eo, NULL);
-
-    cairo_perf_run (perf, "intersections-nz-curve-fill", random_curve_nz, NULL);
-    cairo_perf_run (perf, "intersections-eo-curve-fill", random_curve_eo, NULL);
-}
diff --git a/perf/micro/line.c b/perf/micro/line.c
deleted file mode 100644 (file)
index 44dedf2..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-horizontal (cairo_t *cr, int width, int height, int loops)
-{
-    double h = height/2 + .5;
-
-    cairo_move_to (cr, 0, h);
-    cairo_line_to (cr, width, h);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-horizontal_hair (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return horizontal (cr, width, height, loops);
-}
-
-static cairo_time_t
-horizontal_wide (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return horizontal (cr, width, height, loops);
-}
-
-static cairo_time_t
-nearly_horizontal (cairo_t *cr, int width, int height, int loops)
-{
-    double h = height/2;
-
-    cairo_move_to (cr, 0, h);
-    cairo_line_to (cr, width, h+1);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-nearly_horizontal_hair (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return nearly_horizontal (cr, width, height, loops);
-}
-
-static cairo_time_t
-nearly_horizontal_wide (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return nearly_horizontal (cr, width, height, loops);
-}
-
-
-static cairo_time_t
-vertical (cairo_t *cr, int width, int height, int loops)
-{
-    double w = width/2 + .5;
-
-    cairo_move_to (cr, w, 0);
-    cairo_line_to (cr, w, height);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-vertical_hair (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return vertical (cr, width, height, loops);
-}
-
-static cairo_time_t
-vertical_wide (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return vertical (cr, width, height, loops);
-}
-
-static cairo_time_t
-nearly_vertical (cairo_t *cr, int width, int height, int loops)
-{
-    double w = width/2;
-
-    cairo_move_to (cr, w, 0);
-    cairo_line_to (cr, w+1, height);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-nearly_vertical_hair (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return nearly_vertical (cr, width, height, loops);
-}
-
-static cairo_time_t
-nearly_vertical_wide (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return nearly_vertical (cr, width, height, loops);
-}
-
-
-static cairo_time_t
-diagonal (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, width, height);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-diagonal_hair (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return diagonal (cr, width, height, loops);
-}
-
-static cairo_time_t
-diagonal_wide (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return diagonal (cr, width, height, loops);
-}
-
-cairo_bool_t
-line_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "line", NULL);
-}
-
-void
-line (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-
-    cairo_perf_run (perf, "line-hh", horizontal_hair, NULL);
-    cairo_perf_run (perf, "line-hw", horizontal_wide, NULL);
-    cairo_perf_run (perf, "line-nhh", nearly_horizontal_hair, NULL);
-    cairo_perf_run (perf, "line-nhw", nearly_horizontal_wide, NULL);
-
-    cairo_perf_run (perf, "line-vh", vertical_hair, NULL);
-    cairo_perf_run (perf, "line-vw", vertical_wide, NULL);
-    cairo_perf_run (perf, "line-nvh", nearly_vertical_hair, NULL);
-    cairo_perf_run (perf, "line-nvw", nearly_vertical_wide, NULL);
-
-    cairo_perf_run (perf, "line-dh", diagonal_hair, NULL);
-    cairo_perf_run (perf, "line-dw", diagonal_wide, NULL);
-}
diff --git a/perf/micro/long-dashed-lines.c b/perf/micro/long-dashed-lines.c
deleted file mode 100644 (file)
index d7a60d3..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/*
- * Copyright © 2007 Mozilla Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-do_long_dashed_lines (cairo_t *cr, int width, int height, int loops)
-{
-    double dash[2] = { 2.0, 2.0 };
-    int i;
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-    cairo_set_dash (cr, dash, 2, 0.0);
-
-    cairo_new_path (cr);
-    cairo_set_line_width (cr, 1.0);
-
-    for (i = 0; i < height-1; i++) {
-       double y0 = (double) i + 0.5;
-       cairo_move_to (cr, 0.0, y0);
-       cairo_line_to (cr, width, y0);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_restore (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-long_dashed_lines_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "long-dashed-lines", NULL);
-}
-
-void
-long_dashed_lines (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "long-dashed-lines", do_long_dashed_lines, NULL);
-}
diff --git a/perf/micro/long-lines.c b/perf/micro/long-lines.c
deleted file mode 100644 (file)
index 632ed9b..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-/* This test case is designed to illustrate a performance bug in
- * drawing very long lines, where most of the line is out of bounds of
- * the destination surface, (but some portion of the line is
- * visibile). These results are in the "long-lines-uncropped" report.
- *
- * For comparison, this test also renders the visible portions of the
- * same lines, (this is the "long-lines-cropped" report).
- */
-
-typedef enum {
-    LONG_LINES_CROPPED = 0x1,
-    LONG_LINES_ONCE = 0x2,
-} long_lines_crop_t;
-#define NUM_LINES    20
-#define LONG_FACTOR  50.0
-
-static cairo_time_t
-do_long_lines (cairo_t *cr, int width, int height, int loops, long_lines_crop_t crop)
-{
-    int i;
-    double x, y, dx, dy, min_x, min_y, max_x, max_y;
-    double outer_width, outer_height;
-
-    cairo_save (cr);
-
-    cairo_translate (cr, width / 2, height / 2);
-
-    if (crop & LONG_LINES_CROPPED) {
-       outer_width = width;
-       outer_height = height;
-       cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); /* green */
-    } else {
-       outer_width = LONG_FACTOR * width;
-       outer_height = LONG_FACTOR * height;
-       cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); /* red */
-    }
-
-    min_x = x = - outer_width / 2.0;
-    min_y = y = - outer_height / 2.0;
-    max_x = outer_width / 2.0;
-    max_y = outer_height / 2.0;
-    dx = outer_width / NUM_LINES;
-    dy = outer_height / NUM_LINES;
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       for (i = 0; i <= NUM_LINES; i++) {
-           cairo_move_to (cr, 0, 0);
-           cairo_line_to (cr, x, min_y);
-           if ((crop & LONG_LINES_ONCE) == 0)
-               cairo_stroke (cr);
-
-           cairo_move_to (cr, 0, 0);
-           cairo_line_to (cr, x, max_y);
-           if ((crop & LONG_LINES_ONCE) == 0)
-               cairo_stroke (cr);
-
-           cairo_move_to (cr, 0, 0);
-           cairo_line_to (cr, min_x, y);
-           if ((crop & LONG_LINES_ONCE) == 0)
-               cairo_stroke (cr);
-
-           cairo_move_to (cr, 0, 0);
-           cairo_line_to (cr, max_x, y);
-           if ((crop & LONG_LINES_ONCE) == 0)
-               cairo_stroke (cr);
-
-           x += dx;
-           y += dy;
-       }
-       if (crop & LONG_LINES_ONCE)
-           cairo_stroke (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_restore (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-long_lines_uncropped (cairo_t *cr, int width, int height, int loops)
-{
-    return do_long_lines (cr, width, height, loops, 0);
-}
-
-static cairo_time_t
-long_lines_uncropped_once (cairo_t *cr, int width, int height, int loops)
-{
-    return do_long_lines (cr, width, height, loops, LONG_LINES_ONCE);
-}
-
-static cairo_time_t
-long_lines_cropped (cairo_t *cr, int width, int height, int loops)
-{
-    return do_long_lines (cr, width, height, loops, LONG_LINES_CROPPED);
-}
-
-static cairo_time_t
-long_lines_cropped_once (cairo_t *cr, int width, int height, int loops)
-{
-    return do_long_lines (cr, width, height, loops, LONG_LINES_CROPPED | LONG_LINES_ONCE);
-}
-
-cairo_bool_t
-long_lines_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "long-lines", NULL);
-}
-
-void
-long_lines (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "long-lines-uncropped", long_lines_uncropped, NULL);
-    cairo_perf_run (perf, "long-lines-uncropped-once", long_lines_uncropped_once, NULL);
-    cairo_perf_run (perf, "long-lines-cropped", long_lines_cropped, NULL);
-    cairo_perf_run (perf, "long-lines-cropped-once", long_lines_cropped_once, NULL);
-}
diff --git a/perf/micro/many-curves.c b/perf/micro/many-curves.c
deleted file mode 100644 (file)
index acdf202..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_time_t
-do_many_curves_stroked (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    cairo_move_to (cr, uniform_random (0, width), uniform_random (0, height));
-    for (count = 0; count < 1000; count++) {
-       double x1 = uniform_random (0, width);
-       double x2 = uniform_random (0, width);
-       double x3 = uniform_random (0, width);
-       double y1 = uniform_random (0, height);
-       double y2 = uniform_random (0, height);
-       double y3 = uniform_random (0, height);
-       cairo_curve_to (cr, x1, y1, x2, y2, x3, y3);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_many_curves_hair_stroked (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    return do_many_curves_stroked (cr, width, height, loops);
-}
-
-static cairo_time_t
-do_many_curves_wide_stroked (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 5.);
-    return do_many_curves_stroked (cr, width, height, loops);
-}
-
-static cairo_time_t
-do_many_curves_filled (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double x0 = uniform_random (0, width);
-       double x1 = uniform_random (0, width);
-       double x2 = uniform_random (0, width);
-       double x3 = uniform_random (0, width);
-       double xm = uniform_random (0, width);
-       double xn = uniform_random (0, width);
-       double y0 = uniform_random (0, height);
-       double y1 = uniform_random (0, height);
-       double y2 = uniform_random (0, height);
-       double y3 = uniform_random (0, height);
-       double ym = uniform_random (0, height);
-       double yn = uniform_random (0, height);
-       cairo_move_to (cr, xm, ym);
-       cairo_curve_to (cr, x1, y1, x2, y2, xn, yn);
-       cairo_curve_to (cr, x3, y3, x0, y0, xm, ym);
-       cairo_close_path (cr);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-many_curves_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "many-curves", NULL);
-}
-
-void
-many_curves (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-
-    cairo_perf_run (perf, "many-curves-hair-stroked", do_many_curves_hair_stroked, NULL);
-    cairo_perf_run (perf, "many-curves-wide-stroked", do_many_curves_wide_stroked, NULL);
-    cairo_perf_run (perf, "many-curves-filled", do_many_curves_filled, NULL);
-}
diff --git a/perf/micro/many-fills.c b/perf/micro/many-fills.c
deleted file mode 100644 (file)
index 421771d..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-
-/* This is a variant on many strokes where we precompute
- * a simplified stroke-to-path.
- * When we have a real stroke-to-path, it would useful to compare the cost
- * of stroking vs filling the "identical" paths.
- */
-
-#include "cairo-perf.h"
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_time_t
-do_many_fills_ha (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double y = floor (uniform_random (0, height));
-       double x = floor (uniform_random (0, width));
-       cairo_rectangle (cr, x, y, ceil (uniform_random (0, width)) - x, 1);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_many_fills_h (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double y = uniform_random (0, height);
-       double x = uniform_random (0, width);
-       cairo_rectangle (cr, x, y, uniform_random (0, width) - x, 1);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_many_fills_va (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double x = floor (uniform_random (0, width));
-       double y = floor (uniform_random (0, height));
-       cairo_rectangle (cr, x, y, 1, ceil (uniform_random (0, height) - y));
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_many_fills_v (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double x = uniform_random (0, width);
-       double y = uniform_random (0, height);
-       cairo_rectangle (cr, x, y, 1, uniform_random (0, height) - y);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_many_fills (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    /* lots and lots of overlapping stroke-like fills */
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       cairo_save (cr);
-       cairo_translate (cr,
-                        uniform_random (0, width),
-                        uniform_random (0, height));
-       cairo_rotate (cr, uniform_random (-M_PI,M_PI));
-       cairo_rectangle (cr, 0, 0, uniform_random (0, width), 1);
-       cairo_restore (cr);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-many_fills_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "many-fills", NULL);
-}
-
-void
-many_fills (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "many-fills-halign", do_many_fills_ha, NULL);
-    cairo_perf_run (perf, "many-fills-valign", do_many_fills_va, NULL);
-    cairo_perf_run (perf, "many-fills-horizontal", do_many_fills_h, NULL);
-    cairo_perf_run (perf, "many-fills-vertical", do_many_fills_v, NULL);
-    cairo_perf_run (perf, "many-fills-random", do_many_fills, NULL);
-}
diff --git a/perf/micro/many-strokes.c b/perf/micro/many-strokes.c
deleted file mode 100644 (file)
index 1067088..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_time_t
-do_many_strokes_ha (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double h = floor (uniform_random (0, height)) + .5;
-       cairo_move_to (cr, floor (uniform_random (0, width)), h);
-       cairo_line_to (cr, ceil (uniform_random (0, width)), h);
-    }
-
-    cairo_set_line_width (cr, 1.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_many_strokes_h (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double h = uniform_random (0, height);
-       cairo_move_to (cr, uniform_random (0, width), h);
-       cairo_line_to (cr, uniform_random (0, width), h);
-    }
-
-    cairo_set_line_width (cr, 1.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_many_strokes_va (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double v = floor (uniform_random (0, width)) + .5;
-       cairo_move_to (cr, v, floor (uniform_random (0, height)));
-       cairo_line_to (cr, v, ceil (uniform_random (0, height)));
-    }
-
-    cairo_set_line_width (cr, 1.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_many_strokes_v (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double v = uniform_random (0, width);
-       cairo_move_to (cr, v, uniform_random (0, height));
-       cairo_line_to (cr, v, uniform_random (0, height));
-    }
-
-    cairo_set_line_width (cr, 1.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_many_strokes (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    /* lots and lots of overlapping strokes */
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       cairo_line_to (cr,
-                      uniform_random (0, width),
-                      uniform_random (0, height));
-    }
-
-    cairo_set_line_width (cr, 1.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-many_strokes_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "many-strokes", NULL);
-}
-
-void
-many_strokes (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "many-strokes-halign", do_many_strokes_ha, NULL);
-    cairo_perf_run (perf, "many-strokes-valign", do_many_strokes_va, NULL);
-    cairo_perf_run (perf, "many-strokes-horizontal", do_many_strokes_h, NULL);
-    cairo_perf_run (perf, "many-strokes-vertical", do_many_strokes_v, NULL);
-    cairo_perf_run (perf, "many-strokes-random", do_many_strokes, NULL);
-}
diff --git a/perf/micro/mask.c b/perf/micro/mask.c
deleted file mode 100644 (file)
index f3215f3..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-do_mask_solid (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_pattern_t *mask;
-
-    mask = cairo_pattern_create_rgba (0, 0, 0, .5);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_mask (cr, mask);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_pattern_destroy (mask);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_surface_t *
-init_surface (cairo_surface_t *surface, int width, int height)
-{
-    cairo_t *cr;
-
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgb (cr, 0, 0, 0); /* back */
-    cairo_paint (cr);
-
-    cairo_set_source_rgba (cr, 1, 1, 1, 0.5); /* 50% */
-    cairo_new_path (cr);
-    cairo_rectangle (cr, 0, 0, width/2.0, height/2.0);
-    cairo_rectangle (cr, width/2.0, height/2.0, width/2.0, height/2.0);
-    cairo_fill (cr);
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_time_t
-do_mask_image (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *mask;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
-    mask = cairo_pattern_create_for_surface (init_surface (surface,
-                                                          width,
-                                                          height));
-    cairo_surface_destroy (surface);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_mask (cr, mask);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_pattern_destroy (mask);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_mask_image_half (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *mask;
-    cairo_matrix_t matrix;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
-    mask = cairo_pattern_create_for_surface (init_surface (surface,
-                                                          width,
-                                                          height));
-    cairo_surface_destroy (surface);
-    cairo_matrix_init_scale (&matrix, .5, .5);
-    cairo_pattern_set_matrix (mask, &matrix);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_mask (cr, mask);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_pattern_destroy (mask);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_mask_image_double (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *mask;
-    cairo_matrix_t matrix;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
-    mask = cairo_pattern_create_for_surface (init_surface (surface,
-                                                          width,
-                                                          height));
-    cairo_surface_destroy (surface);
-    cairo_matrix_init_scale (&matrix, 2., 2.);
-    cairo_pattern_set_matrix (mask, &matrix);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_mask (cr, mask);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_pattern_destroy (mask);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_mask_similar (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *mask;
-
-    surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                           CAIRO_CONTENT_ALPHA, width, height);
-    mask = cairo_pattern_create_for_surface (init_surface (surface,
-                                                          width,
-                                                          height));
-    cairo_surface_destroy (surface);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_mask (cr, mask);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_pattern_destroy (mask);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_mask_similar_half (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *mask;
-    cairo_matrix_t matrix;
-
-    surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                           CAIRO_CONTENT_ALPHA, width, height);
-    mask = cairo_pattern_create_for_surface (init_surface (surface,
-                                                          width,
-                                                          height));
-    cairo_surface_destroy (surface);
-    cairo_matrix_init_scale (&matrix, .5, .5);
-    cairo_pattern_set_matrix (mask, &matrix);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_mask (cr, mask);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_pattern_destroy (mask);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_mask_similar_double (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *mask;
-    cairo_matrix_t matrix;
-
-    surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                           CAIRO_CONTENT_ALPHA, width, height);
-    mask = cairo_pattern_create_for_surface (init_surface (surface,
-                                                          width,
-                                                          height));
-    cairo_surface_destroy (surface);
-    cairo_matrix_init_scale (&matrix, 2., 2.);
-    cairo_pattern_set_matrix (mask, &matrix);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_mask (cr, mask);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_pattern_destroy (mask);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_mask_linear (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_pattern_t *mask;
-
-    mask = cairo_pattern_create_linear (0.0, 0.0, width, height);
-    cairo_pattern_add_color_stop_rgba (mask, 0.0, 0, 0, 0, 0.5); /*  50% */
-    cairo_pattern_add_color_stop_rgba (mask, 0.0, 0, 0, 0, 1.0); /* 100% */
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_mask (cr, mask);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_pattern_destroy (mask);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_mask_radial (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_pattern_t *mask;
-
-    mask = cairo_pattern_create_radial (width/2.0, height/2.0, 0.0,
-                                       width/2.0, height/2.0, width/2.0);
-    cairo_pattern_add_color_stop_rgba (mask, 0.0, 0, 0, 0, 0.5); /*  50% */
-    cairo_pattern_add_color_stop_rgba (mask, 0.0, 0, 0, 0, 1.0); /* 100% */
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_mask (cr, mask);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_pattern_destroy (mask);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-mask_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "mask", NULL);
-}
-
-void
-mask (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    if (! cairo_perf_can_run (perf, "mask", NULL))
-       return;
-
-    cairo_perf_cover_sources_and_operators (perf, "mask-solid",
-                                           do_mask_solid, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "mask-image",
-                                           do_mask_image, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "mask-image-half",
-                                           do_mask_image_half, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "mask-image-double",
-                                           do_mask_image_double, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "mask-similar",
-                                           do_mask_similar, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "mask-similar-half",
-                                           do_mask_similar_half, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "mask-similar-double",
-                                           do_mask_similar_double, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "mask-linear",
-                                           do_mask_linear, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "mask-radial",
-                                           do_mask_radial, NULL);
-}
diff --git a/perf/micro/mosaic.c b/perf/micro/mosaic.c
deleted file mode 100644 (file)
index 7da7dbf..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright © 2006 Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-#include "cairo-perf.h"
-
-/* Options passed in flags to mosaic_perform(): */
-#define MOSAIC_FILL 1          /* do rasterise */
-#define MOSAIC_TESSELLATE 0    /* just tessellate */
-#define MOSAIC_CURVE_TO 2      /* use curve bounded regions */
-#define MOSAIC_LINE_TO 0       /* use line bounded regions */
-
-struct mosaic_region {
-    unsigned rgb;              /* colour of this region in 0xRRGGBB format */
-    unsigned ncurves;          /* number of boundary curves. */
-};
-
-struct mosaic_region_iter {
-    int do_curves;
-    struct mosaic_region const *region;
-    double const *points;
-};
-
-#include "mosaic.h"
-
-static void
-mosaic_region_iter_init (struct mosaic_region_iter *iter, int do_curves)
-{
-    iter->region = mosaic_regions;
-    iter->points = mosaic_curve_points;
-    iter->do_curves = do_curves;
-}
-
-/* Create the next closed region as a path. */
-static int
-mosaic_next_path (cairo_t *cr, struct mosaic_region_iter *iter)
-{
-    double const *points = iter->points;
-    unsigned i;
-    unsigned ncurves = iter->region->ncurves;
-    if (0 == ncurves) {
-       return 0;
-    }
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, points[0], points[1]);
-    points += 2;
-    for (i=0; i < ncurves; i++, points += 6) {
-       if (iter->do_curves) {
-           cairo_curve_to (cr,
-                           points[0], points[1],
-                           points[2], points[3],
-                           points[4], points[5]);
-       }
-       else {
-           cairo_line_to (cr,
-                           points[4], points[5]);
-       }
-    }
-    cairo_close_path (cr);
-    {
-       unsigned rgb = iter->region->rgb;
-       double r = ((rgb >> 16) & 255) / 255.0;
-       double g = ((rgb >>  8) & 255) / 255.0;
-       double b = ((rgb >>  0) & 255) / 255.0;
-       cairo_set_source_rgb (cr, r, g, b);
-    }
-
-    iter->points = iter->points + 2*(1 + 3*iter->region->ncurves);
-    iter->region++;
-    return 1;
-}
-
-static cairo_time_t
-mosaic_perform(cairo_t *cr, unsigned flags, int width, int height, int loops)
-{
-    struct mosaic_region_iter iter;
-
-    /* Scale to fit the window.*/
-    double minx = -40.7;
-    double maxx = 955.1;
-    double miny = -88.4;
-    double maxy = 884.5;
-
-    cairo_identity_matrix (cr);
-
-    if (flags & MOSAIC_FILL) {
-       cairo_set_source_rgb (cr, 1, 1, 1);
-       cairo_rectangle (cr, 0, 0, width, height);
-       cairo_fill (cr);
-    }
-
-    cairo_scale (cr, width / (maxx - minx) , height / (maxy - miny));
-    cairo_translate (cr, -minx, -miny);
-
-    /* Iterate over all closed regions in the mosaic filling or
-     * tessellating them as dictated by the flags.  */
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       mosaic_region_iter_init (&iter, flags & MOSAIC_CURVE_TO);
-       while (mosaic_next_path (cr, &iter)) {
-           if (flags & MOSAIC_FILL) {
-               cairo_fill (cr);
-           }
-           else {
-               double x, y;
-               cairo_get_current_point (cr, &x, &y);
-               cairo_in_fill (cr, x, y);
-           }
-       }
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-mosaic_fill_curves (cairo_t *cr, int width, int height, int loops)
-{
-    return mosaic_perform (cr, MOSAIC_FILL | MOSAIC_CURVE_TO, width, height, loops);
-}
-
-static cairo_time_t
-mosaic_fill_lines (cairo_t *cr, int width, int height, int loops)
-{
-    return mosaic_perform (cr, MOSAIC_FILL | MOSAIC_LINE_TO, width, height, loops);
-}
-
-static cairo_time_t
-mosaic_tessellate_lines (cairo_t *cr, int width, int height, int loops)
-{
-    return mosaic_perform (cr, MOSAIC_TESSELLATE | MOSAIC_LINE_TO, width, height, loops);
-}
-
-static cairo_time_t
-mosaic_tessellate_curves (cairo_t *cr, int width, int height, int loops)
-{
-    return mosaic_perform (cr, MOSAIC_TESSELLATE | MOSAIC_CURVE_TO, width, height, loops);
-}
-
-cairo_bool_t
-mosaic_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "mosaic", NULL);
-}
-
-void
-mosaic (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "mosaic-fill-curves", mosaic_fill_curves, NULL);
-    cairo_perf_run (perf, "mosaic-fill-lines", mosaic_fill_lines, NULL);
-    cairo_perf_run (perf, "mosaic-tessellate-curves", mosaic_tessellate_curves, NULL);
-    cairo_perf_run (perf, "mosaic-tessellate-lines", mosaic_tessellate_lines, NULL);
-}
diff --git a/perf/micro/mosaic.h b/perf/micro/mosaic.h
deleted file mode 100644 (file)
index e106864..0000000
+++ /dev/null
@@ -1,4387 +0,0 @@
-/* Synthesised data. */
-static struct mosaic_region const mosaic_regions[] = {
-{0xef55b4,7},{0xf93bc6,11},{0xf28085,5},{0x92acbc,7},
-{0x85c3b1,7},{0xc3bc79,5},{0xd09d8d,5},{0xa788cb,8},
-{0xeff90f,14},{0x976ef2,4},{0xf230d8,5},{0xe226ef,6},
-{0xf49571,9},{0xcb6cc1,4},{0xc8af80,5},{0xf71ce7,8},
-{0xd38b9a,6},{0xf70ff2,8},{0xec907e,4},{0xf44abc,5},
-{0xf42bd8,7},{0xcbbc71,5},{0xf7a45f,5},{0xb15aec,3},
-{0xfc6995,9},{0x42bef9,7},{0x83afc6,5},{0xbe9f9a,6},
-{0x95ef76,6},{0xfcc33b,20},{0xbc5ae2,5},{0x69f997,7},
-{0x9f69f2,7},{0x79bec3,7},{0xda3de2,6},{0x76dda7,6},
-{0xc888aa,7},{0xd871b1,9},{0xda29f7,14},{0xe03dda,9},
-{0xec29e2,5},{0xd82bf4,6},{0x8b8de2,6},{0xf7af52,3},
-{0x9f69f2,7},{0xf46c9a,9},{0xf74fb1,5},{0x21eaef,9},
-{0xea769a,8},{0x0feffc,5},{0xdada45,8},{0xafce7b,6},
-{0x48bef4,6},{0x9a79e5,3},{0xe2fc1c,7},{0xc3be76,9},
-{0xb9c37e,5},{0xc6b183,10},{0xa2acac,3},{0xc395a2,4},
-{0xbc88b4,7},{0xeaf41c,5},{0xea24ea,4},{0xd038f2,5},
-{0x5ae2bc,9},{0xdac15f,8},{0x5fe5b4,6},{0xce5ad3,15},
-{0xf419ec,4},{0xa7bc97,11},{0xea4ac3,6},{0xd02ef9,5},
-{0xb995aa,5},{0xef808b,6},{0xe22bea,34},{0xe24fc6,4},
-{0xef12f9,7},{0x7b9de0,8},{0x85ec85,4},{0xfc7e80,12},
-{0x9a85d8,5},{0xfc00fc,7},{0x9d90ce,5},{0xf4be45,9},
-{0xe5e52e,3},{0xfc0cef,7},{0xd83be5,8},{0x4dc6e5,5},
-{0xacda73,9},{0x4fc8e0,6},{0xbc88b6,4},{0xb4bc8b,6},
-{0xec45c6,8},{0x71d3b6,4},{0xe73dd5,5},{0x21fcda,4},
-{0xe055c6,9},{0x3becd0,8},{0x57e0c1,5},{0x71bec8,9},
-{0x8be28b,4},{0x4dddd0,9},{0xda9a85,6},{0xaa6ce2,4},
-{0x5ad5cb,9},{0x67f49d,12},{0xfc07f7,9},{0x42c8ec,16},
-{0xefc148,4},{0xda6eb1,7},{0x55bee7,4},{0xd33bea,6},
-{0x809fd8,14},{0xd82ef2,4},{0x21ddfc,5},{0x83e097,7},
-{0x8bcba2,9},{0xd864bc,8},{0xa7d87b,6},{0xc3a78d,6},
-{0xb9a79a,8},{0xd59590,3},{0xfc0af2,6},{0xe52be7,7},
-{0xce52d8,5},{0xe22bea,4},{0xe719f7,5},{0x909fcb,3},
-{0xa7da76,6},{0xdd38e5,4},{0xfc55aa,6},{0x19f2ef,6},
-{0x83da9d,5},{0x9fc892,6},{0xe51ef4,9},{0xce3dec,5},
-{0xea3dd0,7},{0x4ad3dd,6},{0x6ea2e7,5},{0xf92bd3,4},
-{0xc34aea,8},{0x2eddef,4},{0xe7799a,8},{0xe5799a,11},
-{0xe224f2,3},{0xf90af7,6},{0x61a2f4,6},{0xb67ec6,13},
-{0xe75cb4,7},{0xfcb945,16},{0xd3b173,7},{0xfc00fc,6},
-{0xd5ef33,5},{0x699df4,9},{0xf707f9,4},{0xdaea33,6},
-{0xe2dd38,3},{0xf2d036,5},{0xf248c1,6},{0xeaf21c,5},
-{0xec40cb,7},{0xf24abc,5},{0xf42bd8,4},{0xa757f9,5},
-{0xd02ef9,6},{0xfc0cf2,7},{0xb16cda,5},{0xea36d8,8},
-{0xd036f4,7},{0xb648fc,3},{0xea4dc1,4},{0x64c8cb,7},
-{0xfc05f7,3},{0xfc00fc,4},{0xf4a75f,6},{0xc85ad5,5},
-{0xd873ac,5},{0xd5a77b,11},{0xe7c84a,4},{0xec19f4,7},
-{0xc864ce,7},{0xcece5c,5},{0xe08b8d,5},{0xd84dd3,3},
-{0x07f9f7,9},{0x5cefac,3},{0xfc02f9,4},{0xd048e0,8},
-{0xef55b6,4},{0xa269ec,7},{0xec12f9,3},{0xd380a4,11},
-{0x5fcbd0,6},{0x90c1a7,5},{0x95dd85,5},{0xceda4f,9},
-{0x4fb9f2,14},{0xb65aea,7},{0xea838d,5},{0xf917ea,4},
-{0xc833fc,9},{0xe252c3,9},{0xef0ffc,7},{0x1cf2ec,9},
-{0x9f6cef,4},{0xf73dc6,12},{0x90b6b4,5},{0xb44ff7,7},
-{0xea2be2,12},{0xd02efc,17},{0xa276e2,4},{0x79c1c1,3},
-{0xc855dd,9},{0xb1d571,8},{0xb645fc,6},{0xd03bef,6},
-{0x42eccb,9},{0xea67aa,5},{0x9079ef,6},{0x9de773,7},
-{0xe55abc,6},{0xf421e5,3},{0x5cf9a4,6},{0xc373c1,5},
-{0x5fe2b6,4},{0xea24ec,6},{0x9af967,4},{0xf7be45,5},
-{0xd333f4,5},{0xc6d061,8},{0xb96cd3,8},{0xda64b9,6},
-{0xe79779,4},{0xac67e7,6},{0xcb67c8,4},{0xa45cf7,3},
-{0xd3859f,3},{0xd857c8,4},{0x42c1f7,8},{0xaf61e7,6},
-{0xea14fc,6},{0xda33ea,10},{0x5af2af,5},{0xbe40f9,3},
-{0x9de773,3},{0xe72be5,4},{0x4ae7c6,5},{0xaa88c8,8},
-{0x36f9cb,3},{0xc1a790,8},{0xf905fc,5},{0xbcaa95,6},
-{0x839dda,3},{0xfc00fc,6},{0xb6d86c,3},{0xdd40da,6},
-{0xb46cda,7},{0x839fd5,4},{0xc167d3,13},{0xf20ff7,9},
-{0xe024f4,9},{0xf41ee5,4},{0x909ad0,10},{0xb1d376,8},
-{0xce2efc,5},{0x29d5f9,7},{0xd0b96e,6},{0xdd69b4,5},
-{0xfc05f7,5},{0xdd26f7,4},{0xea1eef,6},{0xb64df7,9},
-{0x21e5f2,3},{0x4fd8d0,6},{0xd345e0,7},{0xfc00fc,3},
-{0xe569ac,5},{0xecb655,11},{0xfc5aa2,9},{0xb4d571,7},
-{0xaa57f7,6},{0xfc00fc,7},{0xe729ea,10},{0xea24ea,11},
-{0xb14df9,5},{0xf707fc,7},{0x5cd8c3,5},{0xea17f9,9},
-{0xc3d364,6},{0xa77ed3,4},{0x9569f9,8},{0x0ff4f4,4},
-{0xbc9aa4,7},{0xc140f7,10},{0xf705fc,8},{0xb44df9,4},
-{0xa479dd,5},{0xf705fc,5},{0xce8d9d,5},{0xf905f9,5},
-{0xdd2bef,7},{0xea14f9,5},{0xddbc61,5},{0xc13dfc,8},
-{0x79c8b6,10},{0xf79a67,6},{0xb4a79f,12},{0x97a7bc,7},
-{0xb9c17e,4},{0xf430d5,3},{0x2ee0ea,7},{0xf919e7,4},
-{0xeada33,9},{0xa2da7e,7},{0x8bec80,6},{0xf412f4,5},
-{0xa767ec,3},{0xd824fc,7},{0xe224f2,3},{0xfc07f7,4},
-{0xfc00fc,3},{0xe55cb6,8},{0xf9768b,7},{0xe5b45f,3},
-{0xd5978b,4},{0xf917e7,5},{0xf70ff4,7},{0x95e283,6},
-{0xb4b98d,5},{0xc83bf4,8},{0x9f88d3,7},{0xa473e0,9},
-{0x9569fc,10},{0x926cf9,7},{0xef14f4,7},{0xf7679a,4},
-{0xaa80ce,9},{0x45f9b9,5},{0xb4a2a2,10},{0xac88c6,5},
-{0xe75ab6,6},{0xa2fc5a,3},{0xc65cd8,7},{0x64e0b6,5},
-{0xfc6992,7},{0xf717ec,4},{0xf438ce,10},{0xf755ac,4},
-{0xf7aa57,6},{0xb9b688,3},{0xcb4de2,4},{0xf9f70a,9},
-{0x92d392,8},{0xef2be0,7},{0x92a7be,4},{0xa276e2,4},
-{0xc34fe5,5},{0xd5c164,9},{0xf219ec,4},{0xef5aaf,8},
-{0xa7c68d,6},{0xd369bc,7},{0xf912ef,4},{0xb9b48b,6},
-{0x3bc6f9,6},{0xe54ac8,5},{0xf71ce7,9},{0xbc4def,8},
-{0xe271a7,3},{0xcbc16e,5},{0x3dfcc1,3},{0x97bea2,7},
-{0xaaa4aa,13},{0x73ef95,5},{0xf74fb1,4},{0xc148ef,17},
-{0xfc26d8,4},{0xfc02fc,6},{0xb1da6c,6},{0xd5d84d,7},
-{0xf96c95,5},{0xf90fef,3},{0xea7b92,7},{0xbc4def,4},
-{0xf2a264,8},{0x40dadd,12},{0xf214f4,4},{0x38c3fc,3},
-{0xf705fc,7},{0xa29db9,3},{0xaaf25f,4},{0xdd9a83,12},
-{0xc188b1,6},{0xa27bda,9},{0x36dde5,4},{0x85bcb9,7},
-{0xfc00fc,5},{0xe76ca4,4},{0x95b6ac,6},{0xb6d071,7},
-{0xc857d8,3},{0xfc2bd3,4},{0xfc5aa4,4},{0xf417ec,5},
-{0xb471d3,7},{0x92b1b6,4},{0x6c90fc,7},{0x5abce2,7},
-{0xcb55d8,3},{0xce30f9,5},{0xea7b95,3},{0xec17f7,6},
-{0xf70ff4,3},{0xaa73dd,9},{0x9d69f4,3},{0xb457ef,6},
-{0xf236d0,6},{0x64e0b4,7},{0xddcb52,4},{0xd0d355,7},
-{0x5fd5c3,6},{0xf42bd8,12},{0x55e2c1,4},{0xb1b492,4},
-{0xdd4dd0,4},{0xbc88b6,3},{0xea21ec,4},{0xf7649d,8},
-{0xb16cda,3},{0x9fa4b6,8},{0xea17f9,4},{0x1efce0,3},
-{0xbec179,7},{0xbeb18b,6},{0x9da4b6,6},{0x48b4fc,4},
-{0x7bfc83,14},{0xacf25c,10},{0xe0d842,4},{0xf9768b,5},
-{0xf90ff2,7},{0xfc00fc,8},{0xf20ff7,5},{0xec7e90,7},
-{0xbc42f9,3},{0xf712ef,5},{0xf902fc,6},{0xf77e83,7},
-{0xb1b197,5},{0xda6cb4,7},{0xf4a264,7},{0xa78dc6,6},
-{0xf21cea,4},{0xa48dc8,6},{0x6997f9,5},{0x67d3be,5},
-{0x4ad0e0,6},{0xcbbe6e,6},{0xcb76b6,10},{0xd030f9,6},
-{0xa29fb6,6},{0xda24fc,5},{0xf4bc48,3},{0xd0909a,6},
-{0xf252b6,8},{0x6cb4da,4},{0xdd40dd,11},{0x8b71fc,9},
-{0x80c8af,7},{0xb15fe7,4},{0x79ef90,6},{0x71b1d8,7},
-{0x61a4f2,9},{0x42dadd,6},{0xaf4ffc,3},{0x9a79e7,5},
-{0xea17f7,6},{0xc89f92,4},{0xb6d869,12},{0xda2eef,4},
-{0xf72ed5,6},{0xe057c3,6},{0xb6b190,6},{0xda48d5,5},
-{0xe0a476,3},{0xfce01c,6},{0x9dbe9f,13},{0xafce7e,4},
-{0xf905fc,6},{0xfc0cef,5},{0x9facaf,6},{0xb6af95,6},
-{0x52ced8,6},{0xd373b4,3},{0xce5cd0,8},{0xe752c1,5},
-{0xf7ac55,8},{0x7bbec1,6},{0xb4d571,4},{0xf90af7,5},
-{0xc833fc,7},{0xbe4dec,8},{0x92beaa,8},{0xfcb945,7},
-{0xc1d067,3},{0xdd45d8,7},{0xceb971,3},{0xf44ab9,4},
-{0xbeac8d,4},{0xf2af5a,15},{0xe05ac1,11},{0xd38b9d,4},
-{0xec0ffc,4},{0x80ec8d,7},{0xd0af7b,6},{0xef5cac,5},
-{0xdaa776,4},{0xd052d8,5},{0xb461e5,8},{0xef8388,7},
-{0xbea297,8},{0xce83a7,5},{0xda2ef2,3},{0x73b6ce,5},
-{0x83ec8b,9},{0xc840f2,7},{0xfc4faf,8},{0xfc14e7,4},
-{0xe742d0,9},{0x52aff7,4},{0xf214f4,4},{0x26f7da,5},
-{0xf2b94d,6},{0xe02eea,6},{0x76fc85,3},{0x858de7,4},
-{0xbc97a4,6},{0xd8aa79,4},{0x9d73ea,4},{0xdda279,5},
-{0xafc385,7},{0x33dde7,6},{0x64acea,8},{0xacce80,7},
-{0xef26e2,7},{0xb957e7,4},{0xdad548,4},{0xaf57f4,5},
-{0x9f73e5,3},{0xeae02e,7},{0xf70af7,8},{0xfc00fc,4},
-{0xea6ca4,6},{0x8885ec,3},{0xe23dda,4},{0xb461e5,10},
-{0xdd928b,6},{0x76cbb6,7},{0xfc00fc,5},{0xce8d9d,8},
-{0xafb692,12},{0xe79083,7},{0xfc0af2,3},{0xf926d8,8},
-{0xe219fc,5},{0xe7bc55,5},{0xcebc6e,3},{0xda73aa,4},
-{0xfc00fc,4},{0x52dace,5},{0xbcd864,6},{0x67e7ac,4},
-{0x33f9cb,3},{0x8bafc1,11},{0xd871af,6},{0xe78390,10},
-{0xb688bc,8},{0x5addc1,6},{0xf2d036,4},{0xf70ff2,9},
-{0xf4ea19,9},{0xfc02f9,6},{0x839fd8,3},{0xdd4dce,5},
-{0xec3dce,6},{0xcea783,6},{0xcbe745,5},{0xc1b483,7},
-{0x799fe0,5},{0xd340e7,7},{0x29ddf2,3},{0x73daac,6},
-{0xea33da,5},{0xe224f2,3},{0xd34fd5,5},{0xe245d3,8},
-{0xfc1edd,10},{0x3bf2cb,4},{0xdd9f7e,26},{0xe02eec,5},
-{0xf47195,4},{0xa461f4,5},{0x3ddae0,3},{0xaf5fea,6},
-{0xbccb73,6},{0xea26ea,8},{0xd82bf7,6},{0xac6ce0,7},
-{0xe524ef,4},{0xb6da69,6},{0xf224e2,5},{0xb95ce5,7},
-{0x73a4e0,7},{0xa4e076,7},{0xfc02f9,8},{0xec1eec,4},
-{0xf7da29,6},{0xc369ce,6},{0xd5c65c,9},{0xe51ef4,4},
-{0xf2a264,4},{0x809ddd,5},{0xd045e2,7},{0xaac888,6},
-{0xb44af9,3},{0xd84ad8,7},{0xf4ef14,5},{0x3bf7c8,5},
-{0xe730e0,4},{0x97b6ac,7},{0x8bda95,5},{0x88ec83,8},
-{0xece529,8},{0x9a80dd,10},{0xf412f4,7},{0x36efd5,6},
-{0xf95ca4,9},{0xd838e7,6},{0x9a69f7,7},{0xf730d3,4},
-{0xd526fc,5},{0x9f76e2,6},{0xe28395,8},{0xecaa61,6},
-{0x4ff4b4,7},{0xd079af,7},{0xa469ea,10},{0xfc21da,7},
-{0xb471d5,6},{0x7b88f7,4},{0xfc6797,4},{0x9daab4,5},
-{0x29f2dd,7},{0x8388ec,7},{0x4df9b1,4},{0xeaf21e,5},
-{0xf4c340,10},{0xf212f7,3},{0xf407fc,5},{0x4fb9ef,9},
-{0xd3b471,6},{0xef4dbe,12},{0x4af4bc,7},{0xe224f2,6},
-{0x36d0f2,8},{0xf707fc,4},{0xfc8d71,9},{0x95bea4,6},
-{0x90ef7b,4},{0x5adac6,5},{0x97b9a7,4},{0xc3c671,6},
-{0xfc12ec,5},{0xea1ef2,5},{0x8dd09d,4},{0xd82bf7,7},
-{0xb18dbc,7},{0xbc64da,6},{0xf28d7b,4},{0xef19ef,5},
-{0xc1e555,6},{0xfc3bc3,6},{0x9f88d3,5},{0xc3ec48,9},
-{0xc8979a,5},{0x5cc6d8,4},{0xf78080,6},{0xb17bcb,8},
-{0xea12fc,6},{0xc195a2,7},{0xef33d8,3},{0xa783ce,3},
-{0xf40af9,5},{0xa288d0,6},{0xf248be,4},{0x14e7fc,5},
-{0x83d3a4,8},{0xb4cb79,6},{0xbc7ebe,3},{0xfc8873,6},
-{0xe038e0,6},{0xc3ef48,6},{0xa25afc,10},{0xc1a792,6},
-{0x8d90dd,9},{0xc1be7b,5},{0x8bec80,5},{0xa4ef64,5},
-{0x38f7c8,11},{0xaf6eda,4},{0xd073b4,5},{0x79ceb4,7},
-{0xd5e540,6},{0xfc0fec,5},{0xf917ea,7},{0x64c8cb,4},
-{0x69e7a7,6},{0xa77ed3,5},{0xe52be7,6},{0x5aaaf4,7},
-{0xcb85a7,5},{0x8392e2,4},{0x5cb4ea,6},{0xe729e7,6},
-{0xc873bc,5},{0xeabc52,7},{0xf438ce,7},{0xea48c8,5},
-{0xef17f4,4},{0xfc00fc,6},{0xf97b85,14},{0x67ace7,3},
-{0xf452b1,7},{0xe2e038,4},{0xa4a7af,5},{0xddb469,3},
-{0xf21cec,7},{0x7bbec1,3},{0xda38e5,8},{0xc6a292,9},
-{0x6ecebc,9},{0x8dda90,4},{0xf921e0,8},{0xc88da4,5},
-{0x92aabc,4},{0x9a9dc3,5},{0x8dd895,4},{0x64d3c3,9},
-{0xa2f95f,7},{0xdd36e5,8},{0x83e790,11},{0xef26e2,5},
-{0xef55b4,9},{0x5fc3d8,6},{0xfc57a4,7},{0x9785dd,5},
-{0x809ddd,4},{0xc66cc8,8},{0xf236d3,5},{0xd338ef,6},
-{0xd8839f,4},{0xef30d8,3},{0x9a9ac6,5},{0xfc05f9,11},
-{0x958bda,11},{0xf902fc,8},{0xbe42f9,4},{0xbce557,6},
-{0xef4fb9,6},{0xf9af52,5},{0x97d38d,5},{0xf902fc,7},
-{0xf4a261,4},{0xd88897,7},{0x92e77e,7},{0x6c9df2,6},
-{0xce85a4,4},{0x9ae07e,8},{0xb1f255,8},{0xc6929f,6},
-{0xf2af5a,10},{0xe2977e,5},{0xe5cb4a,5},{0xfc14e7,3},
-{0xc14aef,3},{0xaff257,3},{0xe21cf9,11},{0xd05ccb,5},
-{0xf2ec1c,8},{0xb4b98b,9},{0xc183b6,3},{0xb455f2,7},
-{0x83aace,4},{0xe51cf9,4},{0xdd4fce,4},{0xb47ec8,3},
-{0x92da8b,4},{0xecb952,4},{0xf70af7,6},{0x7bbcc1,6},
-{0xf40cf9,5},{0xe2ce48,5},{0xf7b14f,5},{0xdd40da,4},
-{0x4fb9f2,7},{0x6eb1da,5},{0x9d90ce,6},{0xcb55d8,5},
-{0xd02efc,8},{0xd36eb9,6},{0xfc0cef,5},{0xe071aa,9},
-{0xe7ac67,3},{0xf4f40f,6},{0xe267af,4},{0xc3da5c,5},
-{0xb945fc,4},{0xeada33,6},{0x7197f2,7},{0xfc00fc,8},
-{0xd09d8d,5},{0x6e9fea,8},{0xd3a77e,4},{0xaa5ff2,6},
-{0xe269ac,5},{0xf426e0,6},{0xfc00fc,5},{0xec6ca2,10},
-{0xc638fc,7},{0xe54fc6,5},{0x5ac6da,3},{0xce67c6,6},
-{0xbe42f9,5},{0xce38f2,5},{0xbe5ae2,3},{0xd3ec38,8},
-{0x8b76f7,8},{0xb180c8,4},{0xd538ec,4},{0xddef2b,9},
-{0xf9c838,5},{0xf457ac,4},{0xf95aa7,7},{0xaf69e0,9},
-{0x67efa2,5},{0xa280d8,4},{0xa7d57b,7},{0xcbaf7e,4},
-{0x837bf9,4},{0xddc15c,6},{0xe221f4,3},{0xc6b480,5},
-{0xbc90af,10},{0x4dd3da,4},{0xbcb983,4},{0xe77997,7},
-{0xe05fb9,9},{0xc1b980,8},{0xdd55c6,7},{0xaf97b1,9},
-{0xec838b,4},{0xc39d9a,9},{0x6c97f7,5},{0xf7b44f,3},
-{0xb69fa4,7},{0x90ea7e,7},{0xe067b1,5},{0xd5cb5a,4},
-{0xc19a9f,8},{0xac67e7,8},{0xcee745,4},{0xf436d0,4},
-{0x73b1d5,7},{0xd3d84f,5},{0xdd42d8,5},{0xea907e,6},
-{0xc83bf4,7},{0xd84fd3,6},{0xe28890,3},{0x38e2e0,8},
-{0xec67a7,6},{0xcbc16e,8},{0x4ab1fc,7},{0x92d590,3},
-{0xaad876,4},{0xb683c1,4},{0xaa55f9,5},{0xea24ea,6},
-{0xf90fef,6},{0xf738c8,3},{0xcb5ad5,7},{0xec21ec,5},
-{0xce61c8,3},{0xa76ce7,3},{0xf41ee5,7},{0xcebe6c,3},
-{0x57dac6,9},{0xf46e97,3},{0x8be08d,7},{0xc148ef,9},
-{0xf926da,8},{0xe029ef,6},{0xfc00fc,5},{0x3dcbf2,4},
-{0xef0ffc,5},{0x95b6ac,9},{0x7be59a,5},{0xda2ef2,8},
-{0xda30ef,5},{0xfc24d8,3},{0x73d3b4,3},{0xddf229,4},
-{0x8883ef,5},{0x5aefaf,6},{0x9797cb,6},{0xcbc16c,5},
-{0xef19f2,5},{0xd3bc6c,3},{0xda5cc3,8},{0x52f9ac,7},
-{0xa7c888,4},{0x69d8b6,7},{0xbc45f7,7},{0xfc02fc,4},
-{0xb4b195,6},{0xe58d85,4},{0x9776ea,6},{0xf255b1,6},
-{0x76dda7,3},{0xe55ab9,8},{0xe230e7,5},{0x3bd0ec,5},
-{0xe219fc,6},{0xcbac83,5},{0xe548ce,7},{0xdd5cbe,3},
-{0xf412f4,5},{0xf9738d,9},{0xdd40da,4},{0x90c6a2,10},
-{0xe038e2,4},{0x6eddaf,8},{0xf23dcb,12},{0xec4fbc,6},
-{0xc8d35c,6},{0xf238d0,6},{0x90cb9f,6},{0xa46ee5,5},
-{0xaf8bbe,5},{0xc1a495,5},{0xc679b9,4},{0xec29e2,6},
-{0xf9649d,6},{0xf924da,6},{0xe224f2,5},{0x8d71f9,7},
-{0xf2cb3d,5},{0xb6cb79,4},{0xa4dd76,6},{0xe52ee5,3},
-{0xaa8bc3,3},{0x838dea,7},{0xf9ea17,5},{0x88c8aa,6},
-{0x73e0a7,5},{0xd09595,6},{0xf7d82b,10},{0xec7397,4},
-{0xfc02fc,7},{0xf72ed3,5},{0xd03dec,4},{0x80cbaf,5},
-{0xf921dd,7},{0x9fcb90,8},{0xbe95a7,4},{0x69eaa4,8},
-{0xf20ff7,5},{0x69e7a7,9},{0xf924da,3},{0xecdd30,6},
-{0xc1d861,4},{0xb967d8,5},{0xb157ef,6},{0xb9bc85,5},
-{0xb192b4,8},{0xda38e5,3},{0xea1eef,6},{0x12f7ef,4},
-{0x6e90f9,6},{0xd573b1,6},{0xdd24f7,5},{0xd5d055,7},
-{0xc86ec1,4},{0xf21ee7,7},{0xa261f4,6},{0xe555c1,4},
-{0xf78b79,6},{0xf78080,5},{0x80b4c3,7},{0xf414ef,4},
-{0xf70ff2,6},{0xea52bc,6},{0xd04ddd,7},{0xf90af4,5},
-{0xe78b88,4},{0xf29f67,6},{0x79b6c8,4},{0xa48dc8,5},
-{0x5fa4f4,4},{0xea14fc,3},{0xf23bcb,7},{0xf738cb,5},
-{0x4fb1f9,3},{0x5ae2bc,7},{0xfcac4f,5},{0xa283d3,7},
-{0xef24e7,7},{0xe5e52e,4},{0x929ace,4},{0xcb36f9,8},
-{0xea21ef,5},{0xf2d038,6},{0x48d8d8,4},{0xec40ce,6},
-{0xf90af7,5},{0xf921dd,7},{0xd8e042,5},{0x21ddf9,4},
-{0x5fb9e2,8},{0xf72ed3,4},{0xfc2ed0,5},{0xf712ef,6},
-{0x57d8cb,5},{0x19fce2,9},{0xe7f71c,9},{0x7be59a,4},
-{0x6cfc90,5},{0xec3bd0,5},{0xea26e7,8},{0x36d5ec,5},
-{0xac76d8,3},{0xa4a4b1,3},{0xef12f7,4},{0x6eb9d3,6},
-{0xe714fc,5},{0xe224f2,5},{0x3bead5,4},{0x8de783,9},
-{0x40d5e2,8},{0x9764fc,7},{0xf705fc,3},{0x8d88e2,8},
-{0xe269ac,6},{0xda33ec,7},{0xd03bec,3},{0xbe6cd0,6},
-{0x8bf479,5},{0xf912ec,8},{0xe5b461,7},{0xaf5aef,6},
-{0xc34fe5,7},{0xd038ef,6},{0x38f9c8,7},{0xf43dc6,3},
-{0xceb973,5},{0xe526ec,4},{0xf902fc,7},{0xbc48f7,4},
-{0,0}
-};
-
-static double const mosaic_curve_points[] = {
-20.3, 216.5, 27.0, 209.8, 17.4, 200.0, 14.5, 183.5, 14.2, 181.8,
-13.5, 181.6, 13.9, 180.0, 28.3, 126.1, 29.2, 126.3, 44.2, 72.5,
-44.4, 71.7, 44.2, 70.8, 44.2, 70.8, 44.2, 70.8, 44.4, 71.7,
-44.2, 72.5, 36.1, 121.4, 36.0, 121.3, 27.9, 170.2, 24.1, 193.3,
-33.8, 203.1, 20.3, 216.5, 82.6, 583.9, 82.5, 583.6, 84.3, 583.3,
-84.2, 583.1, 88.1, 600.0, 87.2, 600.2, 90.2, 617.3, 92.4, 630.1,
-92.4, 630.1, 94.7, 642.9, 96.8, 655.3, 96.8, 655.3, 99.0, 667.8,
-100.0, 673.7, 100.1, 673.7, 101.1, 679.7, 107.4, 716.3, 107.3, 716.3,
-113.7, 752.9, 115.3, 762.1, 117.1, 771.4, 117.1, 771.4, 117.1, 771.4,
-115.3, 762.1, 113.7, 752.9, 108.9, 726.8, 108.9, 726.8, 104.1, 700.7,
-97.1, 662.7, 97.1, 662.7, 90.1, 624.8, 86.3, 604.3, 85.5, 604.5,
-82.6, 583.9, 37.6, 265.6, 38.8, 286.4, 41.0, 287.6, 36.1, 307.5,
-38.5, 298.0, 34.3, 297.0, 32.5, 286.5, 26.4, 251.5, 21.6, 251.7,
-20.3, 216.5, 33.8, 203.1, 24.1, 193.3, 27.9, 170.2, 43.4, 214.1,
-34.7, 217.8, 37.6, 265.6, 27.9, 170.2, 36.0, 121.3, 36.1, 121.4,
-44.2, 72.5, 43.5, 76.1, 44.0, 76.2, 43.9, 79.8, 43.7, 85.4,
-43.7, 85.4, 43.5, 91.0, 41.9, 137.6, 41.9, 137.6, 40.3, 184.2,
-39.2, 217.8, 39.2, 217.8, 38.1, 251.5, 37.8, 258.5, 36.7, 258.7,
-37.6, 265.6, 34.7, 217.8, 43.4, 214.1, 27.9, 170.2, -16.2, 299.0,
--16.2, 299.0, -15.8, 297.4, -15.4, 295.8, -10.3, 274.5, -10.2, 274.5,
--5.1, 253.1, -1.7, 238.6, -1.9, 238.6, 1.6, 224.2, 2.5, 220.5,
-2.8, 220.6, 3.6, 216.9, -0.6, 235.0, -0.7, 235.0, -5.1, 253.1,
--10.2, 274.5, -10.3, 274.5, -15.4, 295.8, -15.8, 297.4, -16.2, 299.0,
--16.2, 299.0, 242.4, -11.8, 258.9, -17.0, 261.0, -11.0, 277.2, -16.9,
-183.6, 17.7, 182.4, 14.3, 87.6, 45.5, 87.3, 45.5, 87.3, 45.5,
-87.1, 45.6, 71.7, 49.5, 71.2, 48.0, 56.4, 53.5, 148.8, 19.4,
-148.5, 18.2, 242.4, -11.8, 56.4, 53.5, 52.5, 54.8, 51.1, 57.0,
-48.5, 55.6, 47.9, 55.2, 48.4, 50.6, 50.0, 50.0, 134.7, 18.5,
-135.0, 19.0, 221.1, -8.6, 231.2, -11.9, 232.5, -8.1, 242.4, -11.8,
-148.5, 18.2, 148.8, 19.4, 56.4, 53.5, 194.7, 17.8, 158.4, 27.2,
-158.4, 27.2, 122.0, 36.6, 117.5, 37.7, 117.5, 37.7, 112.9, 38.9,
-100.2, 42.2, 100.2, 42.2, 87.6, 45.5, 87.3, 45.5, 87.3, 45.5,
-87.1, 45.6, 182.1, 14.3, 181.1, 10.8, 277.2, -16.9, 303.4, -24.5,
-307.1, -14.6, 331.7, -25.0, 266.4, 2.6, 263.7, -3.7, 195.7, 17.5,
-195.2, 17.7, 195.2, 17.7, 194.7, 17.8, 331.7, -25.0, 364.2, -33.4,
-365.0, -31.6, 398.6, -34.9, 387.8, -33.8, 388.0, -32.1, 377.4, -29.4,
-370.0, -27.5, 370.0, -27.5, 362.6, -25.6, 362.3, -25.5, 362.3, -25.5,
-362.0, -25.4, 355.9, -23.9, 355.9, -23.9, 349.8, -22.3, 341.8, -20.2,
-341.8, -20.2, 333.7, -18.1, 318.3, -14.2, 318.3, -14.2, 303.0, -10.2,
-300.6, -9.6, 300.6, -9.6, 298.2, -9.0, 281.5, -4.7, 281.5, -4.7,
-264.9, -0.3, 254.1, 2.4, 254.1, 2.4, 243.2, 5.2, 227.9, 9.2,
-227.9, 9.2, 212.6, 13.1, 204.2, 15.3, 204.2, 15.3, 195.7, 17.5,
-195.2, 17.7, 195.2, 17.7, 194.7, 17.8, 263.2, -3.6, 262.3, -7.1,
-331.7, -25.0, -5.1, 253.1, -0.7, 235.0, -0.6, 235.0, 3.6, 216.9,
-7.2, 203.0, 5.7, 202.2, 11.4, 189.1, 6.4, 200.6, 8.2, 201.4,
-5.0, 213.7, -0.0, 233.4, 2.9, 234.7, -5.1, 253.1, 0.7, 536.2,
-13.6, 573.8, 15.5, 574.7, 18.7, 614.1, 18.8, 616.3, 7.9, 620.2,
-7.3, 619.4, -4.6, 602.1, -1.2, 599.1, -6.2, 577.9, -16.0, 536.4,
--28.8, 533.6, -22.2, 494.1, -25.4, 512.7, -6.9, 513.8, 0.7, 536.2,
--22.2, 494.1, -26.0, 485.6, -28.6, 477.0, -25.8, 475.4, -22.7, 473.6,
--14.7, 479.5, -10.5, 487.2, -3.6, 500.3, -7.1, 502.1, -3.7, 517.0,
--2.5, 522.1, -2.5, 522.1, -1.4, 527.1, -0.3, 531.7, -1.6, 532.5,
-0.7, 536.2, -6.9, 513.8, -25.4, 512.7, -22.2, 494.1, 19.0, 510.1,
-21.7, 515.4, 24.2, 514.1, 29.4, 518.2, 30.9, 519.3, 30.9, 519.3,
-32.3, 520.4, 56.0, 538.7, 58.2, 536.4, 79.7, 557.1, 82.9, 560.1,
-80.6, 562.5, 81.6, 567.8, 82.9, 575.5, 83.7, 575.4, 84.2, 583.1,
-84.3, 583.3, 82.5, 583.6, 82.6, 583.9, 75.0, 587.4, 75.2, 587.9,
-67.4, 591.0, 67.4, 591.1, 67.2, 590.6, 66.9, 590.2, 42.9, 550.1,
-40.5, 551.4, 19.0, 510.1, 121.8, 800.9, 121.7, 801.1, 122.3, 801.2,
-122.4, 801.6, 123.7, 808.3, 126.5, 809.3, 124.7, 815.1, 125.1, 813.8,
-120.1, 813.3, 119.5, 810.6, 118.6, 806.2, 120.3, 805.6, 121.8, 800.9,
-0.7, 495.9, 3.7, 500.5, 5.2, 499.5, 9.8, 503.0, 14.4, 506.5,
-15.9, 505.5, 19.0, 510.1, 40.5, 551.4, 42.9, 550.1, 66.9, 590.2,
-63.6, 584.5, 63.1, 584.8, 59.4, 579.4, 30.0, 537.7, 28.5, 538.7,
-0.7, 495.9, 113.7, 752.9, 115.3, 762.1, 117.1, 771.4, 117.1, 771.4,
-117.4, 773.4, 117.4, 773.4, 117.8, 775.3, 120.1, 788.5, 120.3, 788.4,
-122.4, 801.6, 122.3, 801.2, 121.7, 801.1, 121.8, 800.9, 121.4, 800.4,
-121.4, 800.4, 121.0, 799.9, 120.6, 799.4, 120.6, 799.4, 120.3, 798.9,
-95.0, 767.1, 74.8, 770.0, 69.8, 735.3, 71.5, 747.0, 95.6, 739.1,
-113.7, 752.9, 69.8, 735.3, 69.0, 734.9, 68.4, 733.7, 68.5, 733.6,
-75.3, 725.8, 76.1, 726.5, 83.8, 719.4, 89.1, 714.5, 89.1, 714.5,
-94.4, 709.6, 99.2, 705.1, 104.9, 702.6, 104.1, 700.7, 108.9, 726.8,
-108.9, 726.8, 113.7, 752.9, 95.6, 739.1, 71.5, 747.0, 69.8, 735.3,
-19.0, 613.9, 22.4, 604.2, 32.4, 607.6, 45.7, 601.3, 56.0, 596.4,
-56.0, 596.4, 66.3, 591.6, 66.9, 591.3, 66.9, 591.3, 67.4, 591.0,
-75.2, 587.9, 75.0, 587.4, 82.6, 583.9, 85.5, 604.5, 86.3, 604.3,
-90.1, 624.8, 90.1, 624.5, 88.9, 624.6, 87.8, 624.5, 64.0, 620.8,
-64.0, 620.8, 40.2, 617.2, 29.6, 615.5, 19.7, 612.1, 19.0, 613.9,
-121.0, 799.9, 121.4, 800.4, 121.4, 800.4, 121.8, 800.9, 120.3, 805.6,
-118.6, 806.2, 119.5, 810.6, 108.1, 806.7, 98.9, 800.6, 99.9, 793.4,
-99.6, 795.2, 110.5, 796.3, 121.0, 799.9, 191.6, 801.6, 213.6, 817.8,
-197.0, 840.4, 202.3, 879.2, 202.4, 880.2, 203.0, 880.7, 202.6, 881.2,
-202.1, 881.7, 201.1, 881.7, 200.4, 881.1, 187.5, 870.7, 176.8, 871.5,
-175.5, 859.3, 172.4, 831.7, 200.2, 807.9, 191.6, 801.6, 32.3, 520.4,
-30.9, 519.3, 30.9, 519.3, 29.4, 518.2, 27.6, 505.3, 28.9, 505.1,
-28.3, 492.1, 26.0, 440.3, 25.5, 440.3, 23.7, 388.5, 24.2, 405.2,
-24.7, 405.2, 25.8, 421.8, 27.0, 439.3, 27.0, 439.3, 28.1, 456.8,
-29.1, 470.9, 29.1, 470.9, 30.0, 485.1, 31.1, 502.7, 32.6, 502.7,
-32.3, 520.4, -3.7, 517.0, -7.1, 502.1, -3.6, 500.3, -10.5, 487.2,
--10.8, 490.3, -6.1, 490.7, -1.6, 494.1, -0.5, 495.0, -0.1, 494.8,
-0.7, 495.9, 28.5, 538.7, 30.0, 537.7, 59.4, 579.4, 64.3, 555.8,
-22.9, 552.0, -3.7, 517.0, 83.8, 719.4, 76.1, 726.5, 75.3, 725.8,
-68.5, 733.6, 49.9, 724.3, 45.1, 717.9, 40.0, 697.6, 42.0, 705.5,
-51.1, 703.2, 62.2, 708.7, 69.0, 712.1, 69.0, 712.1, 75.8, 715.5,
-79.8, 717.4, 83.9, 719.1, 83.8, 719.4, 69.7, 767.2, 66.2, 756.5,
-57.4, 760.4, 50.0, 750.0, 44.4, 742.1, 50.3, 736.4, 43.7, 730.7,
-60.1, 745.0, 63.1, 746.8, 69.7, 767.2, 943.6, 608.8, 941.3, 609.3,
-947.5, 623.9, 942.6, 627.8, 892.0, 668.3, 889.0, 665.2, 832.4, 697.7,
-848.6, 688.4, 847.2, 685.9, 861.9, 674.1, 867.3, 669.8, 867.3, 669.8,
-872.6, 665.6, 875.3, 663.4, 875.3, 663.4, 878.0, 661.2, 891.5, 650.5,
-891.5, 650.5, 904.9, 639.8, 906.2, 638.7, 906.2, 638.7, 907.5, 637.7,
-909.8, 635.8, 909.8, 635.8, 912.2, 633.9, 927.9, 621.4, 926.1, 612.3,
-943.6, 608.8, 743.8, 661.6, 749.6, 670.9, 741.5, 681.2, 747.9, 684.8,
-733.2, 676.6, 737.6, 668.6, 727.2, 652.4, 722.1, 644.3, 722.1, 644.3,
-716.9, 636.3, 711.2, 627.4, 711.2, 627.4, 705.5, 618.5, 701.1, 611.6,
-695.6, 610.5, 696.7, 604.7, 695.8, 609.3, 701.3, 610.3, 706.0, 615.9,
-724.9, 638.7, 728.6, 636.5, 743.8, 661.6, 947.6, 328.1, 940.6, 361.9,
-953.7, 364.0, 954.4, 400.0, 955.1, 438.8, 952.6, 438.9, 950.4, 477.7,
-950.5, 475.0, 950.3, 475.0, 950.3, 472.2, 949.8, 448.4, 949.8, 448.4,
-949.4, 424.6, 948.5, 376.3, 938.1, 374.2, 947.6, 328.1, 846.3, 117.0,
-890.0, 147.0, 890.5, 146.4, 933.3, 177.7, 934.1, 178.3, 932.8, 180.3,
-933.6, 180.8, 919.3, 171.9, 920.0, 170.9, 906.3, 160.9, 890.8, 149.6,
-890.8, 149.6, 875.3, 138.2, 872.0, 135.8, 872.0, 135.8, 868.7, 133.4,
-857.5, 125.2, 857.7, 124.9, 846.3, 117.0, 408.1, 154.0, 408.9, 154.9,
-409.6, 155.6, 409.4, 156.0, 393.6, 178.5, 392.8, 177.9, 376.1, 199.9,
-371.9, 205.6, 372.2, 205.9, 367.6, 211.2, 370.8, 207.5, 370.5, 207.2,
-373.3, 203.2, 390.6, 178.7, 390.6, 178.7, 407.9, 154.3, 408.0, 154.2,
-408.2, 154.1, 408.1, 154.0, 142.2, 652.8, 141.2, 609.9, 142.1, 609.9,
-142.0, 567.0, 142.0, 543.5, 142.0, 543.5, 141.9, 520.0, 141.9, 517.7,
-141.9, 517.7, 141.9, 515.4, 141.9, 494.5, 141.9, 494.5, 141.9, 473.6,
-141.9, 472.3, 141.9, 472.3, 141.9, 471.0, 141.8, 468.7, 141.8, 468.7,
-141.8, 466.3, 141.8, 452.9, 141.5, 452.9, 141.8, 439.5, 141.8, 441.3,
-142.0, 441.3, 142.3, 443.2, 144.2, 457.2, 144.2, 457.2, 146.2, 471.3,
-146.6, 474.8, 146.6, 474.8, 147.1, 478.3, 147.4, 480.0, 147.4, 480.0,
-147.6, 481.7, 148.8, 490.4, 148.8, 490.4, 150.0, 499.1, 150.2, 500.3,
-150.2, 500.3, 150.3, 501.5, 153.2, 522.1, 153.2, 522.1, 156.0, 542.8,
-156.8, 548.2, 156.8, 548.2, 157.5, 553.7, 157.8, 556.1, 158.5, 556.2,
-158.2, 558.4, 155.4, 578.7, 154.7, 578.6, 151.3, 598.8, 147.6, 620.7,
-147.6, 620.7, 143.9, 642.6, 143.9, 642.7, 143.9, 642.7, 143.9, 642.7,
-143.1, 647.7, 142.1, 647.8, 142.2, 652.8, -1.6, 494.1, -6.1, 490.7,
--10.8, 490.3, -10.5, 487.2, -14.7, 479.5, -22.7, 473.6, -25.8, 475.4,
--37.3, 443.0, -39.2, 441.2, -38.9, 407.2, -39.0, 422.7, -32.2, 422.8,
--25.5, 438.4, -13.6, 466.3, -10.5, 465.3, -1.6, 494.1, 15.1, 196.4,
-24.9, 282.2, 18.9, 282.9, 22.8, 369.5, 22.8, 369.5, 22.8, 369.6,
-22.8, 369.6, 19.8, 367.5, 17.9, 368.2, 16.8, 365.3, 14.8, 360.0,
-16.8, 359.2, 16.7, 353.2, 16.6, 347.1, 16.6, 347.1, 16.6, 341.0,
-16.4, 326.7, 16.4, 326.7, 16.3, 312.3, 15.7, 254.3, 21.6, 253.7,
-15.1, 196.4, -1.4, 527.1, -2.5, 522.1, -2.5, 522.1, -3.7, 517.0,
-22.9, 552.0, 64.3, 555.8, 59.4, 579.4, 63.1, 584.8, 63.6, 584.5,
-66.9, 590.2, 67.2, 590.6, 67.4, 591.1, 67.4, 591.0, 66.9, 591.3,
-66.9, 591.3, 66.3, 591.6, 44.0, 571.1, 44.3, 570.7, 22.4, 549.7,
-10.5, 538.4, 8.8, 539.8, -1.4, 527.1, 87.8, 624.5, 88.9, 624.6,
-90.1, 624.5, 90.1, 624.8, 97.1, 662.7, 97.1, 662.7, 104.1, 700.7,
-104.9, 702.6, 99.2, 705.1, 94.4, 709.6, 91.2, 708.1, 93.8, 702.6,
-93.3, 695.5, 92.9, 690.2, 92.9, 690.2, 92.5, 684.9, 91.2, 668.6,
-91.2, 668.6, 89.9, 652.3, 88.9, 638.4, 87.7, 638.4, 87.8, 624.5,
-120.3, 798.9, 120.6, 799.4, 120.6, 799.4, 121.0, 799.9, 110.5, 796.3,
-99.6, 795.2, 99.9, 793.4, 83.2, 782.8, 82.9, 782.0, 69.7, 767.2,
-63.1, 746.8, 60.1, 745.0, 43.7, 730.7, 42.4, 728.8, 43.7, 727.6,
-42.2, 726.3, 82.0, 761.7, 81.3, 762.5, 120.3, 798.9, 42.2, 726.3,
-28.8, 709.3, 29.6, 704.7, 27.9, 682.3, 28.5, 690.4, 33.9, 690.0,
-40.0, 697.6, 45.1, 717.9, 49.9, 724.3, 68.5, 733.6, 68.4, 733.7,
-69.0, 734.9, 69.8, 735.3, 74.8, 770.0, 95.0, 767.1, 120.3, 798.9,
-81.3, 762.5, 82.0, 761.7, 42.2, 726.3, 703.4, 562.7, 701.7, 552.1,
-711.8, 549.5, 722.0, 537.9, 721.3, 538.6, 722.2, 539.4, 722.5, 540.9,
-723.8, 548.1, 723.8, 548.1, 725.0, 555.3, 730.5, 586.1, 730.5, 586.1,
-735.9, 616.8, 737.4, 625.4, 738.6, 625.3, 739.0, 634.0, 738.8, 631.5,
-737.7, 631.5, 736.5, 629.0, 719.9, 595.9, 708.9, 597.6, 703.4, 562.7,
-539.8, 359.6, 539.7, 358.7, 539.2, 358.7, 538.6, 357.9, 519.1, 327.4,
-519.1, 327.4, 499.6, 296.9, 492.6, 286.0, 492.4, 286.2, 485.7, 275.1,
-486.0, 275.6, 486.2, 275.5, 486.8, 275.9, 488.5, 277.1, 488.5, 277.1,
-490.3, 278.3, 512.4, 293.3, 515.9, 289.9, 534.6, 308.4, 538.8, 312.6,
-535.4, 316.0, 536.1, 323.7, 536.4, 326.7, 536.4, 326.7, 536.7, 329.8,
-538.3, 344.7, 538.8, 344.7, 539.8, 359.6, 672.2, 402.1, 674.0, 400.5,
-680.5, 407.7, 688.8, 413.4, 692.6, 416.0, 692.6, 416.0, 696.4, 418.5,
-698.9, 420.3, 700.7, 419.7, 701.5, 422.0, 705.6, 434.7, 703.8, 435.3,
-706.2, 448.6, 706.9, 452.6, 706.9, 452.6, 707.6, 456.6, 710.3, 471.8,
-713.6, 472.0, 713.0, 487.0, 713.1, 483.1, 709.8, 483.0, 706.7, 478.9,
-704.9, 476.6, 704.9, 476.6, 703.1, 474.3, 701.9, 472.8, 701.9, 472.8,
-700.8, 471.3, 696.3, 465.5, 696.3, 465.5, 691.8, 459.8, 689.2, 456.4,
-689.2, 456.4, 686.6, 453.1, 678.3, 442.4, 678.3, 442.4, 669.9, 431.6,
-669.6, 431.2, 669.3, 431.2, 669.3, 430.8, 670.4, 416.4, 664.2, 409.2,
-672.2, 402.1, 669.3, 430.8, 662.6, 432.2, 659.8, 418.7, 650.4, 406.5,
-639.5, 392.5, 639.5, 392.5, 628.6, 378.5, 623.6, 372.1, 625.2, 368.3,
-618.6, 365.6, 636.3, 372.9, 634.8, 376.6, 650.9, 387.6, 657.0, 391.8,
-657.0, 391.8, 663.1, 395.9, 666.5, 398.2, 666.5, 398.2, 669.9, 400.6,
-670.3, 400.8, 670.3, 400.8, 670.6, 401.0, 671.4, 401.6, 672.2, 401.6,
-672.2, 402.1, 664.2, 409.2, 670.4, 416.4, 669.3, 430.8, 150.3, 501.5,
-150.2, 500.3, 150.2, 500.3, 150.0, 499.1, 164.5, 478.5, 165.2, 479.0,
-180.4, 458.9, 203.0, 428.9, 200.5, 426.6, 225.7, 398.9, 203.9, 422.9,
-206.4, 425.2, 187.1, 451.5, 168.7, 476.5, 169.4, 477.1, 150.3, 501.5,
-198.1, 70.3, 213.7, 72.4, 227.1, 73.6, 228.3, 81.5, 229.1, 86.3,
-215.3, 88.6, 202.2, 95.7, 194.5, 100.0, 194.5, 100.0, 186.7, 104.2,
-177.5, 109.3, 170.2, 107.4, 168.4, 114.3, 173.7, 93.6, 181.1, 95.5,
-193.8, 76.7, 195.9, 73.5, 196.4, 70.1, 198.1, 70.3, 140.7, 133.4,
-137.8, 135.0, 133.7, 132.2, 133.2, 133.5, 134.7, 129.7, 137.9, 130.9,
-142.6, 128.4, 147.4, 125.8, 147.4, 125.8, 152.1, 123.1, 160.3, 118.7,
-160.3, 118.7, 168.4, 114.3, 170.2, 107.4, 177.5, 109.3, 186.7, 104.2,
-164.3, 119.7, 164.5, 120.3, 140.7, 133.4, 134.9, 228.4, 136.6, 240.3,
-129.2, 247.8, 116.4, 255.3, 118.9, 253.8, 111.2, 244.9, 114.4, 240.4,
-120.5, 231.5, 135.5, 232.9, 134.9, 228.4, 151.3, 598.8, 154.7, 578.6,
-155.4, 578.7, 158.2, 558.4, 157.7, 560.5, 158.5, 560.6, 158.8, 562.8,
-161.6, 583.3, 161.6, 583.3, 164.4, 603.8, 165.1, 609.2, 165.1, 609.2,
-165.9, 614.5, 169.9, 643.5, 169.9, 643.5, 173.9, 672.6, 174.5, 677.0,
-173.8, 677.2, 175.1, 681.5, 162.5, 640.3, 157.1, 641.0, 151.3, 598.8,
-141.4, 568.5, 141.4, 567.7, 142.1, 567.7, 142.0, 567.0, 142.1, 609.9,
-141.2, 609.9, 142.2, 652.8, 142.4, 726.7, 142.4, 726.7, 142.5, 800.7,
-142.5, 811.8, 142.5, 811.8, 142.6, 822.9, 142.6, 826.8, 142.7, 830.7,
-142.6, 830.7, 138.4, 830.8, 134.1, 827.1, 133.9, 823.2, 131.5, 765.1,
-135.6, 765.0, 137.3, 706.8, 137.6, 699.6, 137.6, 699.6, 137.8, 692.5,
-139.6, 630.5, 139.3, 630.5, 141.4, 568.5, 94.7, 642.9, 92.4, 630.1,
-92.4, 630.1, 90.2, 617.3, 90.6, 608.0, 93.4, 608.1, 96.7, 598.9,
-98.3, 594.2, 99.8, 594.3, 100.0, 589.5, 98.9, 614.8, 97.5, 614.8,
-95.0, 640.0, 94.8, 641.5, 94.4, 641.6, 94.7, 642.9, 118.9, 272.9,
-120.5, 292.1, 121.5, 292.0, 124.1, 311.0, 126.7, 329.9, 126.7, 329.9,
-129.3, 348.8, 135.5, 394.1, 136.9, 394.0, 141.8, 439.5, 141.5, 452.9,
-141.8, 452.9, 141.8, 466.3, 142.0, 464.7, 139.8, 464.7, 139.2, 462.7,
-138.1, 459.0, 138.8, 458.8, 138.4, 454.9, 135.2, 425.6, 135.2, 425.6,
-132.1, 396.2, 130.6, 382.7, 130.6, 382.7, 129.2, 369.3, 124.0, 321.1,
-123.1, 321.2, 118.9, 272.9, 44.2, 353.6, 40.0, 349.1, 42.9, 346.4,
-41.7, 339.3, 40.6, 332.9, 43.2, 329.6, 39.5, 326.5, 51.9, 336.6,
-49.3, 339.9, 59.1, 353.3, 60.0, 354.6, 60.0, 354.6, 60.9, 355.8,
-66.5, 363.4, 66.5, 363.4, 72.1, 371.0, 73.1, 372.4, 73.1, 372.4,
-74.1, 373.8, 74.2, 373.9, 74.1, 374.0, 74.3, 374.1, 59.2, 363.9,
-56.3, 366.5, 44.2, 353.6, -15.4, 295.8, -10.3, 274.5, -10.2, 274.5,
--5.1, 253.1, 2.9, 234.7, -0.0, 233.4, 5.0, 213.7, 2.7, 222.5,
-2.8, 222.5, 0.6, 231.3, -3.2, 247.1, -3.2, 247.2, -7.1, 263.0,
--11.2, 279.4, -12.0, 279.2, -15.4, 295.8, 22.8, 369.5, 18.9, 282.9,
-24.9, 282.2, 15.1, 196.4, 14.8, 189.9, 16.1, 189.6, 14.5, 183.5,
-17.4, 200.0, 27.0, 209.8, 20.3, 216.5, 21.6, 251.7, 26.4, 251.5,
-32.5, 286.5, 33.4, 293.8, 31.6, 294.0, 30.7, 301.5, 30.7, 301.8,
-30.7, 301.8, 30.7, 302.0, 29.9, 308.7, 29.9, 308.7, 29.1, 315.3,
-26.0, 342.4, 19.7, 343.1, 22.8, 369.5, 78.4, 549.9, 78.8, 550.4,
-78.6, 550.6, 78.7, 551.4, 79.2, 554.2, 78.0, 556.0, 79.7, 557.1,
-58.2, 536.4, 56.0, 538.7, 32.3, 520.4, 32.6, 502.7, 31.1, 502.7,
-30.0, 485.1, 30.0, 486.7, 31.2, 486.7, 32.4, 488.3, 55.4, 519.1,
-55.7, 518.9, 78.4, 549.9, 45.7, 601.3, 32.4, 607.6, 22.4, 604.2,
-19.0, 613.9, 18.8, 614.0, 18.6, 614.0, 18.7, 614.1, 15.5, 574.7,
-13.6, 573.8, 0.7, 536.2, -1.6, 532.5, -0.3, 531.7, -1.4, 527.1,
-8.8, 539.8, 10.5, 538.4, 22.4, 549.7, 37.4, 573.4, 47.0, 576.2,
-45.7, 601.3, 22.4, 549.7, 44.3, 570.7, 44.0, 571.1, 66.3, 591.6,
-56.0, 596.4, 56.0, 596.4, 45.7, 601.3, 47.0, 576.2, 37.4, 573.4,
-22.4, 549.7, 62.2, 708.7, 51.1, 703.2, 42.0, 705.5, 40.0, 697.6,
-33.9, 690.0, 28.5, 690.4, 27.9, 682.3, 21.2, 668.6, 25.2, 654.1,
-18.3, 653.0, 32.9, 655.3, 30.8, 668.9, 43.3, 684.7, 49.6, 692.7,
-49.6, 692.7, 55.9, 700.7, 56.1, 701.0, 56.1, 701.0, 56.3, 701.2,
-59.3, 705.0, 58.6, 707.9, 62.2, 708.7, 773.1, 619.7, 757.0, 625.1,
-754.8, 618.3, 736.4, 616.8, 736.2, 616.8, 735.9, 616.9, 735.9, 616.8,
-730.5, 586.1, 730.5, 586.1, 725.0, 555.3, 725.3, 557.0, 726.8, 556.9,
-728.5, 558.4, 734.7, 564.0, 734.7, 564.0, 741.0, 569.6, 750.7, 578.2,
-750.7, 578.2, 760.4, 586.8, 768.9, 594.4, 768.9, 594.4, 777.5, 602.0,
-778.0, 602.4, 778.5, 602.6, 778.4, 602.8, 776.3, 611.4, 778.0, 618.1,
-773.1, 619.7, 778.4, 602.8, 780.2, 601.8, 783.2, 607.1, 787.9, 611.3,
-791.7, 614.6, 792.8, 613.9, 795.5, 618.0, 796.2, 619.0, 795.2, 621.3,
-794.7, 621.4, 784.0, 622.2, 778.2, 625.5, 773.1, 619.7, 778.0, 618.1,
-776.3, 611.4, 778.4, 602.8, 767.2, 714.9, 766.5, 712.4, 765.7, 712.6,
-764.3, 710.3, 759.7, 703.1, 759.7, 703.1, 755.2, 696.0, 751.5, 690.4,
-750.0, 690.9, 747.9, 684.8, 741.5, 681.2, 749.6, 670.9, 743.8, 661.6,
-741.7, 649.6, 741.7, 649.6, 739.6, 637.7, 739.3, 635.8, 739.3, 635.8,
-739.0, 634.0, 738.6, 625.3, 737.4, 625.4, 735.9, 616.8, 735.9, 616.9,
-736.2, 616.8, 736.4, 616.8, 741.7, 632.9, 741.5, 633.0, 746.6, 649.2,
-756.9, 682.0, 757.7, 681.8, 767.2, 714.9, 787.2, 480.4, 785.4, 487.8,
-809.3, 488.9, 823.0, 504.7, 825.6, 507.8, 817.7, 516.8, 819.7, 518.2,
-799.8, 504.6, 783.7, 494.5, 787.2, 480.4, 760.1, 584.4, 760.7, 585.0,
-759.7, 586.2, 760.4, 586.8, 750.7, 578.2, 750.7, 578.2, 741.0, 569.6,
-744.4, 572.8, 744.8, 572.5, 748.5, 575.4, 754.3, 579.9, 754.8, 579.3,
-760.1, 584.4, 781.1, 677.4, 781.0, 677.3, 781.2, 676.2, 781.4, 676.2,
-796.6, 675.2, 796.6, 675.8, 811.9, 675.4, 814.5, 675.3, 814.5, 675.3,
-817.1, 675.3, 839.5, 674.7, 855.1, 664.1, 861.9, 674.1, 847.2, 685.9,
-848.6, 688.4, 832.4, 697.7, 829.2, 700.2, 827.7, 703.0, 825.4, 702.1,
-802.0, 692.9, 803.0, 690.2, 781.1, 677.4, 825.4, 702.1, 824.6, 718.3,
-804.0, 723.6, 778.2, 732.1, 776.6, 732.6, 771.7, 726.6, 770.7, 720.3,
-769.6, 713.9, 772.4, 713.4, 774.0, 706.6, 777.6, 692.0, 776.3, 677.8,
-781.1, 677.4, 803.0, 690.2, 802.0, 692.9, 825.4, 702.1, 736.5, 629.0,
-737.7, 631.5, 738.8, 631.5, 739.0, 634.0, 739.3, 635.8, 739.3, 635.8,
-739.6, 637.7, 737.6, 633.7, 738.1, 633.5, 736.6, 629.3, 736.5, 629.2,
-736.6, 629.2, 736.5, 629.0, 939.3, 263.2, 939.2, 262.7, 941.3, 262.5,
-941.3, 262.2, 945.5, 295.0, 945.9, 295.1, 947.6, 328.1, 938.1, 374.2,
-948.5, 376.3, 949.4, 424.6, 949.3, 413.7, 948.7, 413.7, 948.0, 402.8,
-943.6, 333.0, 942.6, 333.0, 939.3, 263.2, 933.8, 398.2, 945.1, 423.2,
-939.9, 425.5, 945.9, 452.8, 948.1, 462.5, 948.5, 462.5, 950.3, 472.2,
-950.3, 475.0, 950.5, 475.0, 950.4, 477.7, 949.9, 489.9, 944.7, 492.2,
-949.1, 502.2, 932.5, 464.7, 937.5, 462.4, 926.0, 422.7, 923.8, 415.2,
-923.8, 415.2, 921.6, 407.7, 920.4, 403.4, 920.4, 403.4, 919.1, 399.2,
-916.7, 390.9, 916.1, 382.5, 914.3, 382.6, 923.5, 382.0, 929.2, 388.1,
-933.8, 398.2, 924.1, 500.9, 935.4, 520.1, 931.7, 522.3, 939.4, 543.8,
-942.7, 553.0, 944.8, 552.8, 946.0, 562.3, 947.5, 574.7, 945.5, 574.9,
-944.7, 587.6, 944.7, 587.5, 944.5, 587.5, 944.3, 587.3, 934.6, 580.7,
-934.6, 580.7, 924.9, 574.1, 919.9, 570.7, 915.1, 570.9, 915.0, 567.3,
-913.8, 541.2, 918.6, 541.0, 922.2, 514.6, 923.1, 507.7, 926.8, 505.5,
-924.1, 500.9, 926.0, 422.7, 937.5, 462.4, 932.5, 464.7, 949.1, 502.2,
-953.3, 531.4, 952.7, 533.4, 946.0, 562.3, 944.8, 552.8, 942.7, 553.0,
-939.4, 543.8, 934.7, 516.5, 936.3, 516.2, 933.3, 488.7, 932.5, 482.0,
-932.5, 482.0, 931.8, 475.4, 928.9, 449.0, 938.8, 442.6, 926.0, 422.7,
-669.9, 400.6, 666.5, 398.2, 666.5, 398.2, 663.1, 395.9, 663.0, 395.4,
-665.6, 394.7, 668.1, 393.5, 684.8, 385.5, 684.8, 385.5, 701.4, 377.5,
-711.7, 372.6, 711.7, 372.6, 722.0, 367.6, 725.4, 366.0, 725.4, 366.0,
-728.7, 364.4, 730.3, 363.7, 730.3, 363.7, 731.8, 362.9, 732.7, 362.5,
-732.7, 362.5, 733.6, 362.1, 740.2, 358.9, 740.2, 358.9, 746.8, 355.7,
-750.9, 353.7, 750.9, 353.7, 755.0, 351.7, 767.9, 345.5, 767.9, 345.5,
-780.8, 339.3, 815.8, 322.6, 815.8, 322.7, 850.7, 305.9, 851.2, 305.7,
-851.6, 305.3, 851.6, 305.3, 851.6, 305.3, 851.2, 305.7, 850.7, 305.9,
-805.7, 329.5, 805.7, 329.5, 760.6, 353.1, 715.3, 376.8, 716.7, 380.0,
-669.9, 400.6, 676.7, 19.0, 678.1, 20.5, 689.6, 2.0, 699.1, 3.6,
-713.8, 6.3, 713.2, 14.6, 725.3, 27.5, 724.0, 26.2, 723.0, 27.1,
-720.8, 26.7, 698.7, 22.8, 689.0, 32.0, 676.7, 19.0, 446.7, 132.3,
-433.1, 136.8, 432.6, 135.3, 418.6, 138.4, 413.9, 139.4, 413.9, 139.4,
-409.3, 140.3, 408.6, 140.5, 408.6, 140.5, 408.0, 140.6, 404.3, 141.4,
-404.3, 142.2, 400.6, 142.2, 400.0, 142.2, 399.3, 141.0, 399.5, 140.5,
-401.5, 136.3, 401.3, 134.8, 405.1, 132.7, 408.4, 130.9, 409.4, 132.7,
-413.7, 132.6, 414.0, 132.6, 414.0, 132.6, 414.2, 132.6, 424.1, 132.5,
-424.1, 132.5, 434.0, 132.5, 435.4, 132.4, 435.4, 132.4, 436.8, 132.4,
-441.7, 132.4, 442.2, 133.8, 446.7, 132.3, 359.9, 57.9, 372.4, 77.4,
-383.0, 94.8, 375.4, 102.9, 379.1, 99.0, 363.7, 84.6, 352.0, 66.3,
-345.7, 56.6, 345.7, 56.6, 339.5, 46.8, 338.4, 45.2, 338.4, 45.2,
-337.4, 43.5, 327.7, 28.4, 331.8, 22.0, 318.0, 13.2, 343.0, 29.2,
-343.7, 32.5, 359.9, 57.9, 318.0, 13.2, 309.1, 2.6, 299.8, -3.8,
-303.0, -10.2, 318.3, -14.2, 318.3, -14.2, 333.7, -18.1, 336.3, -17.9,
-335.7, -12.3, 337.7, -6.6, 348.8, 25.7, 370.5, 47.3, 359.9, 57.9,
-343.7, 32.5, 343.0, 29.2, 318.0, 13.2, 393.4, 131.0, 382.3, 118.8,
-382.3, 117.9, 375.4, 102.9, 383.0, 94.8, 372.4, 77.4, 359.9, 57.9,
-370.5, 47.3, 348.8, 25.7, 337.7, -6.6, 365.8, 53.1, 362.5, 54.7,
-387.3, 116.0, 390.3, 123.5, 388.3, 125.4, 393.4, 131.0, 290.4, 2.4,
-289.0, 0.5, 293.4, -4.2, 298.2, -9.0, 300.6, -9.6, 300.6, -9.6,
-303.0, -10.2, 299.8, -3.8, 309.1, 2.6, 318.0, 13.2, 331.8, 22.0,
-327.7, 28.4, 337.4, 43.5, 336.2, 41.4, 335.5, 41.8, 333.5, 40.1,
-311.9, 21.3, 306.7, 25.1, 290.4, 2.4, 432.1, 236.3, 431.1, 225.7,
-431.2, 225.7, 430.8, 215.1, 431.0, 219.5, 431.2, 219.5, 431.6, 223.8,
-431.8, 226.0, 431.8, 226.0, 432.0, 228.2, 435.6, 267.5, 435.6, 267.5,
-439.3, 306.7, 441.3, 329.1, 441.3, 329.1, 443.4, 351.4, 443.9, 357.8,
-443.9, 357.8, 444.5, 364.1, 444.8, 366.7, 444.8, 366.7, 445.0, 369.4,
-446.9, 389.4, 446.9, 389.4, 448.7, 409.5, 452.1, 447.0, 452.1, 447.0,
-455.6, 484.5, 456.5, 494.1, 456.5, 494.1, 457.3, 503.6, 461.1, 544.5,
-461.1, 544.5, 464.8, 585.3, 466.5, 603.5, 466.6, 603.5, 468.2, 621.6,
-469.3, 634.5, 469.2, 634.5, 470.3, 647.3, 471.5, 660.3, 471.7, 660.3,
-472.9, 673.2, 473.3, 677.4, 473.3, 677.4, 473.7, 681.5, 473.9, 684.3,
-474.0, 684.3, 474.2, 687.1, 474.9, 695.0, 474.8, 695.0, 475.5, 702.9,
-476.7, 715.9, 476.8, 715.9, 478.0, 728.9, 480.1, 750.5, 480.0, 750.5,
-482.0, 772.1, 482.3, 775.1, 482.3, 775.1, 482.5, 778.1, 483.9, 793.3,
-485.3, 808.6, 485.3, 808.6, 485.3, 808.6, 483.9, 793.3, 482.5, 778.1,
-482.3, 775.1, 482.3, 775.1, 482.0, 772.1, 480.0, 750.5, 480.1, 750.5,
-478.0, 728.9, 476.8, 715.9, 476.7, 715.9, 475.5, 702.9, 472.9, 675.1,
-472.9, 675.1, 470.3, 647.3, 469.3, 635.9, 469.4, 635.9, 468.4, 624.5,
-468.3, 623.1, 468.3, 623.1, 468.2, 621.6, 466.6, 603.5, 466.5, 603.5,
-464.8, 585.3, 461.1, 544.5, 461.1, 544.5, 457.3, 503.6, 456.5, 494.1,
-456.5, 494.1, 455.6, 484.5, 452.1, 447.0, 452.1, 447.0, 448.7, 409.5,
-446.9, 389.4, 446.9, 389.4, 445.0, 369.4, 438.6, 302.8, 438.2, 302.9,
-432.1, 236.3, 431.6, 223.8, 431.2, 219.5, 431.0, 219.5, 430.8, 215.1,
-429.9, 201.0, 423.5, 197.5, 429.1, 186.9, 427.2, 190.5, 437.8, 193.7,
-438.3, 201.1, 439.0, 212.2, 437.1, 213.6, 431.6, 223.8, 94.7, 97.2,
-96.3, 96.3, 94.0, 92.2, 93.3, 87.3, 91.4, 73.5, 91.4, 73.5,
-89.5, 59.8, 88.5, 52.6, 84.6, 48.1, 87.6, 45.5, 100.2, 42.2,
-100.2, 42.2, 112.9, 38.9, 122.8, 39.1, 132.9, 43.7, 132.6, 46.2,
-130.6, 63.5, 120.5, 62.4, 108.5, 78.6, 101.6, 87.9, 103.9, 91.9,
-94.7, 97.2, 236.1, 70.1, 237.2, 70.5, 237.2, 74.9, 235.3, 77.7,
-233.3, 80.6, 231.3, 82.1, 228.3, 81.5, 227.1, 73.6, 213.7, 72.4,
-198.1, 70.3, 187.3, 66.3, 178.2, 59.9, 176.5, 62.4, 179.9, 57.6,
-189.0, 64.0, 201.4, 65.6, 203.1, 65.8, 203.1, 65.8, 204.7, 66.0,
-207.8, 66.4, 207.8, 66.4, 210.8, 66.8, 223.5, 68.4, 225.0, 65.1,
-236.1, 70.1, 239.1, 42.7, 241.4, 39.6, 239.6, 38.3, 240.1, 33.8,
-241.7, 19.5, 235.9, 15.3, 243.2, 5.2, 254.1, 2.4, 254.1, 2.4,
-264.9, -0.3, 262.4, 22.3, 253.8, 22.5, 239.1, 42.7, 264.9, -0.3,
-281.5, -4.7, 281.5, -4.7, 298.2, -9.0, 293.4, -4.2, 289.0, 0.5,
-290.4, 2.4, 281.5, 15.3, 281.5, 15.3, 272.6, 28.3, 271.6, 29.7,
-271.6, 29.7, 270.6, 31.1, 270.6, 31.2, 270.6, 31.2, 270.6, 31.2,
-267.6, 35.6, 267.6, 35.6, 264.6, 39.9, 257.8, 49.7, 257.8, 49.7,
-251.1, 59.5, 245.9, 67.1, 246.6, 67.8, 240.6, 74.8, 238.8, 76.9,
-235.8, 78.2, 235.3, 77.7, 237.2, 74.9, 237.2, 70.5, 236.1, 70.1,
-237.6, 56.4, 234.1, 55.0, 239.1, 42.7, 253.8, 22.5, 262.4, 22.3,
-264.9, -0.3, 202.2, 95.7, 215.3, 88.6, 229.1, 86.3, 228.3, 81.5,
-231.3, 82.1, 233.3, 80.6, 235.3, 77.7, 235.8, 78.2, 238.8, 76.9,
-240.6, 74.8, 223.0, 102.9, 229.0, 115.3, 202.9, 129.5, 209.8, 125.8,
-195.3, 108.8, 202.2, 95.7, 202.9, 129.5, 202.9, 131.1, 202.0, 132.5,
-200.8, 132.6, 185.0, 134.2, 184.8, 132.8, 168.8, 133.0, 156.7, 133.2,
-156.7, 133.2, 144.7, 133.3, 142.7, 133.4, 142.0, 132.4, 140.7, 133.4,
-164.5, 120.3, 164.3, 119.7, 186.7, 104.2, 194.5, 100.0, 194.5, 100.0,
-202.2, 95.7, 195.3, 108.8, 209.8, 125.8, 202.9, 129.5, 167.7, 180.7,
-147.7, 192.0, 153.2, 201.8, 138.8, 222.8, 136.8, 225.6, 137.5, 226.5,
-134.9, 228.4, 135.5, 232.9, 120.5, 231.5, 114.4, 240.4, 114.8, 240.2,
-113.1, 237.7, 113.9, 236.9, 139.8, 207.9, 135.3, 199.1, 167.7, 180.7,
-143.9, 642.6, 147.6, 620.7, 147.6, 620.7, 151.3, 598.8, 157.1, 641.0,
-162.5, 640.3, 175.1, 681.5, 177.5, 690.6, 176.4, 690.9, 177.7, 700.4,
-179.3, 711.9, 179.3, 711.9, 180.9, 723.4, 182.7, 737.0, 182.7, 737.0,
-184.6, 750.6, 184.7, 751.0, 184.6, 751.1, 184.7, 751.5, 171.2, 715.6,
-171.3, 715.6, 157.8, 679.7, 156.0, 674.9, 156.0, 674.9, 154.3, 670.2,
-149.1, 656.4, 144.5, 656.6, 143.9, 642.6, 125.1, 606.5, 125.7, 587.3,
-144.0, 585.9, 141.4, 568.5, 139.3, 630.5, 139.6, 630.5, 137.8, 692.5,
-152.3, 658.4, 123.9, 649.3, 125.1, 606.5, 95.0, 640.0, 97.5, 614.8,
-98.9, 614.8, 100.0, 589.5, 104.7, 567.6, 107.5, 568.2, 115.1, 546.9,
-120.5, 531.4, 124.2, 531.8, 126.0, 515.9, 122.8, 543.6, 119.2, 543.2,
-112.4, 570.4, 108.5, 585.7, 108.5, 585.7, 104.7, 601.1, 102.4, 610.2,
-102.4, 610.2, 100.1, 619.4, 97.5, 629.7, 94.9, 629.7, 95.0, 640.0,
-10.6, 447.0, 22.3, 456.0, 16.9, 463.2, 23.2, 479.3, 25.8, 485.7,
-27.2, 485.5, 28.3, 492.1, 28.9, 505.1, 27.6, 505.3, 29.4, 518.2,
-24.2, 514.1, 21.7, 515.4, 19.0, 510.1, 15.9, 505.5, 14.4, 506.5,
-9.8, 503.0, 7.7, 499.0, 9.9, 497.9, 9.9, 492.8, 10.1, 481.1,
-10.1, 481.1, 10.2, 469.4, 10.4, 458.2, 15.8, 451.1, 10.6, 447.0,
--22.1, 363.9, -22.7, 362.5, -22.7, 362.5, -23.3, 361.1, -25.7, 355.0,
--26.1, 355.1, -28.1, 348.9, -28.3, 348.1, -27.4, 347.8, -27.6, 347.1,
--24.5, 355.0, -25.0, 355.2, -22.3, 363.3, -22.2, 363.6, -22.2, 363.6,
--22.1, 363.9, -24.7, 334.6, -20.5, 316.8, -20.4, 316.8, -16.2, 299.0,
--16.2, 299.0, -15.8, 297.4, -15.4, 295.8, -12.0, 279.2, -11.2, 279.4,
--7.1, 263.0, -3.2, 247.2, -3.2, 247.1, 0.6, 231.3, -3.2, 247.1,
--3.2, 247.2, -7.1, 263.0, -11.2, 279.4, -12.0, 279.2, -15.4, 295.8,
--15.8, 297.4, -16.2, 299.0, -16.2, 299.0, -19.1, 311.6, -19.1, 311.6,
--22.1, 324.1, -23.3, 329.4, -23.4, 329.3, -24.7, 334.6, 30.7, 301.5,
-31.6, 294.0, 33.4, 293.8, 32.5, 286.5, 34.3, 297.0, 38.5, 298.0,
-36.1, 307.5, 37.1, 313.2, 37.1, 313.2, 38.1, 318.9, 38.5, 321.0,
-38.5, 321.0, 38.9, 323.2, 39.0, 324.0, 38.9, 324.0, 39.1, 324.7,
-34.8, 313.2, 32.8, 313.5, 30.7, 301.5, 77.0, 541.9, 79.2, 544.8,
-76.2, 547.2, 78.4, 549.9, 55.7, 518.9, 55.4, 519.1, 32.4, 488.3,
-38.9, 497.4, 39.6, 496.9, 46.7, 505.5, 61.9, 523.7, 63.3, 522.7,
-77.0, 541.9, 774.0, 706.6, 772.4, 713.4, 769.6, 713.9, 770.7, 720.3,
-770.8, 720.0, 770.4, 719.9, 770.2, 719.5, 768.7, 717.2, 768.1, 717.4,
-767.2, 714.9, 757.7, 681.8, 756.9, 682.0, 746.6, 649.2, 747.7, 652.9,
-748.3, 652.7, 750.0, 656.2, 762.0, 681.4, 765.5, 680.3, 774.0, 706.6,
-745.8, 465.5, 745.6, 465.3, 745.7, 465.1, 745.7, 464.8, 744.9, 457.9,
-747.0, 452.1, 744.0, 451.0, 767.8, 459.9, 767.8, 463.2, 787.2, 480.4,
-783.7, 494.5, 799.8, 504.6, 819.7, 518.2, 820.2, 518.7, 819.5, 519.3,
-819.2, 520.3, 818.8, 522.1, 819.5, 522.9, 818.4, 523.8, 818.2, 523.9,
-817.5, 523.1, 816.7, 522.4, 781.2, 494.0, 781.1, 494.2, 745.8, 465.5,
-728.5, 558.4, 726.8, 556.9, 725.3, 557.0, 725.0, 555.3, 723.8, 548.1,
-723.8, 548.1, 722.5, 540.9, 722.7, 542.5, 723.0, 542.4, 723.5, 543.9,
-726.0, 551.2, 727.5, 551.0, 728.5, 558.4, 811.9, 675.4, 796.6, 675.8,
-796.6, 675.2, 781.4, 676.2, 776.8, 671.7, 782.5, 663.2, 787.3, 651.6,
-787.0, 652.4, 788.9, 653.1, 790.4, 654.6, 797.3, 661.3, 797.3, 661.3,
-804.3, 668.0, 808.1, 671.7, 809.7, 676.2, 811.9, 675.4, 736.6, 629.3,
-738.1, 633.5, 737.6, 633.7, 739.6, 637.7, 741.7, 649.6, 741.7, 649.6,
-743.8, 661.6, 728.6, 636.5, 724.9, 638.7, 706.0, 615.9, 708.2, 625.6,
-722.7, 620.4, 736.6, 629.3, 706.0, 615.9, 701.3, 610.3, 695.8, 609.3,
-696.7, 604.7, 696.3, 604.2, 696.3, 604.1, 696.0, 603.6, 690.6, 595.2,
-687.4, 596.0, 685.3, 586.9, 684.6, 584.2, 687.8, 583.4, 690.4, 580.0,
-694.8, 574.1, 694.8, 574.1, 699.3, 568.1, 701.3, 565.4, 704.0, 563.8,
-703.4, 562.7, 708.9, 597.6, 719.9, 595.9, 736.5, 629.0, 736.6, 629.2,
-736.5, 629.2, 736.6, 629.3, 722.7, 620.4, 708.2, 625.6, 706.0, 615.9,
-628.6, 378.5, 639.5, 392.5, 639.5, 392.5, 650.4, 406.5, 654.9, 441.5,
-646.0, 442.7, 641.6, 478.9, 641.5, 479.0, 641.5, 479.0, 641.5, 479.0,
-641.1, 482.9, 641.1, 482.9, 640.6, 486.8, 639.5, 496.1, 635.1, 498.0,
-638.3, 505.4, 632.9, 492.8, 637.2, 490.9, 636.1, 476.4, 634.1, 450.4,
-634.1, 450.4, 632.1, 424.4, 630.4, 401.5, 618.0, 388.9, 628.6, 378.5,
-641.6, 478.9, 646.0, 442.7, 654.9, 441.5, 650.4, 406.5, 659.8, 418.7,
-662.6, 432.2, 669.3, 430.8, 669.3, 431.2, 669.6, 431.2, 669.9, 431.6,
-665.0, 440.8, 664.6, 440.6, 659.2, 449.5, 650.4, 464.2, 639.0, 466.5,
-641.6, 478.9, 914.0, 381.7, 920.2, 370.0, 908.9, 364.0, 903.7, 346.4,
-903.5, 345.5, 903.5, 345.5, 903.2, 344.7, 896.6, 321.9, 896.6, 321.9,
-890.0, 299.2, 888.4, 293.8, 888.2, 293.8, 886.8, 288.4, 886.8, 288.3,
-887.1, 288.3, 887.3, 288.2, 895.2, 284.4, 895.2, 284.4, 903.1, 280.6,
-905.1, 279.6, 907.3, 278.8, 907.2, 278.6, 914.2, 299.5, 915.4, 300.0,
-916.8, 321.8, 918.8, 351.5, 926.7, 357.7, 914.0, 381.7, 916.8, 321.8,
-940.6, 341.7, 935.4, 360.4, 933.8, 398.2, 929.2, 388.1, 923.5, 382.0,
-914.3, 382.6, 914.0, 382.4, 914.0, 382.1, 914.0, 381.7, 926.7, 357.7,
-918.8, 351.5, 916.8, 321.8, 869.9, 395.5, 869.6, 395.5, 869.6, 393.4,
-869.3, 391.2, 866.2, 370.9, 866.2, 370.9, 863.2, 350.6, 862.8, 348.1,
-862.8, 348.1, 862.4, 345.6, 861.4, 338.7, 861.4, 338.7, 860.4, 331.9,
-859.2, 323.7, 857.8, 323.7, 858.0, 315.5, 857.9, 319.1, 859.2, 319.2,
-860.5, 322.8, 865.3, 336.2, 868.2, 335.8, 870.1, 349.6, 872.9, 370.0,
-870.0, 370.4, 869.9, 391.2, 869.9, 393.4, 869.9, 395.5, 869.9, 395.5,
-860.5, 322.8, 859.2, 319.2, 857.9, 319.1, 858.0, 315.5, 856.6, 309.4,
-853.5, 305.6, 856.1, 303.1, 867.9, 292.0, 870.8, 290.2, 886.8, 288.4,
-888.2, 293.8, 888.4, 293.8, 890.0, 299.2, 887.6, 305.1, 884.3, 303.7,
-878.7, 308.3, 869.6, 315.5, 870.9, 319.1, 860.5, 322.8, 694.7, 409.5,
-693.6, 408.7, 690.9, 414.1, 688.8, 413.4, 680.5, 407.7, 674.0, 400.5,
-672.2, 402.1, 672.2, 401.6, 671.4, 401.6, 670.6, 401.0, 682.8, 405.0,
-684.5, 402.5, 694.7, 409.5, 860.4, 331.9, 861.4, 338.7, 861.4, 338.7,
-862.4, 345.6, 858.9, 351.0, 855.0, 348.4, 847.6, 351.2, 844.2, 352.5,
-844.2, 352.5, 840.8, 353.8, 820.4, 361.5, 820.4, 361.5, 799.9, 369.3,
-792.1, 372.2, 792.1, 372.2, 784.2, 375.2, 782.6, 375.8, 782.5, 375.6,
-781.0, 376.4, 805.0, 362.6, 805.1, 362.9, 829.3, 349.3, 835.8, 345.6,
-835.8, 345.6, 842.4, 342.0, 851.4, 336.9, 852.6, 330.4, 860.4, 331.9,
-625.4, 361.6, 634.8, 368.9, 633.8, 370.2, 642.2, 378.7, 646.5, 383.2,
-645.7, 384.7, 650.9, 387.6, 634.8, 376.6, 636.3, 372.9, 618.6, 365.6,
-607.2, 357.8, 607.2, 357.8, 595.7, 350.0, 591.1, 346.9, 591.1, 346.9,
-586.5, 343.8, 560.5, 326.1, 560.5, 326.1, 534.6, 308.4, 515.9, 289.9,
-512.4, 293.3, 490.3, 278.3, 494.6, 281.3, 494.8, 281.0, 499.3, 283.8,
-500.2, 284.4, 500.2, 284.4, 501.2, 285.0, 543.6, 311.2, 543.6, 311.2,
-586.0, 337.3, 592.2, 341.2, 592.2, 341.2, 598.4, 345.0, 611.9, 353.3,
-612.9, 352.0, 625.4, 361.6, 251.1, 59.5, 257.8, 49.7, 257.8, 49.7,
-264.6, 39.9, 245.2, 81.7, 243.4, 80.9, 222.1, 121.8, 201.5, 161.7,
-201.5, 161.7, 180.9, 201.5, 171.0, 220.5, 170.9, 220.4, 161.1, 239.4,
-158.7, 243.9, 156.5, 248.6, 156.5, 248.6, 156.5, 248.6, 158.7, 243.9,
-161.1, 239.4, 180.0, 201.5, 180.0, 201.5, 199.0, 163.7, 219.1, 123.5,
-219.1, 123.5, 239.2, 83.3, 245.2, 71.4, 244.4, 70.9, 251.1, 59.5,
-474.9, 881.8, 473.8, 882.9, 470.8, 882.1, 470.7, 882.0, 466.7, 848.4,
-468.7, 848.1, 466.7, 814.3, 465.8, 799.3, 465.8, 799.3, 464.9, 784.3,
-463.3, 759.1, 463.2, 759.1, 461.7, 734.0, 460.1, 708.3, 460.2, 708.3,
-458.7, 682.6, 457.9, 669.3, 457.9, 669.3, 457.1, 655.9, 455.3, 625.3,
-455.3, 625.3, 453.5, 594.6, 453.1, 588.3, 453.1, 588.3, 452.8, 581.9,
-452.6, 578.7, 452.6, 578.7, 452.4, 575.5, 451.9, 567.7, 451.9, 567.7,
-451.5, 559.9, 449.9, 533.5, 450.3, 533.5, 448.3, 507.2, 454.4, 587.2,
-454.0, 587.3, 459.7, 667.4, 462.4, 705.5, 462.4, 705.5, 465.1, 743.6,
-468.5, 791.8, 468.5, 791.8, 471.9, 840.0, 473.3, 859.1, 473.3, 859.1,
-474.7, 878.3, 474.8, 880.1, 475.7, 881.1, 474.9, 881.8, 140.0, 48.9,
-137.3, 46.4, 136.3, 47.5, 132.6, 46.2, 132.9, 43.7, 122.8, 39.1,
-112.9, 38.9, 117.5, 37.7, 117.5, 37.7, 122.0, 36.6, 132.0, 40.2,
-132.1, 41.6, 140.0, 48.9, 168.8, 133.0, 184.8, 132.8, 185.0, 134.2,
-200.8, 132.6, 200.1, 132.2, 196.4, 139.0, 192.0, 145.4, 182.2, 159.7,
-183.0, 160.3, 172.4, 174.0, 173.0, 173.1, 172.2, 172.5, 172.1, 171.1,
-171.0, 158.5, 171.0, 158.5, 169.9, 145.9, 169.7, 143.6, 169.7, 143.6,
-169.5, 141.3, 169.2, 137.2, 168.1, 133.2, 168.8, 133.0, 142.5, 800.7,
-142.4, 726.7, 142.4, 726.7, 142.2, 652.8, 142.1, 647.8, 143.1, 647.7,
-143.9, 642.7, 144.9, 660.2, 143.8, 660.2, 143.6, 677.7, 143.1, 739.2,
-139.1, 739.4, 142.5, 800.7, 112.4, 570.4, 119.2, 543.2, 122.8, 543.6,
-126.0, 515.9, 127.1, 511.9, 127.4, 512.0, 128.8, 508.0, 135.1, 490.1,
-135.1, 490.1, 141.5, 472.1, 141.7, 471.6, 142.0, 471.5, 141.9, 471.0,
-141.9, 472.3, 141.9, 472.3, 141.9, 473.6, 127.5, 522.1, 130.1, 523.1,
-112.4, 570.4, 132.1, 396.2, 135.2, 425.6, 135.2, 425.6, 138.4, 454.9,
-109.9, 423.8, 122.8, 412.0, 107.3, 369.1, 106.3, 366.5, 106.3, 366.5,
-105.4, 363.9, 98.1, 343.8, 98.1, 343.8, 90.8, 323.7, 84.3, 305.5,
-84.3, 305.5, 77.7, 287.3, 72.4, 272.6, 72.4, 272.6, 67.0, 257.9,
-64.0, 249.4, 64.0, 249.4, 60.9, 240.9, 58.1, 233.2, 58.4, 225.5,
-55.3, 225.4, 59.1, 225.6, 58.8, 233.2, 62.3, 240.9, 63.3, 243.2,
-63.3, 243.2, 64.3, 245.5, 70.8, 259.9, 70.8, 259.9, 77.2, 274.3,
-90.8, 304.5, 90.8, 304.5, 104.4, 334.7, 106.6, 339.6, 106.6, 339.6,
-108.8, 344.5, 120.5, 370.3, 124.8, 369.2, 132.1, 396.2, 73.9, 510.3,
-74.7, 516.4, 72.5, 516.8, 73.7, 522.7, 63.8, 473.9, 62.6, 474.0,
-56.6, 424.6, 60.5, 456.8, 63.0, 456.5, 69.5, 488.4, 71.7, 499.4,
-72.6, 499.3, 73.9, 510.3, -25.5, 438.4, -32.2, 422.8, -39.0, 422.7,
--38.9, 407.2, -40.1, 403.8, -40.7, 403.4, -40.2, 400.0, -38.5, 387.8,
--34.0, 376.1, -34.5, 375.9, -29.2, 377.4, -32.6, 389.3, -30.6, 402.7,
--28.1, 420.5, -20.0, 435.3, -25.5, 438.4, 22.8, 369.7, 23.3, 379.1,
-23.2, 379.1, 23.7, 388.5, 25.5, 440.3, 26.0, 440.3, 28.3, 492.1,
-27.2, 485.5, 25.8, 485.7, 23.2, 479.3, 22.2, 474.7, 23.2, 474.4,
-23.2, 469.6, 23.1, 435.6, 23.1, 435.6, 22.9, 401.7, 22.9, 387.5,
-22.9, 387.5, 22.8, 373.4, 22.8, 371.5, 22.9, 371.5, 22.8, 369.7,
--7.1, 263.0, -3.2, 247.2, -3.2, 247.1, 0.6, 231.3, 2.8, 222.5,
-2.7, 222.5, 5.0, 213.7, 8.2, 201.4, 6.4, 200.6, 11.4, 189.1,
-12.6, 184.6, 11.6, 184.0, 13.9, 180.0, 13.5, 181.6, 14.2, 181.8,
-14.5, 183.5, 16.1, 189.6, 14.8, 189.9, 15.1, 196.4, 21.6, 253.7,
-15.7, 254.3, 16.3, 312.3, 18.3, 298.8, 9.2, 297.5, 2.2, 282.6,
--2.5, 272.8, -6.8, 272.9, -7.1, 263.0, 25.8, 421.8, 24.7, 405.2,
-24.2, 405.2, 23.7, 388.5, 23.2, 379.1, 23.3, 379.1, 22.8, 369.7,
-22.8, 369.7, 22.8, 369.7, 22.8, 369.6, 22.8, 369.6, 22.8, 369.5,
-22.8, 369.5, 19.7, 343.1, 26.0, 342.4, 29.1, 315.3, 35.6, 352.4,
-27.9, 353.7, 26.8, 392.2, 26.7, 393.2, 26.7, 393.2, 26.7, 394.2,
-26.2, 408.0, 20.2, 411.2, 25.8, 421.8, 55.5, 418.2, 55.0, 421.2,
-56.0, 421.4, 56.6, 424.6, 62.6, 474.0, 63.8, 473.9, 73.7, 522.7,
-75.4, 532.3, 71.5, 538.3, 77.0, 541.9, 63.3, 522.7, 61.9, 523.7,
-46.7, 505.5, 40.6, 486.7, 48.9, 484.0, 51.0, 462.5, 53.2, 440.3,
-52.2, 440.2, 55.5, 418.2, 40.2, 617.2, 64.0, 620.8, 64.0, 620.8,
-87.8, 624.5, 87.7, 638.4, 88.9, 638.4, 89.9, 652.3, 89.9, 652.3,
-89.7, 652.3, 89.4, 652.2, 80.8, 650.5, 80.8, 650.5, 72.2, 648.9,
-62.8, 647.0, 59.0, 650.8, 53.4, 645.1, 43.1, 634.9, 38.9, 618.0,
-40.2, 617.2, 53.4, 645.1, 53.2, 643.6, 47.9, 644.1, 42.5, 643.0,
-35.6, 641.6, 35.6, 641.6, 28.8, 640.3, 21.0, 638.8, 17.9, 641.9,
-13.1, 637.2, 7.2, 631.4, 5.5, 627.2, 7.3, 619.4, 7.9, 620.2,
-18.8, 616.3, 18.7, 614.1, 18.6, 614.0, 18.8, 614.0, 19.0, 613.9,
-19.7, 612.1, 29.6, 615.5, 40.2, 617.2, 38.9, 618.0, 43.1, 634.9,
-53.4, 645.1, 75.8, 715.5, 69.0, 712.1, 69.0, 712.1, 62.2, 708.7,
-58.6, 707.9, 59.3, 705.0, 56.3, 701.2, 67.0, 706.5, 68.6, 706.3,
-75.8, 715.5, 789.1, 644.2, 787.8, 644.4, 788.2, 647.9, 787.3, 651.6,
-782.5, 663.2, 776.8, 671.7, 781.4, 676.2, 781.2, 676.2, 781.0, 677.3,
-781.1, 677.4, 776.3, 677.8, 777.6, 692.0, 774.0, 706.6, 765.5, 680.3,
-762.0, 681.4, 750.0, 656.2, 752.4, 646.1, 769.1, 646.7, 789.1, 644.2,
-750.0, 656.2, 748.3, 652.7, 747.7, 652.9, 746.6, 649.2, 741.5, 633.0,
-741.7, 632.9, 736.4, 616.8, 754.8, 618.3, 757.0, 625.1, 773.1, 619.7,
-778.2, 625.5, 784.0, 622.2, 794.7, 621.4, 794.7, 621.4, 794.2, 623.3,
-793.8, 625.1, 791.5, 634.7, 795.2, 639.9, 789.1, 644.2, 769.1, 646.7,
-752.4, 646.1, 750.0, 656.2, 748.1, 484.6, 742.7, 479.3, 750.7, 468.2,
-745.8, 465.5, 781.1, 494.2, 781.2, 494.0, 816.7, 522.4, 809.9, 516.5,
-808.6, 518.0, 800.5, 513.5, 793.3, 509.5, 793.3, 509.5, 786.1, 505.6,
-767.1, 495.1, 762.9, 499.3, 748.1, 484.6, 907.8, 630.0, 907.7, 629.7,
-907.1, 629.8, 907.1, 629.4, 904.8, 615.5, 904.2, 615.5, 903.1, 601.5,
-903.9, 612.2, 904.8, 612.1, 906.6, 622.8, 907.2, 626.4, 907.5, 626.4,
-907.8, 630.0, 595.7, 350.0, 607.2, 357.8, 607.2, 357.8, 618.6, 365.6,
-625.2, 368.3, 623.6, 372.1, 628.6, 378.5, 618.0, 388.9, 630.4, 401.5,
-632.1, 424.4, 604.2, 402.0, 614.7, 388.9, 597.3, 353.4, 596.5, 351.7,
-597.0, 350.8, 595.7, 350.0, 659.2, 449.5, 664.6, 440.6, 665.0, 440.8,
-669.9, 431.6, 678.3, 442.4, 678.3, 442.4, 686.6, 453.1, 683.8, 457.8,
-665.3, 457.3, 659.2, 449.5, 948.0, 402.8, 948.7, 413.7, 949.3, 413.7,
-949.4, 424.6, 949.8, 448.4, 949.8, 448.4, 950.3, 472.2, 948.5, 462.5,
-948.1, 462.5, 945.9, 452.8, 942.7, 430.1, 943.4, 430.0, 940.8, 407.3,
-937.7, 379.2, 924.2, 357.6, 934.6, 351.1, 927.8, 355.4, 942.7, 376.7,
-948.0, 402.8, 934.6, 351.1, 927.7, 310.9, 923.3, 310.1, 925.5, 269.8,
-925.6, 266.1, 939.6, 265.2, 939.3, 263.2, 942.6, 333.0, 943.6, 333.0,
-948.0, 402.8, 942.7, 376.7, 927.8, 355.4, 934.6, 351.1, 914.7, 275.0,
-914.5, 273.9, 918.0, 273.4, 921.4, 271.7, 923.2, 270.9, 923.2, 270.9,
-925.0, 270.0, 925.2, 269.9, 925.5, 269.9, 925.5, 269.8, 923.3, 310.1,
-927.7, 310.9, 934.6, 351.1, 924.2, 357.6, 937.7, 379.2, 940.8, 407.3,
-923.8, 342.2, 924.2, 341.6, 914.7, 275.0, 940.8, 407.3, 943.4, 430.0,
-942.7, 430.1, 945.9, 452.8, 939.9, 425.5, 945.1, 423.2, 933.8, 398.2,
-935.4, 360.4, 940.6, 341.7, 916.8, 321.8, 915.4, 300.0, 914.2, 299.5,
-907.2, 278.6, 907.1, 277.0, 914.9, 275.8, 914.7, 275.0, 924.2, 341.6,
-923.8, 342.2, 940.8, 407.3, 760.6, 353.1, 805.7, 329.5, 805.7, 329.5,
-850.7, 305.9, 823.3, 315.5, 825.7, 322.5, 800.7, 339.1, 776.8, 355.0,
-776.8, 355.0, 752.8, 370.9, 744.0, 376.7, 738.7, 374.4, 735.2, 382.6,
-742.6, 365.5, 745.0, 363.5, 760.6, 353.1, 735.2, 382.6, 717.6, 397.7,
-715.7, 395.5, 696.2, 408.5, 695.5, 409.0, 695.3, 409.6, 694.7, 409.5,
-684.5, 402.5, 682.8, 405.0, 670.6, 401.0, 670.3, 400.8, 670.3, 400.8,
-669.9, 400.6, 716.7, 380.0, 715.3, 376.8, 760.6, 353.1, 745.0, 363.5,
-742.6, 365.5, 735.2, 382.6, 829.3, 349.3, 805.1, 362.9, 805.0, 362.6,
-781.0, 376.4, 775.0, 379.5, 774.6, 378.8, 768.3, 381.2, 766.2, 382.0,
-766.2, 382.0, 764.0, 382.8, 751.7, 387.5, 751.7, 387.5, 739.4, 392.2,
-727.0, 396.9, 727.0, 396.9, 714.5, 401.6, 705.4, 405.0, 702.9, 402.3,
-696.2, 408.5, 715.7, 395.5, 717.6, 397.7, 735.2, 382.6, 738.7, 374.4,
-744.0, 376.7, 752.8, 370.9, 790.2, 357.7, 794.5, 342.5, 829.3, 349.3,
-823.9, 404.0, 808.4, 391.3, 812.1, 386.9, 800.2, 369.8, 800.1, 369.5,
-800.0, 369.2, 799.9, 369.3, 820.4, 361.5, 820.4, 361.5, 840.8, 353.8,
-846.5, 358.5, 834.3, 373.1, 827.8, 392.5, 825.8, 398.3, 822.2, 402.7,
-823.9, 404.0, 520.2, 128.3, 522.8, 135.7, 526.6, 134.1, 530.8, 141.2,
-541.2, 158.9, 540.1, 159.5, 549.5, 177.8, 563.9, 205.9, 566.4, 204.8,
-578.3, 234.0, 576.1, 228.6, 572.1, 230.5, 569.0, 225.3, 554.9, 201.4,
-556.5, 200.5, 544.1, 175.8, 542.3, 172.2, 542.3, 172.2, 540.5, 168.7,
-530.3, 148.5, 527.6, 149.4, 520.2, 128.3, 649.0, 299.7, 641.0, 276.2,
-628.3, 280.5, 607.6, 261.2, 603.6, 257.5, 603.6, 257.5, 599.6, 253.8,
-588.9, 243.9, 586.1, 245.8, 578.3, 234.0, 566.4, 204.8, 563.9, 205.9,
-549.5, 177.8, 581.3, 186.8, 575.0, 209.0, 600.5, 240.3, 624.8, 270.0,
-637.5, 265.7, 649.0, 299.7, 621.3, 242.7, 629.3, 253.2, 624.4, 257.5,
-633.4, 266.7, 601.5, 234.1, 604.4, 231.3, 575.4, 195.8, 570.5, 189.8,
-571.2, 189.2, 565.6, 183.9, 578.8, 196.4, 578.2, 197.1, 590.7, 210.4,
-606.0, 226.5, 607.9, 225.1, 621.3, 242.7, 607.6, 261.2, 628.3, 280.5,
-641.0, 276.2, 649.0, 299.7, 666.4, 315.9, 667.6, 314.8, 683.8, 332.1,
-680.1, 328.1, 678.1, 330.1, 674.0, 326.3, 640.0, 294.7, 639.4, 295.1,
-607.6, 261.2, 538.5, 273.3, 548.2, 283.1, 548.2, 283.1, 557.8, 293.0,
-582.8, 318.3, 582.8, 318.3, 607.8, 343.7, 616.6, 352.7, 617.9, 362.6,
-625.4, 361.6, 612.9, 352.0, 611.9, 353.3, 598.4, 345.0, 568.0, 314.6,
-570.6, 312.1, 542.8, 279.0, 542.2, 278.3, 542.2, 278.2, 541.6, 277.4,
-540.5, 275.8, 540.5, 275.8, 539.3, 274.3, 538.9, 273.8, 538.9, 273.7,
-538.5, 273.3, 671.6, 22.5, 673.6, 20.2, 674.3, 18.8, 676.7, 19.0,
-689.0, 32.0, 698.7, 22.8, 720.8, 26.7, 691.3, 60.0, 674.9, 71.6,
-633.3, 68.0, 650.3, 69.5, 651.8, 44.7, 671.6, 22.5, 633.3, 68.0,
-619.2, 79.9, 616.0, 76.2, 598.7, 84.3, 570.9, 97.4, 571.6, 99.2,
-543.0, 110.6, 550.9, 107.4, 550.2, 105.6, 557.4, 100.7, 560.1, 98.9,
-560.1, 98.9, 562.7, 97.1, 566.7, 94.4, 566.7, 94.4, 570.6, 91.6,
-605.0, 68.1, 605.0, 68.1, 639.3, 44.6, 655.4, 33.6, 667.9, 36.8,
-671.6, 22.5, 651.8, 44.7, 650.3, 69.5, 633.3, 68.0, 623.1, 94.6,
-622.0, 94.0, 621.5, 95.0, 619.9, 95.3, 615.1, 96.3, 615.1, 96.3,
-610.4, 97.3, 600.3, 99.5, 600.3, 99.5, 590.2, 101.6, 580.0, 103.8,
-580.0, 103.8, 569.8, 106.0, 569.2, 106.1, 569.2, 106.1, 568.7, 106.2,
-561.4, 107.8, 561.4, 107.8, 554.1, 109.4, 547.3, 110.8, 547.4, 111.5,
-540.5, 112.3, 541.8, 112.1, 541.7, 111.2, 543.0, 110.6, 571.6, 99.2,
-570.9, 97.4, 598.7, 84.3, 599.2, 84.1, 599.4, 84.6, 600.1, 84.9,
-611.6, 89.7, 612.1, 88.8, 623.1, 94.6, 528.8, -39.2, 527.3, -47.3,
-543.8, -57.6, 542.7, -58.6, 554.3, -47.9, 557.9, -30.8, 549.9, -19.7,
-550.9, -21.1, 530.9, -27.9, 528.8, -39.2, 686.9, -7.4, 688.8, -8.6,
-700.2, 0.9, 699.1, 3.6, 689.6, 2.0, 678.1, 20.5, 676.7, 19.0,
-674.3, 18.8, 673.6, 20.2, 671.6, 22.5, 667.9, 36.8, 655.4, 33.6,
-639.3, 44.6, 643.9, 42.0, 643.1, 40.5, 646.9, 36.3, 666.9, 14.4,
-662.7, 7.7, 686.9, -7.4, 432.7, -43.8, 494.1, -60.9, 493.9, -61.6,
-555.8, -76.8, 554.4, -76.4, 555.1, -74.3, 553.5, -73.6, 548.9, -71.4,
-548.5, -72.3, 543.4, -71.1, 508.4, -62.5, 508.4, -62.5, 473.5, -53.9,
-471.6, -53.4, 471.6, -53.4, 469.8, -53.0, 451.2, -48.4, 451.1, -48.9,
-432.7, -43.8, 223.1, 199.1, 223.1, 199.1, 232.3, 166.6, 241.5, 134.0,
-245.6, 119.3, 245.6, 119.3, 249.8, 104.6, 253.8, 90.4, 253.9, 90.4,
-257.9, 76.1, 260.2, 67.8, 260.2, 67.8, 262.6, 59.6, 266.1, 47.2,
-266.1, 47.2, 269.6, 34.9, 270.1, 33.1, 270.0, 33.1, 270.6, 31.2,
-270.6, 31.2, 270.6, 31.2, 270.6, 31.1, 270.1, 33.0, 270.1, 33.0,
-269.6, 34.9, 266.1, 47.2, 266.1, 47.2, 262.6, 59.6, 260.2, 67.8,
-260.2, 67.8, 257.9, 76.1, 253.9, 90.4, 253.8, 90.4, 249.8, 104.6,
-245.6, 119.3, 245.6, 119.3, 241.5, 134.0, 232.3, 166.6, 223.1, 199.1,
-223.1, 199.1, 149.0, 461.3, 149.0, 461.3, 149.7, 458.6, 150.5, 455.9,
-178.7, 356.3, 175.0, 355.1, 206.8, 256.7, 206.6, 257.2, 214.0, 259.0,
-213.8, 260.1, 210.0, 283.9, 206.3, 283.4, 198.8, 306.6, 194.5, 320.1,
-194.5, 320.1, 190.1, 333.6, 170.3, 394.7, 170.2, 394.7, 150.5, 455.9,
-149.7, 458.6, 149.0, 461.3, 149.0, 461.3, 238.0, 140.7, 239.4, 137.2,
-240.6, 137.6, 241.5, 134.0, 232.3, 166.6, 223.1, 199.1, 223.1, 199.1,
-215.0, 227.9, 215.1, 227.9, 206.8, 256.7, 194.4, 299.9, 194.2, 299.8,
-181.8, 343.0, 179.0, 352.7, 179.1, 352.8, 176.4, 362.5, 165.4, 402.3,
-165.4, 402.3, 154.3, 442.2, 152.4, 449.0, 150.5, 455.9, 150.5, 455.9,
-150.5, 455.9, 152.4, 449.0, 154.3, 442.2, 165.4, 402.3, 165.4, 402.3,
-176.4, 362.5, 179.1, 352.8, 179.0, 352.7, 181.8, 343.0, 189.6, 315.0,
-189.6, 315.0, 197.4, 286.9, 200.1, 277.3, 200.1, 277.3, 202.7, 267.7,
-214.8, 224.2, 214.8, 224.2, 226.9, 180.6, 231.1, 165.6, 231.1, 165.6,
-235.3, 150.5, 235.5, 149.5, 235.5, 149.5, 235.8, 148.5, 236.9, 144.6,
-236.5, 144.5, 238.0, 140.7, 222.1, 121.8, 243.4, 80.9, 245.2, 81.7,
-264.6, 39.9, 267.6, 35.6, 267.6, 35.6, 270.6, 31.2, 269.1, 45.7,
-266.6, 45.4, 262.6, 59.6, 260.2, 67.8, 260.2, 67.8, 257.9, 76.1,
-253.9, 90.4, 253.8, 90.4, 249.8, 104.6, 247.0, 109.7, 244.2, 108.1,
-238.5, 111.6, 230.3, 116.7, 224.7, 114.7, 222.1, 121.8, 161.1, 239.4,
-158.7, 243.9, 156.5, 248.6, 156.5, 248.6, 156.0, 249.5, 156.0, 249.5,
-155.5, 250.4, 147.2, 266.5, 138.9, 282.6, 138.9, 282.6, 138.9, 282.6,
-147.2, 266.5, 155.5, 250.4, 156.0, 249.5, 156.0, 249.5, 156.5, 248.6,
-156.5, 248.6, 158.7, 243.9, 161.1, 239.4, 464.8, 585.3, 461.1, 544.5,
-461.1, 544.5, 457.3, 503.6, 457.3, 502.5, 458.0, 502.4, 458.7, 501.2,
-460.2, 498.5, 460.2, 498.5, 461.7, 495.7, 462.7, 493.9, 463.8, 493.9,
-463.8, 492.1, 465.4, 538.7, 484.5, 550.0, 464.8, 585.3, 209.1, 647.2,
-209.1, 646.8, 209.3, 646.8, 209.5, 646.5, 212.6, 641.2, 212.6, 641.2,
-215.7, 636.0, 218.1, 631.9, 217.3, 628.6, 220.5, 627.8, 219.5, 628.1,
-220.3, 631.4, 220.0, 634.9, 219.1, 648.1, 219.1, 648.1, 218.1, 661.3,
-214.3, 713.1, 225.7, 716.7, 210.6, 764.9, 221.5, 730.2, 210.1, 726.6,
-209.6, 688.4, 209.5, 676.0, 209.5, 676.0, 209.3, 663.7, 209.2, 655.4,
-209.0, 655.4, 209.1, 647.2, 466.7, 814.3, 468.7, 848.1, 466.7, 848.4,
-470.7, 882.0, 470.1, 884.5, 460.2, 884.2, 450.3, 882.5, 450.5, 882.6,
-450.8, 880.6, 451.3, 878.7, 459.0, 846.5, 464.5, 813.9, 466.7, 814.3,
-131.9, 102.5, 132.2, 103.4, 132.6, 103.2, 133.3, 103.9, 134.2, 104.8,
-134.2, 104.8, 135.1, 105.7, 136.0, 106.7, 136.0, 106.7, 136.9, 107.6,
-144.5, 115.4, 149.7, 114.0, 152.1, 123.1, 147.4, 125.8, 147.4, 125.8,
-142.6, 128.4, 133.5, 119.1, 136.9, 115.6, 131.9, 102.5, 172.1, 171.1,
-172.2, 172.5, 173.0, 173.1, 172.4, 174.0, 172.0, 175.3, 170.6, 175.3,
-170.7, 176.4, 170.5, 173.8, 170.6, 173.2, 172.1, 171.1, 188.5, 778.9,
-183.6, 784.8, 193.4, 790.8, 191.6, 801.6, 200.2, 807.9, 172.4, 831.7,
-175.5, 859.3, 176.2, 858.1, 164.7, 854.8, 164.5, 849.8, 163.8, 836.8,
-169.0, 836.5, 173.5, 823.2, 181.0, 801.1, 174.5, 795.6, 188.5, 778.9,
-124.4, 697.1, 123.6, 699.9, 136.9, 701.5, 137.3, 706.8, 135.6, 765.0,
-131.5, 765.1, 133.9, 823.2, 134.3, 819.7, 127.4, 820.2, 124.7, 815.1,
-126.5, 809.3, 123.7, 808.3, 122.4, 801.6, 120.3, 788.4, 120.1, 788.5,
-117.8, 775.3, 118.5, 736.2, 113.8, 734.1, 124.4, 697.1, 117.8, 775.3,
-117.4, 773.4, 117.4, 773.4, 117.1, 771.4, 109.1, 725.5, 98.5, 724.9,
-101.1, 679.7, 100.7, 686.7, 111.3, 687.3, 121.5, 694.9, 123.0, 696.0,
-124.5, 696.1, 124.4, 697.1, 113.8, 734.1, 118.5, 736.2, 117.8, 775.3,
-113.5, 633.8, 113.4, 625.4, 117.1, 625.4, 120.7, 617.0, 122.9, 611.8,
-126.2, 611.0, 125.1, 606.5, 123.9, 649.3, 152.3, 658.4, 137.8, 692.5,
-137.6, 699.6, 137.6, 699.6, 137.3, 706.8, 136.9, 701.5, 123.6, 699.9,
-124.4, 697.1, 124.5, 696.1, 123.0, 696.0, 121.5, 694.9, 116.3, 664.6,
-113.8, 664.4, 113.5, 633.8, 121.5, 694.9, 111.3, 687.3, 100.7, 686.7,
-101.1, 679.7, 100.1, 673.7, 100.0, 673.7, 99.0, 667.8, 98.9, 666.1,
-99.7, 666.1, 100.4, 664.5, 107.0, 649.1, 118.6, 641.1, 113.5, 633.8,
-113.8, 664.4, 116.3, 664.6, 121.5, 694.9, 104.7, 601.1, 108.5, 585.7,
-108.5, 585.7, 112.4, 570.4, 130.1, 523.1, 127.5, 522.1, 141.9, 473.6,
-141.9, 494.5, 141.9, 494.5, 141.9, 515.4, 129.0, 559.9, 126.7, 560.0,
-104.7, 601.1, 74.1, 373.8, 73.1, 372.4, 73.1, 372.4, 72.1, 371.0,
-72.8, 344.1, 73.9, 344.1, 75.7, 317.2, 75.8, 314.6, 76.0, 314.7,
-76.0, 312.1, 75.6, 328.2, 75.5, 328.2, 75.0, 344.2, 74.5, 359.0,
-75.7, 359.1, 74.1, 373.8, 38.1, 251.5, 39.2, 217.8, 39.2, 217.8,
-40.3, 184.2, 38.1, 193.9, 44.4, 195.3, 48.4, 206.4, 49.9, 210.5,
-49.9, 210.5, 51.4, 214.6, 53.3, 220.0, 53.3, 220.0, 55.3, 225.4,
-58.4, 225.5, 58.1, 233.2, 60.9, 240.9, 55.0, 249.8, 37.7, 250.5,
-38.1, 251.5, 69.5, 488.4, 63.0, 456.5, 60.5, 456.8, 56.6, 424.6,
-56.0, 421.4, 55.0, 421.2, 55.5, 418.2, 52.4, 400.5, 52.4, 400.5,
-49.3, 382.8, 48.7, 379.6, 48.7, 379.6, 48.2, 376.4, 46.4, 366.3,
-46.6, 366.3, 44.6, 356.3, 49.8, 382.7, 49.6, 382.7, 54.6, 409.2,
-62.0, 448.8, 64.4, 448.5, 69.5, 488.4, 104.4, 482.2, 105.1, 470.7,
-92.8, 469.9, 81.3, 457.6, 78.2, 454.3, 75.5, 454.7, 75.1, 451.0,
-72.7, 430.8, 69.3, 428.3, 75.8, 409.9, 73.3, 416.9, 79.5, 419.1,
-83.1, 428.3, 93.7, 455.2, 106.0, 456.0, 104.4, 482.2, 9.9, 492.8,
-9.9, 497.9, 7.7, 499.0, 9.8, 503.0, 5.2, 499.5, 3.7, 500.5,
-0.7, 495.9, -0.1, 494.8, -0.5, 495.0, -1.6, 494.1, -10.5, 465.3,
--13.6, 466.3, -25.5, 438.4, -20.0, 435.3, -28.1, 420.5, -30.6, 402.7,
--30.4, 406.9, -28.8, 406.8, -27.0, 410.9, -26.2, 412.5, -26.2, 412.5,
--25.5, 414.1, -7.8, 453.5, -6.0, 452.8, 9.9, 492.8, 23.2, 469.6,
-23.2, 474.4, 22.2, 474.7, 23.2, 479.3, 16.9, 463.2, 22.3, 456.0,
-10.6, 447.0, -2.7, 413.2, -2.5, 413.1, -15.8, 379.3, -17.1, 376.1,
--18.6, 372.9, -18.6, 372.9, -18.6, 372.9, -17.1, 376.1, -15.8, 379.3,
--10.6, 391.4, -10.6, 391.4, -5.3, 403.6, 8.9, 436.6, 10.5, 436.0,
-23.2, 469.6, 16.7, 353.2, 16.8, 359.2, 14.8, 360.0, 16.8, 365.3,
-9.7, 365.8, 1.8, 359.9, 1.7, 354.3, 1.7, 353.8, 12.1, 349.8,
-16.7, 353.2, 26.7, 394.2, 27.9, 354.8, 27.4, 354.7, 29.1, 315.3,
-29.9, 308.7, 29.9, 308.7, 30.7, 302.0, 29.3, 347.1, 28.7, 347.1,
-26.8, 392.2, 26.7, 393.2, 26.7, 393.2, 26.7, 394.2, 51.0, 462.5,
-48.9, 484.0, 40.6, 486.7, 46.7, 505.5, 39.6, 496.9, 38.9, 497.4,
-32.4, 488.3, 31.2, 486.7, 30.0, 486.7, 30.0, 485.1, 29.1, 470.9,
-29.1, 470.9, 28.1, 456.8, 34.9, 416.1, 36.8, 416.2, 48.2, 376.4,
-48.7, 379.6, 48.7, 379.6, 49.3, 382.8, 50.6, 422.6, 51.9, 422.7,
-51.0, 462.5, 49.3, 382.8, 52.4, 400.5, 52.4, 400.5, 55.5, 418.2,
-52.2, 440.2, 53.2, 440.3, 51.0, 462.5, 51.9, 422.7, 50.6, 422.6,
-49.3, 382.8, 43.3, 684.7, 30.8, 668.9, 32.9, 655.3, 18.3, 653.0,
-14.0, 646.2, 10.3, 640.7, 13.1, 637.2, 17.9, 641.9, 21.0, 638.8,
-28.8, 640.3, 40.9, 659.4, 51.2, 675.0, 43.3, 684.7, 713.3, 489.1,
-712.7, 488.6, 713.1, 488.1, 713.0, 487.0, 713.6, 472.0, 710.3, 471.8,
-707.6, 456.6, 726.2, 469.7, 719.9, 478.6, 732.3, 500.6, 732.8, 501.5,
-732.5, 501.9, 733.3, 502.3, 728.0, 499.4, 728.2, 499.0, 723.2, 495.6,
-718.2, 492.3, 717.8, 492.9, 713.3, 489.1, 752.2, 518.9, 756.0, 528.8,
-751.3, 539.8, 754.8, 540.6, 745.8, 538.6, 748.0, 528.5, 741.2, 516.5,
-739.2, 512.8, 736.7, 509.4, 737.1, 509.1, 738.4, 508.1, 740.9, 511.5,
-744.7, 514.0, 748.4, 516.4, 750.9, 515.5, 752.2, 518.9, 839.3, 624.0,
-867.6, 630.5, 867.6, 630.8, 895.8, 637.6, 900.4, 638.7, 903.8, 641.2,
-904.9, 639.8, 891.5, 650.5, 891.5, 650.5, 878.0, 661.2, 856.0, 656.1,
-859.1, 643.0, 840.1, 624.8, 839.7, 624.4, 839.8, 624.1, 839.3, 624.0,
-835.3, 566.8, 835.3, 566.8, 836.0, 567.4, 836.7, 568.0, 857.1, 585.8,
-857.1, 585.8, 877.5, 603.6, 892.3, 616.5, 892.3, 616.5, 907.1, 629.4,
-907.1, 629.8, 907.7, 629.7, 907.8, 630.0, 910.0, 632.0, 912.3, 632.1,
-912.2, 633.9, 909.8, 635.8, 909.8, 635.8, 907.5, 637.7, 884.6, 619.5,
-886.4, 617.2, 865.4, 596.6, 865.0, 596.2, 865.1, 596.1, 864.8, 595.8,
-852.2, 583.3, 852.1, 583.4, 839.5, 570.9, 838.1, 569.5, 838.2, 569.5,
-836.7, 568.0, 836.0, 567.4, 835.3, 566.8, 835.3, 566.8, 845.9, 561.2,
-855.0, 547.1, 858.7, 547.4, 874.5, 539.8, 876.3, 539.0, 881.2, 544.2,
-881.1, 544.3, 877.6, 549.8, 874.2, 547.6, 867.3, 550.9, 856.6, 556.1,
-851.4, 552.7, 845.9, 561.2, 819.2, 520.3, 819.5, 519.3, 820.2, 518.7,
-819.7, 518.2, 817.7, 516.8, 825.6, 507.8, 823.0, 504.7, 839.9, 508.5,
-838.4, 515.2, 853.8, 525.7, 864.1, 532.8, 875.5, 535.3, 874.5, 539.8,
-858.7, 547.4, 855.0, 547.1, 845.9, 561.2, 842.7, 563.6, 839.5, 565.7,
-839.6, 565.9, 826.2, 545.2, 828.8, 543.4, 819.2, 520.3, 839.6, 565.9,
-839.8, 566.4, 838.3, 567.7, 836.7, 568.0, 836.0, 567.4, 835.3, 566.8,
-835.3, 566.8, 824.6, 557.5, 824.6, 557.5, 813.9, 548.1, 813.3, 547.6,
-812.6, 547.5, 812.7, 547.1, 814.9, 535.3, 815.5, 535.4, 818.4, 523.8,
-819.5, 522.9, 818.8, 522.1, 819.2, 520.3, 828.8, 543.4, 826.2, 545.2,
-839.6, 565.9, 906.6, 622.8, 904.8, 612.1, 903.9, 612.2, 903.1, 601.5,
-900.4, 583.4, 900.5, 583.4, 897.9, 565.3, 897.9, 565.1, 897.9, 565.1,
-897.9, 564.9, 899.5, 575.6, 899.5, 575.6, 901.1, 586.3, 903.8, 604.5,
-904.2, 604.5, 906.6, 622.8, 597.3, 353.4, 614.7, 388.9, 604.2, 402.0,
-632.1, 424.4, 634.1, 450.4, 634.1, 450.4, 636.1, 476.4, 636.0, 474.9,
-635.6, 474.9, 635.2, 473.4, 630.7, 459.4, 630.7, 459.4, 626.3, 445.3,
-611.8, 399.4, 586.5, 392.3, 597.3, 353.4, 690.4, 580.0, 687.8, 583.4,
-684.6, 584.2, 685.3, 586.9, 684.2, 587.1, 681.3, 582.6, 682.0, 581.7,
-683.9, 579.2, 689.6, 578.7, 690.4, 580.0, 911.3, 564.9, 903.7, 560.0,
-903.9, 559.8, 896.4, 554.7, 894.9, 553.7, 894.4, 554.0, 893.3, 552.6,
-892.7, 551.8, 893.2, 551.5, 893.0, 550.3, 892.0, 543.8, 892.0, 543.8,
-891.0, 537.3, 890.9, 536.6, 891.2, 536.4, 890.9, 536.0, 895.6, 542.1,
-895.3, 542.3, 899.8, 548.7, 905.1, 556.1, 905.1, 556.1, 910.3, 563.5,
-910.4, 563.6, 910.4, 563.6, 910.5, 563.7, 910.9, 564.3, 910.8, 564.5,
-911.3, 564.9, 881.4, 472.9, 881.6, 434.2, 875.4, 434.2, 869.9, 395.5,
-869.9, 395.5, 869.9, 393.4, 869.9, 391.2, 876.0, 432.0, 881.6, 432.1,
-881.4, 472.9, 921.6, 407.7, 923.8, 415.2, 923.8, 415.2, 926.0, 422.7,
-938.8, 442.6, 928.9, 449.0, 931.8, 475.4, 930.9, 463.2, 930.0, 463.3,
-928.2, 451.2, 924.9, 429.4, 923.3, 429.6, 921.6, 407.7, 903.7, 346.4,
-908.9, 364.0, 920.2, 370.0, 914.0, 381.7, 914.0, 382.1, 914.0, 382.4,
-914.3, 382.6, 916.1, 382.5, 916.7, 390.9, 919.1, 399.2, 917.7, 404.6,
-913.4, 403.5, 907.7, 407.8, 901.1, 412.8, 896.0, 419.1, 894.4, 417.8,
-884.3, 409.7, 889.3, 403.4, 884.2, 389.0, 883.6, 387.4, 882.6, 387.0,
-883.1, 385.9, 892.3, 365.7, 890.9, 348.1, 903.7, 346.4, 842.4, 342.0,
-835.8, 345.6, 835.8, 345.6, 829.3, 349.3, 794.5, 342.5, 790.2, 357.7,
-752.8, 370.9, 776.8, 355.0, 776.8, 355.0, 800.7, 339.1, 819.2, 333.1,
-823.5, 335.2, 842.4, 342.0, 800.7, 339.1, 825.7, 322.5, 823.3, 315.5,
-850.7, 305.9, 851.2, 305.7, 851.6, 305.3, 851.6, 305.3, 853.8, 304.2,
-856.0, 302.9, 856.1, 303.1, 853.5, 305.6, 856.6, 309.4, 858.0, 315.5,
-857.8, 323.7, 859.2, 323.7, 860.4, 331.9, 852.6, 330.4, 851.4, 336.9,
-842.4, 342.0, 823.5, 335.2, 819.2, 333.1, 800.7, 339.1, 847.6, 351.2,
-855.0, 348.4, 858.9, 351.0, 862.4, 345.6, 862.8, 348.1, 862.8, 348.1,
-863.2, 350.6, 856.3, 353.2, 847.8, 352.0, 847.6, 351.2, 765.4, 446.9,
-783.7, 457.2, 781.5, 461.2, 797.5, 475.5, 815.2, 491.3, 815.2, 491.3,
-832.8, 507.0, 837.8, 511.5, 837.8, 511.5, 842.9, 516.0, 848.3, 520.8,
-847.5, 522.2, 853.8, 525.7, 838.4, 515.2, 839.9, 508.5, 823.0, 504.7,
-809.3, 488.9, 785.4, 487.8, 787.2, 480.4, 767.8, 463.2, 767.8, 459.9,
-744.0, 451.0, 728.2, 440.2, 728.2, 440.2, 712.4, 429.4, 706.9, 425.7,
-706.9, 425.7, 701.5, 422.0, 700.7, 419.7, 698.9, 420.3, 696.4, 418.5,
-731.1, 432.1, 733.1, 428.7, 765.4, 446.9, 696.4, 418.5, 692.6, 416.0,
-692.6, 416.0, 688.8, 413.4, 690.9, 414.1, 693.6, 408.7, 694.7, 409.5,
-695.3, 409.6, 695.5, 409.0, 696.2, 408.5, 702.9, 402.3, 705.4, 405.0,
-714.5, 401.6, 743.6, 417.7, 763.2, 449.1, 765.4, 446.9, 733.1, 428.7,
-731.1, 432.1, 696.4, 418.5, 493.2, 122.4, 496.6, 123.8, 497.6, 121.5,
-502.0, 120.5, 507.0, 119.4, 507.6, 117.2, 512.1, 118.4, 515.0, 119.1,
-517.6, 122.8, 516.9, 124.3, 516.4, 125.4, 513.3, 124.0, 509.6, 123.7,
-501.4, 123.1, 500.4, 125.4, 493.2, 122.4, 600.5, 240.3, 575.0, 209.0,
-581.3, 186.8, 549.5, 177.8, 540.1, 159.5, 541.2, 158.9, 530.8, 141.2,
-553.1, 149.7, 548.2, 162.6, 565.6, 183.9, 571.2, 189.2, 570.5, 189.8,
-575.4, 195.8, 588.8, 217.5, 581.6, 227.2, 600.5, 240.3, 575.4, 195.8,
-604.4, 231.3, 601.5, 234.1, 633.4, 266.7, 639.4, 274.1, 639.4, 274.1,
-645.4, 281.4, 659.5, 298.6, 659.5, 298.6, 673.5, 315.8, 673.6, 315.8,
-673.6, 315.8, 673.6, 315.9, 685.1, 330.0, 687.0, 328.8, 696.7, 344.0,
-692.1, 336.9, 690.2, 338.1, 683.8, 332.1, 667.6, 314.8, 666.4, 315.9,
-649.0, 299.7, 637.5, 265.7, 624.8, 270.0, 600.5, 240.3, 581.6, 227.2,
-588.8, 217.5, 575.4, 195.8, 903.1, 280.6, 895.2, 284.4, 895.2, 284.4,
-887.3, 288.2, 883.2, 288.4, 883.0, 285.2, 878.8, 282.3, 854.6, 265.6,
-854.6, 265.6, 830.4, 249.0, 825.3, 245.5, 825.3, 245.5, 820.2, 241.9,
-794.8, 224.5, 794.8, 224.5, 769.5, 207.0, 768.4, 206.2, 768.4, 206.2,
-767.2, 205.4, 760.5, 200.8, 761.2, 199.3, 753.8, 196.2, 766.9, 201.7,
-766.2, 203.2, 778.7, 210.2, 792.9, 218.3, 792.9, 218.3, 807.2, 226.4,
-812.6, 229.4, 812.6, 229.4, 817.9, 232.4, 842.6, 246.4, 842.6, 246.4,
-867.2, 260.3, 875.7, 265.1, 875.7, 265.1, 884.2, 269.9, 892.2, 274.4,
-892.2, 274.4, 900.1, 278.9, 901.6, 279.7, 902.5, 281.0, 903.1, 280.6,
-517.7, 117.1, 520.7, 121.1, 529.1, 114.7, 540.5, 112.3, 547.4, 111.5,
-547.3, 110.8, 554.1, 109.4, 555.5, 109.5, 555.2, 111.7, 556.4, 114.1,
-567.2, 135.5, 567.2, 135.5, 578.0, 156.8, 579.1, 158.9, 579.1, 158.9,
-580.1, 161.0, 582.9, 166.5, 581.2, 168.9, 585.7, 172.0, 550.0, 147.0,
-543.3, 151.0, 517.7, 117.1, 599.6, 253.8, 603.6, 257.5, 603.6, 257.5,
-607.6, 261.2, 639.4, 295.1, 640.0, 294.7, 674.0, 326.3, 671.5, 323.8,
-670.3, 325.0, 667.7, 322.6, 653.1, 308.9, 653.6, 308.4, 639.5, 294.1,
-619.6, 274.0, 619.4, 274.2, 599.6, 253.8, 701.4, 377.5, 684.8, 385.5,
-684.8, 385.5, 668.1, 393.5, 665.9, 393.6, 665.6, 386.2, 663.1, 378.8,
-655.2, 355.4, 654.4, 331.7, 647.2, 331.9, 673.6, 331.1, 691.7, 348.8,
-701.4, 377.5, 439.9, 203.6, 440.2, 203.0, 439.1, 202.4, 438.3, 201.1,
-437.8, 193.7, 427.2, 190.5, 429.1, 186.9, 422.4, 176.3, 422.4, 176.3,
-415.7, 165.8, 412.5, 160.9, 412.5, 160.9, 409.4, 156.0, 409.6, 155.6,
-408.9, 154.9, 408.1, 154.0, 404.3, 148.1, 400.6, 148.2, 400.6, 142.2,
-404.3, 142.2, 404.3, 141.4, 408.0, 140.6, 430.6, 159.3, 436.6, 157.6,
-449.3, 182.6, 452.6, 189.1, 445.7, 193.8, 439.9, 203.6, 600.1, 84.9,
-599.4, 84.6, 599.2, 84.1, 598.7, 84.3, 616.0, 76.2, 619.2, 79.9,
-633.3, 68.0, 674.9, 71.6, 691.3, 60.0, 720.8, 26.7, 723.0, 27.1,
-724.0, 26.2, 725.3, 27.5, 726.3, 27.9, 726.7, 29.3, 727.1, 29.1,
-715.7, 35.3, 715.2, 34.3, 703.4, 39.5, 701.1, 40.5, 701.1, 40.5,
-698.9, 41.5, 662.7, 57.4, 662.7, 57.4, 626.5, 73.3, 613.3, 79.1,
-613.5, 79.6, 600.1, 84.9, 557.4, 100.7, 550.2, 105.6, 550.9, 107.4,
-543.0, 110.6, 541.7, 111.2, 541.8, 112.1, 540.5, 112.3, 529.1, 114.7,
-520.7, 121.1, 517.7, 117.1, 514.9, 117.8, 514.9, 117.8, 512.1, 118.4,
-507.6, 117.2, 507.0, 119.4, 502.0, 120.5, 503.0, 121.8, 506.6, 118.9,
-511.2, 117.2, 534.3, 109.0, 533.6, 105.7, 557.4, 100.7, 387.3, 116.0,
-362.5, 54.7, 365.8, 53.1, 337.7, -6.6, 335.7, -12.3, 336.3, -17.9,
-333.7, -18.1, 341.8, -20.2, 341.8, -20.2, 349.8, -22.3, 351.7, -22.3,
-352.8, -20.5, 353.5, -18.0, 364.2, 19.6, 363.0, 19.9, 372.6, 57.9,
-374.7, 66.1, 374.7, 66.1, 376.8, 74.3, 379.0, 83.0, 379.0, 83.0,
-381.2, 91.7, 383.3, 100.2, 383.3, 100.2, 385.5, 108.7, 386.4, 112.4,
-385.9, 112.6, 387.3, 116.0, 428.6, -42.8, 428.6, -42.8, 430.6, -43.3,
-432.7, -43.8, 451.1, -48.9, 451.2, -48.4, 469.8, -53.0, 451.2, -48.4,
-451.1, -48.9, 432.7, -43.8, 430.6, -43.3, 428.6, -42.8, 428.6, -42.8,
-215.0, 260.7, 214.8, 260.9, 214.4, 260.4, 213.8, 260.1, 214.0, 259.0,
-206.6, 257.2, 206.8, 256.7, 215.1, 227.9, 215.0, 227.9, 223.1, 199.1,
-223.1, 199.1, 232.3, 166.6, 241.5, 134.0, 245.6, 119.3, 245.6, 119.3,
-249.8, 104.6, 253.8, 90.4, 253.9, 90.4, 257.9, 76.1, 257.0, 79.3,
-257.2, 79.3, 256.4, 82.5, 248.0, 118.7, 248.0, 118.7, 239.6, 154.9,
-232.4, 185.6, 232.4, 185.6, 225.3, 216.3, 225.1, 217.0, 225.1, 217.0,
-225.0, 217.7, 220.2, 238.1, 220.2, 238.1, 215.5, 258.6, 215.2, 259.7,
-215.6, 260.1, 215.0, 260.7, 142.3, 443.2, 142.0, 441.3, 141.8, 441.3,
-141.8, 439.5, 136.9, 394.0, 135.5, 394.1, 129.3, 348.8, 129.9, 332.1,
-133.8, 320.3, 146.4, 316.0, 141.9, 317.5, 146.0, 329.6, 145.6, 343.2,
-143.9, 393.2, 144.3, 393.2, 142.3, 443.2, 192.0, 145.4, 196.4, 139.0,
-200.1, 132.2, 200.8, 132.6, 202.0, 132.5, 202.9, 131.1, 202.9, 129.5,
-229.0, 115.3, 223.0, 102.9, 240.6, 74.8, 246.6, 67.8, 245.9, 67.1,
-251.1, 59.5, 244.4, 70.9, 245.2, 71.4, 239.2, 83.3, 236.4, 88.2,
-235.7, 87.8, 232.3, 92.4, 212.1, 118.9, 212.5, 119.2, 192.0, 145.4,
-470.3, 647.3, 471.5, 660.3, 471.7, 660.3, 472.9, 673.2, 473.3, 677.4,
-473.3, 677.4, 473.7, 681.5, 473.9, 684.3, 474.0, 684.3, 474.2, 687.1,
-474.9, 695.0, 474.8, 695.0, 475.5, 702.9, 468.6, 699.9, 471.3, 693.5,
-467.1, 684.1, 466.6, 682.9, 466.6, 682.9, 466.1, 681.7, 464.4, 678.0,
-464.4, 678.0, 462.8, 674.3, 461.2, 670.9, 460.0, 671.0, 459.7, 667.4,
-454.0, 587.3, 454.4, 587.2, 448.3, 507.2, 447.9, 501.2, 448.0, 501.2,
-447.6, 495.3, 446.7, 480.6, 448.0, 480.4, 445.8, 465.9, 459.4, 556.4,
-458.5, 556.6, 470.3, 647.3, 445.8, 465.9, 444.2, 452.7, 445.1, 452.6,
-444.3, 439.3, 443.4, 424.6, 443.4, 424.6, 442.5, 409.9, 442.2, 404.5,
-442.2, 404.5, 441.8, 399.1, 440.9, 383.7, 440.9, 383.7, 440.0, 368.4,
-440.0, 367.4, 440.0, 367.4, 439.9, 366.4, 436.0, 301.4, 432.8, 301.4,
-432.1, 236.3, 432.5, 271.5, 435.8, 271.5, 439.3, 306.7, 441.3, 329.1,
-441.3, 329.1, 443.4, 351.4, 443.9, 357.8, 443.9, 357.8, 444.5, 364.1,
-444.8, 366.7, 444.8, 366.7, 445.0, 369.4, 446.9, 389.4, 446.9, 389.4,
-448.7, 409.5, 452.1, 447.0, 452.1, 447.0, 455.6, 484.5, 456.5, 494.1,
-456.5, 494.1, 457.3, 503.6, 461.1, 544.5, 461.1, 544.5, 464.8, 585.3,
-466.5, 603.5, 466.6, 603.5, 468.2, 621.6, 469.3, 634.5, 469.2, 634.5,
-470.3, 647.3, 458.5, 556.6, 459.4, 556.4, 445.8, 465.9, 465.1, 743.6,
-462.4, 705.5, 462.4, 705.5, 459.7, 667.4, 460.0, 671.0, 461.2, 670.9,
-462.8, 674.3, 463.8, 680.1, 463.0, 680.2, 463.2, 686.2, 464.1, 714.9,
-459.9, 715.7, 465.1, 743.6, 519.2, 392.8, 519.8, 404.6, 512.4, 405.1,
-505.5, 417.3, 505.6, 417.1, 505.4, 417.0, 505.5, 416.9, 512.2, 404.8,
-519.7, 404.5, 519.2, 392.8, 210.2, 770.6, 213.3, 782.9, 209.2, 783.9,
-208.2, 797.2, 205.3, 838.2, 215.2, 875.8, 202.3, 879.2, 197.0, 840.4,
-213.6, 817.8, 191.6, 801.6, 193.4, 790.8, 183.6, 784.8, 188.5, 778.9,
-187.3, 770.3, 187.3, 770.3, 186.1, 761.7, 185.4, 756.6, 185.4, 756.6,
-184.7, 751.5, 184.6, 751.1, 184.7, 751.0, 184.6, 750.6, 192.1, 756.1,
-191.9, 756.3, 199.2, 762.1, 204.7, 766.3, 208.8, 765.3, 210.2, 770.6,
-156.0, 542.8, 153.2, 522.1, 153.2, 522.1, 150.3, 501.5, 169.4, 477.1,
-168.7, 476.5, 187.1, 451.5, 174.1, 457.5, 180.4, 471.0, 173.8, 490.6,
-173.3, 491.8, 173.3, 491.8, 172.9, 493.1, 172.9, 493.2, 172.9, 493.2,
-172.8, 493.4, 170.6, 500.0, 170.6, 500.0, 168.3, 506.7, 165.8, 514.0,
-165.8, 514.0, 163.3, 521.4, 159.6, 532.1, 152.2, 536.9, 156.0, 542.8,
-224.3, 529.2, 225.0, 523.0, 227.6, 517.0, 228.5, 517.2, 229.2, 517.3,
-228.1, 523.5, 227.6, 529.8, 227.1, 537.3, 227.1, 537.3, 226.5, 544.9,
-223.5, 586.4, 225.4, 586.6, 220.5, 627.8, 217.3, 628.6, 218.1, 631.9,
-215.7, 636.0, 217.8, 582.5, 218.6, 582.4, 224.3, 529.2, 348.9, 883.3,
-337.1, 885.5, 330.9, 889.1, 324.4, 882.9, 320.9, 879.5, 326.7, 873.5,
-329.0, 864.1, 329.5, 862.2, 329.5, 862.2, 329.9, 860.4, 336.9, 831.8,
-354.5, 813.4, 343.8, 803.1, 363.8, 822.4, 346.2, 840.7, 348.6, 878.3,
-348.7, 880.8, 349.2, 883.2, 348.9, 883.3, 415.7, 165.8, 422.4, 176.3,
-422.4, 176.3, 429.1, 186.9, 423.5, 197.5, 429.9, 201.0, 430.8, 215.1,
-431.2, 225.7, 431.1, 225.7, 432.1, 236.3, 432.8, 301.4, 436.0, 301.4,
-439.9, 366.4, 439.3, 344.4, 437.2, 344.4, 434.6, 322.4, 429.7, 281.8,
-429.7, 281.8, 424.8, 241.2, 422.1, 218.7, 422.1, 218.7, 419.4, 196.3,
-417.8, 183.6, 417.8, 183.6, 416.3, 171.0, 416.0, 168.4, 417.1, 167.5,
-415.7, 165.8, 101.2, 144.6, 99.2, 144.7, 92.1, 120.2, 94.7, 97.2,
-103.9, 91.9, 101.6, 87.9, 108.5, 78.6, 110.8, 77.7, 113.0, 83.2,
-117.6, 87.9, 121.3, 91.7, 125.8, 93.0, 125.1, 95.6, 117.7, 121.4,
-114.4, 143.8, 101.2, 144.6, 125.1, 95.6, 124.6, 96.2, 129.7, 98.4,
-131.9, 102.5, 136.9, 115.6, 133.5, 119.1, 142.6, 128.4, 137.9, 130.9,
-134.7, 129.7, 133.2, 133.5, 117.6, 142.0, 118.6, 144.8, 102.0, 150.6,
-102.6, 150.4, 100.2, 147.0, 101.2, 144.6, 114.4, 143.8, 117.7, 121.4,
-125.1, 95.6, 117.6, 87.9, 113.0, 83.2, 110.8, 77.7, 108.5, 78.6,
-120.5, 62.4, 130.6, 63.5, 132.6, 46.2, 136.3, 47.5, 137.3, 46.4,
-140.0, 48.9, 141.8, 49.5, 141.8, 49.5, 143.5, 50.2, 158.4, 55.7,
-158.7, 55.1, 173.3, 61.2, 173.1, 61.1, 172.9, 61.9, 172.3, 62.2,
-145.1, 75.3, 146.4, 80.5, 117.6, 87.9, 172.3, 62.2, 164.6, 64.4,
-165.9, 69.1, 159.4, 76.0, 146.4, 90.0, 147.1, 90.7, 133.3, 103.9,
-132.6, 103.2, 132.2, 103.4, 131.9, 102.5, 129.7, 98.4, 124.6, 96.2,
-125.1, 95.6, 125.8, 93.0, 121.3, 91.7, 117.6, 87.9, 146.4, 80.5,
-145.1, 75.3, 172.3, 62.2, 135.1, 105.7, 134.2, 104.8, 134.2, 104.8,
-133.3, 103.9, 147.1, 90.7, 146.4, 90.0, 159.4, 76.0, 160.9, 77.5,
-148.2, 91.7, 135.1, 105.7, 143.5, 50.2, 141.8, 49.5, 141.8, 49.5,
-140.0, 48.9, 132.1, 41.6, 132.0, 40.2, 122.0, 36.6, 158.4, 27.2,
-158.4, 27.2, 194.7, 17.8, 195.2, 17.7, 195.2, 17.7, 195.7, 17.5,
-195.6, 18.0, 195.1, 17.9, 194.6, 18.2, 169.0, 34.2, 169.7, 35.4,
-143.5, 50.2, 210.8, 66.8, 207.8, 66.4, 207.8, 66.4, 204.7, 66.0,
-205.6, 39.5, 199.5, 33.8, 212.6, 13.1, 227.9, 9.2, 227.9, 9.2,
-243.2, 5.2, 235.9, 15.3, 241.7, 19.5, 240.1, 33.8, 230.1, 52.8,
-227.1, 52.1, 210.8, 66.8, 240.1, 33.8, 239.6, 38.3, 241.4, 39.6,
-239.1, 42.7, 234.1, 55.0, 237.6, 56.4, 236.1, 70.1, 225.0, 65.1,
-223.5, 68.4, 210.8, 66.8, 227.1, 52.1, 230.1, 52.8, 240.1, 33.8,
-169.9, 145.9, 171.0, 158.5, 171.0, 158.5, 172.1, 171.1, 170.6, 173.2,
-170.5, 173.8, 170.7, 176.4, 169.6, 178.8, 169.5, 178.8, 167.7, 180.7,
-135.3, 199.1, 139.8, 207.9, 113.9, 236.9, 114.0, 236.7, 113.7, 236.5,
-113.8, 236.3, 141.7, 191.0, 135.0, 185.0, 169.9, 145.9, 142.6, 822.9,
-142.5, 811.8, 142.5, 811.8, 142.5, 800.7, 139.1, 739.4, 143.1, 739.2,
-143.6, 677.7, 143.1, 739.2, 139.1, 739.4, 142.5, 800.7, 142.5, 811.8,
-142.5, 811.8, 142.6, 822.9, 100.4, 664.5, 99.7, 666.1, 98.9, 666.1,
-99.0, 667.8, 96.8, 655.3, 96.8, 655.3, 94.7, 642.9, 94.4, 641.6,
-94.8, 641.5, 95.0, 640.0, 94.9, 629.7, 97.5, 629.7, 100.1, 619.4,
-104.9, 640.9, 100.9, 641.9, 100.4, 664.5, 107.3, 369.1, 122.8, 412.0,
-109.9, 423.8, 138.4, 454.9, 138.8, 458.8, 138.1, 459.0, 139.2, 462.7,
-139.3, 461.7, 138.0, 461.7, 137.6, 460.5, 133.2, 448.6, 133.6, 448.4,
-129.6, 436.3, 118.4, 402.7, 122.3, 400.9, 107.3, 369.1, 38.1, 318.9,
-37.1, 313.2, 37.1, 313.2, 36.1, 307.5, 41.0, 287.6, 38.8, 286.4,
-37.6, 265.6, 36.7, 258.7, 37.8, 258.5, 38.1, 251.5, 37.7, 250.5,
-55.0, 249.8, 60.9, 240.9, 64.0, 249.4, 64.0, 249.4, 67.0, 257.9,
-67.4, 260.4, 65.7, 260.7, 64.4, 263.4, 62.8, 266.8, 62.8, 266.8,
-61.2, 270.1, 49.7, 294.5, 53.0, 296.7, 38.1, 318.9, 75.3, 375.5,
-75.1, 375.7, 76.4, 376.3, 76.5, 377.0, 76.7, 393.4, 76.1, 393.5,
-75.8, 409.9, 69.3, 428.3, 72.7, 430.8, 75.1, 451.0, 74.5, 479.7,
-74.5, 479.7, 74.0, 508.4, 74.0, 509.4, 73.7, 509.4, 73.9, 510.3,
-72.6, 499.3, 71.7, 499.4, 69.5, 488.4, 64.4, 448.5, 62.0, 448.8,
-54.6, 409.2, 55.5, 391.8, 64.2, 391.8, 75.3, 375.5, 54.6, 409.2,
-49.6, 382.7, 49.8, 382.7, 44.6, 356.3, 44.4, 354.9, 44.9, 354.0,
-44.2, 353.6, 59.7, 362.8, 59.2, 363.6, 74.1, 373.8, 74.2, 373.9,
-74.1, 374.0, 74.3, 374.1, 74.8, 374.8, 75.5, 375.2, 75.3, 375.5,
-64.2, 391.8, 55.5, 391.8, 54.6, 409.2, 124.4, 503.4, 112.1, 498.8,
-111.2, 494.5, 104.4, 482.2, 106.0, 456.0, 93.7, 455.2, 83.1, 428.3,
-106.5, 437.0, 99.0, 457.2, 114.9, 486.1, 119.6, 494.7, 117.4, 500.8,
-124.4, 503.4, 81.3, 457.6, 92.8, 469.9, 105.1, 470.7, 104.4, 482.2,
-111.2, 494.5, 112.1, 498.8, 124.4, 503.4, 124.6, 503.6, 124.8, 503.8,
-124.8, 503.8, 118.5, 510.7, 114.8, 518.5, 111.8, 517.1, 102.1, 512.9,
-105.6, 505.0, 99.3, 492.8, 90.3, 475.2, 76.1, 468.4, 81.3, 457.6,
-96.7, 598.9, 93.4, 608.1, 90.6, 608.0, 90.2, 617.3, 87.2, 600.2,
-88.1, 600.0, 84.2, 583.1, 83.7, 575.4, 82.9, 575.5, 81.6, 567.8,
-92.0, 581.1, 93.8, 582.6, 96.7, 598.9, 10.2, 469.4, 10.1, 481.1,
-10.1, 481.1, 9.9, 492.8, -6.0, 452.8, -7.8, 453.5, -25.5, 414.1,
--25.9, 441.5, -3.1, 439.7, 10.2, 469.4, 22.9, 401.7, 23.1, 435.6,
-23.1, 435.6, 23.2, 469.6, 10.5, 436.0, 8.9, 436.6, -5.3, 403.6,
--5.3, 402.7, 21.1, 397.3, 22.9, 401.7, 16.6, 341.0, 16.6, 347.1,
-16.6, 347.1, 16.7, 353.2, 12.1, 349.8, 1.7, 353.8, 1.7, 354.3,
--2.9, 353.3, -5.9, 347.4, -6.7, 348.2, 1.5, 340.8, 6.2, 338.8,
-16.6, 341.0, 41.7, 339.3, 42.9, 346.4, 40.0, 349.1, 44.2, 353.6,
-44.9, 354.0, 44.4, 354.9, 44.6, 356.3, 46.6, 366.3, 46.4, 366.3,
-48.2, 376.4, 36.8, 416.2, 34.9, 416.1, 28.1, 456.8, 27.0, 439.3,
-27.0, 439.3, 25.8, 421.8, 20.2, 411.2, 26.2, 408.0, 26.7, 394.2,
-26.7, 393.2, 26.7, 393.2, 26.8, 392.2, 34.0, 365.7, 30.5, 364.1,
-41.7, 339.3, 26.8, 392.2, 28.7, 347.1, 29.3, 347.1, 30.7, 302.0,
-30.7, 301.8, 30.7, 301.8, 30.7, 301.5, 32.8, 313.5, 34.8, 313.2,
-39.1, 324.7, 39.4, 325.6, 39.3, 325.6, 39.5, 326.5, 43.2, 329.6,
-40.6, 332.9, 41.7, 339.3, 30.5, 364.1, 34.0, 365.7, 26.8, 392.2,
-55.9, 700.7, 49.6, 692.7, 49.6, 692.7, 43.3, 684.7, 51.2, 675.0,
-40.9, 659.4, 28.8, 640.3, 35.6, 641.6, 35.6, 641.6, 42.5, 643.0,
-49.8, 654.0, 45.7, 656.7, 48.9, 670.5, 49.3, 672.3, 49.3, 672.3,
-49.7, 674.1, 52.8, 687.4, 61.0, 692.4, 55.9, 700.7, 782.5, 583.1,
-784.1, 591.8, 781.5, 601.4, 777.5, 602.0, 768.9, 594.4, 768.9, 594.4,
-760.4, 586.8, 759.7, 586.2, 760.7, 585.0, 760.1, 584.4, 759.3, 578.0,
-759.3, 578.0, 758.5, 571.7, 756.7, 556.1, 756.7, 556.1, 754.8, 540.6,
-751.3, 539.8, 756.0, 528.8, 752.2, 518.9, 751.4, 512.5, 751.4, 512.5,
-750.7, 506.1, 750.4, 503.8, 751.0, 503.5, 750.1, 501.5, 758.6, 521.0,
-758.0, 521.3, 765.8, 541.1, 774.1, 562.1, 778.3, 561.3, 782.5, 583.1,
-797.6, 609.5, 797.4, 609.5, 797.2, 611.1, 796.8, 612.7, 796.7, 613.2,
-796.7, 613.2, 796.5, 613.7, 796.0, 615.9, 795.4, 618.0, 795.5, 618.0,
-792.8, 613.9, 791.7, 614.6, 787.9, 611.3, 788.4, 609.3, 793.0, 608.8,
-797.6, 609.5, 741.2, 516.5, 748.0, 528.5, 745.8, 538.6, 754.8, 540.6,
-756.7, 556.1, 756.7, 556.1, 758.5, 571.7, 744.7, 547.0, 744.6, 544.7,
-741.2, 516.5, 712.4, 429.4, 728.2, 440.2, 728.2, 440.2, 744.0, 451.0,
-747.0, 452.1, 744.9, 457.9, 745.7, 464.8, 726.1, 451.4, 714.7, 448.8,
-712.4, 429.4, 790.4, 654.6, 788.9, 653.1, 787.0, 652.4, 787.3, 651.6,
-788.2, 647.9, 787.8, 644.4, 789.1, 644.2, 795.2, 639.9, 791.5, 634.7,
-793.8, 625.1, 795.5, 639.4, 793.9, 640.3, 790.4, 654.6, 864.8, 595.8,
-886.2, 616.7, 887.3, 615.6, 907.5, 637.7, 906.2, 638.7, 906.2, 638.7,
-904.9, 639.8, 903.8, 641.2, 900.4, 638.7, 895.8, 637.6, 878.7, 618.8,
-880.6, 617.1, 865.4, 596.6, 865.0, 596.2, 865.1, 596.1, 864.8, 595.8,
-867.3, 550.9, 874.2, 547.6, 877.6, 549.8, 881.1, 544.3, 882.5, 544.0,
-882.9, 545.5, 884.7, 546.7, 889.0, 549.7, 889.0, 549.7, 893.3, 552.6,
-894.4, 554.0, 894.9, 553.7, 896.4, 554.7, 898.2, 559.5, 897.2, 559.8,
-897.9, 564.9, 897.9, 565.1, 897.9, 565.1, 897.9, 565.3, 887.3, 560.5,
-887.4, 560.3, 876.8, 555.4, 872.1, 553.1, 867.2, 551.2, 867.3, 550.9,
-944.3, 587.3, 944.5, 587.5, 944.7, 587.5, 944.7, 587.6, 944.5, 594.2,
-941.1, 599.0, 944.0, 600.9, 941.0, 598.8, 944.0, 594.1, 944.3, 587.3,
-699.3, 568.1, 694.8, 574.1, 694.8, 574.1, 690.4, 580.0, 689.6, 578.7,
-683.9, 579.2, 682.0, 581.7, 676.7, 578.5, 678.1, 576.1, 674.6, 570.2,
-674.6, 570.3, 674.8, 570.2, 675.1, 570.2, 678.1, 569.9, 678.1, 569.9,
-681.0, 569.7, 683.3, 569.5, 683.3, 569.5, 685.5, 569.3, 689.4, 569.0,
-689.4, 569.0, 693.3, 568.6, 696.3, 568.4, 699.0, 569.1, 699.3, 568.1,
-902.2, 454.4, 901.6, 452.4, 906.3, 450.0, 905.6, 449.0, 911.4, 456.8,
-909.0, 458.6, 912.4, 468.1, 913.8, 472.2, 916.2, 472.8, 915.3, 476.2,
-915.9, 473.9, 913.5, 473.3, 911.8, 470.4, 907.0, 462.4, 904.7, 463.1,
-902.2, 454.4, 904.5, 446.0, 904.0, 446.7, 905.9, 447.7, 905.6, 449.0,
-906.3, 450.0, 901.6, 452.4, 902.2, 454.4, 895.7, 464.8, 895.7, 464.8,
-889.2, 475.3, 886.7, 479.4, 886.2, 479.1, 884.2, 483.4, 888.4, 474.4,
-888.9, 474.6, 893.7, 465.8, 899.1, 455.9, 898.0, 455.1, 904.5, 446.0,
-928.2, 451.2, 930.0, 463.3, 930.9, 463.2, 931.8, 475.4, 932.5, 482.0,
-932.5, 482.0, 933.3, 488.7, 930.5, 470.0, 930.2, 470.0, 928.2, 451.2,
-903.2, 344.7, 903.5, 345.5, 903.5, 345.5, 903.7, 346.4, 890.9, 348.1,
-892.3, 365.7, 883.1, 385.9, 878.4, 386.3, 876.6, 367.7, 870.1, 349.6,
-868.2, 335.8, 865.3, 336.2, 860.5, 322.8, 870.9, 319.1, 869.6, 315.5,
-878.7, 308.3, 895.8, 317.0, 891.2, 326.3, 903.2, 344.7, 878.7, 308.3,
-884.3, 303.7, 887.6, 305.1, 890.0, 299.2, 896.6, 321.9, 896.6, 321.9,
-903.2, 344.7, 891.2, 326.3, 895.8, 317.0, 878.7, 308.3, 881.9, 476.0,
-884.0, 479.6, 882.6, 480.5, 883.2, 484.9, 883.7, 488.2, 882.5, 489.1,
-884.2, 491.5, 852.8, 448.7, 850.1, 450.0, 823.9, 404.0, 822.2, 402.7,
-825.8, 398.3, 827.8, 392.5, 836.4, 396.3, 833.9, 401.9, 840.0, 411.3,
-860.9, 443.7, 862.4, 442.8, 881.9, 476.0, 818.3, 452.4, 792.2, 417.7,
-787.3, 419.8, 768.3, 381.2, 774.6, 378.8, 775.0, 379.5, 781.0, 376.4,
-782.5, 375.6, 782.6, 375.8, 784.2, 375.2, 788.2, 380.2, 786.9, 381.2,
-789.5, 387.2, 790.0, 388.3, 790.0, 388.3, 790.5, 389.3, 801.8, 415.0,
-801.8, 415.0, 813.2, 440.7, 815.7, 446.5, 814.6, 447.4, 818.3, 452.4,
-466.5, 128.1, 478.5, 122.4, 479.7, 123.8, 493.2, 122.4, 500.4, 125.4,
-501.4, 123.1, 509.6, 123.7, 499.2, 128.7, 497.4, 124.9, 485.3, 126.2,
-475.9, 127.1, 474.5, 124.3, 466.5, 128.1, 585.0, 128.1, 613.5, 142.1,
-613.5, 142.1, 641.9, 156.2, 676.6, 173.2, 676.6, 173.2, 711.3, 190.3,
-757.7, 213.1, 757.7, 213.1, 804.0, 236.0, 817.2, 242.5, 818.0, 241.3,
-830.4, 249.0, 854.6, 265.6, 854.6, 265.6, 878.8, 282.3, 875.3, 279.8,
-874.9, 280.3, 871.1, 278.3, 836.2, 260.0, 836.2, 260.0, 801.3, 241.7,
-762.4, 221.2, 762.4, 221.2, 723.5, 200.8, 706.2, 191.7, 706.2, 191.7,
-689.0, 182.7, 673.1, 174.3, 673.1, 174.3, 657.2, 166.0, 632.0, 152.8,
-632.0, 152.8, 606.8, 139.6, 596.9, 134.4, 596.9, 134.4, 587.0, 129.2,
-586.0, 128.7, 586.0, 128.6, 585.0, 128.1, 641.9, 156.2, 613.0, 150.9,
-614.5, 142.7, 587.0, 129.2, 586.0, 128.7, 586.0, 128.6, 585.0, 128.1,
-580.8, 126.0, 580.8, 126.0, 576.5, 124.0, 566.5, 119.0, 565.8, 120.1,
-556.4, 114.1, 555.2, 111.7, 555.5, 109.5, 554.1, 109.4, 561.4, 107.8,
-561.4, 107.8, 568.7, 106.2, 569.6, 106.1, 569.7, 106.9, 570.7, 107.6,
-589.3, 120.3, 589.3, 120.3, 607.9, 133.0, 624.9, 144.6, 623.4, 152.8,
-641.9, 156.2, 590.7, 210.4, 578.2, 197.1, 578.8, 196.4, 565.6, 183.9,
-548.2, 162.6, 553.1, 149.7, 530.8, 141.2, 526.6, 134.1, 522.8, 135.7,
-520.2, 128.3, 518.5, 126.3, 518.5, 126.3, 516.9, 124.3, 517.6, 122.8,
-515.0, 119.1, 512.1, 118.4, 514.9, 117.8, 514.9, 117.8, 517.7, 117.1,
-543.3, 151.0, 550.0, 147.0, 585.7, 172.0, 592.1, 178.0, 592.9, 180.0,
-594.1, 188.7, 595.5, 199.2, 590.6, 210.4, 590.7, 210.4, 594.1, 188.7,
-611.0, 203.2, 605.0, 210.3, 615.8, 231.9, 618.6, 237.3, 617.0, 239.1,
-621.3, 242.7, 607.9, 225.1, 606.0, 226.5, 590.7, 210.4, 590.6, 210.4,
-595.5, 199.2, 594.1, 188.7, 639.5, 294.1, 653.6, 308.4, 653.1, 308.9,
-667.7, 322.6, 668.5, 315.8, 652.9, 313.9, 638.2, 305.2, 631.6, 301.3,
-631.6, 301.3, 625.1, 297.5, 617.2, 292.8, 617.2, 292.8, 609.4, 288.2,
-606.9, 286.8, 606.9, 286.8, 604.4, 285.3, 563.4, 261.1, 563.4, 261.1,
-522.4, 236.9, 515.1, 232.6, 515.4, 231.9, 507.7, 228.3, 542.5, 244.8,
-542.1, 245.5, 576.5, 262.7, 583.2, 266.0, 583.2, 266.0, 589.9, 269.3,
-614.7, 281.7, 616.9, 278.6, 639.5, 294.1, 645.5, 326.8, 643.2, 325.5,
-644.4, 323.5, 643.3, 320.2, 640.7, 312.7, 641.4, 305.5, 638.2, 305.2,
-652.9, 313.9, 668.5, 315.8, 667.7, 322.6, 670.3, 325.0, 671.5, 323.8,
-674.0, 326.3, 678.1, 330.1, 680.1, 328.1, 683.8, 332.1, 690.2, 338.1,
-692.1, 336.9, 696.7, 344.0, 707.9, 354.5, 705.9, 360.5, 719.2, 365.0,
-680.3, 351.9, 681.2, 347.8, 645.5, 326.8, 719.2, 365.0, 720.8, 365.9,
-721.7, 367.9, 722.0, 367.6, 711.7, 372.6, 711.7, 372.6, 701.4, 377.5,
-691.7, 348.8, 673.6, 331.1, 647.2, 331.9, 645.5, 330.3, 647.2, 327.6,
-645.5, 326.8, 681.2, 347.8, 680.3, 351.9, 719.2, 365.0, 557.8, 293.0,
-554.0, 281.8, 548.5, 283.7, 539.3, 274.3, 538.9, 273.8, 538.9, 273.7,
-538.5, 273.3, 507.0, 241.3, 500.5, 245.8, 475.5, 209.3, 485.1, 223.3,
-491.6, 218.8, 507.7, 228.3, 515.4, 231.9, 515.1, 232.6, 522.4, 236.9,
-528.3, 242.6, 526.9, 244.1, 531.4, 251.2, 544.6, 272.1, 550.1, 270.2,
-557.8, 293.0, 642.2, 378.7, 633.8, 370.2, 634.8, 368.9, 625.4, 361.6,
-617.9, 362.6, 616.6, 352.7, 607.8, 343.7, 603.3, 334.3, 607.1, 332.5,
-606.5, 321.3, 605.9, 310.6, 602.1, 301.3, 605.3, 300.0, 605.8, 299.8,
-609.5, 309.1, 613.8, 318.3, 628.0, 348.5, 633.7, 347.0, 642.2, 378.7,
-539.3, 274.3, 568.9, 309.5, 571.0, 308.0, 598.4, 345.0, 592.2, 341.2,
-592.2, 341.2, 586.0, 337.3, 562.7, 309.6, 564.4, 308.2, 542.8, 279.0,
-542.2, 278.3, 542.2, 278.2, 541.6, 277.4, 540.5, 275.8, 540.5, 275.8,
-539.3, 274.3, 752.7, 51.9, 761.8, 53.9, 768.8, 63.8, 769.2, 63.4,
-761.8, 72.8, 753.9, 66.6, 738.7, 69.9, 734.5, 70.8, 731.7, 69.2,
-730.2, 71.7, 735.2, 63.3, 738.0, 64.9, 745.7, 58.1, 749.2, 55.0,
-750.0, 51.3, 752.7, 51.9, 646.9, 36.3, 643.1, 40.5, 643.9, 42.0,
-639.3, 44.6, 605.0, 68.1, 605.0, 68.1, 570.6, 91.6, 571.5, 91.2,
-568.6, 86.9, 569.6, 86.2, 606.8, 59.2, 607.4, 59.9, 646.9, 36.3,
-570.6, -20.1, 571.5, -18.3, 569.8, -17.4, 568.9, -14.7, 563.3, 3.6,
-558.4, 22.2, 557.7, 22.0, 548.9, 19.7, 553.8, 1.1, 549.9, -19.7,
-557.9, -30.8, 554.3, -47.9, 542.7, -58.6, 542.5, -60.0, 545.4, -61.3,
-545.1, -61.8, 559.4, -42.1, 559.6, -41.9, 570.6, -20.1, 545.1, -61.8,
-544.5, -62.9, 546.5, -63.9, 548.0, -65.9, 548.5, -66.6, 548.5, -66.6,
-549.1, -67.4, 551.3, -70.5, 551.3, -70.5, 553.5, -73.6, 555.1, -74.3,
-554.4, -76.4, 555.8, -76.8, 573.0, -82.6, 573.8, -87.4, 590.9, -86.2,
-589.5, -86.3, 589.1, -80.4, 587.3, -74.6, 582.2, -57.8, 582.2, -57.8,
-577.0, -41.0, 573.8, -30.5, 568.1, -21.8, 570.6, -20.1, 559.6, -41.9,
-559.4, -42.1, 545.1, -61.8, 372.6, 57.9, 363.0, 19.9, 364.2, 19.6,
-353.5, -18.0, 364.4, -22.7, 397.1, 8.3, 406.0, 43.4, 406.7, 46.2,
-376.1, 61.9, 372.6, 57.9, 413.0, -8.1, 406.0, -8.8, 406.1, -14.5,
-400.1, -21.7, 400.6, -21.2, 401.0, -21.6, 402.0, -21.5, 407.8, -20.9,
-407.8, -20.9, 413.6, -20.3, 432.0, -18.4, 432.0, -18.4, 450.5, -16.5,
-460.8, -15.4, 461.5, -12.2, 471.0, -14.3, 442.7, -8.0, 441.4, -5.2,
-413.0, -8.1, 376.9, -24.1, 383.0, -17.7, 390.0, -26.2, 400.1, -21.7,
-406.1, -14.5, 406.0, -8.8, 413.0, -8.1, 426.1, 5.7, 426.1, 5.7,
-439.2, 19.5, 452.4, 33.4, 452.6, 33.3, 465.6, 47.3, 464.7, 46.3,
-464.5, 46.4, 463.4, 45.6, 462.7, 45.0, 462.7, 45.0, 462.0, 44.4,
-419.5, 10.2, 413.9, 15.4, 376.9, -24.1, 543.4, -71.1, 548.5, -72.3,
-548.9, -71.4, 553.5, -73.6, 551.3, -70.5, 551.3, -70.5, 549.1, -67.4,
-546.8, -66.8, 543.5, -71.2, 543.4, -71.1, 198.8, 306.6, 206.3, 283.4,
-210.0, 283.9, 213.8, 260.1, 214.4, 260.4, 214.8, 260.9, 215.0, 260.7,
-220.4, 263.4, 226.1, 264.6, 225.8, 266.0, 222.7, 280.5, 217.0, 279.3,
-208.2, 292.5, 203.5, 299.5, 200.1, 299.0, 198.8, 306.6, 147.1, 478.3,
-146.6, 474.8, 146.6, 474.8, 146.2, 471.3, 146.7, 466.2, 147.4, 466.2,
-149.0, 461.3, 169.4, 397.4, 166.0, 396.1, 190.1, 333.6, 191.7, 329.4,
-197.8, 326.4, 200.5, 328.0, 201.3, 328.4, 198.8, 332.8, 197.1, 337.6,
-193.8, 346.9, 193.8, 346.9, 190.4, 356.3, 186.4, 367.7, 186.4, 367.7,
-182.4, 379.0, 167.7, 420.4, 167.8, 420.5, 153.1, 461.8, 153.0, 462.3,
-152.8, 462.2, 152.7, 462.6, 150.9, 467.6, 150.9, 467.6, 149.2, 472.6,
-148.1, 475.5, 146.9, 478.2, 147.1, 478.3, 154.3, 442.2, 152.4, 449.0,
-150.5, 455.9, 150.5, 455.9, 149.7, 458.6, 149.0, 461.3, 149.0, 461.3,
-147.4, 466.2, 146.7, 466.2, 146.2, 471.3, 144.2, 457.2, 144.2, 457.2,
-142.3, 443.2, 144.3, 393.2, 143.9, 393.2, 145.6, 343.2, 145.5, 345.7,
-145.8, 345.7, 146.0, 348.1, 147.8, 368.2, 147.8, 368.2, 149.5, 388.3,
-149.9, 392.5, 149.9, 392.5, 150.3, 396.7, 152.3, 419.4, 154.2, 419.4,
-154.3, 442.2, 179.6, 252.5, 179.3, 254.6, 178.6, 254.5, 177.5, 256.5,
-176.7, 258.1, 176.2, 259.8, 175.9, 259.7, 165.2, 256.7, 165.2, 255.9,
-155.5, 250.4, 156.0, 249.5, 156.0, 249.5, 156.5, 248.6, 168.7, 225.0,
-162.9, 207.3, 180.9, 201.5, 174.6, 203.5, 180.4, 221.2, 179.9, 241.0,
-179.8, 246.7, 180.5, 246.8, 179.6, 252.5, 158.1, 293.8, 157.1, 294.1,
-157.4, 294.9, 156.8, 296.1, 151.6, 306.0, 151.6, 306.0, 146.4, 316.0,
-133.8, 320.3, 129.9, 332.1, 129.3, 348.8, 126.7, 329.9, 126.7, 329.9,
-124.1, 311.0, 124.0, 309.1, 124.5, 307.9, 126.2, 307.0, 141.5, 299.2,
-141.8, 299.5, 158.1, 293.8, 126.2, 307.0, 128.3, 307.6, 131.2, 297.3,
-136.3, 287.5, 137.6, 285.0, 137.6, 285.0, 138.9, 282.6, 138.9, 282.6,
-147.2, 266.5, 155.5, 250.4, 165.2, 255.9, 165.2, 256.7, 175.9, 259.7,
-178.1, 263.9, 172.0, 267.1, 168.1, 274.5, 163.1, 284.1, 165.8, 287.7,
-158.1, 293.8, 141.8, 299.5, 141.5, 299.2, 126.2, 307.0, 136.3, 287.5,
-131.2, 297.3, 128.3, 307.6, 126.2, 307.0, 124.5, 307.9, 124.0, 309.1,
-124.1, 311.0, 121.5, 292.0, 120.5, 292.1, 118.9, 272.9, 118.7, 271.9,
-118.7, 271.9, 118.6, 270.9, 117.5, 263.1, 114.0, 261.7, 116.4, 255.3,
-129.2, 247.8, 136.6, 240.3, 134.9, 228.4, 137.5, 226.5, 136.8, 225.6,
-138.8, 222.8, 141.1, 225.7, 138.6, 227.7, 138.4, 232.7, 137.5, 255.7,
-137.5, 255.7, 136.6, 278.7, 136.5, 283.1, 137.7, 283.6, 136.3, 287.5,
-467.1, 684.1, 471.3, 693.5, 468.6, 699.9, 475.5, 702.9, 476.7, 715.9,
-476.8, 715.9, 478.0, 728.9, 480.1, 750.5, 480.0, 750.5, 482.0, 772.1,
-482.3, 775.1, 482.3, 775.1, 482.5, 778.1, 483.9, 793.3, 485.3, 808.6,
-485.3, 808.6, 486.4, 819.9, 486.4, 819.9, 487.4, 831.1, 488.3, 840.2,
-487.8, 840.3, 489.1, 849.3, 483.2, 808.5, 483.6, 808.5, 478.2, 767.6,
-477.9, 765.3, 477.9, 765.2, 477.6, 762.9, 474.2, 737.2, 474.2, 737.2,
-470.8, 711.5, 469.0, 697.8, 461.8, 693.8, 467.1, 684.1, 537.5, 359.8,
-537.4, 359.8, 528.4, 376.3, 519.2, 392.8, 519.7, 404.5, 512.2, 404.8,
-505.5, 416.9, 507.3, 414.7, 505.3, 413.0, 505.1, 409.1, 504.5, 396.8,
-498.4, 392.8, 503.9, 384.4, 514.7, 368.1, 529.8, 355.6, 537.5, 359.8,
-503.9, 384.4, 505.6, 383.9, 503.6, 377.8, 503.3, 371.1, 503.1, 368.1,
-503.1, 368.1, 503.0, 365.1, 501.6, 337.8, 501.6, 337.8, 500.3, 310.6,
-500.0, 303.7, 503.1, 301.2, 499.6, 296.9, 519.1, 327.4, 519.1, 327.4,
-538.6, 357.9, 538.9, 358.3, 538.4, 359.2, 537.5, 359.8, 529.8, 355.6,
-514.7, 368.1, 503.9, 384.4, 481.0, 448.9, 480.0, 450.8, 484.4, 452.5,
-484.1, 455.6, 483.6, 460.0, 481.8, 459.8, 479.4, 464.0, 471.6, 478.1,
-471.6, 478.1, 463.8, 492.1, 463.8, 493.9, 462.7, 493.9, 461.7, 495.7,
-471.1, 472.2, 468.8, 470.9, 481.0, 448.9, 505.1, 409.1, 505.3, 413.0,
-507.3, 414.7, 505.5, 416.9, 505.4, 417.0, 505.6, 417.1, 505.5, 417.3,
-495.2, 435.9, 495.2, 435.8, 484.8, 454.4, 484.4, 455.0, 483.9, 455.4,
-484.1, 455.6, 484.4, 452.5, 480.0, 450.8, 481.0, 448.9, 480.5, 447.8,
-480.5, 447.8, 480.0, 446.7, 467.1, 418.0, 463.1, 419.2, 454.1, 389.4,
-455.0, 392.5, 459.0, 391.3, 463.9, 393.2, 484.5, 401.1, 486.1, 398.3,
-505.1, 409.1, 180.9, 723.4, 179.3, 711.9, 179.3, 711.9, 177.7, 700.4,
-188.2, 671.9, 189.3, 670.2, 209.1, 647.2, 209.0, 655.4, 209.2, 655.4,
-209.3, 663.7, 208.7, 667.8, 207.4, 667.6, 205.6, 671.5, 199.2, 685.0,
-199.2, 685.0, 192.8, 698.4, 186.8, 710.9, 188.3, 722.5, 180.9, 723.4,
-157.5, 553.7, 156.8, 548.2, 156.8, 548.2, 156.0, 542.8, 152.2, 536.9,
-159.6, 532.1, 163.3, 521.4, 165.9, 522.6, 161.2, 532.8, 159.2, 544.2,
-158.4, 549.0, 156.4, 553.2, 157.5, 553.7, 209.5, 646.5, 209.3, 646.8,
-209.1, 646.8, 209.1, 647.2, 189.3, 670.2, 188.2, 671.9, 177.7, 700.4,
-176.4, 690.9, 177.5, 690.6, 175.1, 681.5, 173.8, 677.2, 174.5, 677.0,
-173.9, 672.6, 177.4, 657.8, 178.9, 658.2, 184.0, 643.8, 187.0, 635.3,
-187.0, 635.3, 189.9, 626.9, 194.9, 612.9, 204.3, 603.4, 199.8, 598.9,
-214.1, 613.2, 204.9, 622.6, 209.5, 646.5, 199.8, 598.9, 204.3, 563.1,
-235.1, 554.2, 224.3, 529.2, 218.6, 582.4, 217.8, 582.5, 215.7, 636.0,
-212.6, 641.2, 212.6, 641.2, 209.5, 646.5, 204.9, 622.6, 214.1, 613.2,
-199.8, 598.9, 464.9, 784.3, 465.8, 799.3, 465.8, 799.3, 466.7, 814.3,
-464.5, 813.9, 459.0, 846.5, 451.3, 878.7, 452.4, 874.2, 451.9, 874.1,
-452.6, 869.4, 453.3, 865.0, 453.3, 865.0, 453.9, 860.5, 457.1, 838.5,
-457.1, 838.5, 460.2, 816.6, 462.5, 801.0, 462.5, 801.0, 464.7, 785.5,
-464.8, 784.9, 464.9, 784.9, 464.9, 784.3, 387.9, 282.3, 363.9, 266.8,
-367.7, 256.8, 355.0, 227.9, 354.1, 225.8, 357.9, 224.1, 360.7, 220.3,
-361.3, 219.5, 361.3, 219.5, 361.9, 218.8, 364.7, 215.0, 364.7, 215.0,
-367.6, 211.2, 372.2, 205.9, 371.9, 205.6, 376.1, 199.9, 376.0, 199.9,
-376.8, 204.7, 377.5, 209.4, 377.6, 210.3, 377.6, 210.3, 377.8, 211.3,
-380.0, 227.2, 380.0, 227.2, 382.3, 243.1, 382.5, 244.4, 382.5, 244.4,
-382.7, 245.8, 385.3, 264.0, 377.8, 275.8, 387.9, 282.3, 136.9, 107.6,
-136.0, 106.7, 136.0, 106.7, 135.1, 105.7, 148.2, 91.7, 160.9, 77.5,
-159.4, 76.0, 165.9, 69.1, 164.6, 64.4, 172.3, 62.2, 172.9, 61.9,
-173.1, 61.1, 173.3, 61.2, 174.9, 61.2, 174.9, 61.8, 176.5, 62.4,
-178.2, 59.9, 187.3, 66.3, 198.1, 70.3, 196.4, 70.1, 195.9, 73.5,
-193.8, 76.7, 166.2, 93.6, 165.9, 93.3, 136.9, 107.6, 193.8, 76.7,
-181.1, 95.5, 173.7, 93.6, 168.4, 114.3, 160.3, 118.7, 160.3, 118.7,
-152.1, 123.1, 149.7, 114.0, 144.5, 115.4, 136.9, 107.6, 165.9, 93.3,
-166.2, 93.6, 193.8, 76.7, 194.6, 18.2, 195.1, 17.9, 195.6, 18.0,
-195.7, 17.5, 204.2, 15.3, 204.2, 15.3, 212.6, 13.1, 199.5, 33.8,
-205.6, 39.5, 204.7, 66.0, 203.1, 65.8, 203.1, 65.8, 201.4, 65.6,
-196.5, 42.2, 197.4, 42.0, 194.6, 18.2, 201.4, 65.6, 189.0, 64.0,
-179.9, 57.6, 176.5, 62.4, 174.9, 61.8, 174.9, 61.2, 173.3, 61.2,
-158.7, 55.1, 158.4, 55.7, 143.5, 50.2, 169.7, 35.4, 169.0, 34.2,
-194.6, 18.2, 197.4, 42.0, 196.5, 42.2, 201.4, 65.6, 169.5, 141.3,
-169.7, 143.6, 169.7, 143.6, 169.9, 145.9, 135.0, 185.0, 141.7, 191.0,
-113.8, 236.3, 122.6, 230.0, 103.4, 212.0, 107.5, 190.5, 109.2, 182.0,
-116.5, 183.4, 125.4, 176.3, 147.5, 158.8, 146.3, 157.1, 169.5, 141.3,
-157.8, 679.7, 171.7, 714.9, 171.3, 715.1, 184.6, 750.6, 184.7, 751.0,
-184.6, 751.1, 184.7, 751.5, 185.4, 756.6, 185.4, 756.6, 186.1, 761.7,
-175.0, 733.1, 176.1, 732.7, 166.1, 703.6, 162.0, 691.7, 162.5, 691.5,
-157.8, 679.7, 120.7, 617.0, 117.1, 625.4, 113.4, 625.4, 113.5, 633.8,
-118.6, 641.1, 107.0, 649.1, 100.4, 664.5, 100.9, 641.9, 104.9, 640.9,
-100.1, 619.4, 102.4, 610.2, 102.4, 610.2, 104.7, 601.1, 126.7, 560.0,
-129.0, 559.9, 141.9, 515.4, 141.9, 517.7, 141.9, 517.7, 141.9, 520.0,
-131.8, 568.6, 132.7, 568.8, 120.7, 617.0, 141.9, 520.0, 142.0, 543.5,
-142.0, 543.5, 142.0, 567.0, 142.1, 567.7, 141.4, 567.7, 141.4, 568.5,
-144.0, 585.9, 125.7, 587.3, 125.1, 606.5, 126.2, 611.0, 122.9, 611.8,
-120.7, 617.0, 132.7, 568.8, 131.8, 568.6, 141.9, 520.0, 69.2, 152.0,
-67.3, 142.3, 67.1, 140.6, 70.8, 131.7, 69.4, 135.0, 72.3, 136.2,
-73.9, 140.7, 79.7, 157.5, 83.2, 157.1, 85.5, 174.4, 84.6, 167.9,
-81.1, 168.4, 76.7, 162.3, 73.0, 157.2, 70.3, 157.7, 69.2, 152.0,
-67.4, 174.6, 67.4, 174.8, 67.4, 174.8, 67.4, 175.0, 67.2, 178.0,
-67.2, 178.0, 66.9, 181.0, 64.6, 210.9, 69.8, 212.3, 62.3, 240.9,
-58.8, 233.2, 59.1, 225.6, 55.3, 225.4, 53.3, 220.0, 53.3, 220.0,
-51.4, 214.6, 54.3, 199.5, 57.2, 200.1, 63.0, 185.6, 63.0, 185.5,
-63.0, 185.5, 63.0, 185.5, 65.2, 180.0, 65.2, 180.0, 67.4, 174.6,
-55.5, 87.2, 51.3, 86.0, 53.0, 79.9, 50.5, 72.6, 49.1, 68.4,
-49.1, 68.4, 47.6, 64.1, 47.2, 62.9, 46.6, 62.8, 46.8, 61.7,
-47.1, 58.6, 46.5, 57.3, 48.5, 55.6, 51.1, 57.0, 52.5, 54.8,
-56.4, 53.5, 71.2, 48.0, 71.7, 49.5, 87.1, 45.6, 87.3, 45.5,
-87.3, 45.5, 87.6, 45.5, 84.6, 48.1, 88.5, 52.6, 89.5, 59.8,
-88.8, 71.2, 92.0, 76.9, 85.1, 82.4, 75.0, 90.6, 68.6, 90.9,
-55.5, 87.2, 85.1, 82.4, 93.5, 106.7, 82.1, 112.3, 73.9, 140.7,
-72.3, 136.2, 69.4, 135.0, 70.8, 131.7, 65.7, 116.8, 65.7, 116.8,
-60.6, 101.9, 58.2, 95.1, 58.2, 95.1, 55.9, 88.2, 55.7, 87.7,
-55.6, 87.2, 55.5, 87.2, 68.6, 90.9, 75.0, 90.6, 85.1, 82.4,
-93.3, 87.3, 94.0, 92.2, 96.3, 96.3, 94.7, 97.2, 92.1, 120.2,
-99.2, 144.7, 101.2, 144.6, 100.2, 147.0, 102.6, 150.4, 102.0, 150.6,
-104.8, 170.5, 104.8, 170.5, 107.5, 190.5, 103.4, 212.0, 122.6, 230.0,
-113.8, 236.3, 113.7, 236.5, 114.0, 236.7, 113.9, 236.9, 113.1, 237.7,
-114.8, 240.2, 114.4, 240.4, 111.2, 244.9, 118.9, 253.8, 116.4, 255.3,
-114.0, 261.7, 117.5, 263.1, 118.6, 270.9, 119.2, 266.7, 117.0, 266.4,
-115.5, 261.9, 104.1, 228.6, 97.0, 229.5, 92.6, 195.2, 85.9, 142.1,
-92.2, 141.2, 93.3, 87.3, 92.6, 195.2, 92.7, 191.9, 91.4, 191.9,
-90.3, 188.5, 87.9, 181.5, 87.9, 181.5, 85.5, 174.4, 83.2, 157.1,
-79.7, 157.5, 73.9, 140.7, 82.1, 112.3, 93.5, 106.7, 85.1, 82.4,
-92.0, 76.9, 88.8, 71.2, 89.5, 59.8, 91.4, 73.5, 91.4, 73.5,
-93.3, 87.3, 92.2, 141.2, 85.9, 142.1, 92.6, 195.2, 75.0, 344.2,
-75.5, 328.2, 75.6, 328.2, 76.0, 312.1, 76.6, 299.7, 83.2, 291.6,
-77.7, 287.3, 84.3, 305.5, 84.3, 305.5, 90.8, 323.7, 90.3, 334.3,
-75.0, 344.2, 75.0, 344.2, 75.7, 317.2, 73.9, 344.1, 72.8, 344.1,
-72.1, 371.0, 66.5, 363.4, 66.5, 363.4, 60.9, 355.8, 62.3, 336.1,
-82.3, 326.3, 75.7, 317.2, 114.9, 486.1, 99.0, 457.2, 106.5, 437.0,
-83.1, 428.3, 79.5, 419.1, 73.3, 416.9, 75.8, 409.9, 76.1, 393.5,
-76.7, 393.4, 76.5, 377.0, 75.7, 380.0, 79.3, 381.0, 82.2, 384.9,
-82.6, 385.4, 82.7, 385.3, 82.9, 385.9, 88.9, 404.1, 88.8, 404.2,
-94.6, 422.5, 104.7, 454.3, 119.4, 483.8, 114.9, 486.1, 74.0, 508.4,
-74.5, 479.7, 74.5, 479.7, 75.1, 451.0, 75.5, 454.7, 78.2, 454.3,
-81.3, 457.6, 76.1, 468.4, 90.3, 475.2, 99.3, 492.8, 97.9, 502.2,
-73.8, 508.0, 74.0, 508.4, 99.3, 492.8, 105.6, 505.0, 102.1, 512.9,
-111.8, 517.1, 106.8, 534.3, 97.8, 531.6, 83.8, 546.1, 81.2, 548.7,
-81.6, 549.3, 78.7, 551.4, 78.6, 550.6, 78.8, 550.4, 78.4, 549.9,
-76.2, 547.2, 79.2, 544.8, 77.0, 541.9, 71.5, 538.3, 75.4, 532.3,
-73.7, 522.7, 72.5, 516.8, 74.7, 516.4, 73.9, 510.3, 73.7, 509.4,
-74.0, 509.4, 74.0, 508.4, 73.8, 508.0, 97.9, 502.2, 99.3, 492.8,
-115.1, 546.9, 107.5, 568.2, 104.7, 567.6, 100.0, 589.5, 99.8, 594.3,
-98.3, 594.2, 96.7, 598.9, 93.8, 582.6, 92.0, 581.1, 81.6, 567.8,
-80.6, 562.5, 82.9, 560.1, 79.7, 557.1, 78.0, 556.0, 79.2, 554.2,
-78.7, 551.4, 81.6, 549.3, 81.2, 548.7, 83.8, 546.1, 99.1, 544.2,
-113.0, 541.4, 115.1, 546.9, 83.8, 546.1, 97.8, 531.6, 106.8, 534.3,
-111.8, 517.1, 114.8, 518.5, 118.5, 510.7, 124.8, 503.8, 125.4, 503.4,
-128.5, 505.7, 128.8, 508.0, 127.4, 512.0, 127.1, 511.9, 126.0, 515.9,
-124.2, 531.8, 120.5, 531.4, 115.1, 546.9, 113.0, 541.4, 99.1, 544.2,
-83.8, 546.1, -27.0, 410.9, -28.8, 406.8, -30.4, 406.9, -30.6, 402.7,
--32.6, 389.3, -29.2, 377.4, -34.5, 375.9, -34.7, 373.3, -32.7, 373.0,
--33.2, 370.6, -29.2, 388.7, -30.4, 389.0, -27.5, 407.4, -27.2, 409.2,
--27.8, 409.6, -27.0, 410.9, -22.3, 363.3, -25.0, 355.2, -24.5, 355.0,
--27.6, 347.1, -27.8, 346.5, -27.1, 346.3, -27.3, 345.7, -24.5, 354.4,
--20.5, 355.6, -22.3, 363.3, 2.2, 282.6, 9.2, 297.5, 18.3, 298.8,
-16.3, 312.3, 16.4, 326.7, 16.4, 326.7, 16.6, 341.0, 6.2, 338.8,
-1.5, 340.8, -6.7, 348.2, -16.5, 346.7, -15.9, 341.8, -24.8, 335.0,
--24.8, 335.0, -24.7, 334.8, -24.7, 334.6, -23.4, 329.3, -23.3, 329.4,
--22.1, 324.1, -11.1, 302.8, -14.7, 287.8, 2.2, 282.6, -22.1, 324.1,
--32.6, 302.0, -22.3, 289.0, -7.1, 263.0, -6.8, 272.9, -2.5, 272.8,
-2.2, 282.6, -14.7, 287.8, -11.1, 302.8, -22.1, 324.1, 48.9, 670.5,
-45.7, 656.7, 49.8, 654.0, 42.5, 643.0, 47.9, 644.1, 53.2, 643.6,
-53.4, 645.1, 59.0, 650.8, 62.8, 647.0, 72.2, 648.9, 70.0, 661.3,
-58.1, 672.3, 48.9, 670.5, 749.0, 492.6, 747.0, 491.5, 749.8, 485.2,
-748.1, 484.6, 762.9, 499.3, 767.1, 495.1, 786.1, 505.6, 785.1, 497.0,
-766.0, 502.0, 749.0, 492.6, 804.0, 583.1, 804.0, 596.3, 804.0, 598.2,
-797.6, 609.5, 793.0, 608.8, 788.4, 609.3, 787.9, 611.3, 783.2, 607.1,
-780.2, 601.8, 778.4, 602.8, 778.5, 602.6, 778.0, 602.4, 777.5, 602.0,
-781.5, 601.4, 784.1, 591.8, 782.5, 583.1, 787.8, 562.4, 787.8, 562.4,
-793.2, 541.7, 795.3, 533.5, 799.3, 532.4, 797.4, 525.2, 804.7, 553.1,
-803.9, 554.2, 804.0, 583.1, 797.4, 525.2, 797.1, 519.5, 798.1, 513.8,
-800.5, 513.5, 808.6, 518.0, 809.9, 516.5, 816.7, 522.4, 817.5, 523.1,
-818.2, 523.9, 818.4, 523.8, 815.5, 535.4, 814.9, 535.3, 812.7, 547.1,
-810.7, 555.2, 810.7, 555.2, 808.8, 563.4, 806.4, 573.2, 801.5, 574.7,
-804.0, 583.1, 803.9, 554.2, 804.7, 553.1, 797.4, 525.2, 713.5, 490.2,
-713.2, 490.0, 713.6, 489.3, 713.3, 489.1, 717.8, 492.9, 718.2, 492.3,
-723.2, 495.6, 722.6, 492.1, 718.1, 493.2, 713.5, 490.2, 744.7, 514.0,
-740.9, 511.5, 738.4, 508.1, 737.1, 509.1, 734.5, 506.4, 735.2, 505.7,
-733.3, 502.3, 732.5, 501.9, 732.8, 501.5, 732.3, 500.6, 738.7, 507.1,
-740.3, 506.3, 744.7, 514.0, 840.1, 624.8, 859.1, 643.0, 856.0, 656.1,
-878.0, 661.2, 875.3, 663.4, 875.3, 663.4, 872.6, 665.6, 862.1, 657.6,
-864.1, 655.0, 855.7, 644.3, 849.0, 635.9, 849.0, 635.9, 842.2, 627.4,
-841.2, 626.1, 841.3, 625.9, 840.1, 624.8, 839.5, 570.9, 839.5, 570.9,
-847.4, 578.7, 855.2, 586.5, 855.4, 586.6, 855.4, 586.6, 855.5, 586.8,
-860.1, 591.3, 860.2, 591.2, 864.8, 595.8, 865.1, 596.1, 865.0, 596.2,
-865.4, 596.6, 860.4, 591.7, 860.4, 591.7, 855.5, 586.8, 855.4, 586.6,
-855.4, 586.6, 855.2, 586.5, 847.4, 578.7, 839.5, 570.9, 839.5, 570.9,
-877.5, 603.6, 857.1, 585.8, 857.1, 585.8, 836.7, 568.0, 838.3, 567.7,
-839.8, 566.4, 839.6, 565.9, 839.5, 565.7, 842.7, 563.6, 845.9, 561.2,
-851.4, 552.7, 856.6, 556.1, 867.3, 550.9, 867.2, 551.2, 872.1, 553.1,
-876.8, 555.4, 881.3, 578.7, 884.1, 601.5, 877.5, 603.6, 876.8, 555.4,
-887.4, 560.3, 887.3, 560.5, 897.9, 565.3, 900.5, 583.4, 900.4, 583.4,
-903.1, 601.5, 904.2, 615.5, 904.8, 615.5, 907.1, 629.4, 892.3, 616.5,
-892.3, 616.5, 877.5, 603.6, 884.1, 601.5, 881.3, 578.7, 876.8, 555.4,
-924.9, 574.1, 934.6, 580.7, 934.6, 580.7, 944.3, 587.3, 944.0, 594.1,
-941.0, 598.8, 944.0, 600.9, 943.8, 604.9, 945.7, 606.7, 943.6, 608.8,
-926.1, 612.3, 927.9, 621.4, 912.2, 633.9, 912.3, 632.1, 910.0, 632.0,
-907.8, 630.0, 907.5, 626.4, 907.2, 626.4, 906.6, 622.8, 904.2, 604.5,
-903.8, 604.5, 901.1, 586.3, 904.6, 577.0, 913.1, 573.8, 924.9, 574.1,
-901.1, 586.3, 896.6, 584.8, 899.5, 575.8, 897.9, 565.3, 897.9, 565.1,
-897.9, 565.1, 897.9, 564.9, 897.2, 559.8, 898.2, 559.5, 896.4, 554.7,
-903.9, 559.8, 903.7, 560.0, 911.3, 564.9, 913.1, 566.1, 913.1, 566.1,
-915.0, 567.3, 915.1, 570.9, 919.9, 570.7, 924.9, 574.1, 913.1, 573.8,
-904.6, 577.0, 901.1, 586.3, 556.4, 358.5, 563.7, 373.2, 565.8, 372.2,
-575.2, 385.9, 582.9, 397.1, 582.9, 397.1, 590.6, 408.4, 612.9, 440.9,
-613.2, 440.7, 635.2, 473.4, 635.6, 474.9, 636.0, 474.9, 636.1, 476.4,
-637.2, 490.9, 632.9, 492.8, 638.3, 505.4, 638.4, 507.7, 638.1, 507.7,
-637.8, 510.0, 637.6, 511.1, 638.0, 511.3, 637.5, 512.3, 637.6, 512.1,
-637.2, 511.8, 636.9, 511.4, 596.6, 435.0, 594.5, 436.0, 556.4, 358.5,
-636.9, 511.4, 631.2, 500.0, 630.0, 500.6, 623.1, 489.8, 602.2, 457.1,
-602.2, 457.1, 581.3, 424.5, 580.7, 423.6, 580.7, 423.6, 580.1, 422.7,
-576.4, 416.8, 576.4, 416.8, 572.6, 410.9, 568.0, 403.6, 568.0, 403.6,
-563.3, 396.4, 554.4, 382.5, 554.4, 382.5, 545.5, 368.5, 542.6, 364.1,
-540.9, 364.5, 539.8, 359.6, 538.8, 344.7, 538.3, 344.7, 536.7, 329.8,
-545.6, 329.2, 548.0, 343.3, 556.4, 358.5, 594.5, 436.0, 596.6, 435.0,
-636.9, 511.4, 675.1, 570.2, 674.8, 570.2, 674.6, 570.3, 674.6, 570.2,
-665.5, 556.2, 665.7, 556.0, 656.7, 541.9, 653.1, 536.2, 653.0, 536.3,
-649.4, 530.7, 645.6, 524.9, 641.9, 519.1, 641.9, 519.1, 641.9, 519.1,
-645.6, 524.9, 649.4, 530.7, 653.0, 536.3, 653.1, 536.2, 656.7, 541.9,
-665.9, 556.0, 666.1, 555.9, 675.1, 570.2, 899.8, 548.7, 895.3, 542.3,
-895.6, 542.1, 890.9, 536.0, 885.0, 514.4, 887.5, 513.7, 884.2, 491.5,
-882.5, 489.1, 883.7, 488.2, 883.2, 484.9, 883.2, 484.2, 883.7, 484.2,
-884.2, 483.4, 886.2, 479.1, 886.7, 479.4, 889.2, 475.3, 894.8, 486.7,
-891.1, 488.4, 893.0, 501.6, 896.4, 525.1, 901.3, 525.5, 899.8, 548.7,
-884.2, 389.0, 889.3, 403.4, 884.3, 409.7, 894.4, 417.8, 899.5, 431.9,
-904.7, 432.0, 904.5, 446.0, 898.0, 455.1, 899.1, 455.9, 893.7, 465.8,
-881.0, 430.2, 883.6, 427.3, 884.2, 389.0, 893.7, 465.8, 888.9, 474.6,
-888.4, 474.4, 884.2, 483.4, 883.7, 484.2, 883.2, 484.2, 883.2, 484.9,
-882.6, 480.5, 884.0, 479.6, 881.9, 476.0, 881.7, 474.5, 881.7, 474.5,
-881.4, 472.9, 881.6, 432.1, 876.0, 432.0, 869.9, 391.2, 870.0, 370.4,
-872.9, 370.0, 870.1, 349.6, 876.6, 367.7, 878.4, 386.3, 883.1, 385.9,
-882.6, 387.0, 883.6, 387.4, 884.2, 389.0, 883.6, 427.3, 881.0, 430.2,
-893.7, 465.8, 912.4, 468.1, 909.0, 458.6, 911.4, 456.8, 905.6, 449.0,
-905.9, 447.7, 904.0, 446.7, 904.5, 446.0, 904.7, 432.0, 899.5, 431.9,
-894.4, 417.8, 896.0, 419.1, 901.1, 412.8, 907.7, 407.8, 917.5, 435.3,
-913.9, 438.2, 912.4, 468.1, 907.7, 407.8, 913.4, 403.5, 917.7, 404.6,
-919.1, 399.2, 920.4, 403.4, 920.4, 403.4, 921.6, 407.7, 923.3, 429.6,
-924.9, 429.4, 928.2, 451.2, 930.2, 470.0, 930.5, 470.0, 933.3, 488.7,
-936.3, 516.2, 934.7, 516.5, 939.4, 543.8, 931.7, 522.3, 935.4, 520.1,
-924.1, 500.9, 921.1, 492.4, 921.1, 492.4, 918.1, 484.0, 916.7, 480.1,
-916.7, 480.1, 915.3, 476.2, 916.2, 472.8, 913.8, 472.2, 912.4, 468.1,
-913.9, 438.2, 917.5, 435.3, 907.7, 407.8, 869.3, 391.2, 869.6, 393.4,
-869.6, 395.5, 869.9, 395.5, 875.4, 434.2, 881.6, 434.2, 881.4, 472.9,
-881.7, 474.5, 881.7, 474.5, 881.9, 476.0, 862.4, 442.8, 860.9, 443.7,
-840.0, 411.3, 838.8, 403.6, 853.7, 399.5, 869.3, 391.2, 840.0, 411.3,
-833.9, 401.9, 836.4, 396.3, 827.8, 392.5, 834.3, 373.1, 846.5, 358.5,
-840.8, 353.8, 844.2, 352.5, 844.2, 352.5, 847.6, 351.2, 847.8, 352.0,
-856.3, 353.2, 863.2, 350.6, 866.2, 370.9, 866.2, 370.9, 869.3, 391.2,
-853.7, 399.5, 838.8, 403.6, 840.0, 411.3, 797.4, 463.4, 818.1, 481.9,
-832.6, 485.1, 832.8, 507.0, 815.2, 491.3, 815.2, 491.3, 797.5, 475.5,
-794.5, 471.9, 800.4, 466.1, 797.4, 463.4, 797.5, 475.5, 781.5, 461.2,
-783.7, 457.2, 765.4, 446.9, 763.2, 449.1, 743.6, 417.7, 714.5, 401.6,
-727.0, 396.9, 727.0, 396.9, 739.4, 392.2, 746.0, 393.0, 745.1, 399.2,
-750.9, 406.3, 764.3, 422.8, 764.3, 422.8, 777.8, 439.4, 787.6, 451.4,
-790.1, 450.1, 797.4, 463.4, 800.4, 466.1, 794.5, 471.9, 797.5, 475.5,
-764.0, 382.8, 766.2, 382.0, 766.2, 382.0, 768.3, 381.2, 787.3, 419.8,
-792.2, 417.7, 818.3, 452.4, 839.0, 481.8, 837.6, 483.0, 859.8, 511.3,
-811.2, 449.2, 812.7, 448.1, 765.5, 384.9, 764.8, 383.9, 763.8, 383.1,
-764.0, 382.8, 875.4, 533.5, 871.8, 528.1, 871.7, 528.3, 868.0, 523.0,
-863.9, 517.2, 863.9, 517.2, 859.8, 511.3, 837.6, 483.0, 839.0, 481.8,
-818.3, 452.4, 814.6, 447.4, 815.7, 446.5, 813.2, 440.7, 831.1, 465.0,
-830.0, 465.8, 846.8, 490.9, 848.1, 492.9, 848.1, 492.9, 849.5, 494.8,
-862.4, 514.2, 862.6, 514.1, 875.4, 533.5, 544.1, 175.8, 556.5, 200.5,
-554.9, 201.4, 569.0, 225.3, 561.9, 229.4, 547.8, 205.6, 526.7, 186.0,
-525.3, 184.7, 524.4, 183.1, 523.9, 183.4, 533.0, 178.0, 540.5, 172.5,
-544.1, 175.8, 526.7, 186.0, 547.8, 205.6, 561.9, 229.4, 569.0, 225.3,
-572.1, 230.5, 576.1, 228.6, 578.3, 234.0, 586.1, 245.8, 588.9, 243.9,
-599.6, 253.8, 619.4, 274.2, 619.6, 274.0, 639.5, 294.1, 616.9, 278.6,
-614.7, 281.7, 589.9, 269.3, 577.6, 260.4, 580.3, 256.7, 570.7, 244.0,
-560.1, 230.0, 560.1, 230.0, 549.5, 216.0, 544.8, 209.8, 544.8, 209.8,
-540.0, 203.6, 538.5, 201.6, 538.5, 201.6, 537.0, 199.6, 531.9, 192.8,
-533.2, 191.2, 526.7, 186.0, 606.5, 321.3, 607.1, 332.5, 603.3, 334.3,
-607.8, 343.7, 582.8, 318.3, 582.8, 318.3, 557.8, 293.0, 550.1, 270.2,
-544.6, 272.1, 531.4, 251.2, 574.7, 276.3, 574.1, 282.0, 606.5, 321.3,
-531.4, 251.2, 526.9, 244.1, 528.3, 242.6, 522.4, 236.9, 563.4, 261.1,
-563.4, 261.1, 604.4, 285.3, 606.6, 286.8, 604.7, 289.6, 604.9, 294.0,
-605.1, 297.0, 605.1, 297.0, 605.3, 300.0, 602.1, 301.3, 605.9, 310.6,
-606.5, 321.3, 574.1, 282.0, 574.7, 276.3, 531.4, 251.2, 604.9, 294.0,
-604.7, 289.6, 606.6, 286.8, 604.4, 285.3, 606.9, 286.8, 606.9, 286.8,
-609.4, 288.2, 609.6, 291.0, 605.3, 294.2, 604.9, 294.0, 542.8, 279.0,
-564.4, 308.2, 562.7, 309.6, 586.0, 337.3, 543.6, 311.2, 543.6, 311.2,
-501.2, 285.0, 505.9, 288.8, 510.0, 283.7, 518.8, 282.5, 530.8, 280.7,
-536.5, 273.8, 542.8, 279.0, 567.3, 73.7, 569.0, 78.4, 568.2, 78.7,
-569.1, 83.6, 569.4, 84.9, 569.4, 84.9, 569.6, 86.2, 568.6, 86.9,
-571.5, 91.2, 570.6, 91.6, 566.7, 94.4, 566.7, 94.4, 562.7, 97.1,
-561.8, 97.0, 561.9, 94.1, 561.1, 91.2, 553.1, 61.2, 553.1, 61.2,
-545.1, 31.1, 543.1, 23.6, 543.1, 23.6, 541.1, 16.0, 535.7, -4.2,
-538.8, -5.6, 530.3, -24.4, 551.9, 23.2, 549.6, 24.4, 567.3, 73.7,
-530.3, -24.4, 529.7, -26.0, 529.8, -26.1, 529.4, -27.8, 528.2, -32.2,
-527.2, -32.2, 527.0, -36.7, 526.9, -37.9, 528.8, -39.2, 528.8, -39.2,
-530.9, -27.9, 550.9, -21.1, 549.9, -19.7, 553.8, 1.1, 548.9, 19.7,
-557.7, 22.0, 560.4, 36.7, 560.4, 36.7, 563.1, 51.4, 565.2, 62.6,
-562.9, 63.6, 567.3, 73.7, 549.6, 24.4, 551.9, 23.2, 530.3, -24.4,
-682.2, -11.8, 682.8, -12.2, 687.1, -7.7, 686.9, -7.4, 662.7, 7.7,
-666.9, 14.4, 646.9, 36.3, 607.4, 59.9, 606.8, 59.2, 569.6, 86.2,
-569.4, 84.9, 569.4, 84.9, 569.1, 83.6, 588.0, 66.3, 588.8, 67.1,
-608.4, 50.5, 624.1, 37.2, 624.1, 37.2, 639.9, 23.9, 661.0, 6.1,
-659.3, 3.5, 682.2, -11.8, 376.8, 74.3, 374.7, 66.1, 374.7, 66.1,
-372.6, 57.9, 376.1, 61.9, 406.7, 46.2, 406.0, 43.4, 413.5, 43.8,
-421.0, 59.2, 420.2, 60.1, 406.4, 74.7, 398.1, 75.3, 376.8, 74.3,
-439.2, 19.5, 426.1, 5.7, 426.1, 5.7, 413.0, -8.1, 441.4, -5.2,
-442.7, -8.0, 471.0, -14.3, 488.5, -14.8, 498.8, -2.9, 506.1, -10.7,
-482.9, 14.0, 473.1, 18.6, 439.2, 19.5, 506.1, -10.7, 506.9, -11.0,
-507.9, -10.1, 508.1, -10.5, 487.9, 19.2, 487.4, 18.9, 466.1, 47.9,
-466.2, 47.8, 465.9, 47.6, 465.6, 47.3, 452.6, 33.3, 452.4, 33.4,
-439.2, 19.5, 473.1, 18.6, 482.9, 14.0, 506.1, -10.7, 424.5, 65.0,
-422.7, 62.3, 422.4, 62.5, 420.2, 60.1, 421.0, 59.2, 413.5, 43.8,
-406.0, 43.4, 397.1, 8.3, 364.4, -22.7, 353.5, -18.0, 352.8, -20.5,
-351.7, -22.3, 349.8, -22.3, 355.9, -23.9, 355.9, -23.9, 362.0, -25.4,
-371.9, -18.7, 369.3, -14.8, 376.6, -4.2, 383.0, 5.0, 383.0, 5.0,
-389.3, 14.2, 396.6, 24.7, 396.6, 24.7, 403.8, 35.1, 414.2, 50.1,
-414.5, 49.8, 424.5, 65.0, 414.0, -38.8, 421.4, -40.7, 421.3, -40.9,
-428.6, -42.8, 449.2, -48.0, 449.2, -47.9, 469.8, -53.0, 471.6, -53.4,
-471.6, -53.4, 473.5, -53.9, 443.7, -46.3, 443.8, -46.2, 414.0, -38.8,
-208.2, 292.5, 217.0, 279.3, 222.7, 280.5, 225.8, 266.0, 239.8, 263.1,
-242.0, 274.1, 258.3, 282.1, 260.9, 283.4, 260.9, 283.4, 263.4, 284.6,
-267.9, 286.8, 272.4, 286.8, 272.4, 289.1, 272.4, 291.5, 267.9, 291.5,
-263.4, 293.9, 252.2, 300.0, 252.2, 300.0, 241.0, 306.0, 240.2, 306.5,
-239.9, 307.2, 239.3, 307.0, 223.5, 300.4, 211.9, 303.7, 208.2, 292.5,
-239.3, 307.0, 240.1, 309.9, 227.5, 313.4, 215.6, 319.8, 208.1, 323.9,
-208.1, 323.9, 200.5, 328.0, 197.8, 326.4, 191.7, 329.4, 190.1, 333.6,
-194.5, 320.1, 194.5, 320.1, 198.8, 306.6, 200.1, 299.0, 203.5, 299.5,
-208.2, 292.5, 211.9, 303.7, 223.5, 300.4, 239.3, 307.0, 238.5, 111.6,
-244.2, 108.1, 247.0, 109.7, 249.8, 104.6, 245.6, 119.3, 245.6, 119.3,
-241.5, 134.0, 240.6, 137.6, 239.4, 137.2, 238.0, 140.7, 230.1, 155.8,
-230.1, 155.8, 222.2, 171.0, 200.9, 211.7, 203.3, 213.2, 179.6, 252.5,
-180.5, 246.8, 179.8, 246.7, 179.9, 241.0, 207.3, 175.5, 206.2, 174.7,
-238.5, 111.6, 179.9, 241.0, 180.4, 221.2, 174.6, 203.5, 180.9, 201.5,
-201.5, 161.7, 201.5, 161.7, 222.1, 121.8, 224.7, 114.7, 230.3, 116.7,
-238.5, 111.6, 206.2, 174.7, 207.3, 175.5, 179.9, 241.0, 199.0, 163.7,
-180.0, 201.5, 180.0, 201.5, 161.1, 239.4, 150.1, 261.1, 150.0, 261.0,
-138.9, 282.6, 137.6, 285.0, 137.6, 285.0, 136.3, 287.5, 137.7, 283.6,
-136.5, 283.1, 136.6, 278.7, 146.3, 257.4, 147.8, 258.1, 159.0, 237.4,
-179.0, 200.6, 206.9, 171.3, 199.0, 163.7, 477.6, 762.9, 483.4, 806.1,
-483.5, 806.0, 489.1, 849.3, 489.8, 854.9, 489.6, 854.9, 490.1, 860.6,
-490.8, 868.4, 490.2, 868.5, 491.6, 876.2, 489.4, 864.4, 490.1, 864.3,
-488.6, 852.4, 483.4, 810.0, 483.4, 810.0, 478.2, 767.6, 477.9, 765.3,
-477.9, 765.2, 477.6, 762.9, 491.9, 847.9, 491.7, 854.3, 493.4, 859.1,
-490.1, 860.6, 489.6, 854.9, 489.8, 854.9, 489.1, 849.3, 487.8, 840.3,
-488.3, 840.2, 487.4, 831.1, 485.8, 836.4, 489.1, 837.4, 490.8, 843.6,
-491.4, 845.8, 492.0, 845.8, 491.9, 847.9, 501.5, 451.5, 496.1, 456.3,
-485.1, 452.0, 484.8, 454.4, 495.2, 435.8, 495.2, 435.9, 505.5, 417.3,
-512.4, 405.1, 519.8, 404.6, 519.2, 392.8, 528.4, 376.3, 537.4, 359.8,
-537.5, 359.8, 538.4, 359.2, 538.9, 358.3, 538.6, 357.9, 539.2, 358.7,
-539.7, 358.7, 539.8, 359.6, 540.9, 364.5, 542.6, 364.1, 545.5, 368.5,
-533.3, 400.4, 529.4, 398.9, 513.3, 429.3, 507.4, 440.4, 510.3, 443.7,
-501.5, 451.5, 468.2, 621.6, 466.6, 603.5, 466.5, 603.5, 464.8, 585.3,
-484.5, 550.0, 465.4, 538.7, 463.8, 492.1, 471.6, 478.1, 471.6, 478.1,
-479.4, 464.0, 488.2, 493.2, 477.1, 496.5, 474.8, 529.0, 474.7, 530.5,
-474.7, 530.5, 474.6, 531.9, 472.3, 563.6, 472.3, 563.6, 470.1, 595.2,
-469.2, 607.8, 469.2, 607.8, 468.3, 620.3, 468.2, 621.0, 468.1, 621.0,
-468.2, 621.6, 458.7, 501.2, 458.0, 502.4, 457.3, 502.5, 457.3, 503.6,
-456.5, 494.1, 456.5, 494.1, 455.6, 484.5, 452.4, 490.2, 457.9, 492.8,
-458.7, 501.2, 480.2, 266.5, 481.8, 271.2, 482.9, 270.8, 485.7, 275.1,
-492.4, 286.2, 492.6, 286.0, 499.6, 296.9, 503.1, 301.2, 500.0, 303.7,
-500.3, 310.6, 492.2, 303.8, 495.4, 300.0, 490.6, 289.4, 485.4, 277.9,
-484.3, 278.3, 480.2, 266.5, 205.6, 671.5, 207.4, 667.6, 208.7, 667.8,
-209.3, 663.7, 209.5, 676.0, 209.5, 676.0, 209.6, 688.4, 212.5, 682.3,
-205.7, 680.0, 205.6, 671.5, 173.8, 490.6, 180.4, 471.0, 174.1, 457.5,
-187.1, 451.5, 206.4, 425.2, 203.9, 422.9, 225.7, 398.9, 231.9, 390.5,
-230.2, 388.0, 238.3, 382.2, 236.2, 383.7, 239.4, 387.0, 237.7, 390.2,
-229.6, 406.0, 228.1, 405.3, 218.5, 420.3, 211.9, 430.8, 211.9, 430.8,
-205.2, 441.3, 189.5, 466.0, 196.2, 478.0, 173.8, 490.6, 434.6, 322.4,
-437.2, 344.4, 439.3, 344.4, 439.9, 366.4, 440.0, 367.4, 440.0, 367.4,
-440.0, 368.4, 432.0, 356.0, 432.4, 355.7, 424.7, 343.1, 424.2, 342.3,
-424.2, 342.3, 423.8, 341.6, 419.6, 334.6, 419.6, 334.6, 415.3, 327.6,
-405.7, 311.6, 405.7, 311.6, 396.0, 295.6, 392.0, 289.0, 389.9, 289.5,
-387.9, 282.3, 377.8, 275.8, 385.3, 264.0, 382.7, 245.8, 379.9, 250.3,
-390.0, 256.5, 397.3, 267.3, 407.0, 281.7, 407.0, 281.7, 416.8, 296.1,
-417.2, 296.7, 417.2, 296.7, 417.5, 297.2, 420.5, 301.6, 420.5, 301.6,
-423.4, 305.9, 429.0, 314.1, 432.1, 313.3, 434.6, 322.4, 209.1, 881.3,
-209.0, 881.8, 205.6, 882.1, 202.6, 881.2, 203.0, 880.7, 202.4, 880.2,
-202.3, 879.2, 215.2, 875.8, 205.3, 838.2, 208.2, 797.2, 203.1, 821.6,
-208.5, 822.8, 208.8, 848.4, 209.0, 864.8, 212.1, 865.4, 209.1, 881.3,
-322.4, 303.2, 317.5, 312.0, 320.3, 313.4, 316.6, 322.9, 314.1, 329.5,
-313.2, 329.1, 309.8, 335.3, 309.5, 336.0, 309.4, 336.0, 309.1, 336.7,
-315.6, 319.9, 313.8, 318.9, 322.4, 303.2, 309.8, 335.3, 313.2, 329.1,
-314.1, 329.5, 316.6, 322.9, 311.6, 347.8, 309.5, 347.3, 302.4, 371.7,
-301.0, 376.6, 301.0, 376.6, 299.6, 381.6, 296.0, 393.7, 296.0, 393.7,
-292.5, 405.8, 292.3, 406.5, 292.3, 406.5, 292.1, 407.2, 291.4, 409.5,
-291.4, 409.5, 290.7, 411.9, 283.9, 435.5, 283.9, 435.5, 277.0, 459.0,
-274.5, 467.6, 274.5, 467.6, 272.0, 476.1, 270.8, 480.4, 270.8, 480.4,
-269.5, 484.6, 256.2, 529.7, 256.2, 529.6, 242.9, 574.7, 241.7, 578.5,
-241.8, 578.5, 240.7, 582.4, 236.3, 598.2, 231.9, 614.0, 231.9, 614.0,
-231.9, 614.0, 236.3, 598.2, 240.7, 582.4, 241.8, 578.5, 241.7, 578.5,
-242.9, 574.7, 267.7, 486.1, 267.8, 486.1, 292.4, 397.5, 300.9, 367.2,
-300.6, 367.1, 309.1, 336.7, 309.4, 336.0, 309.5, 336.0, 309.8, 335.3,
-144.7, 133.3, 156.7, 133.2, 156.7, 133.2, 168.8, 133.0, 168.1, 133.2,
-169.2, 137.2, 169.5, 141.3, 146.3, 157.1, 147.5, 158.8, 125.4, 176.3,
-127.9, 177.1, 129.1, 148.9, 144.7, 133.3, 125.4, 176.3, 116.5, 183.4,
-109.2, 182.0, 107.5, 190.5, 104.8, 170.5, 104.8, 170.5, 102.0, 150.6,
-118.6, 144.8, 117.6, 142.0, 133.2, 133.5, 133.7, 132.2, 137.8, 135.0,
-140.7, 133.4, 142.0, 132.4, 142.7, 133.4, 144.7, 133.3, 129.1, 148.9,
-127.9, 177.1, 125.4, 176.3, 115.5, 261.9, 117.0, 266.4, 119.2, 266.7,
-118.6, 270.9, 118.7, 271.9, 118.7, 271.9, 118.9, 272.9, 123.6, 317.8,
-123.5, 317.8, 128.3, 362.6, 128.7, 366.0, 129.2, 369.3, 129.2, 369.3,
-129.2, 369.3, 128.7, 366.0, 128.3, 362.6, 121.9, 312.3, 120.9, 312.4,
-115.5, 261.9, 60.6, 101.9, 65.7, 116.8, 65.7, 116.8, 70.8, 131.7,
-67.1, 140.6, 67.3, 142.3, 69.2, 152.0, 68.3, 163.3, 69.5, 163.5,
-67.4, 174.6, 65.2, 180.0, 65.2, 180.0, 63.0, 185.5, 63.2, 185.1,
-63.0, 185.0, 63.0, 184.6, 62.5, 168.3, 62.5, 168.3, 62.1, 152.1,
-61.3, 127.0, 51.6, 122.9, 60.6, 101.9, 129.6, 436.3, 133.6, 448.4,
-133.2, 448.6, 137.6, 460.5, 122.5, 453.7, 126.3, 445.1, 115.1, 429.8,
-105.8, 417.1, 108.9, 409.5, 96.5, 404.4, 115.6, 412.2, 112.5, 419.8,
-128.4, 435.2, 129.0, 435.8, 129.3, 435.7, 129.6, 436.3, 38.9, 323.2,
-38.5, 321.0, 38.5, 321.0, 38.1, 318.9, 53.0, 296.7, 49.7, 294.5,
-61.2, 270.1, 65.4, 294.0, 51.2, 297.2, 38.9, 323.2, 115.1, 429.8,
-126.3, 445.1, 122.5, 453.7, 137.6, 460.5, 138.0, 461.7, 139.3, 461.7,
-139.2, 462.7, 139.8, 464.7, 142.0, 464.7, 141.8, 466.3, 141.8, 468.7,
-141.8, 468.7, 141.9, 471.0, 142.0, 471.5, 141.7, 471.6, 141.5, 472.1,
-130.0, 454.6, 130.4, 454.3, 119.3, 436.5, 117.2, 433.1, 117.5, 432.9,
-115.1, 429.8, -27.5, 407.4, -30.4, 389.0, -29.2, 388.7, -33.2, 370.6,
--33.3, 359.7, -34.8, 355.3, -28.1, 348.9, -26.1, 355.1, -25.7, 355.0,
--23.3, 361.1, -23.0, 384.2, -14.8, 395.3, -27.5, 407.4, -23.3, 361.1,
--22.7, 362.5, -22.7, 362.5, -22.1, 363.9, -20.4, 368.4, -20.4, 368.4,
--18.6, 372.9, -4.0, 410.0, -0.8, 409.0, 10.6, 447.0, 15.8, 451.1,
-10.4, 458.2, 10.2, 469.4, -3.1, 439.7, -25.9, 441.5, -25.5, 414.1,
--26.2, 412.5, -26.2, 412.5, -27.0, 410.9, -27.8, 409.6, -27.2, 409.2,
--27.5, 407.4, -14.8, 395.3, -23.0, 384.2, -23.3, 361.1, -15.8, 379.3,
--17.1, 376.1, -18.6, 372.9, -18.6, 372.9, -20.4, 368.4, -20.4, 368.4,
--22.1, 363.9, -22.2, 363.6, -22.2, 363.6, -22.3, 363.3, -20.5, 355.6,
--24.5, 354.4, -27.3, 345.7, -27.8, 340.5, -25.4, 335.0, -24.8, 335.0,
--15.9, 341.8, -16.5, 346.7, -6.7, 348.2, -5.9, 347.4, -2.9, 353.3,
-1.7, 354.3, 1.8, 359.9, 9.7, 365.8, 16.8, 365.3, 17.9, 368.2,
-19.8, 367.5, 22.8, 369.6, 22.8, 369.7, 22.8, 369.7, 22.8, 369.7,
-22.9, 371.5, 22.8, 371.5, 22.8, 373.4, 3.9, 378.1, 3.5, 379.5,
--15.8, 379.3, 22.8, 373.4, 22.9, 387.5, 22.9, 387.5, 22.9, 401.7,
-21.1, 397.3, -5.3, 402.7, -5.3, 403.6, -10.6, 391.4, -10.6, 391.4,
--15.8, 379.3, 3.5, 379.5, 3.9, 378.1, 22.8, 373.4, 89.4, 652.2,
-89.7, 652.3, 89.9, 652.3, 89.9, 652.3, 91.2, 668.6, 91.2, 668.6,
-92.5, 684.9, 87.9, 684.0, 90.7, 668.6, 89.4, 652.2, 765.8, 541.1,
-758.0, 521.3, 758.6, 521.0, 750.1, 501.5, 748.7, 497.4, 750.1, 492.7,
-749.0, 492.6, 766.0, 502.0, 785.1, 497.0, 786.1, 505.6, 793.3, 509.5,
-793.3, 509.5, 800.5, 513.5, 798.1, 513.8, 797.1, 519.5, 797.4, 525.2,
-799.3, 532.4, 795.3, 533.5, 793.2, 541.7, 782.4, 547.1, 773.3, 548.1,
-765.8, 541.1, 793.2, 541.7, 787.8, 562.4, 787.8, 562.4, 782.5, 583.1,
-778.3, 561.3, 774.1, 562.1, 765.8, 541.1, 773.3, 548.1, 782.4, 547.1,
-793.2, 541.7, 748.5, 575.4, 744.8, 572.5, 744.4, 572.8, 741.0, 569.6,
-734.7, 564.0, 734.7, 564.0, 728.5, 558.4, 727.5, 551.0, 726.0, 551.2,
-723.5, 543.9, 738.5, 556.7, 737.2, 558.8, 748.5, 575.4, 723.5, 543.9,
-723.0, 542.4, 722.7, 542.5, 722.5, 540.9, 722.2, 539.4, 721.3, 538.6,
-722.0, 537.9, 720.3, 528.5, 720.3, 528.5, 718.6, 519.2, 716.1, 504.7,
-710.9, 503.7, 713.5, 490.2, 718.1, 493.2, 722.6, 492.1, 723.2, 495.6,
-728.2, 499.0, 728.0, 499.4, 733.3, 502.3, 735.2, 505.7, 734.5, 506.4,
-737.1, 509.1, 736.7, 509.4, 739.2, 512.8, 741.2, 516.5, 744.6, 544.7,
-744.7, 547.0, 758.5, 571.7, 759.3, 578.0, 759.3, 578.0, 760.1, 584.4,
-754.8, 579.3, 754.3, 579.9, 748.5, 575.4, 737.2, 558.8, 738.5, 556.7,
-723.5, 543.9, 750.7, 506.1, 751.4, 512.5, 751.4, 512.5, 752.2, 518.9,
-750.9, 515.5, 748.4, 516.4, 744.7, 514.0, 740.3, 506.3, 738.7, 507.1,
-732.3, 500.6, 719.9, 478.6, 726.2, 469.7, 707.6, 456.6, 706.9, 452.6,
-706.9, 452.6, 706.2, 448.6, 730.0, 476.0, 730.8, 475.8, 750.7, 506.1,
-706.2, 448.6, 703.8, 435.3, 705.6, 434.7, 701.5, 422.0, 706.9, 425.7,
-706.9, 425.7, 712.4, 429.4, 714.7, 448.8, 726.1, 451.4, 745.7, 464.8,
-745.7, 465.1, 745.6, 465.3, 745.8, 465.5, 750.7, 468.2, 742.7, 479.3,
-748.1, 484.6, 749.8, 485.2, 747.0, 491.5, 749.0, 492.6, 750.1, 492.7,
-748.7, 497.4, 750.1, 501.5, 751.0, 503.5, 750.4, 503.8, 750.7, 506.1,
-730.8, 475.8, 730.0, 476.0, 706.2, 448.6, 835.7, 623.1, 836.7, 624.3,
-837.6, 623.4, 839.3, 624.0, 839.8, 624.1, 839.7, 624.4, 840.1, 624.8,
-841.3, 625.9, 841.2, 626.1, 842.2, 627.4, 838.6, 626.1, 838.1, 626.0,
-835.7, 623.1, 855.5, 586.8, 860.4, 591.7, 860.4, 591.7, 865.4, 596.6,
-880.6, 617.1, 878.7, 618.8, 895.8, 637.6, 867.6, 630.8, 867.6, 630.5,
-839.3, 624.0, 837.6, 623.4, 836.7, 624.3, 835.7, 623.1, 831.7, 622.2,
-828.2, 620.5, 827.8, 621.3, 835.7, 605.4, 839.2, 607.1, 850.6, 593.0,
-853.0, 589.9, 853.9, 586.4, 855.5, 586.8, 575.2, 385.9, 565.8, 372.2,
-563.7, 373.2, 556.4, 358.5, 548.0, 343.3, 545.6, 329.2, 536.7, 329.8,
-536.4, 326.7, 536.4, 326.7, 536.1, 323.7, 544.7, 334.1, 543.4, 335.2,
-550.6, 346.8, 562.9, 366.3, 565.0, 365.3, 575.2, 385.9, 626.3, 445.3,
-630.7, 459.4, 630.7, 459.4, 635.2, 473.4, 613.2, 440.7, 612.9, 440.9,
-590.6, 408.4, 585.9, 399.5, 595.0, 392.5, 589.2, 386.5, 612.9, 411.0,
-610.1, 414.7, 626.3, 445.3, 589.2, 386.5, 586.2, 380.6, 588.8, 379.2,
-588.3, 372.0, 587.4, 357.9, 582.3, 356.2, 586.5, 343.8, 591.1, 346.9,
-591.1, 346.9, 595.7, 350.0, 597.0, 350.8, 596.5, 351.7, 597.3, 353.4,
-586.5, 392.3, 611.8, 399.4, 626.3, 445.3, 610.1, 414.7, 612.9, 411.0,
-589.2, 386.5, 718.6, 519.2, 720.3, 528.5, 720.3, 528.5, 722.0, 537.9,
-711.8, 549.5, 701.7, 552.1, 703.4, 562.7, 704.0, 563.8, 701.3, 565.4,
-699.3, 568.1, 699.0, 569.1, 696.3, 568.4, 693.3, 568.6, 692.5, 565.5,
-695.3, 564.7, 697.3, 560.8, 700.6, 554.3, 700.6, 554.3, 704.0, 547.8,
-711.3, 533.5, 707.0, 525.6, 718.6, 519.2, 910.3, 563.5, 905.1, 556.1,
-905.1, 556.1, 899.8, 548.7, 901.3, 525.5, 896.4, 525.1, 893.0, 501.6,
-910.5, 526.3, 905.8, 531.9, 910.3, 563.5, 842.9, 516.0, 837.8, 511.5,
-837.8, 511.5, 832.8, 507.0, 832.6, 485.1, 818.1, 481.9, 797.4, 463.4,
-790.1, 450.1, 787.6, 451.4, 777.8, 439.4, 810.7, 477.4, 811.2, 477.0,
-842.9, 516.0, 846.8, 490.9, 830.0, 465.8, 831.1, 465.0, 813.2, 440.7,
-801.8, 415.0, 801.8, 415.0, 790.5, 389.3, 819.3, 429.5, 814.6, 432.8,
-838.7, 476.3, 842.8, 483.6, 842.0, 484.2, 846.8, 490.9, 485.3, 126.2,
-497.4, 124.9, 499.2, 128.7, 509.6, 123.7, 513.3, 124.0, 516.4, 125.4,
-516.9, 124.3, 518.5, 126.3, 518.5, 126.3, 520.2, 128.3, 527.6, 149.4,
-530.3, 148.5, 540.5, 168.7, 511.7, 166.9, 504.0, 153.5, 485.3, 126.2,
-540.5, 168.7, 542.3, 172.2, 542.3, 172.2, 544.1, 175.8, 540.5, 172.5,
-533.0, 178.0, 523.9, 183.4, 497.6, 169.5, 501.3, 162.4, 478.7, 141.4,
-471.8, 134.9, 471.2, 135.4, 464.8, 128.5, 465.1, 128.8, 465.7, 128.2,
-466.5, 128.1, 474.5, 124.3, 475.9, 127.1, 485.3, 126.2, 504.0, 153.5,
-511.7, 166.9, 540.5, 168.7, 804.5, 87.9, 824.8, 103.2, 825.5, 102.3,
-846.3, 117.0, 857.7, 124.9, 857.5, 125.2, 868.7, 133.4, 863.2, 129.3,
-863.1, 129.5, 857.5, 125.5, 831.0, 106.7, 830.4, 107.5, 804.5, 87.9,
-936.1, 245.9, 931.1, 239.5, 929.4, 240.9, 922.7, 235.8, 918.0, 232.3,
-918.1, 232.3, 913.4, 228.8, 876.6, 201.0, 876.6, 201.0, 839.8, 173.3,
-834.8, 169.5, 834.0, 165.0, 829.8, 165.7, 840.9, 163.7, 841.7, 168.3,
-853.6, 170.8, 864.6, 173.1, 868.4, 168.9, 875.6, 175.5, 909.7, 206.5,
-907.6, 209.3, 936.1, 245.9, 686.0, 149.5, 684.1, 135.7, 669.1, 137.8,
-652.1, 126.1, 638.8, 117.0, 638.8, 117.0, 625.6, 107.8, 618.0, 102.6,
-613.6, 104.6, 610.4, 97.3, 615.1, 96.3, 615.1, 96.3, 619.9, 95.3,
-629.9, 99.9, 628.7, 102.5, 637.5, 109.8, 644.5, 115.4, 644.5, 115.4,
-651.4, 121.1, 668.7, 135.3, 683.8, 133.2, 686.0, 149.5, 576.5, 124.0,
-580.8, 126.0, 580.8, 126.0, 585.0, 128.1, 586.0, 128.6, 586.0, 128.7,
-587.0, 129.2, 581.8, 126.6, 581.7, 126.7, 576.5, 124.0, 795.1, 271.6,
-794.1, 271.2, 796.8, 263.4, 798.5, 255.3, 799.9, 248.5, 802.0, 241.9,
-801.3, 241.7, 836.2, 260.0, 836.2, 260.0, 871.1, 278.3, 867.9, 276.4,
-867.0, 277.9, 862.9, 277.6, 829.0, 274.6, 826.3, 282.4, 795.1, 271.6,
-820.2, 241.9, 825.3, 245.5, 825.3, 245.5, 830.4, 249.0, 818.0, 241.3,
-817.2, 242.5, 804.0, 236.0, 810.9, 240.7, 812.5, 238.1, 820.2, 241.9,
-707.8, 186.5, 709.9, 187.9, 709.2, 189.3, 711.3, 190.3, 676.6, 173.2,
-676.6, 173.2, 641.9, 156.2, 623.4, 152.8, 624.9, 144.6, 607.9, 133.0,
-634.7, 139.2, 633.0, 146.5, 658.2, 159.9, 674.4, 168.6, 674.4, 168.6,
-690.7, 177.3, 699.2, 181.9, 699.6, 181.4, 707.8, 186.5, 625.1, 297.5,
-631.6, 301.3, 631.6, 301.3, 638.2, 305.2, 641.4, 305.5, 640.7, 312.7,
-643.3, 320.2, 631.5, 313.3, 629.5, 310.4, 625.1, 297.5, 444.3, 210.5,
-441.2, 208.2, 439.3, 206.5, 439.9, 203.6, 441.9, 192.6, 444.6, 193.1,
-449.3, 182.6, 449.3, 182.6, 449.3, 182.6, 449.3, 182.6, 449.3, 182.6,
-449.3, 182.6, 449.3, 182.6, 462.4, 196.0, 462.4, 196.0, 475.5, 209.3,
-500.5, 245.8, 507.0, 241.3, 538.5, 273.3, 538.9, 273.7, 538.9, 273.8,
-539.3, 274.3, 540.5, 275.8, 540.5, 275.8, 541.6, 277.4, 492.6, 244.5,
-492.1, 245.1, 444.3, 210.5, 626.5, 73.3, 662.7, 57.4, 662.7, 57.4,
-698.9, 41.5, 692.2, 43.1, 696.0, 54.8, 688.7, 58.0, 659.8, 70.7,
-638.4, 53.9, 626.5, 73.3, 688.7, 58.0, 684.0, 56.9, 681.7, 71.7,
-672.7, 84.0, 671.9, 85.1, 670.9, 84.4, 669.1, 84.8, 646.1, 89.7,
-646.1, 94.6, 623.1, 94.6, 612.1, 88.8, 611.6, 89.7, 600.1, 84.9,
-613.5, 79.6, 613.3, 79.1, 626.5, 73.3, 638.4, 53.9, 659.8, 70.7,
-688.7, 58.0, 682.9, 81.8, 678.3, 83.9, 673.3, 81.8, 672.7, 84.0,
-681.7, 71.7, 684.0, 56.9, 688.7, 58.0, 696.0, 54.8, 692.2, 43.1,
-698.9, 41.5, 701.1, 40.5, 701.1, 40.5, 703.4, 39.5, 695.5, 59.7,
-693.9, 59.1, 684.5, 78.6, 683.7, 80.2, 684.2, 81.2, 682.9, 81.8,
-438.1, 128.0, 441.8, 124.7, 441.4, 124.4, 444.8, 120.8, 470.4, 92.8,
-470.4, 92.8, 496.1, 64.9, 506.3, 53.8, 506.3, 53.8, 516.5, 42.7,
-528.8, 29.4, 525.8, 22.1, 541.1, 16.0, 543.1, 23.6, 543.1, 23.6,
-545.1, 31.1, 545.2, 32.4, 543.6, 32.5, 542.1, 33.9, 490.1, 80.9,
-490.4, 81.3, 438.1, 128.0, 444.8, 120.8, 441.4, 124.4, 441.8, 124.7,
-438.1, 128.0, 436.1, 130.2, 436.4, 132.0, 434.0, 132.5, 424.1, 132.5,
-424.1, 132.5, 414.2, 132.6, 424.2, 121.8, 428.9, 123.9, 444.8, 120.8,
-428.3, 100.5, 430.0, 102.1, 417.9, 114.9, 407.5, 129.4, 406.3, 131.1,
-406.3, 131.1, 405.1, 132.7, 401.3, 134.8, 401.5, 136.3, 399.5, 140.5,
-395.8, 140.0, 395.9, 136.0, 393.4, 131.0, 388.3, 125.4, 390.3, 123.5,
-387.3, 116.0, 385.9, 112.6, 386.4, 112.4, 385.5, 108.7, 405.6, 101.1,
-419.0, 91.7, 428.3, 100.5, 376.6, -4.2, 369.3, -14.8, 371.9, -18.7,
-362.0, -25.4, 362.3, -25.5, 362.3, -25.5, 362.6, -25.6, 369.8, -25.0,
-371.8, -27.7, 376.9, -24.1, 413.9, 15.4, 419.5, 10.2, 462.0, 44.4,
-443.6, 22.3, 435.3, 29.2, 408.7, 14.0, 392.6, 4.9, 390.5, 7.5,
-376.6, -4.2, 354.9, 111.6, 352.6, 104.8, 354.4, 104.1, 353.9, 96.6,
-353.5, 89.0, 353.5, 89.0, 353.0, 81.4, 352.5, 73.8, 356.0, 70.2,
-352.0, 66.3, 363.7, 84.6, 379.1, 99.0, 375.4, 102.9, 382.3, 117.9,
-382.3, 118.8, 393.4, 131.0, 395.9, 136.0, 395.8, 140.0, 399.5, 140.5,
-399.3, 141.0, 400.0, 142.2, 400.6, 142.2, 400.6, 148.2, 404.3, 148.1,
-408.1, 154.0, 408.2, 154.1, 408.0, 154.2, 407.9, 154.3, 404.6, 151.9,
-404.7, 151.7, 401.4, 149.1, 381.1, 132.7, 381.1, 132.7, 360.7, 116.3,
-357.8, 114.0, 355.9, 114.6, 354.9, 111.6, 354.1, 229.1, 355.0, 230.2,
-349.9, 234.6, 345.7, 240.1, 343.2, 243.5, 340.1, 246.3, 340.6, 246.9,
-334.1, 239.5, 330.2, 231.4, 333.8, 226.6, 336.9, 222.5, 349.0, 223.4,
-354.1, 229.1, 180.4, 458.9, 165.2, 479.0, 164.5, 478.5, 150.0, 499.1,
-148.8, 490.4, 148.8, 490.4, 147.6, 481.7, 151.1, 474.2, 155.4, 476.2,
-163.2, 470.8, 171.8, 464.8, 176.5, 467.1, 180.4, 458.9, 215.6, 319.8,
-227.5, 313.4, 240.1, 309.9, 239.3, 307.0, 239.9, 307.2, 240.2, 306.5,
-241.0, 306.0, 240.7, 308.1, 240.5, 309.0, 238.9, 309.9, 227.8, 315.9,
-216.7, 313.2, 215.6, 319.8, 222.2, 171.0, 230.1, 155.8, 230.1, 155.8,
-238.0, 140.7, 236.5, 144.5, 236.9, 144.6, 235.8, 148.5, 229.8, 160.1,
-225.6, 158.8, 222.2, 171.0, 176.4, 362.5, 165.4, 402.3, 165.4, 402.3,
-154.3, 442.2, 154.2, 419.4, 152.3, 419.4, 150.3, 396.7, 150.3, 396.6,
-150.3, 396.6, 150.4, 396.6, 163.4, 379.5, 177.8, 378.3, 176.4, 362.5,
-138.4, 232.7, 138.6, 227.7, 141.1, 225.7, 138.8, 222.8, 153.2, 201.8,
-147.7, 192.0, 167.7, 180.7, 169.5, 178.8, 169.6, 178.8, 170.7, 176.4,
-170.6, 175.3, 172.0, 175.3, 172.4, 174.0, 183.0, 160.3, 182.2, 159.7,
-192.0, 145.4, 212.5, 119.2, 212.1, 118.9, 232.3, 92.4, 204.5, 142.4,
-200.4, 140.1, 168.4, 187.8, 153.4, 210.2, 155.7, 212.2, 138.4, 232.7,
-470.8, 711.5, 474.2, 737.2, 474.2, 737.2, 477.6, 762.9, 477.9, 765.2,
-477.9, 765.3, 478.2, 767.6, 474.5, 739.6, 474.2, 739.6, 470.8, 711.5,
-498.0, 805.1, 500.3, 782.9, 501.2, 783.0, 504.3, 760.8, 504.4, 760.3,
-504.4, 760.3, 504.4, 759.9, 513.1, 698.6, 512.1, 698.4, 521.8, 637.3,
-523.2, 628.6, 524.2, 628.7, 526.6, 620.2, 535.0, 590.1, 535.0, 590.1,
-543.4, 560.1, 544.6, 555.9, 545.0, 555.9, 545.8, 551.6, 524.2, 668.1,
-523.8, 668.0, 501.9, 784.4, 500.0, 794.8, 499.1, 794.7, 498.0, 805.1,
-504.3, 760.8, 501.2, 783.0, 500.3, 782.9, 498.0, 805.1, 495.0, 826.5,
-495.9, 826.7, 491.9, 847.9, 492.0, 845.8, 491.4, 845.8, 490.8, 843.6,
-496.7, 802.1, 496.6, 802.0, 504.3, 760.8, 580.1, 422.7, 580.7, 423.6,
-580.7, 423.6, 581.3, 424.5, 581.4, 425.1, 580.6, 425.6, 580.8, 426.0,
-580.0, 424.7, 579.7, 424.1, 580.1, 422.7, 448.7, 409.5, 446.9, 389.4,
-446.9, 389.4, 445.0, 369.4, 445.1, 370.9, 445.7, 370.9, 446.4, 372.4,
-447.4, 374.6, 447.4, 374.6, 448.4, 376.8, 449.8, 380.1, 449.8, 380.1,
-451.3, 383.3, 452.7, 386.4, 452.7, 386.4, 454.1, 389.4, 463.1, 419.2,
-467.1, 418.0, 480.0, 446.7, 483.6, 433.2, 458.4, 430.8, 448.7, 409.5,
-480.0, 446.7, 480.5, 447.8, 480.5, 447.8, 481.0, 448.9, 468.8, 470.9,
-471.1, 472.2, 461.7, 495.7, 460.2, 498.5, 460.2, 498.5, 458.7, 501.2,
-457.9, 492.8, 452.4, 490.2, 455.6, 484.5, 452.1, 447.0, 452.1, 447.0,
-448.7, 409.5, 458.4, 430.8, 483.6, 433.2, 480.0, 446.7, 192.8, 698.4,
-199.2, 685.0, 199.2, 685.0, 205.6, 671.5, 205.7, 680.0, 212.5, 682.3,
-209.6, 688.4, 210.1, 726.6, 221.5, 730.2, 210.6, 764.9, 210.6, 767.8,
-209.7, 770.5, 210.2, 770.6, 208.8, 765.3, 204.7, 766.3, 199.2, 762.1,
-191.8, 731.2, 190.6, 729.9, 192.8, 698.4, 199.2, 762.1, 191.9, 756.3,
-192.1, 756.1, 184.6, 750.6, 182.7, 737.0, 182.7, 737.0, 180.9, 723.4,
-188.3, 722.5, 186.8, 710.9, 192.8, 698.4, 190.6, 729.9, 191.8, 731.2,
-199.2, 762.1, 236.2, 411.3, 233.8, 419.9, 235.6, 420.4, 234.9, 429.5,
-234.5, 434.5, 234.5, 434.5, 234.2, 439.5, 233.2, 453.4, 233.2, 453.4,
-232.2, 467.3, 231.7, 473.0, 231.7, 473.0, 231.3, 478.7, 229.9, 497.9,
-231.2, 498.1, 228.5, 517.2, 227.6, 517.0, 225.0, 523.0, 224.3, 529.2,
-235.1, 554.2, 204.3, 563.1, 199.8, 598.9, 204.3, 603.4, 194.9, 612.9,
-189.9, 626.9, 193.1, 620.6, 191.5, 619.8, 193.0, 612.6, 197.7, 591.0,
-197.7, 591.0, 202.3, 569.3, 204.0, 561.3, 204.0, 561.3, 205.8, 553.2,
-209.1, 537.8, 209.1, 537.8, 212.4, 522.3, 218.1, 495.7, 218.1, 495.7,
-223.8, 469.2, 230.0, 440.3, 228.3, 439.8, 236.2, 411.3, 348.6, 878.3,
-346.2, 840.7, 363.8, 822.4, 343.8, 803.1, 345.5, 776.0, 350.3, 776.3,
-356.8, 749.4, 361.1, 731.7, 358.3, 730.5, 365.4, 714.0, 361.6, 722.8,
-364.4, 724.0, 363.4, 734.1, 362.4, 743.8, 362.4, 743.8, 361.4, 753.6,
-360.9, 758.8, 360.9, 758.8, 360.3, 764.1, 360.0, 767.1, 360.0, 767.1,
-359.7, 770.2, 359.2, 775.3, 359.1, 775.3, 358.6, 780.4, 354.5, 820.5,
-354.5, 820.5, 350.4, 860.7, 349.5, 869.5, 347.6, 869.7, 348.6, 878.3,
-424.8, 241.2, 429.7, 281.8, 429.7, 281.8, 434.6, 322.4, 432.1, 313.3,
-429.0, 314.1, 423.4, 305.9, 419.6, 275.8, 424.1, 275.2, 424.7, 244.6,
-424.8, 242.9, 425.0, 242.8, 424.8, 241.2, 278.9, 391.8, 258.1, 432.7,
-256.9, 432.0, 234.8, 472.2, 233.1, 475.5, 230.4, 476.9, 231.3, 478.7,
-231.7, 473.0, 231.7, 473.0, 232.2, 467.3, 244.9, 442.6, 246.9, 443.6,
-261.6, 419.8, 270.2, 405.8, 271.4, 406.4, 278.9, 391.8, 142.6, 812.3,
-142.0, 745.0, 143.1, 745.0, 143.6, 677.7, 143.8, 660.2, 144.9, 660.2,
-143.9, 642.7, 143.9, 642.7, 143.9, 642.7, 143.9, 642.6, 144.5, 656.6,
-149.1, 656.4, 154.3, 670.2, 155.2, 672.8, 155.2, 673.1, 155.0, 675.9,
-150.4, 732.9, 149.8, 732.8, 144.7, 789.8, 143.7, 801.1, 142.5, 801.1,
-142.6, 812.3, 166.1, 703.6, 176.1, 732.7, 175.0, 733.1, 186.1, 761.7,
-187.3, 770.3, 187.3, 770.3, 188.5, 778.9, 183.8, 801.5, 180.9, 800.9,
-173.4, 823.0, 173.4, 823.1, 173.5, 823.2, 173.5, 823.2, 173.5, 823.2,
-173.4, 823.1, 173.4, 823.0, 171.5, 807.5, 171.5, 807.5, 169.5, 791.9,
-165.2, 757.5, 162.3, 757.6, 160.9, 723.1, 160.5, 713.5, 169.8, 709.3,
-166.1, 703.6, 160.9, 723.1, 152.3, 701.7, 157.9, 699.5, 155.0, 675.9,
-155.2, 673.1, 155.2, 672.8, 154.3, 670.2, 156.0, 674.9, 156.0, 674.9,
-157.8, 679.7, 162.5, 691.5, 162.0, 691.7, 166.1, 703.6, 169.8, 709.3,
-160.5, 713.5, 160.9, 723.1, 90.3, 188.5, 91.4, 191.9, 92.7, 191.9,
-92.6, 195.2, 97.0, 229.5, 104.1, 228.6, 115.5, 261.9, 120.9, 312.4,
-121.9, 312.3, 128.3, 362.6, 127.0, 342.9, 124.1, 343.2, 119.8, 323.7,
-119.2, 321.0, 119.2, 321.0, 118.7, 318.3, 114.6, 299.8, 114.6, 299.8,
-110.6, 281.3, 100.4, 234.9, 100.0, 235.0, 90.3, 188.5, 55.9, 88.2,
-58.2, 95.1, 58.2, 95.1, 60.6, 101.9, 51.6, 122.9, 61.3, 127.0,
-62.1, 152.1, 51.9, 122.6, 56.8, 120.2, 55.9, 88.2, 128.4, 435.2,
-112.5, 419.8, 115.6, 412.2, 96.5, 404.4, 88.8, 396.0, 89.7, 395.1,
-82.9, 385.9, 82.7, 385.3, 82.6, 385.4, 82.2, 384.9, 88.2, 391.3,
-88.1, 391.4, 94.0, 397.8, 111.2, 416.5, 120.2, 413.2, 128.4, 435.2,
-59.1, 353.3, 49.3, 339.9, 51.9, 336.6, 39.5, 326.5, 39.3, 325.6,
-39.4, 325.6, 39.1, 324.7, 38.9, 324.0, 39.0, 324.0, 38.9, 323.2,
-51.2, 297.2, 65.4, 294.0, 61.2, 270.1, 62.8, 266.8, 62.8, 266.8,
-64.4, 263.4, 63.2, 308.4, 74.8, 313.5, 59.1, 353.3, 64.4, 263.4,
-65.7, 260.7, 67.4, 260.4, 67.0, 257.9, 72.4, 272.6, 72.4, 272.6,
-77.7, 287.3, 83.2, 291.6, 76.6, 299.7, 76.0, 312.1, 76.0, 314.7,
-75.8, 314.6, 75.7, 317.2, 82.3, 326.3, 62.3, 336.1, 60.9, 355.8,
-60.0, 354.6, 60.0, 354.6, 59.1, 353.3, 74.8, 313.5, 63.2, 308.4,
-64.4, 263.4, 94.6, 422.5, 88.8, 404.2, 88.9, 404.1, 82.9, 385.9,
-89.7, 395.1, 88.8, 396.0, 96.5, 404.4, 108.9, 409.5, 105.8, 417.1,
-115.1, 429.8, 117.5, 432.9, 117.2, 433.1, 119.3, 436.5, 106.1, 431.9,
-102.1, 433.0, 94.6, 422.5, 119.3, 436.5, 130.4, 454.3, 130.0, 454.6,
-141.5, 472.1, 135.1, 490.1, 135.1, 490.1, 128.8, 508.0, 128.5, 505.7,
-125.4, 503.4, 124.8, 503.8, 124.8, 503.8, 124.6, 503.6, 124.4, 503.4,
-117.4, 500.8, 119.6, 494.7, 114.9, 486.1, 119.4, 483.8, 104.7, 454.3,
-94.6, 422.5, 102.1, 433.0, 106.1, 431.9, 119.3, 436.5, 93.3, 695.5,
-93.8, 702.6, 91.2, 708.1, 94.4, 709.6, 89.1, 714.5, 89.1, 714.5,
-83.8, 719.4, 83.9, 719.1, 79.8, 717.4, 75.8, 715.5, 68.6, 706.3,
-67.0, 706.5, 56.3, 701.2, 56.1, 701.0, 56.1, 701.0, 55.9, 700.7,
-61.0, 692.4, 52.8, 687.4, 49.7, 674.1, 69.7, 671.4, 74.7, 680.8,
-93.3, 695.5, 49.7, 674.1, 49.3, 672.3, 49.3, 672.3, 48.9, 670.5,
-58.1, 672.3, 70.0, 661.3, 72.2, 648.9, 80.8, 650.5, 80.8, 650.5,
-89.4, 652.2, 90.7, 668.6, 87.9, 684.0, 92.5, 684.9, 92.9, 690.2,
-92.9, 690.2, 93.3, 695.5, 74.7, 680.8, 69.7, 671.4, 49.7, 674.1,
-855.7, 644.3, 864.1, 655.0, 862.1, 657.6, 872.6, 665.6, 867.3, 669.8,
-867.3, 669.8, 861.9, 674.1, 855.1, 664.1, 839.5, 674.7, 817.1, 675.3,
-814.8, 664.3, 834.4, 648.1, 855.7, 644.3, 850.6, 593.0, 839.2, 607.1,
-835.7, 605.4, 827.8, 621.3, 824.4, 623.7, 821.5, 619.7, 815.2, 618.2,
-805.9, 616.0, 805.7, 616.5, 796.5, 613.7, 796.7, 613.2, 796.7, 613.2,
-796.8, 612.7, 806.7, 608.6, 806.9, 609.0, 817.0, 605.3, 833.8, 599.1,
-848.1, 589.4, 850.6, 593.0, 550.6, 346.8, 543.4, 335.2, 544.7, 334.1,
-536.1, 323.7, 535.4, 316.0, 538.8, 312.6, 534.6, 308.4, 560.5, 326.1,
-560.5, 326.1, 586.5, 343.8, 582.3, 356.2, 587.4, 357.9, 588.3, 372.0,
-570.6, 373.5, 567.0, 362.0, 550.6, 346.8, 588.3, 372.0, 588.8, 379.2,
-586.2, 380.6, 589.2, 386.5, 595.0, 392.5, 585.9, 399.5, 590.6, 408.4,
-582.9, 397.1, 582.9, 397.1, 575.2, 385.9, 565.0, 365.3, 562.9, 366.3,
-550.6, 346.8, 567.0, 362.0, 570.6, 373.5, 588.3, 372.0, 706.7, 478.9,
-709.8, 483.0, 713.1, 483.1, 713.0, 487.0, 713.1, 488.1, 712.7, 488.6,
-713.3, 489.1, 713.6, 489.3, 713.2, 490.0, 713.5, 490.2, 710.9, 503.7,
-716.1, 504.7, 718.6, 519.2, 707.0, 525.6, 711.3, 533.5, 704.0, 547.8,
-694.7, 516.5, 701.7, 512.8, 706.7, 478.9, 922.2, 514.6, 918.6, 541.0,
-913.8, 541.2, 915.0, 567.3, 913.1, 566.1, 913.1, 566.1, 911.3, 564.9,
-910.8, 564.5, 910.9, 564.3, 910.5, 563.7, 912.9, 551.4, 913.4, 551.5,
-916.3, 539.2, 916.9, 536.7, 916.9, 536.7, 917.5, 534.2, 919.9, 524.4,
-921.4, 524.5, 922.2, 514.6, 868.0, 523.0, 871.7, 528.3, 871.8, 528.1,
-875.4, 533.5, 880.0, 540.1, 880.9, 539.6, 884.7, 546.7, 882.9, 545.5,
-882.5, 544.0, 881.1, 544.3, 881.2, 544.2, 876.3, 539.0, 874.5, 539.8,
-875.5, 535.3, 864.1, 532.8, 853.8, 525.7, 847.5, 522.2, 848.3, 520.8,
-842.9, 516.0, 811.2, 477.0, 810.7, 477.4, 777.8, 439.4, 764.3, 422.8,
-764.3, 422.8, 750.9, 406.3, 794.4, 444.7, 792.0, 447.3, 833.2, 488.3,
-850.6, 505.7, 851.2, 505.1, 868.0, 523.0, 800.2, 369.8, 812.1, 386.9,
-808.4, 391.3, 823.9, 404.0, 850.1, 450.0, 852.8, 448.7, 884.2, 491.5,
-887.5, 513.7, 885.0, 514.4, 890.9, 536.0, 891.2, 536.4, 890.9, 536.6,
-891.0, 537.3, 856.2, 473.4, 856.3, 473.3, 821.7, 409.3, 810.9, 389.5,
-794.8, 382.7, 800.2, 369.8, 906.3, 160.9, 920.0, 170.9, 919.3, 171.9,
-933.6, 180.8, 935.5, 182.7, 933.6, 187.9, 934.2, 187.9, 907.8, 185.9,
-908.1, 182.4, 882.0, 176.8, 878.8, 176.1, 878.8, 176.1, 875.6, 175.5,
-868.4, 168.9, 864.6, 173.1, 853.6, 170.8, 877.1, 159.7, 881.0, 157.7,
-906.3, 160.9, 938.0, 227.0, 943.7, 234.1, 941.1, 238.1, 940.0, 248.8,
-940.2, 247.6, 937.7, 247.7, 936.1, 245.9, 907.6, 209.3, 909.7, 206.5,
-875.6, 175.5, 878.8, 176.1, 878.8, 176.1, 882.0, 176.8, 910.9, 200.7,
-914.7, 198.1, 938.0, 227.0, 882.0, 176.8, 908.1, 182.4, 907.8, 185.9,
-934.2, 187.9, 945.0, 197.5, 932.2, 225.8, 938.0, 227.0, 914.7, 198.1,
-910.9, 200.7, 882.0, 176.8, 913.4, 228.8, 924.8, 237.3, 924.8, 237.3,
-936.1, 245.9, 937.7, 247.7, 940.2, 247.6, 940.0, 248.8, 940.1, 248.9,
-940.0, 249.0, 940.1, 249.1, 934.5, 244.9, 934.5, 244.9, 929.0, 240.6,
-925.8, 238.2, 925.8, 238.2, 922.7, 235.8, 918.0, 232.3, 918.1, 232.3,
-913.4, 228.8, 681.9, 99.4, 674.2, 94.0, 674.0, 93.0, 669.1, 84.8,
-670.9, 84.4, 671.9, 85.1, 672.7, 84.0, 673.3, 81.8, 678.3, 83.9,
-682.9, 81.8, 696.7, 78.9, 697.8, 73.4, 710.6, 75.9, 721.9, 78.2,
-720.8, 83.6, 731.1, 91.4, 735.2, 94.5, 735.9, 98.2, 739.3, 97.6,
-715.3, 102.1, 714.6, 98.4, 689.9, 99.1, 685.9, 99.3, 684.6, 101.2,
-681.9, 99.4, 767.4, 197.3, 774.3, 201.8, 772.5, 209.7, 778.7, 210.2,
-766.2, 203.2, 766.9, 201.7, 753.8, 196.2, 720.3, 174.2, 722.5, 153.6,
-687.8, 150.7, 729.3, 154.2, 728.8, 172.1, 767.4, 197.3, 862.9, 277.6,
-867.0, 277.9, 867.9, 276.4, 871.1, 278.3, 874.9, 280.3, 875.3, 279.8,
-878.8, 282.3, 883.0, 285.2, 883.2, 288.4, 887.3, 288.2, 887.1, 288.3,
-886.8, 288.3, 886.8, 288.4, 870.8, 290.2, 867.9, 292.0, 856.1, 303.1,
-856.0, 302.9, 853.8, 304.2, 851.6, 305.3, 816.2, 322.3, 817.1, 324.5,
-780.8, 339.3, 782.3, 338.7, 780.3, 335.4, 782.0, 333.8, 789.5, 326.7,
-790.6, 327.8, 799.3, 321.8, 802.4, 319.6, 802.4, 319.6, 805.6, 317.4,
-834.2, 297.5, 833.0, 295.4, 862.9, 277.6, 657.9, 132.4, 654.5, 130.0,
-655.6, 128.2, 652.1, 126.1, 669.1, 137.8, 684.1, 135.7, 686.0, 149.5,
-686.9, 150.1, 686.9, 150.1, 687.8, 150.7, 720.3, 173.2, 720.2, 173.3,
-752.8, 195.8, 753.2, 196.1, 753.4, 195.9, 753.8, 196.2, 761.2, 199.3,
-760.5, 200.8, 767.2, 205.4, 764.9, 203.8, 764.9, 203.9, 762.5, 202.3,
-757.6, 199.0, 757.6, 199.0, 752.8, 195.8, 705.4, 164.1, 704.8, 164.9,
-657.9, 132.4, 625.6, 107.8, 638.8, 117.0, 638.8, 117.0, 652.1, 126.1,
-655.6, 128.2, 654.5, 130.0, 657.9, 132.4, 661.1, 135.9, 661.1, 135.9,
-664.3, 139.4, 666.3, 141.5, 666.0, 142.0, 668.3, 143.7, 662.0, 139.2,
-662.4, 138.7, 656.5, 133.7, 646.2, 125.1, 646.2, 125.1, 635.9, 116.5,
-630.8, 112.2, 631.3, 111.2, 625.6, 107.8, 529.6, 223.2, 534.4, 238.6,
-552.7, 230.3, 570.7, 244.0, 580.3, 256.7, 577.6, 260.4, 589.9, 269.3,
-583.2, 266.0, 583.2, 266.0, 576.5, 262.7, 552.2, 244.1, 537.3, 247.9,
-529.6, 223.2, 576.5, 262.7, 542.1, 245.5, 542.5, 244.8, 507.7, 228.3,
-491.6, 218.8, 485.1, 223.3, 475.5, 209.3, 462.4, 196.0, 462.4, 196.0,
-449.3, 182.6, 451.0, 184.5, 451.8, 183.9, 454.2, 185.1, 491.9, 204.2,
-494.1, 200.7, 529.6, 223.2, 537.3, 247.9, 552.2, 244.1, 576.5, 262.7,
-454.2, 185.1, 451.8, 183.9, 451.0, 184.5, 449.3, 182.6, 449.3, 182.6,
-449.3, 182.6, 449.3, 182.6, 436.6, 157.6, 430.6, 159.3, 408.0, 140.6,
-408.6, 140.5, 408.6, 140.5, 409.3, 140.3, 415.1, 145.5, 414.8, 145.9,
-420.4, 151.4, 434.4, 165.4, 434.4, 165.4, 448.4, 179.4, 451.3, 182.2,
-453.2, 181.7, 454.2, 185.1, 613.8, 318.3, 609.5, 309.1, 605.8, 299.8,
-605.3, 300.0, 605.1, 297.0, 605.1, 297.0, 604.9, 294.0, 605.3, 294.2,
-609.6, 291.0, 609.4, 288.2, 617.2, 292.8, 617.2, 292.8, 625.1, 297.5,
-629.5, 310.4, 631.5, 313.3, 643.3, 320.2, 644.4, 323.5, 643.2, 325.5,
-645.5, 326.8, 647.2, 327.6, 645.5, 330.3, 647.2, 331.9, 654.4, 331.7,
-655.2, 355.4, 663.1, 378.8, 631.4, 365.8, 636.9, 349.7, 613.8, 318.3,
-663.1, 378.8, 665.6, 386.2, 665.9, 393.6, 668.1, 393.5, 665.6, 394.7,
-663.0, 395.4, 663.1, 395.9, 657.0, 391.8, 657.0, 391.8, 650.9, 387.6,
-645.7, 384.7, 646.5, 383.2, 642.2, 378.7, 633.7, 347.0, 628.0, 348.5,
-613.8, 318.3, 636.9, 349.7, 631.4, 365.8, 663.1, 378.8, 499.3, 283.8,
-494.8, 281.0, 494.6, 281.3, 490.3, 278.3, 488.5, 277.1, 488.5, 277.1,
-486.8, 275.9, 493.1, 279.8, 493.2, 279.7, 499.3, 283.8, 745.7, 58.1,
-738.0, 64.9, 735.2, 63.3, 730.2, 71.7, 721.6, 76.1, 720.4, 73.8,
-710.6, 75.9, 697.8, 73.4, 696.7, 78.9, 682.9, 81.8, 684.2, 81.2,
-683.7, 80.2, 684.5, 78.6, 714.6, 67.2, 714.3, 62.8, 745.7, 58.1,
-684.5, 78.6, 693.9, 59.1, 695.5, 59.7, 703.4, 39.5, 715.2, 34.3,
-715.7, 35.3, 727.1, 29.1, 740.2, 32.1, 738.4, 39.7, 750.0, 50.0,
-751.2, 51.1, 752.8, 51.7, 752.7, 51.9, 750.0, 51.3, 749.2, 55.0,
-745.7, 58.1, 714.3, 62.8, 714.6, 67.2, 684.5, 78.6, 542.1, 33.9,
-543.6, 32.5, 545.2, 32.4, 545.1, 31.1, 553.1, 61.2, 553.1, 61.2,
-561.1, 91.2, 561.8, 66.9, 553.0, 66.6, 544.8, 42.1, 543.5, 38.0,
-542.0, 37.9, 542.1, 33.9, 407.5, 129.4, 417.9, 114.9, 430.0, 102.1,
-428.3, 100.5, 434.4, 92.1, 434.4, 92.1, 440.4, 83.6, 447.0, 74.6,
-447.0, 74.6, 453.5, 65.5, 459.8, 56.7, 459.8, 56.7, 466.1, 47.9,
-487.4, 18.9, 487.9, 19.2, 508.1, -10.5, 509.0, -11.6, 509.0, -11.6,
-509.8, -12.8, 518.4, -24.7, 515.8, -28.1, 527.0, -36.7, 527.2, -32.2,
-528.2, -32.2, 529.4, -27.8, 519.7, -10.1, 516.9, -11.6, 504.3, 4.5,
-492.4, 20.0, 492.4, 20.0, 480.4, 35.4, 462.3, 58.7, 462.3, 58.7,
-444.3, 82.0, 425.9, 105.7, 427.1, 106.7, 407.5, 129.4, 638.1, -51.9,
-648.3, -56.7, 681.7, -32.3, 682.2, -11.8, 659.3, 3.5, 661.0, 6.1,
-639.9, 23.9, 642.7, 22.6, 639.7, 16.2, 639.5, 8.4, 638.8, -21.7,
-627.0, -46.6, 638.1, -51.9, 590.4, 20.7, 590.0, 21.0, 591.9, 23.2,
-593.4, 25.8, 600.9, 38.2, 611.7, 42.7, 608.4, 50.5, 588.8, 67.1,
-588.0, 66.3, 569.1, 83.6, 568.2, 78.7, 569.0, 78.4, 567.3, 73.7,
-562.9, 63.6, 565.2, 62.6, 563.1, 51.4, 570.9, 33.5, 574.9, 33.8,
-590.4, 20.7, 563.1, 51.4, 560.4, 36.7, 560.4, 36.7, 557.7, 22.0,
-558.4, 22.2, 563.3, 3.6, 568.9, -14.7, 567.4, -13.1, 573.7, -6.8,
-578.5, 1.0, 583.6, 9.6, 583.6, 9.6, 588.8, 18.1, 589.6, 19.4,
-590.7, 20.3, 590.4, 20.7, 574.9, 33.8, 570.9, 33.5, 563.1, 51.4,
-381.2, 91.7, 379.0, 83.0, 379.0, 83.0, 376.8, 74.3, 398.1, 75.3,
-406.4, 74.7, 420.2, 60.1, 422.4, 62.5, 422.7, 62.3, 424.5, 65.0,
-424.7, 65.3, 424.7, 65.3, 424.9, 65.5, 429.1, 70.4, 432.4, 75.9,
-433.3, 75.3, 410.5, 89.0, 407.1, 92.2, 381.2, 91.7, 433.3, 75.3,
-436.2, 74.9, 441.1, 80.3, 440.4, 83.6, 434.4, 92.1, 434.4, 92.1,
-428.3, 100.5, 419.0, 91.7, 405.6, 101.1, 385.5, 108.7, 383.3, 100.2,
-383.3, 100.2, 381.2, 91.7, 407.1, 92.2, 410.5, 89.0, 433.3, 75.3,
-389.3, 14.2, 383.0, 5.0, 383.0, 5.0, 376.6, -4.2, 390.5, 7.5,
-392.6, 4.9, 408.7, 14.0, 405.6, 9.6, 396.6, 18.3, 389.3, 14.2,
-436.9, -32.1, 422.6, -36.7, 419.5, -26.5, 402.0, -21.5, 401.0, -21.6,
-400.6, -21.2, 400.1, -21.7, 390.0, -26.2, 383.0, -17.7, 376.9, -24.1,
-371.8, -27.7, 369.8, -25.0, 362.6, -25.6, 370.0, -27.5, 370.0, -27.5,
-377.4, -29.4, 407.0, -32.0, 410.3, -40.7, 436.9, -32.1, 377.4, -29.4,
-388.0, -32.1, 387.8, -33.8, 398.6, -34.9, 399.3, -35.1, 399.3, -34.9,
-400.0, -35.1, 407.0, -36.9, 407.0, -37.0, 414.0, -38.8, 441.9, -46.0,
-441.9, -45.9, 469.8, -53.0, 471.6, -53.4, 471.6, -53.4, 473.5, -53.9,
-508.4, -62.5, 508.4, -62.5, 543.4, -71.1, 543.5, -71.2, 546.8, -66.8,
-549.1, -67.4, 548.5, -66.6, 548.5, -66.6, 548.0, -65.9, 523.9, -58.0,
-523.8, -58.5, 499.5, -51.2, 493.8, -49.4, 493.8, -49.4, 488.0, -47.7,
-474.0, -43.4, 474.0, -43.4, 460.0, -39.1, 448.4, -35.6, 448.7, -33.5,
-436.9, -32.1, 410.3, -40.7, 407.0, -32.0, 377.4, -29.4, 413.6, -20.3,
-407.8, -20.9, 407.8, -20.9, 402.0, -21.5, 419.5, -26.5, 422.6, -36.7,
-436.9, -32.1, 448.7, -33.5, 448.4, -35.6, 460.0, -39.1, 437.7, -27.9,
-437.4, -27.6, 413.6, -20.3, 262.6, 59.6, 266.1, 47.2, 266.1, 47.2,
-269.6, 34.9, 275.0, 35.4, 273.9, 47.9, 278.3, 61.0, 280.9, 68.7,
-282.6, 68.5, 283.5, 76.5, 283.3, 74.8, 281.6, 75.0, 279.7, 73.4,
-278.0, 72.0, 278.0, 72.0, 276.3, 70.7, 269.4, 65.1, 263.8, 66.2,
-262.6, 59.6, 258.3, 282.1, 242.0, 274.1, 239.8, 263.1, 225.8, 266.0,
-226.1, 264.6, 220.4, 263.4, 215.0, 260.7, 215.6, 260.1, 215.2, 259.7,
-215.5, 258.6, 231.4, 266.1, 230.9, 267.1, 246.4, 275.6, 252.4, 278.8,
-252.2, 279.3, 258.3, 282.1, 328.2, 263.3, 327.4, 271.4, 317.3, 278.9,
-316.7, 278.6, 304.2, 270.5, 309.3, 262.4, 302.0, 246.3, 292.6, 225.6,
-289.8, 226.5, 283.1, 204.9, 281.7, 200.4, 287.8, 196.8, 285.8, 194.3,
-306.2, 219.1, 302.8, 221.9, 319.8, 249.5, 324.0, 256.4, 328.9, 256.9,
-328.2, 263.3, 302.0, 246.3, 309.3, 262.4, 304.2, 270.5, 316.7, 278.6,
-317.4, 281.6, 313.8, 282.4, 310.9, 286.3, 304.9, 294.2, 305.5, 301.5,
-298.9, 302.1, 287.0, 303.2, 286.3, 295.9, 273.8, 289.7, 273.2, 289.5,
-272.7, 289.1, 272.7, 289.2, 286.8, 267.4, 283.3, 250.8, 302.0, 246.3,
-272.7, 289.2, 272.7, 289.2, 272.6, 289.1, 272.4, 289.1, 272.4, 286.8,
-267.9, 286.8, 263.4, 284.6, 262.5, 271.2, 266.8, 270.9, 270.2, 257.1,
-276.7, 231.0, 269.4, 209.6, 283.1, 204.9, 289.8, 226.5, 292.6, 225.6,
-302.0, 246.3, 283.3, 250.8, 286.8, 267.4, 272.7, 289.2, 355.1, 114.2,
-354.4, 113.6, 355.4, 111.8, 354.9, 111.6, 355.9, 114.6, 357.8, 114.0,
-360.7, 116.3, 360.6, 115.1, 357.3, 116.0, 355.1, 114.2, 290.3, 313.5,
-264.4, 347.9, 264.3, 347.9, 238.3, 382.2, 230.2, 388.0, 231.9, 390.5,
-225.7, 398.9, 200.5, 426.6, 203.0, 428.9, 180.4, 458.9, 176.5, 467.1,
-171.8, 464.8, 163.2, 470.8, 180.2, 443.2, 183.7, 445.4, 204.3, 420.0,
-243.4, 371.5, 243.4, 371.5, 282.5, 323.1, 284.3, 320.9, 284.3, 320.9,
-286.0, 318.8, 288.1, 316.1, 288.2, 316.2, 290.3, 313.5, 176.4, 420.6,
-168.2, 442.5, 164.8, 441.2, 153.1, 461.8, 153.0, 462.3, 152.8, 462.2,
-152.7, 462.6, 167.5, 420.8, 166.8, 420.5, 182.4, 379.0, 181.0, 382.6,
-181.8, 382.9, 181.3, 386.7, 178.8, 403.7, 182.3, 404.9, 176.4, 420.6,
-177.5, 256.5, 178.6, 254.5, 179.3, 254.6, 179.6, 252.5, 203.3, 213.2,
-200.9, 211.7, 222.2, 171.0, 225.6, 158.8, 229.8, 160.1, 235.8, 148.5,
-235.5, 149.5, 235.5, 149.5, 235.3, 150.5, 230.0, 160.7, 229.8, 160.6,
-224.3, 170.6, 214.9, 187.9, 214.9, 187.9, 205.5, 205.2, 192.6, 228.8,
-192.5, 228.8, 179.6, 252.5, 179.3, 254.6, 178.6, 254.5, 177.5, 256.5,
-146.0, 348.1, 145.8, 345.7, 145.5, 345.7, 145.6, 343.2, 146.0, 329.6,
-141.9, 317.5, 146.4, 316.0, 151.6, 306.0, 151.6, 306.0, 156.8, 296.1,
-155.4, 298.3, 156.2, 298.9, 155.7, 301.6, 154.8, 305.8, 154.8, 305.8,
-154.0, 309.9, 150.0, 329.0, 150.8, 329.2, 146.0, 348.1, 159.0, 237.4,
-147.8, 258.1, 146.3, 257.4, 136.6, 278.7, 137.5, 255.7, 137.5, 255.7,
-138.4, 232.7, 155.7, 212.2, 153.4, 210.2, 168.4, 187.8, 169.4, 188.0,
-167.3, 213.8, 159.0, 237.4, 168.4, 187.8, 200.4, 140.1, 204.5, 142.4,
-232.3, 92.4, 235.7, 87.8, 236.4, 88.2, 239.2, 83.3, 219.1, 123.5,
-219.1, 123.5, 199.0, 163.7, 206.9, 171.3, 179.0, 200.6, 159.0, 237.4,
-167.3, 213.8, 169.4, 188.0, 168.4, 187.8, 471.9, 840.0, 468.5, 791.8,
-468.5, 791.8, 465.1, 743.6, 463.7, 718.3, 464.4, 718.2, 463.6, 692.9,
-463.5, 690.2, 463.4, 690.2, 463.3, 687.6, 463.2, 686.9, 463.2, 686.2,
-463.2, 686.2, 463.2, 686.2, 463.2, 686.9, 463.3, 687.6, 463.4, 690.2,
-463.5, 690.2, 463.6, 692.9, 467.8, 766.4, 469.7, 766.4, 471.9, 840.0,
-704.6, 772.1, 709.6, 768.3, 709.0, 767.6, 713.4, 763.0, 716.6, 759.7,
-716.6, 759.7, 719.8, 756.4, 725.4, 750.5, 725.4, 750.5, 731.1, 744.7,
-735.2, 740.4, 735.2, 740.4, 739.3, 736.1, 751.8, 723.2, 750.1, 721.0,
-764.3, 710.3, 765.7, 712.6, 766.5, 712.4, 767.2, 714.9, 768.1, 717.4,
-768.7, 717.2, 770.2, 719.5, 739.2, 747.8, 738.0, 746.6, 704.6, 772.1,
-530.8, 680.6, 529.6, 688.2, 529.9, 688.2, 529.0, 695.8, 526.4, 716.5,
-526.4, 716.5, 523.8, 737.3, 519.5, 772.2, 519.5, 772.2, 515.2, 807.1,
-512.6, 828.3, 512.6, 828.3, 510.0, 849.6, 508.0, 865.3, 511.1, 866.3,
-506.1, 880.9, 505.7, 882.1, 499.2, 880.7, 499.2, 881.1, 505.3, 820.4,
-508.7, 820.8, 518.2, 760.4, 524.5, 720.5, 524.2, 720.5, 530.8, 680.6,
-504.4, 759.9, 504.4, 760.3, 504.4, 760.3, 504.3, 760.8, 496.6, 802.0,
-496.7, 802.1, 490.8, 843.6, 489.1, 837.4, 485.8, 836.4, 487.4, 831.1,
-486.4, 819.9, 486.4, 819.9, 485.3, 808.6, 485.3, 808.6, 483.9, 793.3,
-482.5, 778.1, 485.1, 756.8, 480.5, 747.8, 494.2, 736.4, 491.4, 738.7,
-499.5, 748.0, 504.4, 759.9, 494.2, 736.4, 501.4, 685.9, 537.8, 673.8,
-521.8, 637.3, 512.1, 698.4, 513.1, 698.6, 504.4, 759.9, 499.5, 748.0,
-491.4, 738.7, 494.2, 736.4, 572.6, 410.9, 576.4, 416.8, 576.4, 416.8,
-580.1, 422.7, 579.7, 424.1, 580.0, 424.7, 580.8, 426.0, 580.2, 430.4,
-579.6, 430.3, 578.5, 434.6, 577.9, 436.5, 578.4, 438.1, 577.4, 438.4,
-563.8, 442.5, 563.3, 440.9, 549.3, 443.3, 545.6, 443.9, 543.5, 442.4,
-541.9, 444.6, 555.1, 426.2, 553.8, 421.7, 572.6, 410.9, 482.0, 772.1,
-480.0, 750.5, 480.1, 750.5, 478.0, 728.9, 478.3, 721.1, 484.7, 720.8,
-484.0, 713.4, 486.7, 742.4, 492.0, 746.3, 482.0, 772.1, 446.9, 345.2,
-448.3, 351.9, 446.0, 352.4, 445.1, 359.6, 444.8, 361.9, 444.1, 362.0,
-444.5, 364.1, 443.9, 357.8, 443.9, 357.8, 443.4, 351.4, 443.8, 348.2,
-447.5, 347.8, 446.9, 345.2, 406.2, 718.4, 412.9, 726.6, 407.7, 747.1,
-403.8, 747.8, 396.2, 749.3, 393.5, 735.4, 383.3, 722.9, 376.1, 714.2,
-374.3, 704.6, 369.0, 705.6, 385.7, 702.3, 395.6, 705.4, 406.2, 718.4,
-451.5, 559.9, 451.9, 567.7, 451.9, 567.7, 452.4, 575.5, 452.6, 578.7,
-452.6, 578.7, 452.8, 581.9, 453.1, 588.3, 453.1, 588.3, 453.5, 594.6,
-455.3, 625.3, 455.3, 625.3, 457.1, 655.9, 457.9, 669.3, 457.9, 669.3,
-458.7, 682.6, 460.2, 708.3, 460.1, 708.3, 461.7, 734.0, 463.2, 759.1,
-463.3, 759.1, 464.9, 784.3, 464.9, 784.9, 464.8, 784.9, 464.7, 785.5,
-463.1, 759.8, 463.2, 759.7, 461.7, 734.0, 460.1, 708.3, 460.2, 708.3,
-458.7, 682.6, 457.9, 669.3, 457.9, 669.3, 457.1, 655.9, 455.3, 625.3,
-455.3, 625.3, 453.5, 594.6, 453.1, 588.3, 453.1, 588.3, 452.8, 581.9,
-452.6, 578.7, 452.6, 578.7, 452.4, 575.5, 451.9, 567.7, 451.9, 567.7,
-451.5, 559.9, 358.6, 780.4, 359.1, 775.3, 359.2, 775.3, 359.7, 770.2,
-360.0, 767.1, 360.0, 767.1, 360.3, 764.1, 360.9, 758.8, 360.9, 758.8,
-361.4, 753.6, 362.4, 743.8, 362.4, 743.8, 363.4, 734.1, 364.4, 724.0,
-361.6, 722.8, 365.4, 714.0, 365.5, 713.7, 365.5, 713.7, 365.5, 713.5,
-364.5, 723.8, 364.5, 723.8, 363.4, 734.1, 362.4, 743.8, 362.4, 743.8,
-361.4, 753.6, 360.9, 758.8, 360.9, 758.8, 360.3, 764.1, 360.0, 767.1,
-360.0, 767.1, 359.7, 770.2, 359.2, 775.3, 359.1, 775.3, 358.6, 780.4,
-419.4, 196.3, 422.1, 218.7, 422.1, 218.7, 424.8, 241.2, 425.0, 242.8,
-424.8, 242.9, 424.7, 244.6, 423.4, 234.8, 423.6, 234.8, 422.5, 225.0,
-421.0, 210.6, 421.3, 210.6, 419.4, 196.3, 356.8, 749.4, 350.3, 776.3,
-345.5, 776.0, 343.8, 803.1, 354.5, 813.4, 336.9, 831.8, 329.9, 860.4,
-330.6, 857.7, 330.0, 857.6, 330.6, 854.9, 343.4, 802.1, 343.4, 802.1,
-356.8, 749.4, 369.0, 519.0, 376.4, 514.0, 386.1, 528.3, 403.2, 537.7,
-403.4, 537.8, 403.4, 537.8, 403.6, 538.0, 405.6, 539.1, 407.7, 539.3,
-407.6, 540.2, 405.2, 559.0, 409.8, 571.4, 398.6, 577.3, 394.5, 579.5,
-387.8, 566.8, 377.0, 556.3, 376.7, 556.1, 376.5, 556.1, 376.5, 555.8,
-372.5, 537.4, 363.0, 523.0, 369.0, 519.0, 376.5, 555.8, 376.3, 552.5,
-373.2, 552.6, 370.0, 549.5, 362.3, 542.1, 362.3, 542.1, 354.7, 534.6,
-341.8, 522.1, 341.8, 522.1, 329.0, 509.6, 314.1, 495.1, 316.5, 484.7,
-299.2, 480.6, 336.5, 489.3, 341.5, 492.2, 369.0, 519.0, 363.0, 523.0,
-372.5, 537.4, 376.5, 555.8, 403.2, 537.7, 386.1, 528.3, 376.4, 514.0,
-369.0, 519.0, 341.5, 492.2, 336.5, 489.3, 299.2, 480.6, 295.0, 478.2,
-296.3, 475.1, 292.1, 473.7, 302.0, 476.9, 301.3, 479.0, 310.5, 484.3,
-356.8, 511.0, 357.2, 510.5, 403.2, 537.7, 324.0, 409.5, 317.7, 409.2,
-311.5, 396.8, 312.2, 396.0, 316.9, 390.7, 323.6, 396.7, 334.9, 397.3,
-338.5, 397.5, 340.5, 399.4, 342.0, 397.7, 335.1, 405.5, 332.6, 410.0,
-324.0, 409.5, 278.7, 425.6, 285.6, 411.6, 288.9, 412.4, 292.4, 397.5,
-267.8, 486.1, 267.7, 486.1, 242.9, 574.7, 250.8, 548.1, 249.4, 547.7,
-255.8, 520.7, 267.2, 473.2, 267.2, 473.2, 278.6, 425.7, 278.7, 425.6,
-278.7, 425.6, 278.7, 425.6, 278.6, 425.7, 275.1, 429.0, 276.4, 430.3,
-274.1, 435.0, 273.4, 436.3, 273.4, 436.3, 272.8, 437.6, 262.3, 459.0,
-262.3, 459.0, 251.8, 480.4, 239.7, 505.1, 242.2, 506.7, 227.6, 529.8,
-228.1, 523.5, 229.2, 517.3, 228.5, 517.2, 231.2, 498.1, 229.9, 497.9,
-231.3, 478.7, 230.4, 476.9, 233.1, 475.5, 234.8, 472.2, 256.1, 448.4,
-255.5, 447.6, 278.6, 425.7, 234.8, 472.2, 256.9, 432.0, 258.1, 432.7,
-278.9, 391.8, 294.0, 364.3, 294.0, 364.3, 309.1, 336.7, 309.4, 336.0,
-309.5, 336.0, 309.8, 335.3, 301.3, 366.5, 302.9, 367.1, 292.4, 397.5,
-288.9, 412.4, 285.6, 411.6, 278.7, 425.6, 278.7, 425.6, 278.7, 425.6,
-278.6, 425.7, 255.5, 447.6, 256.1, 448.4, 234.8, 472.2, 173.4, 823.0,
-173.4, 823.1, 173.5, 823.2, 173.5, 823.2, 169.0, 836.5, 163.8, 836.8,
-164.5, 849.8, 156.3, 851.7, 151.6, 841.8, 142.6, 830.7, 142.7, 830.7,
-142.6, 826.8, 142.6, 822.9, 142.6, 817.6, 142.3, 817.6, 142.6, 812.3,
-142.5, 801.1, 143.7, 801.1, 144.7, 789.8, 143.9, 791.3, 147.5, 793.0,
-150.3, 796.2, 161.8, 809.6, 161.9, 809.6, 173.4, 823.0, 119.8, 323.7,
-124.1, 343.2, 127.0, 342.9, 128.3, 362.6, 128.7, 366.0, 129.2, 369.3,
-129.2, 369.3, 130.6, 382.7, 130.6, 382.7, 132.1, 396.2, 124.8, 369.2,
-120.5, 370.3, 108.8, 344.5, 107.3, 335.3, 122.1, 325.8, 119.8, 323.7,
-63.0, 185.6, 57.2, 200.1, 54.3, 199.5, 51.4, 214.6, 49.9, 210.5,
-49.9, 210.5, 48.4, 206.4, 53.0, 194.9, 65.5, 192.5, 63.0, 185.6,
-105.4, 363.9, 106.3, 366.5, 106.3, 366.5, 107.3, 369.1, 122.3, 400.9,
-118.4, 402.7, 129.6, 436.3, 129.3, 435.7, 129.0, 435.8, 128.4, 435.2,
-120.2, 413.2, 111.2, 416.5, 94.0, 397.8, 89.6, 384.1, 97.9, 380.0,
-105.4, 363.9, 94.0, 397.8, 88.1, 391.4, 88.2, 391.3, 82.2, 384.9,
-79.3, 381.0, 75.7, 380.0, 76.5, 377.0, 76.4, 376.3, 75.1, 375.7,
-75.3, 375.5, 75.5, 375.2, 74.8, 374.8, 74.3, 374.1, 74.1, 374.0,
-74.2, 373.9, 74.1, 373.8, 75.7, 359.1, 74.5, 359.0, 75.0, 344.2,
-75.0, 344.2, 90.3, 334.3, 90.8, 323.7, 98.1, 343.8, 98.1, 343.8,
-105.4, 363.9, 97.9, 380.0, 89.6, 384.1, 94.0, 397.8, 804.3, 668.0,
-797.3, 661.3, 797.3, 661.3, 790.4, 654.6, 793.9, 640.3, 795.5, 639.4,
-793.8, 625.1, 794.2, 623.3, 794.7, 621.4, 794.7, 621.4, 795.2, 621.3,
-796.2, 619.0, 795.5, 618.0, 795.4, 618.0, 796.0, 615.9, 796.5, 613.7,
-805.7, 616.5, 805.9, 616.0, 815.2, 618.2, 818.6, 641.9, 817.6, 648.5,
-804.3, 668.0, 815.2, 618.2, 821.5, 619.7, 824.4, 623.7, 827.8, 621.3,
-828.2, 620.5, 831.7, 622.2, 835.7, 623.1, 838.1, 626.0, 838.6, 626.1,
-842.2, 627.4, 849.0, 635.9, 849.0, 635.9, 855.7, 644.3, 834.4, 648.1,
-814.8, 664.3, 817.1, 675.3, 814.5, 675.3, 814.5, 675.3, 811.9, 675.4,
-809.7, 676.2, 808.1, 671.7, 804.3, 668.0, 817.6, 648.5, 818.6, 641.9,
-815.2, 618.2, 813.9, 548.1, 824.6, 557.5, 824.6, 557.5, 835.3, 566.8,
-837.5, 568.8, 837.4, 568.9, 839.5, 570.9, 839.5, 570.9, 847.4, 578.7,
-855.2, 586.5, 834.2, 567.7, 833.9, 567.9, 813.9, 548.1, 703.1, 474.3,
-704.9, 476.6, 704.9, 476.6, 706.7, 478.9, 701.7, 512.8, 694.7, 516.5,
-704.0, 547.8, 700.6, 554.3, 700.6, 554.3, 697.3, 560.8, 694.3, 542.7,
-698.6, 542.0, 699.8, 523.1, 700.3, 515.6, 700.3, 515.6, 700.8, 508.2,
-701.6, 497.2, 701.6, 497.2, 702.3, 486.2, 702.5, 483.1, 702.5, 483.1,
-702.7, 480.0, 702.8, 478.7, 702.8, 478.7, 702.9, 477.3, 703.0, 475.8,
-703.5, 474.5, 703.1, 474.3, 918.1, 484.0, 921.1, 492.4, 921.1, 492.4,
-924.1, 500.9, 926.8, 505.5, 923.1, 507.7, 922.2, 514.6, 921.4, 524.5,
-919.9, 524.4, 917.5, 534.2, 914.2, 509.6, 913.3, 508.2, 918.1, 484.0,
-765.5, 384.9, 812.7, 448.1, 811.2, 449.2, 859.8, 511.3, 863.9, 517.2,
-863.9, 517.2, 868.0, 523.0, 851.2, 505.1, 850.6, 505.7, 833.2, 488.3,
-796.5, 438.8, 810.5, 423.8, 765.5, 384.9, 833.2, 488.3, 792.0, 447.3,
-794.4, 444.7, 750.9, 406.3, 745.1, 399.2, 746.0, 393.0, 739.4, 392.2,
-751.7, 387.5, 751.7, 387.5, 764.0, 382.8, 763.8, 383.1, 764.8, 383.9,
-765.5, 384.9, 810.5, 423.8, 796.5, 438.8, 833.2, 488.3, 789.5, 387.2,
-786.9, 381.2, 788.2, 380.2, 784.2, 375.2, 792.1, 372.2, 792.1, 372.2,
-799.9, 369.3, 800.0, 369.2, 800.1, 369.5, 800.2, 369.8, 794.8, 382.7,
-810.9, 389.5, 821.7, 409.3, 820.1, 403.3, 814.9, 404.7, 808.2, 400.0,
-798.9, 393.6, 797.2, 395.2, 789.5, 387.2, 875.3, 138.2, 890.8, 149.6,
-890.8, 149.6, 906.3, 160.9, 881.0, 157.7, 877.1, 159.7, 853.6, 170.8,
-841.7, 168.3, 840.9, 163.7, 829.8, 165.7, 822.6, 162.9, 818.5, 154.8,
-816.9, 156.1, 832.1, 143.9, 836.9, 149.9, 857.0, 143.8, 866.1, 141.0,
-868.0, 135.7, 875.3, 138.2, 839.8, 173.3, 876.6, 201.0, 876.6, 201.0,
-913.4, 228.8, 918.1, 232.3, 918.0, 232.3, 922.7, 235.8, 881.2, 204.6,
-881.1, 204.8, 839.8, 173.3, 774.9, 157.7, 800.5, 192.0, 799.6, 193.6,
-817.9, 232.4, 812.6, 229.4, 812.6, 229.4, 807.2, 226.4, 799.9, 216.7,
-801.9, 215.2, 796.7, 204.0, 785.8, 180.8, 789.9, 177.8, 774.9, 157.7,
-742.1, 168.4, 748.6, 172.2, 747.3, 174.3, 752.5, 180.3, 759.9, 188.8,
-758.0, 193.0, 767.4, 197.3, 728.8, 172.1, 729.3, 154.2, 687.8, 150.7,
-686.9, 150.1, 686.9, 150.1, 686.0, 149.5, 683.8, 133.2, 668.7, 135.3,
-651.4, 121.1, 699.3, 137.2, 698.0, 142.6, 742.1, 168.4, 799.3, 321.8,
-790.6, 327.8, 789.5, 326.7, 782.0, 333.8, 782.8, 333.4, 782.3, 332.4,
-782.6, 330.9, 783.7, 325.5, 781.7, 321.8, 784.9, 320.1, 790.0, 317.2,
-799.1, 322.4, 799.3, 321.8, 664.3, 139.4, 661.1, 135.9, 661.1, 135.9,
-657.9, 132.4, 704.8, 164.9, 705.4, 164.1, 752.8, 195.8, 716.3, 163.2,
-711.0, 169.1, 669.2, 142.5, 666.8, 140.9, 666.5, 141.3, 664.3, 139.4,
-658.2, 159.9, 633.0, 146.5, 634.7, 139.2, 607.9, 133.0, 589.3, 120.3,
-589.3, 120.3, 570.7, 107.6, 572.4, 108.8, 572.5, 108.7, 574.2, 109.7,
-593.2, 121.1, 593.2, 121.1, 612.2, 132.4, 635.2, 146.2, 637.3, 162.6,
-658.2, 159.9, 549.5, 216.0, 560.1, 230.0, 560.1, 230.0, 570.7, 244.0,
-552.7, 230.3, 534.4, 238.6, 529.6, 223.2, 494.1, 200.7, 491.9, 204.2,
-454.2, 185.1, 453.2, 181.7, 451.3, 182.2, 448.4, 179.4, 466.8, 183.8,
-466.3, 185.9, 484.2, 192.4, 511.4, 202.2, 511.4, 202.2, 538.5, 212.0,
-544.0, 214.0, 545.7, 212.3, 549.5, 216.0, 468.4, 248.2, 463.1, 244.0,
-464.6, 242.2, 460.7, 236.1, 452.5, 223.3, 456.0, 216.4, 444.3, 210.5,
-492.1, 245.1, 492.6, 244.5, 541.6, 277.4, 542.2, 278.2, 542.2, 278.3,
-542.8, 279.0, 536.5, 273.8, 530.8, 280.7, 518.8, 282.5, 491.3, 271.0,
-492.2, 267.1, 468.4, 248.2, 518.8, 282.5, 510.0, 283.7, 505.9, 288.8,
-501.2, 285.0, 500.2, 284.4, 500.2, 284.4, 499.3, 283.8, 493.2, 279.7,
-493.1, 279.8, 486.8, 275.9, 486.2, 275.5, 486.0, 275.6, 485.7, 275.1,
-482.9, 270.8, 481.8, 271.2, 480.2, 266.5, 477.7, 262.6, 477.7, 262.6,
-475.1, 258.7, 471.8, 253.4, 473.2, 250.8, 468.4, 248.2, 492.2, 267.1,
-491.3, 271.0, 518.8, 282.5, 504.3, 4.5, 516.9, -11.6, 519.7, -10.1,
-529.4, -27.8, 529.8, -26.1, 529.7, -26.0, 530.3, -24.4, 538.8, -5.6,
-535.7, -4.2, 541.1, 16.0, 525.8, 22.1, 528.8, 29.4, 516.5, 42.7,
-516.9, 42.3, 516.0, 41.4, 515.6, 40.0, 510.5, 23.9, 510.5, 23.9,
-505.4, 7.7, 504.9, 6.1, 503.8, 5.4, 504.3, 4.5, 639.5, 8.4,
-639.7, 16.2, 642.7, 22.6, 639.9, 23.9, 624.1, 37.2, 624.1, 37.2,
-608.4, 50.5, 611.7, 42.7, 600.9, 38.2, 593.4, 25.8, 593.3, 25.3,
-597.4, 24.3, 601.4, 22.8, 610.8, 19.2, 610.8, 19.2, 620.2, 15.7,
-624.8, 14.0, 624.8, 14.0, 629.3, 12.3, 634.4, 10.4, 638.2, 7.0,
-639.5, 8.4, 453.5, 65.5, 447.0, 74.6, 447.0, 74.6, 440.4, 83.6,
-441.1, 80.3, 436.2, 74.9, 433.3, 75.3, 432.4, 75.9, 429.1, 70.4,
-424.9, 65.5, 436.5, 59.9, 447.5, 58.4, 453.5, 65.5, 450.5, -16.5,
-432.0, -18.4, 432.0, -18.4, 413.6, -20.3, 437.4, -27.6, 437.7, -27.9,
-460.0, -39.1, 474.0, -43.4, 474.0, -43.4, 488.0, -47.7, 479.7, -27.7,
-472.1, -24.4, 450.5, -16.5, 265.1, 182.1, 248.9, 202.2, 226.0, 217.1,
-225.3, 216.3, 232.4, 185.6, 232.4, 185.6, 239.6, 154.9, 239.5, 155.4,
-240.3, 155.6, 240.9, 156.3, 249.7, 165.6, 249.7, 165.6, 258.5, 175.0,
-261.8, 178.5, 265.5, 181.5, 265.1, 182.1, 286.3, 163.8, 287.4, 159.2,
-290.1, 157.2, 295.2, 156.1, 293.8, 156.4, 295.6, 160.6, 293.7, 162.2,
-291.1, 164.4, 286.7, 162.2, 286.3, 163.8, 319.8, 249.5, 302.8, 221.9,
-306.2, 219.1, 285.8, 194.3, 281.7, 180.7, 289.7, 178.2, 293.7, 162.2,
-295.6, 160.6, 293.8, 156.4, 295.2, 156.1, 298.4, 143.3, 298.4, 143.3,
-301.6, 130.4, 301.6, 130.4, 301.5, 130.3, 301.5, 130.3, 301.5, 130.3,
-301.6, 130.4, 301.6, 130.4, 310.7, 190.0, 333.2, 195.5, 319.8, 249.5,
-301.6, 130.4, 302.9, 144.6, 306.2, 144.2, 310.9, 158.1, 320.4, 186.5,
-320.4, 186.5, 329.9, 214.9, 331.8, 220.7, 331.8, 220.7, 333.8, 226.6,
-330.2, 231.4, 334.1, 239.5, 340.6, 246.9, 340.9, 248.6, 339.1, 248.9,
-337.6, 250.9, 332.9, 257.1, 332.4, 263.6, 328.2, 263.3, 328.9, 256.9,
-324.0, 256.4, 319.8, 249.5, 333.2, 195.5, 310.7, 190.0, 301.6, 130.4,
-356.7, 139.2, 350.2, 134.3, 353.0, 126.2, 355.1, 114.2, 357.3, 116.0,
-360.6, 115.1, 360.7, 116.3, 381.1, 132.7, 381.1, 132.7, 401.4, 149.1,
-401.6, 148.1, 373.4, 151.7, 356.7, 139.2, 299.7, 125.0, 289.1, 108.1,
-282.8, 103.1, 286.7, 86.0, 287.4, 82.9, 297.8, 85.2, 308.9, 84.4,
-315.9, 83.9, 321.9, 81.1, 323.0, 83.4, 325.0, 87.7, 319.0, 90.5,
-315.0, 97.6, 310.1, 106.4, 310.1, 106.4, 305.2, 115.3, 302.5, 120.1,
-298.3, 122.7, 299.7, 125.0, 181.3, 386.7, 181.8, 382.9, 181.0, 382.6,
-182.4, 379.0, 186.4, 367.7, 186.4, 367.7, 190.4, 356.3, 188.2, 371.8,
-186.6, 371.8, 181.3, 386.7, 224.3, 170.6, 229.8, 160.6, 230.0, 160.7,
-235.3, 150.5, 231.1, 165.6, 231.1, 165.6, 226.9, 180.6, 227.0, 180.2,
-226.8, 180.1, 226.7, 179.6, 225.5, 175.1, 223.2, 174.4, 224.3, 170.6,
-155.7, 301.6, 156.2, 298.9, 155.4, 298.3, 156.8, 296.1, 157.4, 294.9,
-157.1, 294.1, 158.1, 293.8, 165.8, 287.7, 163.1, 284.1, 168.1, 274.5,
-182.5, 266.1, 189.3, 262.0, 202.7, 267.7, 200.1, 277.3, 200.1, 277.3,
-197.4, 286.9, 194.8, 290.7, 192.0, 288.8, 186.7, 290.7, 179.3, 293.3,
-179.3, 293.3, 172.0, 295.9, 171.2, 296.2, 171.2, 296.2, 170.5, 296.4,
-164.9, 298.4, 164.9, 298.4, 159.2, 300.4, 157.5, 301.0, 155.8, 301.9,
-155.7, 301.6, 474.7, 878.3, 473.3, 859.1, 473.3, 859.1, 471.9, 840.0,
-469.7, 766.4, 467.8, 766.4, 463.6, 692.9, 463.5, 690.2, 463.4, 690.2,
-463.3, 687.6, 463.4, 690.2, 463.5, 690.2, 463.6, 692.9, 467.8, 766.4,
-469.7, 766.4, 471.9, 840.0, 473.3, 859.1, 473.3, 859.1, 474.7, 878.3,
-703.6, 773.3, 704.1, 772.7, 704.0, 772.6, 704.6, 772.1, 738.0, 746.6,
-739.2, 747.8, 770.2, 719.5, 770.4, 719.9, 770.8, 720.0, 770.7, 720.3,
-771.7, 726.6, 776.6, 732.6, 778.2, 732.1, 769.4, 744.7, 763.0, 739.6,
-750.0, 750.0, 696.0, 793.3, 704.4, 809.3, 644.3, 839.4, 681.2, 820.9,
-673.9, 806.3, 703.6, 773.3, 644.3, 839.4, 633.2, 850.9, 632.6, 850.6,
-619.8, 860.2, 624.5, 856.6, 623.9, 855.9, 628.1, 851.5, 661.0, 817.4,
-661.0, 817.4, 693.8, 783.4, 698.7, 778.3, 698.9, 778.5, 703.6, 773.3,
-673.9, 806.3, 681.2, 820.9, 644.3, 839.4, 518.2, 760.4, 508.7, 820.8,
-505.3, 820.4, 499.2, 881.1, 499.0, 882.0, 494.5, 882.9, 492.0, 881.3,
-490.7, 880.5, 491.8, 878.8, 491.6, 876.2, 490.2, 868.5, 490.8, 868.4,
-490.1, 860.6, 493.4, 859.1, 491.7, 854.3, 491.9, 847.9, 495.9, 826.7,
-495.0, 826.5, 498.0, 805.1, 499.1, 794.7, 500.0, 794.8, 501.9, 784.4,
-507.8, 771.4, 517.9, 772.6, 518.2, 760.4, 501.9, 784.4, 516.1, 671.5,
-522.3, 672.2, 543.4, 560.1, 544.6, 555.9, 545.0, 555.9, 545.8, 551.6,
-546.7, 548.5, 546.1, 548.2, 547.5, 545.3, 546.7, 546.9, 547.3, 547.2,
-547.1, 549.0, 545.2, 564.5, 545.2, 564.5, 543.2, 580.0, 542.6, 585.6,
-542.6, 585.6, 541.9, 591.3, 540.1, 605.1, 540.1, 605.1, 538.4, 619.0,
-537.3, 627.8, 537.3, 627.8, 536.3, 636.7, 533.8, 656.3, 533.8, 656.3,
-531.4, 675.9, 531.1, 678.3, 531.2, 678.3, 530.8, 680.6, 524.2, 720.5,
-524.5, 720.5, 518.2, 760.4, 517.9, 772.6, 507.8, 771.4, 501.9, 784.4,
-563.3, 396.4, 568.0, 403.6, 568.0, 403.6, 572.6, 410.9, 553.8, 421.7,
-555.1, 426.2, 541.9, 444.6, 541.1, 445.4, 540.4, 444.8, 539.0, 445.1,
-528.2, 446.9, 528.2, 446.9, 517.4, 448.8, 509.5, 450.2, 501.5, 451.9,
-501.5, 451.5, 510.3, 443.7, 507.4, 440.4, 513.3, 429.3, 535.4, 409.6,
-535.8, 404.9, 563.3, 396.4, 513.3, 429.3, 529.4, 398.9, 533.3, 400.4,
-545.5, 368.5, 554.4, 382.5, 554.4, 382.5, 563.3, 396.4, 535.8, 404.9,
-535.4, 409.6, 513.3, 429.3, 526.6, 620.2, 524.2, 628.7, 523.2, 628.6,
-521.8, 637.3, 537.8, 673.8, 501.4, 685.9, 494.2, 736.4, 480.5, 747.8,
-485.1, 756.8, 482.5, 778.1, 482.3, 775.1, 482.3, 775.1, 482.0, 772.1,
-492.0, 746.3, 486.7, 742.4, 484.0, 713.4, 490.1, 684.0, 495.0, 685.1,
-506.0, 656.7, 507.2, 653.4, 506.8, 653.2, 508.5, 650.2, 517.1, 634.9,
-514.4, 631.9, 526.6, 620.2, 508.5, 650.2, 506.3, 648.9, 514.9, 633.7,
-521.3, 617.1, 524.2, 609.7, 524.2, 609.7, 527.1, 602.3, 535.2, 581.2,
-542.9, 581.4, 543.4, 560.1, 535.0, 590.1, 535.0, 590.1, 526.6, 620.2,
-514.4, 631.9, 517.1, 634.9, 508.5, 650.2, 451.2, 311.6, 452.2, 312.4,
-450.9, 313.9, 450.6, 316.3, 448.7, 330.7, 449.8, 331.0, 446.9, 345.2,
-447.5, 347.8, 443.8, 348.2, 443.4, 351.4, 441.3, 329.1, 441.3, 329.1,
-439.3, 306.7, 439.0, 307.9, 446.5, 307.6, 451.2, 311.6, 490.6, 289.4,
-495.4, 300.0, 492.2, 303.8, 500.3, 310.6, 501.6, 337.8, 501.6, 337.8,
-503.0, 365.1, 487.6, 331.4, 492.5, 327.4, 490.6, 289.4, 453.6, 292.6,
-451.1, 287.9, 456.2, 280.0, 455.2, 279.7, 461.1, 281.5, 459.3, 287.6,
-463.5, 295.5, 465.0, 298.4, 464.4, 300.7, 466.5, 301.3, 459.4, 299.2,
-456.8, 298.7, 453.6, 292.6, 184.0, 643.8, 178.9, 658.2, 177.4, 657.8,
-173.9, 672.6, 169.9, 643.5, 169.9, 643.5, 165.9, 614.5, 163.2, 624.8,
-174.0, 627.6, 182.2, 640.8, 183.1, 642.3, 184.3, 642.6, 184.0, 643.8,
-218.5, 420.3, 228.1, 405.3, 229.6, 406.0, 237.7, 390.2, 232.9, 392.7,
-238.0, 401.0, 236.2, 411.3, 228.3, 439.8, 230.0, 440.3, 223.8, 469.2,
-233.1, 461.9, 221.4, 447.0, 219.0, 424.9, 218.8, 422.6, 217.7, 422.0,
-218.5, 420.3, 421.1, 484.6, 422.3, 473.1, 423.9, 473.2, 426.6, 461.9,
-427.4, 458.4, 428.0, 458.4, 428.3, 454.9, 425.3, 497.4, 424.7, 497.4,
-421.2, 539.9, 420.9, 543.2, 420.6, 543.2, 420.6, 546.5, 420.4, 532.8,
-420.7, 532.8, 420.8, 519.2, 421.0, 501.9, 419.4, 501.7, 421.1, 484.6,
-422.5, 225.0, 423.6, 234.8, 423.4, 234.8, 424.7, 244.6, 424.1, 275.2,
-419.6, 275.8, 423.4, 305.9, 420.5, 301.6, 420.5, 301.6, 417.5, 297.2,
-417.2, 261.1, 417.7, 260.8, 422.5, 225.0, 355.0, 647.4, 355.7, 641.6,
-358.4, 641.9, 358.8, 636.1, 356.5, 665.5, 360.6, 667.3, 351.3, 694.7,
-358.7, 672.9, 352.0, 670.9, 355.0, 647.4, 376.3, 669.4, 377.1, 669.7,
-372.0, 686.8, 367.8, 704.1, 366.7, 708.8, 366.7, 708.8, 365.5, 713.5,
-365.5, 713.7, 365.5, 713.7, 365.4, 714.0, 358.3, 730.5, 361.1, 731.7,
-356.8, 749.4, 343.4, 802.1, 343.4, 802.1, 330.6, 854.9, 337.9, 833.6,
-333.6, 832.1, 336.5, 809.4, 337.2, 803.9, 337.2, 803.9, 337.9, 798.5,
-338.4, 794.6, 338.4, 794.6, 338.9, 790.7, 339.9, 783.2, 339.9, 783.2,
-340.8, 775.8, 345.8, 737.4, 338.7, 735.0, 350.7, 699.0, 356.4, 681.9,
-368.6, 667.1, 376.3, 669.4, 292.5, 405.8, 296.0, 393.7, 296.0, 393.7,
-299.6, 381.6, 301.7, 380.5, 305.9, 388.8, 312.2, 396.0, 311.5, 396.8,
-317.7, 409.2, 324.0, 409.5, 326.5, 412.4, 326.5, 412.4, 329.1, 415.3,
-332.3, 419.0, 331.6, 421.7, 335.5, 422.7, 313.3, 417.0, 306.0, 421.3,
-292.5, 405.8, 302.4, 371.7, 309.5, 347.3, 311.6, 347.8, 316.6, 322.9,
-320.3, 313.4, 317.5, 312.0, 322.4, 303.2, 327.4, 285.8, 327.4, 285.8,
-332.5, 268.4, 332.7, 267.9, 333.0, 267.6, 332.8, 267.4, 338.5, 275.2,
-344.3, 276.1, 343.5, 283.5, 341.6, 301.3, 335.5, 300.7, 327.5, 317.9,
-326.6, 319.9, 326.6, 319.9, 325.6, 322.0, 319.1, 335.8, 319.1, 335.8,
-312.7, 349.7, 310.3, 354.7, 310.3, 354.7, 308.0, 359.7, 305.2, 365.7,
-303.9, 365.4, 302.4, 371.7, 420.4, 487.6, 421.6, 491.2, 419.3, 491.9,
-418.3, 496.3, 418.2, 496.3, 418.2, 496.3, 418.2, 496.4, 416.2, 504.6,
-411.6, 510.8, 414.3, 512.8, 385.3, 491.1, 389.9, 484.9, 365.6, 457.1,
-362.0, 453.0, 362.0, 453.0, 358.5, 448.9, 350.7, 440.1, 352.6, 437.1,
-343.0, 431.2, 380.2, 454.0, 378.3, 457.0, 413.7, 482.7, 417.0, 485.2,
-419.3, 484.4, 420.4, 487.6, 303.1, 319.5, 315.6, 292.9, 311.4, 286.3,
-332.5, 268.4, 327.4, 285.8, 327.4, 285.8, 322.4, 303.2, 313.8, 318.9,
-315.6, 319.9, 309.1, 336.7, 294.0, 364.3, 294.0, 364.3, 278.9, 391.8,
-271.4, 406.4, 270.2, 405.8, 261.6, 419.8, 278.8, 368.5, 280.1, 368.6,
-303.1, 319.5, 261.6, 419.8, 246.9, 443.6, 244.9, 442.6, 232.2, 467.3,
-233.2, 453.4, 233.2, 453.4, 234.2, 439.5, 264.1, 377.3, 252.0, 356.3,
-303.1, 319.5, 280.1, 368.6, 278.8, 368.5, 261.6, 419.8, 234.9, 429.5,
-235.6, 420.4, 233.8, 419.9, 236.2, 411.3, 238.0, 401.0, 232.9, 392.7,
-237.7, 390.2, 239.4, 387.0, 236.2, 383.7, 238.3, 382.2, 258.8, 351.6,
-260.3, 352.6, 282.5, 323.1, 284.3, 320.9, 284.3, 320.9, 286.0, 318.8,
-288.1, 316.1, 288.2, 316.2, 290.3, 313.5, 294.6, 307.8, 294.6, 307.8,
-298.9, 302.1, 305.5, 301.5, 304.9, 294.2, 310.9, 286.3, 274.5, 358.7,
-276.4, 360.0, 234.9, 429.5, 310.9, 286.3, 313.8, 282.4, 317.4, 281.6,
-316.7, 278.6, 317.3, 278.9, 327.4, 271.4, 328.2, 263.3, 332.4, 263.6,
-332.9, 257.1, 337.6, 250.9, 340.4, 253.4, 335.2, 259.1, 332.8, 267.4,
-333.0, 267.6, 332.7, 267.9, 332.5, 268.4, 311.4, 286.3, 315.6, 292.9,
-303.1, 319.5, 252.0, 356.3, 264.1, 377.3, 234.2, 439.5, 234.5, 434.5,
-234.5, 434.5, 234.9, 429.5, 276.4, 360.0, 274.5, 358.7, 310.9, 286.3,
-240.7, 582.4, 236.3, 598.2, 231.9, 614.0, 231.9, 614.0, 226.4, 633.0,
-226.3, 633.0, 220.8, 652.1, 219.4, 656.7, 217.9, 656.8, 218.1, 661.3,
-219.1, 648.1, 219.1, 648.1, 220.0, 634.9, 225.6, 614.0, 228.0, 614.6,
-236.0, 594.4, 238.4, 588.4, 239.4, 588.6, 240.7, 582.4, 169.5, 791.9,
-171.5, 807.5, 171.5, 807.5, 173.4, 823.0, 161.9, 809.6, 161.8, 809.6,
-150.3, 796.2, 150.1, 795.3, 166.5, 788.4, 169.5, 791.9, 150.3, 796.2,
-147.5, 793.0, 143.9, 791.3, 144.7, 789.8, 149.8, 732.8, 150.4, 732.9,
-155.0, 675.9, 157.9, 699.5, 152.3, 701.7, 160.9, 723.1, 162.3, 757.6,
-165.2, 757.5, 169.5, 791.9, 166.5, 788.4, 150.1, 795.3, 150.3, 796.2,
-76.7, 162.3, 81.1, 168.4, 84.6, 167.9, 85.5, 174.4, 87.9, 181.5,
-87.9, 181.5, 90.3, 188.5, 100.0, 235.0, 100.4, 234.9, 110.6, 281.3,
-108.8, 272.7, 108.2, 272.8, 105.7, 264.3, 104.5, 259.8, 104.5, 259.8,
-103.2, 255.3, 89.9, 208.8, 87.0, 209.4, 76.7, 162.3, 50.5, 72.6,
-53.0, 79.9, 51.3, 86.0, 55.5, 87.2, 55.6, 87.2, 55.7, 87.7,
-55.9, 88.2, 56.8, 120.2, 51.9, 122.6, 62.1, 152.1, 62.5, 168.3,
-62.5, 168.3, 63.0, 184.6, 66.0, 173.1, 61.6, 171.9, 60.2, 159.3,
-55.4, 116.0, 53.3, 116.1, 50.5, 72.6, 817.0, 605.3, 806.9, 609.0,
-806.7, 608.6, 796.8, 612.7, 797.2, 611.1, 797.4, 609.5, 797.6, 609.5,
-804.0, 598.2, 804.0, 596.3, 804.0, 583.1, 801.5, 574.7, 806.4, 573.2,
-808.8, 563.4, 819.0, 580.8, 821.5, 586.4, 817.0, 605.3, 808.8, 563.4,
-810.7, 555.2, 810.7, 555.2, 812.7, 547.1, 812.6, 547.5, 813.3, 547.6,
-813.9, 548.1, 833.9, 567.9, 834.2, 567.7, 855.2, 586.5, 855.4, 586.6,
-855.4, 586.6, 855.5, 586.8, 853.9, 586.4, 853.0, 589.9, 850.6, 593.0,
-848.1, 589.4, 833.8, 599.1, 817.0, 605.3, 821.5, 586.4, 819.0, 580.8,
-808.8, 563.4, 911.8, 470.4, 913.5, 473.3, 915.9, 473.9, 915.3, 476.2,
-916.7, 480.1, 916.7, 480.1, 918.1, 484.0, 913.3, 508.2, 914.2, 509.6,
-917.5, 534.2, 916.9, 536.7, 916.9, 536.7, 916.3, 539.2, 913.2, 504.9,
-912.4, 504.8, 911.8, 470.4, 916.3, 539.2, 913.4, 551.5, 912.9, 551.4,
-910.5, 563.7, 910.4, 563.6, 910.4, 563.6, 910.3, 563.5, 905.8, 531.9,
-910.5, 526.3, 893.0, 501.6, 891.1, 488.4, 894.8, 486.7, 889.2, 475.3,
-895.7, 464.8, 895.7, 464.8, 902.2, 454.4, 904.7, 463.1, 907.0, 462.4,
-911.8, 470.4, 912.4, 504.8, 913.2, 504.9, 916.3, 539.2, 849.5, 494.8,
-848.1, 492.9, 848.1, 492.9, 846.8, 490.9, 842.0, 484.2, 842.8, 483.6,
-838.7, 476.3, 844.7, 485.2, 844.3, 485.5, 849.5, 494.8, 738.7, 69.9,
-753.9, 66.6, 761.8, 72.8, 769.2, 63.4, 788.7, 68.7, 786.9, 75.6,
-804.5, 87.9, 830.4, 107.5, 831.0, 106.7, 857.5, 125.5, 854.9, 123.5,
-854.5, 124.1, 851.4, 122.6, 813.2, 104.8, 813.2, 104.8, 775.0, 86.9,
-756.8, 78.4, 741.7, 82.2, 738.7, 69.9, 760.7, 133.2, 746.8, 120.3,
-752.8, 100.3, 740.9, 98.7, 768.4, 102.3, 766.4, 118.0, 791.8, 137.2,
-792.9, 137.9, 792.8, 138.7, 793.9, 138.7, 788.0, 138.5, 788.0, 137.7,
-782.2, 136.8, 771.4, 135.0, 767.4, 139.3, 760.7, 133.2, 684.7, 102.6,
-683.4, 102.7, 682.1, 99.2, 681.9, 99.4, 684.6, 101.2, 685.9, 99.3,
-689.9, 99.1, 689.7, 98.8, 687.4, 102.5, 684.7, 102.6, 705.7, 126.7,
-727.5, 138.7, 723.1, 146.6, 740.5, 166.5, 741.3, 167.5, 741.1, 167.9,
-742.1, 168.4, 698.0, 142.6, 699.3, 137.2, 651.4, 121.1, 644.5, 115.4,
-644.5, 115.4, 637.5, 109.8, 672.1, 113.3, 676.0, 110.3, 705.7, 126.7,
-637.5, 109.8, 628.7, 102.5, 629.9, 99.9, 619.9, 95.3, 621.5, 95.0,
-622.0, 94.0, 623.1, 94.6, 646.1, 94.6, 646.1, 89.7, 669.1, 84.8,
-674.0, 93.0, 674.2, 94.0, 681.9, 99.4, 682.1, 99.2, 683.4, 102.7,
-684.7, 102.6, 692.8, 111.8, 692.8, 111.8, 700.8, 121.1, 703.3, 123.9,
-702.9, 126.2, 705.7, 126.7, 676.0, 110.3, 672.1, 113.3, 637.5, 109.8,
-629.3, 214.7, 629.4, 214.6, 627.9, 213.2, 626.6, 211.7, 620.0, 204.5,
-620.0, 204.5, 613.4, 197.3, 608.6, 192.1, 608.6, 192.1, 603.8, 186.8,
-591.9, 173.9, 591.5, 174.3, 580.1, 161.0, 579.1, 158.9, 579.1, 158.9,
-578.0, 156.8, 578.1, 157.0, 578.3, 156.9, 578.7, 157.1, 580.9, 157.7,
-580.9, 157.7, 583.1, 158.4, 618.0, 168.9, 623.6, 160.4, 653.0, 179.5,
-652.8, 179.4, 647.2, 188.0, 641.5, 196.5, 635.4, 205.6, 636.9, 207.0,
-629.3, 214.7, 689.0, 182.7, 706.2, 191.7, 706.2, 191.7, 723.5, 200.8,
-715.9, 194.0, 712.7, 197.5, 701.9, 194.3, 698.4, 193.2, 697.4, 194.4,
-695.0, 192.2, 691.0, 188.6, 693.0, 183.9, 689.0, 182.7, 626.8, 212.0,
-626.7, 211.8, 626.7, 211.8, 626.6, 211.7, 627.9, 213.2, 629.4, 214.6,
-629.3, 214.7, 633.7, 219.4, 633.7, 219.4, 638.0, 224.2, 638.4, 224.6,
-638.4, 224.6, 638.7, 224.9, 645.6, 232.5, 645.6, 232.5, 652.5, 240.0,
-665.2, 253.8, 665.2, 253.8, 677.8, 267.5, 681.5, 271.6, 681.5, 271.6,
-685.2, 275.6, 685.8, 276.2, 685.8, 276.2, 686.3, 276.8, 688.5, 279.2,
-688.5, 279.2, 690.7, 281.6, 697.1, 288.6, 697.1, 288.6, 703.6, 295.6,
-710.4, 303.0, 710.4, 303.0, 717.1, 310.4, 720.6, 314.2, 720.6, 314.2,
-724.0, 317.9, 730.1, 324.6, 736.2, 331.2, 736.2, 331.2, 736.2, 331.2,
-730.1, 324.6, 724.0, 317.9, 720.6, 314.2, 720.6, 314.2, 717.1, 310.4,
-710.4, 303.0, 710.4, 303.0, 703.6, 295.6, 697.1, 288.6, 697.1, 288.6,
-690.7, 281.6, 688.5, 279.2, 688.5, 279.2, 686.3, 276.8, 685.8, 276.2,
-685.8, 276.2, 685.2, 275.6, 681.5, 271.6, 681.5, 271.6, 677.8, 267.5,
-665.2, 253.8, 665.2, 253.8, 652.5, 240.0, 645.6, 232.5, 645.6, 232.5,
-638.7, 224.9, 638.4, 224.6, 638.4, 224.6, 638.0, 224.2, 633.7, 219.4,
-633.7, 219.4, 629.3, 214.7, 628.1, 213.3, 628.0, 213.3, 626.8, 212.0,
-626.8, 212.0, 626.8, 212.0, 626.8, 212.0, 645.8, 239.4, 690.1, 300.2,
-690.2, 300.2, 731.8, 362.9, 730.3, 363.7, 730.3, 363.7, 728.7, 364.4,
-716.2, 348.6, 717.6, 347.6, 706.4, 330.7, 696.0, 315.0, 696.0, 315.0,
-685.6, 299.3, 665.7, 269.4, 667.0, 268.4, 645.8, 239.4, 792.6, 283.1,
-791.4, 277.9, 793.4, 271.7, 795.1, 271.6, 826.3, 282.4, 829.0, 274.6,
-862.9, 277.6, 833.0, 295.4, 834.2, 297.5, 805.6, 317.4, 800.5, 317.8,
-796.7, 300.8, 792.6, 283.1, 805.6, 317.4, 802.4, 319.6, 802.4, 319.6,
-799.3, 321.8, 799.1, 322.4, 790.0, 317.2, 784.9, 320.1, 784.8, 320.1,
-785.1, 318.9, 785.4, 317.7, 789.0, 300.4, 788.8, 283.1, 792.6, 283.1,
-796.7, 300.8, 800.5, 317.8, 805.6, 317.4, 669.2, 142.5, 711.0, 169.1,
-716.3, 163.2, 752.8, 195.8, 757.6, 199.0, 757.6, 199.0, 762.5, 202.3,
-715.8, 172.5, 715.3, 173.2, 669.2, 142.5, 656.5, 133.7, 662.4, 138.7,
-662.0, 139.2, 668.3, 143.7, 682.3, 157.8, 681.8, 158.3, 695.4, 173.0,
-701.6, 179.8, 707.8, 186.6, 707.8, 186.5, 699.6, 181.4, 699.2, 181.9,
-690.7, 177.3, 677.9, 165.3, 679.7, 163.4, 668.8, 149.5, 662.6, 141.6,
-657.2, 142.1, 656.5, 133.7, 484.2, 192.4, 466.3, 185.9, 466.8, 183.8,
-448.4, 179.4, 434.4, 165.4, 434.4, 165.4, 420.4, 151.4, 423.0, 154.3,
-423.8, 153.6, 427.2, 155.8, 427.8, 156.2, 427.8, 156.2, 428.4, 156.5,
-441.0, 164.6, 441.0, 164.6, 453.6, 172.7, 468.9, 182.5, 483.2, 193.7,
-484.2, 192.4, 511.2, 117.2, 506.6, 118.9, 503.0, 121.8, 502.0, 120.5,
-497.6, 121.5, 496.6, 123.8, 493.2, 122.4, 479.7, 123.8, 478.5, 122.4,
-466.5, 128.1, 465.7, 128.2, 465.1, 128.8, 464.8, 128.5, 464.3, 128.6,
-464.0, 128.4, 463.7, 128.7, 497.3, 92.4, 497.5, 92.6, 531.3, 56.5,
-537.7, 49.7, 541.4, 50.9, 544.1, 42.8, 531.4, 81.3, 530.5, 81.6,
-511.2, 117.2, 544.1, 42.8, 544.3, 42.4, 544.9, 42.3, 544.8, 42.1,
-553.0, 66.6, 561.8, 66.9, 561.1, 91.2, 561.9, 94.1, 561.8, 97.0,
-562.7, 97.1, 560.1, 98.9, 560.1, 98.9, 557.4, 100.7, 533.6, 105.7,
-534.3, 109.0, 511.2, 117.2, 530.5, 81.6, 531.4, 81.3, 544.1, 42.8,
-436.8, 132.4, 435.4, 132.4, 435.4, 132.4, 434.0, 132.5, 436.4, 132.0,
-436.1, 130.2, 438.1, 128.0, 490.4, 81.3, 490.1, 80.9, 542.1, 33.9,
-542.0, 37.9, 543.5, 38.0, 544.8, 42.1, 544.9, 42.3, 544.3, 42.4,
-544.1, 42.8, 541.4, 50.9, 537.7, 49.7, 531.3, 56.5, 484.8, 95.3,
-484.6, 95.1, 436.8, 132.4, 531.3, 56.5, 497.5, 92.6, 497.3, 92.4,
-463.7, 128.7, 458.1, 133.7, 455.3, 131.1, 446.7, 132.3, 442.2, 133.8,
-441.7, 132.4, 436.8, 132.4, 484.6, 95.1, 484.8, 95.3, 531.3, 56.5,
-612.3, -75.3, 626.2, -73.9, 633.4, -66.3, 638.1, -51.9, 627.0, -46.6,
-638.8, -21.7, 639.5, 8.4, 638.2, 7.0, 634.4, 10.4, 629.3, 12.3,
-619.7, -9.4, 624.7, -11.6, 620.1, -35.4, 618.2, -44.7, 618.2, -44.7,
-616.4, -54.1, 614.4, -64.7, 615.4, -75.0, 612.3, -75.3, 403.8, 35.1,
-396.6, 24.7, 396.6, 24.7, 389.3, 14.2, 396.6, 18.3, 405.6, 9.6,
-408.7, 14.0, 435.3, 29.2, 443.6, 22.3, 462.0, 44.4, 462.7, 45.0,
-462.7, 45.0, 463.4, 45.6, 433.6, 40.8, 431.0, 46.6, 403.8, 35.1,
-463.4, 45.6, 464.5, 46.4, 464.7, 46.3, 465.6, 47.3, 465.9, 47.6,
-466.2, 47.8, 466.1, 47.9, 459.8, 56.7, 459.8, 56.7, 453.5, 65.5,
-447.5, 58.4, 436.5, 59.9, 424.9, 65.5, 424.7, 65.3, 424.7, 65.3,
-424.5, 65.0, 414.5, 49.8, 414.2, 50.1, 403.8, 35.1, 431.0, 46.6,
-433.6, 40.8, 463.4, 45.6, 509.8, -12.8, 509.0, -11.6, 509.0, -11.6,
-508.1, -10.5, 507.9, -10.1, 506.9, -11.0, 506.1, -10.7, 498.8, -2.9,
-488.5, -14.8, 471.0, -14.3, 461.5, -12.2, 460.8, -15.4, 450.5, -16.5,
-472.1, -24.4, 479.7, -27.7, 488.0, -47.7, 493.8, -49.4, 493.8, -49.4,
-499.5, -51.2, 509.6, -35.0, 505.7, -32.2, 509.8, -12.8, 499.5, -51.2,
-523.8, -58.5, 523.9, -58.0, 548.0, -65.9, 546.5, -63.9, 544.5, -62.9,
-545.1, -61.8, 545.4, -61.3, 542.5, -60.0, 542.7, -58.6, 543.8, -57.6,
-527.3, -47.3, 528.8, -39.2, 528.8, -39.2, 526.9, -37.9, 527.0, -36.7,
-515.8, -28.1, 518.4, -24.7, 509.8, -12.8, 505.7, -32.2, 509.6, -35.0,
-499.5, -51.2, 284.2, 78.5, 283.5, 81.8, 285.4, 82.2, 286.7, 86.0,
-282.8, 103.1, 289.1, 108.1, 299.7, 125.0, 300.6, 127.6, 301.9, 127.8,
-301.5, 130.3, 299.6, 143.4, 300.6, 144.3, 295.2, 156.1, 290.1, 157.2,
-287.4, 159.2, 286.3, 163.8, 280.3, 169.0, 280.3, 169.0, 274.3, 174.1,
-271.1, 176.8, 268.3, 176.5, 268.0, 179.5, 273.3, 128.7, 274.2, 128.6,
-284.2, 78.5, 373.3, 203.2, 370.5, 207.2, 370.8, 207.5, 367.6, 211.2,
-364.7, 215.0, 364.7, 215.0, 361.9, 218.8, 356.5, 189.2, 344.2, 177.1,
-358.0, 158.3, 349.9, 169.3, 369.1, 180.1, 373.3, 203.2, 358.0, 158.3,
-356.2, 151.9, 357.5, 151.5, 357.1, 144.7, 356.9, 141.9, 357.2, 139.2,
-356.7, 139.2, 373.4, 151.7, 401.6, 148.1, 401.4, 149.1, 404.7, 151.7,
-404.6, 151.9, 407.9, 154.3, 390.6, 178.7, 390.6, 178.7, 373.3, 203.2,
-369.1, 180.1, 349.9, 169.3, 358.0, 158.3, 308.9, 84.4, 297.8, 85.2,
-287.4, 82.9, 286.7, 86.0, 285.4, 82.2, 283.5, 81.8, 284.2, 78.5,
-283.8, 77.5, 283.8, 77.5, 283.5, 76.5, 282.6, 68.5, 280.9, 68.7,
-278.3, 61.0, 282.4, 55.0, 292.3, 52.8, 297.3, 56.6, 307.6, 64.5,
-312.6, 74.0, 308.9, 84.4, 297.3, 56.6, 297.3, 55.1, 303.3, 55.2,
-309.4, 53.8, 320.2, 51.3, 320.2, 51.3, 331.0, 48.8, 335.2, 47.8,
-337.5, 45.1, 339.5, 46.8, 345.7, 56.6, 345.7, 56.6, 352.0, 66.3,
-356.0, 70.2, 352.5, 73.8, 353.0, 81.4, 343.1, 87.8, 339.5, 82.3,
-326.0, 83.2, 324.5, 83.3, 324.5, 83.3, 323.0, 83.4, 321.9, 81.1,
-315.9, 83.9, 308.9, 84.4, 312.6, 74.0, 307.6, 64.5, 297.3, 56.6,
-333.5, 40.1, 335.5, 41.8, 336.2, 41.4, 337.4, 43.5, 338.4, 45.2,
-338.4, 45.2, 339.5, 46.8, 337.5, 45.1, 335.2, 47.8, 331.0, 48.8,
-329.4, 47.0, 330.6, 42.5, 333.5, 40.1, 273.8, 289.7, 286.3, 295.9,
-287.0, 303.2, 298.9, 302.1, 294.6, 307.8, 294.6, 307.8, 290.3, 313.5,
-288.2, 316.2, 288.1, 316.1, 286.0, 318.8, 277.3, 306.1, 269.1, 295.9,
-273.8, 289.7, 204.3, 420.0, 183.7, 445.4, 180.2, 443.2, 163.2, 470.8,
-155.4, 476.2, 151.1, 474.2, 147.6, 481.7, 147.4, 480.0, 147.4, 480.0,
-147.1, 478.3, 146.9, 478.2, 148.1, 475.5, 149.2, 472.6, 175.8, 445.4,
-173.8, 423.9, 204.3, 420.0, 213.9, 354.1, 211.2, 376.4, 202.0, 375.3,
-190.1, 396.4, 185.5, 404.4, 185.5, 404.4, 181.0, 412.4, 178.7, 416.5,
-176.4, 416.5, 176.4, 420.6, 182.3, 404.9, 178.8, 403.7, 181.3, 386.7,
-186.6, 371.8, 188.2, 371.8, 190.4, 356.3, 193.8, 346.9, 193.8, 346.9,
-197.1, 337.6, 204.7, 336.9, 214.8, 347.0, 213.9, 354.1, 197.1, 337.6,
-198.8, 332.8, 201.3, 328.4, 200.5, 328.0, 208.1, 323.9, 208.1, 323.9,
-215.6, 319.8, 216.7, 313.2, 227.8, 315.9, 238.9, 309.9, 237.8, 332.4,
-226.4, 331.9, 214.0, 353.9, 214.0, 354.0, 213.9, 354.1, 213.9, 354.1,
-214.8, 347.0, 204.7, 336.9, 197.1, 337.6, 205.5, 205.2, 214.9, 187.9,
-214.9, 187.9, 224.3, 170.6, 223.2, 174.4, 225.5, 175.1, 226.7, 179.6,
-218.9, 193.9, 203.1, 195.7, 205.5, 205.2, 226.7, 179.6, 226.8, 180.1,
-227.0, 180.2, 226.9, 180.6, 214.8, 224.2, 214.8, 224.2, 202.7, 267.7,
-189.3, 262.0, 182.5, 266.1, 168.1, 274.5, 172.0, 267.1, 178.1, 263.9,
-175.9, 259.7, 176.2, 259.8, 176.7, 258.1, 177.5, 256.5, 191.5, 230.8,
-189.8, 229.7, 205.5, 205.2, 203.1, 195.7, 218.9, 193.9, 226.7, 179.6,
-186.7, 290.7, 192.0, 288.8, 194.8, 290.7, 197.4, 286.9, 189.6, 315.0,
-189.6, 315.0, 181.8, 343.0, 182.1, 342.0, 181.9, 342.0, 182.0, 340.9,
-183.7, 322.7, 183.7, 322.7, 185.4, 304.5, 186.1, 297.6, 183.3, 295.7,
-186.7, 290.7, 463.6, 692.9, 463.5, 690.2, 463.4, 690.2, 463.3, 687.6,
-463.2, 686.9, 463.2, 686.2, 463.2, 686.2, 463.0, 680.2, 463.8, 680.1,
-462.8, 674.3, 464.4, 678.0, 464.4, 678.0, 466.1, 681.7, 466.3, 687.2,
-466.0, 687.8, 463.6, 692.9, 578.5, 434.6, 579.6, 430.3, 580.2, 430.4,
-580.8, 426.0, 580.6, 425.6, 581.4, 425.1, 581.3, 424.5, 602.2, 457.1,
-602.2, 457.1, 623.1, 489.8, 628.7, 470.0, 598.0, 464.0, 578.5, 434.6,
-673.6, 757.7, 672.3, 759.2, 679.5, 765.3, 685.5, 772.8, 689.7, 778.1,
-694.9, 781.9, 693.8, 783.4, 661.0, 817.4, 661.0, 817.4, 628.1, 851.5,
-629.8, 849.8, 629.2, 849.3, 630.3, 847.0, 634.0, 839.4, 634.0, 839.4,
-637.6, 831.9, 639.3, 828.4, 639.3, 828.4, 641.0, 824.9, 657.3, 791.3,
-650.1, 785.2, 673.6, 757.7, 491.4, 532.6, 491.9, 530.4, 503.1, 533.1,
-514.8, 533.6, 520.0, 533.8, 525.1, 533.3, 525.2, 534.0, 525.8, 540.2,
-520.7, 540.8, 516.3, 547.5, 512.5, 553.3, 509.0, 559.2, 508.7, 559.0,
-496.5, 551.7, 488.9, 543.1, 491.4, 532.6, 474.8, 529.0, 477.1, 496.5,
-488.2, 493.2, 479.4, 464.0, 481.8, 459.8, 483.6, 460.0, 484.1, 455.6,
-483.9, 455.4, 484.4, 455.0, 484.8, 454.4, 485.1, 452.0, 496.1, 456.3,
-501.5, 451.5, 501.5, 451.9, 509.5, 450.2, 517.4, 448.8, 517.2, 464.4,
-509.2, 464.3, 501.0, 479.8, 499.7, 482.2, 499.7, 482.2, 498.4, 484.5,
-486.6, 506.8, 469.2, 522.9, 474.8, 529.0, 527.1, 602.3, 524.2, 609.7,
-524.2, 609.7, 521.3, 617.1, 515.0, 592.1, 519.4, 590.9, 517.5, 564.7,
-517.0, 557.6, 517.0, 557.6, 516.5, 550.4, 516.4, 549.0, 515.7, 548.6,
-516.3, 547.5, 520.7, 540.8, 525.8, 540.2, 525.2, 534.0, 536.3, 517.1,
-536.3, 517.1, 547.5, 500.3, 551.2, 494.6, 553.7, 495.1, 555.0, 488.9,
-543.5, 546.1, 541.9, 545.8, 527.1, 602.3, 555.0, 488.9, 555.3, 487.8,
-555.7, 487.9, 556.3, 486.9, 562.9, 477.0, 563.1, 466.9, 569.4, 467.1,
-566.8, 467.0, 566.6, 477.0, 563.8, 487.0, 562.8, 490.6, 562.8, 490.6,
-561.8, 494.2, 556.7, 512.6, 556.7, 512.6, 551.5, 531.1, 549.5, 538.2,
-549.5, 538.2, 547.5, 545.3, 546.1, 548.2, 546.7, 548.5, 545.8, 551.6,
-545.0, 555.9, 544.6, 555.9, 543.4, 560.1, 542.9, 581.4, 535.2, 581.2,
-527.1, 602.3, 541.9, 545.8, 543.5, 546.1, 555.0, 488.9, 432.0, 228.2,
-431.8, 226.0, 431.8, 226.0, 431.6, 223.8, 437.1, 213.6, 439.0, 212.2,
-438.3, 201.1, 439.1, 202.4, 440.2, 203.0, 439.9, 203.6, 439.3, 206.5,
-441.2, 208.2, 444.3, 210.5, 456.0, 216.4, 452.5, 223.3, 460.7, 236.1,
-464.0, 254.6, 453.1, 274.4, 455.8, 275.1, 438.7, 270.4, 443.2, 252.0,
-432.0, 228.2, 455.8, 275.1, 456.6, 276.9, 455.5, 277.4, 455.2, 279.7,
-456.2, 280.0, 451.1, 287.9, 453.6, 292.6, 452.4, 302.1, 456.5, 306.3,
-451.2, 311.6, 446.5, 307.6, 439.0, 307.9, 439.3, 306.7, 435.6, 267.5,
-435.6, 267.5, 432.0, 228.2, 443.2, 252.0, 438.7, 270.4, 455.8, 275.1,
-475.1, 258.7, 477.7, 262.6, 477.7, 262.6, 480.2, 266.5, 484.3, 278.3,
-485.4, 277.9, 490.6, 289.4, 492.5, 327.4, 487.6, 331.4, 503.0, 365.1,
-503.1, 368.1, 503.1, 368.1, 503.3, 371.1, 497.3, 363.5, 498.7, 362.4,
-494.1, 353.7, 486.4, 339.0, 486.4, 339.0, 478.6, 324.2, 472.6, 312.8,
-472.6, 312.8, 466.5, 301.3, 464.4, 300.7, 465.0, 298.4, 463.5, 295.5,
-467.3, 276.7, 465.7, 275.0, 475.1, 258.7, 463.5, 295.5, 459.3, 287.6,
-461.1, 281.5, 455.2, 279.7, 455.5, 277.4, 456.6, 276.9, 455.8, 275.1,
-453.1, 274.4, 464.0, 254.6, 460.7, 236.1, 464.6, 242.2, 463.1, 244.0,
-468.4, 248.2, 473.2, 250.8, 471.8, 253.4, 475.1, 258.7, 465.7, 275.0,
-467.3, 276.7, 463.5, 295.5, 494.1, 353.7, 498.7, 362.4, 497.3, 363.5,
-503.3, 371.1, 503.6, 377.8, 505.6, 383.9, 503.9, 384.4, 498.4, 392.8,
-504.5, 396.8, 505.1, 409.1, 486.1, 398.3, 484.5, 401.1, 463.9, 393.2,
-464.2, 393.4, 466.8, 389.5, 469.6, 385.7, 480.9, 370.9, 480.9, 370.9,
-492.2, 356.2, 493.2, 355.0, 494.4, 354.1, 494.1, 353.7, 185.8, 516.6,
-187.6, 526.3, 190.7, 525.7, 195.7, 534.8, 200.7, 544.0, 203.9, 543.4,
-205.8, 553.2, 204.0, 561.3, 204.0, 561.3, 202.3, 569.3, 189.3, 545.5,
-190.9, 543.6, 185.8, 516.6, 195.7, 534.8, 190.7, 525.7, 187.6, 526.3,
-185.8, 516.6, 179.3, 504.9, 178.5, 505.2, 172.9, 493.1, 173.3, 491.8,
-173.3, 491.8, 173.8, 490.6, 196.2, 478.0, 189.5, 466.0, 205.2, 441.3,
-222.8, 476.9, 207.3, 489.8, 195.7, 534.8, 418.3, 496.3, 419.3, 491.9,
-421.6, 491.2, 420.4, 487.6, 420.7, 486.1, 421.1, 486.1, 421.1, 484.6,
-419.4, 501.7, 421.0, 501.9, 420.8, 519.2, 421.1, 514.2, 420.3, 514.1,
-419.7, 509.1, 419.0, 502.7, 419.0, 502.7, 418.3, 496.4, 418.3, 496.3,
-418.3, 496.3, 418.3, 496.3, 412.4, 667.3, 410.4, 684.4, 413.1, 685.3,
-407.6, 701.4, 411.8, 689.1, 408.8, 688.1, 409.9, 674.8, 410.7, 664.7,
-410.7, 664.7, 411.6, 654.6, 415.4, 609.0, 415.4, 609.0, 419.2, 563.4,
-419.9, 555.0, 419.9, 555.0, 420.6, 546.5, 420.6, 543.2, 420.9, 543.2,
-421.2, 539.9, 417.4, 595.7, 417.3, 595.6, 413.5, 651.4, 413.0, 659.4,
-413.3, 659.4, 412.4, 667.3, 427.3, 776.5, 428.0, 780.3, 430.1, 779.9,
-433.0, 783.4, 446.6, 800.0, 455.1, 797.7, 460.2, 816.6, 457.1, 838.5,
-457.1, 838.5, 453.9, 860.5, 455.4, 855.6, 452.0, 854.6, 450.1, 848.6,
-444.2, 830.0, 444.2, 830.0, 438.3, 811.3, 432.8, 793.9, 430.7, 794.3,
-427.3, 776.5, 406.6, 883.8, 406.0, 882.6, 403.3, 884.1, 400.0, 884.0,
-374.4, 883.8, 374.2, 886.1, 348.9, 883.3, 349.2, 883.2, 348.7, 880.8,
-348.6, 878.3, 347.6, 869.7, 349.5, 869.5, 350.4, 860.7, 355.0, 857.9,
-358.6, 864.1, 366.8, 867.4, 382.6, 873.9, 382.6, 873.9, 398.3, 880.4,
-402.4, 882.1, 405.1, 880.8, 406.6, 883.8, 377.5, 209.4, 376.8, 204.7,
-376.0, 199.9, 376.1, 199.9, 392.8, 177.9, 393.6, 178.5, 409.4, 156.0,
-412.5, 160.9, 412.5, 160.9, 415.7, 165.8, 417.1, 167.5, 416.0, 168.4,
-416.3, 171.0, 416.3, 171.1, 416.1, 171.1, 416.0, 171.3, 413.9, 173.3,
-413.9, 173.3, 411.9, 175.4, 394.7, 192.4, 397.1, 195.9, 377.5, 209.4,
-225.8, 746.3, 226.0, 752.9, 224.7, 752.9, 223.6, 759.5, 217.9, 793.6,
-217.9, 793.6, 212.2, 827.7, 210.5, 838.1, 207.5, 838.4, 208.8, 848.4,
-208.5, 822.8, 203.1, 821.6, 208.2, 797.2, 209.2, 783.9, 213.3, 782.9,
-210.2, 770.6, 209.7, 770.5, 210.6, 767.8, 210.6, 764.9, 225.7, 716.7,
-214.3, 713.1, 218.1, 661.3, 217.9, 656.8, 219.4, 656.7, 220.8, 652.1,
-223.9, 661.3, 221.3, 662.2, 221.9, 672.3, 223.8, 709.3, 225.1, 709.3,
-225.8, 746.3, 377.7, 663.3, 378.7, 665.6, 378.0, 667.1, 376.3, 669.4,
-368.6, 667.1, 356.4, 681.9, 350.7, 699.0, 351.9, 697.8, 351.0, 696.9,
-351.3, 694.7, 360.6, 667.3, 356.5, 665.5, 358.8, 636.1, 359.1, 633.6,
-359.1, 633.6, 359.5, 631.2, 359.5, 631.2, 359.5, 631.2, 359.5, 631.2,
-368.6, 647.3, 370.4, 646.5, 377.7, 663.3, 365.6, 457.1, 389.9, 484.9,
-385.3, 491.1, 414.3, 512.8, 419.1, 522.3, 413.0, 527.4, 407.6, 540.2,
-407.7, 539.3, 405.6, 539.1, 403.6, 538.0, 401.5, 535.4, 402.1, 534.9,
-400.7, 531.7, 387.8, 504.4, 387.8, 504.4, 374.9, 477.0, 370.3, 467.0,
-373.1, 463.9, 365.6, 457.1, 396.0, 295.6, 405.7, 311.6, 405.7, 311.6,
-415.3, 327.6, 415.1, 326.1, 403.1, 330.3, 400.9, 326.8, 393.5, 314.7,
-398.5, 311.6, 396.1, 296.5, 396.1, 296.0, 396.2, 296.0, 396.0, 295.6,
-429.5, 402.8, 428.6, 401.2, 424.0, 404.3, 422.4, 402.4, 409.9, 388.2,
-410.4, 387.3, 401.3, 370.6, 404.8, 377.1, 406.3, 376.3, 411.3, 382.1,
-420.4, 392.5, 423.1, 391.0, 429.5, 402.8, 327.5, 317.9, 335.5, 300.7,
-341.6, 301.3, 343.5, 283.5, 344.7, 282.9, 350.0, 293.2, 356.4, 303.0,
-363.8, 314.1, 363.8, 314.1, 371.2, 325.2, 376.4, 333.1, 375.3, 339.9,
-381.6, 341.0, 353.4, 336.2, 341.1, 338.4, 327.5, 317.9, 413.7, 482.7,
-378.3, 457.0, 380.2, 454.0, 343.0, 431.2, 338.6, 427.9, 339.3, 427.0,
-335.5, 422.7, 331.6, 421.7, 332.3, 419.0, 329.1, 415.3, 342.3, 424.3,
-341.6, 425.3, 354.1, 435.3, 359.8, 439.8, 359.8, 439.8, 365.4, 444.3,
-366.7, 445.3, 366.7, 445.3, 367.9, 446.3, 390.8, 464.5, 388.8, 467.8,
-413.7, 482.7, 274.1, 435.0, 276.4, 430.3, 275.1, 429.0, 278.6, 425.7,
-278.7, 425.6, 278.7, 425.6, 278.7, 425.6, 268.4, 467.8, 268.3, 467.8,
-258.1, 510.1, 256.8, 515.4, 255.8, 520.7, 255.8, 520.7, 255.8, 520.7,
-256.8, 515.4, 258.1, 510.1, 259.6, 503.2, 259.6, 503.2, 261.0, 496.3,
-267.6, 465.7, 266.5, 465.4, 274.1, 435.0, 64.3, 245.5, 63.3, 243.2,
-63.3, 243.2, 62.3, 240.9, 69.8, 212.3, 64.6, 210.9, 66.9, 181.0,
-65.6, 193.9, 66.4, 193.9, 65.9, 206.9, 65.1, 226.2, 66.4, 226.4,
-64.3, 245.5, 43.9, 79.8, 44.0, 76.2, 43.5, 76.1, 44.2, 72.5,
-44.4, 71.7, 44.2, 70.8, 44.2, 70.8, 45.3, 66.2, 44.7, 65.8,
-46.8, 61.7, 46.6, 62.8, 47.2, 62.9, 47.6, 64.1, 46.3, 72.1,
-46.9, 72.5, 43.9, 79.8, 649.4, 530.7, 645.6, 524.9, 641.9, 519.1,
-641.9, 519.1, 639.7, 515.7, 639.7, 515.7, 637.5, 512.3, 637.5, 512.3,
-637.5, 512.3, 637.5, 512.3, 638.0, 511.3, 637.6, 511.1, 637.8, 510.0,
-652.4, 503.5, 652.8, 504.4, 667.8, 498.9, 677.4, 495.4, 677.4, 495.4,
-687.0, 491.8, 694.7, 489.0, 700.5, 484.1, 702.3, 486.2, 701.6, 497.2,
-701.6, 497.2, 700.8, 508.2, 698.8, 512.4, 695.2, 510.7, 689.5, 513.1,
-669.4, 521.9, 670.2, 528.0, 649.4, 530.7, 700.8, 471.3, 701.9, 472.8,
-701.9, 472.8, 703.1, 474.3, 703.5, 474.5, 703.0, 475.8, 702.9, 477.3,
-701.0, 474.9, 700.6, 474.2, 700.8, 471.3, 808.2, 400.0, 814.9, 404.7,
-820.1, 403.3, 821.7, 409.3, 859.1, 470.9, 856.4, 472.5, 890.9, 536.0,
-891.2, 536.4, 890.9, 536.6, 891.0, 537.3, 892.0, 543.8, 892.0, 543.8,
-893.0, 550.3, 848.4, 476.5, 847.1, 476.9, 808.2, 400.0, 893.0, 550.3,
-893.2, 551.5, 892.7, 551.8, 893.3, 552.6, 889.0, 549.7, 889.0, 549.7,
-884.7, 546.7, 880.9, 539.6, 880.0, 540.1, 875.4, 533.5, 862.6, 514.1,
-862.4, 514.2, 849.5, 494.8, 844.3, 485.5, 844.7, 485.2, 838.7, 476.3,
-814.6, 432.8, 819.3, 429.5, 790.5, 389.3, 790.0, 388.3, 790.0, 388.3,
-789.5, 387.2, 797.2, 395.2, 798.9, 393.6, 808.2, 400.0, 847.1, 476.9,
-848.4, 476.5, 893.0, 550.3, 731.1, 91.4, 720.8, 83.6, 721.9, 78.2,
-710.6, 75.9, 720.4, 73.8, 721.6, 76.1, 730.2, 71.7, 731.7, 69.2,
-734.5, 70.8, 738.7, 69.9, 741.7, 82.2, 756.8, 78.4, 775.0, 86.9,
-771.2, 83.6, 767.7, 87.7, 760.4, 88.4, 745.7, 89.9, 744.5, 94.7,
-731.1, 91.4, 782.2, 136.8, 788.0, 137.7, 788.0, 138.5, 793.9, 138.7,
-800.7, 141.9, 800.0, 143.3, 806.2, 148.0, 811.6, 152.0, 811.6, 152.0,
-816.9, 156.1, 818.5, 154.8, 822.6, 162.9, 829.8, 165.7, 834.0, 165.0,
-834.8, 169.5, 839.8, 173.3, 876.6, 201.0, 876.6, 201.0, 913.4, 228.8,
-918.1, 232.3, 918.0, 232.3, 922.7, 235.8, 925.8, 238.2, 925.8, 238.2,
-929.0, 240.6, 912.7, 229.3, 912.8, 229.1, 896.6, 217.7, 896.5, 217.6,
-896.4, 217.7, 896.3, 217.7, 858.2, 190.7, 858.3, 190.6, 820.2, 163.7,
-801.2, 150.2, 798.9, 152.6, 782.2, 136.8, 782.6, 330.9, 782.3, 332.4,
-782.8, 333.4, 782.0, 333.8, 780.3, 335.4, 782.3, 338.7, 780.8, 339.3,
-767.9, 345.5, 767.9, 345.5, 755.0, 351.7, 744.1, 349.8, 745.6, 341.5,
-736.2, 331.2, 736.2, 331.2, 730.1, 324.6, 724.0, 317.9, 748.1, 316.3,
-748.5, 323.3, 773.0, 328.8, 777.8, 329.9, 778.5, 328.6, 782.6, 330.9,
-578.7, 157.1, 578.3, 156.9, 578.1, 157.0, 578.0, 156.8, 567.2, 135.5,
-567.2, 135.5, 556.4, 114.1, 565.8, 120.1, 566.5, 119.0, 576.5, 124.0,
-581.7, 126.7, 581.8, 126.6, 587.0, 129.2, 596.9, 134.4, 596.9, 134.4,
-606.8, 139.6, 603.3, 151.5, 592.9, 148.5, 578.7, 157.1, 690.7, 281.6,
-697.1, 288.6, 697.1, 288.6, 703.6, 295.6, 710.4, 303.0, 710.4, 303.0,
-717.1, 310.4, 720.6, 314.2, 720.6, 314.2, 724.0, 317.9, 730.1, 324.6,
-736.2, 331.2, 736.2, 331.2, 745.6, 341.5, 744.1, 349.8, 755.0, 351.7,
-750.9, 353.7, 750.9, 353.7, 746.8, 355.7, 734.4, 346.0, 737.0, 342.8,
-727.2, 329.8, 708.9, 305.7, 707.9, 306.5, 690.7, 281.6, 645.4, 281.4,
-639.4, 274.1, 639.4, 274.1, 633.4, 266.7, 624.4, 257.5, 629.3, 253.2,
-621.3, 242.7, 617.0, 239.1, 618.6, 237.3, 615.8, 231.9, 631.1, 256.4,
-632.5, 255.7, 645.4, 281.4, 695.4, 173.0, 681.8, 158.3, 682.3, 157.8,
-668.3, 143.7, 666.0, 142.0, 666.3, 141.5, 664.3, 139.4, 666.5, 141.3,
-666.8, 140.9, 669.2, 142.5, 711.0, 169.1, 716.3, 163.2, 752.8, 195.8,
-753.2, 196.1, 753.4, 195.9, 753.8, 196.2, 758.2, 199.1, 758.1, 199.2,
-762.5, 202.3, 764.9, 203.9, 764.9, 203.8, 767.2, 205.4, 768.4, 206.2,
-768.4, 206.2, 769.5, 207.0, 732.3, 190.2, 729.6, 194.5, 695.4, 173.0,
-769.5, 207.0, 794.8, 224.5, 794.8, 224.5, 820.2, 241.9, 812.5, 238.1,
-810.9, 240.7, 804.0, 236.0, 757.7, 213.1, 757.7, 213.1, 711.3, 190.3,
-709.2, 189.3, 709.9, 187.9, 707.8, 186.5, 707.8, 186.6, 701.6, 179.8,
-695.4, 173.0, 729.6, 194.5, 732.3, 190.2, 769.5, 207.0, 574.2, 109.7,
-572.5, 108.7, 572.4, 108.8, 570.7, 107.6, 569.7, 106.9, 569.6, 106.1,
-568.7, 106.2, 569.2, 106.1, 569.2, 106.1, 569.8, 106.0, 572.2, 107.5,
-572.8, 107.4, 574.2, 109.7, 538.5, 212.0, 511.4, 202.2, 511.4, 202.2,
-484.2, 192.4, 483.2, 193.7, 468.9, 182.5, 453.6, 172.7, 477.3, 175.2,
-476.5, 183.3, 499.3, 193.9, 505.2, 196.6, 505.2, 196.6, 511.1, 199.4,
-524.8, 205.7, 524.1, 208.3, 538.5, 212.0, 480.4, 35.4, 492.4, 20.0,
-492.4, 20.0, 504.3, 4.5, 503.8, 5.4, 504.9, 6.1, 505.4, 7.7,
-500.4, 15.2, 499.3, 14.5, 493.2, 21.2, 486.8, 28.3, 485.7, 27.5,
-480.4, 35.4, 413.7, 132.6, 409.4, 132.7, 408.4, 130.9, 405.1, 132.7,
-406.3, 131.1, 406.3, 131.1, 407.5, 129.4, 427.1, 106.7, 425.9, 105.7,
-444.3, 82.0, 453.8, 73.5, 465.3, 82.3, 470.6, 73.3, 450.2, 107.6,
-442.5, 103.1, 414.2, 132.6, 414.0, 132.6, 414.0, 132.6, 413.7, 132.6,
-470.6, 73.3, 480.3, 65.3, 491.4, 73.5, 496.1, 64.9, 470.4, 92.8,
-470.4, 92.8, 444.8, 120.8, 428.9, 123.9, 424.2, 121.8, 414.2, 132.6,
-414.0, 132.6, 414.0, 132.6, 413.7, 132.6, 442.0, 102.8, 439.1, 99.2,
-470.6, 73.3, 578.5, 1.0, 573.7, -6.8, 567.4, -13.1, 568.9, -14.7,
-569.8, -17.4, 571.5, -18.3, 570.6, -20.1, 568.1, -21.8, 573.8, -30.5,
-577.0, -41.0, 574.6, -40.2, 577.3, -31.7, 577.7, -22.4, 578.1, -10.7,
-584.0, -3.9, 578.5, 1.0, 240.9, 156.3, 240.3, 155.6, 239.5, 155.4,
-239.6, 154.9, 248.0, 118.7, 248.0, 118.7, 256.4, 82.5, 253.0, 96.4,
-253.5, 96.5, 250.6, 110.4, 245.7, 133.4, 246.6, 133.6, 240.9, 156.3,
-254.9, 243.8, 255.7, 242.2, 250.0, 239.5, 245.2, 235.3, 235.1, 226.5,
-234.7, 226.9, 225.0, 217.7, 225.1, 217.0, 225.1, 217.0, 225.3, 216.3,
-226.0, 217.1, 248.9, 202.2, 265.1, 182.1, 266.6, 180.8, 266.6, 180.8,
-268.0, 179.5, 268.3, 176.5, 271.1, 176.8, 274.3, 174.1, 267.1, 209.5,
-270.2, 211.6, 254.9, 243.8, 274.3, 174.1, 280.3, 169.0, 280.3, 169.0,
-286.3, 163.8, 286.7, 162.2, 291.1, 164.4, 293.7, 162.2, 289.7, 178.2,
-281.7, 180.7, 285.8, 194.3, 287.8, 196.8, 281.7, 200.4, 283.1, 204.9,
-269.4, 209.6, 276.7, 231.0, 270.2, 257.1, 270.8, 256.4, 254.6, 250.1,
-254.9, 243.8, 270.2, 211.6, 267.1, 209.5, 274.3, 174.1, 245.2, 235.3,
-250.0, 239.5, 255.7, 242.2, 254.9, 243.8, 254.6, 250.1, 270.8, 256.4,
-270.2, 257.1, 266.8, 270.9, 262.5, 271.2, 263.4, 284.6, 260.9, 283.4,
-260.9, 283.4, 258.3, 282.1, 252.2, 279.3, 252.4, 278.8, 246.4, 275.6,
-241.1, 256.7, 240.2, 253.9, 245.2, 235.3, 246.4, 275.6, 230.9, 267.1,
-231.4, 266.1, 215.5, 258.6, 220.2, 238.1, 220.2, 238.1, 225.0, 217.7,
-234.7, 226.9, 235.1, 226.5, 245.2, 235.3, 240.2, 253.9, 241.1, 256.7,
-246.4, 275.6, 357.1, 144.7, 357.5, 151.5, 356.2, 151.9, 358.0, 158.3,
-344.2, 177.1, 356.5, 189.2, 361.9, 218.8, 361.3, 219.5, 361.3, 219.5,
-360.7, 220.3, 355.7, 209.1, 352.7, 208.9, 352.1, 197.2, 350.9, 171.1,
-353.2, 170.7, 357.1, 144.7, 310.9, 158.1, 306.2, 144.2, 302.9, 144.6,
-301.6, 130.4, 301.6, 130.4, 301.5, 130.3, 301.5, 130.3, 301.9, 127.8,
-300.6, 127.6, 299.7, 125.0, 298.3, 122.7, 302.5, 120.1, 305.2, 115.3,
-310.9, 124.6, 306.7, 127.1, 308.3, 138.9, 309.6, 148.5, 305.7, 151.6,
-310.9, 158.1, 309.4, 53.8, 303.3, 55.2, 297.3, 55.1, 297.3, 56.6,
-292.3, 52.8, 282.4, 55.0, 278.3, 61.0, 273.9, 47.9, 275.0, 35.4,
-269.6, 34.9, 270.1, 33.0, 270.1, 33.0, 270.6, 31.1, 271.6, 29.7,
-271.6, 29.7, 272.6, 28.3, 291.9, 39.5, 295.2, 37.4, 309.4, 53.8,
-272.6, 28.3, 281.5, 15.3, 281.5, 15.3, 290.4, 2.4, 306.7, 25.1,
-311.9, 21.3, 333.5, 40.1, 330.6, 42.5, 329.4, 47.0, 331.0, 48.8,
-320.2, 51.3, 320.2, 51.3, 309.4, 53.8, 295.2, 37.4, 291.9, 39.5,
-272.6, 28.3, 263.4, 293.9, 267.9, 291.5, 272.4, 291.5, 272.4, 289.1,
-272.6, 289.1, 272.7, 289.2, 272.7, 289.2, 272.7, 289.1, 273.2, 289.5,
-273.8, 289.7, 269.1, 295.9, 277.3, 306.1, 286.0, 318.8, 284.3, 320.9,
-284.3, 320.9, 282.5, 323.1, 275.2, 330.1, 274.9, 329.8, 267.3, 336.5,
-265.5, 338.1, 265.4, 339.8, 263.7, 339.6, 263.6, 339.6, 263.7, 337.9,
-263.7, 336.2, 263.6, 315.1, 259.6, 314.3, 263.4, 293.9, 153.1, 461.8,
-164.8, 441.2, 168.2, 442.5, 176.4, 420.6, 176.4, 416.5, 178.7, 416.5,
-181.0, 412.4, 186.9, 405.9, 190.4, 408.1, 194.2, 400.8, 180.4, 426.9,
-177.6, 425.5, 161.0, 450.1, 157.1, 456.0, 156.4, 455.6, 153.1, 461.8,
-149.5, 388.3, 147.8, 368.2, 147.8, 368.2, 146.0, 348.1, 150.8, 329.2,
-150.0, 329.0, 154.0, 309.9, 158.2, 344.5, 152.0, 345.3, 150.0, 380.7,
-149.8, 384.5, 149.1, 384.6, 149.5, 388.3, 488.6, 852.4, 490.1, 864.3,
-489.4, 864.4, 491.6, 876.2, 491.8, 878.8, 490.7, 880.5, 492.0, 881.3,
-484.3, 884.0, 483.2, 883.3, 474.9, 881.8, 475.7, 881.1, 474.8, 880.1,
-474.7, 878.3, 473.9, 865.1, 467.8, 861.9, 473.1, 852.0, 474.8, 848.9,
-485.7, 848.5, 488.6, 852.4, 473.1, 852.0, 460.8, 773.6, 466.9, 772.5,
-463.6, 692.9, 466.0, 687.8, 466.3, 687.2, 466.1, 681.7, 466.6, 682.9,
-466.6, 682.9, 467.1, 684.1, 461.8, 693.8, 469.0, 697.8, 470.8, 711.5,
-474.2, 737.2, 474.2, 737.2, 477.6, 762.9, 477.9, 765.2, 477.9, 765.3,
-478.2, 767.6, 483.4, 810.0, 483.4, 810.0, 488.6, 852.4, 485.7, 848.5,
-474.8, 848.9, 473.1, 852.0, 580.6, 496.9, 580.8, 495.0, 576.3, 494.4,
-572.1, 491.9, 568.0, 489.5, 564.1, 489.9, 563.8, 487.0, 566.6, 477.0,
-566.8, 467.0, 569.4, 467.1, 572.1, 457.2, 568.4, 453.0, 574.9, 447.3,
-572.0, 449.9, 575.7, 454.1, 576.4, 460.9, 578.5, 478.9, 583.0, 479.5,
-580.6, 496.9, 570.5, 776.6, 568.1, 777.6, 568.6, 778.9, 566.7, 781.1,
-553.8, 796.7, 553.8, 796.7, 540.9, 812.3, 525.4, 830.9, 521.3, 851.8,
-510.0, 849.6, 512.6, 828.3, 512.6, 828.3, 515.2, 807.1, 515.6, 805.4,
-517.5, 805.8, 519.9, 804.5, 533.1, 797.2, 533.1, 797.2, 546.4, 789.9,
-558.4, 783.3, 557.9, 782.0, 570.5, 776.6, 538.4, 619.0, 540.1, 605.1,
-540.1, 605.1, 541.9, 591.3, 541.1, 592.1, 553.2, 598.7, 552.4, 604.6,
-551.4, 612.5, 537.6, 618.0, 538.4, 619.0, 476.1, 608.4, 475.7, 614.6,
-466.7, 616.9, 468.3, 620.3, 469.2, 607.8, 469.2, 607.8, 470.1, 595.2,
-468.0, 598.4, 476.6, 602.1, 476.1, 608.4, 470.1, 595.2, 472.3, 563.6,
-472.3, 563.6, 474.6, 531.9, 475.4, 529.7, 486.1, 528.4, 491.4, 532.6,
-488.9, 543.1, 496.5, 551.7, 508.7, 559.0, 503.3, 585.9, 497.1, 588.7,
-476.1, 608.4, 476.6, 602.1, 468.0, 598.4, 470.1, 595.2, 549.3, 443.3,
-563.3, 440.9, 563.8, 442.5, 577.4, 438.4, 576.8, 438.4, 576.1, 442.9,
-574.9, 447.3, 568.4, 453.0, 572.1, 457.2, 569.4, 467.1, 563.1, 466.9,
-562.9, 477.0, 556.3, 486.9, 544.2, 472.5, 552.8, 465.2, 549.3, 443.5,
-549.3, 443.4, 549.3, 443.3, 549.3, 443.3, 516.5, 550.4, 517.0, 557.6,
-517.0, 557.6, 517.5, 564.7, 517.6, 565.4, 517.1, 566.1, 517.0, 566.1,
-516.8, 566.1, 517.0, 565.3, 517.0, 564.6, 516.7, 557.5, 518.6, 551.0,
-516.5, 550.4, 474.2, 687.1, 474.0, 684.3, 473.9, 684.3, 473.7, 681.5,
-492.4, 628.3, 493.5, 628.7, 513.3, 575.9, 514.3, 573.4, 514.3, 573.5,
-515.2, 571.0, 505.3, 599.1, 505.3, 599.1, 495.3, 627.2, 484.8, 657.2,
-485.9, 657.6, 474.2, 687.1, 450.6, 316.3, 450.9, 313.9, 452.2, 312.4,
-451.2, 311.6, 456.5, 306.3, 452.4, 302.1, 453.6, 292.6, 456.8, 298.7,
-459.4, 299.2, 466.5, 301.3, 472.6, 312.8, 472.6, 312.8, 478.6, 324.2,
-478.7, 323.4, 471.0, 322.1, 463.3, 319.9, 461.5, 319.4, 461.5, 319.4,
-459.7, 318.9, 458.1, 318.4, 458.1, 318.4, 456.6, 318.0, 453.6, 317.2,
-452.2, 318.3, 450.6, 316.3, 193.0, 612.6, 191.5, 619.8, 193.1, 620.6,
-189.9, 626.9, 187.0, 635.3, 187.0, 635.3, 184.0, 643.8, 184.3, 642.6,
-183.1, 642.3, 182.2, 640.8, 182.7, 636.7, 183.7, 636.8, 185.3, 632.9,
-188.4, 624.7, 188.4, 624.7, 191.5, 616.5, 192.3, 614.5, 192.7, 614.6,
-193.0, 612.6, 219.0, 424.9, 221.4, 447.0, 233.1, 461.9, 223.8, 469.2,
-218.1, 495.7, 218.1, 495.7, 212.4, 522.3, 207.3, 474.5, 208.9, 472.1,
-219.0, 424.9, 212.4, 522.3, 209.1, 537.8, 209.1, 537.8, 205.8, 553.2,
-203.9, 543.4, 200.7, 544.0, 195.7, 534.8, 207.3, 489.8, 222.8, 476.9,
-205.2, 441.3, 211.9, 430.8, 211.9, 430.8, 218.5, 420.3, 217.7, 422.0,
-218.8, 422.6, 219.0, 424.9, 208.9, 472.1, 207.3, 474.5, 212.4, 522.3,
-461.7, 734.0, 463.2, 759.7, 463.1, 759.8, 464.7, 785.5, 462.5, 801.0,
-462.5, 801.0, 460.2, 816.6, 455.1, 797.7, 446.6, 800.0, 433.0, 783.4,
-430.7, 774.5, 439.5, 772.2, 446.0, 761.1, 450.1, 753.9, 450.1, 753.9,
-454.2, 746.8, 458.0, 740.4, 463.1, 739.0, 461.7, 734.0, 447.6, 495.3,
-448.0, 501.2, 447.9, 501.2, 448.3, 507.2, 450.3, 533.5, 449.9, 533.5,
-451.5, 559.9, 451.9, 567.7, 451.9, 567.7, 452.4, 575.5, 451.9, 567.7,
-451.9, 567.7, 451.5, 559.9, 449.9, 533.5, 450.3, 533.5, 448.3, 507.2,
-447.9, 501.2, 448.0, 501.2, 447.6, 495.3, 413.5, 651.4, 420.1, 608.0,
-416.2, 607.4, 419.2, 563.4, 419.9, 555.0, 419.9, 555.0, 420.6, 546.5,
-420.6, 543.2, 420.9, 543.2, 421.2, 539.9, 424.7, 497.4, 425.3, 497.4,
-428.3, 454.9, 429.0, 448.0, 429.9, 448.1, 431.6, 441.3, 431.6, 441.3,
-431.6, 441.3, 431.6, 441.3, 436.2, 422.4, 436.2, 422.4, 440.8, 403.5,
-441.3, 401.3, 442.4, 401.0, 441.8, 399.1, 442.2, 404.5, 442.2, 404.5,
-442.5, 409.9, 428.9, 530.8, 431.7, 531.2, 413.5, 651.4, 442.5, 409.9,
-443.4, 424.6, 443.4, 424.6, 444.3, 439.3, 444.3, 445.8, 443.4, 445.8,
-442.5, 452.2, 432.1, 526.1, 432.1, 526.1, 421.8, 600.0, 417.1, 633.6,
-417.8, 633.8, 412.4, 667.3, 413.3, 659.4, 413.0, 659.4, 413.5, 651.4,
-431.7, 531.2, 428.9, 530.8, 442.5, 409.9, 383.3, 722.9, 393.5, 735.4,
-396.2, 749.3, 403.8, 747.8, 409.1, 754.3, 409.1, 754.3, 414.4, 760.8,
-416.7, 763.5, 416.7, 763.5, 418.9, 766.3, 423.1, 771.4, 424.8, 770.6,
-427.3, 776.5, 434.5, 793.1, 432.8, 793.9, 438.3, 811.2, 438.3, 811.3,
-438.3, 811.3, 438.3, 811.3, 438.3, 811.3, 438.3, 811.3, 438.3, 811.2,
-420.6, 782.9, 420.6, 782.9, 403.0, 754.5, 393.1, 738.7, 381.6, 737.4,
-383.3, 722.9, 366.8, 867.4, 358.6, 864.1, 355.0, 857.9, 350.4, 860.7,
-354.5, 820.5, 354.5, 820.5, 358.6, 780.4, 359.1, 775.3, 359.2, 775.3,
-359.7, 770.2, 363.7, 811.1, 362.7, 811.2, 365.7, 852.2, 366.3, 859.8,
-369.6, 865.9, 366.8, 867.4, 377.8, 211.3, 377.6, 210.3, 377.6, 210.3,
-377.5, 209.4, 397.1, 195.9, 394.7, 192.4, 411.9, 175.4, 400.3, 185.7,
-401.1, 186.7, 390.4, 198.0, 389.4, 199.1, 389.4, 199.1, 388.3, 200.2,
-383.0, 205.7, 383.6, 206.3, 377.8, 211.3, 239.8, 662.8, 239.0, 701.7,
-233.3, 701.6, 226.8, 740.4, 226.3, 743.4, 225.6, 743.4, 225.8, 746.3,
-225.1, 709.3, 223.8, 709.3, 221.9, 672.3, 221.9, 670.5, 225.1, 670.6,
-228.3, 668.9, 234.0, 665.8, 239.7, 665.9, 239.8, 662.8, 223.6, 759.5,
-224.7, 752.9, 226.0, 752.9, 225.8, 746.3, 225.6, 743.4, 226.3, 743.4,
-226.8, 740.4, 243.2, 724.1, 244.4, 725.4, 262.0, 710.4, 263.0, 709.5,
-263.0, 709.5, 264.0, 708.7, 312.0, 667.8, 311.7, 667.4, 360.0, 626.8,
-359.6, 627.2, 360.2, 627.9, 359.8, 628.3, 353.5, 635.0, 353.1, 634.7,
-346.4, 641.2, 315.7, 670.8, 315.7, 670.8, 284.9, 700.5, 262.0, 722.6,
-262.0, 722.6, 239.0, 744.7, 237.6, 746.0, 237.6, 746.0, 236.2, 747.4,
-229.9, 753.5, 229.3, 760.1, 223.6, 759.5, 285.2, 852.2, 296.7, 804.1,
-297.5, 803.6, 317.2, 758.2, 316.2, 760.6, 323.3, 763.1, 322.6, 766.3,
-318.0, 785.6, 314.5, 784.8, 306.5, 803.3, 295.8, 827.8, 291.3, 826.7,
-285.2, 852.2, 349.9, 662.3, 350.7, 654.7, 355.3, 654.7, 355.0, 647.4,
-352.0, 670.9, 358.7, 672.9, 351.3, 694.7, 351.0, 696.9, 351.9, 697.8,
-350.7, 699.0, 338.7, 735.0, 345.8, 737.4, 340.8, 775.8, 339.6, 719.2,
-343.7, 718.9, 349.9, 662.3, 340.8, 775.8, 339.9, 783.2, 339.9, 783.2,
-338.9, 790.7, 327.5, 784.7, 330.7, 778.5, 322.6, 766.3, 323.3, 763.1,
-316.2, 760.6, 317.2, 758.2, 319.6, 741.4, 322.8, 741.8, 328.4, 725.4,
-338.4, 696.1, 338.4, 696.1, 348.4, 666.8, 349.1, 664.5, 349.7, 664.6,
-349.9, 662.3, 343.7, 718.9, 339.6, 719.2, 340.8, 775.8, 385.0, 633.5,
-387.8, 636.1, 383.1, 641.1, 381.3, 648.8, 380.1, 653.4, 380.1, 653.4,
-379.0, 658.0, 378.4, 660.7, 376.7, 661.9, 377.7, 663.3, 370.4, 646.5,
-368.6, 647.3, 359.5, 631.2, 359.8, 632.0, 361.1, 631.4, 362.7, 631.5,
-373.8, 632.5, 378.5, 627.5, 385.0, 633.5, 400.7, 531.7, 402.1, 534.9,
-401.5, 535.4, 403.6, 538.0, 403.4, 537.8, 403.4, 537.8, 403.2, 537.7,
-357.2, 510.5, 356.8, 511.0, 310.5, 484.3, 343.2, 510.4, 348.2, 504.2,
-386.0, 524.0, 393.3, 527.9, 394.3, 526.7, 400.7, 531.7, 356.4, 303.0,
-350.0, 293.2, 344.7, 282.9, 343.5, 283.5, 344.3, 276.1, 338.5, 275.2,
-332.8, 267.4, 335.2, 259.1, 340.4, 253.4, 337.6, 250.9, 339.1, 248.9,
-340.9, 248.6, 340.6, 246.9, 340.1, 246.3, 343.2, 243.5, 345.7, 240.1,
-353.6, 266.3, 350.3, 267.3, 355.0, 294.4, 355.7, 298.7, 353.9, 300.6,
-356.4, 303.0, 384.0, 325.9, 390.1, 329.9, 392.4, 326.4, 400.9, 326.8,
-403.1, 330.3, 415.1, 326.1, 415.3, 327.6, 419.6, 334.6, 419.6, 334.6,
-423.8, 341.6, 403.5, 340.5, 401.6, 337.3, 384.0, 325.9, 354.1, 435.3,
-341.6, 425.3, 342.3, 424.3, 329.1, 415.3, 326.5, 412.4, 326.5, 412.4,
-324.0, 409.5, 332.6, 410.0, 335.1, 405.5, 342.0, 397.7, 367.3, 394.6,
-370.0, 392.8, 393.7, 400.8, 390.0, 399.5, 387.8, 405.9, 381.9, 411.1,
-368.0, 423.2, 368.9, 434.1, 354.1, 435.3, 272.8, 437.6, 273.4, 436.3,
-273.4, 436.3, 274.1, 435.0, 268.9, 461.0, 268.4, 460.9, 262.9, 486.8,
-261.9, 491.5, 261.0, 496.3, 261.0, 496.3, 261.0, 496.3, 261.9, 491.5,
-262.9, 486.8, 267.9, 462.2, 267.5, 462.1, 272.8, 437.6, 67.4, 175.0,
-67.4, 174.8, 67.4, 174.8, 67.4, 174.6, 69.5, 163.5, 68.3, 163.3,
-69.2, 152.0, 70.3, 157.7, 73.0, 157.2, 76.7, 162.3, 87.0, 209.4,
-89.9, 208.8, 103.2, 255.3, 115.4, 232.0, 85.9, 216.5, 68.6, 177.8,
-68.0, 176.4, 67.9, 176.4, 67.4, 175.0, 60.2, 159.3, 61.6, 171.9,
-66.0, 173.1, 63.0, 184.6, 63.0, 185.0, 63.2, 185.1, 63.0, 185.5,
-63.0, 185.5, 63.0, 185.5, 63.0, 185.6, 65.5, 192.5, 53.0, 194.9,
-48.4, 206.4, 44.4, 195.3, 38.1, 193.9, 40.3, 184.2, 41.9, 137.6,
-41.9, 137.6, 43.5, 91.0, 30.1, 107.8, 53.0, 124.9, 60.2, 159.3,
-43.5, 91.0, 43.7, 85.4, 43.7, 85.4, 43.9, 79.8, 46.9, 72.5,
-46.3, 72.1, 47.6, 64.1, 49.1, 68.4, 49.1, 68.4, 50.5, 72.6,
-53.3, 116.1, 55.4, 116.0, 60.2, 159.3, 53.0, 124.9, 30.1, 107.8,
-43.5, 91.0, 681.0, 569.7, 678.1, 569.9, 678.1, 569.9, 675.1, 570.2,
-666.1, 555.9, 665.9, 556.0, 656.7, 541.9, 658.6, 545.0, 659.2, 544.7,
-661.6, 547.5, 671.3, 558.6, 673.6, 557.2, 681.0, 569.7, 641.5, 479.0,
-641.5, 479.0, 641.5, 479.0, 641.6, 478.9, 639.0, 466.5, 650.4, 464.2,
-659.2, 449.5, 665.3, 457.3, 683.8, 457.8, 686.6, 453.1, 689.2, 456.4,
-689.2, 456.4, 691.8, 459.8, 668.7, 472.9, 666.6, 469.3, 641.6, 478.9,
-641.5, 479.0, 641.5, 479.0, 641.5, 479.0, 791.8, 137.2, 766.4, 118.0,
-768.4, 102.3, 740.9, 98.7, 740.1, 98.2, 740.1, 98.2, 739.3, 97.6,
-735.9, 98.2, 735.2, 94.5, 731.1, 91.4, 744.5, 94.7, 745.7, 89.9,
-760.4, 88.4, 777.7, 99.6, 772.6, 107.4, 784.9, 126.3, 788.4, 131.7,
-786.9, 134.1, 791.8, 137.2, 796.7, 204.0, 801.9, 215.2, 799.9, 216.7,
-807.2, 226.4, 792.9, 218.3, 792.9, 218.3, 778.7, 210.2, 772.5, 209.7,
-774.3, 201.8, 767.4, 197.3, 758.0, 193.0, 759.9, 188.8, 752.5, 180.3,
-776.1, 185.6, 777.9, 188.2, 796.7, 204.0, 752.5, 180.3, 747.3, 174.3,
-748.6, 172.2, 742.1, 168.4, 741.1, 167.9, 741.3, 167.5, 740.5, 166.5,
-752.1, 153.2, 750.4, 148.0, 765.4, 141.4, 766.1, 141.1, 768.7, 147.1,
-772.0, 152.8, 773.5, 155.3, 773.6, 155.2, 774.9, 157.7, 789.9, 177.8,
-785.8, 180.8, 796.7, 204.0, 777.9, 188.2, 776.1, 185.6, 752.5, 180.3,
-700.8, 121.1, 692.8, 111.8, 692.8, 111.8, 684.7, 102.6, 687.4, 102.5,
-689.7, 98.8, 689.9, 99.1, 714.6, 98.4, 715.3, 102.1, 739.3, 97.6,
-740.1, 98.2, 740.1, 98.2, 740.9, 98.7, 752.8, 100.3, 746.8, 120.3,
-760.7, 133.2, 761.0, 133.7, 760.9, 134.2, 761.4, 134.3, 731.0, 128.2,
-729.0, 132.7, 700.8, 121.1, 761.4, 134.3, 764.2, 135.2, 766.5, 139.8,
-765.4, 141.4, 750.4, 148.0, 752.1, 153.2, 740.5, 166.5, 723.1, 146.6,
-727.5, 138.7, 705.7, 126.7, 702.9, 126.2, 703.3, 123.9, 700.8, 121.1,
-729.0, 132.7, 731.0, 128.2, 761.4, 134.3, 583.1, 158.4, 580.9, 157.7,
-580.9, 157.7, 578.7, 157.1, 592.9, 148.5, 603.3, 151.5, 606.8, 139.6,
-632.0, 152.8, 632.0, 152.8, 657.2, 166.0, 636.3, 182.6, 620.1, 162.6,
-583.1, 158.4, 657.2, 166.0, 673.1, 174.3, 673.1, 174.3, 689.0, 182.7,
-693.0, 183.9, 691.0, 188.6, 695.0, 192.2, 690.8, 194.8, 687.8, 190.0,
-680.7, 187.9, 666.8, 183.7, 666.8, 183.7, 653.0, 179.5, 623.6, 160.4,
-618.0, 168.9, 583.1, 158.4, 620.1, 162.6, 636.3, 182.6, 657.2, 166.0,
-733.6, 362.1, 732.7, 362.5, 732.7, 362.5, 731.8, 362.9, 690.2, 300.2,
-690.1, 300.2, 645.8, 239.4, 637.4, 227.1, 637.8, 226.9, 629.3, 214.7,
-628.1, 213.3, 628.0, 213.3, 626.8, 212.0, 626.8, 212.0, 626.8, 212.0,
-626.8, 212.0, 632.4, 218.1, 632.4, 218.1, 638.0, 224.2, 638.4, 224.6,
-638.4, 224.6, 638.7, 224.9, 645.6, 232.5, 645.6, 232.5, 652.5, 240.0,
-665.2, 253.8, 665.2, 253.8, 677.8, 267.5, 681.5, 271.6, 681.5, 271.6,
-685.2, 275.6, 685.8, 276.2, 685.8, 276.2, 686.3, 276.8, 688.5, 279.2,
-688.5, 279.2, 690.7, 281.6, 707.9, 306.5, 708.9, 305.7, 727.2, 329.8,
-734.6, 343.7, 731.3, 345.8, 733.6, 362.1, 727.2, 329.8, 737.0, 342.8,
-734.4, 346.0, 746.8, 355.7, 740.2, 358.9, 740.2, 358.9, 733.6, 362.1,
-731.3, 345.8, 734.6, 343.7, 727.2, 329.8, 706.4, 330.7, 717.6, 347.6,
-716.2, 348.6, 728.7, 364.4, 725.4, 366.0, 725.4, 366.0, 722.0, 367.6,
-721.7, 367.9, 720.8, 365.9, 719.2, 365.0, 705.9, 360.5, 707.9, 354.5,
-696.7, 344.0, 687.0, 328.8, 685.1, 330.0, 673.6, 315.9, 675.5, 321.6,
-681.7, 319.5, 689.7, 323.2, 698.1, 326.9, 700.6, 324.6, 706.4, 330.7,
-668.8, 149.5, 679.7, 163.4, 677.9, 165.3, 690.7, 177.3, 674.4, 168.6,
-674.4, 168.6, 658.2, 159.9, 637.3, 162.6, 635.2, 146.2, 612.2, 132.4,
-622.3, 122.5, 643.8, 135.2, 668.8, 149.5, 540.0, 203.6, 544.8, 209.8,
-544.8, 209.8, 549.5, 216.0, 545.7, 212.3, 544.0, 214.0, 538.5, 212.0,
-524.1, 208.3, 524.8, 205.7, 511.1, 199.4, 515.0, 201.9, 516.3, 200.1,
-521.4, 200.9, 530.7, 202.2, 532.3, 199.4, 540.0, 203.6, 493.2, 21.2,
-499.3, 14.5, 500.4, 15.2, 505.4, 7.7, 510.5, 23.9, 510.5, 23.9,
-515.6, 40.0, 515.2, 40.4, 496.9, 33.0, 493.2, 21.2, 515.6, 40.0,
-516.0, 41.4, 516.9, 42.3, 516.5, 42.7, 506.3, 53.8, 506.3, 53.8,
-496.1, 64.9, 491.4, 73.5, 480.3, 65.3, 470.6, 73.3, 465.3, 82.3,
-453.8, 73.5, 444.3, 82.0, 462.3, 58.7, 462.3, 58.7, 480.4, 35.4,
-485.7, 27.5, 486.8, 28.3, 493.2, 21.2, 496.9, 33.0, 515.2, 40.4,
-515.6, 40.0, 587.3, -74.6, 589.1, -80.4, 589.5, -86.3, 590.9, -86.2,
-592.6, -88.4, 597.0, -86.2, 597.6, -88.0, 595.3, -80.4, 593.8, -76.3,
-587.3, -74.6, 279.7, 73.4, 281.6, 75.0, 283.3, 74.8, 283.5, 76.5,
-283.8, 77.5, 283.8, 77.5, 284.2, 78.5, 274.2, 128.6, 273.3, 128.7,
-268.0, 179.5, 266.6, 180.8, 266.6, 180.8, 265.1, 182.1, 265.5, 181.5,
-261.8, 178.5, 258.5, 175.0, 257.9, 162.7, 261.1, 162.6, 263.7, 150.1,
-265.7, 140.4, 265.7, 140.4, 267.7, 130.7, 273.7, 102.0, 271.5, 101.4,
-279.7, 73.4, 353.9, 96.6, 354.4, 104.1, 352.6, 104.8, 354.9, 111.6,
-355.4, 111.8, 354.4, 113.6, 355.1, 114.2, 353.0, 126.2, 350.2, 134.3,
-356.7, 139.2, 357.2, 139.2, 356.9, 141.9, 357.1, 144.7, 353.2, 170.7,
-350.9, 171.1, 352.1, 197.2, 352.7, 194.0, 350.3, 193.8, 349.5, 190.1,
-349.1, 188.4, 349.6, 188.2, 349.7, 186.4, 350.0, 180.1, 350.0, 180.1,
-350.3, 173.8, 352.1, 135.2, 351.1, 135.1, 353.9, 96.6, 336.8, 156.0,
-346.6, 170.8, 343.1, 173.1, 349.5, 190.1, 350.3, 193.8, 352.7, 194.0,
-352.1, 197.2, 352.7, 208.9, 355.7, 209.1, 360.7, 220.3, 357.9, 224.1,
-354.1, 225.8, 355.0, 227.9, 354.5, 228.5, 354.5, 229.1, 354.1, 229.1,
-349.0, 223.4, 336.9, 222.5, 333.8, 226.6, 331.8, 220.7, 331.8, 220.7,
-329.9, 214.9, 330.5, 191.8, 332.6, 191.9, 335.3, 168.8, 336.0, 162.4,
-339.5, 160.1, 336.8, 156.0, 197.4, 398.0, 197.4, 397.9, 195.8, 399.4,
-194.2, 400.8, 190.4, 408.1, 186.9, 405.9, 181.0, 412.4, 185.5, 404.4,
-185.5, 404.4, 190.1, 396.4, 191.7, 394.9, 195.3, 395.7, 197.4, 398.0,
-267.3, 336.5, 274.9, 329.8, 275.2, 330.1, 282.5, 323.1, 243.4, 371.5,
-243.4, 371.5, 204.3, 420.0, 173.8, 423.9, 175.8, 445.4, 149.2, 472.6,
-150.9, 467.6, 150.9, 467.6, 152.7, 462.6, 152.8, 462.2, 153.0, 462.3,
-153.1, 461.8, 156.4, 455.6, 157.1, 456.0, 161.0, 450.1, 211.6, 394.2,
-212.2, 394.7, 263.7, 339.6, 265.4, 339.8, 265.5, 338.1, 267.3, 336.5,
-161.0, 450.1, 177.6, 425.5, 180.4, 426.9, 194.2, 400.8, 195.8, 399.4,
-197.4, 397.9, 197.4, 398.0, 230.6, 368.8, 230.6, 368.8, 263.7, 339.6,
-265.4, 339.8, 265.5, 338.1, 267.3, 336.5, 214.3, 393.5, 219.1, 399.0,
-161.0, 450.1, 182.0, 340.9, 181.9, 342.0, 182.1, 342.0, 181.8, 343.0,
-179.0, 352.7, 179.1, 352.8, 176.4, 362.5, 177.8, 378.3, 163.4, 379.5,
-150.4, 396.6, 158.1, 366.7, 165.8, 368.5, 182.0, 340.9, 606.6, 614.7,
-613.0, 605.6, 611.2, 604.3, 615.8, 594.0, 621.3, 581.5, 619.6, 580.4,
-626.8, 569.1, 625.3, 571.4, 628.0, 572.7, 627.2, 575.8, 626.3, 579.7,
-625.3, 579.5, 623.3, 583.1, 615.0, 598.9, 616.8, 600.2, 606.6, 614.7,
-755.2, 696.0, 759.7, 703.1, 759.7, 703.1, 764.3, 710.3, 750.1, 721.0,
-751.8, 723.2, 739.3, 736.1, 743.2, 733.3, 741.4, 730.8, 743.5, 725.6,
-749.3, 710.8, 744.3, 704.0, 755.2, 696.0, 615.8, 594.0, 611.2, 604.3,
-613.0, 605.6, 606.6, 614.7, 598.3, 633.5, 603.5, 638.6, 590.1, 652.2,
-590.7, 651.6, 585.5, 646.4, 580.9, 640.6, 579.6, 639.0, 579.6, 639.0,
-578.3, 637.3, 577.2, 636.0, 576.0, 635.8, 576.1, 634.6, 576.4, 631.8,
-577.6, 632.0, 579.1, 629.3, 579.9, 628.0, 579.9, 628.0, 580.6, 626.7,
-586.2, 616.8, 583.9, 614.2, 591.8, 606.9, 601.4, 597.9, 609.1, 590.4,
-615.8, 594.0, 591.8, 606.9, 587.9, 600.6, 599.4, 593.4, 607.0, 580.0,
-621.3, 554.7, 618.1, 552.2, 635.6, 529.4, 635.9, 529.0, 641.7, 530.6,
-642.5, 533.4, 643.4, 536.7, 640.7, 537.4, 639.0, 541.4, 632.9, 555.2,
-632.9, 555.2, 626.8, 569.1, 619.6, 580.4, 621.3, 581.5, 615.8, 594.0,
-609.1, 590.4, 601.4, 597.9, 591.8, 606.9, 576.4, 460.9, 575.7, 454.1,
-572.0, 449.9, 574.9, 447.3, 576.1, 442.9, 576.8, 438.4, 577.4, 438.4,
-578.4, 438.1, 577.9, 436.5, 578.5, 434.6, 598.0, 464.0, 628.7, 470.0,
-623.1, 489.8, 630.0, 500.6, 631.2, 500.0, 636.9, 511.4, 637.2, 511.8,
-637.6, 512.1, 637.5, 512.3, 637.5, 512.3, 637.5, 512.3, 637.5, 512.3,
-607.0, 486.6, 604.0, 489.4, 576.4, 460.9, 637.5, 512.3, 639.7, 515.7,
-639.7, 515.7, 641.9, 519.1, 649.1, 530.3, 655.8, 530.1, 656.3, 541.6,
-656.1, 537.2, 649.4, 537.5, 642.5, 533.4, 641.7, 530.6, 635.9, 529.0,
-635.6, 529.4, 620.6, 520.5, 620.6, 520.5, 605.6, 511.6, 602.6, 509.9,
-602.6, 509.9, 599.7, 508.2, 590.1, 502.5, 584.7, 505.2, 580.6, 496.9,
-583.0, 479.5, 578.5, 478.9, 576.4, 460.9, 610.9, 469.7, 606.8, 486.0,
-636.9, 511.4, 637.2, 511.8, 637.6, 512.1, 637.5, 512.3, 637.5, 512.3,
-637.5, 512.3, 637.5, 512.3, 573.7, 767.7, 573.8, 767.6, 575.8, 769.6,
-575.5, 770.6, 574.2, 774.0, 573.6, 774.5, 570.5, 776.6, 557.9, 782.0,
-558.4, 783.3, 546.4, 789.9, 553.7, 788.1, 552.8, 784.7, 559.2, 779.4,
-566.5, 773.6, 565.6, 772.1, 573.7, 767.7, 595.9, 745.9, 603.8, 735.1,
-604.5, 735.6, 613.0, 725.3, 621.9, 714.5, 620.4, 712.7, 630.9, 703.8,
-630.8, 703.8, 632.3, 705.6, 633.8, 707.5, 634.9, 708.8, 636.2, 709.4,
-635.9, 710.2, 634.5, 713.3, 633.1, 712.6, 630.4, 715.1, 623.2, 721.6,
-623.2, 721.6, 616.0, 728.0, 609.7, 733.6, 609.7, 733.6, 603.4, 739.3,
-602.5, 740.0, 602.5, 740.0, 601.6, 740.8, 598.8, 743.4, 598.1, 742.9,
-595.9, 745.9, 545.8, 831.4, 545.8, 831.4, 550.9, 851.6, 556.0, 871.7,
-556.0, 871.9, 556.0, 871.9, 556.1, 872.2, 556.7, 874.7, 556.7, 874.7,
-557.4, 877.2, 557.6, 878.3, 557.7, 879.4, 557.9, 879.4, 539.7, 881.0,
-522.2, 884.3, 521.2, 880.5, 516.2, 860.4, 528.4, 835.8, 545.8, 831.4,
-521.2, 880.5, 518.2, 884.3, 506.9, 883.2, 506.1, 880.9, 511.1, 866.3,
-508.0, 865.3, 510.0, 849.6, 521.3, 851.8, 525.4, 830.9, 540.9, 812.3,
-538.9, 813.6, 542.7, 819.2, 544.4, 826.1, 544.5, 826.3, 544.5, 826.3,
-544.5, 826.6, 545.2, 829.0, 546.6, 829.6, 545.8, 831.4, 528.4, 835.8,
-516.2, 860.4, 521.2, 880.5, 501.0, 479.8, 509.2, 464.3, 517.2, 464.4,
-517.4, 448.8, 528.2, 446.9, 528.2, 446.9, 539.0, 445.1, 538.5, 445.1,
-538.5, 445.4, 538.1, 445.8, 529.7, 453.6, 529.7, 453.6, 521.2, 461.3,
-511.1, 470.5, 499.2, 474.1, 501.0, 479.8, 513.3, 575.9, 493.5, 628.7,
-492.4, 628.3, 473.7, 681.5, 473.3, 677.4, 473.3, 677.4, 472.9, 673.2,
-478.0, 656.7, 479.6, 657.2, 486.2, 641.2, 499.8, 608.6, 502.9, 609.6,
-513.3, 575.9, 495.3, 627.2, 497.7, 601.0, 504.3, 601.6, 513.3, 575.9,
-514.3, 573.4, 514.3, 573.5, 515.2, 571.0, 516.1, 568.5, 516.1, 568.5,
-517.0, 566.1, 517.1, 566.1, 517.6, 565.4, 517.5, 564.7, 519.4, 590.9,
-515.0, 592.1, 521.3, 617.1, 514.9, 633.7, 506.3, 648.9, 508.5, 650.2,
-506.8, 653.2, 507.2, 653.4, 506.0, 656.7, 498.3, 643.3, 494.0, 641.4,
-495.3, 627.2, 506.0, 656.7, 495.0, 685.1, 490.1, 684.0, 484.0, 713.4,
-484.7, 720.8, 478.3, 721.1, 478.0, 728.9, 471.0, 709.9, 470.8, 707.1,
-474.2, 687.1, 485.9, 657.6, 484.8, 657.2, 495.3, 627.2, 494.0, 641.4,
-498.3, 643.3, 506.0, 656.7, 445.1, 359.6, 446.0, 352.4, 448.3, 351.9,
-446.9, 345.2, 449.8, 331.0, 448.7, 330.7, 450.6, 316.3, 452.2, 318.3,
-453.6, 317.2, 456.6, 318.0, 457.2, 318.6, 456.1, 319.7, 455.6, 321.4,
-451.7, 335.6, 451.7, 335.6, 447.8, 349.9, 446.4, 354.8, 444.3, 355.2,
-445.1, 359.6, 158.8, 562.8, 158.5, 560.6, 157.7, 560.5, 158.2, 558.4,
-158.5, 556.2, 157.8, 556.1, 157.5, 553.7, 156.4, 553.2, 158.4, 549.0,
-159.2, 544.2, 160.5, 553.3, 159.4, 553.5, 158.8, 562.8, 418.2, 496.4,
-418.2, 496.3, 418.2, 496.3, 418.3, 496.3, 418.3, 496.3, 418.3, 496.3,
-418.3, 496.4, 418.3, 496.4, 418.2, 496.4, 418.2, 496.4, 379.0, 658.0,
-380.1, 653.4, 380.1, 653.4, 381.3, 648.8, 391.3, 646.7, 392.2, 650.9,
-403.1, 653.0, 407.3, 653.8, 411.0, 652.7, 411.6, 654.6, 410.7, 664.7,
-410.7, 664.7, 409.9, 674.8, 395.5, 676.3, 391.6, 669.5, 379.0, 658.0,
-409.9, 674.8, 408.8, 688.1, 411.8, 689.1, 407.6, 701.4, 407.5, 703.4,
-407.5, 703.4, 407.3, 705.4, 406.9, 710.5, 406.9, 710.5, 406.5, 715.6,
-406.4, 715.7, 406.4, 715.7, 406.4, 715.8, 406.3, 717.1, 406.0, 718.3,
-406.2, 718.4, 395.6, 705.4, 385.7, 702.3, 369.0, 705.6, 368.3, 705.3,
-367.7, 704.7, 367.8, 704.1, 372.0, 686.8, 377.1, 669.7, 376.3, 669.4,
-378.0, 667.1, 378.7, 665.6, 377.7, 663.3, 376.7, 661.9, 378.4, 660.7,
-379.0, 658.0, 391.6, 669.5, 395.5, 676.3, 409.9, 674.8, 442.5, 452.2,
-443.4, 445.8, 444.3, 445.8, 444.3, 439.3, 445.1, 452.6, 444.2, 452.7,
-445.8, 465.9, 448.0, 480.4, 446.7, 480.6, 447.6, 495.3, 448.0, 501.2,
-447.9, 501.2, 448.3, 507.2, 450.3, 533.5, 449.9, 533.5, 451.5, 559.9,
-451.9, 567.7, 451.9, 567.7, 452.4, 575.5, 452.6, 578.7, 452.6, 578.7,
-452.8, 581.9, 452.2, 585.4, 451.5, 585.3, 450.2, 588.8, 447.3, 596.8,
-443.2, 597.4, 444.3, 604.8, 439.9, 575.1, 444.0, 574.5, 443.6, 544.2,
-443.0, 498.2, 442.2, 498.2, 442.5, 452.2, 363.4, 734.1, 364.4, 724.0,
-361.6, 722.8, 365.4, 714.0, 365.5, 713.7, 365.5, 713.7, 365.5, 713.5,
-366.7, 708.8, 366.7, 708.8, 367.8, 704.1, 367.7, 704.7, 368.3, 705.3,
-369.0, 705.6, 374.3, 704.6, 376.1, 714.2, 383.3, 722.9, 381.6, 737.4,
-393.1, 738.7, 403.0, 754.5, 402.3, 755.6, 388.1, 746.8, 373.2, 739.2,
-368.3, 736.6, 364.5, 737.8, 363.4, 734.1, 382.3, 243.1, 380.0, 227.2,
-380.0, 227.2, 377.8, 211.3, 383.6, 206.3, 383.0, 205.7, 388.3, 200.2,
-392.4, 214.6, 386.1, 216.4, 383.8, 232.7, 383.0, 237.9, 381.0, 238.5,
-382.3, 243.1, 262.2, 528.4, 258.2, 543.6, 259.6, 544.0, 257.0, 559.6,
-255.0, 571.8, 255.0, 571.8, 252.9, 584.1, 247.6, 616.0, 247.6, 616.0,
-242.3, 647.9, 241.0, 655.3, 243.6, 657.0, 239.8, 662.8, 239.7, 665.9,
-234.0, 665.8, 228.3, 668.9, 240.2, 597.8, 243.9, 598.3, 262.2, 528.4,
-228.3, 668.9, 225.1, 670.6, 221.9, 670.5, 221.9, 672.3, 221.3, 662.2,
-223.9, 661.3, 220.8, 652.1, 226.3, 633.0, 226.4, 633.0, 231.9, 614.0,
-250.7, 549.3, 247.1, 548.0, 269.5, 484.6, 262.2, 505.2, 267.1, 506.8,
-262.2, 528.4, 243.9, 598.3, 240.2, 597.8, 228.3, 668.9, 212.2, 827.7,
-217.9, 793.6, 217.9, 793.6, 223.6, 759.5, 229.3, 760.1, 229.9, 753.5,
-236.2, 747.4, 233.8, 748.3, 235.0, 751.5, 233.8, 755.6, 232.7, 759.2,
-232.7, 759.2, 231.7, 762.7, 221.9, 795.2, 209.5, 826.6, 212.2, 827.7,
-252.9, 584.1, 255.0, 571.8, 255.0, 571.8, 257.0, 559.6, 255.6, 564.2,
-257.2, 564.7, 257.4, 569.9, 257.5, 573.8, 257.5, 573.8, 257.6, 577.7,
-258.6, 606.4, 272.9, 617.1, 259.5, 635.1, 270.6, 620.2, 253.8, 609.7,
-252.9, 584.1, 354.7, 534.6, 362.3, 542.1, 362.3, 542.1, 370.0, 549.5,
-371.9, 552.9, 369.4, 554.3, 368.8, 559.1, 364.9, 589.4, 368.6, 590.3,
-361.0, 619.6, 363.8, 608.6, 360.1, 607.6, 359.2, 595.6, 358.0, 579.6,
-358.0, 579.6, 356.8, 563.5, 356.1, 553.6, 356.1, 553.6, 355.4, 543.6,
-355.0, 539.1, 356.5, 535.4, 354.7, 534.6, 368.8, 559.1, 369.4, 554.3,
-371.9, 552.9, 370.0, 549.5, 373.2, 552.6, 376.3, 552.5, 376.5, 555.8,
-376.5, 556.1, 376.7, 556.1, 377.0, 556.3, 373.0, 558.1, 370.2, 560.5,
-368.8, 559.1, 386.0, 524.0, 348.2, 504.2, 343.2, 510.4, 310.5, 484.3,
-301.3, 479.0, 302.0, 476.9, 292.1, 473.7, 287.7, 470.6, 288.2, 469.9,
-284.3, 466.1, 282.0, 463.9, 282.5, 463.1, 279.8, 461.8, 294.6, 469.4,
-294.1, 470.2, 308.5, 478.6, 314.9, 482.3, 314.9, 482.3, 321.3, 486.1,
-353.7, 505.1, 351.5, 518.3, 386.0, 524.0, 355.0, 294.4, 350.3, 267.3,
-353.6, 266.3, 345.7, 240.1, 349.9, 234.6, 355.0, 230.2, 354.1, 229.1,
-354.5, 229.1, 354.5, 228.5, 355.0, 227.9, 367.7, 256.8, 363.9, 266.8,
-387.9, 282.3, 389.9, 289.5, 392.0, 289.0, 396.0, 295.6, 396.2, 296.0,
-396.1, 296.0, 396.1, 296.5, 375.5, 295.8, 364.6, 305.2, 355.0, 294.4,
-396.1, 296.5, 398.5, 311.6, 393.5, 314.7, 400.9, 326.8, 392.4, 326.4,
-390.1, 329.9, 384.0, 325.9, 377.6, 325.6, 375.1, 328.5, 371.2, 325.2,
-363.8, 314.1, 363.8, 314.1, 356.4, 303.0, 353.9, 300.6, 355.7, 298.7,
-355.0, 294.4, 364.6, 305.2, 375.5, 295.8, 396.1, 296.5, 437.6, 403.3,
-437.5, 403.4, 432.1, 404.9, 429.5, 402.8, 423.1, 391.0, 420.4, 392.5,
-411.3, 382.1, 410.7, 388.7, 420.7, 389.6, 430.0, 397.2, 433.8, 400.3,
-437.8, 400.6, 437.6, 403.3, 325.6, 322.0, 326.6, 319.9, 326.6, 319.9,
-327.5, 317.9, 341.1, 338.4, 353.4, 336.2, 381.6, 341.0, 386.2, 343.5,
-389.5, 348.0, 388.2, 350.8, 383.4, 361.2, 378.8, 359.0, 369.4, 367.2,
-365.1, 371.0, 364.9, 374.9, 360.7, 374.8, 357.9, 374.7, 358.1, 370.8,
-355.4, 366.8, 346.5, 353.4, 346.5, 353.4, 337.7, 340.1, 331.6, 331.0,
-330.1, 331.7, 325.6, 322.0, 420.5, 402.3, 415.5, 395.5, 407.1, 401.5,
-393.7, 400.8, 370.0, 392.8, 367.3, 394.6, 342.0, 397.7, 340.5, 399.4,
-338.5, 397.5, 334.9, 397.3, 334.6, 396.8, 337.2, 395.3, 339.5, 393.3,
-341.5, 391.6, 341.5, 391.6, 343.5, 389.8, 352.1, 382.3, 352.1, 382.3,
-360.7, 374.8, 364.9, 374.9, 365.1, 371.0, 369.4, 367.2, 397.1, 380.0,
-403.3, 378.7, 420.5, 402.3, 369.4, 367.2, 378.8, 359.0, 383.4, 361.2,
-388.2, 350.8, 388.6, 350.6, 390.1, 353.7, 392.0, 356.6, 396.6, 363.6,
-396.6, 363.6, 401.3, 370.6, 410.4, 387.3, 409.9, 388.2, 422.4, 402.4,
-422.1, 402.0, 421.2, 402.8, 420.5, 402.3, 403.3, 378.7, 397.1, 380.0,
-369.4, 367.2, 381.9, 411.1, 387.8, 405.9, 390.0, 399.5, 393.7, 400.8,
-407.1, 401.5, 415.5, 395.5, 420.5, 402.3, 421.2, 402.8, 422.1, 402.0,
-422.4, 402.4, 424.0, 404.3, 428.6, 401.2, 429.5, 402.8, 432.1, 404.9,
-437.5, 403.4, 437.6, 403.3, 439.2, 403.4, 440.7, 403.7, 440.8, 403.5,
-436.2, 422.4, 436.2, 422.4, 431.6, 441.3, 431.6, 441.2, 431.5, 441.2,
-431.3, 441.1, 421.1, 434.9, 421.1, 434.9, 410.9, 428.7, 396.4, 419.9,
-389.8, 423.9, 381.9, 411.1, 226.5, 544.9, 227.1, 537.3, 227.1, 537.3,
-227.6, 529.8, 242.2, 506.7, 239.7, 505.1, 251.8, 480.4, 251.0, 482.0,
-251.2, 482.0, 250.5, 483.7, 242.6, 503.9, 242.6, 503.9, 234.6, 524.2,
-230.6, 534.6, 234.1, 539.0, 226.5, 544.9, 68.6, 177.8, 85.9, 216.5,
-115.4, 232.0, 103.2, 255.3, 104.5, 259.8, 104.5, 259.8, 105.7, 264.3,
-105.7, 264.1, 105.7, 264.1, 105.6, 264.0, 103.7, 259.7, 103.7, 259.7,
-101.9, 255.4, 85.3, 216.6, 82.1, 176.7, 68.6, 177.8, 685.5, 569.3,
-683.3, 569.5, 683.3, 569.5, 681.0, 569.7, 673.6, 557.2, 671.3, 558.6,
-661.6, 547.5, 672.6, 546.6, 674.9, 557.2, 685.5, 569.3, 702.7, 480.0,
-702.5, 483.1, 702.5, 483.1, 702.3, 486.2, 700.5, 484.1, 694.7, 489.0,
-687.0, 491.8, 687.5, 485.4, 693.9, 483.3, 702.7, 480.0, 857.0, 143.8,
-836.9, 149.9, 832.1, 143.9, 816.9, 156.1, 811.6, 152.0, 811.6, 152.0,
-806.2, 148.0, 830.0, 140.7, 841.8, 132.4, 857.0, 143.8, 792.8, 174.5,
-792.8, 174.5, 795.0, 176.8, 797.2, 179.1, 799.7, 181.7, 799.7, 181.7,
-802.1, 184.2, 802.4, 184.5, 802.4, 184.5, 802.7, 184.8, 809.4, 191.8,
-809.4, 191.8, 816.1, 198.8, 816.8, 199.5, 816.8, 199.5, 817.5, 200.3,
-850.9, 235.1, 853.6, 232.9, 884.2, 269.9, 875.7, 265.1, 875.7, 265.1,
-867.2, 260.3, 832.9, 224.5, 835.0, 222.5, 802.7, 184.8, 802.4, 184.5,
-802.4, 184.5, 802.1, 184.2, 799.7, 181.7, 799.7, 181.7, 797.2, 179.1,
-795.0, 176.8, 792.8, 174.5, 792.8, 174.5, 867.2, 260.3, 842.6, 246.4,
-842.6, 246.4, 817.9, 232.4, 799.6, 193.6, 800.5, 192.0, 774.9, 157.7,
-773.6, 155.2, 773.5, 155.3, 772.0, 152.8, 783.0, 163.0, 782.9, 163.3,
-792.8, 174.5, 830.4, 217.0, 845.6, 210.6, 867.2, 260.3, 797.2, 179.1,
-795.0, 176.8, 792.8, 174.5, 792.8, 174.5, 782.9, 163.3, 783.0, 163.0,
-772.0, 152.8, 768.7, 147.1, 766.1, 141.1, 765.4, 141.4, 766.5, 139.8,
-764.2, 135.2, 761.4, 134.3, 760.9, 134.2, 761.0, 133.7, 760.7, 133.2,
-767.4, 139.3, 771.4, 135.0, 782.2, 136.8, 798.9, 152.6, 801.2, 150.2,
-820.2, 163.7, 821.3, 166.9, 809.8, 174.1, 797.2, 179.1, 701.9, 194.3,
-712.7, 197.5, 715.9, 194.0, 723.5, 200.8, 762.4, 221.2, 762.4, 221.2,
-801.3, 241.7, 802.0, 241.9, 799.9, 248.5, 798.5, 255.3, 795.0, 256.8,
-792.7, 251.7, 787.0, 248.0, 786.8, 247.9, 786.8, 247.9, 786.5, 247.7,
-784.3, 246.3, 784.3, 246.3, 782.1, 244.9, 769.7, 237.1, 769.7, 237.1,
-757.4, 229.3, 757.4, 229.3, 757.4, 229.3, 757.4, 229.3, 729.6, 211.8,
-726.8, 215.2, 701.9, 194.3, 626.8, 212.0, 636.0, 225.9, 636.5, 225.5,
-645.8, 239.4, 667.0, 268.4, 665.7, 269.4, 685.6, 299.3, 655.5, 256.1,
-655.9, 255.9, 626.8, 212.0, 635.9, 116.5, 646.2, 125.1, 646.2, 125.1,
-656.5, 133.7, 657.2, 142.1, 662.6, 141.6, 668.8, 149.5, 643.8, 135.2,
-622.3, 122.5, 612.2, 132.4, 593.2, 121.1, 593.2, 121.1, 574.2, 109.7,
-572.8, 107.4, 572.2, 107.5, 569.8, 106.0, 580.0, 103.8, 580.0, 103.8,
-590.2, 101.6, 613.7, 105.4, 614.5, 106.1, 635.9, 116.5, 590.2, 101.6,
-600.3, 99.5, 600.3, 99.5, 610.4, 97.3, 613.6, 104.6, 618.0, 102.6,
-625.6, 107.8, 631.3, 111.2, 630.8, 112.2, 635.9, 116.5, 614.5, 106.1,
-613.7, 105.4, 590.2, 101.6, 499.3, 193.9, 476.5, 183.3, 477.3, 175.2,
-453.6, 172.7, 441.0, 164.6, 441.0, 164.6, 428.4, 156.5, 457.3, 169.0,
-456.3, 171.2, 484.2, 186.0, 491.8, 189.9, 491.5, 190.5, 499.3, 193.9,
-601.4, 22.8, 597.4, 24.3, 593.3, 25.3, 593.4, 25.8, 591.9, 23.2,
-590.0, 21.0, 590.4, 20.7, 590.7, 20.3, 589.6, 19.4, 588.8, 18.1,
-595.3, 19.3, 598.7, 18.3, 601.4, 22.8, 276.3, 70.7, 278.0, 72.0,
-278.0, 72.0, 279.7, 73.4, 271.5, 101.4, 273.7, 102.0, 267.7, 130.7,
-255.6, 120.9, 270.1, 100.3, 276.3, 70.7, 349.7, 186.4, 349.6, 188.2,
-349.1, 188.4, 349.5, 190.1, 343.1, 173.1, 346.6, 170.8, 336.8, 156.0,
-330.5, 139.2, 331.3, 138.9, 324.3, 122.5, 337.7, 154.1, 337.7, 154.2,
-349.7, 186.4, 335.3, 168.8, 332.6, 191.9, 330.5, 191.8, 329.9, 214.9,
-320.4, 186.5, 320.4, 186.5, 310.9, 158.1, 305.7, 151.6, 309.6, 148.5,
-308.3, 138.9, 325.1, 146.3, 330.3, 151.4, 335.3, 168.8, 308.3, 138.9,
-306.7, 127.1, 310.9, 124.6, 305.2, 115.3, 310.1, 106.4, 310.1, 106.4,
-315.0, 97.6, 323.2, 100.7, 319.7, 110.0, 324.3, 122.5, 331.3, 138.9,
-330.5, 139.2, 336.8, 156.0, 339.5, 160.1, 336.0, 162.4, 335.3, 168.8,
-330.3, 151.4, 325.1, 146.3, 308.3, 138.9, 263.7, 336.2, 263.7, 337.9,
-263.6, 339.6, 263.7, 339.6, 230.6, 368.8, 230.6, 368.8, 197.4, 398.0,
-195.3, 395.7, 191.7, 394.9, 190.1, 396.4, 202.0, 375.3, 211.2, 376.4,
-213.9, 354.1, 213.9, 354.1, 214.0, 354.0, 214.0, 353.9, 238.8, 344.9,
-238.4, 343.4, 263.7, 336.2, 214.0, 353.9, 226.4, 331.9, 237.8, 332.4,
-238.9, 309.9, 240.5, 309.0, 240.7, 308.1, 241.0, 306.0, 252.2, 300.0,
-252.2, 300.0, 263.4, 293.9, 259.6, 314.3, 263.6, 315.1, 263.7, 336.2,
-238.4, 343.4, 238.8, 344.9, 214.0, 353.9, 150.0, 380.7, 152.0, 345.3,
-158.2, 344.5, 154.0, 309.9, 154.8, 305.8, 154.8, 305.8, 155.7, 301.6,
-155.8, 301.9, 157.5, 301.0, 159.2, 300.4, 157.2, 333.4, 155.5, 333.2,
-151.7, 366.1, 150.8, 373.4, 150.3, 373.4, 150.0, 380.7, 591.4, 653.9,
-591.6, 653.5, 589.9, 652.7, 590.1, 652.2, 603.5, 638.6, 598.3, 633.5,
-606.6, 614.7, 616.8, 600.2, 615.0, 598.9, 623.3, 583.1, 612.9, 586.0,
-616.4, 598.5, 609.4, 614.0, 600.4, 633.9, 601.3, 634.3, 591.4, 653.9,
-607.0, 580.0, 599.4, 593.4, 587.9, 600.6, 591.8, 606.9, 583.9, 614.2,
-586.2, 616.8, 580.6, 626.7, 575.6, 621.5, 580.0, 612.0, 586.2, 601.1,
-593.2, 588.6, 607.2, 580.2, 607.0, 580.0, 586.2, 601.1, 582.8, 599.4,
-589.3, 586.8, 592.4, 572.5, 593.4, 567.5, 593.4, 567.5, 594.5, 562.6,
-599.8, 538.4, 599.8, 538.4, 605.0, 514.1, 605.3, 512.9, 605.8, 511.8,
-605.6, 511.6, 620.6, 520.5, 620.6, 520.5, 635.6, 529.4, 618.1, 552.2,
-621.3, 554.7, 607.0, 580.0, 607.2, 580.2, 593.2, 588.6, 586.2, 601.1,
-523.8, 737.3, 526.4, 716.5, 526.4, 716.5, 529.0, 695.8, 528.6, 697.6,
-530.3, 697.9, 531.6, 700.1, 538.0, 710.4, 538.1, 710.3, 544.4, 720.7,
-544.4, 720.7, 544.4, 720.7, 544.4, 720.7, 534.1, 729.0, 523.0, 735.9,
-523.8, 737.3, 573.1, 676.7, 567.3, 670.3, 574.9, 663.4, 576.6, 650.0,
-576.6, 649.8, 576.6, 649.8, 576.7, 649.6, 577.5, 643.4, 575.7, 642.6,
-578.3, 637.3, 579.6, 639.0, 579.6, 639.0, 580.9, 640.6, 581.0, 646.3,
-579.7, 646.3, 578.4, 652.1, 575.8, 664.4, 568.2, 671.3, 573.1, 676.7,
-536.3, 636.7, 537.3, 627.8, 537.3, 627.8, 538.4, 619.0, 537.6, 618.0,
-551.4, 612.5, 552.4, 604.6, 552.6, 604.5, 553.8, 606.4, 555.2, 608.1,
-563.2, 618.2, 573.3, 624.9, 571.1, 628.3, 563.9, 639.2, 551.3, 641.0,
-536.3, 636.7, 549.3, 443.5, 552.8, 465.2, 544.2, 472.5, 556.3, 486.9,
-555.7, 487.9, 555.3, 487.8, 555.0, 488.9, 553.7, 495.1, 551.2, 494.6,
-547.5, 500.3, 547.7, 500.0, 547.5, 499.8, 547.5, 499.4, 547.6, 497.4,
-547.6, 497.4, 547.6, 495.4, 547.8, 490.8, 547.8, 490.8, 547.9, 486.2,
-548.0, 483.4, 548.0, 483.4, 548.1, 480.6, 548.7, 462.0, 557.9, 450.1,
-549.3, 443.5, 517.0, 564.6, 517.0, 565.3, 516.8, 566.1, 517.0, 566.1,
-516.1, 568.5, 516.1, 568.5, 515.2, 571.0, 514.3, 573.5, 514.3, 573.4,
-513.3, 575.9, 502.9, 609.6, 499.8, 608.6, 486.2, 641.2, 493.4, 624.6,
-492.9, 624.4, 499.7, 607.6, 508.3, 586.1, 508.0, 586.0, 517.0, 564.6,
-469.6, 385.7, 466.8, 389.5, 464.2, 393.4, 463.9, 393.2, 459.0, 391.3,
-455.0, 392.5, 454.1, 389.4, 452.7, 386.4, 452.7, 386.4, 451.3, 383.3,
-452.5, 381.9, 454.8, 383.8, 458.3, 384.2, 463.9, 385.0, 467.7, 382.6,
-469.6, 385.7, 396.3, 586.8, 397.2, 582.8, 397.3, 582.8, 398.2, 578.9,
-398.4, 578.1, 398.4, 578.1, 398.6, 577.3, 409.8, 571.4, 405.2, 559.0,
-407.6, 540.2, 413.0, 527.4, 419.1, 522.3, 414.3, 512.8, 411.6, 510.8,
-416.2, 504.6, 418.2, 496.4, 418.2, 496.4, 418.3, 496.4, 418.3, 496.4,
-419.0, 502.7, 419.0, 502.7, 419.7, 509.1, 410.4, 547.4, 408.3, 546.9,
-396.9, 584.7, 396.6, 585.7, 396.5, 585.7, 396.3, 586.8, 406.5, 715.6,
-406.9, 710.5, 406.9, 710.5, 407.3, 705.4, 414.6, 682.2, 422.2, 683.1,
-424.1, 659.7, 421.7, 688.2, 416.6, 688.1, 406.5, 715.6, 425.5, 707.4,
-429.7, 691.9, 428.8, 691.6, 432.1, 675.9, 441.2, 632.3, 440.7, 632.2,
-450.2, 588.8, 451.5, 585.3, 452.2, 585.4, 452.8, 581.9, 453.1, 588.3,
-453.1, 588.3, 453.5, 594.6, 451.7, 607.4, 450.4, 607.2, 447.3, 619.8,
-436.4, 663.6, 437.3, 663.9, 425.5, 707.4, 421.8, 600.0, 432.1, 526.1,
-432.1, 526.1, 442.5, 452.2, 442.2, 498.2, 443.0, 498.2, 443.6, 544.2,
-443.5, 549.1, 441.7, 549.1, 439.7, 554.0, 430.8, 577.0, 422.4, 576.8,
-421.8, 600.0, 450.1, 848.6, 452.0, 854.6, 455.4, 855.6, 453.9, 860.5,
-453.3, 865.0, 453.3, 865.0, 452.6, 869.4, 442.1, 862.3, 444.4, 858.9,
-436.1, 848.5, 428.4, 838.7, 428.5, 829.0, 420.7, 828.9, 435.5, 829.1,
-437.5, 836.6, 450.1, 848.6, 365.7, 852.2, 362.7, 811.2, 363.7, 811.1,
-359.7, 770.2, 360.0, 767.1, 360.0, 767.1, 360.3, 764.1, 361.6, 774.6,
-361.0, 774.7, 361.6, 785.4, 363.7, 818.8, 361.5, 819.0, 365.7, 852.2,
-444.9, 882.7, 427.4, 888.3, 425.7, 884.8, 406.6, 883.8, 405.1, 880.8,
-402.4, 882.1, 398.3, 880.4, 394.0, 872.0, 396.6, 870.7, 395.0, 861.0,
-392.2, 844.6, 396.7, 830.6, 389.3, 828.2, 417.3, 837.2, 412.8, 851.2,
-436.3, 874.3, 440.6, 878.5, 442.2, 883.6, 444.9, 882.7, 416.0, 171.3,
-416.1, 171.1, 416.3, 171.1, 416.3, 171.0, 417.8, 183.6, 417.8, 183.6,
-419.4, 196.3, 421.3, 210.6, 421.0, 210.6, 422.5, 225.0, 417.7, 260.8,
-417.2, 261.1, 417.5, 297.2, 417.2, 296.7, 417.2, 296.7, 416.8, 296.1,
-416.0, 242.1, 416.4, 242.1, 416.1, 188.1, 416.0, 179.7, 415.9, 179.7,
-416.0, 171.3, 346.4, 641.2, 353.1, 634.7, 353.5, 635.0, 359.8, 628.3,
-359.0, 628.9, 359.6, 629.7, 359.5, 631.2, 359.1, 633.6, 359.1, 633.6,
-358.8, 636.1, 358.4, 641.9, 355.7, 641.6, 355.0, 647.4, 355.3, 654.7,
-350.7, 654.7, 349.9, 662.3, 349.7, 664.6, 349.1, 664.5, 348.4, 666.8,
-346.5, 658.6, 347.7, 658.4, 347.1, 650.0, 346.8, 645.6, 344.6, 644.3,
-346.4, 641.2, 261.3, 688.3, 264.5, 698.4, 267.0, 702.9, 262.0, 710.4,
-244.4, 725.4, 243.2, 724.1, 226.8, 740.4, 233.3, 701.6, 239.0, 701.7,
-239.8, 662.8, 243.6, 657.0, 241.0, 655.3, 242.3, 647.9, 256.2, 664.4,
-254.6, 667.2, 261.3, 688.3, 242.3, 647.9, 247.6, 616.0, 247.6, 616.0,
-252.9, 584.1, 253.8, 609.7, 270.6, 620.2, 259.5, 635.1, 259.7, 636.7,
-259.6, 636.7, 259.6, 638.3, 260.0, 649.2, 260.0, 649.2, 260.4, 660.1,
-260.4, 662.7, 260.4, 662.7, 260.5, 665.3, 260.8, 672.8, 260.8, 672.8,
-261.0, 680.4, 261.2, 684.4, 259.5, 685.3, 261.3, 688.3, 254.6, 667.2,
-256.2, 664.4, 242.3, 647.9, 306.5, 803.3, 314.5, 784.8, 318.0, 785.6,
-322.6, 766.3, 330.7, 778.5, 327.5, 784.7, 338.9, 790.7, 338.4, 794.6,
-338.4, 794.6, 337.9, 798.5, 323.4, 804.1, 308.4, 807.4, 306.5, 803.3,
-337.9, 798.5, 337.2, 803.9, 337.2, 803.9, 336.5, 809.4, 321.1, 829.8,
-319.0, 828.2, 301.5, 847.1, 290.0, 859.4, 292.5, 867.4, 278.5, 871.8,
-284.4, 870.0, 281.3, 861.8, 285.2, 852.2, 291.3, 826.7, 295.8, 827.8,
-306.5, 803.3, 308.4, 807.4, 323.4, 804.1, 337.9, 798.5, 301.5, 847.1,
-319.0, 828.2, 321.1, 829.8, 336.5, 809.4, 333.6, 832.1, 337.9, 833.6,
-330.6, 854.9, 330.0, 857.6, 330.6, 857.7, 329.9, 860.4, 329.5, 862.2,
-329.5, 862.2, 329.0, 864.1, 314.4, 857.3, 300.6, 853.6, 301.5, 847.1,
-329.0, 864.1, 326.7, 873.5, 320.9, 879.5, 324.4, 882.9, 302.3, 890.3,
-299.7, 883.1, 275.0, 882.2, 275.2, 882.2, 275.2, 881.7, 275.3, 881.2,
-276.9, 876.5, 275.7, 875.5, 278.5, 871.8, 292.5, 867.4, 290.0, 859.4,
-301.5, 847.1, 300.6, 853.6, 314.4, 857.3, 329.0, 864.1, 398.2, 578.9,
-397.3, 582.8, 397.2, 582.8, 396.3, 586.8, 394.8, 593.0, 394.8, 593.0,
-393.3, 599.3, 389.1, 616.4, 395.5, 622.4, 385.0, 633.5, 378.5, 627.5,
-373.8, 632.5, 362.7, 631.5, 369.7, 602.6, 379.2, 604.2, 398.2, 578.9,
-362.7, 631.5, 361.1, 631.4, 359.8, 632.0, 359.5, 631.2, 359.5, 631.2,
-359.5, 631.2, 359.5, 631.2, 359.6, 629.7, 359.0, 628.9, 359.8, 628.3,
-360.2, 627.9, 359.6, 627.2, 360.0, 626.8, 360.5, 623.2, 360.5, 623.2,
-361.0, 619.6, 368.6, 590.3, 364.9, 589.4, 368.8, 559.1, 370.2, 560.5,
-373.0, 558.1, 377.0, 556.3, 387.8, 566.8, 394.5, 579.5, 398.6, 577.3,
-398.4, 578.1, 398.4, 578.1, 398.2, 578.9, 379.2, 604.2, 369.7, 602.6,
-362.7, 631.5, 374.9, 477.0, 387.8, 504.4, 387.8, 504.4, 400.7, 531.7,
-394.3, 526.7, 393.3, 527.9, 386.0, 524.0, 351.5, 518.3, 353.7, 505.1,
-321.3, 486.1, 322.1, 486.6, 322.6, 485.9, 323.8, 485.7, 332.3, 484.2,
-332.3, 484.2, 340.7, 482.8, 347.2, 481.7, 347.2, 481.7, 353.6, 480.6,
-364.3, 478.8, 371.0, 472.7, 374.9, 477.0, 430.0, 397.2, 420.7, 389.6,
-410.7, 388.7, 411.3, 382.1, 406.3, 376.3, 404.8, 377.1, 401.3, 370.6,
-396.6, 363.6, 396.6, 363.6, 392.0, 356.6, 406.4, 368.4, 404.9, 370.3,
-417.7, 384.1, 423.9, 390.6, 422.5, 394.9, 430.0, 397.2, 312.7, 349.7,
-319.1, 335.8, 319.1, 335.8, 325.6, 322.0, 330.1, 331.7, 331.6, 331.0,
-337.7, 340.1, 333.6, 348.9, 314.3, 352.2, 312.7, 349.7, 426.6, 461.9,
-423.9, 473.2, 422.3, 473.1, 421.1, 484.6, 421.1, 486.1, 420.7, 486.1,
-420.4, 487.6, 419.3, 484.4, 417.0, 485.2, 413.7, 482.7, 388.8, 467.8,
-390.8, 464.5, 367.9, 446.3, 367.7, 447.2, 393.4, 453.0, 418.9, 459.8,
-422.7, 460.9, 426.5, 460.5, 426.6, 461.9, 236.0, 594.4, 228.0, 614.6,
-225.6, 614.0, 220.0, 634.9, 220.3, 631.4, 219.5, 628.1, 220.5, 627.8,
-225.4, 586.6, 223.5, 586.4, 226.5, 544.9, 234.1, 539.0, 230.6, 534.6,
-234.6, 524.2, 241.1, 558.2, 240.5, 560.0, 236.0, 594.4, 77.2, 274.3,
-70.8, 259.9, 70.8, 259.9, 64.3, 245.5, 66.4, 226.4, 65.1, 226.2,
-65.9, 206.9, 64.9, 213.5, 67.1, 213.8, 68.2, 220.7, 71.9, 242.5,
-71.9, 242.5, 75.5, 264.2, 76.4, 269.2, 74.8, 270.2, 77.2, 274.3,
-689.5, 513.1, 695.2, 510.7, 698.8, 512.4, 700.8, 508.2, 700.3, 515.6,
-700.3, 515.6, 699.8, 523.1, 697.3, 524.2, 689.2, 517.7, 689.5, 513.1,
-699.8, 523.1, 698.6, 542.0, 694.3, 542.7, 697.3, 560.8, 695.3, 564.7,
-692.5, 565.5, 693.3, 568.6, 689.4, 569.0, 689.4, 569.0, 685.5, 569.3,
-674.9, 557.2, 672.6, 546.6, 661.6, 547.5, 659.2, 544.7, 658.6, 545.0,
-656.7, 541.9, 653.1, 536.2, 653.0, 536.3, 649.4, 530.7, 670.2, 528.0,
-669.4, 521.9, 689.5, 513.1, 689.2, 517.7, 697.3, 524.2, 699.8, 523.1,
-640.6, 486.8, 641.1, 482.9, 641.1, 482.9, 641.5, 479.0, 665.1, 466.5,
-665.8, 463.1, 691.8, 459.8, 696.3, 465.5, 696.3, 465.5, 700.8, 471.3,
-700.6, 474.2, 701.0, 474.9, 702.9, 477.3, 702.8, 478.7, 702.8, 478.7,
-702.7, 480.0, 693.9, 483.3, 687.5, 485.4, 687.0, 491.8, 677.4, 495.4,
-677.4, 495.4, 667.8, 498.9, 653.7, 497.4, 652.1, 495.6, 640.6, 486.8,
-667.8, 498.9, 652.8, 504.4, 652.4, 503.5, 637.8, 510.0, 638.1, 507.7,
-638.4, 507.7, 638.3, 505.4, 635.1, 498.0, 639.5, 496.1, 640.6, 486.8,
-652.1, 495.6, 653.7, 497.4, 667.8, 498.9, 784.9, 126.3, 772.6, 107.4,
-777.7, 99.6, 760.4, 88.4, 767.7, 87.7, 771.2, 83.6, 775.0, 86.9,
-813.2, 104.8, 813.2, 104.8, 851.4, 122.6, 849.9, 116.6, 813.4, 137.1,
-784.9, 126.3, 851.4, 122.6, 854.5, 124.1, 854.9, 123.5, 857.5, 125.5,
-863.1, 129.5, 863.2, 129.3, 868.7, 133.4, 872.0, 135.8, 872.0, 135.8,
-875.3, 138.2, 868.0, 135.7, 866.1, 141.0, 857.0, 143.8, 841.8, 132.4,
-830.0, 140.7, 806.2, 148.0, 800.0, 143.3, 800.7, 141.9, 793.9, 138.7,
-792.8, 138.7, 792.9, 137.9, 791.8, 137.2, 786.9, 134.1, 788.4, 131.7,
-784.9, 126.3, 813.4, 137.1, 849.9, 116.6, 851.4, 122.6, 921.4, 271.7,
-918.0, 273.4, 914.5, 273.9, 914.7, 275.0, 914.9, 275.8, 907.1, 277.0,
-907.2, 278.6, 907.3, 278.8, 905.1, 279.6, 903.1, 280.6, 902.5, 281.0,
-901.6, 279.7, 900.1, 278.9, 910.2, 274.1, 910.6, 274.7, 921.4, 271.7,
-773.0, 328.8, 748.5, 323.3, 748.1, 316.3, 724.0, 317.9, 720.6, 314.2,
-720.6, 314.2, 717.1, 310.4, 741.1, 315.2, 740.5, 318.1, 763.9, 325.8,
-768.5, 327.3, 768.4, 327.9, 773.0, 328.8, 787.0, 248.0, 792.7, 251.7,
-795.0, 256.8, 798.5, 255.3, 796.8, 263.4, 794.1, 271.2, 795.1, 271.6,
-793.4, 271.7, 791.4, 277.9, 792.6, 283.1, 788.8, 283.1, 789.0, 300.4,
-785.4, 317.7, 785.5, 317.1, 784.0, 316.8, 784.0, 315.9, 783.8, 302.9,
-784.5, 302.9, 785.1, 289.9, 786.1, 269.0, 779.8, 266.6, 787.0, 248.0,
-673.5, 315.8, 659.5, 298.6, 659.5, 298.6, 645.4, 281.4, 632.5, 255.7,
-631.1, 256.4, 615.8, 231.9, 605.0, 210.3, 611.0, 203.2, 594.1, 188.7,
-592.9, 180.0, 592.1, 178.0, 585.7, 172.0, 581.2, 168.9, 582.9, 166.5,
-580.1, 161.0, 591.5, 174.3, 591.9, 173.9, 603.8, 186.8, 616.0, 204.4,
-614.0, 205.7, 624.2, 224.7, 638.5, 251.0, 638.5, 251.0, 652.8, 277.4,
-663.2, 296.6, 673.6, 315.7, 673.5, 315.8, 478.7, 141.4, 501.3, 162.4,
-497.6, 169.5, 523.9, 183.4, 524.4, 183.1, 525.3, 184.7, 526.7, 186.0,
-533.2, 191.2, 531.9, 192.8, 537.0, 199.6, 526.3, 193.5, 528.0, 190.6,
-519.0, 181.6, 498.8, 161.5, 503.0, 150.3, 478.7, 141.4, 620.1, -35.4,
-624.7, -11.6, 619.7, -9.4, 629.3, 12.3, 624.8, 14.0, 624.8, 14.0,
-620.2, 15.7, 617.8, 13.9, 620.2, 10.6, 620.2, 5.5, 620.1, -14.9,
-629.9, -28.1, 620.1, -35.4, 250.6, 110.4, 253.5, 96.5, 253.0, 96.4,
-256.4, 82.5, 257.2, 79.3, 257.0, 79.3, 257.9, 76.1, 260.2, 67.8,
-260.2, 67.8, 262.6, 59.6, 263.8, 66.2, 269.4, 65.1, 276.3, 70.7,
-270.1, 100.3, 255.6, 120.9, 267.7, 130.7, 265.7, 140.4, 265.7, 140.4,
-263.7, 150.1, 251.1, 135.4, 252.7, 130.8, 250.6, 110.4, 263.7, 150.1,
-261.1, 162.6, 257.9, 162.7, 258.5, 175.0, 249.7, 165.6, 249.7, 165.6,
-240.9, 156.3, 246.6, 133.6, 245.7, 133.4, 250.6, 110.4, 252.7, 130.8,
-251.1, 135.4, 263.7, 150.1, 326.0, 83.2, 339.5, 82.3, 343.1, 87.8,
-353.0, 81.4, 353.5, 89.0, 353.5, 89.0, 353.9, 96.6, 351.1, 135.1,
-352.1, 135.2, 350.3, 173.8, 322.8, 160.6, 324.7, 128.1, 326.0, 83.2,
-350.3, 173.8, 350.0, 180.1, 350.0, 180.1, 349.7, 186.4, 337.7, 154.2,
-337.7, 154.1, 324.3, 122.5, 319.7, 110.0, 323.2, 100.7, 315.0, 97.6,
-319.0, 90.5, 325.0, 87.7, 323.0, 83.4, 324.5, 83.3, 324.5, 83.3,
-326.0, 83.2, 324.7, 128.1, 322.8, 160.6, 350.3, 173.8, 172.0, 295.9,
-179.3, 293.3, 179.3, 293.3, 186.7, 290.7, 183.3, 295.7, 186.1, 297.6,
-185.4, 304.5, 180.8, 306.1, 171.6, 299.5, 172.0, 295.9, 602.3, 667.7,
-604.0, 664.1, 590.6, 659.9, 591.4, 653.9, 601.3, 634.3, 600.4, 633.9,
-609.4, 614.0, 609.2, 614.5, 609.3, 614.5, 609.3, 615.1, 609.3, 615.2,
-609.3, 615.2, 609.2, 615.2, 605.8, 641.4, 612.9, 644.7, 602.3, 667.7,
-662.7, 698.1, 662.6, 699.1, 661.9, 699.0, 661.0, 700.0, 658.8, 702.5,
-658.8, 702.5, 656.6, 705.1, 654.4, 707.5, 654.4, 707.5, 652.3, 710.0,
-647.9, 714.9, 648.2, 719.6, 643.6, 719.9, 640.3, 720.1, 637.3, 715.8,
-636.4, 710.8, 632.1, 687.1, 631.2, 686.3, 633.1, 662.4, 632.8, 666.0,
-636.4, 666.3, 639.6, 670.2, 647.5, 679.7, 647.5, 679.7, 655.4, 689.2,
-658.3, 692.8, 658.3, 692.8, 661.2, 696.3, 661.9, 697.2, 662.7, 697.2,
-662.7, 698.1, 555.2, 608.1, 553.8, 606.4, 552.6, 604.5, 552.4, 604.6,
-553.2, 598.7, 541.1, 592.1, 541.9, 591.3, 542.6, 585.6, 542.6, 585.6,
-543.2, 580.0, 552.4, 591.6, 549.9, 593.8, 555.2, 608.1, 561.8, 494.2,
-562.8, 490.6, 562.8, 490.6, 563.8, 487.0, 564.1, 489.9, 568.0, 489.5,
-572.1, 491.9, 572.1, 492.7, 568.0, 492.8, 564.0, 493.7, 562.9, 493.9,
-561.8, 493.9, 561.8, 494.2, 544.4, 720.7, 544.4, 720.7, 544.4, 720.7,
-544.4, 720.7, 549.1, 728.1, 549.1, 728.1, 553.7, 735.5, 558.5, 743.3,
-558.5, 743.3, 563.4, 751.1, 568.5, 759.4, 574.8, 760.3, 573.7, 767.7,
-565.6, 772.1, 566.5, 773.6, 559.2, 779.4, 548.5, 769.2, 554.9, 762.5,
-550.7, 745.6, 547.5, 733.2, 547.5, 733.2, 544.4, 720.7, 589.1, 754.2,
-588.6, 757.8, 586.3, 757.5, 583.5, 760.9, 579.5, 765.7, 580.5, 767.1,
-575.5, 770.6, 575.8, 769.6, 573.8, 767.6, 573.7, 767.7, 574.8, 760.3,
-568.5, 759.4, 563.4, 751.1, 563.1, 714.0, 567.5, 713.8, 573.1, 676.7,
-568.2, 671.3, 575.8, 664.4, 578.4, 652.1, 575.3, 653.6, 579.5, 662.6,
-580.6, 673.2, 583.7, 702.7, 583.7, 702.7, 586.8, 732.3, 587.9, 743.2,
-590.3, 743.5, 589.1, 754.2, 531.4, 675.9, 533.8, 656.3, 533.8, 656.3,
-536.3, 636.7, 551.3, 641.0, 563.9, 639.2, 571.1, 628.3, 572.8, 628.1,
-573.1, 630.7, 575.0, 633.2, 575.6, 633.9, 575.6, 633.9, 576.1, 634.6,
-576.0, 635.8, 577.2, 636.0, 578.3, 637.3, 575.7, 642.6, 577.5, 643.4,
-576.7, 649.6, 571.0, 656.4, 568.5, 654.3, 560.3, 659.1, 545.9, 667.5,
-535.0, 679.2, 531.4, 675.9, 630.3, 847.0, 629.2, 849.3, 629.8, 849.8,
-628.1, 851.5, 623.9, 855.9, 624.5, 856.6, 619.8, 860.2, 609.4, 869.5,
-610.7, 874.4, 598.4, 878.2, 579.8, 884.0, 578.1, 879.9, 557.9, 879.4,
-557.7, 879.4, 557.6, 878.3, 557.4, 877.2, 591.6, 861.8, 592.0, 862.9,
-626.7, 848.5, 628.5, 847.7, 630.3, 846.9, 630.3, 847.0, 538.1, 445.8,
-538.5, 445.4, 538.5, 445.1, 539.0, 445.1, 540.4, 444.8, 541.1, 445.4,
-541.9, 444.6, 543.5, 442.4, 545.6, 443.9, 549.3, 443.3, 549.3, 443.3,
-549.3, 443.4, 549.3, 443.5, 557.9, 450.1, 548.7, 462.0, 548.1, 480.6,
-548.3, 478.7, 547.6, 478.7, 547.0, 476.8, 544.5, 467.9, 544.5, 467.9,
-541.9, 459.0, 540.7, 454.7, 540.7, 454.7, 539.5, 450.4, 538.8, 448.1,
-538.4, 448.1, 538.1, 445.8, 499.7, 607.6, 492.9, 624.4, 493.4, 624.6,
-486.2, 641.2, 479.6, 657.2, 478.0, 656.7, 472.9, 673.2, 459.6, 660.6,
-460.3, 644.6, 468.4, 624.5, 473.6, 611.8, 495.6, 603.8, 499.7, 607.6,
-468.4, 624.5, 468.3, 623.1, 468.3, 623.1, 468.2, 621.6, 468.1, 621.0,
-468.2, 621.0, 468.3, 620.3, 466.7, 616.9, 475.7, 614.6, 476.1, 608.4,
-497.1, 588.7, 503.3, 585.9, 508.7, 559.0, 509.0, 559.2, 512.5, 553.3,
-516.3, 547.5, 515.7, 548.6, 516.4, 549.0, 516.5, 550.4, 518.6, 551.0,
-516.7, 557.5, 517.0, 564.6, 508.0, 586.0, 508.3, 586.1, 499.7, 607.6,
-495.6, 603.8, 473.6, 611.8, 468.4, 624.5, 446.4, 372.4, 445.7, 370.9,
-445.1, 370.9, 445.0, 369.4, 444.8, 366.7, 444.8, 366.7, 444.5, 364.1,
-444.1, 362.0, 444.8, 361.9, 445.1, 359.6, 444.3, 355.2, 446.4, 354.8,
-447.8, 349.9, 448.9, 361.0, 448.0, 361.3, 446.4, 372.4, 191.5, 616.5,
-188.4, 624.7, 188.4, 624.7, 185.3, 632.9, 179.2, 628.3, 179.6, 619.8,
-183.2, 610.3, 182.7, 611.6, 191.2, 613.0, 191.5, 616.5, 183.2, 610.3,
-174.4, 552.3, 178.0, 551.8, 172.8, 493.4, 172.9, 493.2, 172.9, 493.2,
-172.9, 493.1, 178.5, 505.2, 179.3, 504.9, 185.8, 516.6, 190.9, 543.6,
-189.3, 545.5, 202.3, 569.3, 197.7, 591.0, 197.7, 591.0, 193.0, 612.6,
-192.7, 614.6, 192.3, 614.5, 191.5, 616.5, 191.2, 613.0, 182.7, 611.6,
-183.2, 610.3, 168.3, 506.7, 170.6, 500.0, 170.6, 500.0, 172.8, 493.4,
-178.0, 551.8, 174.4, 552.3, 183.2, 610.3, 179.6, 619.8, 179.2, 628.3,
-185.3, 632.9, 183.7, 636.8, 182.7, 636.7, 182.2, 640.8, 174.0, 627.6,
-163.2, 624.8, 165.9, 614.5, 165.1, 609.2, 165.1, 609.2, 164.4, 603.8,
-165.5, 555.2, 164.6, 555.1, 168.3, 506.7, 164.4, 603.8, 161.6, 583.3,
-161.6, 583.3, 158.8, 562.8, 159.4, 553.5, 160.5, 553.3, 159.2, 544.2,
-161.2, 532.8, 165.9, 522.6, 163.3, 521.4, 165.8, 514.0, 165.8, 514.0,
-168.3, 506.7, 164.6, 555.1, 165.5, 555.2, 164.4, 603.8, 403.1, 653.0,
-392.2, 650.9, 391.3, 646.7, 381.3, 648.8, 383.1, 641.1, 387.8, 636.1,
-385.0, 633.5, 395.5, 622.4, 389.1, 616.4, 393.3, 599.3, 408.9, 616.2,
-408.9, 628.7, 403.1, 653.0, 406.4, 715.8, 406.4, 715.7, 406.4, 715.7,
-406.5, 715.6, 416.6, 688.1, 421.7, 688.2, 424.1, 659.7, 430.8, 639.9,
-431.3, 640.1, 438.6, 620.5, 441.4, 612.6, 441.4, 612.6, 444.3, 604.8,
-443.2, 597.4, 447.3, 596.8, 450.2, 588.8, 440.7, 632.2, 441.2, 632.3,
-432.1, 675.9, 424.6, 697.5, 419.2, 695.7, 406.5, 715.6, 406.4, 715.7,
-406.4, 715.7, 406.4, 715.8, 432.1, 675.9, 428.8, 691.6, 429.7, 691.9,
-425.5, 707.4, 421.8, 725.3, 421.8, 725.3, 418.1, 743.1, 416.7, 749.7,
-416.7, 749.7, 415.4, 756.3, 414.9, 758.5, 413.6, 760.2, 414.4, 760.8,
-409.1, 754.3, 409.1, 754.3, 403.8, 747.8, 407.7, 747.1, 412.9, 726.6,
-406.2, 718.4, 406.0, 718.3, 406.3, 717.1, 406.4, 715.8, 418.8, 695.5,
-414.0, 683.8, 432.1, 675.9, 458.7, 682.6, 460.2, 708.3, 460.1, 708.3,
-461.7, 734.0, 463.1, 739.0, 458.0, 740.4, 454.2, 746.8, 450.4, 731.2,
-455.4, 730.0, 456.6, 713.1, 457.6, 697.9, 462.2, 696.8, 458.7, 682.6,
-439.7, 554.0, 441.7, 549.1, 443.5, 549.1, 443.6, 544.2, 444.0, 574.5,
-439.9, 575.1, 444.3, 604.8, 441.4, 612.6, 441.4, 612.6, 438.6, 620.5,
-435.6, 587.6, 437.6, 587.1, 439.7, 554.0, 438.6, 620.5, 431.3, 640.1,
-430.8, 639.9, 424.1, 659.7, 422.2, 683.1, 414.6, 682.2, 407.3, 705.4,
-407.5, 703.4, 407.5, 703.4, 407.6, 701.4, 413.1, 685.3, 410.4, 684.4,
-412.4, 667.3, 417.8, 633.8, 417.1, 633.6, 421.8, 600.0, 422.4, 576.8,
-430.8, 577.0, 439.7, 554.0, 437.6, 587.1, 435.6, 587.6, 438.6, 620.5,
-392.3, 792.8, 390.7, 784.7, 386.5, 785.5, 380.8, 778.2, 371.1, 765.9,
-366.9, 767.5, 361.4, 753.6, 362.4, 743.8, 362.4, 743.8, 363.4, 734.1,
-364.5, 737.8, 368.3, 736.6, 373.2, 739.2, 385.7, 764.5, 386.9, 765.2,
-392.3, 792.8, 395.0, 861.0, 396.6, 870.7, 394.0, 872.0, 398.3, 880.4,
-382.6, 873.9, 382.6, 873.9, 366.8, 867.4, 369.6, 865.9, 366.3, 859.8,
-365.7, 852.2, 361.5, 819.0, 363.7, 818.8, 361.6, 785.4, 387.3, 793.1,
-380.1, 822.5, 395.0, 861.0, 361.6, 785.4, 361.0, 774.7, 361.6, 774.6,
-360.3, 764.1, 360.9, 758.8, 360.9, 758.8, 361.4, 753.6, 366.9, 767.5,
-371.1, 765.9, 380.8, 778.2, 389.5, 801.5, 385.1, 803.2, 389.3, 828.2,
-396.7, 830.6, 392.2, 844.6, 395.0, 861.0, 380.1, 822.5, 387.3, 793.1,
-361.6, 785.4, 436.3, 874.3, 412.8, 851.2, 417.3, 837.2, 389.3, 828.2,
-385.1, 803.2, 389.5, 801.5, 380.8, 778.2, 386.5, 785.5, 390.7, 784.7,
-392.3, 792.8, 393.5, 794.3, 393.5, 794.3, 394.7, 795.9, 407.7, 812.4,
-407.7, 812.4, 420.7, 828.9, 428.5, 829.0, 428.4, 838.7, 436.1, 848.5,
-440.1, 860.0, 431.5, 872.2, 436.3, 874.3, 436.1, 848.5, 444.4, 858.9,
-442.1, 862.3, 452.6, 869.4, 451.9, 874.1, 452.4, 874.2, 451.3, 878.7,
-450.8, 880.6, 450.5, 882.6, 450.3, 882.5, 448.4, 883.8, 446.9, 883.9,
-444.9, 882.7, 442.2, 883.6, 440.6, 878.5, 436.3, 874.3, 431.5, 872.2,
-440.1, 860.0, 436.1, 848.5, 383.8, 232.7, 386.1, 216.4, 392.4, 214.6,
-388.3, 200.2, 389.4, 199.1, 389.4, 199.1, 390.4, 198.0, 388.0, 215.4,
-394.0, 221.9, 383.8, 232.7, 284.3, 466.1, 288.2, 469.9, 287.7, 470.6,
-292.1, 473.7, 296.3, 475.1, 295.0, 478.2, 299.2, 480.6, 316.5, 484.7,
-314.1, 495.1, 329.0, 509.6, 330.1, 511.2, 327.3, 513.3, 325.6, 516.9,
-320.7, 527.7, 323.9, 534.9, 315.8, 538.5, 315.8, 538.5, 312.6, 531.3,
-309.5, 524.1, 301.1, 504.9, 301.1, 504.9, 292.8, 485.6, 288.5, 475.9,
-284.9, 476.1, 284.3, 466.1, 358.5, 448.9, 362.0, 453.0, 362.0, 453.0,
-365.6, 457.1, 373.1, 463.9, 370.3, 467.0, 374.9, 477.0, 371.0, 472.7,
-364.3, 478.8, 353.6, 480.6, 349.6, 477.1, 355.1, 470.8, 356.6, 461.0,
-357.2, 457.1, 357.2, 457.1, 357.8, 453.2, 358.1, 451.1, 359.1, 449.2,
-358.5, 448.9, 417.7, 384.1, 404.9, 370.3, 406.4, 368.4, 392.0, 356.6,
-390.1, 353.7, 388.6, 350.6, 388.2, 350.8, 389.5, 348.0, 386.2, 343.5,
-381.6, 341.0, 375.3, 339.9, 376.4, 333.1, 371.2, 325.2, 375.1, 328.5,
-377.6, 325.6, 384.0, 325.9, 401.6, 337.3, 403.5, 340.5, 423.8, 341.6,
-424.2, 342.3, 424.2, 342.3, 424.7, 343.1, 421.8, 363.6, 427.9, 379.8,
-417.7, 384.1, 424.7, 343.1, 432.4, 355.7, 432.0, 356.0, 440.0, 368.4,
-440.9, 383.7, 440.9, 383.7, 441.8, 399.1, 442.4, 401.0, 441.3, 401.3,
-440.8, 403.5, 440.7, 403.7, 439.2, 403.4, 437.6, 403.3, 437.8, 400.6,
-433.8, 400.3, 430.0, 397.2, 422.5, 394.9, 423.9, 390.6, 417.7, 384.1,
-427.9, 379.8, 421.8, 363.6, 424.7, 343.1, 355.4, 366.8, 358.1, 370.8,
-357.9, 374.7, 360.7, 374.8, 352.1, 382.3, 352.1, 382.3, 343.5, 389.8,
-340.0, 384.6, 346.3, 374.7, 355.4, 366.8, 418.9, 459.8, 393.4, 453.0,
-367.7, 447.2, 367.9, 446.3, 366.7, 445.3, 366.7, 445.3, 365.4, 444.3,
-365.4, 444.7, 366.6, 444.6, 367.8, 445.0, 393.3, 452.4, 417.7, 449.6,
-418.9, 459.8, 262.9, 486.8, 261.9, 491.5, 261.0, 496.3, 261.0, 496.3,
-259.6, 503.2, 259.6, 503.2, 258.1, 510.1, 259.7, 503.9, 259.4, 503.9,
-260.7, 497.6, 261.8, 492.2, 261.5, 492.1, 262.9, 486.8, 118.7, 318.3,
-119.2, 321.0, 119.2, 321.0, 119.8, 323.7, 122.1, 325.8, 107.3, 335.3,
-108.8, 344.5, 106.6, 339.6, 106.6, 339.6, 104.4, 334.7, 106.1, 328.2,
-109.4, 329.0, 114.3, 323.3, 116.5, 320.8, 116.7, 318.2, 118.7, 318.3,
-925.0, 270.0, 923.2, 270.9, 923.2, 270.9, 921.4, 271.7, 910.6, 274.7,
-910.2, 274.1, 900.1, 278.9, 892.2, 274.4, 892.2, 274.4, 884.2, 269.9,
-853.6, 232.9, 850.9, 235.1, 817.5, 200.3, 861.1, 193.4, 867.2, 232.5,
-916.9, 264.8, 921.0, 267.4, 922.6, 266.3, 925.0, 270.0, 704.8, 239.4,
-704.8, 239.2, 714.5, 236.3, 722.0, 239.1, 727.1, 241.1, 726.0, 244.0,
-729.9, 248.9, 747.4, 270.5, 766.2, 271.9, 764.8, 292.2, 765.0, 289.6,
-744.5, 291.9, 727.4, 284.4, 723.0, 282.4, 724.6, 278.8, 721.8, 273.1,
-713.3, 256.2, 704.7, 256.2, 704.8, 239.4, 666.3, 239.8, 663.2, 236.4,
-657.8, 242.9, 652.5, 240.0, 645.6, 232.5, 645.6, 232.5, 638.7, 224.9,
-652.4, 224.8, 656.3, 228.9, 666.3, 239.8, 773.6, 303.1, 775.2, 302.3,
-778.8, 309.5, 784.0, 315.9, 784.0, 316.8, 785.5, 317.1, 785.4, 317.7,
-785.1, 318.9, 784.8, 320.1, 784.9, 320.1, 781.7, 321.8, 783.7, 325.5,
-782.6, 330.9, 778.5, 328.6, 777.8, 329.9, 773.0, 328.8, 768.4, 327.9,
-768.5, 327.3, 763.9, 325.8, 764.2, 314.4, 765.2, 307.2, 773.6, 303.1,
-697.2, 208.4, 686.5, 202.6, 682.2, 199.0, 680.7, 187.9, 687.8, 190.0,
-690.8, 194.8, 695.0, 192.2, 697.4, 194.4, 698.4, 193.2, 701.9, 194.3,
-726.8, 215.2, 729.6, 211.8, 757.4, 229.3, 757.5, 228.9, 724.9, 223.3,
-697.2, 208.4, 624.2, 224.7, 614.0, 205.7, 616.0, 204.4, 603.8, 186.8,
-608.6, 192.1, 608.6, 192.1, 613.4, 197.3, 620.3, 210.2, 614.9, 214.5,
-624.2, 224.7, 484.2, 186.0, 456.3, 171.2, 457.3, 169.0, 428.4, 156.5,
-427.8, 156.2, 427.8, 156.2, 427.2, 155.8, 455.7, 170.8, 457.2, 168.6,
-484.2, 186.0, 620.2, 5.5, 620.2, 10.6, 617.8, 13.9, 620.2, 15.7,
-610.8, 19.2, 610.8, 19.2, 601.4, 22.8, 598.7, 18.3, 595.3, 19.3,
-588.8, 18.1, 583.6, 9.6, 583.6, 9.6, 578.5, 1.0, 584.0, -3.9,
-578.1, -10.7, 577.7, -22.4, 577.6, -21.7, 578.8, -21.6, 580.0, -20.8,
-600.1, -7.7, 602.6, -10.4, 620.2, 5.5, 151.7, 366.1, 155.5, 333.2,
-157.2, 333.4, 159.2, 300.4, 164.9, 298.4, 164.9, 298.4, 170.5, 296.4,
-166.4, 331.9, 170.9, 359.3, 151.7, 366.1, 170.5, 296.4, 171.2, 296.2,
-171.2, 296.2, 172.0, 295.9, 171.6, 299.5, 180.8, 306.1, 185.4, 304.5,
-183.7, 322.7, 183.7, 322.7, 182.0, 340.9, 165.8, 368.5, 158.1, 366.7,
-150.4, 396.6, 150.3, 396.6, 150.3, 396.6, 150.3, 396.7, 149.9, 392.5,
-149.9, 392.5, 149.5, 388.3, 149.1, 384.6, 149.8, 384.5, 150.0, 380.7,
-150.3, 373.4, 150.8, 373.4, 151.7, 366.1, 170.9, 359.3, 166.4, 331.9,
-170.5, 296.4, 618.3, 687.8, 619.4, 679.0, 603.6, 678.6, 602.3, 667.7,
-612.9, 644.7, 605.8, 641.4, 609.2, 615.2, 628.7, 639.7, 622.9, 652.7,
-618.3, 687.8, 705.5, 618.5, 711.2, 627.4, 711.2, 627.4, 716.9, 636.3,
-710.2, 655.5, 702.4, 652.8, 687.9, 669.3, 675.3, 683.7, 676.1, 684.5,
-662.7, 698.1, 662.7, 697.2, 661.9, 697.2, 661.2, 696.3, 664.7, 687.9,
-665.7, 688.3, 670.2, 680.4, 674.1, 673.6, 674.1, 673.6, 678.0, 666.8,
-691.7, 642.6, 685.3, 634.3, 705.5, 618.5, 743.5, 725.6, 741.4, 730.8,
-743.2, 733.3, 739.3, 736.1, 735.2, 740.4, 735.2, 740.4, 731.1, 744.7,
-721.4, 738.3, 724.7, 733.4, 718.2, 722.2, 717.3, 720.6, 717.3, 720.6,
-716.3, 718.9, 710.1, 708.1, 710.1, 708.1, 703.9, 697.2, 703.3, 696.1,
-703.6, 695.6, 702.6, 694.9, 712.2, 701.4, 711.9, 701.9, 721.2, 708.8,
-730.6, 715.9, 730.6, 715.9, 739.9, 722.9, 741.7, 724.2, 743.6, 724.3,
-743.5, 725.6, 685.5, 772.8, 679.5, 765.3, 672.3, 759.2, 673.6, 757.7,
-672.1, 756.0, 672.1, 756.0, 670.7, 754.2, 667.7, 750.4, 667.7, 750.4,
-664.7, 746.6, 664.1, 745.8, 664.1, 745.8, 663.5, 745.0, 653.5, 732.4,
-648.2, 734.2, 643.6, 719.9, 648.2, 719.6, 647.9, 714.9, 652.3, 710.0,
-670.8, 731.5, 665.9, 735.7, 679.5, 761.5, 682.5, 767.1, 680.8, 769.9,
-685.5, 772.8, 575.0, 633.2, 573.1, 630.7, 572.8, 628.1, 571.1, 628.3,
-573.3, 624.9, 563.2, 618.2, 555.2, 608.1, 549.9, 593.8, 552.4, 591.6,
-543.2, 580.0, 545.2, 564.5, 545.2, 564.5, 547.1, 549.0, 544.2, 551.1,
-550.9, 560.4, 554.6, 571.8, 564.8, 602.5, 566.0, 602.2, 575.0, 633.2,
-552.2, 531.6, 552.3, 531.5, 551.5, 531.2, 551.5, 531.1, 556.7, 512.6,
-556.7, 512.6, 561.8, 494.2, 561.8, 493.9, 562.9, 493.9, 564.0, 493.7,
-563.0, 500.5, 561.9, 500.3, 559.9, 507.0, 556.0, 519.3, 556.4, 519.4,
-552.2, 531.6, 550.7, 745.6, 554.9, 762.5, 548.5, 769.2, 559.2, 779.4,
-552.8, 784.7, 553.7, 788.1, 546.4, 789.9, 533.1, 797.2, 533.1, 797.2,
-519.9, 804.5, 522.8, 773.9, 526.4, 761.1, 550.7, 745.6, 519.9, 804.5,
-517.5, 805.8, 515.6, 805.4, 515.2, 807.1, 519.5, 772.2, 519.5, 772.2,
-523.8, 737.3, 523.0, 735.9, 534.1, 729.0, 544.4, 720.7, 547.5, 733.2,
-547.5, 733.2, 550.7, 745.6, 526.4, 761.1, 522.8, 773.9, 519.9, 804.5,
-580.6, 673.2, 579.5, 662.6, 575.3, 653.6, 578.4, 652.1, 579.7, 646.3,
-581.0, 646.3, 580.9, 640.6, 585.5, 646.4, 590.7, 651.6, 590.1, 652.2,
-589.9, 652.7, 591.6, 653.5, 591.4, 653.9, 590.6, 659.9, 604.0, 664.1,
-602.3, 667.7, 603.6, 678.6, 619.4, 679.0, 618.3, 687.8, 618.4, 688.0,
-618.4, 688.2, 618.6, 688.3, 602.2, 681.9, 602.3, 681.8, 586.0, 675.3,
-583.3, 674.2, 581.2, 674.9, 580.6, 673.2, 531.6, 700.1, 530.3, 697.9,
-528.6, 697.6, 529.0, 695.8, 529.9, 688.2, 529.6, 688.2, 530.8, 680.6,
-531.2, 678.3, 531.1, 678.3, 531.4, 675.9, 535.0, 679.2, 545.9, 667.5,
-560.3, 659.1, 560.5, 679.5, 547.8, 681.1, 531.6, 700.1, 611.2, 757.1,
-629.3, 783.0, 624.2, 786.6, 637.1, 816.1, 639.1, 820.5, 640.9, 820.5,
-641.0, 824.9, 639.3, 828.4, 639.3, 828.4, 637.6, 831.9, 624.6, 834.2,
-616.6, 837.5, 610.6, 830.4, 603.2, 821.6, 610.7, 815.3, 610.8, 800.2,
-610.9, 794.7, 610.9, 794.7, 610.9, 789.2, 611.0, 784.0, 611.0, 784.0,
-611.0, 778.7, 611.1, 767.9, 616.2, 764.3, 611.2, 757.1, 670.7, 754.2,
-672.1, 756.0, 672.1, 756.0, 673.6, 757.7, 650.1, 785.2, 657.3, 791.3,
-641.0, 824.9, 640.9, 820.5, 639.1, 820.5, 637.1, 816.1, 641.6, 801.5,
-644.6, 802.4, 652.0, 788.7, 661.4, 771.4, 659.6, 770.2, 670.7, 754.2,
-626.7, 848.5, 592.0, 862.9, 591.6, 861.8, 557.4, 877.2, 556.7, 874.7,
-556.7, 874.7, 556.1, 872.2, 590.4, 857.9, 627.4, 851.2, 626.7, 848.5,
-547.0, 476.8, 547.6, 478.7, 548.3, 478.7, 548.1, 480.6, 548.0, 483.4,
-548.0, 483.4, 547.9, 486.2, 546.7, 481.7, 546.9, 481.5, 547.0, 476.8,
-492.2, 356.2, 480.9, 370.9, 480.9, 370.9, 469.6, 385.7, 467.7, 382.6,
-463.9, 385.0, 458.3, 384.2, 462.7, 374.2, 467.7, 376.4, 477.2, 368.6,
-484.7, 362.4, 488.7, 364.1, 492.2, 356.2, 396.9, 584.7, 408.3, 546.9,
-410.4, 547.4, 419.7, 509.1, 420.3, 514.1, 421.1, 514.2, 420.8, 519.2,
-420.7, 532.8, 420.4, 532.8, 420.6, 546.5, 419.9, 555.0, 419.9, 555.0,
-419.2, 563.4, 411.4, 576.1, 397.0, 574.0, 396.9, 584.7, 419.2, 563.4,
-415.4, 609.0, 415.4, 609.0, 411.6, 654.6, 411.0, 652.7, 407.3, 653.8,
-403.1, 653.0, 408.9, 628.7, 408.9, 616.2, 393.3, 599.3, 394.8, 593.0,
-394.8, 593.0, 396.3, 586.8, 396.5, 585.7, 396.6, 585.7, 396.9, 584.7,
-397.0, 574.0, 411.4, 576.1, 419.2, 563.4, 418.1, 743.1, 421.8, 725.3,
-421.8, 725.3, 425.5, 707.4, 433.4, 674.3, 434.0, 674.4, 442.2, 641.3,
-444.8, 630.6, 447.3, 619.8, 447.3, 619.8, 447.3, 619.8, 444.8, 630.6,
-442.2, 641.3, 435.7, 668.8, 435.7, 668.8, 429.2, 696.3, 423.6, 719.7,
-425.6, 720.3, 418.1, 743.1, 394.7, 795.9, 393.5, 794.3, 393.5, 794.3,
-392.3, 792.8, 386.9, 765.2, 385.7, 764.5, 373.2, 739.2, 388.1, 746.8,
-402.3, 755.6, 403.0, 754.5, 420.6, 782.9, 420.6, 782.9, 438.3, 811.2,
-438.9, 808.0, 416.1, 804.5, 394.7, 795.9, 438.3, 811.2, 438.3, 811.3,
-438.3, 811.3, 438.3, 811.3, 444.2, 830.0, 444.2, 830.0, 450.1, 848.6,
-437.5, 836.6, 435.5, 829.1, 420.7, 828.9, 407.7, 812.4, 407.7, 812.4,
-394.7, 795.9, 416.1, 804.5, 438.9, 808.0, 438.3, 811.2, 416.1, 188.1,
-416.4, 242.1, 416.0, 242.1, 416.8, 296.1, 407.0, 281.7, 407.0, 281.7,
-397.3, 267.3, 397.0, 227.8, 431.5, 210.9, 416.1, 188.1, 397.3, 267.3,
-390.0, 256.5, 379.9, 250.3, 382.7, 245.8, 382.5, 244.4, 382.5, 244.4,
-382.3, 243.1, 381.0, 238.5, 383.0, 237.9, 383.8, 232.7, 394.0, 221.9,
-388.0, 215.4, 390.4, 198.0, 401.1, 186.7, 400.3, 185.7, 411.9, 175.4,
-413.9, 173.3, 413.9, 173.3, 416.0, 171.3, 415.9, 179.7, 416.0, 179.7,
-416.1, 188.1, 431.5, 210.9, 397.0, 227.8, 397.3, 267.3, 275.3, 881.2,
-275.2, 881.7, 275.2, 882.2, 275.0, 882.2, 263.9, 882.6, 255.8, 887.0,
-252.7, 881.9, 240.2, 861.3, 244.8, 856.5, 243.7, 830.9, 244.0, 836.8,
-247.3, 836.7, 251.0, 842.4, 255.4, 849.5, 255.4, 849.5, 259.8, 856.5,
-264.9, 864.6, 264.9, 864.6, 270.1, 872.8, 272.7, 877.0, 273.1, 876.8,
-275.3, 881.2, 239.4, 806.4, 234.4, 814.0, 241.5, 818.6, 243.7, 830.9,
-244.8, 856.5, 240.2, 861.3, 252.7, 881.9, 246.6, 891.2, 211.6, 885.1,
-210.9, 881.3, 205.0, 847.4, 218.0, 839.2, 239.4, 806.4, 210.9, 881.3,
-210.8, 881.6, 209.1, 881.3, 209.1, 881.3, 212.1, 865.4, 209.0, 864.8,
-208.8, 848.4, 207.5, 838.4, 210.5, 838.1, 212.2, 827.7, 209.5, 826.6,
-221.9, 795.2, 231.7, 762.7, 223.7, 770.7, 235.1, 782.2, 238.5, 801.7,
-239.0, 804.0, 240.0, 804.4, 239.4, 806.4, 218.0, 839.2, 205.0, 847.4,
-210.9, 881.3, 359.2, 595.6, 360.1, 607.6, 363.8, 608.6, 361.0, 619.6,
-360.5, 623.2, 360.5, 623.2, 360.0, 626.8, 311.7, 667.4, 312.0, 667.8,
-264.0, 708.7, 275.7, 699.7, 273.7, 697.1, 283.5, 685.5, 292.3, 675.0,
-292.3, 675.0, 301.1, 664.5, 313.0, 650.4, 313.0, 650.4, 324.9, 636.3,
-342.0, 615.9, 337.3, 605.7, 359.2, 595.6, 355.4, 543.6, 356.1, 553.6,
-356.1, 553.6, 356.8, 563.5, 339.0, 591.0, 311.6, 612.4, 311.1, 611.9,
-307.1, 608.3, 329.4, 583.6, 347.8, 555.3, 351.6, 549.5, 356.2, 544.4,
-355.4, 543.6, 257.4, 569.9, 257.2, 564.7, 255.6, 564.2, 257.0, 559.6,
-259.6, 544.0, 258.2, 543.6, 262.2, 528.4, 267.1, 506.8, 262.2, 505.2,
-269.5, 484.6, 270.8, 480.4, 270.8, 480.4, 272.0, 476.1, 273.8, 480.1,
-271.2, 481.3, 270.4, 486.5, 263.9, 528.2, 265.0, 528.4, 257.4, 569.9,
-279.0, 460.9, 279.1, 460.5, 278.2, 460.2, 277.5, 459.5, 277.2, 459.3,
-277.0, 459.2, 277.0, 459.0, 283.9, 435.5, 283.9, 435.5, 290.7, 411.9,
-300.0, 420.9, 285.7, 436.7, 279.0, 460.9, 308.0, 359.7, 310.3, 354.7,
-310.3, 354.7, 312.7, 349.7, 314.3, 352.2, 333.6, 348.9, 337.7, 340.1,
-346.5, 353.4, 346.5, 353.4, 355.4, 366.8, 346.3, 374.7, 340.0, 384.6,
-343.5, 389.8, 341.5, 391.6, 341.5, 391.6, 339.5, 393.3, 322.1, 378.5,
-319.9, 378.9, 308.0, 359.7, 339.5, 393.3, 337.2, 395.3, 334.6, 396.8,
-334.9, 397.3, 323.6, 396.7, 316.9, 390.7, 312.2, 396.0, 305.9, 388.8,
-301.7, 380.5, 299.6, 381.6, 301.0, 376.6, 301.0, 376.6, 302.4, 371.7,
-303.9, 365.4, 305.2, 365.7, 308.0, 359.7, 319.9, 378.9, 322.1, 378.5,
-339.5, 393.3, 431.3, 441.1, 431.5, 441.2, 431.6, 441.2, 431.6, 441.3,
-431.6, 441.3, 431.6, 441.3, 431.6, 441.3, 431.5, 441.2, 431.3, 441.1,
-431.3, 441.1, 260.7, 497.6, 259.4, 503.9, 259.7, 503.9, 258.1, 510.1,
-256.8, 515.4, 255.8, 520.7, 255.8, 520.7, 249.4, 547.7, 250.8, 548.1,
-242.9, 574.7, 241.7, 578.5, 241.8, 578.5, 240.7, 582.4, 239.4, 588.6,
-238.4, 588.4, 236.0, 594.4, 240.5, 560.0, 241.1, 558.2, 234.6, 524.2,
-242.6, 503.9, 242.6, 503.9, 250.5, 483.7, 249.5, 484.7, 258.5, 489.8,
-260.7, 497.6, 250.5, 483.7, 251.2, 482.0, 251.0, 482.0, 251.8, 480.4,
-262.3, 459.0, 262.3, 459.0, 272.8, 437.6, 267.5, 462.1, 267.9, 462.2,
-262.9, 486.8, 261.5, 492.1, 261.8, 492.2, 260.7, 497.6, 258.5, 489.8,
-249.5, 484.7, 250.5, 483.7, 114.3, 323.3, 109.4, 329.0, 106.1, 328.2,
-104.4, 334.7, 90.8, 304.5, 90.8, 304.5, 77.2, 274.3, 74.8, 270.2,
-76.4, 269.2, 75.5, 264.2, 92.4, 285.4, 90.4, 286.9, 105.3, 309.6,
-109.8, 316.5, 114.5, 316.6, 114.3, 323.3, 721.8, 273.1, 724.6, 278.8,
-723.0, 282.4, 727.4, 284.4, 727.4, 284.5, 723.5, 283.6, 719.5, 282.8,
-717.0, 282.2, 717.0, 282.2, 714.4, 281.7, 699.8, 278.7, 698.9, 280.9,
-685.2, 275.6, 681.5, 271.6, 681.5, 271.6, 677.8, 267.5, 699.5, 266.0,
-701.2, 266.2, 721.8, 273.1, 677.8, 267.5, 665.2, 253.8, 665.2, 253.8,
-652.5, 240.0, 657.8, 242.9, 663.2, 236.4, 666.3, 239.8, 685.6, 239.6,
-690.8, 230.9, 704.8, 239.4, 704.7, 256.2, 713.3, 256.2, 721.8, 273.1,
-701.2, 266.2, 699.5, 266.0, 677.8, 267.5, 641.5, 196.5, 647.2, 188.0,
-652.8, 179.4, 653.0, 179.5, 666.8, 183.7, 666.8, 183.7, 680.7, 187.9,
-682.2, 199.0, 686.5, 202.6, 697.2, 208.4, 705.9, 219.2, 705.9, 219.2,
-714.6, 230.0, 715.2, 230.7, 715.9, 231.3, 715.8, 231.4, 715.7, 231.6,
-715.0, 231.0, 714.1, 230.6, 677.8, 213.5, 671.3, 221.4, 641.5, 196.5,
-686.3, 276.8, 685.8, 276.2, 685.8, 276.2, 685.2, 275.6, 698.9, 280.9,
-699.8, 278.7, 714.4, 281.7, 706.7, 273.4, 700.2, 279.7, 686.3, 276.8,
-714.6, 230.0, 705.9, 219.2, 705.9, 219.2, 697.2, 208.4, 724.9, 223.3,
-757.5, 228.9, 757.4, 229.3, 757.4, 229.3, 757.4, 229.3, 757.4, 229.3,
-741.4, 229.6, 741.4, 229.6, 725.3, 229.8, 720.0, 229.9, 718.0, 232.5,
-714.6, 230.0, 652.8, 277.4, 638.5, 251.0, 638.5, 251.0, 624.2, 224.7,
-614.9, 214.5, 620.3, 210.2, 613.4, 197.3, 620.0, 204.5, 620.0, 204.5,
-626.6, 211.7, 626.7, 211.8, 626.7, 211.8, 626.8, 212.0, 626.8, 212.0,
-626.8, 212.0, 626.8, 212.0, 655.9, 255.9, 655.5, 256.1, 685.6, 299.3,
-696.0, 315.0, 696.0, 315.0, 706.4, 330.7, 700.6, 324.6, 698.1, 326.9,
-689.7, 323.2, 669.0, 302.6, 669.0, 301.8, 652.8, 277.4, 689.7, 323.2,
-681.7, 319.5, 675.5, 321.6, 673.6, 315.9, 673.6, 315.8, 673.6, 315.8,
-673.5, 315.8, 673.6, 315.7, 663.2, 296.6, 652.8, 277.4, 669.0, 301.8,
-669.0, 302.6, 689.7, 323.2, 521.4, 200.9, 516.3, 200.1, 515.0, 201.9,
-511.1, 199.4, 505.2, 196.6, 505.2, 196.6, 499.3, 193.9, 491.5, 190.5,
-491.8, 189.9, 484.2, 186.0, 456.3, 171.2, 457.3, 169.0, 428.4, 156.5,
-427.8, 156.2, 427.8, 156.2, 427.2, 155.8, 423.8, 153.6, 423.0, 154.3,
-420.4, 151.4, 414.8, 145.9, 415.1, 145.5, 409.3, 140.3, 413.9, 139.4,
-413.9, 139.4, 418.6, 138.4, 425.7, 140.2, 425.1, 142.3, 431.7, 146.3,
-476.5, 173.6, 477.8, 171.7, 521.4, 200.9, 616.4, -54.1, 618.2, -44.7,
-618.2, -44.7, 620.1, -35.4, 629.9, -28.1, 620.1, -14.9, 620.2, 5.5,
-602.6, -10.4, 600.1, -7.7, 580.0, -20.8, 579.0, -36.3, 595.0, -46.3,
-616.4, -54.1, 580.0, -20.8, 578.8, -21.6, 577.6, -21.7, 577.7, -22.4,
-577.3, -31.7, 574.6, -40.2, 577.0, -41.0, 582.2, -57.8, 582.2, -57.8,
-587.3, -74.6, 593.8, -76.3, 595.3, -80.4, 597.6, -88.0, 597.7, -88.2,
-598.1, -88.3, 598.2, -88.1, 605.5, -82.0, 608.1, -83.2, 612.3, -75.3,
-615.4, -75.0, 614.4, -64.7, 616.4, -54.1, 595.0, -46.3, 579.0, -36.3,
-580.0, -20.8, 609.3, 615.1, 609.3, 614.5, 609.2, 614.5, 609.4, 614.0,
-616.4, 598.5, 612.9, 586.0, 623.3, 583.1, 625.3, 579.5, 626.3, 579.7,
-627.2, 575.8, 627.0, 576.2, 627.3, 576.4, 627.3, 576.9, 628.7, 597.0,
-628.7, 597.0, 630.0, 617.0, 631.0, 631.0, 631.0, 631.0, 631.9, 644.9,
-632.5, 653.6, 632.6, 653.6, 633.1, 662.4, 634.6, 686.3, 634.3, 686.3,
-635.9, 710.2, 635.9, 710.5, 636.4, 710.8, 636.4, 710.8, 636.4, 710.8,
-635.9, 710.5, 635.9, 710.2, 636.2, 709.4, 634.9, 708.8, 633.8, 707.5,
-620.9, 661.5, 621.3, 661.4, 609.3, 615.1, 633.8, 707.5, 632.3, 705.6,
-630.8, 703.8, 630.9, 703.8, 624.7, 696.0, 624.7, 696.0, 618.6, 688.3,
-618.4, 688.2, 618.4, 688.0, 618.3, 687.8, 622.9, 652.7, 628.7, 639.7,
-609.2, 615.2, 609.3, 615.2, 609.3, 615.2, 609.3, 615.1, 621.3, 661.4,
-620.9, 661.5, 633.8, 707.5, 696.0, 603.6, 696.3, 604.1, 696.3, 604.2,
-696.7, 604.7, 695.6, 610.5, 701.1, 611.6, 705.5, 618.5, 685.3, 634.3,
-691.7, 642.6, 678.0, 666.8, 683.9, 659.1, 680.8, 656.7, 683.7, 646.7,
-686.2, 637.8, 686.2, 637.8, 688.7, 629.0, 692.4, 616.3, 691.9, 616.1,
-696.0, 603.6, 727.2, 652.4, 737.6, 668.6, 733.2, 676.6, 747.9, 684.8,
-750.0, 690.9, 751.5, 690.4, 755.2, 696.0, 744.3, 704.0, 749.3, 710.8,
-743.5, 725.6, 743.6, 724.3, 741.7, 724.2, 739.9, 722.9, 734.8, 702.4,
-736.2, 702.0, 732.4, 681.1, 729.8, 666.8, 732.9, 653.7, 727.2, 652.4,
-679.5, 761.5, 665.9, 735.7, 670.8, 731.5, 652.3, 710.0, 654.4, 707.5,
-654.4, 707.5, 656.6, 705.1, 664.6, 716.4, 661.9, 718.3, 667.3, 731.5,
-671.8, 742.5, 671.8, 742.5, 676.3, 753.6, 677.2, 755.8, 677.2, 755.8,
-678.1, 758.1, 678.8, 759.8, 678.6, 759.8, 679.5, 761.5, 579.1, 629.3,
-577.6, 632.0, 576.4, 631.8, 576.1, 634.6, 575.6, 633.9, 575.6, 633.9,
-575.0, 633.2, 566.0, 602.2, 564.8, 602.5, 554.6, 571.8, 558.1, 584.8,
-560.0, 584.3, 565.3, 596.8, 572.2, 613.1, 574.3, 612.5, 579.1, 629.3,
-559.9, 507.0, 561.9, 500.3, 563.0, 500.5, 564.0, 493.7, 568.0, 492.8,
-572.1, 492.7, 572.1, 491.9, 576.3, 494.4, 580.8, 495.0, 580.6, 496.9,
-584.7, 505.2, 590.1, 502.5, 599.7, 508.2, 583.8, 515.9, 577.2, 514.0,
-559.9, 507.0, 613.0, 725.3, 604.5, 735.6, 603.8, 735.1, 595.9, 745.9,
-592.5, 750.0, 588.2, 752.9, 589.1, 754.2, 590.3, 743.5, 587.9, 743.2,
-586.8, 732.3, 588.7, 728.1, 593.8, 730.4, 600.8, 728.6, 606.9, 726.9,
-612.1, 728.4, 613.0, 725.3, 576.6, 650.0, 574.9, 663.4, 567.3, 670.3,
-573.1, 676.7, 567.5, 713.8, 563.1, 714.0, 563.4, 751.1, 558.5, 743.3,
-558.5, 743.3, 553.7, 735.5, 559.4, 692.0, 562.7, 692.0, 576.6, 650.0,
-553.7, 735.5, 549.1, 728.1, 549.1, 728.1, 544.4, 720.7, 538.1, 710.3,
-538.0, 710.4, 531.6, 700.1, 547.8, 681.1, 560.5, 679.5, 560.3, 659.1,
-568.5, 654.3, 571.0, 656.4, 576.7, 649.6, 576.6, 649.8, 576.6, 649.8,
-576.6, 650.0, 562.7, 692.0, 559.4, 692.0, 553.7, 735.5, 601.6, 740.8,
-602.5, 740.0, 602.5, 740.0, 603.4, 739.3, 608.2, 747.5, 607.2, 748.1,
-611.1, 756.9, 611.2, 757.0, 611.2, 757.0, 611.2, 757.1, 616.2, 764.3,
-611.1, 767.9, 611.0, 778.7, 611.9, 774.5, 609.9, 774.1, 608.7, 769.4,
-605.2, 755.1, 604.2, 755.3, 601.6, 740.8, 630.4, 715.1, 633.1, 712.6,
-634.5, 713.3, 635.9, 710.2, 635.9, 710.5, 636.4, 710.8, 636.4, 710.8,
-637.3, 715.8, 640.3, 720.1, 643.6, 719.9, 648.2, 734.2, 653.5, 732.4,
-663.5, 745.0, 660.2, 736.0, 655.5, 737.8, 647.5, 730.5, 638.9, 722.8,
-635.8, 724.6, 630.4, 715.1, 556.0, 871.7, 550.9, 851.6, 545.8, 831.4,
-545.8, 831.4, 546.6, 829.6, 545.2, 829.0, 544.5, 826.6, 554.0, 824.7,
-563.2, 824.2, 564.4, 827.7, 569.6, 842.9, 560.9, 845.9, 557.4, 864.1,
-556.7, 867.9, 554.8, 868.6, 556.0, 871.7, 514.8, 533.6, 503.1, 533.1,
-491.9, 530.4, 491.4, 532.6, 486.1, 528.4, 475.4, 529.7, 474.6, 531.9,
-474.7, 530.5, 474.7, 530.5, 474.8, 529.0, 469.2, 522.9, 486.6, 506.8,
-498.4, 484.5, 495.6, 487.0, 501.4, 493.6, 504.5, 502.6, 508.3, 514.0,
-508.3, 514.0, 512.1, 525.5, 513.5, 529.6, 514.9, 533.6, 514.8, 533.6,
-448.4, 376.8, 447.4, 374.6, 447.4, 374.6, 446.4, 372.4, 448.0, 361.3,
-448.9, 361.0, 447.8, 349.9, 451.7, 335.6, 451.7, 335.6, 455.6, 321.4,
-462.3, 334.2, 453.4, 338.8, 451.1, 356.2, 449.7, 366.5, 451.2, 367.0,
-448.4, 376.8, 442.2, 641.3, 444.8, 630.6, 447.3, 619.8, 447.3, 619.8,
-450.4, 607.2, 451.7, 607.4, 453.5, 594.6, 455.3, 625.3, 455.3, 625.3,
-457.1, 655.9, 458.4, 650.7, 444.6, 650.0, 442.2, 641.3, 305.5, 617.8,
-304.9, 615.7, 308.3, 614.8, 311.1, 611.9, 311.6, 612.4, 339.0, 591.0,
-356.8, 563.5, 358.0, 579.6, 358.0, 579.6, 359.2, 595.6, 337.3, 605.7,
-342.0, 615.9, 324.9, 636.3, 323.8, 637.1, 319.9, 631.5, 314.9, 626.8,
-310.2, 622.3, 306.8, 623.1, 305.5, 617.8, 273.1, 632.1, 273.6, 645.9,
-270.9, 655.3, 260.4, 660.1, 260.0, 649.2, 260.0, 649.2, 259.6, 638.3,
-262.0, 633.2, 273.2, 635.0, 273.1, 632.1, 356.6, 461.0, 355.1, 470.8,
-349.6, 477.1, 353.6, 480.6, 347.2, 481.7, 347.2, 481.7, 340.7, 482.8,
-342.5, 471.0, 347.1, 462.7, 356.6, 461.0, 410.9, 428.7, 421.1, 434.9,
-421.1, 434.9, 431.3, 441.1, 431.3, 441.1, 431.5, 441.2, 431.6, 441.3,
-429.9, 448.1, 429.0, 448.0, 428.3, 454.9, 428.0, 458.4, 427.4, 458.4,
-426.6, 461.9, 426.5, 460.5, 422.7, 460.9, 418.9, 459.8, 417.7, 449.6,
-393.3, 452.4, 367.8, 445.0, 367.1, 442.5, 388.9, 430.0, 410.9, 428.7,
-367.8, 445.0, 366.6, 444.6, 365.4, 444.7, 365.4, 444.3, 359.8, 439.8,
-359.8, 439.8, 354.1, 435.3, 368.9, 434.1, 368.0, 423.2, 381.9, 411.1,
-389.8, 423.9, 396.4, 419.9, 410.9, 428.7, 388.9, 430.0, 367.1, 442.5,
-367.8, 445.0, 68.2, 220.7, 67.1, 213.8, 64.9, 213.5, 65.9, 206.9,
-66.4, 193.9, 65.6, 193.9, 66.9, 181.0, 67.2, 178.0, 67.2, 178.0,
-67.4, 175.0, 67.9, 176.4, 68.0, 176.4, 68.6, 177.8, 82.1, 176.7,
-85.3, 216.6, 101.9, 255.4, 102.1, 238.2, 82.5, 239.9, 68.2, 220.7,
-819.3, 199.5, 818.6, 198.6, 817.2, 199.7, 816.1, 198.8, 809.4, 191.8,
-809.4, 191.8, 802.7, 184.8, 805.2, 187.7, 805.6, 187.3, 808.4, 189.9,
-810.7, 191.9, 810.7, 191.9, 813.0, 194.0, 816.1, 196.8, 817.1, 196.1,
-819.3, 199.5, 916.9, 264.8, 867.2, 232.5, 861.1, 193.4, 817.5, 200.3,
-816.8, 199.5, 816.8, 199.5, 816.1, 198.8, 817.2, 199.7, 818.6, 198.6,
-819.3, 199.5, 857.7, 208.5, 857.7, 208.3, 896.1, 217.4, 896.2, 217.4,
-896.3, 217.5, 896.3, 217.7, 906.7, 241.2, 902.2, 261.5, 916.9, 264.8,
-896.3, 217.7, 896.4, 217.7, 896.5, 217.6, 896.6, 217.7, 912.8, 229.1,
-912.7, 229.3, 929.0, 240.6, 934.5, 244.9, 934.5, 244.9, 940.1, 249.1,
-943.0, 254.3, 941.7, 255.7, 941.3, 262.2, 941.3, 262.5, 939.2, 262.7,
-939.3, 263.2, 939.6, 265.2, 925.6, 266.1, 925.5, 269.8, 925.5, 269.9,
-925.2, 269.9, 925.0, 270.0, 922.6, 266.3, 921.0, 267.4, 916.9, 264.8,
-904.8, 242.3, 906.9, 241.2, 896.6, 217.7, 896.5, 217.6, 896.4, 217.7,
-896.3, 217.7, 638.0, 224.2, 633.7, 219.4, 633.7, 219.4, 629.3, 214.7,
-636.9, 207.0, 635.4, 205.6, 641.5, 196.5, 671.3, 221.4, 677.8, 213.5,
-714.1, 230.6, 713.9, 232.2, 675.4, 231.2, 638.0, 224.2, 714.1, 230.6,
-715.0, 231.0, 715.7, 231.6, 715.8, 231.4, 719.2, 235.0, 721.8, 239.3,
-722.0, 239.1, 714.5, 236.3, 704.8, 239.2, 704.8, 239.4, 690.8, 230.9,
-685.6, 239.6, 666.3, 239.8, 656.3, 228.9, 652.4, 224.8, 638.7, 224.9,
-638.4, 224.6, 638.4, 224.6, 638.0, 224.2, 675.4, 231.2, 713.9, 232.2,
-714.1, 230.6, 719.5, 282.8, 723.5, 283.6, 727.4, 284.5, 727.4, 284.4,
-744.5, 291.9, 765.0, 289.6, 764.8, 292.2, 770.3, 294.4, 771.1, 303.5,
-773.3, 302.8, 766.0, 305.3, 763.9, 299.3, 754.4, 295.7, 737.0, 289.2,
-736.7, 290.0, 719.5, 282.8, 725.3, 229.8, 741.4, 229.6, 741.4, 229.6,
-757.4, 229.3, 769.7, 237.1, 769.7, 237.1, 782.1, 244.9, 778.4, 241.6,
-776.7, 243.5, 771.3, 242.0, 748.3, 235.9, 740.9, 244.0, 725.3, 229.8,
-519.0, 181.6, 528.0, 190.6, 526.3, 193.5, 537.0, 199.6, 538.5, 201.6,
-538.5, 201.6, 540.0, 203.6, 532.3, 199.4, 530.7, 202.2, 521.4, 200.9,
-477.8, 171.7, 476.5, 173.6, 431.7, 146.3, 434.6, 169.1, 477.1, 160.4,
-519.0, 181.6, 431.7, 146.3, 425.1, 142.3, 425.7, 140.2, 418.6, 138.4,
-432.6, 135.3, 433.1, 136.8, 446.7, 132.3, 455.3, 131.1, 458.1, 133.7,
-463.7, 128.7, 464.0, 128.4, 464.3, 128.6, 464.8, 128.5, 471.2, 135.4,
-471.8, 134.9, 478.7, 141.4, 503.0, 150.3, 498.8, 161.5, 519.0, 181.6,
-477.1, 160.4, 434.6, 169.1, 431.7, 146.3, 662.2, 550.8, 669.9, 559.1,
-668.4, 560.5, 674.6, 570.2, 678.1, 576.1, 676.7, 578.5, 682.0, 581.7,
-681.3, 582.6, 684.2, 587.1, 685.3, 586.9, 687.4, 596.0, 690.6, 595.2,
-696.0, 603.6, 691.9, 616.1, 692.4, 616.3, 688.7, 629.0, 673.2, 615.5,
-681.1, 606.5, 673.4, 583.9, 669.5, 572.2, 669.5, 572.2, 665.5, 560.5,
-663.8, 555.6, 665.4, 554.2, 662.2, 550.8, 721.2, 708.8, 711.9, 701.9,
-712.2, 701.4, 702.6, 694.9, 693.5, 684.1, 688.8, 682.7, 688.3, 669.9,
-688.6, 678.5, 695.3, 678.2, 702.3, 686.5, 711.7, 697.7, 720.7, 697.3,
-721.2, 708.8, 661.0, 700.0, 661.9, 699.0, 662.6, 699.1, 662.7, 698.1,
-676.1, 684.5, 675.3, 683.7, 687.9, 669.3, 687.9, 669.4, 688.1, 669.6,
-688.3, 669.9, 688.8, 682.7, 693.5, 684.1, 702.6, 694.9, 703.6, 695.6,
-703.3, 696.1, 703.9, 697.2, 692.5, 699.2, 692.3, 698.0, 680.6, 698.7,
-675.1, 699.1, 675.1, 699.1, 669.6, 699.4, 665.3, 699.7, 665.1, 700.8,
-661.0, 700.0, 592.4, 572.5, 589.3, 586.8, 582.8, 599.4, 586.2, 601.1,
-580.0, 612.0, 575.6, 621.5, 580.6, 626.7, 579.9, 628.0, 579.9, 628.0,
-579.1, 629.3, 574.3, 612.5, 572.2, 613.1, 565.3, 596.8, 568.7, 582.3,
-581.8, 570.3, 592.4, 572.5, 565.3, 596.8, 560.0, 584.3, 558.1, 584.8,
-554.6, 571.8, 550.9, 560.4, 544.2, 551.1, 547.1, 549.0, 547.3, 547.2,
-546.7, 546.9, 547.5, 545.3, 549.5, 538.2, 549.5, 538.2, 551.5, 531.1,
-551.5, 531.2, 552.3, 531.5, 552.2, 531.6, 554.8, 533.5, 554.8, 533.5,
-557.4, 535.4, 576.0, 549.0, 579.0, 546.1, 594.5, 562.6, 593.4, 567.5,
-593.4, 567.5, 592.4, 572.5, 581.8, 570.3, 568.7, 582.3, 565.3, 596.8,
-605.0, 514.1, 599.8, 538.4, 599.8, 538.4, 594.5, 562.6, 579.0, 546.1,
-576.0, 549.0, 557.4, 535.4, 560.7, 520.3, 594.6, 506.5, 605.0, 514.1,
-557.4, 535.4, 554.8, 533.5, 554.8, 533.5, 552.2, 531.6, 556.4, 519.4,
-556.0, 519.3, 559.9, 507.0, 577.2, 514.0, 583.8, 515.9, 599.7, 508.2,
-602.6, 509.9, 602.6, 509.9, 605.6, 511.6, 605.8, 511.8, 605.3, 512.9,
-605.0, 514.1, 594.6, 506.5, 560.7, 520.3, 557.4, 535.4, 600.8, 728.6,
-593.8, 730.4, 588.7, 728.1, 586.8, 732.3, 583.7, 702.7, 583.7, 702.7,
-580.6, 673.2, 581.2, 674.9, 583.3, 674.2, 586.0, 675.3, 595.4, 701.2,
-600.4, 701.8, 600.8, 728.6, 586.0, 675.3, 602.3, 681.8, 602.2, 681.9,
-618.6, 688.3, 624.7, 696.0, 624.7, 696.0, 630.9, 703.8, 620.4, 712.7,
-621.9, 714.5, 613.0, 725.3, 612.1, 728.4, 606.9, 726.9, 600.8, 728.6,
-600.4, 701.8, 595.4, 701.2, 586.0, 675.3, 610.8, 800.2, 610.7, 815.3,
-603.2, 821.6, 610.6, 830.4, 610.6, 830.5, 608.9, 830.3, 607.3, 830.2,
-585.8, 828.9, 585.8, 828.9, 564.4, 827.7, 563.2, 824.2, 554.0, 824.7,
-544.5, 826.6, 544.5, 826.3, 544.5, 826.3, 544.4, 826.1, 577.5, 812.9,
-578.6, 798.2, 610.8, 800.2, 611.1, 756.9, 607.2, 748.1, 608.2, 747.5,
-603.4, 739.3, 609.7, 733.6, 609.7, 733.6, 616.0, 728.0, 614.4, 728.3,
-615.2, 732.7, 614.4, 737.3, 614.3, 737.8, 614.3, 737.8, 614.2, 738.3,
-612.7, 747.6, 613.5, 756.7, 611.1, 756.9, 607.3, 830.2, 608.9, 830.3,
-610.6, 830.5, 610.6, 830.4, 616.6, 837.5, 624.6, 834.2, 637.6, 831.9,
-634.0, 839.4, 634.0, 839.4, 630.3, 847.0, 630.3, 846.9, 628.5, 847.7,
-626.7, 848.5, 627.4, 851.2, 590.4, 857.9, 556.1, 872.2, 556.0, 871.9,
-556.0, 871.9, 556.0, 871.7, 554.8, 868.6, 556.7, 867.9, 557.4, 864.1,
-580.8, 845.2, 581.8, 846.3, 607.3, 830.2, 557.4, 864.1, 560.9, 845.9,
-569.6, 842.9, 564.4, 827.7, 585.8, 828.9, 585.8, 828.9, 607.3, 830.2,
-581.8, 846.3, 580.8, 845.2, 557.4, 864.1, 547.5, 499.4, 547.5, 499.8,
-547.7, 500.0, 547.5, 500.3, 536.3, 517.1, 536.3, 517.1, 525.2, 534.0,
-525.1, 533.3, 520.0, 533.8, 514.8, 533.6, 514.9, 533.6, 513.5, 529.6,
-512.1, 525.5, 518.9, 516.3, 521.8, 518.4, 531.4, 511.3, 539.5, 505.4,
-539.3, 505.1, 547.5, 499.4, 451.1, 356.2, 453.4, 338.8, 462.3, 334.2,
-455.6, 321.4, 456.1, 319.7, 457.2, 318.6, 456.6, 318.0, 458.1, 318.4,
-458.1, 318.4, 459.7, 318.9, 457.0, 337.8, 462.6, 349.1, 451.1, 356.2,
-429.2, 696.3, 435.7, 668.8, 435.7, 668.8, 442.2, 641.3, 444.6, 650.0,
-458.4, 650.7, 457.1, 655.9, 457.9, 669.3, 457.9, 669.3, 458.7, 682.6,
-462.2, 696.8, 457.6, 697.9, 456.6, 713.1, 453.4, 715.7, 446.3, 706.8,
-436.1, 700.5, 432.6, 698.4, 429.0, 698.0, 429.2, 696.3, 347.1, 650.0,
-347.7, 658.4, 346.5, 658.6, 348.4, 666.8, 338.4, 696.1, 338.4, 696.1,
-328.4, 725.4, 328.1, 726.3, 328.0, 726.3, 327.5, 727.1, 325.7, 730.5,
-324.9, 730.3, 324.0, 733.9, 334.6, 692.0, 335.4, 692.2, 346.9, 650.6,
-347.0, 650.3, 347.1, 650.3, 347.1, 650.0, 270.1, 872.8, 264.9, 864.6,
-264.9, 864.6, 259.8, 856.5, 259.4, 855.5, 260.7, 854.9, 261.5, 853.3,
-292.7, 793.6, 292.7, 793.6, 324.0, 733.9, 324.9, 730.3, 325.7, 730.5,
-327.5, 727.1, 299.2, 800.1, 306.2, 803.8, 270.1, 872.8, 327.5, 727.1,
-328.0, 726.3, 328.1, 726.3, 328.4, 725.4, 322.8, 741.8, 319.6, 741.4,
-317.2, 758.2, 297.5, 803.6, 296.7, 804.1, 285.2, 852.2, 281.3, 861.8,
-284.4, 870.0, 278.5, 871.8, 275.7, 875.5, 276.9, 876.5, 275.3, 881.2,
-273.1, 876.8, 272.7, 877.0, 270.1, 872.8, 306.2, 803.8, 299.2, 800.1,
-327.5, 727.1, 314.9, 626.8, 319.9, 631.5, 323.8, 637.1, 324.9, 636.3,
-313.0, 650.4, 313.0, 650.4, 301.1, 664.5, 306.3, 660.7, 303.8, 657.3,
-306.4, 650.2, 310.6, 638.5, 306.5, 633.0, 314.9, 626.8, 347.1, 555.7,
-347.3, 561.2, 337.1, 561.5, 327.0, 567.2, 310.5, 576.7, 311.8, 580.6,
-294.0, 586.2, 297.6, 585.1, 296.3, 581.2, 298.6, 576.2, 300.9, 571.2,
-300.9, 571.2, 303.2, 566.1, 309.5, 552.3, 309.5, 552.3, 315.8, 538.5,
-323.9, 534.9, 320.7, 527.7, 325.6, 516.9, 342.1, 525.9, 346.6, 536.0,
-347.1, 555.7, 325.6, 516.9, 327.3, 513.3, 330.1, 511.2, 329.0, 509.6,
-341.8, 522.1, 341.8, 522.1, 354.7, 534.6, 356.5, 535.4, 355.0, 539.1,
-355.4, 543.6, 356.2, 544.4, 351.6, 549.5, 347.8, 555.3, 347.6, 555.6,
-347.1, 555.7, 347.1, 555.7, 346.6, 536.0, 342.1, 525.9, 325.6, 516.9,
-278.9, 619.5, 273.7, 609.2, 282.3, 599.0, 294.0, 586.2, 311.8, 580.6,
-310.5, 576.7, 327.0, 567.2, 330.2, 573.7, 313.3, 582.2, 299.5, 597.1,
-289.2, 608.3, 276.5, 614.7, 278.9, 619.5, 308.5, 478.6, 294.1, 470.2,
-294.6, 469.4, 279.8, 461.8, 279.3, 461.5, 278.9, 461.2, 279.0, 460.9,
-285.7, 436.7, 300.0, 420.9, 290.7, 411.9, 291.4, 409.5, 291.4, 409.5,
-292.1, 407.2, 292.0, 407.2, 292.6, 409.2, 293.0, 411.3, 300.8, 444.9,
-316.2, 449.0, 308.5, 478.6, 105.3, 309.6, 90.4, 286.9, 92.4, 285.4,
-75.5, 264.2, 71.9, 242.5, 71.9, 242.5, 68.2, 220.7, 82.5, 239.9,
-102.1, 238.2, 101.9, 255.4, 103.7, 259.7, 103.7, 259.7, 105.6, 264.0,
-107.0, 286.7, 105.6, 309.6, 105.3, 309.6, 105.6, 264.0, 105.7, 264.1,
-105.7, 264.1, 105.7, 264.3, 108.2, 272.8, 108.8, 272.7, 110.6, 281.3,
-114.6, 299.8, 114.6, 299.8, 118.7, 318.3, 116.7, 318.2, 116.5, 320.8,
-114.3, 323.3, 114.5, 316.6, 109.8, 316.5, 105.3, 309.6, 102.1, 287.5,
-105.6, 287.0, 105.7, 264.3, 105.7, 264.1, 105.7, 264.1, 105.6, 264.0,
-813.0, 194.0, 807.8, 189.4, 807.8, 189.4, 802.7, 184.8, 802.4, 184.5,
-802.4, 184.5, 802.1, 184.2, 805.3, 187.0, 805.3, 187.0, 808.4, 189.9,
-810.7, 191.9, 810.7, 191.9, 813.0, 194.0, 703.6, 295.6, 697.1, 288.6,
-697.1, 288.6, 690.7, 281.6, 688.5, 279.2, 688.5, 279.2, 686.3, 276.8,
-700.2, 279.7, 706.7, 273.4, 714.4, 281.7, 717.0, 282.2, 717.0, 282.2,
-719.5, 282.8, 736.7, 290.0, 737.0, 289.2, 754.4, 295.7, 739.0, 308.1,
-727.8, 301.0, 703.6, 295.6, 754.4, 295.7, 763.9, 299.3, 766.0, 305.3,
-773.3, 302.8, 773.5, 302.8, 773.7, 303.0, 773.6, 303.1, 765.2, 307.2,
-764.2, 314.4, 763.9, 325.8, 740.5, 318.1, 741.1, 315.2, 717.1, 310.4,
-710.4, 303.0, 710.4, 303.0, 703.6, 295.6, 727.8, 301.0, 739.0, 308.1,
-754.4, 295.7, 729.9, 248.9, 726.0, 244.0, 727.1, 241.1, 722.0, 239.1,
-721.8, 239.3, 719.2, 235.0, 715.8, 231.4, 715.9, 231.3, 715.2, 230.7,
-714.6, 230.0, 718.0, 232.5, 720.0, 229.9, 725.3, 229.8, 740.9, 244.0,
-748.3, 235.9, 771.3, 242.0, 765.5, 235.9, 756.5, 244.5, 741.7, 247.0,
-735.8, 247.9, 734.7, 250.8, 729.9, 248.9, 627.3, 576.9, 627.3, 576.4,
-627.0, 576.2, 627.2, 575.8, 628.0, 572.7, 625.3, 571.4, 626.8, 569.1,
-632.9, 555.2, 632.9, 555.2, 639.0, 541.4, 632.2, 549.5, 635.4, 552.2,
-631.9, 562.9, 629.6, 569.9, 629.8, 570.0, 627.3, 576.9, 732.4, 681.1,
-736.2, 702.0, 734.8, 702.4, 739.9, 722.9, 730.6, 715.9, 730.6, 715.9,
-721.2, 708.8, 720.7, 697.3, 711.7, 697.7, 702.3, 686.5, 705.4, 678.9,
-726.0, 674.9, 732.4, 681.1, 702.3, 686.5, 695.3, 678.2, 688.6, 678.5,
-688.3, 669.9, 688.1, 669.6, 687.9, 669.4, 687.9, 669.3, 702.4, 652.8,
-710.2, 655.5, 716.9, 636.3, 722.1, 644.3, 722.1, 644.3, 727.2, 652.4,
-732.9, 653.7, 729.8, 666.8, 732.4, 681.1, 726.0, 674.9, 705.4, 678.9,
-702.3, 686.5, 667.3, 731.5, 661.9, 718.3, 664.6, 716.4, 656.6, 705.1,
-658.8, 702.5, 658.8, 702.5, 661.0, 700.0, 665.1, 700.8, 665.3, 699.7,
-669.6, 699.4, 672.6, 714.6, 674.1, 728.5, 667.3, 731.5, 583.5, 760.9,
-586.3, 757.5, 588.6, 757.8, 589.1, 754.2, 588.2, 752.9, 592.5, 750.0,
-595.9, 745.9, 598.1, 742.9, 598.8, 743.4, 601.6, 740.8, 604.2, 755.3,
-605.2, 755.1, 608.7, 769.4, 605.2, 773.4, 593.4, 768.6, 583.5, 760.9,
-647.5, 730.5, 655.5, 737.8, 660.2, 736.0, 663.5, 745.0, 664.1, 745.8,
-664.1, 745.8, 664.7, 746.6, 662.4, 744.7, 662.5, 744.5, 660.3, 742.5,
-653.9, 736.5, 654.3, 736.0, 647.5, 730.5, 521.2, 461.3, 529.7, 453.6,
-529.7, 453.6, 538.1, 445.8, 538.4, 448.1, 538.8, 448.1, 539.5, 450.4,
-531.8, 457.4, 520.4, 458.7, 521.2, 461.3, 477.2, 368.6, 467.7, 376.4,
-462.7, 374.2, 458.3, 384.2, 454.8, 383.8, 452.5, 381.9, 451.3, 383.3,
-449.8, 380.1, 449.8, 380.1, 448.4, 376.8, 451.2, 367.0, 449.7, 366.5,
-451.1, 356.2, 462.6, 349.1, 457.0, 337.8, 459.7, 318.9, 461.5, 319.4,
-461.5, 319.4, 463.3, 319.9, 471.7, 343.7, 479.1, 344.9, 477.2, 368.6,
-463.3, 319.9, 471.0, 322.1, 478.7, 323.4, 478.6, 324.2, 486.4, 339.0,
-486.4, 339.0, 494.1, 353.7, 494.4, 354.1, 493.2, 355.0, 492.2, 356.2,
-488.7, 364.1, 484.7, 362.4, 477.2, 368.6, 479.1, 344.9, 471.7, 343.7,
-463.3, 319.9, 418.9, 766.3, 416.7, 763.5, 416.7, 763.5, 414.4, 760.8,
-413.6, 760.2, 414.9, 758.5, 415.4, 756.3, 418.5, 760.1, 419.8, 761.8,
-418.9, 766.3, 238.5, 801.7, 235.1, 782.2, 223.7, 770.7, 231.7, 762.7,
-232.7, 759.2, 232.7, 759.2, 233.8, 755.6, 236.8, 761.2, 234.5, 762.4,
-235.2, 769.2, 235.4, 771.3, 235.4, 771.3, 235.6, 773.3, 236.2, 779.1,
-236.2, 779.1, 236.8, 784.9, 237.4, 790.6, 237.4, 790.6, 238.0, 796.2,
-238.3, 799.0, 238.0, 799.0, 238.5, 801.7, 283.5, 685.5, 273.7, 697.1,
-275.7, 699.7, 264.0, 708.7, 263.0, 709.5, 263.0, 709.5, 262.0, 710.4,
-267.0, 702.9, 264.5, 698.4, 261.3, 688.3, 259.5, 685.3, 261.2, 684.4,
-261.0, 680.4, 271.8, 679.0, 283.1, 681.8, 283.5, 685.5, 297.7, 626.0,
-292.4, 638.3, 287.9, 636.3, 278.2, 646.7, 269.3, 656.0, 270.6, 657.7,
-260.5, 665.3, 260.4, 662.7, 260.4, 662.7, 260.4, 660.1, 270.9, 655.3,
-273.6, 645.9, 273.1, 632.1, 276.0, 625.8, 274.8, 624.9, 278.9, 619.5,
-276.5, 614.7, 289.2, 608.3, 299.5, 597.1, 303.2, 598.4, 303.1, 613.5,
-297.7, 626.0, 299.5, 597.1, 313.3, 582.2, 330.2, 573.7, 327.0, 567.2,
-337.1, 561.5, 347.3, 561.2, 347.1, 555.7, 347.1, 555.7, 347.6, 555.6,
-347.8, 555.3, 329.4, 583.6, 307.1, 608.3, 311.1, 611.9, 308.3, 614.8,
-304.9, 615.7, 305.5, 617.8, 301.6, 621.9, 296.9, 623.2, 297.7, 626.0,
-303.1, 613.5, 303.2, 598.4, 299.5, 597.1, 270.4, 486.5, 271.2, 481.3,
-273.8, 480.1, 272.0, 476.1, 274.5, 467.6, 274.5, 467.6, 277.0, 459.0,
-277.0, 459.2, 277.2, 459.3, 277.5, 459.5, 274.2, 473.1, 274.7, 473.3,
-270.4, 486.5, 273.8, 561.0, 276.9, 540.3, 287.9, 535.6, 309.5, 524.1,
-312.6, 531.3, 315.8, 538.5, 315.8, 538.5, 309.5, 552.3, 309.5, 552.3,
-303.2, 566.1, 292.8, 571.7, 273.8, 561.4, 273.8, 561.0, 293.0, 411.3,
-292.6, 409.2, 292.0, 407.2, 292.1, 407.2, 292.3, 406.5, 292.3, 406.5,
-292.5, 405.8, 306.0, 421.3, 313.3, 417.0, 335.5, 422.7, 339.3, 427.0,
-338.6, 427.9, 343.0, 431.2, 352.6, 437.1, 350.7, 440.1, 358.5, 448.9,
-359.1, 449.2, 358.1, 451.1, 357.8, 453.2, 346.9, 448.6, 347.8, 446.7,
-337.7, 440.2, 315.4, 425.7, 314.6, 426.8, 293.0, 411.3, 808.4, 189.9,
-805.3, 187.0, 805.3, 187.0, 802.1, 184.2, 799.7, 181.7, 799.7, 181.7,
-797.2, 179.1, 809.8, 174.1, 821.3, 166.9, 820.2, 163.7, 862.2, 179.9,
-899.8, 209.2, 896.1, 217.4, 893.9, 222.3, 851.7, 205.1, 808.4, 189.9,
-896.1, 217.4, 896.4, 217.5, 896.4, 217.5, 896.6, 217.7, 896.5, 217.6,
-896.4, 217.7, 896.3, 217.7, 857.8, 208.6, 857.3, 210.4, 819.3, 199.5,
-817.1, 196.1, 816.1, 196.8, 813.0, 194.0, 810.7, 191.9, 810.7, 191.9,
-808.4, 189.9, 851.7, 205.1, 893.9, 222.3, 896.1, 217.4, 786.5, 247.7,
-786.8, 247.9, 786.8, 247.9, 787.0, 248.0, 779.8, 266.6, 786.1, 269.0,
-785.1, 289.9, 785.8, 278.9, 785.5, 278.9, 785.9, 267.8, 786.2, 257.8,
-786.0, 257.7, 786.5, 247.7, 676.3, 753.6, 671.8, 742.5, 671.8, 742.5,
-667.3, 731.5, 674.1, 728.5, 672.6, 714.6, 669.6, 699.4, 675.1, 699.1,
-675.1, 699.1, 680.6, 698.7, 684.3, 705.4, 679.9, 707.8, 679.2, 716.9,
-679.2, 717.0, 679.2, 717.0, 679.2, 717.0, 677.7, 735.3, 685.8, 742.0,
-676.3, 753.6, 610.9, 789.2, 610.9, 794.7, 610.9, 794.7, 610.8, 800.2,
-578.6, 798.2, 577.5, 812.9, 544.4, 826.1, 542.7, 819.2, 538.9, 813.6,
-540.9, 812.3, 553.8, 796.7, 553.8, 796.7, 566.7, 781.1, 585.5, 775.0,
-590.8, 780.5, 610.9, 789.2, 566.7, 781.1, 568.6, 778.9, 568.1, 777.6,
-570.5, 776.6, 573.6, 774.5, 574.2, 774.0, 575.5, 770.6, 580.5, 767.1,
-579.5, 765.7, 583.5, 760.9, 593.4, 768.6, 605.2, 773.4, 608.7, 769.4,
-609.9, 774.1, 611.9, 774.5, 611.0, 778.7, 611.0, 784.0, 611.0, 784.0,
-610.9, 789.2, 590.8, 780.5, 585.5, 775.0, 566.7, 781.1, 614.4, 737.3,
-615.2, 732.7, 614.4, 728.3, 616.0, 728.0, 623.2, 721.6, 623.2, 721.6,
-630.4, 715.1, 635.8, 724.6, 638.9, 722.8, 647.5, 730.5, 654.3, 736.0,
-653.9, 736.5, 660.3, 742.5, 638.8, 746.9, 635.9, 744.3, 614.4, 737.3,
-547.6, 495.4, 547.6, 497.4, 547.6, 497.4, 547.5, 499.4, 539.3, 505.1,
-539.5, 505.4, 531.4, 511.3, 537.2, 509.1, 536.2, 506.6, 541.1, 501.8,
-544.4, 498.6, 543.7, 496.9, 547.6, 495.4, 446.0, 761.1, 439.5, 772.2,
-430.7, 774.5, 433.0, 783.4, 430.1, 779.9, 428.0, 780.3, 427.3, 776.5,
-424.8, 770.6, 423.1, 771.4, 418.9, 766.3, 419.8, 761.8, 418.5, 760.1,
-415.4, 756.3, 416.7, 749.7, 416.7, 749.7, 418.1, 743.1, 425.6, 720.3,
-423.6, 719.7, 429.2, 696.3, 429.0, 698.0, 432.6, 698.4, 436.1, 700.5,
-443.7, 730.1, 447.1, 731.0, 446.0, 761.1, 436.1, 700.5, 446.3, 706.8,
-453.4, 715.7, 456.6, 713.1, 455.4, 730.0, 450.4, 731.2, 454.2, 746.8,
-450.1, 753.9, 450.1, 753.9, 446.0, 761.1, 447.1, 731.0, 443.7, 730.1,
-436.1, 700.5, 278.2, 646.7, 287.9, 636.3, 292.4, 638.3, 297.7, 626.0,
-296.9, 623.2, 301.6, 621.9, 305.5, 617.8, 306.8, 623.1, 310.2, 622.3,
-314.9, 626.8, 306.5, 633.0, 310.6, 638.5, 306.4, 650.2, 296.2, 655.7,
-280.3, 652.7, 278.2, 646.7, 306.4, 650.2, 303.8, 657.3, 306.3, 660.7,
-301.1, 664.5, 292.3, 675.0, 292.3, 675.0, 283.5, 685.5, 283.1, 681.8,
-271.8, 679.0, 261.0, 680.4, 260.8, 672.8, 260.8, 672.8, 260.5, 665.3,
-270.6, 657.7, 269.3, 656.0, 278.2, 646.7, 280.3, 652.7, 296.2, 655.7,
-306.4, 650.2, 292.8, 485.6, 301.1, 504.9, 301.1, 504.9, 309.5, 524.1,
-287.9, 535.6, 276.9, 540.3, 273.8, 561.0, 268.3, 566.7, 268.3, 566.7,
-262.7, 572.5, 261.5, 573.7, 260.9, 573.4, 260.4, 574.9, 275.9, 530.0,
-262.6, 516.8, 292.8, 485.6, 260.4, 574.9, 259.7, 576.6, 257.4, 577.3,
-257.6, 577.7, 257.5, 573.8, 257.5, 573.8, 257.4, 569.9, 265.0, 528.4,
-263.9, 528.2, 270.4, 486.5, 274.7, 473.3, 274.2, 473.1, 277.5, 459.5,
-278.2, 460.2, 279.1, 460.5, 279.0, 460.9, 278.9, 461.2, 279.3, 461.5,
-279.8, 461.8, 282.5, 463.1, 282.0, 463.9, 284.3, 466.1, 284.9, 476.1,
-288.5, 475.9, 292.8, 485.6, 262.6, 516.8, 275.9, 530.0, 260.4, 574.9,
-298.6, 576.2, 296.3, 581.2, 297.6, 585.1, 294.0, 586.2, 282.3, 599.0,
-273.7, 609.2, 278.9, 619.5, 274.8, 624.9, 276.0, 625.8, 273.1, 632.1,
-273.2, 635.0, 262.0, 633.2, 259.6, 638.3, 259.6, 636.7, 259.7, 636.7,
-259.5, 635.1, 272.9, 617.1, 258.6, 606.4, 257.6, 577.7, 257.4, 577.3,
-259.7, 576.6, 260.4, 574.9, 260.9, 573.4, 261.5, 573.7, 262.7, 572.5,
-280.7, 573.1, 282.9, 569.3, 298.6, 576.2, 262.7, 572.5, 268.3, 566.7,
-268.3, 566.7, 273.8, 561.0, 273.8, 561.4, 292.8, 571.7, 303.2, 566.1,
-300.9, 571.2, 300.9, 571.2, 298.6, 576.2, 282.9, 569.3, 280.7, 573.1,
-262.7, 572.5, 337.7, 440.2, 347.8, 446.7, 346.9, 448.6, 357.8, 453.2,
-357.2, 457.1, 357.2, 457.1, 356.6, 461.0, 347.1, 462.7, 342.5, 471.0,
-340.7, 482.8, 332.3, 484.2, 332.3, 484.2, 323.8, 485.7, 322.2, 463.5,
-322.7, 454.5, 337.7, 440.2, 323.8, 485.7, 322.6, 485.9, 322.1, 486.6,
-321.3, 486.1, 314.9, 482.3, 314.9, 482.3, 308.5, 478.6, 316.2, 449.0,
-300.8, 444.9, 293.0, 411.3, 314.6, 426.8, 315.4, 425.7, 337.7, 440.2,
-322.7, 454.5, 322.2, 463.5, 323.8, 485.7, 785.9, 267.8, 785.5, 278.9,
-785.8, 278.9, 785.1, 289.9, 784.5, 302.9, 783.8, 302.9, 784.0, 315.9,
-778.8, 309.5, 775.2, 302.3, 773.6, 303.1, 773.7, 303.0, 773.5, 302.8,
-773.3, 302.8, 771.1, 303.5, 770.3, 294.4, 764.8, 292.2, 766.2, 271.9,
-747.4, 270.5, 729.9, 248.9, 734.7, 250.8, 735.8, 247.9, 741.7, 247.0,
-764.7, 254.7, 769.5, 251.6, 785.9, 267.8, 741.7, 247.0, 756.5, 244.5,
-765.5, 235.9, 771.3, 242.0, 776.7, 243.5, 778.4, 241.6, 782.1, 244.9,
-784.3, 246.3, 784.3, 246.3, 786.5, 247.7, 786.0, 257.7, 786.2, 257.8,
-785.9, 267.8, 769.5, 251.6, 764.7, 254.7, 741.7, 247.0, 630.0, 617.0,
-628.7, 597.0, 628.7, 597.0, 627.3, 576.9, 629.8, 570.0, 629.6, 569.9,
-631.9, 562.9, 633.7, 589.8, 638.1, 592.3, 630.0, 617.0, 673.4, 583.9,
-681.1, 606.5, 673.2, 615.5, 688.7, 629.0, 686.2, 637.8, 686.2, 637.8,
-683.7, 646.7, 673.6, 617.0, 665.6, 611.6, 673.4, 583.9, 678.1, 758.1,
-677.2, 755.8, 677.2, 755.8, 676.3, 753.6, 685.8, 742.0, 677.7, 735.3,
-679.2, 717.0, 670.4, 723.5, 678.7, 734.6, 678.3, 752.1, 678.2, 755.1,
-679.6, 757.0, 678.1, 758.1, 614.2, 738.3, 614.3, 737.8, 614.3, 737.8,
-614.4, 737.3, 635.9, 744.3, 638.8, 746.9, 660.3, 742.5, 662.5, 744.5,
-662.4, 744.7, 664.7, 746.6, 667.7, 750.4, 667.7, 750.4, 670.7, 754.2,
-659.6, 770.2, 661.4, 771.4, 652.0, 788.7, 627.9, 781.9, 632.9, 763.7,
-614.2, 738.3, 652.0, 788.7, 644.6, 802.4, 641.6, 801.5, 637.1, 816.1,
-624.2, 786.6, 629.3, 783.0, 611.2, 757.1, 611.2, 757.0, 611.2, 757.0,
-611.1, 756.9, 613.5, 756.7, 612.7, 747.6, 614.2, 738.3, 632.9, 763.7,
-627.9, 781.9, 652.0, 788.7, 541.1, 501.8, 536.2, 506.6, 537.2, 509.1,
-531.4, 511.3, 521.8, 518.4, 518.9, 516.3, 512.1, 525.5, 508.3, 514.0,
-508.3, 514.0, 504.5, 502.6, 509.2, 496.3, 517.1, 502.3, 529.8, 502.0,
-535.4, 501.9, 540.9, 501.0, 541.1, 501.8, 235.2, 769.2, 234.5, 762.4,
-236.8, 761.2, 233.8, 755.6, 235.0, 751.5, 233.8, 748.3, 236.2, 747.4,
-237.6, 746.0, 237.6, 746.0, 239.0, 744.7, 238.4, 757.0, 240.3, 758.5,
-235.2, 769.2, 238.0, 796.2, 237.4, 790.6, 237.4, 790.6, 236.8, 784.9,
-241.5, 774.8, 244.1, 776.0, 251.5, 767.1, 255.0, 762.8, 255.0, 762.8,
-258.5, 758.5, 296.1, 712.6, 296.1, 712.7, 333.7, 666.8, 334.2, 666.2,
-334.6, 665.6, 334.6, 665.6, 334.6, 665.6, 334.2, 666.2, 333.7, 666.8,
-306.0, 704.2, 306.0, 704.2, 278.3, 741.7, 270.2, 752.7, 270.2, 752.7,
-262.0, 763.8, 250.0, 780.0, 253.0, 783.6, 238.0, 796.2, 660.5, 548.2,
-660.2, 549.1, 661.6, 549.4, 662.2, 550.8, 665.4, 554.2, 663.8, 555.6,
-665.5, 560.5, 664.0, 575.9, 661.9, 575.7, 658.3, 591.0, 652.1, 617.1,
-652.1, 617.1, 646.0, 643.2, 642.8, 656.7, 646.9, 659.5, 639.6, 670.2,
-636.4, 666.3, 632.8, 666.0, 633.1, 662.4, 632.6, 653.6, 632.5, 653.6,
-631.9, 644.9, 643.7, 595.9, 645.0, 596.2, 660.5, 548.2, 631.9, 644.9,
-631.0, 631.0, 631.0, 631.0, 630.0, 617.0, 638.1, 592.3, 633.7, 589.8,
-631.9, 562.9, 635.4, 552.2, 632.2, 549.5, 639.0, 541.4, 640.7, 537.4,
-643.4, 536.7, 642.5, 533.4, 649.4, 537.5, 656.1, 537.2, 656.3, 541.6,
-659.1, 543.9, 661.1, 545.5, 660.5, 548.2, 645.0, 596.2, 643.7, 595.9,
-631.9, 644.9, 655.4, 689.2, 647.5, 679.7, 647.5, 679.7, 639.6, 670.2,
-646.9, 659.5, 642.8, 656.7, 646.0, 643.2, 659.2, 659.2, 660.3, 668.5,
-655.4, 689.2, 679.2, 716.9, 679.9, 707.8, 684.3, 705.4, 680.6, 698.7,
-692.3, 698.0, 692.5, 699.2, 703.9, 697.2, 710.1, 708.1, 710.1, 708.1,
-716.3, 718.9, 705.5, 727.6, 697.8, 717.9, 679.2, 716.9, 679.2, 717.0,
-679.2, 717.0, 679.2, 717.0, 679.2, 717.0, 679.2, 717.0, 679.2, 716.9,
-679.2, 717.0, 679.2, 717.0, 679.2, 717.0, 679.2, 717.0, 679.2, 717.0,
-679.2, 716.9, 541.9, 459.0, 544.5, 467.9, 544.5, 467.9, 547.0, 476.8,
-546.9, 481.5, 546.7, 481.7, 547.9, 486.2, 547.8, 490.8, 547.8, 490.8,
-547.6, 495.4, 543.7, 496.9, 544.4, 498.6, 541.1, 501.8, 540.9, 501.0,
-535.4, 501.9, 529.8, 502.0, 530.2, 480.4, 530.0, 476.5, 541.9, 459.0,
-529.8, 502.0, 517.1, 502.3, 509.2, 496.3, 504.5, 502.6, 501.4, 493.6,
-495.6, 487.0, 498.4, 484.5, 499.7, 482.2, 499.7, 482.2, 501.0, 479.8,
-499.2, 474.1, 511.1, 470.5, 521.2, 461.3, 520.4, 458.7, 531.8, 457.4,
-539.5, 450.4, 540.7, 454.7, 540.7, 454.7, 541.9, 459.0, 530.0, 476.5,
-530.2, 480.4, 529.8, 502.0, 251.5, 767.1, 244.1, 776.0, 241.5, 774.8,
-236.8, 784.9, 236.2, 779.1, 236.2, 779.1, 235.6, 773.3, 240.3, 767.5,
-251.7, 769.3, 251.5, 767.1, 658.3, 591.0, 661.9, 575.7, 664.0, 575.9,
-665.5, 560.5, 669.5, 572.2, 669.5, 572.2, 673.4, 583.9, 665.6, 611.6,
-673.6, 617.0, 683.7, 646.7, 680.8, 656.7, 683.9, 659.1, 678.0, 666.8,
-674.1, 673.6, 674.1, 673.6, 670.2, 680.4, 659.0, 637.1, 660.1, 635.9,
-658.3, 591.0, 670.2, 680.4, 665.7, 688.3, 664.7, 687.9, 661.2, 696.3,
-658.3, 692.8, 658.3, 692.8, 655.4, 689.2, 660.3, 668.5, 659.2, 659.2,
-646.0, 643.2, 652.1, 617.1, 652.1, 617.1, 658.3, 591.0, 660.1, 635.9,
-659.0, 637.1, 670.2, 680.4, 713.4, 763.0, 709.0, 767.6, 709.6, 768.3,
-704.6, 772.1, 704.0, 772.6, 704.1, 772.7, 703.6, 773.3, 698.9, 778.5,
-698.7, 778.3, 693.8, 783.4, 694.9, 781.9, 689.7, 778.1, 685.5, 772.8,
-680.8, 769.9, 682.5, 767.1, 679.5, 761.5, 678.6, 759.8, 678.8, 759.8,
-678.1, 758.1, 679.6, 757.0, 678.2, 755.1, 678.3, 752.1, 696.3, 754.7,
-699.7, 752.5, 713.4, 763.0, 284.9, 700.5, 315.7, 670.8, 315.7, 670.8,
-346.4, 641.2, 344.6, 644.3, 346.8, 645.6, 347.1, 650.0, 347.1, 650.3,
-347.0, 650.3, 346.9, 650.6, 345.3, 652.8, 345.2, 652.7, 343.5, 654.8,
-339.0, 660.2, 339.0, 660.2, 334.6, 665.6, 296.6, 712.0, 305.8, 725.3,
-258.5, 758.5, 281.0, 742.7, 266.3, 725.4, 284.9, 700.5, 258.5, 758.5,
-255.0, 762.8, 255.0, 762.8, 251.5, 767.1, 251.7, 769.3, 240.3, 767.5,
-235.6, 773.3, 235.4, 771.3, 235.4, 771.3, 235.2, 769.2, 240.3, 758.5,
-238.4, 757.0, 239.0, 744.7, 262.0, 722.6, 262.0, 722.6, 284.9, 700.5,
-266.3, 725.4, 281.0, 742.7, 258.5, 758.5, 262.0, 763.8, 270.2, 752.7,
-270.2, 752.7, 278.3, 741.7, 282.8, 773.8, 273.3, 775.1, 268.2, 808.5,
-264.9, 830.4, 264.9, 830.4, 261.6, 852.3, 261.6, 852.8, 261.7, 852.9,
-261.5, 853.3, 260.7, 854.9, 259.4, 855.5, 259.8, 856.5, 255.4, 849.5,
-255.4, 849.5, 251.0, 842.4, 251.9, 803.0, 251.7, 801.8, 262.0, 763.8,
-251.0, 842.4, 247.3, 836.7, 244.0, 836.8, 243.7, 830.9, 241.5, 818.6,
-234.4, 814.0, 239.4, 806.4, 240.0, 804.4, 239.0, 804.0, 238.5, 801.7,
-238.0, 799.0, 238.3, 799.0, 238.0, 796.2, 253.0, 783.6, 250.0, 780.0,
-262.0, 763.8, 251.7, 801.8, 251.9, 803.0, 251.0, 842.4, 719.8, 756.4,
-716.6, 759.7, 716.6, 759.7, 713.4, 763.0, 699.7, 752.5, 696.3, 754.7,
-678.3, 752.1, 678.7, 734.6, 670.4, 723.5, 679.2, 717.0, 679.2, 717.0,
-679.2, 717.0, 679.2, 716.9, 697.8, 717.9, 705.5, 727.6, 716.3, 718.9,
-717.3, 720.6, 717.3, 720.6, 718.2, 722.2, 719.8, 739.2, 721.7, 739.6,
-719.8, 756.4, 718.2, 722.2, 724.7, 733.4, 721.4, 738.3, 731.1, 744.7,
-725.4, 750.5, 725.4, 750.5, 719.8, 756.4, 721.7, 739.6, 719.8, 739.2,
-718.2, 722.2, 333.7, 666.8, 334.2, 666.2, 334.6, 665.6, 334.6, 665.6,
-339.0, 660.2, 339.0, 660.2, 343.5, 654.8, 342.0, 665.7, 338.4, 665.2,
-333.3, 675.6, 324.0, 694.6, 315.7, 694.2, 314.7, 713.7, 315.9, 689.8,
-324.0, 690.2, 333.7, 666.8, 314.7, 713.7, 292.5, 761.6, 305.7, 779.6,
-268.2, 808.5, 273.3, 775.1, 282.8, 773.8, 278.3, 741.7, 306.0, 704.2,
-306.0, 704.2, 333.7, 666.8, 324.0, 690.2, 315.9, 689.8, 314.7, 713.7,
-333.3, 675.6, 338.4, 665.2, 342.0, 665.7, 343.5, 654.8, 345.2, 652.7,
-345.3, 652.8, 346.9, 650.6, 335.4, 692.2, 334.6, 692.0, 324.0, 733.9,
-298.0, 795.3, 292.6, 793.0, 261.6, 852.3, 261.6, 852.8, 261.7, 852.9,
-261.5, 853.3, 261.7, 852.9, 261.6, 852.8, 261.6, 852.3, 297.4, 763.9,
-296.8, 763.7, 333.3, 675.6, 261.6, 852.3, 264.9, 830.4, 264.9, 830.4,
-268.2, 808.5, 305.7, 779.6, 292.5, 761.6, 314.7, 713.7, 315.7, 694.2,
-324.0, 694.6, 333.3, 675.6, 296.8, 763.7, 297.4, 763.9, 261.6, 852.3
-};
diff --git a/perf/micro/paint-with-alpha.c b/perf/micro/paint-with-alpha.c
deleted file mode 100644 (file)
index b0f35fb..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-do_paint_with_alpha (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_paint_with_alpha (cr, 0.5);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static double
-count_paint_with_alpha (cairo_t *cr, int width, int height)
-{
-    return width * height / 1e6; /* Mpix/s */
-}
-
-cairo_bool_t
-paint_with_alpha_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "paint-with-alpha", NULL);
-}
-
-void
-paint_with_alpha (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_cover_sources_and_operators (perf, "paint-with-alpha",
-                                           do_paint_with_alpha,
-                                           count_paint_with_alpha);
-}
diff --git a/perf/micro/paint.c b/perf/micro/paint.c
deleted file mode 100644 (file)
index 87b0096..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-do_paint (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_paint (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static double
-count_paint (cairo_t *cr, int width, int height)
-{
-    return width * height / 1e6; /* Mpix/s */
-}
-
-cairo_bool_t
-paint_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "paint", NULL);
-}
-
-void
-paint (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_cover_sources_and_operators (perf, "paint", do_paint, count_paint);
-}
diff --git a/perf/micro/pattern_create_radial.c b/perf/micro/pattern_create_radial.c
deleted file mode 100644 (file)
index bbb766f..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright © 2006 Dan Amelang
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Dan Amelang <dan@amelang.net>
- *
- * This test was originally created to test _cairo_fixed_from_double.
- * cairo_pattern_create_radial was selected as the entry point into
- * cairo as it makes several calls to _cairo_fixed_from_double and
- * presents a somewhat realistic use-case (although the RADIALS_COUNT
- * isn't very realistic).
- */
-#include <time.h>
-#include "cairo-perf.h"
-
-#define RADIALS_COUNT (10000)
-
-static struct
-{
-    double cx0;
-    double cy0;
-    double radius0;
-    double cx1;
-    double cy1;
-    double radius1;
-} radials[RADIALS_COUNT];
-
-static double
-generate_double_in_range (double min, double max)
-{
-    double d;
-
-    d = rand () / (double) RAND_MAX;
-    d *= max - min;
-    d += min;
-
-    return d;
-}
-
-static cairo_time_t
-do_pattern_create_radial (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       cairo_pattern_t *pattern;
-       int i;
-
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-
-       for (i = 0; i < RADIALS_COUNT; i++) {
-           pattern =
-               cairo_pattern_create_radial (radials[i].cx0, radials[i].cy0,
-                                            radials[i].radius0,
-                                            radials[i].cx1, radials[i].cy1,
-                                            radials[i].radius1);
-           cairo_pattern_destroy (pattern);
-       }
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-pattern_create_radial_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "pattern-create-radial", NULL);
-}
-
-void
-pattern_create_radial (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    int i;
-
-    srand (time (0));
-    for (i = 0; i < RADIALS_COUNT; i++)
-    {
-        radials[i].cx0 = generate_double_in_range (-50000.0, 50000.0);
-        radials[i].cy0 = generate_double_in_range (-50000.0, 50000.0);
-        radials[i].radius0 = generate_double_in_range (0.0, 1000.0);
-        radials[i].cx1 = generate_double_in_range (-50000.0, 50000.0);
-        radials[i].cy1 = generate_double_in_range (-50000.0, 50000.0);
-        radials[i].radius1 = generate_double_in_range (0.0, 1000.0);
-    }
-
-    cairo_perf_run (perf, "pattern-create-radial",
-                          do_pattern_create_radial, NULL);
-}
diff --git a/perf/micro/pixel.c b/perf/micro/pixel.c
deleted file mode 100644 (file)
index b600b51..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* Measure the overhead in setting a single pixel */
-
-#include "cairo-perf.h"
-
-#include <pixman.h>
-
-static cairo_time_t
-pixel_direct (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_surface_t *surface, *image;
-    uint32_t *data;
-    int stride, bpp;
-
-    surface = cairo_get_target (cr);
-    image = cairo_surface_map_to_image (surface, NULL);
-    data = (uint32_t *) cairo_image_surface_get_data (image);
-    stride = cairo_image_surface_get_stride (image) / sizeof (uint32_t);
-
-    switch (cairo_image_surface_get_format (image)) {
-    default:
-    case CAIRO_FORMAT_INVALID:
-    case CAIRO_FORMAT_A1: bpp = 0; break;
-    case CAIRO_FORMAT_A8: bpp = 8; break;
-    case CAIRO_FORMAT_RGB16_565: bpp = 16; break;
-    case CAIRO_FORMAT_RGB24:
-    case CAIRO_FORMAT_RGB30:
-    case CAIRO_FORMAT_ARGB32: bpp = 32; break;
-    }
-
-    cairo_perf_timer_start ();
-
-    while (loops--)
-       pixman_fill (data, stride, bpp, 0, 0, 1, 1, -1);
-
-    cairo_perf_timer_stop ();
-
-    cairo_surface_unmap_image (surface, image);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-pixel_paint (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_perf_timer_start ();
-
-    while (loops--)
-       cairo_paint (cr);
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-pixel_mask (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_surface_t *mask;
-    cairo_t *cr2;
-
-    mask = cairo_surface_create_similar (cairo_get_target (cr),
-                                        CAIRO_CONTENT_ALPHA,
-                                        1, 1);
-    cr2 = cairo_create (mask);
-    cairo_set_source_rgb (cr2, 1,1,1);
-    cairo_paint (cr2);
-    cairo_destroy (cr2);
-
-    cairo_perf_timer_start ();
-
-    while (loops--)
-       cairo_mask_surface (cr, mask, 0, 0);
-
-    cairo_perf_timer_stop ();
-
-    cairo_surface_destroy (mask);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-pixel_rectangle (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_new_path (cr);
-    cairo_rectangle (cr, 0, 0, 1, 1);
-
-    cairo_perf_timer_start ();
-
-    while (loops--)
-       cairo_fill_preserve (cr);
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-pixel_subrectangle (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_new_path (cr);
-    cairo_rectangle (cr, 0.1, 0.1, .8, .8);
-
-    cairo_perf_timer_start ();
-
-    while (loops--)
-       cairo_fill_preserve (cr);
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-pixel_triangle (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_new_path (cr);
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, 1, 1);
-    cairo_line_to (cr, 0, 1);
-
-    cairo_perf_timer_start ();
-
-    while (loops--)
-       cairo_fill_preserve (cr);
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-pixel_circle (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_new_path (cr);
-    cairo_arc (cr, 0.5, 0.5, 0.5, 0, 2 * M_PI);
-
-    cairo_perf_timer_start ();
-
-    while (loops--)
-       cairo_fill_preserve (cr);
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-pixel_stroke (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_line_width (cr, 1.);
-    cairo_new_path (cr);
-    cairo_move_to (cr, 0, 0.5);
-    cairo_line_to (cr, 1, 0.5);
-
-    cairo_perf_timer_start ();
-
-    while (loops--)
-       cairo_stroke_preserve (cr);
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-pixel_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "pixel", NULL);
-}
-
-void
-pixel (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-
-    cairo_perf_run (perf, "pixel-direct", pixel_direct, NULL);
-    cairo_perf_run (perf, "pixel-paint", pixel_paint, NULL);
-    cairo_perf_run (perf, "pixel-mask", pixel_mask, NULL);
-    cairo_perf_run (perf, "pixel-rectangle", pixel_rectangle, NULL);
-    cairo_perf_run (perf, "pixel-subrectangle", pixel_subrectangle, NULL);
-    cairo_perf_run (perf, "pixel-triangle", pixel_triangle, NULL);
-    cairo_perf_run (perf, "pixel-circle", pixel_circle, NULL);
-    cairo_perf_run (perf, "pixel-stroke", pixel_stroke, NULL);
-}
-
-cairo_bool_t
-a1_pixel_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "a1-pixel", NULL);
-}
-
-void
-a1_pixel (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    cairo_perf_run (perf, "a1-pixel-direct", pixel_direct, NULL);
-    cairo_perf_run (perf, "a1-pixel-paint", pixel_paint, NULL);
-    cairo_perf_run (perf, "a1-pixel-mask", pixel_mask, NULL);
-    cairo_perf_run (perf, "a1-pixel-rectangle", pixel_rectangle, NULL);
-    cairo_perf_run (perf, "a1-pixel-subrectangle", pixel_subrectangle, NULL);
-    cairo_perf_run (perf, "a1-pixel-triangle", pixel_triangle, NULL);
-    cairo_perf_run (perf, "a1-pixel-circle", pixel_circle, NULL);
-    cairo_perf_run (perf, "a1-pixel-stroke", pixel_stroke, NULL);
-}
diff --git a/perf/micro/pythagoras-tree.c b/perf/micro/pythagoras-tree.c
deleted file mode 100644 (file)
index 3bb1506..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright © 2007 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-#define _USE_MATH_DEFINES /* for M_SQRT2 on win32 */
-#include <math.h>
-
-static void
-add_rectangle (cairo_t *cr, double size)
-{
-    double x, y;
-
-    if (size < 1)
-       return;
-
-    cairo_get_current_point (cr, &x, &y);
-
-    cairo_rel_move_to (cr, -size/2., -size/2.);
-    cairo_rel_line_to (cr, size, 0);
-    cairo_rel_line_to (cr, 0, size);
-    cairo_rel_line_to (cr, -size, 0);
-    cairo_close_path (cr);
-
-    cairo_save (cr);
-    cairo_translate (cr, -size/2., size);
-    cairo_move_to (cr, x, y);
-    cairo_rotate (cr, M_PI/4);
-    add_rectangle (cr, size / M_SQRT2);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_translate (cr, size/2., size);
-    cairo_move_to (cr, x, y);
-    cairo_rotate (cr, -M_PI/4);
-    add_rectangle (cr, size / M_SQRT2);
-    cairo_restore (cr);
-}
-
-static cairo_time_t
-do_pythagoras_tree (cairo_t *cr, int width, int height, int loops)
-{
-    double size = 128;
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE); 
-       cairo_save (cr);
-       cairo_translate (cr, 0, height);
-       cairo_scale (cr, 1, -1);
-
-       cairo_move_to (cr, width/2, size/2);
-       add_rectangle (cr, size);
-       cairo_set_source_rgb (cr, 0., 0., 0.);
-       cairo_fill (cr);
-       cairo_restore (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-pythagoras_tree_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "pythagoras-tree", NULL);
-}
-
-void
-pythagoras_tree (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "pythagoras-tree", do_pythagoras_tree, NULL);
-}
diff --git a/perf/micro/rectangles.c b/perf/micro/rectangles.c
deleted file mode 100644 (file)
index d936cdb..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright © 2006 Dan Amelang
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Dan Amelang <dan@amelang.net>
- */
-#include "cairo-perf.h"
-
-#if 0
-#define MODE cairo_perf_run
-#else
-#define MODE cairo_perf_cover_sources_and_operators
-#endif
-
-#define RECTANGLE_COUNT (1000)
-
-static struct {
-    double x;
-    double y;
-    double width;
-    double height;
-} rects[RECTANGLE_COUNT];
-
-static cairo_time_t
-do_rectangles (cairo_t *cr, int width, int height, int loops)
-{
-    int i;
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       for (i = 0; i < RECTANGLE_COUNT; i++) {
-           cairo_rectangle (cr, rects[i].x, rects[i].y,
-                            rects[i].width, rects[i].height);
-           cairo_fill (cr);
-       }
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_rectangles_once (cairo_t *cr, int width, int height, int loops)
-{
-    int i;
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       for (i = 0; i < RECTANGLE_COUNT; i++) {
-           cairo_rectangle (cr, rects[i].x, rects[i].y,
-                            rects[i].width, rects[i].height);
-       }
-
-       cairo_fill (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_rectangle (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_rectangle (cr, 0, 0, width, height);
-       cairo_fill (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-rectangles_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "rectangles", NULL);
-}
-
-void
-rectangles (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    int i;
-
-    srand (8478232);
-    for (i = 0; i < RECTANGLE_COUNT; i++)
-    {
-        rects[i].x = rand () % width;
-        rects[i].y = rand () % height;
-        rects[i].width  = (rand () % (width / 10)) + 1;
-        rects[i].height = (rand () % (height / 10)) + 1;
-    }
-
-    MODE (perf, "one-rectangle", do_rectangle, NULL);
-    MODE (perf, "rectangles", do_rectangles, NULL);
-    MODE (perf, "rectangles-once", do_rectangles_once, NULL);
-}
diff --git a/perf/micro/rounded-rectangles.c b/perf/micro/rounded-rectangles.c
deleted file mode 100644 (file)
index b71021a..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright © 2005 Owen Taylor
- * Copyright © 2007 Dan Amelang
- * Copyright © 2007 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* This perf case is derived from the bug report
- *   Gradient on 'rounded rectangle' MUCH slower than normal rectangle
- *   https://bugs.freedesktop.org/show_bug.cgi?id=4263.
- */
-
-#include "cairo-perf.h"
-
-#define RECTANGLE_COUNT (1000)
-
-#if 0
-#define MODE cairo_perf_run
-#else
-#define MODE cairo_perf_cover_sources_and_operators
-#endif
-
-static struct
-{
-    double x;
-    double y;
-    double width;
-    double height;
-} rects[RECTANGLE_COUNT];
-
-static void
-rounded_rectangle (cairo_t *cr,
-                  double x, double y, double w, double h,
-                  double radius)
-{
-    cairo_move_to (cr, x+radius, y);
-    cairo_arc (cr, x+w-radius, y+radius,   radius, M_PI + M_PI / 2, M_PI * 2        );
-    cairo_arc (cr, x+w-radius, y+h-radius, radius, 0,               M_PI / 2        );
-    cairo_arc (cr, x+radius,   y+h-radius, radius, M_PI/2,          M_PI            );
-    cairo_arc (cr, x+radius,   y+radius,   radius, M_PI,            270 * M_PI / 180);
-}
-
-static cairo_time_t
-do_rectangle (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       rounded_rectangle (cr, 0, 0, width, height, 3.0);
-       cairo_fill (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_rectangles (cairo_t *cr, int width, int height, int loops)
-{
-    int i;
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       for (i = 0; i < RECTANGLE_COUNT; i++) {
-           rounded_rectangle (cr,
-                              rects[i].x, rects[i].y,
-                              rects[i].width, rects[i].height,
-                              3.0);
-           cairo_fill (cr);
-       }
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_rectangles_once (cairo_t *cr, int width, int height, int loops)
-{
-    int i;
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       for (i = 0; i < RECTANGLE_COUNT; i++) {
-           rounded_rectangle (cr,
-                              rects[i].x, rects[i].y,
-                              rects[i].width, rects[i].height,
-                              3.0);
-       }
-       cairo_fill (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-rounded_rectangles_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "rounded-rectangles", NULL);
-}
-
-void
-rounded_rectangles (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    int i;
-
-    srand (8478232);
-    for (i = 0; i < RECTANGLE_COUNT; i++) {
-        rects[i].x = rand () % width;
-        rects[i].y = rand () % height;
-        rects[i].width  = (rand () % (width / 10)) + 1;
-        rects[i].height = (rand () % (height / 10)) + 1;
-    }
-
-    MODE (perf, "one-rounded-rectangle", do_rectangle, NULL);
-    MODE (perf, "rounded-rectangles", do_rectangles, NULL);
-    MODE (perf, "rounded-rectangles-once", do_rectangles_once, NULL);
-}
diff --git a/perf/micro/sierpinski.c b/perf/micro/sierpinski.c
deleted file mode 100644 (file)
index 1231c2b..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-static const double m_1_sqrt_3 = 0.577359269;
-
-static void
-T (cairo_t *cr, int size)
-{
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, size, 0);
-    cairo_line_to (cr, size/2, size*m_1_sqrt_3);
-
-    size /= 2;
-    if (size >= 4) {
-       T (cr, size);
-       cairo_save (cr); {
-           cairo_translate (cr, size, 0);
-           T (cr, size);
-       } cairo_restore (cr);
-       cairo_save (cr); {
-           cairo_translate (cr, size/2, size*m_1_sqrt_3);
-           T (cr, size);
-       } cairo_restore (cr);
-    }
-}
-
-static cairo_time_t
-draw (cairo_t *cr, int width, int height, int loops)
-{
-    int t_height = height/2;
-    int t_width = t_height / m_1_sqrt_3;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_set_line_width (cr, 1.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_save (cr);
-       T (cr, t_width);
-
-       cairo_translate (cr, 0, height);
-       cairo_scale (cr, 1, -1);
-
-       T (cr, t_width);
-
-       cairo_stroke (cr);
-       cairo_restore (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-sierpinski_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "sierpinski", NULL);
-}
-
-void
-sierpinski (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "sierpinski", draw, NULL);
-}
diff --git a/perf/micro/spiral.c b/perf/micro/spiral.c
deleted file mode 100644 (file)
index f266066..0000000
+++ /dev/null
@@ -1,367 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright (c) 2008  M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-#include <assert.h>
-#include "cairo-perf.h"
-
-#define MAX_SEGMENTS 2560
-
-typedef enum {
-    PIXALIGN,                   /* pixel aligned path */
-    NONALIGN                    /* unaligned path. */
-} align_t;
-
-typedef enum {
-    RECTCLOSE,                  /* keeps the path rectilinear */
-    DIAGCLOSE                   /* forces a diagonal */
-} close_t;
-
-static cairo_time_t
-draw_spiral (cairo_t *cr,
-             cairo_fill_rule_t fill_rule,
-             align_t align,
-             close_t close,
-             int width, int height, int loops)
-{
-    int i;
-    int n=0;
-    double x[MAX_SEGMENTS];
-    double y[MAX_SEGMENTS];
-    int step = 3;
-    int side = width < height ? width : height;
-
-    assert(5*(side/step/2+1)+2 < MAX_SEGMENTS);
-
-#define L(x_,y_) (x[n] = (x_), y[n] = (y_), n++)
-#define M(x_,y_) L(x_,y_)
-#define v(t) L(x[n-1], y[n-1] + (t))
-#define h(t) L(x[n-1] + (t), y[n-1])
-
-    switch (align) {
-    case PIXALIGN: M(0,0); break;
-    case NONALIGN: M(0.1415926, 0.7182818); break;
-    }
-
-    while (side >= step && side >= 0) {
-        v(side);
-        h(side);
-        v(-side);
-        h(-side+step);
-        v(step);
-        side -= 2*step;
-    }
-
-    switch (close) {
-    case RECTCLOSE: L(x[n-1],y[0]); break;
-    case DIAGCLOSE: L(x[0],y[0]); break;
-    }
-
-    assert(n < MAX_SEGMENTS);
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 1, 1);
-    cairo_set_fill_rule (cr, fill_rule);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, x[0], y[0]);
-    for (i = 1; i < n; i++) {
-       cairo_line_to (cr, x[i], y[i]);
-    }
-    cairo_close_path (cr);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-        cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_restore (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-draw_spiral_box (cairo_t *cr,
-                cairo_fill_rule_t fill_rule,
-                align_t align,
-                int width, int height, int loops)
-{
-    const int step = 3;
-    int side = (width < height ? width : height) - 2;
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_set_fill_rule (cr, fill_rule);
-    cairo_translate (cr, 1, 1);
-    if (align == NONALIGN)
-       cairo_translate (cr, 0.1415926, 0.7182818);
-
-    cairo_new_path (cr);
-    while (side >= step) {
-       cairo_rectangle (cr, 0, 0, side, side);
-       cairo_translate (cr, step, step);
-       side -= 2*step;
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-        cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_restore (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-draw_spiral_stroke (cairo_t *cr,
-                   align_t align,
-                   int width, int height, int loops)
-{
-    const int step = 3;
-    int side = width < height ? width : height;
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 1, 1);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_set_line_width (cr, 4.);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-
-    cairo_new_path (cr);
-    switch (align) {
-    case PIXALIGN: cairo_move_to (cr, 0,0); break;
-    case NONALIGN: cairo_move_to (cr, 0.1415926, 0.7182818); break;
-    }
-    while (side >= step) {
-       cairo_rel_line_to (cr, 0, side);
-        side -= step;
-       if (side <= 0)
-           break;
-
-       cairo_rel_line_to (cr, side, 0);
-        side -= step;
-       if (side <= 0)
-           break;
-
-       cairo_rel_line_to (cr, 0, -side);
-        side -= step;
-       if (side <= 0)
-           break;
-
-       cairo_rel_line_to (cr, -side, 0);
-        side -= step;
-       if (side <= 0)
-           break;
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-    while (loops--) {
-       if (loops == 0)
-           cairo_perf_set_thread_aware (cr, TRUE);
-        cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_restore (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-draw_spiral_eo_pa_re (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral (cr,
-                        CAIRO_FILL_RULE_EVEN_ODD,
-                        PIXALIGN,
-                        RECTCLOSE,
-                        width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_nz_pa_re (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral (cr,
-                        CAIRO_FILL_RULE_WINDING,
-                        PIXALIGN,
-                        RECTCLOSE,
-                        width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_eo_na_re (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral (cr,
-                        CAIRO_FILL_RULE_EVEN_ODD,
-                        NONALIGN,
-                        RECTCLOSE,
-                        width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_nz_na_re (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral (cr,
-                        CAIRO_FILL_RULE_WINDING,
-                        NONALIGN,
-                        RECTCLOSE,
-                        width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_eo_pa_di (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral (cr,
-                        CAIRO_FILL_RULE_EVEN_ODD,
-                        PIXALIGN,
-                        DIAGCLOSE,
-                        width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_nz_pa_di (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral (cr,
-                        CAIRO_FILL_RULE_WINDING,
-                        PIXALIGN,
-                        DIAGCLOSE,
-                        width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_eo_na_di (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral (cr,
-                        CAIRO_FILL_RULE_EVEN_ODD,
-                        NONALIGN,
-                        DIAGCLOSE,
-                        width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_nz_na_di (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral (cr,
-                        CAIRO_FILL_RULE_WINDING,
-                        NONALIGN,
-                        DIAGCLOSE,
-                        width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_nz_pa_box (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral_box (cr,
-                           CAIRO_FILL_RULE_WINDING, PIXALIGN,
-                           width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_nz_na_box (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral_box (cr,
-                           CAIRO_FILL_RULE_WINDING, NONALIGN,
-                           width, height, loops);
-}
-
-
-static cairo_time_t
-draw_spiral_eo_pa_box (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral_box (cr,
-                           CAIRO_FILL_RULE_EVEN_ODD, PIXALIGN,
-                           width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_eo_na_box (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral_box (cr,
-                           CAIRO_FILL_RULE_EVEN_ODD, NONALIGN,
-                           width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_stroke_pa (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral_stroke (cr,
-                              PIXALIGN,
-                              width, height, loops);
-}
-
-static cairo_time_t
-draw_spiral_stroke_na (cairo_t *cr, int width, int height, int loops)
-{
-    return draw_spiral_stroke (cr,
-                              NONALIGN,
-                              width, height, loops);
-}
-
-cairo_bool_t
-spiral_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "spiral", NULL);
-}
-
-void
-spiral (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "spiral-box-nonalign-evenodd-fill", draw_spiral_eo_na_box, NULL);
-    cairo_perf_run (perf, "spiral-box-nonalign-nonzero-fill", draw_spiral_nz_na_box, NULL);
-    cairo_perf_run (perf, "spiral-box-pixalign-evenodd-fill", draw_spiral_eo_pa_box, NULL);
-    cairo_perf_run (perf, "spiral-box-pixalign-nonzero-fill", draw_spiral_nz_pa_box, NULL);
-    cairo_perf_run (perf, "spiral-diag-nonalign-evenodd-fill", draw_spiral_eo_na_di, NULL);
-    cairo_perf_run (perf, "spiral-diag-nonalign-nonzero-fill", draw_spiral_nz_na_di, NULL);
-    cairo_perf_run (perf, "spiral-diag-pixalign-evenodd-fill", draw_spiral_eo_pa_di, NULL);
-    cairo_perf_run (perf, "spiral-diag-pixalign-nonzero-fill", draw_spiral_nz_pa_di, NULL);
-    cairo_perf_run (perf, "spiral-rect-nonalign-evenodd-fill", draw_spiral_eo_na_re, NULL);
-    cairo_perf_run (perf, "spiral-rect-nonalign-nonzero-fill", draw_spiral_nz_na_re, NULL);
-    cairo_perf_run (perf, "spiral-rect-pixalign-evenodd-fill", draw_spiral_eo_pa_re, NULL);
-    cairo_perf_run (perf, "spiral-rect-pixalign-nonzero-fill", draw_spiral_nz_pa_re, NULL);
-    cairo_perf_run (perf, "spiral-nonalign-stroke", draw_spiral_stroke_na, NULL);
-    cairo_perf_run (perf, "spiral-pixalign-stroke", draw_spiral_stroke_pa, NULL);
-}
diff --git a/perf/micro/stroke.c b/perf/micro/stroke.c
deleted file mode 100644 (file)
index 194074b..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-do_stroke (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_arc (cr,
-              width/2.0, height/2.0,
-              width/3.0,
-              0, 2 * M_PI);
-    cairo_close_path (cr);
-
-    cairo_set_line_width (cr, width/5.0);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static void
-rounded_rectangle (cairo_t *cr,
-                  double x, double y, double w, double h,
-                  double radius)
-{
-    cairo_move_to (cr, x+radius, y);
-    cairo_arc (cr, x+w-radius, y+radius,   radius, M_PI + M_PI / 2, M_PI * 2        );
-    cairo_arc (cr, x+w-radius, y+h-radius, radius, 0,               M_PI / 2        );
-    cairo_arc (cr, x+radius,   y+h-radius, radius, M_PI/2,          M_PI            );
-    cairo_arc (cr, x+radius,   y+radius,   radius, M_PI,            270 * M_PI / 180);
-}
-
-static cairo_time_t
-do_strokes (cairo_t *cr, int width, int height, int loops)
-{
-    /* a pair of overlapping rectangles */
-    rounded_rectangle (cr,
-                      2, 2, width/2. + 10, height/2. + 10,
-                      10);
-    rounded_rectangle (cr,
-                      width/2. - 10, height/2. - 10,
-                      width/2. - 2, height/2. - 2,
-                      10);
-
-    cairo_set_line_width (cr, 2.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-stroke_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "stroke", NULL);
-}
-
-void
-stroke (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_cover_sources_and_operators (perf, "stroke", do_stroke, NULL);
-    cairo_perf_cover_sources_and_operators (perf, "strokes", do_strokes, NULL);
-}
diff --git a/perf/micro/subimage_copy.c b/perf/micro/subimage_copy.c
deleted file mode 100644 (file)
index a828a0b..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-/* This case exposes a performance bug found by Christopher "Monty"
- * Montgomery in that copying a tiny portion of an image surface to an
- * X surface causes the entire image surface to be copied to an
- * intermediate surface.
- *
- * If the performance bug is fixed, then the time this test takes
- * should be independent of the source and destination surface sizes.
- */
-
-static cairo_time_t
-do_subimage_copy (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_rectangle (cr, 2, 2, 4, 4);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-subimage_copy_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "subimage-copy", NULL);
-}
-
-void
-subimage_copy (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *image;
-    cairo_t *cr2;
-
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-
-    image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
-    cr2 = cairo_create (image);
-    cairo_set_source_rgb (cr2, 1, 0, 0); /* red */
-    cairo_paint (cr2);
-    cairo_destroy (cr2);
-
-    cairo_set_source_surface (cr, image, 0, 0);
-    cairo_surface_destroy (image);
-
-    cairo_perf_run (perf, "subimage-copy", do_subimage_copy, NULL);
-}
diff --git a/perf/micro/tessellate.c b/perf/micro/tessellate.c
deleted file mode 100644 (file)
index f6c836a..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-typedef struct {
-    double x;
-    double y;
-} point_t;
-
-point_t points[300] = {
- {39.4383,84.0188}, {79.844,78.3099}, {19.7551,91.1647}, {76.823,33.5223}, {55.397,27.7775},
- {62.8871,47.7397}, {51.3401,36.4784}, {91.6195,95.223}, {71.7297,63.5712}, {60.6969,14.1603},
- {24.2887,1.63006}, {80.4177,13.7232}, {40.0944,15.6679}, {10.8809,12.979}, {21.8257,99.8925},
- {83.9112,51.2932}, {29.6032,61.264}, {52.4287,63.7552}, {97.2775,49.3583}, {77.1358,29.2517},
- {76.9914,52.6745}, {89.1529,40.0229}, {35.2458,28.3315}, {91.9026,80.7725}, {94.9327,6.97553},
- {8.60558,52.5995}, {66.3227,19.2214}, {34.8893,89.0233}, {2.0023,6.41713}, {6.30958,45.7702},
- {97.0634,23.828}, {85.092,90.2208}, {53.976,26.6666}, {76.0249,37.5207}, {66.7724,51.2535},
- {3.92803,53.1606}, {93.1835,43.7638}, {72.0952,93.081}, {73.8534,28.4293}, {35.4049,63.9979},
- {16.5974,68.7861}, {88.0075,44.0105}, {33.0337,82.9201}, {89.3372,22.8968}, {68.667,35.036},
- {58.864,95.6468}, {85.8676,65.7304}, {92.397,43.956}, {81.4767,39.8437}, {91.0972,68.4219},
-
- {21.5825,48.2491}, {92.0128,95.0252}, {88.1062,14.766}, {43.1953,64.1081}, {28.1059,61.9596},
- {30.7458,78.6002}, {22.6107,44.7034}, {27.6235,18.7533}, {41.6501,55.6444}, {90.6804,16.9607},
- {12.6075,10.3171}, {76.0475,49.5444}, {93.5004,98.4752}, {38.3188,68.4445}, {36.8664,74.9771},
- {23.2262,29.416}, {24.4413,58.4489}, {73.2149,15.239}, {79.347,12.5475}, {74.5071,16.4102},
- {95.0104,7.45298}, {52.1563,5.25293}, {24.0062,17.6211}, {73.2654,79.7798}, {96.7405,65.6564},
- {75.9735,63.9458}, {13.4902,9.34805}, {7.82321,52.021}, {20.4655,6.99064}, {81.9677,46.142},
- {75.5581,57.3319}, {15.7807,5.19388}, {20.4329,99.9994}, {12.5468,88.9956}, {5.40576,99.7799},
- {7.23288,87.054}, {92.3069,0.416161}, {18.0372,59.3892}, {39.169,16.3131}, {81.9695,91.3027},
- {55.2485,35.9095}, {45.2576,57.943}, {9.96401,68.7387}, {75.7294,53.0808}, {99.2228,30.4295},
- {87.7614,57.6971}, {62.891,74.7809}, {74.7803,3.54209}, {92.5377,83.3239}, {83.1038,87.3271},
-
- {74.3811,97.9434}, {98.3596,90.3366}, {49.7259,66.688}, {83.0012,16.3968}, {7.69947,88.8949},
- {24.8044,64.9707}, {22.9137,62.948}, {31.6867,70.062}, {23.1428,32.8777}, {63.3072,7.4161},
- {65.1132,22.3656}, {97.1466,51.0686}, {54.6107,28.0042}, {11.3281,71.9269}, {59.254,47.1483},
- {45.0918,94.4318}, {84.7684,33.6351}, {0.323146,43.4513}, {59.8481,34.4943}, {23.3892,83.3243},
- {48.295,67.5476}, {30.4956,48.1936}, {18.2556,71.2087}, {4.08643,62.1823}, {69.5984,41.3984},
- {63.764,67.3936}, {18.4622,34.7116}, {62.7158,60.9106}, {32.8374,73.0729}, {20.2213,74.0438},
- {68.4757,92.0914}, {25.7265,65.313}, {8.76436,53.2441}, {87.7384,26.0497}, {9.37402,68.6125},
- {36.1601,11.1276}, {59.3211,57.6691}, {28.8778,66.6557}, {28.8379,77.5767}, {18.9751,32.9642},
- {0.357857,98.4363}, {33.1479,82.7391}, {43.6497,18.8201}, {91.893,95.8637}, {69.9075,76.4871},
- {68.5786,12.1143}, {77.4273,38.3832}, {91.6273,94.3051}, {20.3548,86.1917}, {54.8042,79.3657},
-
- {90.4932,29.7288}, {87.3979,90.9643}, {57.62,49.8144}, {27.3911,16.2757}, {49.2399,86.4579},
- {84.8942,46.3662}, {29.1053,49.5977}, {68.4178,18.0421}, {13.9058,72.755}, {49.2422,60.3109},
- {72.4252,83.8134}, {22.1966,17.8208}, {12.1259,49.8525}, {36.0443,13.8238}, {93.1895,32.4807},
- {62.2095,90.8485}, {81.8128,83.6828}, {33.4972,49.6074}, {65.8831,39.4327}, {25.8906,60.8883},
- {7.2545,15.123}, {64.7207,10.7848}, {28.827,36.3598}, {9.11486,33.1386}, {93.4495,42.7328},
- {26.5461,58.357}, {76.1778,65.8747}, {15.7272,48.7427}, {62.5665,88.3037}, {20.7844,51.7715},
- {42.6199,55.7561}, {39.4388,82.9939}, {32.6013,24.4327}, {63.8654,72.936}, {33.8243,98.4845},
- {13.6075,89.756}, {0.540855,41.0788}, {77.4386,78.3282}, {11.4668,29.3678}, {72.1006,86.5535},
- {44.9105,4.91625}, {70.7909,98.6467}, {47.3894,21.0883}, {9.39195,86.5181}, {38.2896,9.95593},
- {65.712,30.1763}, {13.1702,80.9095}, {5.34223,5.15083}, {78.0868,45.7716}, {44.256,69.2076},
-
- {58.9637,11.9111}, {52.9899,57.8635}, {36.1917,59.5045}, {88.8723,30.4285}, {16.982,47.6585},
- {52.5747,60.9729}, {59.6196,61.8925}, {82.9808,23.3656}, {9.88374,7.00902}, {16.965,92.3728},
- {22.5491,48.1733}, {29.0829,82.6769}, {87.8278,35.7193}, {81.4909,34.4251}, {3.63274,65.9146},
- {77.8257,25.7469}, {83.6104,62.5964}, {22.1009,30.8157}, {61.2442,19.8021}, {67.4605,10.9733},
- {71.9462,78.2262}, {40.1188,20.0352}, {43.4009,31.5658}, {38.5748,23.0996}, {15.4724,53.2846},
- {1.45793,55.5398}, {38.2167,38.0215}, {73.7408,30.5408}, {64.9659,26.0445}, {91.9591,55.2316},
- {80.9785,68.5986}, {31.195,69.7848}, {0.600477,64.5889}, {84.391,53.296}, {64.2693,61.8447},
- {40.0709,51.8515}, {71.8867,36.2154}, {67.7812,80.1897}, {3.28927,15.2876}, {68.5722,6.35606},
- {61.8958,18.7616}, {56.7831,70.0301}, {0.570914,0.112548}, {26.157,30.5239}, {85.7555,65.5368},
- {34.1354,18.1161}, {87.9009,66.7341}, {31.323,65.3305}, {18.6265,88.5014}, {50.3461,15.7139},
-
- {67.5654,82.8957}, {19.1112,90.417}, {70.6067,39.4521}, {54.7397,86.8924}, {93.2485,73.8959},
- {92.6576,23.3119}, {93.342,55.1443}, {55.2568,49.4407}, {79.9646,93.9129}, {59.4497,81.4139},
- {99.53,65.7201}, {32.4541,93.5852}, {58.9157,87.4309}, {75.9324,63.7771}, {79.491,77.5421},
- {60.4379,26.2785}, {16.6955,47.0564}, {86.5086,79.549}, {66.4414,87.3021}, {61.1981,41.2483},
- {64.5601,59.6899}, {14.8342,53.8557}, {3.29634,57.9022}, {51.8151,70.091}, {51.5049,83.2609},
- {48.981,11.2648}, {4.84997,51.0349}, {38.4658,81.4351}, {45.2122,63.7656}, {41.3078,14.3982},
- {40.6767,24.7033}, {71.7597,1.74566}, {81.2947,57.3721}, {44.6743,58.2682}, {99.5165,47.7361},
- {7.42604,5.87232}, {59.728,64.0766}, {21.9788,22.2602}, {92.3513,63.0243}, {46.2852,73.7939},
- {85.0586,43.8562}, {94.8911,95.2662}, {76.7014,89.9086}, {53.6742,33.3569}, {47.7551,21.9136},
- {46.6169,94.982}, {96.7277,88.4318}, {45.8039,18.3765}, {76.6448,78.0224}, {25.7585,90.4782}
-};
-
-static cairo_time_t
-do_tessellate (cairo_t *cr, int num_points, int loops)
-{
-    int i;
-
-    for (i=0; i < num_points; i++)
-       cairo_line_to (cr, points[i].x, points[i].y);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    /* We'd like to measure just tessellation without
-     * rasterization. For now, we can do that with cairo_in_fill. But
-     * we'll have to be careful since cairo_in_fill might eventually
-     * be optimized to have an implementation that doesn't necessarily
-     * include tessellation. */
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_in_fill (cr, 50, 50);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-tessellate_16 (cairo_t *cr, int width, int height, int loops)
-{
-    return do_tessellate (cr, 16, loops);
-}
-
-static cairo_time_t
-tessellate_64 (cairo_t *cr, int width, int height, int loops)
-{
-    return do_tessellate (cr, 64, loops);
-}
-
-static cairo_time_t
-tessellate_256 (cairo_t *cr, int width, int height, int loops)
-{
-    return do_tessellate (cr, 256, loops);
-}
-
-cairo_bool_t
-tessellate_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "tessellate", NULL);
-}
-
-void
-tessellate (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "tessellate-16", tessellate_16, NULL);
-    cairo_perf_run (perf, "tessellate-64", tessellate_64, NULL);
-    cairo_perf_run (perf, "tessellate-256", tessellate_256, NULL);
-}
-
-#if 0
-double
-rand_within (double range)
-{
-    return range * (rand() / (RAND_MAX + 1.0));
-}
-
-int
-main (void)
-{
-#define SIZE 100
-    int i;
-
-    printf ("point_t points[] = {\n");
-
-    for (i=0; i < 1000; i++) {
-       printf (" {%g,%g},", rand_within (SIZE), rand_within (SIZE));
-       if (i % 5 == 4)
-           printf ("\n");
-    }
-
-    printf ("};\n");
-}
-#endif
diff --git a/perf/micro/text.c b/perf/micro/text.c
deleted file mode 100644 (file)
index da0ccc7..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-do_text (cairo_t *cr, int width, int height, int loops)
-{
-    const char text[] = "the jay, pig, fox, zebra and my wolves quack";
-    int len = strlen (text);
-    double x, y;
-    int i = 0, j = 0;
-
-    cairo_set_font_size (cr, 9);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       do {
-           cairo_move_to (cr, 0, j++ * 10);
-           cairo_show_text (cr, text + i);
-           cairo_get_current_point (cr, &x, &y);
-           while (x < width && cairo_status (cr) == CAIRO_STATUS_SUCCESS) {
-               cairo_show_text (cr, text);
-               cairo_get_current_point (cr, &x, &y);
-           }
-           if (++i >= len)
-               i = 0;
-       } while (y < height && cairo_status (cr) == CAIRO_STATUS_SUCCESS);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-text_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "text", NULL);
-}
-
-void
-text (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_cover_sources_and_operators (perf, "text", do_text, NULL);
-}
diff --git a/perf/micro/tiger.c b/perf/micro/tiger.c
deleted file mode 100644 (file)
index 613f6e0..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.o.uk>
- */
-
-#include "cairo-perf.h"
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include "../../test/tiger.inc"
-
-static cairo_time_t
-do_tiger (cairo_t *cr, int width, int height, int loops)
-{
-    unsigned int i;
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_identity_matrix (cr);
-
-       cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-       cairo_set_source_rgba (cr, 0.1, 0.2, 0.3, 1.0);
-       cairo_paint (cr);
-       cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-
-       cairo_translate (cr, width/2, height/2);
-       cairo_scale (cr, .85 * width/500, .85 * height/500);
-
-       for (i = 0; i < sizeof (tiger_commands)/sizeof(tiger_commands[0]);i++) {
-           const struct command *cmd = &tiger_commands[i];
-           switch (cmd->type) {
-           case 'm':
-               cairo_move_to (cr, cmd->x0, cmd->y0);
-               break;
-           case 'l':
-               cairo_line_to (cr, cmd->x0, cmd->y0);
-               break;
-           case 'c':
-               cairo_curve_to (cr,
-                               cmd->x0, cmd->y0,
-                               cmd->x1, cmd->y1,
-                               cmd->x2, cmd->y2);
-               break;
-           case 'f':
-               cairo_set_source_rgba (cr,
-                                      cmd->x0, cmd->y0, cmd->x1, cmd->y1);
-               cairo_fill (cr);
-               break;
-           }
-       }
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_mono_tiger (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-    return do_tiger (cr, width, height, loops);
-}
-
-static cairo_time_t
-do_fast_tiger (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_FAST);
-    return do_tiger (cr, width, height, loops);
-}
-
-static cairo_time_t
-do_best_tiger (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_BEST);
-    return do_tiger (cr, width, height, loops);
-}
-
-cairo_bool_t
-tiger_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "tiger", NULL);
-}
-
-void
-tiger (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "tiger-mono", do_mono_tiger, NULL);
-    cairo_perf_run (perf, "tiger-fast", do_fast_tiger, NULL);
-    cairo_perf_run (perf, "tiger-best", do_best_tiger, NULL);
-}
diff --git a/perf/micro/twin.c b/perf/micro/twin.c
deleted file mode 100644 (file)
index 1f7fd6c..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#define WIDTH 1350
-#define HEIGHT 900
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-do_twin (cairo_t *cr,
-        int width,
-        int height,
-        int loops)
-{
-    int i, j, h;
-    unsigned char s[2] = {0, 0};
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       h = 2;
-       for (i = 8; i < 48; i >= 24 ? i+=3 : i++) {
-           cairo_set_font_size (cr, i);
-           for (j = 33; j < 128; j++) {
-               if (j == 33 || (j == 80 && i > 24)) {
-                   h += i + 2;
-                   cairo_move_to (cr, 10, h);
-               }
-               s[0] = j;
-               cairo_text_path (cr, (const char *) s);
-           }
-       }
-       cairo_fill (cr);
-    }
-
-    cairo_perf_timer_stop ();
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-twin_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "twin", NULL);
-}
-
-void
-twin (cairo_perf_t *perf,
-      cairo_t      *cr,
-      int           width,
-      int           height)
-{
-    cairo_perf_run (perf, "twin", do_twin, NULL);
-}
diff --git a/perf/micro/unaligned-clip.c b/perf/micro/unaligned-clip.c
deleted file mode 100644 (file)
index a5da5c6..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright © 2006 Jeff Muizelaar <jeff@infidigm.net>
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Authors: Jeff Muizelaar <jeff@infidigm.net>
- *          Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-static cairo_time_t
-do_unaligned_clip (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_save (cr);
-
-       /* First a triangular clip that obviously isn't along device-pixel
-        * boundaries. */
-       cairo_move_to (cr, 50, 50);
-       cairo_line_to (cr, 50, 90);
-       cairo_line_to (cr, 90, 90);
-       cairo_close_path (cr);
-       cairo_clip (cr);
-
-       /* Then a rectangular clip that would be but for the non-integer
-        * scaling. */
-       cairo_scale (cr, 1.1, 1.1);
-       cairo_rectangle (cr, 55, 55, 35, 35);
-       cairo_clip (cr);
-
-       /* And paint something to force the clip to be evaluated. */
-       cairo_paint (cr);
-
-       cairo_restore (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-unaligned_clip_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "unaligned-clip", NULL);
-}
-
-void
-unaligned_clip (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "unaligned-clip", do_unaligned_clip, NULL);
-}
diff --git a/perf/micro/wave.c b/perf/micro/wave.c
deleted file mode 100644 (file)
index f8e9783..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright 2011 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@redhat.com>
- */
-
-#include "cairo-perf.h"
-
-static cairo_surface_t *
-generate_random_waveform(cairo_t *target, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    int i, r;
-
-    srand (0xdeadbeef);
-
-    surface = cairo_surface_create_similar (cairo_get_target (target),
-                                           CAIRO_CONTENT_ALPHA,
-                                           width, height);
-    cr = cairo_create (surface);
-
-    r = height / 2;
-
-    for (i = 0; i < width; i++)
-    {
-       r += rand () % (height / 4) - (height / 8);
-       if (r < 0)
-           r = 0;
-       else if (r > height)
-           r = height;
-       cairo_rectangle (cr, i, (height - r) / 2, 1, r);
-    }
-    cairo_fill (cr);
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_time_t
-do_wave (cairo_t *cr, int width, int height, int loops)
-{
-    cairo_surface_t *wave;
-    cairo_pattern_t *mask;
-
-    wave = generate_random_waveform (cr, width, height);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       /* paint outline (and contents) */
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       cairo_mask_surface (cr, wave, 0, 0);
-
-       /* overdraw inline */
-       /* first, create a mask */
-       cairo_push_group_with_content (cr, CAIRO_CONTENT_ALPHA);
-       cairo_set_source_surface (cr, wave, 0, 0);
-       cairo_paint (cr);
-       cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-       cairo_set_source_surface (cr, wave, 1, 0);
-       cairo_paint (cr);
-       cairo_set_source_surface (cr, wave, -1, 0);
-       cairo_paint (cr);
-       cairo_set_source_surface (cr, wave, 0, 1);
-       cairo_paint (cr);
-       cairo_set_source_surface (cr, wave, 0, -1);
-       cairo_paint (cr);
-       mask = cairo_pop_group (cr);
-
-       /* second, paint the mask */
-       cairo_set_source_rgb (cr, 0, 1, 0);
-       cairo_mask (cr, mask);
-
-       cairo_pattern_destroy (mask);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_surface_destroy (wave);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-wave_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "wave", NULL);
-}
-
-void
-wave (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "wave", do_wave, NULL);
-}
diff --git a/perf/micro/wide-fills.c b/perf/micro/wide-fills.c
deleted file mode 100644 (file)
index 4ae8a0e..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-
-/* This is a variant on wide strokes where we precompute
- * a simplified stroke-to-path.
- * When we have a real stroke-to-path, it would useful to compare the cost
- * of stroking vs filling the "identical" paths.
- */
-
-#include "cairo-perf.h"
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_time_t
-do_wide_fills_ha (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double y = floor (uniform_random (0, height));
-       double x = floor (uniform_random (0, width));
-       cairo_rectangle (cr, x, y, ceil (uniform_random (0, width)) - x, 5);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_wide_fills_h (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double y = uniform_random (0, height);
-       double x = uniform_random (0, width);
-       cairo_rectangle (cr, x, y, uniform_random (0, width) - x, 5);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_wide_fills_va (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double x = floor (uniform_random (0, width));
-       double y = floor (uniform_random (0, height));
-       cairo_rectangle (cr, x, y, 5, ceil (uniform_random (0, height) - y));
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_wide_fills_v (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double x = uniform_random (0, width);
-       double y = uniform_random (0, height);
-       cairo_rectangle (cr, x, y, 5, uniform_random (0, height) - y);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_wide_fills (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    /* lots and lots of overlapping stroke-like fills */
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       cairo_save (cr);
-       cairo_translate (cr,
-                        uniform_random (0, width),
-                        uniform_random (0, height));
-       cairo_rotate (cr, uniform_random (-M_PI,M_PI));
-       cairo_rectangle (cr, 0, 0, uniform_random (0, width), 5);
-       cairo_restore (cr);
-    }
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-wide_fills_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "wide-fills", NULL);
-}
-
-void
-wide_fills (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "wide-fills-halign", do_wide_fills_ha, NULL);
-    cairo_perf_run (perf, "wide-fills-valign", do_wide_fills_va, NULL);
-    cairo_perf_run (perf, "wide-fills-horizontal", do_wide_fills_h, NULL);
-    cairo_perf_run (perf, "wide-fills-vertical", do_wide_fills_v, NULL);
-    cairo_perf_run (perf, "wide-fills-random", do_wide_fills, NULL);
-}
diff --git a/perf/micro/wide-strokes.c b/perf/micro/wide-strokes.c
deleted file mode 100644 (file)
index a122894..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-perf.h"
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_time_t
-do_wide_strokes_ha (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double h = floor (uniform_random (0, height));
-       cairo_move_to (cr, floor (uniform_random (0, width)), h);
-       cairo_line_to (cr, ceil (uniform_random (0, width)), h);
-    }
-
-    cairo_set_line_width (cr, 5.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_wide_strokes_h (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double h = uniform_random (0, height);
-       cairo_move_to (cr, uniform_random (0, width), h);
-       cairo_line_to (cr, uniform_random (0, width), h);
-    }
-
-    cairo_set_line_width (cr, 5.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_wide_strokes_va (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double v = floor (uniform_random (0, width));
-       cairo_move_to (cr, v, floor (uniform_random (0, height)));
-       cairo_line_to (cr, v, ceil (uniform_random (0, height)));
-    }
-
-    cairo_set_line_width (cr, 5.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_wide_strokes_v (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       double v = uniform_random (0, width);
-       cairo_move_to (cr, v, uniform_random (0, height));
-       cairo_line_to (cr, v, uniform_random (0, height));
-    }
-
-    cairo_set_line_width (cr, 5.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_wide_strokes (cairo_t *cr, int width, int height, int loops)
-{
-    int count;
-
-    /* lots and lots of overlapping strokes */
-    state = 0xc0ffee;
-    for (count = 0; count < 1000; count++) {
-       cairo_line_to (cr,
-                      uniform_random (0, width),
-                      uniform_random (0, height));
-    }
-
-    cairo_set_line_width (cr, 5.);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_stroke_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-wide_strokes_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "wide-strokes", NULL);
-}
-
-void
-wide_strokes (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-
-    cairo_perf_run (perf, "wide-strokes-halign", do_wide_strokes_ha, NULL);
-    cairo_perf_run (perf, "wide-strokes-valign", do_wide_strokes_va, NULL);
-    cairo_perf_run (perf, "wide-strokes-horizontal", do_wide_strokes_h, NULL);
-    cairo_perf_run (perf, "wide-strokes-vertical", do_wide_strokes_v, NULL);
-    cairo_perf_run (perf, "wide-strokes-random", do_wide_strokes, NULL);
-}
diff --git a/perf/micro/world-map.c b/perf/micro/world-map.c
deleted file mode 100644 (file)
index c240c3b..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-typedef enum {
-    WM_NEW_PATH,
-    WM_MOVE_TO,
-    WM_LINE_TO,
-    WM_HLINE_TO,
-    WM_VLINE_TO,
-    WM_REL_LINE_TO,
-    WM_END
-} wm_type_t;
-
-typedef struct _wm_element {
-    wm_type_t type;
-    double x;
-    double y;
-} wm_element_t;
-
-#include "world-map.h"
-
-enum {
-    STROKE = 1,
-    FILL = 2,
-};
-
-static cairo_time_t
-do_world_map (cairo_t *cr, int width, int height, int loops, int mode)
-{
-    const wm_element_t *e;
-    double cx, cy;
-
-    cairo_set_line_width (cr, 0.2);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_set_source_rgb (cr, .68, .85, .90); /* lightblue */
-       cairo_rectangle (cr, 0, 0, 800, 400);
-       cairo_fill (cr);
-
-       e = &countries[0];
-       while (1) {
-           switch (e->type) {
-           case WM_NEW_PATH:
-           case WM_END:
-               if (mode & FILL) {
-                   cairo_set_source_rgb (cr, .75, .75, .75); /* silver */
-                   cairo_fill_preserve (cr);
-               }
-               if (mode & STROKE) {
-                   cairo_set_source_rgb (cr, .50, .50, .50); /* gray */
-                   cairo_stroke (cr);
-               }
-               cairo_new_path (cr);
-               cairo_move_to (cr, e->x, e->y);
-               break;
-           case WM_MOVE_TO:
-               cairo_close_path (cr);
-               cairo_move_to (cr, e->x, e->y);
-               break;
-           case WM_LINE_TO:
-               cairo_line_to (cr, e->x, e->y);
-               break;
-           case WM_HLINE_TO:
-               cairo_get_current_point (cr, &cx, &cy);
-               cairo_line_to (cr, e->x, cy);
-               break;
-           case WM_VLINE_TO:
-               cairo_get_current_point (cr, &cx, &cy);
-               cairo_line_to (cr, cx, e->y);
-               break;
-           case WM_REL_LINE_TO:
-               cairo_rel_line_to (cr, e->x, e->y);
-               break;
-           }
-           if (e->type == WM_END)
-               break;
-           e++;
-       }
-
-       cairo_new_path (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-do_world_map_stroke (cairo_t *cr, int width, int height, int loops)
-{
-    return do_world_map (cr, width, height, loops, STROKE);
-}
-
-static cairo_time_t
-do_world_map_fill (cairo_t *cr, int width, int height, int loops)
-{
-    return do_world_map (cr, width, height, loops, FILL);
-}
-
-static cairo_time_t
-do_world_map_both (cairo_t *cr, int width, int height, int loops)
-{
-    return do_world_map (cr, width, height, loops, FILL | STROKE);
-}
-
-cairo_bool_t
-world_map_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "world-map", NULL);
-}
-
-void
-world_map (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-    cairo_perf_run (perf, "world-map-stroke", do_world_map_stroke, NULL);
-    cairo_perf_run (perf, "world-map-fill", do_world_map_fill, NULL);
-    cairo_perf_run (perf, "world-map", do_world_map_both, NULL);
-}
diff --git a/perf/micro/world-map.h b/perf/micro/world-map.h
deleted file mode 100644 (file)
index af58b80..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/* The data for this test case was provided by Gary Nicholson
- * <gary@imapping.co.nz> who originally created an interactive SVG map
- * of the world as can be seen here:
- *
- *     http://www.wherearewe.co.nz/svg.html
- *
- * The data is used here by permission from Gary given on 2006-11-08:
- *
- *     Thanks for asking, I don't need any attribution if you are
- *     only using the vectors and not the entire map with
- *     interactivity etc. So feel free to do what you wish with
- *     the data.
- */
-
-#define N(x,y) { WM_NEW_PATH,    x, y }
-#define M(x,y) { WM_MOVE_TO,     x, y }
-#define L(x,y) { WM_LINE_TO,     x, y }
-#define H(x,y) { WM_HLINE_TO,    x, y }
-#define V(x,y) { WM_VLINE_TO,    x, y }
-#define l(x,y) { WM_REL_LINE_TO, x, y }
-#define E(x,y) { WM_END,         x, y }
-
-static const wm_element_t countries[] = {
-N(413.519,90.071),l(.136,-.348),l(-.31,-.204),l(-.017,-.327),l(.213,-.322),l(.245,-.147),l(.142,-.08),l(.225,.072),l(.062,.301),l(.41,.312),l(.466,.096),l(-.044,.288),l(-.248,.144),l(.074,.353),l(-.145,-.063),l(-.568,-.011),l(-.642,-.063),
-N(421.683,94.397),l(.193,.336),l(-.266,.274),l(.214,.288),l(-.09,.192),l(.622,.062),l(.008,.144),l(.55,.242),l(.579,-.332),l(.215,.117),l(-.029,.171),l(-.126,.309),l(.112,.212),l(-.038,.192),l(-.315,-.051),l(-.176,-.162),l(-.283,.091),l(-.081,.273),l(.244,.131),l(-.228,.415),l(-.244,-.333),l(-.469,.05),l(-.071,.122),l(-.216,.03),l(-.23,-.142),l(-.143,-.354),l(-.371,.081),l(.019,.333),l(-.425,.384),l(-.018,.535),l(-.285,.151),l(-.385,-.312),l(.098,-.182),l(-.311,-.071),l(-.534,-.363),l(-.016,-.415),l(-.777,.404),l(.103,.212),l(-.349,.432),l(-.275,.16),l(-.629,-.168),l(-.627,.204),l(-.599,-.062),l(-.102,-.424),l(-.312,-.806),l(-.616,.147),l(-.854,.668),l(-.369,-.111),l(.238,-.226),l(.013,-.322),l(-.08,-.137),l(.089,-.294),l(.718,-.418),l(-.038,-.315),l(.575,-.24),l(.012,-.076),l(.528,-.494),l(.173,-.035),l(-.116,-.089),l(-.153,-.028),l(.221,-.302),l(.446,.007),l(-.005,.096),l(.473,.007),l(.385,-.309),l(.271,.089),l(.272,-.117),l(.271,.096),l(.567,-.158),l(.278,.11),l(.354,-.021),l(-.179,-.199),l(.709,-.199),l(.017,.151),l(.199,-.014),l(.149,.089),l(.852,.007),l(.664,.261),
-N(421.394,104.558),l(.104,.175),l(.04,.256),l(-.06,.475),l(.118,.054),l(.062,.333),l(-.076,.795),l(-.211,.327),l(-.118,.724),l(-.292,.501),l(-.298,-.043),l(-.057,-.196),l(-.41,-.076),l(-.227,-.152),l(.284,-.207),l(-.07,-.076),l(-.437,-.098),l(.257,-.332),l(-.11,-.071),l(-.291,.071),l(-.053,-.147),l(.115,-.022),l(.175,-.158),l(-.094,-.153),l(-.257,-.082),l(.015,-.164),l(.247,-.12),l(-.284,-.218),l(.241,-.284),l(.6,-.305),l(.27,-.022),l(.04,-.125),l(.292,-.043),l(.195,.104),l(.096,-.142),l(-.022,-.344),l(.072,-.224),l(.143,-.011),M(396.323,103.853),l(.375,-.122),l(.411,-.365),l(.549,-2.299),l(.397,-.091),l(-.21,-.29),l(-.226,.259),l(.125,-1.144),l(.223,-.826),l(.115,.153),l(.496,.306),l(.191,.382),l(.191,.229),l(-.281,-.673),l(-.63,-.582),l(-.242,-.233),l(.024,-.249),l(.359,-.477),l(-.202,-.375),l(-.2,-.274),l(-.326,-.216),l(-.685,-.1),l(-.515,-.571),l(-.416,-.323),l(.278,-.426),l(-.233,-.181),l(-.343,-.131),l(-.511,-.142),l(-.184,-.173),l(.247,-.376),l(-.329,-.173),l(-.509,.179),l(-.489,-.249),l(-.824,-.251),l(-.619,-.181),l(-.325,.014),l(-.215,-.25),l(-.91,.167),l(-.059,-.25),l(-.265,-.125),l(-.367,-.042),l(-.056,-.104),l(.861,-.083),l(-.085,-.229),l(-.526,-.104),l(.442,-.104),l(.086,-.205),l(-.275,.017),l(-.263,-.021),l(-.417,.083),l(.04,-.438),l(.303,.012),l(.305,-.146),l(.526,-.088),l(.562,-.174),l(.215,.188),l(.18,-.167),l(.474,.063),l(.112,-.26),l(.272,-.059),l(.764,-.078),l(.393,.366),l(.275,.26),l(.342,.083),l(.652,-.271),l(.317,.167),l(.276,-.127),l(.457,-.124),l(.029,.23),l(.591,-.065),l(.3,-.103),l(-.265,-.188),l(-.028,-.251),l(.056,-.345),l(-.037,-.428),l(-.131,.021),l(-.562,-.682),l(-.11,-.407),l(.927,.126),l(.607,-.105),l(-.084,.397),l(.248,.419),l(.342,-.146),l(1.241,.104),l(.501,.146),l(.079,-.014),l(.525,-.093),l(.662,-.27),l(-.534,-.124),l(.055,-.204),l(.166,-.175),l(.753,-.322),l(.756,-.181),l(.902,-.215),l(.314,-.235),l(.302,-.264),l(-.053,-.775),l(.135,-.542),l(.521,-.25),l(.46,-.16),l(.916,-.092),l(.177,-.096),l(.208,.447),l(.311,.335),l(.266,.127),l(.141,-.071),l(.41,-.208),l(.153,.17),l(.202,.458),l(.194,.133),l(.518,-.012),l(.159,.301),l(.259,-.012),l(.576,.048),l(.375,.168),l(-.159,.241),l(.091,.175),l(-.072,.198),l(.285,.122),l(.406,-.075),l(.446,-.035),l(.193,-.313),l(.245,-.072),l(-.119,.373),l(.146,.18),l(-.039,.228),l(.529,.048),l(.341,.192),l(.371,.204),l(.127,.228),l(.694,-.174),l(.079,.114),l(.642,.063),l(.568,.011),l(.145,.063),l(.428,.319),l(.337,.277),l(.395,-.055),l(.045,.145),l(.689,-.062),l(.072,-.048),l(.233,.007),l(.095,.186),l(.456,.09),l(.479,-.014),l(.605,.193),l(-.954,.806),l(-.054,.213),l(-.054,.358),l(-.321,.372),l(-.075,.295),l(.091,.076),l(-.216,.701),l(.135,.233),l(-.385,.309),l(-.473,-.007),l(.005,-.096),L(415.96,94.5),l(-.221,.302),l(.153,.028),l(.116,.089),l(-.173,.035),l(-.528,.494),l(-.012,.076),l(-.575,.24),l(.038,.315),l(-.718,.418),l(-.089,.294),l(.08,.137),l(-.013,.322),l(-.238,.226),l(.369,.111),l(.854,-.668),l(.616,-.147),l(.312,.806),l(.102,.424),l(-.624,.301),l(.532,.344),l(.025,.292),l(.43,.192),l(-.199,.272),l(-.541,.353),l(-.183,-.111),l(-.437,.186),l(.352,.358),l(.616,.191),l(.135,.331),l(-.175,.01),l(-.315,.371),l(.193,.442),l(.754,.391),l(.849,-.07),l(.062,.281),l(-.146,.469),l(-.346,.23),l(-.221,.215),l(-.833,.488),l(-.889,.659),l(-.427,.087),l(-.318,.043),l(-.798,.159),l(-.405,-.028),l(-.471,-.156),l(-.851,-.499),l(-.315,-.085),l(-.354,.029),l(-.231,.072),l(-.511,-.056),l(-.752,-.313),l(-.602,.044),l(-.731,.345),l(-.357,.258),l(-.555,.559),l(-.147,.386),l(.099,.514),l(.091,.379),l(-.334,-.091),l(-.75,.137),l(-.039,.136),l(-.485,-.015),l(-.427,-.197),l(-.395,.167),l(-.261,-.015),l(-.036,-.152),l(-.335,-.091),l(-.206,.03),l(-.374,.076),l(-.187,-.076),l(-.035,-.289),l(-.091,-.213),l(-1.252,-.304),l(-.355,0),l(.017,.319),l(-.542,-.015),l(-.337,.061),l(-.037,-.122),l(-.767,.03),l(-.084,-.114),l(-.028,-.038),l(-.431,-.152),l(-.131,.076),l(-.262,-.03),l(-.056,.076),l(-.507,-.395),l(-.15,.061),l(-1.088,-.334),l(-.112,.106),l(-.15,-.03),l(-.094,-.106),l(.205,-.243),l(-.058,-.122),l(-.469,.03),l(-.472,-.243),
-N(681.312,116.395),l(.235,-.171),l(.283,-.256),l(.633,-.738),l(.315,-.157),l(.595,.011),l(.579,.068),l(.511,.096),l(.309,-.115),l(.571,-.678),l(.682,.621),l(1.178,1.611),l(.329,.495),l(.269,.664),l(.002,.75),l(-.034,.947),l(-.129,.637),l(.143,.113),l(.5,-.043),l(-.121,.41),l(-.282,.523),l(-.5,.75),l(-.316,.312),l(-.243,.043),l(-.567,-.211),l(-.256,.1),l(-.607,.58),l(-.431,-.083),l(-.289,-.225),l(-.544,.1),l(-.526,.199),l(-1.188,.835),l(-.462,.043),l(-.46,.312),l(-.055,-.564),l(-.056,-.324),l(-.163,-.705),l(-.137,-.395),l(.167,-.453),l(.499,-.468),l(0,-.353),l(.226,-.425),l(-.044,-.141),l(-.378,-.311),l(-.095,-.296),l(.015,-.467),l(-.087,-.339),l(-.289,-.126),l(-.603,-.084),l(.654,-.411),l(.303,-.114),l(.654,.268),l(.254,-.241),l(-.029,-.283),l(-.764,-.89),l(-.113,-.311),l(-.137,-.105),
-N(475.646,121.847),l(-.018,.175),l(.338,.391),l(-.295,-.009),l(-.132,.108),l(-.104,-.059),l(-.327,-.021),l(-.121,.33),l(-.783,.257),l(-.384,.046),l(-.099,.053),l(0,.21),l(-.217,.006),l(-.072,-.192),l(-.402,.023),l(-.547,-.146),l(-.191,-.087),l(0,-.21),l(-.161,-.105),l(-.122,-.403),l(.082,-.035),l(.12,.1),l(.147,-.006),l(.405,-.304),l(.253,-.006),l(.328,.092),l(.077,-.086),l(.088,-.286),l(-.053,-.175),l(.627,.093),l(.658,.027),l(.367,-.056),l(.818,-.233),l(.689,-.304),l(.535,-.158),l(-.475,.295),l(-.436,.231),l(-.596,.444),
-N(704.404,117.274),l(.197,-.099),l(1.108,-.271),l(.057,.354),l(-.481,.284),l(-.232,.241),l(-.068,.453),l(.139,.367),l(.291,.056),l(.221,-.114),l(.418,-.354),l(.24,-.085),l(1.656,-.697),l(.389,-.213),l(.46,-.326),l(.349,-.638),l(.76,-.412),l(.347,-.327),l(.191,-.269),l(.142,-.51),l(.538,-.582),l(-.01,-.142),l(.344,-.567),l(.159,-.468),l(.139,-.609),l(-.043,-.467),l(-.33,-.198),l(-.128,-.24),l(.234,-.213),l(.166,-.284),l(-.155,-1.023),l(.544,-.343),l(.176,-.242),l(.327,-.328),l(.192,0),l(.21,.355),l(.199,.227),l(.303,-.058),l(.799,-.257),l(-.169,-.526),l(-.311,-.028),l(-.36,-.312),l(.694,-.415),l(.441,.156),l(.336,.227),l(.025,.199),l(-.016,.868),l(.058,.611),l(.22,.127),l(.243,.312),l(.717,1.432),l(.001,.496),l(-.246,.709),l(-.709,.766),l(-.226,.439),l(.064,.368),l(-.15,.071),l(-.737,.285),l(-.161,.113),l(-.164,.199),l(-.174,.453),l(.02,.396),l(.094,.254),l(.131,.792),l(-.04,.693),l(-.686,.751),l(-.242,.736),l(.02,.707),l(.198,.296),l(.422,.353),l(-.617,.298),l(-.193,.127),l(-.166,.17),l(-.174,.834),l(-1.081,.439),l(-.094,-.282),l(.294,-.665),l(.184,-.523),l(-.198,-.126),l(-.514,.241),l(-.578,.623),l(-.476,.001),l(-.346,.312),l(-.066,.748),l(-.354,.269),l(-.188,-.028),l(-.066,-.155),l(.003,-.606),l(-.149,-.155),l(-.211,.042),l(-.309,.156),l(-.344,.311),l(-.325,.523),l(-.866,-.055),l(-.505,.057),l(-.631,.1),l(-.458,-.549),l(-.685,-.323),l(-.26,.254),l(-.067,.184),l(-.177,.353),l(.037,.056),l(.417,.197),l(.416,.323),l(-.293,.198),l(-.829,.129),l(-.433,.241),l(-.463,.622),l(-.522,.847),l(-.688,-.365),l(-.565,-.21),l(-.285,-.197),l(-.014,-.169),l(-.194,-.818),l(.099,-.155),l(.495,-.325),l(.179,-.269),l(-.067,-.282),l(-.18,-.042),l(-.601,.17),l(-.341,-.028),l(-.789,-.167),l(-.475,.128),l(-.427,.227),l(-.437,.184),l(-.269,-.098),l(-.256,-.027),l(-1.647,.398),l(-.814,.298),l(-.21,-.31),l(-.452,-.042),l(-.413,.438),l(-.006,.635),l(-.756,-.238),l(-.579,-.055),l(-1.1,.073),l(-.267,-.14),l(.072,-.339),l(.179,-.283),l(.483,.013),l(.499,-.114),l(.751,-.467),l(2.201,-1.953),l(.28,-.015),l(.427,-.128),l(.056,.424),l(.495,-.128),l(1.278,-.257),l(.933,-.058),l(1.183,-.172),l(.892,-.256),l(.068,.452),l(.377,.268),l(.167,-.085),l(.654,-.199),l(.446,-.34),l(-.003,-.353),l(.114,-.467),l(.465,-.51),l(.698,-.581),l(.371,-.453),l(-.062,-1.117),l(.182,-.213),M(695.464,127.756),l(-.292,-.197),l(-.223,-.268),l(-.101,-.381),l(-.177,-.395),l(-.492,-.535),l(.731,-.382),l(.287,-.269),l(.456,-.593),l(.409,.253),l(.615,-.015),l(.483,-.185),l(.311,-.339),l(.451,-.311),l(.454,-.029),l(.316,.169),l(.862,.224),l(.153,.254),l(-.1,.127),l(-.102,.423),l(-.292,.24),l(-.864,.876),l(-.181,-.211),l(-.424,-.295),l(-.467,-.042),l(-.612,.213),l(-.193,.184),l(-.245,.495),l(-.165,.508),l(-.153,.212),l(-.448,.269),M(691.12,131.448),l(-.366,-.042),l(-.056,-.141),l(.268,-.537),l(.128,-.593),l(-.334,-.112),l(-.239,.198),l(-.155,.466),l(-.381,.452),l(-.326,-.211),l(-.059,-.211),l(.322,-.466),l(.032,-.296),l(-.356,-.917),l(.169,-.113),l(.687,-.58),l(.083,-.141),l(.034,-.466),l(-.532,-.789),l(-.333,-.042),l(-.162,.269),l(-.419,.495),l(-.249,-.112),l(-.23,-.508),l(-.376,-.267),l(-.261,-.366),l(.41,-.325),l(.733,.083),l(.706,-.171),l(.315,-.466),l(.241,-.283),l(.484,-.058),l(.478,.056),l(.249,.38),l(.27,.168),l(.43,.084),l(.628,-.213),l(.225,.395),l(-.569,.438),l(.405,.239),l(.443,.437),l(.079,.254),l(-.596,.58),l(-.242,.41),l(-.104,.367),l(-.085,.621),l(-.109,.649),l(-.242,.353),l(-.194,.099),l(-.165,.071),l(-.197,.184),l(-.479,.678),M(711.938,108.369),l(-.222,-.241),l(-.077,-.271),l(.325,-.642),l(-.055,-.342),l(-.549,-.198),l(-.168,-.171),l(-.146,-.812),l(.583,-.386),l(.522,-.172),l(.646,-.373),l(.037,-.356),l(-.318,-.285),l(.277,-.3),l(.224,-.015),l(.661,.427),l(.373,.085),l(.532,-.201),l(-.004,-1.186),l(.455,-.187),l(.45,-.244),l(.074,-.743),l(.007,-.844),l(-.398,-.758),l(-.098,-.473),l(.166,-.216),l(.618,-.346),l(.063,.072),l(.507,.43),l(.904,.816),l(1.07,.842),l(1.083,.684),l(.627,.285),l(.528,.17),l(1.02,.198),l(.282,.042),l(.304,-.086),l(.866,-.66),l(.461,-.144),l(.002,.1),l(-.308,.358),l(-.335,.558),l(.198,.414),l(.469,.599),l(.197,.356),l(-.561,.272),l(-.447,.244),l(-.534,.158),l(-.365,.015),l(-.488,-.199),l(-.453,.015),l(-.363,.144),l(-.345,.229),l(-.754,.786),l(-.396,.5),l(-.26,.599),l(-.4,-.07),l(-.425,-.241),l(-2.031,-.965),l(-.461,-.085),l(-.72,.044),l(-1.038,.587),l(-.153,-.299),l(-.372,-.356),l(-.339,.029),l(-.266,.115),l(-.439,.272),l(.049,.299),l(1.16,.497),l(.56,.298),l(.302,.27),l(-.391,.214),l(-.303,.029),l(-.305,-.128),l(-.261,.043),l(-.324,.314),l(-.388,.471),l(-.347,.114),
-N(597.917,139.685),l(1.251,-1.545),l(.609,-.539),l(.348,-.239),l(.149,-.103),l(.417,-.016),l(.309,.294),l(.479,.208),l(1.659,.047),l(.371,.041),l(.312,.209),l(.329,.619),l(-.07,.156),l(.042,.24),l(.326,.294),l(.313,.069),l(.258,.238),l(.017,.282),l(-.217,.58),l(-.624,.06),l(-1.036,.062),l(-1.238,-.063),l(-.335,-.125),l(-.301,-.055),l(-.531,.313),l(-.544,.074),l(-.085,-.021),l(-.869,-.214),l(-.559,-.081),l(-.637,-.18),l(-.235,-.493),l(.092,-.113),
-N(362.764,152.723),l(.072,-.625),l(.395,-.876),l(.52,-.552),l(.488,-.566),l(.244,-.509),l(1.175,-2.559),l(.238,-.241),l(1.404,-1.175),l(.345,-.495),l(.051,-.918),l(.305,-1.088),l(.651,-1.075),l(.399,-.34),l(.404,-.198),l(.838,-.51),l(.361,-.495),l(.334,-.777),l(.428,-.851),l(1.635,-.04),l(2.511,0),l(2.677,-.001),l(1.718,.004),l(1.42,-.008),l(.027,.876),l(-.03,1.752),l(.002,.65),l(-.104,.396),l(-.56,-.011),l(-6.005,-.022),l(-.557,.074),l(-.047,.509),l(-.07,2.261),l(-.099,2.6),l(-.144,.128),l(-.809,.287),l(-.726,.315),l(-.575,.427),l(-.249,.383),l(-.01,.707),l(.164,1.539),l(.051,1.102),l(-.212,-.027),l(-.732,.033),l(-2.396,-.014),l(-5.055,-.056),l(-.474,-.013),
-N(514.551,145.841),l(-.374,.027),l(-.336,-.083),l(-.008,-.615),l(-.153,-.437),l(-.108,-.791),l(.187,-.607),l(.188,-.11),l(-.059,-.187),l(.177,-.607),l(.33,-.269),l(.312,.083),l(.069,.315),l(.26,.093),l(.063,.199),l(.116,.326),l(-.106,.42),l(.031,.708),l(.118,.254),l(-.104,.381),l(-.327,.467),l(-.275,.433),
-N(514.177,145.868),l(.374,-.027),l(.008,.288),l(.361,.14),l(.153,.128),l(.186,-.093),l(-.046,.443),l(.397,.001),l(.402,.127),l(.687,-.093),l(.103,-.21),l(.183,-.058),l(.218,.117),l(.424,-.042),l(.595,.112),l(.224,-.035),l(.079,-.105),l(1.358,.222),l(.732,-.14),l(-.022,-.292),l(.225,.175),l(.375,-.016),l(.157,-.099),l(.312,-.422),l(.232,-.073),l(.267,-.495),l(.131,-.297),l(.711,-.637),l(.813,-.889),l(.163,.105),l(.229,-.178),l(.85,-.708),l(.313,-.433),l(.15,.161),l(-.248,.42),l(-.107,.299),l(-.004,.176),l(.099,.064),l(.121,-.024),l(.454,.042),l(.09,.324),l(.001,.508),l(-.003,.358),l(-.49,.034),l(-.401,-.083),l(-.107,.396),l(.073,1.326),l(-.199,.34),l(-.536,.596),l(.003,.946),l(.024,2.075),l(.063,.183),l(-.152,.057),l(-.584,.469),l(-.839,-.108),l(-3.387,-.446),l(-3.362,-.375),l(-.261,-.902),l(-.548,-1.154),l(-1.043,-2.198),
-N(668.627,151.365),l(-.102,-.056),l(-.107,-.325),l(-.922,-1.212),l(-.332,-.987),l(-.03,-.438),l(.156,-.749),l(.546,-.792),l(1.312,-1.852),l(.259,-.184),l(.425,-.128),l(.229,-.184),l(.358,-.227),l(.228,.127),l(.554,.394),l(-.334,.424),l(-.084,.142),l(.023,.31),l(-.067,.622),l(-.203,.296),l(-.182,.354),l(-.065,.692),l(-.1,.494),l(-.317,.805),l(-.473,.707),l(-.417,.833),l(-.014,.353),l(-.114,.438),l(-.228,.142),
-N(389.765,144.543),l(.1,.084),l(.895,.531),l(2.054,1.344),l(.811,.575),l(3.283,2.241),l(1.924,1.26),l(1.292,.824),l(.397,.253),l(2.472,1.469),l(.181,.253),l(-.096,.396),l(.082,.183),l(.393,.28),l(1.111,1.039),l(.229,.027),l(.47,-.314),l(.588,.562),l(.375,.167),l(.748,.024),l(.309,.111),l(.277,.352),l(.099,.522),l(-.161,.679),l(.146,.564),l(2.176,-.408),l(.064,1.017),l(.034,2.203),l(.001,.96),l(-.08,.89),l(-.145,.919),l(-.434,1.246),l(-.596,.794),l(-.339,.271),l(-.29,.129),l(-2.533,.085),l(-1.808,.124),l(-.209,.072),l(-.562,.427),l(-.579,.272),l(-.678,-.053),l(-.581,-.081),l(-1.062,-.173),l(-.36,-.059),l(-.356,-.125),l(-.37,.073),l(-1.22,.713),l(-.947,.458),l(-.304,.228),l(-.314,.793),l(-.274,-.027),l(-.324,-.182),l(-.518,-.209),l(-.272,.101),l(-.638,.625),l(-.492,.667),l(-.393,.822),l(-.174,.227),l(-.45,.102),l(-.551,-.364),l(-.293,-.281),l(-.273,.058),l(-.397,.384),l(-.355,1.217),l(-.292,1.047),l(-.317,.369),l(-.543,.271),l(-.448,.158),l(-.257,.016),l(-.141,.255),l(.058,.749),l(-.133,.876),l(-.261,.92),l(-.172,.326),l(-.046,.156),l(-.08,.043),l(-.159,.1),l(-.604,.399),l(-.352,.059),l(-.148,-.239),l(-.117,-.381),l(-.004,-.297),l(-.147,-.211),l(-.257,-.041),l(-.239,.114),l(-.571,.483),l(-.362,.469),l(-.35,.228),l(-.455,-.436),l(-.566,-.321),l(-.352,.059),l(-.522,.54),l(-.559,-.901),l(-.194,-1.143),l(-.349,-.718),l(-.474,-.478),l(-.265,-.451),l(-.271,-.832),l(-.022,-.339),l(-.246,-.281),l(-.323,-.055),l(-.684,.428),l(-.3,.327),l(-.43,.243),l(-.565,-.152),l(-.356,-.153),l(-.338,-.026),l(-.475,.413),l(-.252,.256),l(-.536,-.265),l(-.882,-.715),l(-.18,-.183),l(-.113,-.028),l(.062,-.142),l(.004,-.565),l(-.082,-.833),l(-.265,-.337),l(-.554,-.322),l(-.181,-.197),l(-.22,-.479),l(-.144,-.663),l(-.251,-1.1),l(.057,-.339),l(.506,-.399),l(.332,-.284),l(.018,-.607),l(.181,-.552),l(.252,-.256),l(.402,-.073),l(.261,.111),l(.568,.83),l(.214,.168),l(.454,.082),l(.107,-.269),l(-.055,-.296),l(.06,-.212),l(.535,.124),l(.713,.137),l(.485,.054),l(.387,-.031),l(.945,-.344),l(1.953,-.026),l(6.457,-.01),l(.379,-1.613),l(-.724,-.787),l(-.186,-1.468),l(-.202,-2.386),l(-.325,-2.753),l(-.178,-1.736),l(-.19,-1.468),l(-.908,-7.962),l(-.049,-.776),l(3.231,-.089),l(.523,-.13),
-N(525.37,142.384),l(.312,-.429),l(.155,-.17),l(.084,.833),l(-.423,.707),l(-.118,.156),l(-.121,.024),l(-.099,-.064),l(.004,-.176),l(.107,-.299),l(.248,-.42),l(-.15,-.161),M(525.923,144.712),l(0,.22),l(.456,.762),l(.408,.465),l(.782,.634),l(.677,.394),l(1.008,.52),l(.392,.154),l(.277,.014),l(.576,-.029),l(.364,.112),l(.873,.973),l(.518,.648),l(.46,.422),l(.81,.365),l(.025,.212),l(-.67,1.06),l(-.615,.721),l(-.883,.807),l(-.776,1.541),l(-.242,.142),l(-.562,-.083),l(-.235,-.084),l(-.252,.071),l(-.278,.509),l(-.062,1.115),l(.001,.791),l(.134,.621),l(-.403,.142),l(-1.046,.073),l(-.627,.27),l(-.367,.283),l(-.29,.495),l(-.131,.551),l(-.204,.283),l(-.444,.255),l(-.544,.1),l(-.292,0),l(-.386,-.042),l(-.326,.029),l(-.382,.283),l(-.22,.297),l(-.125,.508),l(.003,.353),l(-.091,.311),l(-.631,.396),l(-.344,.043),l(-.776,-.21),l(-.717,.058),l(-.896,.27),l(-.768,.298),l(-.283,.099),l(-.416,.145),l(-.241,-.306),l(-.483,-.689),l(.006,-.296),l(-.127,-.253),l(-.933,-1.364),l(-.604,-.971),l(-.226,-.634),l(-.092,-.663),l(1.691,-.815),l(2.35,-1.213),l(5.346,-2.982),l(-.155,-1.453),l(-.581,-.914),l(-.063,-.183),l(-.024,-2.075),l(-.003,-.946),l(.536,-.596),l(.199,-.34),l(-.073,-1.326),l(.107,-.396),l(.401,.083),l(.49,-.034),
-N(405.733,173.04),l(-.568,-.971),l(-.562,-.025),l(-.37,.044),l(-.516,-.181),l(-.97,-.757),l(-.114,-.226),l(.335,-.439),l(-.018,-.212),l(-.179,-.268),l(-.502,-.42),l(-.389,-.266),l(-.422,-.492),l(-.426,-.93),l(-.019,-.396),l(.173,-.665),l(.581,.081),l(.678,.053),l(.579,-.272),l(.562,-.427),l(.209,-.072),l(1.808,-.124),l(2.533,-.085),l(.29,-.129),l(.339,-.271),l(.596,-.794),l(.434,-1.246),l(.145,-.919),l(.08,-.89),l(-.001,-.96),l(-.034,-2.203),l(-.064,-1.017),l(1.672,-.321),l(1.82,-.364),l(3.084,-2.617),l(.834,-.655),l(2.308,-1.454),l(1.607,-.956),l(4.012,-2.241),l(1.632,-.843),l(.265,-.186),l(.832,.137),l(1.646,.442),l(1.008,.333),l(.258,.182),l(1.192,.911),l(.231,-.157),l(1.519,-.729),l(.364,2.145),l(.169,1.298),l(.42,1.028),l(.554,.802),l(.703,.604),l(-.388,.722),l(-.265,.99),l(-.168,1.088),l(-.084,.989),l(.022,.537),l(-.062,.707),l(-.019,1.045),l(-.034,1.088),l(-.056,.466),l(-2.43,2.613),l(-.591,.78),l(-.87,1.333),l(-.572,.794),l(-.007,.678),l(.123,.719),l(.014,.269),l(-.951,.034),l(-.437,.2),l(-.453,.299),l(-.761,.697),l(-.259,.058),l(-.609,-.208),l(-.724,-.193),l(-.884,-.221),l(-.531,-.04),l(-.709,.047),l(-.628,.103),l(-.774,.287),l(-.403,.327),l(-.629,.399),l(-.273,.059),l(-.934,.005),l(-.965,-.277),l(-1.173,-.742),l(-.354,-.083),l(-.467,.116),l(-1.337,.544),l(-.37,.002),l(-.209,-.098),l(-1.095,-1.223),l(-.821,-.277),l(-1.111,-.121),l(-1.174,.108),l(-1.064,.188),l(-.676,.4),l(-.687,1.614),l(-.353,.482),l(-.158,.849),l(-.092,.961),l(-.902,-.503),l(-.727,-.589),l(-.339,-.28),l(-.321,.073),l(-.577,.3),
-N(431.763,171.063),l(-.351,-.407),l(-.575,-.52),l(-.173,-.394),l(-.014,-.269),l(-.123,-.719),l(.007,-.678),l(.572,-.794),l(.87,-1.333),l(.591,-.78),l(2.43,-2.613),l(.056,-.466),l(.034,-1.088),l(.019,-1.045),l(.062,-.707),l(-.022,-.537),l(.084,-.989),l(.168,-1.088),l(.265,-.99),l(.388,-.722),l(-.703,-.604),l(-.554,-.802),l(-.42,-1.028),l(-.169,-1.298),l(-.364,-2.145),l(1.818,-.858),l(.41,-.059),l(5.231,2.554),l(4.941,2.372),l(5.577,2.792),l(1.981,.963),l(-.02,1.045),l(-.016,.946),l(-.036,.636),l(.085,2.5),l(-.038,.749),l(.036,1.002),l(.031,1.229),l(-.04,.283),l(-.839,-.009),l(-1.245,.05),l(-.229,.143),l(-.417,1.245),l(-.583,.809),l(-.122,.438),l(.131,.677),l(-.149,.212),l(-.718,.428),l(-.053,.24),l(.342,.662),l(-.087,.34),l(-.542,.596),l(-.316,.609),l(.219,.352),l(.517,-.088),l(.338,.012),l(.141,.225),l(.221,1.228),l(.137,.522),l(.155,.295),l(.444,.407),l(.266,.465),l(.026,.367),l(-.15,.425),l(-.559,-.208),l(-.321,-.012),l(-.322,.086),l(-.939,.613),l(-.372,.228),l(-.165,.382),l(-.005,.41),l(-.196,.284),l(-2.649,2.275),l(-.386,.087),l(-2.181,.055),l(-.434,.059),l(-.209,.199),l(-.117,.806),l(-.646,1.176),l(-.258,.143),l(-.368,.031),l(-.881,-.009),l(-.818,.273),l(-.754,.386),l(-.466,.271),l(-.224,.03),l(-.225,-.069),l(-.494,-.661),l(-1.363,.686),l(-.449,.158),l(-.24,-.027),l(-.096,-.084),l(-.208,-.183),l(-.382,-1.057),l(-.638,-1.07),l(-1.343,-1.179),l(-1.088,-1.067),l(.323,-.539),l(.29,-.312),l(.24,-.1),l(.481,.082),l(1.187,.191),l(.674,-.032),l(.225,-.143),l(-.047,-.127),l(-.208,-.21),l(-.381,-.633),l(-.205,-.578),l(-.169,-1.228),l(.134,-.651),l(-.119,-1.2),l(-.395,-.887),l(-.923,-1.238),l(-.208,-.083),l(-.627,-.109),
-N(627.173,150.012),l(.483,-.229),l(.515,-.13),l(.341,.012),l(.597,.392),l(.325,.097),l(.584,-.413),l(.332,-.115),l(1.595,-.052),l(.807,-.117),l(.341,-.157),l(.696,-.554),l(.521,-.328),l(.298,-.101),l(.623,.575),l(.771,.235),l(.66,.053),l(.777,-.047),l(.237,.21),l(.056,.38),l(-.472,.75),l(.096,.521),l(.273,.365),l(.943,.615),l(.621,.166),l(.909,.107),l(.197,.143),l(-.19,.132),l(-.826,.482),l(.106,.465),l(-.203,.212),l(-1.261,-.054),l(-.136,.198),l(.057,.395),l(-.283,.382),l(-.585,.792),l(-.221,.142),l(-.533,.241),l(-.171,.127),l(-.27,.396),l(-.303,.932),l(-.388,.975),l(.268,.225),l(.469,.563),l(1.112,1.071),l(.023,.24),l(.042,.522),l(.087,.254),l(.42,.493),l(1.096,.83),l(1.282,1.296),l(.26,.197),l(.636,.069),l(.313,.38),l(.282,1.016),l(.302,.578),l(.638,.605),l(.293,.663),l(.341,1.382),l(.524,2.809),l(-.295,.438),l(-.235,.495),l(.05,.819),l(-.095,.41),l(.056,.664),l(-.027,.099),l(-.364,.551),l(-.447,.439),l(-.254,.127),l(-.509,.1),l(-.419,.17),l(-.501,.354),l(-.591,.622),l(-.579,.354),l(-.325,.043),l(-.512,-.197),l(-.404,-.31),l(-.179,-.141),l(-.153,.424),l(.051,.494),l(.048,.353),l(-.205,.721),l(-.388,.424),l(-.326,.071),l(-.235,-.07),l(-.246,.481),l(-.427,.326),l(-.523,.142),l(-.417,.213),l(-.459,.565),l(-.196,.269),l(-.406,.297),l(-.264,.099),l(-.365,-.042),l(.078,-.861),l(.1,-1.313),l(.151,-.494),l(.215,-.283),l(-.02,-.353),l(-.475,-.437),l(-.749,-.238),l(-.091,-.066),l(.3,-.289),l(.646,-.229),l(.915,-.528),l(.599,-.229),l(.497,.011),l(.688,.194),l(.17,-.27),l(-.03,-.197),l(-.568,-.435),l(-.216,-.422),l(.234,-.425),l(.99,-.571),l(.521,-.229),l(.932,-.443),l(.599,-.187),l(.385,-.285),l(.217,-.509),l(-.054,-1.073),l(.05,-.424),l(.076,-.367),l(-.455,-1.014),l(-.029,-.663),l(.215,-.905),l(.155,-.918),l(-.064,-.578),l(-.214,-.437),l(-.529,-.477),l(-.072,-.282),l(.226,-.439),l(-.136,-.395),l(-.358,-.308),l(-.685,-.391),l(-.471,-.52),l(-.57,-.914),l(-1.683,-2.121),l(-.698,-.772),l(-.637,-.646),l(-.632,-.476),l(-1.234,-.741),l(-.162,-.098),l(-.043,-.494),l(.277,-.369),l(.311,-.101),l(.476,.068),l(.287,-.058),l(.261,-.185),l(.255,-.326),l(-.009,-.508),l(-.87,-.968),l(-.434,-.675),l(-.262,-.083),l(-.39,.171),l(-.509,.483),l(-.287,.058),l(-.47,-.195),l(-.607,-.434),l(-.334,-.689),l(-.338,-.929),l(-.543,-.604),l(-.613,-.575),l(-.45,-.745),
-N(217.961,150.385),l(.304,-.043),l(.84,-.27),l(-.17,-.254),l(-.312,-.112),l(-.369,-.056),l(-.651,.016),l(-.497,-.042),l(-.645,.157),l(-1.193,.92),l(-.371,.029),l(-.653,.001),l(-.211,.113),l(-.189,.452),l(-.396,.284),l(-.32,.043),l(-.786,.086),l(.259,-.325),l(.473,-.312),l(-.128,-.593),l(.282,-.382),l(.114,-.099),l(1.258,-.61),l(1.625,-.47),l(1.164,-.087),l(.842,-.157),l(.825,.041),l(.566,-.044),l(.73,.168),l(.848,.083),l(.603,.197),l(.557,.112),l(.477,.013),l(.499,.268),l(.573,.536),l(.382,.253),l(.581,.168),l(.768,.111),l(1.229,.351),l(1.02,.492),l(.453,.31),l(.374,.55),l(.33,.141),l(.479,.041),l(1.704,.519),l(1.018,.167),l(.327,.239),l(-.344,.58),l(.233,.155),l(.559,.042),l(.756,-.072),l(.495,.168),l(.507,.38),l(.591,.281),l(.381,.296),l(-.233,.085),l(-.981,.087),l(-1.15,.398),l(-.626,.058),l(-1.054,-.209),l(-.9,-.041),l(-.934,.186),l(-.943,.115),l(-.484,.029),l(-.449,-.07),l(.353,-.382),l(.728,-.623),l(.173,-.396),L(229,154.204),l(-.181,-.127),l(-.622,-.14),l(-.7,.001),l(-.603,-.112),l(-.651,-.338),l(-.141,-.748),l(-.258,-.536),l(-.218,-.155),l(-.396,-.027),l(-1.005,.044),l(-.836,-.139),l(-.621,-.225),l(-.956,-.493),l(-.739,-.238),l(-.615,-.069),l(-1.154,-.068),l(-.489,-.098),l(-.855,-.352),
-N(634.036,168.444),l(.808,-.64),l(.121,-.438),l(-.002,-.945),l(-.157,-.507),l(-.419,-.703),l(-.979,-1.279),l(-.255,-.464),l(-.107,-.366),l(-.058,-1.524),l(-.435,-.632),l(-.688,-.659),l(-.285,-.535),l(-.052,-.282),l(-.266,-.153),l(-.893,-.192),l(-.403,-.012),l(-.286,.453),l(-.2,.538),l(-.543,.257),l(-.223,.072),l(-.59,-.265),l(-.835,-.348),l(-.346,.03),l(-1.173,1.178),l(-.37,.411),l(-.481,-.138),l(-.145,-.324),l(.027,-.494),l(.117,-.438),l(.528,-1.569),l(.085,-.41),l(-.249,-1.311),l(-.045,-.113),l(-.414,.045),l(-.489,.2),l(-.423,.003),l(-.186,-.154),l(-.066,-.367),l(.106,-.805),l(-.01,-.423),l(-.118,-.168),l(-.295,-.182),l(-.541,-.166),l(.193,-.185),l(.582,-.455),l(.442,-.581),l(.53,-.61),l(.502,-.355),l(.178,.196),l(.321,.21),l(.769,.08),l(.266,-.213),l(.109,-.339),l(-.119,-.521),l(-.228,-.366),l(-.138,-.592),l(.043,-.325),l(.24,-.241),l(.679,-.314),l(.45,.745),l(.613,.575),l(.543,.604),l(.338,.929),l(.334,.689),l(.607,.434),l(.47,.195),l(.287,-.058),l(.509,-.483),l(.39,-.171),l(.262,.083),l(.434,.675),l(.87,.968),l(.009,.508),l(-.255,.326),l(-.261,.185),l(-.287,.058),l(-.476,-.068),l(-.311,.101),l(-.277,.369),l(.043,.494),l(.162,.098),l(1.234,.741),l(.632,.476),l(.637,.646),l(.698,.772),l(1.683,2.121),l(.57,.914),l(.471,.52),l(.685,.391),l(.358,.308),l(.136,.395),l(-.226,.439),l(.072,.282),l(.529,.477),l(.214,.437),l(.064,.578),l(-.155,.918),l(-.209,.114),l(-.975,.429),l(-.3,.072),l(-.373,-.351),l(-.444,-.181),l(-.476,.186),l(-.392,.285),l(.107,.296),l(.187,.182),l(.103,.211),l(-.095,.24),l(-.248,.058),l(-.469,-.251),l(-.341,-.111),l(-.736,-.165),l(-.533,-.251),
-N(60.074,72.607),l(-.099,.228),l(-.491,.472),l(-.395,.183),l(-.462,.062),L(58,73.461),l(-.961,-.362),l(-.153,-.197),l(.169,-.289),l(.54,-.274),l(.341,-.32),l(.716,.364),l(.3,.091),l(.465,-.26),l(.215,-.213),l(.064,-.366),l(.485,-.047),l(1.107,.135),l(.536,.334),l(.133,.213),l(-.756,.062),l(-.429,0),l(-.59,.184),l(-.11,.092),M(40.092,77.571),l(-.729,-.029),l(-.097,-.24),l(.011,-.3),l(.802,-.243),l(.326,-.211),l(.593,-.423),l(.448,-.137),l(.646,-.077),l(1.427,.253),l(.711,.24),l(-.079,.211),l(-.303,.046),l(-.754,-.074),l(-.496,.031),l(-1.077,.183),l(-.269,.226),l(-1.161,.543),M(38.426,77.979),l(-.515,-.209),l(-.139,-.285),l(.381,-.227),l(.674,.27),l(.093,.195),l(-.122,.15),l(-.372,.105),M(37.896,78.449),l(-.256,.084),l(-.558,.151),l(-1.109,-.058),l(-.387,.135),l(-.398,.434),l(-.31,.15),l(-.854,-.207),l(-.135,-.224),l(.497,-.359),l(.5,-.315),l(.955,-.166),l(.863,-.346),l(.39,.089),l(.461,.224),l(.341,.409),M(29.628,81.29),l(-.168,-.594),l(-.324,-.476),l(.839,-.136),l(.424,.088),l(.436,.238),l(-.244,.268),l(-.26,.06),l(-.073,.297),l(-.22,.09),l(-.412,.164),M(27.543,81.591),l(-.39,.031),l(-.741,.165),l(-.311,-.133),l(-.088,-.178),l(.104,-.119),l(.336,-.268),l(.294,-.09),l(.584,.222),l(.212,.371),M(54.394,157.986),l(-.559,-.356),l(-.044,-.884),l(-.243,-.677),l(.482,-.402),l(-.035,-.2),l(-.156,-.26),l(.052,-.149),l(.173,-.046),l(.354,.158),l(.652,.279),l(.593,.425),l(-.015,.275),l(.238,.046),l(.12,.287),l(.306,.149),l(-.062,.161),L(56,156.933),l(-.172,.204),l(-.766,.195),l(-.374,.23),l(-.295,.425),M(23.015,59.92),l(-1.613,-.646),l(-.75,-.205),l(-.792,-.062),l(-.9,.065),l(-.291,-.095),l(-.431,-.222),l(.179,-.287),l(.516,-.049),l(1.135,.221),l(.579,-.001),l(.543,-.081),l(.538,-.001),l(.828,.285),l(1.725,.362),l(.429,.237),l(.046,.111),l(-.569,-.03),l(-.646,.033),l(-.527,.365),M(99.855,70.993),l(.467,.929),l(-.071,.167),l(-.879,-.272),l(-.621,-.075),l(.067,.441),l(-.056,.228),l(-.935,-.607),L(97.03,71.41),l(.396,-.458),l(.263,-.153),l(.612,-.078),l(.784,.38),l(.771,-.108),M(100.975,73.606),l(.128,.272),l(-.086,.273),l(-.318,.483),l(-.559,-.815),l(-.597,-.909),l(-.04,-.228),l(.095,-.213),l(.407,.029),l(.568,.197),l(.402,.91),M(106.858,78.207),l(-1.872,-1.166),l(-.566,-.555),l(.01,-.467),l(-.559,-.843),l(.071,-.106),l(.456,.06),l(.274,.256),l(1.165,.48),l(.086,.196),l(-.059,.136),l(-.149,.226),l(.296,.436),l(.839,.374),l(.007,.974),M(140.191,127.819),l(-.043,-.094),l(-.198,-.36),l(-.049,-.067),l(-.032,.042),l(-.028,.05),l(-.04,-.092),l(.002,-.664),l(-.331,-.604),l(-.472,-.451),l(-.661,-.451),l(-.512,-.197),l(-.114,-.052),l(-.145,.034),l(.002,.092),l(-.088,.025),l(-.1,-.042),l(-.146,-.143),l(.076,-.076),l(-.073,-.202),l(-.228,-.252),l(-.283,-.025),l(-.312,.084),l(-.932,-.336),l(-.286,-.328),l(-.428,-.244),l(-.383,.042),l(-.932,-.16),l(-.721,.051),l(-.12,-.185),l(-.234,-.067),l(-.046,-.177),l(.094,-.117),l(-.157,-.504),l(.133,-.464),l(-.227,-.096),l(-.127,.008),l(-.249,-.134),l(0,-.101),l(.075,-.093),l(-.029,-.219),l(-.347,-.185),l(-.254,-.286),l(-.415,-.219),l(-.391,-.623),l(-.202,-.076),l(-.203,-.311),l(-.409,-.219),l(-.156,-.529),l(-.002,-.227),l(.178,.007),l(.147,-.164),l(.029,-.326),l(-.208,-.251),l(-.192,-.045),l(-.22,.037),l(-.303,-.126),l(-.535,-.514),l(.078,-.21),l(-.091,-.312),l(-.129,-.067),l(-.044,-.463),l(.058,-.152),l(.119,-.025),l(.099,.067),l(.073,.076),l(-.086,.101),l(.153,.202),l(.285,.126),l(.116,.118),l(.203,.017),l(-.385,-.564),l(-.183,-.144),l(-.021,-.236),l(-.184,-.109),l(-.051,-.344),l(-.13,.006),l(-.011,.144),l(.048,.446),l(-.093,.017),l(-.293,-.194),l(-.119,.042),l(-.516,-.404),l(-.136,-.363),l(-.377,-.514),l(-.531,-.379),l(-.624,-.583),l(-.123,-.142),l(.114,-.101),l(-.327,-.751),l(.161,-.43),l(-.254,-.479),l(-.22,-.355),l(-.738,-.782),l(-.104,-.299),l(.099,-.627),l(.252,-.628),l(.166,-.357),l(.059,-.856),l(-.215,-.785),l(-.692,-1.486),l(-.153,-.916),l(.096,-.287),l(.231,-.244),l(.402,-.201),l(.365,-.717),l(-.365,-.573),l(-.066,-.33),l(.424,-1.593),l(.153,-.575),l(.061,-.634),l(.091,-.778),l(.019,-.179),l(-.153,-.16),l(.08,-.231),l(-.103,-.167),l(.157,-.077),l(-.03,-.186),l(-.046,-.186),l(-.031,-.103),l(-.004,-.058),l(.322,.096),l(.209,-.019),l(.062,-.097),l(-.211,.006),l(-.614,-.122),l(.062,-.707),l(-.103,-.328),l(.017,-.277),l(.587,-.225),l(-.345,-.019),l(-.16,-.142),l(-.129,0),l(-.053,.045),l(.042,.116),l(-.12,.052),l(-.133,-.979),l(-.927,-1.463),l(-.017,-.465),l(.129,-.131),l(.544,.086),l(.632,.217),l(.785,.114),l(.641,.028),l(.546,-.044),l(.415,.086),l(.547,.318),l(.039,.435),l(-.42,.407),l(-.413,.347),l(.532,.146),l(.184,.188),l(.251,.169),l(.029,-.228),l(.161,-.232),l(.393,-.305),l(.21,-.581),l(.102,-.465),l(-.064,-.421),l(-.356,-.958),l(-.158,-.305),l(-.655,-.516),l(.194,.013),l(2.579,.001),l(1.335,.022),l(4.588,-.025),l(3.938,.008),l(2.87,-.001),l(1.687,.006),l(5.117,-.028),l(.74,.011),l(4.13,.021),l(1.089,-.035),l(3.821,.023),l(.875,-.005),l(3.617,-.004),l(4.84,.018),l(.601,-.003),l(2.935,.014),l(2.131,-.012),l(2.781,.029),l(2.915,-.016),l(2.105,.003),l(1.348,-.007),l(2.798,.029),l(2.687,-.029),l(.68,.003),l(-.387,-.588),l(-.131,-.347),l(.501,-.036),l(.896,.748),l(.279,.371),l(.468,.46),l(.833,.451),l(.518,-.076),l(1.425,.208),l(.02,.185),l(.271,-.012),l(.338,.48),l(.16,-.247),l(.502,.013),l(.241,.271),l(.469,.086),l(.064,.185),l(.506,.098),l(.573,-.141),l(.219,-.06),l(.412,-.191),l(.373,-.075),l(.028,.282),l(.197,.116),l(.855,-.083),l(.474,.041),l(.156,.115),l(.196,.144),l(.542,-.049),l(.707,.074),l(1.469,-.592),l(.805,-.189),l(.797,.227),l(.977,.386),l(3.975,1.576),l(2.15,1.061),l(.101,.429),l(.46,.465),l(.628,-.024),l(.178,.135),l(.184,.294),l(.916,.181),l(.307,.235),l(-.11,.318),l(.26,.33),l(2.529,1.05),l(.876,3.16),l(.054,.545),l(-.028,.746),l(-.377,.576),l(-.294,.544),l(-.264,.433),l(-.414,.294),l(-.707,.525),l(-.044,.218),l(.012,.33),l(.371,.427),l(.497,.169),l(.573,.068),l(.524,-.117),l(.925,-.506),l(.939,-.478),l(.88,-.262),l(.919,-.062),l(.944,-.163),l(1.464,-.452),l(.875,-.427),l(-.047,-.362),l(-.16,-.471),l(-.018,-.319),l(.162,-.375),l(.47,-.203),l(.93,-.091),l(1.123,.01),l(1.305,.138),l(1.156,-.197),l(.44,-.275),l(.163,-.512),l(.146,-.434),l(.545,-.164),l(1.754,-.814),l(.534,-.305),l(.968,-.523),l(1.76,-.009),l(2.508,.029),l(1.855,.004),l(1.093,.095),l(.174,-.375),l(.363,-.435),l(.402,-.06),l(1.161,.124),l(1.139,-1.45),l(1.139,-2.22),l(.514,-.626),l(.632,-.526),l(.273,.085),l(.505,.36),l(.381,.085),l(.41,-.176),l(.771,.025),l(.488,.288),l(.174,.274),l(.31,2.819),l(-.077,.229),l(.606,.231),l(.224,0),l(.042,.154),l(-.143,.069),l(.02,.256),l(-.192,.077),l(.16,.291),l(.188,-.153),l(.349,.495),l(-.268,.281),l(.299,-.04),l(.171,.093),l(-.511,.374),l(-.509,.093),l(-.297,-.12),l(-.013,.253),l(-.138,.067),l(-.077,-.107),l(-.231,-.08),l(-.277,.133),l(-.101,.28),l(-.171,-.013),l(-.15,.16),l(-.175,-.347),l(-.746,.28),l(-.204,-.093),l(.12,.413),l(-.666,-.213),l(.199,-.48),l(-.149,-.04),l(-.364,.52),l(-.332,.56),l(-.342,.333),l(-.324,-.227),l(-.249,.439),l(-.346,-.08),l(.122,-.307),l(-.325,.253),l(.165,.16),l(-.326,.293),l(-.318,-.133),l(.105,-.226),l(-.654,.253),l(.065,.359),l(-.264,.04),l(-.161,.373),l(-.352,.106),l(-.333,.679),l(-.404,.505),l(.173,.146),l(.068,.212),l(.168,.053),l(.083,-.08),l(.169,.013),l(-.122,.146),l(-.547,.106),l(.053,.093),l(-.392,.292),l(-.068,.159),l(.337,.027),l(.282,.093),l(.599,.704),l(.055,.398),l(.399,.106),l(.691,-.239),l(-.022,-.186),l(-.14,-.027),l(-.254,-.279),l(-.097,-.04),l(-.009,-.066),l(.196,0),l(.23,.133),l(.218,.358),l(.031,.425),l(-1.599,.292),l(-.032,-.385),l(-.124,-.066),l(-.109,.226),l(-.164,.04),l(-.03,.093),l(-.105,-.106),l(-.159,.266),l(-.164,.04),l(-.294,.04),l(-.045,-.332),l(.198,-.332),l(-.443,.119),l(-.154,-.146),l(-.082,.252),l(-.087,.664),l(-1.429,.132),l(-1.694,.159),l(-1.182,.345),l(-.787,.358),l(-.097,.212),l(-.32,.053),l(-.144,.172),l(-.032,-.04),l(.308,-.756),l(.024,-.106),l(-.071,.027),l(-.41,.994),l(-.079,-.08),l(-.406,.292),l(.218,.318),l(.553,.093),l(-.46,1.515),l(-.302,.429),l(-.259,-.092),l(.043,.251),l(-.062,.185),l(-.237,.145),l(-.462,.501),l(-.292,.304),l(-.167,.026),l(-.075,-.119),l(.177,-.31),l(-.113,-.178),l(-.43,.013),l(-.447,-.343),l(-.148,-.053),l(-.329,-.541),l(.315,-.257),l(.151,-.245),l(-.271,.119),l(-.362,.37),l(.489,.845),l(.033,.356),l(.387,.581),l(.28,.066),l(.104,.765),l(-.101,.238),l(-.151,.23),l(-.125,-.013),l(-.487,.666),l(-.396,.798),l(.034,.053),l(-.13,.132),l(-.107,-.125),l(-.374,.725),l(.026,.125),l(-.226,.04),l(-.137,-.263),l(.342,-.864),l(.195,-.29),l(.247,-.119),l(.061,-.237),l(-.093,-.059),l(-.374,.119),l(.226,-.383),l(-.218,.04),l(-.176,-.093),l(.012,-.191),l(.242,-.04),l(-.077,-.33),l(-.439,.296),l(-.241,-.204),l(-.157,.053),l(-.23,-.396),l(.355,-.171),l(.357,-.053),l(-.005,-.06),l(-.604,-.316),l(-.092,.165),l(-.072,0),l(.107,-.323),l(.089,-.02),l(.21,.159),l(.131,-.06),l(-.098,-.224),l(-.353,-.066),l(-.065,-.112),l(.096,-.112),l(.336,.02),l(.193,-.284),l(-.281,.046),l(-.158,-.059),l(.241,-.37),l(.652,-.152),l(-.328,-.06),l(.146,-.409),l(-.28,.093),l(-.096,.132),l(.11,.079),l(-.315,.191),l(-.035,-.224),l(-.093,.053),l(.051,.224),l(-.081,.086),l(-.051,-.158),l(-.097,-.066),l(-.103,.416),l(-.447,-.079),l(.402,.501),l(-.294,.666),l(.07,.237),l(.272,.488),l(-.055,.139),l(-.466,-.317),l(-.1,-.211),l(.026,.205),l(.174,.218),l(.421,.237),l(.132,.508),l(-.631,-.402),l(-.354,-.007),l(-.118,-.283),l(-.155,-.053),l(.066,.25),l(-.541,-.323),l(-.33,.04),l(.015,-.29),l(.427,-.323),l(-.428,.079),l(-.19,.468),l(.204,.231),l(.457,.046),l(.202,.25),l(.954,.297),l(-.047,.092),l(.554,.165),l(.158,.132),l(-.22,.468),l(-.227,.06),l(-1.042,-.804),l(.708,.811),l(.626,.171),l(-.248,.092),l(.323,.079),l(-.045,.079),l(.061,.06),l(-.034,.25),l(-.312,-.191),l(-.071,.073),l(.104,.211),l(-.216,.02),l(-.656,-.56),l(-.023,.026),l(.419,.475),l(.309,.158),l(.182,-.026),l(.191,.21),l(.018,.31),l(-.298,.059),l(-.492,-.534),l(-.474,-.198),l(-.199,.16),l(.046,.044),l(.44,.145),l(.488,.382),l(-.047,.237),l(.442,-.033),l(.031,-.119),l(.748,.119),l(.151,.382),l(.406,1.212),l(.448,.803),l(-.14,-.092),l(-.262,-.349),l(-.059,-.132),l(-.359,-1.172),l(-.147,-.277),l(-.056,.31),l(.135,0),l(.034,.198),l(-.292,-.066),l(.173,.283),l(.144,.099),l(.228,.58),l(-.144,-.053),l(-.211,-.382),l(.002,.224),l(-.52,-.303),l(-.06,.059),l(.266,.303),l(-.247,.119),l(-.526,-.204),l(.225,.204),l(-.375,.211),l(-.173,-.02),l(-.251,-.21),l(-.024,-.217),l(.083,-.158),l(-.081,-.053),l(-.091,.204),l(.044,.23),l(.116,.211),l(-.107,.158),l(.894,.02),l(.571,-.145),l(.125,.165),l(-.113,.191),l(-.072,.369),l(.14,.066),l(.092,-.257),l(.135,-.369),l(.18,-.105),l(.266,.31),l(.047,.296),l(-.166,.25),l(-.163,-.013),l(-.063,-.099),l(-.316,.474),l(-.254,.197),l(-.483,-.053),l(-.203,-.065),l(-.147,-.066),l(-.136,-.245),l(-.151,.014),l(.141,.244),l(-.075,.013),l(-.538,-.125),l(-.436,-.151),l(.162,.185),l(.269,.026),l(.833,.335),l(-.034,.119),l(-.396,.145),l(.247,.007),l(-.19,.25),l(-.281,.138),l(-.149,0),l(-.481,-.375),l(.242,.395),l(.43,.164),l(.302,-.171),l(.292,.026),l(.11,-.204),l(.04,.178),l(.217,.04),l(.048,.079),l(-.428,.322),l(-.013,.085),l(-.261,.072),l(-1.498,.214),l(-.865,.895),l(-.487,.609),l(-.13,.127),l(-.935,.143),l(-.528,.128),l(-.617,.241),l(-.678,.539),l(-.225,.424),l(-.096,.354),l(-.819,.694),l(-.693,.383),l(-.429,.199),l(-.797,.086),l(-.35,.58),l(-.177,.198),l(-.809,1.125),l(-.273,.781),l(-.459,1.249),l(.236,1.455),l(.387,.925),l(.456,.873),l(.934,1.562),l(.352,1.746),l(.486,1.194),l(-.075,.092),l(.287,.276),l(.123,.333),l(.062,.827),l(-.301,1.536),l(-.064,.278),l(-.31,.415),l(.108,.424),l(-.02,.252),l(-.393,.551),l(-.017,-.092),l(.129,-.241),l(-.025,-.138),l(-.256,.035),l(-.38,.137),l(-.291,-.126),l(-.509,.138),l(-.12,-.329),l(.014,-.233),l(-.567,-1.068),l(-.764,-.138),l(-.204,-.352),l(-.113,-.819),l(-.423,-.229),l(-.144,-.702),l(-.373,.093),l(-.608,-1.08),l(-.375,-.482),l(.296,0),l(.375,-.438),l(.048,-.226),l(-.167,-.226),l(-.471,.407),l(-.277,-.208),l(.126,-.573),l(.147,-.758),l(.158,-1.043),l(-.293,-.452),l(-.258,-.169),l(-.496,-.126),l(-.832,-.987),l(-.875,-.804),l(-.528,-.168),l(-.43,.072),l(-.536,.298),l(-.456,.354),l(-1.202,.299),l(-.273,-.213),l(-.131,-.62),l(-.253,-.254),l(-.264,-.113),l(-.752,-.069),l(-.516,-.296),l(-.22,-.233),l(-.504,.138),l(-1.052,.115),l(-.653,-.184),l(-.047,.298),l(-.64,.099),l(-.183,0),l(-.578,-.926),l(-.238,.781),l(-.447,-.135),l(-.65,.001),l(-1.328,-.04),l(-.672,.439),l(-.39,.055),l(-1,-.459),l(-.096,.009),l(-.142,.014),l(-.362,.528),l(.201,.229),l(.303,0),l(.211,0),l(.537,-.207),l(.406,.092),l(.676,.482),l(-.68,.373),l(.02,.254),l(.263,.353),l(.593,.146),l(.229,.217),l(.35,.334),l(-.533,.136),l(-.503,-.084),l(-.276,-.419),l(-.79,-.271),l(-.224,-.211),l(-.265,-.056),l(-.013,.02),l(-.209,.32),l(.209,.154),l(.248,.183),l(-.248,.179),l(-.069,.05),l(-.447,-.459),l(-.476,.192),l(-.287,.291),l(-1.025,-.472),l(-.419,-.494),l(-1.16,-.642),l(-.615,.066),l(.554,.393),l(-.307,.187),l(-1.17,-.083),l(-.886,-.252),l(-.896,-.168),l(-1.547,.173),l(-.632,.328),l(-.392,-.015),l(-.433,-.031),l(-.135,-.49),l(-.333,.057),l(-.112,.184),l(.474,.731),l(-.877,.64),l(-.808,.577),l(-.915,.317),l(-.419,.043),l(-.414,-.056),l(-.728,-.111),l(-.126,.198),l(.437,.437),l(-.239,.396),l(-.327,.199),l(-.631,.114),l(-.737,.27),l(-.268,.17),l(.558,.352),l(.111,.169),l(-.659,.694),l(-.154,.297),l(-.012,.848),l(.144,.636),l(.271,.762),l(.425,.903),l(-.347,-.119),l(-.816,-.377),l(-.296,.001),l(-.416,.116),l(-.264,-.069),l(-1.029,-.56),l(-.921,-.32),l(-.375,-.365),l(-.336,-.592),l(-.332,-.932),l(-.078,-.467),l(-.268,-.253),l(-.657,-.576),l(-.845,-1.042),l(-.744,-1.227),l(-.663,-1.029),l(-.363,-.366),l(-.412,-.252),l(-.783,-.321),l(-.475,-.082),l(-.643,.018),l(-.468,.201),l(-.576,.541),l(-.418,.413),l(-.283,.37),l(-.416,.158),l(-.501,-.011),l(-.337,-.069),l(-1.104,-.503),l(-1.092,-.659),l(-.445,-.549),l(-.318,-.847),l(-.284,-.678),l(-.179,-.226),l(-.708,-.491),l(-.837,-.519),l(-.766,-.632),l(-.631,-.662),l(-.209,-.112),l(-1.892,-.046),l(-1.858,-.003),l(-.096,.892),l(-.213,.101),l(-1.867,.011),l(-.966,-.037),l(-1.544,-.02),l(-1.662,-.019),l(-.338,-.055),l(-3.516,-1.112),l(-2.811,-.933),l(-1.186,-.39),l(-.267,-.154),l(-.316,-.31),l(-2.381,.084),l(-2.367,.155),l(-.34,.017),M(49.818,152.776),l(-.122,.086),l(-.279,.03),l(-.111,-.131),l(-.177,-.005),l(-.324,.051),l(-.304,-.39),l(-.071,-.263),l(.339,-.01),l(.299,-.253),l(.188,.218),l(.106,.294),l(.223,.096),l(.233,.279),M(52.785,154.312),l(-.155,-.081),l(-.085,-.356),l(-.461,-.321),l(.095,-.229),l(.143,-.058),l(.366,.209),l(.344,.055),l(.616,.356),l(-.005,.172),l(-.294,.184),l(-.563,.069),M(111.683,77.224),l(-.138,.415),l(-.45,.067),l(-.324,.113),l(-.295,.247),l(-.321,-.137),l(-.185,-.21),l(.087,-.443),l(.086,-.443),l(-.438,-.675),l(-.463,-.319),l(-.199,-.271),l(-1.281,.055),l(-.437,.098),l(-.153,.161),l(-.496,.097),l(-.019,-.193),l(-.034,-.432),l(.212,-.272),l(.184,-.212),l(-.378,-.347),l(-.641,-.438),l(-.693,-.696),l(-.723,-.317),l(-.453,-.136),l(.132,-.35),l(-.569,-.592),l(-.099,-.213),l(.371,-.229),l(-.068,-.122),l(-.301,-.152),l(-.445,-.076),l(-.392,-.274),l(-.237,-.259),l(-.57,-.305),l(-1,-.411),l(-.479,-.765),l(-.217,-.583),l(-.367,-.399),l(-.357,.016),l(-.101,.814),l(.42,.873),l(.104,.306),l(-.047,.153),l(-.701,-.136),l(-.272,-.076),l(-.511,-.504),l(-.4,-.459),l(-.537,.139),l(-1.219,-.228),l(1.263,.718),l(.032,.214),l(-1.62,.171),l(-1.093,-.35),l(-1.388,-.948),l(-.543,-.292),l(-.664,-.043),l(-.079,0),l(-.933,-.213),l(-1.3,-.536),l(.928,-.248),l(.135,-.169),L(90.8,67.129),l(-.384,-.153),l(-.792,.156),l(-.454,.14),l(-.656,.017),l(-1.058,-.06),l(-1.068,-.245),l(.027,-.247),l(-.148,-.186),l(-.325,-.108),l(-.359,.016),l(-.47,.202),l(-1.036,.049),l(-1.465,-.122),L(80.46,66.64),l(-.786,-.091),l(-.248,-.108),l(-.651,-.387),l(-.427,-.527),l(-.301,.218),l(-.788,.157),l(-.89,-.293),l(-.234,-.326),l(-.417,-.139),l(-.872,-.248),l(-1.538,-.23),l(-.817,-.248),l(-.671,-.342),l(-.553,.235),l(-.675,.079),l(.06,.437),l(-.193,.062),l(-.389,.25),l(-.249,.405),l(1.119,.293),l(.174,.294),l(-.096,.388),l(-.428,.449),l(-.458,.001),l(-.804,-.214),l(-.586,-.061),l(-.568,.094),l(-.978,.603),l(-1.066,.217),l(-.936,.448),l(-1.035,.448),l(-1.095,.109),l(.178,-.308),l(.063,-.123),l(.72,-.401),l(-.093,-.385),l(-.655,-.523),l(.004,-.108),L(64.1,66.19),l(.411,-.482),l(.157,-.42),l(.736,-.312),l(.87,-.235),l(1.165,-.018),l(1.085,.123),l(.239,-.156),l(-1.239,-.466),l(-.971,-.389),l(-1.043,.049),l(-.226,.219),l(-.449,.095),l(-.573,.438),l(-.865,.375),l(-1.019,.282),L(61.553,65.9),l(-.406,.094),l(-.298,.14),l(.131,.325),l(-.177,.526),l(-.563,.34),l(-.564,.078),L(59,67.544),l(-.592,.278),l(-.681,.601),l(-.035,.292),l(.38,.168),l(.36,.03),l(.667,.106),l(.465,.229),l(-.075,.184),l(-.43,.338),l(-.625,.2),l(-.557,.277),l(-.423,.398),l(-.544,.383),l(-.675,.093),l(-1.434,.308),l(-.678,.397),l(-1.036,.337),l(-.7,.367),l(.52,.5),l(-.1,.167),l(-1.106,.412),l(-.897,.153),l(-.778,.168),L(49.51,74.19),l(-1.214,.456),L(48.1,74.828),l(-.274,.394),l(-.753,.439),l(-1.193,.229),l(-1.234,.184),l(-.973,-.345),l(.001,-.181),l(.332,-.348),l(.763,-.273),l(.306,-.212),l(.445,-.364),l(1.171,-.441),l(1.403,.073),l(-.12,-.212),l(.02,-.516),l(.47,-.304),l(.725,-.291),l(.754,-.366),l(.266,-.214),l(.002,-.731),l(.246,-.749),l(.693,-.49),l(.194,-.398),l(.034,-.412),l(-.633,.122),l(-1.251,.186),l(-.676,-.029),l(-.5,-.597),l(-.266,.062),l(-.613,.216),l(-.136,.23),l(.239,.352),l(.021,.352),l(-.169,.046),L(47,70.115),l(-.567,-.32),l(-.487,-.397),l(-.509,-.291),l(-.56,-.03),l(-.812,-.106),l(-.91,.094),l(.028,.138),l(-.644,.338),l(-1.175,.14),l(-.649,-.09),l(-.064,-.123),l(-.082,-.107),l(-.125,-1.028),l(.3,-.508),l(-.142,-.431),l(-.864,-1.002),l(-1.43,.437),l(-.738,.078),l(-.406,.202),l(-1.091,.094),l(-.4,-.23),l(-.394,-.355),l(-.466,-.325),l(-1.007,-.463),l(-.179,-.28),l(.292,-.171),l(.337,-.437),l(.704,.139),l(1.312,.309),l(.69,.03),l(.238,-.234),l(-.375,-.482),l(-.458,-.264),l(-.363,0),l(-.541,.22),l(-.528,-.015),l(-1.342,-.513),l(-.623,-.186),l(-.197,.016),l(-.858,-.029),l(-.024,-.078),l(-.623,-.985),l(.79,-.19),l(.071,-.456),l(.495,-.221),l(.102,-.299),l(.227,-.347),l(.893,-.491),l(.337,-.38),l(.386,-.301),l(.527,-.476),l(.39,-.175),l(.719,.109),l(.98,.268),l(.485,.094),l(.752,-.144),l(.427,-.254),l(.675,-.429),l(1.252,-.257),l(.774,-.033),l(.955,-.049),l(.354,-.175),l(.187,-.478),l(-.259,-.669),l(-.814,-.686),l(.026,-.096),l(.927,-.034),l(.343,-.256),l(-.25,-.384),l(-.497,-.256),l(-.367,-.08),l(-1.88,.389),L(39.33,56.53),l(-.534,.289),l(-.496,.065),l(-1.907,-.333),l(-.848,-.031),L(34.8,56.49),l(-1.27,.162),l(-1.265,-.029),l(-1.349,-.174),l(-.53,-.207),l(-.183,-.788),l(.144,-.146),l(.636,-.033),l(1.008,-.002),l(.446,-.179),l(-1.057,-.241),l(-1.912,-.304),L(28.13,54.31),l(-1.285,-.208),l(.219,-.114),l(.781,-.262),l(1.568,-.214),l(1.325,-.328),l(.958,-.214),l(1.058,-.361),l(.953,-.23),l(1.399,-.281),l(1.513,.128),l(-.158,.523),l(.023,.277),l(1.051,.161),l(1.359,.095),l(1.074,-.019),l(.657,-.099),l(.784,-.246),l(.55,-.295),l(.262,-.083),l(.752,.064),l(.751,.113),l(1.021,-.051),l(.2,-.327),l(.007,-.18),l(-.689,-.064),l(-1.946,-.292),l(-1.283,-.047),l(-.312,-.755),l(-1.473,-.162),l(-.96,-.031),l(-1.573,-.096),l(-.194,-.511),l(-.484,-.312),l(-1.042,-.461),l(-.512,-.148),l(-2.66,-.659),l(-2.008,-.545),l(.317,-.167),l(.812,-.402),l(.086,-.485),l(2.136,-.054),l(.99,-.069),l(1.829,-.288),l(.784,-.354),l(.452,-.623),l(.788,-.575),l(.616,-.525),l(.818,-.41),l(.742,-.224),l(1.066,-.104),l(1.133,-.241),l(1.047,-.036),l(1.804,.065),l(.146,-.188),l(-.156,-.205),L(44.47,42.83),l(.018,-.206),l(1.936,-.089),l(1.143,.032),l(.974,-.054),l(1.344,-.14),l(1.098,-.416),l(.918,-.417),l(.957,-.019),l(.282,.051),l(.675,.241),l(.156,.172),l(-.383,.139),l(.017,.344),l(1.049,.136),l(.424,.034),l(.536,-.293),l(.297,-.208),l(1.419,.187),l(1.534,.049),l(1.062,.049),l(.715,.033),l(.711,.257),l(.359,.274),l(.783,.358),l(.494,.085),l(.421,-.086),l(1.292,.117),l(1.124,.015),l(1.556,-.054),l(1.449,-.088),l(1.213,.1),l(1.377,.254),l(.883,.118),l(3.424,.13),l(1.279,.168),l(.743,.169),l(2.027,-.038),l(2.339,-.141),l(1.123,.236),l(2.441,.791),l(1.206,.301),l(.227,.008),l(.102,.483),l(-.003,2.855),l(.039,2.259),l(.052,2.335),l(.129,2.796),l(-.026,2.183),l(-.043,4.334),l(.026,2.167),l(.089,1.046),l(.196,.279),l(.84,.074),l(2.424,-.122),l(.739,.059),l(.332,.388),l(.173,.387),l(.348,.292),l(2.162,1.318),l(.945,.673),l(.238,-.325),l(.848,-.205),l(1.225,-.67),l(.731,-.498),l(.495,-.126),l(.832,.073),l(.316,.199),l(.371,.492),l(.35,.322),l(2.048,1.175),l(.814,.58),l(1.769,1.768),l(1.67,1.882),l(.512,.393),l(.189,.029),l(.98,.314),l(2.025,.763),l(.402,.255),l(-.163,.788),l(.393,.777),
-N(643.755,159.873),l(-1.092,-.52),l(-.637,-.337),l(-.203,-1.284),l(.036,-.282),l(.24,-.241),l(.42,-.241),l(.721,-.623),l(.493,.056),l(.049,-.17),l(.24,-.396),l(.239,.028),l(.573,.225),l(.321,-.312),l(.439,-.001),l(.798,-.171),l(.596,.69),l(-.163,.17),l(-.443,.354),l(-.412,.538),l(-.285,.734),l(.14,.296),l(-.22,.311),l(-.292,.085),l(-1.026,.383),l(-.532,.707),M(627.173,150.012),l(-.679,.314),l(-.24,.241),l(-.043,.325),l(.138,.592),l(.228,.366),l(.119,.521),l(-.109,.339),l(-.266,.213),l(-.769,-.08),l(-.321,-.21),l(-.178,-.196),l(-.153,-.239),l(-.111,-.38),l(-.628,.413),l(-.647,.159),l(-.246,-.083),l(-.378,-.266),l(-.341,-.746),l(-.291,-.379),l(-.481,.045),l(-.507,.003),l(-.228,-.098),l(-.117,-.352),l(.729,-1.584),l(-.033,-.268),l(-.521,-.096),l(-.554,.074),l(-.202,-.324),l(-.277,-1.762),l(-.156,-.126),l(-.479,.017),l(-.771,.089),l(-.819,.442),l(-.312,.086),l(-.216,-.069),l(0,-.268),l(.224,-.58),l(-.163,-.705),l(-.075,-.465),l(.617,-.85),l(.191,-.198),l(.487,-.271),l(.611,-.525),l(.429,-.722),l(.353,-.862),l(-.02,-.875),l(-.195,-1.649),l(-.146,-.14),l(-.504,.031),l(-.287,-.041),l(-.217,-.309),l(-.243,-.901),l(-.397,-.435),l(-.504,-.279),l(-.277,.044),l(-.306,.34),l(-.001,.127),l(-.624,-.081),l(-.73,-.179),l(-.657,-.081),l(-.3,-.055),l(-.102,-.056),l(.138,-.269),l(.354,-.454),l(-.046,-.38),l(-.716,-.715),l(-.455,-.392),l(-1.377,.84),l(-.377,.044),l(-.975,-.319),l(-.286,-.167),l(-.355,.087),l(-.546,.299),l(-1.105,.726),l(-.829,.258),l(-.543,.37),l(-1.123,1.107),l(-.397,.27),l(-.714,.216),l(-.784,.033),l(-.189,.1),l(-.329,-.619),l(-.312,-.209),l(-.371,-.041),l(-1.659,-.047),L(601,137.538),l(-.309,-.294),l(-.417,.016),l(-.149,.103),l(-.348,.239),l(-.609,.539),l(-1.251,1.545),l(-.212,-.662),l(.052,-.861),l(-.139,-.183),l(-.231,-.069),l(-.471,.102),l(-.345,.129),l(-.655,-.159),l(-.339,.281),l(-.341,-.116),l(-.849,.066),l(-.319,-.364),l(-.63,-.281),l(-.407,0),l(-.08,.331),l(-.271,.083),l(-.685,-.38),l(.01,.364),l(-.237,.099),l(-.141,-.463),l(-.54,-.496),l(-.365,.066),l(-.935,-.066),l(-.014,-.265),l(.175,-.396),l(-.326,-.017),l(-.333,.248),l(-1.451,-.893),l(.069,-.281),l(-.178,-.38),l(-.289,-.166),l(-.71,.116),l(-.158,.166),l(-.657,-.794),l(-.454,-.281),l(-.15,.132),l(-.472,-.215),l(-.726,-.595),l(-.867,-.264),l(-.132,-.612),l(-1.079,-.199),l(-.186,.182),l(-.275,-.066),l(-.134,.513),l(-.276,.314),l(-.299,-.05),l(-.24,-.43),l(-.859,-.596),l(-.154,.066),l(-.756,-.248),l(.116,-.364),l(-1.078,-.579),l(-.363,.116),l(-.772,-.843),l(-.383,-.248),l(-.477,.314),l(-.198,-.066),l(-.099,-.43),l(.215,-.215),l(-.272,-.364),l(.104,-.446),l(-.579,-.595),l(-.157,-.694),l(.785,-.198),l(.033,.364),l(.337,.264),l(.368,-.049),l(.376,-.281),l(.578,-.364),l(-.367,-.694),l(.104,-.414),l(-.68,-.099),l(-.044,-.182),l(-.092,-.078),l(-.718,-.096),l(-.294,-.221),l(-.037,-.552),l(-.073,-.589),l(.184,-.184),l(.331,-.221),l(-.221,-.258),l(-.441,-.405),l(-.81,-.11),l(-.221,-.515),l(-.441,-1.03),l(0,-.515),l(-.502,.152),l(-.147,-.126),l(-.305,-.111),l(-1.337,-.104),l(-.565,-.436),l(-.178,-.09),l(-.104,-.199),l(-.239,0),l(-.52,.196),l(-.252,-.281),l(-.198,-.218),l(-.301,-.07),l(.312,-.516),l(-.007,-.501),l(-.213,-.247),l(-.373,-.323),l(-.625,.009),l(-.282,.128),l(-.004,-.456),l(-.554,-.117),l(-.296,-.047),l(-.281,.21),l(-.105,-.112),l(-.313,-.14),l(-.048,-.088),l(-.236,-.012),l(-.01,-.269),l(.574,.059),l(.192,-.145),l(.354,-.136),l(.08,-.249),l(.181,-.185),l(-.2,-.163),l(.152,-.36),l(-.245,-.237),l(.126,-.428),l(-.049,-.123),l(-.152,-.012),l(-.028,-.246),l(.009,-.284),l(-.295,-.494),l(-.273,-.154),l(-.692,-.039),l(-.22,-.06),l(-.229,.162),l(-.463,.045),l(-.325,-.394),l(-.077,-.305),l(.207,-.223),l(-.023,-1.031),l(.011,-.069),l(.139,-.739),l(.129,-.213),l(.274,-.186),l(1.422,-.704),l(1.737,-.734),l(.359,-.03),l(.06,.071),l(.183,.567),l(.344,.055),l(.507,-.145),l(.885,-.132),l(.268,-.243),l(.463,-.784),l(.467,-.472),l(.238,-.03),l(1.248,.235),l(.459,-.017),l(.478,-.102),l(.646,-.345),l(.638,-.701),l(.405,-.301),l(.445,-.145),l(1.338,-.349),l(.97,-.219),l(.325,-.187),l(.051,-.157),l(-.031,-.194),l(-.139,-.86),l(.02,-.399),l(.32,-.401),l(.705,-.546),l(.222,-.33),l(-.119,-.47),l(-.29,-.441),l(-.345,-.627),l(-.03,-1.357),l(-.483,-.141),l(-.366,.06),l(-.232,-.185),l(.068,-.215),l(.215,-.302),l(.393,-.188),l(1.799,-.254),l(1.082,-.207),l(.35,-.06),l(.5,.184),l(1.133,.238),l(.394,-.074),l(.231,-.145),l(.156,-.245),l(-.126,-.286),l(-.622,-.514),l(.137,-.418),l(.286,-.605),l(.438,-.794),l(.516,-1.141),l(.427,-.507),l(1.096,.254),l(.721,.141),l(.594,.141),l(1.402,.079),l(.718,-.062),l(.417,-.103),l(.444,-.392),l(.157,-.39),l(-.213,-.707),l(-.097,-.75),l(.34,-.581),l(.428,-.277),l(1.199,-.093),l(.289,-.06),l(.306,-.219),l(.035,-.478),l(.011,-.275),l(.279,-.262),l(.542,-.148),l(.551,-.034),l(.228,-.014),l(.569,-.003),l(.244,-.074),l(.062,.145),l(.131,.405),l(.24,.563),l(.371,.433),l(1.301,.745),l(.834,.415),l(.614,.069),l(.731,.167),l(.633,.144),l(.354,.143),l(.568,.618),l(1.07,1.451),l(.401,.66),l(-.215,.447),l(-.237,.75),l(-.214,.389),l(-.369,.347),l(-.035,.129),l(.105,.43),l(.233,.229),l(.724,.312),l(1.062,.181),l(1.505,.021),l(.995,.038),l(.668,.083),l(.998,.224),l(.632,.268),l(1.645,.806),l(.839,.31),l(.744,.096),l(.105,.542),l(1.571,2.161),l(.467,.439),l(.444,.254),l(1.979,.018),l(1.241,.207),l(.802,.109),l(1.165,.022),l(2.861,-.059),l(.937,.023),l(1.164,.022),l(1.69,.119),l(.521,.168),l(.815,.551),l(1.006,.365),l(1.599,.433),l(.929,.123),l(.663,-.061),l(.61,.067),l(.253,.297),l(.433,.197),l(.481,-.017),l(.686,-.289),l(1.44,-.534),l(.303,-.101),l(.736,-.274),l(.816,-.289),l(1.204,-.349),l(1.339,-.007),l(1.514,-.065),l(.987,.08),l(.651,-.061),l(1.941,-.737),l(.265,-.172),l(1.111,-1.046),l(.67,-.389),l(1.265,-.292),l(.326,-.259),l(.123,-.271),l(-.188,-.228),l(-.599,-.411),l(-.389,-.569),l(-.003,-.343),l(.214,-.401),l(.539,-.589),l(.457,-.231),l(.316,-.073),l(.718,.154),l(.668,.382),l(.592,.125),l(.982,-.005),l(.744,-.047),l(.742,-.433),l(1.192,-.91),l(.224,.013),l(.438,.012),l(.624,.054),l(.896,-.134),l(.638,-.248),l(.347,-.188),l(.241,-.216),l(.312,-.82),l(.363,-.333),l(.47,-.204),l(.464,-.045),l(.483,.127),l(.353,-.189),l(.831,-.278),l(.539,-.146),l(.937,-.221),l(.854,-.033),l(.432,.099),l(1.074,.008),l(.464,.127),l(.414,-.218),l(.107,-.217),l(-.048,-.273),l(-.599,-.501),l(-.879,-.99),l(-.797,-.5),l(-.538,-.199),l(-.928,-.212),l(-.438,.002),l(-1.191,.786),l(-.292,-.07),l(-.431,-.416),l(-.317,-.085),l(-.576,.018),l(-.754,.062),l(-.929,.395),l(-.342,.045),l(-.051,-.029),l(-.269,-.836),l(.381,-.58),l(1.224,-1.959),l(.687,-1.207),l(.295,-.31),l(.046,.018),l(.452,.172),l(1.126,.574),l(.343,-.016),l(.438,-.089),l(2.44,-.752),l(.779,-.339),l(.123,-.233),l(-.056,-.306),l(-.35,-.348),l(-.062,-.146),l(.103,-.249),l(.422,-.426),l(.416,-.543),l(.667,-.779),l(.599,-.545),l(1.371,-.608),l(.167,-.794),l(-.107,-.249),l(-.465,-.306),l(-.558,-.026),l(-.822,.078),l(.119,-.25),l(.375,-.282),l(1.193,-.787),l(.478,-.165),l(.602,-.136),l(1.854,-.143),l(.836,-.123),l(1.203,-.109),l(.917,-.049),l(1.148,.215),l(1.037,.481),l(.683,.188),l(1.386,-.125),l(.539,.026),l(.763,.467),l(.742,.952),l(1.087,2.384),l(.94,1.588),l(.927,1.903),l(.436,.389),l(.507,.2),l(1.247,.341),l(1.523,.253),l(2.659,.839),l(.205,.144),l(.297,.866),l(.44,1.283),l(.261,.446),l(.68,-.033),l(.649,-.018),l(1.657,-.052),l(.604,-.22),l(.953,-.308),l(1.357,-.31),l(1.181,-.208),l(.902,-.034),l(.246,.114),l(.064,.259),l(.116,.389),l(.017,.504),l(-.566,.407),l(-.66,.393),l(-.291,.707),l(-.278,.893),l(-.538,1.066),l(-.627,1.08),l(-.329,.432),l(-.551,.69),l(-.47,.347),l(-.547,-.098),l(-.679,-.225),l(-.685,-.24),l(-.396,-.041),l(-1.664,.982),l(-.048,.557),l(.332,.897),l(.062,.656),l(-.006,.613),l(-.025,.385),l(-.097,.128),l(.112,.299),l(-.156,.329),l(-.511,.43),l(-1.252,.462),l(-.111,.058),l(-.579,-.68),l(-.247,.001),l(-.253,.129),l(-.383,.358),l(-.23,.713),l(-.955,.532),l(-.62,.259),l(-.538,.017),l(-.452,-.054),l(-.333,-.126),l(-.392,.059),l(-.273,.243),l(-.025,.342),l(.508,.765),l(.046,.113),l(-.527,.159),l(-.975,.048),l(-.508,-.153),l(-.493,-.253),l(-.273,-.396),l(-.448,.017),l(-.386,.13),l(-.686,1.027),l(-.636,.543),l(-1.032,.545),l(-1.533,.604),l(-.52,.329),l(-.415,.442),l(-.379,.528),l(-.066,-.092),l(-.417,.171),l(-1.222,.13),l(-.728,.171),l(-2.248,.925),l(-.632,.37),l(-.566,.469),l(-.604,.271),l(-.336,.015),l(.13,-.255),l(.862,-.682),l(.33,-.354),l(-.47,-.113),l(-.37,.072),l(-.153,-.297),l(.058,-.156),l(.953,-.781),l(.269,-.384),l(.55,-.413),l(.159,-.2),l(-.057,-.298),l(-.73,-.553),l(-.727,-.283),l(-.131,-.014),l(-.628,.03),l(-.166,.015),l(-.494,.371),l(-1.146,1.183),l(-.355,.157),l(-.643,.086),l(-.613,.243),l(-.36,.199),L(665.49,112),l(-.136,.411),l(-.131,.255),l(-.251,.255),l(-.437,.128),l(-.493,-.013),l(-.326,.27),l(-.307,.114),l(-.455,-.565),l(-.355,-.014),l(-.349,.128),l(-.396,.638),l(-.301,.694),l(.088,.34),l(.245,.368),l(.558,.268),l(.8,.268),l(1.21,-.045),l(.29,.254),l(-.019,.538),l(-.123,.581),l(.057,.538),l(.261,.283),l(.733,.069),l(.698,-.157),l(.76,-.525),l(.509,-.497),l(.552,-.228),l(.534,-.128),l(.287,.07),l(.895,.621),l(.543,.197),l(1.023,-.087),l(.361,.027),l(.471,.141),l(.274,0),l(-.248,.708),l(-.057,.552),l(-.612,-.197),l(-.297,-.084),l(-.525,.058),l(-1.677,.555),l(-.707,.44),l(-.072,.735),l(-.522,.157),l(-.146,-.113),l(-.017,-.269),l(-.127,-.084),l(-.501,.114),l(.138,.466),l(-.152,.368),l(-.485,.496),l(-1.397,1.119),l(-.126,.226),l(.039,.55),l(.62,.225),l(.712,.492),l(.785,.521),l(.391,.535),l(.424,1.241),l(.668,.647),l(.175,.437),l(-.13,.677),l(.172,.183),l(.694,.295),l(.399,.592),l(.562,.253),l(.272,.268),l(.087,.31),l(-.049,.155),l(-.789,.369),l(.088,.07),l(.425,.31),l(.314,.79),l(-.019,.296),l(-.141,.184),l(-.534,.043),l(-.651,.213),l(-.948,.552),l(-.849,.213),l(-.629,.297),l(.72,.21),l(.378,.056),l(.944,-.425),l(.488,-.058),l(.162,.056),l(.524,.592),l(.387,.168),l(.456,.027),l(.009,.155),l(-.231,.311),l(-.382,.227),l(-.304,.241),l(.11,.155),l(.326,-.029),l(.202,.084),l(-.184,.325),l(-.298,.749),l(-.192,.649),l(.028,.353),l(-.22,.452),l(-.209,.127),l(-.35,-.338),l(-.146,.142),l(-.569,.763),l(-.401,.622),l(-.215,.622),l(-.127,.296),l(-.595,.425),l(-.251,.438),l(-.254,.184),l(-.569,.029),l(-.382,.227),l(.279,.719),l(-.264,.508),l(.076,.593),l(-.093,.269),l(-.207,.269),l(-.532,.199),l(-.161,.282),l(-.174,.396),l(-.294,.636),l(-.626,.354),l(-.412,.495),l(-.492,-.14),l(-.443,-.069),l(-.142,.113),l(-.145,.198),l(.118,.833),l(-.213,.142),l(-.772,.651),l(-.356,.127),l(-.628,.171),l(-.563,.467),l(-.571,.213),l(-.107,.113),l(-.008,.48),l(-.133,.156),l(-.568,.058),l(-.5,.114),l(-.341,.438),l(-.364,-.126),l(-.52,-.168),l(-.274,.057),l(-.315,.326),l(-.435,.198),l(-.643,.1),l(-.047,-.465),l(-.52,.057),l(-.699,.213),l(-.32,.198),l(-.285,-.042),l(-.401,-.493),l(-.163,-.155),l(-.191,.283),l(.095,.169),l(-.045,.212),l(-.047,.691),l(-.209,.297),l(-.416,.114),l(-.501,-.182),l(-.123,.282),l(-.001,.24),l(-.146,.155),l(-.615,.058),l(-.366,.114),l(-.596,.043),l(-.463,-.211),l(-.217,.1),l(-.439,.48),l(-.227,.071),l(-.774,-.041),l(-.747,.227),l(-.406,.326),l(-.451,-.027),l(-.277,-.084),l(-.011,.057),l(-.069,.353),l(-.29,.396),l(.011,.113),l(.48,.634),l(.269,.126),l(.043,.198),l(-.36,.269),l(-.763,.157),l(-.481,-.719),l(-.241,-.691),l(.012,-.395),l(.396,-.777),l(-.015,-.169),l(-.587,-.253),l(-.226,.071),l(-.206,.297),l(-.454,.072),l(-.676,-.21),l(-.574,-.733),l(-.196,.085),l(-.017,.169),l(-.159,.396),l(-.27,.128),l(-.332,-.056),l(-.481,.043),l(-.055,.038),l(-.197,-.143),l(-.909,-.107),l(-.621,-.166),l(-.943,-.615),l(-.273,-.365),l(-.096,-.521),l(.472,-.75),l(-.056,-.38),l(-.237,-.21),l(-.777,.047),l(-.66,-.053),l(-.771,-.235),l(-.623,-.575),l(-.298,.101),l(-.521,.328),l(-.696,.554),l(-.341,.157),l(-.807,.117),l(-1.595,.052),l(-.332,.115),l(-.584,.413),l(-.325,-.097),l(-.597,-.392),l(-.341,-.012),l(-.515,.13),l(-.483,.229),
-N(241.073,156.152),l(.017,.52),l(.098,1.215),l(.012,.212),l(-.379,.455),l(-.011,.17),l(.485,1.358),l(-.669,-.577),l(-.445,-.056),l(-.761,.143),l(-.877,-.012),l(-.666,-.14),l(-.574,-.056),l(-.474,.1),l(-.378,.354),l(-.135,-.042),l(-.993,-.549),l(-.171,-.325),l(.04,-.198),l(.269,-.184),l(1.051,.097),l(.631,.111),l(1.125,.167),l(.654,.041),l(.61,-.185),l(.386,-.156),l(-.198,-.155),l(-.692,-.464),l(-.136,-.296),l(.184,-.707),l(-.202,-.296),l(-.394,-.154),l(-.913,-.14),l(-.305,-.211),l(.04,-.184),l(.119,-.085),l(.344,-.1),l(.724,-.058),l(.781,.125),l(1.081,.294),l(.576,.056),l(.147,-.089),
-N(241.295,160.082),l(-.485,-1.358),l(.011,-.17),l(.379,-.455),l(-.012,-.212),l(-.098,-1.215),l(-.017,-.52),l(.503,-.279),l(.393,.14),l(.342,0),l(.384,-.17),l(.369,-.043),l(.14,.198),l(.177,.112),l(1,.309),l(.657,-.072),l(.213,.395),l(.335,.338),l(.528,.324),l(.335,.084),l(.643,.21),l(.916,.45),l(.399,.352),l(.231,.311),l(-.191,.17),l(-.144,.297),l(-.314,.368),l(-.238,-.098),l(-.476,-.592),l(-.378,-.042),l(-.788,.058),l(-.288,-.098),l(-.373,0),l(-.329,.1),l(-.763,.539),l(-.396,-.056),l(-.319,-.494),l(-.166,-.028),l(-.155,.057),l(-.658,.326),l(-.344,.778),l(-.41,.65),l(-.289,-.112),l(-.325,-.551),
-N(668.053,167.796),l(-.131,-.099),l(-.74,-.732),l(-.444,-1.255),l(.037,-.424),l(.054,-.706),l(-.292,-.465),l(.18,-.382),l(.978,.704),l(.202,-.424),l(.023,-.41),l(-.101,-.438),l(-.026,-.579),l(.145,-.438),l(.025,-.664),l(.082,-.861),l(.074,-.636),l(.38,-.862),l(.188,-.127),l(.337,-.142),l(.523,.055),l(1.21,.52),l(.576,.042),l(.188,-.212),l(.277,-.17),l(.199,.141),l(.018,.396),l(-.266,.438),l(-.045,.48),l(.14,.79),l(.541,.394),l(.182,.325),l(-.427,1.271),l(-.31,.467),l(-.834,.608),l(-.555,.312),l(-.082,.099),l(.003,.268),l(-.078,.565),l(-.28,.424),l(.127,.211),l(.35,.733),l(.345,1.101),l(.26,.62),l(.093,.028),l(.451,.324),l(.296,.07),l(.161,-.325),l(.485,-.537),l(.197,-.029),l(.418,.112),l(.226,.211),l(.179,.635),l(.286,.353),l(.326,.084),l(.505,-.58),l(.621,.267),l(.141,.028),l(.078,.127),l(-.168,.156),l(-.378,.156),l(-.208,.212),l(.936,1.226),l(-.315,.184),l(-.568,-.196),l(-.404,-.098),l(-.094,-.48),l(-.229,-.31),l(-.599,-.535),l(-.753,-.577),l(-.258,0),l(-.099,.226),l(.371,.776),l(-.218,.283),l(-.727,-.775),l(-.982,-.548),l(-.309,.015),l(-.344,.142),l(-.182,.255),l(-.14,.071),l(-.395,.057),l(-.322,-.225),l(-.591,-.366),l(-.195,-.423),l(.64,-.608),l(.323,.211),l(.358,.084),l(.4,-.199),l(-.151,-.169),l(-.713,-.295),l(-.422,-.395),l(-.522,-.168),l(-.239,.607),M(669.676,172.974),l(-.452,-.366),l(-.349,-.408),l(-.051,-.226),l(-.364,-1.114),l(-.459,-.521),l(.685,-.058),l(.868,.012),l(.314,.169),l(.274,.451),l(.028,.861),l(-.097,.48),l(-.214,.283),l(-.185,.438),M(679.073,175.368),l(-.562,-.267),l(-.178,-.254),l(-.237,-.169),l(-.064,-.127),l(.139,-.339),l(-.091,-.423),l(-.55,-.352),l(-.662,-.479),l(-.147,-.466),l(.513,-.1),l(1.017,-.143),l(.371,.112),l(.283,.409),l(.069,.818),l(.123,.805),l(.257,.79),l(-.112,.127),l(-.167,.057),M(671.406,176.824),l(.022,-.353),l(.186,-1.342),l(.061,-1.172),l(.482,.395),l(.576,.281),l(.366,.028),l(.634,-.185),l(.027,.438),l(-.079,.396),l(-.24,.269),l(-.184,.198),l(-.908,.651),l(-.943,.397),M(664.721,177.812),l(-.366,-.027),l(.127,-.297),l(.202,-.099),l(.314,-.396),l(.265,-.523),l(.082,-.607),l(.138,-.509),l(.326,-.184),l(.14,.183),l(-.16,.283),l(.276,.55),l(.212,.564),l(-.108,.113),l(-.664,.354),l(-.406,.368),l(-.377,.227),M(673.781,179.981),l(-.385,-.366),l(-.828,-.591),l(-.206,-.38),l(.099,-.368),l(.565,-.213),l(.22,-.269),l(.487,-1.822),l(.438,-.185),l(.271,.028),l(.113,.126),l(.049,.282),l(-.373,.905),l(-.089,.226),l(-.315,1.413),l(.165,.296),l(.214,.465),l(-.213,.41),l(-.212,.043),M(661.179,181.308),l(-.317,-.042),l(.215,-.48),l(.343,-.467),l(.35,-.34),l(.592,-.354),l(.636,-.496),l(.933,-1.089),l(.11,.55),l(-.118,.424),l(-.267,.297),l(-.24,.184),l(-.516,.213),l(-.172,.127),l(-.244,.622),l(-.327,.269),l(-.591,.171),l(-.386,.41),M(680.678,185.402),l(-.201,-.098),l(-.098,-.438),l(-.361,-.748),l(-.297,-.112),l(-.381,.608),l(-.361,.82),l(.246,.38),l(.166,.395),l(.148,.677),l(-.158,.495),l(-.383,.509),l(-.305,-.253),l(-.176,-.268),l(.201,-.41),l(-.076,-.325),l(-.363,-.07),l(-.361,.665),l(-.173,-.056),l(-1.114,-.619),l(-.557,-.549),l(-.206,-.508),l(-.037,-.635),l(.466,-.905),l(-.108,-.479),l(-.466,-.409),l(-.778,-.295),l(-.292,.043),l(-.062,.17),l(-.129,.226),l(-.5,.255),l(-.661,.058),l(-.027,-.494),l(-.174,-.24),l(-.399,.199),l(-.504,.961),l(-.525,.863),l(-.219,-.084),l(-.119,-.127),l(-.034,-.197),l(.054,-.311),l(.359,-.749),l(.185,-.537),l(.263,-.283),l(.383,-.184),l(.564,-.044),l(.219,-.127),l(.134,-.466),l(.205,-.156),l(.549,-.241),l(.777,-.101),l(.292,.353),l(.102,.72),l(.317,-.156),l(.485,-.058),l(.207,-.184),l(.207,-.565),l(.358,-.255),l(.479,.21),l(.186,.084),l(.158,-1.087),l(.29,-.015),l(.264,.465),l(.315,-.481),l(.205,-.142),l(.392,.098),l(.133,-.227),l(-.048,-.706),l(-.172,-.564),l(.146,-.353),l(.413,.549),l(.711,.803),l(.229,.48),l(.083,.324),l(-.336,.735),l(.237,.226),l(.537,-.1),l(.076,.423),l(-.114,.424),l(.056,.692),l(.207,.437),l(-.002,.438),l(-.111,.424),l(-.283,.579),l(-.332,.622),
-N(251.898,160.229),l(-.547,-.112),l(-.073,-.212),l(.051,-.551),l(-.109,-.24),l(.11,-.17),l(.235,-.071),l(.543,.069),l(.404,-.015),l(1.505,.11),l(.393,.168),l(.113,.141),l(-.188,.354),l(-.07,.099),l(-.283,.227),l(-.335,.043),l(-.739,-.083),l(-.657,.072),l(-.354,.17),
-N(228.82,160.519),l(-.299,-.056),l(-.693,-.224),l(-.229,-.268),l(-.47,-.366),l(-.465,-.084),l(-.142,-.211),l(.53,-.284),l(.704,-.072),l(1.364,.251),l(.97,.351),l(.651,.267),l(.279,.282),l(-.04,.198),l(-.332,.071),l(-.751,-.295),l(-.543,.058),l(-.227,.255),l(-.308,.128),
-N(400.72,175.499),l(-.595,-.119),l(-.161,-.032),l(-.976,.458),l(-1.429,-.006),l(-.867,-.037),l(-2.119,.041),l(-.271,.157),l(-.125,.34),l(.261,1.934),l(.02,.41),l(-.191,.17),l(-.63,-.434),l(-.644,-.166),l(-.769,.075),l(-.608,.159),l(-.446,.257),l(-.368,.115),l(-.354,-.083),l(-.452,-.223),l(-.52,-.562),l(-.15,-.465),l(-.308,-.252),l(-.545,.003),l(-.259,-.168),l(.08,-.043),l(.046,-.156),l(.172,-.326),l(.261,-.92),l(.133,-.876),l(-.058,-.749),l(.141,-.255),l(.257,-.016),l(.448,-.158),l(.543,-.271),l(.317,-.369),l(.292,-1.047),l(.355,-1.217),l(.397,-.384),l(.273,-.058),l(.293,.281),l(.551,.364),l(.45,-.102),l(.174,-.227),l(.393,-.822),l(.492,-.667),l(.638,-.625),l(.272,-.101),l(.518,.209),l(.324,.182),l(.274,.027),l(.314,-.793),l(.304,-.228),l(.947,-.458),l(1.22,-.713),l(.37,-.073),l(.356,.125),l(.36,.059),l(1.062,.173),l(-.173,.665),l(.019,.396),l(.426,.93),l(.422,.492),l(.389,.266),l(.502,.42),l(.179,.268),l(.018,.212),l(-.335,.439),l(.114,.226),l(.97,.757),l(.516,.181),l(.37,-.044),l(.562,.025),l(.568,.971),l(.131,.367),l(-.237,.764),l(-.415,.468),l(-.337,.158),l(-.739,-.095),l(-.418,.045),l(-.415,.271),l(-.366,.553),l(-.24,.157),l(-.062,.142),l(-.29,-.041),l(-.611,-.166),l(-1.013,-.163),
-N(209.823,175.47),l(-.388,-.645),l(-.932,-.888),l(-1.003,-1.085),l(-.837,-.817),l(-.723,-.464),l(-.196,-.183),l(-.023,-.226),l(.625,-.03),l(1.001,-.125),l(.29,-.143),l(.293,-.412),l(.005,-.961),l(.882,-.034),l(.513,-.583),l(.725,.42),l(1.207,-.997),l(.503,-.794),l(.294,-.242),l(.259,.013),l(.328,.182),l(.463,.097),l(.248,-.086),l(.424,-.229),l(1.425,-.486),l(.23,.519),l(.038,.339),l(-.057,.509),l(-.214,.707),l(-.543,.806),l(-.1,.749),l(.042,.904),l(-.245,1.13),l(-.188,.735),l(-.101,1.385),l(.031,.55),l(.184,.466),l(.188,.363),l(-.281,.274),l(-.767,-.149),l(-.241,-.46),l(-.285,.077),l(-.394,-.107),l(-.603,.25),l(-1.651,-.599),l(-.43,.271),
-N(634.036,168.444),l(.533,.251),l(.736,.165),l(.341,.111),l(.469,.251),l(.248,-.058),l(.095,-.24),l(-.103,-.211),l(-.187,-.182),l(-.107,-.296),l(.392,-.285),l(.476,-.186),l(.444,.181),l(.373,.351),l(.3,-.072),l(.975,-.429),l(.209,-.114),l(-.215,.905),l(.029,.663),l(.455,1.014),l(-.076,.367),l(-.05,.424),l(.054,1.073),l(-.217,.509),l(-.385,.285),l(-.599,.187),l(-.932,.443),l(-.521,.229),l(-.99,.571),l(-.234,.425),l(.216,.422),l(.568,.435),l(.03,.197),l(-.17,.27),l(-.688,-.194),l(-.497,-.011),l(-.599,.229),l(-.915,.528),l(-.646,.229),l(-.3,.289),l(-.256,-.188),l(-.248,-.268),l(-.35,-.042),l(-.382,.142),l(-.205,-.042),l(-.293,.043),l(-.183,-.113),l(.142,-.311),l(.182,-.226),l(-.04,-.254),l(-.283,-.395),l(-.277,.043),l(-.462,.298),l(-.339,.015),l(-.171,-1.044),l(-.649,-1.488),l(.146,-.176),l(-.16,-.479),l(-.487,-.717),l(-.219,-.648),l(-.026,-.635),l(.076,-.382),l(.146,-.297),l(.92,-1.233),l(.521,-.441),l(.383,-.101),l(1.172,-.091),l(.798,.066),l(.558,-.074),l(.575,.039),l(.599,.109),l(.301,.167),
-N(214.474,175.913),l(.821,.884),l(.385,.623),l(.314,.322),l(.225,.046),l(.465,.645),l(.441,.352),l(-.014,.006),l(-.074,.123),l(-.478,-.184),l(-.219,.205),l(-.014,.321),l(0,.58),l(.507,.307),l(-.396,.368),l(.125,.532),l(-.374,.369),l(.243,.184),l(-.204,.609),l(.003,-.466),l(-.296,-.307),l(.01,-.568),l(-.377,-.148),l(-.238,-.102),l(-.111,.082),l(.325,.41),l(.084,.225),l(-.113,.062),l(-.726,-.299),l(-.13,-.282),l(.251,-.339),l(.04,-.382),l(-.182,-.338),l(-.486,-.324),l(-.695,-.287),l(-.079,-.144),l(-.689,-.103),l(-.316,-.327),l(.007,-.421),l(-.146,-.255),l(-.249,-.098),l(-.576,-.353),l(-.416,-.266),l(.225,.512),l(.086,.222),l(.422,.044),l(.181,.266),l(-.544,.573),l(-.144,-.262),l(-.356,-.282),l(-.561,-.211),l(-.323,-.239),l(-.147,-.24),l(-.104,-.494),l(.128,-.421),l(.332,-.225),l(-.008,-.389),l(-.554,-.225),l(.363,-.123),l(-.057,-.227),l(-.238,.017),l(.43,-.271),l(1.651,.599),l(.603,-.25),l(.394,.107),l(.285,-.077),l(.241,.46),l(.767,.149),l(.281,-.274),
-N(436.304,195.359),l(-.209,-.451),l(-.194,-.804),l(-.498,-.802),l(-1.217,-1.236),l(-.112,-.324),l(-.064,-.791),l(-.432,-.605),l(-.4,-.661),l(-.207,-.592),l(-.273,-1.185),l(-.112,-.776),l(.064,-.424),l(.144,-.198),l(.528,-.399),l(.4,-.511),l(.866,-1.743),l(.354,-.327),l(.208,-.114),l(.096,.084),l(.24,.027),l(.449,-.158),l(1.363,-.686),l(.494,.661),l(.225,.069),l(.224,-.03),l(.466,-.271),l(.754,-.386),l(.818,-.273),l(.881,.009),l(.368,-.031),l(.258,-.143),l(.646,-1.176),l(.117,-.806),l(.209,-.199),l(.434,-.059),l(2.181,-.055),l(.386,-.087),l(2.649,-2.275),l(.196,-.284),l(.005,-.41),l(.165,-.382),l(.372,-.228),l(.939,-.613),l(.322,-.086),l(.321,.012),l(.559,.208),l(1.342,1.673),l(.347,.549),l(.122,.536),l(-.416,1.472),l(.01,.664),l(.158,.211),l(.802,-.019),l(.272,-.001),l(.207,.126),l(.252,.493),l(.223,.225),l(.797,.447),l(.799,.235),l(.351,.196),l(.223,.267),l(-.148,.481),l(.173,.395),l(.445,.351),l(.558,.378),l(.717,.434),l(.207,.168),l(.206,.366),l(.059,.72),l(.285,.436),l(.367,.224),l(.814,.165),l(.558,.477),l(.157,.352),l(-.083,.679),l(.031,.07),l(-.496,.145),l(-.962,.344),l(-.319,-.026),l(-.287,-.167),l(-.687,-.264),l(-1.15,-.361),l(-.4,.13),l(-.082,.551),l(-.13,.241),l(-.256,.058),l(-.399,-.026),l(-.862,-.207),l(-.593,.102),l(-.93,.373),l(-.93,.486),l(-.271,.016),l(-.559,-.35),l(-.383,-.153),l(-.353,.186),l(-.677,1.36),l(-.176,.157),l(-.591,-.067),l(-1.934,-.511),l(-1.422,-.189),l(-.512,-.322),l(-.159,-.239),l(-.334,-.394),l(-.75,-.518),l(-.432,-.167),l(-.479,.06),l(-.529,.3),l(-.353,.341),l(-.785,.979),l(-.097,.297),l(.096,.452),l(-.017,.353),l(-.063,.594),l(-.16,.058),l(-.751,.287),l(-.895,-.093),l(-.624,-.138),l(-.367,-.054),l(-.975,.175),l(-.479,.102),l(-.255,.228),l(-.222,1.287),l(-.158,.523),l(-.365,.497),l(-.303,.312),
-N(371.324,180.419),l(1.088,-1.235),l(.643,-.866),l(.238,-.157),l(.594,.039),l(1.137,-.148),l(.466,.04),l(.42,.224),l(.456,.421),l(.475,.619),l(.252,.761),l(.165,1.369),l(.26,.656),l(-.259,.502),l(-1.184,1.151),l(-.63,.724),l(-.285,.256),l(-.061,.103),l(-.631,-.523),l(-.661,-.408),l(-.483,-.196),l(-.033,-.141),l(.061,-.297),l(-.05,-.184),l(-.531,-.21),l(-.792,-.549),l(-.389,-.366),l(-.375,-.465),l(.494,-.241),l(.174,-.227),l(-.034,-.155),l(-.484,-.211),l(-.065,-.113),l(.022,-.173),
-N(579.606,186.906),l(-.493,-.083),l(-.265,-.197),l(-.21,-.353),l(-.246,-.621),l(-.361,-1.256),l(-.034,-.649),l(.005,-.763),l(-.02,-.904),l(-.24,-.696),l(.188,-.513),l(-.298,-.35),l(.068,-.28),l(.423,.023),l(.349,-.43),l(.053,-.367),l(.226,-.369),l(-.152,-.537),l(.529,.48),l(.699,.38),l(.234,.395),l(.549,.776),l(.175,.324),l(-.099,.339),l(.024,.141),l(.592,.338),l(.266,.733),l(.798,1.368),l(.136,.508),l(-.193,.735),l(-.397,.679),l(-.369,.396),l(-.514,.425),l(-.78,.284),l(-.642,.043),
-N(217.111,178.792),l(.52,.307),l(.195,.512),l(.02,.374),l(.363,.155),l(.628,.024),l(.244,-.205),l(.398,.43),l(.726,.082),l(.458,-.083),l(1.348,-.751),l(.514,-.046),l(1.387,-.921),l(.373,.144),l(.742,.069),l(.071,.156),l(.789,-.017),l(.767,.21),l(.666,.38),l(.644,.563),l(.406,.666),l(.084,.327),l(.228,.149),l(.509,1.038),l(-.322,.062),l(-.094,.43),l(-.584,.409),l(-.085,-.307),l(-.19,-.082),l(.045,.45),l(-.228,.082),l(-.256,.753),l(-.378,-.825),l(-.441,-.762),l(-.137,-.452),l(.179,-.24),l(.22,-.085),l(.786,.125),l(-.336,-.193),l(-.125,-.164),l(-.096,-.471),l(-.309,.307),l(-.439,.041),l(-.244,-.378),l(-.031,-.269),l(-.193,-.282),l(-.132,.151),l(-.226,-.287),l(-.11,.102),l(-.132,-.266),l(-.456,-.192),l(-.562,-.013),l(-.499,.241),l(-.382,.108),l(-.07,.359),l(.081,.234),l(-.529,.318),l(-.374,.184),l(-.335,.029),l(-.345,.41),l(.049,.296),l(.316,.297),l(.464,.43),l(.178,.386),l(-.011,.146),l(-.281,.081),l(-.243,-.042),l(-.431,.391),l(-.568,.105),l(-.339,-.042),l(-.189,-.146),l(.108,-.164),l(-.349,-.833),l(-.244,-.353),l(-.177,.674),l(-.812,-.409),l(-.227,-.757),l(-.207,.041),l(-.96,-.123),l(-.434,-.266),l(-.599,0),l(-.314,.113),l(-.361,.495),l(.204,-.609),l(-.243,-.184),l(.374,-.369),l(-.125,-.532),l(.396,-.368),l(-.507,-.307),l(0,-.58),l(.014,-.321),l(.219,-.205),l(.478,.184),l(.074,-.123),
-N(266.015,188.956),l(-.503,-.647),l(-.732,-.745),l(-.324,-.521),l(.071,-.212),l(.395,-.539),l(-.008,-.58),l(.061,-.452),l(1.032,-.19),l(.41,-.144),l(.308,-.299),l(-.141,-.282),l(-.62,-.604),l(-.074,-.212),l(.101,-.255),l(1.655,-1.239),l(.061,-.41),l(-.095,-.296),l(.072,.049),l(.496,.338),l(.856,.521),l(.695,.521),l(.587,.663),l(.128,.409),l(-.036,.734),l(.148,.945),l(.298,-.593),l(.22,-.099),l(.6,.182),l(.101,.127),l(.507,.295),l(.708,.549),l(.401,.493),l(.374,.649),l(-.015,.339),l(-.142,.496),l(-.082,.862),l(-.183,.27),l(-1.131,.091),l(-.169,.17),l(.078,.777),l(-.095,.467),l(-.328,.694),l(.571,.831),l(.532,.675),l(.561,.067),l(.185,.295),l(.246,.832),l(.49,1.127),l(.332,.563),l(-.06,.212),l(-.943,-.022),l(-.934,.429),l(-1,.331),l(-.505,.314),l(-.694,.513),l(-.686,.075),l(-.613,-.392),l(-1.103,-.897),l(-.15,-.296),l(-.008,-.396),l(.072,-.354),l(-.167,-.31),l(-.281,-.394),l(-.156,-.465),l(.213,-.962),l(.547,-1.416),l(.179,-.368),l(-.435,-.958),l(-.533,-.138),l(-.304,.001),l(.452,-1.09),l(-.04,-.212),l(-.26,-.111),l(-.516,-.124),l(-.302,.058),l(-.375,.257),
-N(377.518,182.142),l(.193,-.376),l(.252,-.242),l(.367,-.143),l(.528,-.046),l(.338,.097),l(.165,.366),l(.22,.846),l(.009,.65),l(-.044,.283),l(.277,.323),l(.404,.322),l(.321,.026),l(.756,-.922),l(.143,-.086),l(.337,.097),l(.339,.224),l(-.062,.17),l(.119,.55),l(-.059,.438),l(-.501,.865),l(.05,.183),l(.194,.183),l(.369,.097),l(.592,-.032),l(1.264,1.334),l(.131,.282),l(-.059,.452),l(-.247,.849),l(-.105,.565),l(-.041,.919),l(-1.513,-.643),l(-1.221,-.619),l(-1.012,-.562),l(-.403,-.423),l(-1.129,-1.113),l(-1.111,-.76),l(-.723,-.337),l(-.901,-.535),l(-.66,-.548),l(.061,-.103),l(.285,-.256),l(.63,-.724),l(1.184,-1.151),l(.259,-.502),
-N(429.505,210.684),l(.484,.336),l(.177,.013),l(.443,-.271),l(.327,-.581),l(1.495,-.532),l(.054,.424),l(.042,.664),l(.147,.211),l(.57,-.328),l(.554,-.399),l(.931,-.811),l(.364,-.229),l(1.025,-.938),l(.086,-.706),l(-.122,-.72),l(.074,-.396),l(.193,-1.159),l(.343,-.751),l(.47,-.836),l(.41,-.454),l(.809,-.599),l(.525,-.229),l(.459,-.427),l(.139,-.523),l(.169,-.708),l(.115,-.61),l(.254,-1.342),l(.196,-2.021),l(.156,-.764),l(.094,-.551),l(.349,-.821),l(.558,-.837),l(.398,-1.203),l(.031,-.156),l(-.128,-.197),l(.16,-.058),l(.063,-.594),l(.017,-.353),l(-.096,-.452),l(.097,-.297),l(.785,-.979),l(.353,-.341),l(.529,-.3),l(.479,-.06),l(.432,.167),l(.75,.518),l(.334,.394),l(.159,.239),l(.512,.322),l(1.422,.189),l(1.934,.511),l(.591,.067),l(.176,-.157),l(.677,-1.36),l(.353,-.186),l(.383,.153),l(.559,.35),l(.271,-.016),l(.93,-.486),l(.93,-.373),l(.593,-.102),l(.862,.207),l(.399,.026),l(.256,-.058),l(.13,-.241),l(.082,-.551),l(.4,-.13),l(1.15,.361),l(.687,.264),l(.287,.167),l(.319,.026),l(.962,-.344),l(.496,-.145),l(.143,.239),l(.795,.772),l(.348,.493),l(.525,.477),l(.366,.195),l(.352,-.016),l(.258,-.242),l(.529,-.37),l(.384,.012),l(.684,.631),l(.16,-.1),l(.436,-.582),l(.258,-.157),l(.207,.083),l(1.032,.926),l(1.288,1.32),l(.063,.028),l(.159,.183),l(-.018,.424),l(-.26,1.88),l(.128,.253),l(.191,.027),l(.479,.04),l(.271,.182),l(.111,.31),l(-.191,.453),l(-1.195,1.066),l(-1.241,.996),l(-.255,.284),l(-.395,.681),l(-.217,1.02),l(-.107,.507),l(.021,.593),l(-.025,.734),l(.057,.748),l(-.076,.27),l(-.188,.298),l(-.426,.412),l(-.301,.171),l(-.269,.256),l(-.122,.425),l(-.49,1.358),l(.197,.338),l(.689,.999),l(.087,.381),l(-.04,.438),l(.014,.636),l(.237,.634),l(.017,1.329),l(-.064,.762),l(.425,1.439),l(-.102,.848),l(.122,.693),l(.486,.631),l(.936,.898),l(.428,.78),l(.689,1.804),l(-.563,.068),l(-3.015,.499),l(-.347,.214),l(-.154,.198),l(-.797,1.276),l(-.029,.622),l(.372,2.088),l(-.377,1.175),l(-.3,1.02),l(.043,.296),l(.456,.605),l(.837,.843),l(.445,.279),l(.515,.012),l(.448,-.455),l(.362,-.186),l(.136,.183),l(.032,.791),l(.028,1.427),l(-.041,.551),l(-.371,-.012),l(-1.355,-.091),l(-.348,-.21),l(-.381,-.647),l(-.561,-.731),l(-.416,-.351),l(-.477,-.252),l(-.895,-.263),l(-.38,-.28),l(-.728,-1.423),l(-.212,.354),l(-.522,.682),l(-.366,.087),l(-.325,-.111),l(-.922,-.164),l(-.925,-.249),l(-.489,-.194),l(-.58,-1.014),l(-.175,.071),l(-1.146,.289),l(-.195,-.056),l(-.172,-.352),l(-.365,-.379),l(-.678,-.096),l(-1.24,-.147),l(-.991,.146),l(-.859,.26),l(-.61,.004),l(-.199,-.197),l(-.007,-.254),l(.198,-.905),l(.003,-.466),l(-.306,-.62),l(-.844,-.998),l(-.117,-.211),l(-.021,-.212),l(.296,-1.033),l(.07,-1.06),l(-.109,-.607),l(-.303,-.605),l(.057,-.354),l(.177,-.693),l(-.052,-.183),l(-.322,-.098),l(-1.231,.093),l(-.88,.019),l(-.212,-.168),l(.055,-.48),l(-.181,-.225),l(-2.016,.082),l(-.112,.001),l(-.089,.354),l(.027,.593),l(-.286,.892),l(-.184,.411),l(-.993,.006),l(-.899,-.122),l(-1.021,.246),l(-.88,.034),l(-.292,-.168),l(-.64,-.787),l(-.597,-1.07),l(-.537,-1.409),l(-.059,-.579),l(-.121,-.521),l(-.082,-.127),l(-.321,-.111),l(-.385,-.012),l(-1.104,-.008),l(-.88,.034),l(-.624,.003),l(-1.312,-.048),l(-.945,-.052),l(-.783,.02),l(-.432,.03),l(-.318,.101),l(-.896,.062),l(-.699,.314),l(-.56,.06),l(-.112,-.013),l(-.322,-.922),l(.012,-.053),l(.74,-.3),l(-.017,-.085),l(.1,-.89),l(.094,-.143),l(.317,-.199),l(.583,-.568),
-N(468.568,202.653),l(1.277,-.05),l(4.659,0),l(1.448,-.033),l(4.663,2.568),l(3.553,1.984),l(.137,.381),l(-.116,.552),l(.07,.239),l(2.427,1.752),l(1.067,.807),l(-.237,.427),l(-.419,1.329),l(-.137,1.017),l(.109,.551),l(.665,.987),l(.768,.577),l(-.024,.282),l(-.263,.354),l(-.371,1.046),l(.037,.17),l(.306,.041),l(.118,.226),l(-.172,.692),l(-.019,.946),l(.411,1.793),l(.18,.564),l(.401,.465),l(.823,.55),l(.396,.268),l(.177,.228),l(-1.157,.836),l(-.515,.342),l(-1.218,.402),l(-1.243,.559),l(-.448,.031),l(-.646,-.42),l(-.276,-.083),l(-.21,.326),l(-.543,.766),l(-.396,.144),l(-.42,-.054),l(-.964,.006),l(-.963,.02),l(-.512,-.294),l(-.323,-.394),l(-.229,-.083),l(-.123,.128),l(-.643,.356),l(-.526,.088),l(-1.019,-.149),l(-.898,-.018),l(-.196,-.559),l(-.135,-.766),l(-.053,-.584),l(-.135,-.946),l(-.448,-.841),l(-.663,-.538),l(-1.014,-.107),l(-.223,.016),l(-.385,-.407),l(-.732,-.349),l(-1.574,-.57),l(-1.269,-.6),l(-.729,-.265),l(-.263,-.21),l(-.703,-.641),l(-.689,-1.804),l(-.428,-.78),l(-.936,-.898),l(-.486,-.631),l(-.122,-.693),l(.102,-.848),l(-.425,-1.439),l(.064,-.762),l(1.252,-.348),l(.388,-.539),l(.645,-1.204),l(.687,-.853),l(.346,-.271),l(.044,-.212),l(-.148,-.239),l(-.273,-.125),l(-.401,-.068),l(-.211,-.211),l(.158,-.976),l(.304,-.016),l(.396,-.158),l(.142,-.17),l(.104,-.481),l(-.167,-.493),l(-.364,-.888),l(-.121,-.748),
-N(464.786,206.235),l(-.197,-.338),l(.49,-1.358),l(.122,-.425),l(.269,-.256),l(.301,-.171),l(.426,-.412),l(.064,.042),l(.546,.223),l(.431,-.045),l(.458,-.427),l(.554,-.398),l(.319,-.017),l(.121,.748),l(.364,.888),l(.167,.493),l(-.104,.481),l(-.142,.17),l(-.396,.158),l(-.304,.016),l(-.559,.031),l(-.508,.159),l(-.391,.567),l(-.158,.085),l(-.396,.13),l(-.789,-.32),l(-.688,-.024),
-N(465.79,210.652),l(-.017,-1.329),l(-.237,-.634),l(-.014,-.636),l(.04,-.438),l(-.087,-.381),l(-.689,-.999),l(.688,.024),l(.789,.32),l(.396,-.13),l(.158,-.085),l(.391,-.567),l(.508,-.159),l(.559,-.031),l(-.158,.976),l(.211,.211),l(.401,.068),l(.273,.125),l(.148,.239),l(-.044,.212),l(-.346,.271),l(-.687,.853),l(-.645,1.204),l(-.388,.539),l(-1.252,.348),
-N(427.243,211.207),l(.536,-.414),l(.68,-.513),l(.351,-.13),l(.695,.533),l(-.583,.568),l(-.317,.199),l(-.094,.143),l(-.1,.89),l(.017,.085),l(-.74,.3),l(.143,-.625),l(-.082,-.24),l(-.505,-.796),M(427.998,213.843),l(.112,.013),l(.56,-.06),l(.699,-.314),l(.896,-.062),l(.318,-.101),l(.432,-.03),l(.783,-.02),l(.945,.052),l(1.312,.048),l(.624,-.003),l(.88,-.034),l(1.104,.008),l(.385,.012),l(.321,.111),l(.082,.127),l(.121,.521),l(.059,.579),l(.537,1.409),l(.597,1.07),l(.64,.787),l(.292,.168),l(.88,-.034),l(1.021,-.246),l(.899,.122),l(.993,-.006),l(.184,-.411),l(.286,-.892),l(-.027,-.593),l(.089,-.354),l(.112,-.001),l(2.016,-.082),l(.181,.225),l(-.055,.48),l(.212,.168),l(.88,-.019),l(1.231,-.093),l(.322,.098),l(.052,.183),l(-.177,.693),l(-.057,.354),l(.303,.605),l(.109,.607),l(-.07,1.06),l(-.296,1.033),l(.021,.212),l(.117,.211),l(.844,.998),l(.306,.62),l(-.003,.466),l(-.198,.905),l(.007,.254),l(.199,.197),l(.61,-.004),l(.859,-.26),l(.991,-.146),l(1.24,.147),l(-.214,1.344),l(.195,1.059),l(.269,.323),l(.089,.254),l(-.132,.368),l(-.436,.44),l(-.124,.594),l(-.125,.086),l(-.517,-.04),l(-3.408,.091),l(-.051,.877),l(.015,1.342),l(-.024,3.249),l(.017,.848),l(.023,.594),l(.099,.438),l(.308,.394),l(.471,.436),l(1.354,1.391),l(.611,.632),l(-.93,.218),l(-1.96,.379),l(-1.044,.203),l(-.717,-.08),l(-1.164,.063),l(-.408,-.083),l(-.349,-.21),l(-2.024,.026),l(-.697,-.024),l(-.622,-.151),l(-.401,-.322),l(-.305,-.366),l(-.408,-.096),l(-.989,-.023),l(-2.59,.016),l(-1.636,-.019),l(-.631,-.011),l(-1.296,-.006),l(-2.201,.013),l(-.636,-.151),l(-.463,-.309),l(-.45,-.478),l(-.294,-.083),l(-.499,.088),l(-.591,.286),l(-.778,.513),l(-.758,-.462),l(-.352,.144),l(-.248,.197),l(.048,-1.809),l(-.017,-.805),l(-.029,-.649),l(.397,-.34),l(.221,-.269),l(.26,-.707),l(.163,-.734),l(.184,-1.398),l(.239,-.976),l(.321,-.918),l(.584,-.665),l(.183,-.565),l(.268,-.354),l(.64,-.228),l(.268,-.325),l(.423,-.679),l(.364,-1.201),l(.053,-.664),l(-.046,-.848),l(-.191,-.959),l(-.201,-.536),l(-.492,-.705),l(-.476,-.776),l(-.268,-.775),l(.139,-.495),l(.476,-.382),l(.158,-.156),l(.107,-.424),l(-.006,-.479),l(-.199,-.579),l(-.489,-.69),l(-.441,-.733),l(-.203,-1.031),l(-.181,-.423),l(-.276,-.366),l(-.666,-.974),l(-.072,-.15),
-N(452.198,239.34),l(-.611,-.632),l(-1.354,-1.391),l(-.471,-.436),l(-.308,-.394),l(-.099,-.438),l(-.023,-.594),l(-.017,-.848),l(.024,-3.249),l(-.015,-1.342),l(.051,-.877),l(3.408,-.091),l(.517,.04),l(.125,-.086),l(.124,-.594),l(.436,-.44),l(.132,-.368),l(-.089,-.254),l(-.269,-.323),l(-.195,-1.059),l(.214,-1.344),l(.678,.096),l(.365,.379),l(.172,.352),l(.195,.056),l(1.146,-.289),l(.175,-.071),l(.58,1.014),l(.489,.194),l(.925,.249),l(.922,.164),l(.325,.111),l(.366,-.087),l(.522,-.682),l(.212,-.354),l(.728,1.423),l(.38,.28),l(.895,.263),l(.477,.252),l(.416,.351),l(.561,.731),l(.381,.647),l(.348,.21),l(1.355,.091),l(.371,.012),l(.041,-.551),l(-.028,-1.427),l(-.032,-.791),l(-.136,-.183),l(-.362,.186),l(-.448,.455),l(-.515,-.012),l(-.445,-.279),l(-.837,-.843),l(-.456,-.605),l(-.043,-.296),l(.3,-1.02),l(.377,-1.175),l(-.372,-2.088),l(.029,-.622),l(.797,-1.276),l(.154,-.198),l(.347,-.214),l(3.015,-.499),l(.563,-.068),l(.703,.641),l(.263,.21),l(.729,.265),l(1.269,.6),l(1.574,.57),l(.732,.349),l(.385,.407),l(.559,.887),l(.434,.859),l(.013,.324),l(-.183,.27),l(-.709,.344),l(-.011,.127),l(.04,.594),l(-.091,1.682),l(.08,.353),l(.216,.168),l(.511,.266),l(.072,.197),l(-.197,.241),l(-.472,.258),l(-.792,.259),l(-.146,.34),l(-.094,.764),l(-.3,.807),l(.2,.479),l(.261,.408),l(.394,.125),l(-1.264,.53),l(-1.696,.575),l(-.932,.4),l(-2.165,.578),l(-.187,.128),l(-.009,.495),l(.152,.465),l(.087,.438),l(-.505,-.096),l(-.999,.049),l(-.794,.259),l(-.636,.54),l(-.312,.539),l(-.019,.579),l(-.168,.199),l(-.285,.114),l(-.999,.062),l(-.621,.202),l(-.306,.341),l(-.777,.937),l(-.562,.738),l(-.825,.951),l(-.354,.045),l(-.803,-.165),l(-.421,-.309),l(-.334,.129),l(-.521,.286),l(-.404,.017),l(-.594,-.209),l(-.264,-.097),l(-.154,-.169),l(-.163,-.027),l(-.187,-.154),l(-.456,-.393),l(-.294,-.055),l(-1.089,-.093),l(-.086,-.099),l(-.165,-.056),l(-1.845,.364),
-N(477.231,225.874),l(-.224,1.184),l(-.107,.48),l(.252,.917),l(.177,1.017),l(.149,.408),l(.238,.268),l(.803,.588),l(1.189,1.166),l(.454,.661),l(.14,.48),l(-.155,2.346),l(-.04,.41),l(-.214,.213),l(-.432,.073),l(-.322,.017),l(-.229,.213),l(-.076,.622),l(.08,.509),l(.029,.479),l(-.096,.283),l(-.185,-.111),l(-.562,-.463),l(-.763,-1.112),l(-.484,-.548),l(-.234,-.423),l(.036,-.212),l(.499,-.61),l(.116,-.227),l(.025,-.693),l(-.1,-.96),l(-.22,-.479),l(-.261,-.056),l(-.674,.061),l(-.702,.132),l(-.27,-.211),l(-.343,-.407),l(-.382,-.549),l(-.195,-.041),l(-.394,-.125),l(-.261,-.408),l(-.2,-.479),l(.3,-.807),l(.094,-.764),l(.146,-.34),l(.792,-.259),l(.472,-.258),l(.197,-.241),l(-.072,-.197),l(-.511,-.266),l(-.216,-.168),l(-.08,-.353),l(.091,-1.682),l(-.04,-.594),l(.011,-.127),l(.709,-.344),l(.183,-.27),l(-.013,-.324),l(-.434,-.859),l(-.559,-.887),l(.223,-.016),l(1.014,.107),l(.663,.538),l(.448,.841),l(.135,.946),l(.053,.584),l(.135,.766),l(.196,.559),
-N(245.934,224.314),l(.939,.136),l(1.122,.304),l(.355,-.03),l(.946,-.824),l(.336,.026),l(.48,.025),l(.415,-.243),l(1.471,-1.109),l(.874,-.485),l(.36,-.158),l(.934,-.076),l(1.283,.021),l(.045,.748),l(-.079,.621),l(-.064,.622),l(.036,.818),l(.141,.635),l(.335,.591),l(.813,.928),l(1.1,.939),l(.316,.097),l(.787,.023),l(.355,-.03),l(.676,.25),l(.688,.307),l(.75,.603),l(.3,.098),l(.882,.037),l(.096,.014),l(.385,.774),l(.398,.308),l(.22,.084),l(1.148,-.077),l(.636,.123),l(.537,.166),l(.403,.237),l(.085,.169),l(-.038,.565),l(.203,1.029),l(.03,.706),l(.138,2.032),l(.249,.944),l(.153,.112),l(.967,.036),l(.5,.012),l(1.615,.019),l(.693,.024),l(.042,.296),l(-.261,.835),l(.067,.563),l(.436,.407),l(.73,.362),l(.316,.479),l(.307,.774),l(.022,.494),l(-.185,1.173),l(-.238,.834),l(-.38,.765),l(-.421,.666),l(-.089,-.084),l(-1.952,-.991),l(-.352,-.054),l(-.928,.02),l(-.843,-.01),l(-.126,.128),l(-1.076,.204),l(-1.104,.162),l(-.784,.202),l(-.33,.044),l(-.332,.383),l(-.698,1.105),l(-.278,.341),l(-.133,.509),l(.016,.635),l(-.385,1.188),l(-.395,1.104),l(-.149,.325),l(-.592,-.109),l(-1.33,-.077),l(-.686,.004),l(-1.034,1.784),l(-.416,-1.084),l(-.341,-.309),l(-.37,-.195),l(-.531,-.067),l(-.527,.045),l(-.901,.034),l(-.615,-.194),l(-.193,-.169),l(-.322,-.181),l(-.292,.27),l(-2.026,2.087),l(-1.047,.006),l(-.272,-.182),l(-.397,-2.144),l(-.278,-.973),l(-.212,-.563),l(-.769,-1.11),l(-.249,-.676),l(.04,-.354),l(.437,-1.555),l(-.017,-.282),l(-.761,-.744),l(-.25,-.521),l(-.193,-1.213),l(-.304,-.647),l(-.555,-.745),l(-.152,-.253),l(-.018,-.142),l(-.132,-.295),l(-.049,-.48),l(.12,-.227),l(.723,-.61),l(.285,-.439),l(-.015,-.522),l(-.604,-1.168),l(-.022,-.48),l(.159,-.34),l(.21,-.368),l(-.347,-.845),l(.102,-.452),l(.532,-.582),l(.221,-.34),l(.156,-.34),l(-.236,-.902),l(-.057,-.522),l(.143,-.848),l(.15,-.523),l(.437,-.736),l(-.08,-.24),l(-.922,-1.646),l(-1.109,-1.843),
-N(473.575,260.04),l(-1.331,.011),l(-.192,.058),l(-.068,-.382),l(-.261,-.889),l(.071,-.495),l(-.075,-.296),l(-.095,-.324),l(.03,-.806),l(.057,-1.301),l(-.072,-.763),l(-.147,-.678),l(-.33,-.944),l(-.441,-.689),l(-.181,-.946),l(-.295,-1.199),l(-.159,-.183),l(.448,-.384),l(.396,-.412),l(1.68,-1.706),l(.114,-.227),l(-.09,-.367),l(.075,-.834),l(.229,-.481),l(.736,-.683),l(.205,-.341),l(.168,-.41),l(-.594,-.845),l(-.118,-.805),l(-.113,-.494),l(.128,-.283),l(.448,-.596),l(.201,-.411),l(-.132,-.805),l(-.086,-1.144),l(-.031,-.791),l(-.178,-.818),l(-.441,-.379),l(-.515,-.224),l(-1.167,-.347),l(-1.042,-.445),l(-.658,-.223),l(-1.438,-.006),l(-.137,-.14),l(-.025,-.495),l(-.011,-.212),l(-.087,-.438),l(-.152,-.465),l(.009,-.495),l(.187,-.128),l(2.165,-.578),l(.932,-.4),l(1.696,-.575),l(1.264,-.53),l(.195,.041),l(.382,.549),l(.343,.407),l(.27,.211),l(.702,-.132),l(.674,-.061),l(.261,.056),l(.22,.479),l(.1,.96),l(-.025,.693),l(-.116,.227),l(-.499,.61),l(-.036,.212),l(.234,.423),l(.484,.548),l(.763,1.112),l(.562,.463),l(.185,.111),l(.096,-.283),l(-.029,-.479),l(-.08,-.509),l(.076,-.622),l(.229,-.213),l(.322,-.017),l(.432,-.073),l(.214,-.213),l(.04,-.41),l(.155,-2.346),l(-.14,-.48),l(-.454,-.661),l(-1.189,-1.166),l(-.803,-.588),l(-.238,-.268),l(-.149,-.408),l(-.177,-1.017),l(-.252,-.917),l(.107,-.48),l(.224,-1.184),l(.898,.018),l(1.019,.149),l(.526,-.088),l(.643,-.356),l(.123,-.128),l(.229,.083),l(.323,.394),l(.512,.294),l(.963,-.02),l(.964,-.006),l(.42,.054),l(.396,-.144),l(.543,-.766),l(.21,-.326),l(.276,.083),l(.646,.42),l(.448,-.031),l(1.243,-.559),l(1.218,-.402),l(.515,-.342),l(1.157,-.836),l(.128,.167),l(.212,.479),l(-.185,.579),l(-.302,.453),l(-.198,.255),l(.181,.451),l(.129,.72),l(-.012,.466),l(.182,1.115),l(-.101,.58),l(-.258,.325),l(.374,.705),l(.154,.494),l(-.006,1.115),l(-.004,.819),l(.043,.184),l(.185,.127),l(.327,.084),l(.015,.269),l(-.165,.494),l(-.563,.58),l(.184,.381),l(-.08,.283),l(-.418,.565),l(-.802,.906),l(-.512,.622),l(-.72,.651),l(-1.36,.751),l(-1.48,.653),l(-.73,.228),l(-1.308,.582),l(-.852,.637),l(-1.286,1.443),l(-.886,.85),l(-1.193,.878),l(-1.181,.836),l(-.268,.128),l(-.035,.96),l(-.083,.495),l(.058,.127),l(.719,.535),l(.188,.381),l(-.166,.452),l(-.085,.184),l(.461,1.511),l(.071,.564),l(.06,.155),l(.246,.014),l(.171,-.128),l(.141,-.085),l(.043,.607),l(-.234,2.218),l(-.284,.82),l(.325,.196),l(.152,.057),l(-.025,.325),l(-.157,.311),l(-.516,.566),l(-.699,.538),l(-.664,.34),l(-1.266,.412),l(-.796,.312),l(-.688,.228),l(-.895,.524),l(-.652,.665),l(-.337,.51),l(.292,.338),l(.589,.338),l(.045,.325),l(-.149,1.022),
-N(499.85,236.166),l(.544,-.071),l(.622,-.369),l(.18,.028),l(.346,.098),l(.269,-.085),l(.396,-.368),l(.911,-.143),l(.311,.281),l(.305,-.028),l(.101,-.185),l(-.171,-.366),l(.771,-.539),l(.423,-.198),l(.322,.226),l(.389,-.213),l(-.308,-.494),l(.207,-.282),l(.505,-.425),l(.229,.296),l(.229,.056),l(.558,-.594),l(-.158,-.197),l(-.253,-.409),l(.094,-.297),l(.243,.014),l(.27,-.071),l(.172,-.34),l(-.297,-.875),l(.06,-.339),l(.255,-.043),l(.117,.07),l(.253,.438),l(.28,.099),l(.2,-.41),l(.692,-.524),l(.235,-.367),l(.134,-.452),l(.168,-.692),l(-.133,-.354),l(.003,-.226),l(.537,-.468),l(.356,.324),l(.455,.648),l(.612,.281),l(.141,.198),l(.213,.847),l(.294,1.821),l(.093,.663),l(.231,.791),l(.391,.733),l(.163,.466),l(-.038,.367),l(-.069,.155),l(-.058,.099),l(-.537,.807),l(-.22,-.127),l(-.189,-.366),l(-.555,-.748),l(-.297,.143),l(-.05,.424),l(.193,.875),l(.396,.521),l(.079,.396),l(-.307,.636),l(-.746,1.005),l(-.045,.452),l(.041,.89),l(-.18,.946),l(-.709,2.12),l(-.825,2.572),l(-1.254,3.788),l(-1.324,4.48),l(-.518,1.568),l(-.188,.255),l(-.508,.637),l(-.2,.113),l(-1.369,.102),l(-.999,.327),l(-.474,.468),l(-.813,.086),l(-.363,-.465),l(-.196,-.142),l(-.546,-.182),l(-.37,.071),l(-.269,-.057),l(-.863,-.718),l(-.104,-.24),l(-.02,-.565),l(-.104,-.239),l(-.46,-.366),l(-.124,-.282),l(.001,-.721),l(.345,-1.088),l(-.094,-.325),l(-.287,-.479),l(-.62,-.931),l(-.189,-.494),l(.075,-.664),l(.391,-1.37),l(.228,-.213),l(.474,-.185),l(.768,-1.371),l(.686,-1.174),l(.104,-.325),l(.151,-1.103),l(-.11,-.353),l(-.278,-.226),l(-.354,-.366),l(.066,-.184),l(.252,-.509),l(-.521,-.861),l(-.117,-.677),l(-.069,-.494),l(-.231,-.721),l(.024,-.112),l(.517,-.693),l(.362,-.594),l(.163,-.438),l(.007,-1.073),l(.484,-.016),
-N(468.138,234.908),l(.011,.212),l(.025,.495),l(.137,.14),l(1.438,.006),l(.658,.223),l(1.042,.445),l(1.167,.347),l(.515,.224),l(.441,.379),l(.178,.818),l(.031,.791),l(.086,1.144),l(.132,.805),l(-.201,.411),l(-.448,.596),l(-.128,.283),l(.113,.494),l(.118,.805),l(.594,.845),l(-.168,.41),l(-.205,.341),l(-.736,.683),l(-.229,.481),l(-.075,.834),l(.09,.367),l(-.114,.227),l(-1.68,1.706),l(-.396,.412),l(-.448,.384),l(-.342,-.225),l(-.547,-.124),l(-.442,-.025),l(-.529,.145),l(-.31,.016),l(-.99,-.403),l(-.597,-.139),l(-.72,-.023),l(-.067,-.042),l(-.186,-.098),l(-.306,-.451),l(-.479,-.35),l(-.549,-.167),l(-.938,-.136),l(-.352,-.153),l(-.524,-.873),l(-.163,-.564),l(.032,-.565),l(-.127,-.239),l(-.78,.019),l(-.201,-.098),l(-.109,-.211),l(.051,-.537),l(-.106,-.169),l(-.552,-.266),l(-.533,-.223),l(-.57,-.321),l(-.563,-.491),l(-.377,-.662),l(-.246,-.96),l(-.469,-.604),l(-.43,-.478),l(-.267,-.451),l(.103,-.227),l(.594,.209),l(.404,-.017),l(.521,-.286),l(.334,-.129),l(.421,.309),l(.803,.165),l(.354,-.045),l(.825,-.951),l(.562,-.738),l(.777,-.937),l(.306,-.341),l(.621,-.202),l(.999,-.062),l(.285,-.114),l(.168,-.199),l(.019,-.579),l(.312,-.539),l(.636,-.54),l(.794,-.259),l(.999,-.049),l(.505,.096),
-N(444.673,255.519),l(-.006,3.434),l(.031,1.894),l(.025,2.246),l(-.057,.205),l(-.454,.318),l(-.545,.302),l(-.581,.498),l(-.427,.034),l(-.581,-.166),l(-.745,-.042),l(-.892,.048),l(-.517,-.039),l(-.296,-.212),l(-.055,-.528),l(-.042,-.345),l(-.193,-.222),l(-.637,-.348),l(-.329,-.127),l(-.335,.116),l(-.109,.217),l(-.317,.416),l(-.584,.27),l(-.152,.068),l(-.458,-.491),l(-1.041,-1.001),l(-.458,-.606),l(-.359,-1.03),l(-.345,-.72),l(-.136,-.493),l(.12,-.269),l(.053,-.34),l(-.458,-.719),l(-.231,-.861),l(.148,-.861),l(-.002,-.48),l(-.537,-1.326),l(-.496,-2.244),l(.772,-.02),l(.04,-.678),l(-.077,-.749),l(-.456,-.006),l(.016,-.06),l(-.099,-.522),l(-.26,-.508),l(-1.018,-1.283),l(-.343,-.55),l(-1.102,-2.158),l(-.841,-1.623),l(-.9,-1.509),l(-.988,-1.269),l(-.511,-1.044),l(-.122,-.396),l(-.045,-.551),l(.015,-.578),l(.248,-.197),l(.352,-.144),l(.758,.462),l(.778,-.513),l(.591,-.286),l(.499,-.088),l(.294,.083),l(.45,.478),l(.463,.309),l(.636,.151),l(2.201,-.013),l(1.296,.006),l(.631,.011),l(1.636,.019),l(2.59,-.016),l(.989,.023),l(.408,.096),l(.305,.366),l(.401,.322),l(.622,.151),l(.697,.024),l(2.024,-.026),l(.349,.21),l(.408,.083),l(1.164,-.063),l(.717,.08),l(1.044,-.203),l(1.96,-.379),l(.93,-.218),l(1.845,-.364),l(.165,.056),l(.086,.099),l(1.089,.093),l(.294,.055),l(.456,.393),l(-.811,.315),l(-.891,.02),l(-.284,.143),l(-.993,.938),l(-.209,.029),l(-.62,-.773),l(-1.048,.134),l(-2.962,.47),l(-1.183,.021),l(.005,1.215),l(-.007,1.286),l(-.025,.876),l(-.043,1.201),l(.002,3.561),l(-.586,.046),l(-1.564,.052),l(-.146,.028),l(-.106,2.657),l(-.009,1.201),l(.013,1.624),l(.007,.806),
-N(248.453,316.576),l(-.306,.101),l(-.892,-.087),l(-.538,-.293),l(-.236,-.015),l(-.311,.163),l(-.418,.398),l(-.498,.192),l(-1.156,.091),l(-.349,.09),l(-.358,.207),l(-.267,.621),l(-.114,.341),l(.06,.532),l(-.163,.622),l(-.104,.148),l(-.453,.031),l(-.534,.104),l(-.956,-.413),l(.667,-.639),l(.326,-.444),l(.582,-.4),l(.025,-.147),l(-.372,-.177),l(-.273,-.117),l(-1.353,.534),l(-1.01,-.013),l(-.545,.163),l(-.202,-.339),l(.128,-.192),l(.959,-.268),l(.266,.028),l(.792,-.208),l(.441,-.118),l(-.605,-.162),l(-.582,.002),l(-.77,.001),l(-.014,-.413),l(.265,-.31),l(-.007,-.191),l(-.446,-.073),l(-.356,-.44),l(-.66,.384),l(-.669,-.175),l(.292,-.53),l(.041,-.177),l(-.378,.045),l(-.361,.147),l(-.416,-.396),l(-.215,-.117),l(.413,-.279),l(.114,-.177),l(-.091,-.278),l(-.053,-.073),l(-.351,.03),l(-.773,-.424),l(-.135,-.059),l(.844,-.192),l(.253,-.161),l(.1,-.294),l(.396,-.366),l(.049,-.234),l(-.641,.06),l(-.257,.104),l(-.312,-.073),l(-.256,-.672),l(.573,-.395),l(-.565,-.378),l(-.12,-.421),l(.757,-.452),l(-.14,-.421),l(-.686,.422),l(-.091,-1.523),l(.399,-.596),l(-.185,-.825),l(.013,-.218),l(.593,.014),l(.41,.245),l(.711,.071),l(.171,-.246),l(.002,-.159),l(-.896,-.447),l(-.867,.146),l(-.317,-.173),l(-.536,.059),l(-.017,-.231),l(.339,-.333),l(.025,-.246),l(-.067,-.087),l(.186,-.202),l(.536,.014),l(.229,-.377),l(.01,-.216),l(-.722,-.389),l(-.354,-.129),l(-.886,.045),l(-.332,-.101),l(-.024,-.49),l(-.939,.16),l(-.115,-.101),l(.122,-.145),l(1.032,-.521),l(.251,-.116),l(.4,-.404),l(.266,-.389),l(.833,-.06),l(.268,.201),l(.059,.346),l(-.648,.202),l(-.323,.274),l(.11,.505),l(.117,.058),l(.191,-.102),l(.268,-.39),l(.183,-.087),l(.242,.101),l(-.037,.317),l(.057,.504),l(.886,-.996),l(.161,-.678),l(.056,-.647),l(.237,-.375),l(.079,-.058),l(.631,-.217),l(-.201,-.071),l(-.438,-.143),l(-.056,-.158),l(.101,-.273),l(.246,-.072),l(.571,-.245),l(.599,-.431),l(.271,-.459),l(-.061,-.229),l(-.394,-.157),l(-.662,-.399),l(-.053,-.372),l(.139,-.243),l(.105,-.458),l(-.06,-.828),l(.366,-.33),l(.676,-.272),l(-.431,-.585),l(-.053,-.784),l(.133,-.158),l(.554,-.157),l(.054,-.314),l(-.116,-.285),l(-.317,-.085),l(-.272,-.198),l(.233,-.329),l(.087,-.313),l(-.401,-.185),l(-.274,-.014),l(-.161,.101),l(-.476,.414),l(-.548,.058),l(-.087,.001),l(-.289,-.199),l(-.16,-.484),l(-.399,-.726),l(-.133,-.697),l(.188,-.911),l(.137,-.413),l(.722,-.739),l(.535,-.767),l(-.006,-.326),l(-.544,-1.757),l(.001,-.608),l(.088,-.567),l(-.076,-.438),l(-.528,-.891),l(-.04,-.298),l(.236,-.198),l(.499,.098),l(.182,-.085),l(.2,-.142),l(.097,-.143),l(.41,-1.288),l(.252,-.481),l(.304,-.935),l(.18,-.65),l(.664,-.808),l(.363,-.722),l(.201,-.636),l(.252,-.946),l(.311,-.691),l(.187,-.128),l(.273,-.382),l(.013,-.296),l(-.312,-.847),l(.082,-.184),l(.455,-.452),l(.206,-.339),l(.028,-.24),l(-.093,-.226),l(-.166,-.805),l(-.292,-2.088),l(-.098,-.86),l(.031,-.565),l(.412,-.565),l(.37,-.537),l(.207,-.564),l(.007,-.734),l(-.339,-.521),l(-.098,-.409),l(.295,-.96),l(.218,-.941),l(.127,-.556),l(.461,-.594),l(.171,-.918),l(.243,-.975),l(.126,-.805),l(.082,-.565),l(-.063,-1.087),l(.422,-.664),l(.211,-.494),l(-.221,-.932),l(-.048,-.833),l(.148,-.24),l(-.022,-.917),l(.229,-.607),l(-.124,-.297),l(-.365,-.084),l(.06,-.324),l(-.046,-.396),l(.223,-.198),l(.402,-.198),l(.137,-.424),l(-.008,-.819),l(.093,-.593),l(.182,-.918),l(-.004,-2.344),l(-.172,-2.074),l(-.042,-1.539),l(-.194,-.974),l(-.15,-.387),l(.852,-.275),l(.259,-.298),l(.228,-.933),l(.15,-.199),l(.586,-.187),l(.152,.253),l(.555,.745),l(.304,.647),l(.193,1.213),l(.25,.521),l(.761,.744),l(.017,.282),l(-.437,1.555),l(-.04,.354),l(.249,.676),l(.769,1.11),l(.212,.563),l(.278,.973),l(.397,2.144),l(.272,.182),l(1.047,-.006),l(.107,.056),l(.212,.14),l(.161,.154),l(-.093,.636),l(-.541,1.457),l(-.36,.256),l(-1.346,.53),l(-.819,.372),l(-.204,.312),l(.25,.817),l(-.421,.722),l(-.007,.579),l(.113,.437),l(.34,.449),l(.03,.226),l(-.273,.369),l(-.161,.382),l(.114,.507),l(.53,.477),l(.011,.227),l(-.152,.311),l(-.333,.017),l(-.791,.089),l(-.329,.835),l(-.464,.835),l(-.608,.694),l(-.282,.439),l(-.823,1.839),l(.167,1.466),l(.054,.762),l(-.124,.185),l(-.492,.271),l(-.292,.34),l(-.388,1.201),l(-.156,.961),l(.285,.633),l(.408,1.154),l(.784,2.816),l(.055,.69),l(-.075,.41),l(-1.083,1.854),l(-.319,.595),l(.088,.409),l(.189,1.06),l(-.078,.325),l(-1.334,1.11),l(-.231,.312),l(-.142,1.075),l(.014,1.16),l(.249,1.103),l(.437,.932),l(-.202,.143),l(-.951,.529),l(-.126,.17),l(-.053,.312),l(-.511,2.427),l(-.316,.541),l(-.1,.37),l(.123,1.835),l(.231,.867),l(.012,.427),l(-.596,.317),l(-.172,.172),l(-.106,.271),l(.094,1.226),l(.125,.128),l(.555,.111),l(.088,.655),l(-.191,1.458),l(.252,.585),l(.26,.185),l(.789,.11),l(.302,.17),l(-.007,.186),l(-.245,.202),l(-.322,.13),l(-.726,.033),l(-.757,.146),l(.176,.171),l(.586,.298),l(.552,.385),l(.017,.216),l(-.767,.794),l(-.059,1.094),l(.158,1.035),l(-.216,.896),l(-.212,.434),l(-.226,.262),l(-.598,.161),l(-.28,.219),l(-.249,.781),l(.446,.648),l(-.069,.188),l(-.296,1.218),l(-.307,.263),l(-1.729,1.01),l(-.271,.292),l(-.037,.45),l(.28,1.309),l(.508,1.123),l(.218,.043),l(.961,-.283),l(.654,-.121),l(.187,.248),l(.231,2.285),l(.778,.568),l(.669,.041),l(1.41,-.052),l(2.827,.132),l(.841,.217),l(1.385,.36),l(.286,.039),M(236.642,296.773),l(-.394,-.113),l(-.43,-.028),l(-.21,-.171),l(-.133,-.229),l(.21,-.457),l(.15,-.657),l(-.087,-.514),l(.011,-.414),l(.364,-.728),l(.817,-.116),l(.36,.327),l(.044,.328),l(-.688,.443),l(-.146,.229),l(.493,.771),l(-.194,1.058),l(-.167,.271),M(238.177,317.937),l(-.445,-.177),l(.083,-.842),l(-.849,.075),l(-.073,-.368),l(.218,-.354),l(.823,.102),l(.508,-.207),l(.205,.103),l(.054,.812),l(-.267,.34),l(-.257,.518),M(247.801,322.062),l(-1.033,.102),l(-.467,-.118),l(-.55,-.237),l(-.42,.001),l(-.481,.104),l(-.935,.226),l(-.496,.03),l(.125,-.343),l(.202,-.312),l(-.104,-.312),l(.906,-.15),l(1.434,.058),l(.433,.323),l(.706,-.007),l(-.622,-.689),l(-.307,-.163),l(-.56,-.117),l(-.178,-.089),l(-.188,.03),l(-.338,-.341),l(-.229,-.4),l(1.611,-.581),l(-.044,-.296),l(-.165,-.147),l(-1.819,.285),l(-.292,-.222),l(.263,-.474),l(.146,-.163),l(1.074,-.52),l(.868,-.637),l(.414,.28),l(1.153,.062),l(-.008,1.144),l(-.098,3.675),
-N(456.133,239.67),l(.187,.154),l(.163,.027),l(.154,.169),l(.264,.097),l(-.103,.227),l(.267,.451),l(.43,.478),l(.469,.604),l(.246,.96),l(.377,.662),l(.563,.491),l(.57,.321),l(.533,.223),l(.552,.266),l(.106,.169),l(-.051,.537),l(.109,.211),l(.201,.098),l(.78,-.019),l(.127,.239),l(-.032,.565),l(.163,.564),l(.524,.873),l(.352,.153),l(.938,.136),l(.549,.167),l(.479,.35),l(.306,.451),l(.186,.098),l(-.317,.411),l(-.388,.327),l(-.507,.243),l(-.747,.075),l(-.304,.115),l(-.7,.823),l(-.586,.583),l(-.362,.229),l(-.747,.357),l(-.388,.355),l(-.107,.636),l(-.222,.666),l(-.247,.241),l(-.634,.357),l(-.98,.33),l(-.249,.214),l(-.217,.708),l(-.345,.963),l(-.288,.354),l(-.237,.129),l(-.584,.116),l(-.43,-.026),l(-.473,.06),l(-.511,-.011),l(-.819,-.193),l(-.744,-.32),l(-.979,-.645),l(-.545,-.039),l(-.333,.186),l(-.084,.24),l(-.585,1.134),l(-.382,.469),l(-.651,.625),l(-.632,.428),l(-.8,.372),l(-.823,.033),l(-.854,.047),l(-.368,-.097),l(-.11,-.183),l(.003,-.48),l(.243,-.609),l(.166,-.538),l(-.21,-.762),l(-.547,-.943),l(-.716,-.787),l(-.528,-.067),l(-.007,-.806),l(-.013,-1.624),l(.009,-1.201),l(.106,-2.657),l(.146,-.028),l(1.564,-.052),l(.586,-.046),l(-.002,-3.561),l(.043,-1.201),l(.025,-.876),l(.007,-1.286),l(-.005,-1.215),l(1.183,-.021),l(2.962,-.47),l(1.048,-.134),l(.62,.773),l(.209,-.029),l(.993,-.938),l(.284,-.143),l(.891,-.02),l(.811,-.315),
-N(279.288,257.295),l(.02,.239),l(-.544,1.57),l(-.375,.468),l(-1.007,.74),l(-.301,.27),l(-.352,.51),l(-.609,-.363),l(-.35,-.097),l(-.235,.029),l(-.387,.172),l(-.745,.131),l(-.71,.005),l(-.564,-.096),l(-.992,-.333),l(-.607,-.025),l(-1.187,.332),l(-.19,-.056),l(.064,-.212),l(.425,-.426),l(.486,-.398),l(.11,-.198),l(-.21,-.619),l(.048,-.227),l(.625,-.851),l(.617,-1.203),l(.018,-.268),l(-.939,-.503),l(-.65,-.18),l(-1.448,-.697),l(-1.632,-1.106),l(-.671,-.307),l(-1.173,-.204),l(-.498,-.237),l(-.835,-.588),l(-.576,-.562),l(-1.271,-1.376),l(-.782,-.913),l(-.225,-.337),l(-.19,-.056),l(.149,-.325),l(.395,-1.104),l(.385,-1.188),l(-.016,-.635),l(.133,-.509),l(.278,-.341),l(.698,-1.105),l(.332,-.383),l(.33,-.044),l(.784,-.202),l(1.104,-.162),l(1.076,-.204),l(.126,-.128),l(.843,.01),l(.928,-.02),l(.352,.054),l(1.952,.991),l(.089,.084),l(.253,.408),l(.084,.663),l(.521,.872),l(.104,.959),l(-.132,.862),l(-.086,.721),l(-.006,.72),l(.372,.04),l(.818,.15),l(.925,.221),l(.346,-.03),l(.709,-.413),l(.115,-.001),l(.724,.278),l(.843,.404),l(.121,.437),l(.487,2.524),l(.254,.563),l(.224,.055),l(1.29,-.445),l(.234,.112),l(.491,.336),l(.019,.141),l(-.321,.75),l(-.298,.835),l(-.222,.819),l(-.027,.777),l(.063,.423),
-N(444.673,255.519),l(.528,.067),l(.716,.787),l(.547,.943),l(.21,.762),l(-.166,.538),l(-.243,.609),l(-.003,.48),l(.11,.183),l(.368,.097),l(.854,-.047),l(.823,-.033),l(.8,-.372),l(.632,-.428),l(.651,-.625),l(.382,-.469),l(.585,-1.134),l(.084,-.24),l(.333,-.186),l(.545,.039),l(.979,.645),l(.744,.32),l(.819,.193),l(.511,.011),l(.473,-.06),l(.43,.026),l(.584,-.116),l(.237,-.129),l(.288,-.354),l(.345,-.963),l(.217,-.708),l(.249,-.214),l(.98,-.33),l(.634,-.357),l(.247,-.241),l(.222,-.666),l(.107,-.636),l(.388,-.355),l(.747,-.357),l(.362,-.229),l(.586,-.583),l(.7,-.823),l(.304,-.115),l(.747,-.075),l(.507,-.243),l(.388,-.327),l(.317,-.411),l(.067,.042),l(.72,.023),l(.597,.139),l(.99,.403),l(.31,-.016),l(.529,-.145),l(.442,.025),l(.547,.124),l(.342,.225),l(.159,.183),l(.295,1.199),l(.181,.946),l(.441,.689),l(.33,.944),l(.147,.678),l(.072,.763),l(-.057,1.301),l(-.03,.806),l(.095,.324),l(-1.449,-.585),l(-.279,.199),l(-.657,.979),l(-.28,.567),l(-.005,.325),l(.39,.676),l(.307,.465),l(.458,.322),l(.671,.109),l(.595,-.004),l(.076,-.594),l(.064,-.198),l(.312,-.186),l(.131,-.015),l(.192,-.058),l(1.331,-.011),l(-.182,1.195),l(-.352,.849),l(-.182,.184),l(-.404,.1),l(-.093,.24),l(.199,.536),l(-.104,.467),l(-.248,.354),l(-.569,.453),l(-.923,.581),l(-.591,.75),l(-1.383,1.98),l(-.631,.834),l(-1.242,1.373),l(-1.193,1.062),l(-.829,.863),l(-1.434,1.034),l(-1.379,1.091),l(-.552,.382),l(-.989,.638),l(-.676,.298),l(-.782,.101),l(-.98,-.012),l(-.549,.071),l(-.132,.354),l(.013,.127),l(-.109,.085),l(-.449,-.098),l(-.553,-.126),l(-.303,.015),l(-.25,.198),l(-.272,.312),l(-.226,.113),l(-.36,-.056),l(-.768,-.408),l(-.759,-.168),l(-.542,-.013),l(-.31,.113),l(-.38,.27),l(-.482,-.099),l(-.645,-.21),l(-.295,.1),l(-.638,.043),l(-.589,.214),l(-.729,.538),l(-.72,.086),l(-.44,-.013),l(-.667,-.084),l(-.738,.072),l(-.575,.199),l(-.827,.82),l(-1.251,-.576),l(-.092,-.509),l(-.218,-.183),l(-.479,-.056),l(-.28,.085),l(-.257,-.479),l(-.343,-.056),l(-.149,.255),l(-.035,.197),l(-.312,-.112),l(-.119,-.226),l(.267,-.495),l(.103,-.424),l(-.857,-1.354),l(-.323,-.282),l(-.134,-.226),l(.173,-.17),l(.636,-.044),l(.172,-.424),l(.06,-.819),l(-.163,-.663),l(-.186,-.522),l(-.61,-1.143),l(-.75,-1.029),l(-.472,-.903),l(-.612,-1.383),l(-.646,-1.467),l(-.573,-.818),l(-.436,-.467),l(.152,-.068),l(.584,-.27),l(.317,-.416),l(.109,-.217),l(.335,-.116),l(.329,.127),l(.637,.348),l(.193,.222),l(.042,.345),l(.055,.528),l(.296,.212),l(.517,.039),l(.892,-.048),l(.745,.042),l(.581,.166),l(.427,-.034),l(.581,-.498),l(.545,-.302),l(.454,-.318),l(.057,-.205),l(-.025,-2.246),l(-.031,-1.894),l(.006,-3.434),M(462.462,268.501),l(.412,-.044),l(.194,-.553),l(.633,-.343),l(1.035,-.303),l(.263,-.199),l(.582,-1.007),l(.268,-.326),l(.143,-.241),l(-.104,-.226),l(-.967,-.744),l(-.33,-.337),l(-.422,-.266),l(-.308,.086),l(-.995,.359),l(-.65,.329),l(-.513,.567),l(-.275,.44),l(-.691,.611),l(.12,.409),l(.582,.858),l(.285,.366),l(.739,.561),M(432.955,250.661),l(.456,.006),l(.077,.749),l(-.04,.678),l(-.772,.02),l(-.078,-.354),l(-.028,-.396),l(.285,-.297),l(.101,-.406),
-N(471.719,258.047),l(.075,.296),l(-.071,.495),l(.261,.889),l(.068,.382),l(-.131,.015),l(-.312,.186),l(-.064,.198),l(-.076,.594),l(-.595,.004),l(-.671,-.109),l(-.458,-.322),l(-.307,-.465),l(-.39,-.676),l(.005,-.325),l(.28,-.567),l(.657,-.979),l(.279,-.199),l(1.449,.585),
-N(462.462,268.501),l(-.739,-.561),l(-.285,-.366),l(-.582,-.858),l(-.12,-.409),l(.691,-.611),l(.275,-.44),l(.513,-.567),l(.65,-.329),l(.995,-.359),l(.308,-.086),l(.422,.266),l(.33,.337),l(.967,.744),l(.104,.226),l(-.143,.241),l(-.268,.326),l(-.582,1.007),l(-.263,.199),l(-1.035,.303),l(-.633,.343),l(-.194,.553),l(-.412,.044),
-N(790.15,283.022),l(.738,.197),l(.008,-.227),l(-.242,-.524),l(.052,-.284),l(.233,.014),l(.389,.17),l(.37,.751),l(.277,.964),l(.48,.17),l(1.753,.691),l(.506,.113),l(.37,-.072),l(.699,-.483),l(.885,-.343),l(.4,.027),l(.329,.17),l(.066,.454),l(-.022,.198),l(-.402,1.236),l(-.283,.072),l(-.761,.058),l(-.035,.683),l(-.124,.156),l(-.424,.029),l(-.746,.016),l(-.432,.2),l(-.271,.284),l(.041,.384),l(.254,.525),l(-.002,.213),l(-.151,.199),l(-.646,.515),l(-.898,1.129),l(-.847,1.058),l(-.756,.587),l(-.68,.316),l(-.337,-.171),l(-.47,-.313),l(-.237,-.328),l(.056,-.314),l(.288,-.386),l(.307,-.671),l(.398,-.5),l(-.031,-.343),l(-.271,-.128),l(-.761,-.582),l(-.421,-.185),l(-.593,-.184),l(-.98,-.452),l(-.306,-.256),l(-.11,-.17),l(.081,-.128),l(.419,-.157),l(1.389,-.685),l(.209,-.512),l(-.078,-.695),l(.087,-.312),l(.396,-.441),l(.032,-.383),l(-.482,-.837),l(.081,-.567),l(-.156,-.311),l(-.479,-.655),l(-.574,-.678),l(.102,-.164),l(-.145,-.304),l(-.291,-.351),l(-.336,-.188),l(-.29,-.163),l(.117,.233),l(.497,.515),l(.049,.141),l(-.169,0),l(-.211,-.281),l(-.525,-.631),l(-.622,-.771),l(-.518,-.561),l(.001,-.117),l(-.268,-.257),l(.04,-.141),l(.013,-.14),l(-.048,-.188),l(-.197,-.396),l(-.379,-.42),l(-.347,-.257),l(.163,-.046),l(.205,.093),l(.358,-.047),l(.131,-.093),l(.084,.28),l(-.149,.187),l(.186,.303),l(.177,.21),l(.167,.116),l(.228,.164),l(.041,-.141),l(.269,.023),l(.519,.257),l(.42,.117),l(.274,.07),l(.128,.257),l(-.011,.141),l(.185,.023),l(.146,-.188),l(.185,.023),l(-.022,.164),l(.227,.351),l(.249,.187),l(.233,.28),l(-.18,.023),l(-.076,.164),l(.093,.163),l(-.242,-.023),l(-.175,-.047),l(.143,.117),l(.251,.188),l(.23,.233),l(.352,.28),l(.063,.234),l(.019,.21),l(-.261,-.047),l(.096,.164),l(.239,.351),l(.256,.188),l(-.292,.023),l(-.226,0),l(-.205,-.047),l(-.006,.141),l(.306,.14),l(.324,.164),l(-.09,.211),l(.205,.046),l(.265,-.023),l(.226,0),l(.223,.141),l(-.114,.07),l(-.031,.141),l(.025,.141),l(.136,.06),M(782.939,297.694),l(-.088,.158),l(-.558,.13),l(-.309,.288),l(-.322,.101),l(-.246,.244),l(-.692,-.242),l(-.16,.086),l(.15,.216),l(.429,.415),l(-.141,.173),l(.02,.259),l(-.064,.431),l(-.218,-.071),l(-.976,-.099),l(.418,.229),l(.449,.244),l(-.278,.49),l(-.427,.896),l(-.212,.549),l(-.418,.318),l(-.673,.349),l(-.171,.246),l(-.259,.145),l(-.581,.233),l(-.593,.406),l(-.398,.015),l(-1.156,-.258),l(-.628,.112),l(-.585,-.442),l(-.812,-.158),l(-.373,-.066),l(-.162,-.308),l(-.467,-.098),l(-.24,.142),l(-.062,.168),l(-.78,.095),l(-.214,-.166),l(-.515,-.095),l(-.146,-.286),l(.432,-.089),l(-.223,-.216),l(.328,-.116),l(.322,-.001),l(-.452,-.482),l(.82,.266),l(-.464,-.576),l(.121,-.145),l(.946,.156),l(.082,-.13),l(-.141,-.173),l(-.201,-.216),l(-.06,-.288),l(.283,-.303),l(.569,-.246),l(.328,-.374),l(.561,-.375),l(.102,-.302),l(.998,-.575),l(1.106,-.275),l(.713,-.331),l(.544,-.36),l(.377,-.101),l(.685,-.575),l(.066,-.272),l(.48,-.302),l(.373,-.015),l(.787,-.331),l(.664,-.402),l(.126,-.215),l(-.008,-.172),l(.266,-.144),l(.448,-.302),l(-.109,-.501),l(.076,-.214),l(.166,-.44),l(.306,.048),l(.066,-.152),l(.58,-.259),l(.444,-.272),l(.137,-.285),l(.131,-1.187),l(.512,-.647),l(.372,.047),l(.365,.165),l(.032,.259),l(.337,.06),l(.187,.186),l(.231,.799),l(.312,.242),l(.973,-.645),l(.426,-.029),l(.367,.113),l(.222,.5),l(-.197,.399),l(.299,.429),l(.066,.271),l(-.611,.659),l(-.261,.401),l(-.476,.358),l(-.868,.746),l(-.578,.359),l(-.295,.13),l(-.236,.258),l(-.389,.159),l(-.271,.258),l(.416,.407),l(.428,.047),l(.421,.289),l(-.276,.113),l(-.484,.07),l(-.503,-.296),l(-.488,.131),l(-.352,.158),
-N(247.899,318.387),l(.008,-1.144),l(.821,.289),l(.06,.206),l(-.354,.312),l(-.534,.337),M(248.453,316.576),l(-.286,-.039),l(-1.385,-.36),l(-.841,-.217),l(-2.827,-.132),l(-1.41,.052),l(-.669,-.041),l(-.778,-.568),l(-.231,-2.285),l(-.187,-.248),l(-.654,.121),l(-.961,.283),l(-.218,-.043),l(-.508,-1.123),l(-.28,-1.309),l(.037,-.45),l(.271,-.292),l(1.729,-1.01),l(.307,-.263),l(.296,-1.218),l(.069,-.188),l(-.446,-.648),l(.249,-.781),l(.28,-.219),l(.598,-.161),l(.226,-.262),l(.212,-.434),l(.216,-.896),l(-.158,-1.035),l(.059,-1.094),l(.767,-.794),l(-.017,-.216),l(-.552,-.385),l(-.586,-.298),l(-.176,-.171),l(.757,-.146),l(.726,-.033),l(.322,-.13),l(.245,-.202),l(.007,-.186),l(-.302,-.17),l(-.789,-.11),l(-.26,-.185),l(-.252,-.585),l(.191,-1.458),l(-.088,-.655),l(-.555,-.111),l(-.125,-.128),l(-.094,-1.226),l(.106,-.271),l(.172,-.172),l(.596,-.317),l(-.012,-.427),l(-.231,-.867),l(-.123,-1.835),l(.1,-.37),l(.316,-.541),l(.511,-2.427),l(.053,-.312),l(.126,-.17),l(.951,-.529),l(.202,-.143),l(-.437,-.932),l(-.249,-1.103),l(-.014,-1.16),l(.142,-1.075),l(.231,-.312),l(1.334,-1.11),l(.078,-.325),l(-.189,-1.06),l(-.088,-.409),l(.319,-.595),l(1.083,-1.854),l(.075,-.41),l(-.055,-.69),l(-.784,-2.816),l(-.408,-1.154),l(-.285,-.633),l(.156,-.961),l(.388,-1.201),l(.292,-.34),l(.492,-.271),l(.124,-.185),l(-.054,-.762),l(-.167,-1.466),l(.823,-1.839),l(.282,-.439),l(.608,-.694),l(.464,-.835),l(.329,-.835),l(.791,-.089),l(.333,-.017),l(.152,-.311),l(-.011,-.227),l(-.53,-.477),l(-.114,-.507),l(.161,-.382),l(.273,-.369),l(-.03,-.226),l(-.34,-.449),l(-.113,-.437),l(.007,-.579),l(.421,-.722),l(-.25,-.817),l(.204,-.312),l(.819,-.372),l(1.346,-.53),l(.36,-.256),l(.541,-1.457),l(.093,-.636),l(-.161,-.154),l(-.212,-.14),l(-.107,-.056),l(2.026,-2.087),l(.292,-.27),l(.322,.181),l(.193,.169),l(.615,.194),l(.901,-.034),l(.527,-.045),l(.531,.067),l(.37,.195),l(.341,.309),l(.416,1.084),l(1.034,-1.784),l(.686,-.004),l(1.33,.077),l(.592,.109),l(.19,.056),l(.225,.337),l(.782,.913),l(1.271,1.376),l(.576,.562),l(.835,.588),l(.498,.237),l(1.173,.204),l(.671,.307),l(1.632,1.106),l(1.448,.697),l(.65,.18),l(.939,.503),l(-.018,.268),l(-.617,1.203),l(-.625,.851),l(-.048,.227),l(.21,.619),l(-.11,.198),l(-.486,.398),l(-.425,.426),l(-.064,.212),l(.19,.056),l(1.187,-.332),l(.607,.025),l(.992,.333),l(.564,.096),l(.71,-.005),l(.745,-.131),l(.387,-.172),l(.235,-.029),l(.35,.097),l(.609,.363),l(.352,-.51),l(.301,-.27),l(1.007,-.74),l(.375,-.468),l(.544,-1.57),l(-.02,-.239),l(.957,-.161),l(.462,-.017),l(.206,.196),l(.517,1.154),l(-.094,1.638),l(-.161,.467),l(-.521,.313),l(-1.754,.744),l(-.348,.242),l(-1.633,1.448),l(-1.435,1.363),l(-1.805,1.816),l(-.833,.88),l(-.214,.27),l(-.443,.524),l(-.065,.452),l(-.595,2.359),l(-.103,.522),l(.049,.847),l(.168,.986),l(-.118,.325),l(-.48,.524),l(-.24,.495),l(-.011,.522),l(.194,.577),l(-.054,.338),l(-.162,.273),l(-.26,.325),l(.015,.226),l(.924,.831),l(.68,.281),l(.715,.281),l(.283,.169),l(.281,.325),l(-.025,.325),l(-.362,.523),l(-.043,.396),l(.105,.339),l(.174,.269),l(.466,.325),l(.522,.168),l(.109,.113),l(.226,.892),l(-.308,.481),l(-.75,.937),l(-.729,.766),l(-.313,.737),l(-.368,.284),l(-.832,.342),l(-1.04,.342),l(-1.92,.401),l(-1.795,.188),l(-1.361,.116),l(-.945,.044),l(-1.175,-.11),l(-.934,-.226),l(-.128,.199),l(.036,.808),l(.322,.312),l(.308,.184),l(-.09,.298),l(-.381,.624),l(-.345,.498),l(-.069,.385),l(.392,.682),l(.066,.285),l(-.208,.214),l(-.105,.057),l(-1.251,.473),l(-1.137,.116),l(-.814,-.069),l(-.967,-.34),l(-1.47,-.396),l(-.246,.057),l(-.23,.271),l(.041,.598),l(.429,.684),l(.037,.398),l(-.242,.643),l(.092,.385),l(.773,.54),l(.796,.084),l(.369,-.2),l(-.387,-.398),l(.872,-.188),l(.383,-.043),l(.234,1.041),l(.052,.3),l(-.144,.157),l(-.299,.101),l(-.448,.072),l(-.261,-.157),l(-.104,-.299),l(-.115,-.071),l(-1.046,.073),l(-.67,.201),l(-.212,.101),l(.151,.214),l(.591,.07),l(.47,.113),l(.452,.113),l(.06,.028),l(-.864,.388),l(-.776,.287),l(-.577,.602),l(.003,.414),l(.161,.787),l(-.081,.258),l(-.815,.817),l(.022,.215),l(.423,.371),l(-.491,.116),l(-1.194,.088),l(-.48,.087),l(-.632,.246),l(-.619,.389),l(-.56,.548),l(-.549,.821),l(-.052,.389),l(.061,.375),l(.312,.591),l(.48,.446),l(.98,.633),l(.657,.244),l(.97,.143),l(.362,.086),l(.14,.274),l(-.151,.796),l(-.128,.348),l(-.342,.464),l(-.189,.145),l(-1.08,.524),l(-1.541,.814),l(-.712,.698),l(-.179,.276),l(-.093,.45),l(.111,.523),l(-.169,.451),l(-.239,.32),l(-.97,.454),l(-.969,.25),l(-.421,.221),l(-.323,.396),l(-.226,.791),l(-.054,.514),l(.2,.777),l(.547,.896),l(.699,.779),l(.235,.339),l(-.101,.032),M(247.899,318.387),l(.18,.182),l(.148,.073),l(.607,-.075),l(.344,.133),l(.648,.725),l(.908,.665),l(.993,.756),l(.525,.222),l(.73,.37),l(.246,.074),l(.42,-.001),l(.483,.163),l(1.283,.027),l(.142,-.016),l(-.006,.224),l(-.19,.209),l(-.492,.06),l(-1.198,.092),l(-.777,.196),l(-.364,0),l(-1.179,-.355),l(-.753,-.088),l(-1.15,-.027),l(-.814,-.014),l(-.831,.081),l(.098,-3.675),
-N(346.758,54.457),l(.127,-.162),l(.42,-.179),l(.894,.015),l(.674,-.098),l(-.354,-.227),l(-.405,-.34),l(.317,-.342),l(.277,0),l(.956,.42),l(.67,.048),l(.3,-.163),l(-.191,-.26),l(-.625,-.373),l(.366,-.245),l(1.037,.226),l(.957,.08),l(.746,.275),l(.446,.551),l(-.119,.405),l(-.441,.292),l(.922,.806),l(.553,-.356),l(.352,-.13),l(.63,-.114),l(.49,-.179),l(.061,-.21),l(-.169,-.778),l(.542,-.245),l(.501,.454),l(.426,.307),l(.489,.209),l(.215,.016),l(.185,-.13),l(-.264,-.454),l(.243,-.163),l(.27,-.033),l(.817,-.164),l(.683,.438),l(.536,.242),l(.542,.063),l(.05,-.178),l(-.358,-.535),l(1.006,.145),l(1.439,.079),l(.787,-.115),l(.427,-.229),l(-.021,-.716),l(1.167,.08),l(.635,.471),l(1.118,.323),l(.683,.015),l(.273,.243),l(-.252,.552),l(.786,.29),l(1.674,.159),l(.127,.145),l(.143,.548),l(-.07,.387),l(-.152,.256),l(-.152,.256),l(-.443,.129),l(-.815,.018),l(-.195,.096),l(-.04,.431),l(-.515,.463),l(-.497,.16),l(-.568,-.031),l(-.422,-.159),l(-.817,.495),l(-.539,.144),l(-1.46,.463),l(-.853,.113),l(-.726,.001),l(-.771,.097),l(-.784,.587),l(-.473,.127),l(-1.078,.097),l(-.709,-.03),l(-1.316,-.171),l(-.608,-.142),l(-1.283,-.489),l(-1.058,-.093),l(-.443,.064),l(-1.041,-.014),l(-1.834,-.124),l(-.297,-.206),l(.434,-.191),l(1.127,-.352),l(.701,-.59),l(-.818,-.015),l(-.51,-.126),l(-.428,-.398),l(-.253,-.095),l(-.358,.081),l(-1.564,.115),l(-.557,.033),l(-.37,-.223),l(.141,-.192),l(.388,-.129),l(.669,-.097),l(.794,-.017),l(.729,-.114),l(1.049,-.098),l(.376,-.194),l(.178,-.322),l(-.144,-.258),l(-.358,-.177),l(-.426,-.015),l(-.478,-.145),l(-1.005,-.047),l(-.821,.099),l(-.424,.162),l(-.676,.082),l(-1.041,-.272),l(-.16,-.21),
-N(462.829,67.958),l(.145,.053),l(.16,.131),l(-.043,.174),l(-.175,.044),l(-.189,0),l(-.116,0),l(-.088,.043),l(-.058,.131),l(-.175,.277),l(-.219,.204),l(-.319,.131),l(-.204,.131),l(-.088,.16),l(.029,.16),l(.131,.437),l(.073,.189),l(.029,.16),l(-.175,.131),l(0,.175),l(.175,.233),l(.203,.087),l(.088,.073),l(0,.073),l(.015,.087),l(.043,.146),l(.175,.043),l(.059,.059),l(-.175,.073),l(-.262,.043),l(-.16,.058),l(-.059,.102),l(-.087,.116),l(-.131,0),L(461.402,72),l(-.015,.087),l(-.116,.058),l(.081,.106),l(-.125,.025),l(-.087,-.015),l(-.306,-.043),l(-.16,-.058),l(-.175,-.073),l(-.204,-.044),l(-.131,.102),l(-.204,-.029),l(-.131,.044),l(-.16,.087),l(-.146,.014),l(-.146,-.087),l(-.116,-.029),l(-.175,0),l(-.204,-.117),l(-.116,-.174),l(-.203,-.117),l(-.146,-.043),l(-.072,-.117),l(-.189,0),l(-.247,-.043),l(-.204,-.117),l(-.029,0),l(-.276,-.014),l(-.102,-.102),l(-.248,-.043),l(-.116,-.102),l(-.189,-.087),l(0,.073),l(-.116,.087),l(-.131,-.058),l(-.015,-.073),l(-.087,-.029),l(-.103,0),l(-.276,.117),l(-.102,.029),l(-.131,.015),l(-.219,.015),l(-.146,.043),l(-.262,.029),l(-.276,.087),l(-.116,.102),l(-.087,0),l(.156,-.19),l(-.003,-.351),l(.183,-.238),l(-.368,-.21),l(-.605,.437),l(-.334,-.251),l(-.527,-.038),l(.043,-.942),l(-.396,.188),l(-.336,-.415),l(.158,-.202),l(-.209,-.254),l(.265,-.074),l(-.092,-.252),l(.344,-.042),l(1.026,-.084),l(-.006,-.132),l(.561,-.108),l(.133,-.188),l(.436,.101),l(.074,-.113),l(.317,.05),l(.083,-.215),l(1.104,.193),l(.446,-.294),l(.091,.165),l(.514,-.089),l(1.383,.029),l(1.152,.167),l(.305,.12),l(.592,-.045),l(.971,.09),l(.426,-.108),l(.271,-.24),l(-.006,-.009),
-N(461.353,72.251),l(.37,-.004),l(-.015,.116),l(0,.117),l(.232,.073),l(.204,.087),l(.087,.073),l(.204,.058),l(-.015,.087),l(-.029,.116),l(-.015,.087),l(-.102,.073),l(-.087,.015),l(-.103,.029),l(.131,.087),l(-.072,.131),l(.029,.117),l(-.073,.087),l(-.102,.073),l(-.044,.102),l(.204,-.059),l(.146,-.015),l(.131,.073),l(.087,.014),l(.073,.044),l(-.059,.087),l(-.043,.073),l(.116,.102),l(.131,.058),l(.029,.16),l(.146,.102),l(.16,.043),l(-.059,.087),l(.131,.117),l(-.015,.189),l(.088,.233),l(-.044,.087),l(-.015,.117),l(-.061,.042),l(-.241,.044),l(-.24,.051),l(-.12,.12),l(-.223,.034),l(-.137,.154),l(-.137,.085),l(-.069,.103),l(-.068,.206),l(-.188,.035),l(-.239,-.035),l(-.24,-.034),l(-.325,-.034),l(-.359,0),l(-.172,.068),l(-.103,.137),l(-.223,.085),l(-.154,0),l(-.103,-.017),l(-.086,.052),l(-.377,-.035),l(-.273,-.068),l(-.154,-.171),l(-.138,-.154),l(-.325,-.137),l(-.497,-.223),l(-.342,-.24),l(-.377,-.034),l(-.583,-.035),l(-.325,-.12),l(-.291,-.188),l(-.086,-.257),l(-.188,.017),l(-.171,.068),l(-.36,.171),l(-.394,.017),l(-.24,0),l(-.273,.085),l(-.24,-.085),l(-.309,-.103),l(-.6,-.017),l(-.291,.069),l(-.359,-.069),l(-.291,-.051),l(-.154,.034),l(-.274,.069),l(-.103,-.052),l(-.12,-.137),l(-.154,0),l(-.257,.068),l(-.188,0),l(-.754,-.017),l(-.445,-.085),l(-.754,.171),l(-.599,.154),l(-.429,.103),l(-.257,.137),l(-.052,.188),l(-.526,.026),l(-.065,-.059),l(.073,-.837),l(.035,-.302),l(.127,-.167),l(.672,-.379),l(.034,-.717),l(.267,-.162),l(.267,-.273),l(.217,-.203),l(.296,-.026),l(1.056,-.199),l(.166,-.046),l(.162,-.066),l(.29,0),l(.049,.237),l(.657,.388),l(.422,.162),l(.23,.473),l(.091,.15),l(.441,.196),l(.785,.059),l(.868,-.244),l(.24,-.122),l(.178,-.288),l(-.052,-.394),l(-.193,-.869),l(.198,-.243),l(.045,-.055),l(.087,0),l(.116,-.102),l(.276,-.087),l(.262,-.029),l(.146,-.043),l(.219,-.015),l(.131,-.015),l(.102,-.029),l(.276,-.117),l(.103,0),l(.087,.029),l(.015,.073),l(.131,.058),l(.116,-.087),l(0,-.073),l(.189,.087),l(.116,.102),l(.248,.043),l(.102,.102),l(.276,.014),l(.029,0),l(.204,.117),l(.247,.043),l(.189,0),l(.072,.117),l(.146,.043),l(.203,.117),l(.116,.174),l(.204,.117),l(.175,0),l(.116,.029),l(.146,.087),l(.146,-.014),l(.16,-.087),l(.131,-.044),l(.204,.029),l(.131,-.102),l(.204,.044),l(.175,.073),l(.16,.058),l(.306,.043),l(.087,.015),l(.125,-.025),
-N(451.02,79.165),l(-.029,-.038),l(-.034,-.137),l(-.018,-.171),l(.068,-.206),l(.068,-.154),l(.224,-.12),l(-.052,-.12),l(-.018,-.137),l(-.171,-.069),l(-.188,-.034),l(-.103,-.103),l(-.086,-.137),l(-.223,.017),l(-.257,0),l(-.445,0),l(-.223,.051),l(-.086,-.103),l(-.514,-.068),l(-.257,-.069),l(-.223,-.12),l(-.24,0),l(-.086,-.052),l(-.051,-.154),l(-.12,.034),l(-.353,.096),l(-.043,-.077),l(.128,-.012),l(.034,-.183),l(-.439,-.646),l(-.008,-.14),l(-.042,-.727),l(-.112,-.102),l(.526,-.026),l(.052,-.188),l(.257,-.137),l(.429,-.103),l(.599,-.154),l(.754,-.171),l(.445,.085),l(.754,.017),l(.188,0),l(.257,-.068),l(.154,0),l(.12,.137),l(.103,.052),l(.274,-.069),l(.154,-.034),l(.291,.051),l(.359,.069),l(.291,-.069),l(.6,.017),l(.309,.103),l(.24,.085),l(.273,-.085),l(.24,0),l(.394,-.017),l(.36,-.171),l(.171,-.068),l(.188,-.017),l(.086,.257),l(.291,.188),l(.325,.12),l(.583,.035),l(.377,.034),l(.342,.24),l(.497,.223),l(.325,.137),l(.138,.154),l(.154,.171),l(.273,.068),l(.377,.035),l(-.017,.171),l(-.086,.154),l(-.034,.12),l(-.12,.137),l(-.086,.137),l(.343,.034),l(.274,.052),l(.085,.051),l(-.119,.051),l(-.086,0),l(-.103,.154),l(-.018,.154),l(-.171,.017),l(-.12,-.086),l(-.12,.051),l(-.239,-.034),l(-.154,.034),l(-.086,.154),l(-.103,.154),l(-.257,.068),l(-.429,0),l(-.137,.137),l(-.12,.12),l(-.034,.154),l(-.086,.171),l(.103,.171),l(-.068,.137),l(-.239,.154),l(0,.137),l(-.068,.085),l(-.069,.137),l(.172,.034),l(.205,0),l(.138,.206),l(-.086,.188),l(-.274,.017),l(-.223,-.068),l(0,-.154),l(-.034,-.085),l(-.086,-.069),l(-.171,.051),l(-.12,.086),l(-.291,-.034),l(-.068,.137),l(-.24,.12),l(-.154,0),l(-.188,-.034),l(-.273,.103),l(.086,.171),l(-.069,.12),l(-.171,.034),l(-.137,-.034),l(-.206,.051),l(-.377,.154),l(-.291,0),l(-.068,-.103),l(-.12,-.051),l(-.239,.051),l(-.377,.017),l(-.24,.034),l(-.291,-.034),l(-.154,.034),l(-.093,-.035),l(-.09,-.171),l(-.016,-.029),l(-.099,-.186),l(-.284,-.487),l(-.679,-.243),l(-.04,-.014),l(-.641,.021),
-N(452.867,80.273),l(.093,.035),l(.154,-.034),l(.291,.034),l(.24,-.034),l(.377,-.017),l(.239,-.051),l(.12,.051),l(.068,.103),l(.291,0),l(.377,-.154),l(.206,-.051),l(.137,.034),l(.171,-.034),l(.069,-.12),l(-.086,-.171),l(.273,-.103),l(.188,.034),l(.154,0),l(.24,-.12),l(.068,-.137),l(.291,.034),l(.12,-.086),l(.171,-.051),l(.086,.069),l(.034,.085),l(0,.154),l(.223,.068),l(.274,-.017),l(.086,-.188),l(-.138,-.206),l(-.205,0),l(-.172,-.034),l(.069,-.137),l(.068,-.085),l(0,-.137),l(.239,-.154),l(.068,-.137),l(-.103,-.171),l(.086,-.171),l(.034,-.154),l(.12,-.12),l(.137,-.137),l(.429,0),l(.257,-.068),l(.103,-.154),l(.086,-.154),l(.154,-.034),l(.239,.034),l(.12,-.051),l(.12,.086),l(.171,-.017),l(.018,-.154),l(.103,-.154),l(.086,0),l(.119,-.051),l(-.085,-.051),l(-.274,-.052),l(-.343,-.034),l(.086,-.137),l(.12,-.137),l(.034,-.12),l(.086,-.154),l(.017,-.171),l(.086,-.052),l(.103,.017),l(.154,0),l(.223,-.085),l(.103,-.137),l(.172,-.068),l(.359,0),l(.325,.034),l(.24,.034),l(.239,.035),l(.188,-.035),l(.068,-.206),l(.069,-.103),l(.137,-.085),l(.137,-.154),l(.223,-.034),l(.12,-.12),l(.24,-.051),l(.241,-.044),l(.165,.147),l(.229,.066),l(.197,-.131),l(.181,.016),l(.312,.033),l(.132,.148),l(.082,.148),l(.197,-.033),l(.214,-.065),l(.361,-.049),l(.312,.049),l(.296,.065),l(.147,.017),l(0,.115),l(-.164,.099),l(-.017,.099),l(.065,.148),l(.164,.148),l(.197,0),l(.214,-.197),l(.279,-.016),l(.165,0),l(.147,-.099),l(.23,-.083),l(.131,.049),l(.099,.049),l(.247,-.049),l(.542,.115),l(.132,.131),l(.279,.099),l(.099,.099),l(.147,.099),l(.165,.033),l(.147,-.033),l(.049,.115),l(-.065,.115),l(0,.083),l(-.033,.164),l(-.131,.165),l(.197,.247),l(.147,.099),l(.05,.164),l(-.066,.131),l(-.114,0),l(0,.083),l(-.115,.082),l(-.099,.049),l(-.033,.165),l(-.049,.147),l(.345,.049),l(.132,.181),l(.082,.115),l(.181,-.049),l(.132,.033),l(-.099,.115),l(-.066,.131),l(.017,.099),l(.214,.017),l(.164,.263),l(.115,.23),l(.443,.213),l(.23,.066),l(.279,.082),l(.164,.099),l(.066,.148),l(-.099,.197),l(-.066,.181),l(.182,.066),l(.361,-.066),l(.378,.066),l(.361,.099),l(.263,.066),l(-.032,.065),l(-.066,.049),l(-.082,.017),l(.099,.181),l(.296,.148),l(.279,.066),l(.033,.131),l(-.065,.164),l(-.296,0),l(-.148,.083),l(-.049,.065),l(-.444,.247),l(-.525,.099),l(-.51,-.016),l(-.197,-.132),l(-.328,-.049),l(-.362,.017),l(-.131,.165),l(-.099,.131),l(.017,.164),l(.279,.263),l(.296,.164),l(0,.165),l(-.132,.066),l(.099,.148),l(.147,.131),l(-.082,.099),l(.033,.164),l(.033,.23),l(-.033,.099),l(.164,.082),l(.082,.115),l(.165,.066),l(.002,.142),l(-.519,-.005),l(-.522,.056),l(-.112,.131),l(-.205,-.056),l(-.187,-.037),l(-.336,.075),l(-.057,.13),l(-.111,.112),l(-.317,.187),l(-.188,.261),l(-.261,.224),l(-.057,.206),l(.243,.205),l(.056,.149),l(-.131,.206),l(-.261,-.019),l(-.149,-.056),l(-.149,-.206),l(-.112,-.056),l(-.187,-.075),l(-.224,-.037),l(-.225,.037),l(-.242,.075),l(-.299,.019),l(-.149,-.131),l(-.224,.075),l(-.188,.093),l(-.316,.056),l(-.188,-.056),l(-.037,-.205),l(-.112,-.131),l(-.168,-.131),l(-.13,.038),l(-.131,.075),l(-.168,0),l(-.299,.149),l(-.131,.149),l(-.168,0),l(-.094,-.187),l(-.13,-.075),l(-.206,0),l(-.224,.112),l(-.131,-.187),l(-.224,-.093),l(-.131,.112),l(-.354,.056),l(-.262,-.112),l(-.112,0),l(-.019,.205),l(-.168,.093),l(-.093,-.056),l(.056,-.224),l(-.243,-.038),l(-.187,-.056),l(-.541,.112),l(0,-.149),l(-.187,0),l(.019,-.224),l(-.28,-.037),l(-.242,.075),l(-.523,-.112),l(-.578,-.056),l(-.075,-.056),l(-.522,0),l(-.205,-.168),l(-.262,.019),l(-.522,-.093),l(-.467,.075),l(-.485,0),l(-.354,-.056),l(-.355,.056),l(-.354,.056),l(-.485,-.038),l(-.485,.019),l(-.205,.187),l(-.037,.168),l(-.374,.168),l(-.373,.206),l(-.112,-.112),l(-.261,0),l(-.374,-.019),l(-.037,.131),l(0,.045),l(-.126,-.137),l(.315,-.752),l(-.013,-.25),l(-.218,-.146),l(-.149,-.176),l(-.421,-.146),l(-.289,-.012),l(.128,-.292),l(.291,-.328),l(.571,-.244),l(.44,-.03),l(.263,-.208),l(.023,-.236),l(-.172,-.502),l(-.615,-1.5),l(-.16,-.302),
-N(400.125,81.146),l(.633,.305),l(.208,.207),l(.208,.37),l(-.038,.193),l(-.545,.563),l(.714,.176),l(.396,-.311),l(.527,-.119),l(.602,.028),l(.807,.176),l(.467,.354),l(.235,.752),l(-.077,.221),l(-.322,.414),l(-1.068,.473),l(-.767,.561),l(-.96,.237),l(1.223,.167),l(.501,.043),l(.354,-.104),l(.39,.117),l(-.066,.516),l(-.997,.308),l(.005,.199),l(-.479,-.084),l(-1.068,.443),l(-.879,-.142),l(-.293,-.048),l(-1.119,.211),l(-.587,-.211),l(-.598,.112),l(-1.584,.141),l(.137,.295),l(-.907,-.168),l(-.264,.168),l(-.911,-.337),l(-.334,.143),l(-.913,.089),l(-.093,.569),l(-.337,.316),l(-.37,.042),l(-.272,-.252),l(-.53,-.172),l(-.135,.151),l(-.527,-.077),l(-.948,.324),l(-.701,.552),l(-.326,-.231),l(-.775,-.147),l(1.2,-.472),l(.492,-.476),l(.447,-.097),l(.468,-.388),l(.118,-.485),l(.242,.063),l(.367,-.211),l(-.008,-.274),l(1.013,-.105),l(.76,.119),l(.927,.007),l(.073,-.338),l(.308,-.142),l(.321,-.556),l(-.939,.394),l(-.725,.016),l(-1.467,-.482),l(-1.866,-.055),l(-.399,-.191),l(-.156,-.162),l(.417,-.325),l(.983,-.194),l(.721,-.237),l(.38,-.384),l(.066,-.827),l(-.119,-.192),l(-.713,.046),l(-.34,-.044),l(.288,-.355),l(.387,-.223),l(.802,-.253),l(1.394,-.062),l(.922,-.076),l(-.316,-.548),l(.172,-.683),l(.253,-.461),l(-.045,-.312),l(-.834,.061),l(-.484,-.296),l(-.2,-.312),l(.309,-.507),l(.617,-.433),l(-.347,-.104),l(-.596,-.088),l(-.735,.3),l(-.476,.061),l(-.753,-.222),l(-.088,.194),l(-.222,.194),l(-.672,-.103),l(-.464,-.133),l(.1,-.343),l(.348,-.36),l(.604,-.706),l(-.293,-.134),l(-.305,-.39),l(.028,-.24),l(.304,-.106),l(.3,-.196),l(-.194,-.496),l(-.306,.076),l(-.636,.453),l(-.442,.031),l(-.526,.287),l(-.14,-.421),l(.302,-.527),l(.438,-.559),l(.065,-.257),l(-.417,-.195),l(-.196,-.045),l(-.218,.302),l(-.394,.257),l(-.493,-.165),l(.299,-.575),l(.54,-.455),l(.09,-.136),l(-.225,-.575),l(.366,-.092),l(.225,-.197),l(-.672,-.515),l(.432,-.351),l(.752,.151),l(.387,-.092),l(-.645,-.759),l(.975,-.169),l(-.457,-.502),l(.416,-.382),l(.924,.365),l(.824,-.093),l(.686,-.139),l(.867,-.047),l(.612,.014),l(.303,.259),l(-.307,.29),l(-1.726,.704),l(-.46,.274),l(-.218,.441),l(.222,.182),l(.784,.029),l(.877,-.078),l(.685,-.001),l(.53,.075),l(1.563,-.064),l(.458,.378),l(-.363,.425),l(-.212,.323),l(.098,.112),l(-.565,.66),l(-.226,.111),l(-.339,.437),l(-.696,.261),l(-.382,.038),l(.451,.186),l(.508,.167),l(-.116,.015),l(-.272,.19),l(-.61,.052),l(-.275,.196),l(-1.337,-.025),l(.404,.223),l(.302,0),l(.492,.093),l(.432,-.006),l(.519,-.223),l(.413,-.025),l(.449,.161),l(.656,.164),l(.673,.566),l(.496,.228),l(.118,.165),l(-.067,.238),l(.312,.78),l(.371,.536),l(.438,.189),l(.714,.107),l(.59,.549),l(.688,.593),l(.135,.52),l(-.188,.49),l(.257,.124),M(387.915,77.13),l(-.128,-.325),l(.149,-.335),l(.38,-.089),l(.079,.501),l(-.307,.251),l(-.173,-.003),M(386.786,80.184),l(-.178,-.272),l(-.967,.072),l(.123,-.256),l(-.364,-.15),l(-.26,-.257),l(-.335,-.107),l(-.253,.364),l(-.751,.257),l(-.778,-.192),l(-.401,-.278),l(-.101,-.278),l(.86,-.278),l(-.483,-.257),l(.817,-.107),l(.385,-.484),l(-.029,-.235),l(.449,-.09),l(.508,-.15),l(.781,-.077),l(.424,.044),l(.389,.104),l(.362,-.046),l(.218,.149),l(.519,.791),l(.047,.179),l(-.081,.298),l(.308,.446),l(-.155,.328),l(-.402,.328),l(-.354,.12),l(-.299,.038),
-N(578.943,106.217),l(-.41,-.375),l(-.466,-.098),l(-.663,0),l(-.196,-.27),l(-.27,-.147),l(-.147,-.344),l(-.564,.049),l(-.981,-.246),l(-.662,.074),l(-1.35,-.024),l(-.662,-.098),l(-.712,-.221),l(-.785,.147),l(-.761,0),l(-.858,.024),l(-.441,.27),l(-.54,-.098),l(-.908,-.196),l(-.735,-.246),l(-.761,-.27),l(-.589,-.074),l(-.688,.123),l(-.466,.368),l(-.245,.736),l(.024,.442),l(-.344,-.123),l(-.81,-.123),l(-.688,-.196),l(-.883,-.245),l(-.883,-.147),l(-.663,.098),l(-.736,.123),l(-.318,.368),l(-.393,.442),l(.044,.273),l(-.322,.031),l(-.377,.377),l(-.283,-.126),l(-.22,.063),l(-.346,.283),l(-.534,.471),l(-.755,.189),l(-.943,.377),l(-.282,.188),l(-.221,.472),l(-.439,.188),l(-.504,.44),l(.157,.409),l(-.125,.188),l(-.66,0),l(-.44,-.346),l(.062,-.283),l(-.062,-.283),l(-.44,-.314),l(-.346,0),l(-1.006,.094),l(-.691,.032),l(-.503,-.063),l(-.346,-1.069),l(-.221,-.817),l(-1.006,0),l(-.031,-.754),l(.188,-.409),l(.031,-1.038),l(-.66,.314),l(-.66,-1.006),l(-.597,-.22),l(-.724,-.723),l(-1.1,.409),l(-2.767,-.188),l(-2.578,.346),l(-2.012,-1.666),l(-5.722,-2.986),l(-5.658,1.289),l(-.056,8.174),l(-.158,-.014),l(-.341,.106),l(-.489,.043),l(-.447,-.255),l(-.638,-.703),l(-.256,-.511),l(-.617,-.383),l(-.681,-.383),l(-.512,-.234),l(-.979,.085),l(-1.277,.298),l(-.937,.532),l(-.529,.453),l(.092,-.399),l(-.06,-.18),l(-.12,-.12),l(.14,-.26),l(.2,-.2),l(.14,-.32),l(.04,-.3),l(.18,-.2),l(-.159,-.24),l(-.4,-.16),l(-.459,.06),l(-.18,-.16),l(-.3,.06),l(-.2,.04),l(-.199,-.18),l(-.221,-.32),l(-.319,-.28),l(-.34,0),l(-.359,.02),l(0,-.2),l(.08,-.28),l(-.2,-.379),l(-.239,-.12),l(-.2,-.24),l(-.399,-.799),l(-.08,-.28),l(-.56,-.12),l(-.699,-.08),l(-.14,-.16),l(.02,-.439),l(.16,-.12),l(.3,-.06),l(.399,.02),l(.34,.02),l(.479,.14),l(.539,.18),l(.18,-.08),l(.36,-.08),l(-.2,-.16),l(-.26,-.12),l(-.399,-.2),l(-.2,-.24),l(.26,-.36),l(.28,-.04),l(.08,-.26),l(.18,-.299),l(.12,-.14),l(.26,.04),l(.319,-.08),l(.16,-.1),l(.339,.12),l(.24,0),l(1.119,-.04),l(.999,.14),l(.499,.02),l(-.159,-.08),l(-.34,-.2),l(-.479,-.12),l(-.021,-.3),l(.2,-.2),l(.279,-.22),l(.221,-.28),l(.119,-.52),l(.12,-.28),l(-.16,-.24),l(-.14,-.16),l(.1,-.2),l(.26,-.2),l(-.119,-.12),l(-.101,-.3),l(-.359,-.12),l(-.359,-.04),l(-.68,-.1),l(-.2,.16),l(-.199,.08),l(-.52,.08),l(-.46,-.12),l(-.319,-.26),l(-.26,-.06),l(-.68,-.12),l(-.56,.06),l(-.659,.319),l(-.42,.02),l(-.799,.5),l(-.72,.28),l(-.499,.06),l(-.42,-.02),l(-.279,.24),l(-.213,.18),l(-.616,-.19),l(-.857,-.377),l(-.068,-.308),l(.343,-.103),l(.309,.103),l(.445,.103),l(.138,-.103),l(-.96,-1.131),l(-.343,-.514),l(-.479,-.206),l(-.515,-.445),l(-.514,-.034),l(-.343,.034),l(-.583,-.206),l(-.103,.343),l(-.514,-.514),l(.068,-.309),l(-.138,-.377),l(-1.37,-.343),l(.65,-1.165),l(.446,-.274),l(.239,-.206),l(-.239,-.274),l(-.343,-.171),l(.205,-1.303),l(.823,-.137),l(.343,-.549),l(.103,-.308),l(.411,-.069),l(.514,.24),l(.48,.548),l(.514,.411),l(.651,0),l(.411,-.24),l(.068,-.446),l(-.171,-.411),l(-.068,-.445),l(.479,-.206),l(.891,-.411),l(.172,-.24),l(.309,-.309),l(.514,-.171),l(.549,-.068),l(.788,-.377),l(.548,-.343),l(.515,-.309),l(.651,.069),l(.479,0),l(.309,.274),l(.651,-.137),l(.273,-.137),l(.617,-.24),l(.411,.069),l(.411,.514),l(.788,.035),l(.617,-.069),l(.96,.171),l(0,.343),l(.582,.206),l(.789,.343),l(.411,.274),l(.068,.583),l(.274,.137),l(.239,-.274),l(-.205,-.48),l(-.034,-.24),l(.72,.068),l(.582,.548),l(.686,.137),l(.411,.24),l(.686,-.171),l(.274,-.274),l(.377,-.343),l(.514,-.377),l(.823,.068),l(.65,.035),l(.651,.411),l(.617,-.068),l(.137,-.412),l(1.062,-.103),l(.754,.103),l(.274,.548),l(.926,.309),l(.754,.137),l(.411,.171),l(.651,-.343),l(.171,-.309),l(.24,0),l(.343,.343),l(.959,.034),l(1.577,-.411),l(.137,-.309),l(.138,-.686),l(-.24,-.24),l(-1.165,-.171),l(-.274,-.308),l(-.651,-.069),l(-.377,-.137),l(.068,-.171),l(-.377,-.137),l(-.239,0),l(-.164,-.274),l(.467,-.067),l(.735,-.368),l(.588,-.147),l(.331,-.294),l(-.441,-.478),l(-.146,-.257),l(.662,-.515),l(.698,-.184),l(1.103,.147),l(.515,-.073),l(.11,-.257),l(-.956,-.294),l(-1.065,-.11),l(0,-.331),l(.294,-.074),l(-.294,-.221),l(-.074,-.441),l(.185,-.515),l(.33,-.074),l(1.066,.147),l(.515,0),l(.772,0),l(.368,-.184),l(1.396,-.405),l(1.029,-.037),l(.735,-.11),l(1.545,-.11),l(.588,-.073),l(.331,.073),l(.221,-.331),l(.625,-.331),l(1.177,-.037),l(2.021,-.405),l(1.876,-.073),l(.625,-.074),l(.367,-.368),V(0,77.39),l(.515,-.037),l(.589,-.184),l(.11,-.221),l(.735,-.037),l(.919,.147),l(.515,.11),l(.772,.257),l(.625,-.11),l(.882,-.037),l(.368,.404),l(-.037,.331),l(.147,.221),l(.515,.22),l(-.11,.331),l(-.147,.257),l(.073,.331),l(-.33,.037),l(.184,.257),l(.478,.074),l(.295,-.147),l(.44,.11),l(.368,-.147),l(.367,.074),l(.331,-.221),l(.294,.11),l(.295,.368),l(.367,.221),l(.147,-.147),l(.184,-.147),l(.478,.037),l(.405,.294),l(.478,.11),l(.441,-.221),l(.367,0),l(-.146,.294),l(-.441,.184),l(-.331,.441),l(.331,.184),l(.441,-.11),l(.771,-.073),l(.441,.037),l(.552,.184),l(.294,-.294),l(.772,-.441),l(1.103,-.257),l(.956,-.515),l(.772,-.221),l(.515,-.22),l(.809,-.074),l(0,.441),l(-.515,.11),l(-.11,.368),l(1.104,.588),l(.809,.294),l(1.287,.772),l(1.066,1.029),l(1.69,2.133),l(.846,.882),l(1.104,1.434),l(.515,-.257),l(.331,-.257),l(.367,-.515),l(.92,0),l(.367,.331),l(0,.368),l(.478,0),l(.258,.257),l(.184,.184),l(.589,0),l(.992,0),l(.993,-.221),l(.771,-.221),l(.993,-.037),l(.698,.441),l(.772,.588),l(.331,.625),l(.956,.147),l(.588,.552),l(.662,.699),l(.882,.073),l(.993,.074),l(.478,-.368),l(.625,-.184),l(-.073,.331),l(.441,.331),l(.294,.478),l(.589,0),l(.064,.145),l(-.551,.034),l(-.542,.148),l(-.279,.262),l(-.011,.275),l(-.035,.478),l(-.306,.219),l(-.289,.06),l(-1.199,.093),l(-.428,.277),l(-.34,.581),l(.097,.75),l(.213,.707),l(-.157,.39),l(-.444,.392),l(-.417,.103),l(-.718,.062),l(-1.402,-.079),l(-.594,-.141),l(-.721,-.141),l(-1.096,-.254),l(-.427,.507),l(-.516,1.141),L(584.2,97.43),l(-.286,.605),l(-.137,.418),l(.622,.514),l(.126,.286),l(-.156,.245),l(-.231,.145),l(-.394,.074),l(-1.133,-.238),l(-.5,-.184),l(-.35,.06),l(-1.082,.207),l(-1.799,.254),l(-.393,.188),l(-.215,.302),l(-.068,.215),l(.232,.185),l(.366,-.06),l(.483,.141),l(.03,1.357),l(.345,.627),l(.29,.441),l(.119,.47),l(-.222,.33),l(-.705,.546),l(-.32,.401),l(-.02,.399),l(.139,.86),
-N(386.786,80.184),l(-.304,.038),l(-.223,.09),l(.241,.252),l(.361,.771),l(.287,1.213),l(-.061,.281),l(-.359,.341),l(-.242,.414),l(-.145,.473),l(-.185,.044),l(-.284,-.058),l(-.616,.031),l(-.15,.212),l(-.913,.042),l(-.84,.132),l(-.247,.144),l(-.661,.286),l(-.903,.498),l(-.628,.035),l(-.879,.283),l(-1.28,.084),l(.053,-.378),l(-.089,-.441),l(-.848,.1),l(-.171,-.487),l(.734,-.254),l(-1.186,-.021),l(.062,-.233),l(1.286,.027),l(.198,-.104),l(.039,-.222),l(.107,-.31),l(.515,-.134),l(.692,-.031),l(.13,-.281),l(-1.07,.099),l(.387,-.437),l(-.187,-.159),l(.481,-.468),l(.694,-.011),l(.163,-.089),l(-.174,-.311),l(-.348,.177),l(-.309,-.131),l(-.319,.03),l(-.391,-.177),l(-.414,.001),l(-.182,.106),L(378,81.478),l(.309,-.306),l(-.29,-.142),l(.759,-.126),l(-.139,-.301),l(.391,-.235),l(-.481,-.214),l(-.59,.128),L(378,79.792),l(.38,-.268),l(.215,-.16),l(.928,.187),l(.336,-.075),l(.527,.038),l(1.102,.123),l(-.214,-.358),L(382.132,79),l(.198,-.321),l(-1.373,0),l(.154,-.15),l(.569,-.107),l(.061,-.29),l(.291,-.479),l(.505,-.181),l(.804,-.169),l(.22,.302),l(.354,.149),l(.156,-.031),l(.029,.235),l(-.385,.484),l(-.817,.107),l(.483,.257),l(-.86,.278),l(.101,.278),l(.401,.278),l(.778,.192),l(.751,-.257),l(.253,-.364),l(.335,.107),l(.26,.257),l(.364,.15),l(-.123,.256),l(.967,-.072),l(.178,.272),
-N(452.998,85.535),V(0,85.49),l(.037,-.131),l(.374,.019),l(.261,0),l(.112,.112),l(.373,-.206),l(.374,-.168),l(.037,-.168),l(.205,-.187),l(.485,-.019),l(.485,.038),l(.354,-.056),l(.355,-.056),l(.354,.056),l(.485,0),l(.467,-.075),l(.522,.093),l(.262,-.019),l(.205,.168),l(.522,0),l(.075,.056),l(.578,.056),l(.523,.112),l(.242,-.075),l(.28,.037),l(-.019,.224),l(.187,0),l(0,.149),l(.541,-.112),l(.187,.056),l(.243,.038),l(-.056,.224),l(.093,.056),l(.168,-.093),l(.019,-.205),l(.112,0),l(.262,.112),l(.354,-.056),l(.131,-.112),l(.224,.093),l(.131,.187),l(.224,-.112),l(.206,0),l(.13,.075),l(.094,.187),l(.168,0),l(.131,-.149),l(.299,-.149),l(.168,0),l(.131,-.075),l(.13,-.038),l(.168,.131),l(.112,.131),l(.037,.205),l(.188,.056),l(.316,-.056),l(.188,-.093),l(.224,-.075),l(.149,.131),l(.299,-.019),l(.242,-.075),l(.225,-.037),l(.224,.037),l(.187,.075),l(.112,.056),l(.149,.206),l(.149,.056),l(.261,.019),l(.131,-.206),l(-.056,-.149),l(-.243,-.205),l(.057,-.206),l(.261,-.224),l(.188,-.261),l(.317,-.187),l(.111,-.112),l(.057,-.13),l(.336,-.075),l(.187,.037),l(.205,.056),l(.112,-.131),l(.522,-.056),l(.519,.005),l(.357,.089),l(.469,.022),l(.313,-.156),l(.179,-.291),l(.134,-.268),l(.536,.246),l(.536,-.022),l(.67,-.223),l(.692,.112),l(.514,-.134),l(.201,.268),l(.312,.134),l(.246,.335),l(.134,.201),l(.246,.156),l(.312,.156),l(0,.268),l(-.312,-.022),l(-.312,.134),l(.134,.291),l(.111,.357),l(.269,.29),l(.647,0),l(.156,.112),l(.514,-.067),l(.38,.022),l(0,.312),l(.402,0),l(0,.357),l(.224,.268),l(.089,.246),l(-.089,.179),l(.089,.224),l(.179,.089),l(.291,.29),l(.268,-.179),l(.47,-.067),l(.268,.067),l(.469,.291),l(.201,-.067),l(.179,.022),l(.179,.156),l(.425,-.112),l(.312,-.112),l(.269,0),l(.536,-.134),l(.357,-.067),l(.111,.156),l(.268,.179),l(0,.134),l(.201,.179),l(.022,.134),l(.402,.044),l(.179,.179),l(.224,.112),l(.29,-.134),l(.045,-.157),l(.224,-.067),l(.29,.268),l(.425,.067),l(.469,.112),l(.268,.112),l(.357,-.067),l(.201,.179),l(.291,.089),l(.469,.022),l(.111,.224),l(.357,.156),l(.269,0),l(.134,-.044),l(.201,-.089),l(.156,.089),l(-.089,.111),l(-.022,.179),l(.111,.089),l(.09,.179),l(-.045,.224),l(-.201,.089),l(-.156,.067),l(-.357,.201),l(-.312,.044),l(.223,.246),l(.269,.089),l(.29,.044),l(-.134,.156),l(-.312,0),l(-.246,0),l(-.045,.179),l(-.044,.224),l(.156,.067),l(.179,.067),l(.044,.134),l(.045,.179),l(.09,.201),l(.066,.067),l(-.156,.491),l(-.156,.291),l(0,.156),l(-.335,.134),l(-.805,-.157),l(-.736,.045),l(-.269,0),l(-.022,.179),l(-.223,.179),l(-.38,.134),l(-.357,.022),l(-.224,.089),l(-.09,.514),l(0,.224),l(-.021,.112),l(-.012,.126),l(-.779,.104),l(-.971,.06),l(-.511,.405),l(-.729,.189),l(-1.135,.075),l(-1.119,.248),l(-.502,.318),l(-.463,.059),l(-.453,-.316),l(-.369,.621),l(-.31,.188),l(-.477,.044),l(-.438,-.057),l(-.959,.031),l(-.5,.16),l(.641,.287),l(1.957,1.004),l(.053,.172),l(-.093,.188),l(.163,.244),l(.562,.042),l(.511,-.13),l(.675,-.146),l(1.052,.013),l(.439,.114),l(-.235,.259),l(-.106,.245),l(-.228,.144),l(-.578,.116),l(-.31,.029),l(-.591,-.157),l(-.473,.044),l(-.71,.489),l(-1.007,.045),l(-.538,.188),l(-.527,.488),l(-.269,.101),l(-.786,-.07),l(-.588,-.171),l(.364,-.746),l(-.096,-.416),l(-.264,-.287),l(-.854,-.286),l(-.193,-.014),l(-.629,.016),l(-.151,.043),l(-.16,-.187),l(.887,-.505),l(.644,-.261),l(.772,-.188),l(.221,-.116),l(-.246,-.46),l(-.435,-.071),l(-.799,.044),l(-1.015,.045),l(-.698,-.1),l(-.195,-.101),l(-.418,-.432),l(.584,-.405),l(-.528,-.605),l(-.378,.361),l(-.541,.001),l(-1.001,.146),l(-.565,.131),l(-.694,.722),l(-1.003,.867),l(-.754,.203),l(-.223,.044),l(-.287,.504),l(.079,.158),l(.178,.093),l(-.706,-.131),l(-.665,.261),l(-.457,0),l(-.033,.189),l(-.609,-.047),l(-.398,-.166),l(-.119,-.249),l(-.15,.02),l(.055,-.077),l(.102,-.025),l(.126,.013),l(.113,.013),l(.189,0),l(.088,-.114),l(0,-.088),l(-.063,-.113),l(.025,-.113),l(.126,-.063),l(.051,-.063),l(.075,-.013),l(.089,-.025),l(.088,-.063),l(.089,-.088),l(.024,-.126),l(-.013,-.114),l(.14,-.013),l(.29,-.063),l(.075,-.076),l(-.025,-.088),l(-.062,-.088),l(.126,-.114),l(.037,-.063),l(-.012,-.088),l(-.114,-.113),l(.051,-.101),l(-.088,-.151),l(-.063,-.101),l(.202,-.151),l(.239,-.025),l(.126,-.088),l(.113,.025),l(.013,.088),l(-.013,.214),l(.063,.013),l(.113,0),V(0,96.92),l(-.013,-.063),l(.101,.038),l(.063,.051),l(.025,-.076),l(.075,-.038),l(.139,-.012),l(0,.075),l(.089,.063),l(.075,0),l(.126,.164),l(.076,-.076),l(.075,-.076),l(.013,-.05),l(.101,-.025),l(.177,0),l(-.037,.189),l(.176,.025),l(.038,-.038),l(.038,-.038),l(.139,.013),l(.227,0),l(.038,-.025),l(.075,-.076),l(-.126,-.013),l(-.164,-.126),l(-.101,-.051),l(-.075,-.05),l(.013,-.038),l(.101,-.063),l(-.025,-.113),l(.038,-.101),l(-.013,-.126),l(-.051,-.139),l(-.101,-.063),l(-.177,-.076),l(-.075,0),l(-.151,-.126),l(-.151,-.063),l(-.151,-.038),l(.051,-.151),l(.037,-.088),l(-.037,-.051),l(-.127,.038),l(-.062,-.114),l(.113,-.038),l(-.013,-.189),l(.089,-.075),l(-.025,-.101),l(-.038,-.088),l(-.113,0),l(-.102,.05),l(-.088,.051),l(-.113,-.088),l(-.089,-.101),l(-.188,-.101),l(-.139,-.025),l(-.102,-.139),l(-.05,-.139),l(.177,-.139),l(0,-.189),l(.024,-.114),l(.051,-.05),l(-.126,-.063),l(.164,-.151),l(-.113,-.025),l(-.076,-.063),l(-.062,-.126),l(-.14,-.013),l(-.062,.101),l(-.126,-.025),l(-.215,-.025),l(-.126,-.189),l(-.05,-.189),l(-.417,-.075),l(-.277,.012),l(-.062,.051),l(-.076,.101),l(-.062,-.05),l(0,-.076),l(-.089,-.025),l(-.101,.038),l(.038,-.05),l(.088,-.101),l(-.025,-.063),l(-.113,0),l(-.177,.038),l(-.126,-.025),l(-.101,.013),l(-.076,-.076),l(-.05,-.063),l(-.101,-.063),l(-.151,-.013),l(-.139,-.05),l(-.14,-.126),l(-.214,-.088),l(-.038,-.013),l(-.126,.025),l(-.05,.025),l(-.114,-.051),l(-.088,-.025),l(-.139,.025),l(-.177,.051),l(-.177,-.025),l(-.062,.038),l(-.126,.114),l(-.202,0),l(-.265,-.038),l(-.126,.051),l(-.315,-.114),l(-.088,.101),l(.012,.113),l(-.126,0),l(-.075,-.063),l(-.126,.114),l(-.06,.052),l(-.634,.08),l(-.151,.311),l(-.278,.178),l(-1.992,.191),l(-.186,.215),l(-.243,.119),l(-.339,.06),l(-.188,-.227),l(-.327,.004),l(-.025,-.231),l(-.363,.045),l(-1.115,-.066),l(-.958,-.193),l(-.241,.107),l(-.787,-.121),l(-.136,.085),l(-.678,-.387),l(-.554,-.2),l(-.668,-.301),l(-.166,.015),l(1.047,-1.471),l(.653,.018),l(-.349,-.383),l(-.044,-.552),l(.082,-.306),l(1.509,-1.218),l(.599,-.398),l(.286,-.181),l(.429,-.013),l(.255,-.24),l(.009,-.314),l(-.328,-.302),l(.085,-.133),l(.298,-.048),l(-.316,-.193),l(-.816,-.835),l(.074,-.242),l(-.161,-.175),
-N(660.044,89.132),l(-.295,.31),l(-.687,1.207),l(-1.224,1.959),l(-.381,.58),l(.269,.836),l(.051,.029),l(.342,-.045),l(.929,-.395),l(.754,-.062),l(.576,-.018),l(.317,.085),l(.431,.416),l(.292,.07),l(1.191,-.786),l(.438,-.002),l(.928,.212),l(.538,.199),l(.797,.5),l(.879,.99),l(.599,.501),l(.048,.273),l(-.107,.217),l(-.414,.218),l(-.464,-.127),l(-1.074,-.008),l(-.432,-.099),l(-.854,.033),l(-.937,.221),l(-.539,.146),l(-.831,.278),l(-.353,.189),l(-.483,-.127),l(-.464,.045),l(-.47,.204),l(-.363,.333),l(-.312,.82),l(-.241,.216),l(-.347,.188),l(-.638,.248),l(-.896,.134),l(-.624,-.054),l(-.438,-.012),l(-.224,-.013),l(-1.192,.91),l(-.742,.433),l(-.744,.047),l(-.982,.005),l(-.592,-.125),l(-.668,-.382),l(-.718,-.154),l(-.316,.073),l(-.457,.231),l(-.539,.589),l(-.214,.401),l(.003,.343),l(.389,.569),l(.599,.411),l(.188,.228),l(-.123,.271),l(-.326,.259),l(-1.265,.292),l(-.67,.389),l(-1.111,1.046),l(-.265,.172),l(-1.941,.737),l(-.651,.061),l(-.987,-.08),l(-1.514,.065),l(-1.339,.007),l(-1.204,.349),l(-.816,.289),l(-.736,.274),l(-.303,.101),l(-1.44,.534),l(-.686,.289),l(-.481,.017),l(-.433,-.197),l(-.253,-.297),l(-.61,-.067),l(-.663,.061),l(-.929,-.123),l(-1.599,-.433),l(-1.006,-.365),l(-.815,-.551),l(-.521,-.168),l(-1.69,-.119),l(-1.164,-.022),l(-.937,-.023),l(-2.861,.059),l(-1.165,-.022),l(-.802,-.109),l(-1.241,-.207),l(-1.979,-.018),l(-.444,-.254),l(-.467,-.439),l(-1.571,-2.161),l(-.105,-.542),l(-.744,-.096),l(-.839,-.31),l(-1.645,-.806),l(-.632,-.268),l(-.998,-.224),l(-.668,-.083),l(-.995,-.038),l(-1.505,-.021),l(-1.062,-.181),l(-.724,-.312),l(-.233,-.229),l(-.105,-.43),l(.035,-.129),l(.369,-.347),l(.214,-.389),l(.237,-.75),l(.215,-.447),l(-.401,-.66),l(-1.07,-1.451),l(-.568,-.618),l(-.354,-.143),l(-.633,-.144),l(-.731,-.167),l(-.614,-.069),l(-.834,-.415),l(-1.301,-.745),l(-.371,-.433),l(-.24,-.563),l(-.131,-.405),l(-.062,-.145),l(.154,-.044),l(.799,-.425),l(.599,-.207),l(1.387,-.08),l(.603,-.148),l(.727,-.381),l(.017,-.012),l(.971,-.692),l(.787,-.398),l(1.143,-.341),l(1.512,-.476),l(.84,-.18),l(.953,.097),l(.932,.156),l(1.842,.122),l(.831,.083),l(.694,.755),l(.393,.406),l(.699,.113),l(1.458,-.008),l(.719,.083),l(.85,-.004),l(.875,.068),l(.312,.114),l(.576,.186),l(.562,-.018),l(.755,-.28),l(.31,-.162),l(.744,-.572),l(.163,-.526),l(-.116,-.204),l(-.396,-.304),l(-.409,-.86),l(.098,-.293),l(.905,-.839),l(1.269,-.96),l(.84,.201),l(1.028,.098),l(1.036,.185),l(1.748,.328),l(.702,.231),l(.989,.317),l(.767,.143),l(.145,.204),l(.004,.541),l(.182,.481),l(.408,.451),l(.421,.333),l(1.643,.531),l(.673,.113),l(2.48,-.538),l(.796,-.077),l(1.172,.037),l(1.423,.022),l(.769,.229),l(1.333,.75),l(.623,.331),l(1.132,.313),l(.812,.373),l(1.318,.254),l(.905,.241),l(.984,.082),l(.739,.039),l(1.602,-.11),l(1.018,-.063),l(.532,-.075),l(.867,-.106),l(1.147,-.136),l(.526,-.163),l(.604,-.264),l(.447,-.394),l(.755,-.498),l(1.165,-.487),l(.333,-.002),l(.609,-.047),l(.74,.156),l(.751,.506),l(.34,.129),l(.86,.169),l(1.228,-.297),l(.622,-.018),l(.431,.168),
-N(406.183,86.551),l(1.051,-.494),l(.485,-.089),l(.574,.087),l(.465,-.016),l(.209,-.147),l(.477,.098),l(.407,.042),l(.52,-.034),l(-.025,-.157),l(.307,.012),l(.307,0),l(.267,-.182),l(.313,.242),l(.173,-.121),l(.228,.061),l(.292,.375),l(.535,-.109),l(.754,.375),l(-.11,.423),l(-.172,.097),l(.001,.338),l(.672,-.024),l(.344,.177),l(.282,.365),l(.038,.468),l(-.422,.376),l(-.225,-.072),l(-.142,.08),l(-.245,.147),l(-.213,.322),l(.017,.327),l(.31,.204),l(-.136,.348),l(-.079,-.114),l(-.694,.174),l(-.127,-.228),l(-.371,-.204),l(-.341,-.192),l(-.529,-.048),l(.039,-.228),l(-.146,-.18),l(.119,-.373),l(-.245,.072),l(-.193,.313),l(-.446,.035),l(-.406,.075),l(-.285,-.122),l(.072,-.198),l(-.091,-.175),l(.159,-.241),l(-.375,-.168),l(-.576,-.048),l(-.259,.012),l(-.159,-.301),l(-.518,.012),l(-.194,-.133),l(-.202,-.458),l(-.153,-.17),l(-.41,.208),l(-.141,.071),l(-.266,-.127),l(-.311,-.335),l(-.208,-.447),
-N(438.22,91.952),l(.039,-.044),l(.065,-.105),l(.014,-.131),l(.092,-.066),l(.146,-.119),l(.026,-.04),l(.171,-.053),l(.093,-.026),l(.092,.053),l(.132,.053),l(.158,0),l(.065,-.026),l(.093,0),l(.065,.026),l(.065,.026),l(.093,-.026),l(.145,-.04),l(.132,0),l(.118,-.053),l(.079,-.053),l(.066,-.026),l(.105,-.026),l(.039,0),l(.053,-.079),l(.04,-.092),l(.079,-.079),l(.092,.026),l(.105,-.04),l(.145,-.066),l(.053,-.105),l(.053,-.079),l(.026,-.132),l(.026,-.092),l(.053,-.092),l(.118,-.013),l(.105,-.013),l(.132,-.079),l(.119,-.053),l(.118,-.092),l(.053,-.079),l(.132,-.066),l(.065,-.04),L(442,89.998),l(.145,.013),l(.105,.026),l(.066,-.04),l(.065,-.066),l(.071,.012),l(.285,.041),l(.03,.228),l(.43,-.048),l(.183,-.24),l(.193,.016),l(.062,-.112),l(.261,-.024),l(.194,.24),l(.073,.169),l(.331,-.025),l(.066,.18),l(-.026,.083),l(.003,.204),l(.389,-.083),l(.18,.12),l(.149,-.135),l(.104,-.177),l(.558,-.204),l(.168,.056),l(.483,-.046),l(.46,.254),l(.373,-.18),l(.073,-.137),l(.508,.041),l(.561,-.076),l(.129,.13),l(.703,.186),l(.104,.216),l(.424,.101),l(.831,.33),l(-1.047,1.471),l(-.629,.076),l(-.437,-.143),l(-.534,-.359),l(-1.062,.035),l(-.717,.047),l(-1.024,.759),L(444.857,93),l(-.59,-.072),l(-.499,.061),l(-.761,.134),l(-.255,.001),l(-.334,.568),l(-1.651,-.036),l(-.414,-.027),l(-.617,-.17),l(-.399,-.172),l(-.245,.146),l(-.761,-.547),l(-.155,-.26),l(.097,-.581),l(-.053,-.093),
-N(442.391,98.111),l(-.589,.203),l(-.433,.031),l(-.668,.047),l(-.58,-.098),l(-1.116,-.671),l(-1.412,-.612),l(-.215,-.197),l(-.364,-.333),l(-.304,-.59),l(.346,-.299),l(.154,-.294),l(-.204,-.188),l(.04,-.375),l(.409,-.062),l(.157,-.206),l(-.136,-.196),l(-.452,-.063),l(.223,-.197),l(.325,0),l(.164,.134),l(.701,-.054),l(.019,-.367),l(.636,-.291),l(.245,-.146),l(.399,.172),l(.617,.17),l(.414,.027),l(1.651,.036),l(.334,-.568),l(.255,-.001),l(.761,-.134),l(.499,-.061),l(.59,.072),l(.427,-.063),l(1.024,-.759),l(.717,-.047),l(1.062,-.035),l(.534,.359),l(.437,.143),l(.629,-.076),l(.166,-.015),l(.668,.301),l(.554,.2),l(.678,.387),l(-.45,.338),l(-1.125,.267),l(-.581,.408),l(-.968,1.451),l(-.63,.84),l(-.753,.567),l(-.361,.16),l(-.724,.047),l(-.264,.103),l(-.176,-.002),l(-.907,-.067),l(-.889,.077),l(-1.535,.529),
-N(459.717,92.836),l(.06,-.052),l(.126,-.114),l(.075,.063),l(.126,0),l(-.012,-.113),l(.088,-.101),l(.315,.114),l(.126,-.051),l(.265,.038),l(.202,0),l(.126,-.114),l(.062,-.038),l(.177,.025),l(.177,-.051),l(.139,-.025),l(.088,.025),l(.114,.051),l(.05,-.025),l(.126,-.025),l(.038,.013),l(.214,.088),l(.14,.126),l(.139,.05),l(.151,.013),l(.101,.063),l(.05,.063),l(.076,.076),l(.101,-.013),l(.126,.025),l(.177,-.038),l(.113,0),l(.025,.063),l(-.088,.101),l(-.038,.05),l(.101,-.038),l(.089,.025),l(0,.076),l(.062,.05),l(.076,-.101),l(.062,-.051),l(.277,-.012),l(.417,.075),l(.05,.189),l(.126,.189),l(.215,.025),l(.126,.025),l(.062,-.101),l(.14,.013),l(.062,.126),l(.076,.063),l(.113,.025),l(-.164,.151),l(.126,.063),l(-.051,.05),l(-.024,.114),l(0,.189),l(-.177,.139),l(.05,.139),l(.102,.139),l(.139,.025),l(.188,.101),l(.089,.101),l(.113,.088),l(.088,-.051),l(.102,-.05),l(.113,0),l(.038,.088),l(.025,.101),l(-.089,.075),l(.013,.189),l(-.113,.038),l(.062,.114),l(.127,-.038),l(.037,.051),l(-.037,.088),l(-.051,.151),l(.151,.038),l(.151,.063),l(.151,.126),l(.075,0),l(.177,.076),l(.101,.063),l(.051,.139),l(.013,.126),l(-.038,.101),l(.025,.113),l(-.101,.063),l(-.013,.038),l(.075,.05),l(.101,.051),l(.164,.126),l(.126,.013),l(-.075,.076),l(-.038,.025),l(-.227,0),l(-.139,-.013),l(-.038,.038),l(-.038,.038),l(-.176,-.025),l(.037,-.189),l(-.177,0),l(-.101,.025),l(-.013,.05),l(-.075,.076),l(-.076,.076),l(-.126,-.164),l(-.075,0),l(-.089,-.063),l(0,-.075),l(-.139,.012),l(-.075,.038),l(-.025,.076),l(-.063,-.051),l(-.101,-.038),l(.013,.063),l(0,.088),l(-.113,0),l(-.063,-.013),l(.013,-.214),l(-.013,-.088),l(-.113,-.025),l(-.126,.088),l(-.239,.025),l(-.202,.151),l(.063,.101),l(.088,.151),l(-.051,.101),l(.114,.113),l(.012,.088),l(-.037,.063),l(-.126,.114),l(.062,.088),l(.025,.088),l(-.075,.076),l(-.29,.063),l(-.14,.013),l(.013,.114),l(-.024,.126),l(-.089,.088),l(-.088,.063),l(-.089,.025),l(-.075,.013),l(-.051,.063),l(-.126,.063),l(-.025,.113),l(.063,.113),l(0,.088),l(-.088,.114),l(-.189,0),l(-.113,-.013),l(-.126,-.013),l(-.102,.025),l(-.055,.077),l(-.03,.004),l(-.062,-.237),l(-.218,-.106),l(.16,-.071),l(-.021,-.267),l(-.104,-.561),l(.323,-.978),l(.027,-.404),l(-.353,-.856),l(-.604,-.286),l(-1.037,-1.119),L(460.567,93),l(-.626,-.191),l(-.225,.028),
-N(445.722,97.573),l(.176,.002),l(.264,-.103),l(.724,-.047),l(.361,-.16),l(.753,-.567),l(.63,-.84),l(.968,-1.451),l(.581,-.408),l(1.125,-.267),l(.45,-.338),l(.136,-.085),l(.787,.121),l(.241,-.107),l(.958,.193),l(1.115,.066),l(.363,-.045),l(.025,.231),l(.327,-.004),l(.188,.227),l(.339,-.06),l(.243,-.119),l(.186,-.215),l(1.992,-.191),l(.278,-.178),l(.151,-.311),l(.634,-.08),l(.225,-.028),L(460.567,93),l(.767,1.17),l(1.037,1.119),l(.604,.286),l(.353,.856),l(-.027,.404),l(-.323,.978),l(.104,.561),l(.021,.267),l(-.16,.071),l(.218,.106),l(.062,.237),l(.03,-.004),l(.15,-.02),l(.119,.249),l(.398,.166),l(.609,.047),l(.033,-.189),l(.457,0),l(.665,-.261),l(.706,.131),l(.149,.079),l(.062,.259),l(-.293,.446),l(-.27,.316),l(-.436,.044),l(-.382,.043),l(-.382,.245),l(-.515,.617),l(-.252,.645),l(-.096,.787),l(-.044,.223),l(-.671,-.12),l(-1.346,-.336),l(-.514,-.226),l(-.295,-.042),l(-.671,-.369),l(-.562,-.04),l(-.618,.218),l(-1.904,.771),l(-.38,.059),l(-1.385,-.35),l(-.3,-.013),l(-.69,.261),l(-.34,.031),l(-1.151,-.395),l(-.506,-.002),l(-.771,.189),l(-.266,.023),l(-.048,-.189),l(.234,-.318),l(-.352,-.106),l(-.392,-.204),l(-.418,-.186),l(-.146,-.33),l(.32,-.201),l(.351,.012),l(-.114,-.13),l(-.625,-.248),l(-.253,.13),l(-.215,.283),l(-.147,.118),l(-.414,-.239),l(-.194,-.139),l(-.594,-.059),l(-.02,-.189),l(-.234,0),l(-.245,-.036),l(-.052,-.165),l(.178,-.094),l(.271,-.071),l(-.239,-.083),l(-.183,-.059),l(.124,-.146),l(.19,-.127),l(-.069,-.142),l(-.306,-.118),l(-.555,-.141),l(-.712,-.471),l(.058,-.088),l(-.104,-.119),l(.075,-.356),l(-.202,-.036),l(-.19,-.237),l(-.569,-.178),l(-.054,-.309),
-N(420.177,113.472),l(-.274,-.042),l(-.253,-.155),l(-.367,-.325),l(-.096,-.213),l(.202,-.738),l(.097,-.681),l(-.046,-.583),l(-.133,-.569),l(-.503,-.44),l(-.094,-.271),l(.181,-.157),l(.366,-.015),l(.801,-.001),l(.339,-.172),l(.861,-.543),l(.633,.625),l(.451,.754),l(-.014,.271),l(-.204,.285),l(-.145,.484),l(.149,.894),l(-.11,.525),l(-.377,.695),l(-.405,-.198),l(-.52,.03),l(-.143,.1),l(-.149,.27),l(-.248,.17),M(433.783,118.446),l(-.712,-.084),l(-.902,-.607),l(-.772,-.239),l(-1.904,-.817),l(-.833,-.126),l(-.232,-.127),l(-.173,-.283),l(.139,-.34),l(.328,-.34),l(.264,-.1),l(.629,.112),l(.569,-.341),l(.68,.424),l(.403,.141),l(.722,-.016),l(1.403,-.187),l(1.38,-.329),l(.148,.085),l(.043,.127),l(-.112,.127),l(-.536,.823),l(-.153,.497),l(.009,.382),l(.411,.509),l(-.179,.128),l(-.43,.567),l(-.188,.015),M(431.244,98.829),l(-.281,-.329),l(-.242,-.027),l(-.281,.196),l(-.156,-.125),l(-.47,-.071),l(-.114,.32),l(-.458,.054),l(-1.001,.364),l(.078,-.151),l(-.452,.133),l(-.063,.249),l(-.157,.044),l(-.01,.125),l(.303,.08),l(.021,.302),l(.193,.119),l(.253,.236),l(-.104,.213),l(-.449,.254),l(.016,.272),l(.143,.554),l(.783,.814),l(2.008,.889),l(.29,.357),l(.134,.558),l(.274,.557),l(.395,.585),l(.694,.57),l(.254,.274),l(.446,.195),l(.041,.21),l(.408,.167),l(1.17,.255),l(1.254,-.105),l(.388,.141),l(.024,.212),l(-.465,.247),l(-.258,.294),l(.262,.213),l(.954,.283),l(1.168,.411),l(.829,.366),l(1.589,.739),l(.058,.185),l(.719,.458),l(.31,.475),l(-.198,.435),l(-.152,.337),l(-.455,-.281),l(-.318,-.167),l(-.109,-.486),l(-.263,-.17),l(-.512,-.099),l(-.483,-.009),l(-.439,-.236),l(.086,-.217),l(-.353,-.065),l(-.301,.098),l(-.232,.262),l(-.259,.399),l(-.273,.208),l(.043,.271),l(-.197,.303),l(-.007,.298),l(.76,.342),l(.611,.271),l(-.093,.314),l(.03,.432),l(.133,.142),l(-.191,.238),l(-.659,-.024),l(-.41,.219),l(-.202,.228),l(.11,.595),l(-.536,.303),l(-.617,.866),l(-.595,.048),l(-.167,-.071),l(-.184,-.14),l(-.002,-.508),l(.364,-.141),l(.317,-.542),l(-.236,-.184),l(.361,-.249),l(.361,.074),l(.133,-.17),l(-.077,-.34),l(-.211,-.181),l(-.206,-.924),l(-.367,-.516),l(-.15,-.607),l(-.201,-.352),l(-.334,.058),l(-.187,.171),l(-.899,-.496),l(-.286,-.065),l(.208,-.291),l(-.092,-.398),l(-.461,-.34),l(-.909,.247),l(.034,-.109),l(.322,-.194),l(-.276,-.27),l(-.29,-.003),l(-.42,.19),l(-.242,-.512),l(-.198,-.207),l(-.124,-.228),l(-.663,-.241),l(-.505,-.027),l(-.654,-.127),l(-.745,-.355),l(-.548,-.441),l(-.959,-.612),l(-1.036,-.826),l(-.872,-.384),l(-.805,-.67),l(-.566,-.856),l(-.434,-1.043),l(-.347,-.443),l(-.505,-.457),l(-.483,-.243),l(-1.188,-.341),l(-.579,-.142),l(-.5,.044),l(-1.078,.647),l(-.46,.359),l(-.646,.173),l(-.303,.043),l(.146,-.469),l(-.062,-.281),l(-.849,.07),l(-.754,-.391),l(-.193,-.442),l(.315,-.371),l(.175,-.01),l(-.135,-.331),l(-.616,-.191),l(-.352,-.358),l(.437,-.186),l(.183,.111),l(.541,-.353),l(.199,-.272),l(-.43,-.192),l(-.025,-.292),l(-.532,-.344),l(.624,-.301),l(.599,.062),l(.627,-.204),l(.629,.168),l(.275,-.16),l(.349,-.432),l(-.103,-.212),l(.777,-.404),l(.016,.415),l(.534,.363),l(.311,.071),l(-.098,.182),l(.385,.312),l(.285,-.151),l(.018,-.535),l(.425,-.384),l(-.019,-.333),l(.371,-.081),l(.143,.354),l(.23,.142),l(.216,-.03),l(.071,-.122),l(.469,-.05),l(.244,.333),l(.228,-.415),l(-.244,-.131),l(.081,-.273),l(.283,-.091),l(.176,.162),l(.315,.051),l(.038,-.192),l(-.112,-.212),l(.126,-.309),l(.631,.171),l(.597,.034),l(.329,-.411),l(.366,-.096),l(.183,.083),l(.445,-.11),l(.301,.103),l(.856,-.227),l(.023,.363),l(.318,.096),l(.32,.391),l(1.311,.247),l(.894,.082),l(.478,.112),l(.116,.199),l(-.614,.303),l(.098,.151),l(.297,.002),l(.187,.185),l(-.367,.285),l(.336,.089),l(-.127,.361),l(.36,.11),l(.284,.198),l(-.056,.214),
-N(430.73,96.731),l(1.04,.065),l(.179,.107),l(.612,-.009),l(.287,.152),l(.646,-.5),l(.566,-.107),l(.85,.08),l(.298,-.196),l(.89,.116),l(-.082,-.393),l(.693,-.157),l(.304,.59),l(.364,.333),l(-.035,-.009),l(-.1,-.073),l(-.145,-.036),l(-.172,0),l(-.145,.009),l(-.055,.063),l(0,.072),l(.019,.09),l(.009,.082),l(-.063,.009),l(-.136,-.009),l(-.108,-.036),l(-.091,.063),l(-.045,.082),l(-.081,.063),l(-.082,.045),l(-.081,.009),l(-.163,.036),l(-.117,.036),l(-.108,.036),l(-.055,.045),l(-.153,-.009),l(-.127,.072),l(-.063,.054),l(-.018,.082),l(.036,.072),l(.081,.054),l(.063,.055),l(.045,.045),l(.019,.063),l(.018,.09),l(-.036,.108),l(-.018,.063),l(-.046,.1),l(-.108,0),l(-.081,-.009),l(-.091,.027),l(-.108,.009),l(-.117,.054),l(-.091,.018),l(-.081,.027),l(-.1,.045),l(-.055,.063),l(-.036,.027),l(.055,.018),l(.063,.009),l(.026,.027),l(.037,.072),l(-.046,.063),l(-.027,.009),l(-.081,.027),l(-.009,.045),l(.045,.081),l(0,.072),l(.045,.1),l(-.054,.072),l(-.063,-.018),l(-.1,.045),l(-.117,.018),l(-.127,-.036),l(-.063,-.027),l(-.1,-.063),l(-.099,0),l(-.063,-.027),l(-.118,-.045),l(-.018,.045),l(-.027,.045),l(-.1,.027),l(-.136,0),l(-.054,-.045),l(-.072,-.063),l(-.127,-.018),l(-.019,-.09),l(-.026,-.018),l(-.063,-.054),l(-.055,-.027),l(-.018,-.054),l(-.01,-.054),l(-.036,-.009),l(-.063,.018),l(-.036,.054),l(-.009,.027),l(-.054,.063),l(-.019,.018),l(-.018,.081),l(-.063,.045),l(-.046,.018),l(-.062,.054),l(-.036,.009),l(-.254,0),l(-.108,-.027),l(-.108,.027),l(-.145,.009),l(-.1,-.009),l(-.1,-.036),l(-.045,-.019),l(-.055,0),l(0,.037),l(0,.036),l(-.045,.027),l(-.045,.018),l(-.136,-.009),l(-.027,-.036),l(-.108,.018),l(-.019,.018),l(-.136,.018),l(-.063,.018),l(-.126,.018),l(-.272,-.063),l(.428,-.077),l(.113,-.16),l(.056,-.214),l(-.284,-.198),l(-.36,-.11),l(.127,-.361),l(-.336,-.089),l(.367,-.285),l(-.187,-.185),l(-.297,-.002),l(-.098,-.151),l(.614,-.303),l(-.116,-.199),
-N(439.573,104.709),l(-1.051,-.672),l(-.185,-.222),l(-.783,-.149),l(-.203,-.159),l(-.403,-.115),l(-.683,.177),l(-.326,-.486),l(-1.112,-.627),l(-.584,-.678),l(.277,.007),l(.608,.016),l(-.583,-.221),l(-.659,-.469),l(-.183,-.407),l(.086,-.452),l(-.289,-.336),l(-.646,-.418),l(-.378,-.126),l(-.258,.579),l(-.142,.116),l(.03,.15),l(-.284,.106),l(-.154,.248),l(-.213,.053),l(-.496,-.647),l(-.063,-.286),l(-.259,-.612),l(.065,-.012),l(.272,.063),l(.126,-.018),l(.063,-.018),l(.136,-.018),l(.019,-.018),l(.108,-.018),l(.027,.036),l(.136,.009),l(.045,-.018),l(.045,-.027),l(0,-.036),l(0,-.037),l(.055,0),l(.045,.019),l(.1,.036),l(.1,.009),l(.145,-.009),l(.108,-.027),l(.108,.027),l(.254,0),l(.036,-.009),l(.062,-.054),l(.046,-.018),l(.063,-.045),l(.018,-.081),l(.019,-.018),l(.054,-.063),l(.009,-.027),l(.036,-.054),l(.063,-.018),l(.036,.009),l(.01,.054),l(.018,.054),l(.055,.027),l(.063,.054),l(.026,.018),l(.019,.09),l(.127,.018),l(.072,.063),l(.054,.045),l(.136,0),l(.1,-.027),l(.027,-.045),l(.018,-.045),l(.118,.045),l(.063,.027),l(.099,0),l(.1,.063),l(.063,.027),l(.127,.036),l(.117,-.018),l(.1,-.045),l(.063,.018),l(.054,-.072),l(-.045,-.1),l(0,-.072),l(-.045,-.081),l(.009,-.045),l(.081,-.027),l(.027,-.009),l(.046,-.063),l(-.037,-.072),l(-.026,-.027),l(-.063,-.009),l(-.055,-.018),l(.036,-.027),l(.055,-.063),l(.1,-.045),l(.081,-.027),l(.091,-.018),l(.117,-.054),l(.108,-.009),l(.091,-.027),l(.081,.009),l(.108,0),l(.046,-.1),l(.018,-.063),l(.036,-.108),l(-.018,-.09),l(-.019,-.063),l(-.045,-.045),l(-.063,-.055),l(-.081,-.054),l(-.036,-.072),l(.018,-.082),l(.063,-.054),l(.127,-.072),l(.153,.009),l(.055,-.045),l(.108,-.036),l(.117,-.036),l(.163,-.036),l(.081,-.009),l(.082,-.045),l(.081,-.063),l(.045,-.082),l(.091,-.063),l(.108,.036),l(.136,.009),l(.063,-.009),l(-.009,-.082),l(-.019,-.09),l(0,-.072),l(.055,-.063),l(.145,-.009),l(.172,0),l(.145,.036),l(.1,.073),l(.035,.009),l(.215,.197),l(1.412,.612),l(1.116,.671),l(.58,.098),l(.668,-.047),l(.433,-.031),l(.589,-.203),l(.201,.142),l(.056,.089),l(.022,.112),l(-.022,.078),l(.045,.044),l(.011,.067),l(-.078,.056),l(-.011,.146),l(.078,.067),l(.145,-.034),l(.101,.034),l(.045,.089),l(-.078,.011),l(-.056,-.022),l(-.022,.078),l(.033,.1),l(-.045,.034),l(-.044,.022),l(.066,.111),l(.168,-.022),l(.033,.078),l(.123,.1),l(.122,0),l(.101,0),l(.09,.078),l(.122,.011),l(.134,0),l(.012,.078),l(-.033,.056),l(-.135,-.011),l(-.089,-.034),l(-.067,.022),l(-.078,-.011),l(-.066,-.045),l(-.056,-.011),l(-.045,.011),l(.033,.067),l(-.101,.089),l(-.078,0),l(0,.156),l(.045,.067),l(-.033,.078),l(.022,.078),l(.011,.078),l(-.089,.033),l(-.09,-.033),l(-.056,.067),l(.078,.089),l(-.078,.011),l(-.189,.022),l(-.201,-.022),l(-.145,-.123),l(.056,-.101),l(-.045,-.089),l(-.123,-.011),l(-.022,-.112),l(-.145,-.056),l(-.146,-.045),l(-.101,.089),l(-.1,-.011),l(-.156,-.078),l(-.067,-.022),l(-.146,0),l(-.156,-.045),l(-.111,.067),l(-.134,.045),l(-.134,-.045),l(-.111,-.067),l(-.112,0),l(-.122,.089),l(-.168,.078),l(-.156,-.067),l(-.268,-.089),l(-.179,.011),l(-.156,.011),l(-.189,-.056),l(-.168,-.011),l(-.156,-.089),l(-.089,.078),l(-.111,.022),l(-.057,-.056),l(-.234,-.078),l(-.156,-.056),l(-.134,-.045),l(-.089,-.011),l(-.134,.123),l(-.112,-.011),l(-.223,-.022),l(-.168,-.033),l(-.212,.022),l(-.101,.111),l(-.145,.145),l(-.123,.201),l(-.201,-.022),l(-.256,-.134),l(-.156,-.19),l(-.101,-.111),l(-.312,-.034),l(-.123,.044),l(-.089,.179),l(-.045,.167),l(.045,.134),l(0,.078),l(.033,.212),l(-.123,.067),l(.022,.089),l(.134,.078),l(.09,.089),l(.122,.034),l(.101,.033),l(.179,.179),l(.146,.234),l(.089,.134),l(.022,.123),l(.156,.111),l(-.078,.056),l(-.012,.1),l(.022,.146),l(.168,-.011),l(.089,.111),l(.056,.123),l(.112,.111),l(.167,.045),l(.167,.033),l(.369,.357),l(.021,.167),l(.078,.044),l(.213,.078),l(.379,.357),l(.224,.123),l(.223,.067),l(.101,.056),l(0,.112),l(.078,.279),l(.201,.078),l(.189,.167),l(.146,.112),l(.245,.123),l(.067,.212),l(-.284,.083),M(439.792,104.833),l(.132,-.118),l(.134,.011),l(.123,.034),l(.045,.078),l(.066,.089),l(.146,.089),l(.179,.078),l(.212,.011),l(.312,.257),l(.045,.067),l(.134,-.033),l(.123,.022),l(.089,.034),l(.062,.063),l(.005,.004),l(-.022,.089),l(.033,.078),l(.082,.072),l(.029,.092),l(-.002,.1),l(-.589,-.367),l(-.549,-.371),l(-.789,-.378),
-N(451.009,101.725),l(-.328,.346),l(-.383,.374),l(-.18,.302),l(.056,.271),l(1.326,1.122),l(.028,.2),l(-.302,.302),l(-.762,.333),l(-.246,.301),l(-.008,.514),l(-.013,.208),l(-.058,-.017),l(-.072,.029),l(-.16,.022),l(-.145,.021),l(-.116,.022),l(-.058,.015),l(-.102,-.051),l(-.087,.043),l(-.088,.021),l(-.102,-.043),l(-.064,-.021),l(-.131,.116),l(-.087,.08),l(-.152,-.015),l(-.196,-.007),l(-.064,.007),l(-.175,-.043),l(-.152,.087),l(-.151,.102),l(-.109,.058),l(.059,.072),l(-.029,.058),l(-.116,0),l(-.094,-.109),l(-.131,-.058),l(-.087,-.073),l(-.08,.065),l(-.116,.058),l(-.246,.058),l(-.225,.058),l(-.088,.058),l(-.058,.167),l(.029,.13),l(-.029,.072),l(-.072,.087),l(-.188,0),l(-.14,-.049),l(-.018,-.109),l(-.733,-.866),l(-.382,-.369),l(-.058,-.004),l(.109,-.286),l(0,-.067),l(-.078,-.067),l(-.101,0),l(-.056,-.056),l(.022,-.089),l(.111,-.033),l(.146,.011),l(.167,.033),l(.057,-.033),l(.021,-.067),l(.09,-.044),l(.134,-.022),l(.089,-.011),l(-.011,-.089),l(-.101,-.101),l(-.167,-.067),l(-.134,-.045),l(-.057,-.044),l(-.111,.022),l(-.078,-.045),l(-.033,-.067),l(-.123,-.101),l(-.078,-.1),l(-.066,-.022),l(-.067,.044),l(-.078,-.011),l(-.101,-.056),l(-.279,-.078),l(-.078,-.022),l(-.056,-.033),l(-.167,-.134),l(-.101,-.146),l(-.111,-.111),l(-.168,-.078),l(-.156,-.101),l(-.223,-.056),l(0,-.101),l(.179,-.101),l(.089,-.111),l(.078,-.011),l(.067,.034),l(.078,.044),l(.1,.022),l(.045,-.022),l(.012,-.134),l(.011,-.19),l(-.134,-.145),l(-.179,-.19),l(-.212,-.134),l(-.101,-.145),l(.101,.022),l(.101,.011),l(.145,.056),l(.224,.044),l(.134,-.078),l(.089,-.056),l(.067,-.078),l(-.089,-.044),l(-.135,-.022),l(-.089,-.089),l(-.123,-.078),l(-.156,-.089),l(-.033,-.101),l(-.045,-.1),l(-.212,.011),l(-.167,-.056),l(-.078,-.1),l(-.022,-.134),l(.078,-.067),l(0,-.089),l(-.033,-.1),l(.056,-.056),l(.066,-.078),l(.156,-.156),l(.156,-.223),l(.034,-.167),l(.056,-.1),l(-.022,-.067),l(-.123,-.022),l(-.179,-.011),l(-.156,0),l(-.212,.112),l(-.078,-.089),l(.056,-.067),l(.09,.033),l(.089,-.033),l(-.011,-.078),l(-.022,-.078),l(.033,-.078),l(-.045,-.067),l(0,-.156),l(.078,0),l(.101,-.089),l(-.033,-.067),l(.045,-.011),l(.056,.011),l(.066,.045),l(.078,.011),l(.067,-.022),l(.089,.034),l(.135,.011),l(.033,-.056),l(-.012,-.078),l(-.134,0),l(-.122,-.011),l(-.09,-.078),l(-.101,0),l(-.122,0),l(-.123,-.1),l(-.033,-.078),l(-.168,.022),l(-.066,-.111),l(.044,-.022),l(.045,-.034),l(-.033,-.1),l(.022,-.078),l(.056,.022),l(.078,-.011),l(-.045,-.089),l(-.101,-.034),l(-.145,.034),l(-.078,-.067),l(.011,-.146),l(.078,-.056),l(-.011,-.067),l(-.045,-.044),l(.022,-.078),l(-.022,-.112),l(-.056,-.089),l(-.201,-.142),l(1.535,-.529),l(.889,-.077),l(.907,.067),l(.054,.309),l(.569,.178),l(.19,.237),l(.202,.036),l(-.075,.356),l(.104,.119),l(-.058,.088),l(.712,.471),l(.555,.141),l(.306,.118),l(.069,.142),l(-.19,.127),l(-.124,.146),l(.183,.059),l(.239,.083),l(-.271,.071),l(-.178,.094),l(.052,.165),l(.245,.036),l(.234,0),l(.02,.189),l(.594,.059),l(.194,.139),l(.414,.239),l(.147,-.118),l(.215,-.283),l(.253,-.13),l(.625,.248),l(.114,.13),l(-.351,-.012),l(-.32,.201),l(.146,.33),l(.418,.186),
-N(551.198,117.997),l(-.351,-.48),l(-.236,-.126),l(-1.217,-.05),l(-.646,-.011),l(-.096,-.016),l(.091,-.726),l(-.062,-.503),l(.157,-.251),l(.062,-.22),l(-.503,-.094),l(-.534,-.283),l(-.566,-.189),l(-.471,.063),l(-.378,-.251),l(-1.132,-.597),l(-.565,-.22),l(-.943,-.597),l(-.314,.063),l(-1.006,-.503),l(-.377,-.44),l(-1.194,-.597),l(-1.384,-.975),l(0,-.283),l(-.188,-.44),l(-.283,-.188),l(-.408,-.597),l(-.126,-.566),l(-.22,-.377),l(-.881,-.251),l(-.188,.157),l(-.439,.063),l(-.535,-.126),l(-.439,.032),l(-.503,.094),l(-.314,-.157),l(-.691,-.314),l(.094,-.22),l(.157,-.188),l(-.188,-.22),l(.031,-.188),l(.188,-.157),l(-.439,-.283),l(0,-.22),l(-.032,-.22),l(-.251,-.22),l(-.534,-.094),l(-.692,-.095),l(-.22,-.314),l(-.346,-.032),l(-.629,-.377),l(-.472,-.095),l(-.188,.063),l(-.565,.157),l(.251,.251),l(.188,.377),l(-.597,-.283),l(-.283,0),l(-.126,.126),l(-.22,.346),l(-.283,.126),l(-.629,0),l(-.503,.251),l(-.503,.409),l(-.062,.628),l(.314,.409),l(-.126,.314),l(-1.383,.032),l(-1.03,-.063),l(.056,-8.174),l(5.658,-1.289),l(5.722,2.986),l(2.012,1.666),l(2.578,-.346),l(2.767,.188),l(1.1,-.409),l(.724,.723),l(.597,.22),l(.66,1.006),l(.66,-.314),l(-.031,1.038),l(-.188,.409),l(.031,.754),l(1.006,0),l(.221,.817),l(.346,1.069),l(.503,.063),l(.691,-.032),l(1.006,-.094),l(.346,0),l(.44,.314),l(.062,.283),l(-.062,.283),l(.44,.346),l(.66,0),l(.125,-.188),l(-.157,-.409),l(.504,-.44),l(.439,-.188),l(.221,-.472),l(.282,-.188),l(.943,-.377),l(.755,-.189),l(.534,-.471),l(.346,-.283),l(.22,-.063),l(.283,.126),l(.377,-.377),l(.322,-.031),l(.349,-.126),l(.441,.246),l(-.368,.172),l(-.368,.171),l(-.221,.049),l(-.073,.196),l(-.295,.049),l(-.294,.172),l(-.196,.147),l(-.441,.295),l(-.172,.098),l(-.024,.123),l(.294,.049),l(.295,.074),l(.146,.123),l(.418,-.147),l(.098,.221),l(.172,.221),l(.368,.27),l(.589,0),l(.393,0),l(.049,-.393),l(.221,.049),l(.196,-.196),l(.024,-.245),l(.196,.098),l(.196,.172),l(.172,.294),l(.049,.147),l(.393,.024),l(.147,-.024),l(.073,.246),l(.025,.098),l(.343,-.025),l(.319,.147),l(.245,.196),l(.516,.074),l(.466,.024),l(.172,.123),l(-.49,.221),l(-.197,.147),l(-.221,.147),l(-.49,-.024),l(-.245,-.049),l(.049,.171),l(0,.147),l(-.319,0),l(-.172,.049),l(-.343,.196),l(-.221,.196),l(-.271,.049),l(-.221,.196),l(-.245,-.147),l(-.319,-.098),l(-.294,-.098),l(-.221,.025),l(-.246,.073),l(-.318,-.073),l(-.042,.098),l(-.345,-.005),l(-.409,.031),l(-.188,-.283),l(-.251,-.063),l(-.126,-.188),l(.251,-.126),l(.409,-.346),l(.188,-.22),l(-.252,-.251),l(-.439,-.377),l(-.221,.251),l(-.471,.346),l(-.692,.188),l(-.22,.157),l(-.252,-.22),l(-.22,-.157),l(-.346,0),l(.031,.22),l(-.283,.314),l(.189,.314),l(-.032,.346),l(-.062,.126),l(-.472,-.095),l(-.565,.095),l(-.503,.094),l(.251,.125),l(.534,-.031),l(.126,.094),l(-.251,.063),l(-.188,.063),l(-.032,.346),l(-.188,0),l(-.251,.157),l(-.063,.409),l(-.282,.188),l(-1.069,-.094),l(-.629,-.126),l(-.472,.283),l(-.125,.471),l(.251,.283),l(.346,.188),l(.157,.157),l(.44,.032),l(.346,0),l(.126,.22),l(-.126,.22),l(-.031,.472),l(.126,.409),l(.471,.314),l(.126,.283),l(-.157,.22),l(-.503,.346),l(-.283,.503),l(-.377,.377),l(.063,.377),l(-.375,.843),
-N(439.792,104.833),l(-.113,-.054),l(-.105,-.07),l(.284,-.083),l(-.067,-.212),l(-.245,-.123),l(-.146,-.112),l(-.189,-.167),l(-.201,-.078),l(-.078,-.279),l(0,-.112),l(-.101,-.056),l(-.223,-.067),l(-.224,-.123),l(-.379,-.357),l(-.213,-.078),l(-.078,-.044),l(-.021,-.167),l(-.369,-.357),l(-.167,-.033),l(-.167,-.045),l(-.112,-.111),l(-.056,-.123),l(-.089,-.111),l(-.168,.011),l(-.022,-.146),l(.012,-.1),l(.078,-.056),l(-.156,-.111),l(-.022,-.123),l(-.089,-.134),l(-.146,-.234),l(-.179,-.179),l(-.101,-.033),l(-.122,-.034),l(-.09,-.089),l(-.134,-.078),l(-.022,-.089),l(.123,-.067),l(-.033,-.212),l(0,-.078),l(-.045,-.134),l(.045,-.167),l(.089,-.179),l(.123,-.044),l(.312,.034),l(.101,.111),l(.156,.19),l(.256,.134),l(.201,.022),l(.123,-.201),l(.145,-.145),l(.101,-.111),l(.212,-.022),l(.168,.033),l(.223,.022),l(.112,.011),l(.134,-.123),l(.089,.011),l(.134,.045),l(.156,.056),l(.234,.078),l(.057,.056),l(.111,-.022),l(.089,-.078),l(.156,.089),l(.168,.011),l(.189,.056),l(.156,-.011),l(.179,-.011),l(.268,.089),l(.156,.067),l(.168,-.078),l(.122,-.089),l(.112,0),l(.111,.067),l(.134,.045),l(.134,-.045),l(.111,-.067),l(.156,.045),l(.146,0),l(.067,.022),l(.156,.078),l(.1,.011),l(.101,-.089),l(.146,.045),l(.145,.056),l(.022,.112),l(.123,.011),l(.045,.089),l(-.056,.101),l(.145,.123),l(.201,.022),l(.189,-.022),l(.078,-.011),l(.212,-.112),l(.156,0),l(.179,.011),l(.123,.022),l(.022,.067),l(-.056,.1),l(-.034,.167),l(-.156,.223),l(-.156,.156),l(-.066,.078),l(-.056,.056),l(.033,.1),l(0,.089),l(-.078,.067),l(.022,.134),l(.078,.1),l(.167,.056),l(.212,-.011),l(.045,.1),l(.033,.101),l(.156,.089),l(.123,.078),l(.089,.089),l(.135,.022),l(.089,.044),l(-.067,.078),l(-.089,.056),l(-.134,.078),l(-.224,-.044),l(-.145,-.056),l(-.101,-.011),l(-.101,-.022),l(.101,.145),l(.212,.134),l(.179,.19),l(.134,.145),l(-.011,.19),l(-.012,.134),l(-.045,.022),l(-.1,-.022),l(-.078,-.044),l(-.067,-.034),l(-.078,.011),l(-.089,.111),l(-.179,.101),l(-.056,-.033),l(-.156,.056),l(-.112,-.022),l(-.066,-.044),l(-.112,.033),l(-.078,.056),l(.012,.078),l(.089,.1),l(.123,.167),l(.056,.101),l(-.056,.101),l(-.111,0),l(-.09,-.056),l(-.056,-.089),l(-.056,-.044),l(-.123,-.011),l(-.122,.056),l(-.168,.078),l(-.045,.101),l(-.044,.089),l(-.112,.101),l(.034,.089),l(.011,.1),L(442,104.458),l(-.134,.011),l(-.111,.022),l(-.101,.089),l(-.012,.134),l(.012,.112),l(.011,.145),l(.012,.044),l(.066,.112),l(.078,.089),l(.045,.101),l(-.09,.089),l(-.183,.108),l(-.062,-.063),l(-.089,-.034),l(-.123,-.022),l(-.134,.033),l(-.045,-.067),l(-.312,-.257),l(-.212,-.011),l(-.179,-.078),l(-.146,-.089),l(-.066,-.089),l(-.045,-.078),l(-.123,-.034),l(-.134,-.011),l(-.132,.118),
-N(450.198,105.998),l(.013,-.208),l(.008,-.514),l(.246,-.301),l(.762,-.333),l(.302,-.302),l(-.028,-.2),l(-1.326,-1.122),l(-.056,-.271),l(.18,-.302),l(.383,-.374),l(.328,-.346),l(.392,.204),l(.352,.106),l(-.234,.318),l(.048,.189),l(.266,-.023),l(.771,-.189),l(.506,.002),l(1.151,.395),l(.34,-.031),l(.69,-.261),l(.3,.013),l(1.385,.35),l(.38,-.059),l(1.904,-.771),l(.618,-.218),l(.562,.04),l(.671,.369),l(.295,.042),l(.514,.226),l(1.346,.336),l(.671,.12),l(-.066,.335),l(-.077,.258),l(-.261,.086),l(-.313,-.028),l(-.339,.129),l(-.327,.73),l(-.039,.586),l(-.075,.143),l(-.404,.115),l(-.338,.372),l(-.017,.257),l(.252,-.036),l(.255,.224),l(.033,.154),l(.391,.375),l(.01,.223),l(-1.333,-.005),l(-.527,-.111),l(-.497,.045),l(-.629,.374),l(-.498,.445),l(-.363,-.026),l(-.344,.216),l(.097,.327),l(-.086,.257),l(-1.117,.277),l(-.388,.031),l(-.619,-.21),l(-1.473,-.505),l(-.584,.06),l(-.799,.261),l(-1.855,.195),l(-.09,.029),l(-.047,-.199),l(.104,-.3),l(.006,-.499),l(-.225,-.469),l(-.358,-.383),l(-.666,-.296),l(-.134,-.213),l(.007,-.106),
-N(381.009,107),l(-.121,-.278),l(.138,-.4),l(.343,-.5),l(-.358,-.471),l(-.304,-.428),l(-.514,-.07),l(-.164,-.1),l(-.053,-.329),l(.163,-.243),l(.409,-.272),l(.365,-.101),l(.563,-.03),l(.634,-.03),l(.133,-.172),l(.068,-.415),l(.535,-.273),l(.763,.042),l(1.078,.37),l(.763,.07),l(.756,-.087),l(.577,-.173),l(.508,-.144),l(.354,-.001),l(.629,.285),l(.694,.156),l(.939,.084),l(1.538,.04),l(.583,.027),l(.957,.141),l(.491,-.158),l(.419,-.229),l(.531,.027),l(.891,.47),l(.67,-.016),l(.335,.062),l(.472,.243),l(.469,-.03),l(.058,.122),l(-.205,.243),l(.094,.106),l(.15,.03),l(.112,-.106),l(1.088,.334),l(.15,-.061),l(.507,.395),l(.056,-.076),l(.262,.03),l(.131,-.076),l(.431,.152),l(.028,.038),l(.084,.114),l(.767,-.03),l(.037,.122),l(.337,-.061),l(.542,.015),l(-.017,-.319),l(.355,0),l(1.252,.304),l(.091,.213),l(.035,.289),l(.187,.076),l(.374,-.076),l(.206,-.03),l(.335,.091),l(.036,.152),l(.261,.015),l(.395,-.167),l(.427,.197),l(.485,.015),l(.039,-.136),l(.75,-.137),l(.334,.091),l(-.001,.088),l(-.001,.463),l(.156,.1),l(-.062,.485),l(-1.112,.528),l(-.95,.385),l(-.267,.328),l(-1.046,.198),l(-.664,.116),l(-.96,.301),l(-.323,.326),l(-.053,.2),l(.261,.128),l(-.088,.157),l(-.628,.143),l(-.594,.783),l(-.886,.787),l(-.096,.192),l(-.18,.361),l(-.245,.45),l(.353,.827),l(.072,.111),l(.084,.13),l(.648,.295),l(.103,.185),l(-.621,.327),l(-.215,.105),l(-.515,.252),l(-.286,.479),l(-.224,.085),l(-.461,.926),l(.155,.322),l(-.257,.099),l(-.992,.049),l(-.581,.242),l(-.425,.327),l(-.274,.757),l(-.663,.496),l(-.258,-.213),l(-.599,.028),l(-.305,.27),l(-.342,0),l(-.121,-.113),l(-3.282,.042),l(-.69,.524),l(-1.021,.17),l(-.35,.382),l(-.028,.283),l(-.083,.085),l(-.073,-.212),l(-.068,-.014),l(.005,.241),l(-.389,.127),l(-.421,-.142),l(-.788,-.467),l(-.224,-.382),l(.036,-.262),l(-.345,-.113),l(-.125,-.213),l(.175,-.163),l(-.468,-.51),l(-.702,-.284),L(385,117.498),l(-.484,-.135),l(-.586,.039),l(.008,-.018),l(.304,-.951),l(.242,-.37),l(.884,-.643),l(-.408,-.31),l(-.812,-.123),l(.17,-.455),l(.506,-.655),l(.347,-.371),l(-.163,-.198),l(-.455,-.551),l(-.488,-.494),l(.288,-.129),l(.482,-.045),l(.458,-.229),l(.043,-.199),l(-.057,-.938),l(.132,-.983),l(-.072,-.456),l(.051,-.442),l(.084,-.072),l(1.234,-.506),l(.288,-.216),l(-.062,-.242),l(-.842,-.495),l(-.15,-.242),l(-.272,-.227),l(-.335,-.055),l(-.531,.26),L(382.981,107),l(-.531,-.439),l(-.55,.188),L(381.009,107),
-N(489.685,103.693),l(.112,-.309),l(.26,-.166),l(.284,.047),l(.07,.047),l(.402,.023),l(.449,.023),l(.283,.095),l(.284,.142),l(.188,.094),l(.189,.047),l(.331,0),l(.213,0),l(.212,.166),l(.261,.095),l(.307,.071),l(.355,.047),l(.307,0),l(.426,-.095),l(.544,0),l(.401,.166),l(.189,0),l(.283,-.047),l(.354,.166),l(.095,.142),l(.284,.213),l(.52,.118),l(.354,.071),l(.236,.118),l(.308,.119),l(-.142,.118),l(-.048,.118),l(.261,.118),l(.212,.071),l(.261,-.118),l(.283,0),l(.166,-.166),l(.094,-.095),l(.213,-.071),l(.354,0),l(.261,.071),l(.188,.142),l(.142,-.166),l(.095,-.071),l(.118,0),l(.236,.118),l(.143,.094),l(.212,0),l(.189,.118),l(.213,.166),l(.378,0),l(.354,.024),l(.118,.142),l(-.118,.189),l(-.118,.307),l(.354,.284),l(.284,.166),l(.26,.094),l(.284,.047),l(.236,-.023),l(.236,.071),l(.126,.189),l(-.268,.189),l(-.143,.142),l(-.095,.071),l(.143,.26),l(.213,.307),l(.614,.166),l(.118,.213),l(-.095,.331),l(-.236,.095),l(-.236,.047),l(-.26,-.189),l(-.143,-.071),l(-.188,-.023),l(-.284,.047),l(-.638,-.189),l(-.189,-.213),l(-.331,-.189),l(-.473,-.024),l(-.236,0),l(-.418,.308),l(-.291,.094),l(-.378,.047),l(-.591,.095),l(-.592,-.047),l(-.401,.118),l(-.426,.023),l(-.308,.095),l(-.307,-.024),l(-.377,.108),l(-.031,-.028),l(-1.326,-1.018),l(-.41,-.041),l(-.761,.36),l(-.226,.072),l(-.491,-.068),l(-1.212,-.082),l(.083,-.065),l(.322,-.585),l(.032,-.143),l(-.064,-.728),l(-.331,-1.084),l(-.206,-.399),l(-.639,-.513),l(-.341,-.128),l(-.916,-.155),l(-.679,-.271),l(-.341,-.243),
-N(443.617,107.095),l(-.065,-.035),l(-.435,-.156),l(-.017,-.15),l(-.501,-.485),l(-.848,-.3),l(-.033,-.021),l(.002,-.1),l(-.029,-.092),l(-.082,-.072),l(-.033,-.078),l(.022,-.089),l(-.005,-.004),l(.183,-.108),l(.09,-.089),l(-.045,-.101),l(-.078,-.089),l(-.066,-.112),l(-.012,-.044),l(-.011,-.145),l(-.012,-.112),l(.012,-.134),l(.101,-.089),l(.111,-.022),l(.134,-.011),l(.056,-.056),l(-.011,-.1),l(-.034,-.089),l(.112,-.101),l(.044,-.089),l(.045,-.101),l(.168,-.078),l(.122,-.056),l(.123,.011),l(.056,.044),l(.056,.089),l(.09,.056),l(.111,0),l(.056,-.101),l(-.056,-.101),l(-.123,-.167),l(-.089,-.1),l(-.012,-.078),l(.078,-.056),l(.112,-.033),l(.066,.044),l(.112,.022),l(.156,-.056),l(.056,.033),l(0,.101),l(.223,.056),l(.156,.101),l(.168,.078),l(.111,.111),l(.101,.146),l(.167,.134),l(.056,.033),l(.078,.022),l(.279,.078),l(.101,.056),l(.078,.011),l(.067,-.044),l(.066,.022),l(.078,.1),l(.123,.101),l(.033,.067),l(.078,.045),l(.111,-.022),l(.057,.044),l(.134,.045),l(.167,.067),l(.101,.101),l(.011,.089),l(-.089,.011),l(-.134,.022),l(-.09,.044),l(-.021,.067),l(-.057,.033),l(-.167,-.033),l(-.146,-.011),l(-.111,.033),l(-.022,.089),l(.056,.056),l(.101,0),l(.078,.067),l(0,.067),l(-.109,.286),l(-.361,-.022),l(-.727,-.11),l(-.273,.273),l(-.279,.515),l(.133,.427),l(-.002,.342),
-N(558.52,110.652),l(.042,-.098),l(.318,.073),l(.246,-.073),l(.221,-.025),l(.294,.098),l(.319,.098),l(.245,.147),l(.221,-.196),l(.271,-.049),l(.221,-.196),l(.343,-.196),l(.172,-.049),l(.319,0),l(0,-.147),l(-.049,-.171),l(.245,.049),l(.49,.024),l(.221,-.147),l(.197,-.147),l(.49,-.221),l(-.172,-.123),l(-.466,-.024),l(-.516,-.074),l(-.245,-.196),l(-.319,-.147),l(-.343,.025),l(-.025,-.098),l(-.073,-.246),l(-.147,.024),l(-.393,-.024),l(-.049,-.147),l(-.172,-.294),l(-.196,-.172),l(-.196,-.098),l(-.024,.245),l(-.196,.196),l(-.221,-.049),l(-.049,.393),l(-.393,0),l(-.589,0),l(-.368,-.27),l(-.172,-.221),l(-.098,-.221),l(-.418,.147),l(-.146,-.123),l(-.295,-.074),l(-.294,-.049),l(.024,-.123),l(.172,-.098),l(.441,-.295),l(.196,-.147),l(.294,-.172),l(.295,-.049),l(.073,-.196),l(.221,-.049),l(.368,-.171),l(.368,-.172),l(-.441,-.246),l(-.349,.126),l(-.044,-.273),l(.393,-.442),l(.318,-.368),l(.736,-.123),l(.663,-.098),l(.883,.147),l(.883,.245),l(.688,.196),l(.81,.123),l(.344,.123),l(-.024,-.442),l(.245,-.736),l(.466,-.368),l(.688,-.123),l(.589,.074),l(.761,.27),l(.735,.246),l(.908,.196),l(.54,.098),l(.441,-.27),l(.858,-.024),l(.761,0),l(.785,-.147),l(.712,.221),l(.662,.098),l(1.35,.024),l(.662,-.074),l(.981,.246),l(.564,-.049),l(.147,.344),l(.27,.147),l(.196,.27),l(.663,0),l(.466,.098),l(.41,.375),l(.031,.194),l(-.051,.157),l(-.325,.187),l(-.97,.219),l(-1.338,.349),l(-.445,.145),l(-.405,.301),l(-.638,.701),l(-.646,.345),l(-.478,.102),l(-.459,.017),l(-1.248,-.235),l(-.238,.03),l(-.467,.472),l(-.463,.784),l(-.268,.243),l(-.885,.132),l(-.507,.145),l(-.344,-.055),l(-.183,-.567),l(-.06,-.071),l(-.359,.03),l(-1.737,.734),l(-1.422,.704),l(-.274,.186),l(-.129,.213),l(-.139,.739),l(-.196,-.073),l(-.344,.098),l(-.344,.171),l(-.539,0),l(-.663,-.073),l(-.834,.221),l(-.172,.147),l(-.196,0),l(-.172,-.319),l(-.368,.024),l(-.318,.172),l(-.074,-.221),l(-.049,-.172),l(-.122,.024),l(-.319,-.123),l(-.049,-.147),l(-.221,-.024),l(-.442,.123),l(-.343,.049),l(.024,.221),l(-.295,.049),l(-.393,-.074),l(-.073,-.196),l(-.147,-.123),l(-.368,-.098),l(-.49,.147),l(-.196,-.073),l(-.688,.024),l(-.564,0),l(-.589,.024),l(-.122,-.098),l(-.049,-.147),l(-.099,-.27),l(.099,-.245),l(.196,-.196),l(.098,.221),l(.196,-.074),l(-.049,-.196),l(.098,-.27),l(.123,0),l(.981,-.196),l(.515,.147),l(.516,.196),l(.099,.172),l(.196,0),l(.024,-.246),l(.441,-.196),l(.302,-.147),
-N(685.343,114.455),l(-.571,.678),l(-.309,.115),l(-.511,-.096),l(-.579,-.068),l(-.595,-.011),l(-.315,.157),l(-.633,.738),l(-.283,.256),l(-.235,.171),l(-.268,-.206),l(-.35,.34),l(-.319,.199),l(-.373,-.608),l(-.398,-.112),l(-.649,.78),l(-.195,-.382),l(-.232,-.254),l(-.683,-.367),l(-.169,-.453),l(.095,-.312),l(.429,-.411),l(.754,-.229),l(.056,-.269),l(-.591,-.282),l(.407,-.879),l(.189,-.34),l(-.199,-.269),l(-.632,-.296),l(-.139,0),l(-.381,.029),l(-.312,.143),l(-.234,-.07),l(-.52,-.368),l(-.167,-.233),l(.379,-.528),l(.415,-.442),l(.52,-.329),l(1.533,-.604),l(1.032,-.545),l(.636,-.543),l(.686,-1.027),l(.386,-.13),l(.448,-.017),l(.273,.396),l(.493,.253),l(.508,.153),l(.975,-.048),l(.527,-.159),l(-.046,-.113),l(-.508,-.765),l(.025,-.342),l(.273,-.243),l(.392,-.059),l(.333,.126),l(.452,.054),l(.538,-.017),l(.62,-.259),l(.955,-.532),l(.23,-.713),l(.383,-.358),l(.253,-.129),l(.247,-.001),l(.579,.68),l(.298,.439),l(.167,.393),l(-1.356,.923),l(-.408,.457),l(-.112,.414),l(.09,.427),l(-.154,.456),l(-.187,.868),l(-.668,.115),l(-.36,.229),l(-.497,.385),l(-.766,.641),l(-.468,.214),l(-.678,.03),l(-.577,.199),l(-.265,.228),l(-.248,.312),l(-.364,.893),l(.284,.326),l(1.225,.847),l(.419,.354),
-N(536.625,121.017),l(-.078,-.028),l(-.15,-.692),l(-.01,-.565),l(-.038,-.848),l(-.185,-.211),l(-.787,.075),l(-.696,-.01),l(-.655,-.506),l(-1.803,-1.362),l(-.597,-.336),l(-.66,-.167),l(-.5,-.054),l(-.788,-.066),l(-.822,-.335),l(-.708,-.251),l(-.402,-.437),l(-1.055,-.107),l(-.519,-.054),l(-.343,.129),l(-.517,.343),l(-.333,.03),l(-.78,-.038),l(-.609,.032),l(-.413,.144),l(-.476,.328),l(-.621,.654),l(-.466,.3),l(-.562,.13),l(-.441,-.025),l(-.066,-.376),l(-.128,-.681),l(-.106,-.447),l(.128,-.298),l(0,-.383),l(0,-.532),l(.106,-.191),l(.106,-.298),l(.085,-.234),l(-.085,-.212),l(-.256,-.128),l(-.319,-.191),l(-.213,-.255),l(-.042,-.149),l(-.171,0),l(-.191,-.042),l(-.361,-.106),l(-.191,.192),l(-.086,-.234),l(.086,-.106),l(.148,-.255),l(.128,.106),l(.383,-.042),l(.426,.085),l(.128,.021),l(.043,-.128),l(-.319,-.213),l(-.256,-.021),l(-.085,-.277),l(.17,-.255),l(.213,-.191),l(-.404,-.042),l(-.319,.085),l(-.383,0),l(-.319,-.085),l(-.128,.149),l(-.17,-.255),l(-.149,-.298),l(0,-.34),l(-.042,-.298),l(.17,-.213),l(.106,-.319),l(.043,-.255),l(.105,-.277),l(.086,-.234),l(.213,.34),l(.063,.128),l(.17,.17),l(.405,-.085),l(.383,.128),l(.106,-.149),l(-.021,-.149),l(.106,0),l(.148,.021),l(.064,.319),l(.106,.191),l(.298,-.021),l(.298,-.063),l(.256,-.106),l(.233,.085),l(.192,.064),l(.085,-.128),l(-.149,-.191),l(-.042,-.213),l(.191,-.042),l(.106,.149),l(.233,.085),l(.256,-.085),l(.213,-.064),l(.021,-.234),l(-.171,-.341),l(-.34,-.234),l(-.532,-.319),l(-.426,-.213),l(-.063,-.319),l(-.043,-.34),l(-.213,-.17),l(0,-.213),l(0,-.213),l(-.085,-.127),l(-.554,-.064),l(-.617,.085),l(-.426,.021),l(-.446,.127),l(-.192,.277),l(-.085,.298),l(.128,.192),l(-.063,.276),l(-.086,.405),l(.064,.234),l(.021,.298),l(-.256,-.553),l(-.361,-.319),l(.042,-.17),l(-.063,-.191),l(-.274,-.143),l(.529,-.453),l(.937,-.532),l(1.277,-.298),l(.979,-.085),l(.512,.234),l(.681,.383),l(.617,.383),l(.256,.511),l(.638,.703),l(.447,.255),l(.489,-.043),l(.341,-.106),l(.158,.014),l(1.03,.063),l(1.383,-.032),l(.126,-.314),l(-.314,-.409),l(.062,-.628),l(.503,-.409),l(.503,-.251),l(.629,0),l(.283,-.126),l(.22,-.346),l(.126,-.126),l(.283,0),l(.597,.283),l(-.188,-.377),l(-.251,-.251),l(.565,-.157),l(.188,-.063),l(.472,.095),l(.629,.377),l(.346,.032),l(.22,.314),l(.692,.095),l(.534,.094),l(.251,.22),l(.032,.22),l(0,.22),l(.439,.283),l(-.188,.157),l(-.031,.188),l(.188,.22),l(-.157,.188),l(-.094,.22),l(.691,.314),l(.314,.157),l(.503,-.094),l(.439,-.032),l(.535,.126),l(.439,-.063),l(.188,-.157),l(.881,.251),l(.22,.377),l(.126,.566),l(.408,.597),l(.283,.188),l(.188,.44),l(0,.283),l(1.384,.975),l(1.194,.597),l(.377,.44),l(1.006,.503),l(.314,-.063),l(.943,.597),l(.565,.22),l(1.132,.597),l(.378,.251),l(.471,-.063),l(.566,.189),l(.534,.283),l(.503,.094),l(-.062,.22),l(-.157,.251),l(.062,.503),l(-.091,.726),l(-1.454,-.244),l(-.565,-.294),l(-.445,.356),l(-.417,.2),l(-1.135,.205),l(-.432,.809),l(-.203,.991),l(-.103,.128),l(-.508,.243),l(-1.985,.689),l(-.568,.159),l(-.119,.199),l(-.001,.466),l(-.22,.199),l(-.636,.3),l(-.534,.031),l(-.573,-.082),l(-.999,-.348),l(-.937,-.193),l(-.193,-.112),
-N(445.294,112.196),l(-.07,-.115),l(-.138,-.469),l(-.5,-.452),l(-.966,-.541),l(.024,-.141),l(.23,.062),l(.023,-.237),l(-.345,-.414),l(.418,-.616),l(-.182,-.22),l(.188,-.563),l(-.251,-.282),l(.182,-.396),l(.268,-.079),l(-.027,-.45),l(-.331,-.081),l(-.2,-.107),l(.002,-.342),l(-.133,-.427),l(.279,-.515),l(.273,-.273),l(.727,.11),l(.361,.022),l(.058,.004),l(.382,.369),l(.733,.866),l(.018,.109),l(.035,.218),l(-.132,.429),l(.074,.641),l(.298,.668),l(.722,.608),l(-.09,.029),l(-.449,.842),l(-.402,.386),l(-.496,.472),l(-.583,.884),
-N(451.512,108.463),l(-.507,.16),l(-.532,.245),l(-.622,-.054),l(-.361,-.041),l(-.365,.159),l(-.395,.429),l(-.606,.146),l(-.809,.076),l(-.722,-.608),l(-.298,-.668),l(-.074,-.641),l(.132,-.429),l(-.035,-.218),l(.14,.049),l(.188,0),l(.072,-.087),l(.029,-.072),l(-.029,-.13),l(.058,-.167),l(.088,-.058),l(.225,-.058),l(.246,-.058),l(.116,-.058),l(.08,-.065),l(.087,.073),l(.131,.058),l(.094,.109),l(.116,0),l(.029,-.058),l(-.059,-.072),l(.109,-.058),l(.151,-.102),l(.152,-.087),l(.175,.043),l(.064,-.007),l(.196,.007),l(.152,.015),l(.087,-.08),l(.131,-.116),l(.064,.021),l(.102,.043),l(.088,-.021),l(.087,-.043),l(.102,.051),l(.058,-.015),l(.116,-.022),l(.145,-.021),l(.16,-.022),l(.072,-.029),l(.058,.017),l(-.007,.106),l(.134,.213),l(.666,.296),l(.358,.383),l(.225,.469),l(-.006,.499),l(-.104,.3),l(.047,.199),
-N(383.93,117.402),l(-.249,.101),l(-.517,.291),l(-.439,.052),l(-.548,-.178),l(-.58,0),l(-.28,-.073),l(-.719,.292),l(-.058,-.177),l(.389,-1.012),l(-.021,-.856),l(-.182,-.115),l(.244,-.542),l(-.054,-.397),l(.13,-.114),l(-.144,-.141),l(-.375,.085),l(-.476,.097),l(-.108,-.449),l(.48,-.052),l(.283,-.22),l(-.042,-.17),l(-.178,-.226),l(-.3,.417),l(-.413,.136),l(-.357,-.042),l(-.059,-.188),l(.198,-.397),l(.138,-.616),l(-.039,-.303),l(.258,-.114),l(.403,-.503),l(.45,-1.098),l(-.12,-.115),l(.612,-1.783),l(-.35,-.924),l(-.007,-.42),l(-.146,-.378),l(.255,-.271),l(.891,-.251),l(.55,-.188),l(.531,.439),l(1.822,.047),l(.531,-.26),l(.335,.055),l(.272,.227),l(.15,.242),l(.842,.495),l(.062,.242),l(-.288,.216),l(-1.234,.506),l(-.084,.072),l(-.051,.442),l(.072,.456),l(-.132,.983),l(.057,.938),l(-.043,.199),l(-.458,.229),l(-.482,.045),l(-.288,.129),l(.488,.494),l(.455,.551),l(.163,.198),l(-.347,.371),l(-.506,.655),l(-.17,.455),l(.812,.123),l(.408,.31),l(-.884,.643),l(-.242,.37),l(-.304,.951),l(-.008,.018),
-N(500.121,117.572),l(-.407,-.016),l(-.433,.388),l(-.164,.126),l(-.318,-.105),l(-.102,-.269),l(.03,-.259),l(-.274,-.151),l(-.366,-.082),l(-.244,.234),l(-.343,-.023),l(-.811,-.153),l(-.364,.032),l(-.304,-.16),l(-.437,.094),l(-.266,.143),l(-.23,.043),l(-.064,-.245),l(-.207,-.023),l(-.24,.292),l(-.693,.304),l(-1.185,.224),l(-.711,-.039),l(-.747,-.123),l(-.439,.073),l(-1.498,.673),l(-.567,.13),l(-1.104,.176),l(-.556,-.153),l(-1.532,-.444),l(-.278,.03),l(-.929,.373),l(-.746,.075),l(-.575,-.025),l(-.777,-.166),l(-.222,.001),l(-.142,-.035),l(-.055,.319),l(.102,.452),l(.243,.423),l(-.627,.127),l(-.156,.374),l(-.2,.169),l(-.171,-.041),l(-.114,.127),l(-.39,-.125),l(-.311,.001),l(-.245,-.459),l(-.119,-.093),l(.097,-.175),l(.242,-.197),l(.617,-.403),l(.021,-.175),l(-.049,-.134),l(-.279,-.28),l(-.146,-.053),l(-.487,.368),l(-.23,.041),l(-.137,.064),l(.092,.041),l(-.118,.216),l(-.172,.023),l(-.063,-.047),l(-.076,.088),l(-.297,.058),l(-.332,-.222),l(-.447,-.198),l(-.461,-.157),l(-.395,.046),l(-.849,.548),l(-.337,.286),l(.006,.204),l(-.141,.046),l(-.122,.07),l(-.005,.082),l(-.179,-.169),l(-.604,.206),l(-.689,.185),l(-.594,-.013),l(-.587,-.07),l(-.678,-.267),l(-.963,-.819),l(-1.181,-.479),l(-1.034,-.182),l(-.692,.072),l(-.119,.255),l(-.097,.609),l(-.053,.411),l(-.173,.156),l(-.256,0),l(-.253,-.155),l(-1.12,.243),l(-.423,-.027),l(-.386,-.183),l(-.657,-1.159),l(-.42,.354),l(-.764,-.451),l(-.451,.057),l(-.562,.412),l(-.227,-.382),l(.066,-.127),l(.242,-.17),l(-.116,-.17),l(-.989,-.012),l(-.545,-.013),l(-.088,-.269),l(.571,-.199),l(-.074,-.241),l(-.284,-.198),l(-.454,-.07),l(-.084,-.297),l(.041,-.34),l(.087,-.284),l(-.089,-.255),l(-.396,-.126),l(-.627,-.353),l(-.371,.086),l(-.265,-.084),l(-.004,-.255),l(.171,-.501),l(.131,.059),l(.478,.311),l(.567,-.271),l(-.396,-.283),l(.021,-.124),l(-.296,-.128),l(.03,-.128),l(.571,-.159),l(.152,-.113),l(-.068,-.142),l(-.149,-.088),l(-.337,-.035),l(.01,-.187),l(.18,-.07),l(-.163,-.164),l(-.198,-.117),l(-.009,-.152),l(-.227,-.012),l(.263,-.181),l(.296,-.275),l(.161,-.035),l(.07,-.16),l(-.341,-.042),l(-.573,.12),l(-.905,.164),l(-.166,-.035),l(.046,-.33),l(.127,-.125),l(-.003,-.199),l(-.029,-.286),l(.13,-.264),l(.299,.012),l(.184,-.41),l(.175,-.023),l(.63,-.422),l(.514,.012),l(.133,-.129),l(.479,-.047),l(.128,.211),l(.268,.102),l(.169,.028),l(.529,.022),l(.147,-.129),l(-.067,-.129),l(-.269,-.129),l(.286,-.094),l(.324,.036),l(.117,.082),l(-.219,.223),l(.213,-.026),l(1.053,-.073),l(.619,.042),l(.379,.046),l(.279,.047),l(.155,-.176),l(-.086,-.094),l(-.468,-.035),l(-.212,-.118),l(.275,-.212),l(1.386,-.151),l(.417,-.012),l(.377,-.117),l(-.442,-.012),l(-.592,.023),l(-.215,0),l(-.068,-.146),l(-.611,-.382),l(.325,-.528),l(.926,.14),l(1.244,.048),l(.264,-.117),l(1.086,.321),l(1.051,-.031),l(.414,-.243),l(-.041,-.27),l(.624,-.244),l(.455,-.214),l(1.218,-.573),l(.598,-.215),l(1.039,-.23),l(.889,-.073),l(.758,.07),l(.905,.126),l(.798,.041),l(.753,-.372),l(.216,.527),l(.416,.298),l(.278,.099),l(.592,.013),l(.622,-.144),l(.453,.74),l(.492,.255),l(.574,-.172),l(.391,.056),l(.968,.582),l(1.265,.04),l(1.094,.197),l(.749,-.001),l(1.084,-.272),l(.514,-.044),l(.651,.141),l(.764,.098),l(.787,-.016),l(.554,-.144),l(1.518,-.573),l(.424,-.335),l(1.212,.082),l(.491,.068),l(.226,-.072),l(.761,-.36),l(.41,.041),l(1.326,1.018),l(.031,.028),l(.795,.722),l(.026,.199),l(-.421,.813),l(.033,.412),l(.284,.211),l(1.413,.12),l(.492,.451),l(-.072,.211),l(-.409,-.023),l(-.231,.141),l(-.009,.433),l(-.584,.267),l(-.039,.27),l(.264,.67),l(-.122,.375),l(.224,.492),l(.09,.117),l(.106,-.105),l(.288,.203),l(.039,.207),l(-.229,.281),l(-.287,.535),l(-.06,.128),l(.213,.14),l(.424,.111),l(-.145,.245),l(.099,.421),l(.42,.374),l(.275,.035),l(.023,.308),M(462.617,106.804),l(.241,.211),l(-.019,.287),l(.115,.285),l(.077,.071),l(.593,.355),l(.819,.241),l(.605,.155),l(.152,.121),L(464.943,109),l(-.304,.166),l(-.515,-.072),l(-.94,-.246),l(-.326,.07),l(-.209,.152),l(-1.019,-.012),l(-.357,.384),l(-.109,.273),l(-.833,.316),l(-.612,.282),l(-.222,.258),l(-.307,.152),l(-.268,.293),l(-.255,.082),l(.164,-.258),l(.019,-.141),l(-.062,-.176),l(.584,-.293),l(.22,-.141),l(-.226,-.191),l(-.082,.015),l(-.653,-.056),l(-.229,-.148),l(.326,-.546),l(.387,-.558),l(.678,-.631),l(-.127,-.227),l(-.427,-.197),l(-.105,0),l(.498,-.445),l(.629,-.374),l(.497,-.045),l(.527,.111),l(1.333,.005),
-N(509.077,114.955),l(-.72,-.317),l(-.268,.016),l(-.356,-.433),l(-.374,-.105),l(-.13,-.363),l(.532,-.27),l(.095,-.222),l(-.43,-.176),l(-.027,-.188),l(.63,-.129),l(.094,-.155),l(-.061,-.113),l(-.487,-.21),l(-.351,-.281),l(-.306,-.166),l(-.456,.234),l(-1.058,.492),l(-.374,.445),l(-.642,.188),l(-.254,.255),l(-.014,-.027),l(.094,-.118),l(-.094,-.213),l(-.189,-.071),l(.26,-.095),l(.166,-.047),l(-.261,-.189),l(-.236,-.236),l(.236,-.118),l(.095,-.189),l(-.283,-.047),l(-.354,-.024),l(-.284,-.118),l(-.213,-.212),l(-.236,-.024),l(-.26,-.354),l(-.283,-.142),l(-.048,-.094),l(.166,0),l(.378,0),l(.165,-.236),l(0,-.236),l(-.213,-.024),l(-.188,-.142),l(-.544,-.331),l(-.283,-.354),l(.047,-.284),l(.402,-.142),l(-.119,-.236),l(-.212,-.166),l(-.426,-.071),l(-.284,-.095),l(.071,-.094),l(.071,-.118),l(-.284,-.095),l(-.087,-.212),l(.418,-.308),l(.236,0),l(.473,.024),l(.331,.189),l(.189,.213),l(.638,.189),l(.284,-.047),l(.188,.023),l(.143,.071),l(.26,.189),l(.236,-.047),l(.236,-.095),l(.095,-.331),l(-.118,-.213),l(-.614,-.166),l(-.213,-.307),l(-.143,-.26),l(.095,-.071),l(.143,-.142),l(.268,-.189),l(.229,-.023),l(.023,.166),l(.213,-.047),l(.189,0),l(.142,.189),l(.473,.284),l(.095,.118),l(.118,0),l(.283,.284),l(0,.308),l(.591,.094),l(.449,.142),l(.379,-.047),l(.165,-.213),l(.308,-.331),l(.283,-.094),l(.496,-.284),l(.292,-.449),l(.465,.331),l(.236,.378),l(.26,.189),l(.284,.307),l(.095,.52),l(.142,.236),l(.283,.26),l(.284,.165),l(0,.166),l(.449,.236),l(.473,-.047),l(.378,.071),l(.284,.166),l(.236,.189),l(.095,.189),l(0,.142),l(-.355,-.142),l(-.401,-.047),l(-.213,0),l(-.26,.047),l(-.142,.118),l(-.402,.071),l(-.213,.142),l(-.047,.189),l(-.023,.473),l(-.118,.26),l(-.095,.236),l(-.095,.378),l(.213,.236),l(-.023,.189),l(-.237,-.071),l(-.094,.095),l(-.071,.331),l(-.071,.26),l(-.118,-.047),l(-.094,-.236),l(-.143,-.095),l(-.165,.095),l(-.047,.307),l(.07,.166),l(-.118,.118),l(-.118,.095),l(.095,.26),l(-.363,.91),M(499.844,111.738),l(.709,.061),l(.142,-.047),l(.26,-.071),l(.236,.236),l(.071,.166),l(.378,.142),l(.213,.071),l(.308,-.118),l(.52,0),l(-.071,.213),l(.024,.236),l(.118,.023),l(.331,.166),l(-.071,.236),l(.421,.763),l(-.009,.001),l(-.253,-.133),l(-.416,.038),l(-.512,-.025),l(-.421,-.125),l(-.335,-.211),l(-.294,-.402),l(-.551,-.223),l(-.281,-.417),l(-.265,-.381),l(-.252,-.197),
-N(455.452,122.442),l(.049,-.209),l(-.057,-.128),l(-.812,-.256),l(-.691,-.006),l(-.506,-.116),l(-.484,.017),l(-.121,-.046),l(-.103,-.093),l(.139,-.56),l(.315,-.005),l(-.005,-.088),l(-.009,-.122),l(.069,-.07),l(.083,.157),l(.021,.146),l(.303,.021),l(.172,.055),l(.184,-.076),l(-.014,-.082),l(.108,-.029),l(.157,.105),l(-.037,.093),l(-.099,.006),l(-.04,.053),l(.088,.023),l(.144,.035),l(.094,.046),l(.021,.128),l(.353,.041),l(.846,-.122),l(.509,.016),l(.035,.13),l(.192,.035),l(.608,.064),l(.307,.051),l(.358,-.121),l(.09,.05),l(-.101,.312),l(.163,.11),l(.105,0),l(.325,-.169),l(.286,-.058),l(.078,.052),l(.154,-.07),l(.232,-.146),l(-.083,.187),l(.015,.186),l(-.183,.268),l(-.582,-.046),l(-.349,.081),l(-.335,-.017),l(-1.994,.169),M(445.294,112.196),l(.583,-.884),l(.496,-.472),l(.402,-.386),l(.449,-.842),l(.09,-.029),l(.809,-.076),l(.606,-.146),l(.395,-.429),l(.365,-.159),l(.361,.041),l(.622,.054),l(.532,-.245),l(.507,-.16),l(.09,-.029),l(1.855,-.195),l(.799,-.261),l(.584,-.06),l(1.473,.505),l(.619,.21),l(.388,-.031),l(1.117,-.277),l(.086,-.257),l(-.097,-.327),l(.344,-.216),l(.363,.026),l(.105,0),l(.427,.197),l(.127,.227),l(-.678,.631),l(-.387,.558),l(-.326,.546),l(-.062,-.407),l(-.794,-.056),l(-.743,-.041),l(-.566,-.125),l(-.062,-.144),l(-.459,.186),l(-.248,.123),l(-.403,.012),l(-.031,-.247),l(-.335,.029),l(-.301,.314),l(-.431,.186),l(-.31,.03),l(-.306,-.159),l(-.252,.07),l(-.004,.133),l(.169,.185),l(.169,.34),l(.308,.059),l(.826,.609),l(-.166,.07),l(-.369,-.258),l(-.015,-.105),l(-.276,-.082),l(-.331,-.105),l(-.116,.099),l(-.211,.007),l(.069,.129),l(-.016,.129),l(.338,.164),l(.145,-.012),l(.114,.234),l(-.03,.129),l(-.245,.023),l(-.445,-.457),l(-.341,-.141),l(-.207,-.059),l(-.128,-.012),l(.003,.094),l(-.075,.035),l(.138,.164),l(.102,.105),l(.154,.141),l(.193,.059),l(.153,.035),l(.103,.094),l(-.093,.058),l(-.494,-.046),l(-.253,-.035),l(.035,-.176),l(-.137,-.293),l(-.164,-.188),l(-.401,-.108),l(-.472,-.373),l(.258,-.118),l(.025,-.136),l(-.053,-.122),l(-.182,-.035),l(-.153,.199),l(-.465,.176),l(.245,.224),l(-.25,.371),l(-.05,.249),l(.13,.121),l(.065,.172),l(.311,.338),l(.133,.036),l(.131,.479),l(.579,.421),l(.359,.467),l(-.172,.14),l(-.237,.082),l(.106,-.187),l(-.121,-.187),l(-.142,-.128),l(-.139,-.035),l(-.151,-.047),l(-.29,.175),l(.102,.188),l(.153,.081),l(.08,.316),l(-.193,.187),l(-.652,.141),l(.248,.046),l(.27,.14),l(.391,.058),l(.188,.222),l(.257,-.012),l(.155,.012),l(.048,.126),l(.367,.269),l(.306,.014),l(.138,.292),l(.282,.012),l(.27,0),l(.348,.303),l(.015,.128),l(-.193,.082),l(.238,.782),l(-.153,.175),l(-.185,0),l(-.226,-.385),l(-.222,-.047),l(-.207,-.278),l(-.101,-.142),l(-.17,0),l(-.496,.14),l(-.479,.105),l(-.184,.128),l(.315,.093),l(.013,.188),l(.007,.291),l(.229,.117),l(.153,-.026),l(.225,-.079),l(-.021,.198),l(.235,.175),l(-.519,.093),l(.002,.117),l(-.169,.062),l(-.309,-.086),l(.121,-.21),l(-.186,-.086),l(-.508,-.056),l(-.158,-.092),l(-.008,.206),l(.194,.453),l(.193,.17),l(-.045,.163),l(.209,.204),l(.213,.96),l(-.688,-.31),l(-.331,.071),l(-.298,.439),l(-.442,-.735),l(-.46,-.367),l(-.452,.44),l(-.428,-.353),l(-.127,-.297),l(.212,-.425),l(-.028,-.241),l(-.215,-.269),l(-.491,-.424),l(-.167,-.226),l(.017,-.17),l(.471,-.61),l(.609,.098),l(.425,-.298),l(.202,.042),l(1.668,.663),l(.337,-.1),l(.483,-.355),l(-.266,-.049),l(-.27,-.056),l(-1.204,-.493),l(-1.127,-.083),l(-.367,.058),l(-.66,.058),l(-.427,.143),l(-.89,-1.118),l(.269,-.1),l(.253,.056),l(.218,-.114),l(.122,-.185),l(-.339,-.24),l(-.235,.114),l(-.496,-.042),l(-1.035,-.721),l(-.199,-.325),
-N(504.136,113.458),l(-.327,.328),l(-.377,.03),l(-.421,-.763),l(.071,-.236),l(-.331,-.166),l(-.118,-.023),l(-.024,-.236),l(.071,-.213),l(-.52,0),l(-.308,.118),l(-.213,-.071),l(-.378,-.142),l(-.071,-.166),l(-.236,-.236),l(-.26,.071),l(-.142,.047),l(-.709,-.061),l(-.492,-.451),l(-1.413,-.12),l(-.284,-.211),l(-.033,-.412),l(.421,-.813),l(-.026,-.199),l(-.795,-.722),l(.377,-.108),l(.307,.024),l(.308,-.095),l(.426,-.023),l(.401,-.118),l(.592,.047),l(.591,-.095),l(.378,-.047),l(.291,-.094),l(.087,.212),l(.284,.095),l(-.071,.118),l(-.071,.094),l(.284,.095),l(.426,.071),l(.212,.166),l(.119,.236),l(-.402,.142),l(-.047,.284),l(.283,.354),l(.544,.331),l(.188,.142),l(.213,.024),l(0,.236),l(-.165,.236),l(-.378,0),l(-.166,0),l(.048,.094),l(.283,.142),l(.26,.354),l(.236,.024),l(.213,.212),l(.284,.118),l(.354,.024),l(.283,.047),l(-.095,.189),l(-.236,.118),l(.236,.236),l(.261,.189),l(-.166,.047),l(-.26,.095),l(.189,.071),l(.094,.213),l(-.094,.118),l(.014,.027),
-N(566.651,117.4),l(-.565,-.153),l(-.496,-.054),l(-.264,-.151),l(-.564,.227),l(-.974,.147),l(-.137,-.059),l(.129,-.176),l(-.198,-.077),l(-.678,.03),l(-.739,.315),l(-.592,.486),l(-.589,.064),l(-.745,.495),l(-.351,.03),l(-.368,-.026),l(-.128,-.084),l(-.164,-.409),l(-.199,-.521),l(.185,-.444),l(.099,-.775),l(.029,-.255),l(-.17,-.187),l(-.484,.093),l(.156,-.597),l(-.576,-.45),l(-.153,-.056),l(-.384,.016),l(-.286,.162),l(-.134,.363),l(-.435,.428),l(-.049,.425),l(.006,.255),l(-.208,.228),l(-.442,.158),l(-.133,-.013),l(-.587,-.152),l(-.292,.058),l(-.073,.185),l(.007,.311),l(-.3,.313),l(-.21,.128),l(-.381,.016),l(-.63,-.237),l(-.325,.001),l(-.581,.286),l(-.58,.343),l(-.485,.144),l(-.245,-.041),l(-.129,-.141),l(-.04,-.055),l(.375,-.843),l(-.063,-.377),l(.377,-.377),l(.283,-.503),l(.503,-.346),l(.157,-.22),l(-.126,-.283),l(-.471,-.314),l(-.126,-.409),l(.031,-.472),l(.126,-.22),l(-.126,-.22),l(-.346,0),l(-.44,-.032),l(-.157,-.157),l(-.346,-.188),l(-.251,-.283),l(.125,-.471),l(.472,-.283),l(.629,.126),l(1.069,.094),l(.282,-.188),l(.063,-.409),l(.251,-.157),l(.188,0),l(.032,-.346),l(.188,-.063),l(.251,-.063),l(-.126,-.094),l(-.534,.031),l(-.251,-.125),l(.503,-.094),l(.565,-.095),l(.472,.095),l(.062,-.126),l(.032,-.346),l(-.189,-.314),l(.283,-.314),l(-.031,-.22),l(.346,0),l(.22,.157),l(.252,.22),l(.22,-.157),l(.692,-.188),l(.471,-.346),l(.221,-.251),l(.439,.377),l(.252,.251),l(-.188,.22),l(-.409,.346),l(-.251,.126),l(.126,.188),l(.251,.063),l(.188,.283),l(.409,-.031),l(.345,.005),l(-.302,.147),l(-.441,.196),l(-.024,.246),l(-.196,0),l(-.099,-.172),l(-.516,-.196),l(-.515,-.147),l(-.981,.196),l(-.123,0),l(-.098,.27),l(.049,.196),l(-.196,.074),l(-.098,-.221),l(-.196,.196),l(-.099,.245),l(.099,.27),l(.049,.147),l(.122,.098),l(.589,-.024),l(.564,0),l(.688,-.024),l(.196,.073),l(.49,-.147),l(.368,.098),l(.147,.123),l(.073,.196),l(.393,.074),l(.295,-.049),l(-.024,-.221),l(.343,-.049),l(.442,-.123),l(.221,.024),l(.049,.147),l(.319,.123),l(.122,-.024),l(.049,.172),l(.074,.221),l(.318,-.172),l(.368,-.024),l(.172,.319),l(.196,0),l(.172,-.147),l(.834,-.221),l(.663,.073),l(.539,0),l(.344,-.171),l(.344,-.098),l(.196,.073),l(-.011,.069),l(.023,1.031),l(-.207,.223),l(.077,.305),l(.325,.394),l(.463,-.045),l(.229,-.162),l(.22,.06),l(.692,.039),l(.273,.154),l(.295,.494),l(-.009,.284),l(.028,.246),l(.152,.012),l(.049,.123),l(-.126,.428),l(.245,.237),l(-.152,.36),l(.2,.163),l(-.181,.185),l(-.08,.249),l(-.354,.136),
-N(500.121,117.572),l(-.023,-.308),l(-.275,-.035),l(-.42,-.374),l(-.099,-.421),l(.145,-.245),l(-.424,-.111),l(-.213,-.14),l(.06,-.128),l(.287,-.535),l(.229,-.281),l(-.039,-.207),l(-.288,-.203),l(-.106,.105),l(-.09,-.117),l(-.224,-.492),l(.122,-.375),l(-.264,-.67),l(.039,-.27),l(.584,-.267),l(.009,-.433),l(.231,-.141),l(.409,.023),l(.072,-.211),l(.252,.197),l(.265,.381),l(.281,.417),l(.551,.223),l(.294,.402),l(.335,.211),l(.421,.125),l(.512,.025),l(.416,-.038),l(.253,.133),l(.009,-.001),l(.377,-.03),l(.327,-.328),l(.254,-.255),l(.642,-.188),l(.374,-.445),l(1.058,-.492),l(.456,-.234),l(.306,.166),l(.351,.281),l(.487,.21),l(.061,.113),l(-.094,.155),l(-.63,.129),l(.027,.188),l(.43,.176),l(-.095,.222),l(-.532,.27),l(.13,.363),l(.374,.105),l(.356,.433),l(.268,-.016),l(.72,.317),l(.015,.007),l(-.05,.707),l(-.143,.581),l(.205,.48),l(.494,.252),l(.925,.235),l(.827,.052),l(.424,.097),l(.162,.282),l(.312,.451),l(.687,.463),l(1.902,.513),l(.841,.052),l(.438,-.059),l(1.354,-.262),l(1.192,-.148),l(1.469,-.079),l(.41,-.229),l(.185,-.354),l(-.131,-.905),l(.015,0),l(.441,.025),l(.562,-.13),l(.466,-.3),l(.621,-.654),l(.476,-.328),l(.413,-.144),l(.609,-.032),l(.78,.038),l(.333,-.03),l(.517,-.343),l(.343,-.129),l(.519,.054),l(1.055,.107),l(.402,.437),l(.708,.251),l(.822,.335),l(.788,.066),l(.5,.054),l(.66,.167),l(.597,.336),l(1.803,1.362),l(.655,.506),l(.696,.01),l(.787,-.075),l(.185,.211),l(.038,.848),l(.01,.565),l(.15,.692),l(.078,.028),l(-.145,.241),l(-.084,.339),l(-.246,.807),l(-.49,1.272),l(-.222,.297),l(-.596,.384),l(-.016,.141),l(.119,.663),l(.096,.098),l(.738,.235),l(.026,.183),l(-.661,.935),l(-.034,.155),l(.254,1.085),l(.167,1.283),l(.143,.775),l(.191,.21),l(.209,.041),l(1.198,.275),l(.401,.167),l(.144,.366),l(.046,.437),l(-.425,.553),l(-.853,.795),l(-.853,1.034),l(.802,1.083),l(.71,1.068),l(.353,.464),l(.695,.391),l(1.144,.388),l(.409,.224),l(.168,.38),l(.111,1.34),l(.185,.394),l(.652,.053),l(.186,.281),l(-.036,.974),l(-.188,.255),l(-.209,.072),l(-1,.077),l(-.697,.258),l(-.794,.47),l(-.285,.383),l(-.31,.792),l(-.049,.354),l(-.182,.954),l(-.502,.028),l(-1.079,-.153),l(-.236,-.197),l(-.605,-.253),l(-.403,-.056),l(-1.43,.003),l(-.783,-.041),l(-.602,.072),l(-.475,-.38),l(-.163,-.126),l(-.835,-.026),l(-.576,.001),l(-.465,.014),l(-.212,-.239),l(-.756,-.125),l(-.305,-.183),l(-.162,-.014),l(-.021,-.5),l(-.295,-.128),l(-.103,-.514),l(-.292,-.349),l(-.013,-.639),l(-.309,-.493),l(-.237,.012),l(-.035,-.181),l(-.526,-.126),l(-.807,-.013),l(-.374,.017),l(-.209,.222),l(-.329,.018),l(-.517,.075),l(-.188,.364),l(-.538,.138),l(-.383,.443),l(-.368,.283),l(-.253,.043),l(-1.292,-.689),l(-.958,-.104),l(-.562,-.359),l(-1.088,-.317),l(-.247,-.301),l(-.324,-.282),l(-.497,-.592),l(-.997,-.436),l(-.584,-.083),l(-.194,-.028),l(-.58,-.465),l(-.596,-1.058),l(-.635,-1.114),l(-.209,-.268),l(.005,-.593),l(-.767,-.761),l(-.506,-.719),l(-.921,.143),l(-.46,-.042),l(-.13,-.126),l(-.291,-.056),l(-.191,-.268),l(-.029,-.565),l(-.448,.1),l(-.166,.099),l(-.32,.678),l(-.195,.184),l(-.355,.012),l(-.014,-.12),l(-.351,-.224),l(-.686,-.546),l(.064,-.212),l(-.007,-.395),l(-.164,-.465),l(-.215,-.013),l(-.551,.003),l(-.034,-.325),l(.055,-.579),l(.197,-.622),l(.014,-.508),l(-.112,-.239),l(-.29,-.28),l(-.774,-.603),l(-.436,-.209),l(-1.242,-.925),l(-.533,-.025),l(-.321,.115),L(503,127.106),l(.033,-.819),l(-1.02,-.954),l(-.312,-.351),l(-.002,-.184),l(.133,-.875),l(.235,-.763),l(1.142,-.98),l(-.422,-.761),l(.013,-.254),l(.468,-.596),l(-1.067,-.107),l(-.761,-.208),l(-.065,-.198),l(-.563,-1.086),l(-.69,-1.397),
-N(535.734,133.791),l(.853,-1.034),l(.853,-.795),l(.425,-.553),l(-.046,-.437),l(-.144,-.366),l(-.401,-.167),l(-1.198,-.275),l(-.209,-.041),l(-.191,-.21),l(-.143,-.775),l(-.167,-1.283),l(-.254,-1.085),l(.034,-.155),l(.661,-.935),l(-.026,-.183),l(-.738,-.235),l(-.096,-.098),l(-.119,-.663),l(.016,-.141),l(.596,-.384),l(.222,-.297),l(.49,-1.272),l(.246,-.807),l(.084,-.339),l(.145,-.241),l(.193,.112),l(.937,.193),l(.999,.348),l(.573,.082),l(.534,-.031),l(.636,-.3),l(.22,-.199),l(.001,-.466),l(.119,-.199),l(.568,-.159),l(1.985,-.689),l(.508,-.243),l(.103,-.128),l(.203,-.991),l(.432,-.809),l(1.135,-.205),l(.417,-.2),l(.445,-.356),l(.565,.294),l(1.454,.244),l(.096,.016),l(.646,.011),l(1.217,.05),l(.236,.126),l(.351,.48),l(.04,.055),l(.129,.141),l(.245,.041),l(.485,-.144),l(.58,-.343),l(.581,-.286),l(.325,-.001),l(.63,.237),l(.381,-.016),l(.21,-.128),l(.3,-.313),l(-.007,-.311),l(.073,-.185),l(.292,-.058),l(.587,.152),l(.133,.013),l(.442,-.158),l(.208,-.228),l(-.006,-.255),l(.049,-.425),l(.435,-.428),l(.134,-.363),l(.286,-.162),l(.384,-.016),l(.153,.056),l(.576,.45),l(-.156,.597),l(.484,-.093),l(.17,.187),l(-.029,.255),l(-.099,.775),l(-.185,.444),l(.199,.521),l(.164,.409),l(.128,.084),l(.368,.026),l(.351,-.03),l(.745,-.495),l(.589,-.064),l(.592,-.486),l(.739,-.315),l(.678,-.03),l(.198,.077),l(-.129,.176),l(.137,.059),l(.974,-.147),l(.564,-.227),l(.264,.151),l(.496,.054),l(.565,.153),l(-.192,.145),l(-.574,-.059),l(.01,.269),l(.236,.012),l(.048,.088),l(-.148,.142),l(-.358,.004),l(-.455,.297),l(-.332,-.005),l(-.338,.179),l(-.647,-.144),l(-1.345,.012),l(-1.148,.152),l(-.53,.292),l(-.272,.19),l(-.559,.395),l(-.246,-.023),l(-.258,.214),l(-.464,.413),l(.01,.32),l(.411,.271),l(.01,.336),l(.232,.171),l(-.119,.483),l(.198,.477),l(-.324,.426),l(-.524,.355),l(-.4,.341),l(-.13,.283),l(.223,.478),l(.033,.31),l(-.289,.255),l(-.513,.215),l(-.698,-.039),l(-.997,-.122),l(-.355,.129),l(.35,.336),l(.365,.407),l(.129,.281),l(.088,.437),l(-.199,.255),l(-.315,.115),l(-.513,.031),l(-.416,.115),l(-.292,.228),l(-.224,.424),l(-.288,.834),l(-.139,1.214),l(-.021,.084),l(-.34,.383),l(-.237,.086),l(-1.001,-.375),l(-.562,-.025),l(-.559,.243),l(-.362,.271),l(-.321,.693),l(-.254,.086),l(-.516,-.082),l(-.644,-.039),l(-.283,.072),l(-.597,.441),l(-.412,.369),l(-.188,.34),l(-.232,.876),l(-.099,.903),l(-.069,.184),l(-.247,.156),l(-1.066,.274),l(-1.183,.19),l(-.964,.175),l(-1.234,.12),l(-1.005,-.135),l(-.349,.002),l(-1.187,.218),l(-.742,-.024),l(-.541,-.039),l(-.854,-.235),l(-1.069,-.248),l(-.63,-.194),l(-.887,-.32),
-N(486.696,126.295),l(5.257,-2.711),l(.589,-2.701),l(-.024,-.467),l(-.187,-.508),l(.009,-.255),l(.23,-.355),l(.31,-.214),l(.866,-.174),l(.457,-.371),l(.944,-.883),l(-.059,-.24),l(.23,-.043),l(.266,-.143),l(.437,-.094),l(.304,.16),l(.364,-.032),l(.811,.153),l(.343,.023),l(.244,-.234),l(.366,.082),l(.274,.151),l(-.03,.259),l(.102,.269),l(.318,.105),l(.164,-.126),l(.433,-.388),l(.407,.016),l(.69,1.397),l(.563,1.086),l(.065,.198),l(.761,.208),l(1.067,.107),l(-.468,.596),l(-.013,.254),l(.422,.761),l(-1.142,.98),l(-.235,.763),l(-.133,.875),l(.002,.184),l(.312,.351),l(1.02,.954),L(503,127.106),l(.075,.155),l(.321,-.115),l(.533,.025),l(1.242,.925),l(.436,.209),l(.774,.603),l(.29,.28),l(.112,.239),l(-.014,.508),l(-.197,.622),l(-.055,.579),l(.034,.325),l(.551,-.003),l(.215,.013),l(.164,.465),l(.007,.395),l(-.064,.212),l(.686,.546),l(.351,.224),l(.014,.12),l(-.096,.003),l(-.664,.101),l(-.408,-.056),l(-.157,.057),l(-.103,.127),l(-1.271,.044),l(-.518,.13),l(-.343,.693),l(-.463,.609),l(-.521,.568),l(-4.048,-.132),l(-1.557,-.697),l(-.812,-.277),l(-.118,-.253),l(-.047,-.818),l(.118,-.396),l(-.135,-.366),l(-.973,.048),l(-.141,-.07),l(-.399,-.633),l(-.258,-.196),l(-2.44,-1.101),l(-1.14,-.473),l(-2.034,-.934),l(-.757,-.222),l(-1.129,-.459),l(-.093,-.056),l(-.093,-.056),l(-.311,-.69),l(-.87,-1.632),
-N(479.916,127.377),l(-.082,-.085),l(.047,-.122),l(-.021,-.183),l(-.201,-.128),l(-.183,-.346),l(.398,-.209),l(.041,-.099),l(.526,-.396),l(-.048,-.058),l(-.223,-.099),l(.077,-.151),l(.298,-.25),l(.599,-.006),l(-.14,-.146),l(-.035,-.046),l(.078,-.111),l(.177,-.163),l(.169,-.116),l(.299,-.239),l(-.068,-.058),l(.023,-.163),l(-.09,-.047),l(-.031,-.221),l(-.241,-.157),l(-.222,-.058),l(.204,-.204),l(-.125,-.052),l(-.053,-.116),l(-.12,.058),l(-.335,.052),l(-.388,-.023),l(-.225,-.564),l(.129,-.593),l(.072,-.064),l(-.1,-.507),l(-.42,-.326),l(.126,-.093),l(.036,-.152),l(.117,-.128),l(-.093,-.222),l(.107,-.012),l(.259,-.32),l(-.061,-.112),l(.311,-.001),l(.39,.125),l(.114,-.127),l(.171,.041),l(.2,-.169),l(.156,-.374),l(.627,-.127),l(-.243,-.423),l(-.102,-.452),l(.055,-.319),l(.142,.035),l(.222,-.001),l(.777,.166),l(.575,.025),l(.746,-.075),l(.929,-.373),l(.278,-.03),l(1.532,.444),l(.556,.153),l(1.104,-.176),l(.567,-.13),l(1.498,-.673),l(.439,-.073),l(.747,.123),l(.711,.039),l(1.185,-.224),l(.693,-.304),l(.24,-.292),l(.207,.023),l(.064,.245),l(.059,.24),l(-.944,.883),l(-.457,.371),l(-.866,.174),l(-.31,.214),l(-.23,.355),l(-.009,.255),l(.187,.508),l(.024,.467),l(-.589,2.701),l(-5.257,2.711),l(-.161,.071),l(-2.96,1.541),l(-1.139,.656),l(-.253,.016),l(-.365,-.167),l(-1.902,-1.034),
-N(426.068,126.434),l(-.093,.981),l(.064,.564),l(-.093,.269),l(-.802,.428),l(-.579,.314),l(-1.473,1.138),l(-.126,.354),l(.274,.973),l(-.147,.537),l(-.155,.227),l(-.864,.598),l(-.22,.143),l(-.564,-1.536),l(-.699,-2.242),l(-.323,-.464),l(-.363,-.252),l(-.432,-.181),l(-.484,-.831),l(-.225,-.465),l(-.363,-.28),l(-.452,-.097),l(-.336,-.774),l(-.301,-.888),l(.112,-.509),l(1,-.853),l(.414,-.355),l(.163,-.411),l(.048,-.537),l(-.052,-.594),l(-.026,-.892),l(-.012,-1.429),l(.114,-.439),l(.685,-.627),l(.012,-.184),l(.508,-.185),l(.633,-.455),l(.591,-.228),l(.703,-.016),l(.643,.183),l(.247,.212),l(.059,.241),l(.25,.538),l(.27,.084),l(.417,-.171),l(.584,-.44),l(.401,-.17),l(.034,.354),l(-.265,.567),l(-.638,.511),l(-.275,.468),l(.005,.283),l(.202,.438),l(.508,.466),l(.351,.127),l(.303,.848),l(-.094,.212),l(-.541,.764),l(-.59,.34),l(-1.017,.92),l(-.216,.339),l(.287,.451),l(.587,.55),l(.528,.295),l(.284,.056),l(.396,-.227),l(.316,.084),l(.244,.635),l(.582,.239),
-N(381.402,139.704),l(-.027,-.876),l(.069,-2.006),l(.037,-.382),l(.686,-.314),l(1.512,-.998),l(.963,-.542),l(1.265,.078),l(.397,-.059),l(.181,-.693),l(.864,-.033),l(.777,-.174),l(.527,-.229),l(.524,-.356),l(.484,-.652),l(1.109,-.332),l(1.52,-.701),l(.129,-.227),l(-.296,-.62),l(-.025,-.396),l(.079,-.227),l(.265,-.114),l(1.186,-.12),l(.381,-.186),l(.309,-.553),l(1.022,.022),l(.67,-.018),l(1.826,.004),l(.34,-1.033),l(-.07,-.211),l(-.507,-.322),L(397,126.646),l(-.158,-.465),l(.016,-1.271),l(.022,-.833),l(-.165,-.889),l(-.189,-.211),l(-.563,-.279),l(-.259,-.508),l(.351,0),l(.66,-.143),l(.541,-.256),l(.369,-.566),l(.405,-.312),l(.509,-.086),l(.407,-.157),l(.679,-.27),l(.324,.226),l(.176,.017),l(.249,.024),l(.238,-.142),l(.407,-.51),l(.613,-.426),l(.682,-.355),l(.614,-.171),l(1.16,-.116),l(1.587,-.06),l(.513,-.072),l(.634,-.312),l(.578,.211),l(.564,-.072),l(.585,-.313),l(.343,-.1),l(.939,.012),l(.513,-.015),l(.307,.056),l(.221,.042),l(.322,.113),l(.816,.168),l(.529,-.015),l(.772,-.171),l(.705,-.2),l(.612,-.554),l(.994,.508),l(.339,.099),l(.312,-.143),l(.314,-.241),l(.228,-.156),l(.528,.042),l(.388,.197),l(.162,.269),l(.269,.126),l(.516,-.086),l(1.093,-.158),l(-.012,.184),l(-.685,.627),l(-.114,.439),l(.012,1.429),l(.026,.892),l(.052,.594),l(-.048,.537),l(-.163,.411),l(-.414,.355),l(-1,.853),l(-.112,.509),l(.301,.888),l(.336,.774),l(.452,.097),l(.363,.28),l(.225,.465),l(.484,.831),l(.432,.181),l(.363,.252),l(.323,.464),l(.699,2.242),l(.564,1.536),l(-.204,.156),l(-.241,.383),l(.88,1.605),l(.147,.833),l(.052,.691),l(-.1,.862),l(.101,.748),l(-.16,.622),l(-.158,.495),l(.457,1.156),l(-.061,.664),l(-.086,.17),l(-.666,.47),l(-.249,.128),l(-.152,.283),l(1.272,1.702),l(.249,.917),l(.562,.873),l(.244,.154),l(.544,-.201),l(.702,.165),l(1.028,.347),l(.178,.168),l(.86,1.506),l(.098,.07),l(-.265,.186),l(-1.632,.843),l(-4.012,2.241),l(-1.607,.956),l(-2.308,1.454),l(-.834,.655),l(-3.084,2.617),l(-1.82,.364),l(-1.672,.321),l(-2.176,.408),l(-.146,-.564),l(.161,-.679),l(-.099,-.522),l(-.277,-.352),l(-.309,-.111),l(-.748,-.024),l(-.375,-.167),l(-.588,-.562),l(-.47,.314),l(-.229,-.027),l(-1.111,-1.039),l(-.393,-.28),l(-.082,-.183),l(.096,-.396),l(-.181,-.253),l(-2.472,-1.469),l(-.397,-.253),l(-1.292,-.824),l(-1.924,-1.26),l(-3.283,-2.241),l(-.811,-.575),l(-2.054,-1.344),l(-.895,-.531),l(-.1,-.084),l(-1.414,-.91),l(-4.12,-2.42),l(-2.829,-1.509),
-N(395.704,122.189),l(.259,.508),l(.563,.279),l(.189,.211),l(.165,.889),l(-.022,.833),l(-.016,1.271),l(.158,.465),l(.598,.788),l(.507,.322),l(.07,.211),l(-.34,1.033),l(-1.826,-.004),l(-.67,.018),l(-1.022,-.022),l(-.309,.553),l(-.381,.186),l(-1.186,.12),l(-.265,.114),l(-.079,.227),l(.025,.396),l(.296,.62),l(-.129,.227),l(-1.52,.701),l(-1.109,.332),l(-.484,.652),l(-.524,.356),l(-.527,.229),l(-.777,.174),l(-.864,.033),l(-.181,.693),l(-.397,.059),l(-1.265,-.078),l(-.963,.542),l(-1.512,.998),l(-.686,.314),l(-.037,.382),l(-.069,2.006),l(-1.42,.008),l(-1.718,-.004),l(-2.677,.001),l(-2.511,0),l(-1.635,.04),l(.141,-.28),l(.431,-.411),l(.427,-.085),l(1.296,-.285),l(1.143,-.455),l(.453,-.312),l(1.147,-.85),l(1.149,-.878),l(1.043,-1.104),l(.46,-.693),l(.133,-.509),l(-.05,-.494),l(-.427,-.776),l(-.09,-.678),l(.099,-.508),l(.396,-.636),l(.706,-.863),l(.211,-.65),l(-.063,-.367),l(.071,-.353),l(1.285,-1.203),l(.724,-.481),l(.916,-.327),l(1.266,-.469),l(.73,-.397),l(.558,-.552),l(.537,-.736),l(.466,-.905),l(.829,-1.925),l(.269,-.128),l(.54,-.171),l(.19,.127),l(.684,.848),l(.138,.099),l(1.148,.507),l(.661,-.001),l(.595,.042),l(1.304,-.074),l(.522,-.228),l(.437,-.27),l(.398,.551),l(.256,.099),l(.798,.097),l(.361,0),
-N(480.248,123.437),l(.388,.023),l(.335,-.052),l(.12,-.058),l(.053,.116),l(.125,.052),l(-.204,.204),l(.222,.058),l(.241,.157),l(.031,.221),l(.09,.047),l(-.023,.163),l(.068,.058),l(-.299,.239),l(-.169,.116),l(-.177,.163),l(-.078,.111),l(.035,.046),l(.14,.146),l(-.599,.006),l(-.298,.25),l(-.077,.151),l(.223,.099),l(.048,.058),l(-.526,.396),l(-.041,.099),l(-.398,.209),l(-.07,-.023),l(-.088,.041),l(-.067,.193),l(-.009,.167),l(-.355,.07),l(-.07,-.099),l(-.151,-.022),l(-.372,.051),l(.26,-.291),l(.097,-.361),l(.169,-.227),l(.328,-.681),l(-.017,-.232),l(.181,0),l(.138,-.192),l(.072,-.32),l(.018,-.32),l(.409,-.431),l(.232,-.07),l(.116,-.174),l(-.048,-.157),
-N(184.444,142.729),l(-.367,.82),l(-.518,.821),l(-.186,.763),l(-.179,1.159),l(.017,1.851),l(-.133,1.187),l(-.016,1.13),l(.564,1.737),l(.275,.805),l(.624,.945),l(.76,.903),l(.191,.452),l(.481,.521),l(.529,.974),l(.729,1.228),l(.375,.296),l(.677,.069),l(.436,-.015),l(.577,.154),l(.593,.451),l(.503,.508),l(.773,.069),l(1.016,-.242),l(1.55,-.456),l(1.396,-.3),l(.803,-.157),l(-.02,.542),l(.838,.223),l(.264,-.286),l(.293,-.199),l(-.104,-.247),l(-.393,-.175),l(1.073,-.62),l(.633,-.62),l(.086,-.827),l(.498,-.429),l(-.094,-.477),l(.092,-1.145),l(.254,-.699),l(.625,-.334),l(.164,-.043),l(.757,-.198),l(.701,-.1),l(1.088,-.229),l(1.016,-.37),l(.594,-.058),l(.499,.056),l(1.139,.181),l(.502,-.194),l(.378,.093),l(.62,.507),l(.047,.297),l(-.079,.424),l(-.298,.382),l(-.541,.496),l(-.433,.425),l(-.317,.445),l(-.02,.7),l(-.254,.297),l(-.188,.354),l(.155,.155),l(.337,-.138),l(-.101,.652),l(-.262,1.196),L(205.356,159),l(-.062,.24),l(-.34,-.534),l(-.167,-.452),l(-.072,-.155),l(-.386,.34),l(-.02,.549),l(-.437,.016),l(-.178,.447),l(-.599,.857),l(-.386,-.27),l(-.278,.095),l(.025,.329),l(-2.332,-.006),l(-1.792,-.005),l(-.04,1.24),l(-.999,.032),l(.396,.223),l(.495,.541),l(.624,.231),l(.359,.69),l(.532,.223),l(-.211,.683),l(-1.762,-.007),l(-1.06,.007),l(-1.076,1.812),l(.305,.397),l(-.207,.238),l(.054,.553),l(.044,.454),l(-.704,-.555),l(-.952,-.888),l(-.956,-.761),l(-1.069,-.859),l(-.534,-.352),l(-.053,-.071),l(-.639,-.252),l(-1.048,-.21),l(-.657,.044),l(-.817,.397),l(-1.1,.567),l(-.756,.256),l(-.931,-.069),l(-.724,-.21),l(-.48,-.197),l(-1.305,-.195),l(-.588,-.267),l(-.644,-.422),l(-.935,-.521),l(-.785,-.267),l(-1.711,-.392),l(-.963,-.365),l(-.722,-.366),l(-1.074,-.436),l(-.592,-.352),l(-1.123,-1),l(-.207,-.07),l(-.606,.058),l(-.689,-.14),l(-1.835,-.575),l(-.565,-.536),l(-.503,-.634),l(-.495,-.395),l(-1.049,-.577),l(-.619,-.267),l(-.5,-.494),l(-.742,-.987),l(-.363,-.55),l(-.038,-.113),l(.15,-.155),l(.504,-.086),l(.18,-.17),l(.047,-.184),l(-.331,-.367),l(.457,-.679),l(.041,-.381),l(-.172,-.466),l(-.744,-.959),l(.121,-.297),l(.146,-.17),l(-.07,-.268),l(-.665,-.62),l(-1.495,-1.777),l(-.546,-.493),l(-.963,-1.058),l(-.474,-.522),l(-.815,-.578),l(-.322,-.197),l(-.158,-.268),l(-.058,-.48),l(-.144,-.183),l(-.329,-.197),l(-.609,-.197),l(-.408,-.31),l(-.366,-.522),l(-.271,-.028),l(-.414,.114),l(-.238,-.155),l(-.163,-.367),l(-.005,-.325),l(.459,-.736),l(-.126,-.339),l(-.751,-.62),l(-.439,.255),l(-.375,-.621),l(-.118,-.353),l(-.359,-.211),l(-.61,-.168),l(-.319,-.296),l(-.125,-.254),l(.05,-.381),l(.084,-.269),l(-.185,-.226),l(-.561,-.21),l(-.46,-.098),l(-.46,-.253),l(-.935,-.86),l(-.478,-.706),l(-.281,-.551),l(-.646,-.832),l(-.736,-1.073),l(-.184,-.423),l(-.38,-.678),l(-.242,-.338),l(-.152,-.452),l(.042,-.509),l(.032,-.311),l(-.56,-.239),l(-.795,-.196),l(-.06,-.452),l(-.128,-.155),l(-.458,-.183),l(-.289,.326),l(-.251,.043),l(-1.43,-.647),l(-.285,1.004),l(-.045,.438),l(.033,.084),l(.265,.339),l(.264,.296),l(.028,1.046),l(.088,.509),l(.51,.677),l(.143,.169),l(.643,.267),l(.601,.536),l(.525,.663),l(.602,1.214),l(.44,.282),l(.328,.042),l(.237,.169),l(.325,1.398),l(.102,.169),l(.246,.155),l(.497,.056),l(.133,.056),l(.215,.438),l(.161,.65),l(.445,.79),l(.49,-.071),l(.223,-.142),l(.245,.452),l(.344,1.469),l(.531,1.059),l(.649,1.2),l(.069,.593),l(-.014,.522),l(.26,.353),l(.378,.154),l(.389,-.17),l(.234,-.198),l(.588,.804),l(.258,.579),l(.464,.253),l(.281,.014),l(.133,.311),l(-.196,.537),l(-.136,.127),l(-.691,.595),l(-.254,-.042),l(-.251,-.409),l(-.24,-.734),l(-.617,-.578),l(-.625,-.309),l(-.516,-.479),l(-.834,-.507),l(-1.143,-.986),l(-.416,-.451),l(-.162,-.269),l(.216,-.989),l(-.035,-.254),l(-.488,-1.002),l(-.238,-.381),l(-.327,-.282),l(-.44,-.098),l(-.5,-.31),l(-.675,-.677),l(-.305,.142),l(-.363,-.056),l(-1.262,-.746),l(-.722,-.31),l(-.896,-.973),l(-.139,-.127),l(-.246,-.254),l(.679,.15),l(.599,.013),l(.588,-.284),l(.244,-.326),l(.093,-.636),l(-.01,-.184),l(-.458,-.635),l(-.466,-.452),l(-1.1,-.888),l(-.986,-.493),l(-.402,-.338),l(-.203,-.522),l(-.272,-.649),l(-.091,-.155),l(-.447,-.126),l(-.15,-.353),l(-.026,-.594),l(-.203,-.395),l(-.623,-.734),l(-.434,-.706),l(-.003,-.254),l(.212,-.382),l(-.777,-.62),l(-.254,-.325),l(-.22,-.485),l(.34,-.017),l(2.367,-.155),l(2.381,-.084),l(.316,.31),l(.267,.154),l(1.186,.39),l(2.811,.933),l(3.516,1.112),l(.338,.055),l(1.662,.019),l(1.544,.02),l(.966,.037),l(1.867,-.011),l(.213,-.101),l(.096,-.892),l(1.858,.003),l(1.892,.046),l(.209,.112),l(.631,.662),l(.766,.632),l(.837,.519),l(.708,.491),l(.179,.226),l(.284,.678),l(.318,.847),l(.445,.549),l(1.092,.659),l(1.104,.503),l(.337,.069),l(.501,.011),l(.416,-.158),l(.283,-.37),l(.418,-.413),l(.576,-.541),l(.468,-.201),l(.643,-.018),l(.475,.082),l(.783,.321),l(.412,.252),l(.363,.366),l(.663,1.029),l(.744,1.227),l(.845,1.042),l(.657,.576),l(.268,.253),l(.078,.467),l(.332,.932),l(.336,.592),l(.375,.365),l(.921,.32),l(1.029,.56),l(.264,.069),l(.416,-.116),l(.296,-.001),l(.816,.377),l(.347,.119),
-N(507.047,133.665),l(.055,.197),l(.134,.691),l(-.336,-.028),l(-.513,.513),l(.421,.194),l(.418,-.206),l(.306,.021),l(.698,1.84),l(-.644,.044),l(-1.07,-.05),l(-.185,-.239),l(-.334,-.619),l(-.408,-.054),l(-1.657,-.259),l(.521,-.568),l(.463,-.609),l(.343,-.693),l(.518,-.13),l(1.271,-.044),
-N(606.155,150.953),l(.595,.152),l(.255,.14),l(.25,-.129),l(.273,-.368),l(.015,-.678),l(-.152,-.93),l(.228,-.185),l(.401,-.144),l(.191,-.354),l(-.146,-1.594),l(.133,-.283),l(.811,.32),l(.391,.11),l(.309,.013),l(.17,-.128),l(1.148,-2.25),l(0,-.324),l(-.192,-.408),l(.045,-.212),l(.938,-1.134),l(.136,-.382),l(-.057,-.761),l(.197,-.354),l(1.446,-.883),l(.719,-.512),l(.312,-.129),l(.558,.082),l(.853,.221),l(.295,-.058),l(-.184,-.718),l(.072,-.283),l(.596,-.582),l(.112,-.24),l(.018,-.508),l(.001,-.127),l(.306,-.34),l(.277,-.044),l(.504,.279),l(.397,.435),l(.243,.901),l(.217,.309),l(.287,.041),l(.504,-.031),l(.146,.14),l(.195,1.649),l(.02,.875),l(-.353,.862),l(-.429,.722),l(-.611,.525),l(-.487,.271),l(-.191,.198),l(-.617,.85),l(.075,.465),l(.163,.705),l(-.224,.58),l(0,.268),l(.216,.069),l(.312,-.086),l(.819,-.442),l(.771,-.089),l(.479,-.017),l(.156,.126),l(.277,1.762),l(.202,.324),l(.554,-.074),l(.521,.096),l(.033,.268),l(-.729,1.584),l(.117,.352),l(.228,.098),l(.507,-.003),l(.481,-.045),l(.291,.379),l(.341,.746),l(.378,.266),l(.246,.083),l(.647,-.159),l(.628,-.413),l(.111,.38),l(.153,.239),l(-.502,.355),l(-.53,.61),l(-.442,.581),l(-.582,.455),l(-.193,.185),l(-.08,.085),l(-.158,.071),l(-.645,.06),l(-.436,.172),l(-.528,.342),l(-.394,.595),l(-1.078,.316),l(-.62,.018),l(-.474,-.082),l(-.362,.411),l(-.143,.368),l(-.036,.819),l(-.114,.509),l(.064,.409),l(-.086,.24),l(-.163,.001),l(-.588,.131),l(.739,.884),l(.069,.183),l(.112,.875),l(.254,.14),l(1.091,.953),l(.148,.324),l(.646,1.041),l(.163,.338),l(-.194,.241),l(-.451,.229),l(-.128,.226),l(.231,1.185),l(-.171,.198),l(-.812,.428),l(.178,.38),l(.6,1.436),l(.54,.477),l(.606,.604),l(.203,.479),l(.088,.663),l(-.086,.636),l(.006,.254),l(.488,1.183),l(.586,1.225),l(-.077,.297),l(-1.011,1.559),l(-1.01,1.7),l(-.098,.374),l(-.359,-.181),l(-.075,-.805),l(.461,-.665),l(.174,-.495),l(.122,-.777),l(.287,-.466),l(-.512,-.027),l(-.104,-.084),l(-.004,-.282),l(.195,-.509),l(-.177,-1.524),l(-.246,-.832),l(-.639,-1.185),l(-.488,-1.312),l(-.347,-.846),l(-.179,-.875),l(-.174,-1.736),l(-.117,-.677),l(-.034,-.564),l(-.051,-.212),l(-.344,-.084),l(-.148,-.098),l(-.304,-.917),l(-.516,-.677),l(-.226,-.225),l(-.247,.029),l(-.081,.988),l(-.158,.424),l(-.43,.41),l(-.59,.284),l(-1.089,.511),l(-.359,.622),l(-.298,.297),l(-.196,.142),l(-.237,-.282),l(-.007,-.438),l(-.212,.015),l(-.338,.354),l(-.321,-.013),l(-.166,-.211),l(.147,-.495),l(-.001,-.113),l(-.621,.171),l(-.276,.127),l(-.247,.283),l(-.355,-.126),l(-.002,-.466),l(.553,-1.54),l(.162,-.791),l(.001,-.889),l(-.101,-1.059),l(-.384,-.973),l(-.431,-1.072),l(-.196,-.296),l(-.281,.537),l(-.32,-.126),l(-.526,-.366),l(.482,-.17),l(.312,-.015),l(-.149,-.479),l(-.054,-.268),l(-.684,-.775),l(-.182,-.183),l(-.19,-.028),l(-.407,.1),l(-.38,-.267),l(.086,-.438),l(-.026,-.141),l(-.209,-.112),l(-.365,.043),l(-.577,-.465),l(-.504,-.606),l(-.117,-.244),l(.252,-.341),l(.801,-.527),l(-.194,-1.607),
-N(605.297,153.429),l(-.126,-.264),l(-.269,-.55),l(-.223,-1.213),l(-.611,-1.41),l(-.357,-.395),l(-.73,.354),l(-.393,0),l(-.034,-.084),l(-.242,-.211),l(-.356,-.592),l(-.124,-.042),l(-.152,.127),l(-.026,.537),l(.374,.79),l(-.006,.424),l(-.143,.169),l(-.455,.086),l(-.235,.537),l(-.261,.1),l(-.255,-.437),l(-.311,-.395),l(-.073,-.057),l(-.163,.669),l(-.28,.249),l(-.203,.043),l(-.271,-.536),l(-.495,.636),l(-.359,-.265),l(-.147,-.532),l(-.402,-1.775),l(-.325,-1.409),l(-.352,-.45),l(-.04,-.254),l(.505,-.765),l(.029,-.269),l(-.193,-.21),l(-1.042,-.431),l(-.339,-.323),l(.548,-.61),l(.4,-.299),l(.502,-.13),l(.382,-.101),l(.047,-.155),l(-.126,-.112),l(-1.224,-.938),l(-.494,-.237),l(-.083,-.155),l(.124,-.283),l(.555,-.525),l(.234,-.171),l(1.252,.303),l(.339,.266),l(.372,.266),l(.489,-.06),l(.417,.054),l(.129,.324),l(.053,.479),l(.079,.719),l(.095,.099),l(.537,.109),l(.547,.053),l(.916,-.062),l(.559,-.003),l(2.473,.198),l(.111,.098),l(.057,.127),l(-.012,.79),l(-.159,.34),l(-.938,.767),l(-.498,.13),l(-.651,.356),l(-.131,.283),l(.009,.522),l(.001,.381),l(.23,.281),l(.249,.267),l(.529,.448),l(.224,-.354),l(.395,-1.159),l(.281,-.115),l(.4,-.044),l(.064,.578),l(.627,2.479),l(.037,.466),l(.194,1.607),l(-.801,.527),l(-.252,.341),
-N(627.408,186.411),l(-.086,.337),l(-.495,.35),l(-.11,.575),l(-.644,.089),l(-.05,-.478),l(-.309,-.163),l(-.279,.28),l(-.244,.394),l(-.204,-.083),l(-.118,-.239),l(.213,-.398),l(-.041,-.21),l(-.055,-.226),l(-.261,-.238),l(-.447,-.119),l(-.106,-.466),l(-.571,.013),l(-.448,.17),l(.013,-.104),l(.128,-.297),l(-.15,-.183),l(-.411,.212),l(-.301,-.07),l(-.38,-.38),l(-.116,-.508),l(.064,-.282),l(-.151,-.438),l(-.229,-.169),l(-.388,.043),l(-.39,-.719),l(-.209,-.508),l(-.3,-.324),l(-.311,-.155),l(-.456,-.395),l(-.343,.1),l(-.218,.142),l(-.216,-.381),l(-.04,-.607),l(.163,-.749),l(.559,-1.738),l(.29,-.848),l(-.087,-.044),l(.098,-.374),l(1.01,-1.7),l(1.011,-1.559),l(.077,-.297),l(-.586,-1.225),l(-.488,-1.183),l(-.006,-.254),l(.086,-.636),l(-.088,-.663),l(-.203,-.479),l(-.606,-.604),l(-.54,-.477),l(-.6,-1.436),l(-.178,-.38),l(.812,-.428),l(.171,-.198),l(-.231,-1.185),l(.128,-.226),l(.451,-.229),l(.194,-.241),l(-.163,-.338),l(-.646,-1.041),l(-.148,-.324),l(-1.091,-.953),l(-.254,-.14),l(-.112,-.875),l(-.069,-.183),l(-.739,-.884),l(.588,-.131),l(.163,-.001),l(.086,-.24),l(-.064,-.409),l(.114,-.509),l(.036,-.819),l(.143,-.368),l(.362,-.411),l(.474,.082),l(.62,-.018),l(1.078,-.316),l(.394,-.595),l(.528,-.342),l(.436,-.172),l(.645,-.06),l(.158,-.071),l(.08,-.085),l(.541,.166),l(.295,.182),l(.118,.168),l(.01,.423),l(-.106,.805),l(.066,.367),l(.186,.154),l(.423,-.003),l(.489,-.2),l(.414,-.045),l(.045,.113),l(.249,1.311),l(-.085,.41),l(-.528,1.569),l(-.117,.438),l(-.027,.494),l(.145,.324),l(.481,.138),l(.37,-.411),l(1.173,-1.178),l(.346,-.03),l(.835,.348),l(.59,.265),l(.223,-.072),l(.543,-.257),l(.2,-.538),l(.286,-.453),l(.403,.012),l(.893,.192),l(.266,.153),l(.052,.282),l(.285,.535),l(.688,.659),l(.435,.632),l(.058,1.524),l(.107,.366),l(.255,.464),l(.979,1.279),l(.419,.703),l(.157,.507),l(.002,.945),l(-.121,.438),l(-.808,.64),l(-.301,-.167),l(-.599,-.109),l(-.575,-.039),l(-.558,.074),l(-.798,-.066),l(-1.172,.091),l(-.383,.101),l(-.521,.441),l(-.92,1.233),l(-.146,.297),l(-.076,.382),l(.026,.635),l(.219,.648),l(.487,.717),l(.16,.479),l(-.146,.176),l(-.026,-.063),l(-.286,-.183),l(-.458,-.084),l(-.9,-.887),l(-.434,-.154),l(-.304,-.014),l(-.572,.227),l(-.391,-.112),l(-.29,-.141),l(-.337,-.014),l(0,-.282),l(.19,-1.243),l(-.107,-.184),l(-.719,-.055),l(-.248,-.084),l(-.521,.043),l(-.443,.212),l(-.244,.297),l(.207,.593),l(-.103,.339),l(-.318,.707),l(.083,.579),l(.054,.41),l(-.293,.664),l(-.583,1.187),l(-.7,1.682),l(-.255,1.314),l(.104,1.171),l(.172,.296),l(.229,.169),l(.55,-.072),l(.396,-.142),l(.252,.07),l(.135,.353),l(.009,.325),l(-.08,.466),l(.141,.282),l(.178,.211),l(.271,-.094),l(.17,.46),l(.209,.974),l(-.032,.254),l(.127,.737),l(.434,.871),l(.167,.155),l(.801,.281),l(.539,.112),l(.467,-.058),l(.294,.197),l(.266,.612),l(.664,.544),l(.212,.145),
-N(204.31,158.989),l(-.175,.412),l(.612,-.173),l(.026,.429),l(-.419,1.241),l(.178,.269),l(-.237,.795),l(.189,.318),l(-.092,.397),l(-.358,.875),l(-.3,.35),l(-.36,.032),l(-.054,.286),l(-.388,.238),l(0,.286),l(-.69,.016),l(.215,-4.297),l(-.025,-.329),l(.278,-.095),l(.386,.27),l(.599,-.857),l(.178,-.447),l(.437,-.016),
-N(200.276,169.481),l(-.151,-.056),l(-.928,-.342),l(-.614,.032),l(-.766,-.032),l(-.608,-.239),l(-.909,-.656),l(-.513,-.419),l(-.044,-.454),l(-.054,-.553),l(.207,-.238),l(-.305,-.397),l(1.076,-1.812),l(1.06,-.007),l(1.762,.007),l(.211,-.683),l(-.532,-.223),l(-.359,-.69),l(-.624,-.231),l(-.495,-.541),l(-.396,-.223),l(.999,-.032),l(.04,-1.24),l(1.792,.005),l(2.332,.006),l(-.215,4.297),l(.69,-.016),l(.303,.095),l(.311,.302),l(.14,-.191),l(-.066,-.381),l(.336,.157),l(.458,.367),l(-1.507,1.208),l(-.499,.238),l(-.177,.493),l(.162,.604),l(-.438,.302),l(-.467,.048),l(-.043,.254),l(.164,.159),l(-.351,.111),l(-.184,.302),l(-.22,-.016),l(-.565,.461),l(-.012,.223),
-N(204.413,165.093),l(.312,-.03),l(.612,-.27),l(.639,-.058),l(.743,.126),l(.478,.069),l(1.443,.04),l(.699,-.228),l(.379,-.199),l(.567,.267),l(.788,-.03),l(.763,-.101),l(.63,-.001),l(.5,.126),l(.564,.253),l(-.038,.353),l(-.102,.226),l(.228,.282),l(.787,.238),l(.557,.069),l(.244,.524),l(-1.425,.486),l(-.424,.229),l(-.248,.086),l(-.463,-.097),l(-.328,-.182),l(-.259,-.013),l(-.294,.242),l(-.503,.794),l(-1.207,.997),l(-.725,-.42),l(-.513,.583),l(-.882,.034),l(-.005,.961),l(-.293,.412),l(-.29,.143),l(-1.001,.125),l(-.311,-.661),l(-.025,-.085),l(-.478,-.3),l(.085,-.731),l(-.128,-.175),l(-.272,0),l(-.541,-.276),l(-.433,.34),l(-.365,-.016),l(-.066,-.271),l(-.565,-.35),l(-.409,-.08),l(-.208,-.418),l(-.677,-.17),l(.438,-.302),l(-.162,-.604),l(.177,-.493),l(.499,-.238),l(1.507,-1.208),
-N(205.532,170.085),l(.035,.076),l(-.203,.057),l(.01,.265),l(-.237,.334),l(-.68,-.046),l(-.853,-.139),l(-1.697,-.505),l(-1.305,-.435),l(-.325,-.21),l(.012,-.223),l(.565,-.461),l(.22,.016),l(.184,-.302),l(.351,-.111),l(-.164,-.159),l(.043,-.254),l(.467,-.048),l(.677,.17),l(.208,.418),l(.409,.08),l(.565,.35),l(.066,.271),l(.365,.016),l(.433,-.34),l(.541,.276),l(.272,0),l(.128,.175),l(-.085,.731),
-N(242.38,173.617),l(-.128,-.105),l(-.84,.171),l(-.534,.156),l(-.414,.2),l(-.056,.288),l(.048,.497),l(-.129,.396),l(-.227,-.027),l(-.381,.059),l(-.99,1.758),l(-.172,.722),l(-.241,.722),l(-.709,1.191),l(.402,.025),l(.234,-.1),l(.384,-.017),l(.31,.606),l(.855,1.45),l(.103,.395),l(-.226,1.132),l(.099,.353),l(.401,.309),l(.429,.548),l(.397,.252),l(.496,-.017),l(1.163,-.12),l(1.167,-.05),l(.521,.181),l(.64,.321),l(.188,.253),l(.847,.998),l(.554,.576),l(.144,0),l(.522,-.13),l(.76,-.174),l(1.99,-.224),l(.644,.081),l(-.409,.525),l(-.085,1.004),l(-.379,.511),l(-.147,.326),l(.026,.254),l(.035,.438),l(.048,.367),l(.162,.804),l(.447,.789),l(.256,.437),l(.486,.647),l(.121,.282),l(-.731,.612),l(-.479,.526),l(.51,.491),l(.797,1.182),l(-.52,.286),l(-.834,.57),l(-.412,.158),l(-.463,.017),l(-2.812,-.082),l(-.64,-.024),l(-.042,.325),l(-.013,1.031),l(.178,.154),l(.896,.122),l(.177,.084),l(.293,.408),l(.052,.367),l(-.384,-.04),l(-.417,-.11),l(-.687,.032),l(-.493,.187),l(-.111,.085),l(-.001,1.071),l(0,.554),l(.192,.197),l(.688,.363),l(.192,.183),l(-.031,.777),l(.399,.562),l(.031,.212),l(-.326,1.428),l(-.706,4.411),l(-.073,.382),l(-.133,.198),l(-.156,-.14),l(-.575,-.703),l(-.237,-.126),l(-.161,.058),l(-.448,.031),l(1.155,-1.956),l(.035,-.198),l(-.127,-.069),l(-1.299,-.84),l(-.509,-.209),l(-.708,.442),l(-.397,-.182),l(-.523,-.421),l(-.452,.427),l(-.337,.157),l(-.496,.031),l(-1.038,-.008),l(-.573,-.152),l(-.092,-.281),l(.004,-.396),l(-.173,-.296),l(-.479,-.039),l(-.366,-.14),l(-.078,-.282),l(-.251,-.761),l(-.988,-.672),l(-.526,-.364),l(-.208,-.62),l(-.208,-.324),l(-.513,-.435),l(-.897,-.418),l(-.927,-.107),l(-.081,-.112),l(-.269,-.162),l(-.197,-.118),l(-.709,-.631),l(-.128,-.056),l(-.89,.401),l(-.67,.061),l(-.977,-.277),l(-.355,-.309),l(-.166,-.493),l(-.227,-.225),l(-1.432,-.656),l(-1.496,-.803),l(.033,-.068),l(-.117,-.311),l(-.181,-.282),l(.108,-.212),l(.509,-.114),l(.465,.112),l(.186,-.325),l(-.348,-.564),l(.086,-.424),l(.314,-.227),l(.878,-.058),l(.193,.042),l(.41,-.227),l(.445,-.679),l(.45,-.961),l(.651,-1.061),l(-.122,-.268),l(-.56,-.408),l(-.071,-.184),l(.306,-.721),l(.089,-.523),l(-.149,-.861),l(-.371,-.86),l(.085,-.254),l(.49,-.143),l(.135,-.212),l(-.088,-.198),l(-.565,-.479),l(-.042,-.226),l(.103,-.198),l(.242,-.326),l(.036,-.254),l(-.173,-.282),l(-.739,-.719),l(-.364,-.396),l(.256,-.753),l(.228,-.082),l(-.045,-.45),l(.19,.082),l(.085,.307),l(.584,-.409),l(.094,-.43),l(.322,-.062),l(-.509,-1.038),l(-.228,-.149),l(-.084,-.327),l(.142,.075),l(.42,.338),l(.397,.507),l(.22,.508),l(.235,.197),l(.199,-.17),l(.147,-.241),l(-.332,-.776),l(.02,-.212),l(.176,-.297),l(.445,-.34),l(.399,-.297),l(.501,-.736),l(.327,-.156),l(.684,-.101),l(.217,-.382),l(-.104,-.381),l(.174,-.777),l(.067,-.65),l(.207,-.48),l(.498,-.439),l(.429,-.283),l(.592,-.242),l(.113,0),l(.374,.206),l(.22,.443),l(.281,-.34),l(.031,-.438),l(.199,-.551),l(.22,-.071),l(.267,.126),l(.855,.041),l(.562,-.001),l(.623,-.27),l(.237,-.254),l(.476,-.298),l(.848,-.256),l(.435,-.396),l(.278,-.551),l(.333,-.255),l(.469,-.17),l(.58,.013),l(.526,.338),l(.155,.126),l(.155,.339),l(-.285,.332),
-N(408.6,174.04),l(-.062,.777),l(.164,.762),l(.388,.718),l(-.316,.962),l(-.19,.566),l(-.223,.298),l(-.656,.414),l(-.095,.34),l(.116,.592),l(-.078,.368),l(-.433,.13),l(-.257,.03),l(-.237,.397),l(.002,.381),l(.003,.48),l(-.012,.876),l(-.09,.989),l(.217,1.439),l(-.121,1.188),l(.006,.234),l(-.333,.015),l(-1.232,.144),l(-.669,.052),l(-.106,-.205),l(-.295,-1.072),l(.188,-.708),l(.026,-.833),l(-.036,-.537),l(-.135,-.974),l(-.006,-.862),l(-.035,-.522),l(.013,-.579),l(-.442,-1.311),l(-.164,-.691),l(-.403,-.323),l(-.468,-.294),l(-.18,-.395),l(.141,-.594),l(.046,-.424),l(.062,-.142),l(.24,-.157),l(.366,-.553),l(.415,-.271),l(.418,-.045),l(.739,.095),l(.337,-.158),l(.415,-.468),l(.237,-.764),l(-.131,-.367),l(.577,-.3),l(.321,-.073),l(.339,.28),l(.727,.589),l(.902,.503),
-N(394.266,178.814),l(.191,-.17),l(-.02,-.41),l(-.261,-1.934),l(.125,-.34),l(.271,-.157),l(2.119,-.041),l(.867,.037),l(1.429,.006),l(.976,-.458),l(.161,.032),l(.595,.119),l(-.25,.849),l(.05,.254),l(.633,.915),l(.244,.451),l(-.188,.721),l(.02,.396),l(.265,1.114),l(.181,.592),l(.503,.788),l(.032,.155),l(-.286,.242),l(-.174,.382),l(.01,1.314),l(-.011,.72),l(.021,.551),l(.18,.479),l(.468,.577),l(.752,.608),l(-.503,.682),l(-.304,.099),l(-.593,-.013),l(-.992,.144),l(-.463,.185),l(-.188,.098),l(-.898,.469),l(-1.263,.398),l(-.942,.412),l(-.958,.567),l(-.578,-.324),l(-.945,-.436),l(-.074,-.124),l(-.066,-.741),l(-.554,-1.155),l(-.263,-.747),l(-.103,-.706),l(.327,-1.005),l(.437,-1.274),l(.521,-.851),l(.203,-.595),l(-.334,-1.438),l(-.189,-1.285),l(-.178,-.154),
-N(400.72,175.499),l(1.013,.163),l(.611,.166),l(.29,.041),l(-.046,.424),l(-.141,.594),l(.18,.395),l(.468,.294),l(.403,.323),l(.164,.691),l(.442,1.311),l(-.013,.579),l(.035,.522),l(.006,.862),l(.135,.974),l(.036,.537),l(-.026,.833),l(-.188,.708),l(.295,1.072),l(.106,.205),l(-.452,.035),l(-.479,.128),l(-.368,.212),l(-.023,.04),l(-.752,-.608),l(-.468,-.577),l(-.18,-.479),l(-.021,-.551),l(.011,-.72),l(-.01,-1.314),l(.174,-.382),l(.286,-.242),l(-.032,-.155),l(-.503,-.788),l(-.181,-.592),l(-.265,-1.114),l(-.02,-.396),l(.188,-.721),l(-.244,-.451),l(-.633,-.915),l(-.05,-.254),l(.25,-.849),
-N(383.772,190.418),l(.041,-.919),l(.105,-.565),l(.247,-.849),l(.059,-.452),l(-.131,-.282),l(-1.264,-1.334),l(-.592,.032),l(-.369,-.097),l(-.194,-.183),l(-.05,-.183),l(.501,-.865),l(.059,-.438),l(-.119,-.55),l(.062,-.17),l(.047,-.099),l(.602,-.554),l(.188,-.354),l(-.179,-.21),l(-.296,-.549),l(.03,-.127),l(.158,-.199),l(.304,-.03),l(.548,.223),l(.304,.012),l(.19,-.143),l(-.051,-.226),l(-.648,-.561),l(-.309,-.351),l(.332,-.37),l(.125,-.283),l(-.197,-.31),l(-.695,-.405),l(-.214,-.409),l(.264,-.623),l(.379,-.397),l(.522,-.54),l(.352,-.059),l(.566,.321),l(.455,.436),l(.35,-.228),l(.362,-.469),l(.571,-.483),l(.239,-.114),l(.257,.041),l(.147,.211),l(.004,.297),l(.117,.381),l(.148,.239),l(.352,-.059),l(.604,-.399),l(.159,-.1),l(.259,.168),l(.545,-.003),l(.308,.252),l(.15,.465),l(.52,.562),l(.452,.223),l(.354,.083),l(.368,-.115),l(.446,-.257),l(.608,-.159),l(.769,-.075),l(.644,.166),l(.63,.434),l(.178,.154),l(.189,1.285),l(.334,1.438),l(-.203,.595),l(-.521,.851),l(-.437,1.274),l(-.327,1.005),l(.103,.706),l(.263,.747),l(.554,1.155),l(.066,.741),l(-.119,-.201),l(-.289,-.197),l(-.208,.015),l(-.143,.24),l(-.096,.042),l(-.48,-.027),l(-.705,-.167),l(-.608,-.083),l(-2.352,.062),l(-1.279,.243),l(-.575,.199),l(-1.07,.369),l(-1.739,.781),l(-.701,.425),l(-.256,-.013),l(-.075,-.032),
-N(627.408,186.411),l(.035,.024),l(.523,.098),l(1.061,1.198),l(.693,.916),l(.506,.762),l(.081,.579),l(-.023,.805),l(-.134,.862),l(.07,1.073),l(-.07,.636),l(.097,.494),l(.196,.381),l(.53,.493),l(.338,.536),l(.705,1.608),l(.062,.127),l(-.366,-.069),l(-.895,-.055),l(-.401,.142),l(-.175,-.07),l(-.521,-.437),l(-.885,-.605),l(-.6,-.337),l(-1.231,-.675),l(-1.02,-.732),l(-.217,-.254),l(-.16,-.988),l(-.438,-.691),l(-.895,-.817),l(-.195,-.663),l(.039,-.494),l(.03,-.283),l(-.107,-.409),l(-.399,-.634),l(-.347,-1.849),l(-.188,-.72),l(.043,-.362),l(.448,-.17),l(.571,-.013),l(.106,.466),l(.447,.119),l(.261,.238),l(.055,.226),l(.041,.21),l(-.213,.398),l(.118,.239),l(.204,.083),l(.244,-.394),l(.279,-.28),l(.309,.163),l(.05,.478),l(.644,-.089),l(.11,-.575),l(.495,-.35),l(.086,-.337),M(643.95,196.042),l(.081,.044),l(.375,.408),l(.397,.141),l(.861,.083),l(.413,.168),l(.761,.436),l(.335,.042),l(.337,-.1),l(-.503,-.535),l(.169,-.551),l(.365,-.608),l(.528,-1.258),l(.584,-.27),l(1.481,-.342),l(1.018,-.299),l(.428,-.326),l(.524,-1.021),l(.523,-.323),l(.87,-1.117),l(.22,-.212),l(.244,-.147),l(.112,-.068),l(.084,.126),l(.062,.37),l(.234,-.012),l(.111,.259),l(.309,.271),l(.383,-.271),l(1.234,-.42),l(-.025,-.086),l(-.197,-.197),l(.013,-.247),l(.024,-.111),l(-.148,-.444),l(-.11,-.174),l(.167,-.042),l(.188,.143),l(.085,-.016),l(.449,-.084),l(.161,-.283),l(-.036,-.24),l(-.478,-.366),l(.197,-.396),l(.436,-.071),l(.511,.041),l(.154,-.605),l(.408,-.313),l(.284,-.48),l(.531,-.58),l(.498,-1.032),l(.075,-.17),l(.322,.465),l(.33,.098),l(.315,-.424),l(.305,.494),l(.351,.282),l(.402,.211),l(.075,.338),l(-.182,.354),l(-.234,.452),l(.037,.198),l(.631,-.128),l(.472,-.128),l(.115,.226),l(-.349,.495),l(.742,-.1),l(.357,-.085),l(.269,.056),l(1.035,.662),l(.345,.14),l(.1,.24),l(-.158,.269),l(-.201,.155),l(-.44,.143),l(-.594,.029),l(-.683,-.083),l(-.355,.311),l(.096,.254),l(.888,.69),l(-.161,.311),l(-.458,.199),l(-.646,.1),l(-.518,.114),l(-.067,.15),l(-.182,-.09),l(-.753,-.292),l(-.446,-.04),l(-.624,.018),l(-.651,-.081),l(-.748,-.081),l(-.464,.017),l(-.247,.157),l(-.381,.638),l(-.119,.565),l(.106,.988),l(-.22,.383),l(-.646,.244),l(-.218,.34),l(.076,.748),l(-.928,1.785),l(-.387,.299),l(-.864,.175),l(-.465,.172),l(-.467,.356),l(-.287,.03),l(-.559,-.152),l(-.524,-.223),l(-.557,-.251),l(-.431,-.11),l(-.479,.074),l(-.531,.441),l(-.403,.525),l(-.528,.342),l(-.399,.172),l(-.543,-.11),l(-.526,-.223),l(-.255,.001),l(-.928,.416),l(-.446,-.28),l(-.304,-.083),l(-1,-.983),l(-.253,-.295),l(-.288,-.792),
-N(274.556,195.884),l(.06,-.212),l(-.332,-.563),l(-.49,-1.127),l(-.246,-.832),l(-.185,-.295),l(-.561,-.067),l(-.532,-.675),l(-.571,-.831),l(.328,-.694),l(.095,-.467),l(-.078,-.777),l(.169,-.17),l(1.131,-.091),l(.183,-.27),l(.082,-.862),l(.142,-.496),l(.015,-.339),l(.326,-.312),l(.382,-.057),l(1.392,.463),l(.465,.042),l(.083,-.41),l(.141,-.085),l(.337,.027),l(.833,.012),l(.863,-.03),l(.723,.069),l(.63,.182),l(.999,.427),l(-.647,.876),l(-.391,.751),l(-.137,.594),l(.094,.381),l(.134,.635),l(.086,.664),l(.521,.844),l(.029,.438),l(-.424,1.472),l(-.489,.963),l(-1.05,-.488),l(-.319,.001),l(-.534,.385),l(-.398,.059),l(-.418,-.139),l(-.642,-.124),l(-.172,.156),l(-.2,.326),l(.611,1.014),l(-.528,-.054),l(-1.108,-.276),l(-.4,-.04),
-N(285.859,190.719),l(.015,.422),l(-1.102,1.646),l(-.427,.765),l(-.439,.992),l(-.464,.681),l(-.299,.214),l(-.56,-.025),l(-1.11,-.389),l(-.882,.613),l(-.225,-.069),l(-.649,-.505),l(.489,-.963),l(.424,-1.472),l(-.029,-.438),l(-.521,-.844),l(-.086,-.664),l(-.134,-.635),l(-.094,-.381),l(.137,-.594),l(.391,-.751),l(.647,-.876),l(.218,.093),l(1.033,.294),l(.55,.196),l(.799,.549),l(1.264,1.084),l(.545,.564),l(.317,.465),l(.193,.028),
-N(429.505,210.684),l(-.695,-.533),l(-.351,.13),l(-.68,.513),l(-.536,.414),l(-.112,-.177),l(-.392,-.86),l(-1.381,-1.344),l(.184,-.295),l(.413,-.229),l(.803,.307),l(.343,-.681),l(-.052,-.296),l(-.274,-.253),l(-.39,-.521),l(-.116,-.366),l(.058,-.495),l(.127,-.1),l(.909,-.146),l(.604,-.243),l(.125,-.213),l(.167,-.807),l(.174,-.185),l(.239,-.029),l(.193,.14),l(.341,.479),l(.405,.521),l(.386,.195),l(.287,-.016),l(.188,-.228),l(.362,-.482),l(.29,.253),l(.167,.578),l(.146,.112),l(.304,.068),l(.255,-.114),l(.184,-.68),l(.243,-1.089),l(.131,-1.229),l(.229,-1.047),l(-.114,-.338),l(-.161,-.127),l(-.384,-.082),l(-.528,-.208),l(-.242,-.31),l(-.132,-.437),l(.008,-.109),l(.021,-.3),l(.157,-.284),l(.492,-.398),l(.556,-.441),l(.094,-.354),l(-.389,-.902),l(-.369,-.322),l(-.592,-.067),l(-.939,.5),l(-.463,-.025),l(-.146,-.253),l(-.068,-.734),l(.077,-.679),l(.396,-.468),l(.56,.109),l(.863,.023),l(.878,-.076),l(.271,.055),l(.479,.04),l(.56,.124),l(.576,.194),l(.864,.334),l(.863,.292),l(.271,-.086),l(-.1,-.861),l(.159,-.185),l(.303,-.312),l(.365,-.497),l(.158,-.523),l(.222,-1.287),l(.255,-.228),l(.479,-.102),l(.975,-.175),l(.367,.054),l(.624,.138),l(.895,.093),l(.751,-.287),l(.128,.197),l(-.031,.156),l(-.398,1.203),l(-.558,.837),l(-.349,.821),l(-.094,.551),l(-.156,.764),l(-.196,2.021),l(-.254,1.342),l(-.115,.61),l(-.169,.708),l(-.139,.523),l(-.459,.427),l(-.525,.229),l(-.809,.599),l(-.41,.454),l(-.47,.836),l(-.343,.751),l(-.193,1.159),l(-.074,.396),l(.122,.72),l(-.086,.706),l(-1.025,.938),l(-.364,.229),l(-.931,.811),l(-.554,.399),l(-.57,.328),l(-.147,-.211),l(-.042,-.664),l(-.054,-.424),l(-1.495,.532),l(-.327,.581),l(-.443,.271),l(-.177,-.013),l(-.484,-.336),
-N(425.506,195.522),l(.045,-.495),l(.88,.093),l(1.773,.088),l(.831,.038),l(1.022,.149),l(-.396,.468),l(-.077,.679),l(.068,.734),l(.146,.253),l(.463,.025),l(.939,-.5),l(.592,.067),l(.369,.322),l(.389,.902),l(-.094,.354),l(-.556,.441),l(-.492,.398),l(-.157,.284),l(-.021,.3),l(-.008,.109),l(.132,.437),l(.242,.31),l(.528,.208),l(.384,.082),l(.161,.127),l(.114,.338),l(-.229,1.047),l(-.131,1.229),l(-.243,1.089),l(-.184,.68),l(-.255,.114),l(-.304,-.068),l(-.146,-.112),l(-.167,-.578),l(-.29,-.253),l(-.362,.482),l(-.188,.228),l(-.287,.016),l(-.386,-.195),l(-.405,-.521),l(-.341,-.479),l(-.193,-.14),l(-.239,.029),l(-.174,.185),l(-.167,.807),l(-.125,.213),l(-.604,.243),l(-.909,.146),l(-.127,.1),l(-.058,.495),l(.116,.366),l(.39,.521),l(.274,.253),l(.052,.296),l(-.343,.681),l(-.803,-.307),l(-.413,.229),l(-.184,.295),l(-.038,-.037),l(-.563,-.493),l(-.532,-.55),l(-.259,-.466),l(-1.318,-1.169),l(.286,-.312),l(-.369,-.281),l(-.528,-.056),l(-.918,-1.438),l(.382,-.297),l(.111,-.1),l(-.321,-.395),l(-.464,-.14),l(-.29,-.564),l(-.369,-.451),l(.319,-.17),l(.541,-.411),l(.223,-.396),l(.291,-.976),l(.089,-.295),l(.415,.07),l(.495,.013),l(-.064,-.211),l(-.56,-.352),l(-.561,-.451),l(.208,-.042),l(.271,-.128),l(.142,-.617),l(.83,-.043),l(.927,.008),l(1.245,.021),l(.575,-.032),l(-.001,-.155),l(-.02,-.551),l(-.026,-1.836),
-N(422.536,195.513),l(1.005,-.007),l(1.965,.017),l(.026,1.836),l(.02,.551),l(.001,.155),l(-.575,.032),l(-1.245,-.021),l(-.927,-.008),l(-.83,.043),l(.033,-.146),l(-.049,-.297),l(-.144,-.084),l(-.416,-.098),l(.287,-.467),l(.447,-.523),l(.335,-.58),l(.066,-.403),M(419.636,193.273),l(-.484,-.049),l(-.049,-.218),l(.049,-.291),l(.242,-.097),l(.024,-.146),l(0,-.291),l(.17,-.097),l(.169,-.121),l(.219,.048),l(.218,.048),l(.097,.194),l(-.193,.169),l(-.146,.243),l(-.17,.339),l(-.146,.267),
-N(222.291,207.801),l(.188,-.126),l(.264,-.312),l(.585,-1.061),l(.038,-.269),l(-.209,-.733),l(.058,-.391),l(-.478,.617),l(-.732,.623),l(-.333,-.098),l(-.601,-.324),l(-.408,-.408),l(.389,-.283),l(.1,-.24),l(-.167,-.579),l(.005,-.438),l(.133,-.466),l(-.109,-.282),l(-.362,-.649),l(.193,-.17),l(.48,-.198),l(.721,-.454),l(-.319,-.395),l(0,-.226),l(.175,-.354),l(.497,-.462),l(.157,-.146),l(.14,-.848),l(-.116,-.452),l(-.082,-.184),l(.11,-.226),l(.686,-.101),l(.891,-.341),l(.396,-.241),l(.474,-.382),l(.09,-.186),l(1.496,.803),l(1.432,.656),l(.227,.225),l(.166,.493),l(.355,.309),l(.977,.277),l(.67,-.061),l(.89,-.401),l(.128,.056),l(.709,.631),l(.197,.118),l(.269,.162),l(.081,.112),l(.387,.76),l(.321,.789),l(-.08,.255),l(-.352,.384),l(-.547,1.147),l(-.533,.779),l(-.71,.725),l(-1.001,.755),l(-.336,.087),l(-1.028,.303),l(-.901,.358),l(-.809,.499),l(-.59,.653),l(-.284,.51),l(-.987,2.506),l(-.267,.312),l(-.242,.072),l(-.398,-.068),l(-.398,-.491),l(-.191,-.479),l(-.312,-.252),l(-.815,.005),l(-.444,-.11),l(-.105,-.197),l(-.097,-.494),l(.233,-.34),l(.029,-.495),l(.005,-.569),
-N(245.934,224.314),l(1.109,1.843),l(.922,1.646),l(.08,.24),l(-.437,.736),l(-.15,.523),l(-.143,.848),l(.057,.522),l(.236,.902),l(-.156,.34),l(-.221,.34),l(-.532,.582),l(-.102,.452),l(.347,.845),l(-.21,.368),l(-.159,.34),l(.022,.48),l(.604,1.168),l(.015,.522),l(-.285,.439),l(-.723,.61),l(-.12,.227),l(.049,.48),l(.132,.295),l(.018,.142),l(-.586,.187),l(-.15,.199),l(-.228,.933),l(-.259,.298),l(-.852,.275),l(-.201,-.517),l(-.289,-.31),l(-1.422,-.618),l(-.313,-.239),l(-.233,-.678),l(-.315,-.38),l(-.559,-.225),l(-.504,-.281),l(-.489,-.254),l(-.616,-.309),l(-.873,-.464),l(-.673,-.366),l(-.866,-.379),l(-.838,-.337),l(-1.271,-.845),l(-1.354,-.985),l(-1.232,-1.099),l(-.594,-.705),l(-.42,-.677),l(.008,-.438),l(0,-.903),l(-.269,-.606),l(-.781,-1.043),l(-1.389,-2.778),l(-.285,-.268),l(-.467,-.211),l(-.074,-.085),l(.055,-.536),l(-.02,-.396),l(-.149,-.396),l(-1.208,-2.199),l(-.997,-1.961),l(-.688,-1.27),l(-1.365,-1.917),l(-.272,-.353),l(-.598,-.973),l(-.462,-.423),l(-.75,-.437),l(-.914,-.365),l(-.61,-.365),l(.119,-.17),l(.181,-.113),l(.609,-.029),l(.144,-.41),l(-.118,-.282),l(-.592,-.874),l(-.353,-.437),l(-.258,-.72),l(.01,-.24),l(.244,-.523),l(.582,-.622),l(1.02,-.878),l(.47,-.198),l(.317,-.214),l(-.005,.569),l(-.029,.495),l(-.233,.34),l(.097,.494),l(.105,.197),l(.444,.11),l(.815,-.005),l(.312,.252),l(.191,.479),l(.398,.491),l(.398,.068),l(.242,-.072),l(.267,-.312),l(.987,-2.506),l(.284,-.51),l(.59,-.653),l(.809,-.499),l(.901,-.358),l(1.028,-.303),l(.336,-.087),l(1.001,-.755),l(.71,-.725),l(.533,-.779),l(.547,-1.147),l(.352,-.384),l(.08,-.255),l(-.321,-.789),l(-.387,-.76),l(.927,.107),l(.897,.418),l(.513,.435),l(.208,.324),l(.208,.62),l(.526,.364),l(.988,.672),l(.251,.761),l(.078,.282),l(.366,.14),l(.479,.039),l(.173,.296),l(-.004,.396),l(.092,.281),l(.573,.152),l(1.038,.008),l(.496,-.031),l(.337,-.157),l(.452,-.427),l(.523,.421),l(.397,.182),l(.708,-.442),l(.509,.209),l(1.299,.84),l(.127,.069),l(-.035,.198),l(-1.155,1.956),l(.448,-.031),l(.161,-.058),l(.237,.126),l(.575,.703),l(.156,.14),l(.136,.324),l(-.341,.186),l(-.793,-.235),l(-.493,-.096),l(-.322,.072),l(-.604,.441),l(-.371,.115),l(-.669,-.066),l(-1.895,.773),l(-.701,.442),l(-.372,.172),l(-.599,1.415),l(-.319,.511),l(-.021,.155),l(.277,.86),l(.012,.112),l(-.625,.498),l(-.62,.328),l(-.349,.342),l(-.247,.622),l(.106,.564),l(.619,.957),l(1.333,2.166),l(.106,.127),l(-.247,.495),l(-.208,.312),l(1.085,.12),l(.415,.04),l(.312,.182),l(.241,.323),l(.096,.663),l(1.843,.032),l(.762,-.499),l(.648,-.484),l(.326,-.114),l(-.059,1.511),l(-.098,1.173),l(.108,.353),l(.317,.337),l(.285,.068),l(.358,-.072),l(.786,-.259),l(.42,-.045),
-N(279.288,257.295),l(-.063,-.423),l(.027,-.777),l(.222,-.819),l(.298,-.835),l(.321,-.75),l(-.019,-.141),l(-.491,-.336),l(-.234,-.112),l(-1.29,.445),l(-.224,-.055),l(-.254,-.563),l(-.487,-2.524),l(-.121,-.437),l(-.843,-.404),l(-.724,-.278),l(-.115,.001),l(-.709,.413),l(-.346,.03),l(-.925,-.221),l(-.818,-.15),l(-.372,-.04),l(.006,-.72),l(.086,-.721),l(.132,-.862),l(-.104,-.959),l(-.521,-.872),l(-.084,-.663),l(-.253,-.408),l(.421,-.666),l(.38,-.765),l(.238,-.834),l(.185,-1.173),l(-.022,-.494),l(-.307,-.774),l(-.316,-.479),l(-.73,-.362),l(-.436,-.407),l(-.067,-.563),l(.261,-.835),l(-.042,-.296),l(-.693,-.024),l(-1.615,-.019),l(-.5,-.012),l(-.967,-.036),l(-.153,-.112),l(-.249,-.944),l(-.138,-2.032),l(-.03,-.706),l(-.203,-1.029),l(.038,-.565),l(-.085,-.169),l(-.403,-.237),l(-.537,-.166),l(-.636,-.123),l(-1.148,.077),l(-.22,-.084),l(-.398,-.308),l(-.385,-.774),l(-.096,-.014),l(-.882,-.037),l(-.3,-.098),l(-.75,-.603),l(-.688,-.307),l(-.676,-.25),l(-.355,.03),l(-.787,-.023),l(-.316,-.097),l(-1.1,-.939),l(-.813,-.928),l(-.335,-.591),l(-.141,-.635),l(-.036,-.818),l(.064,-.622),l(.079,-.621),l(-.045,-.748),l(-1.283,-.021),l(-.934,.076),l(-.36,.158),l(-.874,.485),l(-1.471,1.109),l(-.415,.243),l(-.48,-.025),l(-.336,-.026),l(-.946,.824),l(-.355,.03),l(-1.122,-.304),l(-.939,-.136),l(-.42,.045),l(-.786,.259),l(-.358,.072),l(-.285,-.068),l(-.317,-.337),l(-.108,-.353),l(.098,-1.173),l(.059,-1.511),l(-.326,.114),l(-.648,.484),l(-.762,.499),l(-1.843,-.032),l(-.096,-.663),l(-.241,-.323),l(-.312,-.182),l(-.415,-.04),l(-1.085,-.12),l(.208,-.312),l(.247,-.495),l(-.106,-.127),l(-1.333,-2.166),l(-.619,-.957),l(-.106,-.564),l(.247,-.622),l(.349,-.342),l(.62,-.328),l(.625,-.498),l(-.012,-.112),l(-.277,-.86),l(.021,-.155),l(.319,-.511),l(.599,-1.415),l(.372,-.172),l(.701,-.442),l(1.895,-.773),l(.669,.066),l(.371,-.115),l(.604,-.441),l(.322,-.072),l(.493,.096),l(.793,.235),l(.341,-.186),l(-.136,-.324),l(.133,-.198),l(.073,-.382),l(.706,-4.411),l(.326,-1.428),l(-.031,-.212),l(-.399,-.562),l(.031,-.777),l(-.192,-.183),l(-.688,-.363),l(-.192,-.197),l(0,-.554),l(.001,-1.071),l(.111,-.085),l(.493,-.187),l(.687,-.032),l(.417,.11),l(.384,.04),l(-.052,-.367),l(-.293,-.408),l(-.177,-.084),l(-.896,-.122),l(-.178,-.154),l(.013,-1.031),l(.042,-.325),l(.64,.024),l(2.812,.082),l(.463,-.017),l(.412,-.158),l(.834,-.57),l(.52,-.286),l(.148,.168),l(.138,.437),l(.161,.861),l(.088,.452),l(.199,.437),l(.432,.054),l(.694,.546),l(.482,.223),l(.414,-.073),l(.757,-.697),l(.083,.183),l(.186,.776),l(.271,-.016),l(.645,-.739),l(.74,-.654),l(.554,-.286),l(.652,-.173),l(.235,-.213),l(.259,-.666),l(.203,-.199),l(.652,-.131),l(.569,-.272),l(.265,-.27),l(-.15,-.253),l(-.434,-.125),l(-.96,-.051),l(-.166,-.239),l(-.079,-.55),l(-.302,-1.524),l(-.391,-.69),l(-.616,-.688),l(.041,-.184),l(.159,-.029),l(.309,.125),l(.896,.461),l(.385,.04),l(1.149,-.035),l(.344,.224),l(.628,.618),l(.348,-.115),l(.232,-1.117),l(.284,-.115),l(.465,.054),l(.557,-.074),l(.807,-.23),l(1.74,-.9),l(.592,-.385),l(.163,-.326),l(-.103,-.169),l(.375,-.257),l(.302,-.058),l(.516,.124),l(.26,.111),l(.04,.212),l(-.452,1.09),l(.304,-.001),l(.533,.138),l(.435,.958),l(-.179,.368),l(-.547,1.416),l(-.213,.962),l(.156,.465),l(.281,.394),l(.167,.31),l(-.072,.354),l(.008,.396),l(.15,.296),l(1.103,.897),l(.613,.392),l(.686,-.075),l(.694,-.513),l(.505,-.314),l(1,-.331),l(.934,-.429),l(.943,.022),l(.4,.04),l(1.108,.276),l(.528,.054),l(-.611,-1.014),l(.2,-.326),l(.172,-.156),l(.642,.124),l(.418,.139),l(.398,-.059),l(.534,-.385),l(.319,-.001),l(1.05,.488),l(.649,.505),l(.225,.069),l(.882,-.613),l(1.11,.389),l(.56,.025),l(.299,-.214),l(.464,-.681),l(.439,-.992),l(.427,-.765),l(1.102,-1.646),l(-.015,-.422),l(.409,-.241),l(.276,.141),l(.235,.423),l(.164,.791),l(.414,1.34),l(.108,.607),l(.472,1.383),l(.296,.55),l(.324,.324),l(.978,.21),l(.196,.338),l(.038,.551),l(-.045,.254),l(-.524,.354),l(-.933,1.414),l(-.238,.325),l(-.51,.411),l(-.41,.231),l(-.244,.138),l(-.798,.778),l(-.544,.947),l(-.419,1.018),l(-.402,.453),l(.271,.112),l(.512,-.072),l(.497,-.198),l(1.202,-.709),l(.112,-.028),l(.299,.889),l(.442,.818),l(.255,.112),l(.287,.07),l(1.135,-.031),l(.592,-.058),l(.737,-.298),l(-.277,.679),l(-.017,.584),l(.448,-.557),l(1.254,-1.006),l(.289,-.156),l(.306,-.382),l(.499,-.933),l(.272,-.396),l(.256,-.099),l(1.006,-.003),l(.352,-.198),l(.175,0),l(.687,.549),l(.654,.267),l(.32,-.028),l(.814,.28),l(1.069,.45),l(.334,.281),l(.269,.593),l(.08,.028),l(.176,-.015),l(.402,-.354),l(.319,.042),l(.302,.254),l(.538,.789),l(.205,.396),l(-.13,.254),l(-.308,.41),l(-.116,.424),l(.091,.466),l(.171,.396),l(.825,-.821),l(.369,-.156),l(.609,-.156),l(.995,-.454),l(.224,-.028),l(.367,.069),l(.764,.38),l(.907,.436),l(.462,.098),l(1.117,.167),l(1.118,.083),l(.464,-.058),l(.48,-.029),l(.577,-.171),l(.416,-.016),l(1.131,.351),l(.731,.408),l(.762,.479),l(.586,.437),l(1.595,1.395),l(.742,.662),l(.821,.605),l(.41,.338),l(.477,.196),l(.734,.168),l(1.247,.097),l(.912,.04),l(.445,.197),l(.265,.465),l(.087,.607),l(.592,2.004),l(.268,1.143),l(.062,.988),l(-.076,.579),l(-.179,.904),l(-.243,.848),l(-.559,1.301),l(-.518,.849),l(-1.347,1.175),l(-1.388,1.288),l(-.44,.198),l(-.354,.043),l(-.39,.637),l(-.094,.396),l(-.012,.353),l(-.504,1.074),l(-.6,.976),l(-.8,1.104),l(-.266,.212),l(-.194,.015),l(-.079,-.423),l(-.278,-.296),l(-.367,-.084),l(-.064,.79),l(-.538,1.64),l(-.049,.734),l(-.077,.607),l(.318,2.738),l(.078,.988),l(-.577,2.543),l(-.039,.663),l(.14,.649),l(.043,.085),l(-.759,.495),l(-.404,.51),l(-.261,.791),l(-.04,.367),l(.245,1.468),l(-.106,.367),l(-.214,.283),l(-.676,.608),l(-.752,1.498),l(-1.01,1.4),l(-.201,.537),l(-.055,.311),l(.144,.945),l(-1.203,.37),l(-.544,.283),l(-.355,.368),l(-.084,.466),l(.021,.367),l(-.401,.114),l(-.864,-.041),l(-.979,.172),l(-.654,.001),l(-.764,-.055),l(-.465,-.112),l(-.922,.072),l(-.736,.002),l(-.214,.607),l(-.295,.198),l(-.795,.312),l(-.481,.453),l(-.21,.354),l(-.747,-.267),l(-.35,.071),l(-.563,.255),l(-1.864,1.232),l(-.528,.396),l(-.725,.383),l(-.616,.438),l(-.532,.679),l(-.486,.241),l(-.567,.072),l(-.278,-.014),l(.006,.24),l(.336,.225),l(.12,.536),l(-.111,.537),l(-.099,.282),l(-.282,.156),l(-.084,.155),l(.384,.648),l(.036,1.186),l(.05,1.045),l(-.057,.311),l(-.11,.594),l(-.198,.621),l(-.464,.735),l(-.566,.495),l(-.788,.524),l(-.866,1.046),l(-.208,.396),l(-.476,1.145),l(-.499,.933),l(-.75,1.004),l(-.69,.623),l(-.801,.78),l(.321,-.808),l(.436,-.594),l(.629,-.566),l(.605,-1.158),l(-.06,-.254),l(-.356,.142),l(-.397,-.014),l(-.633,-.21),l(-.075,.155),l(.002,.297),l(-.401,1.215),l(-.349,.48),l(-.661,.438),l(-.317,.283),l(-.225,.424),l(-.013,.354),l(-.448,1.709),l(-.481,.763),l(-.787,.934),l(-1.076,.979),l(-.101,-.313),l(-.258,-.746),l(.103,-.269),l(.634,-.766),l(.017,-.269),l(-.333,-.379),l(-.163,-.027),l(-.131,-.197),l(-.853,-1.109),l(-.474,-.435),l(-.999,-.587),l(-.55,-.194),l(-.617,-.194),l(-.432,-.576),l(-.365,-.393),l(-.693,.427),l(-.27,.016),l(-.232,-.38),l(-.59,-.814),l(-.379,-.407),l(-.47,-.364),l(-.266,-.098),l(-.25,.101),l(-1.042,.246),l(-.55,.003),l(.214,-.27),l(.833,-.88),l(1.805,-1.816),l(1.435,-1.363),l(1.633,-1.448),l(.348,-.242),l(1.754,-.744),l(.521,-.313),l(.161,-.467),l(.094,-1.638),l(-.517,-1.154),l(-.206,-.196),l(-.462,.017),l(-.957,.161),M(288.966,203.943),l(-.558,-.125),l(-.301,-.536),l(-.078,-.382),l(.16,-.197),l(-.094,-.636),l(.048,-.381),l(.208,-1.018),l(.176,-.099),l(.479,-.058),l(.879,.097),l(1.007,.11),l(.479,-.199),l(.368,.028),l(.479,.168),l(.479,.083),l(.319,.155),l(-.335,.538),l(-.193,.946),l(-.257,.494),l(-.289,.312),l(-.561,.326),l(-.464,.171),l(-.527,.015),l(-.783,.016),l(-.641,.171),
-N(732.92,214.323),l(-.164,-.24),l(-.225,-.197),l(-.379,-.126),l(-.416,.198),l(-.399,-.38),l(-.287,-.184),l(-.659,-.238),l(-.243,-.239),l(.156,-.255),l(.29,.027),l(.731,-.058),l(.538,.126),l(.743,.083),l(.523,-.058),l(.258,-.185),l(.232,-.509),l(.056,.099),l(.351,.395),l(.286,.184),l(.241,.014),l(.961,-.2),l(.366,-.227),l(.361,-.722),l(.241,-.212),l(.653,-.029),l(.263,-.128),l(.04,-.282),l(-.064,-.565),l(-.043,-.536),l(.495,.196),l(.404,.056),l(.324,-.354),l(.318,.578),l(.077,.353),l(-.196,.495),l(-.099,.184),l(-.509,.044),l(-.159,.226),l(.061,.17),l(.437,.479),l(-.308,.354),l(-.264,.113),l(-.742,-.083),l(-.416,.001),l(-.091,.269),l(-.408,.495),l(-.275,.156),l(-.973,.426),l(-.484,.143),l(-.798,.029),l(-.807,.115),M(713.795,220.696),l(.031,-3.438),l(-.046,-.805),l(-.431,-1.368),l(.44,-.822),l(-.169,-7.966),l(2.581,.802),l(.85,.337),l(1.04,.295),l(1.254,.378),l(.848,.507),l(.613,.323),l(.597,.084),l(.38,-.058),l(.26,.508),l(.274,.254),l(.635,.352),l(.687,.395),l(.779,.718),l(-.3,.947),l(.033,.226),l(.305,.226),l(.665,.111),l(1.887,.787),l(.354,.027),l(.72,.183),l(.181,.254),l(.413,.535),l(.211,.579),l(-.166,.113),l(-1.114,.073),l(-.563,.156),l(-.098,.155),l(.047,.339),l(.589,.987),l(.5,.521),l(1.464,1),l(.218,.847),l(.725,1.044),l(.288,.141),l(.304,-.015),l(.712,-.086),l(.338,.013),l(.087,.198),l(-.354,.551),l(.218,.212),l(.401,.141),l(.423,.041),l(.63,.168),l(.096,.127),l(-.031,.142),l(-.648,.213),l(.287,.24),l(1.064,.28),l(.538,.295),l(.235,.763),l(-.064,.226),l(-1.094,-.012),l(-.215,-.154),l(-.146,-.466),l(-.126,-.099),l(-1.011,-.111),l(-1.063,-.266),l(-.644,-.126),l(-.752,.016),l(-.774,-.026),l(-.573,-.211),l(-.494,-.352),l(-.223,-.522),l(-.24,-.268),l(-.726,-.31),l(-.472,-.338),l(-.135,-.197),l(-1.089,-1.608),l(-.613,-.817),l(-.454,-.056),l(-1.524,-.336),l(-.671,-.31),l(-.55,-.055),l(-.415,.185),l(-.394,.071),l(-.78,-.45),l(.282,.762),l(-.027,.212),l(-.249,.071),l(-.382,-.126),l(-.311,.1),l(.296,.395),l(-.116,.113),l(-1.037,.045),l(-1.125,-.182),l(-.478,.029),l(.237,.127),l(.24,.154),l(.642,.169),l(.662,.352),l(.404,.338),l(.219,.395),l(-.411,.199),l(-.739,.425),l(-.458,.213),l(-.668,-.097),l(-1.801,-.039),l(-1.219,-.092),
-N(726.605,297.247),l(-.479,-.229),l(-1.179,-.471),l(-.543,-.371),l(-.508,-.715),l(-.477,-.558),l(-.216,-.414),l(.264,-.044),l(.169,.1),l(.421,.171),l(.129,-.143),l(-.209,-.387),l(-.703,-.699),l(-.617,-.713),l(-.149,-.257),l(-.375,-.956),l(-.008,-.67),l(.177,-.044),l(1.004,.312),l(1.476,.354),l(1.089,.369),l(.797,-.03),l(.463,-.144),l(.382,-.115),l(.373,-.058),l(.684,.027),l(.306,-.301),l(.716,-.244),l(.475,.385),l(-.009,.1),l(.128,.8),l(-.009,.686),l(-.751,1.503),l(-.124,.758),l(-.245,.315),l(-.943,.26),l(-.553,.388),l(-.49,.689),l(-.189,.272),l(-.274,.072),M(716.883,224.344),l(.682,.394),l(.233,.509),l(.047,.649),l(.118,.678),l(.256,.197),l(.42,.013),l(.102,.24),l(-.45,.919),l(.715,.338),l(.175,.282),l(.147,.593),l(.08,1.3),l(.144,.621),l(.456,1.157),l(.293,.268),l(.422,.014),l(.328,-.312),l(.384,-.185),l(.32,.663),l(.363,.127),l(.563,.408),l(.385,.154),l(.144,.155),l(.002,.41),l(.083,.96),l(.275,.776),l(-.046,1.06),l(.279,.24),l(.93,1.325),l(.276,.706),l(.055,.777),l(-.209,.876),l(.403,.649),l(.275,.833),l(.204,.353),l(1.395,.803),l(.285,.154),l(.744,.111),l(.402,.649),l(.843,.535),l(.483,.169),l(1.141,.068),l(.117,.197),L(731,245.42),l(-.273,.565),l(.309,.424),l(.879,.479),l(.22,.564),l(.469,1.342),l(.211,.748),l(.112,.396),l(.252,.311),l(.771,.352),l(-.021,-.127),l(-.141,-.777),l(.913,.507),l(.567,.154),l(.184,.127),l(.136,.296),l(.106,1.752),l(.884,.762),l(.573,.323),l(.604,.154),l(.287,.296),l(.244,.579),l(.229,.424),l(.545,.168),l(.176,.297),l(.007,.269),l(.19,.536),l(.106,.113),l(.506,.126),l(.156,.112),l(.162,.354),l(.366,1.327),l(.026,.876),l(.013,.862),l(-.132,.41),l(-.181,.325),l(.778,1.271),l(.223,.48),l(.181,.833),l(.034,.749),l(-.293,.708),l(-.353,1.668),l(-.585,1.755),l(.137,.791),l(-.065,.806),l(-.306,.778),l(-.661,.977),l(-.203,.665),l(-.598,.821),l(-.45,.185),l(-.465,.1),l(-.423,.468),l(-.466,.68),l(-.328,1.527),l(-.477,.638),l(-.34,.495),l(.014,.65),l(-.208,.539),l(-.331,.312),l(-.601,.341),l(-.27,.326),l(-.3,1.021),l(-.169,1.049),l(-.079,.937),l(.021,.666),l(-.283,.64),l(-.322,.354),l(-.463,.3),l(-.754,.101),l(-1.158,.087),l(-.82,.03),l(-.527,.157),l(-.516,.299),l(-1.529,.94),l(-.443,.129),l(-.214,.284),l(-.346,.071),l(-.528,.059),l(-.286,-.014),l(.295,.368),l(.209,.27),l(-1.315,-.665),l(-.885,-.353),l(.003,-.469),l(-.073,-.156),l(-.56,-.467),l(-.628,-.368),l(-.421,-.014),l(-.485,.172),l(-.335,.242),l(.748,.467),l(-.97,.243),l(-.929,.428),l(-.953,.442),l(-.222,.028),l(-.604,-.226),l(-.886,-.438),l(-.67,-.226),l(-1.086,-.311),l(-.51,-.041),l(-.239,.156),l(-.044,.113),l(-.716,-.169),l(-.751,-.353),l(-.522,-.298),l(-.896,-.82),l(-.526,-.34),l(-.422,-.879),l(.09,-1.035),l(-.082,-.411),l(-.184,-.495),l(-.664,-.736),l(-.141,-.523),l(-.029,-.425),l(-.534,-.014),l(-.786,.398),l(-.597,.114),l(-.34,.058),l(-.178,-.07),l(-.167,-.17),l(.517,-.454),l(.233,-.567),l(.073,-.821),l(-.253,-.324),l(-.536,-.593),l(-.247,-.353),l(-.485,.735),l(-.443,1.431),l(-.19,.113),l(-.796,.002),l(-.199,.156),l(-.196,.015),l(-.255,.028),l(.198,-.396),l(.081,-.396),l(.079,-.1),l(.634,.041),l(.242,-.142),l(.126,-.255),l(-.105,-1.004),l(.454,-.835),l(.328,-.453),l(.091,-.396),l(.018,-.409),l(.151,-.128),l(.245,-.015),l(.218,-.354),l(-.052,-.227),l(-.323,-.494),l(-.338,-.494),l(-.107,.707),l(-.288,.255),l(-.518,.299),l(-.311,.467),l(-.086,.155),l(-.189,.467),l(-.281,.326),l(-.747,.242),l(-.735,.481),l(-.653,.567),l(-.36,.693),l(-.514,.808),l(-.41,-.339),l(-.38,-1.328),l(-.263,-.579),l(-.19,-.325),l(-.688,-.79),l(-.297,-.734),l(-.176,-.212),l(-.704,.072),l(-.235,-.099),l(-.139,-.24),l(-.085,-.269),l(.334,-.34),l(-.047,-.297),l(-.346,-.395),l(-.543,-.494),l(-.266,-.098),l(-.83,.157),l(-.486,-.07),l(-.95,-.549),l(-.274,-.014),l(-.438,.17),l(-.433,-.027),l(-.421,-.183),l(-.662,-.521),l(-.921,-.437),l(-.218,.001),l(-.723,.213),l(-1.282,.088),l(-.669,.001),l(-1.764,.061),l(-.611,.129),l(-.656,.213),l(-.989,.44),l(-.972,.256),l(-1.039,.257),l(-1.503,.088),l(-.794,-.013),l(-.383,.044),l(-.927,.284),l(-.993,.469),l(-.773,.397),l(-.538,.143),l(-.431,.085),l(-.361,.199),l(-.615,.693),l(-.774,1.02),l(-.588,.284),l(-.766,-.013),l(-.547,-.013),l(-.927,.143),l(-.4,.185),l(-.663,-.395),l(-.294,-.084),l(-.734,.016),l(-1.572,.173),l(-.938,.157),l(-.459,-.041),l(-.672,.044),l(-.398,.227),l(-.583,.793),l(-.344,.128),l(-.958,-.125),l(-.158,.057),l(-.57,.708),l(-.465,.368),l(-.919,.271),l(-.586,.086),l(-1.516,-.082),l(-.638,-.055),l(-.688,-.197),l(-.633,-.366),l(-.778,-.677),l(-.74,-.353),l(-.374,-.041),l(-.151,-.07),l(-.19,-1.229),l(.055,-.255),l(.489,.112),l(.45,-.086),l(.332,-.425),l(.197,-.467),l(.267,-1.357),l(-.043,-1.215),l(-.156,-.622),l(-.258,-.593),l(-1.117,-1.906),l(-.208,-.635),l(-.144,-.834),l(.027,-.989),l(-.16,-.692),l(-.467,-1.072),l(-.663,-.945),l(-.603,-.734),l(-.214,-.254),l(.128,-.904),l(-.215,-.536),l(-.733,-1.115),l(-.972,-1.018),l(-.273,-.583),l(.126,-.233),l(.188,.187),l(.152,.443),l(.183,.163),l(.235,.35),l(.327,.188),l(.354,.023),l(-.348,-1.144),l(-.437,-.396),l(-.226,-.326),l(.08,-.304),l(.748,.84),l(.495,.979),l(.477,.065),l(-.099,-.555),l(.289,-.039),l(.004,-.564),l(-.282,-.48),l(-1.03,-1.368),l(-.354,-.691),l(-.119,-.579),l(-.038,-.734),l(.355,-.595),l(.323,-.523),l(.21,-.664),l(-.083,-1.031),l(-.254,-.635),l(.033,-.368),l(.438,-.692),l(.109,-.325),l(.064,-.156),l(.271,.649),l(.011,.424),l(.105,.184),l(.35,.027),l(.171,-.113),l(.187,-.565),l(.141,-.48),l(.765,-.468),l(1.22,-.624),l(.484,-.326),l(.676,-.581),l(.585,-.467),l(.632,-.327),l(.79,-.114),l(.697,-.016),l(.7,-.002),l(.431,-.043),l(.352,-.185),l(.474,-.453),l(.494,-.128),l(.929,-.072),l(.279,-.143),l(.291,-.551),l(.158,-.1),l(.444,.027),l(.877,.224),l(.626,-.043),l(.911,-.299),l(1.084,-.469),l(.359,-.213),l(.716,-.665),l(.427,-.58),l(.29,-.622),l(.132,-.297),l(.41,-.369),l(.968,-.651),l(.079,-.17),l(-.067,-.409),l(-.242,-.805),l(-.016,-.495),l(1.063,-1.118),l(.387,-.692),l(.291,.169),l(.341,.437),l(.619,1.355),l(.262,.253),l(.177,-.579),l(.021,-.466),l(.436,.238),l(.272,.07),l(.189,-.607),l(-.06,-.142),l(-.563,-.238),l(-.175,-.24),l(.007,-.565),l(.044,-.112),l(.897,.04),l(.661,.253),l(.642,-.029),l(.334,-.029),l(.289,.074),l(-.699,-.455),l(-.431,-.141),l(.128,-.537),l(-.07,-.296),l(.135,-.509),l(.422,-.354),l(.165,-.07),l(.732,.394),l(.202,-.043),l(-.112,-.452),l(.11,-.48),l(.146,-.367),l(-.041,-.522),l(.358,-.171),l(.4,-.113),l(.813,.04),l(.529,-1.088),l(.371,-.298),l(.35,.169),l(.268,.451),l(.265,-.552),l(.222,-.227),l(.197,-.48),l(.695,.62),l(.513,.084),l(.293,.211),l(.331,.536),l(.632,.592),l(.122,.706),l(-.072,.594),l(.181,.197),l(.256,-.283),l(.462,-.679),l(.155,-.128),l(1.16,.082),l(.479,.155),l(.637,.492),l(.332,.141),l(.156,-.48),l(.302,-.297),l(.022,-.24),l(-.266,-.324),l(-.601,-.395),l(-.079,-.184),l(.008,-.24),l(.145,-.099),l(.604,-.538),l(.007,-.452),l(.191,-.213),l(.518,-.283),l(.268,-.241),l(.151,-.269),l(-.094,-.184),l(.003,-.296),l(.512,-.863),l(.121,-.057),l(.317,-.029),l(.397,-.029),l(.248,-.17),l(-.205,-.409),l(.377,-.396),l(.344,-.071),l(.793,.366),l(.616,-.072),l(1.291,-.088),l(.512,-.128),l(.232,-.17),l(.04,-.057),l(-.077,-.197),l(-.2,-.734),l(-.248,-.282),l(-.471,-.268),l(-.374,.086),l(-.244,-.141),l(.035,-.212),l(.367,-.143),l(.396,-.043),l(.617,.521),l(.255,.099),l(.34,-.1),l(.364,.31),l(.676,.465),l(.36,.154),l(1.297,.294),l(.591,.084),l(.413,-.143),l(.372,.014),l(.396,.606),l(.419,.112),l(.141,-.029),l(.562,-.438),l(.454,.027),l(.652,.38),l(.331,.479),l(.46,-.143),l(.122,-.791),l(.181,-.085),l(.455,.465),l(.337,.099),l(.152,.154),l(-.436,.411),l(-.126,.424),l(-.176,.212),l(-.011,.438),l(-.12,.255),l(-.513,.015),l(-.51,.228),l(-.396,.34),l(-.004,.551),l(.301,.353),l(-.187,.692),l(-.381,.58),l(-.559,.481),l(-.155,.48),l(.063,.17),l(.469,.437),l(1.038,.619),l(.81,.677),l(.508,.606),l(.246,.099),l(.349,-.114),l(.264,.027),l(.782,.352),l(.742,.465),l(.434,.451),l(.679,.535),l(.335,.127),l(.442,.027),l(.784,.182),l(.25,.184),l(.218,.621),l(.167,.169),l(.507,.31),l(.76,.423),l(.537,.154),l(.422,-.072),l(.414,-.17),l(.603,-.199),l(.208,-.156),l(.736,-1.344),l(.403,-1.131),l(.194,-1.314),l(.259,-.721),l(.43,-.679),l(-.131,-.424),l(-.409,-.621),l(.022,-.311),l(.236,-.637),l(.187,-.48),l(-.164,-.282),l(-.183,-.395),l(.088,-.692),l(.104,-1.004),l(.225,-.297),l(.329,-.156),l(.158,-.311),l(-.534,-.521),l(.033,-.198),l(.576,-.947),l(.312,-.934),l(.072,-.833),l(.191,-.241),l(.279,-.297),
-N(270.934,276.123),l(.054,-.338),l(-.194,-.577),l(.011,-.522),l(.24,-.495),l(.48,-.524),l(.118,-.325),l(-.168,-.986),l(-.049,-.847),l(.103,-.522),l(.595,-2.359),l(.065,-.452),l(.443,-.524),l(.55,-.003),l(1.042,-.246),l(.25,-.101),l(.266,.098),l(.47,.364),l(.379,.407),l(.59,.814),l(.232,.38),l(.27,-.016),l(.693,-.427),l(.365,.393),l(.432,.576),l(.617,.194),l(.55,.194),l(.999,.587),l(.474,.435),l(.853,1.109),l(.131,.197),l(.163,.027),l(.333,.379),l(-.017,.269),l(-.634,.766),l(-.103,.269),l(.258,.746),l(.101,.313),l(-.059,.053),l(-.803,1.103),l(-.625,.552),l(-.775,.454),l(-.441,.156),l(-.818,.1),l(-.874,-.337),l(-.551,.044),l(-.551,.114),l(-.64,.283),l(-.38,-.042),l(-.846,-.676),l(-.637,-.252),l(-.76,-.154),l(-.469,.128),l(-.507,.072),l(-.327,-.127),l(-.548,-.563),l(-.354,-.159),
-N(418.763,73.869),l(.391,-.499),l(.389,-.262),l(.283,.081),l(.663,-.062),l(.762,-.075),l(.324,-.137),l(.891,-.787),l(.979,-.2),l(.224,.025),l(.198,-.219),l(.175,.032),l(-.349,.531),l(.11,.106),l(.026,.481),l(-.288,.156),l(-.17,.368),l(-1.675,.069),l(-.376,-.106),l(-.428,.031),l(-.14,-.062),l(-.239,.081),l(-.275,.031),l(-.153,.417),l(-.249,.218),l(-.353,.118),l(-.08,.112),l(-.229,-.155),l(-.411,-.292),M(421.68,78.002),l(-1.839,.129),l(-.116,-.016),l(.064,-.404),l(-.19,-.638),l(-.174,.015),l(-.36,-.293),l(-.233,.184),l(-.398,-.172),l(.2,-.355),l(.434,-.293),l(-.007,-.181),l(-.445,-.541),l(.018,-.256),l(.131,-.498),l(.279,-.106),l(.318,.15),l(.495,.12),l(.43,-.574),l(.299,-.091),l(.296,.437),l(.391,-.046),l(.022,-.528),l(.107,-.363),l(1.032,-.017),l(.848,.089),l(.03,.544),l(.187,.301),l(1.138,.058),l(.14,.166),l(-.307,.604),l(-.565,.142),l(-.119,-.261),l(-.331,.031),l(-.263,.136),l(.121,.278),l(-.184,.414),l(-.312,.077),l(-.069,.244),l(-.635,.035),l(.157,.229),l(-.291,.094),l(-.191,.24),l(-.061,.285),l(.003,.21),l(-.215,.338),l(.166,.084),M(427.177,77.967),l(-.139,-.149),l(-.312,-.344),l(-.405,.031),l(-.665,-.059),l(-.123,-.329),l(-.285,-.66),l(.433,-.091),l(.603,-.467),l(.356,.495),l(.521,.179),l(.2,-.271),l(.078,-.586),l(.333,-.046),l(.459,.044),l(.056,.571),l(-.134,.36),l(-.144,.09),l(-.413,.286),l(.603,.299),l(-.285,.166),l(-.499,.39),l(-.238,.09),
-N(417.259,94.301),l(-.135,-.233),l(.216,-.701),l(-.091,-.076),l(.075,-.295),l(.321,-.372),l(.054,-.358),l(.054,-.213),l(.954,-.806),l(-.605,-.193),l(-.479,.014),l(-.456,-.09),l(-.095,-.186),l(-.233,-.007),l(-.072,.048),l(-.689,.062),l(-.045,-.145),l(-.395,.055),l(-.337,-.277),l(-.428,-.319),l(-.074,-.353),l(.248,-.144),l(.044,-.288),l(-.466,-.096),l(-.41,-.312),l(-.062,-.301),l(.422,-.376),l(-.038,-.468),l(-.282,-.365),l(-.344,-.177),l(.165,-.278),l(-.143,-.217),l(-.182,-.037),l(.08,-.097),l(.235,-.133),l(.236,-.133),l(-.193,-.121),l(.201,-.275),l(.095,-.148),l(-.152,-.292),l(-.082,-.265),l(-.376,-.182),l(.07,-.182),l(.341,-.078),l(.175,-.092),l(.378,.134),l(.664,-.151),l(.32,-.152),l(.128,-.376),l(.412,-.207),l(.003,-.328),l(-.16,-.17),l(-.188,.061),l(-.44,-.134),l(.029,-.184),l(.113,-.181),l(.571,.036),l(.084,-.401),l(.345,-.361),l(-.151,-.438),l(.066,-.147),l(-.465,-.192),l(.126,-.43),l(.285,-.181),l(.371,-.028),l(1.12,-.062),l(.293,-.012),l(.095,.16),l(.195,.271),l(-.155,.158),l(.324,.113),l(.148,-.068),l(.042,-.192),l(-.159,-.204),l(.259,.012),l(.437,.169),l(-.163,-.362),l(.247,-.419),l(.687,.113),l(.614,-.091),l(-.596,-.17),l(-.084,-.227),l(.282,-.102),l(-.252,-.114),l(-.12,-.147),l(.166,-.08),l(.068,-.136),l(-.675,.08),l(-.06,-.182),l(.664,-.125),l(.218,-.193),l(-.464,-.42),l(-.324,-.341),l(.045,-.28),l(.116,.016),l(1.839,-.129),l(.254,.13),l(.565,.341),l(.271,.297),l(-.02,.228),l(-.252,.175),l(.445,-.05),l(.171,.216),l(.157,-.078),l(.283,.021),l(.235,.156),l(.45,.073),l(.866,-.121),l(.077,.208),l(-.07,.149),l(-.057,.125),l(-.665,.295),l(.316,.193),l(.649,-.136),l(.113,.182),l(.457,-.006),l(.349,-.391),l(1.059,-.136),l(.602,-.234),l(.757,-.266),l(.249,.113),l(.396,-.17),l(.184,.182),l(.085,.159),l(.634,.29),l(.182,.074),l(.526,-.12),l(.156,.12),l(.059,.34),l(.036,.227),l(.154,.102),l(.354,.125),l(.372,-.022),l(.028,.13),l(.201,.025),l(.319,.835),l(-.219,.52),l(-.391,.147),l(-.051,.328),l(.391,.102),l(.683,.429),l(-.217,.395),l(.094,.18),l(.312,.146),l(-.021,.304),l(.131,.102),l(-.118,.292),l(-.214,.124),l(-.007,.191),l(.325,.27),l(-.114,.258),l(.468,.188),l(.281,.485),l(-.435,.698),l(-.142,.115),l(-.344,-.072),l(-.031,-.278),l(-.308,-.121),l(-.436,.072),l(.282,.218),l(-.254,.084),l(-.284,.097),l(-.524,.048),l(-.124,.169),l(-.735,.024),l(-.112,.217),l(-.176,-.072),l(-.358,.061),l(-.097,.229),l(-.382,.012),l(-.078,.181),l(-.442,0),l(-.422,.201),l(-.293,-.033),l(-.26,.181),l(-.243,.168),l(.037,.056),l(.258,.378),l(.413,.098),l(-.155,.25),l(-.08,.406),l(.159,.085),l(.036,.233),l(.244,.173),l(.478,.265),l(.188,-.072),l(.573,.515),l(.431,.17),l(.184,.201),l(.219,-.084),l(.165,.18),l(.207,.036),l(.447,.633),l(-.682,.26),l(-.437,-.151),l(-.132,.027),l(-.039,.337),l(-.162,.172),l(-.968,.295),l(-.364,.227),l(.538,.571),l(-.197,.295),l(.334,.014),l(.056,.158),l(-.098,.343),l(-.082,.055),l(-.441,-.178),l(.049,-.165),l(-.146,-.117),l(-.564,.062),l(-.195,-.138),l(-.433,.035),l(-.092,.178),l(-1.25,.035),l(-.125,.171),l(-.319,.014),l(-.044,.13),L(425.4,94.7),l(-.594,.021),l(-.059,-.144),l(-.093,-.145),l(-.493,-.089),l(-.262,.055),l(-.237,-.041),l(.032,.274),l(-.452,.343),l(-.215,0),l(.078,-.195),l(-.26,-.039),l(.011,-.165),l(-.194,-.048),l(-.104,-.137),l(-.249,-.007),l(-.096,-.11),l(-.164,.137),l(-.368,-.014),l(-.664,-.261),l(-.852,-.007),l(-.149,-.089),l(-.199,.014),l(-.017,-.151),l(-.709,.199),l(.179,.199),l(-.354,.021),l(-.278,-.11),l(-.567,.158),l(-.271,-.096),l(-.272,.117),l(-.271,-.089),M(432.012,80.473),l(-.171,-.038),l(-.088,-.049),l(-.447,.08),l(-.111,-.264),l(.002,-.213),l(.647,.281),l(.168,.203),
-N(450.734,91.05),l(-.831,-.33),l(-.424,-.101),l(-.104,-.216),l(-.703,-.186),l(-.129,-.13),l(-.561,.076),l(-.508,-.041),l(-.073,.137),l(-.373,.18),l(-.46,-.254),l(-.483,.046),l(-.168,-.056),l(-.558,.204),l(-.104,.177),l(-.149,.135),l(-.18,-.12),l(-.389,.083),l(-.003,-.204),l(.026,-.083),l(-.066,-.18),l(-.331,.025),l(-.073,-.169),l(-.194,-.24),l(-.261,.024),l(-.062,.112),l(-.193,-.016),l(-.183,.24),l(-.43,.048),l(-.03,-.228),l(-.285,-.041),l(-.105,-.331),l(-.382,-.096),l(-.188,-.208),l(.02,-.249),l(-.802,-.132),l(-.311,-.181),l(-.368,.161),l(-.293,-.013),l(-.013,-.221),l(.001,-.253),l(-.329,.084),l(.181,-.283),l(-.709,.005),l(-.258,-.121),l(-.509,-.193),l(-.286,-.024),l(-.003,.145),l(.282,.302),l(-.41,.12),l(-.22,.187),l(-.318,-.072),l(-.296,-.38),l(-.55,-.247),l(.224,-.211),l(.208,-.024),l(.099,-.121),l(-.199,-.181),l(-.257,-.024),l(-.061,.066),l(-.466,.066),l(.005,-.169),l(-.278,.037),l(-.132,-.181),l(-.568,-.054),l(-.201,-.025),l(-.363,-.163),l(-.093,-.26),l(-.211,-.091),l(-.361,.018),l(-.063,.084),l(.062,.073),l(-.024,.151),l(-.375,0),l(.435,-.698),l(-.281,-.485),l(-.468,-.188),l(.114,-.258),l(-.325,-.27),l(.007,-.191),l(.214,-.124),l(.118,-.292),l(-.131,-.102),l(.021,-.304),l(-.312,-.146),l(-.094,-.18),l(.217,-.395),l(-.683,-.429),l(-.391,-.102),l(.051,-.328),l(.391,-.147),l(.219,-.52),l(-.319,-.835),l(.34,.043),l(.23,.125),l(-.093,-.193),l(.156,-.153),l(-.019,-.147),l(-.166,-.13),l(-.021,-.129),l(-.012,-.075),l(.93,-.154),l(.431,-.051),l(.516,-.152),l(1.304,-.128),l(.48,-.158),l(.797,-.479),l(1.117,-.298),l(1.515,-.303),l(1.382,-.086),l(1.067,.417),l(-.882,-.294),l(-.054,.147),l(.256,.172),l(.132,.466),l(.355,.135),l(.648,.061),l(.645,-.11),l(1.063,-.409),l(.054,.004),l(-.978,.417),l(-.19,.11),l(-.004,.123),l(.218,.012),l(.286,-.123),l(.613,-.208),l(.543,-.253),l(.842,.006),l(2.246,.115),l(2.96,-.101),l(.641,-.021),l(.04,.014),l(.679,.243),l(.284,.487),l(.099,.186),l(.016,.029),l(.09,.171),l(.16,.302),l(.615,1.5),l(.172,.502),l(-.023,.236),l(-.263,.208),l(-.44,.03),l(-.571,.244),l(-.291,.328),l(-.128,.292),l(.289,.012),l(.421,.146),l(.149,.176),l(.218,.146),l(.013,.25),l(-.315,.752),l(.126,.137),l(.161,.175),l(-.074,.242),l(.816,.835),l(.316,.193),l(-.298,.048),l(-.085,.133),l(.328,.302),l(-.009,.314),l(-.255,.24),l(-.429,.013),l(-.286,.181),l(-.599,.398),l(-1.509,1.218),l(-.082,.306),l(.044,.552),l(.349,.383),l(-.653,-.018),M(431.844,80.27),l(.232,.024),l(.069,.208),l(-.134,-.029),l(-.168,-.203),M(432.739,80.361),l(-.03,.129),l(-.278,-.024),l(-.191,.03),l(-.046,-.208),l(.174,-.012),l(.266,0),l(.106,.085),
-N(416.488,81.945),l(.151,.438),l(-.345,.361),l(-.084,.401),l(-.571,-.036),l(-.113,.181),l(-.029,.184),l(.44,.134),l(.188,-.061),l(.16,.17),l(-.003,.328),l(-.412,.207),l(-.128,.376),l(-.32,.152),l(-.664,.151),l(-.378,-.134),l(-.175,.092),l(-.341,.078),l(-.07,.182),l(.376,.182),l(.082,.265),l(.152,.292),l(-.095,.148),l(-.201,.275),l(.193,.121),l(-.236,.133),l(-.235,.133),l(-.08,.097),l(.182,.037),l(.143,.217),l(-.165,.278),l(-.672,.024),l(-.001,-.338),l(.172,-.097),l(.11,-.423),l(-.754,-.375),l(-.535,.109),l(-.292,-.375),l(-.228,-.061),l(-.173,.121),l(-.313,-.242),l(-.267,.182),l(-.307,0),l(-.307,-.012),l(.025,.157),l(-.52,.034),l(-.407,-.042),l(-.477,-.098),l(-.07,-.162),l(-.496,-.264),l(.795,-.472),l(.858,-.621),l(.273,-.354),l(.563,-1.167),l(.173,-.104),l(.644,-.12),l(.367,.251),l(.136,.268),l(-.28,.203),l(-.228,-.056),l(.066,.496),l(-.191,.124),l(1.163,.225),l(.225,-.236),l(.406,-.113),l(.134,-.417),l(-.458,-.022),l(-.123,-.124),l(-.02,-.203),l(.236,-.158),l(-.171,-.023),l(-.558,-.067),l(.072,-.328),l(-.034,-.13),l(-.023,-.034),l(.128,-.283),l(.572,-.198),l(.709,-.238),l(.654,.03),l(1.089,-.151),l(.245,.275),l(.329,.045),l(.076,.181),l(.259,0),
-N(431.57,91.965),l(-.447,-.633),l(-.207,-.036),l(-.165,-.18),l(-.219,.084),L(430.349,91),l(-.431,-.17),l(-.573,-.515),l(-.188,.072),l(-.478,-.265),l(-.244,-.173),l(-.036,-.233),l(-.159,-.085),l(.08,-.406),l(.155,-.25),l(-.413,-.098),l(-.258,-.378),l(-.037,-.056),l(.243,-.168),l(.26,-.181),l(.293,.033),l(.422,-.201),l(.442,0),l(.078,-.181),l(.382,-.012),l(.097,-.229),l(.358,-.061),l(.176,.072),l(.112,-.217),l(.735,-.024),l(.124,-.169),l(.524,-.048),l(.284,-.097),l(.254,-.084),l(-.282,-.218),l(.436,-.072),l(.308,.121),l(.031,.278),l(.344,.072),l(.142,-.115),l(.375,0),l(.024,-.151),l(-.062,-.073),l(.063,-.084),l(.361,-.018),l(.211,.091),l(.093,.26),l(.363,.163),l(.201,.025),l(.568,.054),l(.132,.181),l(.278,-.037),l(-.005,.169),l(.466,-.066),l(.061,-.066),l(.257,.024),l(.199,.181),l(-.099,.121),l(-.208,.024),l(-.224,.211),l(.55,.247),l(.296,.38),l(.318,.072),l(.22,-.187),l(.41,-.12),l(-.282,-.302),l(.003,-.145),l(.286,.024),l(.509,.193),l(.258,.121),l(.709,-.005),l(-.181,.283),l(.329,-.084),l(-.001,.253),l(.013,.221),l(.293,.013),l(.368,-.161),l(.311,.181),l(.802,.132),l(-.02,.249),l(.188,.208),l(.382,.096),l(.105,.331),l(-.071,-.012),l(-.065,.066),l(-.066,.04),l(-.105,-.026),L(442,89.998),l(-.119,.013),l(-.065,.04),l(-.132,.066),l(-.053,.079),l(-.118,.092),l(-.119,.053),l(-.132,.079),l(-.105,.013),l(-.118,.013),l(-.053,.092),l(-.026,.092),l(-.026,.132),l(-.053,.079),l(-.053,.105),l(-.145,.066),l(-.105,.04),l(-.092,-.026),l(-.079,.079),l(-.04,.092),l(-.053,.079),l(-.039,0),l(-.105,.026),l(-.066,.026),l(-.079,.053),l(-.118,.053),l(-.132,0),l(-.145,.04),l(-.093,.026),l(-.065,-.026),l(-.065,-.026),l(-.093,0),l(-.065,.026),l(-.158,0),l(-.132,-.053),l(-.092,-.053),l(-.093,.026),l(-.171,.053),l(-.026,.04),l(-.146,.119),l(-.092,.066),l(-.014,.131),l(-.065,.105),l(-.039,.044),l(-.055,-.095),l(-.545,-.2),l(-1.332,.181),l(-1.019,-.227),l(-1.374,-.341),l(-.746,.773),l(-.598,.163),l(-.483,-.099),l(-.354,-.129),l(-.145,-.014),
-N(421.683,94.397),l(.368,.014),l(.164,-.137),l(.096,.11),l(.249,.007),l(.104,.137),l(.194,.048),l(-.011,.165),l(.26,.039),l(-.078,.195),l(.215,0),l(.452,-.343),l(-.032,-.274),l(.237,.041),l(.262,-.055),l(.493,.089),l(.093,.145),l(.059,.144),L(425.4,94.7),l(.377,-.103),l(.044,-.13),l(.319,-.014),l(.125,-.171),l(1.25,-.035),l(.092,-.178),l(.433,-.035),l(.195,.138),l(.564,-.062),l(.146,.117),l(-.049,.165),l(.441,.178),l(.082,-.055),l(.098,-.343),l(-.056,-.158),l(-.334,-.014),l(.197,-.295),l(-.538,-.571),l(.364,-.227),l(.968,-.295),l(.162,-.172),l(.039,-.337),l(.132,-.027),l(.437,.151),l(.682,-.26),l(.145,.014),l(.354,.129),l(.483,.099),l(.598,-.163),l(.746,-.773),l(1.374,.341),l(1.019,.227),l(1.332,-.181),l(.545,.2),l(.055,.095),l(.053,.093),l(-.097,.581),l(.155,.26),l(.761,.547),l(-.636,.291),l(-.019,.367),l(-.701,.054),l(-.164,-.134),l(-.325,0),l(-.223,.197),l(.452,.063),l(.136,.196),l(-.157,.206),l(-.409,.062),l(-.04,.375),l(.204,.188),l(-.154,.294),l(-.346,.299),l(-.693,.157),l(.082,.393),l(-.89,-.116),l(-.298,.196),l(-.85,-.08),l(-.566,.107),l(-.646,.5),l(-.287,-.152),l(-.612,.009),l(-.179,-.107),l(-1.04,-.065),l(-.478,-.112),l(-.894,-.082),l(-1.311,-.247),l(-.32,-.391),l(-.318,-.096),l(-.023,-.363),l(-.856,.227),l(-.301,-.103),l(-.445,.11),l(-.183,-.083),l(-.366,.096),l(-.329,.411),l(-.597,-.034),l(-.631,-.171),l(.029,-.171),l(-.215,-.117),l(-.579,.332),l(-.55,-.242),l(-.008,-.144),l(-.622,-.062),l(.09,-.192),l(-.214,-.288),l(.266,-.274),l(-.193,-.336),
-N(431.763,171.063),l(-.067,.354),l(.091,.72),l(.108,.508),l(.225,.168),l(.562,.11),l(.144,.183),l(.077,.353),l(-.089,1.116),l(-.146,.227),l(-.274,.171),l(-.885,.217),l(-.291,.256),l(-.664,1.275),l(-.503,1.203),l(-.243,1.004),l(-.354,.129),l(-.369,.03),l(-.129,.354),l(-.146,1.229),l(-.192,.312),l(-.385,.045),l(-.257,.284),l(-.417,.836),l(-.944,2.223),l(-.304,.624),l(-.352,.496),l(-.368,.355),l(-.239,.114),l(-.145,-.056),l(-.722,-.97),l(-.145,-.14),l(-1.104,-.05),l(-.272,.03),l(-1.31,1.265),l(-.941,.839),l(-.495,.526),l(.02,.974),l(-.189,.552),l(-.376,.686),l(-.188,-.119),l(-.224,-.042),l(-.176,-.127),l(-.145,.212),l(.144,.296),l(-.063,.127),l(-.353,.198),l(-.56,.03),l(-.977,.101),l(-.607,-.267),l(-.288,.043),l(-.271,.368),l(-.177,.113),l(-.432,-.07),l(-1.247,-.011),l(-.528,-.225),l(-.543,-.451),l(-.416,-.72),l(-.192,-.649),l(.048,-.254),l(.208,-.254),l(-.144,-.296),l(-.513,-.069),l(-.128,-.254),l(-.464,-.55),l(-.561,-.465),l(-.608,-.253),l(-.641,-.253),l(-.272,-.31),l(-.513,.072),l(-.24,.297),l(-.336,.071),l(-.881,.044),l(-.659,.03),l(-.006,-.234),l(.121,-1.188),l(-.217,-1.439),l(.09,-.989),l(.012,-.876),l(-.003,-.48),l(-.002,-.381),l(.237,-.397),l(.257,-.03),l(.433,-.13),l(.078,-.368),l(-.116,-.592),l(.095,-.34),l(.656,-.414),l(.223,-.298),l(.19,-.566),l(.316,-.962),l(-.388,-.718),l(-.164,-.762),l(.062,-.777),l(.092,-.961),l(.158,-.849),l(.353,-.482),l(.687,-1.614),l(.676,-.4),l(1.064,-.188),l(1.174,-.108),l(1.111,.121),l(.821,.277),l(1.095,1.223),l(.209,.098),l(.37,-.002),l(1.337,-.544),l(.467,-.116),l(.354,.083),l(1.173,.742),l(.965,.277),l(.934,-.005),l(.273,-.059),l(.629,-.399),l(.403,-.327),l(.774,-.287),l(.628,-.103),l(.709,-.047),l(.531,.04),l(.884,.221),l(.724,.193),l(.609,.208),l(.259,-.058),l(.761,-.697),l(.453,-.299),l(.437,-.2),l(.951,-.034),l(.173,.394),l(.575,.52),l(.351,.407),
-N(425.506,195.522),l(-1.965,-.017),l(-1.005,.007),l(.029,-.176),l(-.208,-.536),l(.271,-.989),l(-.159,-.72),l(-.191,-.522),l(-.399,-.649),l(.433,-.396),l(-.287,-.367),l(-.24,-.056),l(-.576,.058),l(-.559,-.268),l(-.176,-.324),l(-.063,-.537),l(-.111,-.211),l(-.527,-.14),l(-.101,-.064),l(.376,-.686),l(.189,-.552),l(-.02,-.974),l(.495,-.526),l(.941,-.839),l(1.31,-1.265),l(.272,-.03),l(1.104,.05),l(.145,.14),l(.722,.97),l(.145,.056),l(.239,-.114),l(.368,-.355),l(.352,-.496),l(.304,-.624),l(.944,-2.223),l(.417,-.836),l(.257,-.284),l(.385,-.045),l(.192,-.312),l(.146,-1.229),l(.129,-.354),l(.369,-.03),l(.354,-.129),l(.243,-1.004),l(.503,-1.203),l(.664,-1.275),l(.291,-.256),l(.885,-.217),l(.274,-.171),l(.146,-.227),l(.089,-1.116),l(-.077,-.353),l(-.144,-.183),l(-.562,-.11),l(-.225,-.168),l(-.108,-.508),l(-.091,-.72),l(.067,-.354),l(.627,.109),l(.208,.083),l(.923,1.238),l(.395,.887),l(.119,1.2),l(-.134,.651),l(.169,1.228),l(.205,.578),l(.381,.633),l(.208,.21),l(.047,.127),l(-.225,.143),l(-.674,.032),l(-1.187,-.191),l(-.481,-.082),l(-.24,.1),l(-.29,.312),l(-.323,.539),l(1.088,1.067),l(1.343,1.179),l(.638,1.07),l(.382,1.057),l(.208,.183),l(-.208,.114),l(-.354,.327),l(-.866,1.743),l(-.4,.511),l(-.528,.399),l(-.144,.198),l(-.064,.424),l(.112,.776),l(.273,1.185),l(.207,.592),l(.4,.661),l(.432,.605),l(.064,.791),l(.112,.324),l(1.217,1.236),l(.498,.802),l(.194,.804),l(.209,.451),l(-.159,.185),l(.1,.861),l(-.271,.086),l(-.863,-.292),l(-.864,-.334),l(-.576,-.194),l(-.56,-.124),l(-.479,-.04),l(-.271,-.055),l(-.878,.076),l(-.863,-.023),l(-.56,-.109),l(-1.022,-.149),l(-.831,-.038),l(-1.773,-.088),l(-.88,-.093),l(-.045,.495),
-N(551.793,147.278),l(-.788,-.111),l(-.458,-.253),l(-.379,-.367),l(-.248,-1.101),l(-.112,-.141),l(-.342,-.141),l(-.662,-.083),l(-.105,-.07),l(-.014,-.268),l(.116,-.466),l(-.178,-.451),l(-.418,-.38),l(-.294,-.013),l(-1.181,.412),l(-1.229,.087),l(-.81,.143),l(-.947,.073),l(-.415,-.083),l(-.263,-.226),l(-.135,-.197),l(-.909,.143),l(-.548,.382),l(-.856,.016),l(-1.264,-.011),l(-.691,.128),l(-.723,.115),l(-.541,.03),l(.182,-.954),l(.049,-.354),l(.31,-.792),l(.285,-.383),l(.794,-.47),l(.697,-.258),l(1,-.077),l(.209,-.072),l(.188,-.255),l(.036,-.974),l(-.186,-.281),l(-.652,-.053),l(-.185,-.394),l(-.111,-1.34),l(-.168,-.38),l(-.409,-.224),l(-1.144,-.388),l(-.695,-.391),l(-.353,-.464),l(-.71,-1.068),l(-.802,-1.083),l(.887,.32),l(.63,.194),l(1.069,.248),l(.854,.235),l(.541,.039),l(.742,.024),l(1.187,-.218),l(.349,-.002),l(1.005,.135),l(1.234,-.12),l(.964,-.175),l(1.183,-.19),l(1.066,-.274),l(.247,-.156),l(.069,-.184),l(.099,-.903),l(.232,-.876),l(.188,-.34),l(.412,-.369),l(.597,-.441),l(.283,-.072),l(.644,.039),l(.516,.082),l(.254,-.086),l(.321,-.693),l(.362,-.271),l(.559,-.243),l(.562,.025),l(1.001,.375),l(.237,-.086),l(.34,-.383),l(.021,-.084),l(.139,-1.214),l(.288,-.834),l(.224,-.424),l(.292,-.228),l(.416,-.115),l(.513,-.031),l(.315,-.115),l(.199,-.255),l(-.088,-.437),l(-.129,-.281),L(556.193,125),l(-.35,-.336),l(.355,-.129),l(.997,.122),l(.698,.039),l(.513,-.215),l(.289,-.255),l(-.033,-.31),l(-.223,-.478),l(.13,-.283),l(.4,-.341),l(.524,-.355),l(.324,-.426),l(-.198,-.477),l(.119,-.483),l(-.232,-.171),l(-.01,-.336),l(-.411,-.271),l(-.01,-.32),l(.464,-.413),l(.258,-.214),l(.246,.023),l(.559,-.395),l(.272,-.19),l(.53,-.292),l(1.148,-.152),l(1.345,-.012),l(.647,.144),l(.338,-.179),l(.332,.005),l(.455,-.297),l(.358,-.004),l(.148,-.142),l(.313,.14),l(.105,.112),l(.281,-.21),l(.296,.047),l(.554,.117),l(.004,.456),l(.282,-.128),l(.625,-.009),l(.373,.323),l(.213,.247),l(.007,.501),l(-.312,.516),l(.301,.07),l(.198,.218),l(.252,.281),l(.52,-.196),l(.239,0),l(.104,.199),l(.178,.09),l(.565,.436),l(1.337,.104),l(.305,.111),l(.147,.126),l(-.207,.084),l(-.688,.37),l(-.411,.232),l(-.155,.43),l(-.071,.479),l(-.234,.116),l(-.125,-.179),l(-.621,-.102),l(-.438,.132),l(-.271,.298),l(-.262,-.116),l(-.557,.265),l(-.928,-.149),l(-.568,-.138),l(-1.708,-.325),l(-.894,.265),l(-.38,.611),l(.09,.166),l(.336,0),l(.047,.314),l(-.202,.149),l(.101,.199),l(.598,-.017),l(-.002,.347),l(-.384,.099),l(-.139,.413),l(.389,.232),l(-.116,.479),l(-.215,.132),l(.089,.248),l(.606,.298),l(-.003,.532),l(.782,-.003),l(-.039,.43),l(.188,.248),l(.702,-.05),l(.668,.377),l(.012,.211),l(-.2,.255),l(-.504,.2),l(-.643,.196),l(-.517,.248),l(.032,.366),l(.188,.377),l(-.237,.977),l(-1.512,1.503),l(.261,.38),l(-.358,.281),l(-.609,.133),l(-.353,.467),l(-.509,1.216),l(-.478,.547),l(-1.193,.496),l(-.177,.364),l(-.277,.481),l(-.563,.61),l(-.076,.38),l(-.71,.259),l(-.734,-.011),l(-.895,.314),l(-.361,-.094),l(-.158,-.518),l(-.207,-.132),l(-.404,.083),l(-.535,.463),l(-.144,.446),l(-.979,.893),l(-.186,.543),l(-.079,.269),l(.116,.38),l(.541,.163),l(.504,.085),l(.425,.014),l(-.114,.689),l(-.154,.735),l(.412,.411),l(.33,.099),l(.537,-.099),l(.112,.441),l(.216,.507),l(.654,1.333),l(-.232,.149),l(.241,.463),l(-.317,.066),l(-.15,.248),l(-.55,.083),l(-.145,-.335),l(-.183,-.062),l(-.78,.215),l(-.2,.331),l(-.735,-.099),l(-.229,-.149),l(-.835,-.021),l(-.835,-.009),l(-.259,-.052),l(.015,.728),l(-.866,.017),l(-.296,.431),l(-.37,.036),
-N(606.155,150.953),l(-.037,-.466),l(-.627,-2.479),l(-.064,-.578),l(-.4,.044),l(-.281,.115),l(-.395,1.159),l(-.224,.354),l(-.529,-.448),l(-.249,-.267),l(-.23,-.281),l(-.001,-.381),l(-.009,-.522),l(.131,-.283),l(.651,-.356),l(.498,-.13),l(.938,-.767),l(.159,-.34),l(.012,-.79),l(-.057,-.127),l(-.111,-.098),l(-2.473,-.198),l(-.559,.003),l(-.916,.062),l(-.547,-.053),l(-.537,-.109),l(-.095,-.099),l(-.079,-.719),l(-.053,-.479),l(-.129,-.324),l(-.417,-.054),l(-.489,.06),l(-.372,-.266),l(-.339,-.266),l(-1.252,-.303),l(-.234,.171),l(-.555,.525),l(-.124,.283),l(.083,.155),l(.494,.237),l(1.224,.938),l(.126,.112),l(-.047,.155),l(-.382,.101),l(-.502,.13),l(-.4,.299),l(-.548,.61),l(.339,.323),l(1.042,.431),l(.193,.21),l(-.029,.269),l(-.505,.765),l(.04,.254),l(.352,.45),l(.325,1.409),l(.402,1.775),l(.147,.532),l(-.172,.322),l(.068,.183),l(-.321,.071),l(-.35,-.056),l(-.148,-.706),l(-.198,-.084),l(-.253,.354),l(-.171,.354),l(-.172,.057),l(-.115,-.099),l(-.28,-.592),l(-.152,-.169),l(-.412,.537),l(-.504,.298),l(-.992,.397),l(-.571,.213),l(-.264,.226),l(-.05,.113),l(.106,.579),l(.183,.409),l(-.336,.495),l(-.305,.332),l(-.013,.257),l(-.548,.415),l(-.593,.467),l(-.467,.185),l(-.432,.057),l(-.746,.206),l(-.591,.362),l(-.459,.58),l(-.551,.552),l(-.88,1.061),l(-.611,.552),l(-.673,.276),l(-.675,.829),l(-.676,.467),l(-.728,.368),l(-.452,.241),l(-.427,.312),l(-.192,.509),l(-.073,.466),l(-.341,.41),l(-.649,.298),l(-.428,.058),l(-.506,-.098),l(-.258,.269),l(-.366,.887),l(-.277,.23),l(-.505,-.253),l(-.614,.142),l(-.354,.283),l(-.304,.565),l(-.165,.48),l(-.005,.508),l(.166,1.539),l(.018,.805),l(-.208,.495),l(.227,.324),l(.315,.423),l(-.015,.508),l(-.199,.607),l(-.669,1.611),l(-.341,.834),l(-.13,.636),l(.047,.649),l(.21,1.764),l(-.081,.24),l(-.643,.001),l(-.433,-.013),l(-.186,.142),l(-.334,.961),l(-.324,.594),l(.025,.127),l(.493,.352),l(-.805,.327),l(-.306,.015),l(-.77,.284),l(-.295,.41),l(-.101,.692),l(-.157,.255),l(-.367,.283),l(-.526,.255),l(-.099,.057),l(-.066,.042),l(-.231,.156),l(-.145,0),l(-.174,-.056),l(-1.417,-1.451),l(-.092,-.395),l(-.276,-.522),l(-.34,-1.397),l(-.689,-1.792),l(-.94,-1.933),l(-.979,-1.508),l(-.554,-1.722),l(-.507,-1.792),l(-.738,-1.636),l(-.82,-1.42),l(-.424,-.737),l(-.598,-1.439),l(-.363,-1.157),l(-.767,-3.274),l(-.469,-2.695),l(-.157,-1.566),l(-.051,-.24),l(.232,-.565),l(.546,-.834),l(.007,-.311),l(-.404,-.281),l(-.367,-.437),l(-.113,-.635),l(-.108,-.917),l(.065,-.622),l(-.837,.03),l(-.19,.212),l(-.235,.424),l(.009,.183),l(.276,.254),l(.074,.183),l(-.073,.438),l(-.301,.438),l(-.503,.368),l(-.812,.369),l(-.504,.114),l(-.617,.255),l(-.377,.015),l(-.861,-.281),l(-.572,-.38),l(-1.018,-1),l(-1.391,-1.268),l(-.516,-.705),l(.267,-.043),l(1.062,.125),l(.615,-.086),l(.443,-.142),l(.461,-.283),l(.521,-.608),l(-.067,-.24),l(-.156,.071),l(-.587,.114),l(-.847,-.026),l(-.607,-.112),l(-.632,-.132),l(-.5,-.218),l(-.203,-.07),l(-.929,-.661),l(-.668,-.775),l(-.057,-.197),l(.37,-.036),l(.296,-.431),l(.866,-.017),l(-.015,-.728),l(.259,.052),l(.835,.009),l(.835,.021),l(.229,.149),l(.735,.099),l(.2,-.331),l(.78,-.215),l(.183,.062),l(.145,.335),l(.55,-.083),l(.15,-.248),l(.317,-.066),l(-.241,-.463),l(.232,-.149),l(-.654,-1.333),l(-.216,-.507),l(-.112,-.441),L(557,143.058),l(-.33,-.099),l(-.412,-.411),l(.154,-.735),l(.114,-.689),l(-.425,-.014),l(-.504,-.085),l(-.541,-.163),l(-.116,-.38),l(.079,-.269),l(.186,-.543),l(.979,-.893),l(.144,-.446),l(.535,-.463),l(.404,-.083),l(.207,.132),l(.158,.518),l(.361,.094),l(.895,-.314),l(.734,.011),l(.71,-.259),l(.076,-.38),l(.563,-.61),l(.277,-.481),l(.177,-.364),l(1.193,-.496),l(.478,-.547),l(.509,-1.216),l(.353,-.467),l(.609,-.133),l(.358,-.281),l(-.261,-.38),l(1.512,-1.503),l(.237,-.977),l(-.188,-.377),l(-.032,-.366),l(.517,-.248),l(.643,-.196),l(.504,-.2),l(.2,-.255),l(-.012,-.211),l(-.668,-.377),l(-.702,.05),l(-.188,-.248),l(.039,-.43),l(-.782,.003),l(.003,-.532),l(-.606,-.298),l(-.089,-.248),l(.215,-.132),l(.116,-.479),l(-.389,-.232),l(.139,-.413),l(.384,-.099),l(.002,-.347),l(-.598,.017),l(-.101,-.199),l(.202,-.149),l(-.047,-.314),l(-.336,0),l(-.09,-.166),l(.38,-.611),l(.894,-.265),l(1.708,.325),l(.568,.138),l(.928,.149),l(.557,-.265),l(.262,.116),l(.271,-.298),l(.438,-.132),l(.621,.102),l(.125,.179),l(.234,-.116),l(.071,-.479),l(.155,-.43),l(.411,-.232),l(.688,-.37),l(.207,-.084),l(.502,-.152),l(0,.515),l(.441,1.03),l(.221,.515),l(.81,.11),l(.441,.405),l(.221,.258),l(-.331,.221),l(-.184,.184),l(.073,.589),l(.037,.552),l(.294,.221),l(.718,.096),l(.092,.078),l(.044,.182),l(.68,.099),l(-.104,.414),l(.367,.694),l(-.578,.364),l(-.376,.281),l(-.368,.049),l(-.337,-.264),l(-.033,-.364),l(-.785,.198),l(.157,.694),l(.579,.595),l(-.104,.446),l(.272,.364),l(-.215,.215),l(.099,.43),l(.198,.066),l(.477,-.314),l(.383,.248),l(.772,.843),l(.363,-.116),l(1.078,.579),l(-.116,.364),l(.756,.248),l(.154,-.066),l(.859,.596),l(-1.07,.909),l(-.281,.116),l(.008,.364),l(-.221,.265),l(.04,.396),l(-.309,.397),l(-.218,.43),l(.039,.248),l(.63,.38),l(.466,-.083),l(.665,.479),l(.704,.149),l(.305,.529),l(1.242,.678),l(.231,-.166),l(1.027,.595),l(.538,-.066),l(.182,.397),l(.835,.166),l(.304,.198),l(.15,-.066),l(.087,-.215),l(.503,0),l(.482,.265),l(.582,-.347),l(.494,.298),l(.643,.066),l(.142,.231),l(-.101,.446),l(.663,.149),l(.286,.281),l(.618,.265),l(.584,-.281),l(.313,.066),l(-.034,.331),l(.312,.248),l(.379,-.231),l(.721,.148),l(.847,.364),l(.606,-.297),l(.268,.364),l(.399,.116),l(.357,-.132),l(.271,.083),l(.687,-.132),l(.336,.05),l(.311,-.694),l(-.429,-.827),l(.07,-.876),l(.318,-.761),l(-.037,-.022),l(.345,-.129),l(.471,-.102),l(.231,.069),l(.139,.183),l(-.052,.861),l(.212,.662),l(-.092,.113),l(.235,.493),l(.637,.18),l(.559,.081),l(.869,.214),l(.085,.021),l(.544,-.074),l(.531,-.313),l(.301,.055),l(.335,.125),l(1.238,.063),l(1.036,-.062),l(.624,-.06),l(.217,-.58),l(-.017,-.282),l(-.258,-.238),l(-.313,-.069),l(-.326,-.294),l(-.042,-.24),l(.07,-.156),l(.189,-.1),l(.784,-.033),l(.714,-.216),l(.397,-.27),l(1.123,-1.107),l(.543,-.37),l(.829,-.258),l(1.105,-.726),l(.546,-.299),l(.355,-.087),l(.286,.167),l(.975,.319),l(.377,-.044),l(1.377,-.84),l(.455,.392),l(.716,.715),l(.046,.38),l(-.354,.454),l(-.138,.269),l(.102,.056),l(.3,.055),l(.657,.081),l(.73,.179),l(.624,.081),l(-.018,.508),l(-.112,.24),l(-.596,.582),l(-.072,.283),l(.184,.718),l(-.295,.058),l(-.853,-.221),l(-.558,-.082),l(-.312,.129),l(-.719,.512),l(-1.446,.883),l(-.197,.354),l(.057,.761),l(-.136,.382),l(-.938,1.134),l(-.045,.212),l(.192,.408),l(0,.324),l(-1.148,2.25),l(-.17,.128),l(-.309,-.013),l(-.391,-.11),l(-.811,-.32),l(-.133,.283),l(.146,1.594),l(-.191,.354),l(-.401,.144),l(-.228,.185),l(.152,.93),l(-.015,.678),l(-.273,.368),l(-.25,.129),l(-.255,-.14),l(-.595,-.152),
-N(478.516,135.173),l(.052,-.292),l(-.049,-.169),l(-.197,-.107),l(.107,-.175),l(.292,-.919),l(-.015,-.818),l(.517,-1.09),l(.3,-.891),l(-.004,-.409),l(.133,-.283),l(.07,-.749),l(.033,-.847),l(.062,-.174),l(.026,-.278),l(-.065,-.411),l(.037,-.119),l(.102,-.063),l(1.902,1.034),l(.365,.167),l(.253,-.016),l(1.139,-.656),l(2.96,-1.541),l(.161,-.071),l(.87,1.632),l(.311,.69),l(.093,.056),l(-.46,.44),l(-.257,.171),l(-.97,.26),l(-2.586,.622),l(-.646,.229),l(1.146,1.32),l(.698,.885),l(-.765,.724),l(-.456,.37),l(-.24,.072),l(-1.249,.332),l(-.462,.61),l(-.975,.782),l(-2.079,-.299),l(-.154,-.017),
-N(456.028,151.46),l(-.021,1.003),l(.033,3.078),l(-.088,.17),l(-1.561,-.019),l(-.52,-.011),l(-.073,1.13),l(-1.981,-.963),l(-5.577,-2.792),l(-4.941,-2.372),l(-5.231,-2.554),l(-.41,.059),l(-1.818,.858),l(-1.519,.729),l(-.231,.157),l(-1.192,-.911),l(-.258,-.182),l(-1.008,-.333),l(-1.646,-.442),l(-.832,-.137),l(-.098,-.07),l(-.86,-1.506),l(-.178,-.168),l(-1.028,-.347),l(-.702,-.165),l(-.544,.201),l(-.244,-.154),l(-.562,-.873),l(-.249,-.917),l(-1.272,-1.702),l(.152,-.283),l(.249,-.128),l(.666,-.47),l(.086,-.17),l(.061,-.664),l(-.457,-1.156),l(.158,-.495),l(.16,-.622),l(-.101,-.748),l(.1,-.862),l(-.052,-.691),l(-.147,-.833),l(-.88,-1.605),l(.241,-.383),l(.204,-.156),l(.22,-.143),l(.864,-.598),l(.155,-.227),l(.147,-.537),l(-.274,-.973),l(.126,-.354),l(1.473,-1.138),l(.579,-.314),l(.802,-.428),l(.093,-.269),l(-.064,-.564),l(.093,-.981),l(1.436,.59),l(.995,.309),l(.521,.013),l(.863,-.129),l(.604,.027),l(1.552,.223),l(.614,.479),l(.794,.224),l(.486,-.001),l(.342,.197),l(.173,.226),l(.26,.819),l(.39,.564),l(.688,.591),l(.378,.126),l(.678,.14),l(1.031,.083),l(.447,.07),l(.973,.224),l(.639,.224),l(.552,.281),l(1.289,.788),l(.84,.464),l(.465,.013),l(.441,-.128),l(.758,-.411),l(.706,-.623),l(.3,-.523),l(0,-.254),l(-.276,-.621),l(-.112,-.579),l(.044,-.41),l(.237,-.537),l(.661,-.58),l(.333,-.198),l(.554,-.241),l(.644,-.298),l(1.376,-.413),l(1.205,.054),l(.728,.154),l(.844,.365),l(.188,.169),l(.043,.508),l(.281,.253),l(.301,.014),l(.945,.125),l(.712,.309),l(.45,.027),l(1.286,.04),l(.302,.197),l(.068,.381),l(.276,.296),l(-.099,.208),l(-.369,.228),l(-.21,.34),l(.354,1.283),l(-.231,.425),l(-.322,.553),l(-.056,.311),l(.185,.945),l(.388,.916),l(.042,.367),l(-.015,.988),l(-.019,3.869),l(-.016,1.468),l(-.008,2.048),l(-.001,.692),l(.045,2.81),l(-.021,1.342),l(.011,2.612),
-N(478.212,134.714),l(-.834,-1.746),l(-.796,-1.944),l(-.124,-.289),l(.109,-.066),l(.679,-.851),l(.219,-.438),l(.183,-.507),l(.171,-.566),l(.188,-.822),l(.116,.018),l(.137,-.093),l(.006,-.204),l(.028,-.315),l(.372,-.051),l(.151,.022),l(.07,.099),l(.355,-.07),l(.009,-.167),l(.067,-.193),l(.088,-.041),l(.07,.023),l(.183,.346),l(.201,.128),l(.021,.183),l(-.047,.122),l(.082,.085),l(-.102,.063),l(-.037,.119),l(.065,.411),l(-.026,.278),l(-.062,.174),l(-.033,.847),l(-.07,.749),l(-.133,.283),l(.004,.409),l(-.3,.891),l(-.517,1.09),l(.015,.818),l(-.292,.919),l(-.107,.175),l(-.067,.068),l(-.042,.042),
-N(495.751,163.817),l(-.03,-.184),l(-.112,-.537),l(-.508,-.945),l(-.73,-.987),l(-.438,-.493),l(-.846,-.69),l(-.51,-.875),l(-.814,-1.876),l(-.474,-.889),l(-.28,-.409),l(-.794,-.507),l(-1.271,-.689),l(-.527,-.634),l(-.8,-1.17),l(-.081,-.96),l(-.061,-.776),l(-.002,-.89),l(-.104,-.381),l(-.312,-.663),l(-.944,-1.65),l(-.357,-.494),l(-.758,-.62),l(-.459,-.225),l(-.499,-.126),l(-.308,-.282),l(-.483,-.578),l(.149,-.692),l(-.111,-.437),l(-.474,-.818),l(-.747,-1.072),l(-.793,-.902),l(-1.069,-1.494),l(-.525,-.931),l(-.352,-.479),l(-.722,-.761),l(-.524,-.056),l(-.248,0),l(.077,-.296),l(.193,-.283),l(.311,-1.314),l(.104,-.583),l(.154,.017),l(2.079,.299),l(.975,-.782),l(.462,-.61),l(1.249,-.332),l(.24,-.072),l(.456,-.37),l(.765,-.724),l(-.698,-.885),l(-1.146,-1.32),l(.646,-.229),l(2.586,-.622),l(.97,-.26),l(.257,-.171),l(.46,-.44),l(.093,.056),l(1.129,.459),l(.757,.222),l(2.034,.934),l(1.14,.473),l(2.44,1.101),l(.258,.196),l(.399,.633),l(.141,.07),l(.973,-.048),l(.135,.366),l(-.118,.396),l(.047,.818),l(.118,.253),l(.812,.277),l(1.557,.697),l(4.048,.132),l(1.657,.259),l(.408,.054),l(.334,.619),l(.185,.239),l(1.07,.05),l(.644,-.044),l(.043,.121),l(.277,.648),l(.365,.494),l(.178,.663),l(.052,.113),l(.615,-.029),l(.248,.126),l(-.204,.237),l(.194,.187),l(.184,.282),l(.234,.067),l(.234,.27),l(.886,.168),l(.423,.437),l(-.07,.28),l(-.235,.035),l(-.111,.25),l(.316,.381),l(-.188,.593),l(-.122,.198),l(.165,.268),l(.302,.666),l(.149,-.117),l(.372,.282),l(.105,.616),l(.422,.696),l(-.028,.423),l(.222,.268),l(.16,.197),l(.287,.084),l(.136,-.007),l(.336,.083),l(1.043,2.198),l(.548,1.154),l(.261,.902),l(3.362,.375),l(3.387,.446),l(.839,.108),l(.584,-.469),l(.152,-.057),l(.581,.914),l(.155,1.453),l(-5.346,2.982),l(-2.35,1.213),l(-1.691,.815),l(-.169,.085),l(-1.148,.346),l(-3.097,1.035),l(-4.618,1.566),l(-.484,.229),l(-.041,.127),l(-.383,.397),l(-1.907,2.271),l(-2.042,2.667),l(-1.302,-2.703),l(-1.211,-2.45),l(-.452,-.012),l(-.715,.047),l(-.446,-.125),l(-.671,-.151),l(-.216,.1),l(-.174,.185),l(-.11,.495),l(.041,.678),l(-.113,.565),l(-.692,.563),
-N(476.458,130.735),l(.124,.289),l(.796,1.944),l(.834,1.746),l(-.38,.381),l(-.479,1.145),l(-.334,1.413),l(-.171,.593),l(-.18,.156),l(-.407,-.07),l(-.448,-.521),l(-.782,-.676),l(-.386,-.494),l(-.338,-.988),l(-.521,-.45),l(-.289,-.621),l(-.17,-.479),l(-.198,-.353),l(-.466,.17),l(-.267,.523),l(.604,1.34),l(.131,.381),l(.634,.86),l(.933,1.042),l(.473,1.199),l(.526,.973),l(.277,.818),l(.391,.465),l(.912,1.735),l(1.072,1.904),l(.428,.705),l(.586,.549),l(.451,.352),l(.151,.183),l(-.241,.17),l(-.285,.1),l(-.043,.155),l(.238,1.087),l(.252,.467),l(.127,.238),l(.812,.591),l(.397,.168),l(.406,.521),l(.416,.38),l(.311,.56),l(-10.382,-.006),l(-2.138,-.001),l(-2.774,.002),l(-2.513,.015),l(-2.268,-.029),l(-1.664,.01),l(-1.241,.007),l(-1.614,-.019),l(-.914,.005),l(-.819,.089),l(-.011,-2.612),l(.021,-1.342),l(-.045,-2.81),l(.001,-.692),l(.008,-2.048),l(.016,-1.468),l(.019,-3.869),l(.015,-.988),l(-.042,-.367),l(-.388,-.916),l(-.185,-.945),l(.056,-.311),l(.322,-.553),l(.231,-.425),l(-.354,-1.283),l(.21,-.34),l(.369,-.228),l(.099,-.208),l(.337,.168),l(.553,-.015),l(.628,-.1),l(.786,-.001),l(1.513,.293),l(.587,.115),l(.779,.122),l(.721,.154),l(.348,.409),l(.4,0),l(.928,.083),l(.998,.394),l(.628,.069),l(.245,-.127),l(.72,-.538),l(.925,-.397),l(.837,-.186),l(.78,-.27),l(.375,-.072),l(.346,.056),l(.535,-.001),l(.723,.126),l(.202,.465),l(.596,.366),l(.518,-.156),l(.64,.267),l(.382,.027),l(.561,-.401),l(.241,.179),l(.277,.056),l(.674,.13),l(.338,-.062),l(.46,-.165),l(.51,-.308),
-N(580.625,132.873),l(.24,.43),l(.299,.05),l(.276,-.314),l(.134,-.513),l(.275,.066),l(.186,-.182),l(1.079,.199),l(.132,.612),l(.867,.264),l(.726,.595),l(.472,.215),l(.15,-.132),l(.454,.281),l(.657,.794),l(.158,-.166),l(.71,-.116),l(.289,.166),l(.178,.38),l(-.069,.281),l(1.451,.893),l(.333,-.248),l(.326,.017),l(-.175,.396),l(.014,.265),l(.935,.066),l(.365,-.066),l(.54,.496),l(.141,.463),l(.237,-.099),l(-.01,-.364),l(.685,.38),l(.271,-.083),l(.08,-.331),l(.407,0),l(.63,.281),l(.319,.364),l(.849,-.066),l(.341,.116),l(.339,-.281),l(.655,.159),l(.037,.022),l(-.318,.761),l(-.07,.876),l(.429,.827),l(-.311,.694),l(-.336,-.05),l(-.687,.132),l(-.271,-.083),l(-.357,.132),l(-.399,-.116),l(-.268,-.364),l(-.606,.297),l(-.847,-.364),l(-.721,-.148),l(-.379,.231),l(-.312,-.248),l(.034,-.331),l(-.313,-.066),l(-.584,.281),l(-.618,-.265),l(-.286,-.281),l(-.663,-.149),l(.101,-.446),l(-.142,-.231),l(-.643,-.066),l(-.494,-.298),l(-.582,.347),l(-.482,-.265),l(-.503,0),l(-.087,.215),l(-.15,.066),l(-.304,-.198),l(-.835,-.166),l(-.182,-.397),l(-.538,.066),l(-1.027,-.595),l(-.231,.166),l(-1.242,-.678),l(-.305,-.529),l(-.704,-.149),l(-.665,-.479),l(-.466,.083),l(-.63,-.38),l(-.039,-.248),l(.218,-.43),l(.309,-.397),l(-.04,-.396),l(.221,-.265),l(-.008,-.364),l(.281,-.116),l(1.07,-.909),
-N(374.125,167.166),l(-1.41,-.924),l(-.661,-.604),l(-.537,-.788),l(-.292,-.662),l(-.15,-.183),l(-.312,-.154),l(-.567,-.053),l(-.655,-.307),l(-.695,-.561),l(-.604,-.194),l(-.567,-.025),l(-1.209,.12),l(-1.821,.194),l(-.523,.417),l(.06,-.502),l(.563,-1.301),l(.188,-.819),l(.13,-1.13),l(-.162,-1.101),l(-.3,-.791),l(-.624,-.747),l(.267,-.283),l(.182,-.424),l(.067,-.975),l(-.065,-.537),l(-.174,-.353),l(-.808,-.817),l(-.297,-.112),l(-.393,.438),l(-.055,-.197),l(-.013,-.381),l(.08,-.689),l(.474,.013),l(5.055,.056),l(2.396,.014),l(.732,-.033),l(.212,.027),l(-.051,-1.102),l(-.164,-1.539),l(.01,-.707),l(.249,-.383),l(.575,-.427),l(.726,-.315),l(.809,-.287),l(.144,-.128),l(.099,-2.6),l(.07,-2.261),l(.047,-.509),l(.557,-.074),l(6.005,.022),l(.56,.011),l(.104,-.396),l(-.002,-.65),l(.03,-1.752),l(2.829,1.509),l(4.12,2.42),l(1.414,.91),l(-.523,.13),l(-3.231,.089),l(.049,.776),l(.908,7.962),l(.19,1.468),l(.178,1.736),l(.325,2.753),l(.202,2.386),l(.186,1.468),l(.724,.787),l(-.379,1.613),l(-6.457,.01),l(-1.953,.026),l(-.945,.344),l(-.387,.031),l(-.485,-.054),l(-.713,-.137),l(-.535,-.124),l(-.06,.212),l(.055,.296),l(-.107,.269),l(-.454,-.082),l(-.214,-.168),l(-.568,-.83),l(-.261,-.111),l(-.402,.073),l(-.252,.256),l(-.181,.552),l(-.018,.607),l(-.332,.284),
-N(476.114,191.139),l(-.563,.54),l(-.626,.314),l(-.367,.016),l(-.303,-.196),l(-.303,-.097),l(-.88,.132),l(-.881,.33),l(-.911,.048),l(-.942,-.234),l(-.495,-.011),l(-.464,.087),l(-.496,.229),l(-1.288,-1.32),l(-1.032,-.926),l(-.207,-.083),l(-.258,.157),l(-.436,.582),l(-.16,.1),l(-.684,-.631),l(-.384,-.012),l(-.529,.37),l(-.258,.242),l(-.352,.016),l(-.366,-.195),l(-.525,-.477),l(-.348,-.493),l(-.795,-.772),l(-.143,-.239),l(-.031,-.07),l(.083,-.679),l(-.157,-.352),l(-.558,-.477),l(-.814,-.165),l(-.367,-.224),l(-.285,-.436),l(-.059,-.72),l(-.206,-.366),l(-.207,-.168),l(-.717,-.434),l(-.558,-.378),l(-.445,-.351),l(-.173,-.395),l(.148,-.481),l(-.223,-.267),l(-.351,-.196),l(-.799,-.235),l(-.797,-.447),l(-.223,-.225),l(-.252,-.493),l(-.207,-.126),l(-.272,.001),l(-.802,.019),l(-.158,-.211),l(-.01,-.664),l(.416,-1.472),l(-.122,-.536),l(-.347,-.549),l(-1.342,-1.673),l(.15,-.425),l(-.026,-.367),l(-.266,-.465),l(-.444,-.407),l(-.155,-.295),l(-.137,-.522),l(-.221,-1.228),l(-.141,-.225),l(-.338,-.012),l(-.517,.088),l(-.219,-.352),l(.316,-.609),l(.542,-.596),l(.087,-.34),l(-.342,-.662),l(.053,-.24),l(.718,-.428),l(.149,-.212),l(-.131,-.677),l(.122,-.438),l(.583,-.809),l(.417,-1.245),l(.229,-.143),l(1.245,-.05),l(.839,.009),l(.04,-.283),l(-.031,-1.229),l(-.036,-1.002),l(.038,-.749),l(-.085,-2.5),l(.036,-.636),l(.016,-.946),l(.02,-1.045),l(.073,-1.13),l(.52,.011),l(1.561,.019),l(.088,-.17),l(-.033,-3.078),l(.021,-1.003),l(.819,-.089),l(.914,-.005),l(1.614,.019),l(1.241,-.007),l(1.664,-.01),l(2.268,.029),l(2.513,-.015),l(2.774,-.002),l(2.138,.001),l(10.382,.006),l(.229,.414),l(.499,1.115),l(.281,3.501),l(.319,1.637),l(.182,.211),l(.625,.394),l(.595,.366),l(.617,.507),l(.491,.197),l(.254,.223),l(-.238,.199),l(-.277,.327),l(-.306,.566),l(-.369,.242),l(-.511,.172),l(-.427,.116),l(-.153,.142),l(-.235,.496),l(-.348,.171),l(-.73,.033),l(-.204,.552),l(-.038,.452),l(-.202,.862),l(-.242,.722),l(-.541,1.302),l(-.068,.495),l(.092,.903),l(-.013,.679),l(-.001,.083),l(-.148,.947),l(-.398,1.231),l(-.214,1.061),l(-1.04,.331),l(-.414,.37),l(-.693,1.134),l(-.154,.34),l(-.191,1.088),l(-.141,1.074),l(-.197,.185),l(-.274,.044),l(-.431,-.096),l(-.259,.072),l(-.163,.114),l(-.187,1.103),l(-.115,.933),l(-.2,1.272),l(.039,.522),l(-.229,1.159),l(-.469,.299),l(-.288,-.012),l(-.928,-.122),l(-.321,.03),l(-.188,.806),l(-.054,.466),l(.094,.141),l(.479,.11),l(.734,.123),l(.334,.167),l(.805,.913),l(1.06,1.067),l(.751,1.464),l(.345,.732),l(.348,.421),l(.462,.28),l(.415,.097),l(.269,.309),l(.117,.988),l(-.034,.17),l(-.018,.141),l(-.079,-.028),l(-.464,.017),l(-1.009,.133),l(-.832,.005),l(-.671,-.052),l(-.291,.327),l(-.678,.795),
-N(518.402,163.079),l(-.282,.097),l(-.538,.27),l(-.656,.566),l(-.265,.297),l(-.166,.508),l(-.062,.41),l(-.41,.326),l(-1.418,.652),l(-2.27,.641),l(-1.285,.412),l(-.843,.312),l(-.356,.297),l(-.473,.622),l(-.436,.269),l(-.506,.114),l(-.593,-.069),l(-.521,.072),l(-.83,.439),l(-.65,.396),l(-.956,.397),l(-.752,.199),l(-1.16,.003),l(-.562,-.013),l(-.297,.128),l(-.386,.312),l(-.272,.297),l(-.45,.312),l(-.511,.241),l(-.389,.043),l(-.239,-.042),l(-.535,.411),l(-.839,.058),l(-.494,-.112),l(-.623,-.437),l(-.17,-.155),l(-.317,-.437),l(-.084,-.254),l(.18,-.721),l(-.081,-.635),l(-.312,-.507),l(-.341,-1.171),l(-.572,-1.919),l(-.072,-.438),l(.268,-.707),l(-.124,-.748),l(.692,-.563),l(.113,-.565),l(-.041,-.678),l(.11,-.495),l(.174,-.185),l(.216,-.1),l(.671,.151),l(.446,.125),l(.715,-.047),l(.452,.012),l(1.211,2.45),l(1.302,2.703),l(2.042,-2.667),l(1.907,-2.271),l(.383,-.397),l(.041,-.127),l(.484,-.229),l(4.618,-1.566),l(3.097,-1.035),l(1.148,-.346),l(.169,-.085),l(.092,.663),l(.226,.634),l(.604,.971),l(.933,1.364),l(.127,.253),l(-.006,.296),l(.483,.689),l(.241,.306),
-N(494.64,172.627),l(-.261,-.166),l(-.476,-.633),l(-.475,-.159),l(-.437,-.911),l(-1.267,-.792),l(-.277,-.594),l(-.673,-.673),l(-.594,-.119),l(-.871,-.554),l(-.555,.079),l(-.158,-.158),l(-.237,.04),l(-.277,-.198),l(-.356,.159),l(-.476,.079),l(-.277,-.436),l(-.158,.237),l(-.436,.198),l(-.792,.079),l(-.554,-.594),l(-.238,0),l(-.396,-.317),l(-.832,1.663),l(-.436,-.871),l(-.475,.079),l(-.277,.356),l(-.396,-.08),l(-.349,.041),l(.013,-.679),l(-.092,-.903),l(.068,-.495),l(.541,-1.302),l(.242,-.722),l(.202,-.862),l(.038,-.452),l(.204,-.552),l(.73,-.033),l(.348,-.171),l(.235,-.496),l(.153,-.142),l(.427,-.116),l(.511,-.172),l(.369,-.242),l(.306,-.566),l(.277,-.327),l(.238,-.199),l(.098,.129),l(.718,2.102),l(.442,1.623),l(.689,1.919),l(.618,.832),l(.205,-.212),l(-.072,-.479),l(.093,-.226),l(.31,.253),l(.4,.677),l(.384,.395),l(.534,-.043),l(.242,.014),l(1.338,1.282),l(.809,.916),l(.124,.099),l(.706,.055),l(.618,.874),l(.021,.24),l(-.025,.198),l(.118,.212),l(.507,.182),l(.915,.869),l(-.075,.094),l(-.529,.78),l(-.331,-.182),l(-.396,-.125),l(-.214,.114),l(-.055,.085),
-N(370.147,172.035),l(-2.301,-.043),l(-1.045,.006),l(-.505,.384),l(-.51,.187),l(-.74,-.024),l(-.819,.047),l(-.463,.139),l(-.009,-.003),l(-.278,-.226),l(-.169,-.409),l(.104,-.424),l(-.095,-.55),l(-.018,-.198),l(.001,-.046),l(1.695,.014),l(0,-.434),l(.155,0),l(.341,-.016),l(.186,-.077),l(.248,.062),l(.294,-.046),l(.124,-.093),l(.016,-.263),l(.077,-.078),l(.14,-.016),l(.155,.155),l(.232,.124),l(.356,.108),l(.046,.108),l(.139,.047),l(.217,-.031),l(.263,.108),l(.186,.17),l(.434,0),l(.186,-.108),l(.263,-.108),l(.279,0),l(.108,-.124),l(.016,-.124),l(-.155,-.217),l(-.202,-.077),l(-.201,.031),l(-.294,.093),l(-.108,.093),l(-.248,.062),l(-.279,-.186),l(-.031,-.186),l(-.186,-.108),l(-.17,-.015),l(-.186,.124),l(-.139,-.108),l(-.108,-.217),l(-.155,-.108),l(-.201,.031),l(-.17,-.062),l(-.387,.17),l(-.108,-.108),l(-.155,.046),l(-.202,.124),l(-.093,.294),l(-1.664,0),l(-.007,-.067),l(-.028,-.269),l(-.377,-.268),l(-.068,-.155),l(-.057,-.367),l(-.386,-.635),l(-.399,-.494),l(-.379,-.31),l(-.472,-.183),l(.54,-.34),l(.723,-.75),l(.588,-1.004),l(.334,-.82),l(.099,-.826),l(.523,-.417),l(1.821,-.194),l(1.209,-.12),l(.567,.025),l(.604,.194),l(.695,.561),l(.655,.307),l(.567,.053),l(.312,.154),l(.15,.183),l(.292,.662),l(.537,.788),l(.661,.604),l(1.41,.924),l(-.506,.399),l(-.057,.339),l(.251,1.1),l(.144,.663),l(.22,.479),l(.181,.197),l(.554,.322),l(.265,.337),l(.082,.833),l(-.004,.565),l(-.062,.142),l(-.146,-.042),l(-.963,.091),l(-.658,.074),l(-.725,-.081),l(-.503,-.209),l(-.795,-.32),l(-1.255,-.021),
-N(495.973,175.881),l(-.363,.807),l(.083,.409),l(.428,.732),l(.587,.844),l(.732,.801),l(.596,.547),l(.634,.321),l(.54,.209),l(4.26,1.443),l(1.447,.472),l(1.875,-.04),l(.236,.154),l(-4.087,4.205),l(-1.562,1.69),l(-.813,.909),l(-.8,.004),l(-1.693,-.046),l(-.626,.088),l(-.562,.215),l(-.388,.214),l(-.502,.497),l(-.294,.426),l(-.337,.115),l(-1.216,.078),l(-.305,.101),l(-.453,.511),l(-1.103,-.106),l(-.461,-.181),l(-.46,-.336),l(-.271,-.098),l(-.852,.358),l(-.675,.343),l(-.258,.199),l(-.71,.753),l(-.16,.114),l(-.847,-.094),l(-.67,-.193),l(-1.373,-.133),l(-.335,-.041),l(-2.353,-1.525),l(-.604,-.293),l(-.749,-.193),l(-1.054,-.149),l(-.319,-.069),l(.018,-.141),l(.034,-.17),l(-.117,-.988),l(-.269,-.309),l(-.415,-.097),l(-.462,-.28),l(-.348,-.421),l(-.345,-.732),l(-.751,-1.464),l(-1.06,-1.067),l(-.805,-.913),l(-.334,-.167),l(-.734,-.123),l(-.479,-.11),l(-.094,-.141),l(.054,-.466),l(.188,-.806),l(.321,-.03),l(.928,.122),l(.288,.012),l(.469,-.299),l(.229,-1.159),l(-.039,-.522),l(.2,-1.272),l(.115,-.933),l(.187,-1.103),l(.163,-.114),l(.259,-.072),l(.431,.096),l(.274,-.044),l(.197,-.185),l(.141,-1.074),l(.191,-1.088),l(.154,-.34),l(.693,-1.134),l(.414,-.37),l(1.04,-.331),l(.214,-1.061),l(.398,-1.231),l(.148,-.947),l(.001,-.083),l(.349,-.041),l(.396,.08),l(.277,-.356),l(.475,-.079),l(.436,.871),l(.832,-1.663),l(.396,.317),l(.238,0),l(.554,.594),l(.792,-.079),l(.436,-.198),l(.158,-.237),l(.277,.436),l(.476,-.079),l(.356,-.159),l(.277,.198),l(.237,-.04),l(.158,.158),l(.555,-.079),l(.871,.554),l(.594,.119),l(.673,.673),l(.277,.594),l(1.267,.792),l(.437,.911),l(.475,.159),l(.476,.633),l(.261,.166),l(-.594,.921),l(-.488,.61),l(-.105,.254),l(-.029,.396),l(.202,1.157),l(.5,-.074),l(.892,-.246),l(.4,.04),l(.556,.195),
-N(364.011,169.929),l(1.664,0),l(.093,-.294),l(.202,-.124),l(.155,-.046),l(.108,.108),l(.387,-.17),l(.17,.062),l(.201,-.031),l(.155,.108),l(.108,.217),l(.139,.108),l(.186,-.124),l(.17,.015),l(.186,.108),l(.031,.186),l(.279,.186),l(.248,-.062),l(.108,-.093),l(.294,-.093),l(.201,-.031),l(.202,.077),l(.155,.217),l(-.016,.124),l(-.108,.124),l(-.279,0),l(-.263,.108),l(-.186,.108),l(-.434,0),l(-.186,-.17),l(-.263,-.108),l(-.217,.031),l(-.139,-.047),l(-.046,-.108),l(-.356,-.108),l(-.232,-.124),l(-.155,-.155),l(-.14,.016),l(-.077,.078),l(-.016,.263),l(-.124,.093),l(-.294,.046),l(-.248,-.062),l(-.186,.077),l(-.341,.016),l(-.155,0),l(0,.434),l(-1.695,-.014),l(.019,-.477),l(.173,-.198),l(.434,-.058),l(.093,-.155),l(-.006,-.059),
-N(495.973,175.881),l(-.556,-.195),l(-.4,-.04),l(-.892,.246),l(-.5,.074),l(-.202,-1.157),l(.029,-.396),l(.105,-.254),l(.488,-.61),l(.594,-.921),l(.055,-.085),l(.214,-.114),l(.396,.125),l(.331,.182),l(.529,-.78),l(.075,-.094),l(.627,.596),l(.285,.465),l(.036,.282),l(-.118,.113),l(-.361,.185),l(-.438,.1),l(-.56,.312),l(-.566,.467),l(.253,.127),l(.645,-.058),l(.321,.013),l(.434,.124),l(-.114,.26),l(-.37,.468),l(-.34,.567),
-N(363.763,172.732),l(.463,-.139),l(.819,-.047),l(.74,.024),l(.51,-.187),l(.505,-.384),l(1.045,-.006),l(2.301,.043),l(-.111,.792),l(.115,.847),l(-.186,.312),l(-.333,.186),l(-.513,.031),l(-.401,.017),l(-.381,.186),l(-.789,.64),l(-.321,.372),l(-.047,-.126),l(-.192,0),l(-.501,-.14),l(-.165,-.254),l(.121,-.41),l(.33,-.438),l(.253,-.212),l(-.131,-.141),l(-.372,-.112),l(-.498,.015),l(-.415,.17),l(-.161,0),l(-.616,-.281),l(-.36,-.296),l(-.069,-.24),l(-.323,-.084),l(-.316,-.137),
-N(383.005,177.596),l(-.379,.397),l(-.264,.623),l(.214,.409),l(.695,.405),l(.197,.31),l(-.125,.283),l(-.332,.37),l(.309,.351),l(.648,.561),l(.051,.226),l(-.19,.143),l(-.304,-.012),l(-.548,-.223),l(-.304,.03),l(-.158,.199),l(-.03,.127),l(.296,.549),l(.179,.21),l(-.188,.354),l(-.602,.554),l(-.047,.099),l(-.339,-.224),l(-.337,-.097),l(-.143,.086),l(-.756,.922),l(-.321,-.026),l(-.404,-.322),l(-.277,-.323),l(.044,-.283),l(-.009,-.65),l(-.22,-.846),l(-.165,-.366),l(-.338,-.097),l(-.528,.046),l(-.367,.143),l(-.252,.242),l(-.193,.376),l(-.26,-.656),l(-.165,-1.369),l(-.252,-.761),l(-.475,-.619),l(-.456,-.421),l(-.42,-.224),l(-.466,-.04),l(-1.137,.148),l(-.594,-.039),l(-.238,.157),l(-.643,.866),l(-1.088,1.235),l(.051,-.392),l(-.312,-.55),l(-.764,-.775),l(-.122,-.649),l(-.84,-.366),l(-.908,-.563),l(-.277,-.296),l(.09,-.396),l(-.053,-.311),l(-.547,-.041),l(-.323,-.098),l(-.115,-.155),l(.059,-.311),l(-.038,-.1),l(.321,-.372),l(.789,-.64),l(.381,-.186),l(.401,-.017),l(.513,-.031),l(.333,-.186),l(.186,-.312),l(-.115,-.847),l(.111,-.792),l(1.255,.021),l(.795,.32),l(.503,.209),l(.725,.081),l(.658,-.074),l(.963,-.091),l(.146,.042),l(.113,.028),l(.18,.183),l(.882,.715),l(.536,.265),l(.252,-.256),l(.475,-.413),l(.338,.026),l(.356,.153),l(.565,.152),l(.43,-.243),l(.3,-.327),l(.684,-.428),l(.323,.055),l(.246,.281),l(.022,.339),l(.271,.832),l(.265,.451),l(.474,.478),l(.349,.718),l(.194,1.143),l(.559,.901),
-N(266.015,188.956),l(.103,.169),l(-.163,.326),l(-.592,.385),l(-1.74,.9),l(-.807,.23),l(-.557,.074),l(-.465,-.054),l(-.284,.115),l(-.232,1.117),l(-.348,.115),l(-.628,-.618),l(-.344,-.224),l(-1.149,.035),l(-.385,-.04),l(-.896,-.461),l(-.309,-.125),l(-.159,.029),l(-.041,.184),l(.616,.688),l(.391,.69),l(.302,1.524),l(.079,.55),l(.166,.239),l(.96,.051),l(.434,.125),l(.15,.253),l(-.265,.27),l(-.569,.272),l(-.652,.131),l(-.203,.199),l(-.259,.666),l(-.235,.213),l(-.652,.173),l(-.554,.286),l(-.74,.654),l(-.645,.739),l(-.271,.016),l(-.186,-.776),l(-.083,-.183),l(-.757,.697),l(-.414,.073),l(-.482,-.223),l(-.694,-.546),l(-.432,-.054),l(-.199,-.437),l(-.088,-.452),l(-.161,-.861),l(-.138,-.437),l(-.148,-.168),l(-.797,-1.182),l(-.51,-.491),l(.479,-.526),l(.731,-.612),l(-.121,-.282),l(-.486,-.647),l(-.256,-.437),l(-.447,-.789),l(-.162,-.804),l(-.048,-.367),l(-.035,-.438),l(-.026,-.254),l(.147,-.326),l(.379,-.511),l(.085,-1.004),l(.409,-.525),l(-.644,-.081),l(-1.99,.224),l(-.76,.174),l(-.522,.13),l(-.144,0),l(-.554,-.576),l(-.847,-.998),l(-.188,-.253),l(-.64,-.321),l(-.521,-.181),l(-1.167,.05),l(-1.163,.12),l(-.496,.017),l(-.397,-.252),l(-.429,-.548),l(-.401,-.309),l(-.099,-.353),l(.226,-1.132),l(-.103,-.395),l(-.855,-1.45),l(-.31,-.606),l(-.384,.017),l(-.234,.1),l(-.402,-.025),l(.709,-1.191),l(.241,-.722),l(.172,-.722),l(.99,-1.758),l(.381,-.059),l(.227,.027),l(.129,-.396),l(-.048,-.497),l(.056,-.288),l(.414,-.2),l(.534,-.156),l(.84,-.171),l(.128,.105),l(-.9,.151),l(-.731,.312),l(-.145,.212),l(.19,.607),l(.142,.407),l(.224,.126),l(-.043,.145),l(.153,.579),l(-.135,.367),l(-.327,.364),l(-.348,.824),l(-.137,.368),l(.253,.479),l(.288,.253),l(.25,.72),l(.341,.353),l(.523,-.114),l(.184,-.156),l(.419,-.255),l(.12,-.142),l(.066,-.523),l(-.167,-.649),l(-.21,-.282),l(-.438,-.804),l(-.136,-.135),l(-.118,-.395),l(-.247,-.18),l(.239,-.099),l(.095,-.251),l(-.204,-.144),l(1,-.379),l(1.085,-.327),l(.998,-.272),l(.086,-.225),l(.69,-.086),l(.143,-.008),l(-.042,-.157),l(-.055,-.198),l(-.125,-.036),l(-.039,-.108),l(-.128,-.072),l(-.226,.071),l(-.156,.027),l(-.229,-.012),l(-.315,-.55),l(.109,-.254),l(.337,-.213),l(.367,-.043),l(.09,.112),l(.14,.368),l(.186,.162),l(-.001,.148),l(.026,.193),l(.068,.09),l(.004,.198),l(.253,.258),l(.329,-.02),l(.699,.111),l(.455,.07),l(.593,.196),l(.323,.254),l(.393,.564),l(.156,.635),l(.358,.324),l(.359,.084),l(1.02,-.129),l(.928,-.059),l(.59,-.058),l(.799,-.059),l(.714,.125),l(.4,.479),l(.267,.169),l(.578,.253),l(.49,.14),l(1.094,.04),l(.382,-.057),l(.388,-.227),l(1.042,-.807),l(.47,-.185),l(.453,.042),l(.959,-.073),l(1.152,-.073),l(.919,.055),l(.248,.112),l(-.056,.141),l(-.294,.185),l(-.854,-.041),l(-.433,.015),l(-.083,.212),l(.059,.184),l(.593,.253),l(.609,.535),l(.195,.649),l(.246,-.523),l(.185,-.142),l(.415,.253),l(.483,.027),l(.374,.098),l(.258,.338),l(.918,.394),l(.464,.295),l(-.729,.496),l(-.161,.65),l(-.214,.226),l(-1.055,.417),l(.5,.064),l(.598,.098),l(.368,-.029),l(.33,-.142),l(.929,-.03),l(.725,.083),l(.84,.274),l(.095,.296),l(-.061,.41),l(-1.655,1.239),l(-.101,.255),l(.074,.212),l(.62,.604),l(.141,.282),l(-.308,.299),l(-.41,.144),l(-1.032,.19),l(-.061,.452),l(.008,.58),l(-.395,.539),l(-.071,.212),l(.324,.521),l(.732,.745),l(.503,.647),
-N(493.044,204.258),l(-1.223,-1.771),l(-.027,-.932),l(-.03,-1.43),l(-.042,-2.045),l(-.003,-1.017),l(0,-.438),l(.016,-.848),l(.004,-1.215),l(.002,-.508),l(1.649,-2.467),l(.453,-.511),l(.305,-.101),l(1.216,-.078),l(.337,-.115),l(.294,-.426),l(.502,-.497),l(.388,-.214),l(.562,-.215),l(.626,-.088),l(1.693,.046),l(.8,-.004),l(.813,-.909),l(1.562,-1.69),l(4.087,-4.205),l(-.236,-.154),l(-1.875,.04),l(-1.447,-.472),l(-4.26,-1.443),l(-.54,-.209),l(-.634,-.321),l(-.596,-.547),l(-.732,-.801),l(-.587,-.844),l(-.428,-.732),l(-.083,-.409),l(.363,-.807),l(.34,-.567),l(.37,-.468),l(.114,-.26),l(.154,.044),l(.935,1.142),l(.586,.62),l(.243,.381),l(.265,.211),l(.372,-.071),l(.417,-.001),l(.465,.027),l(.372,-.071),l(.572,-.27),l(.836,-.425),l(.585,-.157),l(.397,.098),l(.76,.267),l(.549,-.072),l(.56,-.326),l(.779,-.566),l(.247,-.127),l(.447,.041),l(.479,.098),l(.419,-.043),l(1.195,-.482),l(.288,.027),l(.682,.196),l(.74,-.03),l(.764,-.185),l(.964,-.327),l(.9,-.666),l(.47,-.382),l(.604,.154),l(.391,.211),l(.08,.014),l(.147,.268),l(-.414,.919),l(.021,.564),l(.132,.621),l(-.165,.452),l(-.375,.509),l(-.028,.678),l(-.047,.833),l(-.163,.509),l(-1.264,2.262),l(-.842,.792),l(-.122,.311),l(.102,.353),l(-.893,1.569),l(-.834,1.272),l(-.214,.947),l(-.351,.636),l(-.712,1.117),l(-.874,1.188),l(-1.159,1.498),l(-.384,.439),l(-2.274,2.504),l(-1.82,1.557),l(-2.164,1.121),l(-.593,.382),l(-1.28,1.09),l(-1.74,1.755),l(-.06,.061),l(-1.055,1.1),l(-1.235,1.569),l(-.615,.835),l(.1,.353),l(-.094,.276),
-N(264.768,176.039),l(-.128,.225),l(-.115,.067),l(-.029,.135),l(.039,.25),l(-.058,.086),l(.125,.376),l(-.039,.424),l(-.453,.154),l(-.135,-.01),l(-.144,.039),l(-.482,-.039),l(-.192,.039),l(-.087,-.048),l(-.356,0),l(-.02,-.058),l(.039,-.067),l(.202,-.029),l(.222,-.135),l(.019,-.087),l(.106,.02),l(.154,.01),l(.135,-.145),l(-.096,-.279),l(.048,-.125),l(.029,-.183),l(-.067,-.125),l(-.097,-.135),l(-.279,-.048),l(.116,-.096),l(.164,-.019),l(.231,-.029),l(.115,-.087),l(.385,.02),l(.106,-.039),l(.299,-.067),l(.244,.006),
-N(654.075,190.187),l(.206,-.125),l(.63,-.114),l(.656,-.938),l(.241,-.07),l(-.069,.268),l(.122,.087),l(.187,-.046),l(.11,.174),l(.148,.444),l(-.024,.111),l(-.013,.247),l(.197,.197),l(.025,.086),l(-1.234,.42),l(-.383,.271),l(-.309,-.271),l(-.111,-.259),l(-.234,.012),l(-.062,-.37),l(-.084,-.126),
-N(493.044,204.258),l(-.602,.389),l(-.557,.171),l(-.385,-.112),l(-.086,.777),l(-.282,.367),l(-.67,.115),l(-.394,.382),l(-.088,.48),l(.006,.353),l(-.356,.622),l(-.964,1.358),l(.092,.536),l(-.337,.65),l(-.25,.255),l(-.334,.1),l(-.084,.152),l(-1.067,-.807),l(-2.427,-1.752),l(-.07,-.239),l(.116,-.552),l(-.137,-.381),l(-3.553,-1.984),l(-4.663,-2.568),l(-1.448,.033),l(1.144,-2.479),l(.105,-.229),l(.656,-.835),l(.985,-.938),l(.477,-.525),l(.43,-.695),l(.143,-.566),l(-.048,-.664),l(-.223,-.606),l(-.224,-.352),l(-.732,-1.069),l(-.174,-.465),l(-.027,-.861),l(-.126,-.226),l(-.477,-.463),l(-.3,-.493),l(.678,-.795),l(.291,-.327),l(.671,.052),l(.832,-.005),l(1.009,-.133),l(.464,-.017),l(.079,.028),l(.319,.069),l(1.054,.149),l(.749,.193),l(.604,.293),l(2.353,1.525),l(.335,.041),l(1.373,.133),l(.67,.193),l(.847,.094),l(.16,-.114),l(.71,-.753),l(.258,-.199),l(.675,-.343),l(.852,-.358),l(.271,.098),l(.46,.336),l(.461,.181),l(1.103,.106),l(-1.649,2.467),l(-.002,.508),l(-.004,1.215),l(-.016,.848),l(0,.438),l(.003,1.017),l(.042,2.045),l(.03,1.43),l(.027,.932),l(1.223,1.771),
-N(466.196,203.275),l(.188,-.298),l(.076,-.27),l(-.057,-.748),l(.025,-.734),l(-.021,-.593),l(.107,-.507),l(.217,-1.02),l(.395,-.681),l(.255,-.284),l(1.241,-.996),l(1.195,-1.066),l(.191,-.453),l(-.111,-.31),l(-.271,-.182),l(-.479,-.04),l(-.191,-.027),l(-.128,-.253),l(.26,-1.88),l(.018,-.424),l(-.159,-.183),l(-.063,-.028),l(.496,-.229),l(.464,-.087),l(.495,.011),l(.942,.234),l(.911,-.048),l(.881,-.33),l(.88,-.132),l(.303,.097),l(.303,.196),l(.367,-.016),l(.626,-.314),l(.563,-.54),l(.3,.493),l(.477,.463),l(.126,.226),l(.027,.861),l(.174,.465),l(.732,1.069),l(.224,.352),l(.223,.606),l(.048,.664),l(-.143,.566),l(-.43,.695),l(-.477,.525),l(-.985,.938),l(-.656,.835),l(-.105,.229),l(-1.144,2.479),l(-4.659,0),l(-1.277,.05),l(-.319,.017),l(-.554,.398),l(-.458,.427),l(-.431,.045),l(-.546,-.223),l(-.064,-.042),
-N(713.621,206.298),l(.169,7.966),l(-.44,.822),l(.431,1.368),l(.046,.805),l(-.031,3.438),l(-.515,-.512),l(-.927,-.888),l(-.716,-.902),l(-.406,-.056),l(-.776,.101),l(-.739,.143),l(-.434,-.013),l(.091,-.382),l(.435,-.65),l(.006,-.283),l(-.561,-.521),l(-.565,-.775),l(.028,-.226),l(.442,.111),l(.236,-.042),l(.135,-.113),l(-.467,-.409),l(-.595,-.408),l(-.287,-.381),l(-.275,-.648),l(-1.053,-1.693),l(-.508,-.394),l(-.467,-.282),l(-.604,-.196),l(-1.983,-.603),l(-1.26,-.379),l(-.613,-.069),l(-.705,-.238),l(-.63,-.323),l(.072,-.34),l(-.098,-.268),l(-.193,-.028),l(-.617,.101),l(-.389,-.07),l(-.412,-.196),l(-.408,-.395),l(-.209,-.579),l(.133,-.494),l(-.155,-.226),l(-.187,.113),l(-.234,.396),l(-.122,.664),l(-.251,.608),l(-.334,.269),l(-.696,.354),l(-.155,-.169),l(-.331,-.677),l(.022,-.155),l(.384,-.27),l(-.152,-.424),l(-.173,-.239),l(-.564,-.395),l(-.707,-.394),l(-.338,-.056),l(-.059,-.212),l(.038,-.226),l(.413,-.044),l(.388,.084),l(.603,.239),l(.158,-.029),l(.368,-.34),l(.525,-.41),l(.146,.056),l(.3,.269),l(1.021,-.045),l(.139,-.128),l(.09,-.522),l(-.063,-.409),l(-.238,.028),l(-.345,.199),l(-.604,.071),l(-.656,-.041),l(-.766,.044),l(-1.026,-.082),l(-.411,-.31),l(-.135,-.197),l(-.148,-.664),l(-.202,-.338),l(-.42,-.155),l(-1.249,-.124),l(.265,-.297),l(.058,-.255),l(.004,-.593),l(.463,-.029),l(.92,-.411),l(.49,-.383),l(.444,-.283),l(.352,.027),l(.4,.069),l(1.494,.646),l(.515,.169),l(.913,.153),l(.382,.705),l(.138,.396),l(-.283,.749),l(-.067,.381),l(.221,.381),l(.115,.494),l(.115,.48),l(.215,.521),l(.186,.197),l(.197,.127),l(.226,-.65),l(.085,.113),l(.087,.141),l(.309,1.073),l(.169,.169),l(.234,.183),l(.294,.112),l(.354,.056),l(.58,-.198),l(.504,-.439),l(1.192,-1.853),l(.352,-.015),l(1.078,-.215),l(.378,-.142),l(.045,-.085),l(.014,-.509),l(.219,-.17),l(1.1,-.609),l(.335,-.043),l(1.732,.759),l(2.129,.941),l(1.54,.52),l(1.299,.404),M(691.208,208.707),l(-.388,-.069),l(-.693,-.38),l(-.852,-.647),l(-.295,-.141),l(-.414,.028),l(-.059,.1),l(.024,.452),l(-.206,.028),l(-1.014,-.407),l(-.258,-.353),l(-.582,.199),l(-.289,.269),l(-.326,.185),l(-.186,-.184),l(-.312,-.451),l(-.245,-.451),l(.246,-.198),l(.303,-.029),l(.274,.056),l(1.104,.04),l(.574,.31),l(.319,-.015),l(.544,-.326),l(.414,-.015),l(.534,.126),l(.857,.21),l(.499,.395),l(.293,.395),l(.179,.621),l(-.049,.254),M(682.045,208.699),l(-.419,-.056),l(-.715,-.493),l(-.232,-.451),l(.146,-.283),l(.603,-.1),l(.766,-.044),l(.246,.126),l(.256,.311),l(.313,.197),l(.108,.226),l(-.067,.226),l(-.125,.057),l(-.879,.285),M(707.635,219.095),l(-1.11,-.209),l(.589,-1.032),l(.56,-.708),l(.407,-.269),l(.427,-.072),l(.527,.338),l(.198,.24),l(-.11,.184),l(-.324,.637),l(-.256,.17),l(-.638,.693),l(-.27,.028),M(673.797,218.703),l(-.562,.257),l(.034,.233),l(-.886,.326),l(-.582,.274),l(-.339,-.041),l(-.453,.325),l(-.504,-.069),l(-.427,-.112),l(-.378,.255),l(-.3,.058),l(-.358,-.07),l(-.58,-.196),l(-1.046,-.04),l(-.316,.043),l(-.211,-.564),l(.027,-.24),l(.383,-.198),l(.672,-.199),l(.528,-.016),l(1.142,.407),l(.445,.324),l(.338,.013),l(.326,-.297),l(.464,-.016),l(.429,-.071),l(.414,.187),l(.467,-.116),l(-.072,-.222),l(.421,-.187),l(.404,-.233),l(.094,-.151),l(-.076,-.117),l(-.184,.023),l(.116,-.198),l(.16,.012),l(.22,.094),l(.177,.221),l(.013,.304),M(662.661,219.065),l(-.312,-.099),l(-.203,-.127),l(-.062,-.169),l(.03,-.212),l(.256,-.198),l(.315,-.036),l(.17,.092),l(.053,.212),l(.182,.098),l(.305,-.145),l(.34,.105),l(.104,.151),l(-.012,.451),l(.183,-.148),l(.163,-.304),l(.318,-.029),l(.229,.226),l(.021,.424),l(.181,-.036),l(.062,.104),l(-.025,.397),l(-.316,-.211),l(-.311,-.058),l(-.141,.058),l(.072,.155),l(-.852,.157),l(-.143,-.091),l(.097,-.268),l(-.085,-.059),l(-.308,.269),l(-.229,.256),l(-.296,-.046),l(-.63,.225),l(-.624,.199),l(-.357,-.051),l(-.31,.123),l(-.392,-.07),l(-.103,-.07),l(-.202,-.123),l(-.063,-.279),l(.143,-.261),l(-.08,-.253),l(.193,-.115),l(.23,-.113),l(.233,-.156),l(.224,.07),l(.61,.013),l(.4,.104),l(.089,.28),l(.291,.109),l(.294,.056),l(.189,-.259),l(.29,-.012),l(.051,-.187),l(-.263,-.15),M(656.294,219.602),l(-.393,-.282),l(-.855,-.449),l(-.118,-.269),l(.417,-.001),l(.514,-.185),l(.462,-.029),l(.925,.521),l(-.338,.17),l(-.232,.1),l(-.381,.425),M(631.053,200.125),l(-.061,.225),l(-.413,.439),l(-.204,.41),l(-.381,.354),l(.164,.353),l(.162,.169),l(.806,.493),l(.832,.055),l(.241,.112),l(.151,.381),l(.128,.763),l(-.007,.409),l(.267,.423),l(.212,.127),l(.544,.041),l(-.45,.933),l(.151,.212),l(.703,-.453),l(.824,.252),l(.177,.042),l(.265,.254),l(.144,.438),l(.698,.676),l(-.515,1.979),l(-.04,.452),l(.23,.946),l(-.021,.438),l(.021,.664),l(-.002,.268),l(-.149,1.06),l(-.087,.156),l(-.107,.07),l(-.367,-.253),l(-.381,-.522),l(-.261,-.084),l(-.262,.481),l(-.081,.268),l(-1.043,-.619),l(-.219,.086),l(.394,.747),l(-.163,.213),l(-.204,-.197),l(-1.343,-1.424),l(-.775,-.761),l(-1.011,-.859),l(-1.348,-.958),l(-.391,-.451),l(-.199,-.493),l(-.191,-.339),l(-1.003,-.633),l(-.697,-.677),l(-1.186,-1.509),l(-.074,-.353),l(.039,-.339),l(-.324,-.875),l(-.841,-1.467),l(-.667,-1.044),l(-.612,-.775),l(-.369,-.301),l(-.287,-.234),l(-.64,-.295),l(-.254,-.748),l(-.688,-1.806),l(.067,-.24),l(-.107,-.311),l(-.157,-.197),l(-.662,-.507),l(-.711,-.394),l(-.539,-.21),l(-.317,-.099),l(-.119,-.353),l(-.077,-.734),l(-.18,-.409),l(-.386,-.479),l(-.818,-.831),l(-.368,-.423),l(-.725,.128),l(-.613,-.676),l(-.646,-.606),l(-.593,-.69),l(-.562,-.945),l(-.229,-.635),l(-.032,-.367),l(.057,-.198),l(.149,-.113),l(.401,-.043),l(.364,.098),l(.25,.126),l(.632,.563),l(.361,.155),l(.922,.153),l(.335,.027),l(.548,-.1),l(.454,-.142),l(.4,-.015),l(.323,.31),l(.919,1.156),l(.513,.31),l(.058,.155),l(-.12,.537),l(1.066,.916),l(.749,.493),l(1.175,.689),l(.678,.323),l(.139,.169),l(.03,.593),l(-.02,.155),l(.573,.055),l(.745,.944),l(.612,.55),l(.271,-.015),l(.004,-.198),l(-.123,-.226),l(.069,-.24),l(.507,.21),l(.479,.804),l(.441,.38),l(.446,.056),l(.429,.197),l(.314,.366),l(.28,.734),l(.316,.437),l(.431,.268),l(.511,.126),l(.767,.083),l(.431,.154),l(.494,.38),l(.576,.606),l(-.019,.071),M(684.201,200.125),l(-.007,-.172),l(-.414,-1.058),l(.18,-.551),l(-.078,-.141),l(-.141,-.296),l(.036,-.325),l(.286,-.89),l(.514,-.82),l(.263,.367),l(.152,.353),l(-.054,.283),l(-.246,.396),l(-.361,.763),l(.061,.325),l(.19,.141),l(.097,-.141),l(.436,-.411),l(.135,-.522),l(.179,-.142),l(.806,-.412),l(.141,.141),l(-.052,.254),l(.104,.55),l(-.354,.212),l(-.467,.354),l(-.162,.311),l(.159,.099),l(.446,.126),l(.398,.211),l(-.016,.141),l(.159,.353),l(-.688,-.154),l(-.431,-.154),l(-.367,-.042),l(-.304,.156),l(-.08,.438),l(.049,.258),l(.131,.688),l(.341,.62),l(.405,.438),l(.196,.282),l(-.156,.212),l(-.26,-.211),l(-.664,-.648),l(-.55,-.733),l(-.002,-.396),l(-.011,-.251),M(637.361,207.144),l(-.863,-.394),l(-.377,-.239),l(-.205,-.367),l(-.045,-.367),l(-.156,-.395),l(-.507,-.395),l(-.291,-.099),l(-.446,.029),l(-.116,-.141),l(.271,-.65),l(.234,-.24),l(.509,.55),l(.148,-.467),l(.313,-.269),l(.072,.395),l(.312,.89),l(.648,.817),l(.698,.31),l(-.265,.184),l(-.118,.283),l(.183,.564),M(634.321,215.345),l(-.091,-.187),l(.316,-.023),l(.402,.093),l(.369,-.129),l(.068,-.524),l(.018,-.14),l(.309,.057),l(-.043,-.5),l(.222,-.235),l(.093,-.277),l(.202,.121),l(.631,.112),l(.474,-.047),l(.237,.443),l(.524,-.089),l(.158,-.297),l(.022,-.244),l(.259,.116),l(.618,.168),l(.411,.438),l(.338,-.046),l(.204,.271),l(.446,-.029),l(.453,-.185),l(.302,.211),l(.369,.522),l(.179,.521),l(.884,.041),l(.462,.188),l(.49,-.077),l(1.435,.124),l(.479,-.029),l(.34,-.17),l(.213,-.65),l(.271,-.269),l(.447,-.015),l(.223,.211),l(.289,.494),l(.633,.125),l(.53,.027),l(.774,.083),l(.796,.153),l(.289,.24),l(.293,.288),l(-.08,.445),l(.275,.466),l(.119,.099),l(.877,.352),l(.422,.069),l(.658,.013),l(.45,-.185),l(.415,-.015),l(.628,.238),l(.048,.197),l(-.255,.425),l(-.152,.494),l(.578,.776),l(-.499,-.211),l(-.802,-.196),l(-.599,-.253),l(-.891,-.309),l(-.528,.001),l(-.589,.256),l(-.348,.057),l(-.714,-.098),l(-1.454,-.138),l(-1.47,-.138),l(-.805,-.253),l(-.839,-.479),l(-1.099,-.336),l(-1.125,-.267),l(-.948,-.04),l(-.556,.298),l(-.445,.043),l(-.957,-.153),l(-.805,-.492),l(-.357,-.07),l(-1.606,-.066),l(-.363,-.155),l(.055,-.141),l(.448,-.468),l(-.402,-.267),l(-.551,-.099),l(-.506,-.14),l(-.307,-.027),l(-1.261,-.121),M(675.004,223.092),l(.249,-.494),l(.023,-.537),l(.113,-.312),l(.674,-.481),l(1.447,-.624),l(.662,-.454),l(.36,-.607),l(.466,-.157),l(1.578,-.102),l(.91,-.214),l(.541,-.044),l(.869,-.143),l(.118,.07),l(.099,.197),l(-.237,.212),l(-.36,.256),l(-1.609,.61),l(-1.369,.44),l(-.713,.256),l(-.606,.354),l(-1.09,.963),l(-.653,.481),l(-.439,.086),l(-.552,.228),l(-.48,.015),M(667.866,223.149),l(-.217,-.069),l(-.917,-.605),l(-.8,-.45),l(-.347,-.099),l(-.493,-.126),l(-.292,-.197),l(.108,-.212),l(.371,-.142),l(.992,-.03),l(.502,-.114),l(.35,.296),l(1.147,.746),l(.265,.381),l(-.125,.325),l(-.246,.24),l(-.299,.057),M(661.819,191.241),l(-.041,.09),l(.319,.691),l(-.23,.142),l(-.546,.043),l(-.579,.086),l(.198,.226),l(.115,.296),l(-.169,.226),l(.216,.211),l(.235,.112),l(.546,.832),l(.536,.747),l(.043,.198),l(-.338,.721),l(.075,.226),l(.406,.465),l(.743,.45),l(.6,.493),l(.551,.761),l(-.465,.17),l(-.75,-.026),l(-.797,-.238),l(-.337,.1),l(-.387,.467),l(-.354,.918),l(-.08,.476),l(-.046,.272),l(.132,.649),l(.116,.424),l(-.133,.848),l(-.256,0),l(-.466,-.154),l(-1.037,.963),l(-.433,.65),l(-.751,.608),l(.443,.381),l(.06,.396),l(.17,.296),l(-.685,.058),l(.452,.578),l(.009,.212),l(-.103,.227),l(-.547,.665),l(-.206,.396),l(-.127,.354),l(-.529,.594),l(-1.294,.61),l(-.607,.284),l(-.292,.198),l(-.194,-.311),l(.024,-.424),l(-.33,-.804),l(-.306,-.381),l(-.265,-.184),l(-.286,.029),l(-.503,.523),l(-.302,.029),l(-.328,-.508),l(-.313,-.197),l(-.437,-.112),l(-.387,-.451),l(-.342,-.154),l(-.35,.806),l(-.135,.198),l(-.381,.058),l(-.356,-.112),l(-.442,.128),l(-.318,.354),l(-.364,.071),l(-.059,-.551),l(.034,-.311),l(-.314,-1.03),l(-.336,.396),l(-1.42,.44),l(-.321,-.408),l(-.639,.015),l(-.281,.156),l(-.303,.029),l(-.058,-.649),l(-.022,-.65),l(-.267,-1.411),l(-.012,-.48),l(-.352,-.747),l(-.406,-.409),l(-.79,-.422),l(-.146,-.141),l(.555,-.354),l(-.531,-.38),l(-.258,-.296),l(.188,-.735),l(-.074,-.128),l(-.278,-.478),l(-.352,-.296),l(.065,-.466),l(-.125,-.593),l(.182,-.65),l(.133,-.353),l(.424,-.58),l(.303,-.806),l(.318,.028),l(.204,.11),l(.288,.792),l(.253,.295),l(1,.983),l(.304,.083),l(.446,.28),l(.928,-.416),l(.255,-.001),l(.526,.223),l(.543,.11),l(.399,-.172),l(.528,-.342),l(.403,-.525),l(.531,-.441),l(.479,-.074),l(.431,.11),l(.557,.251),l(.524,.223),l(.559,.152),l(.287,-.03),l(.467,-.356),l(.465,-.172),l(.864,-.175),l(.387,-.299),l(.928,-1.785),l(-.076,-.748),l(.218,-.34),l(.646,-.244),l(.22,-.383),l(-.106,-.988),l(.119,-.565),l(.381,-.638),l(.247,-.157),l(.464,-.017),l(.748,.081),l(.651,.081),l(.624,-.018),l(.446,.04),l(.753,.292),l(.182,.09),M(666.561,200.125),l(.012,-.049),l(.48,-1.188),l(.434,-.41),l(.289,-.142),l(.429,.338),l(.29,-.311),l(.162,-.325),l(.293,-.481),l(.496,-.058),l(.605,.14),l(.729,.535),l(.447,.027),l(.863,-.044),l(.478,.168),l(.749,.267),l(.577,-.227),l(1.853,.081),l(.72,-.128),l(.627,-.354),l(.211,-.283),l(-.156,-.268),l(.196,-.283),l(.388,-.241),l(.295,-.41),l(.289,-.057),l(.075,.24),l(-.073,.537),l(-.117,.311),l(-.081,.127),l(-.082,.127),l(-.969,1.259),l(-.416,.396),l(-.464,.1),l(-1.23,.229),l(-.495,-.069),l(-.591,-.422),l(-1.149,-.068),l(-1.151,.059),l(-.878,-.041),l(-1.039,.045),l(-.575,-.083),l(-.671,.029),l(-.415,.1),l(-.433,.368),l(-.259,.461),l(-.154,.274),l(-.187,.721),l(.068,.48),l(.263,.494),l(.194,.183),l(.403,.226),l(.259,.196),l(.221,.607),l(.179,.154),l(.226,.042),l(.815,.026),l(.249,-.269),l(.652,-.976),l(.385,.056),l(.307,.183),l(.496,.041),l(.363,-.227),l(.669,-.156),l(.62,-.143),l(.268,-.298),l(.271,-.057),l(.466,.196),l(.131,.212),l(-.083,.734),l(-.469,-.267),l(-.544,-.042),l(-.361,.298),l(-.389,.523),l(-.438,.425),l(-1.059,.439),l(-.214,.325),l(-.143,.029),l(-.241,-.042),l(-.468,-.126),l(-.03,.056),l(.025,.312),l(.212,.126),l(.676,.578),l(.467,.521),l(.854,1.24),l(-.097,.325),l(-.156,.679),l(.102,.409),l(.447,.535),l(.555,.438),l(.062,.226),l(-.045,.282),l(-.436,-.056),l(-.652,.059),l(-.412,.297),l(-.224,.692),l(-.498,-.026),l(-.461,-.183),l(-.107,-.17),l(.052,-.649),l(.204,-.58),l(-.978,-.845),l(-.417,-.31),l(-.174,-.269),l(.036,-.24),l(.284,-.396),l(.116,-.579),l(-.165,-.494),l(-.737,-.055),l(-.503,.213),l(-.494,.396),l(.16,.353),l(.143,.932),l(-.068,.509),l(-.236,1.145),l(.363,.903),l(-.01,.311),l(-.377,.636),l(-.019,.227),l(.275,.564),l(-.726,.171),l(-.513,.241),l(-.476,.071),l(-.245,-.324),l(-.16,-.522),l(.156,-.325),l(.181,-.466),l(.069,-.876),l(.06,-1.073),l(-.125,-.509),l(.029,-.339),l(-.213,-.395),l(-.311,-.127),l(-.391,.171),l(-.574,.029),l(.011,-.41),l(-.25,-1.284),l(.131,-.311),l(.491,-.524),l(.469,-.777),l(.161,-.48),l(-.089,-.918),l(-.006,-.254),l(.087,-.452),l(.339,-.721),l(.447,-.058),l(-.043,-.861),l(.254,-1.053),
-N(341.05,41.069),l(2.084,.272),l(.344,.361),l(-.869,.174),l(-.541,.139),l(-1.678,.106),l(-1.159,.037),l(-.689,.156),l(-.372,.224),l(-.308,.6),l(-.361,.376),l(1.05,.39),l(.971,.168),l(2.117,.064),l(.601,-.001),l(1.775,-.242),l(1.93,-.038),l(.866,.135),l(.933,.219),l(.417,.135),l(.284,-.018),l(1.001,-.002),l(1.277,.032),l(.615,.05),l(-1.277,.626),l(-1.583,.457),l(-1.976,.523),l(-.556,-.016),l(-.695,-.116),l(-.951,.671),l(-1.061,.503),l(-1.246,.452),l(-1.125,.296),l(-.211,.056),l(-2.212,.054),l(-.525,.134),l(-.502,.001),l(-.982,.201),l(-.665,.167),l(-.528,.051),l(-.946,-.413),l(-.375,.05),l(-.69,.913),l(-.958,.118),l(-.631,-.065),l(-.743,-.197),l(-.622,-.463),l(-.854,-.43),l(-.647,-.215),l(-.109,0),l(.008,.2),l(.707,1.043),l(-.192,.249),l(-.319,.017),l(-.69,.249),l(-.84,.249),l(-.573,.38),l(-1,.906),l(-.657,.657),l(-1.051,.851),l(-.776,.262),l(-1.034,.083),l(-1.023,-.275),l(-.148,.554),l(-.438,.569),l(-.783,.277),l(-.992,-.095),l(-.616,.05),l(-1.18,.439),l(.942,-1.723),l(-.121,.017),l(-.795,-.015),l(-1.055,-.177),l(.26,.423),l(-.026,.455),l(-.386,.407),l(-.794,.39),l(-1.16,.164),l(-.973,.002),l(-1.255,.083),l(.467,.403),l(.212,.403),l(-.09,.387),l(-.379,.097),l(-.321,-.063),l(-.47,.033),l(-1.792,-.157),l(.517,.32),l(.765,.462),l(.295,.351),l(-.01,.224),l(-.26,.176),l(-1.197,.034),l(-1.051,.129),l(.844,.413),l(.47,.126),l(.448,.222),l(.389,.333),l(-.554,.461),l(-.285,.111),l(-.599,-.094),l(-.478,.096),l(.345,.474),l(-.009,.127),L(308.501,60),l(-.486,-.125),l(-.583,-.062),l(.026,.158),l(.255,.457),l(-.101,.347),l(-.288,0),l(-.656,-.093),l(-.089,-.016),l(-.979,.112),l(-1.081,.018),l(.682,.487),l(1.108,.391),l(.331,.204),l(-.077,1.035),l(-.382,.938),l(-.427,.094),l(-.815,-.061),l(.489,.591),l(-.016,.498),l(.156,.233),l(-.068,.373),l(-.316,.062),l(-.495,-.03),l(-.771,.079),l(.762,.386),l(.427,.603),l(-.117,.447),l(-.287,.031),l(-.967,-.26),l(-1.052,-.508),l(-.498,.294),l(-.425,.602),l(-.635,-.599),l(.158,-.573),l(-.387,-.201),l(-1.124,-.184),l(-.577,-.309),l(.04,-.187),l(.253,-.249),l(.066,-.218),l(-.325,-.28),l(-.366,-.186),l(-.668,.359),l(-.276,.016),l(-.3,.141),l(-.444,-.046),l(-.98,.064),l(-.417,.017),l(-.571,.296),l(-.476,.28),l(-.426,-.403),l(-.104,-.357),l(-.222,-.217),l(-.513,-.233),l(-.817,-.232),l(-.772,-.389),l(-.517,-.781),l(.07,-.737),l(-.199,-.156),l(-.434,-.094),l(-.467,.048),l(-.97,-.266),l(-.108,-.094),l(-.138,-.236),l(.14,-.457),l(.459,-.395),l(.071,-.269),l(-.258,-.062),l(-.551,-.031),l(-.542,-.094),l(-.278,-.221),l(-.058,-.633),l(-.458,-.126),l(-.616,.049),l(-.589,-.57),l(.023,-.191),l(.198,-.254),l(.618,-.367),l(1.22,-.337),l(.405,-.304),l(.476,-.128),l(.051,-.383),l(-.277,-.287),l(-.473,.097),l(-.921,.082),l(-.493,.097),l(-.635,.416),l(-.538,.129),l(-.63,.304),l(-.339,-.318),l(.038,-.623),l(-.114,-.784),l(-.206,-.451),l(.015,-.355),l(-.243,-.323),l(-.504,.082),l(-.271,-.032),l(-.666,-.355),l(-.594,-.485),l(-.013,-.357),l(.842,-.538),l(.265,.019),l(-.556,-.189),l(-1.083,.064),l(-.103,-.284),l(.383,-.176),l(.677,-.03),l(.586,-.052),l(.456,-.087),l(.322,-.672),l(-1.208,-.047),l(-.572,.05),l(-.362,-.032),l(-.29,-.163),l(-.116,-.197),l(.223,-.28),l(.218,-.008),l(.18,-.16),l(.427,-.055),l(-.375,-.188),l(-.552,.073),l(-.22,-.248),l(.057,-.188),l(.073,-.132),l(.259,0),l(.309,-.099),l(.827,-.25),l(1.218,.081),l(.854,.163),l(.776,.032),l(.378,.131),l(.927,.146),l(1.027,.097),l(-.031,-.363),l(.299,-.545),l(-.298,-.182),l(-1.02,-.263),l(-1.356,-.312),l(-.903,-.164),l(-1.592,-.33),l(-.354,-.116),l(.336,-.35),l(.788,-.001),l(1.462,.363),l(1.034,.048),l(.463,-.067),l(.114,-.067),l(.088,-.6),l(.088,-.301),l(.595,-.034),l(.528,.116),l(.227,-.101),l(-.027,-.351),l(-.195,-.184),l(-.891,-.317),l(.162,-.437),l(.528,-.455),l(-.258,-.286),l(-1.21,-.167),l(-1.154,.002),l(-1.178,-.286),l(-1.649,-.49),l(-.78,-.101),l(-.903,-.05),l(-.76,-.34),l(-.811,-.477),l(.156,-.035),l(.323,-.155),l(.605,-.001),l(.572,-.019),l(2.085,.305),l(.716,.033),l(1.249,.306),l(1.451,.458),l(.729,.169),l(.056,-.307),l(-.311,-.426),l(-.86,-.546),l(-.172,-.446),l(-.603,-.446),l(-.485,-.051),l(-.677,-.24),l(.361,-.277),l(.542,-.139),L(285.644,41),l(-.704,-.241),l(-1.101,-.015),l(-.625,-.086),l(-1.132,-.327),l(-.88,.608),l(-.324,.156),l(-.274,.294),l(-.875,.243),l(-1.402,-.066),l(-1.031,-.343),l(-.306,-.242),l(-.027,-.294),l(.438,-.313),l(.293,-.645),l(-.152,-1.259),l(.582,-.054),l(.691,.192),l(.372,-.124),l(.151,-.334),l(-.383,-.369),l(-.933,-.545),l(-.452,-.141),l(-.946,-.796),l(-.895,-.925),l(-1.105,-1.289),l(-.578,-.485),l(-1.855,-.379),l(-.667,-.255),l(-.291,-.202),l(-.052,-.701),l(-.904,-.406),l(-.962,-.109),l(-1.589,-.165),l(-1.928,-.425),l(-1.903,-.333),l(-2.133,-.183),l(-.997,-.054),l(-1.632,-.035),l(-.785,.189),l(-1.043,.096),l(-.806,.188),l(-1.419,.152),l(-1.228,-.166),l(-1.46,-.296),l(.319,.747),l(-.051,.093),l(-1.051,-.017),l(-1.294,-.184),l(-3.168,-.611),l(1.538,-.566),l(.463,-.114),l(-.092,-.226),l(-.423,-.169),l(-1.067,-.017),l(-2.21,-.015),l(-.812,-.074),l(-.629,-.018),l(-1.238,-.434),l(-.87,-.208),l(.587,-.306),l(1.257,-.041),l(3.036,.147),l(2.025,.034),l(1.343,.017),l(2.117,-.157),l(1.055,-.212),l(.292,-.096),l(.054,-.345),l(-.627,-.287),l(-.82,-.21),l(-1.217,.156),l(-1.11,.252),l(-1.31,.021),l(-1.138,-.113),l(-.753,.078),l(-.879,.098),l(-.68,-.056),l(-.857,-.19),l(-.664,-.365),l(-.816,-.191),l(-.662,-.057),l(-.726,.059),l(-.486,-.076),l(-1.416,-.481),l(-.044,-.35),l(.36,-.45),l(.81,-.119),l(1.235,-.1),l(1.517,-.14),l(2.074,-.161),l(1.29,-.081),l(.951,-.396),l(1.089,-.259),l(.843,-.081),l(2.478,-.005),l(1.101,-.101),l(1.942,.036),l(.402,-.139),l(.31,-.199),l(.609,-.16),l(.202,-.658),l(.276,-.501),l(.116,-.101),l(-.89,-.228),l(-1.947,-.039),l(-1.155,.194),l(-.959,-.125),l(-1.243,-.383),l(.595,-.781),l(1.38,-.332),l(2.845,-.359),l(1.407,-.225),l(1.962,-.249),l(2.112,-.162),l(1.163,.087),l(1.213,-.07),l(1.319,-.07),l(.345,-.181),l(.011,-.226),l(-.357,-.753),l(-.022,-.208),l(.522,-.14),l(1.886,-.05),l(1.526,.205),l(2.141,.41),l(1.296,.226),l(.802,.181),l(.823,-.275),l(-1.657,-.525),l(-.697,-.509),l(.167,-.047),l(2.2,-.122),l(1.166,-.12),l(1.854,-.216),l(2.52,-.195),l(.73,.069),l(1.064,.116),l(.232,1.738),l(.913,-.162),l(.539,-.322),l(.432,-1),l(1.003,.021),l(2.004,.323),l(1.858,.414),l(1.529,.25),l(.205,-.3),l(-.644,-.3),l(-.816,-.537),l(-.894,-.4),l(.295,-.287),l(.742,.022),l(1.758,.02),l(1.136,.212),l(2.754,.373),l(1.284,.279),l(2.109,.322),l(1.878,.274),l(1.872,.204),l(.8,-.209),l(.816,-1.483),l(-.326,-.191),l(-1.292,-.334),l(-1.176,-.533),l(.708,-.247),l(2.404,-.005),l(2.962,-.328),l(1.329,-.077),l(1.527,.17),l(2.221,.488),l(1.567,.167),l(2.005,.142),l(.3,-.761),l(-.3,-.472),l(2.646,-.206),l(2.021,-.08),l(2.589,.095),l(1.989,.146),l(1.886,-.18),l(2.367,-.207),l(2.043,-.005),l(1.859,.223),l(1.825,-.055),l(1.315,.072),l(.619,.099),l(.55,-.102),l(1.946,.146),l(1.707,.046),l(1.673,.096),l(2.438,.761),l(1.368,.241),l(1.345,-.076),l(1.118,.168),l(2.594,.237),l(.445,.408),l(-.304,.12),l(-.492,.192),l(-1.683,.146),l(-2.303,.124),l(-1.152,.121),l(-1.233,.05),l(-1.469,-.068),l(-2.831,-.064),l(-2.22,-.066),l(-1.389,.168),l(-1.614,.027),l(-1.933,.027),l(-1.16,.026),l(-1.485,.168),l(-.444,.118),l(-1.322,.213),l(-.335,.464),l(.743,.251),l(2.551,-.281),l(1.367,-.072),l(3.912,.038),l(2.223,-.12),l(2.331,-.005),l(.997,-.025),l(.93,.067),l(1.77,.434),l(.671,.09),l(1.087,-.186),l(1.663,-.21),l(1.536,-.281),l(1.964,-.144),l(.59,.462),l(-.566,.482),l(-2.316,.639),l(-.973,.338),l(-1.281,.734),l(.12,.307),l(.319,.152),l(.796,-.089),l(.477,-.044),l(1.616,-.553),l(1.766,-.537),l(1.413,-.385),l(1.706,-.32),l(.775,-.207),l(1.662,-.163),l(1.618,.111),l(1.391,.065),l(1.497,-.3),l(.703,-.324),l(1.129,-.234),l(2.148,-.004),l(1.672,.112),l(1.097,.044),l(1.197,.136),l(1.135,.228),l(1.107,.112),l(.316,.25),l(-.181,.273),l(-1.97,.252),l(-1.491,.138),l(-1.245,.494),l(-.557,.289),l(-1.604,.355),l(-1.57,.548),l(-1.063,.089),l(-.918,-.042),l(-1.592,.047),l(-2.213,-.039),l(-1.491,.198),l(-.731,.217),l(-.495,.535),l(.166,.322),l(1.949,-.305),l(1.581,-.046),l(1.856,.101),l(.003,.42),l(-.743,.241),l(-2.388,.124),l(-.463,.14),l(-.213,.199),l(-.156,.595),l(-.471,.71),l(-.678,.158),l(-1.06,-.077),l(-.742,.041),l(-.837,.9),l(-.987,1.087),l(-.15,.347),l(.454,.307),l(.403,.095),l(.602,-.481),l(.743,-.368),l(.856,-.041),l(2.345,.266),l(.353,.096),l(.262,.288),l(-.059,.211),l(-1.234,-.074),l(-.673,-.018),l(-.512,.097),l(-.136,.191),l(.29,.286),l(1.756,.188),l(.557,.132),l(1.802,-.137),l(.526,.208),l(.214,.323),l(-.049,.436),l(-.256,.133),l(-1.835,-.186),l(-1.653,-.054),l(-.781,-.074),l(-1.295,.078),l(-1.382,.475),l(-.823,-.13),l(-.49,-.15),l(-1.06,.04),l(-.283,.377),l(1.393,.599),l(1.187,.222),l(1.298,.128),l(1.665,.072),l(.696,.148),l(.551,.482),l(.272,.444),l(.014,.554),l(-.434,.405),l(-.384,.074),l(-1.292,-.181),l(-.82,-.109),l(-.372,.111),l(.023,.55),l(.118,.236),l(.426,.162),l(.618,.089),l(.723,.215),l(.914,.142),l(.752,.16),l(.383,.376),l(-.338,.233),l(-.832,.145),l(-.647,.126),l(-1.747,-.032),l(-1.176,-.087),l(-1.624,-.086),l(-.592,.448),l(.551,.195),l(1.396,.051),l(1.052,.158),l(.724,.248),l(.088,.319),l(-.035,.549),l(-.13,-.005),l(-1.092,-.045),l(-1.247,.108),l(-.596,.266),l(-1.246,.02),l(-1.225,-.139),l(-1.497,-.404),l(-.922,-.478),l(-.373,-.07),l(-1.094,.286),L(345,36.811),l(-1.084,.09),l(-.589,.178),l(-1.451,-.033),l(-.913,-.087),l(-.969,.143),l(-.395,.125),l(-.174,.283),l(.006,.141),l(.354,.527),l(.71,.245),l(1.284,.05),l(1.515,.26),l(1.567,-.056),l(1.323,.54),l(.758,.226),l(.482,.226),l(1.196,.329),l(1.252,.38),l(.376,.276),l(.483,.898),l(.892,-.208),l(.278,-.139),l(.397,.207),l(.298,.43),l(.071,.344),l(.198,1.164),l(-.169,.205),l(-.371,.12),l(-.541,-.101),l(-.546,-.119),l(-.917,.002),l(-1.041,.036),l(-1.488,-.27),l(-.637,-.409),l(-.415,-.634),l(-.354,-.274),l(-1.17,-.566),l(-.84,-.292),l(-.748,-.137),l(-1.095,-.084),l(-.521,.14),l(-.962,.105),M(351.365,40.026),l(-1.527,-.537),l(-.96,-.225),l(-.712,-.156),l(-.159,-.069),l(-.314,-.419),l(1.483,-.038),l(.893,.139),l(1.064,.26),l(.819,.296),l(.162,.488),l(-.215,.209),l(-.533,.053),M(281.574,46.135),l(-.568,-.133),l(-.707,-.318),l(-.801,-.183),l(-.197,-.101),l(-.25,-.218),l(-.08,-.844),l(.287,-.34),l(.368,-.018),l(.646,.135),l(1.157,.066),l(1.287,.27),l(.748,.269),l(.595,.1),l(.777,.217),l(.603,.335),l(-.144,.202),l(-.112,.034),l(-.543,.051),l(-.774,.035),l(-.77,.186),l(-1.009,.153),l(-.511,.102),
-N(105.98,81.688),l(-.952,-.826),l(-.198,-.342),l(-.024,-.476),l(.095,-.104),l(.408,.044),l(.312,-.045),l(.781,.177),l(.658,-.076),l(.28,.119),l(.138,.163),l(-.234,.224),l(-.173,.565),l(-.028,.312),l(-.581,.075),l(-.483,.19),M(125.24,92.375),l(-1.312,-.288),l(-1.345,-.434),l(-.218,-.174),l(.061,-.189),l(.376,-.466),l(-1.023,.002),l(-.413,.248),l(-.299,-.072),l(-.416,-.188),l(.166,-.452),l(-.487,-.334),l(-.269,-.014),l(-.735,-.086),l(-.226,-.262),l(.317,-.292),l(-.976,-.524),l(-.556,.118),l(-.386,-.102),l(-.852,-.511),l(-1.277,-.863),l(-.219,-.235),l(.02,-.117),l(.962,-.12),l(.337,.043),l(1.979,.598),l(.981,.204),l(1.772,.202),l(.385,.263),l(.618,.526),l(.426,.642),l(.433,.422),l(.362,.189),l(1.587,.536),l(.316,.203),l(.48,.756),l(.116,.407),l(-.279,.349),l(-.407,.016),M(271.379,92.089),l(-1.202,-.23),l(.641,-.743),l(.358,-.161),l(.279,.058),l(.292,0),l(.355,-.263),l(-.697,-.653),l(.079,-.219),L(272,89.003),l(1.121,-1.35),l(1.454,-1.31),l(.725,-.442),l(.496,-.192),l(1.315,-.194),l(.198,.073),l(.11,.221),l(-.299,.221),l(-.582,.03),l(-.242,.133),l(.349,.44),l(-.755,.78),l(-1.226,1.438),l(-.271,.526),l(.113,.291),l(.11,0),l(.428,-.176),l(.483,-.555),l(.458,-.191),l(1.115,.305),l(-.896,.687),l(.261,.203),l(.229,.072),l(1.423,.565),l(.758,-.03),l(.325,-.408),l(.309,-.059),l(.718,.057),l(.826,.202),l(.616,.231),l(-.297,.292),l(-.373,.233),l(-.708,.467),l(.339,.333),l(.477,.362),l(.26,.014),l(.417,-.161),l(.464,-.132),l(.278,.116),l(.02,.16),l(-.254,.262),l(-.404,.248),l(-.892,.104),L(280.84,93),l(.273,.362),l(.124,.405),l(.28,.231),l(.183,-.203),l(.309,-.262),l(.527,.159),l(-.099,.449),l(.149,.275),l(.716,.028),l(.085,-.015),l(.015,.203),l(-.168,.304),l(-.25,.652),l(-.34,.651),l(-.222,-.072),l(-.71,-.128),l(-.301,-.144),l(-.042,-.651),l(-.601,.406),l(-.374,.015),l(-.095,-.274),l(.497,-.652),l(.011,-.333),l(-.421,-.478),l(-.279,-.072),l(-.388,.392),l(-.423,.291),l(-.365,.146),l(-.435,.204),l(-.552,.536),l(-.496,.334),l(-.881,-.042),l(-.222,-.217),l(.165,-.145),l(1.229,-.408),l(.466,-.522),l(.632,-.363),l(-.699,-.129),l(-.601,-.057),l(-.322,.464),l(-.412,.015),l(-.13,-.159),l(.04,-.493),l(-.757,.016),l(-.148,.29),l(-.41,.218),l(-1.052,.045),l(-.709,-.057),l(-1.139,-.186),l(-1.012,-.085),l(-1.355,.061),l(-1.014,.147),l(-.145,-.188),l(-.215,-.463),l(.187,-.175),l(.561,-.334),l(.734,-.408),l(.502,-.161),l(.636,-.335),M(265.435,98.655),l(-.469,-.057),l(-.497,-.273),l(-.356,-.562),l(.062,-.635),l(.742,-.738),l(.932,-1.043),l(.816,.432),l(-.375,.435),l(-.112,.462),l(-.233,.333),l(-.262,.116),l(-.58,.319),l(-.244,.448),l(.522,.244),l(.168,-.029),l(.279,-.26),l(.42,-.362),l(.617,-.319),l(.309,.057),l(.495,.461),l(-.177,.347),l(-.246,.159),l(-1.134,.42),l(-.682,.044),M(211.34,59.677),l(-.68,-.046),l(.068,-.872),l(-.375,-.333),l(-.958,.161),l(-2.375,.29),l(.107,-.461),l(.56,-.303),l(1.644,-.561),l(-.302,-.478),l(-.102,-.415),l(.106,-.417),l(.398,-.835),l(.434,-.566),l(.254,-.648),l(.331,-.471),l(1.11,.566),l(-.312,.518),l(.791,.386),l(.527,.047),l(.402,-.469),l(.67,.112),l(.806,.289),l(.917,.514),l(.582,.255),l(2.168,.492),l(.442,.271),l(.176,.255),l(-.09,.925),l(.539,.047),l(.57,-.065),l(.934,.046),l(.701,.142),l(1.019,.427),l(-.419,.096),l(-.269,.127),l(-.46,.271),l(-.949,-.046),l(-.623,-.125),l(-1.328,-.125),l(-.438,-.126),L(217.259,58),l(-.528,-.301),l(-1.017,-.237),l(-.528,.017),l(-.203,.271),l(.174,.588),l(-.126,.096),l(-1.314,.161),l(-.673,.493),l(-.588,.302),l(-1.116,.287),M(200.125,19.1),l(-.862,-.015),l(-1.085,-.195),l(-.308,-.664),l(.819,-.304),l(.77,-.072),l(.666,-.024),l(3.475,-.125),l(1.263,-.12),l(1.374,-.026),l(1.714,.324),l(.397,-.094),l(.397,-.377),l(1.303,-.287),l(1.759,-.099),l(1.975,.209),l(.746,-.001),l(2.562,.137),l(2.621,.324),l(1.424,.09),l(1.461,.161),l(.448,-.165),l(-1.433,-.42),l(-1.67,-.352),l(-.816,-.429),l(.293,-.242),l(1.361,-.148),l(1.101,-.246),l(1.431,-.101),l(2.382,-.201),l(1.666,.119),l(1.944,.191),l(1.009,.265),l(1.19,.456),l(.354,.047),l(.273,-.362),l(-.959,-.508),l(-.828,-.292),l(.499,-.248),l(1.45,.121),l(1.832,.168),l(1.653,.07),l(1.639,.46),l(.378,.023),l(.062,-.195),l(-.301,-.539),l(1.781,-.004),l(1.408,.046),l(.832,.269),l(.831,.34),l(.618,-.001),l(-.044,-.268),l(-.331,-.467),l(1.075,-.077),l(3.691,.386),l(2.726,.288),l(1.937,-.077),l(2.987,.018),l(.967,.047),l(.757,.12),l(.126,0),l(1.419,.094),l(1.089,.191),l(.744,.095),l(1.685,.044),l(1.357,.357),l(-.385,.358),l(-1.237,.121),l(-1.206,.356),l(-1.849,.191),l(-.978,-.045),l(-2.191,-.159),l(-2.284,.005),l(-.776,.142),l(-1.915,.168),l(-.597,.465),l(.75,.366),l(.761,.044),l(1.03,-.048),l(1.705,-.279),l(.79,.021),l(.808,.434),l(-.168,.114),l(-1.246,.139),l(-1.38,.207),l(-1.174,.295),l(-2.098,.518),l(-1.316,.224),l(-1.19,.355),l(-.924,.286),l(-2.252,.005),l(.65,.906),l(-.449,.193),l(-2.297,.455),l(-.768,-.019),l(-1.587,-.037),l(-1.462,-.218),l(-2.386,-.164),l(-.66,.33),l(2.591,.695),l(-.662,.141),l(-.967,-.038),l(-1.297,.022),l(-1.068,.022),l(-2.58,-.214),l(-2.009,.063),l(-.134,.66),l(1.257,-.105),l(1.065,.018),l(2.312,.292),l(.557,.157),l(.12,.67),l(-.33,.197),l(-1.031,.12),l(-.515,.705),l(-1.073,.021),l(-.448,-.058),l(-.402,.176),l(.297,.253),l(.759,.25),l(-.328,.136),l(-1.615,.08),l(-.867,-.037),l(-1.71,-.171),l(-.422,.078),l(.41,.791),l(-.08,.231),l(-.649,.289),l(-.767,.155),l(-1.52,-.112),l(-2.039,-.111),l(-1.43,-.227),l(-1.008,.079),l(-1.219,.5),l(1.031,.112),l(.368,.057),l(2.154,.11),l(1.759,.13),l(1.534,.168),l(2.001,.034),l(.66,.34),l(.045,.359),l(-.907,.398),l(-2.685,.268),l(-.927,.115),l(-1.054,.227),l(-1.115,.077),l(-.467,-.28),l(-.797,-.638),l(-.56,.039),l(-.631,.001),l(-1.453,-.318),l(-.001,.17),l(.331,.508),l(-1.477,-.016),l(-1.5,-.129),l(-.875,-.319),l(-1.033,-.471),l(-.388,.058),l(.527,.717),l(-.24,.17),l(-.821,.133),l(-1.72,-.109),l(-2.276,-.033),l(-.972,-.073),l(-1.382,-.394),l(-.642,-.131),l(-.282,.453),l(-.619,.152),l(-1.843,-.316),l(.161,-.586),l(.219,-.228),l(1.525,-.117),l(.61,-.249),l(.961,-.173),l(1.179,.036),l(.499,-.172),l(-1.073,-.4),l(-1.043,-.651),l(.052,-.154),l(.479,-.117),l(1.316,.036),l(1.743,.093),l(.888,.21),l(1.108,.517),l(1.35,.323),l(1.085,.093),l(1.667,-.022),l(.829,-.136),l(.086,-.268),l(.514,-.304),l(-3.019,.001),l(-1.025,-.171),l(-.156,-.85),l(.211,-.154),l(-1.74,-.153),l(-1.963,-.152),l(-.274,0),l(-.631,.114),l(.204,-.758),l(1.159,-.551),l(1.104,-.16),l(1.837,-.003),l(1.164,.037),l(1.37,.076),l(2.023,.311),l(1.342,.115),l(.486,-.158),l(1.132,-.041),l(-3.399,-.802),l(-1.742,-.313),l(-3.555,-1.27),l(-.406,.242),l(-1.398,-.878),l(.025,-.258),l(.313,-.108),l(1.747,.104),l(1.905,-.004),l(2.019,.06),l(1.6,.382),l(2.535,.784),l(1.448,-.043),l(.833,.095),l(-1.387,-.555),l(-2.015,-.317),l(1.208,-.743),l(1.456,-.329),l(1.731,-.025),l(1.529,-.222),l(2.042,-.07),l(1.157,-.112),l(1.414,-.051),l(-1.778,-.479),l(-1.425,-.153),l(-2.501,.027),l(-1.243,.248),l(-1.305,.158),l(-1.425,.202),l(-1.447,.047),l(-.586,.067),l(-1.532,-.438),l(-.214,.111),l(-.543,.156),l(-2.16,-.018),l(-1.58,.365),l(.311,-.828),l(.98,-.292),l(.007,-.202),l(-.606,-.247),l(-1.375,-.156),l(-1.39,.003),l(-4.189,.505),l(-2.031,.672),l(-.408,-.11),l(-.569,-.251),l(.395,-.133),l(.678,-.023),l(-.117,-.316),l(-.698,-.398),l(-1.216,-.056),l(-.216,-.003),M(200.125,20.844),l(.899,-.096),l(.832,.196),l(.339,.5),l(.511,.495),l(.427,.063),l(1.141,.041),l(-.081,-.236),l(.056,-.411),l(.438,-.109),l(.718,.194),l(.718,.322),l(.374,.3),l(-.066,.171),l(.056,.826),l(.764,.442),l(.953,-.017),l(1.276,-.074),l(1.646,.504),l(-1.123,-.264),l(-1.528,.34),l(-1.599,.221),l(-.83,.377),l(-.287,.197),l(-.265,.315),l(-.448,.021),l(-1.493,-.41),l(-.656,.335),l(.465,.43),l(-.029,.235),l(-.412,.196),l(-.392,.04),l(-1.086,-.31),l(-.944,-.311),l(-.26,.645),l(-.117,.068),l(-.083,.049),l(-.888,.041),l(-1.74,-.094),l(-1.458,-.153),l(-.888,-.154),l(-.494,.021),l(-3.115,-1.31),l(-.191,-.276),l(1.971,-.241),l(3.32,.093),l(.889,.097),l(1.573,.1),l(-2.485,-.693),l(-3.019,-.213),l(-1.103,.122),l(-1.43,-.017),l(-.597,.18),l(-1.008,.022),l(-.606,-.198),l(-1.066,-.517),l(-1.425,-.479),l(-.341,-.355),l(1.971,.124),l(2.278,-.175),l(-1.255,-.249),l(-.756,-.351),l(.38,-.305),l(.729,-.132),l(.769,-.023),l(.921,.042),l(.156,-.219),l(-1.799,-.793),l(1.053,-.114),l(1.213,-.182),l(1.13,.087),l(.584,-.046),l(.145,-.18),l(-.514,-.475),l(1.362,.134),l(.941,.066),l(.83,.202),l(1.589,.869),l(.653,.264),l(.772,.24),l(.674,-.001),l(.36,-.039),M(179.067,27.216),l(-1.156,-.056),l(-.604,-.173),l(-.926,-.638),l(-.621,-.193),l(-3.102,-.091),l(-1.487,.081),l(-.622,.001),l(-1.444,-.056),l(-.767,-.154),l(-1.019,-.37),l(-.161,-.234),l(.335,-.138),l(.802,-.001),l(1.687,.232),l(.867,-.021),l(-.031,-.235),l(-.252,-.275),l(-1.344,-.49),l(-.579,-.098),l(-1.075,-.077),l(-1.392,-.196),l(.065,-.397),l(2.246,-.124),l(2.392,.155),l(.77,.376),l(.999,.453),l(1.979,.193),l(2.189,.114),l(1.178,.233),l(.604,.254),l(1.123,.721),l(.581,.446),l(.168,.426),l(-.481,.194),l(-.919,.137),M(185.907,26.758),l(-1.078,-.037),L(184,26.529),l(-1.029,-.484),l(-1.144,-.76),l(-.03,-.216),l(.239,-.099),l(2.296,-.044),l(1.816,.311),l(3.101,.542),l(-.047,.351),l(-.254,.331),l(-.436,.04),l(-1.563,.177),l(-1.043,.08),M(156.886,26.865),l(-1.573,.646),l(-.558,.27),l(-1.85,.042),l(-1.019,.079),l(-1.898,-.15),l(-.577,-.114),l(-.302,-.423),l(.334,-.291),l(1.365,-.177),l(.899,.056),l(2.351,-.102),l(.496,0),l(2.331,.163),M(132.902,31.305),l(-.53,-.186),l(-.95,-.466),l(-.424,-.112),l(-.33,.057),l(-.56,.207),l(-1.269,.059),l(-.786,-.279),l(-.283,-.319),l(.23,-.264),l(1.13,-.097),l(.503,-.133),l(.771,-.134),l(.977,-.399),l(.848,-.211),l(.726,-.172),l(.548,-.344),l(1.083,-.231),l(1.277,-.079),l(2.532,-.158),l(1.68,.016),l(.888,-.29),l(1.038,-.079),l(1.503,.438),l(-.756,.097),l(-.852,.231),l(-.22,.268),l(.12,.266),l(.469,.474),l(-.777,.001),l(-.912,.115),l(-.918,.662),l(-1,-.017),l(-.867,-.981),l(-.694,-.15),l(-.379,.02),l(-.229,.285),l(-.588,.342),l(-.63,.623),l(-.595,.151),l(-.284,.375),l(-.705,.356),l(-.787,.058),M(191.827,30.313),l(-1.266,-.054),l(-2.278,-.165),l(-.426,.058),l(-.332,-.094),l(-.896,-.489),l(-1.185,-.414),l(.192,-.229),l(2.433,-.042),l(1.542,.263),l(1.472,.054),l(.171,0),l(.89,.358),l(-.179,.246),l(.123,.32),l(-.263,.188),M(144.688,31.739),l(-2.222,-.395),l(-.325,-.674),l(.503,-.057),l(.595,-.17),l(.945,-.096),l(.953,-.133),l(1.279,-.059),l(.522,.187),l(.65,.374),l(.659,.186),l(1.55,-.209),l(.617,.149),l(1.624,.762),l(1.016,.351),l(.897,.036),l(.96,-.058),l(1.418,.09),l(.591,-.02),l(1.116,-.169),l(.092,-.297),l(-.557,-.559),l(-.941,-.391),l(-1.347,-.354),l(.96,-.322),l(.524,-.379),l(.569,-.152),l(1.097,-.116),l(.507,.17),l(.773,.678),l(-.017,.413),l(.518,.654),l(.565,.111),l(.9,.036),l(1.805,.406),l(-.334,-.465),l(.151,-.28),l(.409,-.076),l(1.495,.24),l(.932,.39),l(-.292,.409),l(.039,.5),l(-.358,.461),l(-.573,.277),l(-.755,.111),l(-.782,.001),l(-1.682,.095),l(-1.156,-.071),l(-1.757,-.18),l(-.622,-.017),l(-1.129,.277),l(-1.132,.202),l(-.76,.182),l(-.977,.254),l(-1.625,.292),l(-1.338,.2),L(149.23,34.5),l(-.748,-.07),l(-1.445,-.286),l(-.276,-.378),l(.648,-.128),l(1.219,-.038),l(.738,-.146),l(.852,-.075),l(1.166,-.057),l(.622,.017),l(1.09,-.149),l(.483,-.553),l(-2.768,-.087),l(-.925,-.054),l(-1.564,.28),l(-1.625,.168),l(-1.292,.04),l(-.795,.093),l(-1.681,-.347),l(-.479,.167),l(-.92,.075),l(-.979,-.127),l(-.854,-.33),l(.023,-.111),l(.863,-.427),l(1.098,-.058),l(2.047,-.022),l(.96,-.159),M(178.479,33.234),l(-.984,-.219),l(-.193,-.294),l(.764,-.389),l(.433,-.112),l(.088,-.167),l(-.447,-.333),l(-1.161,-.054),l(-2.13,.227),l(-.939,.076),l(-.331,.019),l(-.854,-.276),l(.039,-.335),l(.739,-.02),l(.542,-.244),l(.587,-.057),l(-.466,-.598),l(.176,-.245),l(.132,-.226),l(.49,.018),l(.859,.224),l(1.942,.746),l(.426,.186),l(.46,-.094),l(-.101,-.243),l(-.959,-.486),l(-.371,-.131),l(-.407,-.357),l(.436,-.095),l(.956,-.059),l(.713,.131),l(1.033,.262),l(.572,.168),l(.27,.018),l(.162,-.452),l(.478,-.133),l(.73,.112),l(.717,.168),l(.327,.168),l(.367,.75),l(-.034,.616),l(-.247,.242),l(-.831,.335),l(-.017,.352),l(.35,.625),l(-.361,.147),l(-1.648,-.089),l(-.862,.112),l(-1.446,.003),M(200.125,30.572),l(-.895,.045),l(-.853,.17),l(-.37,.467),l(1.133,.054),l(.984,-.038),l(.046,-.001),l(.847,.11),l(.463,.129),l(.498,.463),l(.727,.424),l(.621,.091),l(.213,-.074),l(.043,-.314),l(.286,-.056),l(1.075,-.002),l(.883,-.187),l(.766,.11),l(.835,.239),l(.665,.257),l(.976,.053),l(.775,-.463),l(1.393,-.281),l(1.704,-.114),l(1.951,-.246),l(1.533,.053),l(2.59,.014),l(.381,.037),l(.79,.314),l(.911,.239),l(1.418,.146),l(.653,.128),l(.21,.037),l(.361,.166),l(.181,.257),l(-.4,.148),l(-1.833,.407),l(-.135,.255),l(.469,.666),l(-2.486,.076),l(-.592,.02),l(-.651,.091),l(-.768,-.053),l(-.846,-.16),l(-.405,-.125),l(-.306,-.667),l(-.833,-.218),l(-.366,.129),l(.072,.723),l(-.536,.127),l(-.747,-.053),l(-.91,.109),l(-.728,-.017),l(-.495,.001),l(-1.342,-.213),l(-.593,-.197),l(-.495,-.017),l(-.209,.433),l(-1.801,.111),l(-.831,.074),l(-1.453,-.069),l(-.404,-.251),l(-.144,-.686),l(-1.237,.129),l(-.389,.181),l(-.326,.325),l(-.955,.2),l(-1.011,-.034),l(-.112,-.027),l(-.704,-.169),l(-1.186,-.575),l(-.675,.489),l(-1.131,-.07),l(-.666,-.688),l(-.442,-.717),l(.587,-.481),l(.019,-.371),l(-.292,-.316),l(-1.249,-.651),l(-.617,-.299),l(-.047,-.338),l(.636,-.133),l(1.226,-.078),l(2.472,-.023),l(.763,.093),l(1.118,.261),l(.188,.04),l(.872,.184),l(-.613,.189),l(-.259,.013),M(128.19,41.985),l(-.926,-.016),l(-1.059,-.102),l(-.362,-.466),l(-.549,-.467),l(-.432,-.259),l(-1.123,-.363),l(-1.36,-.067),l(-.951,-.138),l(-.469,-.19),l(-.168,-.174),l(.537,-.106),l(.589,-.298),l(.481,-.211),l(.08,-.386),l(-.437,-.809),l(.552,-.001),l(.468,-.177),l(.307,-.372),l(1.104,-.533),l(.526,-.588),l(-.121,-.32),l(-.271,-.16),l(-1.229,-.677),l(-.375,-.448),l(.869,-.001),l(.823,-.056),l(1.455,.051),l(.97,.016),l(1.515,-.092),l(1.284,-.146),l(1.242,-.074),l(.495,.125),l(3.242,.801),l(.918,.088),l(.708,-.055),l(1.316,-.127),l(1.223,.016),l(.771,.07),l(1.35,.373),l(2.389,.815),l(-.242,.143),l(-.432,.036),l(-.26,.072),l(-1.609,.322),l(-1.073,.144),l(-1.829,.428),l(-1.069,.319),l(-1.604,.725),l(-1.025,.563),l(-.549,.089),l(-.974,.124),l(.066,.924),l(-.271,.504),l(-.662,.278),l(-1.215,.124),l(-1.213,-.067),l(-.521,.485),l(-.898,.312),M(190.483,39.666),l(-1.146,-.208),l(-.146,-.524),l(-.941,-.806),l(-.207,-.582),l(.058,-.389),l(.27,-.657),l(.377,-.321),l(1.256,.033),l(-.089,-.16),l(-.416,-.266),l(-.185,-.286),l(.211,-.09),l(.234,-.072),l(2.154,-.058),l(1.215,.087),l(1.464,.248),l(1.282,.051),l(1.316,-.146),l(1.051,.016),l(.694,.105),l(.639,.213),l(-.007,.089),l(-.224,.179),l(-.824,.428),l(-.874,.746),l(-1.513,.92),l(-1.386,.073),l(-2.379,-.154),l(-1.269,.055),l(1.392,.717),l(-.188,.315),l(-.855,.369),l(-.964,.072),M(181.204,41.523),l(-.491,-.085),l(-1.101,-.552),l(-.952,-.641),l(-1.014,-.468),l(-.978,-.225),l(-1.438,-.12),l(-.55,-.174),l(-2.255,-1.066),l(.866,-.654),l(.653,.14),l(1.032,.474),l(1.063,.227),l(.46,.052),l(.615,-.283),l(.908,-.619),l(.415,-.036),l(.018,-.212),l(-1.062,-.565),l(-1.068,-.424),l(-.177,-.231),l(.132,-.107),l(1.683,.086),l(.711,-.215),l(.42,0),l(.996,.39),l(.56,.035),l(.58,-.055),l(.435,-.25),l(1.232,-.127),l(1.354,.069),l(.912,.23),l(-.324,.268),l(-.58,.125),l(-.323,.338),l(-1.55,.375),l(-.392,.16),l(-.069,.194),l(.253,.247),l(.506,.105),l(.692,-.089),l(1.08,.174),l(.868,.245),l(.391,.017),l(.564,.262),l(.186,.438),l(-.681,.352),l(-.156,.35),l(-.271,.68),l(-.457,.366),l(-.508,.14),l(-.658,.019),l(-.582,-.103),l(-.773,-.346),l(-.653,-.103),l(.013,.208),l(1.054,.553),l(-.817,.399),l(-.77,.036),M(243.524,60.394),l(-.234,-.208),l(-1.199,-.235),l(-.673,-.331),l(-.154,-.269),l(.346,-.064),l(.616,-.461),l(-1.378,-.521),l(-1.132,-.125),l(-.76,-.349),l(-.929,-.731),l(-.035,-.511),l(-1.115,-.062),l(-1.311,-.366),l(-.675,-.031),l(.284,.767),l(-.155,.096),l(-.409,-.015),l(-1.704,-.332),l(-.309,.033),l(-.325,.304),l(-.441,.288),l(-1.312,.082),l(-1.349,-.173),l(-1.343,-.189),l(-.813,-.254),l(-.052,-.319),l(.196,-.4),l(.382,-.354),l(1.066,-.163),l(.192,-.178),l(-.128,-.516),l(.206,-.033),l(1.357,.11),l(1.408,.175),l(.517,.144),l(.962,.626),l(.051,-.386),l(-.154,-.193),l(.077,-.194),l(.585,-.033),l(.977,-.099),l(.652,-.163),l(.649,-.114),l(.515,.063),l(.785,.031),l(.166,-.275),l(-1.138,-.825),l(-.773,-.356),l(-.119,-.228),l(.167,-.163),l(.586,-.066),l(.72,-.246),l(1.409,-.591),l(.361,-.541),l(.771,-.46),l(.493,-.379),l(-.109,-.593),l(-.899,-.841),l(-.407,-.496),l(-.541,-.364),l(-.414,.001),l(-1.258,-.33),l(-1.041,-.481),l(-.244,-.467),l(-.527,-.384),l(-.442,.202),l(-.551,.202),l(-.825,-.015),l(-.293,.117),l(-.62,.018),l(-1.255,.169),l(-.214,-.667),l(1.032,-.052),l(1.23,-.103),l(.163,-.269),l(-1.604,-.618),l(-1.552,-.67),l(-.879,-.015),l(-.567,-.185),l(-.169,-.542),l(-.677,-.339),l(-.45,-.05),l(-.918,-.306),l(-.687,-.341),l(-.385,-.119),l(-.611,.155),l(-.81,-.187),l(-1.177,-.238),l(-.489,-.085),l(-.379,.138),l(.529,.307),l(.453,.05),l(2.838,.712),l(.438,.271),l(.069,.306),l(-.505,.221),l(-.669,.069),l(-.541,-.033),l(-.757,-.049),l(-.818,-.252),l(-1.153,-.27),l(-.667,-.066),l(-.323,.17),l(.044,.204),l(.426,.236),l(.259,.438),l(-1.703,-.553),l(-.47,-.05),l(-.396,.119),l(-.63,.153),l(-.767,-.218),l(-.693,-.117),l(-.859,.12),l(-1.474,-.184),l(-1.995,-.167),l(-1.321,.037),l(-1.146,-.032),l(-.862,-.186),l(-.003,-.597),l(-.363,-.153),l(-.904,-.049),l(-.396,.342),l(-.623,.086),l(-1.214,-.049),l(-1.076,-.168),l(-1.303,-.477),l(-.415,-.376),l(.123,-.275),l(.868,-.07),l(1.131,.067),l(1.212,.101),l(.879,-.019),l(.312,-.19),l(-.934,-.463),l(-.8,-.275),l(-.905,-.102),l(-1.106,-.119),l(-.752,.036),l(-.539,-.017),l(-1.249,-.223),l(.114,-.416),l(.292,-.557),l(.34,-.14),l(.646,-.054),l(.081,-.227),l(-1.082,-.4),l(-.044,-.175),l(.449,-.79),l(1.197,-.919),l(.565,-.284),l(.918,-.321),l(.74,-.374),l(.423,-.037),l(.37,-.178),l(.698,-.001),l(.481,-.125),l(.71,-.09),l(1.436,-.109),l(1.348,.033),l(.857,.194),l(-.92,.393),l(-.815,.48),l(-1.394,.639),l(-.43,.529),l(.169,.369),l(1.256,.541),l(-.444,.298),l(-.076,.402),l(.257,.313),l(.862,.554),l(1.559,.621),l(-.096,.121),l(-1.272,.331),l(-.072,.31),l(.959,.033),l(1.504,.101),l(.654,-.639),l(-.103,-.415),l(-.343,-.277),l(-.724,-.103),l(-.422,-.138),l(-.884,-.538),l(.101,-.157),l(.506,-.245),l(.473,-.193),l(1.001,.12),l(.837,-.071),l(-1.204,-.47),l(-.703,-.034),l(-.793,-.279),l(-.056,-.193),l(.053,-.545),l(.886,-.319),l(1.207,.086),l(1.509,-.056),l(-.939,-.281),l(-1.233,-.351),l(.793,-.303),l(1.288,-.198),l(1.044,-.126),l(1.688,-.323),l(1.114,.016),l(.642,.052),l(.833,.141),l(.782,.478),l(1.536,.97),l(.058,.141),l(-.583,.687),l(-.709,.632),l(.038,.733),l(.364,.086),l(.65,.033),l(1.088,-.315),l(.284,-.455),l(.595,-.088),l(.791,.034),l(.454,.174),l(-.006,.262),l(.16,.47),l(.875,.189),l(.196,-.122),l(-.204,-.854),l(.218,-.123),l(.456,-.474),l(1.038,-.265),l(.98,-.054),l(.748,.034),l(.98,.174),l(1.172,.138),l(1.151,-.09),l(.688,.139),l(.327,.262),l(.621,.331),l(.574,.191),L(235.438,40),l(0,.191),l(-.531,.088),l(-.484,.279),l(-.818,.262),l(-.148,.225),l(.45,.259),l(.427,.068),l(.897,-.417),l(.652,-.174),l(.502,.051),l(.476,.242),l(.365,.466),l(.516,.413),l(.342,-.242),l(1.304,-.798),l(1.935,.256),l(.915,.361),l(-.051,.069),l(-.638,.346),l(-.708,.517),l(1.167,-.054),l(.455,-.173),l(1.078,-.105),l(.033,.704),l(.797,.324),l(.523,-.069),l(.831,-.207),l(1.316,-.088),l(.816,.221),l(.566,.273),l(-.162,.154),l(-.461,.223),l(-1.87,.43),l(-.238,.272),l(.523,.253),l(.456,-.068),l(.747,-.171),l(1.235,-.122),l(.406,-.29),l(.361,-.103),l(.479,.067),l(.51,.187),l(.544,.339),l(.636,.522),l(-1.019,.002),l(-1.2,.053),l(-.424,.135),l(.059,.269),l(.372,.134),l(1.333,.065),l(.938,.183),l(.543,.217),l(.233,.301),l(-.37,.034),l(-.748,.001),l(-1.011,-.082),l(-.875,-.216),l(-.824,-.065),l(-.316,.185),l(1.23,.583),l(-.216,.201),l(-1.552,.12),l(.245,.283),l(.437,.166),l(.551,.032),l(1.331,.364),l(1.312,.347),l(.247,.182),l(.039,.282),l(.351,.38),l(.75,-.217),l(.536,.049),l(1.413,.295),l(.298,-.067),l(.649,-.15),l(.61,.032),l(.752,.379),l(.862,.477),l(.376,.346),l(-.685,.1),l(-.801,.117),l(-.027,.444),l(.795,-.001),l(1.405,-.052),l(.51,-.132),l(.895,.048),l(-.386,.559),l(.918,.179),l(.514,-.001),l(.943,-.379),l(.685,.343),l(1.089,.407),l(.194,.098),l(-.275,.229),l(-.254,.099),l(-.103,.326),l(-.819,.05),l(-.718,-.21),l(-.247,-.048),l(-.794,.213),l(.968,.454),l(.279,.162),l(.057,.276),l(-1.057,.197),l(-.356,.228),l(-.312,.292),l(-.372,-.113),l(-.819,-.583),l(-.29,1.103),l(.354,.903),l(-.419,.065),l(-.677,-.257),l(-.751,-.176),l(-.205,-.177),l(-.018,-.243),l(-.315,-.274),l(-.93,.276),l(-.743,-.613),l(.051,-.292),l(.27,-.374),l(-.304,-.129),l(-.224,-.016),l(-.992,-.08),l(-.718,-.292),l(-1.17,-.617),l(-.769,-.292),l(-.762,-.048),l(-.452,.23),l(-.645,.083),L(250,52.592),l(.281,.179),l(1.05,.682),l(-.321,.114),l(-.686,.05),l(-.359,-.259),L(249.277,53),l(-.646,-.21),l(.275,.488),l(.859,.972),l(.604,.015),l(.587,.08),l(.5,.581),l(.612,.805),l(.513,.432),l(.615,-.321),l(.285,.047),l(.592,.399),l(.585,.271),l(1.38,.396),l(-.634,.113),l(-.213,.208),l(.254,.19),l(.568,.286),l(.962,.444),l(.324,.237),l(.242,.682),l(-.112,.428),l(-1.302,-1.155),l(-.554,-.237),l(-.027,.238),l(.118,.27),l(1.055,1.281),l(-.01,.3),l(-.926,-.125),l(.053,.205),l(.432,.409),l(.378,.519),l(-.563,-.172),l(-.615,-.313),l(-.889,-.693),l(-.145,-.031),l(-.719,.064),l(-.91,-.188),l(-1.44,-.662),l(-.319,-.285),l(-1.062,-.665),l(.187,.777),l(-1.22,-.473),l(-.567,-.158),l(-.872,-.03),l(.095,.222),l(.799,.696),l(.853,.426),l(1.842,.645),l(1.296,.644),l(.774,.549),l(.442,.486),l(.429,.689),l(-1.833,-.341),l(-1.524,-.421),l(-1.251,-.28),l(-1.444,-.107),l(-1.092,-.25),l(-.898,-.644),l(-1.146,-.14),l(-.638,-.204),l(-.635,-.141),l(-.058,.145),M(146.194,38.698),l(.818,-.037),l(.78,-.125),l(1.138,-.548),l(.895,-.019),l(1.723,.243),l(.939,.262),l(-.188,.877),l(.515,-.071),l(.66,-.019),l(.792,-.229),l(.599,-.141),l(.758,.016),l(.334,-.071),l(-.989,-.965),l(.156,-.036),l(1.38,.138),l(1.208,.245),l(.675,.245),l(.259,.245),l(.194,.508),l(.965,1.063),l(.638,.346),l(1.045,-.315),l(.14,-.261),l(-1.243,-1.361),l(-.439,-1.321),l(.228,-.354),l(1.91,.262),l(1.775,.156),l(2.031,.719),l(.36,.175),l(.3,.316),l(.16,.701),l(.511,.645),l(.352,.26),l(.856,.606),l(.048,.19),l(-.178,.243),l(-.333,.605),l(.179,.31),l(.224,.12),l(1.4,.649),l(.509,.171),l(1.151,.254),l(1.513,.1),l(2.056,.576),l(1.012,.39),l(.364,.793),l(-.168,.101),l(-1.071,-.082),l(-.811,-.234),l(-.945,-.234),l(-.551,.169),l(-.665,.204),l(-1.021,.036),l(-.256,.118),l(.208,.689),l(1.087,-.069),l(.614,-.152),l(.676,-.119),l(.876,.536),l(-.01,.235),l(-.526,.151),l(-.517,.252),l(-.583,.102),l(-1.417,.12),l(-1.049,-.015),l(-1.194,-.082),l(-1.594,-.248),l(-2.278,-.499),l(-.553,-.217),l(-.436,-.335),l(-.482,-.033),l(-.581,.102),l(-.402,.37),l(-1.114,.505),l(-1.055,.019),l(-1.411,.103),l(-1.253,.42),l(-2.753,.356),l(-1.42,.019),l(-1.205,.086),l(-1.984,-.063),l(-.483,.101),l(-.916,-.015),l(-1,-.282),l(-.061,-.468),l(.198,-.101),l(.002,-.302),l(-.395,-.2),l(-.462,-.1),l(-3.146,-.112),l(-1.258,-.115),l(-.864,-.167),l(-.801,-.2),l(-.753,-.504),l(-1.274,-.554),l(.303,-.069),l(.531,-.222),l(1.572,-.054),l(.603,-.188),l(.558,.016),l(.91,-.019),l(.904,-.087),l(1.716,.031),l(.935,-.002),l(2.14,.047),l(1.09,-.002),l(1.711,-.038),l(.415,-.154),l(-.681,-.221),l(-2.312,-.492),l(-1.942,-.202),l(-4.059,-.061),l(-1.569,-.014),l(-1.694,.055),l(-.955,.053),l(-.604,.001),l(-1.651,-.529),l(.011,-.207),l(.28,-.069),l(.823,-.053),l(1.315,-.209),l(.996,.032),l(1.78,-.141),l(.931,-.105),l(.5,-.277),l(-.392,-.346),l(-2.023,.073),l(-1.578,.159),l(-.393,-.051),l(-.554,-.189),l(-.677,-.346),l(-.65,-.19),l(-.692,.054),l(-.709,-.242),l(-.039,-.279),l(1.304,-.981),l(2.62,-.848),l(.909,-.143),l(.373,-.177),l(1.297,-.267),l(1.324,-.162),l(.701,-.267),l(1.113,-.091),l(1.026,.246),l(-.07,.212),l(-.548,.354),l(-.021,.81),M(251.273,99.526),l(-.188,.153),l(-.16,-.291),l(.192,-.077),l(-.02,-.256),l(.143,-.069),l(-.042,-.154),l(-.224,0),l(-.606,-.231),l(.077,-.229),l(-.31,-2.819),l(-.174,-.274),l(-.488,-.288),l(-.771,-.025),l(-.41,.176),l(-.381,-.085),l(-.505,-.36),l(-.273,-.085),l(-.632,.526),l(-.514,.626),l(-1.139,2.22),l(-1.139,1.45),l(-1.161,-.124),l(-.402,.06),l(-.363,.435),l(-.174,.375),l(-1.093,-.095),l(-1.855,-.004),l(-2.508,-.029),l(-1.76,.009),l(-.968,.523),l(-.534,.305),l(-1.754,.814),l(-.545,.164),l(-.146,.434),l(-.163,.512),l(-.44,.275),l(-1.156,.197),l(-1.305,-.138),l(-1.123,-.01),l(-.93,.091),l(-.47,.203),l(-.162,.375),l(.018,.319),l(.16,.471),l(.047,.362),l(-.875,.427),l(-1.464,.452),l(-.944,.163),l(-.919,.062),l(-.88,.262),l(-.939,.478),l(-.925,.506),l(-.524,.117),l(-.573,-.068),l(-.497,-.169),l(-.371,-.427),l(-.012,-.33),l(.044,-.218),l(.707,-.525),l(.414,-.294),l(.264,-.433),l(.294,-.544),l(.377,-.576),l(.028,-.746),l(-.054,-.545),l(-.876,-3.16),l(-2.529,-1.05),l(-.26,-.33),l(.11,-.318),l(-.307,-.235),l(-.916,-.181),l(-.184,-.294),l(-.178,-.135),l(-.628,.024),l(-.46,-.465),l(-.101,-.429),l(-2.15,-1.061),l(-3.975,-1.576),l(-.977,-.386),l(-.797,-.227),l(-.805,.189),l(-1.469,.592),l(-.707,-.074),l(-.542,.049),l(-.196,-.144),l(-.156,-.115),l(-.474,-.041),l(-.855,.083),l(-.197,-.116),l(-.028,-.282),l(-.373,.075),l(-.412,.191),l(-.219,.06),l(-.573,.141),l(-.506,-.098),l(-.064,-.185),l(-.469,-.086),l(-.241,-.271),l(-.502,-.013),l(-.16,.247),l(-.338,-.48),l(-.271,.012),l(-.02,-.185),l(-1.425,-.208),l(-.518,.076),l(-.833,-.451),l(-.468,-.46),l(-.279,-.371),l(-.896,-.748),l(-.501,.036),l(.131,.347),l(.387,.588),l(-.68,-.003),l(-2.687,.029),l(-2.798,-.029),l(-1.348,.007),l(-2.105,-.003),l(-2.915,.016),l(-2.781,-.029),l(-2.131,.012),l(-2.935,-.014),l(-.601,.003),l(-4.84,-.018),l(-3.617,.004),l(-.875,.005),l(-3.821,-.023),l(-1.089,.035),l(-4.13,-.021),l(-.74,-.011),l(-5.117,.028),l(-1.687,-.006),l(-2.87,.001),l(-3.938,-.008),l(-4.588,.025),l(-1.335,-.022),l(-2.579,-.001),l(-.194,-.013),l(-.187,-.151),l(-.509,-.305),l(-.071,-.437),l(.074,-.346),l(-.708,.25),l(-.373,-.029),l(-.331,-.305),l(-.162,-.496),l(-.125,-.189),l(-.385,.088),l(-.23,.205),l(-.483,.059),l(-.721,-.495),l(-.119,-.425),l(-.201,-.821),l(-1.051,.104),l(-1.01,-.277),l(-.487,-.087),l(-.173,-.087),l(-.143,-.396),l(-.438,-.352),l(-.591,.222),l(-1.236,.046),l(-.461,-.117),l(-.383,-.249),l(-.106,-.25),l(.257,-.648),l(.458,-.222),l(-.227,-.294),l(-1.24,-.086),l(.617,-.518),l(.398,-.281),l(.547,-.149),l(.605,-.508),l(-.874,.006),l(-.621,.149),l(-.362,-.043),L(116,83.422),l(-.039,-.978),l(-.789,.002),l(-1.015,-1.066),l(.132,-.238),l(.034,-.53),l(-.547,.056),l(-.83,.492),l(-1.266,-.934),l(-.384,-.521),l(-.204,-.402),l(-.068,-.432),l(.419,-.404),l(.161,-.254),l(.436,-.3),l(-.358,-.689),l(-.393,-.777),l(.163,-.788),l(-.402,-.255),l(-2.025,-.763),l(-.98,-.314),l(-.189,-.029),l(-.512,-.393),l(-1.67,-1.882),l(-1.769,-1.768),l(-.814,-.58),l(-2.048,-1.175),l(-.35,-.322),l(-.371,-.492),l(-.316,-.199),l(-.832,-.073),l(-.495,.126),l(-.731,.498),l(-1.225,.67),l(-.848,.205),l(-.238,.325),l(-.945,-.673),l(-2.162,-1.318),l(-.348,-.292),l(-.173,-.387),l(-.332,-.388),l(-.739,-.059),l(-2.424,.122),l(-.84,-.074),l(-.196,-.279),l(-.089,-1.046),l(-.026,-2.167),l(.043,-4.334),l(.026,-2.183),l(-.129,-2.796),l(-.052,-2.335),l(-.039,-2.259),l(.003,-2.855),l(-.102,-.483),l(.71,.024),l(.9,-.086),l(.964,.116),l(2.012,.451),l(1.601,.518),l(1.214,.266),l(1.04,.115),l(.731,.032),l(1.619,.164),l(.888,.232),l(.429,.149),l(.254,-.034),l(-.452,-.601),l(-.357,-.2),l(-.345,-.15),l(-.064,-.419),l(1.344,-.423),l(.745,.066),l(.578,-.068),l(.15,-.102),l(1.736,.148),l(.771,-.001),l(1.125,-.373),l(.309,-.186),l(.442,0),l(.656,-.221),l(.759,-.069),l(.866,-.086),l(.734,-.086),l(.469,-.239),l(.392,-.188),l(.771,-.104),l(1.045,-.002),l(.872,.123),l(-.445,.404),l(-.352,.119),l(-1.101,.137),l(-1.092,.373),l(-1.244,.171),l(-1.22,.271),l(-.699,.522),l(-1.767,.255),l(-.681,.487),l(.846,.266),l(1.441,.748),l(-.219,-.55),l(.168,-.351),l(1.196,-.253),l(.39,-.235),l(.726,-.421),l(1.727,-.053),l(.96,-.372),l(1.158,-.389),l(2.066,-.173),l(.643,-.338),l(.921,-.272),l(.821,-.189),l(.476,-.239),l(-.178,-.272),l(-.702,-.392),l(-.655,-.444),l(.899,.101),l(.764,.272),l(.701,.306),l(.412,.324),l(.376,.476),l(.449,.523),l(.393,.235),l(1.246,.486),l(.186,.067),l(1.154,.216),l(.394,-.018),l(.199,-.151),l(-.511,-.639),l(.07,-.27),l(.548,-.035),l(.334,-.136),l(.627,-.103),l(.383,.354),l(.059,.421),l(-.205,.287),l(.833,.133),l(.938,-.069),l(1.136,-.457),l(.536,-.49),l(.479,-.069),l(1.131,.015),l(1.536,.267),l(1.745,.435),l(1.396,.334),l(2.095,.349),l(1.024,.216),l(.619,.066),l(1.572,.282),l(1.121,.065),l(1.144,.148),l(1.096,.032),l(1.4,-.086),l(.899,.099),l(1.008,.282),l(.982,.349),l(.434,.249),l(.191,.333),l(-.524,.134),l(-.935,-.032),l(-.566,.051),l(-.849,.135),l(-.354,.714),l(3.323,.358),l(1.726,.079),l(1.749,.014),l(.868,-.068),l(.738,-.051),l(.94,-.167),l(.895,-.118),l(.938,-.101),l(.886,.032),l(1.432,.477),l(1.452,.179),l(.42,.115),l(1.225,.443),l(-.013,.312),l(-.504,.083),l(-.35,.247),l(.305,.147),l(1.823,.979),l(-.162,-.392),l(-.024,-.312),l(.456,-.05),l(.617,-.132),l(-.062,-.181),l(-.972,-.656),l(-.128,-.198),l(-.145,-.445),l(.121,-.745),l(.35,-.034),l(1.944,-.136),l(.928,-.151),l(.207,-.299),l(.459,-.217),l(.613,-.035),l(1.098,.281),l(1.528,.279),l(.968,.064),l(.969,-.102),l(.612,.414),l(.248,.082),l(.962,.213),l(1.211,.13),l(.678,.081),l(1.146,-.002),l(.879,-.2),l(1.755,-.02),l(1.876,.029),l(1.07,-.052),l(1.18,-.267),l(.959,.478),l(.95,.296),l(.522,-.018),l(.243,-.314),l(-.017,-.513),l(-.666,-.231),l(-.732,-.131),l(-1.377,-.064),l(.089,-.449),l(1.193,-.085),l(.575,.065),l(.804,.214),l(.871,.198),l(.858,.048),l(.498,.198),l(.088,.183),l(-.095,.132),l(-.287,.86),l(.179,.51),l(.304,.164),l(.177,.065),l(.792,.097),l(.951,.311),l(-.071,-.559),l(-.466,-.989),l(.137,-.48),l(.258,-.266),l(.712,.015),l(.811,-.035),l(1.229,-.85),l(.492,-.051),l(.479,-.001),l(.517,-.151),l(.033,-.133),l(-.15,-.367),l(-.375,-.35),l(-.307,.001),l(-.81,.185),l(-.988,-.082),l(.535,-.52),l(.806,-.069),l(.435,-.168),l(.572,-.001),l(.739,.4),l(.464,.167),l(.065,-.268),l(-.081,-.956),l(-.744,.069),l(-.897,-.032),l(-.68,-.116),l(-.859,-.318),l(-.725,.085),l(-1.245,-.183),l(-.861,-.234),l(-.956,-.218),l(-.657,-.338),l(-.092,-.136),l(-.022,-.324),l(.33,-.137),l(.842,-.463),l(-.486,-.221),l(-1.188,-.375),l(.09,-.207),l(.58,-.604),l(.593,-.294),l(.387,-.035),l(1.032,.257),l(.139,-.035),l(.173,-.346),l(-.709,-.362),l(-.201,-.277),l(.23,-.035),l(.551,-.331),l(.367,-.035),l(1.841,-.021),l(.559,.086),l(.728,.189),l(1.26,.449),l(.432,.328),l(.195,.38),l(-.246,.603),l(1.261,.53),l(.809,.495),l(1.134,.493),l(-.377,.341),l(-.985,.036),l(-.474,.273),l(-.416,.557),l(.471,.067),l(1.071,.233),l(.805,.049),l(.387,-.136),l(.597,-.001),l(1.477,.351),l(-.335,.353),l(-.563,.219),l(.092,.151),l(.796,.467),l(.358,.601),l(.025,.833),l(.303,-.063),l(.021,-.004),l(.411,-.067),l(.608,-.367),l(.655,-1.137),l(.668,-.42),l(.523,.016),l(.731,.284),l(1.064,.55),l(.473,.383),l(.209,.45),l(-.159,.433),l(-.336,.034),l(-.796,-.098),l(-.202,.299),l(-.043,.415),l(.35,.396),l(1.146,.659),l(.61,.493),l(.463,.279),l(.595,-.166),l(.896,-.167),l(.369,-.132),l(.208,-.66),l(.764,-.398),l(.599,-.416),l(.249,-.664),l(.363,-.75),l(.237,-.184),l(1.394,.081),l(.329,-.067),l(.134,-.518),l(-.985,-.333),l(-.918,-.35),l(.088,-.891),l(.595,-.271),l(.787,.032),l(.42,-.068),l(.571,.016),l(3.459,.616),l(1.325,.669),l(.506,-.001),l(.553,-.068),l(.454,.201),l(.244,1.036),l(-.474,.268),l(-.431,.101),l(-.243,-.05),l(-.718,-.532),l(-.263,0),l(-.799,.269),l(.123,.316),l(.309,.515),l(.699,.729),l(.855,.528),l(1.108,.576),l(.024,.313),l(-.478,.642),l(-.439,.181),l(-1.407,.772),l(-.674,.083),l(-1.123,.509),l(-.763,-.276),l(-1.654,-.962),l(-.586,-.262),l(-.497,-.048),l(-.684,.281),l(1.364,.521),l(1.483,.896),l(-.708,.067),l(-.691,-.081),l(-1.288,.084),l(-.375,-.129),l(-.596,-.62),l(-1.147,-.014),l(-1.857,.118),l(-.253,.229),l(.614,.244),l(1.311,.421),l(-.159,.195),l(-.611,.327),l(-2.045,1.106),l(-.657,.179),l(-.527,.001),l(-.859,-.241),l(-.816,-.484),l(-.225,-.081),l(-1.189,-.225),l(-.736,-.259),l(-.598,-.112),l(-.947,.014),l(-.289,.004),l(-1.214,.174),l(1.503,.278),l(1.136,.21),l(1.751,.774),l(1.629,.433),l(1.233,.126),l(1.02,.031),l(-.618,1.091),l(-1.237,.705),l(-.856,.432),l(-.728,.161),l(-.829,.049),l(-.928,-.126),l(-1.062,-.38),l(-.048,.351),l(-.025,.287),l(.321,.572),l(-.02,.159),l(-.741,.031),l(-.058,.002),l(-1.365,-.108),l(-1.649,-.41),l(-.884,-.078),l(-2.962,-.322),l(2.146,.864),l(1.576,.156),l(1.367,.267),l(.562,.205),l(.33,.268),l(-.011,.19),l(-.642,.333),l(-1.106,.207),l(-1.429,-.076),l(-.511,-.062),l(-.367,.269),l(1.254,.423),l(-.469,.426),l(-1.06,.316),l(-1.454,.662),l(-.421,.252),l(.218,.704),l(-.313,.235),l(-.909,.205),l(-.31,.282),l(-.529,.64),l(-.276,.296),l(-.241,.669),l(-.274,.543),l(-.323,.666),l(.056,.416),l(-.161,.554),l(.123,.875),l(.136,.536),l(.598,.366),l(.25,.015),l(.257,.091),l(.664,.014),l(1.164,-.094),l(.276,.045),l(.367,.29),l(.413,.763),l(.813,1.157),l(.22,.668),l(-.132,.91),l(.673,.014),l(1.874,-.428),l(1.261,-.033),l(.723,.074),l(.535,.157),l(1.062,.311),l(2.129,.435),l(1.896,.903),l(.993,.933),l(3.5,.67),l(.644,.225),l(.982,.403),l(.986,.253),l(.553,.104),l(.702,-.091),l(.453,.044),l(.828,-.077),l(1.245,.163),l(1.407,.207),l(.401,.194),l(-.297,.702),l(-.142,.85),l(.154,.283),l(.307,.342),l(.07,.416),l(-.115,1.025),l(-.309,.593),l(.022,.208),l(.604,.266),l(.481,.339),l(.264,.354),l(.046,.488),l(-.076,.354),l(.97,.116),l(.963,.47),l(.676,.588),l(.392,.588),l(.078,.162),l(.64,.014),l(.726,.41),l(.907,.601),l(-.349,-.66),l(-.22,-.279),l(.134,-.338),l(.573,-.414),l(.365,.176),l(.381,.456),l(.262,.353),l(.165,-.354),l(.107,-.545),l(-.215,-.456),l(.541,-.532),l(.139,-.546),l(-.183,-.517),l(-.337,-.458),l(-.261,-.754),l(-.004,-.548),l(-.205,-.593),l(-.218,-.43),l(.615,-.016),l(-.097,-.476),l(-.296,-.252),l(-.657,-.163),l(-.375,-.282),l(-.326,-.923),l(1.252,-.271),l(.872,-.241),l(.625,-.271),l(1.758,-.949),l(.629,-.302),l(1.043,-.935),l(.434,-.544),l(.237,-.665),l(.054,-.529),l(-.257,-1.045),l(-.246,-.531),l(-.239,-.319),l(-.938,-.729),l(-.467,-.274),l(-1.105,-.532),l(-.363,-.122),l(-.453,-.274),l(-.151,-.046),l(-.293,-.351),l(.08,-.107),l(.868,-.522),l(.553,-.875),l(.293,-.416),l(.25,-.092),l(.447,-.017),l(.295,-.277),l(-.106,-.523),l(-.18,-.355),l(-.316,-.402),l(-.048,-.202),l(.258,-.357),l(.005,-.264),l(-1.751,-.105),l(1.084,-.92),l(.503,-.704),l(.007,-.125),l(-.316,-.203),l(-.609,-.265),l(-.244,-.266),l(-.043,-.533),l(.305,-.425),l(.554,-.315),l(.57,-.19),l(.827,.062),l(1.781,.374),l(1.097,.234),l(.753,.077),l(1.44,.013),l(1.08,-.144),l(.86,-.222),l(.21,-.047),l(.179,-.063),l(.589,.078),l(.991,.407),l(.254,.125),l(.754,.454),l(.918,.375),l(.796,.437),l(-.294,.391),l(.406,.233),l(1.698,.496),l(1.958,.354),l(.725,-.033),l(.368,-.203),l(.339,.295),l(-.013,.404),l(-.577,.343),l(-.123,.45),l(.438,1.327),l(.136,.722),l(.23,.414),l(-.049,.353),l(-.248,.169),l(-.445,-.014),l(-.347,-.015),l(-.138,.674),l(.375,.274),l(1.137,-.415),l(.366,-.047),l(.781,-.047),l(.286,.015),l(.677,.32),l(.378,.351),l(.004,.259),l(-.081,.123),l(.277,.32),l(.516,-.184),l(.306,-.046),l(1.173,-.079),l(.636,-.184),l(.436,-.383),l(.333,-.551),l(.326,.015),l(.194,.122),l(.693,.717),l(.042,-.062),l(.108,-.764),l(.317,-.583),l(.475,-.262),l(.539,-.385),l(-.651,-.505),l(.008,-.308),l(.272,-.139),l(.98,-.094),l(.193,-.139),l(.512,-.665),l(.667,.37),l(.607,.599),l(.785,.506),l(.596,.797),l(1.045,.764),l(.264,.352),l(-.344,.291),l(.095,.335),l(.573,-.031),l(.365,.777),l(.182,.183),l(.324,.121),l(.743,.136),l(.281,.258),l(.133,.38),l(-.379,.092),l(-.416,.168),l(.411,.318),l(.397,.227),l(.77,.196),l(.279,.227),l(.034,.424),l(-.056,.076),l(-.409,.106),l(-.676,-.029),l(-.745,-.12),l(-.316,.061),l(.091,.166),l(.273,.181),l(.189,.241),l(.333,.513),l(.411,.226),l(.634,.029),l(.462,.18),l(.838,.496),l(.899,.435),l(.246,.33),l(-.035,.195),l(-.447,.781),l(.508,.059),l(.663,-.166),l(.786,-.077),l(.79,.164),l(.574,.194),l(1.162,.49),l(.981,.132),l(1.517,.295),l(-.184,.253),l(-.718,.21),l(-.736,.21),l(-.663,.046),l(-.834,.24),l(-.583,.402),l(-.65,.225),l(-1.032,.061),l(-.286,.075),l(-.324,.268),l(.029,.371),l(-.271,.535),l(1.175,-.343),l(.542,-.09),l(.649,-.105),l(1.201,-.774),l(1.251,-.478),l(1.146,-.106),l(.662,.237),l(.35,.341),l(-.398,.446),l(.036,.119),l(.307,.296),l(.616,-.224),l(.455,-.164),l(.655,.192),l(1.051,.487),l(.226,.251),l(.022,.178),l(-.299,.43),l(-.05,.355),l(-.406,.444),l(1.001,.929),l(-.365,.37),l(-.795,.282),l(-1.078,.621),l(-.662,.281),l(-1.097,.046),l(-.823,.119),l(-1.548,.077),l(-.433,.413),l(-.916,.795),l(-.686,.427),l(-.612,.294),l(-.938,.222),l(-1.494,.172),l(-1.845,.127),l(-1.452,-.07),l(-2.031,-.084),l(-.355,.03),l(-1.073,.075),l(-1.058,-.012),l(-1.873,-.099),l(-.917,-.027),l(-1.758,.106),l(-.547,.206),l(-.523,.294),l(-.537,.585),l(-.205,.554),l(-.287,.335),l(-.591,.19),l(-1.07,.104),l(-.537,.147),l(-1.098,.555),l(-.774,.54),l(-.794,.612),l(-.325,.363),l(-.33,.233),l(-.868,.843),l(-.485,.566),l(-.418,.276),l(-.46,.58),l(-.518,.968),l(.749,-.737),l(.375,-.131),l(.688,-.479),l(1.059,-.944),l(1.097,-.785),l(2.028,-.948),l(1.245,-.395),l(1.797,-.512),l(1.065,-.235),l(1.03,-.235),l(1.473,-.148),l(.922,.056),l(.895,.289),l(.509,.29),l(.136,.189),l(.144,.464),l(-.125,.218),l(-.326,.219),l(-1.059,.292),l(-.753,.452),l(-.581,.044),l(-.845,-.23),l(-.726,.045),l(-.645,.19),l(.279,.08),l(1.13,.229),l(.17,.122),l(.256,.444),l(.074,.095),l(1.299,-.485),l(-.028,.216),l(.479,-.148),l(.372,.162),l(-.36,.229),l(-.231,.256),l(.112,.27),l(-.163,.014),l(-.074,.229),l(-.91,.444),l(1.216,.013),l(.077,.188),l(-.187,.282),l(.091,.43),l(.118,-.081),l(.239,.134),l(-.063,.134),l(.048,.202),l(.351,.457),l(.009,.147),l(.824,.054),l(.154,.094),l(.04,-.067),l(.727,.147),l(-.315,.134),l(-.373,-.013),l(-.047,.134),l(.525,.147),l(.211,.241),l(.569,-.081),l(.135,.134),l(.212,-.014),l(.134,.174),l(.418,-.04),l(-.075,-.107),l(.843,.067),l(.241,.107),l(-.207,.201),l(.242,-.107),l(.26,.027),l(.245,-.013),l(.696,-.362),l(.303,-.081),l(.104,.362),l(.377,.161),l(.538,-.121),l(.488,.416),l(-.405,.254),l(.089,.107),l(.825,.027),l(.164,.174),l(-.521,.121),l(-.161,-.121),l(-.3,.134),l(.118,.094),l(-.515,0),l(-.23,-.04),l(.109,.161),l(-.45,.04),l(.056,.107),l(-.443,.014),l(-.128,.147),l(-.45,.04),l(-.368,.253),l(-.09,-.106),l(-.706,.28),l(-.046,.053),l(-.529,.133),l(-.119,-.267),l(-.274,.106),l(-.163,.267),l(-.188,-.187),l(-.068,.253),l(-.218,.08),l(-.094,.187),l(-.513,0),l(-.081,-.08),l(-.169,-.053),l(.032,-.347),l(-.242,.36),l(-.202,.12),l(-.131,-.253),l(-.354,.027),l(.043,.24),l(-.233,.04),l(.312,.08),l(.033,.213),l(-.103,.12),l(-.174,-.067),l(-.768,.453),l(.127,.16),l(-.235,.12),l(-.194,.053),l(.015,.213),l(-.161,-.12),l(.083,.173),l(-.217,.08),l(-.14,-.107),l(.096,.253),l(-.222,.066),l(-.146,-.08),l(-.148,0),l(-.064,.133),l(-.156,-.106),l(-.243,.227),l(-.086,.292),l(-.201,-.226),l(-.344,.133),l(-.154,-.187),l(-.349,-.479),l(-.138,.24),l(-.419,-.866),l(.456,-.773),l(.284,-.16),l(.035,-.12),l(-.35,.12),l(-.357,.267),l(-.076,-.106),l(.924,-.507),l(.125,.146),l(.195,-.093),l(-.258,-.107),l(1.103,-.52),l(1.109,-.562),l(.658,-.361),l(.336,.094),l(-.067,.428),l(.179,-.054),l(.258,.281),l(-.044,-.201),l(-.017,-.174),l(.632,-.214),l(.73,-.134),l(.192,.067),l(.202,-.081),l(-.152,-.094),l(-.653,-.053),l(-.595,.053),l(-.42,-.053),l(-.804,-.014),l(-.306,.027),l(-.251,.081),l(-.246,.094),l(.033,-.214),l(1.128,-.563),l(.054,-.201),l(.252,-.08),l(-.052,-.174),l(-.523,.281),l(.097,-.134),l(-.502,-.51),l(.309,.443),l(-.36,.482),l(-.328,.013),l(-1.974,.817),l(-.284,.08),l(-.362,-.201),l(-.227,-.067),l(.23,.201),l(-.788,.401),l(-.219,-.174),l(-1.019,-.054),l(-.124,.147),l(-.38,-.241),M(186.193,47.833),l(-.713,-.032),l(-.922,-.181),l(-.882,-.065),l(-1.25,-.314),l(-.973,-.182),l(-.604,-.049),l(-1.083,-.199),l(.43,-.335),l(1.542,-.405),l(.385,-.186),l(.115,-.673),l(.305,-.236),l(.831,-.069),l(.743,.184),l(1.436,.603),l(1.287,.4),l(.074,.285),l(.315,.284),l(1.094,.516),l(-.288,.117),l(-1.263,.486),l(-.578,.051),M(231.09,50.646),l(-1.319,-.03),l(-.449,-.147),l(-.232,-.247),l(-.173,-.478),l(.3,-.43),l(.708,-.664),l(.662,-.267),l(1.359,-.168),l(.911,.197),l(.79,.314),l(-.021,.464),l(-.039,.727),l(-.362,.265),l(-1.025,.348),l(-1.108,.117),
-N(444.972,79.145),l(.47,-.218),l(.307,-.093),l(-.294,-.024),l(-.419,.061),l(-.15,-.135),l(-.125,.184),l(-.108,-.012),l(.066,-.491),l(.177,-.218),l(.41,.009),l(1.489,.062),l(.417,.014),l(.339,-.075),l(.121,-.253),l(-.175,-.288),l(.246,-.05),l(-.068,-.122),l(-.068,-.123),l(.353,-.096),l(.12,-.034),l(.051,.154),l(.086,.052),l(.24,0),l(.223,.12),l(.257,.069),l(.514,.068),l(.086,.103),l(.223,-.051),l(.445,0),l(.257,0),l(.223,-.017),l(.086,.137),l(.103,.103),l(.188,.034),l(.171,.069),l(.018,.137),l(.052,.12),l(-.224,.12),l(-.068,.154),l(-.068,.206),l(.018,.171),l(.034,.137),l(.029,.038),l(-2.96,.101),l(-2.246,-.115),l(-.842,-.006),M(717.633,81.109),l(.42,.443),l(.429,.62),l(.183,.457),l(.01,.767),l(-.244,.442),l(-.197,.78),l(-.002,.764),l(.29,.777),l(.592,.849),l(.65,1.446),l(.899,1.614),l(1.115,1.679),l(-1.26,-.677),l(-.832,-.39),l(-.99,-.056),l(-.268,.088),l(-.396,.204),l(-.462,1.045),l(-.266,1.101),l(-.082,.579),l(.277,.982),l(.183,.216),l(.659,.908),l(.54,.201),l(.463,.648),l(-.314,1.246),l(-.664,-1.258),l(-.866,-.301),l(-.224,.029),l(-.415,.303),l(-.311,.534),l(-.643,.907),l(-.422,-.5),l(-.19,-.929),l(.637,-1.146),l(-.395,-.884),l(.175,-.454),l(.502,-.63),l(-.131,-.723),l(-.196,-.376),l(-.27,-.55),l(-.062,-.235),l(.403,-.302),l(.284,-.915),l(.075,-.784),l(.005,-1.326),l(.15,-1.302),l(-.09,-.732),l(-.213,-.469),l(-.83,-.85),l(-.1,-.897),l(.114,-.192),l(.359,-.722),l(.065,-.738),l(-.336,-.457),l(.172,-.237),l(.374,-.03),l(.62,-.031),l(1.023,-.534),M(471.158,84.281),l(-.002,-.142),l(-.165,-.066),l(-.082,-.115),l(-.164,-.082),l(.033,-.099),l(-.033,-.23),l(-.033,-.164),l(.082,-.099),l(-.147,-.131),l(-.099,-.148),l(.132,-.066),l(0,-.165),l(-.296,-.164),l(-.279,-.263),l(-.017,-.164),l(.099,-.131),l(.131,-.165),l(.362,-.017),l(.328,.049),l(.197,.132),l(.51,.016),l(.525,-.099),l(.444,-.247),l(.049,-.065),l(.148,-.083),l(.296,0),l(.065,-.164),l(-.033,-.131),l(-.279,-.066),l(-.296,-.148),l(-.099,-.181),l(.082,-.017),l(.066,-.049),l(.032,-.065),l(-.263,-.066),l(-.361,-.099),l(-.378,-.066),l(-.361,.066),l(-.182,-.066),l(.066,-.181),l(.099,-.197),l(-.066,-.148),l(-.164,-.099),l(-.279,-.082),l(-.23,-.066),l(-.443,-.213),l(-.115,-.23),l(-.164,-.263),l(-.214,-.017),l(-.017,-.099),l(.066,-.131),l(.099,-.115),l(-.132,-.033),l(-.181,.049),l(-.082,-.115),l(-.132,-.181),l(-.345,-.049),l(.049,-.147),l(.033,-.165),l(.099,-.049),l(.115,-.082),l(0,-.083),l(.114,0),l(.066,-.131),l(-.05,-.164),l(-.147,-.099),l(-.197,-.247),l(.131,-.165),l(.033,-.164),l(0,-.083),l(.065,-.115),l(-.049,-.115),l(-.147,.033),l(-.165,-.033),l(-.147,-.099),l(-.099,-.099),l(-.279,-.099),l(-.132,-.131),l(-.542,-.115),l(-.247,.049),l(-.099,-.049),l(-.131,-.049),l(-.23,.083),l(-.147,.099),l(-.165,0),l(-.279,.016),l(-.214,.197),l(-.197,0),l(-.164,-.148),l(-.065,-.148),l(.017,-.099),l(.164,-.099),l(0,-.115),l(-.147,-.017),l(-.296,-.065),l(-.312,-.049),l(-.361,.049),l(-.214,.065),l(-.197,.033),l(-.082,-.148),l(-.132,-.148),l(-.312,-.033),l(-.181,-.016),l(-.197,.131),l(-.229,-.066),l(-.165,-.147),l(.061,-.042),l(.015,-.117),l(.044,-.087),l(-.088,-.233),l(.015,-.189),l(-.131,-.117),l(.059,-.087),l(-.16,-.043),l(-.146,-.102),l(-.029,-.16),l(-.131,-.058),l(-.116,-.102),l(.043,-.073),l(.059,-.087),l(-.073,-.044),l(-.087,-.014),l(-.131,-.073),l(-.146,.015),l(-.204,.059),l(.044,-.102),l(.102,-.073),l(.073,-.087),l(-.029,-.117),l(.072,-.131),l(-.131,-.087),l(.103,-.029),l(.087,-.015),l(.102,-.073),l(.015,-.087),l(.029,-.116),l(.015,-.087),l(-.204,-.058),l(-.087,-.073),l(-.204,-.087),l(-.232,-.073),l(0,-.117),l(.015,-.116),l(-.37,.004),l(-.081,-.106),l(.116,-.058),L(461.402,72),l(.029,-.117),l(.131,0),l(.087,-.116),l(.059,-.102),l(.16,-.058),l(.262,-.043),l(.175,-.073),l(-.059,-.059),l(-.175,-.043),l(-.043,-.146),l(-.015,-.087),l(0,-.073),l(-.088,-.073),l(-.203,-.087),l(-.175,-.233),l(0,-.175),l(.175,-.131),l(-.029,-.16),l(-.073,-.189),l(-.131,-.437),l(-.029,-.16),l(.088,-.16),l(.204,-.131),l(.319,-.131),l(.219,-.204),l(.175,-.277),l(.058,-.131),l(.088,-.043),l(.116,0),l(.189,0),l(.175,-.044),l(.043,-.174),l(-.16,-.131),l(-.145,-.053),l(-.089,-.13),l(-.17,-.038),l(.1,-.253),l(.339,-.038),l(.153,.165),l(.229,.063),l(.188,-.088),l(-.094,-.139),l(.301,-.154),l(.485,.199),l(.296,-.062),l(.312,-.338),l(.311,-.185),l(.75,.106),l(.781,.275),l(.439,0),l(.363,-.154),l(-.386,-.399),l(-.59,-.323),l(-.393,-.03),l(-1.204,.08),l(-.616,-.091),l(-.271,-.108),l(-.299,-.309),l(.258,-.434),l(-.065,-.201),l(-.199,.044),l(.174,-.285),l(1.946,-1.145),l(1.983,-1.195),l(1.385,-.758),l(.591,-.536),l(.43,-.536),l(.105,-.409),l(-.161,-.346),l(-.436,-.392),l(-.703,-.265),l(-1.357,-.499),l(-.439,-.33),l(.327,-.191),l(.542,-.415),l(.057,-.254),l(-.151,-.253),l(-1.286,-1.395),l(-.37,-.509),l(.029,-.37),l(.187,-.403),l(.44,-.535),l(.196,-.356),l(-.772,-1.195),l(-1.402,-1.394),l(.328,-.296),l(1.303,-.777),l(.421,-.364),l(-.543,-.392),l(-.964,-.506),l(-.872,-.194),l(-.563,-.212),l(-.116,-.529),l(.258,-.465),l(.024,-.283),l(.689,-.303),l(1.013,-.672),l(1.023,-.49),l(.77,-.121),l(.824,-.021),l(.514,-.204),l(.404,-.288),l(.617,-.051),l(1.002,-.254),l(.643,-.237),l(.01,.151),l(.255,.386),l(.358,.284),l(.543,.2),l(.919,.082),l(.602,.1),l(.078,.602),l(.695,-.319),l(.421,.049),l(1.083,.048),l(.875,.015),l(.522,.032),l(1.116,-.002),l(1.293,.281),l(2.728,.512),l(.984,.364),l(1.595,.86),l(.583,.214),l(1.48,.246),l(1.296,.212),l(2.018,.623),l(.328,.279),l(-.051,.444),l(.147,.295),l(.426,.294),l(.104,.294),l(-.24,.344),l(-.69,.491),l(-1.092,.54),l(-.816,.262),l(-1.75,.36),l(-.907,.083),l(-1.631,-.013),l(-1.391,-.192),l(-2.038,-.175),l(-1.63,-.192),l(-1.342,-.339),l(-2.256,-.485),l(-1.114,-.112),l(-.476,-.048),l(-.621,-.473),l(-.371,-.163),l(-.771,-.13),l(-.943,.117),l(.307,.163),l(.149,.065),l(.73,.538),l(.482,.146),l(1.109,.601),l(.832,.291),l(.921,.161),l(.634,.242),l(.405,.453),l(-.002,.405),l(-.276,.291),l(-.684,.195),l(.086,.113),l(.208,.531),l(.771,.943),l(.093,.494),l(.155,.207),l(.438,.174),l(1.203,.078),l(.872,.125),l(.499,.619),l(.401,.095),l(1.26,.077),l(.575,.126),l(.364,.079),l(.402,-.128),l(.785,-.097),l(.243,-.302),l(-.001,-.318),l(-.387,-.397),l(-.471,-.079),l(-.455,.096),l(-.447,-.031),l(-.589,-.206),l(-.952,-.795),l(.701,-.674),l(.484,-.001),l(1.116,.479),l(1.441,.333),l(2.09,.427),l(.952,.078),l(.834,-.146),l(.723,.174),l(.261,-.224),l(.05,-.415),l(-.214,-.239),l(-.858,-.656),l(-.348,-.628),l(.285,-.323),l(.19,-.049),l(1.432,-.423),l(1.495,-.359),l(.599,-.244),l(1.133,-.717),l(.172,-.049),l(.462,.064),l(1.829,.29),l(1.41,.533),l(.341,-.001),l(.052,-.065),l(.154,-.503),l(.581,-.767),l(-.048,-.653),l(-.317,-.408),l(-.847,-.163),l(-.3,-.229),l(1.139,-1.005),l(.101,-.247),l(-.205,-.594),l(-.771,-.512),l(.069,-.315),l(.353,-.051),l(1.458,.23),l(2.025,-.12),l(.631,.132),l(.664,.611),l(.616,.445),l(.433,.461),l(-1.045,.051),l(-1.559,.085),l(-.822,.215),l(-.492,.51),l(.191,.18),l(.952,.293),l(.732,.555),l(.804,.194),l(.723,.097),l(1.268,-.133),l(1.33,-.084),l(.301,-.164),l(.257,-.491),l(.291,-.591),l(.284,-.412),l(1.232,-.2),l(1.223,-.414),l(.988,-.216),l(1.924,-.483),l(1.429,-.251),l(1.537,-.318),l(.921,-.3),l(.205,.464),l(.278,.083),l(.571,-.117),l(.487,-.266),l(.148,-.465),l(.386,-.167),l(.718,-.135),l(.859,.065),l(-.18,.399),l(-.058,.597),l(-.858,.084),l(-.178,.149),l(.002,.215),l(.687,.197),l(.507,-.083),l(1.169,-.167),l(.436,-.001),l(.161,.198),l(.23,.049),l(.278,-.133),l(.264,-.216),l(.29,-.431),l(.464,-.183),l(.861,-.118),l(1.049,-.068),l(.768,.032),l(1.075,.23),l(.755,-.018),l(.36,-.083),l(.963,-.467),l(1,-.285),l(.803,-.052),l(.952,.182),l(.326,.166),l(-.631,.45),l(.129,.232),l(.217,.099),l(.632,.131),l(.579,-.018),l(.288,-.232),l(.074,-.398),l(.342,-.084),l(.962,.065),l(.543,-.184),l(.395,-.316),l(.115,-.417),l(-1.37,-1.033),l(.405,-.168),l(.66,-.37),l(.403,-.068),l(.609,.016),l(2.171,.063),l(1.272,.199),l(1.241,.149),l(1.135,.199),l(2.111,.515),l(1.071,.098),l(1.712,.414),l(1.02,.248),l(1.305,.53),l(1.455,.611),l(.864,.379),l(.376,.049),l(.229,-.1),l(1.145,-1.047),l(.236,-.3),l(-.927,.035),l(-.4,-.049),l(-.564,-.232),l(-.365,-.433),l(.027,-.652),l(-.727,-.283),l(-1.987,-.147),l(-.19,-.268),l(.064,-.168),l(.305,-.303),l(.693,-.255),l(.236,-.153),l(.085,-.187),l(-.052,-.833),l(-.251,-.238),l(-1.135,-.066),l(-.232,-.29),l(.328,-.532),l(.359,-.241),l(.391,-.035),l(1.482,-.416),l(1.098,-.485),l(.521,-.416),l(.581,-.608),l(.544,-1.22),l(.637,-.421),l(.374,.069),l(1.562,.155),l(1.613,-.125),l(1.605,-.091),l(.695,.069),l(1.066,-.055),l(.574,.122),l(.309,.279),l(-.018,.332),l(-.423,.836),l(-.348,.348),l(-1.334,.833),l(-.223,.345),l(.752,.342),l(.931,.667),l(.277,.342),l(.21,.818),l(-.174,.222),l(-.575,.375),l(.254,1.179),l(-.058,1.305),l(.263,.583),l(.45,.381),l(1.027,.264),l(.19,.166),l(-.001,.133),l(-.485,.481),l(-.417,.826),l(-.333,.33),l(-.784,.462),l(-1.232,.625),l(-.63,.198),l(-.55,.263),l(.321,.522),l(-.433,.115),L(558,52.195),l(-1.599,-.372),l(-.731,-.08),l(-.97,.034),l(-.601,.115),l(.195,.31),l(.583,.276),l(.738,.21),l(1.569,.208),l(1.133,.079),l(.613,-.05),l(1.188,.144),l(.922,-.034),l(.472,-.358),l(.303,-.358),l(1.352,-.328),l(1.166,-.492),l(.268,-.278),l(.386,-.606),l(.818,-.313),l(.864,-.626),l(.064,-.362),l(-.225,-.561),l(-.609,-.545),l(.244,-.548),l(.237,-.1),l(.677,-.151),l(1.38,-.152),l(1.757,-.003),l(.74,.231),l(.842,.463),l(.151,.778),l(-.34,1.023),l(.302,.279),l(.92,.212),l(1.298,.047),l(.864,-.149),l(.129,-.296),l(-.514,-.18),l(-.797,-.18),l(-.571,.034),l(-.457,-.098),l(.068,-.379),l(1.03,-.382),l(.065,-.249),l(-.218,-.148),l(-.166,-.331),l(-.441,-.763),l(-.511,-.266),l(-.836,-.098),l(-1.093,-.231),l(-.801,-.116),l(-1.288,-.165),l(-.91,.186),l(-.638,.101),l(-1.297,-.181),l(-.896,.019),l(-.015,-.267),l(-.564,-1.071),l(.305,-.657),l(.736,-.697),l(.282,-.46),l(-.134,-.221),l(-1.092,-1.042),l(-.949,-.514),l(-.12,-.189),l(.833,-.554),l(1.213,-.106),l(.998,-.262),l(.744,-.348),l(.172,-.226),l(.169,-.644),l(-.13,-.663),l(.23,.069),l(.64,.051),l(.466,.086),l(.108,.471),l(-.186,.54),l(-.636,.608),l(-.167,.554),l(.14,.448),l(.373,.274),l(.485,.274),l(1.384,.134),l(1.574,.169),l(1.632,.083),l(.819,.409),l(.321,.017),l(.799,-.036),l(-.527,-.89),l(-.521,-.274),l(-1.893,-.1),l(-.931,-.067),l(-.576,-.154),l(-.609,-.448),l(.275,-.329),l(1.374,-.054),l(.444,.172),l(1.145,.084),l(.747,-.157),l(-.09,-.728),l(.408,-.088),l(.84,-.105),l(1.278,-.02),l(1.067,.207),l(1.413,.379),l(1.088,.535),l(1.326,.343),l(.547,.085),l(1.822,.014),l(.727,-.174),l(.138,.345),l(-.781,.38),l(-.696,.259),l(-.248,.771),l(-.129,.972),l(.333,.136),l(.68,-.785),l(.387,-.292),l(.285,.051),l(.604,.528),l(-.088,.749),l(.743,-.205),l(.681,-.273),l(-.044,-.306),l(-.191,-.119),l(-.147,-.358),l(-.748,-.821),l(.188,-.223),l(.686,-.759),l(-.797,-.448),l(-.772,-.258),l(-.93,-.241),l(-.257,-.382),l(-.655,-.051),l(-.979,-.242),l(-1.34,-.207),l(-.307,-.296),l(.062,-.577),l(-.096,-.386),l(-.811,-.667),l(.081,-.247),l(.266,-.16),l(.484,-.125),l(2.31,-.11),l(2.54,-.022),l(2.125,-.128),l(1.421,-.162),l(.475,.317),l(.382,.052),l(.844,-.267),l(1.056,-.286),l(1.413,-.109),l(.589,.194),l(-.957,.338),l(-.451,.407),l(1.737,-.233),l(.521,-.107),l(.955,-.374),l(.27,-.284),l(-.334,-.444),l(-.326,-.177),l(-.925,-.266),l(-.365,-.303),l(-.002,-.232),l(.324,-.539),l(1.176,-.397),l(.966,-.22),l(3.028,-.903),l(.889,-.094),l(.248,-.036),l(.522,-.076),l(1.899,-.096),l(1.663,-.114),l(2.302,-.244),l(2.048,-.263),l(1.595,-.43),l(.855,-.243),l(1.763,.034),l(1.065,-.002),l(.383,.185),l(-.351,.409),l(1.504,.108),l(1.018,-.039),l(1.261,-.188),l(1.345,-.225),l(.95,-.039),l(.982,.166),l(.687,.073),l(.693,-.206),l(.12,-.335),l(-.133,-.167),l(.466,-.337),l(.942,-.077),l(.939,.036),l(1.243,-.377),l(-.618,-.506),l(.122,-.34),l(1.165,-.438),l(1.554,-.383),l(2.23,-.406),l(1.229,-.077),l(.993,.056),l(1.486,-.003),l(.86,.265),l(.045,.266),l(-1.528,.401),l(-.66,.342),l(.488,.15),l(1.83,-.117),l(1.588,.148),l(2.039,-.079),l(.177,.113),l(-.375,.283),l(-1.187,.453),l(-.296,.3),l(1.971,-.004),l(.833,-.02),l(.234,.093),l(1.052,-.545),l(1.366,-.002),l(1.771,-.097),l(.631,.13),l(1.35,-.021),l(1.954,.165),l(1.4,.259),l(1.181,.427),l(.52,.445),l(.726,-.001),l(.854,-.076),l(.422,.5),l(-1.354,.832),l(.241,.128),l(.896,.365),l(-2.329,.859),l(-1.035,.235),l(-1.166,.11),l(-3.404,1.061),l(-3.018,.965),l(-.793,.285),l(-2.388,.375),l(-2.35,.586),l(-2.065,1.126),l(.715,.017),l(1.081,-.247),l(.922,-.458),l(1.663,-.161),l(1.231,-.02),l(2.101,-.268),l(1.879,-.286),l(.879,-.107),l(1.004,-.284),l(-.094,-.389),l(-.492,-.123),l(-.034,-.071),l(.281,-.249),l(.581,-.214),l(.873,.211),l(.603,.389),l(.621,.052),l(.593,.193),l(.737,.052),l(.853,-.055),l(1.155,-.268),l(.499,.07),l(.192,.3),l(.009,.512),l(.522,.404),l(1.422,-.778),l(1.66,-.021),l(1.506,-.145),l(2.354,.014),l(1.919,.155),l(.854,.034),l(1.204,.033),l(-.271,.74),l(.354,.333),l(2.043,.154),l(.848,.121),l(.698,.069),l(1.035,.103),l(2.49,-.145),l(1.209,-.02),l(1.42,.348),l(1.405,-.932),l(-.161,-.352),l(-.038,-.229),l(-.034,-.105),l(1.806,-.48),l(.521,-.019),l(.802,.104),l(1.148,.298),l(.851,.281),l(1.711,.032),l(1.354,-.073),l(1.384,.033),l(1.323,.431),l(.409,.181),l(.058,.386),l(-.52,.088),l(-.268,.036),l(-1.905,.406),l(-2.438,.737),l(-.233,.227),l(.253,.069),l(1.033,.067),l(.957,.016),l(.659,.155),l(.659,.293),l(1.014,.396),l(.583,.172),l(.78,.481),l(1.27,.805),l(1.814,.801),l(1.351,.305),l(.612,-.018),l(.795,-.394),l(.843,-.72),l(1.093,-1.051),l(.601,-.329),l(.29,.017),l(.236,.465),l(.772,.308),l(1.346,.29),l(1.105,.135),l(.848,-.087),l(1.973,-.468),l(.778,-.07),l(.813,.067),l(1.196,.239),l(1.921,.734),l(.315,-.052),l(.186,-.069),l(.491,-.258),l(.221,-.258),l(-.137,-.051),l(.013,-.189),l(.726,-.312),l(.509,-.018),l(.5,.257),l(.575,.188),l(1.302,.032),l(.181,-.5),l(-.194,-.466),l(.15,-.363),l(.093,-.521),l(-1.131,.159),l(-.643,.001),l(-.179,-.104),l(.442,-.296),l(.318,-.087),l(.986,-.089),l(1.021,-.02),l(.832,-.141),l(1.566,-.648),l(.254,0),l(1.76,.241),l(1.561,.137),l(2.036,.188),l(.997,.068),l(.654,.103),l(2.307,.065),l(-1.732,.628),l(.865,.051),l(1.011,-.089),l(.335,.138),l(-.305,.381),l(-.926,.192),l(-.846,.261),l(-.177,.293),l(.664,.033),l(.52,-.122),l(.916,-.14),l(.978,-.33),l(1.62,-.799),l(2.766,.012),l(1.196,.067),l(.903,.172),l(.946,.137),l(.205,.19),l(.221,.104),l(-2.247,.59),l(.559,.137),l(1.674,.289),l(2.174,.202),l(.946,.204),l(.801,.375),l(.367,.427),l(.564,.357),l(.522,.152),l(1.459,-.037),l(1.364,-.105),l(1.138,-.139),l(2.518,-.329),l(2.208,-.107),l(3.008,.131),l(1.515,.134),l(.734,.118),l(1.168,.424),l(.655,.169),l(.525,.338),l(.361,.39),l(-.123,.491),l(-.286,.521),l(.509,.25),l(.764,.065),l(.835,.015),l(.643,.083),l(-.017,.685),l(.419,.416),l(.686,-.168),l(.545,-.435),l(1.211,-.387),l(.348,-.067),l(.35,.049),l(1.696,-.02),l(1.521,-.288),l(.736,.032),l(.588,.434),l(.707,.116),l(1.541,.014),l(2.176,.062),l(.869,-.118),l(1.378,-.504),l(.406,.2),l(.93,.533),l(.396,.216),l(1.095,.265),l(.875,.332),l(.282,.398),l(.612,.148),l(1.556,-.136),l(1.653,-.319),l(.16,-.25),l(-.248,-.333),l(-.805,-.833),l(-.833,-.115),l(.4,-.336),l(.479,-.571),l(1.89,.098),l(1.214,.082),l(1.135,.065),l(1.221,.166),l(.222,.318),l(1.396,-.153),l(2.084,-.054),l(2.304,.013),l(1.292,.148),l(.786,.199),l(1.185,.199),l(1.391,.098),l(.751,.182),l(1.302,.332),l(.747,.065),l(.703,.182),l(1.145,.505),l(0,2.126),l(0,2.222),l(0,2.222),l(0,1.292),l(0,.157),l(0,.576),l(0,.219),l(-1.083,.371),l(-.651,.03),l(-.645,.37),l(-.56,.065),l(-1.044,.065),l(-.355,-.079),l(-.928,-.052),l(-.118,-.343),l(-.271,-.211),l(-.501,.027),l(.241,-.185),l(-.938,.324),l(-.846,.02),l(-.337,-.211),l(-.478,-.079),l(.424,.501),l(-.569,.29),l(.32,.103),l(.942,.205),l(.634,-.36),l(.395,.041),l(.335,.079),l(0,.477),l(.248,.206),l(.76,.269),l(1.059,-.228),l(-.439,.322),l(.741,-.243),l(.065,.336),l(.247,.206),l(.187,.363),l(.068,.189),l(-.722,.522),l(.593,-.064),l(.349,.172),l(.473,.503),l(.501,.157),l(.145,.251),l(-.162,.456),l(.792,-.111),l(-.125,.393),l(.023,.25),l(-.43,.299),l(-.691,.205),l(-.635,-.046),l(-.448,-.14),l(-1.243,-.154),l(-.889,-.077),l(-.347,-.14),l(.123,-.267),l(-.493,-.046),l(-.304,.032),l(-.559,.55),l(-.069,.11),l(-3.06,.913),l(-1.155,.174),l(-.245,0),l(-.43,.203),l(-.219,.188),l(-.719,.22),l(-.991,.033),l(-.308,.11),l(-.48,.405),l(-.462,.203),l(-.946,.033),l(-.854,.622),l(-.24,.279),l(-1.67,.452),l(-.392,.449),l(-1.229,.25),l(-.406,.14),l(-.151,.293),l(.01,.292),l(-.473,.292),l(-.406,.016),l(-.586,-.306),l(-.183,-.262),l(-.169,-.37),l(-.67,-.308),l(-1.074,-.044),l(-1.021,.048),l(-1.159,.172),l(-1.301,.188),l(-.523,.217),l(-1.333,.756),l(-.536,.277),l(-.184,-.138),l(.575,-1.293),l(-.55,.094),l(-.392,-.097),l(-.811,.531),l(-.67,.186),l(-.401,.155),l(-.114,.506),l(-.66,.154),l(-.317,-.168),l(-.253,-.49),l(-.483,-.261),l(-1.024,.636),l(.261,-.204),l(-.557,.062),l(-.283,.092),l(-.628,.522),l(-.141,.261),l(.126,.229),l(.344,.152),l(-.932,.521),l(-.182,.199),l(.342,.167),l(-.647,.352),l(-.88,.55),l(-.626,.503),l(-.298,.35),l(-.01,.531),l(.421,.317),l(.477,.09),l(1.382,-.048),l(.562,.166),l(.11,.167),l(-.436,.394),l(-.752,.455),l(-.181,.302),l(.224,.512),l(.292,.452),l(.786,.089),l(.165,.391),l(-.014,.616),l(-.349,.361),l(-.528,.061),l(-.481,-.209),l(-.017,-.21),l(.388,-.527),l(-.444,-.014),l(-.454,.242),l(-1.014,.843),l(-.56,.675),l(-.237,.599),l(.321,.672),l(.647,.311),l(.154,.237),l(-.294,.387),l(-.688,.313),l(-.956,.031),l(-.664,-.088),l(-.344,.001),l(-.619,.179),l(-.837,.476),l(-.214,.149),l(-.525,.504),l(-.137,.341),l(.111,.281),l(.492,.398),l(.038,.221),l(-.056,.133),l(-.679,.238),l(-.604,.016),L(753.44,82.4),l(-.727,.296),l(-.065,.251),l(.067,.28),l(-.161,.854),l(-.293,.412),l(-.8,.78),l(-1.53,.971),l(-.854,.5),l(-.285,.103),l(-.295,-.614),l(-.198,-.821),l(-.25,-.69),l(-.064,-.794),l(-.351,-.75),l(-.305,-.383),l(-.214,-.915),l(-.514,-1.36),l(-.008,-.578),l(-.154,-.563),l(-.017,-.327),l(-.105,-.193),l(-.262,-.817),l(-.026,-.792),l(.116,-.808),l(.271,-1.396),l(.167,-.226),l(1.185,-.86),l(.716,-.424),l(.57,-.695),l(.14,-.227),l(-.085,-.318),l(-.139,-.166),l(1.632,-.367),l(1.001,-.305),l(.811,-.32),l(1.729,-.884),l(.641,-.412),l(.431,-.428),l(.14,-.335),l(1.784,-.889),l(.872,-.445),l(1.535,-.861),l(.368,-.293),l(.26,-.433),l(1.252,-.435),l(2.106,-.514),l(.257,-.434),l(.773,-.528),l(.086,-.233),l(-.568,-.216),l(.814,-.904),l(-.036,-.483),l(.183,-.391),l(.598,-.204),l(1.729,-.082),l(.513,-.063),l(-.485,-.328),l(-2.065,-.215),l(-.71,.095),l(-1.062,.174),l(-.777,.189),l(.042,.328),l(-.664,.923),l(.125,.202),l(-.04,.14),l(-.662,.11),l(-.479,.11),l(-1.555,.718),l(-1.979,1.042),l(-1.169,.342),l(-.249,-.062),l(.156,-.325),l(.352,-.465),l(-.933,-.076),l(-.16,-.263),l(.252,-.451),l(.442,-.467),l(.207,-.328),l(-.069,-.202),l(-.339,-.031),l(-1.136,.454),l(-.496,.032),l(-.277,-.358),l(-.589,-.17),l(-1.606,.144),l(-1.312,.111),l(-.956,.08),l(-.606,.157),l(-.894,.359),l(-.093,.436),l(.082,.186),l(-1.262,.53),l(-.408,.233),l(.149,.495),l(-1.294,.357),l(-1.019,.434),l(-.84,.479),l(-.496,.461),l(-.332,.46),l(.004,.383),l(.527,.213),l(1.269,.043),l(.278,.275),l(.062,.122),l(-1.152,.139),l(-1.028,.262),l(-1.045,-.059),l(-.698,-.136),l(-.382,.031),l(-.311,.107),l(-.721,.398),l(-.695,-.35),l(-1.112,.383),l(-.747,.139),l(-.487,-.09),l(-.284,-.137),l(.108,-.29),l(.748,-.124),l(.868,-.124),l(.164,-.046),l(-.741,-.64),L(736.444,68),l(-1.06,.017),l(-.854,.155),l(-.353,-.061),l(-.868,-.458),l(-.775,-.029),l(-.745,.047),l(-.704,.246),l(.042,.398),l(-.26,.229),l(-.477,.215),l(-.695,-.243),l(-.408,-.122),l(-1.26,.063),l(-.784,.093),l(-.651,-.075),l(-.887,-.136),l(-.563,.078),l(-.067,.122),l(-.147,.474),l(-.677,.017),l(-.311,-.137),l(-.038,-.382),l(-.203,-.259),l(-1.241,.094),l(-1.014,-.059),l(-1.257,.033),l(-1.158,.063),l(-.836,-.029),l(-.18,.016),l(-1.085,.292),l(-.964,.444),l(-.74,.474),l(-.536,.504),l(-.789,.245),l(-.904,.336),l(-.194,.152),l(-1.047,1.17),l(-1.634,.684),l(-.949,.471),l(-1.157,.711),l(-1.653,1.253),l(-.828,.572),l(-1.573,.873),l(-.893,.376),l(-1.889,.871),l(-.632,.388),l(-.203,.298),l(.018,.357),l(.428,.281),l(.485,.043),l(.918,.013),l(1.046,-.15),l(.656,.043),l(-.329,1.261),l(.016,.415),l(.303,.103),l(.63,-.09),l(.601,-.371),l(.761,.117),l(-.127,.148),L(705.293,81),l(-.112,.222),l(.373,.073),l(1.645,-.018),l(.566,-.238),l(.39,-.519),l(.017,-.638),l(.763,.014),l(.647,-.001),l(.726,.014),l(.951,.265),l(.658,.354),l(.486,.591),l(.847,.575),l(.426,.176),l(.506,.324),l(-.07,.148),l(-.581,.355),l(.453,.221),l(.13,.309),l(-.336,.723),l(.491,.117),l(.215,.235),l(-.291,.515),l(-.348,.397),l(-.532,.559),l(-.724,1.364),l(-.181,.688),l(.057,.219),l(.24,.701),l(-.188,.917),l(-.098,.741),l(-.403,1.408),l(-.146,.493),l(-1.928,1.538),l(-.371,.435),l(-.217,.65),l(-.587,.42),l(-.741,.579),l(-.241,.361),l(-.574,.981),l(-.587,.606),l(-.941,.778),l(-1.784,1.512),l(-.464,.474),l(-.235,.458),l(-.323,.33),l(-.758,.388),l(-.618,.416),l(-.574,.702),l(-.431,.458),l(-.875,.673),l(-.955,.487),l(-1.838,.475),l(-.798,.244),l(-.278,-.427),l(-.519,-.085),l(-.243,.043),l(-.337,-.185),l(-.337,-.513),l(-.663,.272),l(-.464,.101),l(.424,-.586),l(-.624,.173),l(-.506,.486),l(-.649,.543),l(-1.326,1.001),l(-.072,.049),l(-.167,-.393),l(-.298,-.439),l(.111,-.058),l(1.252,-.462),l(.511,-.43),l(.156,-.329),l(-.112,-.299),l(.097,-.128),l(.025,-.385),l(.006,-.613),l(-.062,-.656),l(-.332,-.897),l(.048,-.557),l(1.664,-.982),l(.396,.041),l(.685,.24),l(.679,.225),l(.547,.098),l(.47,-.347),l(.551,-.69),l(.329,-.432),l(.627,-1.08),l(.538,-1.066),l(.278,-.893),l(.291,-.707),l(.66,-.393),l(.566,-.407),l(-.017,-.504),l(-.116,-.389),l(-.064,-.259),l(-.246,-.114),l(-.902,.034),l(-1.181,.208),l(-1.357,.31),l(-.953,.308),l(-.604,.22),l(-1.657,.052),l(-.649,.018),l(-.68,.033),l(-.261,-.446),l(-.44,-1.283),l(-.297,-.866),l(-.205,-.144),l(-2.659,-.839),l(-1.523,-.253),l(-1.247,-.341),l(-.507,-.2),l(-.436,-.389),l(-.927,-1.903),l(-.94,-1.588),l(-1.087,-2.384),l(-.742,-.952),l(-.763,-.467),l(-.539,-.026),l(-1.386,.125),l(-.683,-.188),l(-1.037,-.481),l(-1.148,-.215),l(-.917,.049),l(-1.203,.109),l(-.836,.123),l(-1.854,.143),l(-.602,.136),l(-.478,.165),l(-1.193,.787),l(-.375,.282),l(-.119,.25),l(.822,-.078),l(.558,.026),l(.465,.306),l(.107,.249),l(-.167,.794),l(-1.371,.608),l(-.599,.545),l(-.667,.779),l(-.416,.543),l(-.422,.426),l(-.103,.249),l(.062,.146),l(.35,.348),l(.056,.306),l(-.123,.233),l(-.779,.339),l(-2.44,.752),l(-.438,.089),l(-.343,.016),l(-1.126,-.574),l(-.452,-.172),l(-.046,-.018),l(-.431,-.168),l(-.622,.018),l(-1.228,.297),l(-.86,-.169),l(-.34,-.129),l(-.751,-.506),l(-.74,-.156),l(-.609,.047),l(-.333,.002),l(-1.165,.487),l(-.755,.498),l(-.447,.394),l(-.604,.264),l(-.526,.163),l(-1.147,.136),l(-.867,.106),l(-.532,.075),l(-1.018,.063),l(-1.602,.11),l(-.739,-.039),l(-.984,-.082),l(-.905,-.241),l(-1.318,-.254),l(-.812,-.373),l(-1.132,-.313),l(-.623,-.331),l(-1.333,-.75),l(-.769,-.229),l(-1.423,-.022),l(-1.172,-.037),l(-.796,.077),l(-2.48,.538),l(-.673,-.113),l(-1.643,-.531),l(-.421,-.333),l(-.408,-.451),l(-.182,-.481),l(-.004,-.541),l(-.145,-.204),l(-.767,-.143),l(-.989,-.317),l(-.702,-.231),l(-1.748,-.328),l(-1.036,-.185),l(-1.028,-.098),l(-.84,-.201),l(-1.269,.96),l(-.905,.839),l(-.098,.293),l(.409,.86),l(.396,.304),l(.116,.204),l(-.163,.526),l(-.744,.572),l(-.31,.162),l(-.755,.28),l(-.562,.018),l(-.576,-.186),l(-.312,-.114),l(-.875,-.068),l(-.85,.004),l(-.719,-.083),l(-1.458,.008),l(-.699,-.113),l(-.393,-.406),l(-.694,-.755),l(-.831,-.083),l(-1.842,-.122),l(-.932,-.156),l(-.953,-.097),l(-.84,.18),l(-1.512,.476),l(-1.143,.341),l(-.787,.398),l(-.971,.692),l(-.017,.012),l(-.727,.381),l(-.603,.148),l(-1.387,.08),l(-.599,.207),l(-.799,.425),l(-.154,.044),l(-.244,.074),l(-.569,.003),l(-.228,.014),l(-.064,-.145),l(-.589,0),l(-.294,-.478),l(-.441,-.331),l(.073,-.331),l(-.625,.184),l(-.478,.368),l(-.993,-.074),l(-.882,-.073),l(-.662,-.699),l(-.588,-.552),l(-.956,-.147),l(-.331,-.625),l(-.772,-.588),l(-.698,-.441),l(-.993,.037),l(-.771,.221),l(-.993,.221),l(-.992,0),l(-.589,0),l(-.184,-.184),l(-.258,-.257),l(-.478,0),l(0,-.368),l(-.367,-.331),l(-.92,0),l(-.367,.515),l(-.331,.257),l(-.515,.257),l(-1.104,-1.434),l(-.846,-.882),l(-1.69,-2.133),l(-1.066,-1.029),l(-1.287,-.772),l(-.809,-.294),l(-1.104,-.588),l(.11,-.368),l(.515,-.11),l(0,-.441),l(-.809,.074),l(-.515,.22),l(-.772,.221),l(-.956,.515),l(-1.103,.257),l(-.772,.441),l(-.294,.294),l(-.552,-.184),l(-.441,-.037),l(-.771,.073),l(-.441,.11),l(-.331,-.184),l(.331,-.441),l(.441,-.184),l(.146,-.294),l(-.367,0),l(-.441,.221),l(-.478,-.11),l(-.405,-.294),l(-.478,-.037),l(-.184,.147),l(-.147,.147),l(-.367,-.221),l(-.295,-.368),l(-.294,-.11),l(-.331,.221),l(-.367,-.074),l(-.368,.147),l(-.44,-.11),l(-.295,.147),l(-.478,-.074),l(-.184,-.257),l(.33,-.037),l(-.073,-.331),l(.147,-.257),l(.11,-.331),l(-.515,-.22),l(-.147,-.221),l(.037,-.331),l(-.368,-.404),l(-.882,.037),l(-.625,.11),l(-.772,-.257),l(-.515,-.11),l(-.919,-.147),l(-.735,.037),l(-.11,.221),l(-.589,.184),l(-.515,.037),l(0,.294),l(-.367,.368),l(-.625,.074),l(-1.876,.073),l(-2.021,.405),l(-1.177,.037),l(-.625,.331),l(-.221,.331),l(-.331,-.073),l(-.588,.073),l(-1.545,.11),l(-.735,.11),l(-1.029,.037),l(-1.396,.405),l(-.368,.184),l(-.772,0),l(-.515,0),L(537.304,80),l(-.33,.074),l(-.185,.515),l(.074,.441),l(.294,.221),l(-.294,.074),l(0,.331),l(1.065,.11),l(.956,.294),l(-.11,.257),l(-.515,.073),l(-1.103,-.147),l(-.698,.184),l(-.662,.515),l(.146,.257),l(.441,.478),l(-.331,.294),l(-.588,.147),l(-.735,.368),l(-.467,.067),l(.164,.274),l(.239,0),l(.377,.137),l(-.068,.171),l(.377,.137),l(.651,.069),l(.274,.308),l(1.165,.171),l(.24,.24),l(-.138,.686),l(-.137,.309),l(-1.577,.411),l(-.959,-.034),l(-.343,-.343),l(-.24,0),l(-.171,.309),l(-.651,.343),l(-.411,-.171),l(-.754,-.137),l(-.926,-.309),l(-.274,-.548),l(-.754,-.103),l(-1.062,.103),l(-.137,.412),l(-.617,.068),l(-.651,-.411),l(-.65,-.035),l(-.823,-.068),l(-.514,.377),l(-.377,.343),l(-.274,.274),l(-.686,.171),l(-.411,-.24),l(-.686,-.137),l(-.582,-.548),l(-.72,-.068),l(.034,.24),l(.205,.48),l(-.239,.274),l(-.274,-.137),l(-.068,-.583),l(-.411,-.274),l(-.789,-.343),l(-.582,-.206),l(0,-.343),l(-.96,-.171),l(-.617,.069),l(-.788,-.035),l(-.411,-.514),l(-.411,-.069),l(-.617,.24),l(-.273,.137),l(-.651,.137),l(-.309,-.274),l(-.479,0),l(-.651,-.069),l(-.515,.309),l(-.548,.343),l(-.788,.377),l(-.549,.068),l(-.514,.171),l(-.309,.309),l(-.172,.24),L(509.58,87.5),l(-.479,.206),l(.068,.445),l(.171,.411),l(-.068,.446),l(-.411,.24),l(-.651,0),l(-.514,-.411),l(-.48,-.548),l(-.514,-.24),l(-.411,.069),l(-.103,.308),l(-.343,.549),l(-.823,.137),l(-.205,1.303),l(.343,.171),l(.239,.274),l(-.239,.206),l(-.446,.274),l(-.65,1.165),l(1.37,.343),l(.138,.377),l(-.068,.309),l(.514,.514),l(.103,-.343),l(.583,.206),l(.343,-.034),l(.514,.034),l(.515,.445),l(.479,.206),l(.343,.514),l(.96,1.131),l(-.138,.103),l(-.445,-.103),l(-.309,-.103),l(-.343,.103),l(.068,.308),l(.857,.377),l(.616,.19),l(-.167,.2),l(-.399,.28),l(-.38,.12),l(-.12,0),l(0,.14),l(0,.22),l(-.14,.08),l(-.3,-.2),l(-.34,.2),l(-.399,.26),l(-.64,.12),l(-.319,.08),l(-.26,-.08),l(-.181,-.08),l(-.1,.04),l(-.06,.16),l(.12,.26),l(-.221,.2),l(-.18,.3),l(-.18,.319),l(-.319,.42),l(-.18,.28),l(-.32,.16),l(-.34,.24),l(-.14,.32),l(.08,.2),l(.34,.2),l(.319,.04),l(.18,.3),l(.24,.04),l(.239,.34),l(.28,.419),l(-.06,.38),l(-.101,.2),l(.061,.16),l(.1,-.2),l(.1,-.34),l(.12,-.22),l(.16,-.02),l(-.141,.439),l(-.22,.36),l(.061,.4),l(.12,.1),l(-.16,.2),l(-.04,.4),l(.38,.24),l(.119,.1),l(.12,.52),l(.28,.06),l(.359,.42),l(.2,.28),l(.439,.419),l(.18,.36),l(.359,.06),l(.047,.146),l(-.292,.449),l(-.496,.284),l(-.283,.094),l(-.308,.331),l(-.165,.213),l(-.379,.047),l(-.449,-.142),l(-.591,-.094),l(0,-.308),l(-.283,-.284),l(-.118,0),l(-.095,-.118),l(-.473,-.284),l(-.142,-.189),H(504.5,0),l(-.213,.047),L(504.264,107),l(-.229,.023),l(-.126,-.189),l(-.236,-.071),l(-.236,.023),l(-.284,-.047),l(-.26,-.094),l(-.284,-.166),l(-.354,-.284),l(.118,-.307),l(.118,-.189),l(-.118,-.142),l(-.354,-.024),l(-.378,0),l(-.213,-.166),l(-.189,-.118),l(-.212,0),l(-.143,-.094),l(-.236,-.118),l(-.118,0),l(-.095,.071),l(-.142,.166),l(-.188,-.142),l(-.261,-.071),l(-.354,0),l(-.213,.071),l(-.094,.095),l(-.166,.166),l(-.283,0),l(-.261,.118),l(-.212,-.071),l(-.261,-.118),l(.048,-.118),l(.142,-.118),l(-.308,-.119),l(-.236,-.118),l(-.354,-.071),l(-.52,-.118),l(-.284,-.213),l(-.095,-.142),l(-.354,-.166),l(-.283,.047),l(-.189,0),l(-.401,-.166),l(-.544,0),l(-.426,.095),l(-.307,0),l(-.355,-.047),l(-.307,-.071),l(-.261,-.095),l(-.212,-.166),l(-.213,0),l(-.331,0),l(-.189,-.047),l(-.188,-.094),l(-.284,-.142),l(-.283,-.095),l(-.449,-.023),l(-.402,-.023),l(-.07,-.047),l(-.284,-.047),l(-.26,.166),l(-.112,.309),l(-1.421,-1.012),l(-1.188,-.842),l(-.817,-.385),l(-.62,-.084),l(-.373,-.157),l(-.509,-.5),l(-.236,-.057),l(-.338,.159),l(-.329,-.042),l(-.347,-.515),l(-.795,-.674),l(.595,-.188),l(.519,-.001),l(.445,-.073),l(.1,-.519),l(.359,-.476),L(485,97.85),l(.526,-.03),l(.516,-.131),l(-.432,-.532),l(-.654,-.273),l(-.474,-.36),l(.243,-.116),l(.367,-.03),l(.82,-.117),l(.715,-.348),l(1.244,-.436),l(-.196,-.375),l(-.076,-.058),l(-.799,.088),l(-1.312,.175),l(.012,-.126),l(.021,-.112),l(0,-.224),l(.09,-.514),l(.224,-.089),l(.357,-.022),l(.38,-.134),l(.223,-.179),l(.022,-.179),l(.269,0),l(.736,-.045),l(.805,.157),l(.335,-.134),l(0,-.156),l(.156,-.291),l(.156,-.491),l(-.066,-.067),l(-.09,-.201),l(-.045,-.179),l(-.044,-.134),l(-.179,-.067),l(-.156,-.067),l(.044,-.224),l(.045,-.179),l(.246,0),l(.312,0),l(.134,-.156),l(-.29,-.044),l(-.269,-.089),l(-.223,-.246),l(.312,-.044),l(.357,-.201),l(.156,-.067),l(.201,-.089),l(.045,-.224),l(-.09,-.179),l(-.111,-.089),l(.022,-.179),l(.089,-.111),l(-.156,-.089),l(-.201,.089),l(-.134,.044),l(-.269,0),l(-.357,-.156),l(-.111,-.224),l(-.469,-.022),l(-.291,-.089),l(-.201,-.179),l(-.357,.067),l(-.268,-.112),l(-.469,-.112),l(-.425,-.067),l(-.29,-.268),l(-.224,.067),l(-.045,.157),l(-.29,.134),l(-.224,-.112),l(-.179,-.179),l(-.402,-.044),l(-.022,-.134),l(-.201,-.179),l(0,-.134),l(-.268,-.179),l(-.111,-.156),l(-.357,.067),l(-.536,.134),l(-.269,0),l(-.312,.112),l(-.425,.112),l(-.179,-.156),l(-.179,-.022),l(-.201,.067),l(-.469,-.291),l(-.268,-.067),l(-.47,.067),l(-.268,.179),l(-.291,-.29),l(-.179,-.089),l(-.089,-.224),l(.089,-.179),l(-.089,-.246),l(-.224,-.268),l(0,-.357),l(-.402,0),l(0,-.312),l(-.38,-.022),l(-.514,.067),l(-.156,-.112),l(-.647,0),l(-.269,-.29),l(-.111,-.357),l(-.134,-.291),l(.312,-.134),l(.312,.022),l(0,-.268),l(-.312,-.156),l(-.246,-.156),l(-.134,-.201),l(-.246,-.335),l(-.312,-.134),l(-.201,-.268),l(-.514,.134),l(-.692,-.112),l(-.67,.223),l(-.536,.022),l(-.536,-.246),l(-.134,.268),l(-.179,.291),l(-.313,.156),l(-.469,-.022),l(-.357,-.089),M(527.156,37.071),l(-.59,-.14),l(-.955,-.21),l(-1.128,-.139),l(-.739,.054),l(-.959,.037),l(-.732,.143),l(-.411,-.105),l(-1.025,-.476),l(.737,-.303),l(1.21,-.429),l(.654,-.09),l(1.549,-.002),l(.135,-.357),l(-.728,-.338),l(.351,-.269),l(.419,-.144),l(.676,-.02),l(.852,-.181),l(-.25,-.161),l(-.526,-.233),l(1.539,-.895),l(.513,-.129),l(.226,.073),l(.892,.017),l(.981,-.535),l(.863,-.333),l(1.02,-.261),l(.975,-.15),l(1.305,-.113),l(1.274,.053),l(.738,-.15),l(.786,-.615),l(.273,.018),l(.873,-.132),l(1.722,.276),l(.471,-.038),l(1.93,-.321),l(.958,-.039),l(2.184,-.247),l(1.864,-.116),l(.771,-.564),l(.376,-.152),l(2.511,-.137),l(1.965,-.079),l(.471,.131),l(.442,.225),l(.154,.357),l(-.812,.47),l(-.541,.169),l(-1.346,.319),l(-2.609,.433),l(-4.329,.49),l(-2.187,.281),l(-2.122,.299),l(-1.842,.316),l(-2.102,.242),l(-.941,.203),l(-.288,.274),l(.644,.216),l(-.422,.217),l(-.943,.361),l(-.527,.037),l(-2.047,-.068),l(-.432,.18),l(-.119,.233),l(.621,.249),l(-.331,.233),l(-1.206,.448),l(-.402,-.142),l(-.752,-.087),l(-.592,.304),l(.877,.283),l(.052,.319),l(-1.094,.657),l(-.822,.284),M(517.491,38.443),l(1.041,-.37),l(.512,-.299),l(.428,-.212),l(1.426,-.021),l(1.316,-.249),l(.987,-.02),l(1.412,-.091),l(.551,.069),l(.988,.227),l(-.063,.176),l(-.463,.528),l(-.302,.158),l(-.697,.071),l(-.443,.228),l(-.233,.385),l(.006,.818),l(.445,1.039),l(.957,.826),l(.505,.308),l(.775,.307),l(1.162,.392),l(-.028,.282),l(-2.62,-.089),l(-.844,.053),l(-.917,.326),l(-.596,.086),l(-.676,-.494),l(-.382,-.034),l(-1.091,.088),l(-.673,-.102),l(-.031,-.359),l(1.347,-.362),l(.073,-.24),l(-.102,-.017),l(-.944,-.273),l(-1.442,-.411),l(-1.519,-.17),l(-.33,.156),l(-.624,.122),l(-.681,-.033),l(-.625,-.396),l(-.114,-.415),l(.229,-.312),l(.39,-.209),l(.344,-.036),l(.318,.104),l(.65,.016),l(.518,-.192),l(1.121,-.768),l(.243,-.35),l(-.322,0),l(-.981,-.243),M(.125,56.089),l(0,-.562),l(0,-.576),l(0,-.157),l(0,-1.292),V(0,51.28),l(0,-2.222),l(0,-2.12),l(2.917,.61),l(1.693,.598),l(.933,.181),l(3.819,.99),l(1.059,.395),l(.204,.149),l(.074,.214),l(.445,.429),l(.406,.789),l(-.209,.428),l(1.034,.8),l(.982,.26),l(-.02,-.18),l(.297,-.148),l(-.051,-.196),l(-.638,-.392),l(.016,-.542),l(.077,-.296),l(1.026,-.183),l(.984,.278),l(.573,.098),l(.767,.064),l(1.003,-.117),l(.933,.13),l(.93,.425),l(.694,.359),l(1.676,.684),l(.32,.081),l(.584,.179),l(.43,.211),l(.09,.13),l(-.343,.033),l(-1.026,-.096),l(-.364,.034),l(-.808,.798),l(-1.539,-.468),l(.138,.178),l(.438,.227),l(.465,.324),l(-1.177,-.111),l(-1.008,.05),l(-1.202,-.387),l(-.708,-.096),l(.135,.129),l(.289,.259),l(.084,0),l(.561,.259),l(.205,.307),l(.131,.453),l(-.056,.339),l(-.814,.05),l(-.805,.065),l(-.189,.161),l(.5,.865),l(-.115,.272),l(-1.04,-.078),l(-.397,.081),l(-1.193,-.174),l(-.264,-.352),l(-1.795,-.51),l(-.253,.273),L(9.85,55.79),l(-.276,-.161),l(-.265,-.403),l(.174,-.178),l(-.321,-.42),l(-.87,-.339),l(-.565,-.063),l(-.762,.034),l(-.858,.229),l(-1.343,.084),L(3.57,54.443),l(.059,-.325),l(-.155,-.325),l(-.618,-.487),L(1.958,53.43),l(-.45,.409),l(-.655,1.228),l(-.166,.715),l(-.562,.307),
-N(449.401,22.792),l(-1.596,-.014),l(-2.019,-.016),l(-1.739,.063),l(-.764,.061),l(-1.972,-.316),l(.812,-.456),l(.826,-.172),l(.735,-.453),l(1.148,-.588),l(1.354,.691),l(.998,.105),l(1.116,-.088),l(.9,.084),l(.704,.341),l(.865,-.323),l(.53,-.454),l(.868,-.306),l(-.311,.823),l(.086,.32),l(.851,-.001),l(.991,-.495),l(1.061,-.261),l(.803,.128),l(.559,.472),l(.705,.041),l(2.007,-.111),l(1.543,.189),l(.551,.376),l(-.507,.201),l(-2.004,.622),l(-1.623,.38),l(-1.069,.062),l(-.976,.14),l(-1.324,.366),l(-6.271,-.097),l(-.033,-.377),l(1.492,-.26),l(.702,-.677),M(430.027,22.752),l(.068,.697),l(.252,.119),l(1.694,.155),l(.221,-.377),l(.13,-.418),l(.573,-.141),l(.523,-.041),l(.949,.477),l(1.192,.771),l(.798,.235),l(.568,-.218),l(-.222,-.296),l(-.46,-.356),l(-.327,-.477),l(-.04,-.22),l(.91,-.407),l(1.001,.103),l(.485,.18),l(1.278,.018),l(.586,.179),l(-.08,.419),l(-.169,.298),l(.104,.159),l(.549,.118),l(.743,-.338),l(.44,-.1),l(.662,.396),l(.678,.335),l(.785,.156),l(.948,.117),l(1.672,.429),l(.498,.234),l(-1.305,.277),l(-1.981,.218),l(-.696,.293),l(-.731,1.144),l(-.885,.885),l(-1.243,.117),l(-.766,.535),l(-.455,.589),l(-.029,.378),l(-.786,.209),l(-.556,-.018),l(-1.593,-.355),l(-1.883,-.507),l(-1.365,-.568),l(.651,-.364),l(1.565,-.041),l(1.788,-.137),l(.944,-.386),l(-.652,-.249),l(-1.822,.139),l(-1.566,.118),l(-1.694,.042),l(-.502,-.519),l(.959,-.06),l(1.371,-.215),l(2.149,-.314),l(1.547,-.45),l(-2.525,-.405),l(-.881,-.292),l(-.589,.138),l(-1.036,.646),l(-1.069,.293),l(-.562,.059),l(-1.236,-.172),l(-.338,-.174),l(-1.05,-.368),l(-.807,-.233),l(-.698,-.41),l(1.698,-.396),l(-.817,-.571),l(-1.359,.319),l(-.467,-.078),l(-.924,-.751),l(.812,-.36),l(.516,-.021),l(1.075,-.122),l(1.017,.038),l(.577,-.061),l(1.188,-.042),M(425.42,68.82),l(-.148,-.21),l(-.629,.132),l(-.134,-.026),l(-.249,-.237),l(-.239,-.343),l(.188,-.158),l(-.143,-.291),l(-.361,.185),l(-.062,.29),l(.113,.237),l(-.147,.105),l(-.339,.316),l(-.086,.185),l(-.521,.105),l(-.533,-.131),l(-.781,.342),l(.057,.131),l(-.502,.289),l(-.498,.263),l(-1.658,.813),L(418.697,71),l(-.274,.052),l(-.271,0),l(-2.111,.209),l(-.188,-.236),l(-.33,-.131),l(-.183,.209),L(414.976,71),l(.384,-.184),l(-.935,-.236),l(-.794,-.341),l(-.574,-.052),l(-.479,-.578),l(.292,-.368),l(-.126,-.21),l(.34,.026),l(.085,.316),l(.284,-.21),l(.667,.263),l(-.244,-.197),l(.127,-.145),l(.5,-.092),l(-.479,.026),l(-.245,.105),l(-.263,-.184),l(-.111,-.132),l(.579,-.276),l(.455,-.185),l(-.482,.066),l(-.317,-.132),l(.441,-.237),l(.083,-.237),l(-.661,.475),l(-.036,-.264),l(-.265,-.171),l(.005,.211),l(.076,.171),l(-.419,.158),l(-.41,0),l(.014,-.277),l(-.15,.264),l(-.235,-.079),l(-.2,-.448),l(.658,-.449),l(.08,.436),l(.068,-.317),l(.438,.158),l(.211,-.092),l(-.166,-.106),l(.674,-.079),l(.479,-.251),l(-.611,.159),l(-.48,0),l(-.335,-.159),l(.196,-.132),l(.387,-.146),l(.196,-.471),l(-.821,-.014),l(-.546,.094),l(-.406,-.309),l(.368,-.14),l(.643,-.404),l(-.212,-.186),l(-.445,.063),l(-.399,-.062),l(-.211,-.217),l(.284,-.482),l(.619,-.265),l(-.595,-.248),l(-.225,-.374),l(.272,-.188),l(-.089,-.687),l(.106,-.094),l(.594,-.063),l(.392,-.045),l(.455,.044),l(.082,-.11),l(-.255,-.134),l(-.425,-.118),l(-.228,-.17),l(.098,-.188),l(.211,-.125),l(.575,-.064),l(.511,-.346),l(.567,.109),l(.498,-.111),l(.179,-.55),l(.835,.093),l(.668,.125),l(.571,-.252),l(-.989,-.234),l(-.266,-.314),l(.236,-.143),l(1.151,.014),l(.851,-.08),l(.538,.219),l(.06,-.473),l(.477,-.27),l(.297,-.333),l(.78,-.175),l(.438,.189),l(.138,.079),l(.5,-.476),l(.869,-.413),l(.084,-.429),l(.437,-.398),l(1.497,-.735),l(.335,-.192),l(.235,-.048),l(.481,.175),l(.335,-.001),l(.319,-.224),l(-.225,-.223),l(.141,-.128),l(.488,-.224),l(.457,-.305),l(.481,-.483),l(.245,.064),l(.676,-.017),l(-.067,-.612),l(-.471,-.112),l(.434,-.405),l(.511,-.648),l(.841,.063),l(.047,-.341),l(.096,-.228),l(.954,-.116),l(-.396,-.357),l(-.327,-.097),l(-.193,-.146),l(.164,-.245),l(.313,-.246),l(.464,.048),l(.888,-.067),l(-.543,-.522),l(.249,-.082),l(.435,-.034),l(.707,-.263),l(.592,-.067),l(.308,-.208),l(-.358,-.064),l(-.105,-.187),l(.289,-.1),l(.616,-.33),l(.557,.032),l(.351,.098),l(.434,-.264),l(.369,-.031),l(.035,-.176),l(-.421,-.321),l(.627,-.232),l(.146,-.275),l(.336,.01),l(.359,.297),l(.397,.082),l(.526,-.381),l(-.281,-.656),l(.438,.065),l(.698,-.058),l(.207,-.174),l(-.604,-.315),l(.411,-.224),l(.816,-.251),l(.093,-.257),l(.261,-.194),l(.73,-.135),l(.074,.067),l(.274,-.051),l(.102,-.067),l(.492,-.67),l(.521,.25),l(.96,-.153),l(.411,.133),l(.265,.1),l(.646,.065),l(.536,-.419),l(.747,-.84),l(.286,-.085),l(.16,.168),l(-.178,.286),l(-.182,.587),l(.791,-.454),l(.403,-.572),l(.819,-.085),l(.688,-.439),l(.437,.117),l(.665,.353),l(.567,-.643),l(.318,-.272),l(.976,.1),l(1.019,.506),l(.197,-.152),l(.479,-.595),l(.709,-.444),l(.283,-.052),l(.562,.067),l(.338,-.308),l(.469,-.291),l(.619,-.189),l(1.2,-.173),l(.984,.015),l(-1.337,.755),l(-.24,.273),l(-.107,.646),l(.42,.084),l(.691,-.579),l(1.53,-.941),l(.764,-.275),l(.028,.257),l(-.004,.905),l(.704,-.172),l(.438,-.239),l(.855,-.874),l(.959,-.104),l(.586,-.001),l(.216,.154),l(-.383,.257),l(-.335,.257),l(.074,.239),l(-.319,.41),l(.921,.118),l(.221,-.443),l(.902,-.651),l(.421,.017),l(1.682,.561),l(.667,.135),l(.935,.015),l(.649,.237),l(.1,.272),l(-1.216,.393),l(-1.148,.036),l(-2.233,-.047),l(.193,.084),l(.585,.304),l(1.058,.284),l(.383,.302),l(.728,-.052),l(.679,-.102),l(.831,.032),l(.708,.25),l(-.404,.288),l(-.514,.204),l(-.824,.021),l(-.77,.121),l(-1.023,.49),l(-1.013,.672),l(-.689,.303),l(-.001,-.2),l(.096,-.367),l(.874,-.923),l(-.044,-.268),l(-.88,-.348),l(-.672,-.114),l(-1.125,-.431),l(-.556,.003),l(-.555,.07),l(-2.004,.095),l(-.865,.374),l(-.567,.422),l(-.26,.437),l(-.079,.501),l(-.188,.5),l(-1.25,.472),l(-.582,.368),l(-.31,-.148),l(-1.288,-.492),l(-1.657,.225),l(-1.411,-.042),l(-.536,-.13),l(-.861,-.595),l(-.994,-.612),l(-.486,-.082),l(-.355,.103),l(-1.012,.656),l(-.114,-.063),l(-.41,-.031),l(-.865,.038),l(-.281,1.066),l(-.164,.449),l(-.271,.25),l(-.323,-.015),l(-.67,-.129),l(-.972,-.144),l(-1.731,-.389),l(-.168,.183),l(-.021,.663),l(-.083,.199),l(-.318,.299),l(-.695,.004),l(-.871,-.095),l(-.279,-.015),l(-.465,.167),l(-1.484,1.176),l(.05,.213),l(.171,.507),l(-.188,.345),l(-.615,.346),l(-1.325,.919),l(-.687,.442),l(-.981,.021),l(-.121,.244),l(-.06,.971),l(-.32,.598),l(-.383,.469),l(-.574,.499),l(-.495,.545),l(.339,.125),l(.381,.269),l(.252,.587),l(-.17,.176),l(-.44,.177),l(-.733,.036),l(-.932,-.027),l(-.618,.114),l(-.613,.257),l(-.617,.479),l(-.389,.492),l(-.077,.664),l(-.349,1.093),l(.65,.729),l(-.335,1.171),l(.582,.39),l(.715,.186),l(.297,.243),l(-.432,.67),l(-.941,.16),l(.571,.735),l(.26,.427),l(-.249,.346),l(-.029,.532),l(-.769,.384),l(-.414,.013),l(-.117,.423),l(-.506,.224),l(.22,.831),l(-.324,.737),l(-.41,.013),l(-.15,-.342),l(-.293,-.132),
-N(464.349,47.431),l(-.024,.283),l(-.258,.465),l(.116,.529),l(.563,.212),l(.872,.194),l(.964,.506),l(.543,.392),l(-.421,.364),l(-1.303,.777),l(-.328,.296),l(1.402,1.394),l(.772,1.195),l(-.196,.356),l(-.44,.535),l(-.187,.403),l(-.029,.37),l(.37,.509),l(1.286,1.395),l(.151,.253),l(-.057,.254),l(-.542,.415),l(-.327,.191),l(.439,.33),l(1.357,.499),l(.703,.265),l(.436,.392),l(.161,.346),l(-.105,.409),l(-.43,.536),l(-.591,.536),l(-1.385,.758),l(-1.983,1.195),l(-1.946,1.145),l(-.174,.285),l(-.935,.206),l(-1.195,.188),l(-.149,.181),l(-.506,-.217),l(-.518,.146),l(-.052,.134),l(-.688,-.07),l(-.193,-.108),l(.057,-.387),l(-.241,.527),l(-.268,.14),l(-.633,.047),l(-.328,.03),l(-.1,.267),l(-.589,-.326),l(-.29,.275),l(-.676,.064),l(-.34,.178),l(-.052,-.127),l(-.504,.108),l(-.504,.108),l(-.211,.266),l(-.311,-.152),l(-.672,.126),l(-.04,-.114),l(-.658,.215),l(-.547,.013),l(-.482,.025),l(-.487,-.253),l(-.223,-.274),l(.273,-.34),l(-.846,.017),l(-.517,.177),l(.065,-.382),l(-.446,.076),l(-.644,-.271),l(-.409,-.061),l(-.415,-.231),l(-.26,-.403),l(-.036,-.714),l(.158,-.374),l(.05,-.436),l(.09,-.234),l(-.347,-.483),l(-.431,-.375),l(.3,-.658),l(-.02,-.392),l(-.305,-.204),l(-.37,-.093),l(.062,-.299),l(.295,-.331),l(.637,-.285),l(.144,-.189),l(-.113,-.331),l(.382,-.143),l(.633,.125),l(.274,.063),l(.483,-.222),l(.303,-.427),l(.104,-.459),l(.207,-.27),l(.301,.316),l(.27,0),l(1.678,-1.114),l(1.142,-.654),l(.835,-.576),l(1.026,-.401),l(.874,.03),l(.06,-.304),l(-.13,-.144),l(-.357,-.16),l(.119,-.371),l(.146,-.387),l(-.329,-.274),l(-1.139,-.095),l(-.836,-.451),l(-.594,-.024),l(-.113,-.234),l(-.327,-.307),l(-.208,-.535),l(.5,-.8),l(-.028,-.392),l(-.405,-.685),l(-.507,-.637),l(.004,-.526),l(.062,-.413),l(-.77,-.558),l(-.508,-.229),l(-1.583,-.207),l(-1.085,-.292),l(-1.286,-.658),l(-.616,-.463),l(-.146,-.033),l(1.012,-.656),l(.355,-.103),l(.486,.082),l(.994,.612),l(.861,.595),l(.536,.13),l(1.411,.042),l(1.657,-.225),l(1.288,.492),l(.31,.148),l(.582,-.368),l(1.25,-.472),l(.188,-.5),l(.079,-.501),l(.26,-.437),l(.567,-.422),l(.865,-.374),l(2.004,-.095),l(.555,-.07),l(.556,-.003),l(1.125,.431),l(.672,.114),l(.88,.348),l(.044,.268),l(-.874,.923),l(-.096,.367),l(.001,.2),
-N(453.795,53.873),l(-.23,-.004),l(-.975,.164),l(-.447,.098),l(-.902,-.387),l(-.339,-.178),l(-.347,.114),l(-.641,.374),l(-.542,.599),l(-.309,.146),l(-.658,.018),l(-.545,.355),l(.325,.241),l(.146,.192),l(-.355,.273),l(-.907,.401),l(.317,.271),l(.385,.159),l(.33,.302),l(-.749,.367),l(-.405,.43),l(-.368,.461),l(-1.591,.669),l(-.699,.286),l(-.456,-.205),l(-.326,.08),l(-.538,.539),l(-.646,.144),l(-.663,.348),l(-.217,.284),l(-.191,.142),l(-.746,.033),l(-.221,-.031),l(.151,.535),l(-.484,.425),L(439,61.33),l(.216,.533),l(.243,.25),l(-.244,.955),l(-.498,.063),l(-.217,.204),l(.189,.757),l(-.009,.544),l(.381,.444),l(-.287,.175),l(.926,.082),l(.225,.187),l(.499,-.082),l(.652,.594),l(.428,.314),l(.86,.163),l(.198,.406),l(.32,.139),l(.014,.335),l(-.391,0),l(-.508,.323),l(-.861,.3),l(-.492,.162),l(-.521,-.012),l(-.146,-.115),l(-.805,-.115),l(-.66,-.173),l(-.634,-.069),l(-.137,.104),l(-.446,-.115),l(-.257,.3),l(.819,-.069),l(.497,.265),l(.591,.046),l(.205,.208),l(.481,.069),l(.021,-.127),l(.616,.069),l(.258,-.196),l(.297,.011),l(.481,-.104),l(.226,.081),l(.026,-.15),l(.164,0),l(.214,.15),l(-.029,.081),l(-.722,.023),l(.219,.288),l(-.792,.265),l(-.168,.288),l(-.386,.08),l(-.089,-.092),l(.042,-.161),l(-.014,-.276),l(-.258,.023),l(-.091,.46),l(-.501,.333),l(-.248,.058),l(-.36,-.069),l(-.005,.218),l(-1.418,.035),l(.156,.458),l(.513,.258),l(.066,.609),l(-.109,.33),l(-.281,.051),l(-.308,-.064),l(.038,.429),l(.29,.081),l(-.126,.268),l(.24,.228),l(-.365,.364),l(-.222,.455),l(-.041,.56),l(-.766,1.043),l(-.58,.71),l(-.165,-.062),l(-.442,-.236),l(-.614,.193),l(-1.262,-.089),l(-.106,.311),l(-.252,-.083),l(-.518,.264),l(-.295,.517),l(.356,.336),l(-.376,.374),l(-.48,-.129),l(-.173,-.037),l(-1.158,.269),l(-1.11,-.116),l(-.001,-.142),l(.19,-.078),l(-.062,-.181),l(.281,-.297),l(-.638,-.53),l(-.413,-.479),l(-.22,-.272),l(.529,-.116),l(-.082,-.312),l(.421,.077),l(.147,-.245),l(-.19,-.234),l(-.285,.013),l(-.292,-.377),l(-.527,-.221),l(-.63,-.99),l(-.286,0),l(.011,-.408),l(-.256,-.364),l(-.348,-.298),l(.221,-.484),l(.206,-.341),l(-.418,-.154),l(-.405,.102),l(-.055,-.288),l(-.412,.051),l(-.18,-1.207),l(-.225,-.131),l(.311,-.355),l(.293,.132),l(.15,.342),l(.41,-.013),l(.324,-.737),l(-.22,-.831),l(.506,-.224),l(.117,-.423),l(.414,-.013),l(.769,-.384),l(.029,-.532),l(.249,-.346),l(-.26,-.427),l(-.571,-.735),l(.941,-.16),l(.432,-.67),l(-.297,-.243),l(-.715,-.186),l(-.582,-.39),l(.335,-1.171),l(-.65,-.729),l(.349,-1.093),l(.077,-.664),l(.389,-.492),l(.617,-.479),l(.613,-.257),l(.618,-.114),l(.932,.027),l(.733,-.036),l(.44,-.177),l(.17,-.176),l(-.252,-.587),l(-.381,-.269),l(-.339,-.125),l(.495,-.545),l(.574,-.499),l(.383,-.469),l(.32,-.598),l(.06,-.971),l(.121,-.244),l(.981,-.021),l(.687,-.442),l(1.325,-.919),l(.615,-.346),l(.188,-.345),l(-.171,-.507),l(-.05,-.213),l(1.484,-1.176),l(.465,-.167),l(.279,.015),l(.871,.095),l(.695,-.004),l(.318,-.299),l(.083,-.199),l(.021,-.663),l(.168,-.183),l(1.731,.389),l(.972,.144),l(.67,.129),l(.323,.015),l(.271,-.25),l(.164,-.449),l(.281,-1.066),l(.865,-.038),l(.41,.031),l(.114,.063),l(.146,.033),l(.616,.463),l(1.286,.658),l(1.085,.292),l(1.583,.207),l(.508,.229),l(.77,.558),l(-.062,.413),l(-.004,.526),l(.507,.637),l(.405,.685),l(.028,.392),l(-.5,.8),l(.208,.535),l(.327,.307),l(.113,.234),
-N(238.107,361.753),l(.515,-.688),l(.859,0),l(1.202,-.515),l(-.171,-.858),l(-3.091,.344),l(-2.061,.515),l(-1.545,-.344),l(-.515,-.858),l(1.374,-.515),l(1.202,-.172),l(3.091,-.172),l(1.374,-.515),l(-.172,-1.03),l(.859,-.516),l(0,-1.374),l(-1.326,-1.054),l(.982,-.491),l(1.202,-.344),l(1.545,-.172),l(.858,.344),l(.858,.858),l(1.03,1.374),l(1.374,1.202),l(1.03,1.373),l(-.515,2.061),l(-1.545,.516),l(-1.545,.858),l(-3.434,.172),l(-3.435,0),M(172.686,360.379),l(3.091,-.687),l(3.262,0),l(5.495,0),l(2.919,1.202),l(-2.748,.687),l(-3.759,-.337),l(-5.169,-.35),l(-3.091,-.516),M(65.13,371.085),l(1.194,-.265),l(1.393,.133),l(.796,.464),l(-1.99,0),l(-1.393,-.332),M(277.944,379.954),l(.515,-1.202),l(2.404,-1.03),l(2.748,-.172),l(2.061,-.171),l(1.545,-.859),l(.343,-1.545),l(1.374,-.687),l(3.091,-.688),l(4.464,0),l(2.404,0),l(3.434,.688),l(.687,1.889),l(0,1.202),l(-2.061,1.201),l(-11.848,1.03),l(-11.161,.344),M(36.004,376.434),l(1.202,-.858),l(2.061,-.343),l(4.121,.515),l(4.293,1.374),l(-.887,.482),l(-2.719,.204),l(-4.293,-.515),l(-3.777,-.859),M(777.843,385.46),l(3.823,.391),l(.899,.029),l(.322,.234),l(1.202,.294),l(2.329,.088),l(2.126,-.003),l(5.218,.329),l(3.046,.348),l(1.144,-.059),l(.762,.029),l(1.411,.37),l(0,2.175),l(0,2.223),l(0,2.222),l(0,2.223),l(0,2.222),l(0,1.551),l(-.041,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.182,0),l(-.041,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.182,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),H(9.014,0),H(6.792,0),H(4.569,0),H(2.347,0),H(.125,0),l(0,-1.544),l(0,-2.222),l(0,-2.223),l(0,-2.222),l(0,-2.223),l(0,-2.223),l(3.941,.297),l(10.131,0),l(7.898,.516),l(6.868,.172),l(8.586,.858),l(6.353,.515),l(8.757,.172),l(4.808,-.172),l(6.525,-.172),l(2.404,.344),l(3.606,-.858),l(16.312,.344),l(4.638,-.013),l(1.143,-.467),l(-14.366,-.551),l(-9.616,-.688),l(-2.232,0),l(-3.091,-.172),l(-.858,-.171),l(-1.545,-.344),l(-.498,-.455),l(.155,-1.434),l(.687,-.858),l(1.889,-.688),l(-3.263,-.687),l(-2.232,-.344),l(-.953,-.503),l(1.589,-.521),l(-2.891,-.6),l(-3.074,-.208),l(-.104,-.261),l(2.857,-.312),l(2.748,0),l(6.525,.343),l(3.434,0),l(2.576,.344),l(4.636,-1.202),l(2.404,-.687),l(-2.748,-1.03),l(-3.778,-.858),l(-4.391,-.405),l(-2.649,-.625),l(-3.262,-.172),l(-2.919,0),l(-2.919,-.858),l(2.576,-.516),l(1.28,-.342),l(-1.28,-.517),l(-2.919,.516),H(52.66,0),l(-1.717,-.344),L(49.054,373),l(.343,-1.202),l(1.956,-.07),l(1.65,-.273),l(4.98,0),l(4.626,.493),l(3.272,.709),l(1.374,.172),l(4.465,-.858),l(4.089,.243),l(0,-.729),l(.066,-.597),l(-2.255,-.73),l(-2.93,-.075),l(-2.576,-.344),l(2.404,-.687),l(4.121,.171),l(1.717,-.343),l(3.091,-.516),l(3.09,-.343),l(5.667,-.688),l(4.465,-.343),l(3.949,-.516),l(4.464,-.515),l(2.748,.343),l(5.667,0),l(4.464,.258),l(4.121,-.515),l(7.898,.343),l(7.555,-.687),l(3.091,.172),l(1.545,-.688),l(1.545,.516),l(5.323,-.172),l(.121,-.87),l(1.758,-.293),l(1.433,.325),l(.586,.554),l(-.423,.813),l(2.364,.329),l(1.38,-.264),l(-.006,-.938),l(1.438,-.267),l(1.48,.267),l(.212,1.036),l(-1.009,.423),l(.521,.781),l(3.024,-.351),l(1.889,.343),l(3.434,.172),l(2.576,-.687),l(3.778,.086),l(4.868,.33),l(2.344,.013),l(1.449,.109),l(.693,-.53),l(-.611,-.285),l(-2.202,-.122),l(1.305,-.285),l(.041,-.408),l(-.367,-.245),l(-1.386,.123),l(-.693,.04),l(-.856,-.979),l(-2.178,-.337),l(-.676,-.193),l(-.182,-.665),l(4.056,.462),l(3.874,-.245),l(-1.224,-.489),l(-6.035,-.163),l(-.774,-.082),l(-.653,-.489),l(0,-.815),l(2.301,.105),l(.839,.67),l(5.301,-.204),l(7.253,.736),l(2.404,-.172),l(3.262,-.172),l(4.464,.172),l(3.263,.172),l(2.061,-.516),l(.687,-.687),l(1.202,0),l(.344,1.03),l(2.576,.343),l(2.404,-.343),l(.858,.515),l(3.435,.688),l(3.777,.343),l(2.061,.172),l(1.03,-.515),l(.687,-1.202),l(2.747,-.172),l(1.03,.515),l(1.717,.688),l(3.091,-.172),l(3.434,.258),l(4.121,-.344),l(4.979,-.516),l(5.495,-.858),l(3.091,-.515),l(1.202,-.688),l(0,-1.373),l(-1.374,-1.202),l(-.859,-1.545),l(-1.202,-.688),l(-.344,-1.03),l(1.202,-1.03),l(1.717,-.343),l(.858,-1.202),l(-.343,-.858),l(-.172,-1.03),l(-1.202,-.516),l(.344,-1.545),l(1.889,-.172),l(2.404,-1.374),l(1.545,-.515),l(.859,-.859),l(1.03,-.687),l(2.919,-1.202),l(3.606,-.515),l(2.404,-1.202),l(2.404,-.172),l(2.232,-1.03),l(1.545,-.343),l(.343,1.03),l(-1.374,.515),l(-1.03,.344),l(-1.202,.515),l(-.858,0),l(-1.202,0),l(-2.919,1.202),l(-1.03,.687),l(-1.717,1.374),l(-.172,1.202),l(-.687,.687),l(-1.374,-.344),l(-1.03,0),l(-1.202,.516),l(-1.202,.687),l(-1.03,.688),l(-.687,1.201),l(.515,.688),l(.687,.687),l(1.374,.344),l(1.545,0),l(.858,.515),l(.687,1.202),l(1.545,1.546),l(.687,.858),l(1.03,.687),l(.687,1.374),l(.858,1.373),l(.344,1.546),l(-.344,.858),l(-.858,1.717),l(-2.919,1.889),l(-1.202,.172),l(-1.03,.858),l(-1.717,1.03),l(-3.263,.344),l(-4.979,.858),l(-2.404,.344),l(-2.919,.687),l(-7.377,-.141),l(-4.556,-.316),l(-.773,-.401),l(-1.717,-.344),l(-1.717,-.343),l(-1.374,0),l(-.859,.515),l(.515,.858),l(2.061,.688),l(4.121,1.202),l(4.995,.04),l(1.202,.759),l(-3.278,.574),l(-5.667,-.343),l(-4.979,-.516),l(-3.097,-.285),l(-2.151,.253),l(.823,.696),l(1.164,.538),l(3.262,.172),l(2.232,0),l(1.374,.343),l(-.249,.402),l(-.782,.113),l(-2.232,.515),l(-5.151,-.171),l(-1.374,-.172),l(-2.232,-1.202),l(-2.404,0),l(.128,.917),l(2.62,1.144),l(1.03,.172),l(1.202,-.172),l(1.374,.344),l(2.404,0),l(4.98,-.516),l(3.09,.687),l(.385,.431),l(-.041,.6),l(-2.061,.172),l(-3.263,.172),l(-2.608,-.185),l(3.811,.871),l(3.656,-.238),l(1.324,.41),l(2.576,.687),l(6.869,.859),l(8.585,.858),l(10.646,1.373),l(6.525,.516),l(2.061,.858),l(.687,1.03),l(3.091,-.344),l(5.323,-1.545),l(6.525,-.687),l(2.455,-.066),l(6.474,-.105),l(9.788,-.344),l(1.889,.344),l(2.576,-1.202),l(8.414,-1.03),l(11.333,-.172),l(8.929,-.858),l(1.202,-.858),l(-1.202,-.516),l(-.271,-1.07),l(-1.184,-.338),l(-5.071,.035),l(-2.232,.172),l(-4.808,-.344),l(-3.091,0),l(0,-1.202),l(3.263,-1.545),l(3.949,-1.202),l(2.404,-.172),l(4.121,-1.03),l(9.444,-1.202),l(5.323,-.858),l(6.525,0),l(4.979,-.516),l(2.747,-2.061),l(6.039,-1.541),l(-1.23,-.52),l(-2.576,.516),l(-2.061,-.344),l(1.545,-1.03),l(1.545,-.343),l(2.48,-.249),l(.696,-.742),l(3.85,-.742),l(1.577,-.418),l(.603,-.557),l(-1.716,-.881),l(-.093,-.604),l(1.252,-.231),l(.464,.742),l(1.017,-.097),l(2.061,-.858),l(1.03,-.343),l(.858,.171),l(1.203,1.544),l(2.403,-.342),l(.242,-.91),l(.96,-.807),l(1.889,-.516),l(1.374,.516),l(-1.162,.574),l(-.139,.604),l(3.189,-.319),l(4.808,.258),l(3.263,-.172),l(1.03,.858),l(1.545,-.344),l(1.717,-.515),l(5.839,-.858),l(7.212,-1.03),l(4.292,-.858),l(2.061,0),l(2.061,1.373),l(1.718,.344),l(1.889,-.344),l(1.545,-.858),l(7.556,-.344),l(3.434,-.171),l(4.293,.171),l(6.697,.945),l(2.575,0),l(4.293,-.516),l(6.01,-.687),l(5.151,-.688),l(2.404,-.515),l(2.231,-.344),l(.615,-.959),l(1.148,-.835),l(1.671,-.095),l(.938,.965),l(1.294,.409),l(1.732,1.052),l(1.009,.139),l(1.009,-.661),l(1.322,-.174),l(.209,.522),l(-.835,.312),l(.661,.244),l(.8,.278),l(.383,-.383),l(.313,-.383),l(.312,.209),l(-.174,.348),l(0,.521),l(.592,-.174),l(1.913,-.557),l(.418,-1.704),l(5.102,-1.137),l(1.374,-.687),l(3.605,-.172),l(1.363,-.646),l(2.758,-.126),l(.21,-.27),l(-.165,-.297),l(.692,-.23),l(1.221,.165),l(.197,.593),l(.66,.231),l(2.165,-.536),l(1.265,-.223),l(-.726,-.297),l(-.561,-.264),l(.099,-.362),l(1.451,-.1),l(1.562,.215),l(.647,.28),l(.692,-.132),l(-.066,-.33),l(-.527,-.33),l(0,-.561),l(.297,-.23),l(.846,-.242),l(4.292,-.858),l(2.92,-.172),l(3.058,.115),l(2.296,1.076),l(1.316,.023),l(.741,.144),l(.023,.383),l(-.908,.096),l(-.168,.454),l(1.723,.216),l(4.892,.646),l(5.571,.453),l(1.546,.172),l(1.717,-.172),l(7.556,.688),l(5.323,0),l(.687,.687),l(.2,1.075),l(-.73,1.232),l(-.672,.439),l(-.425,1.113),l(-.73,.319),l(-.905,-.402),l(-.83,.402),l(-.73,.959),l(1.507,.457),l(.594,.045),l(.959,-.593),l(.411,.365),l(-.867,1.05),l(-1.215,.062),l(-1.717,1.374),l(0,.858),l(1.889,.688),l(2.919,0),l(1.718,-.859),l(1.889,-1.545),l(1.717,-1.717),l(1.374,-.688),l(4.121,-1.03),l(2.231,-.687),l(3.263,-.344),l(2.061,-1.03),l(1.03,-1.03),l(3.435,-1.03),l(2.403,-.687),l(2.061,-.687),l(2.061,-.172),l(6.182,-.687),l(3.778,.171),l(1.204,-.542),l(.169,-.659),l(.54,-.759),l(.49,-.101),l(.471,.776),l(.305,.775),l(4.892,-.35),l(5.838,0),l(4.979,-.172),l(3.091,.344),l(2.112,-.214),l(1.328,.085),l(1.018,.594),l(1.188,-.764),l(2.714,-1.046),l(1.866,-.226),l(.664,-.028),l(.594,-.028),l(.777,-.057),l(1.512,.311),l(1.166,-.172),l(3.606,.687),l(3.777,.344),l(1.03,0),l(1.064,.573),l(.745,.088),l(2.149,-.088),l(1.271,-.263),l(1.315,-.438),l(-.192,-.216),l(.28,-.53),l(1.447,-.131),l(.921,-.088),l(.786,.062),l(2.195,-.501),l(2.097,.501),l(.688,.687),l(.373,.435),l(1.842,-.131),l(.921,-.044),l(.985,.255),l(1.889,.688),l(2.919,.515),l(2.919,-.343),l(4.121,-.258),l(2.232,-.344),l(2.404,0),l(3.521,.315),l(.702,-.755),l(2.158,-.162),l(.863,1.133),l(4.909,.323),l(.917,-1.133),l(1.889,-.593),l(5.988,.013),l(.756,-.283),l(1.996,.108),l(-.432,-1.403),l(.054,-.809),l(1.232,-.36),l(.872,1.277),l(-.647,1.079),l(.805,.219),l(2.81,.482),l(5.262,.376),l(5.494,.344),l(2.278,.583),l(1.283,.14),l(1.396,-.167),l(2.204,.446),l(1.961,-.167),l(.719,.278),l(-.435,.431),l(-.151,.351),l(.293,.123),l(2.081,.331),l(1.078,.484),l(2.706,-.134),l(.377,.595),l(1.038,.227),l(4.808,.515),l(-.123,.536),l(.567,.236),l(2.695,-.095),l(3.214,.181),l(-.329,-.984),l(.71,-.095),l(.804,.426),l(.331,.709),l(1.135,.284),l(2.672,.519),l(2.576,-.343),l(4.017,.999),l(1.626,.495),l(1.672,.871),l(1.626,.023),l(.504,.187),l(.532,-.021),l(.754,-.047),l(.777,.047),l(.896,.589),l(.541,.118),l(.542,.07),l(.142,-.259),l(.471,0),l(1.484,-.048),l(1.416,.237),l(5.951,.535),l(.729,.516),l(1.733,.323),l(2.979,.944),l(.43,-.335),l(.551,.191),l(.454,.67),l(-.741,.215),l(-1.124,.167),l(-.216,.359),l(.168,.263),l(.55,-.048),l(-.024,.67),l(-.43,-.048),l(-.096,.287),l(-.312,.071),l(-.598,.622),l(-.526,.12),l(-.55,.287),l(-.168,.669),l(-1.603,.096),l(-1.339,-.239),l(-1.794,.359),l(-2.153,.425),l(-2.629,.764),l(1.271,1.103),l(-1.907,.212),l(-1.23,-.255),l(-.763,.212),l(-.043,.637),l(-2.374,.169),l(.136,.514),l(.924,.632),l(-.127,.763),l(-.382,.085),l(-.466,.467),l(.551,.466),l(.085,.764),l(-.764,.424),l(.637,.254),l(.763,0),l(.764,.255),l(.339,.509),l(.17,.721),l(1.284,-.187),l(.836,.907),l(2.035,.297),l(.339,.339),l(2.672,.552),l(-4.113,0),l(-2.799,.138),l(-2.332,.541),l(-1.823,-.085),l(-.806,.212),l(-1.611,.339),l(-1.326,-.32),l(-.546,.426),l(1.116,.529),l(-.503,.447),l(-.669,.195),l(-1.117,.753),l(-2.623,.642),l(.475,.391),l(2.205,-.111),l(.53,0),l(.809,.307),l(.168,.363),l(.499,.18),l(.422,.183),l(.111,.894),l(.209,.502),l(3.195,.279),l(2.874,.948),l(3.662,.801),l(5.151,1.202),l(1.456,.062),l(1.015,.17),l(-.146,.234),l(-1.67,.264),l(-.47,.264),l(1.173,.088),l(2.198,-.293),l(1.988,.166),
-E(0,0)
-};
-
-#undef N
-#undef M
-#undef L
-#undef l
-#undef E
diff --git a/perf/micro/zrusin-another.h b/perf/micro/zrusin-another.h
deleted file mode 100644 (file)
index f6e72ae..0000000
+++ /dev/null
@@ -1,668 +0,0 @@
-/* The data in this file was created by Zack Rusin and downloaded from:
-
-   http://ktown.kde.org/~zrusin/examples/cairorender.tar.bz2
-
-   It is included in the cairo performance test suite by his
-   permission, (given in email to Carl Worth on 2006-10-23)
-*/
-point_t zrusin_another[] = {
-{107.893088734820,103.841923410053}, {106.908713734820,104.920048410053},
-{106.605078419636,105.201721390261}, {102.286079757931,107.612435141518},
-{95.848592904540,109.855345077872}, {95.820873452616,109.863161445001},
-{90.517184462013,111.170008329713}, {87.125000000000,111.625000000000},
-{82.393245921775,111.316572641568}, {77.855183975790,110.402282596173},
-{73.577390672683,108.898617908665}, {69.626442523093,106.822066623894},
-{69.373711344187,106.641023992165}, {57.717461344187,97.141023992165},
-{60.861283165549,97.153157587308}, {52.861026127481,102.679312400770},
-{43.297199733607,107.707604120505}, {38.061787185467,109.824994465236},
-{32.824736230810,111.354170438973}, {27.636335844151,112.281599723349},
-{22.546875000000,112.593750000000}, {19.478437557032,111.949288129016},
-{16.158848619890,110.212087077375}, {13.224557514711,107.109984243309},
-{12.401022392395,105.215121771751}, {12.109375000000,103.234375000000},
-{12.857968117079,98.340329228563}, {15.050447208669,93.495802782054},
-{18.606861885297,88.792446786896}, {23.447261757492,84.321912369510},
-{23.462751811761,84.309735859104}, {29.835792474114,80.170241641945},
-{36.826339837257,77.183700966953}, {44.355342734713,75.374150023260},
-{52.343750000000,74.765625000000}, {54.172214431835,74.493658379815},
-{55.005326273741,73.240819884599}, {54.891695624471,73.637732784350},
-{55.835419478567,69.288398667240}, {56.941029555972,65.553969608663},
-{57.993585771605,68.524034756036}, {53.681468264740,66.410473849442},
-{48.062136369578,64.586219029579}, {42.258612309644,63.317877950046},
-{37.437500000000,62.906250000000}, {32.573685233275,63.044800246717},
-{26.989159126193,63.632907811096}, {20.752015377001,64.279295952574},
-{16.562500000000,64.484375000000}, {16.408072340842,64.479600861137},
-{11.611197340842,64.182725861137}, {11.453516511116,64.167941148499},
-{6.725716011250,62.845442977500}, {4.607850691978,60.769517471259},
-{3.781250000000,57.859375000000}, {4.373461857036,55.042556375256},
-{5.951936001924,52.702230099626}, {6.143541831166,52.540844514692},
-{9.884650718045,51.301737345381}, {10.233131146503,51.254965794601},
-{14.936256146503,50.958090794601}, {15.093750000000,50.953125000000},
-{19.896489079886,51.056672881330}, {25.533897731570,51.448761318515},
-{25.296875000000,51.437500000000}, {30.909892241200,52.067729129895},
-{30.484375000000,52.031250000000}, {39.960841830525,52.410121686268},
-{48.752300459876,53.538988916016}, {48.757228534847,53.539874692156},
-{54.123571896675,54.731960341587}, {58.970980406852,56.270657465230},
-{63.248918806945,58.141504425356}, {66.906851838519,60.330039584234},
-{66.896289983187,60.322652661852}, {70.654761046586,63.581911162241},
-{73.423041490057,67.400928399521}, {75.133561184297,71.670457102504},
-{75.718750000000,76.281250000000}, {74.721151272876,79.892293861068},
-{72.068677652167,83.513297493231}, {70.325052633091,85.868624092784},
-{69.828125000000,88.250000000000}, {70.186304443223,90.552747673203},
-{71.326302526678,92.735137555366}, {73.346308881046,94.894011912335},
-{76.344513137007,97.126213009954}, {79.989627194854,99.164217236556},
-{83.789048154438,100.596188457783}, {87.811323321056,101.441306202608},
-{92.125000000000,101.718750000000}, {97.462586180660,101.070932456387},
-{97.557831952069,101.055648080491}, {103.015964519671,99.851433056816},
-{103.984375000000,99.656250000000}, {106.046875000000,99.656250000000},
-{107.893088734820,103.841923410053}, {106.046875000000,104.656250000000},
-{103.984375000000,104.656250000000}, {104.952785480329,104.461066943184},
-{98.254668047931,106.006851919509}, {98.349913819340,105.991567543613},
-{92.125000000000,106.718750000000}, {87.170121991444,106.371193797392},
-{82.386733095562,105.341311542217}, {77.843380617646,103.648282763444},
-{73.608611862993,101.311286990046}, {69.914433306454,98.422394337665},
-{67.154166223322,95.217987444634}, {65.426000244277,91.794908576797},
-{64.828125000000,88.250000000000}, {65.079958470471,86.099459712769},
-{65.803853616909,83.955594657216}, {68.478197347833,80.033577506769},
-{70.243692477124,77.869424888932}, {70.718750000000,76.281250000000},
-{70.335188815703,72.767042897496}, {69.139458509943,69.692821600479},
-{67.063988953414,66.949338837759}, {64.041210016813,64.427347338148},
-{64.030648161481,64.419960415766}, {57.122769593148,60.885592534770},
-{47.867771465153,58.460125307844}, {47.872699540124,58.461011083984},
-{39.531345669475,57.386753313732}, {30.484375000000,57.031250000000},
-{30.058857758800,56.994770870105}, {25.296875000000,56.437500000000},
-{25.059852268430,56.426238681485}, {19.697260920114,56.052702118670},
-{15.093750000000,55.953125000000}, {15.251243853497,55.948159205399},
-{10.548118853497,56.245034205399}, {10.896599281955,56.198262654619},
-{9.168958168834,56.521655485308}, {9.360563998076,56.360269900374},
-{8.781250000000,57.859375000000}, {8.758601803360,58.189255218076},
-{8.735899308021,58.292982528741}, {8.961783988750,58.373307022500},
-{12.077733488884,59.207058851501}, {11.920052659158,59.192274138863},
-{16.716927659158,59.489149138863}, {16.562500000000,59.484375000000},
-{20.310484622999,59.298829047426}, {26.432715873807,58.663967188904},
-{32.129439766725,58.064574753283}, {37.437500000000,57.906250000000},
-{42.956231440356,58.377434549954}, {49.359738630422,59.757530970421},
-{55.603687985260,61.808276150558}, {60.600164228395,64.257215243964},
-{61.652720444028,67.227280391337}, {60.695830521433,70.461601332760},
-{59.795804375529,74.612267215650}, {59.682173726259,75.009180115401},
-{58.534870256371,76.967235761415}, {56.827785568165,78.467279120185},
-{54.713289027441,79.427384197713}, {52.343750000000,79.765625000000},
-{45.078251015287,80.284053101740}, {38.408035162743,81.855361533047},
-{32.254051275886,84.503586483055}, {26.537248188239,88.252764140896},
-{26.552738242508,88.240587630490}, {22.301341239703,92.064975088104},
-{19.363615291331,95.777634717946}, {17.659610007921,99.470217646437},
-{17.109375000000,103.234375000000}, {17.462942485289,104.745484506691},
-{18.934901380110,106.053537922625}, {21.052812442968,107.257743120984},
-{22.546875000000,107.593750000000}, {27.127336030849,107.323869026651},
-{31.729951269190,106.505204561027}, {36.405009689533,105.124224284764},
-{41.202800266393,103.167395879495}, {50.256161372519,98.422250099230},
-{57.732466834451,93.253092412692}, {60.876288655813,93.265226007835},
-{72.532538655813,102.765226007835}, {72.279807476907,102.584183376106},
-{75.647218702317,104.376772716335}, {79.199503524210,105.636779903827},
-{83.003238453225,106.380692983432}, {87.125000000000,106.625000000000},
-{94.491626547384,105.043088554999}, {94.463907095460,105.050904922128},
-{100.135795242069,103.121939858482}, {103.519921580364,101.267028609739},
-{103.216286265180,101.548701589947}, {104.200661265180,100.470576589947},
-{106.046875000000,104.656250000000}, {107.893088734820,103.841923410053},
-{55.872490683787,89.763134548637}, {54.997490683787,85.841259548637},
-{55.036476188094,85.993355189713}, {52.343750000000,85.750000000000},
-{46.702141892082,86.180801752650}, {41.285068752391,87.490050907175},
-{36.021375201732,89.703013308437}, {30.839905860908,92.844954801298},
-{30.840393168266,92.844613599752}, {24.841774707763,97.553563991314},
-{23.093750000000,100.109375000000}, {23.668337709691,101.518994849695},
-{23.371174656526,101.224323797050}, {23.620948599883,101.397798979282},
-{24.023420115060,101.552272092059}, {25.484375000000,101.718750000000},
-{29.298199671143,101.348354407082}, {33.545396502623,100.218839979757},
-{38.283160693967,98.302715245167}, {43.568687444697,95.572488730454},
-{43.462444284634,95.635929361188}, {56.978069284634,87.104679361188},
-{55.872490683787,89.763134548637}, {107.893088734820,103.841923410053},
-{59.646930715366,91.332820638812}, {46.131305715366,99.864070638812},
-{46.025062555303,99.927511269546}, {40.294964306033,102.857441004833},
-{34.923353497377,104.984285020243}, {29.967425328857,106.280551842918},
-{25.484375000000,106.718750000000}, {22.429704884940,106.291477907941},
-{20.160075343474,105.056926202950}, {19.862912290309,104.762255150305},
-{18.581942192719,102.559691058502}, {18.093750000000,100.109375000000},
-{18.781885833597,97.630167914546}, {20.751975292237,94.868311008686},
-{27.972106831734,88.749136400248}, {27.972594139092,88.748795198702},
-{33.744249798268,85.287221066563}, {39.777431247609,82.783386592825},
-{46.000983107918,81.262557622350}, {52.343750000000,80.750000000000},
-{54.881053553302,80.995299290410}, {57.121823397686,81.724997675285},
-{58.847249996203,82.929795925088}, {59.838523811906,84.600394810287},
-{59.877509316213,84.752490451363}, {60.752509316213,88.674365451363},
-{59.646930715366,91.332820638812}, {107.893088734820,103.841923410053},
-{155.484375000000,101.859375000000}, {154.564834615754,105.515207938449},
-{152.115670325806,108.366761454651}, {148.955163295626,109.891294781728},
-{145.437500000000,110.437500000000}, {142.960397099416,109.918703000637},
-{140.390467597390,108.438024620128}, {137.806753458193,106.109033784838},
-{135.288296646094,103.045299421136}, {135.165845369106,102.859481271949},
-{127.322095369106,89.718856271949}, {127.315939322101,89.708486304067},
-{123.037165252408,83.240466071649}, {119.422893480005,79.457711309224},
-{123.333764624626,78.181432151290}, {119.923748586047,88.267600564284},
-{116.288451493331,96.371224650234}, {116.310270123205,96.328970526240},
-{111.013619195867,105.085481651574}, {104.498474377631,112.833853093888},
-{102.718750000000,113.578125000000}, {98.109375000000,113.578125000000},
-{95.790533815800,112.012456612681}, {92.715536961613,101.759617602767},
-{90.624767168816,88.808240839597}, {90.625938562396,88.818553777181},
-{88.018863793847,68.357428789163}, {88.022375537533,68.374401202625},
-{86.904794319936,64.234191072834}, {85.466909526601,60.964474099786},
-{83.670654326939,58.467433589062}, {81.477961890361,56.645252846242},
-{80.463845731714,53.674615230649}, {82.823220731714,47.205865230649},
-{82.883587418943,47.055653464335}, {83.966380643129,44.754922491868},
-{85.291281927099,42.535861182972}, {88.514402164445,41.595109434025},
-{91.785870247761,43.817111177877}, {94.599270325866,47.029404143594},
-{96.906293571887,51.130222797294}, {98.658631158949,56.017801605095},
-{98.664492355983,56.039251079522}, {100.006630671722,63.228131068770},
-{101.762541190731,76.272848032637}, {101.765778670251,76.300425005941},
-{103.467098832178,87.353480411923}, {105.697048617918,94.795754781373},
-{102.319980907406,93.545204629259}, {104.354680083199,92.248641487426},
-{106.296883956259,90.334282557687}, {110.081726403105,84.371439341729},
-{110.069085073875,84.396782220394}, {112.413266990492,78.560599894318},
-{114.080111889746,71.934817013191}, {115.075734612596,64.464258680566},
-{115.406250000000,56.093750000000}, {117.906250000000,53.593750000000},
-{122.515625000000,53.593750000000}, {124.596624760838,54.708311442938},
-{155.065374760838,100.473936442938}, {155.484375000000,101.859375000000},
-{107.893088734820,103.841923410053}, {150.903375239162,103.244813557062},
-{120.434625239162,57.479188557062}, {122.515625000000,58.593750000000},
-{117.906250000000,58.593750000000}, {120.406250000000,56.093750000000},
-{120.037546637404,64.922460069434}, {118.935513110254,72.987057986809},
-{117.106264259508,80.232368855682}, {114.555914926125,86.603217779606},
-{114.543273596895,86.628560658271}, {112.308927321184,90.508291033149},
-{109.859366043741,93.751654942313}, {107.239069916801,96.288467887574},
-{104.492519092594,98.048545370741}, {101.115451382082,96.797995218627},
-{98.626651167822,88.552769588077}, {96.796721329749,76.855824994059},
-{96.799958809269,76.883401967363}, {95.087119328278,64.107806431230},
-{93.835507644017,57.335748920478}, {93.841368841051,57.357198394905},
-{92.427690803113,53.221339702706}, {90.736667174134,50.033095856406},
-{88.719989127239,47.690701322123}, {86.329347835555,46.092390565975},
-{89.552468072901,45.151638817028}, {88.346119356871,47.166952508132},
-{87.460162581057,49.069346535665}, {87.520529268286,48.919134769351},
-{85.161154268286,55.387884769351}, {84.147038109639,52.417247153758},
-{87.106689423061,54.909519535937}, {89.579965473399,58.293338400214},
-{91.528799430064,62.470887052166}, {92.915124462467,67.344348797375},
-{92.918636206153,67.361321210837}, {95.592811437604,88.243946222819},
-{95.593982831184,88.254259160403}, {97.565713038387,100.591944897233},
-{100.428216184200,110.143793387319}, {98.109375000000,108.578125000000},
-{102.718750000000,108.578125000000}, {100.939025622369,109.322396906112},
-{106.962943304133,102.180143348427}, {111.845979876795,94.077279473760},
-{111.867798506669,94.035025349766}, {115.287188913953,86.412086935716},
-{118.541235375374,76.756067848710}, {122.452106519995,75.479788690776},
-{126.837834747592,80.025158928351}, {131.621560677899,87.166513695933},
-{131.615404630894,87.156143728051}, {139.459154630894,100.296768728051},
-{139.336703353906,100.110950578864}, {142.906407402610,104.257287879872},
-{145.437500000000,105.437500000000}, {147.478430454374,105.175111468272},
-{149.243704674194,104.273863545349}, {150.251571634246,103.277760811551},
-{150.484375000000,101.859375000000}, {150.903375239162,103.244813557062},
-{107.893088734820,103.841923410053}, {231.343750000000,91.875000000000},
-{230.760913847107,95.964970754466}, {229.068047862611,99.735912943733},
-{226.348615757792,103.075786207286}, {222.686081243924,105.872550184609},
-{222.648873373705,105.894655312846}, {215.093162016193,109.098726800095},
-{205.138412990776,111.389009633945}, {205.099511514392,111.395066324151},
-{196.531910121565,112.292873746127}, {187.093750000000,112.593750000000},
-{180.736641615184,112.156201510495}, {174.578395035074,110.855968371846},
-{168.685194057574,108.711669078852}, {163.123222480588,105.741922126310},
-{163.102786019362,105.728945017668}, {158.065383006950,101.833715472335},
-{154.350564084671,97.489870440862}, {152.052565874896,92.798170193375},
-{151.265625000000,87.859375000000}, {151.531470468770,85.013668760581},
-{152.287360086651,82.060400295498}, {152.321821893194,81.964698849566},
-{155.704155919825,73.828381186220}, {158.270837388345,69.249451319292},
-{158.258242073026,69.265568807584}, {162.161895999987,65.281962610977},
-{167.278829839386,61.794937132641}, {173.532669176810,58.834467171163},
-{180.847039597849,56.430527525129}, {179.144548452656,58.005986305326},
-{180.222673452656,54.974736305326}, {180.222279555972,54.975844608663},
-{182.650011718926,50.400876966176}, {185.678714551395,49.466466465483},
-{192.833058049629,52.996232862321}, {201.831199616962,58.692914409530},
-{211.602112156950,65.789874557518}, {220.243790039283,73.085988470431},
-{220.250361498213,73.092084369790}, {227.553434625305,81.089470457139},
-{229.783449199558,84.667905408782}, {230.987849850362,87.897461316292},
-{231.037603485703,88.222391630780}, {231.334478485703,91.659891630780},
-{231.343750000000,91.875000000000}, {107.893088734820,103.841923410053},
-{226.353021514297,92.090108369220}, {226.056146514297,88.652608369220},
-{226.105900149638,88.977538683708}, {225.181394550443,86.544985216218},
-{223.368440374695,83.730842042861}, {216.843388501787,76.751665630210},
-{216.849959960717,76.757761529569}, {208.538512843050,69.741375442482},
-{199.012550383038,62.822710590470}, {190.370066950371,57.347517137679},
-{183.790035448605,54.096033534517}, {186.818738281074,53.161623033824},
-{184.933970444028,56.649155391337}, {184.933576547344,56.650263694674},
-{183.855451547344,59.681513694674}, {182.152960402151,61.256972474871},
-{175.418502698190,63.429204703837}, {169.900857660614,65.978500367359},
-{165.523650875013,68.934834264023}, {162.210507926974,72.328181192416},
-{162.197912611655,72.344298680708}, {160.116156580175,76.155993813780},
-{156.990678106806,83.754051150434}, {157.025139913349,83.658349704502},
-{156.265625000000,87.859375000000}, {156.814621625104,91.570970431625},
-{158.524435915329,95.017942059138}, {161.489304493050,98.301050152665},
-{165.803463980638,101.521054982332}, {165.783027519412,101.508077873690},
-{170.773790317426,104.198487171148}, {175.945042464926,106.097156628154},
-{181.362967759816,107.222704739505}, {187.093750000000,107.593750000000},
-{196.179027378435,107.308688753873}, {204.369238485608,106.448683675849},
-{204.330337009224,106.454740366055}, {213.484962983807,104.385648199905},
-{220.132376626295,101.574094687154}, {220.095168756076,101.596199815391},
-{222.954118617208,99.523823167714}, {224.892889637389,97.287524556267},
-{225.994945527893,94.775263620534}, {226.343750000000,91.875000000000},
-{226.353021514297,92.090108369220}, {107.893088734820,103.841923410053},
-{219.781250000000,95.890625000000}, {219.378166433508,93.853798730227},
-{218.111752188172,91.489941446073}, {212.645950385807,85.475693519170},
-{212.685981945341,85.511936058310}, {206.545320157918,80.643069684901},
-{198.180220478697,74.962876659750}, {198.191932106006,74.970352872652},
-{191.582535336704,71.037624006410}, {191.504903114611,70.993386859602},
-{190.358726480976,70.329891393482}, {194.093750000000,68.156250000000},
-{193.486799914207,72.326466575586}, {191.750022838432,75.648693620488},
-{191.727672642897,75.674671879974}, {189.796209835616,77.308949639626},
-{187.307360975056,78.497446987452}, {184.374093537693,79.223076311545},
-{181.109375000000,79.468750000000}, {178.539517280969,79.274893727068},
-{176.586499975916,78.676142180991}, {173.086052480141,74.877460550577},
-{176.026873378540,75.790765650642}, {173.637934677835,76.966105971818},
-{171.454775584042,78.628861257931}, {167.479150931130,83.659399177979},
-{167.492959438562,83.636441477986}, {164.707555748674,89.579684053440},
-{164.890625000000,88.640625000000}, {165.429801946489,91.718738201013},
-{167.140367049889,94.413281660069}, {170.161871706101,96.828214751252},
-{174.633867311024,99.067496848641}, {174.595883286589,99.052025896332},
-{183.311717611230,101.570655775842}, {188.036065935963,102.270678900324},
-{192.781250000000,102.500000000000}, {204.722829878151,102.082467436594},
-{212.458857303872,100.833616072622}, {214.905535432122,99.897801735668},
-{216.940228691241,98.604487224303}, {220.087216056537,94.692203098109},
-{219.781250000000,95.890625000000}, {107.893088734820,103.841923410053},
-{224.475283943463,97.089046901891}, {222.495392805158,99.992428606532},
-{220.012896308759,102.426762775697}, {217.106183317878,104.328760764332},
-{213.853642696128,105.635133927378}, {205.324045121849,107.034720063406},
-{192.781250000000,107.500000000000}, {187.549871564037,107.241039849676},
-{182.344532388770,106.476219224158}, {172.747866713411,103.697974103668},
-{172.709882688976,103.682503151359}, {167.310784543899,100.802644623748},
-{163.281507950111,97.266405839931}, {160.761604303511,93.177746173987},
-{160.111277146626,90.958745814619}, {159.890625000000,88.640625000000},
-{160.073694251326,87.701565946560}, {163.194540561438,81.082308522014},
-{163.208349068870,81.059350822021}, {165.573405849355,77.703241627766},
-{168.240536915958,74.886763742069}, {171.153080947165,72.670612778182},
-{174.254376621460,71.115484349358}, {177.195197519859,72.028789449423},
-{178.991625024084,74.292607819009}, {181.109375000000,74.468750000000},
-{185.450451524944,73.971303012548}, {187.959827357103,72.387828120026},
-{187.937477161568,72.413806379512}, {188.825700085793,70.736033424413},
-{189.093750000000,68.156250000000}, {192.828773519024,65.982608606518},
-{194.057596885389,66.694113140398}, {193.979964663296,66.649875993590},
-{200.870567893994,70.748397127348}, {200.882279521303,70.755873340250},
-{209.532804842082,76.638180315099}, {216.001518054659,81.769313941690},
-{216.041549614192,81.805556480830}, {219.736550554799,85.597619431325},
-{222.481997811828,89.260058553927}, {224.192146066492,92.716513769773},
-{224.781250000000,95.890625000000}, {224.475283943463,97.089046901891},
-{107.893088734820,103.841923410053}, {274.375000000000,74.921875000000},
-{274.375000000000,76.000000000000}, {273.941340954992,77.877573018672},
-{272.878932097861,79.515803527315}, {273.201644884750,79.109789854043},
-{272.240878131027,80.634530144823}, {272.178064435979,80.731878545843},
-{270.366672394243,82.164949472839}, {268.046875000000,82.703125000000},
-{266.183148747233,82.484226579792}, {265.676843902484,82.347511014208},
-{261.919943241226,81.056638412991}, {261.845529920936,81.035610157726},
-{257.771892015055,80.000491652766}, {254.812500000000,79.671875000000},
-{253.064641952966,80.017766952966}, {253.029646790629,80.052082662255},
-{253.183319188544,79.921363850038}, {253.251518993920,79.984611568497},
-{253.185946392942,81.106825858762}, {253.000000000000,86.578125000000},
-{253.496255380785,102.128843883245}, {253.498940253820,102.192840332413},
-{254.068093288267,110.651263719025}, {251.578125000000,113.375000000000},
-{246.875000000000,113.375000000000}, {246.340326851360,113.317155732979},
-{244.239667843345,112.409341061474}, {241.449240399376,110.489665586259},
-{233.966932708158,103.861287459859}, {233.964253154933,103.858697290509},
-{230.739570245917,99.429986748935}, {227.863465886694,92.900734302334},
-{227.865566738278,92.906614054351}, {224.904456445713,83.297192679644},
-{223.890625000000,76.390625000000}, {224.718172891760,73.652424627265},
-{226.991950628026,71.671512863124}, {230.398659300280,70.468125917422},
-{234.625000000000,70.062500000000}, {239.436000436064,69.828681464349},
-{240.453125000000,69.140625000000}, {239.621272369169,63.470278877568},
-{237.983036171748,55.833595299706}, {237.978023315197,55.813489579321},
-{235.265625000000,42.968750000000}, {235.414374888933,43.818233911095},
-{223.164374888933,9.911983911095}, {223.454623060848,7.647483743269},
-{225.610873060848,4.506858743269}, {225.803351703291,4.260965402925},
-{227.719534150475,2.932735689909}, {230.078782966130,2.347671229322},
-{230.218750000000,2.343750000000}, {231.580832848366,2.789728316683},
-{232.871346377781,3.980786060276}, {235.131457239225,7.716876589460},
-{240.051188613236,19.745668022304}, {244.970104457946,33.805503176211},
-{247.762510801176,44.143184476801}, {247.777764624530,44.225329525617},
-{252.184014624530,70.381579525617}, {251.352799675865,68.904817480577},
-{254.575226795957,69.673348314939}, {260.406250000000,70.359375000000},
-{270.523910039912,70.690857394210}, {273.186407177161,72.174765791999},
-{274.049624252688,73.457293811137}, {274.375000000000,74.921875000000},
-{107.893088734820,103.841923410053}, {269.375000000000,74.921875000000},
-{269.694839960088,75.621642605790}, {260.406250000000,75.359375000000},
-{253.596648204043,74.576651685061}, {250.197596782742,73.718304003256},
-{248.084700324135,72.688932519423}, {247.253485375470,71.212170474383},
-{242.847235375470,45.055920474383}, {242.862489198824,45.138065523199},
-{240.182239292054,35.233559323790}, {235.370686386764,21.504331977696},
-{230.614636510775,9.861248410540}, {229.674552059719,7.679370189724},
-{229.774391761009,7.390935745817}, {230.218750000000,7.343750000000},
-{230.358717033870,7.339828770678}, {229.540398296709,7.582784597075},
-{229.732876939152,7.336891256731}, {227.576626939152,10.477516256731},
-{227.866875111067,8.213016088905}, {240.116875111067,42.119266088905},
-{240.265625000000,42.968750000000}, {242.834476684803,54.624010420679},
-{242.829463828252,54.603904700294}, {244.534977630831,62.545346122432},
-{245.453125000000,69.140625000000}, {244.611402180226,71.735213821357},
-{242.306187063936,73.585381035651}, {238.867409665678,74.693638982119},
-{234.625000000000,75.062500000000}, {229.906486871974,75.367549636876},
-{229.092373983240,75.779215997735}, {228.934535185216,76.058687905577},
-{228.890625000000,76.390625000000}, {229.790856054287,82.319994820356},
-{232.571933261722,91.218385945649}, {232.574034113306,91.224265697666},
-{234.986992254083,96.851263251065}, {237.441996845067,100.266302709491},
-{237.439317291842,100.263712540141}, {244.074197100624,106.275959413741},
-{247.409673148640,108.432844267021}, {246.875000000000,108.375000000000},
-{251.578125000000,108.375000000000}, {249.088156711733,111.098736280975},
-{248.501059746180,102.338409667587}, {248.503744619215,102.402406116755},
-{248.000000000000,86.578125000000}, {248.204678607058,80.674424141238},
-{248.635199756080,78.226325931503}, {249.564103209371,76.447917337745},
-{249.529108047034,76.482233047034}, {251.855421271850,75.142541341903},
-{254.812500000000,74.671875000000}, {258.571857984945,75.077633347234},
-{263.279470079064,76.245639842274}, {263.205056758774,76.224611587009},
-{267.479406097516,77.683738985792}, {266.973101252767,77.547023420208},
-{268.046875000000,77.703125000000}, {268.247054721136,77.733964370993},
-{268.227077605757,77.803800527161}, {268.040685564021,77.924371454157},
-{267.977871868973,78.021719855177}, {268.985855115250,76.421460145957},
-{269.308567902139,76.015446472685}, {269.418034045008,75.973989481328},
-{269.375000000000,76.000000000000}, {269.375000000000,74.921875000000},
-{107.893088734820,103.841923410053}, {243.911209450369,105.662056821622},
-{240.832004992147,102.845101845416}, {236.815516984936,97.742848726260},
-{236.813922800164,97.740633958664}, {232.773597278734,91.287437871638},
-{230.710552894044,85.924483215760}, {230.745327869205,86.067653416413},
-{229.840275149638,82.415038683708}, {229.855893749637,82.481339062591},
-{229.093750000000,78.546875000000}, {229.510257350732,77.264688549054},
-{230.557731326090,76.286764971873}, {233.333290689663,75.138571514324},
-{238.843750000000,74.468750000000}, {241.980836948934,74.687319511759},
-{245.189547085049,75.561169162745}, {247.167986856352,77.549353232692},
-{248.217702574415,80.638507879225}, {248.687500000000,88.140625000000},
-{248.194671228610,98.736670034806}, {248.200295344311,98.650162873539},
-{247.698246960594,103.850772804200}, {243.911209450369,105.662056821622},
-{107.893088734820,103.841923410053}, {242.739253039406,103.211727195800},
-{243.205954655689,98.412337126461}, {243.211578771390,98.325829965194},
-{243.687500000000,88.140625000000}, {243.282297425585,81.439617120775},
-{243.185452914951,80.141955837255}, {241.300413051066,79.640805488241},
-{238.843750000000,79.468750000000}, {234.557334310337,79.986428485676},
-{234.323615830224,80.043375869145}, {234.139295619945,80.082650511165},
-{233.899908001681,80.106538837663}, {233.805549923910,79.924172528127},
-{234.093750000000,78.546875000000}, {234.706606250363,81.268660937409},
-{234.722224850362,81.334961316292}, {235.567172130795,84.744846583587},
-{235.601947105956,84.888016784240}, {237.273277721266,89.165687128362},
-{240.873577199836,94.821866041336}, {240.871983015064,94.819651273740},
-{244.355495007853,99.326773154584}, {246.526290549631,101.400443178378},
-{242.739253039406,103.211727195800}, {107.893088734820,103.841923410053},
-{304.579027849556,115.887559254375}, {299.647333003501,118.498603127587},
-{299.601234810263,118.526555579345}, {296.960609810263,120.089055579345},
-{295.687500000000,120.437500000000}, {292.434178516679,119.763451801101},
-{289.591538470777,117.850158805700}, {287.263626957927,114.860898415742},
-{285.554491073762,110.958948033170}, {285.546168760441,110.932189402305},
-{283.409425227272,100.413450166388}, {283.408069329655,100.405281467271},
-{280.968147929764,87.644193704042}, {284.218299056292,87.914012723915},
-{279.519746335556,93.766171451312}, {279.798545332977,93.224824860858},
-{274.937093489612,105.343910553875}, {272.454127837569,109.762553039486},
-{269.772550129691,112.314814767144}, {266.294988321147,110.999865652887},
-{264.699764075525,105.167535274279}, {264.676753039406,105.022647804200},
-{264.221109604112,100.702343060691}, {264.171875000000,98.828125000000},
-{263.607902205199,91.869081828698}, {263.613915250645,91.062865437610},
-{263.781250000000,89.718750000000}, {263.644962649638,88.985351183708},
-{262.873500431741,86.703985451358}, {262.739182179139,86.219942105230},
-{260.786057179139,74.844942105230}, {260.786249814804,74.846062487964},
-{256.958124814804,52.611687487964}, {256.955473276820,52.595988114755},
-{254.892973276820,40.142863114755}, {254.909488793847,40.232428789163},
-{254.331363793847,37.388678789163}, {254.339079247810,37.425229542768},
-{253.651579247810,34.284604542768}, {253.593750000000,33.750000000000},
-{254.239654341050,30.319069019177}, {254.154681406546,30.589185956325},
-{256.319133024351,26.771372253672}, {258.818704827809,25.924919245868},
-{261.217531024880,26.988383072536}, {263.253153025566,28.888095452080},
-{264.856582863559,31.480336604342}, {265.958832572550,34.621386749163},
-{266.013105788729,34.918097636045}, {267.200714432551,44.731495841479},
-{267.198350954149,44.712535224402}, {269.443623734153,61.037071609407},
-{269.421396014347,60.906344576785}, {270.652021489737,67.736566992690},
-{271.992261513603,76.440263813345}, {271.992747064473,76.443809223415},
-{273.038636247453,85.686082548185}, {273.390625000000,92.953125000000},
-{273.238407027301,96.898129287691}, {272.771685367998,99.590064317759},
-{267.989237947004,98.132898258783}, {271.223612947004,86.961023258783},
-{271.391159168632,86.533772766328}, {274.526090303798,81.379570646076},
-{274.584318175231,81.310286998919}, {276.982682022500,78.600716011250},
-{277.142029400154,78.326905342657}, {279.265919333198,75.301911531816},
-{279.298622345235,75.258362091268}, {281.876153531632,73.009942282517},
-{284.906250000000,72.125000000000}, {287.318073492888,72.767987310135},
-{289.339116026344,74.544184270464}, {290.903803647217,77.224443425871},
-{291.946562402359,80.579617321243}, {291.963278527291,80.666832095730},
-{293.477578855570,88.491377103079}, {294.532438780850,92.026218792971},
-{294.690170210143,92.371639700252}, {298.832669585147,102.687317191341},
-{298.821447919079,102.663322107333}, {301.483679194839,107.248880594573},
-{302.541048238599,108.202972500861}, {303.515625000000,108.484375000000},
-{306.015625000000,110.984375000000}, {306.015625000000,113.625000000000},
-{304.579027849556,115.887559254375}, {107.893088734820,103.841923410053},
-{301.015625000000,113.625000000000}, {301.015625000000,110.984375000000},
-{303.515625000000,113.484375000000}, {300.984342386401,112.859527499139},
-{298.555383305161,111.094869405427}, {296.303526841571,108.355227332168},
-{294.303552080921,104.805427892667}, {294.292330414853,104.781432808659},
-{289.997329789857,94.097110299748}, {290.155061219150,94.442531207029},
-{288.709921144430,89.953935396921}, {287.036721472709,81.520667904270},
-{287.053437597641,81.607882678757}, {286.004633973656,77.940190729536},
-{284.906250000000,77.125000000000}, {284.500063101353,77.160595459408},
-{284.155096468369,77.318182717483}, {283.263877654765,78.304137908732},
-{283.296580666802,78.260588468184}, {281.295470599846,81.110594657343},
-{281.454817977500,80.836783988750}, {278.353181824769,84.595963001081},
-{278.411409696202,84.526679353924}, {275.858840831368,88.778727233672},
-{276.026387052996,88.351476741217}, {272.792012052996,99.523351741217},
-{268.009564632002,98.066185682241}, {268.390625000000,92.953125000000},
-{268.055113752547,86.056104951815}, {267.038502935527,77.118690776585},
-{267.038988486397,77.122236186655}, {265.722978510263,68.575933007310},
-{264.516103985653,61.874905423215}, {264.493876265847,61.744178390593},
-{262.239149045851,45.349964775598}, {262.236785567449,45.331004158521},
-{261.049394211271,35.519402363955}, {261.103667427450,35.816113250837},
-{259.699971974434,32.150967047920}, {257.681295172191,30.793830754132},
-{260.180866975649,29.947377746328}, {259.001568593454,31.817064043675},
-{258.916595658950,32.087180980823}, {258.593750000000,33.750000000000},
-{258.535920752190,33.215395457232}, {259.223420752190,36.356020457232},
-{259.231136206153,36.392571210837}, {259.809261206153,39.236321210837},
-{259.825776723180,39.325886885245}, {261.888276723180,51.779011885245},
-{261.885625185196,51.763312512036}, {265.713750185196,73.997687512036},
-{265.713942820861,73.998807894770}, {267.667067820861,85.373807894770},
-{267.532749568259,84.889764548642}, {268.526912350362,87.905273816292},
-{268.781250000000,89.718750000000}, {268.542334749355,91.905884562390},
-{268.548347794801,91.099668171302}, {269.171875000000,98.828125000000},
-{269.216390395888,100.485156939309}, {269.635746960594,104.383602195800},
-{269.612735924475,104.238714725721}, {270.955011678853,109.187634347113},
-{267.477449870309,107.872685232856}, {268.686497162431,106.569478210514},
-{270.375406510388,103.296714446125}, {275.107704667023,91.493925139142},
-{275.386503664444,90.952578548688}, {278.700840527029,86.470174071108},
-{281.281700943708,83.867237276085}, {284.531852070236,84.137056295958},
-{285.408419686884,85.805066273498}, {286.324716189650,88.997159604327},
-{288.341930670345,99.594718532729}, {288.340574772728,99.586549833612},
-{290.328831239559,109.474060597695}, {290.320508926238,109.447301966830},
-{291.419966792073,112.312929709258}, {292.611586529223,114.157653694300},
-{293.999415233321,115.144751323899}, {295.687500000000,115.437500000000},
-{294.414390189737,115.785944420655}, {297.055015189737,114.223444420655},
-{297.008916996499,114.251396872413}, {302.452222150444,111.362440745625},
-{301.015625000000,113.625000000000}, {107.893088734820,103.841923410053},
-{374.437500000000,106.765625000000}, {373.775309600600,109.463093710969},
-{372.064906958700,112.117295697199}, {372.041004786215,112.144602045402},
-{368.522704503395,114.706400007155}, {366.442611342446,115.399541345014},
-{364.281250000000,115.640625000000}, {355.911205219123,114.726652651698},
-{341.052591424867,111.966274658224}, {341.038040421249,111.963294783992},
-{326.905309277070,108.757693347762}, {319.727026481732,106.439595965247},
-{319.807037817648,106.479160754059}, {310.484453831953,101.696158824691},
-{304.482826587959,97.721718623918}, {304.310358047034,97.564641952966},
-{302.095819571999,95.254869206705}, {298.220153609739,90.667578419636},
-{300.367638895226,91.618501549714}, {296.258263895226,91.915376549714},
-{296.078125000000,91.921875000000}, {293.025957236218,91.709450913344},
-{290.151865257421,91.083888117023}, {285.254658796565,88.663603177256},
-{285.219422230119,88.636374171395}, {281.529900243089,84.536170132203},
-{280.513144708967,82.282593311151}, {280.156250000000,80.015625000000},
-{280.896516775664,77.119922391977}, {282.806537684315,74.726645730656},
-{285.448073147177,73.263018105533}, {288.686079158715,72.443690273534},
-{290.750793112766,73.122099563886}, {293.797668112766,76.059599563886},
-{293.736465601749,76.002539206463}, {295.798965601749,77.861914206463},
-{294.222063773555,77.220634985862}, {301.862688773555,77.517509985862},
-{299.265625000000,80.015625000000}, {299.934685624955,74.754308742711},
-{301.898213943218,69.792099871114}, {305.090729619888,65.230982029954},
-{309.446752320064,61.172938863978}, {309.482902906976,61.145713152252},
-{318.065904047846,56.213131631660}, {329.455658353400,51.953267244508},
-{329.496351456999,51.941186017188}, {336.615241964605,50.572965088062},
-{336.666137267666,50.568817238037}, {342.150512267666,50.178192238037},
-{342.328125000000,50.171875000000}, {347.088673798588,50.461178987176},
-{351.635436696472,51.319590054257}, {355.904450990616,52.732856859568},
-{359.831753977986,54.686728061438}, {363.292951645549,57.250115143707},
-{365.880587968213,60.272932122861}, {367.501493801268,63.647371305944},
-{368.062500000000,67.265625000000}, {367.659428864193,69.524372763002},
-{366.507997055207,71.901249483478}, {362.306741008310,76.690232523947},
-{362.309449580203,76.687848273793}, {355.067416613929,81.592460070084},
-{345.579434368324,85.619156329617}, {345.543296906352,85.631025936969},
-{338.856518222681,87.434049611292}, {331.674077585810,88.726763309129},
-{324.032609882622,89.505258086643}, {315.968750000000,89.765625000000},
-{315.697255981477,89.750839477245}, {313.837880981477,89.547714477245},
-{314.109375000000,89.562500000000}, {315.203325765838,88.142787621838},
-{315.234375000000,87.750000000000}, {315.261368553241,87.459370280378},
-{315.416652198286,87.453346686481}, {316.557907675735,88.522399326740},
-{316.429841220906,88.403882310796}, {319.273591220906,90.857007310796},
-{318.935343465338,90.611377991437}, {331.091593465338,97.970752991437},
-{330.612118984109,97.746034726917}, {334.956642245028,98.975789357391},
-{339.851927078584,99.850564497063}, {351.453125000000,100.546875000000},
-{354.203872313810,100.381670729150}, {355.159915151904,99.886038066767},
-{355.055436157189,100.055596900919}, {357.900435727416,97.290434866877},
-{362.379803562479,95.425955323112}, {363.015625000000,95.343750000000},
-{366.828125000000,95.343750000000}, {368.997562855593,96.601357392681},
-{374.106937855593,105.523232392681}, {374.437500000000,106.765625000000},
-{107.893088734820,103.841923410053}, {369.768062144407,108.008017607319},
-{364.658687144407,99.086142607319}, {366.828125000000,100.343750000000},
-{363.015625000000,100.343750000000}, {363.651446437521,100.261544676888},
-{360.724564272584,101.303315133123}, {359.413313842811,102.506903099081},
-{359.308834848096,102.676461933233}, {358.021570604282,103.932262067178},
-{356.186752686190,104.829266770850}, {351.453125000000,105.546875000000},
-{345.006190631125,105.353277680068}, {339.085572921416,104.774435502937},
-{333.730857754972,103.813273142609}, {328.981631015891,102.472715273083},
-{328.502156534662,102.247997008563}, {316.345906534662,94.888622008563},
-{316.007658779094,94.642992689204}, {313.163908779094,92.189867689204},
-{313.035842324265,92.071350673260}, {311.083347801714,89.820090813519},
-{310.234375000000,87.750000000000}, {310.265424234162,87.357212378162},
-{310.780311953087,86.191927459145}, {311.752715552710,85.312201869144},
-{314.109375000000,84.562500000000}, {314.380869018523,84.577285522755},
-{316.240244018523,84.780410522755}, {315.968750000000,84.765625000000},
-{323.705671367377,84.524038788357}, {330.935297414190,83.796674190871},
-{337.694263027319,82.579622263708}, {344.019203093648,80.868974063031},
-{343.983065631676,80.880843670383}, {352.635708386071,77.251289929916},
-{359.003050419797,72.937151726207}, {359.005758991690,72.934767476053},
-{362.163877944793,69.637813016522}, {363.062500000000,67.265625000000},
-{362.747529636232,64.880949006556}, {361.740505781787,62.777849127139},
-{359.948259291951,60.848517668793}, {357.277621022014,58.985146938562},
-{353.920744321884,57.295463452932}, {350.352844553528,56.106191195743},
-{346.509959013911,55.403078825324}, {342.328125000000,55.171875000000},
-{342.505737732334,55.165557761963}, {337.021362732334,55.556182761963},
-{337.072258035395,55.552034911938}, {330.878648543001,56.746313982812},
-{330.919341646600,56.734232755492}, {320.246595952154,60.693118368340},
-{312.454597093024,65.166786847748}, {312.490747679936,65.139561136022},
-{308.794036005112,68.485814845046}, {306.234598556782,72.012587628886},
-{304.746955000045,75.821863132289}, {304.265625000000,80.015625000000},
-{301.668561226445,82.513740014138}, {294.027936226445,82.216865014138},
-{292.451034398251,81.575585793537}, {290.388534398251,79.716210793537},
-{290.327331887234,79.659150436114}, {287.280456887234,76.721650436114},
-{289.345170841285,77.400059726466}, {287.321458102823,77.850263144467},
-{285.927837315685,78.632729269344}, {285.271451974336,79.274608858023},
-{285.175338636761,79.581613557521}, {285.156250000000,80.015625000000},
-{285.837287256911,82.245079867797}, {288.311827769881,84.707375828605},
-{288.276591203435,84.680146822744}, {291.660634742579,86.384861882977},
-{296.078125000000,86.921875000000}, {295.897986104774,86.928373450286},
-{300.007361104774,86.631498450286}, {302.154846390261,87.582421580364},
-{305.732305428001,91.823255793295}, {307.845891952966,94.029108047034},
-{307.673423412041,93.872031376082}, {313.085858668047,97.436653675309},
-{321.942962182352,101.958339245941}, {322.022973518268,101.997904034753},
-{328.415003222930,104.000119152238}, {342.055709578751,107.067955216008},
-{342.041158575133,107.064975341776}, {356.698169780877,109.788972348302},
-{364.281250000000,110.640625000000}, {366.516357996605,110.246724992845},
-{368.302745213785,108.824147954598}, {368.278843041300,108.851454302801},
-{369.437500000000,106.765625000000}, {369.768062144407,108.008017607319},
-{107.893088734820,103.841923410053}, {359.034454681034,69.861443602839},
-{357.173548986071,72.638610976591}, {353.435826646756,75.215386191513},
-{347.992418306797,77.582163291606}, {341.014454609897,79.729336320871},
-{326.426284670840,82.761098429090}, {319.640717587115,83.525315463381},
-{313.234375000000,83.781250000000}, {312.706760041223,83.724940335389},
-{311.331760041223,83.428065335389}, {311.389194323030,83.439762979730},
-{309.920444323030,83.158512979730}, {310.390625000000,83.203125000000},
-{309.032298883605,83.610801187634}, {305.860259182280,80.222501196670},
-{308.487654632717,75.272571710106}, {311.451975717975,70.927537861140},
-{314.718319876723,67.239682598354}, {318.251784547635,64.261288870324},
-{318.235984828743,64.272646821685}, {322.460311501394,61.735717754517},
-{327.134482463160,59.899177687483}, {332.183220900533,58.782772982128},
-{337.531250000000,58.406250000000}, {345.475041381297,58.786142249068},
-{351.020038715603,59.929523334009}, {351.130689531816,59.972424607386},
-{353.699762084814,61.379594420291}, {355.915109055748,63.288105475323},
-{357.703808635445,65.619192847673}, {358.992939014732,68.294091612533},
-{359.034454681034,69.861443602839}, {107.893088734820,103.841923410053},
-{354.288310985268,69.987158387467}, {352.366140944252,66.657207024677},
-{349.213060468184,64.590075392614}, {349.323711284397,64.632976665991},
-{344.735896118703,63.713857750932}, {337.531250000000,63.406250000000},
-{332.857794724467,63.703555142872}, {328.623330036840,64.608634812517},
-{324.752579123606,66.141235370483}, {321.170265171257,68.321103178315},
-{321.154465452365,68.332461129676}, {318.096133248277,70.895083026646},
-{315.305836782025,74.049024638860}, {312.748673492282,77.846568914895},
-{310.389740817720,82.339998803330}, {307.217701116395,78.951698812366},
-{310.390625000000,78.203125000000}, {310.860805676970,78.247737020270},
-{312.329555676970,78.528987020270}, {312.386989958777,78.540684664611},
-{313.761989958777,78.837559664611}, {313.234375000000,78.781250000000},
-{319.326079287885,78.541090786619}, {325.753402829160,77.817026570910},
-{339.735545390103,74.895663679129}, {350.446985853244,71.354926308487},
-{353.125279138929,69.816467148409}, {354.246795318966,68.419806397161},
-{354.288310985268,69.987158387467}, {107.893088734820,103.841923410053},
-{412.906150029990,61.293260146951}, {409.761470127352,62.134684085464},
-{407.280172710472,63.259435125605}, {407.285792255081,63.256184676520},
-{404.793374271599,64.364965077547}, {402.406250000000,64.781250000000},
-{400.799037804796,64.455489160260}, {399.281565012266,63.565560595750},
-{396.896451926356,60.617324020679}, {395.843750000000,59.187500000000},
-{394.132759007664,59.586356110398}, {392.227223295325,60.862510968959},
-{387.514233459670,66.524236094764}, {387.523930329881,66.510005317299},
-{384.972470502350,70.813073903396}, {383.182220364063,75.072391356081},
-{382.127155126215,79.356608210051}, {381.781250000000,83.734375000000},
-{382.036891605602,86.926476407739}, {382.837535469594,90.232985146136},
-{382.953125000000,90.984375000000}, {382.953125000000,110.781250000000},
-{380.453125000000,113.281250000000}, {374.875000000000,113.281250000000},
-{372.797350977108,112.469290573921}, {370.771127450416,110.197059087430},
-{366.940746762890,102.253660683699}, {366.931766441279,102.229357657717},
-{364.988344509233,95.969248633492}, {363.592635453443,89.400212341223},
-{362.750737781251,82.563409292771}, {362.468750000000,75.500000000000},
-{362.469585639102,75.564633561058}, {362.375835639102,71.939633561058},
-{362.376194806642,71.952282634846}, {362.282444806642,68.921032634846},
-{362.281250000000,68.843750000000}, {362.557974048920,65.558176179264},
-{363.371209408870,62.925233614273}, {365.078767647837,60.585701488502},
-{367.830147985199,58.062445160283}, {369.390625000000,57.515625000000},
-{372.609375000000,57.515625000000}, {375.044088155839,59.448023159988},
-{375.637838155839,61.994898159988}, {375.701153736333,62.463240580013},
-{375.794903736333,64.822615580013}, {375.796875000000,64.921875000000},
-{375.796875000000,66.390625000000}, {375.727843254951,66.974057381188},
-{375.364882971473,68.609156073692}, {375.377354243352,68.535253718305},
-{374.986729243352,71.082128718305}, {375.015625000000,70.703125000000},
-{375.946084438562,73.051058522014}, {371.472688855144,73.407169646001},
-{374.338903268299,66.961197216653}, {377.510670879106,61.308691210684},
-{380.962283852915,56.499192859154}, {384.668034355078,52.582243393122},
-{384.668120639869,52.582165462116}, {388.032154904598,50.002880989291},
-{391.626628158728,48.110057708285}, {395.367786243461,46.944465688666},
-{399.171875000000,46.546875000000}, {400.072873198005,46.714879663986},
-{404.885373198005,48.574254663986}, {404.871260445955,48.568850974212},
-{412.883679720929,50.905386234424}, {414.906250000000,53.359375000000},
-{414.906250000000,58.843750000000}, {412.906150029990,61.293260146951},
-{107.893088734820,103.841923410053}, {409.906250000000,58.843750000000},
-{409.906250000000,53.359375000000}, {411.928820279071,55.813363765576},
-{403.097489554045,53.243649025788}, {403.083376801995,53.238245336014},
-{398.270876801995,51.378870336014}, {399.171875000000,51.546875000000},
-{396.227916881538,51.823112436334}, {393.443684341272,52.679004791715},
-{390.735423220402,54.155322135709}, {388.019379360131,56.292834537884},
-{388.019465644922,56.292756606878}, {384.707638022085,59.784010265846},
-{381.637766620894,64.074121289316}, {378.784143606701,69.212630908347},
-{376.121061144856,75.249080353999}, {371.647665561438,75.605191477986},
-{370.464152438185,73.063686657060}, {370.015625000000,70.703125000000},
-{370.044520756648,70.324121281695}, {370.435145756648,67.777246281695},
-{370.447617028527,67.703343926308}, {370.865906745049,65.807192618812},
-{370.796875000000,66.390625000000}, {370.796875000000,64.921875000000},
-{370.798846263667,65.021134419987}, {370.705096263667,62.661759419987},
-{370.768411844161,63.130101840012}, {370.174661844161,60.583226840012},
-{372.609375000000,62.515625000000}, {369.390625000000,62.515625000000},
-{370.951102014801,61.968804839717}, {367.847540591130,65.152891385727},
-{367.281250000000,68.843750000000}, {367.280055193358,68.766467365154},
-{367.373805193358,71.797717365154}, {367.374164360898,71.810366438942},
-{367.467914360898,75.435366438942}, {367.468750000000,75.500000000000},
-{367.725824718749,82.182684457229}, {368.501114546557,88.552912658777},
-{369.800717990767,94.651845116508}, {371.630733558721,100.520642342283},
-{371.621753237110,100.496339316301}, {374.875000000000,108.281250000000},
-{380.453125000000,108.281250000000}, {377.953125000000,110.781250000000},
-{377.953125000000,90.984375000000}, {378.068714530406,91.735764853864},
-{377.111545894398,87.698523592261}, {376.781250000000,83.734375000000},
-{377.206829248785,78.659016789949}, {378.466217135937,73.583858643919},
-{380.533388872650,68.577551096604}, {383.382319670119,63.708744682701},
-{383.392016540330,63.694513905236}, {386.493443824758,59.714265008269},
-{389.655589204675,56.723426531041}, {392.798881617336,54.841378264602},
-{395.843750000000,54.187500000000}, {397.450962195204,54.513260839740},
-{398.968434987734,55.403189404250}, {401.353548073644,58.351425979321},
-{402.406250000000,59.781250000000}, {404.776707744919,58.931315323480},
-{404.782327289528,58.928064874395}, {408.035404872648,57.459065914536},
-{411.906349970010,56.394239853049}, {409.906250000000,58.843750000000},
-{107.893088734820, 103.841923410053}
-};
diff --git a/perf/micro/zrusin.c b/perf/micro/zrusin.c
deleted file mode 100644 (file)
index aeb9b7a..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-perf.h"
-
-typedef struct {
-    double x;
-    double y;
-} point_t;
-
-#include "zrusin-another.h"
-
-#define ARRAY_SIZE(arr) sizeof(arr)/sizeof(arr[0])
-
-static void
-zrusin_another_path (cairo_t *cr)
-{
-    unsigned int i;
-
-    for (i=0; i < ARRAY_SIZE (zrusin_another); i++)
-       cairo_line_to (cr, zrusin_another[i].x, zrusin_another[i].y);
-}
-
-static cairo_time_t
-zrusin_another_tessellate (cairo_t *cr, int width, int height, int loops)
-{
-    zrusin_another_path (cr);
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    /* We'd like to measure just tessellation without
-     * rasterization. For now, we can do that with cairo_in_fill. But
-     * we'll have to be careful since cairo_in_fill might eventually
-     * be optimized to have an implementation that doesn't necessarily
-     * include tessellation. */
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_in_fill (cr, 50, 50);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-static cairo_time_t
-zrusin_another_fill (cairo_t *cr, int width, int height, int loops)
-{
-    zrusin_another_path (cr);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.8); /* blue */
-
-    cairo_perf_timer_start ();
-    cairo_perf_set_thread_aware (cr, FALSE);
-
-    while (loops--) {
-       if (loops == 0)
-               cairo_perf_set_thread_aware (cr, TRUE);
-       cairo_fill_preserve (cr);
-    }
-
-    cairo_perf_timer_stop ();
-
-    cairo_new_path (cr);
-
-    return cairo_perf_timer_elapsed ();
-}
-
-cairo_bool_t
-zrusin_enabled (cairo_perf_t *perf)
-{
-    return cairo_perf_can_run (perf, "zrusin", NULL);
-}
-
-void
-zrusin (cairo_perf_t *perf, cairo_t *cr, int width, int height)
-{
-
-    cairo_perf_run (perf, "zrusin-another-tessellate", zrusin_another_tessellate, NULL);
-    cairo_perf_run (perf, "zrusin-another-fill", zrusin_another_fill, NULL);
-}
old mode 100644 (file)
new mode 100755 (executable)
index 0bf9cd9..0c9bfbe
@@ -73,6 +73,7 @@ cairo_private = \
        cairo-device-private.h \
        cairo-error-inline.h \
        cairo-error-private.h \
+       cairo-filters-private.h \
        cairo-fixed-private.h \
        cairo-fixed-type-private.h \
        cairo-freelist-private.h \
@@ -81,12 +82,14 @@ cairo_private = \
        cairo-fontconfig-private.h \
        cairo-gstate-private.h \
        cairo-hash-private.h \
+       cairo-image-filters-private.h \
        cairo-image-info-private.h \
        cairo-image-surface-inline.h \
        cairo-image-surface-private.h \
        cairo-list-inline.h \
        cairo-list-private.h \
        cairo-malloc-private.h \
+       cairo-mempool-private.h \
        cairo-mutex-impl-private.h \
        cairo-mutex-list-private.h \
        cairo-mutex-private.h \
@@ -117,6 +120,8 @@ cairo_private = \
        cairo-surface-observer-inline.h \
        cairo-surface-observer-private.h \
        cairo-surface-offset-private.h \
+       cairo-surface-scale-translate-private.h \
+       cairo-surace-shadow-private.h \
        cairo-surface-subsurface-inline.h \
        cairo-surface-subsurface-private.h \
        cairo-surface-snapshot-inline.h \
@@ -129,6 +134,7 @@ cairo_private = \
        cairo-user-font-private.h \
        cairo-wideint-private.h \
        cairo-wideint-type-private.h \
+       cairo-thread-local-private.h \
        $(NULL)
 cairo_sources = \
        cairo-analysis-surface.c \
@@ -160,6 +166,7 @@ cairo_sources = \
        cairo-device.c \
        cairo-error.c \
        cairo-fallback-compositor.c \
+       cairo-filters.c \
        cairo-fixed.c \
        cairo-font-face.c \
        cairo-font-face-twin.c \
@@ -171,6 +178,7 @@ cairo_sources = \
        cairo-hash.c \
        cairo-hull.c \
        cairo-image-compositor.c \
+       cairo-image-filters.c \
        cairo-image-info.c \
        cairo-image-source.c \
        cairo-image-surface.c \
@@ -178,6 +186,7 @@ cairo_sources = \
        cairo-matrix.c \
        cairo-mask-compositor.c \
        cairo-mesh-pattern-rasterizer.c \
+       cairo-mempool.c \
        cairo-misc.c \
        cairo-mono-scan-converter.c \
        cairo-mutex.c \
@@ -193,6 +202,7 @@ cairo_sources = \
        cairo-path-stroke.c \
        cairo-path-stroke-boxes.c \
        cairo-path-stroke-polygon.c \
+       cairo-path-stroke-traps.c \
        cairo-path-stroke-tristrip.c \
        cairo-pattern.c \
        cairo-pen.c \
@@ -218,6 +228,8 @@ cairo_sources = \
        cairo-surface-fallback.c \
        cairo-surface-observer.c \
        cairo-surface-offset.c \
+       cairo-surface-scale-translate.c \
+       cairo-surface-shadow.c \
        cairo-surface-snapshot.c \
        cairo-surface-subsurface.c \
        cairo-surface-wrapper.c \
@@ -311,6 +323,7 @@ cairo_xlib_sources = \
        cairo-xlib-screen.c \
        cairo-xlib-source.c \
        cairo-xlib-surface.c \
+       cairo-xlib-surface-shm.c \
        cairo-xlib-visual.c \
        cairo-xlib-xcb-surface.c \
        $(NULL)
@@ -327,7 +340,6 @@ cairo_xcb_sources = \
                    cairo-xcb-screen.c \
                    cairo-xcb-shm.c \
                    cairo-xcb-surface.c \
-                   cairo-xcb-surface-cairo.c \
                    cairo-xcb-surface-core.c \
                    cairo-xcb-surface-render.c \
                    $(NULL)
@@ -337,7 +349,8 @@ cairo_qt_cxx_sources = cairo-qt-surface.cpp
 
 cairo_quartz_headers = cairo-quartz.h
 cairo_quartz_private = cairo-quartz-private.h
-cairo_quartz_sources = cairo-quartz-surface.c
+cairo_quartz_sources = cairo-quartz-surface.c \
+                      cairo-quartz-filters.c
 
 cairo_quartz_image_headers = cairo-quartz-image.h
 cairo_quartz_image_sources = cairo-quartz-image-surface.c
@@ -389,6 +402,7 @@ cairo_gl_sources = cairo-gl-composite.c \
                   cairo-gl-info.c \
                   cairo-gl-operand.c \
                   cairo-gl-shaders.c \
+                  cairo-gl-filters.c \
                   cairo-gl-hairline-stroke.c \
                   cairo-gl-msaa-compositor.c \
                   cairo-gl-spans-compositor.c \
@@ -400,9 +414,43 @@ cairo_glesv2_headers = $(cairo_gl_headers)
 cairo_glesv2_private = $(cairo_gl_private)
 cairo_glesv2_sources = $(cairo_gl_sources)
 
+cairo_glesv3_headers = $(cairo_gl_headers)
+cairo_glesv3_private = $(cairo_gl_private)
+cairo_glesv3_sources = $(cairo_gl_sources)
+
+if CAIRO_HAS_EVASGL_SURFACE
+if CAIRO_HAS_GL_SURFACE
+cairo_evasgl_headers =
+cairo_evasgl_private =
+cairo_evasgl_sources =
+else
+if CAIRO_HAS_GLESV2_SURFACE
+cairo_evasgl_headers =
+cairo_evasgl_private =
+cairo_evasgl_sources =
+else
+if CAIRO_HAS_GLESV3_SURFACE
+cairo_evasgl_headers =
+cairo_evasgl_private =
+cairo_evasgl_sources =
+else
+cairo_evasgl_headers = $(cairo_gl_headers)
+cairo_evasgl_private = $(cairo_gl_private)
+cairo_evasgl_sources = $(cairo_gl_sources)
+endif
+endif
+endif
+else
+cairo_evasgl_headers =
+cairo_evasgl_private =
+cairo_evasgl_sources =
+endif
+
 cairo_egl_sources += cairo-egl-context.c
 cairo_glx_sources += cairo-glx-context.c
 cairo_wgl_sources += cairo-wgl-context.c
+cairo_evasgl_headers += cairo-evas-gl.h
+cairo_evasgl_sources += cairo-evas-gl-context.c
 
 cairo_directfb_headers = cairo-directfb.h
 cairo_directfb_sources = cairo-directfb-surface.c
@@ -463,3 +511,11 @@ cairo_cogl_sources = cairo-cogl-surface.c \
                     cairo-cogl-gradient.c \
                     cairo-cogl-context.c \
                     cairo-cogl-utils.c
+
+cairo_tg_headers = cairo-tg.h
+cairo_tg_private = cairo-tg-private.h \
+                  cairo-tg-allocator-private.h \
+                  cairo-tg-journal-private.h \
+                  cairo-tg-composite-extents-private.h
+cairo_tg_sources = cairo-tg-surface.c \
+                  cairo-tg-journal.c
index 2274f4a..2681170 100644 (file)
@@ -21,6 +21,24 @@ enabled_cairo_sources = $(cairo_sources)
 all_cairo_pkgconf = cairo.pc
 enabled_cairo_pkgconf = cairo.pc
 
+all_cairo_private += $(cairo_tls_private) $(cairo_tls_headers)
+all_cairo_cxx_sources += $(cairo_tls_cxx_sources)
+all_cairo_sources += $(cairo_tls_sources)
+ifeq ($(CAIRO_HAS_TLS),1)
+enabled_cairo_private += $(cairo_tls_private) $(cairo_tls_headers)
+enabled_cairo_cxx_sources += $(cairo_tls_cxx_sources)
+enabled_cairo_sources += $(cairo_tls_sources)
+endif
+
+all_cairo_private += $(cairo_pthread_setspecific_private) $(cairo_pthread_setspecific_headers)
+all_cairo_cxx_sources += $(cairo_pthread_setspecific_cxx_sources)
+all_cairo_sources += $(cairo_pthread_setspecific_sources)
+ifeq ($(CAIRO_HAS_PTHREAD_SETSPECIFIC),1)
+enabled_cairo_private += $(cairo_pthread_setspecific_private) $(cairo_pthread_setspecific_headers)
+enabled_cairo_cxx_sources += $(cairo_pthread_setspecific_cxx_sources)
+enabled_cairo_sources += $(cairo_pthread_setspecific_sources)
+endif
+
 supported_cairo_headers += $(cairo_xlib_headers)
 all_cairo_headers += $(cairo_xlib_headers)
 all_cairo_private += $(cairo_xlib_private)
@@ -309,6 +327,22 @@ ifeq ($(CAIRO_HAS_GL_SURFACE),1)
 enabled_cairo_pkgconf += cairo-gl.pc
 endif
 
+unsupported_cairo_headers += $(cairo_evasgl_headers)
+all_cairo_headers += $(cairo_evasgl_headers)
+all_cairo_private += $(cairo_evasgl_private)
+all_cairo_cxx_sources += $(cairo_evasgl_cxx_sources)
+all_cairo_sources += $(cairo_evasgl_sources)
+ifeq ($(CAIRO_HAS_EVASGL_SURFACE),1)
+enabled_cairo_headers += $(cairo_evasgl_headers)
+enabled_cairo_private += $(cairo_evasgl_private)
+enabled_cairo_cxx_sources += $(cairo_evasgl_cxx_sources)
+enabled_cairo_sources += $(cairo_evasgl_sources)
+endif
+all_cairo_pkgconf += cairo-evasgl.pc
+ifeq ($(CAIRO_HAS_EVASGL_SURFACE),1)
+enabled_cairo_pkgconf += cairo-evasgl.pc
+endif
+
 unsupported_cairo_headers += $(cairo_glesv2_headers)
 all_cairo_headers += $(cairo_glesv2_headers)
 all_cairo_private += $(cairo_glesv2_private)
@@ -325,6 +359,22 @@ ifeq ($(CAIRO_HAS_GLESV2_SURFACE),1)
 enabled_cairo_pkgconf += cairo-glesv2.pc
 endif
 
+unsupported_cairo_headers += $(cairo_glesv3_headers)
+all_cairo_headers += $(cairo_glesv3_headers)
+all_cairo_private += $(cairo_glesv3_private)
+all_cairo_cxx_sources += $(cairo_glesv3_cxx_sources)
+all_cairo_sources += $(cairo_glesv3_sources)
+ifeq ($(CAIRO_HAS_GLESV3_SURFACE),1)
+enabled_cairo_headers += $(cairo_glesv3_headers)
+enabled_cairo_private += $(cairo_glesv3_private)
+enabled_cairo_cxx_sources += $(cairo_glesv3_cxx_sources)
+enabled_cairo_sources += $(cairo_glesv3_sources)
+endif
+all_cairo_pkgconf += cairo-glesv3.pc
+ifeq ($(CAIRO_HAS_GLESV3_SURFACE),1)
+enabled_cairo_pkgconf += cairo-glesv3.pc
+endif
+
 unsupported_cairo_headers += $(cairo_cogl_headers)
 all_cairo_headers += $(cairo_cogl_headers)
 all_cairo_private += $(cairo_cogl_private)
@@ -357,6 +407,22 @@ ifeq ($(CAIRO_HAS_DIRECTFB_SURFACE),1)
 enabled_cairo_pkgconf += cairo-directfb.pc
 endif
 
+unsupported_cairo_headers += $(cairo_tg_headers)
+all_cairo_headers += $(cairo_tg_headers)
+all_cairo_private += $(cairo_tg_private)
+all_cairo_cxx_sources += $(cairo_tg_cxx_sources)
+all_cairo_sources += $(cairo_tg_sources)
+ifeq ($(CAIRO_HAS_TG_SURFACE),1)
+enabled_cairo_headers += $(cairo_tg_headers)
+enabled_cairo_private += $(cairo_tg_private)
+enabled_cairo_cxx_sources += $(cairo_tg_cxx_sources)
+enabled_cairo_sources += $(cairo_tg_sources)
+endif
+all_cairo_pkgconf += cairo-tg.pc
+ifeq ($(CAIRO_HAS_TG_SURFACE),1)
+enabled_cairo_pkgconf += cairo-tg.pc
+endif
+
 unsupported_cairo_headers += $(cairo_vg_headers)
 all_cairo_headers += $(cairo_vg_headers)
 all_cairo_private += $(cairo_vg_private)
@@ -608,6 +674,15 @@ enabled_cairo_private += $(cairo_user_private)
 enabled_cairo_cxx_sources += $(cairo_user_cxx_sources)
 enabled_cairo_sources += $(cairo_user_sources)
 
+all_cairo_private += $(cairo_openmp_private) $(cairo_openmp_headers)
+all_cairo_cxx_sources += $(cairo_openmp_cxx_sources)
+all_cairo_sources += $(cairo_openmp_sources)
+ifeq ($(CAIRO_HAS_OPENMP),1)
+enabled_cairo_private += $(cairo_openmp_private) $(cairo_openmp_headers)
+enabled_cairo_cxx_sources += $(cairo_openmp_cxx_sources)
+enabled_cairo_sources += $(cairo_openmp_sources)
+endif
+
 all_cairo_private += $(cairo_pthread_private) $(cairo_pthread_headers)
 all_cairo_cxx_sources += $(cairo_pthread_cxx_sources)
 all_cairo_sources += $(cairo_pthread_sources)
index 8516094..6717f73 100644 (file)
@@ -160,8 +160,12 @@ _analyze_recording_surface_pattern (cairo_analysis_surface_t *surface,
 
     tmp = (cairo_analysis_surface_t *)
        _cairo_analysis_surface_create (surface->target);
-    if (unlikely (tmp->base.status))
-       return tmp->base.status;
+    if (unlikely (tmp->base.status)) {
+       status = tmp->base.status;
+       cairo_surface_destroy (&tmp->base);
+       return status;
+    }
+
     proxy = attach_proxy (source, &tmp->base);
 
     p2d = pattern->matrix;
index 4f3c082..e37bb99 100644 (file)
@@ -240,7 +240,9 @@ _cairo_array_copy_element (const cairo_array_t *array,
                           unsigned int         index,
                           void                *dst)
 {
-    memcpy (dst, _cairo_array_index_const (array, index), array->element_size);
+    void *src = _cairo_array_index_const (array, index);
+    if(src != NULL)
+       memcpy (dst, src, array->element_size);
 }
 
 /**
index 1dd5ea0..cc5d5f3 100644 (file)
@@ -37,6 +37,7 @@
 #define CAIRO_BACKEND_PRIVATE_H
 
 #include "cairo-types-private.h"
+#include "cairo-private.h"
 
 typedef enum _cairo_backend_type {
     CAIRO_TYPE_DEFAULT,
@@ -96,6 +97,11 @@ struct _cairo_backend {
     void (*device_to_user) (void *cr, double *x, double *y);
     void (*device_to_user_distance) (void *cr, double *x, double *y);
 
+    void (*user_to_backend) (void *cr, double *x, double *y);
+    void (*user_to_backend_distance) (void *cr, double *x, double *y);
+    void (*backend_to_user) (void *cr, double *x, double *y);
+    void (*backend_to_user_distance) (void *cr, double *x, double *y);
+
     cairo_status_t (*new_path) (void *cr);
     cairo_status_t (*new_sub_path) (void *cr);
     cairo_status_t (*move_to) (void *cr, double x, double y);
@@ -166,6 +172,48 @@ struct _cairo_backend {
 
     cairo_status_t (*copy_page) (void *cr);
     cairo_status_t (*show_page) (void *cr);
+
+    cairo_status_t (*set_shadow) (void *cr, cairo_shadow_type_t shadow);
+    cairo_status_t (*set_shadow_offset) (void *cr,
+                                        double x_offset,
+                                        double y_offset);
+    cairo_status_t (*set_shadow_rgba) (void *cr,
+                                      double red,
+                                      double green,
+                                      double blue,
+                                      double alpha);
+    cairo_status_t (*set_shadow_blur) (void *cr,
+                                      double x_blur,
+                                      double y_blur);
+    void       (*set_draw_shadow_only) (void *cr,
+                                       cairo_bool_t draw_shadow_only);
+    void        (*shadow_enable_cache) (void *cr, cairo_bool_t enable);
+    void       (*set_path_is_inset_shadow_with_spread) (void *cr,
+                                                       cairo_bool_t is_spread_path);
 };
 
+static inline void
+_cairo_backend_to_user (cairo_t *cr, double *x, double *y)
+{
+    cr->backend->backend_to_user (cr, x, y);
+}
+
+static inline void
+_cairo_backend_to_user_distance (cairo_t *cr, double *x, double *y)
+{
+    cr->backend->backend_to_user_distance (cr, x, y);
+}
+
+static inline void
+_cairo_user_to_backend (cairo_t *cr, double *x, double *y)
+{
+    cr->backend->user_to_backend (cr, x, y);
+}
+
+static inline void
+_cairo_user_to_backend_distance (cairo_t *cr, double *x, double *y)
+{
+    cr->backend->user_to_backend_distance (cr, x, y);
+}
+
 #endif /* CAIRO_BACKEND_PRIVATE_H */
index b69d425..5541bdc 100644 (file)
@@ -487,6 +487,8 @@ active_edges_to_traps (sweep_line_t *sweep)
            }
 
            if (winding == 0) {
+               if (left->right != NULL)
+                   edge_end_box (sweep, left, top);
                pos = right;
                continue;
            }
@@ -557,7 +559,7 @@ sweep_line_delete_edge (sweep_line_t *sweep, edge_t *edge)
 }
 
 static inline cairo_bool_t
-sweep_line_delete (sweep_line_t        *sweep, rectangle_t     *rectangle)
+sweep_line_delete (sweep_line_t        *sweep, rectangle_t *rectangle)
 {
     cairo_bool_t update;
 
@@ -651,7 +653,6 @@ _cairo_bentley_ottmann_tessellate_rectangular (rectangle_t  **rectangles,
                active_edges_to_traps (&sweep_line);
                update = FALSE;
            }
-
            sweep_line.current_y = rectangle->bottom;
        }
 
index 38fe463..7259add 100644 (file)
@@ -72,6 +72,7 @@ struct _cairo_bo_edge {
     cairo_edge_t edge;
     cairo_bo_edge_t *prev;
     cairo_bo_edge_t *next;
+    cairo_bo_edge_t *colinear;
     cairo_bo_trap_t deferred_trap;
 };
 
@@ -561,8 +562,8 @@ _line_equal (const cairo_line_t *a, const cairo_line_t *b)
            a->p2.x == b->p2.x && a->p2.y == b->p2.y;
 }
 
-static int
-_cairo_bo_sweep_line_compare_edges (cairo_bo_sweep_line_t      *sweep_line,
+static inline int
+_cairo_bo_sweep_line_compare_edges (const cairo_bo_sweep_line_t        *sweep_line,
                                    const cairo_bo_edge_t       *a,
                                    const cairo_bo_edge_t       *b)
 {
@@ -1118,7 +1119,7 @@ _cairo_bo_sweep_line_init (cairo_bo_sweep_line_t *sweep_line)
     sweep_line->current_edge = NULL;
 }
 
-static cairo_status_t
+static void
 _cairo_bo_sweep_line_insert (cairo_bo_sweep_line_t     *sweep_line,
                             cairo_bo_edge_t            *edge)
 {
@@ -1175,8 +1176,6 @@ _cairo_bo_sweep_line_insert (cairo_bo_sweep_line_t        *sweep_line,
     }
 
     sweep_line->current_edge = edge;
-
-    return CAIRO_STATUS_SUCCESS;
 }
 
 static void
@@ -1310,41 +1309,61 @@ event_log (const char *fmt, ...)
 }
 #endif
 
+#define HAS_COLINEAR(a, b) ((cairo_bo_edge_t *)(((uintptr_t)(a))&~1) == (b))
+#define IS_COLINEAR(e) (((uintptr_t)(e))&1)
+#define MARK_COLINEAR(e, v) ((cairo_bo_edge_t *)(((uintptr_t)(e))|(v)))
+
 static inline cairo_bool_t
-edges_colinear (const cairo_bo_edge_t *a, const cairo_bo_edge_t *b)
+edges_colinear (cairo_bo_edge_t *a, const cairo_bo_edge_t *b)
 {
     unsigned p;
 
+    if (HAS_COLINEAR(a->colinear, b))
+       return IS_COLINEAR(a->colinear);
+
+    if (HAS_COLINEAR(b->colinear, a)) {
+       p = IS_COLINEAR(b->colinear);
+       a->colinear = MARK_COLINEAR(b, p);
+       return p;
+    }
+
     p = 0;
     p |= (a->edge.line.p1.x == b->edge.line.p1.x) << 0;
     p |= (a->edge.line.p1.y == b->edge.line.p1.y) << 1;
     p |= (a->edge.line.p2.x == b->edge.line.p2.x) << 3;
     p |= (a->edge.line.p2.y == b->edge.line.p2.y) << 4;
-    if (p == ((1 << 0) | (1 << 1) | (1 << 3) | (1 << 4)))
+    if (p == ((1 << 0) | (1 << 1) | (1 << 3) | (1 << 4))) {
+       a->colinear = MARK_COLINEAR(b, 1);
        return TRUE;
+    }
 
-    if (_slope_compare (a, b))
+    if (_slope_compare (a, b)) {
+       a->colinear = MARK_COLINEAR(b, 0);
        return FALSE;
+    }
 
     /* The choice of y is not truly arbitrary since we must guarantee that it
      * is greater than the start of either line.
      */
     if (p != 0) {
        /* colinear if either end-point are coincident */
-       return ((p >> 1) & p) != 0;
+       p = (((p >> 1) & p) & 5) != 0;
     } else if (a->edge.line.p1.y < b->edge.line.p1.y) {
-       return edge_compare_for_y_against_x (b,
-                                            a->edge.line.p1.y,
-                                            a->edge.line.p1.x) == 0;
+       p = edge_compare_for_y_against_x (b,
+                                         a->edge.line.p1.y,
+                                         a->edge.line.p1.x) == 0;
     } else {
-       return edge_compare_for_y_against_x (a,
-                                            b->edge.line.p1.y,
-                                            b->edge.line.p1.x) == 0;
+       p = edge_compare_for_y_against_x (a,
+                                         b->edge.line.p1.y,
+                                         b->edge.line.p1.x) == 0;
     }
+
+    a->colinear = MARK_COLINEAR(b, p);
+    return p;
 }
 
 /* Adds the trapezoid, if any, of the left edge to the #cairo_traps_t */
-static cairo_status_t
+static void
 _cairo_bo_edge_end_trap (cairo_bo_edge_t       *left,
                         int32_t                 bot,
                         cairo_traps_t          *traps)
@@ -1376,8 +1395,6 @@ _cairo_bo_edge_end_trap (cairo_bo_edge_t  *left,
     }
 
     trap->right = NULL;
-
-    return _cairo_traps_status (traps);
 }
 
 
@@ -1386,16 +1403,14 @@ _cairo_bo_edge_end_trap (cairo_bo_edge_t        *left,
  * then either add it to the traps in `traps', if the trapezoid's
  * right edge differs from `edge->next', or do nothing if the new
  * trapezoid would be a continuation of the existing one. */
-static inline cairo_status_t
+static inline void
 _cairo_bo_edge_start_or_continue_trap (cairo_bo_edge_t *left,
                                       cairo_bo_edge_t  *right,
                                       int               top,
                                       cairo_traps_t    *traps)
 {
-    cairo_status_t status;
-
     if (left->deferred_trap.right == right)
-       return CAIRO_STATUS_SUCCESS;
+       return;
 
     assert (right);
     if (left->deferred_trap.right != NULL) {
@@ -1403,12 +1418,10 @@ _cairo_bo_edge_start_or_continue_trap (cairo_bo_edge_t  *left,
        {
            /* continuation on right, so just swap edges */
            left->deferred_trap.right = right;
-           return CAIRO_STATUS_SUCCESS;
+           return;
        }
 
-       status = _cairo_bo_edge_end_trap (left, top, traps);
-       if (unlikely (status))
-           return status;
+       _cairo_bo_edge_end_trap (left, top, traps);
     }
 
     if (! edges_colinear (left, right)) {
@@ -1422,18 +1435,15 @@ _cairo_bo_edge_start_or_continue_trap (cairo_bo_edge_t  *left,
                   top);
 #endif
     }
-
-    return CAIRO_STATUS_SUCCESS;
 }
 
-static inline cairo_status_t
+static inline void
 _active_edges_to_traps (cairo_bo_edge_t        *pos,
                        int32_t          top,
                        unsigned         mask,
                        cairo_traps_t        *traps)
 {
     cairo_bo_edge_t *left;
-    cairo_status_t status;
     int in_out;
 
 
@@ -1457,9 +1467,7 @@ _active_edges_to_traps (cairo_bo_edge_t   *pos,
            }
            else
            {
-               status = _cairo_bo_edge_end_trap (pos, top, traps);
-               if (unlikely (status))
-                   return status;
+               _cairo_bo_edge_end_trap (pos, top, traps);
            }
        }
 
@@ -1467,22 +1475,15 @@ _active_edges_to_traps (cairo_bo_edge_t *pos,
        if ((in_out & mask) == 0) {
            /* skip co-linear edges */
            if (pos->next == NULL || ! edges_colinear (pos, pos->next)) {
-               status = _cairo_bo_edge_start_or_continue_trap (left, pos,
-                                                               top, traps);
-               if (unlikely (status))
-                   return status;
-
+               _cairo_bo_edge_start_or_continue_trap (left, pos, top, traps);
                left = pos->next;
            }
        }
 
        pos = pos->next;
     }
-
-    return CAIRO_STATUS_SUCCESS;
 }
 
-
 /* Execute a single pass of the Bentley-Ottmann algorithm on edges,
  * generating trapezoids according to the fill_rule and appending them
  * to traps. */
@@ -1493,7 +1494,7 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t   **start_events,
                                            cairo_traps_t       *traps,
                                            int                 *num_intersections)
 {
-    cairo_status_t status = CAIRO_STATUS_SUCCESS; /* silence compiler */
+    cairo_status_t status;
     int intersection_count = 0;
     cairo_bo_event_queue_t event_queue;
     cairo_bo_sweep_line_t sweep_line;
@@ -1534,20 +1535,16 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t   **start_events,
        if (event->point.y != sweep_line.current_y) {
            for (e1 = sweep_line.stopped; e1; e1 = e1->next) {
                if (e1->deferred_trap.right != NULL) {
-                   status = _cairo_bo_edge_end_trap (e1,
-                                                     e1->edge.bottom,
-                                                     traps);
-                   if (unlikely (status))
-                       goto unwind;
+                   _cairo_bo_edge_end_trap (e1,
+                                            e1->edge.bottom,
+                                            traps);
                }
            }
            sweep_line.stopped = NULL;
 
-           status = _active_edges_to_traps (sweep_line.head,
-                                            sweep_line.current_y,
-                                            fill_rule, traps);
-           if (unlikely (status))
-               goto unwind;
+           _active_edges_to_traps (sweep_line.head,
+                                   sweep_line.current_y,
+                                   fill_rule, traps);
 
            sweep_line.current_y = event->point.y;
        }
@@ -1565,9 +1562,7 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t   **start_events,
        case CAIRO_BO_EVENT_TYPE_START:
            e1 = &((cairo_bo_start_event_t *) event)->edge;
 
-           status = _cairo_bo_sweep_line_insert (&sweep_line, e1);
-           if (unlikely (status))
-               goto unwind;
+           _cairo_bo_sweep_line_insert (&sweep_line, e1);
 
            status = _cairo_bo_event_queue_insert_stop (&event_queue, e1);
            if (unlikely (status))
@@ -1670,11 +1665,10 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t   **start_events,
     *num_intersections = intersection_count;
     for (e1 = sweep_line.stopped; e1; e1 = e1->next) {
        if (e1->deferred_trap.right != NULL) {
-           status = _cairo_bo_edge_end_trap (e1, e1->edge.bottom, traps);
-           if (unlikely (status))
-               break;
+           _cairo_bo_edge_end_trap (e1, e1->edge.bottom, traps);
        }
     }
+    status = traps->status;
  unwind:
     _cairo_bo_event_queue_fini (&event_queue);
 
@@ -1691,14 +1685,14 @@ _cairo_bentley_ottmann_tessellate_polygon (cairo_traps_t         *traps,
                                           cairo_fill_rule_t      fill_rule)
 {
     int intersections;
-    cairo_status_t status;
     cairo_bo_start_event_t stack_events[CAIRO_STACK_ARRAY_LENGTH (cairo_bo_start_event_t)];
     cairo_bo_start_event_t *events;
     cairo_bo_event_t *stack_event_ptrs[ARRAY_LENGTH (stack_events) + 1];
     cairo_bo_event_t **event_ptrs;
     cairo_bo_start_event_t *stack_event_y[64];
     cairo_bo_start_event_t **event_y = NULL;
-    int i, num_events, y, ymin, ymax;
+    int i, num_events, y, ymin = 0, ymax = 0;
+    cairo_status_t status;
 
     num_events = polygon->num_edges;
     if (unlikely (0 == num_events))
@@ -1708,10 +1702,13 @@ _cairo_bentley_ottmann_tessellate_polygon (cairo_traps_t         *traps,
        ymin = _cairo_fixed_integer_floor (polygon->limit.p1.y);
        ymax = _cairo_fixed_integer_ceil (polygon->limit.p2.y) - ymin;
 
-       if (ymax > 64)
+       if (ymax > 64) {
            event_y = _cairo_malloc_ab(sizeof (cairo_bo_event_t*), ymax);
-       else
+           if (unlikely (event_y == NULL))
+               return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       } else {
            event_y = stack_event_y;
+       }
        memset (event_y, 0, ymax * sizeof(cairo_bo_event_t *));
     }
 
@@ -1722,8 +1719,11 @@ _cairo_bentley_ottmann_tessellate_polygon (cairo_traps_t  *traps,
                                          sizeof (cairo_bo_start_event_t) +
                                          sizeof (cairo_bo_event_t *),
                                          sizeof (cairo_bo_event_t *));
-       if (unlikely (events == NULL))
+       if (unlikely (events == NULL)) {
+           if (event_y != stack_event_y)
+               free (event_y);
            return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       }
 
        event_ptrs = (cairo_bo_event_t **) (events + num_events);
     }
@@ -1739,6 +1739,7 @@ _cairo_bentley_ottmann_tessellate_polygon (cairo_traps_t   *traps,
        events[i].edge.deferred_trap.right = NULL;
        events[i].edge.prev = NULL;
        events[i].edge.next = NULL;
+       events[i].edge.colinear = NULL;
 
        if (event_y) {
            y = _cairo_fixed_integer_floor (events[i].point.y) - ymin;
diff --git a/src/cairo-box-private.h b/src/cairo-box-private.h
deleted file mode 100644 (file)
index d6b9941..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright © 2010 Andrea Canciani
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * Contributor(s):
- *     Andrea Canciani <ranma42@gmail.com>
- */
-
-#ifndef CAIRO_BOX_H
-#define CAIRO_BOX_H
-
-#include "cairo-types-private.h"
-#include "cairo-compiler-private.h"
-#include "cairo-fixed-private.h"
-
-static inline void
-_cairo_box_set (cairo_box_t *box,
-               const cairo_point_t *p1,
-               const cairo_point_t *p2)
-{
-    box->p1 = *p1;
-    box->p2 = *p2;
-}
-
-static inline void
-_cairo_box_from_integers (cairo_box_t *box, int x, int y, int w, int h)
-{
-    box->p1.x = _cairo_fixed_from_int (x);
-    box->p1.y = _cairo_fixed_from_int (y);
-    box->p2.x = _cairo_fixed_from_int (x + w);
-    box->p2.y = _cairo_fixed_from_int (y + h);
-}
-
-/* assumes box->p1 is top-left, p2 bottom-right */
-static inline void
-_cairo_box_add_point (cairo_box_t *box,
-                     const cairo_point_t *point)
-{
-    if (point->x < box->p1.x)
-       box->p1.x = point->x;
-    else if (point->x > box->p2.x)
-       box->p2.x = point->x;
-
-    if (point->y < box->p1.y)
-       box->p1.y = point->y;
-    else if (point->y > box->p2.y)
-       box->p2.y = point->y;
-}
-
-static inline void
-_cairo_box_add_box (cairo_box_t *box,
-                   const cairo_box_t *add)
-{
-    if (add->p1.x < box->p1.x)
-       box->p1.x = add->p1.x;
-    if (add->p2.x > box->p2.x)
-       box->p2.x = add->p2.x;
-
-    if (add->p1.y < box->p1.y)
-       box->p1.y = add->p1.y;
-    if (add->p2.y > box->p2.y)
-       box->p2.y = add->p2.y;
-}
-
-/* assumes box->p1 is top-left, p2 bottom-right */
-static inline cairo_bool_t
-_cairo_box_contains_point (const cairo_box_t *box,
-                          const cairo_point_t *point)
-{
-    return box->p1.x <= point->x  && point->x <= box->p2.x &&
-       box->p1.y <= point->y  && point->y <= box->p2.y;
-}
-
-static inline cairo_bool_t
-_cairo_box_is_pixel_aligned (const cairo_box_t *box)
-{
-#if CAIRO_FIXED_FRAC_BITS <= 8 && 0
-    return ((box->p1.x & CAIRO_FIXED_FRAC_MASK) << 24 |
-           (box->p1.y & CAIRO_FIXED_FRAC_MASK) << 16 |
-           (box->p2.x & CAIRO_FIXED_FRAC_MASK) << 8 |
-           (box->p2.y & CAIRO_FIXED_FRAC_MASK) << 0) == 0;
-#else /* GCC on i7 prefers this variant (bizarrely according to the profiler) */
-    cairo_fixed_t f;
-
-    f = 0;
-    f |= box->p1.x & CAIRO_FIXED_FRAC_MASK;
-    f |= box->p1.y & CAIRO_FIXED_FRAC_MASK;
-    f |= box->p2.x & CAIRO_FIXED_FRAC_MASK;
-    f |= box->p2.y & CAIRO_FIXED_FRAC_MASK;
-
-    return f == 0;
-#endif
-}
-
-#endif /* CAIRO_BOX_H */
index db6fdf7..6e60568 100644 (file)
@@ -1,3 +1,4 @@
+/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
 /* cairo - a vector graphics library with display and print output
  *
  * Copyright © 2006 Adrian Johnson
@@ -51,6 +52,7 @@
 #include "cairo-scaled-font-subsets-private.h"
 #include "cairo-truetype-subset-private.h"
 #include <string.h>
+#include <locale.h>
 
 /* CFF Dict Operators. If the high byte is 0 the command is encoded
  * with a single byte. */
@@ -151,8 +153,8 @@ typedef struct _cairo_cff_font {
     int                 units_per_em;
     int                 global_sub_bias;
     int                         local_sub_bias;
-    int                  default_width;
-    int                  nominal_width;
+    double               default_width;
+    double               nominal_width;
 
     /* CID Font Data */
     int                 *fdselect;
@@ -161,8 +163,8 @@ typedef struct _cairo_cff_font {
     cairo_hash_table_t **fd_private_dict;
     cairo_array_t       *fd_local_sub_index;
     int                        *fd_local_sub_bias;
-    int                 *fd_default_width;
-    int                 *fd_nominal_width;
+    double              *fd_default_width;
+    double              *fd_nominal_width;
 
     /* Subsetted Font Data */
     char                *subset_font_name;
@@ -293,10 +295,22 @@ decode_nibble (int n, char *buf)
 static unsigned char *
 decode_real (unsigned char *p, double *real)
 {
+    struct lconv *locale_data;
+    const char *decimal_point;
+    int decimal_point_len;
     int n;
     char buffer[100];
+    char buffer2[200];
+    char *q;
     char *buf = buffer;
-    char *buf_end = buffer + sizeof (buf);
+    char *buf_end = buffer + sizeof (buffer);
+
+    locale_data = localeconv ();
+    decimal_point = locale_data->decimal_point;
+    decimal_point_len = strlen (decimal_point);
+
+    assert (decimal_point_len != 0);
+    assert (sizeof(buffer) + decimal_point_len < sizeof(buffer2));
 
     p++;
     while (buf + 2 < buf_end) {
@@ -312,7 +326,18 @@ decode_real (unsigned char *p, double *real)
     };
     *buf = 0;
 
-    if (sscanf(buffer, "%lf", real) != 1)
+    buf = buffer;
+    if (strchr (buffer, '.')) {
+        q = strchr (buffer, '.');
+        strncpy (buffer2, buffer, q - buffer);
+        buf = buffer2 + (q - buffer);
+        strncpy (buf, decimal_point, decimal_point_len);
+        buf += decimal_point_len;
+        strcpy (buf, q + 1);
+        buf = buffer2;
+    }
+
+    if (sscanf(buf, "%lf", real) != 1)
         *real = 0.0;
 
     return p;
@@ -515,6 +540,9 @@ cff_index_set_object (cairo_array_t *index, int obj_index,
     cff_index_element_t *element;
 
     element = _cairo_array_index (index, obj_index);
+    if (element == NULL)
+       return;
+
     if (element->is_copy)
         free (element->data);
 
@@ -855,7 +883,10 @@ cairo_cff_font_read_name (cairo_cff_font_t *font)
     status = cff_index_read (&index, &font->current_ptr, font->data_end);
     if (!font->is_opentype) {
         element = _cairo_array_index (&index, 0);
-       p = element->data;
+       if (element == NULL)
+           return _cairo_error (CAIRO_STATUS_NULL_POINTER);
+
+    p = element->data;
        len = element->length;
 
        /* If font name is prefixed with a subset tag, strip it off. */
@@ -886,8 +917,8 @@ cairo_cff_font_read_private_dict (cairo_cff_font_t   *font,
                                   cairo_array_t      *local_sub_index,
                                   int                *local_sub_bias,
                                   cairo_bool_t      **local_subs_used,
-                                  int                *default_width,
-                                  int                *nominal_width,
+                                  double             *default_width,
+                                  double             *nominal_width,
                                   unsigned char      *ptr,
                                   int                 size)
 {
@@ -922,12 +953,12 @@ cairo_cff_font_read_private_dict (cairo_cff_font_t   *font,
     *default_width = 0;
     operand = cff_dict_get_operands (private_dict, DEFAULTWIDTH_OP, &i);
     if (operand)
-        decode_integer (operand, default_width);
+        decode_number (operand, default_width);
 
     *nominal_width = 0;
     operand = cff_dict_get_operands (private_dict, NOMINALWIDTH_OP, &i);
     if (operand)
-        decode_integer (operand, nominal_width);
+        decode_number (operand, nominal_width);
 
     num_subs = _cairo_array_num_elements (local_sub_index);
     *local_subs_used = calloc (num_subs, sizeof (cairo_bool_t));
@@ -1161,6 +1192,11 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font)
         goto fail;
 
     element = _cairo_array_index (&index, 0);
+    if (element == NULL) {
+        status = CAIRO_STATUS_NULL_POINTER;
+        goto fail;
+    }
+
     status = cff_dict_read (font->top_dict, element->data, element->length);
     if (unlikely (status))
         goto fail;
@@ -1171,6 +1207,11 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font)
         font->is_cid = FALSE;
 
     operand = cff_dict_get_operands (font->top_dict, CHARSTRINGS_OP, &size);
+    if (operand == NULL) {
+       status = CAIRO_STATUS_NULL_POINTER;
+       goto fail;
+    }
+
     decode_integer (operand, &offset);
     p = font->data + offset;
     status = cff_index_read (&font->charstrings_index, &p, font->data_end);
@@ -1178,26 +1219,37 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font)
         goto fail;
     font->num_glyphs = _cairo_array_num_elements (&font->charstrings_index);
 
-    operand = cff_dict_get_operands (font->top_dict, CHARSET_OP, &size);
-    if (font->is_cid && !operand)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
+    if (font->is_cid) {
+        operand = cff_dict_get_operands (font->top_dict, CHARSET_OP, &size);
+        if (!operand)
+             return CAIRO_INT_STATUS_UNSUPPORTED;
 
-    decode_integer (operand, &offset);
-    font->charset = font->data + offset;
-    if (font->charset >= font->data_end)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
+        decode_integer (operand, &offset);
+        font->charset = font->data + offset;
+        if (font->charset >= font->data_end)
+             return CAIRO_INT_STATUS_UNSUPPORTED;
+    }
 
     if (!font->is_opentype)
         cairo_cff_font_read_font_metrics (font, font->top_dict);
 
     if (font->is_cid) {
         operand = cff_dict_get_operands (font->top_dict, FDSELECT_OP, &size);
+       if (operand == NULL) {
+           status = CAIRO_STATUS_NULL_POINTER;
+            goto fail;
+       }
         decode_integer (operand, &offset);
         status = cairo_cff_font_read_fdselect (font, font->data + offset);
        if (unlikely (status))
            goto fail;
 
         operand = cff_dict_get_operands (font->top_dict, FDARRAY_OP, &size);
+       if (operand == NULL) {
+           status = _cairo_error (CAIRO_STATUS_NULL_POINTER);
+           goto fail;
+       }
+
         decode_integer (operand, &offset);
         status = cairo_cff_font_read_cid_fontdict (font, font->data + offset);
        if (unlikely (status))
@@ -1240,8 +1292,6 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font)
        /* Private has two operands - size and offset */
        end_buf = encode_integer_max (end_buf, 0);
        cff_dict_set_operands (font->top_dict, PRIVATE_OP, buf, end_buf - buf);
-        if (unlikely (status))
-            goto fail;
 
     } else {
         status = cff_dict_set_operands (font->top_dict,
@@ -1386,6 +1436,9 @@ cairo_cff_font_subset_dict_string(cairo_cff_font_t   *font,
         return CAIRO_STATUS_SUCCESS;
 
     element = _cairo_array_index (&font->strings_index, sid - NUM_STD_STRINGS);
+    if(element == NULL)
+       return _cairo_error (CAIRO_STATUS_INVALID_INDEX);
+
     sid = NUM_STD_STRINGS + _cairo_array_num_elements (&font->strings_subset_index);
     status = cff_index_append (&font->strings_subset_index, element->data, element->length);
     if (unlikely (status))
@@ -1442,9 +1495,8 @@ type2_decode_integer (unsigned char *p, int *integer)
         *integer = -(p[0] - 251) * 256 - p[1] - 108;
         p += 2;
     } else { /* *p == 255 */
-    /* This actually a 16.16 fixed-point number however we are not interested in
-     * the value of fixed-point numbers. */
-        *integer = (p[1] << 24) | (p[2] << 16) | (p[3] << 8) | p[4];
+        /* 16.16 fixed-point number. The fraction is ignored. */
+        *integer = (int16_t)((p[1] << 8) | p[2]);
         p += 5;
     }
     return p;
@@ -1573,6 +1625,9 @@ cairo_cff_parse_charstring (cairo_cff_font_t *font,
                 fd = font->fdselect[glyph_id];
                 sub_num = font->type2_stack_top_value + font->fd_local_sub_bias[fd];
                 element = _cairo_array_index (&font->fd_local_sub_index[fd], sub_num);
+               if (element == NULL)
+                   return _cairo_error (CAIRO_STATUS_NULL_POINTER);
+
                 if (! font->fd_local_subs_used[fd][sub_num]) {
                    font->fd_local_subs_used[fd][sub_num] = TRUE;
                    cairo_cff_parse_charstring (font, element->data, element->length, glyph_id, need_width);
@@ -1580,6 +1635,9 @@ cairo_cff_parse_charstring (cairo_cff_font_t *font,
             } else {
                 sub_num = font->type2_stack_top_value + font->local_sub_bias;
                 element = _cairo_array_index (&font->local_sub_index, sub_num);
+               if (element == NULL)
+                   return _cairo_error (CAIRO_STATUS_NULL_POINTER);
+
                 if (! font->local_subs_used[sub_num] ||
                    (need_width && !font->type2_found_width))
                {
@@ -1604,6 +1662,9 @@ cairo_cff_parse_charstring (cairo_cff_font_t *font,
 
            sub_num = font->type2_stack_top_value + font->global_sub_bias;
            element = _cairo_array_index (&font->global_sub_index, sub_num);
+           if (element == NULL)
+               return _cairo_error (CAIRO_STATUS_NULL_POINTER);
+
             if (! font->global_subs_used[sub_num] ||
                (need_width && !font->type2_found_width))
            {
@@ -1763,6 +1824,9 @@ cairo_cff_font_subset_charstrings_and_subroutines (cairo_cff_font_t  *font)
            glyph = font->scaled_font_subset->glyphs[i];
        }
         element = _cairo_array_index (&font->charstrings_index, glyph);
+       if (element == NULL)
+           return CAIRO_STATUS_NULL_POINTER;
+
         status = cff_index_append (&font->charstrings_subset_index,
                                    element->data,
                                    element->length);
@@ -1823,8 +1887,10 @@ cairo_cff_font_subset_fontdict (cairo_cff_font_t  *font)
     for (i = 0; i < font->scaled_font_subset->num_glyphs; i++) {
        cid = font->scaled_font_subset->glyphs[i];
        status = cairo_cff_font_get_gid_for_cid (font, cid, &gid);
-       if (unlikely (status))
+       if (unlikely (status)) {
+           free (reverse_map);
            return status;
+       }
 
         fd = font->fdselect[gid];
         if (reverse_map[fd] < 0) {
@@ -2068,6 +2134,8 @@ cairo_cff_font_write_top_dict (cairo_cff_font_t *font)
 
     encode_index_offset (buf, offset_size, dict_size + 1);
     p = _cairo_array_index (&font->output, offset_index);
+    if (p == NULL)
+       return CAIRO_STATUS_NULL_POINTER;
     memcpy (p, buf, offset_size);
 
     return CAIRO_STATUS_SUCCESS;
@@ -2247,8 +2315,6 @@ cairo_cff_font_write_type1_charset (cairo_cff_font_t  *font)
     for (i = 1; i < font->scaled_font_subset->num_glyphs; i++) {
        ch = font->scaled_font_subset->to_latin_char[i];
        sid = cairo_cff_font_get_sid_for_winansi_char (font, ch);
-        if (unlikely (status))
-           return status;
 
        sid_be16 = cpu_to_be16(sid);
        status = _cairo_array_append_multiple (&font->output, &sid_be16, sizeof(sid_be16));
@@ -2761,7 +2827,7 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t  *scaled_font_subset,
     if (backend->is_synthetic && backend->is_synthetic (scaled_font_subset->scaled_font))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
-    font = malloc (sizeof (cairo_cff_font_t));
+    font = calloc (1, sizeof (cairo_cff_font_t));
     if (unlikely (font == NULL))
         return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
@@ -2836,11 +2902,11 @@ fail4:
 fail3:
     free (font->subset_font_name);
 fail2:
-    free (font->data);
-    free (font->font_name);
     free (font->ps_name);
     _cairo_array_fini (&font->output);
 fail1:
+    free (font->data);
+    free (font->font_name);
     free (font);
 
     return status;
@@ -3081,6 +3147,11 @@ _cairo_cff_scaled_font_is_cid_cff (cairo_scaled_font_t *scaled_font)
        goto fail2;
 
     element = _cairo_array_index (&index, 0);
+    if (element == NULL) {
+       status = _cairo_error (CAIRO_STATUS_NULL_POINTER);
+       goto fail3;
+    }
+
     status = cff_dict_read (top_dict, element->data, element->length);
     if (unlikely (status))
         goto fail3;
@@ -3167,6 +3238,7 @@ _cairo_cff_font_fallback_create (cairo_scaled_font_subset_t  *scaled_font_subset
     cff_index_init (&font->strings_subset_index);
     font->global_subs_used = NULL;
     font->local_subs_used = NULL;
+    font->subset_subroutines = FALSE;
     font->fdselect = NULL;
     font->fd_dict = NULL;
     font->fd_private_dict = NULL;
@@ -3264,8 +3336,6 @@ cairo_cff_font_fallback_generate (cairo_cff_font_t           *font,
        /* Private has two operands - size and offset */
        end_buf2 = encode_integer_max (end_buf, 0);
        cff_dict_set_operands (font->top_dict, PRIVATE_OP, buf, end_buf2 - buf);
-        if (unlikely (status))
-           return status;
 
     } else {
        status = cff_dict_set_operands (font->top_dict,
@@ -3302,6 +3372,8 @@ cairo_cff_font_fallback_generate (cairo_cff_font_t           *font,
     /* Create charstrings */
     for (i = 0; i < font->scaled_font_subset->num_glyphs; i++) {
         charstring = _cairo_array_index(&type2_subset->charstrings, i);
+       if (charstring == NULL)
+           return _cairo_error (CAIRO_STATUS_NULL_POINTER);
 
         status = cff_index_append (&font->charstrings_subset_index,
                                    _cairo_array_index (charstring, 0),
@@ -3386,8 +3458,10 @@ _cairo_cff_fallback_init (cairo_cff_subset_t          *cff_subset,
     return CAIRO_STATUS_SUCCESS;
 
  fail4:
+    _cairo_type2_charstrings_fini (&type2_subset);
     free (cff_subset->widths);
  fail3:
+    _cairo_type2_charstrings_fini (&type2_subset);
     free (cff_subset->ps_name);
  fail2:
     _cairo_type2_charstrings_fini (&type2_subset);
index bbb4197..eae0919 100644 (file)
@@ -285,6 +285,9 @@ _cairo_clip_intersect_boxes (cairo_clip_t *clip,
     if (clip == NULL)
        clip = _cairo_clip_create ();
 
+    if (clip == NULL)
+       return NULL;
+
     if (clip->num_boxes) {
        _cairo_boxes_init_for_array (&clip_boxes, clip->boxes, clip->num_boxes);
        if (unlikely (_cairo_boxes_intersect (&clip_boxes, boxes, &clip_boxes))) {
index 5fc05a6..c2ed664 100644 (file)
@@ -138,6 +138,9 @@ _cairo_clip_intersect_path (cairo_clip_t       *clip,
 cairo_private const cairo_rectangle_int_t *
 _cairo_clip_get_extents (const cairo_clip_t *clip);
 
+cairo_private const cairo_rectangle_t *
+_cairo_clip_get_exact_extents (const cairo_clip_t *clip);
+
 cairo_private cairo_surface_t *
 _cairo_clip_get_surface (const cairo_clip_t *clip, cairo_surface_t *dst, int *tx, int *ty);
 
index fff9724..f1c13a4 100644 (file)
@@ -60,6 +60,8 @@ _cairo_clip_combine_with_surface (const cairo_clip_t *clip,
     cairo_status_t status = CAIRO_STATUS_SUCCESS;
 
     copy = _cairo_clip_copy_with_translation (clip, -dst_x, -dst_y);
+    if (copy == NULL)
+       return CAIRO_STATUS_NULL_POINTER;
     copy_path = copy->path;
     copy->path = NULL;
 
@@ -174,6 +176,11 @@ _cairo_clip_get_surface (const cairo_clip_t *clip,
     copy = _cairo_clip_copy_with_translation (clip,
                                              -clip->extents.x,
                                              -clip->extents.y);
+    if (copy == NULL) {
+       cairo_surface_destroy (surface);
+       status = CAIRO_STATUS_NULL_POINTER;
+       return _cairo_surface_create_in_error (status);
+    }
     copy_path = copy->path;
     copy->path = NULL;
 
index bd70c06..dcafaf2 100644 (file)
@@ -149,6 +149,8 @@ _cairo_clip_copy (const cairo_clip_t *clip)
        return (cairo_clip_t *) clip;
 
     copy = _cairo_clip_create ();
+    if (copy == NULL)
+       return NULL;
 
     if (clip->path)
        copy->path = _cairo_clip_path_reference (clip->path);
@@ -185,6 +187,9 @@ _cairo_clip_copy_path (const cairo_clip_t *clip)
     assert (clip->num_boxes);
 
     copy = _cairo_clip_create ();
+    if (copy == NULL)
+       return NULL;
+
     copy->extents = clip->extents;
     if (clip->path)
        copy->path = _cairo_clip_path_reference (clip->path);
@@ -204,6 +209,9 @@ _cairo_clip_copy_region (const cairo_clip_t *clip)
     assert (clip->num_boxes);
 
     copy = _cairo_clip_create ();
+    if (copy == NULL)
+       return NULL;
+
     copy->extents = clip->extents;
 
     if (clip->num_boxes == 1) {
@@ -536,6 +544,8 @@ _cairo_clip_intersect_clip_path_transformed (cairo_clip_t *clip,
     if (_cairo_path_fixed_init_copy (&path, &clip_path->path))
        return _cairo_clip_set_all_clipped (clip);
 
+    _cairo_path_fixed_transform (&path, m);
+
     clip =  _cairo_clip_intersect_path (clip,
                                       &path,
                                       clip_path->fill_rule,
index ed86acc..27c3676 100644 (file)
@@ -929,10 +929,14 @@ _cairo_cogl_journal_flush (cairo_cogl_surface_t *surface)
 }
 
 static cairo_status_t
-_cairo_cogl_surface_flush (void *abstract_surface)
+_cairo_cogl_surface_flush (void *abstract_surface,
+                          unsigned flags)
 {
     cairo_cogl_surface_t *surface = (cairo_cogl_surface_t *)abstract_surface;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     _cairo_cogl_journal_flush (surface);
 
     return CAIRO_STATUS_SUCCESS;
@@ -1331,7 +1335,7 @@ _cairo_cogl_acquire_surface_texture (cairo_cogl_surface_t  *reference_surface,
 
     if (abstract_surface->device == reference_surface->base.device) {
        cairo_cogl_surface_t *surface = (cairo_cogl_surface_t *)abstract_surface;
-       _cairo_cogl_surface_flush (surface);
+       _cairo_cogl_surface_flush (surface, 0);
        return surface->texture ? cogl_object_ref (surface->texture) : NULL;
     }
 
@@ -2033,8 +2037,10 @@ _cairo_cogl_stroke_to_primitive (cairo_cogl_surface_t        *surface,
 
     _cairo_traps_init (&traps);
 
-    status = _cairo_path_fixed_stroke_to_traps (path, style, ctm, ctm_inverse, tolerance,
-                                               &traps);
+    status = _cairo_path_fixed_stroke_polygon_to_traps (path, style,
+                                                       ctm, ctm_inverse,
+                                                       tolerance,
+                                                       &traps);
     if (unlikely (status))
        goto BAIL;
 
diff --git a/src/cairo-combsort-private.h b/src/cairo-combsort-private.h
deleted file mode 100644 (file)
index d359fae..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * The Initial Developer of the Original Code is Chris Wilson
- *
- * Contributor(s):
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* This fragment implements a comb sort (specifically combsort11) */
-#ifndef _HAVE_CAIRO_COMBSORT_NEWGAP
-#define _HAVE_CAIRO_COMBSORT_NEWGAP
-static inline unsigned int
-_cairo_combsort_newgap (unsigned int gap)
-{
-  gap = 10 * gap / 13;
-  if (gap == 9 || gap == 10)
-    gap = 11;
-  if (gap < 1)
-    gap = 1;
-  return gap;
-}
-#endif
-
-#define CAIRO_COMBSORT_DECLARE(NAME, TYPE, CMP) \
-static void \
-NAME (TYPE *base, unsigned int nmemb) \
-{ \
-  unsigned int gap = nmemb; \
-  unsigned int i, j; \
-  int swapped; \
-  do { \
-      gap = _cairo_combsort_newgap (gap); \
-      swapped = gap > 1; \
-      for (i = 0; i < nmemb-gap ; i++) { \
-         j = i + gap; \
-         if (CMP (base[i], base[j]) > 0 ) { \
-             TYPE tmp; \
-             tmp = base[i]; \
-             base[i] = base[j]; \
-             base[j] = tmp; \
-             swapped = 1; \
-         } \
-      } \
-  } while (swapped); \
-}
-
-#define CAIRO_COMBSORT_DECLARE_WITH_DATA(NAME, TYPE, CMP) \
-static void \
-NAME (TYPE *base, unsigned int nmemb, void *data) \
-{ \
-  unsigned int gap = nmemb; \
-  unsigned int i, j; \
-  int swapped; \
-  do { \
-      gap = _cairo_combsort_newgap (gap); \
-      swapped = gap > 1; \
-      for (i = 0; i < nmemb-gap ; i++) { \
-         j = i + gap; \
-         if (CMP (base[i], base[j], data) > 0 ) { \
-             TYPE tmp; \
-             tmp = base[i]; \
-             base[i] = base[j]; \
-             base[j] = tmp; \
-             swapped = 1; \
-         } \
-      } \
-  } while (swapped); \
-}
old mode 100644 (file)
new mode 100755 (executable)
index abdf8c2..f288bb7
@@ -61,7 +61,7 @@ _cairo_composite_rectangles_check_lazy_init (cairo_composite_rectangles_t *exten
 
     if (type == CAIRO_PATTERN_TYPE_SURFACE) {
     cairo_surface_pattern_t *surface_pattern = (cairo_surface_pattern_t *) pattern;
-    cairo_surface_t *pattern_surface = pattern_surface = surface_pattern->surface;
+    cairo_surface_t *pattern_surface = surface_pattern->surface;
 
        /* XXX: both source and target are GL surface */
        if (cairo_surface_get_type (pattern_surface) == CAIRO_SURFACE_TYPE_GL &&
@@ -175,6 +175,10 @@ _cairo_composite_rectangles_init_for_paint (cairo_composite_rectangles_t *extent
     if (_cairo_clip_is_all_clipped (extents->clip))
        return CAIRO_INT_STATUS_NOTHING_TO_DO;
 
+    if (! _cairo_rectangle_intersect (&extents->unbounded,
+                                     _cairo_clip_get_extents (extents->clip)))
+       return CAIRO_INT_STATUS_NOTHING_TO_DO;
+
     if (extents->source_pattern.base.type != CAIRO_PATTERN_TYPE_SOLID)
        _cairo_pattern_sampled_area (&extents->source_pattern.base,
                                     &extents->bounded,
@@ -236,6 +240,10 @@ _cairo_composite_rectangles_intersect (cairo_composite_rectangles_t *extents,
     if (_cairo_clip_is_all_clipped (extents->clip))
        return CAIRO_INT_STATUS_NOTHING_TO_DO;
 
+    if (! _cairo_rectangle_intersect (&extents->unbounded,
+                                     _cairo_clip_get_extents (extents->clip)))
+       return CAIRO_INT_STATUS_NOTHING_TO_DO;
+
     if (extents->source_pattern.base.type != CAIRO_PATTERN_TYPE_SOLID)
        _cairo_pattern_sampled_area (&extents->source_pattern.base,
                                     &extents->bounded,
@@ -296,6 +304,10 @@ _cairo_composite_rectangles_intersect_source_extents (cairo_composite_rectangles
     if (_cairo_clip_is_all_clipped (extents->clip))
        return CAIRO_INT_STATUS_NOTHING_TO_DO;
 
+    if (! _cairo_rectangle_intersect (&extents->unbounded,
+                                     _cairo_clip_get_extents (extents->clip)))
+       return CAIRO_INT_STATUS_NOTHING_TO_DO;
+
     if (extents->source_pattern.base.type != CAIRO_PATTERN_TYPE_SOLID)
        _cairo_pattern_sampled_area (&extents->source_pattern.base,
                                     &extents->bounded,
@@ -354,6 +366,10 @@ _cairo_composite_rectangles_intersect_mask_extents (cairo_composite_rectangles_t
     if (_cairo_clip_is_all_clipped (extents->clip))
        return CAIRO_INT_STATUS_NOTHING_TO_DO;
 
+    if (! _cairo_rectangle_intersect (&extents->unbounded,
+                                     _cairo_clip_get_extents (extents->clip)))
+       return CAIRO_INT_STATUS_NOTHING_TO_DO;
+
     if (extents->source_pattern.base.type != CAIRO_PATTERN_TYPE_SOLID)
        _cairo_pattern_sampled_area (&extents->source_pattern.base,
                                     &extents->bounded,
@@ -387,7 +403,6 @@ _cairo_composite_rectangles_init_for_mask (cairo_composite_rectangles_t *extents
        return CAIRO_INT_STATUS_NOTHING_TO_DO;
     }
 
-
     extents->original_mask_pattern = mask;
     _cairo_composite_reduce_pattern (mask, &extents->mask_pattern);
     _cairo_pattern_get_extents (&extents->mask_pattern.base, &extents->mask);
@@ -605,10 +620,11 @@ _cairo_composite_rectangles_init_for_glyphs (cairo_composite_rectangles_t *exten
     /* Computing the exact bbox and the overlap is expensive.
      * First perform a cheap test to see if the glyphs are all clipped out.
      */
-    if (extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK) {
+    if (extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK &&
        _cairo_scaled_font_glyph_approximate_extents (scaled_font,
                                                      glyphs, num_glyphs,
-                                                     &extents->mask);
+                                                     &extents->mask))
+    {
        if (! _cairo_rectangle_intersect (&extents->bounded, &extents->mask))
            return CAIRO_INT_STATUS_NOTHING_TO_DO;
     }
@@ -620,6 +636,13 @@ _cairo_composite_rectangles_init_for_glyphs (cairo_composite_rectangles_t *exten
     if (unlikely (status))
        return status;
 
+    if (overlap && *overlap &&
+       scaled_font->options.antialias == CAIRO_ANTIALIAS_NONE &&
+       _cairo_pattern_is_opaque_solid (&extents->source_pattern.base))
+    {
+       *overlap = FALSE;
+    }
+
     return _cairo_composite_rectangles_intersect (extents, clip);
 }
 
@@ -641,6 +664,15 @@ _cairo_composite_rectangles_lazy_init_for_glyphs (cairo_composite_rectangles_t *
                                            clip, &should_be_lazy))
        return CAIRO_INT_STATUS_NOTHING_TO_DO;
 
+    if (extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_SOURCE &&
+        _cairo_scaled_font_glyph_approximate_extents (scaled_font,
+                                                      glyphs, num_glyphs,
+                                                      &extents->source))
+    {
+    if (! _cairo_rectangle_intersect (&extents->bounded, &extents->source))
+    return CAIRO_INT_STATUS_NOTHING_TO_DO;
+    }
+
     status = _cairo_scaled_font_glyph_device_extents (scaled_font,
                                                      glyphs, num_glyphs,
                                                      &extents->source,
@@ -648,6 +680,13 @@ _cairo_composite_rectangles_lazy_init_for_glyphs (cairo_composite_rectangles_t *
     if (unlikely (status))
        return status;
 
+    if (*overlap &&
+        scaled_font->options.antialias == CAIRO_ANTIALIAS_NONE &&
+        _cairo_pattern_is_opaque_solid (extents->original_source_pattern))
+    {
+    *overlap = FALSE;
+    }
+
     extents->clip = _cairo_clip_copy (clip);
 
     return CAIRO_INT_STATUS_SUCCESS;
old mode 100644 (file)
new mode 100755 (executable)
index 7b56d17..3a461bf
@@ -130,6 +130,9 @@ struct cairo_mask_compositor {
                                 cairo_boxes_t          *boxes);
 
     cairo_int_status_t
+       (*check_composite) (const cairo_composite_rectangles_t *extents);
+
+    cairo_int_status_t
        (*composite)            (void                   *dst,
                                 cairo_operator_t        op,
                                 cairo_surface_t        *src,
@@ -239,6 +242,18 @@ struct cairo_traps_compositor {
                                 int                    dst_y,
                                 unsigned int           width,
                                 unsigned int           height);
+       cairo_int_status_t
+               (*lerp_color_glyph)     (void                   *_dst,
+                               cairo_surface_t *abstract_src,
+                               cairo_surface_t *abstract_mask,
+                               int                     src_x,
+                               int                     src_y,
+                               int                     mask_x,
+                               int                     mask_y,
+                               int                     dst_x,
+                               int                     dst_y,
+                               unsigned int            width,
+                               unsigned int            height);
 
     cairo_int_status_t
        (*composite_boxes)      (void                   *surface,
index 8273489..0c4d34c 100644 (file)
@@ -188,6 +188,9 @@ _cairo_compositor_stroke (const cairo_compositor_t  *compositor,
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
+    if (_cairo_pen_vertices_needed (tolerance, style->line_width/2, ctm) <= 1)
+       return CAIRO_INT_STATUS_NOTHING_TO_DO;
+
     if (compositor->lazy_init) {
        status = _cairo_composite_rectangles_lazy_init_for_stroke (&extents,
                                                                   surface,
index 28768fd..97b177e 100644 (file)
@@ -60,6 +60,9 @@ cairo_private cairo_damage_t *
 _cairo_damage_create (void);
 
 cairo_private cairo_damage_t *
+_cairo_damage_create_in_error (cairo_status_t status);
+
+cairo_private cairo_damage_t *
 _cairo_damage_add_box (cairo_damage_t *damage,
                       const cairo_box_t *box);
 
index 06ef9fd..63191fe 100644 (file)
 static const cairo_damage_t __cairo_damage__nil = { CAIRO_STATUS_NO_MEMORY };
 
 cairo_damage_t *
+_cairo_damage_create_in_error (cairo_status_t status)
+{
+    _cairo_error_throw (status);
+    return (cairo_damage_t *) &__cairo_damage__nil;
+}
+
+cairo_damage_t *
 _cairo_damage_create (void)
 {
     cairo_damage_t *damage;
@@ -95,7 +102,6 @@ _cairo_damage_add_boxes(cairo_damage_t *damage,
     if (damage->status)
        return damage;
 
-
     damage->dirty += count;
 
     n = count;
@@ -128,10 +134,11 @@ _cairo_damage_add_boxes(cairo_damage_t *damage,
     chunk->count = count;
 
     damage->tail->next = chunk;
-    damage->remain = size - count;
+    damage->tail = chunk;
 
     memcpy (damage->tail->base, boxes + n,
            count * sizeof (cairo_box_t));
+    damage->remain = size - count;
 
     return damage;
 }
old mode 100644 (file)
new mode 100755 (executable)
index dc8c359..b7a38d2
@@ -149,23 +149,28 @@ _cairo_default_context_push_group (void *abstract_cr, cairo_content_t content)
     } else {
        cairo_surface_t *parent_surface;
        cairo_rectangle_int_t extents;
-       cairo_bool_t is_empty;
+       cairo_bool_t bounded, is_empty;
 
        parent_surface = _cairo_gstate_get_target (cr->gstate);
 
        /* Get the extents that we'll use in creating our new group surface */
-       is_empty = _cairo_surface_get_extents (parent_surface, &extents);
+       bounded = _cairo_surface_get_extents (parent_surface, &extents);
        if (clip)
+           /* XXX: This assignment just fixes a compiler warning? */
            is_empty = _cairo_rectangle_intersect (&extents,
                                                   _cairo_clip_get_extents (clip));
 
-       /* XXX unbounded surface creation */
-
-       group_surface = _cairo_surface_create_similar_solid (parent_surface,
-                                                            content,
-                                                            extents.width,
-                                                            extents.height,
-                                                            CAIRO_COLOR_TRANSPARENT);
+       if (!bounded) {
+           /* XXX: Generic solution? */
+           group_surface = cairo_recording_surface_create (content, NULL);
+           extents.x = extents.y = 0;
+       } else {
+           group_surface = _cairo_surface_create_similar_solid (parent_surface,
+                                                                content,
+                                                                extents.width,
+                                                                extents.height,
+                                                                CAIRO_COLOR_TRANSPARENT);
+       }
        status = group_surface->status;
        if (unlikely (status))
            goto bail;
@@ -294,8 +299,11 @@ _cairo_default_context_set_source_rgba (void *abstract_cr, double red, double gr
     _cairo_default_context_set_source (cr, (cairo_pattern_t *) &_cairo_pattern_black);
 
     pattern = cairo_pattern_create_rgba (red, green, blue, alpha);
-    if (unlikely (pattern->status))
-       return pattern->status;
+    if (unlikely (pattern->status)) {
+        status = pattern->status;
+        cairo_pattern_destroy (pattern);
+        return pattern->status;
+    }
 
     status = _cairo_default_context_set_source (cr, pattern);
     cairo_pattern_destroy (pattern);
@@ -318,8 +326,11 @@ _cairo_default_context_set_source_surface (void *abstract_cr,
     _cairo_default_context_set_source (cr, (cairo_pattern_t *) &_cairo_pattern_black);
 
     pattern = cairo_pattern_create_for_surface (surface);
-    if (unlikely (pattern->status))
-       return pattern->status;
+    if (unlikely (pattern->status)) {
+        status = pattern->status;
+        cairo_pattern_destroy (pattern);
+        return status;
+    }
 
     cairo_matrix_init_translate (&matrix, -x, -y);
     cairo_pattern_set_matrix (pattern, &matrix);
@@ -621,6 +632,44 @@ _cairo_default_context_device_to_user_distance (void *abstract_cr,
     _cairo_gstate_device_to_user_distance (cr->gstate, dx, dy);
 }
 
+static void
+_cairo_default_context_backend_to_user (void *abstract_cr,
+                                       double *x,
+                                       double *y)
+{
+    cairo_default_context_t *cr = abstract_cr;
+
+    _cairo_gstate_backend_to_user (cr->gstate, x, y);
+}
+
+static void
+_cairo_default_context_backend_to_user_distance (void *abstract_cr, double *dx, double *dy)
+{
+    cairo_default_context_t *cr = abstract_cr;
+
+    _cairo_gstate_backend_to_user_distance (cr->gstate, dx, dy);
+}
+
+static void
+_cairo_default_context_user_to_backend (void *abstract_cr,
+                                       double *x,
+                                       double *y)
+{
+    cairo_default_context_t *cr = abstract_cr;
+
+    _cairo_gstate_user_to_backend (cr->gstate, x, y);
+}
+
+static void
+_cairo_default_context_user_to_backend_distance (void *abstract_cr,
+                                                double *dx,
+                                                double *dy)
+{
+    cairo_default_context_t *cr = abstract_cr;
+
+    _cairo_gstate_user_to_backend_distance (cr->gstate, dx, dy);
+}
+
 /* Path constructor */
 
 static cairo_status_t
@@ -748,7 +797,7 @@ _cairo_default_context_rel_move_to (void *abstract_cr, double dx, double dy)
     cairo_default_context_t *cr = abstract_cr;
     cairo_fixed_t dx_fixed, dy_fixed;
 
-    _cairo_gstate_user_to_device_distance (cr->gstate, &dx, &dy);
+    _cairo_gstate_user_to_backend_distance (cr->gstate, &dx, &dy);
 
     dx_fixed = _cairo_fixed_from_double (dx);
     dy_fixed = _cairo_fixed_from_double (dy);
@@ -762,7 +811,7 @@ _cairo_default_context_rel_line_to (void *abstract_cr, double dx, double dy)
     cairo_default_context_t *cr = abstract_cr;
     cairo_fixed_t dx_fixed, dy_fixed;
 
-    _cairo_gstate_user_to_device_distance (cr->gstate, &dx, &dy);
+    _cairo_gstate_user_to_backend_distance (cr->gstate, &dx, &dy);
 
     dx_fixed = _cairo_fixed_from_double (dx);
     dy_fixed = _cairo_fixed_from_double (dy);
@@ -782,9 +831,9 @@ _cairo_default_context_rel_curve_to (void *abstract_cr,
     cairo_fixed_t dx2_fixed, dy2_fixed;
     cairo_fixed_t dx3_fixed, dy3_fixed;
 
-    _cairo_gstate_user_to_device_distance (cr->gstate, &dx1, &dy1);
-    _cairo_gstate_user_to_device_distance (cr->gstate, &dx2, &dy2);
-    _cairo_gstate_user_to_device_distance (cr->gstate, &dx3, &dy3);
+    _cairo_gstate_user_to_backend_distance (cr->gstate, &dx1, &dy1);
+    _cairo_gstate_user_to_backend_distance (cr->gstate, &dx2, &dy2);
+    _cairo_gstate_user_to_backend_distance (cr->gstate, &dx3, &dy3);
 
     dx1_fixed = _cairo_fixed_from_double (dx1);
     dy1_fixed = _cairo_fixed_from_double (dy1);
@@ -1275,6 +1324,70 @@ _cairo_default_context_glyph_extents (void                *abstract_cr,
     return _cairo_gstate_glyph_extents (cr->gstate, glyphs, num_glyphs, extents);
 }
 
+static cairo_status_t
+_cairo_default_context_set_shadow (void                  *abstract_cr,
+                                  cairo_shadow_type_t shadow)
+{
+    cairo_default_context_t *cr = abstract_cr;
+
+    return _cairo_gstate_set_shadow (cr->gstate, shadow);
+}
+
+static cairo_status_t
+_cairo_default_context_set_shadow_offset (void *abstract_cr,
+                                         double x_offset,
+                                         double y_offset)
+{
+    cairo_default_context_t *cr = abstract_cr;
+
+    return _cairo_gstate_set_shadow_offset (cr->gstate, x_offset, y_offset);
+}
+
+static cairo_status_t
+_cairo_default_context_set_shadow_rgba (void *abstract_cr, double red, double green, double blue, double alpha)
+{
+    cairo_default_context_t *cr = abstract_cr;
+
+    return _cairo_gstate_set_shadow_rgba (cr->gstate, red, green, blue, alpha);
+}
+
+static cairo_status_t
+_cairo_default_context_set_shadow_blur (void *abstract_cr,
+                                        double x_blur,
+                                        double y_blur)
+{
+    cairo_default_context_t *cr = abstract_cr;
+
+    return _cairo_gstate_set_shadow_blur (cr->gstate, x_blur, y_blur);
+}
+
+static void
+_cairo_default_context_set_draw_shadow_only (void *abstract_cr,
+                                            cairo_bool_t draw_shadow_only)
+{
+    cairo_default_context_t *cr = abstract_cr;
+
+    _cairo_gstate_set_draw_shadow_only (cr->gstate, draw_shadow_only);
+}
+
+static void
+_cairo_default_context_shadow_enable_cache (void       *abstract_cr,
+                                           cairo_bool_t enable)
+{
+    cairo_default_context_t *cr = abstract_cr;
+
+    return _cairo_gstate_shadow_enable_cache (cr->gstate, enable);
+}
+
+static void
+_cairo_default_context_set_path_is_inset_shadow_with_spread (void *abstract_cr,
+                                                            cairo_bool_t is_spread_path)
+{
+    cairo_default_context_t *cr = abstract_cr;
+    return _cairo_gstate_set_path_is_inset_shadow_with_spread (cr->gstate,
+                                                               is_spread_path);
+}
+
 static const cairo_backend_t _cairo_default_context_backend = {
     CAIRO_TYPE_DEFAULT,
     _cairo_default_context_destroy,
@@ -1321,11 +1434,17 @@ static const cairo_backend_t _cairo_default_context_backend = {
     _cairo_default_context_set_matrix,
     _cairo_default_context_set_identity_matrix,
     _cairo_default_context_get_matrix,
+
     _cairo_default_context_user_to_device,
     _cairo_default_context_user_to_device_distance,
     _cairo_default_context_device_to_user,
     _cairo_default_context_device_to_user_distance,
 
+    _cairo_default_context_user_to_backend,
+    _cairo_default_context_user_to_backend_distance,
+    _cairo_default_context_backend_to_user,
+    _cairo_default_context_backend_to_user_distance,
+
     _cairo_default_context_new_path,
     _cairo_default_context_new_sub_path,
     _cairo_default_context_move_to,
@@ -1386,6 +1505,15 @@ static const cairo_backend_t _cairo_default_context_backend = {
 
     _cairo_default_context_copy_page,
     _cairo_default_context_show_page,
+
+    /* shadow */
+    _cairo_default_context_set_shadow,
+    _cairo_default_context_set_shadow_offset,
+    _cairo_default_context_set_shadow_rgba,
+    _cairo_default_context_set_shadow_blur,
+    _cairo_default_context_set_draw_shadow_only,
+    _cairo_default_context_shadow_enable_cache,
+    _cairo_default_context_set_path_is_inset_shadow_with_spread,
 };
 
 cairo_status_t
index 6eb44f3..1c687d2 100644 (file)
@@ -52,6 +52,9 @@ struct _cairo_device {
     unsigned mutex_depth;
 
     cairo_bool_t finished;
+
+    unsigned long shadow_caches_size;
+    cairo_list_t  shadow_caches;
 };
 
 struct _cairo_device_backend {
old mode 100644 (file)
new mode 100755 (executable)
index 098f856..e845912
@@ -36,6 +36,7 @@
 #include "cairoint.h"
 #include "cairo-device-private.h"
 #include "cairo-error-private.h"
+#include "cairo-list-inline.h"
 
 /**
  * SECTION:cairo-device
@@ -179,6 +180,9 @@ _cairo_device_init (cairo_device_t *device,
     device->finished = FALSE;
 
     _cairo_user_data_array_init (&device->user_data);
+
+    cairo_list_init (&device->shadow_caches);
+    device->shadow_caches_size = 0;
 }
 
 /**
@@ -338,6 +342,19 @@ cairo_device_destroy (cairo_device_t *device)
     if (! _cairo_reference_count_dec_and_test (&device->ref_count))
        return;
 
+    while (! cairo_list_is_empty (&device->shadow_caches)) {
+       cairo_shadow_cache_t *shadow;
+
+       shadow = cairo_list_first_entry (&device->shadow_caches,
+                                        cairo_shadow_cache_t,
+                                        link);
+
+       cairo_list_del (&shadow->link);
+       cairo_surface_destroy (shadow->surface);
+       free (shadow);
+    }
+    device->shadow_caches_size = 0;
+
     cairo_device_finish (device);
 
     assert (device->mutex_depth == 0);
index fd187bd..16e367a 100644 (file)
@@ -40,7 +40,7 @@
 #include "cairo-compositor-private.h"
 #include "cairo-default-context-private.h"
 #include "cairo-error-private.h"
-#include "cairo-image-surface-private.h"
+#include "cairo-image-surface-inline.h"
 #include "cairo-pattern-private.h"
 #include "cairo-surface-backend-private.h"
 #include "cairo-surface-fallback-private.h"
@@ -171,7 +171,7 @@ _cairo_dfb_surface_finish (void *abstract_surface)
     return _cairo_image_surface_finish (abstract_surface);
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_dfb_surface_map_to_image (void *abstract_surface,
                                 const cairo_rectangle_int_t *extents)
 {
@@ -184,7 +184,7 @@ _cairo_dfb_surface_map_to_image (void *abstract_surface,
        int pitch;
 
        if (buffer->Lock (buffer, DSLF_READ | DSLF_WRITE, &data, &pitch))
-           return _cairo_surface_create_in_error(_cairo_error (CAIRO_STATUS_NO_MEMORY));
+           return _cairo_image_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
 
        image = pixman_image_create_bits (surface->image.pixman_format,
                                          surface->image.width,
@@ -192,26 +192,31 @@ _cairo_dfb_surface_map_to_image (void *abstract_surface,
                                          data, pitch);
        if (image == NULL) {
            buffer->Unlock (buffer);
-           return _cairo_surface_create_in_error(_cairo_error (CAIRO_STATUS_NO_MEMORY));
+           return _cairo_image_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
        }
        _cairo_image_surface_init (&surface->image, image, surface->image.pixman_format);
     }
 
-    return _cairo_image_surface_map_to_image (&surface->image, extents);
+    return _cairo_surface_map_to_image (&surface->image.base, extents);
 }
 
 static cairo_int_status_t
 _cairo_dfb_surface_unmap_image (void *abstract_surface,
                                cairo_image_surface_t *image)
 {
-    return CAIRO_INT_STATUS_SUCCESS;
+    cairo_dfb_surface_t *surface = abstract_surface;
+    return _cairo_surface_unmap_image (&surface->image.base, image);
 }
 
 static cairo_status_t
-_cairo_dfb_surface_flush (void *abstract_surface)
+_cairo_dfb_surface_flush (void *abstract_surface,
+                         unsigned flags)
 {
     cairo_dfb_surface_t *surface = abstract_surface;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     if (surface->image.pixman_image) {
        surface->dfb_surface->Unlock (surface->dfb_surface);
 
index 74565e5..fa52a04 100644 (file)
 
 #include "cairo-error-private.h"
 
+#if CAIRO_HAS_EVASGL_SURFACE && CAIRO_HAS_GLESV2_SURFACE
+extern void glActiveTexture (GLenum texture);
+extern void glBindTexture (GLenum target, GLuint texture);
+extern void glBlendFunc (GLenum sfactor, GLenum dfactor);
+extern void glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB,
+                                GLenum srcAlpha, GLenum dstAlpha);
+extern void glClear (GLbitfield mask);
+extern void glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+extern void glClearStencil (GLint s);
+extern void glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+extern void glDeleteTextures (GLsizei n, const GLuint *textures);
+extern void glDepthMask (GLboolean flag);
+extern void glDisable (GLenum cap);
+extern void glDrawArrays (GLenum mode, GLint first, GLsizei count);
+extern void glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
+extern void glEnable (GLenum cap);
+extern void glFlush (void);
+extern void glGenTextures (GLsizei n, GLuint *textures);
+extern void glGetBooleanv (GLenum pname, GLboolean *data);
+extern GLenum glGetError (void);
+extern void glGetFloatv (GLenum pname, GLfloat *data);
+extern void glGetIntegerv (GLenum pname, GLint *data);
+extern const unsigned char* glGetString (GLenum pname);
+extern void glPixelStorei (GLenum pname, GLint param);
+extern void glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height,
+                         GLenum format, GLenum type, GLvoid *data);
+extern void glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
+extern void glStencilFunc (GLenum func, GLint ref, GLuint mask);
+extern void glStencilMask (GLuint mask);
+extern void glStencilOp (GLenum sfail, GLenum dpfail, GLenum dppass);
+extern void glTexSubImage2D (GLenum target, GLint level,
+                            GLint xoffset, GLint yoffset,
+                            GLsizei width, GLsizei height,
+                            GLenum format, GLenum type, const GLvoid *data);
+extern void glTexImage2D (GLenum target, GLint level, GLenum internalformat,
+                         GLsizei width, GLsizei height,
+                         GLint border, GLenum format,
+                         GLenum type, const GLvoid *data);
+extern void glTexParameteri (GLenum target, GLenum pname, GLint param);
+extern void glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
+#endif
+
 typedef struct _cairo_egl_context {
     cairo_gl_context_t base;
 
@@ -49,6 +91,7 @@ typedef struct _cairo_egl_context {
     EGLContext context;
 
     EGLSurface dummy_surface;
+    EGLSurface current_surface;
 
     EGLDisplay previous_display;
     EGLContext previous_context;
@@ -66,9 +109,9 @@ static cairo_bool_t
 _context_acquisition_changed_egl_state (cairo_egl_context_t *ctx,
                                        EGLSurface current_surface)
 {
-    return !(ctx->previous_display == ctx->display &&
-            ctx->previous_surface == current_surface &&
-            ctx->previous_context == ctx->context);
+    return ctx->previous_context != ctx->context ||
+           ctx->previous_surface != current_surface ||
+           ctx->previous_display != ctx->display;
 }
 
 static EGLSurface
@@ -83,11 +126,21 @@ _egl_get_current_surface (cairo_egl_context_t *ctx)
 }
 
 static void
-_egl_query_current_state (cairo_egl_context_t * ctx)
+_egl_query_current_state (cairo_egl_context_t *ctx)
 {
-    ctx->previous_display = eglGetCurrentDisplay ();
     ctx->previous_surface = eglGetCurrentSurface (EGL_DRAW);
     ctx->previous_context = eglGetCurrentContext ();
+    ctx->previous_display = eglGetCurrentDisplay ();
+
+    /* If any of the values were none, assume they are all none. Not all
+       drivers seem well behaved when it comes to using these values across
+       multiple threads. */
+    if (ctx->previous_surface == EGL_NO_SURFACE ||
+        ctx->previous_context == EGL_NO_CONTEXT || ctx->previous_display == EGL_NO_DISPLAY) {
+        ctx->previous_surface = EGL_NO_SURFACE;
+        ctx->previous_context = EGL_NO_CONTEXT;
+        ctx->previous_display = EGL_NO_DISPLAY;
+    }
 }
 
 static void
@@ -100,20 +153,26 @@ _egl_acquire (void *abstract_ctx)
     if (!_context_acquisition_changed_egl_state (ctx, current_surface))
        return;
 
+    _cairo_gl_context_reset (&ctx->base);
     eglMakeCurrent (ctx->display,
                    current_surface, current_surface, ctx->context);
+
+    ctx->current_surface = current_surface;
 }
 
 static void
 _egl_release (void *abstract_ctx)
 {
     cairo_egl_context_t *ctx = abstract_ctx;
-    if (!ctx->base.thread_aware)
+    if (!ctx->base.thread_aware ||
+       !_context_acquisition_changed_egl_state (ctx,
+                                                _egl_get_current_surface (ctx))) {
        return;
+    }
 
-    eglMakeCurrent (ctx->display, EGL_NO_SURFACE, EGL_NO_SURFACE,
-                    EGL_NO_CONTEXT);
-
+    eglMakeCurrent (ctx->display,
+                   EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
+    ctx->current_surface = EGL_NO_SURFACE;
 }
 
 static void
@@ -123,7 +182,10 @@ _egl_make_current (void *abstract_ctx,
     cairo_egl_context_t *ctx = abstract_ctx;
     cairo_egl_surface_t *surface = (cairo_egl_surface_t *) abstract_surface;
 
-    eglMakeCurrent(ctx->display, surface->egl, surface->egl, ctx->context);
+    if (surface->egl != ctx->current_surface) {
+       eglMakeCurrent(ctx->display, surface->egl, surface->egl, ctx->context);
+       ctx->current_surface = surface->egl;
+    }
 }
 
 static void
@@ -141,9 +203,8 @@ _egl_destroy (void *abstract_ctx)
 {
     cairo_egl_context_t *ctx = abstract_ctx;
 
-    eglMakeCurrent (ctx->display, EGL_NO_SURFACE, EGL_NO_SURFACE,
-                    EGL_NO_CONTEXT);
-
+    eglMakeCurrent (ctx->display,
+                   EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
     if (ctx->dummy_surface != EGL_NO_SURFACE)
         eglDestroySurface (ctx->display, ctx->dummy_surface);
 }
@@ -154,8 +215,13 @@ _egl_make_current_surfaceless(cairo_egl_context_t *ctx)
     const char *extensions;
 
     extensions = eglQueryString(ctx->display, EGL_EXTENSIONS);
-    if (!strstr(extensions, "EGL_KHR_surfaceless_opengl"))
+    if (extensions == NULL)
+       return FALSE;
+
+    if (strstr(extensions, "EGL_KHR_surfaceless_context") == NULL &&
+       strstr(extensions, "EGL_KHR_surfaceless_opengl") == NULL)
        return FALSE;
+
     if (!eglMakeCurrent(ctx->display,
                        EGL_NO_SURFACE, EGL_NO_SURFACE, ctx->context))
        return FALSE;
@@ -163,6 +229,56 @@ _egl_make_current_surfaceless(cairo_egl_context_t *ctx)
     return TRUE;
 }
 
+static cairo_gl_generic_func_t
+_cairo_egl_get_proc_address (void *data, const char *name)
+{
+    int i;
+    struct {
+       cairo_gl_generic_func_t func;
+       const char *name;
+    } func_map[] = {
+    { (cairo_gl_generic_func_t)glActiveTexture,        "glActiveTexture"       },
+    { (cairo_gl_generic_func_t)glBindTexture,  "glBindTexture"         },
+    { (cairo_gl_generic_func_t)glBlendFunc,    "glBlendFunc"           },
+    { (cairo_gl_generic_func_t)glBlendFuncSeparate,"glBlendFuncSeparate"},
+    { (cairo_gl_generic_func_t)glClear,                "glClear"               },
+    { (cairo_gl_generic_func_t)glClearColor,   "glClearColor"          },
+    { (cairo_gl_generic_func_t)glClearStencil, "glClearStencil"        },
+    { (cairo_gl_generic_func_t)glColorMask,    "glColorMask"           },
+    { (cairo_gl_generic_func_t)glDeleteTextures,"glDeleteTextures"     },
+    { (cairo_gl_generic_func_t)glDepthMask,    "glDepthMask"           },
+    { (cairo_gl_generic_func_t)glDisable,      "glDisable"             },
+    { (cairo_gl_generic_func_t)glDrawArrays,   "glDrawArrays"          },
+    { (cairo_gl_generic_func_t)glDrawElements, "glDrawElements"        },
+    { (cairo_gl_generic_func_t)glEnable,       "glEnable"              },
+    { (cairo_gl_generic_func_t)glGenTextures,  "glGenTextures"         },
+    { (cairo_gl_generic_func_t)glGetBooleanv,  "glGetBooleanv"         },
+    { (cairo_gl_generic_func_t)glGetError,     "glGetError"            },
+    { (cairo_gl_generic_func_t)glGetFloatv,    "glGetFloatv"           },
+    { (cairo_gl_generic_func_t)glGetIntegerv,  "glGetIntegerv"         },
+    { (cairo_gl_generic_func_t)glGetString,    "glGetString"           },
+    { (cairo_gl_generic_func_t)glFlush,                "glFlush"               },
+    { (cairo_gl_generic_func_t)glPixelStorei,  "glPixelStorei"         },
+    { (cairo_gl_generic_func_t)glReadPixels,   "glReadPixels"          },
+    { (cairo_gl_generic_func_t)glScissor,      "glScissor"             },
+    { (cairo_gl_generic_func_t)glStencilFunc,  "glStencilFunc"         },
+    { (cairo_gl_generic_func_t)glStencilMask,  "glStencilMask"         },
+    { (cairo_gl_generic_func_t)glStencilOp,    "glStencilOp"           },
+    { (cairo_gl_generic_func_t)glTexImage2D,   "glTexImage2D"          },
+    { (cairo_gl_generic_func_t)glTexSubImage2D,        "glTexSubImage2D"       },
+    { (cairo_gl_generic_func_t)glTexParameteri,        "glTexParameteri"       },
+    { (cairo_gl_generic_func_t)glViewport,     "glViewport"            },
+    { NULL,                                     NULL                   }
+    };
+
+    for (i = 0; func_map[i].name; i++) {
+       if (! strncmp (func_map[i].name, name, strlen(name)))
+           return func_map[i].func;
+    }
+
+    return eglGetProcAddress (name);
+}
+
 cairo_device_t *
 cairo_egl_device_create (EGLDisplay dpy, EGLContext egl)
 {
@@ -189,6 +305,10 @@ cairo_egl_device_create (EGLDisplay dpy, EGLContext egl)
     ctx->base.swap_buffers = _egl_swap_buffers;
     ctx->base.destroy = _egl_destroy;
 
+    /* We are about the change the current state of EGL, so we should
+     * query the pre-existing surface now instead of later. */
+    _egl_query_current_state (ctx);
+
     if (!_egl_make_current_surfaceless (ctx)) {
        /* Fall back to dummy surface, meh. */
        EGLint config_attribs[] = {
@@ -206,7 +326,6 @@ cairo_egl_device_create (EGLDisplay dpy, EGLContext egl)
        eglChooseConfig (dpy, config_attribs, &config, 1, &numConfigs);
 
        ctx->dummy_surface = eglCreatePbufferSurface (dpy, config, attribs);
-
        if (ctx->dummy_surface == NULL) {
            free (ctx);
            return _cairo_gl_context_create_in_error (CAIRO_STATUS_NO_MEMORY);
@@ -218,7 +337,8 @@ cairo_egl_device_create (EGLDisplay dpy, EGLContext egl)
        }
     }
 
-    status = _cairo_gl_dispatch_init (&ctx->base.dispatch, eglGetProcAddress);
+    status = _cairo_gl_dispatch_init (&ctx->base.dispatch,
+                                     _cairo_egl_get_proc_address, NULL);
     if (unlikely (status)) {
        free (ctx);
        return _cairo_gl_context_create_in_error (status);
@@ -232,7 +352,9 @@ cairo_egl_device_create (EGLDisplay dpy, EGLContext egl)
        return _cairo_gl_context_create_in_error (status);
     }
 
-    ctx->base.release (ctx);
+    eglMakeCurrent (dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
+
+    ctx->current_surface = EGL_NO_SURFACE;
 
     return &ctx->base.base;
 }
@@ -264,3 +386,36 @@ cairo_gl_surface_create_for_egl (cairo_device_t    *device,
 
     return &surface->base.base;
 }
+
+static cairo_bool_t is_egl_device (cairo_device_t *device)
+{
+    return (device->backend != NULL &&
+           device->backend->type == CAIRO_DEVICE_TYPE_GL);
+}
+
+static cairo_egl_context_t *to_egl_context (cairo_device_t *device)
+{
+    return (cairo_egl_context_t *) device;
+}
+
+EGLDisplay
+cairo_egl_device_get_display (cairo_device_t *device)
+{
+    if (! is_egl_device (device)) {
+       _cairo_error_throw (CAIRO_STATUS_DEVICE_TYPE_MISMATCH);
+       return EGL_NO_DISPLAY;
+    }
+
+    return to_egl_context (device)->display;
+}
+
+cairo_public EGLContext
+cairo_egl_device_get_context (cairo_device_t *device)
+{
+    if (! is_egl_device (device)) {
+       _cairo_error_throw (CAIRO_STATUS_DEVICE_TYPE_MISMATCH);
+       return EGL_NO_CONTEXT;
+    }
+
+    return to_egl_context (device)->context;
+}
diff --git a/src/cairo-evas-gl-context.c b/src/cairo-evas-gl-context.c
new file mode 100755 (executable)
index 0000000..3f256cb
--- /dev/null
@@ -0,0 +1,438 @@
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2009 Eric Anholt
+ * Copyright © 2009 Chris Wilson
+ * Copyright © 2005 Red Hat, Inc
+ * Copyright © 2014 Samsung Research America, Inc - Silicon Valley
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+   You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Red Hat, Inc.
+ *
+ * Contributor(s):
+ *     Carl Worth <cworth@cworth.org>
+ *     Chris Wilson <chris@chris-wilson.co.uk>
+ *     Henry Song <henry.song@samsung.com>
+ */
+
+#include "cairoint.h"
+#include "cairo-gl-private.h"
+#include "cairo-error-private.h"
+#if CAIRO_HAS_DLSYM
+#include <dlfcn.h>
+#endif
+
+#include "cairo-evas-gl.h"
+
+typedef struct _cairo_evas_gl_context {
+    cairo_gl_context_t base;
+
+    Evas_GL *evas_gl;
+    Evas_GL_Surface *surface;
+    Evas_GL_Context *context;
+
+    Evas_GL_Surface *dummy_surface;
+    Evas_GL_Surface *current_surface;
+
+    Evas_GL_Context *queried_context;
+
+    cairo_bool_t has_multithread_makecurrent;
+} cairo_evas_gl_context_t;
+
+typedef struct _cairo_evas_gl_surface {
+    cairo_gl_surface_t base;
+
+    Evas_GL_Surface *surface;
+} cairo_evas_gl_surface_t;
+
+/* as of efl-1.12.0, the following GL functions are supported, for other
+   GL functions and extensions, we us dlsym to get.
+
+   The following APIs are not supported by efl-1.12
+   glDrawBuffer, glReadBuffer, glMapBuffer, glUnmapBuffer,
+   glBlitFramebuffer{ANGLE}, glRenderbufferStorageMultisample{ANGLE},
+
+   This functions are queried via dlsym.  cairo does not use map/unmap
+   buffer.  For rest unsupported GL functions, they should not change
+   evas_gl internal context states (I hope).
+ */
+static cairo_gl_generic_func_t
+_cairo_evas_gl_get_proc_addr (void *data, const char *name)
+{
+    static Evas_GL_API *api;
+    Evas_GL *gl = (Evas_GL *) data;
+    int i;
+
+    struct {
+       size_t func;
+       const char *name;
+    } evas_gl_func_map[] = {
+       /* core function, glReadBuffer and glDrawBuffer not supported */
+       { offsetof (Evas_GL_API, glActiveTexture        ), "glActiveTexture" },
+       { offsetof (Evas_GL_API, glBindTexture          ), "glBindTexture" },
+       { offsetof (Evas_GL_API, glBlendFunc            ), "glBlendFunc" },
+       { offsetof (Evas_GL_API, glBlendFuncSeparate    ), "glBlendFuncSeparate" },
+       { offsetof (Evas_GL_API, glClear                ), "glClear" },
+       { offsetof (Evas_GL_API, glClearColor           ), "glClearColor" },
+       { offsetof (Evas_GL_API, glClearStencil         ), "glClearStencil" },
+       { offsetof (Evas_GL_API, glColorMask            ), "glColorMask" },
+       { offsetof (Evas_GL_API, glDeleteTextures       ), "glDeleteTextures" },
+       { offsetof (Evas_GL_API, glDepthMask            ), "glDepthMask" },
+       { offsetof (Evas_GL_API, glDisable              ), "glDisable" },
+       { offsetof (Evas_GL_API, glDrawArrays           ), "glDrawArrays" },
+       { offsetof (Evas_GL_API, glDrawElements         ), "glDrawElements" },
+       { offsetof (Evas_GL_API, glEnable               ), "glEnable" },
+       { offsetof (Evas_GL_API, glGenTextures          ), "glGenTextures" },
+       { offsetof (Evas_GL_API, glGetBooleanv          ), "glGetBooleanv" },
+       { offsetof (Evas_GL_API, glGetError             ), "glGetError" },
+       { offsetof (Evas_GL_API, glGetFloatv            ), "glGetFloatv" },
+       { offsetof (Evas_GL_API, glGetIntegerv          ), "glGetIntegerv" },
+       { offsetof (Evas_GL_API, glGetString            ), "glGetString" },
+       { offsetof (Evas_GL_API, glPixelStorei          ), "glPixelStorei" },
+       { offsetof (Evas_GL_API, glReadPixels           ), "glReadPixels" },
+       { offsetof (Evas_GL_API, glScissor              ), "glScissor" },
+       { offsetof (Evas_GL_API, glStencilFunc          ), "glStencilFunc" },
+       { offsetof (Evas_GL_API, glStencilMask          ), "glStencilMask" },
+       { offsetof (Evas_GL_API, glStencilOp            ), "glStencilOp" },
+       { offsetof (Evas_GL_API, glTexImage2D           ), "glTexImage2D" },
+       { offsetof (Evas_GL_API, glTexSubImage2D        ), "glTexSubImage2D" },
+       { offsetof (Evas_GL_API, glTexParameteri        ), "glTexParameteri" },
+       { offsetof (Evas_GL_API, glViewport             ), "glViewport" },
+       /* buffers functions, glMapBufferOES, glUnmapBufferOES not
+          suported
+        */
+       { offsetof (Evas_GL_API, glGenBuffers           ), "glGenBuffers" },
+       { offsetof (Evas_GL_API, glBindBuffer           ), "glBindBuffer" },
+       { offsetof (Evas_GL_API, glBufferData           ), "glBufferData" },
+       /* shader functions */
+       { offsetof (Evas_GL_API, glCreateShader         ), "glCreateShader" },
+       { offsetof (Evas_GL_API, glShaderSource         ), "glShaderSource" },
+       { offsetof (Evas_GL_API, glCompileShader        ), "glCompileShader" },
+       { offsetof (Evas_GL_API, glGetShaderiv          ), "glGetShaderiv" },
+       { offsetof (Evas_GL_API, glGetShaderInfoLog     ), "glGetShaderInfoLog" },
+       { offsetof (Evas_GL_API, glDeleteShader         ), "glDeleteShader" },
+       /* program functions */
+       { offsetof (Evas_GL_API, glCreateProgram        ), "glCreateProgram" },
+       { offsetof (Evas_GL_API, glAttachShader         ), "glAttachShader" },
+       { offsetof (Evas_GL_API, glDeleteProgram        ), "glDeleteProgram" },
+       { offsetof (Evas_GL_API, glLinkProgram          ), "glLinkProgram" },
+       { offsetof (Evas_GL_API, glUseProgram           ), "glUseProgram" },
+       { offsetof (Evas_GL_API, glGetProgramiv         ), "glGetProgramiv" },
+       { offsetof (Evas_GL_API, glGetProgramInfoLog    ), "glGetProgramInfoLog" },
+       /* uniform functions */
+       { offsetof (Evas_GL_API, glGetUniformLocation   ), "glGetUniformLocation" },
+       { offsetof (Evas_GL_API, glUniform1f            ), "glUniform1f" },
+       { offsetof (Evas_GL_API, glUniform2f            ), "glUniform2f" },
+       { offsetof (Evas_GL_API, glUniform3f            ), "glUniform3f" },
+       { offsetof (Evas_GL_API, glUniform4f            ), "glUniform4f" },
+       { offsetof (Evas_GL_API, glUniform1fv           ), "glUniform1fv" },
+       { offsetof (Evas_GL_API, glUniformMatrix3fv     ), "glUniformMatrix3fv" },
+       { offsetof (Evas_GL_API, glUniformMatrix4fv     ), "glUniformMatrix4fv" },
+       { offsetof (Evas_GL_API, glUniform1i            ), "glUniform1i" },
+       /* attribute functions */
+       { offsetof (Evas_GL_API, glBindAttribLocation   ), "glBindAttribLocation" },
+       { offsetof (Evas_GL_API, glVertexAttribPointer  ), "glVertexAttribPointer" },
+       { offsetof (Evas_GL_API, glEnableVertexAttribArray), "glEnableVertexAttribArray" },
+       { offsetof (Evas_GL_API, glDisableVertexAttribArray), "glDisableVertexAttribArray" },
+       /* fbo functions */
+       { offsetof (Evas_GL_API, glGenFramebuffers      ), "glGenFramebuffers" },
+       { offsetof (Evas_GL_API, glBindFramebuffer      ), "glBindFramebuffer" },
+       { offsetof (Evas_GL_API, glFramebufferTexture2D ), "glFramebufferTexture2D" },
+       { offsetof (Evas_GL_API, glCheckFramebufferStatus), "glCheckFramebufferStatus" },
+       { offsetof (Evas_GL_API, glDeleteFramebuffers   ), "glDeleteFramebuffers" },
+       { offsetof (Evas_GL_API, glGenRenderbuffers     ), "glGenRenderbuffers" },
+       { offsetof (Evas_GL_API, glBindRenderbuffer     ), "glBindRenderbuffer" },
+       { offsetof (Evas_GL_API, glRenderbufferStorage  ), "glRenderbufferStorage" },
+       { offsetof (Evas_GL_API, glFramebufferRenderbuffer), "glFramebufferRenderbuffer" },
+       { offsetof (Evas_GL_API, glDeleteRenderbuffers  ), "glDeleteRenderbuffers" },
+       /* multisampling functions, none supported in efl-1.12.0 */
+       { 0, NULL }
+    };
+
+    api = evas_gl_api_get (gl);
+
+    for (i = 0; evas_gl_func_map[i].name; i++) {
+       if (! strncmp (evas_gl_func_map[i].name, name, strlen(name)))
+           return *((cairo_gl_generic_func_t *) (((char *) &api->version) + evas_gl_func_map[i].func));
+    }
+
+    return evas_gl_proc_address_get (gl, name);
+}
+
+static cairo_bool_t
+_context_acquisition_changed_evas_gl_state (cairo_evas_gl_context_t *ctx,
+                                           Evas_GL_Surface *current_surface)
+{
+    return ctx->queried_context != ctx->context ||
+          ctx->current_surface != current_surface;
+}
+
+static Evas_GL_Surface *
+_evas_gl_get_current_surface (cairo_evas_gl_context_t *ctx)
+{
+    if (ctx->base.current_target == NULL ||
+        _cairo_gl_surface_is_texture (ctx->base.current_target)) {
+       return  ctx->dummy_surface;
+    }
+
+    return ((cairo_evas_gl_surface_t *) ctx->base.current_target)->surface;
+}
+
+static void
+_evas_gl_query_current_state (cairo_evas_gl_context_t *ctx)
+{
+       ctx->queried_context = evas_gl_current_context_get (ctx->evas_gl);
+       ctx->current_surface = evas_gl_current_surface_get (ctx->evas_gl);
+}
+
+static void
+_evas_gl_acquire (void *abstract_ctx)
+{
+    cairo_evas_gl_context_t *ctx = abstract_ctx;
+    Evas_GL_Surface *current_surface = _evas_gl_get_current_surface (ctx);
+
+    _evas_gl_query_current_state (ctx);
+    if (!_context_acquisition_changed_evas_gl_state (ctx, current_surface))
+       return;
+
+    _cairo_gl_context_reset (&ctx->base);
+    evas_gl_make_current (ctx->evas_gl, current_surface, ctx->context);
+
+    ctx->current_surface = current_surface;
+    //ctx->base.current_target = &ctx->dummy_surface->base;
+}
+
+static void
+_evas_gl_release (void *abstract_ctx)
+{
+    cairo_evas_gl_context_t *ctx = abstract_ctx;
+    if (!ctx->base.thread_aware || ctx->has_multithread_makecurrent ||
+       !_context_acquisition_changed_evas_gl_state (ctx,
+                                                _evas_gl_get_current_surface (ctx))) {
+       return;
+    }
+
+    _cairo_gl_composite_flush (&ctx->base);
+    evas_gl_make_current (ctx->evas_gl, NULL, NULL);
+    ctx->current_surface = NULL;
+}
+
+static void
+_evas_gl_make_current (void *abstract_ctx,
+                  cairo_gl_surface_t *abstract_surface)
+{
+    cairo_evas_gl_context_t *ctx = abstract_ctx;
+    cairo_evas_gl_surface_t *surface = (cairo_evas_gl_surface_t *) abstract_surface;
+
+    if (surface->surface != ctx->current_surface) {
+       evas_gl_make_current (ctx->evas_gl, surface->surface, ctx->context);
+       ctx->current_surface = surface->surface;
+    }
+}
+
+static void
+_evas_gl_swap_buffers (void *abstract_ctx,
+                  cairo_gl_surface_t *abstract_surface)
+{ }
+
+static void
+_evas_gl_destroy (void *abstract_ctx)
+{
+    cairo_evas_gl_context_t *ctx = abstract_ctx;
+
+    evas_gl_make_current (ctx->evas_gl, NULL, NULL);
+    if (! ctx->dummy_surface)
+       evas_gl_surface_destroy (ctx->evas_gl, ctx->dummy_surface);
+}
+
+cairo_device_t *
+cairo_evas_gl_device_create (Evas_GL *evas_gl,
+                            Evas_GL_Context *evas_context)
+{
+    Evas_GL_Config *evas_cfg;
+    cairo_evas_gl_context_t *ctx;
+    cairo_status_t status;
+
+       if (! evas_gl ||! evas_context) {
+               fprintf (stderr, "cairo_evas_gl_device_create(): evas_gl or evas_context is NULL\n");
+       return _cairo_gl_context_create_in_error (CAIRO_STATUS_NULL_POINTER);
+       }
+
+    ctx = calloc (1, sizeof (cairo_evas_gl_context_t));
+    if (unlikely (ctx == NULL))
+       return _cairo_gl_context_create_in_error (CAIRO_STATUS_NO_MEMORY);
+
+    ctx->evas_gl = evas_gl;
+    ctx->context = evas_context;
+    evas_cfg = evas_gl_config_new ();
+
+    ctx->base.acquire = _evas_gl_acquire;
+    ctx->base.release = _evas_gl_release;
+    ctx->base.make_current = _evas_gl_make_current;
+    ctx->base.swap_buffers = _evas_gl_swap_buffers;
+    ctx->base.destroy = _evas_gl_destroy;
+
+    /* We are about the change the current state of evas-gl, so we should
+     * query the pre-existing surface now instead of later. */
+    _evas_gl_query_current_state (ctx);
+
+    ctx->dummy_surface = evas_gl_pbuffer_surface_create (ctx->evas_gl,
+                                                        evas_cfg,
+                                                        1, 1, NULL);
+    //evas_gl_config_free (evas_cfg);
+
+    if (ctx->dummy_surface == NULL) {
+        free (ctx);
+       return _cairo_gl_context_create_in_error (CAIRO_STATUS_NO_MEMORY);
+    }
+
+    if (!evas_gl_make_current (ctx->evas_gl, ctx->dummy_surface, evas_context)) {
+       evas_gl_surface_destroy (ctx->evas_gl, ctx->dummy_surface);
+       free (ctx);
+       return _cairo_gl_context_create_in_error (CAIRO_STATUS_NO_MEMORY);
+    }
+
+    status = _cairo_gl_dispatch_init (&ctx->base.dispatch,
+                                     _cairo_evas_gl_get_proc_addr,
+                                     ctx->evas_gl);
+    if (unlikely (status)) {
+       evas_gl_surface_destroy (ctx->evas_gl, ctx->dummy_surface);
+       free (ctx);
+       return _cairo_gl_context_create_in_error (status);
+    }
+
+    status = _cairo_gl_context_init (&ctx->base);
+    if (unlikely (status)) {
+       evas_gl_surface_destroy (ctx->evas_gl, ctx->dummy_surface);
+       free (ctx);
+       return _cairo_gl_context_create_in_error (status);
+    }
+
+    if (strstr(evas_gl_string_query (ctx->evas_gl, EVAS_GL_EXTENSIONS),
+                                    "GLX_MESA_multithread_makecurrent"))
+       ctx->has_multithread_makecurrent = TRUE;
+    else
+       ctx->has_multithread_makecurrent = FALSE;
+
+    evas_gl_make_current (ctx->evas_gl, NULL, NULL);
+    return &ctx->base.base;
+}
+
+cairo_surface_t *
+cairo_gl_surface_create_for_evas_gl (cairo_device_t    *device,
+                                    Evas_GL_Surface    *evas_surface,
+                                    Evas_GL_Config     *evas_config,
+                                    int                 width,
+                                    int                 height)
+{
+    cairo_evas_gl_surface_t *surface;
+
+       if ((! device)||(cairo_device_status(device)!= CAIRO_STATUS_SUCCESS)){
+               fprintf (stderr, "cairo_gl_surface_create_for_evas_gl(): cairo device is NULL or not available\n");
+       return _cairo_surface_create_in_error(CAIRO_STATUS_NULL_POINTER);
+       }
+
+    if (unlikely (device->status))
+       return _cairo_surface_create_in_error (device->status);
+
+       if (! evas_surface || ! evas_config) {
+               fprintf (stderr, "cairo_gl_surface_create_for_evas_gl(): evas_surface or evas_config is NULL\n");
+       return _cairo_surface_create_in_error (CAIRO_STATUS_NULL_POINTER);
+       }
+
+    if (device->backend->type != CAIRO_DEVICE_TYPE_GL)
+       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_SURFACE_TYPE_MISMATCH));
+
+    if (width <= 0 || height <= 0)
+        return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_SIZE));
+
+    surface = calloc (1, sizeof (cairo_evas_gl_surface_t));
+    if (unlikely (surface == NULL))
+       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+
+    _cairo_gl_surface_init (device, &surface->base,
+                           CAIRO_CONTENT_COLOR_ALPHA, width, height);
+
+    if (evas_config->stencil_bits != EVAS_GL_STENCIL_NONE)
+       surface->base.supports_stencil = TRUE;
+
+    /* does not matter num of samples */
+    if (evas_config->multisample_bits != EVAS_GL_MULTISAMPLE_NONE) {
+       surface->base.num_samples = 2;
+       surface->base.supports_msaa = TRUE;
+    }
+
+    surface->base.stencil_and_msaa_caps_initialized = TRUE;
+
+    surface->surface = evas_surface;
+
+    return &surface->base.base;
+}
+
+static cairo_bool_t is_evas_gl_device (cairo_device_t *device)
+{
+               return (device->backend != NULL &&
+           device->backend->type == CAIRO_DEVICE_TYPE_GL);
+}
+
+static cairo_evas_gl_context_t *to_evas_gl_context (cairo_device_t *device)
+{
+       return (cairo_evas_gl_context_t *) device;
+}
+
+cairo_public Evas_GL *
+cairo_evas_gl_device_get_gl (cairo_device_t *device)
+{
+       if ((! device)||(cairo_device_status(device)!= CAIRO_STATUS_SUCCESS)){
+               fprintf(stderr,"\n cairo_evas_gl_device_get_gl(): cairo device is NULL or not available");
+       _cairo_error_throw(CAIRO_STATUS_DEVICE_ERROR);
+       return NULL;
+       }
+
+       if (! is_evas_gl_device (device)) {
+       _cairo_error_throw (CAIRO_STATUS_DEVICE_TYPE_MISMATCH);
+       return NULL;
+    }
+
+    return to_evas_gl_context (device)->evas_gl;
+}
+
+cairo_public Evas_GL_Context *
+cairo_evas_gl_device_get_context (cairo_device_t *device)
+{
+       if ((! device)||(cairo_device_status(device)!= CAIRO_STATUS_SUCCESS)){
+               fprintf(stderr,"\n cairo_evas_gl_device_get_context(): cairo device is NULL or not available");         
+       _cairo_error_throw (CAIRO_STATUS_DEVICE_ERROR);
+       return NULL;
+       }
+
+    if (! is_evas_gl_device (device)) {
+       _cairo_error_throw (CAIRO_STATUS_DEVICE_TYPE_MISMATCH);
+       return NULL;
+    }
+
+    return to_evas_gl_context (device)->context;
+}
diff --git a/src/cairo-evas-gl.h b/src/cairo-evas-gl.h
new file mode 100755 (executable)
index 0000000..bfd93ba
--- /dev/null
@@ -0,0 +1,253 @@
+/* Cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2009 Eric Anholt
+ * Copyright © 2009 Chris Wilson
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Eric Anholt.
+ */
+
+#ifndef CAIRO_EVAS_GL_H
+#define CAIRO_EVAS_GL_H
+
+#include "cairo.h"
+
+#if CAIRO_HAS_EVASGL_SURFACE
+
+CAIRO_BEGIN_DECLS
+
+#include <Evas_GL.h>
+
+/**
+ * @addtogroup CAPI_CAIRO_EVAS_GL_MODULE
+ * @{
+ */
+
+/* Evas_GL.h does not define GLchar */
+typedef char GLchar;
+#ifndef GL_DRAW_FRAMEBUFFER
+#define GL_DRAW_FRAMEBUFFER    0x8CA9
+#endif
+
+#ifndef GL_READ_FRAMEBUFFER
+#define GL_READ_FRAMEBUFFER    0x8CA8
+#endif
+
+#ifndef GL_BACK_LEFT
+#define GL_BACK_LEFT           0x402
+#endif
+
+#ifndef GL_DEPTH_STENCIL
+#define GL_DEPTH_STENCIL       0x84F9
+#endif
+
+#ifndef GL_DEPTH24_STENCIL8
+#define GL_DEPTH24_STENCIL8    0x88F0
+#endif
+
+#ifndef GL_MAX_SAMPLES
+#define GL_MAX_SAMPLES         0x8D57
+#endif
+
+#ifndef GL_DEPTH_STENCIL_ATTACHMENT
+#define GL_DEPTH_STENCIL_ATTACHMENT    0x821A
+#endif
+
+/* Cairo-gl API, which is Open-source, can be used at the Cairo_EvasGL backend */
+
+/**
+ * @brief Create a cairo GL surface using the device as the underlying rendering system.
+ *
+ * @since_tizen 2.3.1
+ *
+ * @param[in] device         The given cairo_device_t represents the driver interface to underlying rendering system
+ * @param[in] content        Type of content in the surface
+ * @param[in] width          Width of the surface, in pixels
+ * @param[in] height         Height of the surface, in pixels
+ *
+ * @return The created surface or NULL on failure
+ *     The error value on failure can be retrieved with cairo_status().
+ */
+
+cairo_public cairo_surface_t *
+cairo_gl_surface_create (cairo_device_t *device,
+                        cairo_content_t content,
+                        int width, int height);
+
+/**
+ * @brief Create a cairo GL surface using the texture as the render target, and the device as the underlying rendering system.\n
+ *     The content must match the format of the texture\n
+ *     CAIRO_CONTENT_ALPHA <-> GL_ALPHA\n
+ *     CAIRO_CONTENT_COLOR <-> GL_RGB/GL_BGR\n
+ *     CAIRO_CONTENT_COLOR_ALPHA <-> GL_RGBA/GL_BGRA\n
+ *
+ * @since_tizen 2.3.1
+ *
+ * @param[in] abstract_device         The given cairo_device_t represents the driver interface to underlying rendering system
+ * @param[in] content       Type of content in the surface
+ * @param[in] tex              Name of texture to use for storage of surface pixels
+ * @param[in] width           Width of the surface, in pixels
+ * @param[in] height          Height of the surface, in pixels
+ *
+ * @return The created surface or NULL on failure
+ *     The error value on failure can be retrieved with cairo_status().
+ */
+
+cairo_public cairo_surface_t *
+cairo_gl_surface_create_for_texture (cairo_device_t *abstract_device,
+                                    cairo_content_t content,
+                                    unsigned int tex,
+                                     int width, int height);
+
+/**
+ * @brief Returns the width of given cairo surface object
+ *
+ * @since_tizen 2.3.1
+ *
+ * @param[in] abstract_surface        The given cairo_surface_t object
+ *
+ * @return the surface width or NULL on failure
+ *     The error value on failure can be retrieved with cairo_status().
+ */
+
+cairo_public int
+cairo_gl_surface_get_width (cairo_surface_t *abstract_surface);
+
+/**
+ * @brief Returns the height of given cairo surface object
+ *
+ * @since_tizen 2.3.1
+ *
+ * @param[in] abstract_surface         The given cairo_surface_t object
+ *
+ * @return the surface height or NULL on failure
+ *     The error value on failure can be retrieved with cairo_status().
+ */
+
+cairo_public int
+cairo_gl_surface_get_height (cairo_surface_t *abstract_surface);
+
+/**
+ * @brief Cairo can be used in multithreaded environment.\n
+ *     By default, cairo switches out the current GL context after each draw finishes.\n
+ *     This API tells cairo not to switch GL context if no other thread uses cairo for rendering.\n
+ *     In carefully designed application, there should be a single, dedicated rendering thread.\n
+ *
+ * @since_tizen 2.3.1
+ *
+ * @param[in] device         The given cairo_device structure for the interface to underlying rendering system
+ * @param[in] thread_aware       Set this value as FALSE to choose non-thread-aware mode
+ */
+
+cairo_public void
+cairo_gl_device_set_thread_aware (cairo_device_t       *device,
+                                 cairo_bool_t           thread_aware);
+
+/**
+ * @brief Creates and returns a new cairo_device structure for interface to underlying rendering system.
+ *
+ * @since_tizen 2.3.1
+ *
+ * @param[in] evas_gl        The given Evas_gl object
+ * @param[in] evas_context   The given Evas GL Context object
+ *
+ * @return The created cairo_device structure, or an error status on failure.
+ *     The error value can be retrieved with cairo_device_status().
+ *
+ * @see evas_gl_new
+ * @see evas_gl_context_create
+ * @see cairo_gl_surface_create_for_evas_gl
+ */
+
+cairo_public cairo_device_t *
+cairo_evas_gl_device_create (Evas_GL           *evas_gl,
+                            Evas_GL_Context    *evas_context);
+
+/**
+ * @brief Creates and returns a new cairo_surface structure for representing Evas_GL_Surface object that cairo can render to.
+ *
+ * @since_tizen 2.3.1
+ *
+ * @param[in] device         The given cairo_device structure for the interface to underlying rendering system
+ * @param[in] evas_surface   The given Evas_GL_Surface object for GL Rendering
+ * @param[in] evas_config       The pixel format and configuration of the rendering surface
+ * @param[in] width          The width of the surface
+ * @param[in] height         The height of the surface
+ *
+ * @return The created cairo_surface structure, or an error status on failure
+ *     The error value can be retrieved with cairo_surface_status().
+ *
+ * @see cairo_evas_gl_device_create
+ * @see evas_gl_surface_create
+ * @see evas_gl_config_new
+ */
+
+cairo_public cairo_surface_t *
+cairo_gl_surface_create_for_evas_gl (cairo_device_t    *device,
+                                    Evas_GL_Surface    *evas_surface,
+                                    Evas_GL_Config     *evas_config,
+                                    int                 width,
+                                    int                 height);
+
+/**
+ * @brief Returns the underlying Evas_GL object used to create cairo device object
+ *
+ * @since_tizen 2.3.1
+ *
+ * @param[in] device         The given cairo_device_t represents the driver interface to underlying rendering system
+ *
+ * @return The created Evas_GL object or NULL on failure
+ *     The error value on failure can be retrieved with cairo_status().
+ */
+
+cairo_public Evas_GL *
+cairo_evas_gl_device_get_gl (cairo_device_t *device);
+
+/**
+ * @brief Returns the underlying Evas_GL_Context object used to create cairo device object.
+ *
+ * @since_tizen 2.3.1
+ *
+ * @param[in] device         The given cairo_device_t represents the driver interface to underlying rendering system
+ *
+ * @return The created Evas_GL_Context object or NULL on failure
+ *     The error value on failure can be retrieved with cairo_status().
+ */
+
+cairo_public Evas_GL_Context *
+cairo_evas_gl_device_get_context (cairo_device_t *device);
+
+/**
+ * @}
+ */
+
+CAIRO_END_DECLS
+#else  /* CAIRO_HAS_EVASGL_SURFACE */
+# error Cairo was not compiled with support for the Evas GL backend
+#endif /* CAIRO_HAS_EVASGL_SURFACE */
+
+#endif /* CAIRO_EVAS_GL_H */
index efc8a79..3f6199f 100644 (file)
@@ -42,6 +42,7 @@
 #include "cairoint.h"
 
 #include "cairo-compositor-private.h"
+#include "cairo-image-surface-private.h"
 #include "cairo-surface-offset-private.h"
 
 /* high-level compositor interface */
@@ -50,41 +51,43 @@ static cairo_int_status_t
 _cairo_fallback_compositor_paint (const cairo_compositor_t     *_compositor,
                                  cairo_composite_rectangles_t  *extents)
 {
-    cairo_surface_t *image;
+    cairo_image_surface_t *image;
     cairo_int_status_t status;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
-    image = cairo_surface_map_to_image (extents->surface, &extents->unbounded);
-    status = _cairo_surface_offset_paint (image,
+
+    image = _cairo_surface_map_to_image (extents->surface, &extents->unbounded);
+
+    status = _cairo_surface_offset_paint (&image->base,
                                          extents->unbounded.x,
                                          extents->unbounded.y,
                                          extents->op,
                                          &extents->source_pattern.base,
                                          extents->clip);
-    cairo_surface_unmap_image (extents->surface, image);
 
-    return status;
+    return _cairo_surface_unmap_image (extents->surface, image);
 }
 
 static cairo_int_status_t
 _cairo_fallback_compositor_mask (const cairo_compositor_t      *_compositor,
                                 cairo_composite_rectangles_t   *extents)
 {
-    cairo_surface_t *image;
+    cairo_image_surface_t *image;
     cairo_int_status_t status;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
-    image = cairo_surface_map_to_image (extents->surface, &extents->unbounded);
-    status = _cairo_surface_offset_mask (image,
+
+    image = _cairo_surface_map_to_image (extents->surface, &extents->unbounded);
+
+    status = _cairo_surface_offset_mask (&image->base,
                                         extents->unbounded.x,
                                         extents->unbounded.y,
                                         extents->op,
                                         &extents->source_pattern.base,
                                         &extents->mask_pattern.base,
                                         extents->clip);
-    cairo_surface_unmap_image (extents->surface, image);
 
-    return status;
+    return _cairo_surface_unmap_image (extents->surface, image);
 }
 
 static cairo_int_status_t
@@ -97,12 +100,14 @@ _cairo_fallback_compositor_stroke (const cairo_compositor_t        *_compositor,
                                   double                        tolerance,
                                   cairo_antialias_t             antialias)
 {
-    cairo_surface_t *image;
+    cairo_image_surface_t *image;
     cairo_int_status_t status;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
-    image = cairo_surface_map_to_image (extents->surface, &extents->unbounded);
-    status = _cairo_surface_offset_stroke (image,
+
+    image = _cairo_surface_map_to_image (extents->surface, &extents->unbounded);
+
+    status = _cairo_surface_offset_stroke (&image->base,
                                           extents->unbounded.x,
                                           extents->unbounded.y,
                                           extents->op,
@@ -112,9 +117,8 @@ _cairo_fallback_compositor_stroke (const cairo_compositor_t *_compositor,
                                           tolerance,
                                           antialias,
                                           extents->clip);
-    cairo_surface_unmap_image (extents->surface, image);
 
-    return status;
+    return _cairo_surface_unmap_image (extents->surface, image);
 }
 
 static cairo_int_status_t
@@ -125,12 +129,14 @@ _cairo_fallback_compositor_fill (const cairo_compositor_t *_compositor,
                                 double                          tolerance,
                                 cairo_antialias_t               antialias)
 {
-    cairo_surface_t *image;
+    cairo_image_surface_t *image;
     cairo_int_status_t status;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
-    image = cairo_surface_map_to_image (extents->surface, &extents->unbounded);
-    status = _cairo_surface_offset_fill (image,
+
+    image = _cairo_surface_map_to_image (extents->surface, &extents->unbounded);
+
+    status = _cairo_surface_offset_fill (&image->base,
                                         extents->unbounded.x,
                                         extents->unbounded.y,
                                         extents->op,
@@ -138,9 +144,8 @@ _cairo_fallback_compositor_fill (const cairo_compositor_t   *_compositor,
                                         path,
                                         fill_rule, tolerance, antialias,
                                         extents->clip);
-    cairo_surface_unmap_image (extents->surface, image);
 
-    return status;
+    return _cairo_surface_unmap_image (extents->surface, image);
 }
 
 static cairo_int_status_t
@@ -151,21 +156,22 @@ _cairo_fallback_compositor_glyphs (const cairo_compositor_t       *_compositor,
                                   int                           num_glyphs,
                                   cairo_bool_t                  overlap)
 {
-    cairo_surface_t *image;
+    cairo_image_surface_t *image;
     cairo_int_status_t status;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
-    image = cairo_surface_map_to_image (extents->surface, &extents->unbounded);
-    status = _cairo_surface_offset_glyphs (image,
+
+    image = _cairo_surface_map_to_image (extents->surface, &extents->unbounded);
+
+    status = _cairo_surface_offset_glyphs (&image->base,
                                           extents->unbounded.x,
                                           extents->unbounded.y,
                                           extents->op,
                                           &extents->source_pattern.base,
                                           scaled_font, glyphs, num_glyphs,
                                           extents->clip);
-    cairo_surface_unmap_image (extents->surface, image);
 
-    return status;
+    return _cairo_surface_unmap_image (extents->surface, image);
 }
 
 const cairo_compositor_t _cairo_fallback_compositor = {
diff --git a/src/cairo-filters-private.h b/src/cairo-filters-private.h
new file mode 100644 (file)
index 0000000..89b7037
--- /dev/null
@@ -0,0 +1,57 @@
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2009 Eric Anholt
+ * Copyright © 2009 Chris Wilson
+ * Copyright © 2005,2010 Red Hat, Inc
+ * Copyright © 2011 Linaro Limited
+ * Copyright © 2013 Samsung Research America, Silicon Valley
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Red Hat, Inc.
+ *
+ * Contributor(s):
+ *     Henry Song <henry.song@samsung.com>
+ */
+
+#ifndef CAIRO_FILTERS_PRIVATE_H
+#define CAIRO_FILTERS_PRIVATE_H
+
+#include "cairoint.h"
+
+cairo_private void
+compute_x_coef_to_float (double *matrix, int row, int col, float *coef);
+
+cairo_private void
+compute_y_coef_to_float (double *matrix, int row, int col, float *coef);
+
+cairo_private void
+compute_x_coef_to_double (double *matrix, int row, int col, double *coef);
+
+cairo_private void
+compute_y_coef_to_double (double *matrix, int row, int col, double *coef);
+
+#endif /* CAIRO_FILTERS_PRIVATE_H */
diff --git a/src/cairo-filters.c b/src/cairo-filters.c
new file mode 100644 (file)
index 0000000..dfacda5
--- /dev/null
@@ -0,0 +1,85 @@
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2009 Eric Anholt
+ * Copyright © 2009 Chris Wilson
+ * Copyright © 2005,2010 Red Hat, Inc
+ * Copyright © 2011 Linaro Limited
+ * Copyright © 2013 Samsung Research America, Silicon Valley
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Red Hat, Inc.
+ *
+ * Contributor(s):
+ *     Henry Song <henry.song@samsung.com>
+ */
+
+#include "cairoint.h"
+#include "cairo-filters-private.h"
+
+void
+compute_x_coef_to_float (double *matrix, int row, int col, float *coef)
+{
+    int i, j;
+
+    for (i = 0; i < col; i++) {
+       for (j = 0; j < row; j++)
+           coef[i] += matrix[i + j * col];
+    }
+}
+
+void
+compute_y_coef_to_float (double *matrix, int row, int col, float *coef)
+{
+    int i, j;
+
+    for (i = 0; i < row; i++) {
+       for (j = 0; j < col; j++)
+           coef[i] += matrix[i * col + j];
+    }
+}
+
+void
+compute_x_coef_to_double (double *matrix, int row, int col, double *coef)
+{
+    int i, j;
+
+    for (i = 0; i < col; i++) {
+       for (j = 0; j < row; j++)
+           coef[i] += matrix[i + j * col];
+    }
+}
+
+void
+compute_y_coef_to_double (double *matrix, int row, int col, double *coef)
+{
+    int i, j;
+
+    for (i = 0; i < row; i++) {
+       for (j = 0; j < col; j++)
+           coef[i] += matrix[i * col + j];
+    }
+}
index 2ad2630..22f8739 100644 (file)
@@ -419,6 +419,10 @@ twin_scaled_font_compute_properties (cairo_scaled_font_t *scaled_font,
 
     props->face_props = cairo_font_face_get_user_data (cairo_scaled_font_get_font_face (scaled_font),
                                                       &twin_properties_key);
+    if (props->face_props == NULL) {
+       status = CAIRO_STATUS_NULL_POINTER;
+       goto FREE_PROPS;
+    }
 
     props->snap = scaled_font->options.hint_style > CAIRO_HINT_STYLE_NONE;
 
@@ -572,6 +576,8 @@ twin_scaled_font_render_glyph (cairo_scaled_font_t  *scaled_font,
     double gw;
 
     props = cairo_scaled_font_get_user_data (scaled_font, &twin_properties_key);
+    if (props == NULL)
+       return _cairo_error (CAIRO_STATUS_NULL_POINTER);
 
     /* Save glyph space, we need it when stroking */
     cairo_save (cr);
old mode 100644 (file)
new mode 100755 (executable)
index ad28745..7b26853
@@ -73,6 +73,7 @@ _cairo_font_options_init_default (cairo_font_options_t *options)
     options->hint_style = CAIRO_HINT_STYLE_DEFAULT;
     options->hint_metrics = CAIRO_HINT_METRICS_DEFAULT;
     options->round_glyph_positions = CAIRO_ROUND_GLYPH_POS_DEFAULT;
+       options->color = CAIRO_FONT_COLOR_DEFAULT;
 }
 
 void
@@ -85,6 +86,7 @@ _cairo_font_options_init_copy (cairo_font_options_t           *options,
     options->hint_style = other->hint_style;
     options->hint_metrics = other->hint_metrics;
     options->round_glyph_positions = other->round_glyph_positions;
+       options->color = other->color;
 }
 
 /**
@@ -226,6 +228,8 @@ cairo_font_options_merge (cairo_font_options_t       *options,
        options->hint_metrics = other->hint_metrics;
     if (other->round_glyph_positions != CAIRO_ROUND_GLYPH_POS_DEFAULT)
        options->round_glyph_positions = other->round_glyph_positions;
+       if (other->color != CAIRO_FONT_COLOR_DEFAULT)
+       options->color = other->color;
 }
 slim_hidden_def (cairo_font_options_merge);
 
@@ -259,7 +263,8 @@ cairo_font_options_equal (const cairo_font_options_t *options,
            options->lcd_filter == other->lcd_filter &&
            options->hint_style == other->hint_style &&
            options->hint_metrics == other->hint_metrics &&
-           options->round_glyph_positions == other->round_glyph_positions);
+           options->round_glyph_positions == other->round_glyph_positions &&
+               options->color == other->color);
 }
 slim_hidden_def (cairo_font_options_equal);
 
@@ -287,7 +292,8 @@ cairo_font_options_hash (const cairo_font_options_t *options)
            (options->subpixel_order << 4) |
            (options->lcd_filter << 8) |
            (options->hint_style << 12) |
-           (options->hint_metrics << 16));
+           (options->hint_metrics << 16) |
+               (options->color << 20));
 }
 slim_hidden_def (cairo_font_options_hash);
 
@@ -533,3 +539,22 @@ cairo_font_options_get_hint_metrics (const cairo_font_options_t *options)
 
     return options->hint_metrics;
 }
+void
+cairo_font_options_set_font_color (cairo_font_options_t *options,
+                                                               cairo_font_color_t  font_color)
+{
+       if (cairo_font_options_status (options))
+       return;
+
+       options->color = font_color;
+}
+slim_hidden_def (cairo_font_options_set_font_color);
+
+cairo_font_color_t
+cairo_font_options_get_font_color (const cairo_font_options_t *options)
+{
+       if (cairo_font_options_status ((cairo_font_options_t *) options))
+       return CAIRO_FONT_COLOR_DEFAULT;
+
+       return options->color;
+}
old mode 100644 (file)
new mode 100755 (executable)
index fba8025..55ee02c
 #include FT_XFREE86_H
 #if HAVE_FT_GLYPHSLOT_EMBOLDEN
 #include FT_SYNTHESIS_H
+#define USE_FT_OUTLINE_EMBOLDEN 1
 #endif
 
 #if HAVE_FT_LIBRARY_SETLCDFILTER
 #include FT_LCD_FILTER_H
 #endif
 
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#else
+#define access(p, m) 0
+#endif
+
 /* Fontconfig version older than 2.6 didn't have these options */
 #ifndef FC_LCD_FILTER
 #define FC_LCD_FILTER  "lcdfilter"
@@ -551,12 +558,15 @@ _cairo_ft_unscaled_font_create_for_pattern (FcPattern *pattern,
     if (ret == FcResultOutOfMemory)
        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
     if (ret == FcResultMatch) {
-       /* If FC_INDEX is not set, we just use 0 */
-       ret = FcPatternGetInteger (pattern, FC_INDEX, 0, &id);
-       if (ret == FcResultOutOfMemory)
-           return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       if (access (filename, R_OK) == 0) {
+           /* If FC_INDEX is not set, we just use 0 */
+           ret = FcPatternGetInteger (pattern, FC_INDEX, 0, &id);
+           if (ret == FcResultOutOfMemory)
+               return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
-       goto DONE;
+           goto DONE;
+       } else
+           return _cairo_error (CAIRO_STATUS_FILE_NOT_FOUND);
     }
 
     /* The pattern contains neither a face nor a filename, resolve it later. */
@@ -699,7 +709,8 @@ _cairo_ft_unscaled_font_unlock_face (cairo_ft_unscaled_font_t *unscaled)
 
 static cairo_status_t
 _compute_transform (cairo_ft_font_transform_t *sf,
-                   cairo_matrix_t      *scale)
+                   cairo_matrix_t      *scale,
+                   cairo_ft_unscaled_font_t *unscaled)
 {
     cairo_status_t status;
     double x_scale, y_scale;
@@ -727,6 +738,30 @@ _compute_transform (cairo_ft_font_transform_t *sf,
     if (y_scale < 1.0)
       y_scale = 1.0;
 
+    if (unscaled && (unscaled->face->face_flags & FT_FACE_FLAG_SCALABLE) == 0) {
+       double min_distance = DBL_MAX;
+       int i;
+       int best_i = 0;
+       double best_x_size = 0;
+       double best_y_size = 0;
+
+       for (i = 0; i < unscaled->face->num_fixed_sizes; i++) {
+           double x_size = unscaled->face->available_sizes[i].y_ppem / 64.;
+           double y_size = unscaled->face->available_sizes[i].y_ppem / 64.;
+           double distance = fabs (y_size - y_scale);
+
+           if (distance <= min_distance) {
+               min_distance = distance;
+               best_i = i;
+               best_x_size = x_size;
+               best_y_size = y_size;
+           }
+       }
+
+       x_scale = best_x_size;
+       y_scale = best_y_size;
+    }
+
     sf->x_scale = x_scale;
     sf->y_scale = y_scale;
 
@@ -752,6 +787,8 @@ _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t *unscaled,
     FT_Matrix mat;
     FT_Error error;
 
+    memset (sf.shape, 0, sizeof (sf.shape[0][0]) * 2 * 2);
+
     assert (unscaled->face != NULL);
 
     if (unscaled->have_scale &&
@@ -764,7 +801,7 @@ _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t *unscaled,
     unscaled->have_scale = TRUE;
     unscaled->current_scale = *scale;
 
-    status = _compute_transform (&sf, scale);
+    status = _compute_transform (&sf, scale, unscaled);
     if (unlikely (status))
        return status;
 
@@ -789,44 +826,12 @@ _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t *unscaled,
 
     FT_Set_Transform(unscaled->face, &mat, NULL);
 
-    if ((unscaled->face->face_flags & FT_FACE_FLAG_SCALABLE) != 0) {
-       error = FT_Set_Char_Size (unscaled->face,
-                                 sf.x_scale * 64.0 + .5,
-                                 sf.y_scale * 64.0 + .5,
-                                 0, 0);
-       if (error)
-           return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-    } else {
-       double min_distance = DBL_MAX;
-       int i;
-       int best_i = 0;
-
-       for (i = 0; i < unscaled->face->num_fixed_sizes; i++) {
-#if HAVE_FT_BITMAP_SIZE_Y_PPEM
-           double size = unscaled->face->available_sizes[i].y_ppem / 64.;
-#else
-           double size = unscaled->face->available_sizes[i].height;
-#endif
-           double distance = fabs (size - sf.y_scale);
-
-           if (distance <= min_distance) {
-               min_distance = distance;
-               best_i = i;
-           }
-       }
-#if HAVE_FT_BITMAP_SIZE_Y_PPEM
-       error = FT_Set_Char_Size (unscaled->face,
-                                 unscaled->face->available_sizes[best_i].x_ppem,
-                                 unscaled->face->available_sizes[best_i].y_ppem,
-                                 0, 0);
-       if (error)
-#endif
-           error = FT_Set_Pixel_Sizes (unscaled->face,
-                                       unscaled->face->available_sizes[best_i].width,
-                                       unscaled->face->available_sizes[best_i].height);
-       if (error)
-           return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-    }
+    error = FT_Set_Char_Size (unscaled->face,
+                             sf.x_scale * 64.0 + .5,
+                             sf.y_scale * 64.0 + .5,
+                             0, 0);
+    if (error)
+      return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
     return CAIRO_STATUS_SUCCESS;
 }
@@ -1117,6 +1122,7 @@ _get_bitmap_surface (FT_Bitmap                 *bitmap,
     unsigned char *data;
     int format = CAIRO_FORMAT_A8;
     cairo_image_surface_t *image;
+       cairo_bool_t component_alpha = TRUE;
 
     width = bitmap->width;
     height = bitmap->rows;
@@ -1158,8 +1164,8 @@ _get_bitmap_surface (FT_Bitmap                 *bitmap,
 
 #ifndef WORDS_BIGENDIAN
        {
-           uint8_t   *d = data;
-           int         count = stride * height;
+           uint8_t *d = data;
+           int count = stride * height;
 
            while (count--) {
                *d = CAIRO_BITSWAP8 (*d);
@@ -1173,7 +1179,7 @@ _get_bitmap_surface (FT_Bitmap                 *bitmap,
     case FT_PIXEL_MODE_LCD:
     case FT_PIXEL_MODE_LCD_V:
     case FT_PIXEL_MODE_GRAY:
-        if (font_options->antialias != CAIRO_ANTIALIAS_SUBPIXEL) {
+       if (font_options->antialias != CAIRO_ANTIALIAS_SUBPIXEL) {
            stride = bitmap->pitch;
            if (own_buffer) {
                data = bitmap->buffer;
@@ -1185,18 +1191,46 @@ _get_bitmap_surface (FT_Bitmap               *bitmap,
                memcpy (data, bitmap->buffer, stride * height);
            }
 
-       format = CAIRO_FORMAT_A8;
+           format = CAIRO_FORMAT_A8;
        } else {
-           /* if we get there, the  data from the source bitmap
-            * really comes from _fill_xrender_bitmap, and is
-            * made of 32-bit ARGB or ABGR values */
-           assert (own_buffer != 0);
-           assert (bitmap->pixel_mode != FT_PIXEL_MODE_GRAY);
-
-               data = bitmap->buffer;
+                       /* color glyph is rendered as bitmap, does not come from
+                       * _fill_xrender_bitmap */
+                       if (! own_buffer) {
+                       stride = bitmap->pitch;
+                       data = _cairo_malloc_ab (height, stride);
+                       if (!data)
+                       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+                       memcpy (data, bitmap->buffer, stride * height);
+                       format = CAIRO_FORMAT_A8;
+                       } else {
+                                       /* if we get there, the  data from the source bitmap
+                                       * really comes from _fill_xrender_bitmap, and is
+                                       * made of 32-bit ARGB or ABGR values */
+                                       assert (own_buffer != 0);
+                                       assert (bitmap->pixel_mode != FT_PIXEL_MODE_GRAY);
+
+                                       data = bitmap->buffer;
+                                       stride = bitmap->pitch;
+                                       format = CAIRO_FORMAT_ARGB32;
+                       }
+       }
+       break;
+       // color font
+    case FT_PIXEL_MODE_BGRA:
                stride = bitmap->pitch;
+               if (own_buffer) {
+                       data = bitmap->buffer;
+               } else {
+                       data = _cairo_malloc_ab (height, stride);
+                       if (!data)
+                       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+                       memcpy (data, bitmap->buffer, stride * height);
+               }
+
                format = CAIRO_FORMAT_ARGB32;
-       }
+               component_alpha = FALSE;
        break;
     case FT_PIXEL_MODE_GRAY2:
     case FT_PIXEL_MODE_GRAY4:
@@ -1217,7 +1251,7 @@ _get_bitmap_surface (FT_Bitmap                 *bitmap,
        return (*surface)->base.status;
     }
 
-    if (format == CAIRO_FORMAT_ARGB32)
+    if (format == CAIRO_FORMAT_ARGB32 && component_alpha)
        pixman_image_set_component_alpha (image->pixman_image, TRUE);
 
     _cairo_image_surface_assume_ownership_of_data (image);
@@ -1525,9 +1559,12 @@ _transform_glyph_bitmap (cairo_matrix_t         * shape,
     if (unlikely (status))
        return status;
 
-    image = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
-    if (unlikely (image->status))
-       return image->status;
+    image = cairo_image_surface_create ((*surface)->format, width, height);
+    if (unlikely (image->status)) {
+       status = image->status;
+       cairo_surface_destroy (image);
+       return status;
+    }
 
     /* Draw the original bitmap transformed into the new bitmap
      */
@@ -2154,6 +2191,11 @@ _cairo_ft_scaled_glyph_init (void                        *abstract_font,
        vertical_layout = TRUE;
     }
 
+       #ifdef FT_LOAD_COLOR
+               /*Color-glyph support */
+               load_flags |= FT_LOAD_COLOR;
+       #endif
+
     error = FT_Load_Glyph (face,
                           _cairo_scaled_glyph_index(scaled_glyph),
                           load_flags);
@@ -2171,7 +2213,22 @@ _cairo_ft_scaled_glyph_init (void                        *abstract_font,
      */
 #if HAVE_FT_GLYPHSLOT_EMBOLDEN
     if (scaled_font->ft_options.synth_flags & CAIRO_FT_SYNTHESIZE_BOLD)
+#if USE_FT_OUTLINE_EMBOLDEN
+    {
+        /*UX team request us to use 64 instead 34*/
+        FT_Pos xstr;
+        if(face && face->size)
+            xstr = FT_MulFix(face->units_per_EM, face->size->metrics.y_scale) / 64;
+        else
+            goto FAIL;
+        if(face->glyph)
+            FT_Outline_Embolden(&face->glyph->outline, xstr);
+        else
+            goto FAIL;
+    }
+#else
        FT_GlyphSlot_Embolden (glyph);
+#endif // USE_FT_OUTLINE_EMBOLDEN
 #endif
 
 #if HAVE_FT_GLYPHSLOT_OBLIQUE
@@ -2293,12 +2350,13 @@ _cairo_ft_scaled_glyph_init (void                       *abstract_font,
            {
                status = _transform_glyph_bitmap (&unscaled->current_shape,
                                                  &surface);
-               if (unlikely (status))
-                   cairo_surface_destroy (&surface->base);
            }
        }
-       if (unlikely (status))
+
+       if (unlikely (status)) {
+           cairo_surface_destroy (&surface->base);
            goto FAIL;
+       }
 
        _cairo_scaled_glyph_set_surface (scaled_glyph,
                                         &scaled_font->base,
@@ -2324,7 +2382,22 @@ _cairo_ft_scaled_glyph_init (void                        *abstract_font,
            }
 #if HAVE_FT_GLYPHSLOT_EMBOLDEN
            if (scaled_font->ft_options.synth_flags & CAIRO_FT_SYNTHESIZE_BOLD)
-               FT_GlyphSlot_Embolden (glyph);
+#if USE_FT_OUTLINE_EMBOLDEN
+            {
+                /*UX team request us to use 64 instead 34*/
+                FT_Pos xstr;
+                if(face && face->size)
+                    xstr = FT_MulFix(face->units_per_EM, face->size->metrics.y_scale) / 64;
+                else
+                    goto FAIL;
+                if(face->glyph)
+                    FT_Outline_Embolden(&face->glyph->outline, xstr);
+                else
+                    goto FAIL;
+            }
+#else
+               FT_GlyphSlot_Embolden (glyph);
+#endif // USE_FT_OUTLINE_EMBOLDEN
 #endif
 #if HAVE_FT_GLYPHSLOT_OBLIQUE
            if (scaled_font->ft_options.synth_flags & CAIRO_FT_SYNTHESIZE_OBLIQUE)
@@ -2512,6 +2585,22 @@ _cairo_index_to_glyph_name (void          *abstract_font,
     return CAIRO_INT_STATUS_UNSUPPORTED;
 }
 
+static cairo_bool_t
+_ft_is_type1 (FT_Face face)
+{
+#if HAVE_FT_GET_X11_FONT_FORMAT
+    const char *font_format = FT_Get_X11_Font_Format (face);
+    if (font_format &&
+       (strcmp (font_format, "Type 1") == 0 ||
+        strcmp (font_format, "CFF") == 0))
+    {
+       return TRUE;
+    }
+#endif
+
+    return FALSE;
+}
+
 static cairo_int_status_t
 _cairo_ft_load_type1_data (void                    *abstract_font,
                           long              offset,
@@ -2524,7 +2613,6 @@ _cairo_ft_load_type1_data (void               *abstract_font,
     cairo_status_t status = CAIRO_STATUS_SUCCESS;
     unsigned long available_length;
     unsigned long ret;
-    const char *font_format;
 
     assert (length != NULL);
 
@@ -2542,11 +2630,7 @@ _cairo_ft_load_type1_data (void              *abstract_font,
     }
 #endif
 
-    font_format = FT_Get_X11_Font_Format (face);
-    if (!font_format ||
-       !(strcmp (font_format, "Type 1") == 0 ||
-         strcmp (font_format, "CFF") == 0))
-    {
+    if (! _ft_is_type1 (face)) {
         status = CAIRO_INT_STATUS_UNSUPPORTED;
        goto unlock;
     }
@@ -3068,7 +3152,7 @@ _cairo_ft_resolve_pattern (FcPattern                    *pattern,
                            font_matrix,
                            &scale);
 
-    status = _compute_transform (&sf, &scale);
+    status = _compute_transform (&sf, &scale, NULL);
     if (unlikely (status))
        return (cairo_font_face_t *)&_cairo_font_face_nil;
 
index bc3f99d..c9f7782 100644 (file)
 #include "cairo-clip-private.h"
 #include "cairo-error-private.h"
 #include "cairo-image-surface-private.h"
-#include "cairo-traps-private.h"
 
 cairo_int_status_t
 _cairo_gl_composite_set_source (cairo_gl_composite_t *setup,
                                const cairo_pattern_t *pattern,
                                const cairo_rectangle_int_t *sample,
                                const cairo_rectangle_int_t *extents,
-                               cairo_bool_t use_color_attribute)
+                               cairo_bool_t use_texgen,
+                               cairo_bool_t encode_color_as_attribute)
 {
     _cairo_gl_operand_destroy (&setup->src);
     return _cairo_gl_operand_init (&setup->src, pattern, setup->dst,
-                                  sample, extents, use_color_attribute);
+                                  sample, extents, use_texgen,
+                                  encode_color_as_attribute);
 }
 
 void
 _cairo_gl_composite_set_source_operand (cairo_gl_composite_t *setup,
                                        const cairo_gl_operand_t *source)
 {
+    cairo_int_status_t status;
+
     _cairo_gl_operand_destroy (&setup->src);
     _cairo_gl_operand_copy (&setup->src, source);
+    if (source->type == CAIRO_GL_OPERAND_TEXTURE ||
+       source->type == CAIRO_GL_OPERAND_GAUSSIAN)
+       status = _cairo_gl_surface_resolve_multisampling (source->texture.surface);
 }
 
 void
@@ -85,36 +91,29 @@ cairo_int_status_t
 _cairo_gl_composite_set_mask (cairo_gl_composite_t *setup,
                              const cairo_pattern_t *pattern,
                              const cairo_rectangle_int_t *sample,
-                             const cairo_rectangle_int_t *extents)
+                             const cairo_rectangle_int_t *extents,
+                             cairo_bool_t use_texgen)
 {
-    cairo_int_status_t status;
-
     _cairo_gl_operand_destroy (&setup->mask);
     if (pattern == NULL)
         return CAIRO_STATUS_SUCCESS;
 
-    /* XXX: shoot me - we need to set component_alpha to be true
-       if op is CAIRO_OPERATOR_CLEAR AND pattern is a surface_pattern
-     */
-    status = _cairo_gl_operand_init (&setup->mask, pattern, setup->dst,
-                                     sample, extents, FALSE);
-    if (unlikely (status))
-       return status;
-
-    if (setup->op == CAIRO_OPERATOR_CLEAR &&
-       !  _cairo_pattern_is_opaque (pattern, sample))
-       setup->mask.texture.attributes.has_component_alpha = TRUE;
-
-    return status;
+    return _cairo_gl_operand_init (&setup->mask, pattern, setup->dst,
+                                  sample, extents, use_texgen, FALSE);
 }
 
 void
 _cairo_gl_composite_set_mask_operand (cairo_gl_composite_t *setup,
                                      const cairo_gl_operand_t *mask)
 {
+    cairo_int_status_t status;
     _cairo_gl_operand_destroy (&setup->mask);
-    if (mask)
+    if (mask) {
        _cairo_gl_operand_copy (&setup->mask, mask);
+       if (mask->type == CAIRO_GL_OPERAND_TEXTURE ||
+           mask->type == CAIRO_GL_OPERAND_GAUSSIAN)
+           status = _cairo_gl_surface_resolve_multisampling (mask->texture.surface);
+    }
 }
 
 void
@@ -124,6 +123,12 @@ _cairo_gl_composite_set_spans (cairo_gl_composite_t *setup)
 }
 
 void
+_cairo_gl_composite_set_multisample (cairo_gl_composite_t *setup)
+{
+    setup->multisample = TRUE;
+}
+
+void
 _cairo_gl_composite_set_clip_region (cairo_gl_composite_t *setup,
                                      cairo_region_t *clip_region)
 {
@@ -141,7 +146,7 @@ static void
 _cairo_gl_composite_bind_to_shader (cairo_gl_context_t   *ctx,
                                    cairo_gl_composite_t *setup)
 {
-    _cairo_gl_shader_bind_matrix4f(ctx, "ModelViewProjectionMatrix",
+    _cairo_gl_shader_bind_matrix4f(ctx, CAIRO_GL_UNIFORM_PROJECTION_MATRIX,
                                   ctx->modelviewprojection_matrix);
     _cairo_gl_operand_bind_to_shader (ctx, &setup->src,  CAIRO_GL_TEX_SOURCE);
     _cairo_gl_operand_bind_to_shader (ctx, &setup->mask, CAIRO_GL_TEX_MASK);
@@ -155,17 +160,17 @@ _cairo_gl_texture_set_filter (cairo_gl_context_t *ctx,
     switch (filter) {
     case CAIRO_FILTER_FAST:
     case CAIRO_FILTER_NEAREST:
-       glTexParameteri (target, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-       glTexParameteri (target, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+       ctx->dispatch.TexParameteri (target, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+       ctx->dispatch.TexParameteri (target, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
        break;
     case CAIRO_FILTER_GOOD:
     case CAIRO_FILTER_BEST:
     case CAIRO_FILTER_BILINEAR:
-       glTexParameteri (target, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-       glTexParameteri (target, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+    case CAIRO_FILTER_GAUSSIAN:
+       ctx->dispatch.TexParameteri (target, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+       ctx->dispatch.TexParameteri (target, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
        break;
     default:
-    case CAIRO_FILTER_GAUSSIAN:
        ASSERT_NOT_REACHED;
     }
 }
@@ -182,7 +187,8 @@ _cairo_gl_texture_set_extend (cairo_gl_context_t *ctx,
 
     switch (extend) {
     case CAIRO_EXTEND_NONE:
-       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES)
+       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 ||
+           ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3)
            wrap_mode = GL_CLAMP_TO_EDGE;
        else
            wrap_mode = GL_CLAMP_TO_BORDER;
@@ -207,8 +213,8 @@ _cairo_gl_texture_set_extend (cairo_gl_context_t *ctx,
     }
 
     if (likely (wrap_mode)) {
-       glTexParameteri (target, GL_TEXTURE_WRAP_S, wrap_mode);
-       glTexParameteri (target, GL_TEXTURE_WRAP_T, wrap_mode);
+       ctx->dispatch.TexParameteri (target, GL_TEXTURE_WRAP_S, wrap_mode);
+       ctx->dispatch.TexParameteri (target, GL_TEXTURE_WRAP_T, wrap_mode);
     }
 }
 
@@ -217,23 +223,21 @@ static void
 _cairo_gl_context_setup_operand (cairo_gl_context_t *ctx,
                                  cairo_gl_tex_t      tex_unit,
                                  cairo_gl_operand_t *operand,
-                                 unsigned int        vertex_size,
-                                 unsigned int        vertex_offset)
+                                 unsigned int        vertex_offset,
+                                 cairo_bool_t        vertex_size_changed)
 {
     cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
     cairo_bool_t needs_setup;
-    cairo_bool_t needs_flush = TRUE;
-    void *attrib_location = (void *) ((uintptr_t) vertex_offset);
+    unsigned int offset = vertex_offset;
 
     /* XXX: we need to do setup when switching from shaders
      * to no shaders (or back) */
-    needs_setup = ctx->vertex_size != vertex_size;
+    needs_setup = vertex_size_changed;
     needs_setup |= _cairo_gl_operand_needs_setup (&ctx->operands[tex_unit],
                                                  operand,
-                                                 vertex_offset,
-                                                 &needs_flush);
+                                                 vertex_offset);
 
-    if (needs_setup && needs_flush) {
+    if (needs_setup) {
         _cairo_gl_composite_flush (ctx);
         _cairo_gl_context_destroy_operand (ctx, tex_unit);
     }
@@ -244,9 +248,6 @@ _cairo_gl_context_setup_operand (cairo_gl_context_t *ctx,
     if (! needs_setup)
         return;
 
-    if (! ctx->has_map_buffer)
-       attrib_location = (void *) (ctx->vb_mem + vertex_offset);
-
     switch (operand->type) {
     default:
     case CAIRO_GL_OPERAND_COUNT:
@@ -255,37 +256,43 @@ _cairo_gl_context_setup_operand (cairo_gl_context_t *ctx,
         break;
         /* fall through */
     case CAIRO_GL_OPERAND_CONSTANT:
-        if (operand->use_color_attribute) {
-            dispatch->VertexAttribPointer (CAIRO_GL_COLOR_ATTRIB_INDEX, 4,
-                                           GL_FLOAT, GL_FALSE, vertex_size,
-                                           attrib_location);
-            dispatch->EnableVertexAttribArray (CAIRO_GL_COLOR_ATTRIB_INDEX);
-        }
-        break;
+       if (operand->constant.encode_as_attribute) {
+           dispatch->VertexAttribPointer (CAIRO_GL_COLOR_ATTRIB_INDEX, 4,
+                                          GL_FLOAT, GL_FALSE, ctx->vertex_size,
+                                          ctx->vb + vertex_offset);
+           dispatch->EnableVertexAttribArray (CAIRO_GL_COLOR_ATTRIB_INDEX);
+       }
+       break;
     case CAIRO_GL_OPERAND_TEXTURE:
-        glActiveTexture (GL_TEXTURE0 + tex_unit);
-        glBindTexture (ctx->tex_target, operand->texture.tex);
+    case CAIRO_GL_OPERAND_GAUSSIAN:
+        if (ctx->states_cache.active_texture != GL_TEXTURE0 + tex_unit) {
+           dispatch->ActiveTexture (GL_TEXTURE0 + tex_unit);
+           ctx->states_cache.active_texture = GL_TEXTURE0 + tex_unit;
+        }
+        dispatch->BindTexture (ctx->tex_target, operand->texture.tex);
         _cairo_gl_texture_set_extend (ctx, ctx->tex_target,
                                       operand->texture.attributes.extend,
                                       operand->texture.use_atlas);
         _cairo_gl_texture_set_filter (ctx, ctx->tex_target,
                                       operand->texture.attributes.filter);
-
-       dispatch->VertexAttribPointer (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit, 2,
-                                       GL_FLOAT, GL_FALSE, vertex_size,
-                                       attrib_location);
-       dispatch->EnableVertexAttribArray (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit);
+       if (! operand->texture.texgen) {
+           dispatch->VertexAttribPointer (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit, 2,
+                                          GL_FLOAT, GL_FALSE, ctx->vertex_size,
+                                          ctx->vb + offset);
+           dispatch->EnableVertexAttribArray (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit);
+           offset += 2 * sizeof (GLfloat);
+       }
 
        if (operand->texture.use_atlas) {
            dispatch->VertexAttribPointer (CAIRO_GL_START_COORD0_ATTRIB_INDEX + tex_unit,
                                           2, GL_FLOAT, GL_FALSE,
-                                          vertex_size,
-                                          (char *)attrib_location + 2 * sizeof (float));
+                                          ctx->vertex_size,
+                                          ctx->vb + offset);
            dispatch->EnableVertexAttribArray (CAIRO_GL_START_COORD0_ATTRIB_INDEX + tex_unit);
            dispatch->VertexAttribPointer (CAIRO_GL_STOP_COORD0_ATTRIB_INDEX + tex_unit,
                                           2, GL_FLOAT, GL_FALSE,
-                                          vertex_size,
-                                          (char *)attrib_location + 4 * sizeof (float));
+                                          ctx->vertex_size,
+                                          ctx->vb + offset + 2 * sizeof (float));
            dispatch->EnableVertexAttribArray (CAIRO_GL_STOP_COORD0_ATTRIB_INDEX + tex_unit);
        }
         break;
@@ -293,35 +300,49 @@ _cairo_gl_context_setup_operand (cairo_gl_context_t *ctx,
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
-        glActiveTexture (GL_TEXTURE0 + tex_unit);
-        glBindTexture (ctx->tex_target, operand->gradient.gradient->tex);
+        if(ctx->states_cache.active_texture != GL_TEXTURE0 + tex_unit) {
+           dispatch->ActiveTexture (GL_TEXTURE0 + tex_unit);
+           ctx->states_cache.active_texture = GL_TEXTURE0 + tex_unit;
+        }
+        dispatch->BindTexture (ctx->tex_target, operand->gradient.gradient->tex);
         _cairo_gl_texture_set_extend (ctx, ctx->tex_target,
                                      operand->gradient.extend, FALSE);
         _cairo_gl_texture_set_filter (ctx, ctx->tex_target, CAIRO_FILTER_BILINEAR);
 
-       dispatch->VertexAttribPointer (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit, 2,
-                                      GL_FLOAT, GL_FALSE, vertex_size,
-                                      attrib_location);
-       dispatch->EnableVertexAttribArray (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit);
+       if (! operand->gradient.texgen) {
+           dispatch->VertexAttribPointer (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit, 2,
+                                          GL_FLOAT, GL_FALSE, ctx->vertex_size,
+                                          ctx->vb + vertex_offset);
+           dispatch->EnableVertexAttribArray (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit);
+       }
        break;
     }
 }
 
 static void
 _cairo_gl_context_setup_spans (cairo_gl_context_t *ctx,
+                              cairo_bool_t        encode_src_as_attribute,
+                              cairo_bool_t        spans_enabled,
                               unsigned int        vertex_size,
                               unsigned int        vertex_offset)
 {
     cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-    void *attrib_location = (void *) ((uintptr_t) vertex_offset);
 
-    if (! ctx->has_map_buffer)
-       attrib_location = (void *) (ctx->vb_mem + vertex_offset);
+    if (! spans_enabled) {
+       ctx->spans = FALSE;
+
+       /* If we are going to encode the source as an attribute, we don't want
+       * to disable the attribute array here only to enable it again later. */
+       if (! encode_src_as_attribute)
+           dispatch->DisableVertexAttribArray (CAIRO_GL_COLOR_ATTRIB_INDEX);
+
+       return;
+    }
 
-    dispatch->VertexAttribPointer (CAIRO_GL_COVERAGE_ATTRIB_INDEX, 4,
+    dispatch->VertexAttribPointer (CAIRO_GL_COLOR_ATTRIB_INDEX, 4,
                                   GL_UNSIGNED_BYTE, GL_TRUE, vertex_size,
-                                  attrib_location);
-    dispatch->EnableVertexAttribArray (CAIRO_GL_COVERAGE_ATTRIB_INDEX);
+                                  ctx->vb + vertex_offset);
+    dispatch->EnableVertexAttribArray (CAIRO_GL_COLOR_ATTRIB_INDEX);
     ctx->spans = TRUE;
 }
 
@@ -342,10 +363,11 @@ _cairo_gl_context_destroy_operand (cairo_gl_context_t *ctx,
         break;
         /* fall through */
     case CAIRO_GL_OPERAND_CONSTANT:
-        if (ctx->operands[tex_unit].use_color_attribute)
-            ctx->dispatch.DisableVertexAttribArray (CAIRO_GL_COLOR_ATTRIB_INDEX);
-        break;
+       if (ctx->operands[tex_unit].constant.encode_as_attribute)
+           dispatch->DisableVertexAttribArray (CAIRO_GL_COLOR_ATTRIB_INDEX);
+       break;
     case CAIRO_GL_OPERAND_TEXTURE:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
         dispatch->DisableVertexAttribArray (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit);
        if (ctx->operands[tex_unit].texture.use_atlas) {
            dispatch->DisableVertexAttribArray (CAIRO_GL_START_COORD0_ATTRIB_INDEX + tex_unit);
@@ -418,11 +440,35 @@ _cairo_gl_set_operator (cairo_gl_context_t *ctx,
     }
 
     if (ctx->current_target->base.content == CAIRO_CONTENT_ALPHA) {
-        glBlendFuncSeparate (GL_ZERO, GL_ZERO, src_factor, dst_factor);
+        /* cache BlendFunc, src factor and dst factor, alpha factor */
+       if (ctx->states_cache.src_color_factor != GL_ZERO ||
+          ctx->states_cache.dst_color_factor != GL_ZERO ||
+          ctx->states_cache.src_alpha_factor != src_factor ||
+          ctx->states_cache.dst_alpha_factor != dst_factor) {
+           ctx->dispatch.BlendFuncSeparate (GL_ZERO, GL_ZERO, src_factor, dst_factor);
+           ctx->states_cache.src_color_factor = GL_ZERO;
+           ctx->states_cache.dst_color_factor = GL_ZERO;
+           ctx->states_cache.src_alpha_factor = src_factor;
+           ctx->states_cache.dst_alpha_factor = dst_factor;
+        }
     } else if (ctx->current_target->base.content == CAIRO_CONTENT_COLOR) {
-        glBlendFuncSeparate (src_factor, dst_factor, GL_ONE, GL_ONE);
+       if (ctx->states_cache.src_color_factor != src_factor ||
+           ctx->states_cache.dst_color_factor != dst_factor ||
+           ctx->states_cache.src_alpha_factor != GL_ONE ||
+           ctx->states_cache.dst_alpha_factor != GL_ONE) {
+           ctx->dispatch.BlendFuncSeparate (src_factor, dst_factor, GL_ONE, GL_ONE);
+           ctx->states_cache.src_color_factor = src_factor;
+           ctx->states_cache.dst_color_factor = dst_factor;
+           ctx->states_cache.src_alpha_factor = GL_ONE;
+           ctx->states_cache.dst_alpha_factor = GL_ONE;
+        }
     } else {
-        glBlendFunc (src_factor, dst_factor);
+        if (ctx->states_cache.src_color_factor != src_factor ||
+           ctx->states_cache.dst_color_factor != dst_factor) {
+           ctx->dispatch.BlendFunc (src_factor, dst_factor);
+           ctx->states_cache.src_color_factor = src_factor;
+           ctx->states_cache.dst_color_factor = dst_factor;
+        }
     }
 }
 
@@ -527,89 +573,72 @@ _cairo_gl_composite_begin_component_alpha  (cairo_gl_context_t *ctx,
     return CAIRO_STATUS_SUCCESS;
 }
 
-void
-_cairo_gl_scissor_to_extents (cairo_gl_surface_t       *surface,
-                             const cairo_rectangle_int_t       *extents)
+static void
+_scissor_to_doubles (cairo_gl_surface_t        *surface,
+                    double x1, double y1,
+                    double x2, double y2)
 {
-    int x1, y1, height;
+    double height;
 
-    x1 = extents->x;
-    y1 = extents->y;
-    height = extents->height;
+    cairo_gl_context_t *ctx = (cairo_gl_context_t *) cairo_surface_get_device ((cairo_surface_t *) surface);
 
+    height = y2 - y1;
     if (_cairo_gl_surface_is_texture (surface) == FALSE)
        y1 = surface->height - (y1 + height);
-    glScissor (x1, y1, extents->width, height);
-    glEnable (GL_SCISSOR_TEST);
+    ctx->dispatch.Scissor (x1, y1, x2 - x1, height);
+}
+
+void
+_cairo_gl_scissor_to_rectangle (cairo_gl_surface_t *surface,
+                      const cairo_rectangle_int_t *r)
+{
+    _scissor_to_doubles (surface, r->x, r->y, r->x+r->width, r->y+r->height);
 }
 
 static void
 _scissor_to_box (cairo_gl_surface_t    *surface,
                 const cairo_box_t      *box)
 {
-    double x1, y1, x2, y2, height;
+    double x1, y1, x2, y2;
     _cairo_box_to_doubles (box, &x1, &y1, &x2, &y2);
-
-    height = y2 - y1;
-    if (_cairo_gl_surface_is_texture (surface) == FALSE)
-       y1 = surface->height - (y1 + height);
-    glScissor (x1, y1, x2 - x1, height);
-    glEnable (GL_SCISSOR_TEST);
+    _scissor_to_doubles (surface, x1, y1, x2, y2);
 }
 
-static void
+static cairo_bool_t
 _cairo_gl_composite_setup_vbo (cairo_gl_context_t *ctx,
                               unsigned int size_per_vertex)
 {
-    void *attrib_location = NULL;
-
-    if (! ctx->has_map_buffer)
-       attrib_location = (void *) ctx->vb_mem;
-
-    if (ctx->vertex_size != size_per_vertex)
-        _cairo_gl_composite_flush (ctx);
+    cairo_bool_t vertex_size_changed = ctx->vertex_size != size_per_vertex;
+    if (vertex_size_changed) {
+       ctx->vertex_size = size_per_vertex;
+       _cairo_gl_composite_flush (ctx);
+    }
 
     if (_cairo_gl_context_is_flushed (ctx)) {
-       if (ctx->has_map_buffer)
-        ctx->dispatch.BindBuffer (GL_ARRAY_BUFFER, ctx->vbo);
-
        ctx->dispatch.VertexAttribPointer (CAIRO_GL_VERTEX_ATTRIB_INDEX, 2,
-                                          GL_FLOAT, GL_FALSE, size_per_vertex, attrib_location);
+                                          GL_FLOAT, GL_FALSE, size_per_vertex,
+                                          ctx->vb);
        ctx->dispatch.EnableVertexAttribArray (CAIRO_GL_VERTEX_ATTRIB_INDEX);
     }
-    ctx->vertex_size = size_per_vertex;
-}
 
-void
-_disable_stencil_buffer (void)
-{
-    if (glIsEnabled (GL_STENCIL_TEST))
-        glDisable (GL_STENCIL_TEST);
-    glDepthMask (GL_FALSE);
-}
-
-void
-_disable_scissor_buffer (void)
-{
-    if (glIsEnabled (GL_SCISSOR_TEST))
-        glDisable (GL_SCISSOR_TEST);
+    return vertex_size_changed;
 }
 
 static cairo_int_status_t
 _cairo_gl_composite_setup_painted_clipping (cairo_gl_composite_t *setup,
                                            cairo_gl_context_t *ctx,
                                            int vertex_size,
-                                           cairo_bool_t equal_clip)
+                                           cairo_bool_t clip_is_equal)
 {
     cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;
 
     cairo_gl_surface_t *dst = setup->dst;
     cairo_clip_t *clip = setup->clip;
-    cairo_traps_t traps;
-    const cairo_rectangle_int_t *clip_extents;
+    cairo_clip_t *old_clip = setup->dst->clip_on_stencil_buffer;
 
     if (clip->num_boxes == 1 && clip->path == NULL) {
        _scissor_to_box (dst, &clip->boxes[0]);
+       _enable_scissor_buffer (ctx);
        goto disable_stencil_buffer_and_return;
     }
 
@@ -618,26 +647,38 @@ _cairo_gl_composite_setup_painted_clipping (cairo_gl_composite_t *setup,
        goto disable_stencil_buffer_and_return;
     }
 
-    glDepthMask (GL_TRUE);
-    glEnable (GL_STENCIL_TEST);
-    clip_extents = _cairo_clip_get_extents ((const cairo_clip_t *)clip);
-    _cairo_gl_scissor_to_extents (dst, clip_extents);
+    /* The clip is not rectangular, so use the stencil buffer. */
+    if (! ctx->states_cache.depth_mask ) {
+       ctx->dispatch.DepthMask (GL_TRUE);
+       ctx->states_cache.depth_mask = TRUE;
+    }
+
+    _enable_stencil_buffer (ctx);
+    _enable_scissor_buffer (ctx);
+    _cairo_gl_scissor_to_rectangle (dst, _cairo_clip_get_extents (clip));
+
+    if (clip_is_equal)
+        goto activate_stencil_buffer_and_return;
+
+      /* Clear the stencil buffer, but only the areas that we are
+       * going to be drawing to. */
+    if (old_clip) {
+       _cairo_clip_destroy (setup->dst->clip_on_stencil_buffer);
+    }
+
+    setup->dst->clip_on_stencil_buffer = _cairo_clip_copy (setup->clip);
 
-    if (equal_clip)
-       return CAIRO_INT_STATUS_SUCCESS;
+    ctx->dispatch.ClearStencil (0);
+    ctx->dispatch.Clear (GL_STENCIL_BUFFER_BIT);
 
-    glClearStencil (0);
-    glClear (GL_STENCIL_BUFFER_BIT);
-    glStencilOp (GL_REPLACE, GL_REPLACE, GL_REPLACE);
-    glStencilFunc (GL_EQUAL, 1, 0xffffffff);
-    glColorMask (0, 0, 0, 0);
+    ctx->dispatch.StencilOp (GL_REPLACE, GL_REPLACE, GL_REPLACE);
+    ctx->dispatch.StencilFunc (GL_EQUAL, 1, 0xffffffff);
+    ctx->dispatch.ColorMask (0, 0, 0, 0);
 
-    _cairo_traps_init (&traps);
-    status = _cairo_gl_msaa_compositor_draw_clip (ctx, setup, clip, &traps);
-    _cairo_traps_fini (&traps);
+    status = _cairo_gl_msaa_compositor_draw_clip (ctx, setup, clip);
 
     if (unlikely (status)) {
-       glColorMask (1, 1, 1, 1);
+       ctx->dispatch.ColorMask (1, 1, 1, 1);
        goto disable_stencil_buffer_and_return;
     }
 
@@ -647,13 +688,15 @@ _cairo_gl_composite_setup_painted_clipping (cairo_gl_composite_t *setup,
     _cairo_gl_composite_flush (ctx);
     _cairo_gl_composite_setup_vbo (ctx, vertex_size);
 
-    glColorMask (1, 1, 1, 1);
-    glStencilOp (GL_KEEP, GL_KEEP, GL_KEEP);
-    glStencilFunc (GL_EQUAL, 1, 0xffffffff);
+activate_stencil_buffer_and_return:
+    ctx->dispatch.ColorMask (1, 1, 1, 1);
+
+    ctx->dispatch.StencilOp (GL_KEEP, GL_KEEP, GL_KEEP);
+    ctx->dispatch.StencilFunc (GL_EQUAL, 1, 0xffffffff);
     return CAIRO_INT_STATUS_SUCCESS;
 
 disable_stencil_buffer_and_return:
-    _disable_stencil_buffer ();
+    _disable_stencil_buffer (ctx);
     return status;
 }
 
@@ -662,67 +705,55 @@ _cairo_gl_composite_setup_clipping (cairo_gl_composite_t *setup,
                                    cairo_gl_context_t *ctx,
                                    int vertex_size)
 {
-    cairo_bool_t same_clip;
+    cairo_bool_t clip_region_changing = TRUE;
+    cairo_bool_t clip_is_equal = TRUE;
+
+    if (! _cairo_clip_equal (setup->dst->clip_on_stencil_buffer, setup->clip)) {
+       _cairo_gl_composite_flush (ctx);
+       clip_is_equal = FALSE;
+    }
 
-    if (! ctx->clip && ! setup->clip && ! ctx->clip_region)
-       goto finish;
+    if (! setup->clip && ! setup->clip_region && ! ctx->clip_region)
+       goto disable_all_clipping;
 
-    same_clip = _cairo_clip_equal (ctx->clip, setup->clip);
+    clip_region_changing = ! cairo_region_equal (ctx->clip_region, setup->clip_region);
     if (! _cairo_gl_context_is_flushed (ctx) &&
-       (! cairo_region_equal (ctx->clip_region, setup->clip_region) ||
-        ! same_clip))
+       clip_region_changing)
        _cairo_gl_composite_flush (ctx);
 
-    cairo_region_destroy (ctx->clip_region);
-    ctx->clip_region = cairo_region_reference (setup->clip_region);
-
     assert (!setup->clip_region || !setup->clip);
 
-    if (! same_clip) {
-       _cairo_clip_destroy (ctx->clip);
-       ctx->clip = _cairo_clip_copy (setup->clip);
+    /* setup->clip is only used by the msaa compositor and setup->clip_region
+     * only by the other compositors, so it's safe to wait to clean up obsolete
+     * clips. */
+    if (clip_region_changing) {
+       cairo_region_destroy (ctx->clip_region);
+       ctx->clip_region = cairo_region_reference (setup->clip_region);
     }
 
-    if (ctx->clip_region) {
-       _disable_stencil_buffer ();
-       glEnable (GL_SCISSOR_TEST);
-       return CAIRO_INT_STATUS_SUCCESS;
-    }
+    /* For clip regions, we scissor right before drawing. */
+    if (setup->clip_region)
+       goto disable_all_clipping;
 
     if (setup->clip)
-           return _cairo_gl_composite_setup_painted_clipping (setup, ctx,
+       return _cairo_gl_composite_setup_painted_clipping (setup, ctx,
                                                            vertex_size,
-                                                           same_clip);
-
-finish:
-    _disable_stencil_buffer ();
-    _disable_scissor_buffer ();
+                                                          clip_is_equal);
+disable_all_clipping:
+    _disable_stencil_buffer (ctx);
+    _disable_scissor_buffer (ctx);
     return CAIRO_INT_STATUS_SUCCESS;
 }
 
-
 cairo_status_t
-_cairo_gl_composite_begin_multisample (cairo_gl_composite_t *setup,
-                                      cairo_gl_context_t **ctx_out,
-                                      cairo_bool_t multisampling)
+_cairo_gl_set_operands_and_operator (cairo_gl_composite_t *setup,
+                                    cairo_gl_context_t *ctx)
 {
     unsigned int dst_size, src_size, mask_size, vertex_size;
-    cairo_gl_context_t *ctx;
     cairo_status_t status;
-    cairo_bool_t component_alpha;
     cairo_gl_shader_t *shader;
-    cairo_operator_t op = setup->op;
-    cairo_surface_t *mask_surface = NULL;
-
-    assert (setup->dst);
-
-    status = _cairo_gl_context_acquire (setup->dst->base.device, &ctx);
-    if (unlikely (status))
-       return status;
-
-    _cairo_gl_context_set_destination (ctx, setup->dst, multisampling);
-
-    glEnable (GL_BLEND);
+    cairo_bool_t component_alpha;
+    cairo_bool_t vertex_size_changed;
 
     component_alpha =
        setup->mask.type == CAIRO_GL_OPERAND_TEXTURE &&
@@ -730,77 +761,96 @@ _cairo_gl_composite_begin_multisample (cairo_gl_composite_t *setup,
 
     /* Do various magic for component alpha */
     if (component_alpha) {
-        status = _cairo_gl_composite_begin_component_alpha (ctx, setup);
-        if (unlikely (status))
-            goto FAIL;
-    } else {
-        if (ctx->pre_shader) {
-            _cairo_gl_composite_flush (ctx);
-            ctx->pre_shader = NULL;
-        }
+       status = _cairo_gl_composite_begin_component_alpha (ctx, setup);
+       if (unlikely (status))
+           return status;
+     } else {
+       if (ctx->pre_shader) {
+           _cairo_gl_composite_flush (ctx);
+           ctx->pre_shader = NULL;
+       }
     }
 
     status = _cairo_gl_get_shader_by_type (ctx,
                                           &setup->src,
                                           &setup->mask,
                                           setup->spans,
-                                           component_alpha ?
+                                          component_alpha ?
                                           CAIRO_GL_SHADER_IN_CA_SOURCE :
                                           CAIRO_GL_SHADER_IN_NORMAL,
                                            &shader);
     if (unlikely (status)) {
-        ctx->pre_shader = NULL;
-        goto FAIL;
+       ctx->pre_shader = NULL;
+       return status;
     }
     if (ctx->current_shader != shader)
         _cairo_gl_composite_flush (ctx);
 
     status = CAIRO_STATUS_SUCCESS;
 
-    dst_size  = 2 * sizeof (GLfloat);
-    src_size  = _cairo_gl_operand_get_vertex_size (&setup->src);
+    dst_size = 2 * sizeof (GLfloat);
+    src_size = _cairo_gl_operand_get_vertex_size (&setup->src);
     mask_size = _cairo_gl_operand_get_vertex_size (&setup->mask);
     vertex_size = dst_size + src_size + mask_size;
 
     if (setup->spans)
-           vertex_size += sizeof (GLfloat);
+       vertex_size += sizeof (GLfloat);
 
-    _cairo_gl_composite_setup_vbo (ctx, vertex_size);
+    if (setup->src.type != CAIRO_GL_OPERAND_CONSTANT ||
+       ! setup->src.constant.encode_as_attribute)
+       _cairo_gl_context_setup_spans (ctx,
+                                      setup->spans,
+                                      setup->src.type == CAIRO_GL_OPERAND_CONSTANT ||
+                                      ! setup->src.constant.encode_as_attribute,
+                                      vertex_size,
+                                      dst_size + src_size + mask_size);
 
-    _cairo_gl_context_setup_operand (ctx, CAIRO_GL_TEX_SOURCE, &setup->src, vertex_size, dst_size);
-    _cairo_gl_context_setup_operand (ctx, CAIRO_GL_TEX_MASK, &setup->mask, vertex_size, dst_size + src_size);
-    if (setup->spans)
-       _cairo_gl_context_setup_spans (ctx, vertex_size, dst_size + src_size + mask_size);
-    else {
-        ctx->dispatch.DisableVertexAttribArray (CAIRO_GL_COVERAGE_ATTRIB_INDEX);
-        ctx->spans = FALSE;
-    }
+    vertex_size_changed = _cairo_gl_composite_setup_vbo (ctx, vertex_size);
 
-    /* XXX: Shoot me - we have converted CLEAR to DEST_OUT,
-       so the dst_factor would be GL_ONE_MINUS_SRC_ALPHA, if the
-       mask is a surface and mask content not content_alpha, we want to use
-       GL_ONE_MINUS_SRC_COLOR, otherwise, we use GL_ONE_MINUS_SRC_ALPHA
-     */
-    if (setup->mask.type == CAIRO_GL_OPERAND_TEXTURE)
-       mask_surface = &setup->mask.texture.surface->base;
-    if (op == CAIRO_OPERATOR_CLEAR &&
-       component_alpha &&
-       mask_surface != NULL &&
-       cairo_surface_get_content (mask_surface) == CAIRO_CONTENT_ALPHA)
-       component_alpha = FALSE;
+    _cairo_gl_context_setup_operand (ctx, CAIRO_GL_TEX_SOURCE, &setup->src,
+                                    dst_size, vertex_size_changed);
+    _cairo_gl_context_setup_operand (ctx, CAIRO_GL_TEX_MASK, &setup->mask,
+                                    dst_size + src_size, vertex_size_changed);
 
     _cairo_gl_set_operator (ctx, setup->op, component_alpha);
 
     if (_cairo_gl_context_is_flushed (ctx)) {
-        if (ctx->pre_shader) {
-            _cairo_gl_set_shader (ctx, ctx->pre_shader);
-            _cairo_gl_composite_bind_to_shader (ctx, setup);
-        }
-        _cairo_gl_set_shader (ctx, shader);
-        _cairo_gl_composite_bind_to_shader (ctx, setup);
+       if (ctx->pre_shader) {
+           _cairo_gl_set_shader (ctx, ctx->pre_shader);
+           _cairo_gl_composite_bind_to_shader (ctx, setup);
+       }
+       _cairo_gl_set_shader (ctx, shader);
+       _cairo_gl_composite_bind_to_shader (ctx, setup);
+    }
+
+    return status;
+}
+
+cairo_status_t
+_cairo_gl_composite_begin (cairo_gl_composite_t *setup,
+                          cairo_gl_context_t **ctx_out)
+{
+    cairo_gl_context_t *ctx;
+    cairo_status_t status;
+
+    assert (setup->dst);
+
+    status = _cairo_gl_context_acquire (setup->dst->base.device, &ctx);
+    if (unlikely (status))
+       return status;
+
+    setup->dst->content_cleared = FALSE;
+
+    _cairo_gl_context_set_destination (ctx, setup->dst, setup->multisample);
+    if (ctx->states_cache.blend_enabled == FALSE) {
+       ctx->dispatch.Enable (GL_BLEND);
+       ctx->states_cache.blend_enabled = TRUE;
     }
+    status = _cairo_gl_set_operands_and_operator (setup, ctx);
+    if (unlikely (status))
+       goto FAIL;
 
-    status = _cairo_gl_composite_setup_clipping (setup, ctx, vertex_size);
+    status = _cairo_gl_composite_setup_clipping (setup, ctx, ctx->vertex_size);
     if (unlikely (status))
        goto FAIL;
 
@@ -813,32 +863,24 @@ FAIL:
     return status;
 }
 
-cairo_status_t
-_cairo_gl_composite_begin (cairo_gl_composite_t *setup,
-                           cairo_gl_context_t **ctx_out)
-{
-    return _cairo_gl_composite_begin_multisample (setup, ctx_out, FALSE);
-}
-
 static inline void
 _cairo_gl_composite_draw_tristrip (cairo_gl_context_t *ctx)
 {
     cairo_array_t* indices = &ctx->tristrip_indices;
     const unsigned short *indices_array = _cairo_array_index_const (indices, 0);
 
-
     if (ctx->pre_shader) {
        cairo_gl_shader_t *prev_shader = ctx->current_shader;
 
        _cairo_gl_set_shader (ctx, ctx->pre_shader);
        _cairo_gl_set_operator (ctx, CAIRO_OPERATOR_DEST_OUT, TRUE);
-       glDrawElements (GL_TRIANGLE_STRIP, _cairo_array_num_elements (indices), GL_UNSIGNED_SHORT, indices_array);
+       ctx->dispatch.DrawElements (GL_TRIANGLE_STRIP, _cairo_array_num_elements (indices), GL_UNSIGNED_SHORT, indices_array);
 
        _cairo_gl_set_shader (ctx, prev_shader);
        _cairo_gl_set_operator (ctx, CAIRO_OPERATOR_ADD, TRUE);
     }
 
-    glDrawElements (GL_TRIANGLE_STRIP, _cairo_array_num_elements (indices), GL_UNSIGNED_SHORT, indices_array);
+    ctx->dispatch.DrawElements (GL_TRIANGLE_STRIP, _cairo_array_num_elements (indices), GL_UNSIGNED_SHORT, indices_array);
     _cairo_array_truncate (indices, 0);
 }
 
@@ -857,42 +899,61 @@ _cairo_gl_composite_draw_line (cairo_gl_context_t *ctx)
 
        _cairo_gl_set_shader (ctx, ctx->pre_shader);
        _cairo_gl_set_operator (ctx, CAIRO_OPERATOR_DEST_OUT, TRUE);
-       glDrawElements (type, _cairo_array_num_elements (indices), GL_UNSIGNED_SHORT, indices_array);
+       ctx->dispatch.DrawElements (type, _cairo_array_num_elements (indices), GL_UNSIGNED_SHORT, indices_array);
 
        _cairo_gl_set_shader (ctx, prev_shader);
        _cairo_gl_set_operator (ctx, CAIRO_OPERATOR_ADD, TRUE);
     }
 
-    glDrawElements (type, _cairo_array_num_elements (indices), GL_UNSIGNED_SHORT, indices_array);
+    ctx->dispatch.DrawElements (type, _cairo_array_num_elements (indices), GL_UNSIGNED_SHORT, indices_array);
     _cairo_array_truncate (indices, 0);
 }
 
 static inline void
-_cairo_gl_composite_draw (cairo_gl_context_t *ctx,
-                         unsigned int count)
+_cairo_gl_composite_draw_triangles (cairo_gl_context_t *ctx,
+                                   unsigned int count)
 {
     if (! ctx->pre_shader) {
-        glDrawArrays (GL_TRIANGLES, 0, count);
+        ctx->dispatch.DrawArrays (GL_TRIANGLES, 0, count);
     } else {
         cairo_gl_shader_t *prev_shader = ctx->current_shader;
 
         _cairo_gl_set_shader (ctx, ctx->pre_shader);
         _cairo_gl_set_operator (ctx, CAIRO_OPERATOR_DEST_OUT, TRUE);
-        glDrawArrays (GL_TRIANGLES, 0, count);
+        ctx->dispatch.DrawArrays (GL_TRIANGLES, 0, count);
 
         _cairo_gl_set_shader (ctx, prev_shader);
         _cairo_gl_set_operator (ctx, CAIRO_OPERATOR_ADD, TRUE);
-        glDrawArrays (GL_TRIANGLES, 0, count);
+        ctx->dispatch.DrawArrays (GL_TRIANGLES, 0, count);
     }
 }
 
 static void
-_cairo_gl_composite_unmap_vertex_buffer (cairo_gl_context_t *ctx)
+_cairo_gl_composite_draw_triangles_with_clip_region (cairo_gl_context_t *ctx,
+                                                    unsigned int count)
 {
-    if (ctx->has_map_buffer)
-       ctx->dispatch.UnmapBuffer (GL_ARRAY_BUFFER);
+    int i, num_rectangles;
+
+    if (!ctx->clip_region) {
+       _cairo_gl_composite_draw_triangles (ctx, count);
+       return;
+    }
+
+    num_rectangles = cairo_region_num_rectangles (ctx->clip_region);
+    for (i = 0; i < num_rectangles; i++) {
+       cairo_rectangle_int_t rect;
+
+       cairo_region_get_rectangle (ctx->clip_region, i, &rect);
 
-    ctx->vb = NULL;
+       _cairo_gl_scissor_to_rectangle (ctx->current_target, &rect);
+       _enable_scissor_buffer (ctx);
+       _cairo_gl_composite_draw_triangles (ctx, count);
+    }
+}
+
+static void
+_cairo_gl_composite_unmap_vertex_buffer (cairo_gl_context_t *ctx)
+{
     ctx->vb_offset = 0;
 }
 
@@ -908,171 +969,131 @@ _cairo_gl_composite_flush (cairo_gl_context_t *ctx)
     count = ctx->vb_offset / ctx->vertex_size;
     _cairo_gl_composite_unmap_vertex_buffer (ctx);
 
-    if ( _cairo_array_num_elements (&ctx->tristrip_indices) > 0) {
+    if (ctx->primitive_type == CAIRO_GL_PRIMITIVE_TYPE_TRISTRIPS) {
        if (ctx->draw_mode == CAIRO_GL_LINE_STRIP ||
            ctx->draw_mode == CAIRO_GL_LINES)
            _cairo_gl_composite_draw_line (ctx);
        else
            _cairo_gl_composite_draw_tristrip (ctx);
-    } else if (ctx->clip_region) {
-       int i, num_rectangles = cairo_region_num_rectangles (ctx->clip_region);
-
-       for (i = 0; i < num_rectangles; i++) {
-           cairo_rectangle_int_t rect;
-
-           cairo_region_get_rectangle (ctx->clip_region, i, &rect);
-
-           glScissor (rect.x, rect.y, rect.width, rect.height);
-            _cairo_gl_composite_draw (ctx, count);
-       }
     } else {
-        _cairo_gl_composite_draw (ctx, count);
+       assert (ctx->primitive_type == CAIRO_GL_PRIMITIVE_TYPE_TRIANGLES);
+       _cairo_gl_composite_draw_triangles_with_clip_region (ctx, count);
     }
 
-    for (i = 0; i < ARRAY_LENGTH (&ctx->glyph_cache); i++)
+    for (i = 0; i < ARRAY_LENGTH (ctx->glyph_cache); i++)
        _cairo_gl_glyph_cache_unlock (&ctx->glyph_cache[i]);
 
     _cairo_gl_image_cache_unlock (ctx);
 }
 
-typedef enum cairo_gl_geometry {
-    CAIRO_GL_GEOMETRY_TYPE_TRIANGLES,
-    CAIRO_GL_GEOMETRY_TYPE_TRISTRIPS
-} cairo_gl_geometry_t;
-
 static void
 _cairo_gl_composite_prepare_buffer (cairo_gl_context_t *ctx,
                                    unsigned int n_vertices,
-                                   cairo_gl_geometry_t geometry_type)
+                                   cairo_gl_primitive_type_t primitive_type)
 {
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-
-    size_t tristrip_indices =_cairo_array_num_elements (&ctx->tristrip_indices);
-    if (geometry_type == CAIRO_GL_GEOMETRY_TYPE_TRIANGLES &&
-       tristrip_indices != 0) {
-       _cairo_gl_composite_flush (ctx);
-    } else if (geometry_type == CAIRO_GL_GEOMETRY_TYPE_TRISTRIPS &&
-            ! _cairo_gl_context_is_flushed (ctx) && tristrip_indices == 0) {
+    if (ctx->primitive_type != primitive_type) {
        _cairo_gl_composite_flush (ctx);
+       ctx->primitive_type = primitive_type;
     }
 
     if (ctx->vb_offset + n_vertices * ctx->vertex_size > CAIRO_GL_VBO_SIZE)
        _cairo_gl_composite_flush (ctx);
-
-    if (ctx->vb == NULL) {
-       if (ctx->has_map_buffer) {
-           dispatch->BufferData (GL_ARRAY_BUFFER, CAIRO_GL_VBO_SIZE,
-                                 NULL, GL_DYNAMIC_DRAW);
-           ctx->vb = dispatch->MapBuffer (GL_ARRAY_BUFFER, GL_WRITE_ONLY);
-       }
-       else {
-           ctx->vb = ctx->vb_mem;
-       }
-    }
 }
 
 static inline void
-_cairo_gl_composite_operand_emit (cairo_gl_operand_t *operand,
-                        GLfloat ** vb,
-                        GLfloat x,
-                        GLfloat y)
+_cairo_gl_composite_emit_vertex (cairo_gl_context_t *ctx,
+                                GLfloat x, GLfloat y)
 {
-    switch (operand->type) {
-    default:
-    case CAIRO_GL_OPERAND_COUNT:
-        ASSERT_NOT_REACHED;
-    case CAIRO_GL_OPERAND_NONE:
-        break;
-    case CAIRO_GL_OPERAND_CONSTANT:
-        if (operand->use_color_attribute) {
-            *(*vb)++ = operand->constant.color[0];
-            *(*vb)++ = operand->constant.color[1];
-            *(*vb)++ = operand->constant.color[2];
-            *(*vb)++ = operand->constant.color[3];
-        }
-        break;
-    case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
-    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
-    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
-    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
-        {
-           double s = x;
-           double t = y;
+    GLfloat *vb = (GLfloat *) (void *) &ctx->vb[ctx->vb_offset];
 
-           cairo_matrix_transform_point (&operand->gradient.m, &s, &t);
+    *vb++ = x;
+    *vb++ = y;
 
-           *(*vb)++ = s;
-           *(*vb)++ = t;
-        }
-       break;
-    case CAIRO_GL_OPERAND_TEXTURE:
-        {
-            cairo_surface_attributes_t *src_attributes = &operand->texture.attributes;
-            double s = x;
-            double t = y;
-
-            cairo_matrix_transform_point (&src_attributes->matrix, &s, &t);
-            *(*vb)++ = s;
-            *(*vb)++ = t;
-
-           if (operand->texture.use_atlas) {
-               *(*vb)++ = operand->texture.p1.x;
-               *(*vb)++ = operand->texture.p1.y;
-               *(*vb)++ = operand->texture.p2.x;
-               *(*vb)++ = operand->texture.p2.y;
-           }
-        }
-        break;
-    }
+    _cairo_gl_operand_emit (&ctx->operands[CAIRO_GL_TEX_SOURCE], &vb, x, y);
+    _cairo_gl_operand_emit (&ctx->operands[CAIRO_GL_TEX_MASK  ], &vb, x, y);
+
+    ctx->vb_offset += ctx->vertex_size;
 }
 
 static inline void
-_cairo_gl_composite_emit_vertex (cairo_gl_context_t *ctx,
-                                 GLfloat x,
-                                 GLfloat y,
-                                 uint8_t alpha)
+_cairo_gl_composite_emit_alpha_vertex (cairo_gl_context_t *ctx,
+                                      GLfloat x, GLfloat y, uint8_t alpha)
 {
     GLfloat *vb = (GLfloat *) (void *) &ctx->vb[ctx->vb_offset];
+    union fi {
+       float f;
+       GLbyte bytes[4];
+    } fi;
 
     *vb++ = x;
     *vb++ = y;
 
-    _cairo_gl_composite_operand_emit (&ctx->operands[CAIRO_GL_TEX_SOURCE], &vb, x, y);
-    _cairo_gl_composite_operand_emit (&ctx->operands[CAIRO_GL_TEX_MASK  ], &vb, x, y);
+    _cairo_gl_operand_emit (&ctx->operands[CAIRO_GL_TEX_SOURCE], &vb, x, y);
+    _cairo_gl_operand_emit (&ctx->operands[CAIRO_GL_TEX_MASK  ], &vb, x, y);
 
-    if (ctx->spans) {
-       union fi {
-           float f;
-           GLbyte bytes[4];
-       } fi;
-
-       fi.bytes[0] = 0;
-       fi.bytes[1] = 0;
-       fi.bytes[2] = 0;
-       fi.bytes[3] = alpha;
-       *vb++ = fi.f;
-    }
+    fi.bytes[0] = 0;
+    fi.bytes[1] = 0;
+    fi.bytes[2] = 0;
+    fi.bytes[3] = alpha;
+    *vb++ = fi.f;
 
     ctx->vb_offset += ctx->vertex_size;
 }
 
-static inline void
+static void
 _cairo_gl_composite_emit_point (cairo_gl_context_t     *ctx,
-                               const cairo_point_t     *point,
-                               uint8_t alpha)
+                               const cairo_point_t     *point)
 {
     _cairo_gl_composite_emit_vertex (ctx,
                                     _cairo_fixed_to_double (point->x),
-                                    _cairo_fixed_to_double (point->y),
-                                    alpha);
+                                    _cairo_fixed_to_double (point->y));
 }
 
-void
+static void
+_cairo_gl_composite_emit_int (cairo_gl_context_t *ctx,
+                             int x, int y)
+{
+    float fx = x;
+    float fy = y;
+
+    _cairo_gl_composite_emit_vertex (ctx, fx, fy);
+}
+
+static void
 _cairo_gl_composite_emit_rect (cairo_gl_context_t *ctx,
-                               GLfloat x1,
-                               GLfloat y1,
-                               GLfloat x2,
-                               GLfloat y2,
+                               GLfloat x1, GLfloat y1,
+                               GLfloat x2, GLfloat y2)
+{
+    _cairo_gl_composite_prepare_buffer (ctx, 6,
+                                       CAIRO_GL_PRIMITIVE_TYPE_TRIANGLES);
+
+    _cairo_gl_composite_emit_vertex (ctx, x1, y1);
+    _cairo_gl_composite_emit_vertex (ctx, x2, y1);
+    _cairo_gl_composite_emit_vertex (ctx, x1, y2);
+
+    _cairo_gl_composite_emit_vertex (ctx, x2, y1);
+    _cairo_gl_composite_emit_vertex (ctx, x2, y2);
+    _cairo_gl_composite_emit_vertex (ctx, x1, y2);
+}
+
+cairo_gl_emit_rect_t
+_cairo_gl_context_choose_emit_rect (cairo_gl_context_t *ctx)
+{
+    return _cairo_gl_composite_emit_rect;
+}
+
+void
+_cairo_gl_context_emit_rect (cairo_gl_context_t *ctx,
+                            GLfloat x1, GLfloat y1,
+                            GLfloat x2, GLfloat y2)
+{
+    _cairo_gl_composite_emit_rect (ctx, x1, y1, x2, y2);
+}
+
+static void
+_cairo_gl_composite_emit_span (cairo_gl_context_t *ctx,
+                               GLfloat x1, GLfloat y1,
+                               GLfloat x2, GLfloat y2,
                                uint8_t alpha)
 {
     if (ctx->draw_mode != CAIRO_GL_VERTEX) {
@@ -1081,30 +1102,204 @@ _cairo_gl_composite_emit_rect (cairo_gl_context_t *ctx,
     }
 
     _cairo_gl_composite_prepare_buffer (ctx, 6,
-                                       CAIRO_GL_GEOMETRY_TYPE_TRIANGLES);
+                                       CAIRO_GL_PRIMITIVE_TYPE_TRIANGLES);
 
-    _cairo_gl_composite_emit_vertex (ctx, x1, y1, alpha);
-    _cairo_gl_composite_emit_vertex (ctx, x2, y1, alpha);
-    _cairo_gl_composite_emit_vertex (ctx, x1, y2, alpha);
+    _cairo_gl_composite_emit_alpha_vertex (ctx, x1, y1, alpha);
+    _cairo_gl_composite_emit_alpha_vertex (ctx, x2, y1, alpha);
+    _cairo_gl_composite_emit_alpha_vertex (ctx, x1, y2, alpha);
 
-    _cairo_gl_composite_emit_vertex (ctx, x2, y1, alpha);
-    _cairo_gl_composite_emit_vertex (ctx, x2, y2, alpha);
-    _cairo_gl_composite_emit_vertex (ctx, x1, y2, alpha);
+    _cairo_gl_composite_emit_alpha_vertex (ctx, x2, y1, alpha);
+    _cairo_gl_composite_emit_alpha_vertex (ctx, x2, y2, alpha);
+    _cairo_gl_composite_emit_alpha_vertex (ctx, x1, y2, alpha);
+}
+
+static void
+_cairo_gl_composite_emit_solid_span (cairo_gl_context_t *ctx,
+                                    GLfloat x1, GLfloat y1,
+                                    GLfloat x2, GLfloat y2,
+                                    uint8_t alpha)
+{
+    GLfloat *v;
+    int src_use_atlas = 0;
+    int mask_use_atlas = 0;
+    union fi {
+       float f;
+       GLbyte bytes[4];
+    } fi;
+
+    _cairo_gl_composite_prepare_buffer (ctx, 6,
+                                       CAIRO_GL_PRIMITIVE_TYPE_TRIANGLES);
+
+    if ((ctx->operands[CAIRO_GL_TEX_SOURCE].type == CAIRO_GL_OPERAND_TEXTURE ||
+       ctx->operands[CAIRO_GL_TEX_SOURCE].type == CAIRO_GL_OPERAND_GAUSSIAN) &&
+       ctx->operands[CAIRO_GL_TEX_SOURCE].texture.use_atlas)
+       src_use_atlas = TRUE;
+    if ((ctx->operands[CAIRO_GL_TEX_MASK].type == CAIRO_GL_OPERAND_TEXTURE ||
+       ctx->operands[CAIRO_GL_TEX_MASK].type == CAIRO_GL_OPERAND_GAUSSIAN) &&
+       ctx->operands[CAIRO_GL_TEX_MASK].texture.use_atlas)
+       mask_use_atlas = TRUE;
+
+    v = (GLfloat *) (void *) &ctx->vb[ctx->vb_offset];
+
+    v[15 + 20*src_use_atlas + 20*mask_use_atlas] =
+    v[ 6 +  8*src_use_atlas +  8*mask_use_atlas] =
+    v[ 0                                       ] = x1;
+    v[10 + 12*src_use_atlas + 12*mask_use_atlas] =
+    v[ 4 +  4*src_use_atlas +  4*mask_use_atlas] =
+    v[ 1                                       ] = y1;
+    v[12 + 16*src_use_atlas + 16*mask_use_atlas] =
+    v[ 9 + 12*src_use_atlas + 12*mask_use_atlas] =
+    v[ 3 +  4*src_use_atlas +  4*mask_use_atlas] = x2;
+    v[16 + 20*src_use_atlas + 20*mask_use_atlas] =
+    v[13 + 16*src_use_atlas + 16*mask_use_atlas] =
+    v[ 7 +  8*src_use_atlas +  8*mask_use_atlas] = y2;
+
+    fi.bytes[0] = 0;
+    fi.bytes[1] = 0;
+    fi.bytes[2] = 0;
+    fi.bytes[3] = alpha;
+    v[17 + 24*src_use_atlas + 24*mask_use_atlas] =
+    v[14 + 20*src_use_atlas + 20*mask_use_atlas] =
+    v[11 + 16*src_use_atlas + 16*mask_use_atlas] =
+    v[ 8 + 12*src_use_atlas + 12*mask_use_atlas] =
+    v[ 5 +  8*src_use_atlas +  8*mask_use_atlas] =
+    v[ 2 +  4*src_use_atlas +  4*mask_use_atlas ] = fi.f;
+
+    if (src_use_atlas) {
+       v[ 2                                       ] =
+        v[ 5 +  4*src_use_atlas +  4*mask_use_atlas] =
+        v[ 8 +  8*src_use_atlas +  8*mask_use_atlas] =
+       v[11 + 12*src_use_atlas + 12*mask_use_atlas] =
+       v[14 + 16*src_use_atlas + 16*mask_use_atlas] =
+       v[17 + 20*src_use_atlas + 20*mask_use_atlas] =
+       ctx->operands[CAIRO_GL_TEX_SOURCE].texture.p1.x;
+
+       v[ 3                                       ] =
+        v[ 6 +  4*src_use_atlas +  4*mask_use_atlas] =
+        v[ 9 +  8*src_use_atlas +  8*mask_use_atlas] =
+       v[12 + 12*src_use_atlas + 12*mask_use_atlas] =
+       v[15 + 16*src_use_atlas + 16*mask_use_atlas] =
+       v[18 + 20*src_use_atlas + 20*mask_use_atlas] =
+       ctx->operands[CAIRO_GL_TEX_SOURCE].texture.p1.y;
+
+       v[ 4                                       ] =
+        v[ 7 +  4*src_use_atlas +  4*mask_use_atlas] =
+        v[10 +  8*src_use_atlas +  8*mask_use_atlas] =
+       v[13 + 12*src_use_atlas + 12*mask_use_atlas] =
+       v[16 + 16*src_use_atlas + 16*mask_use_atlas] =
+       v[19 + 20*src_use_atlas + 20*mask_use_atlas] =
+       ctx->operands[CAIRO_GL_TEX_SOURCE].texture.p2.x;
+
+       v[ 5                                       ] =
+        v[ 8 +  4*src_use_atlas +  4*mask_use_atlas] =
+        v[11 +  8*src_use_atlas +  8*mask_use_atlas] =
+       v[14 + 12*src_use_atlas + 12*mask_use_atlas] =
+       v[17 + 16*src_use_atlas + 16*mask_use_atlas] =
+       v[20 + 20*src_use_atlas + 20*mask_use_atlas] =
+       ctx->operands[CAIRO_GL_TEX_SOURCE].texture.p2.y;
+    }
+
+    if (mask_use_atlas) {
+       v[ 2 +  4*src_use_atlas                    ] =
+        v[ 5 +  8*src_use_atlas +  4*mask_use_atlas] =
+        v[ 8 + 12*src_use_atlas +  8*mask_use_atlas] =
+       v[11 + 16*src_use_atlas + 12*mask_use_atlas] =
+       v[14 + 20*src_use_atlas + 16*mask_use_atlas] =
+       v[17 + 24*src_use_atlas + 20*mask_use_atlas] =
+       ctx->operands[CAIRO_GL_TEX_MASK].texture.p1.x;
+
+       v[ 3 +  4*src_use_atlas                    ] =
+        v[ 6 +  4*src_use_atlas +  4*mask_use_atlas] =
+        v[ 9 +  8*src_use_atlas +  8*mask_use_atlas] =
+       v[12 + 12*src_use_atlas + 12*mask_use_atlas] =
+       v[15 + 16*src_use_atlas + 16*mask_use_atlas] =
+       v[18 + 20*src_use_atlas + 20*mask_use_atlas] =
+       ctx->operands[CAIRO_GL_TEX_MASK].texture.p1.y;
+
+       v[ 4 +  4*src_use_atlas                    ] =
+        v[ 7 +  4*src_use_atlas +  4*mask_use_atlas] =
+        v[10 +  8*src_use_atlas +  8*mask_use_atlas] =
+       v[13 + 12*src_use_atlas + 12*mask_use_atlas] =
+       v[16 + 16*src_use_atlas + 16*mask_use_atlas] =
+       v[19 + 20*src_use_atlas + 20*mask_use_atlas] =
+       ctx->operands[CAIRO_GL_TEX_MASK].texture.p2.x;
+
+       v[ 5 +  4*src_use_atlas                    ] =
+        v[ 8 +  4*src_use_atlas +  4*mask_use_atlas] =
+        v[11 +  8*src_use_atlas +  8*mask_use_atlas] =
+       v[14 + 12*src_use_atlas + 12*mask_use_atlas] =
+       v[17 + 16*src_use_atlas + 16*mask_use_atlas] =
+       v[20 + 20*src_use_atlas + 20*mask_use_atlas] =
+       ctx->operands[CAIRO_GL_TEX_MASK].texture.p2.y;
+    }
+
+    ctx->vb_offset += 6*(3 + 4*src_use_atlas + 4*mask_use_atlas) * sizeof(GLfloat);
+}
+
+cairo_gl_emit_span_t
+_cairo_gl_context_choose_emit_span (cairo_gl_context_t *ctx)
+{
+    if (ctx->operands[CAIRO_GL_TEX_MASK].type != CAIRO_GL_OPERAND_NONE) {
+           switch (ctx->operands[CAIRO_GL_TEX_MASK].type) {
+           default:
+           case CAIRO_GL_OPERAND_COUNT:
+                   ASSERT_NOT_REACHED;
+           case CAIRO_GL_OPERAND_NONE:
+           case CAIRO_GL_OPERAND_CONSTANT:
+                   break;
+
+           case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
+           case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
+           case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
+           case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
+                   if (!ctx->operands[CAIRO_GL_TEX_MASK].gradient.texgen)
+                           return _cairo_gl_composite_emit_span;
+                   break;
+
+           case CAIRO_GL_OPERAND_TEXTURE:
+           case CAIRO_GL_OPERAND_GAUSSIAN:
+                   if (!ctx->operands[CAIRO_GL_TEX_MASK].texture.texgen)
+                           return _cairo_gl_composite_emit_span;
+                   break;
+           }
+    }
+
+    switch (ctx->operands[CAIRO_GL_TEX_SOURCE].type) {
+    default:
+    case CAIRO_GL_OPERAND_COUNT:
+        ASSERT_NOT_REACHED;
+    case CAIRO_GL_OPERAND_NONE:
+    case CAIRO_GL_OPERAND_CONSTANT:
+       break;
+
+    case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
+       if (!ctx->operands[CAIRO_GL_TEX_SOURCE].gradient.texgen)
+               return _cairo_gl_composite_emit_span;
+       break;
+
+    case CAIRO_GL_OPERAND_TEXTURE:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
+       if (!ctx->operands[CAIRO_GL_TEX_SOURCE].texture.texgen)
+               return _cairo_gl_composite_emit_span;
+    }
+
+    return _cairo_gl_composite_emit_solid_span;
 }
 
 static inline void
 _cairo_gl_composite_emit_glyph_vertex (cairo_gl_context_t *ctx,
-                                       GLfloat x,
-                                       GLfloat y,
-                                       GLfloat glyph_x,
-                                       GLfloat glyph_y)
+                                      GLfloat x, GLfloat y,
+                                      GLfloat glyph_x, GLfloat glyph_y)
 {
     GLfloat *vb = (GLfloat *) (void *) &ctx->vb[ctx->vb_offset];
 
     *vb++ = x;
     *vb++ = y;
 
-    _cairo_gl_composite_operand_emit (&ctx->operands[CAIRO_GL_TEX_SOURCE], &vb, x, y);
+    _cairo_gl_operand_emit (&ctx->operands[CAIRO_GL_TEX_SOURCE], &vb, x, y);
 
     *vb++ = glyph_x;
     *vb++ = glyph_y;
@@ -1112,16 +1307,27 @@ _cairo_gl_composite_emit_glyph_vertex (cairo_gl_context_t *ctx,
     ctx->vb_offset += ctx->vertex_size;
 }
 
-void
+static inline void
+_cairo_gl_composite_emit_color_glyph_vertex (cairo_gl_context_t *ctx,
+                                                                                       GLfloat x, GLfloat y,
+                                                                                       GLfloat glyph_x, GLfloat glyph_y)
+{
+       GLfloat *vb = (GLfloat *) (void *) &ctx->vb[ctx->vb_offset];
+
+       *vb++ = x;
+       *vb++ = y;
+       *vb++ = glyph_x;
+       *vb++ = glyph_y;
+
+       ctx->vb_offset += ctx->vertex_size;
+}
+
+static void
 _cairo_gl_composite_emit_glyph (cairo_gl_context_t *ctx,
-                                GLfloat x1,
-                                GLfloat y1,
-                                GLfloat x2,
-                                GLfloat y2,
-                                GLfloat glyph_x1,
-                                GLfloat glyph_y1,
-                                GLfloat glyph_x2,
-                                GLfloat glyph_y2)
+                                GLfloat x1, GLfloat y1,
+                                GLfloat x2, GLfloat y2,
+                                GLfloat glyph_x1, GLfloat glyph_y1,
+                                GLfloat glyph_x2, GLfloat glyph_y2)
 {
     if (ctx->draw_mode != CAIRO_GL_VERTEX) {
        _cairo_gl_composite_flush (ctx);
@@ -1129,7 +1335,7 @@ _cairo_gl_composite_emit_glyph (cairo_gl_context_t *ctx,
     }
 
     _cairo_gl_composite_prepare_buffer (ctx, 6,
-                                       CAIRO_GL_GEOMETRY_TYPE_TRIANGLES);
+                                       CAIRO_GL_PRIMITIVE_TYPE_TRIANGLES);
 
     _cairo_gl_composite_emit_glyph_vertex (ctx, x1, y1, glyph_x1, glyph_y1);
     _cairo_gl_composite_emit_glyph_vertex (ctx, x2, y1, glyph_x2, glyph_y1);
@@ -1140,6 +1346,87 @@ _cairo_gl_composite_emit_glyph (cairo_gl_context_t *ctx,
     _cairo_gl_composite_emit_glyph_vertex (ctx, x1, y2, glyph_x1, glyph_y2);
 }
 
+static void
+_cairo_gl_composite_emit_color_glyph (cairo_gl_context_t *ctx,
+                                                               GLfloat x1, GLfloat y1,
+                                                               GLfloat x2, GLfloat y2,
+                                                               GLfloat glyph_x1, GLfloat glyph_y1,
+                                                               GLfloat glyph_x2, GLfloat glyph_y2)
+{
+       if (ctx->draw_mode != CAIRO_GL_VERTEX) {
+       _cairo_gl_composite_flush (ctx);
+       ctx->draw_mode = CAIRO_GL_VERTEX;
+       }
+
+       _cairo_gl_composite_prepare_buffer (ctx, 6,
+                                                                               CAIRO_GL_PRIMITIVE_TYPE_TRIANGLES);
+
+       _cairo_gl_composite_emit_color_glyph_vertex (ctx, x1, y1, glyph_x1, glyph_y1);
+       _cairo_gl_composite_emit_color_glyph_vertex (ctx, x2, y1, glyph_x2, glyph_y1);
+       _cairo_gl_composite_emit_color_glyph_vertex (ctx, x1, y2, glyph_x1, glyph_y2);
+
+       _cairo_gl_composite_emit_color_glyph_vertex (ctx, x2, y1, glyph_x2, glyph_y1);
+       _cairo_gl_composite_emit_color_glyph_vertex (ctx, x2, y2, glyph_x2, glyph_y2);
+       _cairo_gl_composite_emit_color_glyph_vertex (ctx, x1, y2, glyph_x1, glyph_y2);
+}
+
+static void
+_cairo_gl_composite_emit_solid_glyph (cairo_gl_context_t *ctx,
+                                     GLfloat x1, GLfloat y1,
+                                     GLfloat x2, GLfloat y2,
+                                     GLfloat glyph_x1, GLfloat glyph_y1,
+                                     GLfloat glyph_x2, GLfloat glyph_y2)
+{
+    GLfloat *v;
+
+    _cairo_gl_composite_prepare_buffer (ctx, 6,
+                                       CAIRO_GL_PRIMITIVE_TYPE_TRIANGLES);
+
+    v = (GLfloat *) (void *) &ctx->vb[ctx->vb_offset];
+
+    v[20] = v[ 8] = v[0] = x1;
+    v[13] = v[ 5] = v[1] = y1;
+    v[22] = v[10] = v[2] = glyph_x1;
+    v[15] = v[ 7] = v[3] = glyph_y1;
+
+    v[16] = v[12] = v[4] = x2;
+    v[18] = v[14] = v[6] = glyph_x2;
+
+    v[21] = v[17] = v[ 9] = y2;
+    v[23] = v[19] = v[11] = glyph_y2;
+
+    ctx->vb_offset += 4 * 6 * sizeof (GLfloat);
+}
+
+cairo_gl_emit_glyph_t
+_cairo_gl_context_choose_emit_glyph (cairo_gl_context_t *ctx,
+                                                                       const cairo_bool_t is_color_glyph)
+{
+
+       if ( is_color_glyph) {
+       /* color glyph ignore all source and mask */
+       return _cairo_gl_composite_emit_color_glyph;
+       }
+
+    switch (ctx->operands[CAIRO_GL_TEX_SOURCE].type) {
+    default:
+    case CAIRO_GL_OPERAND_COUNT:
+        ASSERT_NOT_REACHED;
+    case CAIRO_GL_OPERAND_NONE:
+    case CAIRO_GL_OPERAND_CONSTANT:
+       if (! ctx->operands[CAIRO_GL_TEX_SOURCE].constant.encode_as_attribute)
+           return _cairo_gl_composite_emit_solid_glyph;
+
+    case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
+    case CAIRO_GL_OPERAND_TEXTURE:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
+       return _cairo_gl_composite_emit_glyph;
+    }
+}
+
 void
 _cairo_gl_composite_fini (cairo_gl_composite_t *setup)
 {
@@ -1148,13 +1435,10 @@ _cairo_gl_composite_fini (cairo_gl_composite_t *setup)
 }
 
 cairo_status_t
-_cairo_gl_composite_init (cairo_gl_composite_t *setup,
-                          cairo_operator_t op,
-                          cairo_gl_surface_t *dst,
-                          cairo_bool_t assume_component_alpha)
+_cairo_gl_composite_set_operator (cairo_gl_composite_t *setup,
+                                 cairo_operator_t op,
+                                 cairo_bool_t assume_component_alpha)
 {
-    memset (setup, 0, sizeof (cairo_gl_composite_t));
-
     if (assume_component_alpha) {
         if (op != CAIRO_OPERATOR_CLEAR &&
             op != CAIRO_OPERATOR_OVER &&
@@ -1165,8 +1449,26 @@ _cairo_gl_composite_init (cairo_gl_composite_t *setup,
             return UNSUPPORTED ("unsupported operator");
     }
 
-    setup->dst = dst;
     setup->op = op;
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_status_t
+_cairo_gl_composite_init (cairo_gl_composite_t *setup,
+                          cairo_operator_t op,
+                          cairo_gl_surface_t *dst,
+                          cairo_bool_t assume_component_alpha)
+{
+    cairo_status_t status;
+
+    memset (setup, 0, sizeof (cairo_gl_composite_t));
+
+    status = _cairo_gl_composite_set_operator (setup, op,
+                                              assume_component_alpha);
+    if (status)
+       return status;
+
+    setup->dst = dst;
     setup->clip_region = dst->clip_region;
 
     return CAIRO_STATUS_SUCCESS;
@@ -1190,6 +1492,8 @@ _cairo_gl_composite_append_vertex_indices (cairo_gl_context_t     *ctx,
        preexisting vertex to our first one. */
     if (number_of_indices > 0 && is_connected) {
        const unsigned short *indices_array = _cairo_array_index_const (indices, 0);
+       if (indices_array == NULL)
+           return CAIRO_STATUS_NULL_POINTER;
        current_vertex_index = indices_array[number_of_indices - 1];
 
        status = _cairo_array_append (indices, &current_vertex_index);
@@ -1214,6 +1518,31 @@ _cairo_gl_composite_append_vertex_indices (cairo_gl_context_t    *ctx,
 }
 
 cairo_int_status_t
+_cairo_gl_composite_emit_int_quad_as_tristrip (cairo_gl_context_t *ctx,
+                                              cairo_gl_composite_t *setup,
+                                              const int            quad[8])
+{
+    if (ctx->draw_mode != CAIRO_GL_VERTEX) {
+       _cairo_gl_composite_flush (ctx);
+       ctx->draw_mode = CAIRO_GL_VERTEX;
+    }
+
+    _cairo_gl_composite_prepare_buffer (ctx, 4,
+                                       CAIRO_GL_PRIMITIVE_TYPE_TRISTRIPS);
+
+    _cairo_gl_composite_emit_int (ctx, quad[0], quad[1]);
+    _cairo_gl_composite_emit_int (ctx, quad[2], quad[3]);
+
+    /* Cairo stores quad vertices in counter-clockwise order, but we need to
+       emit them from top to bottom in the triangle strip, so we need to reverse
+       the order of the last two vertices. */
+    _cairo_gl_composite_emit_int (ctx, quad[6], quad[7]);
+    _cairo_gl_composite_emit_int (ctx, quad[4], quad[5]);
+
+    return _cairo_gl_composite_append_vertex_indices (ctx, 4, TRUE);
+}
+
+cairo_int_status_t
 _cairo_gl_composite_emit_quad_as_tristrip (cairo_gl_context_t  *ctx,
                                           cairo_gl_composite_t *setup,
                                           const cairo_point_t  quad[4])
@@ -1224,16 +1553,16 @@ _cairo_gl_composite_emit_quad_as_tristrip (cairo_gl_context_t   *ctx,
     }
 
     _cairo_gl_composite_prepare_buffer (ctx, 4,
-                                       CAIRO_GL_GEOMETRY_TYPE_TRISTRIPS);
+                                       CAIRO_GL_PRIMITIVE_TYPE_TRISTRIPS);
 
-    _cairo_gl_composite_emit_point (ctx, &quad[0], 0);
-    _cairo_gl_composite_emit_point (ctx, &quad[1], 0);
+    _cairo_gl_composite_emit_point (ctx, &quad[0]);
+    _cairo_gl_composite_emit_point (ctx, &quad[1]);
 
     /* Cairo stores quad vertices in counter-clockwise order, but we need to
        emit them from top to bottom in the triangle strip, so we need to reverse
        the order of the last two vertices. */
-    _cairo_gl_composite_emit_point (ctx, &quad[3], 0);
-    _cairo_gl_composite_emit_point (ctx, &quad[2], 0);
+    _cairo_gl_composite_emit_point (ctx, &quad[3]);
+    _cairo_gl_composite_emit_point (ctx, &quad[2]);
 
     return _cairo_gl_composite_append_vertex_indices (ctx, 4, TRUE);
 }
@@ -1249,11 +1578,11 @@ _cairo_gl_composite_emit_triangle_as_tristrip (cairo_gl_context_t       *ctx,
     }
 
     _cairo_gl_composite_prepare_buffer (ctx, 3,
-                                       CAIRO_GL_GEOMETRY_TYPE_TRISTRIPS);
+                                       CAIRO_GL_PRIMITIVE_TYPE_TRISTRIPS);
 
-    _cairo_gl_composite_emit_point (ctx, &triangle[0], 0);
-    _cairo_gl_composite_emit_point (ctx, &triangle[1], 0);
-    _cairo_gl_composite_emit_point (ctx, &triangle[2], 0);
+    _cairo_gl_composite_emit_point (ctx, &triangle[0]);
+    _cairo_gl_composite_emit_point (ctx, &triangle[1]);
+    _cairo_gl_composite_emit_point (ctx, &triangle[2]);
     return _cairo_gl_composite_append_vertex_indices (ctx, 3, TRUE);
 }
 
@@ -1268,9 +1597,9 @@ _cairo_gl_composite_emit_point_as_single_line (cairo_gl_context_t  *ctx,
     ctx->draw_mode = CAIRO_GL_LINES;
 
     _cairo_gl_composite_prepare_buffer (ctx, 2,
-                                       CAIRO_GL_GEOMETRY_TYPE_TRISTRIPS);
+                                       CAIRO_GL_PRIMITIVE_TYPE_TRISTRIPS);
 
-    _cairo_gl_composite_emit_point (ctx, &point[0], 0);
-    _cairo_gl_composite_emit_point (ctx, &point[1], 0);
+    _cairo_gl_composite_emit_point (ctx, &point[0]);
+    _cairo_gl_composite_emit_point (ctx, &point[1]);
     return _cairo_gl_composite_append_vertex_indices (ctx, num_indices, FALSE);
 }
old mode 100644 (file)
new mode 100755 (executable)
index a4ec15c..a22ac63
 #include "cairo-gl-private.h"
 #include "cairo-rtree-private.h"
 
+#if CAIRO_HAS_EVASGL_SURFACE
+#include "cairo-evas-gl.h"
+#endif
+
 #define MAX_MSAA_SAMPLES 4
 
 cairo_int_status_t
-_cairo_gl_image_cache_init (cairo_gl_context_t *ctx)
+_cairo_gl_image_cache_init (cairo_gl_context_t *ctx, int width, int height,
+                            cairo_gl_image_cache_t **image_cache)
 {
     cairo_surface_t *cache_surface = _cairo_gl_surface_create_scratch (ctx,
                                                CAIRO_CONTENT_COLOR_ALPHA,
-                                               IMAGE_CACHE_WIDTH,
-                                               IMAGE_CACHE_HEIGHT,
-                                               FALSE);
+                                               width, height);
     if (unlikely (cache_surface->status)) {
        cairo_surface_destroy (cache_surface);
        return CAIRO_INT_STATUS_UNSUPPORTED;
     }
 
     _cairo_surface_release_device_reference (cache_surface);
-    ctx->image_cache.surface = (cairo_gl_surface_t *)cache_surface;
+    *image_cache = _cairo_malloc (sizeof (cairo_gl_image_cache_t));
+    if (*image_cache == NULL)
+       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
+    (*image_cache)->surface = (cairo_gl_surface_t *)cache_surface;
+    (*image_cache)->surface->supports_msaa = FALSE;
 
+    _cairo_rtree_init (&((*image_cache)->rtree), width, height,
+                      IMAGE_CACHE_MIN_SIZE,
+                      sizeof (cairo_gl_image_t),
+                      _cairo_gl_image_node_destroy);
+
+    (*image_cache)->copy_success = TRUE;
     return CAIRO_INT_STATUS_SUCCESS;
 }
 
-static void
+void
 _cairo_gl_image_cache_fini (cairo_gl_context_t *ctx)
 {
-    _cairo_rtree_fini (&ctx->image_cache.rtree);
-    cairo_surface_destroy (&ctx->image_cache.surface->base);
+    if (ctx->image_cache) {
+       _cairo_rtree_fini (&ctx->image_cache->rtree);
+       cairo_surface_destroy (&ctx->image_cache->surface->base);
+    }
+    free (ctx->image_cache);
 }
 
 static void
@@ -119,8 +135,14 @@ _gl_flush (void *device)
 
     ctx->dispatch.BindBuffer (GL_ARRAY_BUFFER, 0);
 
-    _disable_scissor_buffer ();
-    glDisable (GL_BLEND);
+    _cairo_gl_context_reset (ctx);
+
+    _disable_scissor_buffer (ctx);
+
+    if (ctx->states_cache.blend_enabled == TRUE ) {
+       ctx->dispatch.Disable (GL_BLEND);
+       ctx->states_cache.blend_enabled = FALSE;
+    }
 
     return _cairo_gl_context_release (ctx, status);
 }
@@ -137,13 +159,9 @@ _gl_finish (void *device)
 
     _cairo_gl_context_fini_shaders (ctx);
 
-    if (ctx->shared_depth_stencil)
-       ctx->dispatch.DeleteRenderbuffers (1, &ctx->shared_depth_stencil);
-    if (ctx->shared_msaa_depth_stencil)
-       ctx->dispatch.DeleteRenderbuffers (1, &ctx->shared_msaa_depth_stencil);
-
     for (n = 0; n < ARRAY_LENGTH (ctx->glyph_cache); n++)
-        _cairo_gl_glyph_cache_fini (ctx, &ctx->glyph_cache[n]);
+       _cairo_gl_glyph_cache_fini (ctx, &ctx->glyph_cache[n]);
+
 
     _cairo_gl_image_cache_fini (ctx);
 
@@ -153,10 +171,33 @@ _gl_finish (void *device)
 static void
 _gl_destroy (void *device)
 {
+    int n;
+
     cairo_gl_context_t *ctx = device;
 
     ctx->acquire (ctx);
 
+    if(ctx->glyph_mask) {
+       cairo_surface_destroy (&ctx->glyph_mask->base);
+       ctx->glyph_mask = NULL;
+    }
+
+    for (n = 0; n < 2; n++) {
+       if (ctx->source_scratch_surfaces[n])
+           cairo_surface_destroy (&ctx->source_scratch_surfaces[n]->base);
+       if (ctx->mask_scratch_surfaces[n])
+           cairo_surface_destroy (&ctx->mask_scratch_surfaces[n]->base);
+       if (ctx->shadow_scratch_surfaces[n])
+           cairo_surface_destroy (&ctx->shadow_scratch_surfaces[n]->base);
+    }
+    if (ctx->shadow_scratch_surfaces[2])
+       cairo_surface_destroy (&ctx->shadow_scratch_surfaces[2]->base);
+
+    for (n = 0; n < 4; n++) {
+       if (ctx->shadow_masks[n])
+           cairo_surface_destroy (&ctx->shadow_masks[n]->base);
+    }
+
     while (! cairo_list_is_empty (&ctx->fonts)) {
        cairo_gl_font_t *font;
 
@@ -172,9 +213,8 @@ _gl_destroy (void *device)
     _cairo_array_fini (&ctx->tristrip_indices);
 
     cairo_region_destroy (ctx->clip_region);
-    _cairo_clip_destroy (ctx->clip);
 
-    free (ctx->vb_mem);
+    free (ctx->vb);
 
     ctx->destroy (ctx);
 
@@ -199,15 +239,36 @@ _cairo_gl_msaa_compositor_enabled (void)
     return env && strcmp(env, "msaa") == 0;
 }
 
+static cairo_bool_t
+test_can_read_bgra (cairo_gl_context_t *ctx, cairo_gl_flavor_t gl_flavor)
+{
+    /* Desktop GL always supports BGRA formats. */
+    if (gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
+       return TRUE;
+
+    assert (gl_flavor == CAIRO_GL_FLAVOR_ES2 ||
+           gl_flavor == CAIRO_GL_FLAVOR_ES3);
+
+   /* For OpenGL ES we have to look for the specific extension and BGRA only
+    * matches cairo's integer packed bytes on little-endian machines. */
+    if (!_cairo_is_little_endian())
+       return FALSE;
+    return _cairo_gl_has_extension (&ctx->dispatch, "EXT_read_format_bgra");
+}
+
 cairo_status_t
 _cairo_gl_context_init (cairo_gl_context_t *ctx)
 {
     cairo_status_t status;
     cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-    int gl_version = _cairo_gl_get_version ();
-    cairo_gl_flavor_t gl_flavor = _cairo_gl_get_flavor ();
+    int gl_version = _cairo_gl_get_version (dispatch);
+    cairo_gl_flavor_t gl_flavor = _cairo_gl_get_flavor (dispatch);
     int n;
 
+    cairo_bool_t is_desktop = gl_flavor == CAIRO_GL_FLAVOR_DESKTOP;
+    cairo_bool_t is_gles = (gl_flavor == CAIRO_GL_FLAVOR_ES2 ||
+                           gl_flavor == CAIRO_GL_FLAVOR_ES3);
+
     _cairo_device_init (&ctx->base, &_cairo_gl_device_backend);
 
     /* XXX The choice of compositor should be made automatically at runtime.
@@ -221,6 +282,7 @@ _cairo_gl_context_init (cairo_gl_context_t *ctx)
 
 
     ctx->thread_aware = TRUE;
+    ctx->has_angle_multisampling = FALSE;
 
     memset (ctx->glyph_cache, 0, sizeof (ctx->glyph_cache));
     cairo_list_init (&ctx->fonts);
@@ -230,61 +292,105 @@ _cairo_gl_context_init (cairo_gl_context_t *ctx)
        return _cairo_error (CAIRO_STATUS_DEVICE_ERROR);
 
     /* Check for required extensions */
-    if (gl_flavor == CAIRO_GL_FLAVOR_DESKTOP) {
-       if (_cairo_gl_has_extension ("GL_ARB_texture_non_power_of_two")) {
+    if (is_desktop) {
+       if (_cairo_gl_has_extension (&ctx->dispatch, "GL_ARB_texture_non_power_of_two")) {
            ctx->tex_target = GL_TEXTURE_2D;
            ctx->has_npot_repeat = TRUE;
-       } else if (_cairo_gl_has_extension ("GL_ARB_texture_rectangle")) {
+       } else if (_cairo_gl_has_extension (&ctx->dispatch, "GL_ARB_texture_rectangle")) {
            ctx->tex_target = GL_TEXTURE_RECTANGLE;
            ctx->has_npot_repeat = FALSE;
        } else
            return _cairo_error (CAIRO_STATUS_DEVICE_ERROR);
     } else {
        ctx->tex_target = GL_TEXTURE_2D;
-       if (_cairo_gl_has_extension ("GL_OES_texture_npot"))
+       if (_cairo_gl_has_extension (&ctx->dispatch, "GL_OES_texture_npot") ||
+           _cairo_gl_has_extension (&ctx->dispatch, "GL_IMG_texture_npot"))
            ctx->has_npot_repeat = TRUE;
        else
            ctx->has_npot_repeat = FALSE;
     }
 
-    if (gl_flavor == CAIRO_GL_FLAVOR_DESKTOP &&
-       gl_version < CAIRO_GL_VERSION_ENCODE (2, 1) &&
-       ! _cairo_gl_has_extension ("GL_ARB_pixel_buffer_object"))
+    if (is_desktop && gl_version < CAIRO_GL_VERSION_ENCODE (2, 1) &&
+       ! _cairo_gl_has_extension (&ctx->dispatch, "GL_ARB_pixel_buffer_object"))
        return _cairo_error (CAIRO_STATUS_DEVICE_ERROR);
 
-    if (gl_flavor == CAIRO_GL_FLAVOR_ES &&
-       ! _cairo_gl_has_extension ("GL_EXT_texture_format_BGRA8888"))
+    if (is_gles && ! _cairo_gl_has_extension (&ctx->dispatch, "GL_EXT_texture_format_BGRA8888"))
        return _cairo_error (CAIRO_STATUS_DEVICE_ERROR);
 
-    ctx->has_map_buffer = (gl_flavor == CAIRO_GL_FLAVOR_DESKTOP ||
-                          (gl_flavor == CAIRO_GL_FLAVOR_ES &&
-                           _cairo_gl_has_extension ("GL_OES_mapbuffer")));
+    ctx->has_map_buffer =
+       is_desktop || (is_gles && _cairo_gl_has_extension (&ctx->dispatch, "GL_OES_mapbuffer"));
+
+    ctx->can_read_bgra = test_can_read_bgra (ctx, gl_flavor);
 
     ctx->has_mesa_pack_invert =
-       _cairo_gl_has_extension ("GL_MESA_pack_invert");
+       _cairo_gl_has_extension (&ctx->dispatch, "GL_MESA_pack_invert");
 
     ctx->has_packed_depth_stencil =
-       ((gl_flavor == CAIRO_GL_FLAVOR_DESKTOP &&
-        _cairo_gl_has_extension ("GL_EXT_packed_depth_stencil")) ||
-       (gl_flavor == CAIRO_GL_FLAVOR_ES &&
-        _cairo_gl_has_extension ("GL_OES_packed_depth_stencil")));
+       (is_desktop && _cairo_gl_has_extension (&ctx->dispatch, "GL_EXT_packed_depth_stencil")) ||
+       (is_gles && _cairo_gl_has_extension (&ctx->dispatch, "GL_OES_packed_depth_stencil"));
 
     ctx->num_samples = 1;
+    ctx->msaa_type = CAIRO_GL_NONE_MULTISAMPLE_TO_TEXTURE;
+
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+    if (is_desktop && ctx->has_packed_depth_stencil &&
+       (gl_version >= CAIRO_GL_VERSION_ENCODE (3, 0) ||
+        _cairo_gl_has_extension (&ctx->dispatch, "GL_ARB_framebuffer_object") ||
+    (_cairo_gl_has_extension (&ctx->dispatch, "GL_EXT_framebuffer_blit") &&
+     _cairo_gl_has_extension (&ctx->dispatch, "GL_EXT_framebuffer_multisample")))) {
+   ctx->dispatch.GetIntegerv(GL_MAX_SAMPLES_EXT, &ctx->num_samples);
+    }
+#endif
 
-#if CAIRO_HAS_GL_SURFACE
-    if (ctx->has_packed_depth_stencil &&
-       _cairo_gl_has_extension ("GL_ARB_framebuffer_object")) {
-       glGetIntegerv(GL_MAX_SAMPLES_EXT, &ctx->num_samples);
+#if (CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_EVASGL_SURFACE) && GL_MAX_SAMPLES_EXT
+    if (is_gles && ctx->has_packed_depth_stencil &&
+       _cairo_gl_has_extension (&ctx->dispatch, "GL_EXT_multisampled_render_to_texture")) {
+   ctx->dispatch.GetIntegerv(GL_MAX_SAMPLES_EXT, &ctx->num_samples);
+   ctx->msaa_type = CAIRO_GL_EXT_MULTISAMPLE_TO_TEXTURE;
+    }
+#endif
+
+#if (CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_EVASGL_SURFACE) && GL_MAX_SAMPLES_IMG
+    if (ctx->msaa_type == CAIRO_GL_NONE_MULTISAMPLE_TO_TEXTURE &&
+   is_gles &&
+   ctx->has_packed_depth_stencil &&
+       _cairo_gl_has_extension (&ctx->dispatch, "GL_IMG_multisampled_render_to_texture")) {
+   ctx->dispatch.GetIntegerv(GL_MAX_SAMPLES_IMG, &ctx->num_samples);
+   ctx->msaa_type = CAIRO_GL_IMG_MULTISAMPLE_TO_TEXTURE;
+    }
+#endif
+
+#if (CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_EVASGL_SURFACE) && GL_MAX_SAMPLES_ANGLE
+    if (ctx->msaa_type == CAIRO_GL_NONE_MULTISAMPLE_TO_TEXTURE &&
+    is_gles &&
+    ctx->has_packed_depth_stencil &&
+       _cairo_gl_has_extension (&ctx->dispatch, "GL_ANGLE_framebuffer_blit") &&
+    _cairo_gl_has_extension (&ctx->dispatch, "GL_ANGLE_framebuffer_multisample")) {
+    ctx->dispatch.GetIntegerv(GL_MAX_SAMPLES_ANGLE, &ctx->num_samples);
+       ctx->has_angle_multisampling = TRUE;
     }
 #endif
 
-#if CAIRO_HAS_GLESV2_SURFACE && defined(GL_MAX_SAMPLES_EXT)
-    if (ctx->has_packed_depth_stencil &&
-       _cairo_gl_has_extension ("GL_EXT_multisampled_render_to_texture")) {
-       glGetIntegerv(GL_MAX_SAMPLES_EXT, &ctx->num_samples);
+#if CAIRO_HAS_GLESV3_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+    if (ctx->msaa_type == CAIRO_GL_NONE_MULTISAMPLE_TO_TEXTURE &&
+   is_gles && ctx->has_packed_depth_stencil) {
+    ctx->dispatch.GetIntegerv(GL_MAX_SAMPLES, &ctx->num_samples);
+       /* this is work around for evasgl. At this moment, if
+          we still get samples == 1, it means gles2 does not have any
+          support for extensions we have supported
+          */
+          if (gl_flavor == CAIRO_GL_FLAVOR_ES2)
+               ctx->num_samples = 1;
     }
 #endif
-    ctx->supports_msaa = ctx->num_samples > 1;
+
+    /* we always use renderbuffer for rendering in glesv3 */
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3 ||
+       (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
+        ctx->has_angle_multisampling))
+       ctx->supports_msaa = TRUE;
+    else
+       ctx->supports_msaa = ctx->num_samples > 1;
     if (ctx->num_samples > MAX_MSAA_SAMPLES)
        ctx->num_samples = MAX_MSAA_SAMPLES;
 
@@ -304,35 +410,42 @@ _cairo_gl_context_init (cairo_gl_context_t *ctx)
     if (unlikely (status))
         return status;
 
-    if (! ctx->has_map_buffer) {
-       ctx->vb_mem = _cairo_malloc_ab (CAIRO_GL_VBO_SIZE, 1);
-       if (unlikely (ctx->vb_mem == NULL)) {
+    ctx->vb = malloc (CAIRO_GL_VBO_SIZE);
+    if (unlikely (ctx->vb == NULL)) {
            _cairo_cache_fini (&ctx->gradients);
            return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-       }
     }
 
+    ctx->primitive_type = CAIRO_GL_PRIMITIVE_TYPE_TRIANGLES;
     _cairo_array_init (&ctx->tristrip_indices, sizeof (unsigned short));
 
     /* PBO for any sort of texture upload */
     dispatch->GenBuffers (1, &ctx->texture_load_pbo);
-    dispatch->GenBuffers (1, &ctx->vbo);
 
     ctx->max_framebuffer_size = 0;
-    glGetIntegerv (GL_MAX_RENDERBUFFER_SIZE, &ctx->max_framebuffer_size);
+    ctx->dispatch.GetIntegerv (GL_MAX_RENDERBUFFER_SIZE, &ctx->max_framebuffer_size);
     ctx->max_texture_size = 0;
-    glGetIntegerv (GL_MAX_TEXTURE_SIZE, &ctx->max_texture_size);
+    ctx->dispatch.GetIntegerv (GL_MAX_TEXTURE_SIZE, &ctx->max_texture_size);
     ctx->max_textures = 0;
-    glGetIntegerv (GL_MAX_TEXTURE_IMAGE_UNITS, &ctx->max_textures);
+    ctx->dispatch.GetIntegerv (GL_MAX_TEXTURE_IMAGE_UNITS, &ctx->max_textures);
 
     for (n = 0; n < ARRAY_LENGTH (ctx->glyph_cache); n++)
        _cairo_gl_glyph_cache_init (&ctx->glyph_cache[n]);
 
-    ctx->image_cache.surface = NULL;
-    _cairo_rtree_init (&ctx->image_cache.rtree, IMAGE_CACHE_WIDTH,
-                      IMAGE_CACHE_HEIGHT, IMAGE_CACHE_MIN_SIZE,
-                      sizeof (cairo_gl_image_t),
-                      _cairo_gl_image_node_destroy);
+    ctx->image_cache = NULL;
+
+    for (n = 0; n < 2; n++) {
+       ctx->source_scratch_surfaces[n] = NULL;
+       ctx->mask_scratch_surfaces[n] = NULL;
+       ctx->shadow_scratch_surfaces[n] = NULL;
+    }
+
+    for (n = 0; n < 4; n++)
+    ctx->shadow_masks[n] = NULL;
+
+    ctx->source_scratch_in_use = FALSE;
+
+    _cairo_gl_context_reset (ctx);
 
     return CAIRO_STATUS_SUCCESS;
 }
@@ -346,9 +459,15 @@ _cairo_gl_context_activate (cairo_gl_context_t *ctx,
             _cairo_gl_composite_flush (ctx);
             _cairo_gl_context_destroy_operand (ctx, ctx->max_textures - 1);
         }
-        glActiveTexture (ctx->max_textures - 1);
+        if (ctx->states_cache.active_texture != ctx->max_textures - 1) {
+           ctx->dispatch.ActiveTexture (ctx->max_textures - 1);
+           ctx->states_cache.active_texture = ctx->max_textures - 1;
+        }
     } else {
-        glActiveTexture (GL_TEXTURE0 + tex_unit);
+        if (ctx->states_cache.active_texture != GL_TEXTURE0 + tex_unit) {
+           ctx->dispatch.ActiveTexture (GL_TEXTURE0 + tex_unit);
+           ctx->states_cache.active_texture = GL_TEXTURE0 + tex_unit;
+        }
     }
 }
 
@@ -357,28 +476,47 @@ _get_depth_stencil_format (cairo_gl_context_t *ctx)
 {
     /* This is necessary to properly handle the situation where both
        OpenGL and OpenGLES are active and returning a sane default. */
-#if CAIRO_HAS_GL_SURFACE
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_SURFACE
     if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
        return GL_DEPTH_STENCIL;
 #endif
 
-#if CAIRO_HAS_GLESV2_SURFACE
+#if CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_EVASGL_SURFACE
     if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
        return GL_DEPTH24_STENCIL8_OES;
 #endif
 
 #if CAIRO_HAS_GL_SURFACE
     return GL_DEPTH_STENCIL;
-#elif CAIRO_HAS_GLESV2_SURFACE
+#elif CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_EVASGL_SURFACE
     return GL_DEPTH24_STENCIL8_OES;
+#elif CAIRO_HAS_GLESV3_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+    return GL_DEPTH24_STENCIL8;
 #endif
 }
 
-#if CAIRO_HAS_GLESV2_SURFACE
+static void
+_cairo_gl_clear_framebuffer (cairo_gl_context_t *ctx,
+                            cairo_gl_surface_t *surface)
+{
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
+       return;
+
+    if (_cairo_gl_surface_is_scratch (ctx, surface)) {
+       _disable_scissor_buffer (ctx);
+       _disable_stencil_buffer (ctx);
+       ctx->dispatch.Clear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
+    }
+}
+
+#if CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_EVASGL_SURFACE
 static void
 _cairo_gl_ensure_msaa_gles_framebuffer (cairo_gl_context_t *ctx,
                                        cairo_gl_surface_t *surface)
 {
+    if (ctx->has_angle_multisampling)
+       return;
+
     if (surface->msaa_active)
        return;
 
@@ -413,9 +551,10 @@ _cairo_gl_ensure_framebuffer (cairo_gl_context_t *ctx,
     /* Unlike for desktop GL we only maintain one multisampling framebuffer
        for OpenGLES since the EXT_multisampled_render_to_texture extension
        does not require an explicit multisample resolution. */
-#if CAIRO_HAS_GLESV2_SURFACE
+#if CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_EVASGL_SURFACE
     if (surface->supports_msaa && _cairo_gl_msaa_compositor_enabled () &&
-       ctx->gl_flavor == CAIRO_GL_FLAVOR_ES) {
+       ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
+       ! ctx->has_angle_multisampling) {
        _cairo_gl_ensure_msaa_gles_framebuffer (ctx, surface);
     } else
 #endif
@@ -425,9 +564,13 @@ _cairo_gl_ensure_framebuffer (cairo_gl_context_t *ctx,
                                        surface->tex,
                                        0);
 
-#if CAIRO_HAS_GL_SURFACE
-    glDrawBuffer (GL_COLOR_ATTACHMENT0);
-    glReadBuffer (GL_COLOR_ATTACHMENT0);
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP &&
+        ctx->dispatch.DrawBuffer &&
+        ctx->dispatch.ReadBuffer) {
+       ctx->dispatch.DrawBuffer (GL_COLOR_ATTACHMENT0);
+       ctx->dispatch.ReadBuffer (GL_COLOR_ATTACHMENT0);
+    }
 #endif
 
     status = dispatch->CheckFramebufferStatus (GL_FRAMEBUFFER);
@@ -450,13 +593,17 @@ _cairo_gl_ensure_framebuffer (cairo_gl_context_t *ctx,
     }
 }
 
-#if CAIRO_HAS_GL_SURFACE
 static void
 _cairo_gl_ensure_multisampling (cairo_gl_context_t *ctx,
                                cairo_gl_surface_t *surface)
 {
+    GLenum rgba;
+
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
+       ! ctx->has_angle_multisampling)
+       return;
+
     assert (surface->supports_msaa);
-    assert (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP);
 
     if (surface->msaa_fb)
        return;
@@ -472,40 +619,43 @@ _cairo_gl_ensure_multisampling (cairo_gl_context_t *ctx,
     /* FIXME: For now we assume that textures passed from the outside have GL_RGBA
        format, but eventually we need to expose a way for the API consumer to pass
        this information. */
+#if CAIRO_HAS_GLESV3_SURFACE || CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+#if CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_GLESV3_SURFACE
+    rgba = GL_RGBA8;
+#else
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
+       rgba = GL_RGBA;
+    else
+       rgba = GL_RGBA8;
+#endif
+#else
+    rgba = GL_RGBA;
+#endif
     ctx->dispatch.RenderbufferStorageMultisample (GL_RENDERBUFFER,
                                                  ctx->num_samples,
-                                                 GL_RGBA,
+                                                 rgba,
                                                  surface->width,
                                                  surface->height);
+
     ctx->dispatch.FramebufferRenderbuffer (GL_FRAMEBUFFER,
                                           GL_COLOR_ATTACHMENT0,
                                           GL_RENDERBUFFER,
                                           surface->msaa_rb);
 
-    /* Cairo surfaces start out initialized to transparent (black) */
-    _disable_scissor_buffer ();
-    glClearColor (0, 0, 0, 0);
-    glClear (GL_COLOR_BUFFER_BIT);
-}
-#endif
-
-static void
-_cairo_gl_replace_msaa_depth_stencil_buffer (cairo_gl_context_t *ctx,
-                                            int width,
-                                            int height)
-{
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-
-    if (ctx->shared_msaa_depth_stencil)
-       dispatch->DeleteRenderbuffers (1, &ctx->shared_msaa_depth_stencil);
+    if (ctx->dispatch.CheckFramebufferStatus (GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
+       ctx->dispatch.DeleteRenderbuffers (1, &surface->msaa_rb);
+       surface->msaa_rb = 0;
+       ctx->dispatch.DeleteRenderbuffers (1, &surface->msaa_fb);
+       surface->msaa_fb = 0;
+       return;
+    }
 
-    dispatch->GenRenderbuffers (1, &ctx->shared_msaa_depth_stencil);
-    dispatch->BindRenderbuffer (GL_RENDERBUFFER, ctx->shared_msaa_depth_stencil);
-    dispatch->RenderbufferStorageMultisample (GL_RENDERBUFFER, ctx->num_samples,
-                                             _get_depth_stencil_format (ctx),
-                                             width, height);
-    ctx->shared_msaa_depth_stencil_width = width;
-    ctx->shared_msaa_depth_stencil_height = height;
+    /* Cairo surfaces start out initialized to transparent (black) */
+    _disable_scissor_buffer (ctx);
+    ctx->dispatch.ClearColor (0, 0, 0, 0);
+    // reset cached clear colors
+    memset (&ctx->states_cache.clear_red, 0, sizeof (GLclampf) * 4);
+    ctx->dispatch.Clear (GL_COLOR_BUFFER_BIT);
 }
 
 static cairo_bool_t
@@ -513,48 +663,44 @@ _cairo_gl_ensure_msaa_depth_stencil_buffer (cairo_gl_context_t *ctx,
                                            cairo_gl_surface_t *surface)
 {
     cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-    _cairo_gl_ensure_framebuffer (ctx, surface);
-#if CAIRO_HAS_GL_SURFACE
-    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
-       _cairo_gl_ensure_multisampling (ctx, surface);
-#endif
+    if (surface->msaa_depth_stencil)
+       return TRUE;
 
-    if (! ctx->shared_msaa_depth_stencil ||
-        ctx->shared_msaa_depth_stencil_width < surface->width ||
-        ctx->shared_msaa_depth_stencil_height < surface->height) {
-       _cairo_gl_replace_msaa_depth_stencil_buffer (ctx,
-                                                    surface->width,
-                                                    surface->height);
-    }
+    _cairo_gl_ensure_multisampling (ctx, surface);
 
-    assert (ctx->shared_msaa_depth_stencil);
-    if (surface->msaa_depth_stencil == ctx->shared_msaa_depth_stencil)
-       return TRUE;
+    dispatch->GenRenderbuffers (1, &surface->msaa_depth_stencil);
+    dispatch->BindRenderbuffer (GL_RENDERBUFFER,
+                               surface->msaa_depth_stencil);
 
-#if CAIRO_HAS_GL_SURFACE
-    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP) {
+    dispatch->RenderbufferStorageMultisample (GL_RENDERBUFFER,
+                                             ctx->num_samples,
+                                             _get_depth_stencil_format (ctx),
+                                             surface->width,
+                                             surface->height);
+
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_GLESV3_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP ||
+       ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3) {
        dispatch->FramebufferRenderbuffer (GL_FRAMEBUFFER,
                                           GL_DEPTH_STENCIL_ATTACHMENT,
                                           GL_RENDERBUFFER,
-                                          ctx->shared_msaa_depth_stencil);
+                                          surface->msaa_depth_stencil);
     }
 #endif
 
-#if CAIRO_HAS_GLESV2_SURFACE
-    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES) {
+#if CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2) {
        dispatch->FramebufferRenderbuffer (GL_FRAMEBUFFER,
                                           GL_DEPTH_ATTACHMENT,
                                           GL_RENDERBUFFER,
-                                          ctx->shared_msaa_depth_stencil);
+                                          surface->msaa_depth_stencil);
        dispatch->FramebufferRenderbuffer (GL_FRAMEBUFFER,
                                           GL_STENCIL_ATTACHMENT,
                                           GL_RENDERBUFFER,
-                                          ctx->shared_msaa_depth_stencil);
+                                          surface->msaa_depth_stencil);
     }
 #endif
 
-    surface->msaa_depth_stencil = ctx->shared_msaa_depth_stencil;
-
     if (dispatch->CheckFramebufferStatus (GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
        dispatch->DeleteRenderbuffers (1, &surface->msaa_depth_stencil);
        surface->msaa_depth_stencil = 0;
@@ -564,50 +710,27 @@ _cairo_gl_ensure_msaa_depth_stencil_buffer (cairo_gl_context_t *ctx,
     return TRUE;
 }
 
-static void
-_cairo_gl_replace_depth_stencil_buffer (cairo_gl_context_t *ctx,
-                                       int width,
-                                       int height)
-{
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-
-    if (ctx->shared_depth_stencil)
-       dispatch->DeleteRenderbuffers (1, &ctx->shared_depth_stencil);
-
-    dispatch->GenRenderbuffers (1, &ctx->shared_depth_stencil);
-    dispatch->BindRenderbuffer (GL_RENDERBUFFER, ctx->shared_depth_stencil);
-    dispatch->RenderbufferStorage (GL_RENDERBUFFER,
-                                  _get_depth_stencil_format (ctx),
-                                  width, height);
-    ctx->shared_depth_stencil_width = width;
-    ctx->shared_depth_stencil_height = height;
-}
-
 static cairo_bool_t
 _cairo_gl_ensure_depth_stencil_buffer (cairo_gl_context_t *ctx,
                                       cairo_gl_surface_t *surface)
 {
     cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
 
-    _cairo_gl_ensure_framebuffer (ctx, surface);
+    if (surface->depth_stencil)
+       return TRUE;
 
-    if (! ctx->shared_depth_stencil ||
-        ctx->shared_depth_stencil_width < surface->width ||
-        ctx->shared_depth_stencil_height < surface->height) {
-       _cairo_gl_replace_depth_stencil_buffer (ctx,
-                                               surface->width,
-                                               surface->height);
-    }
+    _cairo_gl_ensure_framebuffer (ctx, surface);
 
-    if (surface->depth_stencil == ctx->shared_depth_stencil)
-       return TRUE;
+    dispatch->GenRenderbuffers (1, &surface->depth_stencil);
+    dispatch->BindRenderbuffer (GL_RENDERBUFFER, surface->depth_stencil);
+    dispatch->RenderbufferStorage (GL_RENDERBUFFER,
+                                  _get_depth_stencil_format (ctx),
+                                  surface->width, surface->height);
 
     dispatch->FramebufferRenderbuffer (GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
-                                      GL_RENDERBUFFER, ctx->shared_depth_stencil);
+                                      GL_RENDERBUFFER, surface->depth_stencil);
     dispatch->FramebufferRenderbuffer (GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
-                                      GL_RENDERBUFFER, ctx->shared_depth_stencil);
-    surface->depth_stencil = ctx->shared_depth_stencil;
-
+                                      GL_RENDERBUFFER, surface->depth_stencil);
     if (dispatch->CheckFramebufferStatus (GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
        dispatch->DeleteRenderbuffers (1, &surface->depth_stencil);
        surface->depth_stencil = 0;
@@ -623,7 +746,6 @@ _cairo_gl_ensure_stencil (cairo_gl_context_t *ctx,
 {
     if (! _cairo_gl_surface_is_texture (surface))
        return TRUE; /* best guess for now, will check later */
-
     if (! ctx->has_packed_depth_stencil)
        return FALSE;
 
@@ -673,26 +795,50 @@ _gl_identity_ortho (GLfloat *m,
 #undef M
 }
 
-#if CAIRO_HAS_GL_SURFACE
 static void
-_cairo_gl_activate_surface_as_multisampling (cairo_gl_context_t *ctx,
-                                            cairo_gl_surface_t *surface)
+bind_multisample_framebuffer (cairo_gl_context_t *ctx,
+                              cairo_gl_surface_t *surface)
 {
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+    cairo_bool_t stencil_test_enabled, scissor_test_enabled;
+    cairo_bool_t has_stencil_cache;
+    GLbitfield mask;
+
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP) {
+       stencil_test_enabled = ctx->states_cache.stencil_test_enabled;
+       scissor_test_enabled = ctx->states_cache.scissor_test_enabled;
+
+       has_stencil_cache = surface->clip_on_stencil_buffer ? TRUE : FALSE;
+       mask = GL_COLOR_BUFFER_BIT;
+    }
+#endif
     assert (surface->supports_msaa);
-    assert (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP);
 
     _cairo_gl_ensure_framebuffer (ctx, surface);
     _cairo_gl_ensure_multisampling (ctx, surface);
 
-
     if (surface->msaa_active) {
-       glEnable (GL_MULTISAMPLE);
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
+           ctx->dispatch.Enable (GL_MULTISAMPLE);
+
+#endif
        ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->msaa_fb);
        return;
     }
 
     _cairo_gl_composite_flush (ctx);
-    glEnable (GL_MULTISAMPLE);
+
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+    /* we must disable scissor and stencil test */
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP) {
+    _disable_stencil_buffer (ctx);
+    _disable_scissor_buffer (ctx);
+
+       ctx->dispatch.Enable (GL_MULTISAMPLE);
+
+    if (has_stencil_cache)
+       mask |= GL_STENCIL_BUFFER_BIT;
 
     /* The last time we drew to the surface, we were not using multisampling,
        so we need to blit from the non-multisampling framebuffer into the
@@ -701,40 +847,134 @@ _cairo_gl_activate_surface_as_multisampling (cairo_gl_context_t *ctx,
     ctx->dispatch.BindFramebuffer (GL_READ_FRAMEBUFFER, surface->fb);
     ctx->dispatch.BlitFramebuffer (0, 0, surface->width, surface->height,
                                   0, 0, surface->width, surface->height,
-                                  GL_COLOR_BUFFER_BIT, GL_NEAREST);
+                                  mask, GL_NEAREST);
+    surface->content_synced = TRUE;
+    }
+#endif
     ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->msaa_fb);
-    surface->msaa_active = TRUE;
-}
+
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP) {
+    /* re-enable stencil and scissor test */
+    if (scissor_test_enabled)
+       _enable_scissor_buffer (ctx);
+    if (stencil_test_enabled)
+       _enable_stencil_buffer (ctx);
+    }
 #endif
+}
 
-void
-_cairo_gl_activate_surface_as_nonmultisampling (cairo_gl_context_t *ctx,
-                                               cairo_gl_surface_t *surface)
+static void
+bind_singlesample_framebuffer (cairo_gl_context_t *ctx,
+                              cairo_gl_surface_t *surface)
 {
-    assert (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP);
+    cairo_bool_t has_stencil_cache = surface->clip_on_stencil_buffer ? TRUE : FALSE;
+    cairo_bool_t stencil_test_enabled = ctx->states_cache.stencil_test_enabled;
+    cairo_bool_t scissor_test_enabled = ctx->states_cache.scissor_test_enabled;
+    GLbitfield mask = GL_COLOR_BUFFER_BIT;
+
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
+       ! ctx->has_angle_multisampling)
+       return;
+
     _cairo_gl_ensure_framebuffer (ctx, surface);
 
-#if CAIRO_HAS_GL_SURFACE
     if (! surface->msaa_active) {
-       glDisable (GL_MULTISAMPLE);
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_FLAVOR
+       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
+           ctx->dispatch.Disable (GL_MULTISAMPLE);
+#endif
        ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->fb);
        return;
     }
 
     _cairo_gl_composite_flush (ctx);
-    glDisable (GL_MULTISAMPLE);
+
+    /* we must disable scissor and stencil test */
+    _disable_stencil_buffer (ctx);
+    _disable_scissor_buffer (ctx);
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_FLAVOR
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
+       ctx->dispatch.Disable (GL_MULTISAMPLE);
+#endif
+
+    if (has_stencil_cache)
+       mask |= GL_STENCIL_BUFFER_BIT;
 
     /* The last time we drew to the surface, we were using multisampling,
        so we need to blit from the multisampling framebuffer into the
        non-multisampling framebuffer. */
+#if CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2) {
+    ctx->dispatch.BindFramebuffer (GL_DRAW_FRAMEBUFFER_ANGLE, surface->fb);
+    ctx->dispatch.BindFramebuffer (GL_READ_FRAMEBUFFER_ANGLE, surface->msaa_fb);
+    }
+#if CAIRO_HAS_EVASGL_SURFACE
+    else {
+       ctx->dispatch.BindFramebuffer (GL_DRAW_FRAMEBUFFER, surface->fb);
+       ctx->dispatch.BindFramebuffer (GL_READ_FRAMEBUFFER, surface->msaa_fb);
+    }
+#endif
+#else
     ctx->dispatch.BindFramebuffer (GL_DRAW_FRAMEBUFFER, surface->fb);
     ctx->dispatch.BindFramebuffer (GL_READ_FRAMEBUFFER, surface->msaa_fb);
+#endif
     ctx->dispatch.BlitFramebuffer (0, 0, surface->width, surface->height,
                                   0, 0, surface->width, surface->height,
-                                  GL_COLOR_BUFFER_BIT, GL_NEAREST);
+                                  mask, GL_NEAREST);
     ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->fb);
-    surface->msaa_active = FALSE;
+
+    surface->content_synced = TRUE;
+    /* re-enable stencil and scissor test */
+    if (scissor_test_enabled)
+       _enable_scissor_buffer (ctx);
+    if (stencil_test_enabled)
+       _enable_stencil_buffer (ctx);
+}
+
+void
+_cairo_gl_context_bind_framebuffer (cairo_gl_context_t *ctx,
+                                   cairo_gl_surface_t *surface,
+                                   cairo_bool_t multisampling)
+{
+    if (_cairo_gl_surface_is_texture (surface)) {
+       /* OpenGL ES surfaces only have either a multisample framebuffer or a
+        * singlesample framebuffer, so we cannot switch back and forth. */
+       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
+           ! ctx->has_angle_multisampling) {
+           _cairo_gl_ensure_framebuffer (ctx, surface);
+           ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->fb);
+           _cairo_gl_clear_framebuffer (ctx, surface);
+           return;
+       }
+
+       if (multisampling)
+           bind_multisample_framebuffer (ctx, surface);
+       else
+           bind_singlesample_framebuffer (ctx, surface);
+    } else {
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_GLESV3_SURFACE
+       ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, 0);
+#endif
+
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP) {
+           if (multisampling)
+               ctx->dispatch.Enable (GL_MULTISAMPLE);
+           else
+               ctx->dispatch.Disable (GL_MULTISAMPLE);
+       }
 #endif
+    }
+
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP ||
+       ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3 ||
+       (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
+        ctx->has_angle_multisampling))
+       surface->msaa_active = multisampling;
+
+    if (ctx->gl_flavor != CAIRO_GL_FLAVOR_DESKTOP && multisampling)
+       _cairo_gl_clear_framebuffer (ctx, surface);
 }
 
 void
@@ -742,50 +982,57 @@ _cairo_gl_context_set_destination (cairo_gl_context_t *ctx,
                                    cairo_gl_surface_t *surface,
                                    cairo_bool_t multisampling)
 {
-    /* OpenGL ES surfaces are always in MSAA mode once it's been turned on,
-     * so we don't need to check whether we are switching modes for that
-     * surface type. */
-    if (ctx->current_target == surface && ! surface->needs_update &&
-       (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES ||
-        surface->msaa_active == multisampling))
+    cairo_bool_t changing_surface, changing_sampling;
+
+    /* The decision whether or not to use multisampling happens when
+     * we create an OpenGL ES surface, so we can never switch modes. */
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
+       ! ctx->has_angle_multisampling)
+       multisampling = surface->msaa_active;
+
+    changing_surface = ctx->current_target != surface || surface->size_changed;
+    changing_sampling = surface->msaa_active != multisampling;
+
+    if (! changing_surface && ! changing_sampling) {
+       if (surface->needs_update)
+           _cairo_gl_composite_flush (ctx);
+       return;
+    }
+    if (! changing_surface) {
+       _cairo_gl_composite_flush (ctx);
+       _cairo_gl_context_bind_framebuffer (ctx, surface, multisampling);
        return;
+    }
 
     _cairo_gl_composite_flush (ctx);
 
     ctx->current_target = surface;
     surface->needs_update = FALSE;
 
-    if (_cairo_gl_surface_is_texture (surface)) {
-       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES) {
-           _cairo_gl_ensure_framebuffer (ctx, surface);
-           ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->fb);
-#if CAIRO_HAS_GL_SURFACE
-       } else if (multisampling)
-           _cairo_gl_activate_surface_as_multisampling (ctx, surface);
-       else {
-           _cairo_gl_activate_surface_as_nonmultisampling (ctx, surface);
-#endif
-       }
-    } else {
-        ctx->make_current (ctx, surface);
-
-#if CAIRO_HAS_GL_SURFACE
-       if (multisampling)
-           glEnable(GL_MULTISAMPLE);
-       else
-           glDisable(GL_MULTISAMPLE);
-#endif
+    if (! _cairo_gl_surface_is_texture (surface)) {
+       ctx->make_current (ctx, surface);
+    }
 
-        surface->msaa_active = multisampling;
-        ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, 0);
+    _cairo_gl_context_bind_framebuffer (ctx, surface, multisampling);
 
-#if CAIRO_HAS_GL_SURFACE
-        glDrawBuffer (GL_BACK_LEFT);
-        glReadBuffer (GL_BACK_LEFT);
+    if (! _cairo_gl_surface_is_texture (surface)) {
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP &&
+       ctx->dispatch.DrawBuffer &&
+       ctx->dispatch.ReadBuffer) {
+           ctx->dispatch.DrawBuffer (GL_BACK_LEFT);
+           ctx->dispatch.ReadBuffer (GL_BACK_LEFT);
+       }
 #endif
     }
 
-    glViewport (0, 0, surface->width, surface->height);
+    ctx->dispatch.Disable (GL_DITHER);
+    if (ctx->states_cache.viewport_box.width != surface->width ||
+       ctx->states_cache.viewport_box.height != surface->height) {
+       ctx->dispatch.Viewport (0, 0, surface->width, surface->height);
+       ctx->states_cache.viewport_box.width = surface->width;
+       ctx->states_cache.viewport_box.height = surface->height;
+    }
 
     if (_cairo_gl_surface_is_texture (surface))
        _gl_identity_ortho (ctx->modelviewprojection_matrix,
@@ -799,9 +1046,47 @@ void
 cairo_gl_device_set_thread_aware (cairo_device_t       *device,
                                  cairo_bool_t           thread_aware)
 {
+    if ((! device)||(cairo_device_status(device)!= CAIRO_STATUS_SUCCESS)) {
+       fprintf (stderr, "cairo_gl_device_set_thread_aware(): cairo_device is NULL or not available\n");
+       _cairo_error_throw (CAIRO_STATUS_DEVICE_ERROR);
+       return;
+    }
     if (device->backend->type != CAIRO_DEVICE_TYPE_GL) {
        _cairo_error_throw (CAIRO_STATUS_DEVICE_TYPE_MISMATCH);
        return;
     }
-    ((cairo_gl_context_t *) device)->thread_aware = thread_aware;
+    if(thread_aware == 0 || thread_aware == 1){
+       ((cairo_gl_context_t *) device)->thread_aware = thread_aware;
+    }
+    else{
+       _cairo_device_set_error (device, CAIRO_STATUS_INVALID_STATUS);
+       return;
+    }
+}
+
+void _cairo_gl_context_reset (cairo_gl_context_t *ctx)
+{
+    ctx->states_cache.viewport_box.width = 0;
+    ctx->states_cache.viewport_box.height = 0;
+
+    ctx->states_cache.clear_red = -1;
+    ctx->states_cache.clear_green = -1;
+    ctx->states_cache.clear_blue = -1;
+    ctx->states_cache.clear_alpha = -1;
+
+    ctx->states_cache.blend_enabled = FALSE;
+
+    ctx->states_cache.src_color_factor = CAIRO_GL_ENUM_UNINITIALIZED;
+    ctx->states_cache.dst_color_factor = CAIRO_GL_ENUM_UNINITIALIZED;
+    ctx->states_cache.src_alpha_factor = CAIRO_GL_ENUM_UNINITIALIZED;
+    ctx->states_cache.dst_alpha_factor = CAIRO_GL_ENUM_UNINITIALIZED;
+
+    ctx->states_cache.active_texture = CAIRO_GL_ENUM_UNINITIALIZED;
+
+    ctx->states_cache.depth_mask = FALSE;
+
+       /* FIXME: this is hack to fix mali driver*/
+       ctx->dispatch.Disable (GL_DITHER);
+
+       ctx->current_shader = NULL;
 }
index 0c5dc39..5996ebd 100644 (file)
@@ -47,18 +47,66 @@ typedef struct _cairo_gl_dispatch_entry {
     size_t offset;
 } cairo_gl_dispatch_entry_t;
 
+#define DISPATCH_ENTRY_CORE(name) { { "gl"#name, "gl"#name"", "gl"#name }, \
+                                  offsetof(cairo_gl_dispatch_t, name) }
+
 #define DISPATCH_ENTRY_ARB(name) { { "gl"#name, "gl"#name"ARB", "gl"#name }, \
                                   offsetof(cairo_gl_dispatch_t, name) }
 #define DISPATCH_ENTRY_EXT(name) { { "gl"#name, "gl"#name"EXT", "gl"#name }, \
                                   offsetof(cairo_gl_dispatch_t, name) }
 #define DISPATCH_ENTRY_ARB_OES(name) { { "gl"#name, "gl"#name"ARB", "gl"#name"OES" }, \
                                       offsetof(cairo_gl_dispatch_t, name) }
-#define DISPATCH_ENTRY_EXT_EXT(name) { { "gl"#name, "gl"#name"EXT", "gl"#name"EXT" }, \
+#define DISPATCH_ENTRY_ES_ANGLE_EXT_IMG(name) { { "gl"#name"ANGLE", "gl"#name"EXT", "gl"#name"IMG" }, \
+                                      offsetof(cairo_gl_dispatch_t, name) }
+#define DISPATCH_ENTRY_ANGLE_IMG(name) { { "gl"#name, "gl"#name"ANGLE", "gl"#name"IMG" }, \
+                                      offsetof(cairo_gl_dispatch_t, name) }
+#define DISPATCH_ENTRY_EXT_IMG(name) { { "gl"#name, "gl"#name"EXT", "gl"#name"IMG" }, \
                                       offsetof(cairo_gl_dispatch_t, name) }
 #define DISPATCH_ENTRY_CUSTOM(name, name2) { { "gl"#name, "gl"#name2, "gl"#name }, \
                                             offsetof(cairo_gl_dispatch_t, name)}
+#define DISPATCH_ENTRY_EXT_ANGLE(name) { { "gl"#name, "gl"#name"EXT", "gl"#name"ANGLE" }, \
+                                      offsetof(cairo_gl_dispatch_t, name) }
 #define DISPATCH_ENTRY_LAST { { NULL, NULL, NULL }, 0 }
 
+cairo_private cairo_gl_dispatch_entry_t dispatch_core_entries[] = {
+    DISPATCH_ENTRY_CORE        (ActiveTexture),
+    DISPATCH_ENTRY_CORE        (BindTexture),
+    DISPATCH_ENTRY_CORE        (BlendFunc),
+    DISPATCH_ENTRY_CORE        (BlendFuncSeparate),
+    DISPATCH_ENTRY_CORE        (Clear),
+    DISPATCH_ENTRY_CORE        (ClearColor),
+    DISPATCH_ENTRY_CORE        (ClearStencil),
+    DISPATCH_ENTRY_CORE        (ColorMask),
+    DISPATCH_ENTRY_CORE        (DeleteTextures),
+    DISPATCH_ENTRY_CORE        (Disable),
+    DISPATCH_ENTRY_CORE        (DrawArrays),
+    DISPATCH_ENTRY_CORE        (DrawElements),
+    DISPATCH_ENTRY_CORE        (Enable),
+    DISPATCH_ENTRY_CORE        (Flush),
+    DISPATCH_ENTRY_CORE        (GenTextures),
+    DISPATCH_ENTRY_CORE        (GetBooleanv),
+    DISPATCH_ENTRY_CORE        (GetError),
+    DISPATCH_ENTRY_CORE        (GetFloatv),
+    DISPATCH_ENTRY_CORE        (GetIntegerv),
+    DISPATCH_ENTRY_CORE        (GetString),
+    DISPATCH_ENTRY_CORE        (PixelStorei),
+    DISPATCH_ENTRY_CORE        (ReadPixels),
+    DISPATCH_ENTRY_CORE        (Scissor),
+    DISPATCH_ENTRY_CORE        (StencilFunc),
+    DISPATCH_ENTRY_CORE        (StencilMask),
+    DISPATCH_ENTRY_CORE        (StencilOp),
+    DISPATCH_ENTRY_CORE        (TexSubImage2D),
+    DISPATCH_ENTRY_CORE        (TexImage2D),
+    DISPATCH_ENTRY_CORE        (TexParameteri),
+#if defined(CAIRO_HAS_GL_SURFACE) || defined(CAIRO_HAS_EVASGL_SURFACE)
+    DISPATCH_ENTRY_CORE        (DrawBuffer),
+    DISPATCH_ENTRY_CORE        (ReadBuffer),
+#endif
+    DISPATCH_ENTRY_CORE        (DepthMask),
+    DISPATCH_ENTRY_CORE        (Viewport),
+    DISPATCH_ENTRY_LAST
+};
+
 cairo_private cairo_gl_dispatch_entry_t dispatch_buffers_entries[] = {
     DISPATCH_ENTRY_ARB     (GenBuffers),
     DISPATCH_ENTRY_ARB     (BindBuffer),
@@ -92,6 +140,7 @@ cairo_private cairo_gl_dispatch_entry_t dispatch_shaders_entries[] = {
     DISPATCH_ENTRY_ARB (Uniform2f),
     DISPATCH_ENTRY_ARB (Uniform3f),
     DISPATCH_ENTRY_ARB (Uniform4f),
+    DISPATCH_ENTRY_ARB (Uniform1fv),
     DISPATCH_ENTRY_ARB (UniformMatrix3fv),
     DISPATCH_ENTRY_ARB (UniformMatrix4fv),
     DISPATCH_ENTRY_ARB (Uniform1i),
@@ -116,9 +165,27 @@ cairo_private cairo_gl_dispatch_entry_t dispatch_fbo_entries[] = {
     DISPATCH_ENTRY_EXT (RenderbufferStorage),
     DISPATCH_ENTRY_EXT (FramebufferRenderbuffer),
     DISPATCH_ENTRY_EXT (DeleteRenderbuffers),
-    DISPATCH_ENTRY_EXT (BlitFramebuffer),
-    DISPATCH_ENTRY_EXT_EXT (RenderbufferStorageMultisample),
-    DISPATCH_ENTRY_EXT_EXT (FramebufferTexture2DMultisample),
+    DISPATCH_ENTRY_LAST
+};
+
+cairo_private cairo_gl_dispatch_entry_t dispatch_multisampling_entries[] = {
+#if CAIRO_HAS_GLESV2_SURFACE
+    DISPATCH_ENTRY_ES_ANGLE_EXT_IMG (BlitFramebuffer),
+    DISPATCH_ENTRY_ES_ANGLE_EXT_IMG (RenderbufferStorageMultisample),
+    DISPATCH_ENTRY_ES_ANGLE_EXT_IMG (FramebufferTexture2DMultisample),
+#elif CAIRO_HAS_EVASGL_SURFACE
+    DISPATCH_ENTRY_ES_ANGLE_EXT_IMG (BlitFramebuffer),
+    DISPATCH_ENTRY_ES_ANGLE_EXT_IMG (RenderbufferStorageMultisample),
+    DISPATCH_ENTRY_ES_ANGLE_EXT_IMG (FramebufferTexture2DMultisample),
+
+    DISPATCH_ENTRY_EXT_IMG (BlitFramebuffer),
+    DISPATCH_ENTRY_EXT_IMG (RenderbufferStorageMultisample),
+    DISPATCH_ENTRY_EXT_IMG (FramebufferTexture2DMultisample),
+#else
+    DISPATCH_ENTRY_EXT_IMG (BlitFramebuffer),
+    DISPATCH_ENTRY_EXT_IMG (RenderbufferStorageMultisample),
+    DISPATCH_ENTRY_EXT_IMG (FramebufferTexture2DMultisample),
+#endif
     DISPATCH_ENTRY_LAST
 };
 
index 5bffddd..aaa2346 100644 (file)
@@ -78,6 +78,7 @@ _cairo_gl_dispatch_get_proc_addr (void *handle, const char *name)
 static void
 _cairo_gl_dispatch_init_entries (cairo_gl_dispatch_t *dispatch,
                                 cairo_gl_get_proc_addr_func_t get_proc_addr,
+                                void *data,
                                 cairo_gl_dispatch_entry_t *entries,
                                 cairo_gl_dispatch_name_t dispatch_name)
 {
@@ -96,10 +97,9 @@ _cairo_gl_dispatch_init_entries (cairo_gl_dispatch_t *dispatch,
         * GL function using standard system facilities (eg dlsym() in *nix
         * systems).
         */
-       cairo_gl_generic_func_t func = get_proc_addr (name);
+       cairo_gl_generic_func_t func = get_proc_addr (data, name);
        if (func == NULL)
            func = _cairo_gl_dispatch_get_proc_addr (handle, name);
-
        *((cairo_gl_generic_func_t *) dispatch_ptr) = func;
 
        ++entry;
@@ -111,6 +111,7 @@ _cairo_gl_dispatch_init_entries (cairo_gl_dispatch_t *dispatch,
 static cairo_status_t
 _cairo_gl_dispatch_init_buffers (cairo_gl_dispatch_t *dispatch,
                                 cairo_gl_get_proc_addr_func_t get_proc_addr,
+                                void *data,
                                 int gl_version, cairo_gl_flavor_t gl_flavor)
 {
     cairo_gl_dispatch_name_t dispatch_name;
@@ -119,12 +120,16 @@ _cairo_gl_dispatch_init_buffers (cairo_gl_dispatch_t *dispatch,
     {
        if (gl_version >= CAIRO_GL_VERSION_ENCODE (1, 5))
            dispatch_name = CAIRO_GL_DISPATCH_NAME_CORE;
-       else if (_cairo_gl_has_extension ("GL_ARB_vertex_buffer_object"))
+       else if (_cairo_gl_has_extension (dispatch, "GL_ARB_vertex_buffer_object"))
            dispatch_name = CAIRO_GL_DISPATCH_NAME_EXT;
        else
            return CAIRO_STATUS_DEVICE_ERROR;
     }
-    else if (gl_flavor == CAIRO_GL_FLAVOR_ES &&
+    else if (gl_flavor == CAIRO_GL_FLAVOR_ES3)
+    {
+       dispatch_name = CAIRO_GL_DISPATCH_NAME_CORE;
+    }
+    else if (gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
             gl_version >= CAIRO_GL_VERSION_ENCODE (2, 0))
     {
        dispatch_name = CAIRO_GL_DISPATCH_NAME_ES;
@@ -134,15 +139,28 @@ _cairo_gl_dispatch_init_buffers (cairo_gl_dispatch_t *dispatch,
        return CAIRO_STATUS_DEVICE_ERROR;
     }
 
-    _cairo_gl_dispatch_init_entries (dispatch, get_proc_addr,
+    _cairo_gl_dispatch_init_entries (dispatch, get_proc_addr, data,
                                     dispatch_buffers_entries, dispatch_name);
 
     return CAIRO_STATUS_SUCCESS;
 }
 
+static void
+_cairo_gl_dispatch_init_core (cairo_gl_dispatch_t *dispatch,
+                             cairo_gl_get_proc_addr_func_t get_proc_addr,
+                             void *data)
+{
+    cairo_gl_dispatch_name_t dispatch_name = CAIRO_GL_DISPATCH_NAME_CORE;
+
+    _cairo_gl_dispatch_init_entries (dispatch, get_proc_addr, data,
+                                    dispatch_core_entries, dispatch_name);
+
+}
+
 static cairo_status_t
 _cairo_gl_dispatch_init_shaders (cairo_gl_dispatch_t *dispatch,
                                 cairo_gl_get_proc_addr_func_t get_proc_addr,
+                                void *data,
                                 int gl_version, cairo_gl_flavor_t gl_flavor)
 {
     cairo_gl_dispatch_name_t dispatch_name;
@@ -151,12 +169,16 @@ _cairo_gl_dispatch_init_shaders (cairo_gl_dispatch_t *dispatch,
     {
        if (gl_version >= CAIRO_GL_VERSION_ENCODE (2, 0))
            dispatch_name = CAIRO_GL_DISPATCH_NAME_CORE;
-       else if (_cairo_gl_has_extension ("GL_ARB_shader_objects"))
+       else if (_cairo_gl_has_extension (dispatch, "GL_ARB_shader_objects"))
            dispatch_name = CAIRO_GL_DISPATCH_NAME_EXT;
        else
            return CAIRO_STATUS_DEVICE_ERROR;
     }
-    else if (gl_flavor == CAIRO_GL_FLAVOR_ES &&
+    else if (gl_flavor == CAIRO_GL_FLAVOR_ES3)
+    {
+       dispatch_name = CAIRO_GL_DISPATCH_NAME_CORE;
+    }
+    else if (gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
             gl_version >= CAIRO_GL_VERSION_ENCODE (2, 0))
     {
        dispatch_name = CAIRO_GL_DISPATCH_NAME_ES;
@@ -166,7 +188,7 @@ _cairo_gl_dispatch_init_shaders (cairo_gl_dispatch_t *dispatch,
        return CAIRO_STATUS_DEVICE_ERROR;
     }
 
-    _cairo_gl_dispatch_init_entries (dispatch, get_proc_addr,
+    _cairo_gl_dispatch_init_entries (dispatch, get_proc_addr, data,
                                     dispatch_shaders_entries, dispatch_name);
 
     return CAIRO_STATUS_SUCCESS;
@@ -175,6 +197,7 @@ _cairo_gl_dispatch_init_shaders (cairo_gl_dispatch_t *dispatch,
 static cairo_status_t
 _cairo_gl_dispatch_init_fbo (cairo_gl_dispatch_t *dispatch,
                             cairo_gl_get_proc_addr_func_t get_proc_addr,
+                            void *data,
                             int gl_version, cairo_gl_flavor_t gl_flavor)
 {
     cairo_gl_dispatch_name_t dispatch_name;
@@ -182,14 +205,18 @@ _cairo_gl_dispatch_init_fbo (cairo_gl_dispatch_t *dispatch,
     if (gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
     {
        if (gl_version >= CAIRO_GL_VERSION_ENCODE (3, 0) ||
-           _cairo_gl_has_extension ("GL_ARB_framebuffer_object"))
+           _cairo_gl_has_extension (dispatch, "GL_ARB_framebuffer_object"))
            dispatch_name = CAIRO_GL_DISPATCH_NAME_CORE;
-       else if (_cairo_gl_has_extension ("GL_EXT_framebuffer_object"))
+       else if (_cairo_gl_has_extension (dispatch, "GL_EXT_framebuffer_object"))
            dispatch_name = CAIRO_GL_DISPATCH_NAME_EXT;
        else
            return CAIRO_STATUS_DEVICE_ERROR;
     }
-    else if (gl_flavor == CAIRO_GL_FLAVOR_ES &&
+    else if (gl_flavor == CAIRO_GL_FLAVOR_ES3)
+    {
+       dispatch_name = CAIRO_GL_DISPATCH_NAME_CORE;
+    }
+    else if (gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
             gl_version >= CAIRO_GL_VERSION_ENCODE (2, 0))
     {
        dispatch_name = CAIRO_GL_DISPATCH_NAME_ES;
@@ -199,37 +226,71 @@ _cairo_gl_dispatch_init_fbo (cairo_gl_dispatch_t *dispatch,
        return CAIRO_STATUS_DEVICE_ERROR;
     }
 
-    _cairo_gl_dispatch_init_entries (dispatch, get_proc_addr,
+    _cairo_gl_dispatch_init_entries (dispatch, get_proc_addr, data,
                                     dispatch_fbo_entries, dispatch_name);
 
     return CAIRO_STATUS_SUCCESS;
 }
 
+static cairo_status_t
+_cairo_gl_dispatch_init_multisampling (cairo_gl_dispatch_t *dispatch,
+                                      cairo_gl_get_proc_addr_func_t get_proc_addr,
+                                      void *data, int gl_version,
+                                      cairo_gl_flavor_t gl_flavor)
+{
+    /* For the multisampling table, there are two GLES versions of the
+     * extension, so we put one in the EXT slot and one in the real ES slot.*/
+    cairo_gl_dispatch_name_t dispatch_name = CAIRO_GL_DISPATCH_NAME_CORE;
+    if (gl_flavor == CAIRO_GL_FLAVOR_ES2) {
+       if (_cairo_gl_has_extension (dispatch, "GL_EXT_multisampled_render_to_texture"))
+           dispatch_name = CAIRO_GL_DISPATCH_NAME_EXT;
+       else if (_cairo_gl_has_extension (dispatch, "GL_IMG_multisampled_render_to_texture"))
+           dispatch_name = CAIRO_GL_DISPATCH_NAME_ES;
+       else if (_cairo_gl_has_extension (dispatch, "GL_ANGLE_framebuffer_multisample") &&
+                _cairo_gl_has_extension (dispatch, "GL_ANGLE_framebuffer_blit"))
+           dispatch_name = CAIRO_GL_DISPATCH_NAME_CORE;
+    }
+
+    _cairo_gl_dispatch_init_entries (dispatch, get_proc_addr, data,
+                                    dispatch_multisampling_entries,
+                                    dispatch_name);
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
 cairo_status_t
 _cairo_gl_dispatch_init (cairo_gl_dispatch_t *dispatch,
-                        cairo_gl_get_proc_addr_func_t get_proc_addr)
+                        cairo_gl_get_proc_addr_func_t get_proc_addr,
+                        void *data)
 {
     cairo_status_t status;
     int gl_version;
     cairo_gl_flavor_t gl_flavor;
 
-    gl_version = _cairo_gl_get_version ();
-    gl_flavor = _cairo_gl_get_flavor ();
+    _cairo_gl_dispatch_init_core (dispatch, get_proc_addr, data);
+    gl_version = _cairo_gl_get_version (dispatch);
+    gl_flavor = _cairo_gl_get_flavor (dispatch);
+
 
-    status = _cairo_gl_dispatch_init_buffers (dispatch, get_proc_addr,
+    status = _cairo_gl_dispatch_init_buffers (dispatch, get_proc_addr, data,
                                              gl_version, gl_flavor);
     if (status != CAIRO_STATUS_SUCCESS)
        return status;
 
-    status = _cairo_gl_dispatch_init_shaders (dispatch, get_proc_addr,
+    status = _cairo_gl_dispatch_init_shaders (dispatch, get_proc_addr, data,
                                              gl_version, gl_flavor);
     if (status != CAIRO_STATUS_SUCCESS)
        return status;
 
-    status = _cairo_gl_dispatch_init_fbo (dispatch, get_proc_addr,
+    status = _cairo_gl_dispatch_init_fbo (dispatch, get_proc_addr, data,
                                          gl_version, gl_flavor);
     if (status != CAIRO_STATUS_SUCCESS)
        return status;
 
+    status = _cairo_gl_dispatch_init_multisampling (dispatch, get_proc_addr,
+                                                   data, gl_version, gl_flavor);
+    if (status != CAIRO_STATUS_SUCCESS)
+       return status;
+
     return CAIRO_STATUS_SUCCESS;
 }
diff --git a/src/cairo-gl-filters.c b/src/cairo-gl-filters.c
new file mode 100755 (executable)
index 0000000..7ddc4a2
--- /dev/null
@@ -0,0 +1,416 @@
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2009 Eric Anholt
+ * Copyright © 2009 Chris Wilson
+ * Copyright © 2005,2010 Red Hat, Inc
+ * Copyright © 2011 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Red Hat, Inc.
+ *
+ * Contributor(s):
+ *     Benjamin Otte <otte@gnome.org>
+ *     Carl Worth <cworth@cworth.org>
+ *     Chris Wilson <chris@chris-wilson.co.uk>
+ *     Eric Anholt <eric@anholt.net>
+ */
+
+#include "cairoint.h"
+
+#include "cairo-gl-private.h"
+#include "cairo-filters-private.h"
+
+static cairo_int_status_t
+_draw_rect (cairo_gl_context_t *ctx,
+           cairo_gl_composite_t *setup,
+           cairo_rectangle_int_t *rect)
+{
+    int quad[8];
+
+    quad[0] = quad[2] = rect->x;
+    quad[1] = quad[7] = rect->y;
+    quad[3] = quad[5] = rect->y + rect->height;
+    quad[4] = quad[6] = rect->x + rect->width;
+
+    return _cairo_gl_composite_emit_int_quad_as_tristrip (ctx, setup, quad);
+}
+
+/* stage 0 - shrink image */
+static cairo_int_status_t
+gaussian_filter_stage_0 (cairo_surface_pattern_t *pattern,
+                        cairo_gl_surface_t *src,
+                        cairo_gl_surface_t *dst,
+                        int src_width, int src_height,
+                        int dst_width, int dst_height)
+{
+    cairo_rectangle_int_t rect;
+    cairo_clip_t *clip;
+    cairo_int_status_t status;
+
+    src->blur_stage = CAIRO_GL_BLUR_STAGE_0;
+    _cairo_pattern_init_for_surface (pattern, &src->base);
+
+    cairo_matrix_init_scale (&pattern->base.matrix,
+                       (double) src_width / (double) dst_width,
+                       (double) src_height / (double) dst_height);
+
+    rect.x = 0;
+    rect.y = 0;
+    rect.width = dst_width + 1;
+    rect.height = dst_height + 1;
+    clip = _cairo_clip_intersect_rectangle (NULL, &rect);
+
+    status = _cairo_surface_paint (&dst->base,
+                                  CAIRO_OPERATOR_SOURCE,
+                                  &pattern->base, clip);
+
+    _cairo_clip_destroy (clip);
+    status = _cairo_gl_surface_resolve_multisampling (dst);
+
+    return status;
+}
+
+/* x-axis pass to scratches[1] */
+static cairo_int_status_t
+gaussian_filter_stage_1 (cairo_bool_t x_axis,
+                        const cairo_surface_pattern_t *original_pattern,
+                        cairo_surface_pattern_t *pattern,
+                        cairo_gl_surface_t *src,
+                        cairo_gl_surface_t *dst,
+                        int dst_width, int dst_height,
+                        cairo_bool_t is_opaque,
+                        cairo_gl_context_t **ctx)
+{
+    int row, col;
+    cairo_gl_composite_t setup;
+    cairo_gl_context_t *ctx_out = NULL;
+    cairo_rectangle_int_t rect;
+    cairo_int_status_t status;
+
+    src->image_content_scale_x = (double) dst_width / (double) src->width;
+    src->image_content_scale_y = (double) dst_height / (double) src->height;
+    row = original_pattern->base.y_radius * 2 + 1;
+    col = original_pattern->base.x_radius * 2 + 1;
+
+    src->blur_stage = CAIRO_GL_BLUR_STAGE_1;
+    _cairo_pattern_init_for_surface (pattern, &src->base);
+    pattern->base.filter = CAIRO_FILTER_GOOD;
+
+    if (x_axis) {
+       src->operand.type = CAIRO_GL_OPERAND_GAUSSIAN;
+       src->operand.pass = 1;
+
+       memset (&src->operand.texture.coef[0], 0, sizeof (float) * col);
+       compute_x_coef_to_float (original_pattern->base.convolution_matrix,
+                                row, col, &src->operand.texture.coef[0]);
+
+       src->operand.texture.x_radius = original_pattern->base.x_radius;
+       src->operand.texture.y_radius = 1;
+    }
+    else {
+       src->operand.type = CAIRO_GL_OPERAND_GAUSSIAN;
+       src->operand.pass = 2;
+
+       memset (&src->operand.texture.coef[0], 0, sizeof (float) * row);
+       compute_y_coef_to_float (original_pattern->base.convolution_matrix,
+                                row, col, &src->operand.texture.coef[0]);
+
+       src->operand.texture.y_radius = original_pattern->base.y_radius;
+       src->operand.texture.x_radius = 1;
+    }
+
+    *ctx = ctx_out;
+    status = _cairo_gl_composite_init (&setup, CAIRO_OPERATOR_SOURCE,
+                                     dst, FALSE);
+    if (unlikely (status))
+       return status;
+
+    pattern->base.extend = CAIRO_EXTEND_NONE;
+    status = _cairo_gl_composite_set_source (&setup, &pattern->base,
+                                            NULL, NULL, FALSE, FALSE);
+    if (unlikely (status)) {
+       _cairo_gl_composite_fini (&setup);
+       return status;
+    }
+
+    status = _cairo_gl_composite_begin (&setup, &ctx_out);
+    if (unlikely (status)) {
+       _cairo_gl_composite_fini (&setup);
+       return status;
+    }
+
+    if (is_opaque)
+       _cairo_gl_shader_bind_float (ctx_out,
+                                    _cairo_gl_shader_uniform_for_texunit (
+                                       CAIRO_GL_UNIFORM_ALPHA, CAIRO_GL_TEX_SOURCE),
+                                       1.0);
+    else
+       _cairo_gl_shader_bind_float (ctx_out,
+                                    _cairo_gl_shader_uniform_for_texunit (
+                                       CAIRO_GL_UNIFORM_ALPHA, CAIRO_GL_TEX_SOURCE),
+                                       0.0);
+
+    rect.x = 0;
+    rect.y = 0;
+    rect.width = dst_width + 1;
+    rect.height = dst_height + 1;
+    status = _draw_rect (ctx_out, &setup, &rect);
+    _cairo_gl_composite_fini (&setup);
+    if (unlikely (status)) {
+       status = _cairo_gl_context_release (ctx_out, status);
+       return status;
+    }
+
+    *ctx = ctx_out;
+    _cairo_pattern_fini (&pattern->base);
+    return status;
+}
+
+/* y-axis pass to scratches[1] */
+static cairo_int_status_t
+gaussian_filter_stage_2 (cairo_bool_t y_axis,
+                        const cairo_surface_pattern_t *original_pattern,
+                        cairo_gl_surface_t *stage_1_src,
+                        cairo_gl_surface_t *stage_2_src,
+                        int dst_width, int dst_height)
+{
+    cairo_int_status_t status;
+    int row, col;
+
+    stage_2_src->image_content_scale_x = (double) dst_width / (double) stage_1_src->width;
+    stage_2_src->image_content_scale_y = (double) dst_height / (double) stage_1_src->height;
+
+    if (y_axis) {
+       stage_2_src->operand.type = CAIRO_GL_OPERAND_GAUSSIAN;
+       stage_2_src->operand.pass = 2;
+
+       row = original_pattern->base.y_radius * 2 + 1;
+       col = original_pattern->base.x_radius * 2 + 1;
+
+       memset (&stage_2_src->operand.texture.coef[0], 0, sizeof (float) * row);
+       compute_y_coef_to_float (original_pattern->base.convolution_matrix,
+                                row, col, &stage_2_src->operand.texture.coef[2]);
+       stage_2_src->operand.texture.y_radius = original_pattern->base.y_radius;
+       stage_2_src->operand.texture.x_radius = 1;
+    }
+    else
+       stage_2_src->operand.type = CAIRO_GL_OPERAND_TEXTURE;
+
+    stage_2_src->blur_stage = CAIRO_GL_BLUR_STAGE_2;
+
+    status = _cairo_gl_surface_resolve_multisampling (stage_2_src);
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+/* out_extents should be populated by caller, and modified by the
+ * function
+ */
+cairo_gl_surface_t *
+_cairo_gl_gaussian_filter (cairo_gl_surface_t *dst,
+                          const cairo_surface_pattern_t *pattern,
+                          cairo_gl_surface_t *src,
+                          cairo_rectangle_int_t *extents_out)
+{
+    cairo_gl_surface_t *scratches[2];
+    int src_width, src_height;
+    int width, height;
+    int scratch_width, scratch_height;
+
+    cairo_gl_context_t *ctx, *ctx_out;
+    cairo_status_t status;
+    cairo_bool_t skip_stage_0 = FALSE;
+    cairo_gl_operand_type_t saved_type = src->operand.type;
+
+    cairo_surface_pattern_t temp_pattern;
+    cairo_bool_t is_source;
+
+    int n;
+    cairo_bool_t is_opaque = FALSE;
+
+    cairo_content_t content = cairo_surface_get_content (&src->base);
+
+    if (src->operand.type == CAIRO_GL_OPERAND_GAUSSIAN) {
+       extents_out->x = extents_out->y = 0;
+       extents_out->width = cairo_gl_surface_get_width (&src->base) * src->image_content_scale_x;
+       extents_out->height = cairo_gl_surface_get_height (&src->base) * src->image_content_scale_y;
+       return (cairo_gl_surface_t *)cairo_surface_reference (&src->base);
+    }
+
+    if (pattern->base.filter != CAIRO_FILTER_GAUSSIAN ||
+       ! pattern->base.convolution_matrix ||
+       ! _cairo_gl_surface_is_texture (src))
+       return (cairo_gl_surface_t *)cairo_surface_reference (&src->base);
+
+    if (content == CAIRO_CONTENT_COLOR)
+       is_opaque = TRUE;
+
+    src_width = cairo_gl_surface_get_width (&src->base);
+    src_height = cairo_gl_surface_get_height (&src->base);
+
+    width = src_width / pattern->base.shrink_factor_x;
+    height = src_height / pattern->base.shrink_factor_y;
+
+    status = _cairo_gl_context_acquire (dst->base.device, &ctx);
+    if (unlikely (status))
+       return (cairo_gl_surface_t *)cairo_surface_reference (&src->base);
+
+    for (n = 0; n < 2; n++) {
+       if (ctx->source_scratch_in_use) {
+           scratches[n] = ctx->mask_scratch_surfaces[n];
+           is_source = FALSE;
+       }
+       else {
+           scratches[n] = ctx->source_scratch_surfaces[n];
+           is_source = TRUE;
+       }
+
+       if (scratches[n]) {
+           scratch_width = cairo_gl_surface_get_width (&scratches[n]->base);
+           scratch_height = cairo_gl_surface_get_height (&scratches[n]->base);
+
+           if ((scratch_width < width &&
+               scratch_width < MAX_SCRATCH_SIZE) ||
+               (scratch_height < height &&
+               scratch_height < MAX_SCRATCH_SIZE)) {
+               cairo_surface_destroy (&scratches[n]->base);
+               scratches[n] = NULL;
+           }
+           else if (scratch_width > 4 * width &&
+                    scratch_height > 4 * height) {
+               cairo_surface_destroy (&scratches[n]->base);
+               scratches[n] = NULL;
+           }
+       }
+
+       if (! scratches[n]) {
+           scratch_width = scratch_height = MIN_SCRATCH_SIZE;
+           while (scratch_width < width) {
+               scratch_width *= 2;
+               if (scratch_width == MAX_SCRATCH_SIZE)
+                   break;
+               else if (scratch_width > MAX_SCRATCH_SIZE) {
+                   scratch_width *= 0.5;
+                   break;
+               }
+           }
+
+           while (scratch_height < height) {
+               scratch_height *= 2;
+               if (scratch_height == MAX_SCRATCH_SIZE)
+                   break;
+               else if (scratch_height > MAX_SCRATCH_SIZE) {
+                   scratch_height *= 0.5;
+                   break;
+               }
+           }
+
+           scratches[n] =
+               (cairo_gl_surface_t *)_cairo_gl_surface_create_scratch (ctx,
+                                                       CAIRO_CONTENT_COLOR_ALPHA,
+                                                       scratch_width,
+                                                       scratch_height);
+           _cairo_surface_release_device_reference (&scratches[n]->base);
+       }
+
+       if (ctx->source_scratch_in_use)
+           ctx->mask_scratch_surfaces[n] = scratches[n];
+       else
+           ctx->source_scratch_surfaces[n] = scratches[n];
+
+       scratches[n]->needs_to_cache = FALSE;
+       scratches[n]->force_no_cache = TRUE;
+    }
+
+    if (is_source)
+       ctx->source_scratch_in_use = TRUE;
+
+    /* we have created two scratch surfaces */
+    /* shrink surface to scratches[0] */
+    width = src_width / pattern->base.shrink_factor_x;
+    height = src_height / pattern->base.shrink_factor_y;
+    if (pattern->base.shrink_factor_x == 1.0 &&
+       pattern->base.shrink_factor_y == 1.0) {
+       skip_stage_0 = TRUE;
+       width = src_width;
+       height = src_height;
+    }
+    else if (width > scratches[0]->width ||
+            height > scratches[0]->height) {
+       width = scratches[0]->width;
+       height = scratches[0]->height;
+    }
+
+    if (! skip_stage_0) {
+       status = gaussian_filter_stage_0 (&temp_pattern, src,
+                                         scratches[0],
+                                         src_width, src_height,
+                                         width, height);
+       _cairo_pattern_fini (&temp_pattern.base);
+       if (unlikely (status))
+           return (cairo_gl_surface_t *)cairo_surface_reference (&src->base);
+    }
+
+    /* x-axis pass to scratches[1] */
+    if (! skip_stage_0)
+       status = gaussian_filter_stage_1 (TRUE, pattern, &temp_pattern,
+                                         scratches[0], scratches[1],
+                                         width, height, is_opaque, &ctx_out);
+    else {
+       status = gaussian_filter_stage_1 (TRUE, pattern, &temp_pattern,
+                                         src, scratches[1],
+                                         width, height, is_opaque, &ctx_out);
+       src->operand.type = saved_type;
+    }
+
+    if (ctx_out)
+       status = _cairo_gl_context_release (ctx_out, status);
+    if (unlikely (status))
+       return (cairo_gl_surface_t *)cairo_surface_reference (&src->base);
+
+    /* y-axis pass */
+    status = gaussian_filter_stage_1 (FALSE, pattern, &temp_pattern,
+                                     scratches[1], scratches[0],
+                                     width, height, is_opaque, &ctx_out);
+    if (ctx_out)
+       status = _cairo_gl_context_release (ctx_out, status);
+    if (unlikely (status))
+       return (cairo_gl_surface_t *)cairo_surface_reference (&src->base);
+
+    status = gaussian_filter_stage_2 (FALSE, pattern,
+                                     scratches[1], scratches[0],
+                                     width, height);
+
+    extents_out->x = 0;
+    extents_out->y = 0;
+    extents_out->width = width;
+    extents_out->height = height;
+
+    status = _cairo_gl_context_release (ctx, status);
+
+    return (cairo_gl_surface_t *) cairo_surface_reference (&scratches[0]->base);
+}
index 4627fd7..8e5892e 100644 (file)
@@ -130,11 +130,15 @@ _cairo_gl_glyph_cache_add_glyph (cairo_gl_context_t *ctx,
        return status;
 
     /* XXX: Make sure we use the mask texture. This should work automagically somehow */
-    glActiveTexture (GL_TEXTURE1);
+    if(ctx->states_cache.active_texture != GL_TEXTURE1)
+    {
+        ctx->dispatch.ActiveTexture (GL_TEXTURE1);
+        ctx->states_cache.active_texture = GL_TEXTURE1;
+    }
     status = _cairo_gl_surface_draw_image (cache->surface, glyph_surface,
                                            0, 0,
                                            glyph_surface->width, glyph_surface->height,
-                                           node->x, node->y);
+                                           node->x, node->y, FALSE);
     if (unlikely (status))
        return status;
 
@@ -174,25 +178,29 @@ _cairo_gl_glyph_cache_lock (cairo_gl_glyph_cache_t *cache,
 static cairo_status_t
 cairo_gl_context_get_glyph_cache (cairo_gl_context_t *ctx,
                                  cairo_format_t format,
-                                  cairo_gl_glyph_cache_t **cache_out)
+                               cairo_bool_t has_component_alpha,
+                 cairo_gl_glyph_cache_t **cache_out)
 {
     cairo_gl_glyph_cache_t *cache;
     cairo_content_t content;
-    cairo_bool_t true_alpha = FALSE;
 
     switch (format) {
     case CAIRO_FORMAT_RGB30:
     case CAIRO_FORMAT_RGB16_565:
     case CAIRO_FORMAT_ARGB32:
     case CAIRO_FORMAT_RGB24:
-       cache = &ctx->glyph_cache[0];
+               if (has_component_alpha) {
+                       cache = &ctx->glyph_cache[0];
+               } else {
+                       cache = &ctx->glyph_cache[2];
+               }
         content = CAIRO_CONTENT_COLOR_ALPHA;
+               break;
        break;
     case CAIRO_FORMAT_A8:
     case CAIRO_FORMAT_A1:
        cache = &ctx->glyph_cache[1];
         content = CAIRO_CONTENT_ALPHA;
-       true_alpha = TRUE;
        break;
     default:
     case CAIRO_FORMAT_INVALID:
@@ -201,45 +209,76 @@ cairo_gl_context_get_glyph_cache (cairo_gl_context_t *ctx,
     }
 
     if (unlikely (cache->surface == NULL)) {
-        cairo_surface_t *surface;
+       cairo_surface_t *surface;
 
-       surface = _cairo_gl_surface_create_scratch (ctx,
-                                                   content,
-                                                   GLYPH_CACHE_WIDTH,
-                                                   GLYPH_CACHE_HEIGHT,
-                                                   true_alpha);
+       surface = _cairo_gl_surface_create_scratch_for_caching (ctx,
+                                                               content,
+                                                               GLYPH_CACHE_WIDTH,
+                                                               GLYPH_CACHE_HEIGHT);
+       if (unlikely (surface->status))
+           return surface->status;
 
-        if (unlikely (surface->status))
-            return surface->status;
-
-        _cairo_surface_release_device_reference (surface);
+       _cairo_surface_release_device_reference (surface);
 
        cache->surface = (cairo_gl_surface_t *)surface;
-       cache->surface->operand.texture.attributes.has_component_alpha =
-           content == CAIRO_CONTENT_COLOR_ALPHA;
+       cache->surface->operand.texture.attributes.has_component_alpha = has_component_alpha;
     }
 
     *cache_out = cache;
     return CAIRO_STATUS_SUCCESS;
 }
 
+/* Clear a partial surface, assumes context has already been acquired */
+static void _cairo_gl_surface_clear_with_extent (cairo_gl_context_t *ctx,
+                                                cairo_gl_surface_t * dst,
+                                                cairo_rectangle_int_t *extent,
+                                                cairo_bool_t use_multisample )
+{
+       _cairo_gl_context_set_destination(ctx, dst, use_multisample);
+
+       if (ctx->states_cache.clear_red != 0 ||
+           ctx->states_cache.clear_green != 0 ||
+           ctx->states_cache.clear_blue != 0 ||
+           ctx->states_cache.clear_alpha != 0) {
+
+           ctx->states_cache.clear_red = 0;
+           ctx->states_cache.clear_green = 0;
+           ctx->states_cache.clear_blue = 0;
+           ctx->states_cache.clear_alpha = 0;
+
+           ctx->dispatch.ClearColor (0, 0, 0, 0);
+       }
+       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP) {
+           _enable_scissor_buffer (ctx);
+           ctx->dispatch.Scissor(0, 0, extent->width, extent->height);
+           _disable_stencil_buffer (ctx);
+           ctx->dispatch.Clear (GL_COLOR_BUFFER_BIT);
+       }
+       else {
+           _disable_stencil_buffer (ctx);
+           _disable_scissor_buffer (ctx);
+           ctx->dispatch.Clear (GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+       }
+}
+
+
 static cairo_status_t
-render_glyphs (cairo_gl_surface_t      *dst,
+render_glyphs (cairo_gl_surface_t *dst,
               int dst_x, int dst_y,
-              cairo_operator_t  op,
-              cairo_surface_t  *source,
+              cairo_operator_t op,
+              cairo_surface_t *source,
               cairo_composite_glyphs_info_t *info,
-              cairo_bool_t             *has_component_alpha,
+              cairo_bool_t *has_component_alpha,
               cairo_clip_t *clip,
-              cairo_bool_t via_msaa_compositor)
+              cairo_bool_t *is_color_glyph)
 {
     cairo_format_t last_format = CAIRO_FORMAT_INVALID;
     cairo_gl_glyph_cache_t *cache = NULL;
     cairo_gl_context_t *ctx;
+    cairo_gl_emit_glyph_t emit;
     cairo_gl_composite_t setup;
     cairo_int_status_t status;
     int i = 0;
-    cairo_bool_t is_argb32;
 
     TRACE ((stderr, "%s (%d, %d)x(%d, %d)\n", __FUNCTION__,
            info->extents.x, info->extents.y,
@@ -251,22 +290,7 @@ render_glyphs (cairo_gl_surface_t  *dst,
     if (unlikely (status))
        return status;
 
-    /* Traps compositor never has CLEAR operator. */
-    is_argb32 =
-       info->font->options.antialias == CAIRO_ANTIALIAS_SUBPIXEL ||
-       info->font->options.antialias == CAIRO_ANTIALIAS_BEST;
-
-    /* If we are invoked by traps compositor, we keep what is in code
-       otherwise, we handle non-subpixel/best directly in msaa
-       compositor. */
-    if (!via_msaa_compositor)
-            status = _cairo_gl_composite_init (&setup, op, dst, TRUE);
-    else if (info->font->options.antialias == CAIRO_ANTIALIAS_SUBPIXEL ||
-       info->font->options.antialias == CAIRO_ANTIALIAS_BEST)
-        status = _cairo_gl_composite_init (&setup, op, dst, TRUE);
-    else
-        status = _cairo_gl_composite_init (&setup, op, dst, FALSE);
-
+    status = _cairo_gl_composite_init (&setup, op, dst, TRUE);
     if (unlikely (status))
        goto FINISH;
 
@@ -278,6 +302,9 @@ render_glyphs (cairo_gl_surface_t   *dst,
 
     }
 
+    if (setup.src.type == CAIRO_GL_OPERAND_CONSTANT)
+        setup.src.constant.encode_as_attribute = TRUE;
+
     _cairo_gl_composite_set_clip (&setup, clip);
 
     for (i = 0; i < info->num_glyphs; i++) {
@@ -298,32 +325,45 @@ render_glyphs (cairo_gl_surface_t *dst,
        {
            continue;
        }
+       if (! *has_component_alpha)
+               *has_component_alpha = pixman_image_get_component_alpha (scaled_glyph->surface->pixman_image);
+
+       /* color glyph has ARGB32 format and dst mask surface is ALPHA */
+       if (scaled_glyph->surface->format == CAIRO_FORMAT_ARGB32 &&
+               dst->base.content == CAIRO_CONTENT_ALPHA &&
+               *has_component_alpha == FALSE)
+               return CAIRO_STATUS_SURFACE_TYPE_MISMATCH;
+
        if (scaled_glyph->surface->format != last_format) {
            status = cairo_gl_context_get_glyph_cache (ctx,
                                                       scaled_glyph->surface->format,
+                                                       *has_component_alpha,
                                                        &cache);
             if (unlikely (status))
                 goto FINISH;
 
            last_format = scaled_glyph->surface->format;
 
-           /* In msaa compositor, clear operator needs component alpha,
-              we need to reset to FALSE if previously clear operator
-              has set it to TRUE. */
-           if (via_msaa_compositor) {
-               if (op == CAIRO_OPERATOR_CLEAR || is_argb32)
-                   cache->surface->operand.texture.attributes.has_component_alpha = TRUE;
-               else
-                   cache->surface->operand.texture.attributes.has_component_alpha = FALSE;
-           }
-           _cairo_gl_composite_set_mask_operand (&setup, &cache->surface->operand);
-           *has_component_alpha |= cache->surface->operand.texture.attributes.has_component_alpha;
+       if (! *has_component_alpha &&
+               cache->surface->base.content == CAIRO_CONTENT_COLOR_ALPHA) {
+               /* we have color glyph */
+               _cairo_gl_composite_set_source_operand (&setup, &cache->surface->operand);
+               *is_color_glyph = TRUE;
+       } else {
+               _cairo_gl_composite_set_mask_operand (&setup, &cache->surface->operand);
+               *is_color_glyph = FALSE;
+       }
 
            /* XXX Shoot me. */
+           if (dst->msaa_active)
+               _cairo_gl_composite_set_multisample (&setup);
+
             status = _cairo_gl_composite_begin (&setup, &ctx);
             status = _cairo_gl_context_release (ctx, status);
            if (unlikely (status))
                goto FINISH;
+
+           emit = _cairo_gl_context_choose_emit_glyph (ctx, *is_color_glyph);
        }
 
        if (scaled_glyph->dev_private_key != cache) {
@@ -336,6 +376,10 @@ render_glyphs (cairo_gl_surface_t  *dst,
                                                                cairo_gl_glyph_t,
                                                                base);
            } else {
+               if (cache == NULL) {
+                   status = CAIRO_STATUS_NULL_POINTER;
+                   goto FINISH;
+               }
                status = _cairo_gl_glyph_cache_add_glyph (ctx, cache, scaled_glyph);
 
                if (status == CAIRO_INT_STATUS_UNSUPPORTED) {
@@ -358,19 +402,23 @@ render_glyphs (cairo_gl_surface_t *dst,
        x2 = x1 + scaled_glyph->surface->width;
        y2 = y1 + scaled_glyph->surface->height;
 
+       if (cache == NULL) {
+           status = CAIRO_STATUS_NULL_POINTER;
+           goto FINISH;
+       }
        glyph = _cairo_gl_glyph_cache_lock (cache, scaled_glyph);
-       _cairo_gl_composite_emit_glyph (ctx,
-                                       x1, y1, x2, y2,
-                                        glyph->p1.x, glyph->p1.y,
-                                        glyph->p2.x, glyph->p2.y);
+       emit (ctx,
+             x1, y1, x2, y2,
+             glyph->p1.x, glyph->p1.y,
+             glyph->p2.x, glyph->p2.y);
     }
 
     status = CAIRO_STATUS_SUCCESS;
-
   FINISH:
     status = _cairo_gl_context_release (ctx, status);
 
     _cairo_gl_composite_fini (&setup);
+
     return status;
 }
 
@@ -380,34 +428,67 @@ render_glyphs_via_mask (cairo_gl_surface_t *dst,
                        cairo_operator_t  op,
                        cairo_surface_t *source,
                        cairo_composite_glyphs_info_t *info,
-                       cairo_clip_t *clip,
-                       cairo_bool_t via_msaa_compositor)
+                       cairo_clip_t *clip)
 {
-    cairo_surface_t *mask;
     cairo_status_t status;
     cairo_bool_t has_component_alpha;
+    cairo_gl_context_t *ctx;
+       cairo_bool_t is_color_glyph;
+
+    int width = info->extents.width;
+    int height = info->extents.height;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
-    /* XXX: For non-CA, this should be CAIRO_CONTENT_ALPHA to save memory */
-    mask = cairo_gl_surface_create (dst->base.device,
-                                    CAIRO_CONTENT_COLOR_ALPHA,
-                                    info->extents.width,
-                                    info->extents.height);
-    if (unlikely (mask->status))
-        return mask->status;
+    status = _cairo_gl_context_acquire (dst->base.device, &ctx);
+    if (unlikely (status))
+       return status;
+
+    if (ctx->glyph_mask &&
+       (ctx->glyph_mask->width < info->extents.width ||
+        ctx->glyph_mask->height < info->extents.height)) {
+       width = ctx->glyph_mask->width;
+       height = ctx->glyph_mask->height;
 
-    status = render_glyphs ((cairo_gl_surface_t *) mask,
+       cairo_surface_destroy (&ctx->glyph_mask->base);
+       ctx->glyph_mask = NULL;
+    }
+
+    /* Create the mask if it has not yet been initialized or it was too small and deleted above. */
+    if (! ctx->glyph_mask) {
+       width = MAX (width, info->extents.width);
+       height = MAX (height, info->extents.height);
+       /* XXX: For non-CA, this should be CAIRO_CONTENT_ALPHA to save memory */
+       ctx->glyph_mask = (cairo_gl_surface_t *)
+            cairo_gl_surface_create (dst->base.device,
+                                     CAIRO_CONTENT_COLOR_ALPHA,
+                                     width, height);
+       if (unlikely (ctx->glyph_mask->base.status)) {
+           status = ctx->glyph_mask->base.status;
+           status = _cairo_gl_context_release (ctx, status);
+           return status;
+       }
+       _cairo_surface_release_device_reference (&ctx->glyph_mask->base);
+    }
+
+    /* clear it */
+    _cairo_gl_surface_clear_with_extent (ctx,
+                                        (cairo_gl_surface_t *)ctx->glyph_mask,
+                                         &info->extents, FALSE);
+
+    status = render_glyphs (ctx->glyph_mask,
                            info->extents.x, info->extents.y,
                            CAIRO_OPERATOR_ADD, NULL,
                            info, &has_component_alpha, NULL,
-                           via_msaa_compositor);
+                           &is_color_glyph);
+
     if (likely (status == CAIRO_STATUS_SUCCESS)) {
        cairo_surface_pattern_t mask_pattern;
        cairo_surface_pattern_t source_pattern;
+       cairo_rectangle_int_t clip_extents;
 
-       mask->is_clear = FALSE;
-       _cairo_pattern_init_for_surface (&mask_pattern, mask);
+       ctx->glyph_mask->base.is_clear = FALSE;
+       _cairo_pattern_init_for_surface (&mask_pattern, &ctx->glyph_mask->base);
        mask_pattern.base.has_component_alpha = has_component_alpha;
        mask_pattern.base.filter = CAIRO_FILTER_NEAREST;
        mask_pattern.base.extend = CAIRO_EXTEND_NONE;
@@ -416,19 +497,43 @@ render_glyphs_via_mask (cairo_gl_surface_t *dst,
                                     dst_x-info->extents.x, dst_y-info->extents.y);
 
        _cairo_pattern_init_for_surface (&source_pattern, source);
-       cairo_matrix_init_translate (&source_pattern.base.matrix,
-                                    dst_x-info->extents.x, dst_y-info->extents.y);
 
-       status = _cairo_surface_mask (&dst->base, op,
+       clip = _cairo_clip_copy (clip);
+       clip_extents.x = info->extents.x - dst_x;
+       clip_extents.y = info->extents.y - dst_y;
+       clip_extents.width = info->extents.width;
+       clip_extents.height = info->extents.height;
+       clip = _cairo_clip_intersect_rectangle (clip, &clip_extents);
+
+       if(is_color_glyph) {
+               if(op == CAIRO_OPERATOR_SOURCE) {
+                       /* do dest_out then add*/
+                       status = _cairo_surface_paint (&dst->base,
+                                                                       CAIRO_OPERATOR_DEST_OUT,
+                                                                 &mask_pattern.base,
+                                                                 clip);
+                       status = _cairo_surface_paint (&dst->base,
+                                                                       CAIRO_OPERATOR_ADD,
+                                                                 &mask_pattern.base, clip);
+                       } else {
+                               status = _cairo_surface_paint (&dst->base,op,
+                                                                 &mask_pattern.base,
+                                                                 clip);
+                               }
+               }
+       else
+               status = _cairo_surface_mask (&dst->base, op,
                                      &source_pattern.base,
-                                     &mask_pattern.base,
-                                     clip);
+                                                       &mask_pattern.base,
+                                                       clip);
+
+       _cairo_clip_destroy (clip);
 
        _cairo_pattern_fini (&mask_pattern.base);
        _cairo_pattern_fini (&source_pattern.base);
     }
 
-    cairo_surface_destroy (mask);
+    status = _cairo_gl_context_release(ctx, status);
 
     return status;
 }
@@ -458,12 +563,11 @@ _cairo_gl_composite_glyphs_with_clip (void                            *_dst,
                                      int                            dst_x,
                                      int                            dst_y,
                                      cairo_composite_glyphs_info_t *info,
-                                     cairo_clip_t                           *clip,
-                                     cairo_bool_t                           via_msaa_compositor)
+                                     cairo_clip_t                  *clip)
 {
     cairo_gl_surface_t *dst = _dst;
     cairo_bool_t has_component_alpha;
-    int i;
+       cairo_bool_t is_color_glyph;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
@@ -480,15 +584,13 @@ _cairo_gl_composite_glyphs_with_clip (void                            *_dst,
 
     if (info->use_mask) {
        return render_glyphs_via_mask (dst, dst_x, dst_y,
-                                          op, _src, info, clip,
-                                          via_msaa_compositor);
+                                      op, _src, info, clip);
     } else {
        return render_glyphs (dst, dst_x, dst_y,
                              op, _src, info,
                              &has_component_alpha,
-                             clip,
-                             via_msaa_compositor);
-     }
+                             clip, &is_color_glyph);
+    }
 
 }
 
@@ -503,7 +605,7 @@ _cairo_gl_composite_glyphs (void                    *_dst,
                            cairo_composite_glyphs_info_t *info)
 {
     return _cairo_gl_composite_glyphs_with_clip (_dst, op, _src, src_x, src_y,
-                                                dst_x, dst_y, info, NULL, FALSE);
+                                                dst_x, dst_y, info, NULL);
 }
 
 void
old mode 100644 (file)
new mode 100755 (executable)
index 77f9bbd..024549e
 
 #include "cairo-gl.h"
 
-#if CAIRO_HAS_GL_SURFACE
-#include <GL/gl.h>
-#include <GL/glext.h>
-#elif CAIRO_HAS_GLESV2_SURFACE
-#include <GLES2/gl2.h>
-#include <GLES2/gl2ext.h>
+#if 0
+#if CAIRO_HAS_EVASGL_SURFACE
+#include <Evas_GL.h>
+#else
+       #if CAIRO_HAS_GL_SURFACE
+       #include <GL/gl.h>
+       #include <GL/glext.h>
+       #elif CAIRO_HAS_GLESV2_SURFACE
+       #include <GLES2/gl2.h>
+       #include <GLES2/gl2ext.h>
+       #elif CAIRO_HAS_GLESV3_SURFACE
+       #include <GLES3/gl3.h>
+       #include <GLES3/gl3ext.h>
+       #endif
+#endif
 #endif
 
 #define CAIRO_GL_GRADIENT_CACHE_SIZE 4096
@@ -68,7 +77,7 @@ typedef struct _cairo_gl_gradient {
     cairo_cache_entry_t           cache_entry;
     cairo_reference_count_t       ref_count;
     cairo_device_t               *device; /* NB: we don't hold a reference */
-    GLuint                        tex;
+    unsigned int            tex;
     unsigned int                 n_stops;
     const cairo_gradient_stop_t  *stops;
     cairo_gradient_stop_t         stops_embedded[1];
index ffb5468..ddf869e 100644 (file)
@@ -59,19 +59,19 @@ _cairo_gl_gradient_sample_width (unsigned int                 n_stops,
        int ramp;
 
        if (dx == 0)
-           continue;
+           return 1024; /* we need to emulate an infinitely sharp step */
 
-       max = stops[n].color.red - stops[n-1].color.red;
+       max = fabs (stops[n].color.red - stops[n-1].color.red);
 
-       delta = stops[n].color.green - stops[n-1].color.green;
+       delta = fabs (stops[n].color.green - stops[n-1].color.green);
        if (delta > max)
            max = delta;
 
-       delta = stops[n].color.blue - stops[n-1].color.blue;
+       delta = fabs (stops[n].color.blue - stops[n-1].color.blue);
        if (delta > max)
            max = delta;
 
-       delta = stops[n].color.alpha - stops[n-1].color.alpha;
+       delta = fabs (stops[n].color.alpha - stops[n-1].color.alpha);
        if (delta > max)
            max = delta;
 
@@ -80,8 +80,28 @@ _cairo_gl_gradient_sample_width (unsigned int                 n_stops,
            width = ramp;
     }
 
-    width = (width + 7) & -8;
-    return MIN (width, 1024);
+    return (width + 7) & -8;
+}
+
+static uint8_t premultiply(double c, double a)
+{
+    int v = c * a * 256;
+    return v - (v >> 8);
+}
+
+static uint32_t color_stop_to_pixel(const cairo_gradient_stop_t *stop)
+{
+    uint8_t a, r, g, b;
+
+    a = stop->color.alpha_short >> 8;
+    r = premultiply(stop->color.red,   stop->color.alpha);
+    g = premultiply(stop->color.green, stop->color.alpha);
+    b = premultiply(stop->color.blue,  stop->color.alpha);
+
+    if (_cairo_is_little_endian ())
+       return a << 24 | r << 16 | g << 8 | b << 0;
+    else
+       return a << 0 | r << 8 | g << 16 | b << 24;
 }
 
 static cairo_status_t
@@ -157,6 +177,14 @@ _cairo_gl_gradient_render (const cairo_gl_context_t    *ctx,
 
     pixman_image_unref (gradient);
     pixman_image_unref (image);
+
+    /* We need to fudge pixel 0 to hold the left-most color stop and not
+     * the neareset stop to the zeroth pixel centre in order to correctly
+     * populate the border color. For completeness, do both edges.
+     */
+    ((uint32_t*)bytes)[0] = color_stop_to_pixel(&stops[0]);
+    ((uint32_t*)bytes)[width-1] = color_stop_to_pixel(&stops[n_stops-1]);
+
     return CAIRO_STATUS_SUCCESS;
 }
 
@@ -225,6 +253,8 @@ _cairo_gl_gradient_create (cairo_gl_context_t           *ctx,
        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
     tex_width = _cairo_gl_gradient_sample_width (n_stops, stops);
+    if (tex_width > ctx->max_texture_size)
+       tex_width = ctx->max_texture_size;
 
     CAIRO_REFERENCE_COUNT_INIT (&gradient->ref_count, 2);
     gradient->cache_entry.hash = hash;
@@ -234,9 +264,9 @@ _cairo_gl_gradient_create (cairo_gl_context_t           *ctx,
     gradient->stops = gradient->stops_embedded;
     memcpy (gradient->stops_embedded, stops, n_stops * sizeof (cairo_gradient_stop_t));
 
-    glGenTextures (1, &gradient->tex);
+    ctx->dispatch.GenTextures (1, &gradient->tex);
     _cairo_gl_context_activate (ctx, CAIRO_GL_TEX_TEMP);
-    glBindTexture (ctx->tex_target, gradient->tex);
+    ctx->dispatch.BindTexture (ctx->tex_target, gradient->tex);
 
     data = _cairo_malloc_ab (tex_width, sizeof (uint32_t));
     if (unlikely (data == NULL)) {
@@ -252,12 +282,14 @@ _cairo_gl_gradient_create (cairo_gl_context_t           *ctx,
      * In OpenGL ES 2.0 no format conversion is allowed i.e. 'internalFormat'
      * must match 'format' in glTexImage2D.
      */
-    if (_cairo_gl_get_flavor () == CAIRO_GL_FLAVOR_ES)
+    if (_cairo_gl_get_flavor (&ctx->dispatch) == CAIRO_GL_FLAVOR_ES2 ||
+       _cairo_gl_get_flavor (&ctx->dispatch) == CAIRO_GL_FLAVOR_ES3)
        internal_format = GL_BGRA;
     else
        internal_format = GL_RGBA;
 
-    glTexImage2D (ctx->tex_target, 0, internal_format, tex_width, 1, 0,
+    ctx->dispatch.TexImage2D (ctx->tex_target, 0, internal_format,
+                             tex_width, 1, 0,
                  GL_BGRA, GL_UNSIGNED_BYTE, data);
 
     free (data);
@@ -298,7 +330,9 @@ _cairo_gl_gradient_destroy (cairo_gl_gradient_t *gradient)
        return;
 
     if (_cairo_gl_context_acquire (gradient->device, &ctx) == CAIRO_STATUS_SUCCESS) {
-        glDeleteTextures (1, &gradient->tex);
+       /* The gradient my still be active in the last operation, so flush */
+       _cairo_gl_composite_flush (ctx);
+        ctx->dispatch.DeleteTextures (1, &gradient->tex);
         ignore = _cairo_gl_context_release (ctx, CAIRO_STATUS_SUCCESS);
     }
 
index 47a0640..9ff59e5 100644 (file)
@@ -47,29 +47,18 @@ _add_cap (cairo_gl_hairline_closure_t *hairline,
           cairo_point_t            *outp)
 {
     double dx, dy;
-    if (lead_cap) {
-        if (hairline->cap_style == CAIRO_LINE_CAP_BUTT)
-            return FALSE;
 
-        dx = slope_dx * POINT_ADJUST;
-        dy = slope_dy * POINT_ADJUST;
+    if (hairline->cap_style == CAIRO_LINE_CAP_BUTT)
+       return FALSE;
 
-        cairo_matrix_transform_distance (hairline->ctm, &dx, &dy);
-        outp->x -= _cairo_fixed_from_double (dx);
-        outp->y -= _cairo_fixed_from_double (dy);
-        return TRUE;
-    } else {
-        if (hairline->cap_style == CAIRO_LINE_CAP_BUTT)
-            return FALSE;
+    dx = slope_dx * POINT_ADJUST;
+    dy = slope_dy * POINT_ADJUST;
+    hairline->line_last_capped = lead_cap;
+    cairo_matrix_transform_distance (hairline->ctm, &dx, &dy);
+    outp->x += _cairo_fixed_from_double (dx);
+    outp->y += _cairo_fixed_from_double (dy);
 
-        dx = slope_dx * POINT_ADJUST;
-        dy = slope_dy * POINT_ADJUST;
-        hairline->line_last_capped = TRUE;
-        cairo_matrix_transform_distance (hairline->ctm, &dx, &dy);
-        outp->x += _cairo_fixed_from_double (dx);
-        outp->y += _cairo_fixed_from_double (dy);
-        return TRUE;
-    }
+    return TRUE;
 }
 
 static inline cairo_bool_t
@@ -124,7 +113,6 @@ _cairo_gl_hairline_style_is_hairline (const cairo_stroke_style_t *style,
                                       const cairo_matrix_t       *ctm)
 {
     double x, y;
-
     cairo_status_t status = _cairo_matrix_compute_basis_scale_factors (ctm, &x, &y, TRUE);
 
     if (unlikely (status))
@@ -139,7 +127,6 @@ _cairo_gl_hairline_style_is_hairline (const cairo_stroke_style_t *style,
         (x <= SCALE_TOLERANCE && y <= SCALE_TOLERANCE);
 }
 
-
 static cairo_status_t
 _path_add_first_and_last_cap (cairo_gl_hairline_closure_t *hairline)
 {
@@ -195,7 +182,6 @@ _cairo_gl_hairline_move_to (void *closure,
     hairline->moved_to_stroke_first_point = FALSE;
 
     /* check last point */
-
     if (hairline->initialized) {
         status = _path_add_first_and_last_cap (hairline);
         if (unlikely(status))
@@ -279,14 +265,12 @@ _cairo_gl_hairline_line_to_dashed (void *closure,
     while (remain) {
         step_length = MIN (hairline->dash.dash_remain, remain);
         remain -= step_length;
-
         dx = slope_dx * (mag - remain);
         dy = slope_dy * (mag - remain);
         cairo_matrix_transform_distance (hairline->ctm, &dx, &dy);
         segment.p2.x = _cairo_fixed_from_double (dx) + p1->x;
         segment.p2.y = _cairo_fixed_from_double (dy) + p1->y;
 
-
         if (hairline->dash.dash_on) {
             p[0] = segment.p1;
             p[1] = segment.p2;
@@ -380,7 +364,6 @@ _cairo_gl_hairline_curve_to (void *closure,
         return _cairo_gl_hairline_line_to (closure, p2);
 
     return _cairo_spline_decompose (&spline, hairline->tolerance);
-
 }
 
 cairo_status_t
index 12a618d..33dc0cc 100644 (file)
 #include "cairoint.h"
 #include "cairo-gl-private.h"
 
-int
-_cairo_gl_get_version (void)
+int _cairo_gl_get_version (cairo_gl_dispatch_t *dispatch)
 {
     int major, minor;
-    const char *version = (const char *) glGetString (GL_VERSION);
+    const char *version = (const char *) dispatch->GetString (GL_VERSION);
     const char *dot = version == NULL ? NULL : strchr (version, '.');
     const char *major_start = dot;
 
@@ -56,15 +55,23 @@ _cairo_gl_get_version (void)
 }
 
 cairo_gl_flavor_t
-_cairo_gl_get_flavor (void)
+_cairo_gl_get_flavor (cairo_gl_dispatch_t *dispatch)
 {
-    const char *version = (const char *) glGetString (GL_VERSION);
+    const char *version = (const char *) dispatch->GetString (GL_VERSION);
     cairo_gl_flavor_t flavor;
 
     if (version == NULL)
        flavor = CAIRO_GL_FLAVOR_NONE;
-    else if (strstr (version, "OpenGL ES") != NULL)
-       flavor = CAIRO_GL_FLAVOR_ES;
+    else if (strstr (version, "OpenGL ES 2") != NULL)
+       flavor = CAIRO_GL_FLAVOR_ES2;
+    else if (strstr (version, "OpenGL ES 3") != NULL)
+#if CAIRO_HAS_GLESV2_SURFACE
+       flavor = CAIRO_GL_FLAVOR_ES2;
+#elif CAIRO_HAS_GLESV3_SURFACE || CAIRO_HAS_EVASGL_SURFACE
+       flavor = CAIRO_GL_FLAVOR_ES3;
+#else
+       flavor = CAIRO_GL_FLAVOR_NONE;
+#endif
     else
        flavor = CAIRO_GL_FLAVOR_DESKTOP;
 
@@ -72,9 +79,9 @@ _cairo_gl_get_flavor (void)
 }
 
 cairo_bool_t
-_cairo_gl_has_extension (const char *ext)
+_cairo_gl_has_extension (cairo_gl_dispatch_t *dispatch, const char *ext)
 {
-    const char *extensions = (const char *) glGetString (GL_EXTENSIONS);
+    const char *extensions = (const char *) dispatch->GetString (GL_EXTENSIONS);
     size_t len = strlen (ext);
     const char *ext_ptr = extensions;
 
old mode 100755 (executable)
new mode 100644 (file)
index fc7bd56..7ce5c7a
 #include "cairo-composite-rectangles-private.h"
 #include "cairo-compositor-private.h"
 #include "cairo-gl-private.h"
+#include "cairo-path-private.h"
 #include "cairo-traps-private.h"
-#include "cairo-surface-subsurface-inline.h"
 
 static cairo_bool_t
-should_fall_back (cairo_gl_surface_t *surface,
-                 cairo_antialias_t antialias);
+can_use_msaa_compositor (cairo_gl_surface_t *surface,
+                        cairo_antialias_t antialias);
+
+static void
+query_surface_capabilities (cairo_gl_surface_t *surface);
 
 struct _tristrip_composite_info {
     cairo_gl_composite_t       setup;
     cairo_gl_context_t         *ctx;
 };
 
+static cairo_bool_t
+_is_continuous_single_line (const cairo_path_fixed_t   *path,
+                           const cairo_stroke_style_t *style)
+{
+    return (_cairo_path_fixed_is_single_line (path) &&
+           style->dash == NULL);
+}
+
 static cairo_int_status_t
 _draw_trap (cairo_gl_context_t         *ctx,
            cairo_gl_composite_t        *setup,
@@ -64,25 +75,60 @@ _draw_trap (cairo_gl_context_t              *ctx,
 {
     cairo_point_t quad[4];
 
-    quad[0].x = _cairo_edge_compute_intersection_x_for_y (&trap->left.p1,
-                                                         &trap->left.p2,
-                                                         trap->top);
+    if (trap->left.p1.x == trap->left.p2.x) {
+        quad[0].x = trap->left.p1.x;
+        quad[1].x = trap->left.p1.x;
+    } else {
+        cairo_fixed_t x, dy;
+        x = trap->left.p1.x;
+        dy = trap->left.p2.y - trap->left.p1.y;
+
+        if (trap->top == trap->left.p1.y)
+            quad[0].x = x;
+        else if (trap->top == trap->left.p2.y)
+            quad[0].x = trap->left.p2.x;
+        else if (dy != 0)
+            quad[0].x = x + _cairo_fixed_mul_div_floor (trap->top - trap->left.p1.y,
+                                                        trap->left.p2.x - trap->left.p1.x, dy);
+
+        if (trap->bottom == trap->left.p2.y)
+            quad[1].x = trap->left.p2.x;
+        else if (trap->bottom == trap->left.p1.y)
+            quad[1].x = x;
+        else if (dy != 0)
+            quad[1].x = x + _cairo_fixed_mul_div_floor (trap->bottom - trap->left.p1.y,
+                                                        trap->left.p2.x - trap->left.p1.x, dy);
+    }
     quad[0].y = trap->top;
-
-    quad[1].x = _cairo_edge_compute_intersection_x_for_y (&trap->left.p1,
-                                                     &trap->left.p2,
-                                                     trap->bottom);
     quad[1].y = trap->bottom;
 
-    quad[2].x = _cairo_edge_compute_intersection_x_for_y (&trap->right.p1,
-                                                     &trap->right.p2,
-                                                     trap->bottom);
+    if (trap->right.p1.x == trap->right.p2.x) {
+        quad[2].x = trap->right.p1.x;
+        quad[3].x = trap->right.p1.x;
+    } else {
+        cairo_fixed_t x, dy;
+        x = trap->right.p1.x;
+        dy = trap->right.p2.y - trap->right.p1.y;
+
+        if (trap->bottom == trap->right.p2.y)
+            quad[2].x = trap->right.p2.x;
+        else if (trap->bottom == trap->right.p1.y)
+            quad[2].x = x;
+        else if (dy != 0)
+            quad[2].x = x + _cairo_fixed_mul_div_floor (trap->bottom - trap->right.p1.y,
+                                                        trap->right.p2.x - trap->right.p1.x, dy);
+
+        if (trap->top == trap->right.p1.y)
+            quad[3].x = x;
+        else if (trap->top == trap->right.p2.y)
+            quad[3].x = trap->right.p2.x;
+        else if (dy != 0)
+            quad[3].x = x + _cairo_fixed_mul_div_floor (trap->top - trap->right.p1.y,
+                                                        trap->right.p2.x - trap->right.p1.x, dy);
+    }
     quad[2].y = trap->bottom;
-
-    quad[3].x = _cairo_edge_compute_intersection_x_for_y (&trap->right.p1,
-                                                     &trap->right.p2,
-                                                     trap->top);
     quad[3].y = trap->top;
+
     return _cairo_gl_composite_emit_quad_as_tristrip (ctx, setup, quad);
 }
 
@@ -104,37 +150,18 @@ _draw_traps (cairo_gl_context_t           *ctx,
 }
 
 static cairo_int_status_t
-_cairo_gl_msaa_compositor_draw_quad (cairo_gl_context_t        *ctx,
-                                    cairo_gl_composite_t       *setup,
-                                    cairo_box_t                *box)
-{
-    cairo_point_t quad[4];
-
-    quad[0].x = box->p1.x;
-    quad[0].y = box->p1.y;
-
-    quad[1].x = box->p1.x;
-    quad[1].y = box->p2.y;
-
-    quad[2].x = box->p2.x;
-    quad[2].y = box->p2.y;
-
-    quad[3].x = box->p2.x;
-    quad[3].y = box->p1.y;
-
-    return _cairo_gl_composite_emit_quad_as_tristrip (ctx, setup, quad);
-}
-
-static cairo_int_status_t
 _draw_int_rect (cairo_gl_context_t     *ctx,
                cairo_gl_composite_t    *setup,
                cairo_rectangle_int_t   *rect)
 {
-    cairo_box_t box;
+    int quad[8];
 
-    _cairo_box_from_rectangle (&box, rect);
+    quad[0] = quad[2] = rect->x;
+    quad[1] = quad[7] = rect->y;
+    quad[3] = quad[5] = rect->y + rect->height;
+    quad[4] = quad[6] = rect->x + rect->width;
 
-    return _cairo_gl_msaa_compositor_draw_quad (ctx, setup, &box);
+    return _cairo_gl_composite_emit_int_quad_as_tristrip (ctx, setup, quad);
 }
 
 static cairo_int_status_t
@@ -164,30 +191,26 @@ _draw_triangle_fan (cairo_gl_context_t            *ctx,
     return CAIRO_STATUS_SUCCESS;
 }
 
-cairo_int_status_t
-_cairo_gl_msaa_compositor_draw_clip (cairo_gl_context_t                *ctx,
-                                    cairo_gl_composite_t       *setup,
-                                    cairo_clip_t               *clip,
-                                    cairo_traps_t              *traps)
+static cairo_int_status_t
+_clip_to_traps (cairo_clip_t *clip,
+               cairo_traps_t *traps)
 {
     cairo_int_status_t status;
-
     cairo_polygon_t polygon;
     cairo_antialias_t antialias;
     cairo_fill_rule_t fill_rule;
 
-    if (! clip)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
+    _cairo_traps_init (traps);
 
-    if (clip->num_boxes == 1 && ! clip->path)
-       return _cairo_gl_msaa_compositor_draw_quad (ctx, setup,
-                                                   &clip->boxes[0]);
+    if (clip->num_boxes == 1 && clip->path == NULL) {
+       cairo_boxes_t boxes;
+       _cairo_boxes_init_for_array (&boxes, clip->boxes, clip->num_boxes);
+       return _cairo_traps_init_boxes (traps, &boxes);
+    }
 
-    if (traps->num_traps == 0) {
-       status = _cairo_clip_get_polygon (clip, &polygon, &fill_rule,
-                                         &antialias);
-       if (unlikely (status))
-           return status;
+    status = _cairo_clip_get_polygon (clip, &polygon, &fill_rule, &antialias);
+    if (unlikely (status))
+       return status;
 
     /* We ignore the antialias mode of the clip here, since the user requested
      * unantialiased rendering of their path and we expect that this stencil
@@ -199,19 +222,106 @@ _cairo_gl_msaa_compositor_draw_clip (cairo_gl_context_t          *ctx,
      * antialiased polygon is open to interpretation. And we choose the fast
      * option.
      */
-       status = _cairo_bentley_ottmann_tessellate_polygon (traps,
-                                                           &polygon,
-                                                           fill_rule);
-       _cairo_polygon_fini (&polygon);
+
+    _cairo_traps_init (traps);
+    status = _cairo_bentley_ottmann_tessellate_polygon (traps,
+                                                       &polygon,
+                                                       fill_rule);
+    _cairo_polygon_fini (&polygon);
+
+    return status;
+}
+
+cairo_int_status_t
+_cairo_gl_msaa_compositor_draw_clip (cairo_gl_context_t *ctx,
+                                    cairo_gl_composite_t *setup,
+                                    cairo_clip_t *clip)
+{
+    cairo_int_status_t status;
+    cairo_traps_t traps;
+
+    status = _clip_to_traps (clip, &traps);
+    if (unlikely (status))
+       return status;
+    status = _draw_traps (ctx, setup, &traps);
+
+    _cairo_traps_fini (&traps);
+    return status;
+}
+
+static cairo_int_status_t
+_blit_texture_to_renderbuffer (cairo_gl_surface_t *surface)
+{
+    cairo_gl_context_t *ctx = NULL;
+    cairo_gl_composite_t setup;
+    cairo_surface_pattern_t pattern;
+    cairo_rectangle_int_t extents;
+    cairo_int_status_t status;
+    cairo_gl_flavor_t gl_flavor = ((cairo_gl_context_t *) surface->base.device)->gl_flavor;
+
+    if (gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
+       return CAIRO_INT_STATUS_SUCCESS;
+    else if (! _cairo_gl_surface_is_texture (surface))
+       return CAIRO_INT_STATUS_SUCCESS;
+    else if (surface->msaa_active)
+       return CAIRO_INT_STATUS_SUCCESS;
+    else if (surface->content_synced) {
+       status = _cairo_gl_context_acquire (surface->base.device, &ctx);
        if (unlikely (status))
            return status;
+       _cairo_gl_context_set_destination (ctx, surface, TRUE);
+       return _cairo_gl_context_release (ctx, status);
     }
 
-    status = _draw_traps (ctx, setup, traps);
+    memset (&setup, 0, sizeof (cairo_gl_composite_t));
+
+    status = _cairo_gl_composite_set_operator (&setup,
+                                              CAIRO_OPERATOR_SOURCE,
+                                              FALSE);
+    if (status)
+       return status;
+
+    setup.dst = surface;
+    setup.clip_region = surface->clip_region;
+
+    _cairo_pattern_init_for_surface (&pattern, &surface->base);
+
+    extents.x = extents.y = 0;
+    extents.width = surface->width;
+    extents.height = surface->height;
+
+    status = _cairo_gl_composite_set_source (&setup, &pattern.base,
+                                            NULL, &extents, FALSE, FALSE);
+    _cairo_pattern_fini (&pattern.base);
+
+    if (unlikely (status))
+       goto FAIL;
+
+    _cairo_gl_composite_set_multisample (&setup);
+
+    status = _cairo_gl_composite_begin (&setup, &ctx);
+
+    if (unlikely (status))
+       goto FAIL;
+
+    status = _draw_int_rect (ctx, &setup, &extents);
+
+    if (unlikely (status))
+       goto FAIL;
+
+    surface->content_synced = TRUE;
+FAIL:
+    _cairo_gl_composite_fini (&setup);
+
+    if (ctx) {
+       _cairo_gl_composite_flush (ctx);
+       status = _cairo_gl_context_release (ctx, status);
+    }
 
     return status;
 }
 
+
 static cairo_bool_t
 _should_use_unbounded_surface (cairo_composite_rectangles_t *composite)
 {
@@ -269,15 +379,48 @@ finish:
     return status;
 }
 
+static cairo_bool_t
+can_use_msaa_compositor (cairo_gl_surface_t *surface,
+                        cairo_antialias_t antialias)
+{
+    cairo_gl_flavor_t flavor = ((cairo_gl_context_t *) surface->base.device)->gl_flavor;
+    cairo_bool_t has_angle_multisampling = ((cairo_gl_context_t *) surface->base.device)->has_angle_multisampling;
+
+    query_surface_capabilities (surface);
+    if (! surface->supports_stencil)
+       return FALSE;
+
+    /* Multisampling OpenGL ES surfaces only maintain one multisampling
+       framebuffer and thus must use the spans compositor to do non-antialiased
+       rendering. */
+    if (! (flavor == CAIRO_GL_FLAVOR_DESKTOP ||
+          flavor == CAIRO_GL_FLAVOR_ES3 ||
+          (flavor == CAIRO_GL_FLAVOR_ES2 &&
+           has_angle_multisampling)) &&
+       surface->supports_msaa &&
+       antialias == CAIRO_ANTIALIAS_NONE)
+       return FALSE;
+
+    /* The MSAA compositor has a single-sample mode, so we can
+       support non-antialiased rendering. */
+    if (antialias == CAIRO_ANTIALIAS_NONE)
+       return TRUE;
+
+    if ((antialias == CAIRO_ANTIALIAS_GRAY ||
+        antialias== CAIRO_ANTIALIAS_SUBPIXEL ||
+        antialias == CAIRO_ANTIALIAS_FAST ||
+        antialias == CAIRO_ANTIALIAS_DEFAULT) &&
+       surface->num_samples > 1)
+       return surface->supports_msaa;
+    return FALSE;
+}
+
 static void
 _cairo_gl_msaa_compositor_set_clip (cairo_composite_rectangles_t *composite,
                                    cairo_gl_composite_t *setup)
 {
     uint32_t is_bounded;
 
-    if (_cairo_clip_is_all_clipped (composite->clip))
-       return;
-
     /* We don't need to check CAIRO_OPERATOR_BOUND_BY_MASK in these
        situations. */
     is_bounded = composite->is_bounded;
@@ -290,48 +433,50 @@ _cairo_gl_msaa_compositor_set_clip (cairo_composite_rectangles_t *composite,
     composite->is_bounded = is_bounded;
 }
 
-static void
-_gl_pattern_fix_reference_count (const cairo_pattern_t *pattern)
+static cairo_bool_t
+_pattern_is_pixel_aligned (const cairo_pattern_t *pattern)
 {
-   cairo_pattern_type_t pattern_type = cairo_pattern_get_type ((cairo_pattern_t *)pattern);
-
-   /* We need to increase reference count on surface and gradient if
-      the original_source_pattern is a cairo_gl_source_t type. */
-    if (pattern_type == CAIRO_PATTERN_TYPE_SURFACE) {
-
-       cairo_surface_pattern_t *surface_pattern = (cairo_surface_pattern_t *)pattern;
-       cairo_surface_t *pattern_surface = surface_pattern->surface;
-
-       if (cairo_surface_get_type (pattern_surface) == CAIRO_SURFACE_TYPE_GL &&
-           ! pattern_surface->device &&
-           ! _cairo_surface_is_subsurface (pattern_surface)) {
-
-           cairo_gl_source_t *_source = (cairo_gl_source_t *)pattern_surface;
-
-           switch (_source->operand.type) {
-           case CAIRO_GL_OPERAND_TEXTURE:
-               cairo_surface_reference (&(_source->operand.texture.owns_surface)->base);
-               break;
-           case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
-           case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
-           case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
-           case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
-               _cairo_gl_gradient_reference (_source->operand.gradient.gradient);
-               break;
-           default:
-           case CAIRO_GL_OPERAND_NONE:
-           case CAIRO_GL_OPERAND_CONSTANT:
-           case CAIRO_GL_OPERAND_COUNT:
-               break;
-           }
-       }
-    }
+    long xoffset, yoffset;
+
+    if (!pattern)
+       return TRUE;
+
+    xoffset = pattern->matrix.x0;
+    yoffset = pattern->matrix.y0;
+
+    if (pattern->matrix.xx != 1.0 ||
+       pattern->matrix.xy != 0.0 ||
+       pattern->matrix.yy != 1.0 ||
+       pattern->matrix.yx != 1.0 ||
+       pattern->matrix.x0 != xoffset ||
+       pattern->matrix.y0 != yoffset)
+       return FALSE;
+    return TRUE;
+}
+
+static cairo_bool_t
+_clip_is_pixel_aligned (const cairo_clip_t *clip)
+{
+    if (!clip)
+       return TRUE;
+
+    if (clip->path || clip->num_boxes > 1)
+       return FALSE;
+
+    if (_cairo_fixed_is_integer (clip->boxes[0].p1.x) &&
+       _cairo_fixed_is_integer (clip->boxes[0].p1.y) &&
+       _cairo_fixed_is_integer (clip->boxes[0].p2.x) &&
+       _cairo_fixed_is_integer (clip->boxes[0].p2.y))
+       return TRUE;
+    return FALSE;
 }
 
-/* We use two passes to paint with SOURCE operator */
-/* The first pass, we use mask as source, to get dst1 = (1 - ma) * dst) with
- * DEST_OUT operator.  In the second pass, we use ADD operator to achieve
- * result = (src * ma) + dst1.  Combining two passes, we have
+/* Masking with the SOURCE operator requires two passes. In the first
+ * pass we use the mask as the source to get:
+ * result = (1 - ma) * dst
+ * In the second pass we use the add operator to achieve:
+ * result = (src * ma) + dst
+ * Combined this produces:
  * result = (src * ma) + (1 - ma) * dst
  */
 static cairo_int_status_t
@@ -342,84 +487,98 @@ _cairo_gl_msaa_compositor_mask_source_operator (const cairo_compositor_t *compos
     cairo_gl_surface_t *dst = (cairo_gl_surface_t *) composite->surface;
     cairo_gl_context_t *ctx = NULL;
     cairo_int_status_t status;
+
+    cairo_clip_t *clip = composite->clip;
     cairo_traps_t traps;
+    cairo_bool_t is_pixel_aligned =
+       _pattern_is_pixel_aligned (composite->original_source_pattern) &&
+       _pattern_is_pixel_aligned (composite->original_mask_pattern) &&
+       _clip_is_pixel_aligned (clip);
+
+    /* If we have a non-rectangular clip, we can avoid using the stencil buffer
+     * for clipping and just draw the clip polygon. */
+    if (clip) {
+       status = _clip_to_traps (clip, &traps);
+       if (unlikely (status)) {
+           _cairo_traps_fini (&traps);
+           return status;
+       }
+    }
 
-    _cairo_traps_init (&traps);
+    if (! is_pixel_aligned) {
+       status = _blit_texture_to_renderbuffer (dst);
+       if (unlikely (status))
+           return status;
+    }
 
     status = _cairo_gl_composite_init (&setup,
                                       CAIRO_OPERATOR_DEST_OUT,
                                       dst,
                                       FALSE /* assume_component_alpha */);
     if (unlikely (status))
-       goto finish;
-
-    _gl_pattern_fix_reference_count (composite->original_mask_pattern);
-
+       return status;
     status = _cairo_gl_composite_set_source (&setup,
-                                            &composite->mask_pattern.base,
+                                            composite->original_mask_pattern,
                                             &composite->mask_sample_area,
                                             &composite->bounded,
-                                            FALSE);
+                                            FALSE, FALSE);
     if (unlikely (status))
        goto finish;
 
-    status = _cairo_gl_composite_begin_multisample (&setup, &ctx, TRUE);
+    if (! is_pixel_aligned || dst->msaa_active)
+       _cairo_gl_composite_set_multisample (&setup);
+
+    status = _cairo_gl_composite_begin (&setup, &ctx);
     if (unlikely (status))
        goto finish;
 
-    if (! composite->clip)
+    if (! clip)
        status = _draw_int_rect (ctx, &setup, &composite->bounded);
     else
-       status = _cairo_gl_msaa_compositor_draw_clip (ctx, &setup, composite->clip, &traps);
+       status = _draw_traps (ctx, &setup, &traps);
 
-    _cairo_gl_composite_fini (&setup);
-    status = _cairo_gl_context_release (ctx, status);
-    ctx = NULL;
-    if (unlikely (status))
-        return status;
-
-     /* second pass */
-    status = _cairo_gl_composite_init (&setup,
-                                      CAIRO_OPERATOR_ADD,
-                                      dst,
-                                      FALSE /* assume_component_alpha */);
+    /* Now draw the second pass. */
+    status = _cairo_gl_composite_set_operator (&setup, CAIRO_OPERATOR_ADD,
+                                     FALSE /* assume_component_alpha */);
     if (unlikely (status))
-       goto finish;
-
-    _gl_pattern_fix_reference_count (composite->original_source_pattern);
-
+        goto finish;
     status = _cairo_gl_composite_set_source (&setup,
-                                            &composite->source_pattern.base,
+                                            composite->original_source_pattern,
                                             &composite->source_sample_area,
                                             &composite->bounded,
-                                            FALSE);
+                                            FALSE, FALSE);
     if (unlikely (status))
        goto finish;
-
     status = _cairo_gl_composite_set_mask (&setup,
-                                          &composite->mask_pattern.base,
+                                          composite->original_mask_pattern,
                                           &composite->source_sample_area,
-                                          &composite->bounded);
+                                          &composite->bounded,
+                                          FALSE);
     if (unlikely (status))
        goto finish;
 
-    /* We always use multisampling here, because we do not yet have the smarts
-       to calculate when the clip or the source requires it. */
-    status = _cairo_gl_composite_begin_multisample (&setup, &ctx, TRUE);
+    _cairo_gl_context_set_destination (ctx, dst, setup.multisample);
+
+    status = _cairo_gl_set_operands_and_operator (&setup, ctx);
     if (unlikely (status))
        goto finish;
 
-    if (! composite->clip)
+    if (! clip)
        status = _draw_int_rect (ctx, &setup, &composite->bounded);
     else
-       status = _cairo_gl_msaa_compositor_draw_clip (ctx, &setup, composite->clip, &traps);
+       status = _draw_traps (ctx, &setup, &traps);
+
+    if (unlikely (status))
+       goto finish;
+
+    dst->content_synced = FALSE;
 
 finish:
-    _cairo_traps_fini (&traps);
     _cairo_gl_composite_fini (&setup);
-
     if (ctx)
        status = _cairo_gl_context_release (ctx, status);
+    if (clip)
+       _cairo_traps_fini (&traps);
 
     return status;
 }
@@ -433,10 +592,14 @@ _cairo_gl_msaa_compositor_mask (const cairo_compositor_t  *compositor,
     cairo_gl_context_t *ctx = NULL;
     cairo_int_status_t status;
     cairo_operator_t op = composite->op;
-    cairo_traps_t traps;
-    cairo_bool_t use_color_attribute = FALSE;
+    cairo_clip_t *clip = composite->clip;
+    cairo_bool_t is_pixel_aligned = FALSE;
+
+    if (! can_use_msaa_compositor (dst, CAIRO_ANTIALIAS_DEFAULT))
+       return CAIRO_INT_STATUS_UNSUPPORTED;
 
-    if (should_fall_back (dst, CAIRO_ANTIALIAS_GOOD))
+    if (composite->op == CAIRO_OPERATOR_CLEAR &&
+       composite->original_mask_pattern != NULL)
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
     /* GL compositing operators cannot properly represent a mask operation
@@ -448,12 +611,13 @@ _cairo_gl_msaa_compositor_mask (const cairo_compositor_t  *compositor,
        ! _cairo_pattern_is_opaque (&composite->mask_pattern.base,
                                    &composite->mask_sample_area)) {
 
-       /* If the source is opaque the operation reduces to OVER. */
-       if (_cairo_pattern_is_opaque (&composite->source_pattern.base,
-                                     &composite->source_sample_area))
-           op = CAIRO_OPERATOR_OVER;
-       else
+       if (! _cairo_pattern_is_opaque (&composite->source_pattern.base,
+                                     &composite->source_sample_area)) {
            return _cairo_gl_msaa_compositor_mask_source_operator (compositor, composite);
+       }
+
+       /* If the source is opaque the operation reduces to OVER. */
+       op = CAIRO_OPERATOR_OVER;
     }
 
     if (_should_use_unbounded_surface (composite)) {
@@ -484,24 +648,29 @@ _cairo_gl_msaa_compositor_mask (const cairo_compositor_t  *compositor,
        return _paint_back_unbounded_surface (compositor, composite, surface);
     }
 
+    if (_pattern_is_pixel_aligned (composite->original_source_pattern) &&
+       _pattern_is_pixel_aligned (composite->original_mask_pattern) &&
+       _clip_is_pixel_aligned (composite->clip))
+       is_pixel_aligned = TRUE;
+
+    if (! is_pixel_aligned) {
+       status = _blit_texture_to_renderbuffer (dst);
+       if (unlikely (status))
+           return status;
+    }
+
     status = _cairo_gl_composite_init (&setup,
                                       op,
                                       dst,
                                       FALSE /* assume_component_alpha */);
     if (unlikely (status))
-       goto finish;
-
-    _gl_pattern_fix_reference_count (composite->original_source_pattern);
-
-    if (! composite->clip ||
-       (composite->clip->num_boxes == 1 && ! composite->clip->path))
-       use_color_attribute = TRUE;
+       return status;
 
     status = _cairo_gl_composite_set_source (&setup,
                                             composite->original_source_pattern,
                                             &composite->source_sample_area,
                                             &composite->bounded,
-                                            use_color_attribute);
+                                            FALSE, FALSE);
     if (unlikely (status))
        goto finish;
 
@@ -509,25 +678,58 @@ _cairo_gl_msaa_compositor_mask (const cairo_compositor_t  *compositor,
        status = _cairo_gl_composite_set_mask (&setup,
                                               composite->original_mask_pattern,
                                               &composite->mask_sample_area,
-                                              &composite->bounded);
+                                              &composite->bounded,
+                                              FALSE);
     }
     if (unlikely (status))
        goto finish;
 
-    /* We always use multisampling here, because we do not yet have the smarts
-       to calculate when the clip or the source requires it. */
-    status = _cairo_gl_composite_begin_multisample (&setup, &ctx, TRUE);
+    /* if the source, mask and clip are pixel-aligned and
+       msaa is not active, we paint to texture directly */
+    if (! is_pixel_aligned || dst->msaa_active)
+       _cairo_gl_composite_set_multisample (&setup);
+
+    status = _cairo_gl_composite_begin (&setup, &ctx);
+
     if (unlikely (status))
        goto finish;
 
-    _cairo_traps_init (&traps);
+    if (op != CAIRO_OPERATOR_OVER) {
+       if (! clip)
+           status = _draw_int_rect (ctx, &setup, &composite->bounded);
+       else
+           status = _cairo_gl_msaa_compositor_draw_clip (ctx, &setup, clip);
+    }
+    else {
+       /* fast path for CAIRO_OVER_OPERATOR */
+       cairo_rectangle_int_t rect, temp;
+
+       _cairo_surface_get_extents (&dst->base, &rect);
+       _cairo_pattern_get_extents (composite->original_source_pattern,
+                                   &temp);
+       _cairo_rectangle_intersect (&rect, &temp);
+       if (composite->original_mask_pattern) {
+           _cairo_pattern_get_extents (composite->original_mask_pattern,
+                                       &temp);
+           _cairo_rectangle_intersect (&rect, &temp);
+       }
 
-    if (! composite->clip)
-       status = _draw_int_rect (ctx, &setup, &composite->bounded);
-    else
-       status = _cairo_gl_msaa_compositor_draw_clip (ctx, &setup, composite->clip, &traps);
+       if (clip) {
+           cairo_clip_t *clip_copy = _cairo_clip_copy (clip);
 
-    _cairo_traps_fini (&traps);
+           clip_copy = _cairo_clip_intersect_rectangle (clip_copy, &rect);
+           status = _cairo_gl_msaa_compositor_draw_clip (ctx, &setup,
+                                                         clip_copy);
+           _cairo_clip_destroy (clip_copy);
+       }
+       else
+           status = _draw_int_rect (ctx, &setup, &rect);
+    }
+
+    if (unlikely (status))
+       goto finish;
+
+    dst->content_synced = FALSE;
 
 finish:
     _cairo_gl_composite_fini (&setup);
@@ -575,8 +777,16 @@ _stroke_shaper_add_quad (void                      *closure,
                                                      quad);
 }
 
+static cairo_bool_t
+_is_continuous_arc (const cairo_path_fixed_t   *path,
+                   const cairo_stroke_style_t *style)
+{
+    return (_cairo_path_fixed_is_single_arc (path) &&
+           style->dash == NULL);
+}
+
 static cairo_int_status_t
-_prevent_overlapping_drawing (cairo_gl_context_t               *ctx,
+_prevent_overlapping_strokes (cairo_gl_context_t               *ctx,
                              cairo_gl_composite_t              *setup,
                              cairo_composite_rectangles_t      *composite,
                              const cairo_path_fixed_t          *path,
@@ -590,13 +800,14 @@ _prevent_overlapping_drawing (cairo_gl_context_t          *ctx,
     if (! _cairo_gl_ensure_stencil (ctx, setup->dst))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
+
     /* XXX: improve me - since we have lazy init, we cannot use sample
        area */
     if (type == CAIRO_PATTERN_TYPE_SOLID &&
        _cairo_pattern_is_opaque_solid (pattern))
        return CAIRO_INT_STATUS_SUCCESS;
 
-   if (glIsEnabled (GL_STENCIL_TEST) == FALSE) {
+    if (ctx->states_cache.stencil_test_enabled == FALSE) {
        /* In case we have pending operations we have to flush before
          adding the stencil buffer. */
        _cairo_gl_composite_flush (ctx);
@@ -604,30 +815,43 @@ _prevent_overlapping_drawing (cairo_gl_context_t          *ctx,
        /* Enable the stencil buffer, even if we are not using it for clipping,
           so we can use it below to prevent overlapping shapes. We initialize
           it all to one here which represents infinite clip. */
-       glDepthMask (GL_TRUE);
-       glEnable (GL_STENCIL_TEST);
-
-       /* If we don't have clip, then we will setup clip extents based on
-          approximate stroke extent. */
-       if (! setup->clip) {
+       if (! ctx->states_cache.depth_mask) {
+           ctx->dispatch.DepthMask (GL_TRUE);
+           ctx->states_cache.depth_mask = TRUE;
+       }
+       ctx->dispatch.Enable (GL_STENCIL_TEST);
+       ctx->states_cache.stencil_test_enabled = TRUE;
+
+       /* We scissor here so that we don't have to clear the entire stencil
+        * buffer. If the scissor test is already enabled, it was enabled
+        * for clipping. In that case, instead of calculating an intersection,
+        * we just reuse it, and risk clearing too much. */
+       if (ctx->states_cache.scissor_test_enabled == FALSE) {
            _cairo_path_fixed_approximate_stroke_extents (path, style, ctm,
                                                          &stroke_extents);
-           _cairo_gl_scissor_to_extents (setup->dst, &stroke_extents);
+           _cairo_gl_scissor_to_rectangle (setup->dst, &stroke_extents);
+            ctx->dispatch.Enable (GL_SCISSOR_TEST);
+            ctx->states_cache.scissor_test_enabled = TRUE;
        }
+       ctx->dispatch.ClearStencil (1);
+       ctx->dispatch.Clear (GL_STENCIL_BUFFER_BIT);
+       _disable_scissor_buffer (ctx);
 
-       glClearStencil (1);
-       glClear (GL_STENCIL_BUFFER_BIT);
-       glStencilFunc (GL_EQUAL, 1, 1);
+       ctx->dispatch.StencilFunc (GL_EQUAL, 1, 1);
     }
 
     /* This means that once we draw to a particular pixel nothing else can
        be drawn there until the stencil buffer is reset or the stencil test
        is disabled. */
-    glStencilOp (GL_ZERO, GL_ZERO, GL_ZERO);
+    ctx->dispatch.StencilOp (GL_ZERO, GL_ZERO, GL_ZERO);
 
-    /* we need to clean up clip cache */
-    _cairo_clip_destroy (ctx->clip);
-    ctx->clip = NULL;
+    _cairo_clip_destroy (setup->dst->clip_on_stencil_buffer);
+    setup->dst->clip_on_stencil_buffer = NULL;
+
+    /* we must let the next drawing know we have changed stencil buffer
+     * so that next drawing calls flush
+     */
+    setup->dst->needs_update = TRUE;
 
     return CAIRO_INT_STATUS_SUCCESS;
 }
@@ -657,35 +881,17 @@ query_surface_capabilities (cairo_gl_surface_t *surface)
 
     _cairo_gl_context_set_destination (ctx, surface, FALSE);
 
-    glGetIntegerv(GL_SAMPLES, &samples);
-    glGetIntegerv(GL_STENCIL_BITS, &stencil_bits);
+    //ctx->dispatch.GetIntegerv(GL_SAMPLES, &samples);
+    //ctx->dispatch.GetIntegerv(GL_STENCIL_BITS, &stencil_bits);
+    samples = 4;
+    stencil_bits = 4;
     surface->supports_stencil = stencil_bits > 0;
-    surface->supports_msaa = samples > 1;
 
-    status = _cairo_gl_context_release (ctx, status);
-}
+    surface->supports_msaa = samples > 1;
 
-static cairo_bool_t
-should_fall_back (cairo_gl_surface_t *surface,
-                 cairo_antialias_t antialias)
-{
-    query_surface_capabilities (surface);
-    if (! surface->supports_stencil)
-       return TRUE;
+    surface->num_samples = samples;
 
-    /* Multisampling OpenGL ES surfaces only maintain one multisampling
-       framebuffer and thus must use the spans compositor to do non
-       AA rendering */
-    if (((cairo_gl_context_t *) surface->base.device)->gl_flavor == CAIRO_GL_FLAVOR_ES
-        && surface->supports_msaa
-        && antialias == CAIRO_ANTIALIAS_NONE)
-       return TRUE;
-
-    if (antialias == CAIRO_ANTIALIAS_FAST)
-       return TRUE;
-    if (antialias == CAIRO_ANTIALIAS_NONE)
-       return FALSE;
-    return ! surface->supports_msaa;
+    status = _cairo_gl_context_release (ctx, status);
 }
 
 static cairo_int_status_t
@@ -702,10 +908,25 @@ _cairo_gl_msaa_compositor_stroke (const cairo_compositor_t        *compositor,
     cairo_gl_surface_t *dst = (cairo_gl_surface_t *) composite->surface;
     struct _tristrip_composite_info info;
     cairo_bool_t use_color_attribute;
+    cairo_rectangle_int_t stroke_extents;
 
-    if (should_fall_back (dst, antialias))
+    if (! can_use_msaa_compositor (dst, antialias))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
+    if (! _cairo_path_fixed_stroke_is_rectilinear (path)) {
+       _cairo_path_fixed_approximate_fill_extents (path, &stroke_extents);
+
+       if (stroke_extents.width != 0 &&
+           stroke_extents.height != 0) {
+           if ((stroke_extents.width / stroke_extents.height > 10  &&
+                stroke_extents.height < 10) ||
+               (stroke_extents.height / stroke_extents.width > 10 &&
+                stroke_extents.width < 10)) {
+               return CAIRO_INT_STATUS_UNSUPPORTED;
+           }
+       }
+    }
+
     if (composite->is_bounded == FALSE) {
        cairo_surface_t* surface = _prepare_unbounded_surface (dst);
 
@@ -725,6 +946,12 @@ _cairo_gl_msaa_compositor_stroke (const cairo_compositor_t *compositor,
        return _paint_back_unbounded_surface (compositor, composite, surface);
     }
 
+    if (antialias != CAIRO_ANTIALIAS_NONE) {
+       status = _blit_texture_to_renderbuffer (dst);
+       if (unlikely (status))
+           return status;
+    }
+
     status = _cairo_gl_composite_init (&info.setup,
                                       composite->op,
                                       dst,
@@ -733,31 +960,35 @@ _cairo_gl_msaa_compositor_stroke (const cairo_compositor_t        *compositor,
        return status;
 
     info.ctx = NULL;
-    use_color_attribute = _cairo_path_fixed_stroke_is_rectilinear (path) ||
-                         _cairo_gl_hairline_style_is_hairline (style, ctm);
+    use_color_attribute = _cairo_gl_hairline_style_is_hairline (style, ctm);
 
     status = _cairo_gl_composite_set_source (&info.setup,
                                             composite->original_source_pattern,
                                             &composite->source_sample_area,
                                             &composite->bounded,
-                                            use_color_attribute);
+                                            FALSE, use_color_attribute);
     if (unlikely (status))
        goto finish;
 
     _cairo_gl_msaa_compositor_set_clip (composite, &info.setup);
+    if (antialias != CAIRO_ANTIALIAS_NONE)
+       _cairo_gl_composite_set_multisample (&info.setup);
 
-    status = _cairo_gl_composite_begin_multisample (&info.setup, &info.ctx,
-       antialias != CAIRO_ANTIALIAS_NONE);
+    status = _cairo_gl_composite_begin (&info.setup, &info.ctx);
     if (unlikely (status))
        goto finish;
 
     if (_cairo_gl_hairline_style_is_hairline (style, ctm)) {
        cairo_gl_hairline_closure_t closure;
 
-       status = _prevent_overlapping_drawing (info.ctx, &info.setup,
-                                              composite, path, style, ctm);
-       if (unlikely (status))
-           goto finish;
+       if (! (_is_continuous_arc (path, style) ||
+              _is_continuous_single_line (path, style))) {
+           status = _prevent_overlapping_strokes (info.ctx, &info.setup,
+                                                  composite, path,
+                                                  style, ctm);
+           if (unlikely (status))
+               goto finish;
+       }
 
        closure.ctx = info.ctx;
 
@@ -775,40 +1006,28 @@ _cairo_gl_msaa_compositor_stroke (const cairo_compositor_t       *compositor,
        goto finish;
     }
 
-    if (use_color_attribute || path->has_curve_to) {
-       cairo_traps_t traps;
-
-       _cairo_traps_init (&traps);
-
-       status = _cairo_path_fixed_stroke_to_traps (path, style,
-                                                   ctm, ctm_inverse,
-                                                   tolerance, &traps);
-       if (unlikely (status)) {
-           _cairo_traps_fini (&traps);
-           goto finish;
-       }
-
-       status = _draw_traps (info.ctx, &info.setup, &traps);
-       _cairo_traps_fini (&traps);
-    } else {
-       status = _prevent_overlapping_drawing (info.ctx, &info.setup,
+    if (!_is_continuous_single_line (path, style)) {
+       status = _prevent_overlapping_strokes (info.ctx, &info.setup,
                                               composite, path, style, ctm);
        if (unlikely (status))
            goto finish;
-
-       status =
-           _cairo_path_fixed_stroke_to_shaper ((cairo_path_fixed_t *) path,
-                                               style,
-                                               ctm,
-                                               ctm_inverse,
-                                               tolerance,
-                                               _stroke_shaper_add_triangle,
-                                               _stroke_shaper_add_triangle_fan,
-                                               _stroke_shaper_add_quad,
-                                               &info);
-       if (unlikely (status))
-           goto finish;
     }
+
+    status =
+       _cairo_path_fixed_stroke_to_shaper ((cairo_path_fixed_t *) path,
+                                           style,
+                                           ctm,
+                                           ctm_inverse,
+                                           tolerance,
+                                           _stroke_shaper_add_triangle,
+                                           _stroke_shaper_add_triangle_fan,
+                                           _stroke_shaper_add_quad,
+                                           &info);
+    if (unlikely (status))
+       goto finish;
+
+    dst->content_synced = FALSE;
+
 finish:
     _cairo_gl_composite_fini (&info.setup);
 
@@ -819,54 +1038,27 @@ finish:
 }
 
 static cairo_int_status_t
-_cairo_gl_msaa_compositor_fill_rectilinear (const cairo_compositor_t *compositor,
-                                           cairo_composite_rectangles_t *composite,
-                                           const cairo_path_fixed_t *path,
-                                           cairo_fill_rule_t fill_rule,
-                                           double tolerance,
-                                           cairo_antialias_t antialias,
-                                           cairo_clip_t *clip)
+_draw_simple_quad_path (cairo_gl_context_t *ctx,
+                       cairo_gl_composite_t *setup,
+                       const cairo_path_fixed_t *path)
 {
-    cairo_gl_composite_t setup;
-    cairo_gl_surface_t *dst = (cairo_gl_surface_t *) composite->surface;
-    cairo_gl_context_t *ctx = NULL;
+    cairo_point_t triangle[3];
     cairo_int_status_t status;
-    int i;
-
-    status = _cairo_gl_composite_init (&setup,
-                                      composite->op,
-                                      dst,
-                                      FALSE /* assume_component_alpha */);
-    if (unlikely (status))
-       goto cleanup_setup;
-
-    status = _cairo_gl_composite_set_source (&setup,
-                                            composite->original_source_pattern,
-                                            &composite->source_sample_area,
-                                            &composite->bounded,
-                                            TRUE);
-    if (unlikely (status))
-       goto cleanup_setup;
-
-    status = _cairo_gl_composite_begin_multisample (&setup, &ctx,
-       antialias != CAIRO_ANTIALIAS_NONE);
-    if (unlikely (status))
-       goto cleanup_setup;
-
-    for (i = 0; i < clip->num_boxes; i++) {
-       status = _cairo_gl_msaa_compositor_draw_quad (ctx, &setup,
-                                                     &clip->boxes[i]);
-       if (unlikely (status))
-           goto cleanup_setup;
-    }
+    const cairo_point_t *points;
 
-cleanup_setup:
-    _cairo_gl_composite_fini (&setup);
+    points = cairo_path_head (path)->points;
 
-    if (ctx)
-       status = _cairo_gl_context_release (ctx, status);
+    triangle[0] = points[0];
+    triangle[1] = points[1];
+    triangle[2] = points[2];
+    status = _cairo_gl_composite_emit_triangle_as_tristrip (ctx, setup, triangle);
+    if (status)
+       return status;
 
-    return status;
+    triangle[0] = points[2];
+    triangle[1] = points[3];
+    triangle[2] = points[0];
+    return _cairo_gl_composite_emit_triangle_as_tristrip (ctx, setup, triangle);
 }
 
 static cairo_int_status_t
@@ -880,13 +1072,27 @@ _cairo_gl_msaa_compositor_fill (const cairo_compositor_t *compositor,
     cairo_gl_composite_t setup;
     cairo_gl_surface_t *dst = (cairo_gl_surface_t *) composite->surface;
     cairo_gl_context_t *ctx = NULL;
-    cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;
+    cairo_int_status_t status;
     cairo_traps_t traps;
-    cairo_bool_t use_color_attr = FALSE;
+    cairo_bool_t draw_path_with_traps;
+    cairo_rectangle_int_t fill_extents;
 
-    if (should_fall_back (dst, antialias))
+    if (! can_use_msaa_compositor (dst, antialias))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
+    if (! _cairo_path_fixed_fill_is_rectilinear (path)) {
+       _cairo_path_fixed_approximate_fill_extents (path, &fill_extents);
+
+       if (fill_extents.width != 0 && fill_extents.height != 0) {
+           if ((fill_extents.width / fill_extents.height > 10  &&
+                fill_extents.height < 10) ||
+               (fill_extents.height / fill_extents.width > 10 &&
+                fill_extents.width < 10)) {
+               return CAIRO_INT_STATUS_UNSUPPORTED;
+           }
+       }
+    }
+
     if (composite->is_bounded == FALSE) {
        cairo_surface_t* surface = _prepare_unbounded_surface (dst);
 
@@ -908,48 +1114,25 @@ _cairo_gl_msaa_compositor_fill (const cairo_compositor_t *compositor,
        return _paint_back_unbounded_surface (compositor, composite, surface);
     }
 
-    if (_cairo_path_fixed_fill_is_rectilinear (path) &&
-       composite->clip != NULL &&
-       composite->clip->num_boxes == 1 &&
-       composite->clip->path == NULL) {
-       cairo_clip_t *clip = _cairo_clip_copy (composite->clip);
-       clip = _cairo_clip_intersect_rectilinear_path (clip,
-                                                      path,
-                                                      fill_rule,
-                                                      antialias);
-       if (clip->num_boxes)
-               status = _cairo_gl_msaa_compositor_fill_rectilinear (compositor,
-                                                                    composite,
-                                                                    path,
-                                                                    fill_rule,
-                                                                    tolerance,
-                                                                    antialias,
-                                                                    clip);
-       _cairo_clip_destroy (clip);
+    if (antialias != CAIRO_ANTIALIAS_NONE) {
+       status = _blit_texture_to_renderbuffer (dst);
+       if (unlikely (status))
+           return status;
+    }
 
-       return status;
+    draw_path_with_traps = ! _cairo_path_fixed_is_simple_quad (path);
+
+    if (draw_path_with_traps) {
+       _cairo_traps_init (&traps);
+       status = _cairo_path_fixed_fill_to_traps (path, fill_rule, tolerance, &traps);
+       if (unlikely (status))
+           goto cleanup_traps;
     }
 
     status = _cairo_gl_composite_init (&setup,
                                       composite->op,
                                       dst,
                                       FALSE /* assume_component_alpha */);
-    if (unlikely (status)) {
-        _cairo_gl_composite_fini (&setup);
-       return status;
-    }
-
-    _cairo_traps_init (&traps);
-
-    if (_cairo_path_fixed_fill_is_rectilinear (path)) {
-       status = _cairo_path_fixed_fill_rectilinear_to_traps (path,
-                                                             fill_rule,
-                                                             antialias,
-                                                             &traps);
-       use_color_attr = TRUE;
-    } else
-       status = _cairo_path_fixed_fill_to_traps (path, fill_rule,
-                                                 tolerance, &traps);
     if (unlikely (status))
        goto cleanup_traps;
 
@@ -957,21 +1140,27 @@ _cairo_gl_msaa_compositor_fill (const cairo_compositor_t *compositor,
                                             composite->original_source_pattern,
                                             &composite->source_sample_area,
                                             &composite->bounded,
-                                            use_color_attr);
+                                            FALSE, ! draw_path_with_traps);
     if (unlikely (status))
        goto cleanup_setup;
 
     _cairo_gl_msaa_compositor_set_clip (composite, &setup);
+    if (antialias != CAIRO_ANTIALIAS_NONE)
+       _cairo_gl_composite_set_multisample (&setup);
 
-    status = _cairo_gl_composite_begin_multisample (&setup, &ctx,
-       antialias != CAIRO_ANTIALIAS_NONE);
+    status = _cairo_gl_composite_begin (&setup, &ctx);
     if (unlikely (status))
        goto cleanup_setup;
 
-    status = _draw_traps (ctx, &setup, &traps);
+    if (! draw_path_with_traps)
+       status = _draw_simple_quad_path (ctx, &setup, path);
+    else
+       status = _draw_traps (ctx, &setup, &traps);
     if (unlikely (status))
         goto cleanup_setup;
 
+    dst->content_synced = FALSE;
+
 cleanup_setup:
     _cairo_gl_composite_fini (&setup);
 
@@ -979,7 +1168,8 @@ cleanup_setup:
        status = _cairo_gl_context_release (ctx, status);
 
 cleanup_traps:
-    _cairo_traps_fini (&traps);
+    if (draw_path_with_traps)
+       _cairo_traps_fini (&traps);
 
     return status;
 }
@@ -1003,6 +1193,9 @@ _cairo_gl_msaa_compositor_glyphs (const cairo_compositor_t        *compositor,
     if (! dst->supports_stencil)
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
+    if (composite->op == CAIRO_OPERATOR_CLEAR)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
     if (composite->is_bounded == FALSE) {
        cairo_surface_t* surface = _prepare_unbounded_surface (dst);
 
@@ -1045,19 +1238,21 @@ _cairo_gl_msaa_compositor_glyphs (const cairo_compositor_t      *compositor,
     info.num_glyphs = num_glyphs;
     info.use_mask = overlap || ! composite->is_bounded ||
                    composite->op == CAIRO_OPERATOR_SOURCE;
-    info.extents = composite->bounded;
+    info.extents = composite->source;
 
     _cairo_scaled_font_freeze_cache (scaled_font);
     status = _cairo_gl_composite_glyphs_with_clip (dst, composite->op,
                                                   src, src_x, src_y,
                                                   0, 0, &info,
-                                                  composite->clip,
-                                                  TRUE);
+                                                  composite->clip);
 
     _cairo_scaled_font_thaw_cache (scaled_font);
+    if (unlikely (status))
+        goto finish;
+
+    dst->content_synced = FALSE;
 
 finish:
-    if (src)
        cairo_surface_destroy (src);
 
     return status;
old mode 100644 (file)
new mode 100755 (executable)
index 3298601..8c21e69
@@ -50,7 +50,6 @@
 #include "cairo-image-surface-private.h"
 #include "cairo-surface-backend-private.h"
 #include "cairo-surface-offset-private.h"
-#include "cairo-surface-snapshot-inline.h"
 #include "cairo-surface-subsurface-inline.h"
 #include "cairo-rtree-private.h"
 
@@ -71,57 +70,27 @@ _cairo_gl_create_gradient_texture (cairo_gl_surface_t *dst,
     return _cairo_gl_context_release (ctx, status);
 }
 
-static cairo_int_status_t
-_resolve_multisampling (cairo_gl_surface_t *surface)
-{
-    cairo_gl_context_t *ctx;
-    cairo_int_status_t status;
-
-    if (! surface->msaa_active)
-       return CAIRO_INT_STATUS_SUCCESS;
-
-    if (surface->base.device == NULL)
-       return CAIRO_INT_STATUS_SUCCESS;
-
-    /* GLES surfaces do not need explicit resolution. */
-    if (((cairo_gl_context_t *) surface->base.device)->gl_flavor == CAIRO_GL_FLAVOR_ES)
-       return CAIRO_INT_STATUS_SUCCESS;
-
-    if (! _cairo_gl_surface_is_texture (surface))
-       return CAIRO_INT_STATUS_SUCCESS;
-
-    status = _cairo_gl_context_acquire (surface->base.device, &ctx);
-    if (unlikely (status))
-       return status;
-
-    ctx->current_target = surface;
-
-#if CAIRO_HAS_GL_SURFACE
-    _cairo_gl_activate_surface_as_nonmultisampling (ctx, surface);
-#endif
-
-    status = _cairo_gl_context_release (ctx, status);
-    return status;
-}
-
-static inline void
+static void
 _cairo_gl_image_cache_lock (cairo_gl_context_t *ctx,
                            cairo_gl_image_t *image_node)
 {
-    _cairo_rtree_pin (&ctx->image_cache.rtree, &image_node->node);
+    if (ctx->image_cache && ctx->image_cache->surface)
+       _cairo_rtree_pin (&ctx->image_cache->rtree, &image_node->node);
 }
 
 void
 _cairo_gl_image_cache_unlock (cairo_gl_context_t *ctx)
 {
-    if (ctx->image_cache.surface)
-       _cairo_rtree_unpin (&(ctx->image_cache.rtree));
+    if (ctx->image_cache && ctx->image_cache->surface)
+       _cairo_rtree_unpin (&(ctx->image_cache->rtree));
 }
 
 static cairo_int_status_t
-_cairo_gl_copy_texture (cairo_gl_surface_t *dst,
+_cairo_gl_copy_texture (cairo_gl_surface_t *surface,
+                       cairo_gl_surface_t *dst,
                        cairo_gl_surface_t *image,
-                       int x, int y,
+                       int dst_x, int dst_y,
+                       int src_x, int src_y,
                        int width, int height,
                        cairo_bool_t replace,
                        cairo_gl_context_t **ctx)
@@ -129,52 +98,143 @@ _cairo_gl_copy_texture (cairo_gl_surface_t *dst,
     cairo_int_status_t status;
     cairo_gl_context_t *ctx_out;
     cairo_gl_dispatch_t *dispatch;
-    cairo_gl_surface_t *cache_surface;
     cairo_gl_surface_t *target;
+    cairo_surface_pattern_t pattern;
+    cairo_rectangle_int_t rect;
+    cairo_clip_t *clip;
 
     if (! _cairo_gl_surface_is_texture (image))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
-    status = _cairo_gl_context_acquire (dst->base.device, &ctx_out);
+    status = _cairo_gl_context_acquire (surface->base.device, &ctx_out);
     if(unlikely (status))
        return status;
 
-    if (! ctx_out->image_cache.surface) {
-       status = _cairo_gl_image_cache_init (ctx_out);
-       if (unlikely (status))
-           return status;
-    }
-
     if (replace)
        _cairo_gl_composite_flush (ctx_out);
 
-    /* Bind framebuffer of source image. */
+    image->needs_to_cache = FALSE;
     dispatch = &ctx_out->dispatch;
-    cache_surface = ctx_out->image_cache.surface;
     target = ctx_out->current_target;
 
-    _cairo_gl_ensure_framebuffer (ctx_out, image);
-    dispatch->BindFramebuffer (GL_FRAMEBUFFER, image->fb);
-    glBindTexture (ctx_out->tex_target, cache_surface->tex);
+    /* paint image to dst */
+    _cairo_pattern_init_for_surface (&pattern, &image->base);
+    cairo_matrix_init_translate (&pattern.base.matrix,
+                                -dst_x + src_x, -dst_y + src_y);
+
+    rect.x = dst_x;
+    rect.y = dst_y;
+    rect.width = width;
+    rect.height = height;
+    clip = _cairo_clip_intersect_rectangle (NULL, &rect);
+
+    status = _cairo_surface_paint (&dst->base,
+                                   CAIRO_OPERATOR_SOURCE,
+                                   &pattern.base, clip);
+
+    _cairo_clip_destroy (clip);
+
+    _cairo_gl_composite_flush (ctx_out);
+    _cairo_pattern_fini (&pattern.base);
+    image->needs_to_cache = TRUE;
+
+    if (unlikely (status))
+       goto finish;
+
+    status = _cairo_gl_surface_resolve_multisampling (dst);
+
+finish:
+    /* restore ctx status */
+    if (target)
+       _cairo_gl_context_set_destination (ctx_out, target,
+                                          target->msaa_active);
 
-    glCopyTexSubImage2D (ctx_out->tex_target, 0, x, y, 0, 0, width, height);
-    dispatch->BindFramebuffer (GL_FRAMEBUFFER, target->fb);
-    ctx_out->current_target = target;
     *ctx = ctx_out;
 
-    return CAIRO_INT_STATUS_SUCCESS;
+    if (unlikely (status))
+        return _cairo_gl_context_release (ctx_out, status);
+    return status;
+
+}
+
+static void
+_cairo_gl_copy_image_cache (cairo_rtree_node_t *node, void *data)
+{
+    cairo_gl_image_cache_t *new_cache = (cairo_gl_image_cache_t *)data;
+    cairo_gl_image_t *image_node = (cairo_gl_image_t *)node;
+    cairo_gl_image_t *new_image_node;
+    cairo_int_status_t status;
+    cairo_rtree_node_t *new_node = NULL;
+    int width, height;
+    cairo_gl_surface_t *image = (cairo_gl_surface_t *)image_node->original_surface;
+    cairo_gl_context_t *ctx = image_node->ctx;
+
+    if (node->state != CAIRO_RTREE_NODE_OCCUPIED || !image)
+        return;
+
+    width = image->width;
+    height = image->height;
+
+    status = _cairo_rtree_insert (&new_cache->rtree, width,
+                                 height, &new_node);
+
+    /* because new_cache has larger size, eviction will not happen */
+    if (unlikely (status))
+    {
+        new_cache->copy_success = FALSE;
+       return;
+    }
+
+    /* Paint image to cache. */
+    status = _cairo_gl_copy_texture (new_cache->surface,
+                                    new_cache->surface,
+                                    ctx->image_cache->surface,
+                                    new_node->x, new_node->y,
+                                    node->x, node->y,
+                                    width, height,
+                                    FALSE, &ctx);
+    if (unlikely (status)) {
+        new_cache->copy_success = FALSE;
+       return;
+    }
+
+    new_image_node = (cairo_gl_image_t *)new_node;
+    new_image_node->ctx = ctx;
+    new_image_node->original_surface = &image->base;
+    /* Coordinate. */
+    new_image_node->p1.x = new_node->x;
+    new_image_node->p1.y = new_node->y;
+    new_image_node->p2.x = new_node->x + image->width;
+    new_image_node->p2.y = new_node->y + image->height;
+    if (! _cairo_gl_device_requires_power_of_two_textures (&ctx->base)) {
+       new_image_node->p1.x /= new_cache->surface->width;
+       new_image_node->p2.x /= new_cache->surface->width;
+       new_image_node->p1.y /= new_cache->surface->height;
+       new_image_node->p2.y /= new_cache->surface->height;
+    }
+    image->content_changed = FALSE;
+
+    image_node->original_surface = NULL;
+
+    image->image_node = new_image_node;
+
+    _cairo_gl_image_cache_lock (ctx, new_image_node);
+    status = _cairo_gl_context_release (ctx, status);
 }
 
 static cairo_int_status_t
 _cairo_gl_image_cache_replace_image (cairo_gl_image_t *image_node,
                                     cairo_gl_surface_t *dst,
+                                    cairo_gl_surface_t *cache_surface,
                                     cairo_gl_surface_t *image,
                                     cairo_gl_context_t **ctx)
 {
     cairo_int_status_t status;
     /* Paint image to cache. */
-    status = _cairo_gl_copy_texture (dst, image, image_node->node.x,
+    status = _cairo_gl_copy_texture (dst, cache_surface,
+                                    image, image_node->node.x,
                                     image_node->node.y,
+                                    0, 0,
                                     image->width, image->height,
                                     TRUE,
                                     ctx);
@@ -192,22 +252,26 @@ _cairo_gl_image_cache_add_image (cairo_gl_context_t *ctx,
     cairo_rtree_node_t *node = NULL;
     int width, height;
     cairo_bool_t replaced = FALSE;
+    int image_cache_size;
 
     if (! image->base.device ||
-       (image->width > IMAGE_CACHE_MAX_SIZE ||
-       image->height > IMAGE_CACHE_MAX_SIZE))
+       (image->width >= IMAGE_CACHE_MAX_SIZE ||
+       image->height >= IMAGE_CACHE_MAX_SIZE))
        return CAIRO_INT_STATUS_UNSUPPORTED;
+    else if (! _cairo_gl_surface_is_texture (image))
+        return CAIRO_INT_STATUS_UNSUPPORTED;
 
     width = image->width;
     height = image->height;
 
-    *image_node =
-       (cairo_gl_image_t *) cairo_surface_get_user_data (&image->base,
-                                                              (const cairo_user_data_key_t *) (&image->base));
+    *image_node = image->image_node;
+
     if (*image_node) {
        if (image->content_changed) {
            status = _cairo_gl_image_cache_replace_image (*image_node,
-                                                         dst, image, &ctx);
+                                                         dst,
+                                                         ctx->image_cache->surface,
+                                                         image, &ctx);
 
            if (unlikely (status))
                return status;
@@ -223,26 +287,69 @@ _cairo_gl_image_cache_add_image (cairo_gl_context_t *ctx,
        return CAIRO_INT_STATUS_SUCCESS;
     }
 
-    status = _cairo_rtree_insert (&ctx->image_cache.rtree, width,
+    if (! ctx->image_cache) {
+       status = _cairo_gl_image_cache_init (ctx,
+                                           MIN_IMAGE_CACHE_WIDTH,
+                                           MIN_IMAGE_CACHE_HEIGHT,
+                                           &ctx->image_cache);
+       if (unlikely (status))
+           return status;
+    }
+
+    status = _cairo_rtree_insert (&ctx->image_cache->rtree, width,
                                  height, &node);
     /* Search for an unlocked slot. */
     if (status == CAIRO_INT_STATUS_UNSUPPORTED) {
-       _cairo_gl_composite_flush (ctx);
-       _cairo_gl_image_cache_unlock (ctx);
+        cairo_gl_image_cache_t *new_cache = NULL;
 
-       status = _cairo_rtree_evict_random (&ctx->image_cache.rtree,
-                                           width, height, &node);
+       _cairo_gl_composite_flush (ctx);
 
-       if (status == CAIRO_INT_STATUS_SUCCESS)
-           status = _cairo_rtree_node_insert (&ctx->image_cache.rtree,
-                                              node, width, height, &node);
+        image_cache_size = ((cairo_gl_surface_t *)(ctx->image_cache->surface))->width;
+        if (image_cache_size < MAX_IMAGE_CACHE_WIDTH) {
+            image_cache_size *= 2;
+            status = _cairo_gl_image_cache_init (ctx,
+                                                image_cache_size,
+                                                 image_cache_size,
+                                                &new_cache);
+           if (status == CAIRO_INT_STATUS_SUCCESS) {
+                /* copy existing image cache to new image cache */
+                _cairo_rtree_foreach (&ctx->image_cache->rtree,
+                                      _cairo_gl_copy_image_cache,
+                                      (void *)new_cache);
+                if (new_cache->copy_success) {
+                   _cairo_gl_image_cache_fini (ctx);
+                   ctx->image_cache = new_cache;
+                }
+                else {
+                    _cairo_rtree_fini (&new_cache->rtree);
+                    cairo_surface_destroy (&new_cache->surface->base);
+                    free (new_cache);
+                    new_cache = NULL;
+                    status = CAIRO_INT_STATUS_UNSUPPORTED;
+                }
+           }
+        }
+        if (!new_cache)
+           status = _cairo_rtree_evict_random (&ctx->image_cache->rtree,
+                                               width, height, &node);
+
+       if (status == CAIRO_INT_STATUS_SUCCESS) {
+           if (! node)
+               status = _cairo_rtree_insert (&ctx->image_cache->rtree,
+                                             width, height, &node);
+           else
+               status = _cairo_rtree_node_insert (&ctx->image_cache->rtree,
+                                                  node, width, height, &node);
+       }
     }
 
-    if (status)
+    if (unlikely (status))
        return status;
 
     /* Paint image to cache. */
-    status = _cairo_gl_copy_texture (dst, image, node->x, node->y,
+    status = _cairo_gl_copy_texture (dst, ctx->image_cache->surface,
+                                    image, node->x, node->y,
+                                    0, 0,
                                     image->width, image->height,
                                     FALSE, &ctx);
     if (unlikely (status))
@@ -257,19 +364,17 @@ _cairo_gl_image_cache_add_image (cairo_gl_context_t *ctx,
     (*image_node)->p2.x = node->x + image->width;
     (*image_node)->p2.y = node->y + image->height;
     if (! _cairo_gl_device_requires_power_of_two_textures (&ctx->base)) {
-       (*image_node)->p1.x /= IMAGE_CACHE_WIDTH;
-       (*image_node)->p2.x /= IMAGE_CACHE_WIDTH;
-       (*image_node)->p1.y /= IMAGE_CACHE_HEIGHT;
-       (*image_node)->p2.y /= IMAGE_CACHE_HEIGHT;
+       (*image_node)->p1.x /= ctx->image_cache->surface->width;
+       (*image_node)->p2.x /= ctx->image_cache->surface->width;
+       (*image_node)->p1.y /= ctx->image_cache->surface->height;
+       (*image_node)->p2.y /= ctx->image_cache->surface->height;
     }
     image->content_changed = FALSE;
-    /* Set user data. */
-    status = cairo_surface_set_user_data (&image->base,
-                                         (const cairo_user_data_key_t *) &image->base,
-                                         (void *) *image_node,
-                                         _cairo_gl_image_node_fini);
+
+    image->image_node = *image_node;
 
     _cairo_gl_image_cache_lock (ctx, *image_node);
+
     return _cairo_gl_context_release (ctx, status);
 }
 
@@ -278,7 +383,8 @@ _cairo_gl_subsurface_clone_operand_init (cairo_gl_operand_t *operand,
                                         const cairo_pattern_t *_src,
                                         cairo_gl_surface_t *dst,
                                         const cairo_rectangle_int_t *sample,
-                                        const cairo_rectangle_int_t *extents)
+                                        const cairo_rectangle_int_t *extents,
+                                        cairo_bool_t use_texgen)
 {
     const cairo_surface_pattern_t *src = (cairo_surface_pattern_t *)_src;
     cairo_surface_pattern_t local_pattern;
@@ -308,9 +414,7 @@ _cairo_gl_subsurface_clone_operand_init (cairo_gl_operand_t *operand,
            _cairo_gl_surface_create_scratch (ctx,
                                              sub->target->content,
                                              sub->extents.width,
-                                             sub->extents.height,
-                                             FALSE);
-
+                                             sub->extents.height);
        if (surface->base.status)
            return _cairo_gl_context_release (ctx, surface->base.status);
 
@@ -333,9 +437,9 @@ _cairo_gl_subsurface_clone_operand_init (cairo_gl_operand_t *operand,
        _cairo_surface_subsurface_set_snapshot (&sub->base, &surface->base);
     }
 
-    status = _resolve_multisampling (surface);
+    status = _cairo_gl_surface_resolve_multisampling (surface);
     if (unlikely (status))
-        return status;
+       return status;
 
     attributes = &operand->texture.attributes;
 
@@ -359,6 +463,8 @@ _cairo_gl_subsurface_clone_operand_init (cairo_gl_operand_t *operand,
     attributes->extend = src->base.extend;
     attributes->filter = src->base.filter;
     attributes->has_component_alpha = src->base.has_component_alpha;
+
+    operand->texture.texgen = use_texgen;
     return CAIRO_STATUS_SUCCESS;
 }
 
@@ -367,15 +473,18 @@ _cairo_gl_subsurface_operand_init (cairo_gl_operand_t *operand,
                                   const cairo_pattern_t *_src,
                                   cairo_gl_surface_t *dst,
                                   const cairo_rectangle_int_t *sample,
-                                  const cairo_rectangle_int_t *extents)
+                                  const cairo_rectangle_int_t *extents,
+                                  cairo_bool_t use_texgen)
 {
     const cairo_surface_pattern_t *src = (cairo_surface_pattern_t *)_src;
     cairo_surface_subsurface_t *sub;
-    cairo_gl_surface_t *surface;
+    cairo_gl_surface_t *surface, *blur_surface;
     cairo_surface_attributes_t *attributes;
     cairo_int_status_t status;
     cairo_gl_image_t *image_node = NULL;
     cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+    cairo_bool_t ctx_acquired = FALSE;
+    cairo_rectangle_int_t blur_extents;
 
     sub = (cairo_surface_subsurface_t *) src->surface;
 
@@ -384,19 +493,26 @@ _cairo_gl_subsurface_operand_init (cairo_gl_operand_t *operand,
        sample->y + sample->height > sub->extents.height)
     {
        return _cairo_gl_subsurface_clone_operand_init (operand, _src,
-                                                       dst, sample, extents);
+                                                       dst, sample, extents,
+                                                       use_texgen);
     }
 
     surface = (cairo_gl_surface_t *) sub->target;
-    if (surface->base.device &&
-        (surface->base.device != dst->base.device ||
-         (! surface->tex && ! surface->bounded_tex)))
+    if (surface->base.device && (surface->base.device != dst->base.device ||
+         (! _cairo_gl_surface_is_texture (surface) && ! surface->bounded_tex)))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
-    status = _resolve_multisampling (surface);
+    status = _cairo_gl_surface_resolve_multisampling (surface);
     if (unlikely (status))
        return status;
 
+    blur_extents.x = blur_extents.y = 0;
+    blur_extents.width = cairo_gl_surface_get_width (&surface->base);
+    blur_extents.height = cairo_gl_surface_get_height (&surface->base);
+
+    blur_surface = _cairo_gl_gaussian_filter (dst, src, surface, &blur_extents);
+
+    _cairo_gl_operand_copy(operand, &surface->operand);
     *operand = surface->operand;
     operand->texture.use_atlas = FALSE;
 
@@ -409,24 +525,67 @@ _cairo_gl_subsurface_operand_init (cairo_gl_operand_t *operand,
     attributes->matrix.x0 += sub->extents.x;
     attributes->matrix.y0 += sub->extents.y;
 
-    if (surface->needs_to_cache)
-       status = _cairo_gl_image_cache_add_image (ctx, dst, surface,
-                                                 &image_node);
+    operand->texture.texgen = use_texgen;
+
+
+    if (blur_surface == surface &&
+       surface->needs_to_cache &&
+       surface->base.device) {
+        status = _cairo_gl_context_acquire (dst->base.device, &ctx);
+        if (status == CAIRO_INT_STATUS_SUCCESS) {
+           ctx_acquired = TRUE;
+           status = _cairo_gl_image_cache_add_image (ctx, dst, surface,
+                                                     &image_node);
+        }
+    }
 
     /* Translate the matrix from
      * (unnormalized src -> unnormalized src) to
      * (unnormalized dst -> unnormalized src)
      */
 
-    if (unlikely (status) || ! image_node)
+    if (unlikely (status) || ! image_node) {
+       if (blur_surface == surface &&
+            blur_surface->operand.type != CAIRO_GL_OPERAND_GAUSSIAN) {
        cairo_matrix_multiply (&attributes->matrix,
                               &attributes->matrix,
                               &surface->operand.texture.attributes.matrix);
+       }
+       else {
+           cairo_matrix_t matrix = src->base.matrix;
+           operand->texture.use_atlas = TRUE;
+           attributes->extend = CAIRO_EXTEND_NONE;
+           operand->texture.extend = src->base.extend;
+
+           operand->texture.p1.x = 0;
+           operand->texture.p1.y = 0;
+           operand->texture.p2.x = (double) blur_extents.width / (double) blur_surface->width;
+           operand->texture.p2.y = (double) blur_extents.height / (double) blur_surface->height;
+
+               operand->texture.p1.x += 0.5 / blur_surface->width;
+               operand->texture.p1.y += 0.5 / blur_surface->height;
+               operand->texture.p2.x -= 0.5 / blur_surface->width;
+               operand->texture.p2.y -= 0.5 / blur_surface->height;
+
+
+           operand->texture.surface = blur_surface;
+           operand->texture.owns_surface = NULL;
+           operand->texture.tex = blur_surface->tex;
+           if (blur_surface->blur_stage == CAIRO_GL_BLUR_STAGE_2)
+               cairo_matrix_scale (&attributes->matrix,
+                              (double)blur_extents.width/(double)surface->width,
+                              (double)blur_extents.height/(double)surface->height);
+           cairo_matrix_multiply (&attributes->matrix,
+                                  &matrix,
+                                  &attributes->matrix);
+
+       }
+   }
    else {
        cairo_matrix_t matrix = src->base.matrix;
-       operand->texture.surface = ctx->image_cache.surface;
+       operand->texture.surface = ctx->image_cache->surface;
        operand->texture.owns_surface = NULL;
-       operand->texture.tex = ctx->image_cache.surface->tex;
+       operand->texture.tex = ctx->image_cache->surface->tex;
        attributes->extend = CAIRO_EXTEND_NONE;
        operand->texture.extend = src->base.extend;
        attributes->matrix.x0 = image_node->node.x + sub->extents.x;
@@ -437,18 +596,24 @@ _cairo_gl_subsurface_operand_init (cairo_gl_operand_t *operand,
        operand->texture.p1.y = image_node->p1.y;
        operand->texture.p2.x = image_node->p2.x;
        operand->texture.p2.y = image_node->p2.y;
-       if (src->base.extend == CAIRO_EXTEND_PAD) {
-           operand->texture.p1.x += 0.5 / IMAGE_CACHE_WIDTH;
-           operand->texture.p1.y += 0.5 / IMAGE_CACHE_HEIGHT;
-           operand->texture.p2.x -= 0.5 / IMAGE_CACHE_WIDTH;
-           operand->texture.p2.y -= 0.5 / IMAGE_CACHE_HEIGHT;
-       }
+
+           operand->texture.p1.x += 0.5 / ctx->image_cache->surface->width;
+           operand->texture.p1.y += 0.5 / ctx->image_cache->surface->height;
+           operand->texture.p2.x -= 0.5 / ctx->image_cache->surface->width;
+           operand->texture.p2.y -= 0.5 / ctx->image_cache->surface->height;
+
 
        cairo_matrix_multiply (&attributes->matrix,
                               &matrix,
-                              &ctx->image_cache.surface->operand.texture.attributes.matrix);
+                              &ctx->image_cache->surface->operand.texture.attributes.matrix);
     }
 
+    status = CAIRO_STATUS_SUCCESS;
+    cairo_surface_destroy (&blur_surface->base);
+
+    if (ctx_acquired)
+       return _cairo_gl_context_release (ctx, status);
+
     return CAIRO_STATUS_SUCCESS;
 }
 
@@ -457,14 +622,17 @@ _cairo_gl_surface_operand_init (cairo_gl_operand_t *operand,
                                const cairo_pattern_t *_src,
                                cairo_gl_surface_t *dst,
                                const cairo_rectangle_int_t *sample,
-                               const cairo_rectangle_int_t *extents)
+                               const cairo_rectangle_int_t *extents,
+                               cairo_bool_t use_texgen)
 {
     const cairo_surface_pattern_t *src = (cairo_surface_pattern_t *)_src;
-    cairo_gl_surface_t *surface;
+    cairo_gl_surface_t *surface, *blur_surface;
     cairo_surface_attributes_t *attributes;
     cairo_int_status_t status;
     cairo_gl_image_t *image_node = NULL;
     cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+    cairo_bool_t ctx_acquired = FALSE;
+    cairo_rectangle_int_t blur_extents;
 
     surface = (cairo_gl_surface_t *) src->surface;
     if (surface->base.type != CAIRO_SURFACE_TYPE_GL)
@@ -473,41 +641,30 @@ _cairo_gl_surface_operand_init (cairo_gl_operand_t *operand,
     if (surface->base.backend->type != CAIRO_SURFACE_TYPE_GL) {
        if (_cairo_surface_is_subsurface (&surface->base))
            return _cairo_gl_subsurface_operand_init (operand, _src, dst,
-                                                     sample, extents);
-       else if (_cairo_surface_is_snapshot (src->surface)) {
-           cairo_surface_snapshot_t *surface_snapshot;
-           cairo_pattern_t *sub_pattern;
-
-           surface_snapshot = (cairo_surface_snapshot_t *)src->surface;
-           surface = (cairo_gl_surface_t *)surface_snapshot->target;
-           if (surface->base.type != CAIRO_SURFACE_TYPE_GL)
-               return CAIRO_INT_STATUS_UNSUPPORTED;
-
-           if (_cairo_surface_is_subsurface (&surface->base)) {
-               sub_pattern = cairo_pattern_create_for_surface (&surface->base);
-               status = _cairo_gl_subsurface_operand_init (operand,
-                                                           sub_pattern,
-                                                           dst,
-                                                           sample,
-                                                           extents);
-               cairo_pattern_destroy (sub_pattern);
-               return status;
-           }
-       }
-       else
-           return CAIRO_INT_STATUS_UNSUPPORTED;
+                                                     sample, extents,
+                                                     use_texgen);
+
+       return CAIRO_INT_STATUS_UNSUPPORTED;
     }
 
-    if (surface->base.device &&
-        (surface->base.device != dst->base.device ||
-         (! surface->tex && ! surface->bounded_tex)))
+    if (surface->base.device && surface->base.device != dst->base.device)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    if (surface->base.device && ! _cairo_gl_surface_is_texture (surface) &&
+       ! surface->bounded_tex)
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
-    status = _resolve_multisampling (surface);
+    status = _cairo_gl_surface_resolve_multisampling (surface);
     if (unlikely (status))
        return status;
 
-    *operand = surface->operand;
+    blur_extents.x = blur_extents.y = 0;
+    blur_extents.width = cairo_gl_surface_get_width (&surface->base);
+    blur_extents.height = cairo_gl_surface_get_height (&surface->base);
+
+    blur_surface = _cairo_gl_gaussian_filter (dst, src, surface, &blur_extents);
+
+    _cairo_gl_operand_copy(operand, &blur_surface->operand);
     operand->texture.use_atlas = FALSE;
 
     attributes = &operand->texture.attributes;
@@ -515,14 +672,56 @@ _cairo_gl_surface_operand_init (cairo_gl_operand_t *operand,
     attributes->filter = src->base.filter;
     attributes->has_component_alpha = src->base.has_component_alpha;
 
-    if (surface->needs_to_cache)
-       status = _cairo_gl_image_cache_add_image (ctx, dst, surface,
-                                                 &image_node);
+    operand->texture.texgen = use_texgen;
 
-    if (unlikely (status) || ! image_node)
-       cairo_matrix_multiply (&attributes->matrix,
-                              &src->base.matrix,
-                              &attributes->matrix);
+    if (surface->base.device &&
+       blur_surface == surface &&
+       surface->needs_to_cache) {
+        status = _cairo_gl_context_acquire (dst->base.device, &ctx);
+        if (status == CAIRO_INT_STATUS_SUCCESS) {
+            ctx_acquired = TRUE;
+           status = _cairo_gl_image_cache_add_image (ctx, dst, surface,
+                                                     &image_node);
+       }
+    }
+
+    if (unlikely (status) || ! image_node) {
+       if (blur_surface == surface &&
+            blur_surface->operand.type != CAIRO_GL_OPERAND_GAUSSIAN) {
+           cairo_matrix_multiply (&attributes->matrix,
+                                  &src->base.matrix,
+                                  &attributes->matrix);
+       }
+       else {
+           cairo_matrix_t matrix = src->base.matrix;
+           operand->texture.use_atlas = TRUE;
+           attributes->extend = CAIRO_EXTEND_NONE;
+           operand->texture.extend = src->base.extend;
+
+           operand->texture.p1.x = 0;
+           operand->texture.p1.y = 0;
+           operand->texture.p2.x = (double) blur_extents.width / (double) blur_surface->width;
+           operand->texture.p2.y = (double) blur_extents.height / (double) blur_surface->height;
+
+               operand->texture.p1.x += 0.5 / blur_surface->width;
+               operand->texture.p1.y += 0.5 / blur_surface->height;
+               operand->texture.p2.x -= 0.5 / blur_surface->width;
+               operand->texture.p2.y -= 0.5 / blur_surface->height;
+
+
+           operand->texture.surface = blur_surface;
+           operand->texture.owns_surface = NULL;
+           operand->texture.tex = blur_surface->tex;
+           if (blur_surface->blur_stage == CAIRO_GL_BLUR_STAGE_2)
+               cairo_matrix_scale (&attributes->matrix,
+                              (double)blur_extents.width/(double)surface->width,
+                              (double)blur_extents.height/(double)surface->height);
+           cairo_matrix_multiply (&attributes->matrix,
+                                  &matrix,
+                                  &attributes->matrix);
+
+       }
+    }
     else {
        cairo_matrix_t matrix = src->base.matrix;
        operand->texture.use_atlas = TRUE;
@@ -533,23 +732,30 @@ _cairo_gl_surface_operand_init (cairo_gl_operand_t *operand,
        operand->texture.p1.y = image_node->p1.y;
        operand->texture.p2.x = image_node->p2.x;
        operand->texture.p2.y = image_node->p2.y;
-       if (src->base.extend == CAIRO_EXTEND_PAD) {
-           operand->texture.p1.x += 0.5 / IMAGE_CACHE_WIDTH;
-           operand->texture.p1.y += 0.5 / IMAGE_CACHE_HEIGHT;
-           operand->texture.p2.x -= 0.5 / IMAGE_CACHE_WIDTH;
-           operand->texture.p2.y -= 0.5 / IMAGE_CACHE_HEIGHT;
-       }
 
-       operand->texture.surface = ctx->image_cache.surface;
+           operand->texture.p1.x += 0.5 / ctx->image_cache->surface->width;
+           operand->texture.p1.y += 0.5 / ctx->image_cache->surface->height;
+           operand->texture.p2.x -= 0.5 / ctx->image_cache->surface->width;
+           operand->texture.p2.y -= 0.5 / ctx->image_cache->surface->height;
+
+
+       operand->texture.surface = ctx->image_cache->surface;
        operand->texture.owns_surface = NULL;
-       operand->texture.tex = ctx->image_cache.surface->tex;
+       operand->texture.tex = ctx->image_cache->surface->tex;
        matrix.x0 += image_node->node.x;
        matrix.y0 += image_node->node.y;
        cairo_matrix_multiply (&attributes->matrix,
                               &matrix,
-                              &ctx->image_cache.surface->operand.texture.attributes.matrix);
+                              &ctx->image_cache->surface->operand.texture.attributes.matrix);
     }
 
+    cairo_surface_destroy (&blur_surface->base);
+
+    status = CAIRO_STATUS_SUCCESS;
+
+    if (ctx_acquired)
+       return _cairo_gl_context_release (ctx, status);
+
     return CAIRO_STATUS_SUCCESS;
 }
 
@@ -562,9 +768,9 @@ _cairo_gl_pattern_texture_setup (cairo_gl_operand_t *operand,
     cairo_status_t status;
     cairo_gl_surface_t *surface;
     cairo_gl_context_t *ctx;
-    cairo_surface_t *image;
+    cairo_image_surface_t *image;
     cairo_bool_t src_is_gl_surface = FALSE;
-    pixman_format_code_t pixman_format;
+    cairo_rectangle_int_t map_extents;
 
     if (_src->type == CAIRO_PATTERN_TYPE_SURFACE) {
        cairo_surface_t* src_surface = ((cairo_surface_pattern_t *) _src)->surface;
@@ -578,31 +784,10 @@ _cairo_gl_pattern_texture_setup (cairo_gl_operand_t *operand,
     surface = (cairo_gl_surface_t *)
        _cairo_gl_surface_create_scratch (ctx,
                                          CAIRO_CONTENT_COLOR_ALPHA,
-                                         extents->width, extents->height,
-                                         FALSE);
-
-    /* XXX: This is a hack for driver that does not support PBO, we
-       don't need an extra step of downloading newly created texture
-       to image, we can create image directly. */
-    if (! _cairo_is_little_endian ())
-       pixman_format = PIXMAN_r8g8b8a8;
-    else
-       pixman_format = PIXMAN_a8b8g8r8;
-    image =
-       _cairo_image_surface_create_with_pixman_format (NULL,
-                                                       pixman_format,
-                                                       extents->width,
-                                                       extents->height,
-                                                       -1);
-    if (unlikely (image->status)) {
-       status = _cairo_gl_context_release (ctx, status);
-
-       /* The error status in the image is issue that caused the problem. */
-       status = image->status;
-
-       cairo_surface_destroy (image);
-       goto fail;
-    }
+                                         extents->width, extents->height);
+    map_extents = *extents;
+    map_extents.x = map_extents.y = 0;
+    image = _cairo_surface_map_to_image (&surface->base, &map_extents);
 
     /* If the pattern is a GL surface, it belongs to some other GL context,
        so we need to release this device while we paint it to the image. */
@@ -610,18 +795,27 @@ _cairo_gl_pattern_texture_setup (cairo_gl_operand_t *operand,
        status = _cairo_gl_context_release (ctx, status);
        if (unlikely (status))
            goto fail;
+
+       /* we need to release one more time */
+       status = _cairo_gl_context_release (ctx, status);
+       if (unlikely (status))
+           goto fail;
     }
 
-    status = _cairo_surface_offset_paint (image, extents->x, extents->y,
+    status = _cairo_surface_offset_paint (&image->base, extents->x, extents->y,
                                          CAIRO_OPERATOR_SOURCE, _src, NULL);
 
     if (src_is_gl_surface) {
        status = _cairo_gl_context_acquire (dst->base.device, &ctx);
        if (unlikely (status))
            goto fail;
+       /* one more time acquire */
+       status = _cairo_gl_context_acquire (dst->base.device, &ctx);
+       if (unlikely (status))
+           goto fail;
     }
 
-    cairo_surface_unmap_image (&surface->base, image);
+    status = _cairo_surface_unmap_image (&surface->base, image);
     status = _cairo_gl_context_release (ctx, status);
     if (unlikely (status))
        goto fail;
@@ -630,19 +824,26 @@ _cairo_gl_pattern_texture_setup (cairo_gl_operand_t *operand,
     operand->texture.owns_surface = surface;
     operand->texture.attributes.matrix.x0 -= extents->x * operand->texture.attributes.matrix.xx;
     operand->texture.attributes.matrix.y0 -= extents->y * operand->texture.attributes.matrix.yy;
-    dst->needs_to_cache = TRUE;
+
+    if (_cairo_gl_surface_is_texture (dst) &&
+        dst->width <= IMAGE_CACHE_MAX_SIZE &&
+        dst->height <= IMAGE_CACHE_MAX_SIZE &&
+       ! dst->force_no_cache)
+        dst->needs_to_cache = TRUE;
+
     operand->texture.use_atlas = FALSE;
 
     return CAIRO_STATUS_SUCCESS;
 
 fail:
     cairo_surface_destroy (&surface->base);
+    cairo_surface_destroy (image);
     return status;
 }
 
 void
 _cairo_gl_solid_operand_init (cairo_gl_operand_t *operand,
-                             const cairo_color_t *color)
+                             const cairo_color_t *color)
 {
     operand->type = CAIRO_GL_OPERAND_CONSTANT;
     operand->constant.color[0] = color->red   * color->alpha;
@@ -655,14 +856,34 @@ void
 _cairo_gl_operand_translate (cairo_gl_operand_t *operand,
                             double tx, double ty)
 {
-    operand->texture.attributes.matrix.x0 -= tx * operand->texture.attributes.matrix.xx;
-    operand->texture.attributes.matrix.y0 -= ty * operand->texture.attributes.matrix.yy;
+    switch (operand->type) {
+    case CAIRO_GL_OPERAND_TEXTURE:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
+       operand->texture.attributes.matrix.x0 -= tx * operand->texture.attributes.matrix.xx;
+       operand->texture.attributes.matrix.y0 -= ty * operand->texture.attributes.matrix.yy;
+       break;
+
+    case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
+       operand->gradient.m.x0 -= tx * operand->gradient.m.xx;
+       operand->gradient.m.y0 -= ty * operand->gradient.m.yy;
+       break;
+
+    case CAIRO_GL_OPERAND_NONE:
+    case CAIRO_GL_OPERAND_CONSTANT:
+    case CAIRO_GL_OPERAND_COUNT:
+    default:
+       break;
+    }
 }
 
 static cairo_status_t
 _cairo_gl_gradient_operand_init (cairo_gl_operand_t *operand,
                                  const cairo_pattern_t *pattern,
-                                cairo_gl_surface_t *dst)
+                                cairo_gl_surface_t *dst,
+                                cairo_bool_t use_texgen)
 {
     const cairo_gradient_pattern_t *gradient = (const cairo_gradient_pattern_t *)pattern;
     cairo_status_t status;
@@ -705,6 +926,8 @@ _cairo_gl_gradient_operand_init (cairo_gl_operand_t *operand,
        cairo_matrix_t m;
        cairo_circle_double_t circles[2];
        double x0, y0, r0, dx, dy, dr;
+       double scale = 1.0;
+       cairo_radial_pattern_t *radial_pattern = (cairo_radial_pattern_t *)gradient;
 
        /*
         * Some fragment shader implementations use half-floats to
@@ -718,18 +941,35 @@ _cairo_gl_gradient_operand_init (cairo_gl_operand_t *operand,
        _cairo_gradient_pattern_fit_to_range (gradient, 8.,
                                              &operand->gradient.m, circles);
 
+       /*
+        * Instead of using scaled data that might introducing rounding
+        * errors, we use original data directly
+        */
+       if (circles[0].center.x)
+               scale = radial_pattern->cd1.center.x / circles[0].center.x;
+       else if (circles[0].center.y)
+               scale = radial_pattern->cd1.center.y / circles[0].center.y;
+       else if (circles[0].radius)
+               scale = radial_pattern->cd1.radius / circles[0].radius;
+       else if (circles[1].center.x)
+               scale = radial_pattern->cd2.center.x / circles[1].center.x;
+       else if (circles[1].center.y)
+               scale = radial_pattern->cd2.center.y / circles[1].center.y;
+       else if (circles[1].radius)
+               scale = radial_pattern->cd2.radius / circles[1].radius;
+
        x0 = circles[0].center.x;
        y0 = circles[0].center.y;
        r0 = circles[0].radius;
-       dx = circles[1].center.x - x0;
-       dy = circles[1].center.y - y0;
-       dr = circles[1].radius   - r0;
+       dx = radial_pattern->cd2.center.x - radial_pattern->cd1.center.x;
+       dy = radial_pattern->cd2.center.y - radial_pattern->cd1.center.y;
+       dr = radial_pattern->cd2.radius   - radial_pattern->cd1.radius;
 
-       operand->gradient.a = dx * dx + dy * dy - dr * dr;
+       operand->gradient.a = (dx * dx + dy * dy - dr * dr)/(scale * scale);
        operand->gradient.radius_0 = r0;
-       operand->gradient.circle_d.center.x = dx;
-       operand->gradient.circle_d.center.y = dy;
-       operand->gradient.circle_d.radius   = dr;
+       operand->gradient.circle_d.center.x = dx / scale;
+       operand->gradient.circle_d.center.y = dy / scale;
+       operand->gradient.circle_d.radius       = dr / scale;
 
        if (operand->gradient.a == 0)
            operand->type = CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0;
@@ -745,6 +985,7 @@ _cairo_gl_gradient_operand_init (cairo_gl_operand_t *operand,
     }
 
     operand->gradient.extend = pattern->extend;
+    operand->gradient.texgen = use_texgen;
 
     return CAIRO_STATUS_SUCCESS;
 }
@@ -764,6 +1005,7 @@ _cairo_gl_operand_copy (cairo_gl_operand_t *dst,
        _cairo_gl_gradient_reference (dst->gradient.gradient);
        break;
     case CAIRO_GL_OPERAND_TEXTURE:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
        cairo_surface_reference (&dst->texture.owns_surface->base);
        break;
     default:
@@ -789,6 +1031,9 @@ _cairo_gl_operand_destroy (cairo_gl_operand_t *operand)
     case CAIRO_GL_OPERAND_TEXTURE:
        cairo_surface_destroy (&operand->texture.owns_surface->base);
        break;
+    case CAIRO_GL_OPERAND_GAUSSIAN:
+       cairo_surface_destroy (&operand->texture.owns_surface->base);
+       break;
     default:
     case CAIRO_GL_OPERAND_COUNT:
         ASSERT_NOT_REACHED;
@@ -805,7 +1050,8 @@ _cairo_gl_operand_init (cairo_gl_operand_t *operand,
                        cairo_gl_surface_t *dst,
                        const cairo_rectangle_int_t *sample,
                        const cairo_rectangle_int_t *extents,
-                       cairo_bool_t use_color_attribute)
+                       cairo_bool_t use_texgen,
+                       cairo_bool_t encode_color_as_attribute)
 {
     cairo_int_status_t status;
 
@@ -814,11 +1060,11 @@ _cairo_gl_operand_init (cairo_gl_operand_t *operand,
     case CAIRO_PATTERN_TYPE_SOLID:
        _cairo_gl_solid_operand_init (operand,
                                      &((cairo_solid_pattern_t *) pattern)->color);
-        operand->use_color_attribute = use_color_attribute;
+       operand->constant.encode_as_attribute = encode_color_as_attribute;
        return CAIRO_STATUS_SUCCESS;
     case CAIRO_PATTERN_TYPE_SURFACE:
        status = _cairo_gl_surface_operand_init (operand, pattern, dst,
-                                                sample, extents);
+                                                sample, extents, use_texgen);
        if (status == CAIRO_INT_STATUS_UNSUPPORTED)
            break;
 
@@ -826,7 +1072,8 @@ _cairo_gl_operand_init (cairo_gl_operand_t *operand,
 
     case CAIRO_PATTERN_TYPE_LINEAR:
     case CAIRO_PATTERN_TYPE_RADIAL:
-       status = _cairo_gl_gradient_operand_init (operand, pattern, dst);
+       status = _cairo_gl_gradient_operand_init (operand, pattern, dst,
+                                                 use_texgen);
        if (status == CAIRO_INT_STATUS_UNSUPPORTED)
            break;
 
@@ -854,6 +1101,7 @@ _cairo_gl_operand_get_filter (cairo_gl_operand_t *operand)
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
        filter = CAIRO_FILTER_BILINEAR;
        break;
     default:
@@ -869,6 +1117,9 @@ _cairo_gl_operand_get_gl_filter (cairo_gl_operand_t *operand)
 {
     cairo_filter_t filter = _cairo_gl_operand_get_filter (operand);
 
+    if (filter == CAIRO_FILTER_GAUSSIAN)
+       return GL_LINEAR;
+
     return filter != CAIRO_FILTER_FAST && filter != CAIRO_FILTER_NEAREST ?
           GL_LINEAR :
           GL_NEAREST;
@@ -877,7 +1128,8 @@ _cairo_gl_operand_get_gl_filter (cairo_gl_operand_t *operand)
 cairo_bool_t
 _cairo_gl_operand_get_use_atlas (cairo_gl_operand_t *operand)
 {
-    if (operand->type != CAIRO_GL_OPERAND_TEXTURE)
+    if (operand->type != CAIRO_GL_OPERAND_TEXTURE &&
+       operand->type != CAIRO_GL_OPERAND_GAUSSIAN)
        return FALSE;
 
     return operand->texture.use_atlas;
@@ -890,6 +1142,7 @@ _cairo_gl_operand_get_extend (cairo_gl_operand_t *operand)
 
     switch ((int) operand->type) {
     case CAIRO_GL_OPERAND_TEXTURE:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
        if (! operand->texture.use_atlas)
            extend = operand->texture.attributes.extend;
        else
@@ -916,6 +1169,7 @@ _cairo_gl_operand_get_atlas_extend (cairo_gl_operand_t *operand)
 
     switch ((int) operand->type) {
     case CAIRO_GL_OPERAND_TEXTURE:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
        if (operand->texture.use_atlas)
            extend = operand->texture.extend;
        else
@@ -934,62 +1188,61 @@ _cairo_gl_operand_bind_to_shader (cairo_gl_context_t *ctx,
                                   cairo_gl_operand_t *operand,
                                   cairo_gl_tex_t      tex_unit)
 {
-    char uniform_name[50];
-    char *custom_part;
-    static const char *names[] = { "source", "mask" };
-
-    strcpy (uniform_name, names[tex_unit]);
-    custom_part = uniform_name + strlen (names[tex_unit]);
+    const cairo_matrix_t *texgen = NULL;
 
     switch (operand->type) {
     default:
     case CAIRO_GL_OPERAND_COUNT:
         ASSERT_NOT_REACHED;
     case CAIRO_GL_OPERAND_NONE:
-        break;
+       return;
     case CAIRO_GL_OPERAND_CONSTANT:
-        if (!operand->use_color_attribute) {
-            strcpy (custom_part, "_constant");
-            _cairo_gl_shader_bind_vec4 (ctx,
-                                        uniform_name,
-                                        operand->constant.color[0],
-                                        operand->constant.color[1],
-                                        operand->constant.color[2],
-                                        operand->constant.color[3]);
-        }
-        break;
+       if (operand->constant.encode_as_attribute)
+           return;
+
+       _cairo_gl_shader_bind_vec4 (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                       CAIRO_GL_UNIFORM_CONSTANT, tex_unit),
+                                   operand->constant.color[0],
+                                   operand->constant.color[1],
+                                   operand->constant.color[2],
+                                   operand->constant.color[3]);
+        return;
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
-       strcpy (custom_part, "_a");
        _cairo_gl_shader_bind_float  (ctx,
-                                     uniform_name,
+                                     _cairo_gl_shader_uniform_for_texunit (
+                                         CAIRO_GL_UNIFORM_A, tex_unit),
                                      operand->gradient.a);
        /* fall through */
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
-       strcpy (custom_part, "_circle_d");
-       _cairo_gl_shader_bind_vec3   (ctx,
-                                     uniform_name,
+       _cairo_gl_shader_bind_vec3 (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                       CAIRO_GL_UNIFORM_CIRCLE_D, tex_unit),
                                      operand->gradient.circle_d.center.x,
                                      operand->gradient.circle_d.center.y,
                                      operand->gradient.circle_d.radius);
-       strcpy (custom_part, "_radius_0");
        _cairo_gl_shader_bind_float  (ctx,
-                                     uniform_name,
+                                     _cairo_gl_shader_uniform_for_texunit (
+                                         CAIRO_GL_UNIFORM_RADIUS_0, tex_unit),
                                      operand->gradient.radius_0);
         /* fall through */
     case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
     case CAIRO_GL_OPERAND_TEXTURE:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
        /*
         * For GLES2 we use shaders to implement GL_CLAMP_TO_BORDER (used
         * with CAIRO_EXTEND_NONE). When bilinear filtering is enabled,
         * these shaders need the texture dimensions for their calculations.
         */
-       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES &&
+       if ((ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 ||
+            ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3) &&
            _cairo_gl_operand_get_extend (operand) == CAIRO_EXTEND_NONE &&
            _cairo_gl_operand_get_gl_filter (operand) == GL_LINEAR)
        {
            float width, height;
-           if (operand->type == CAIRO_GL_OPERAND_TEXTURE) {
+           if (operand->type == CAIRO_GL_OPERAND_TEXTURE ||
+               operand->type == CAIRO_GL_OPERAND_GAUSSIAN) {
                width = operand->texture.surface->width;
                height = operand->texture.surface->height;
            }
@@ -997,19 +1250,101 @@ _cairo_gl_operand_bind_to_shader (cairo_gl_context_t *ctx,
                width = operand->gradient.gradient->cache_entry.size,
                height = 1;
            }
-           strcpy (custom_part, "_texdims");
-           _cairo_gl_shader_bind_vec2 (ctx, uniform_name, width, height);
+           if (operand->type != CAIRO_GL_OPERAND_GAUSSIAN)
+               _cairo_gl_shader_bind_vec2 (ctx,
+                                           _cairo_gl_shader_uniform_for_texunit (
+                                               CAIRO_GL_UNIFORM_TEXDIMS, tex_unit),
+                                           width, height);
        }
-        break;
+
+       break;
+    }
+
+    if (operand->type == CAIRO_GL_OPERAND_GAUSSIAN &&
+       operand->pass == 1) {
+       float x_axis = 1.0;
+       float y_axis = 0.0;
+       float temp_width;
+       float near_zero = 0.00001;
+
+       _cairo_gl_shader_bind_float (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                           CAIRO_GL_UNIFORM_BLUR_X_AXIS, tex_unit),
+                                   x_axis);
+       _cairo_gl_shader_bind_float (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                           CAIRO_GL_UNIFORM_BLUR_Y_AXIS, tex_unit),
+                                   y_axis);
+       _cairo_gl_shader_bind_int (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                           CAIRO_GL_UNIFORM_BLUR_RADIUS, tex_unit),
+                                   operand->texture.x_radius);
+
+       temp_width = cairo_gl_surface_get_width (&operand->texture.surface->base);
+       temp_width = (temp_width == 0) ? near_zero : temp_width;
+
+       _cairo_gl_shader_bind_float (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                           CAIRO_GL_UNIFORM_BLUR_STEP, tex_unit),
+                                   1.0 / temp_width);
+
+       _cairo_gl_shader_bind_float_array (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                           CAIRO_GL_UNIFORM_BLURS, tex_unit),
+                                   operand->texture.x_radius * 2 + 1,
+                                   &operand->texture.coef[0]);
+    }
+    else if (operand->type == CAIRO_GL_OPERAND_GAUSSIAN &&
+            operand->pass == 2) {
+       float x_axis = 0.0;
+       float y_axis = 1.0;
+
+       _cairo_gl_shader_bind_float (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                           CAIRO_GL_UNIFORM_BLUR_X_AXIS, tex_unit),
+                                   x_axis);
+       _cairo_gl_shader_bind_float (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                           CAIRO_GL_UNIFORM_BLUR_Y_AXIS, tex_unit),
+                                   y_axis);
+       _cairo_gl_shader_bind_int (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                           CAIRO_GL_UNIFORM_BLUR_RADIUS, tex_unit),
+                                   operand->texture.y_radius);
+
+       _cairo_gl_shader_bind_float (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                           CAIRO_GL_UNIFORM_BLUR_STEP, tex_unit),
+                                   1.0 / cairo_gl_surface_get_height (&operand->texture.surface->base));
+
+       _cairo_gl_shader_bind_float_array (ctx,
+                                   _cairo_gl_shader_uniform_for_texunit (
+                                           CAIRO_GL_UNIFORM_BLURS, tex_unit),
+                                   operand->texture.y_radius * 2 + 1,
+                                   &operand->texture.coef[0]);
     }
-}
 
+    if (operand->type == CAIRO_GL_OPERAND_TEXTURE ||
+        operand->type == CAIRO_GL_OPERAND_GAUSSIAN) {
+           if (operand->texture.texgen)
+                   texgen = &operand->texture.attributes.matrix;
+    } else {
+           if (operand->gradient.texgen)
+                   texgen = &operand->gradient.m;
+    }
+
+    if (texgen) {
+       _cairo_gl_shader_bind_matrix (ctx,
+                                     _cairo_gl_shader_uniform_for_texunit (
+                                         CAIRO_GL_UNIFORM_TEXGEN, tex_unit),
+                                     texgen);
+    }
+}
 
 cairo_bool_t
 _cairo_gl_operand_needs_setup (cairo_gl_operand_t *dest,
                                cairo_gl_operand_t *source,
-                               unsigned int        vertex_offset,
-                               cairo_bool_t        *needs_flush)
+                               unsigned int        vertex_offset)
 {
     if (dest->type != source->type)
         return TRUE;
@@ -1018,16 +1353,18 @@ _cairo_gl_operand_needs_setup (cairo_gl_operand_t *dest,
 
     switch (source->type) {
     case CAIRO_GL_OPERAND_NONE:
+        return FALSE;
     case CAIRO_GL_OPERAND_CONSTANT:
-        if (source->use_color_attribute) {
-            *needs_flush = FALSE;
-            return TRUE;
-        } else {
-            return dest->constant.color[0] != source->constant.color[0] ||
-                dest->constant.color[1] != source->constant.color[1] ||
-                dest->constant.color[2] != source->constant.color[2] ||
-                dest->constant.color[3] != source->constant.color[3];
-        }
+       if (dest->constant.encode_as_attribute &&
+           source->constant.encode_as_attribute)
+           return FALSE;
+        if (dest->constant.encode_as_attribute !=
+           source->constant.encode_as_attribute)
+           return TRUE;
+        return dest->constant.color[0] != source->constant.color[0] ||
+               dest->constant.color[1] != source->constant.color[1] ||
+               dest->constant.color[2] != source->constant.color[2] ||
+               dest->constant.color[3] != source->constant.color[3];
     case CAIRO_GL_OPERAND_TEXTURE:
         return dest->texture.surface != source->texture.surface ||
                dest->texture.attributes.extend != source->texture.attributes.extend ||
@@ -1037,6 +1374,7 @@ _cairo_gl_operand_needs_setup (cairo_gl_operand_t *dest,
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
         /* XXX: improve this */
         return TRUE;
     default:
@@ -1048,29 +1386,89 @@ _cairo_gl_operand_needs_setup (cairo_gl_operand_t *dest,
 }
 
 unsigned int
-_cairo_gl_operand_get_vertex_size (cairo_gl_operand_t *operand)
+_cairo_gl_operand_get_vertex_size (const cairo_gl_operand_t *operand)
 {
     switch (operand->type) {
     default:
     case CAIRO_GL_OPERAND_COUNT:
         ASSERT_NOT_REACHED;
     case CAIRO_GL_OPERAND_NONE:
-        return 0;
     case CAIRO_GL_OPERAND_CONSTANT:
-        if (operand->use_color_attribute)
-            return 4 * sizeof (GLfloat);
-        else
-            return 0;
+        return operand->constant.encode_as_attribute ? 4 * sizeof (GLfloat) : 0;
     case CAIRO_GL_OPERAND_TEXTURE:
-       if (operand->texture.use_atlas)
-           return 6 * sizeof (GLfloat);
-       else
+    case CAIRO_GL_OPERAND_GAUSSIAN:
+       if (operand->texture.texgen) {
+           if (operand->texture.use_atlas)
+               return 4 * sizeof (GLfloat);
+           return 0;
+       }
+       else {
+           if (operand->texture.use_atlas)
+               return 6 * sizeof (GLfloat);
            return 2 * sizeof (GLfloat);
+    }
+    case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
+    case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
+        return operand->gradient.texgen ? 0 : 2 * sizeof (GLfloat);
+    }
+}
+
+void
+_cairo_gl_operand_emit (cairo_gl_operand_t *operand,
+                        GLfloat ** vb,
+                        GLfloat x,
+                        GLfloat y)
+{
+    switch (operand->type) {
+    default:
+    case CAIRO_GL_OPERAND_COUNT:
+        ASSERT_NOT_REACHED;
+    case CAIRO_GL_OPERAND_NONE:
+       break;
+    case CAIRO_GL_OPERAND_CONSTANT: {
+       if (operand->constant.encode_as_attribute) {
+           *(*vb)++ = operand->constant.color[0];
+           *(*vb)++ = operand->constant.color[1];
+           *(*vb)++ = operand->constant.color[2];
+           *(*vb)++ = operand->constant.color[3];
+       }
+       break;
+    }
     case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
-        return 2 * sizeof (GLfloat);
+       if (! operand->gradient.texgen) {
+           double s = x;
+           double t = y;
+
+           cairo_matrix_transform_point (&operand->gradient.m, &s, &t);
+
+           *(*vb)++ = s;
+           *(*vb)++ = t;
+        }
+       break;
+    case CAIRO_GL_OPERAND_TEXTURE:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
+       if (! operand->texture.texgen) {
+            cairo_surface_attributes_t *src_attributes = &operand->texture.attributes;
+            double s = x;
+            double t = y;
+
+            cairo_matrix_transform_point (&src_attributes->matrix, &s, &t);
+            *(*vb)++ = s;
+            *(*vb)++ = t;
+       }
+
+       if (operand->texture.use_atlas) {
+           *(*vb)++ = operand->texture.p1.x;
+           *(*vb)++ = operand->texture.p1.y;
+           *(*vb)++ = operand->texture.p2.x;
+           *(*vb)++ = operand->texture.p2.y;
+        }
+        break;
     }
 }
 
@@ -1078,10 +1476,10 @@ static inline cairo_int_status_t
 _cairo_gl_context_get_image_cache (cairo_gl_context_t     *ctx,
                                   cairo_gl_image_cache_t  **cache_out)
 {
-    if (! ctx->image_cache.surface)
+    if (! ctx->image_cache)
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
-    *cache_out = &(ctx->image_cache);
+    *cache_out = ctx->image_cache;
     return CAIRO_INT_STATUS_SUCCESS;
 }
 
@@ -1096,25 +1494,7 @@ _cairo_gl_image_node_destroy (cairo_rtree_node_t *node)
                                                       node);
 
     surface = image_node->original_surface;
-    image_node->node_removed = TRUE;
    /* Remove from original surface. */
-   if (image_node->original_surface &&
-       ! image_node->user_data_removed) {
-       cairo_surface_set_user_data (image_node->original_surface,
-                                    (const cairo_user_data_key_t *) surface,
-                                    (void *) NULL, NULL);
-    }
+   if (image_node->original_surface)
+       ((cairo_gl_surface_t *)surface)->image_node = NULL;
 }
-
-void
-_cairo_gl_image_node_fini (void *data)
-{
-    cairo_gl_image_t *image_node = (cairo_gl_image_t *)data;
-
-    image_node->user_data_removed = TRUE;
-
-    if (! image_node->node_removed && ! image_node->node.pinned)
-       _cairo_rtree_node_remove (&image_node->ctx->image_cache.rtree,
-                                 &image_node->node);
-}
-
old mode 100644 (file)
new mode 100755 (executable)
index aa9c3dc..c46a3e8
 
 #include <assert.h>
 
-#if CAIRO_HAS_GL_SURFACE
-#include <GL/gl.h>
-#include <GL/glext.h>
-#elif CAIRO_HAS_GLESV2_SURFACE
-#include <GLES2/gl2.h>
-#include <GLES2/gl2ext.h>
+#if CAIRO_HAS_EVASGL_SURFACE
+#include <Evas_GL.h>
+#else
+  #if CAIRO_HAS_GL_SURFACE
+  #include <GL/gl.h>
+  #include <GL/glext.h>
+  #elif CAIRO_HAS_GLESV2_SURFACE
+  #include <GLES2/gl2.h>
+  #include <GLES2/gl2ext.h>
+  #elif CAIRO_HAS_GLESV3_SURFACE
+  #include <GLES3/gl3.h>
+  #include <GLES3/gl3ext.h>
+  #endif
 #endif
 
+
 #include "cairo-gl-ext-def-private.h"
 
 #define DEBUG_GL 0
 
+#define CAIRO_GL_ENUM_UNINITIALIZED 0xFFFF
+
 #if DEBUG_GL && __GNUC__
 #define UNSUPPORTED(reason) ({ \
     fprintf (stderr, \
  * Random number that is hopefully big enough to not cause many cache evictions. */
 #define CAIRO_GL_MAX_SHADERS_PER_CONTEXT 64
 
-/* VBO size that we allocate, smaller size means we gotta flush more often */
-#define CAIRO_GL_VBO_SIZE 16384
+/* VBO size that we allocate, smaller size means we gotta flush more often,
+ * but larger means hogging more memory and can cause trouble for drivers
+ * (especially on embedded devices). */
+#define CAIRO_GL_VBO_SIZE (16*1024)
 
-#define IMAGE_CACHE_WIDTH 2048
-#define IMAGE_CACHE_HEIGHT 2048
+#define MIN_IMAGE_CACHE_WIDTH 512
+#define MIN_IMAGE_CACHE_HEIGHT 512
+#define MAX_IMAGE_CACHE_WIDTH 2048
+#define MAX_IMAGE_CACHE_HEIGHT 2048
 #define IMAGE_CACHE_MIN_SIZE 1
 #define IMAGE_CACHE_MAX_SIZE 256
+#define MIN_SCRATCH_SIZE 32
+#define MAX_SCRATCH_SIZE 1024
 
 typedef struct _cairo_gl_surface cairo_gl_surface_t;
+typedef struct _cairo_gl_image   cairo_gl_image_t;
+
+/* Mali or SGX driver */
+typedef enum _cairo_gl_multisample_ext_type {
+    CAIRO_GL_EXT_MULTISAMPLE_TO_TEXTURE,
+    CAIRO_GL_IMG_MULTISAMPLE_TO_TEXTURE,
+    CAIRO_GL_NONE_MULTISAMPLE_TO_TEXTURE
+} cairo_gl_multisample_ext_type;
+
+/* GL blur stages */
+typedef enum _cairo_blur_stage {
+    CAIRO_GL_BLUR_STAGE_NONE,
+    CAIRO_GL_BLUR_STAGE_0,     /* shrink stage  */
+    CAIRO_GL_BLUR_STAGE_1,     /* x/y pass      */
+    CAIRO_GL_BLUR_STAGE_2      /* enlarge stage */
+} cairo_blur_stage_t;
 
 /* GL flavor */
 typedef enum cairo_gl_flavor {
     CAIRO_GL_FLAVOR_NONE = 0,
     CAIRO_GL_FLAVOR_DESKTOP = 1,
-    CAIRO_GL_FLAVOR_ES = 2
+    CAIRO_GL_FLAVOR_ES2 = 2,
+    CAIRO_GL_FLAVOR_ES3 = 3
 } cairo_gl_flavor_t;
 
+/* The order here is sensitive because of the logic of
+ *_cairo_gl_shader_uniform_for_texunit. */
+typedef enum cairo_gl_uniform_t {
+    CAIRO_GL_UNIFORM_TEXDIMS,    /* "source_texdims" */
+    CAIRO_GL_UNIFORM_TEXGEN,     /* "source_texgen" */
+    CAIRO_GL_UNIFORM_CONSTANT,   /* "source_constant" */
+    CAIRO_GL_UNIFORM_SAMPLER,    /* "source_sampler" */
+    CAIRO_GL_UNIFORM_A,          /* "source_a" */
+    CAIRO_GL_UNIFORM_CIRCLE_D,   /* "source_circle_d" */
+    CAIRO_GL_UNIFORM_RADIUS_0,   /* "source_radius_0" */
+    CAIRO_GL_UNIFORM_BLUR_RADIUS,/* "source_blur_radius" */
+    CAIRO_GL_UNIFORM_BLURS,     /* "source_blurs" */
+    CAIRO_GL_UNIFORM_BLUR_STEP,         /* "source_blurstep" */
+    CAIRO_GL_UNIFORM_BLUR_X_AXIS, /* "source_blur_x_axis" */
+    CAIRO_GL_UNIFORM_BLUR_Y_AXIS, /* "source_blur_y_axis" */
+    CAIRO_GL_UNIFORM_ALPHA,      /* "source_alpha */
+
+    CAIRO_GL_UNIFORM_MASK_TEXDIMS,      /* "mask_texdims" */
+    CAIRO_GL_UNIFORM_MASK_TEXGEN,       /* "mask_texgen" */
+    CAIRO_GL_UNIFORM_MASK_CONSTANT,     /* "mask_constant" */
+    CAIRO_GL_UNIFORM_MASK_SAMPLER,      /* "mask_sampler" */
+    CAIRO_GL_UNIFORM_MASK_A,            /* "mask_a" */
+    CAIRO_GL_UNIFORM_MASK_CIRCLE_D,     /* "mask_circle_d" */
+    CAIRO_GL_UNIFORM_MASK_RADIUS_0,     /* "mask_radius_0" */
+    CAIRO_GL_UNIFORM_MASK_BLUR_RADIUS,  /* "mask_blur_radius */
+    CAIRO_GL_UNIFORM_MASK_BLURS,       /* "mask_blurs */
+    CAIRO_GL_UNIFORM_MASK_BLUR_STEP,   /* "mask_blur_step" */
+    CAIRO_GL_UNIFORM_MASK_BLUR_X_AXIS,   /* "mask_blur_x_axis" */
+    CAIRO_GL_UNIFORM_MASK_BLUR_Y_AXIS,   /* "mask_blur_y_axis" */
+    CAIRO_GL_UNIFORM_MASK_ALPHA,        /* "mask_alpha" */
+
+    CAIRO_GL_UNIFORM_PROJECTION_MATRIX, /* "ModelViewProjectionMatrix" */
+
+
+    CAIRO_GL_UNIFORM_MAX
+} cairo_gl_uniform_t;
+
 /* Indices for vertex attributes used by BindAttribLocation etc */
 enum {
     CAIRO_GL_VERTEX_ATTRIB_INDEX = 0,
@@ -130,6 +200,7 @@ typedef enum cairo_gl_operand_type {
     CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0,
     CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE,
     CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT,
+    CAIRO_GL_OPERAND_GAUSSIAN,
 
     CAIRO_GL_OPERAND_COUNT
 } cairo_gl_operand_type_t;
@@ -145,18 +216,24 @@ typedef enum cairo_gl_draw_mode {
  */
 typedef struct cairo_gl_operand {
     cairo_gl_operand_type_t type;
+    int pass; /* 0 none, 1, x-axis, 2, y-axis */
     union {
        struct {
            GLuint tex;
            cairo_gl_surface_t *surface;
            cairo_gl_surface_t *owns_surface;
            cairo_surface_attributes_t attributes;
+           int texgen;
            cairo_bool_t use_atlas;
            cairo_extend_t extend;
-               struct { float x, y; } p1, p2;
+           struct { float x, y; } p1, p2;
+           float coef[17];        /* max 1x/x1 kernel size */
+           int x_radius;
+           int y_radius;
        } texture;
        struct {
            GLfloat color[4];
+           cairo_bool_t encode_as_attribute;
        } constant;
        struct {
            cairo_gl_gradient_t *gradient;
@@ -164,10 +241,10 @@ typedef struct cairo_gl_operand {
            cairo_circle_double_t circle_d;
            double radius_0, a;
            cairo_extend_t extend;
+           int texgen;
        } gradient;
     };
     unsigned int vertex_offset;
-    cairo_bool_t use_color_attribute;
 } cairo_gl_operand_t;
 
 typedef struct cairo_gl_source {
@@ -185,28 +262,38 @@ struct _cairo_gl_surface {
     GLuint fb; /* GL framebuffer object wrapping our data. */
     GLuint depth_stencil; /* GL renderbuffer object for holding stencil buffer clip. */
 
-#if CAIRO_HAS_GL_SURFACE
     GLuint msaa_rb; /* The ARB MSAA path uses a renderbuffer. */
     GLuint msaa_fb;
-#endif
     GLuint msaa_depth_stencil;
 
     cairo_bool_t stencil_and_msaa_caps_initialized;
     cairo_bool_t supports_stencil; /* Stencil support for for non-texture surfaces. */
     cairo_bool_t supports_msaa;
+    cairo_bool_t num_samples;
+    cairo_bool_t force_no_msaa;
     cairo_bool_t msaa_active; /* Whether the multisampling
                                 framebuffer is active or not. */
+    cairo_bool_t content_synced; /* texture and renderbuffer content
+                                   synced */
+    cairo_bool_t content_cleared; /* last draw is glClear */
+    cairo_clip_t *clip_on_stencil_buffer;
 
     int owns_tex;
     cairo_bool_t needs_update;
+    cairo_bool_t size_changed;
 
     cairo_region_t *clip_region;
     GLuint bounded_tex;                /* bounded tex for non-texture surface */
 
     /* Indicate whether we need to cache it in image_cache. */
     cairo_bool_t needs_to_cache;
+    cairo_bool_t force_no_cache;
+    double image_content_scale_x;
+    double image_content_scale_y;
+    cairo_blur_stage_t blur_stage;
     /* Damage is too expensive to check, we use this flag. */
     cairo_bool_t content_changed;
+    cairo_gl_image_t *image_node;
 };
 
 typedef struct cairo_gl_glyph_cache {
@@ -220,27 +307,24 @@ typedef enum cairo_gl_tex {
     CAIRO_GL_TEX_TEMP = 2
 } cairo_gl_tex_t;
 
-typedef struct cairo_gl_shader_impl cairo_gl_shader_impl_t;
-
 typedef struct cairo_gl_shader {
     GLuint fragment_shader;
     GLuint program;
-    cairo_hash_table_t *uniform_cache;
+    GLint uniforms[CAIRO_GL_UNIFORM_MAX];
 } cairo_gl_shader_t;
 
-typedef struct cairo_gl_image_cache {
+typedef struct _cairo_gl_image_cache {
     cairo_rtree_t rtree;
     cairo_gl_surface_t *surface;
+    cairo_bool_t copy_success;
 } cairo_gl_image_cache_t;
 
-typedef struct cairo_gl_image {
+struct _cairo_gl_image {
     cairo_rtree_node_t node;
     cairo_surface_t *original_surface;
     struct { float x, y; } p1, p2;
     cairo_gl_context_t *ctx;
-    cairo_bool_t node_removed;
-    cairo_bool_t user_data_removed;
-} cairo_gl_image_t;
+};
 
 typedef enum cairo_gl_shader_in {
     CAIRO_GL_SHADER_IN_NORMAL,
@@ -279,17 +363,83 @@ typedef struct _cairo_gl_hairline_closure
 
 typedef enum cairo_gl_var_type {
   CAIRO_GL_VAR_NONE,
-  CAIRO_GL_VAR_COLOR,
   CAIRO_GL_VAR_TEXCOORDS,
+  CAIRO_GL_VAR_TEXGEN,
+  CAIRO_GL_VAR_COLOR,
 } cairo_gl_var_type_t;
 
-#define cairo_gl_var_type_hash(src,mask,src_atlas_extend,mask_atlas_extend,src_use_atlas,mask_use_atlas, spans,dest) ((spans) << 11) | ((mask) << 9 | (src << 7) | (mask_atlas_extend << 5) | (src_atlas_extend << 3) | (mask_use_atlas << 2) | (src_use_atlas << 1) | (dest))
-#define CAIRO_GL_VAR_TYPE_MAX ((CAIRO_GL_VAR_TEXCOORDS << 11) | (CAIRO_GL_VAR_TEXCOORDS << 9) | (CAIRO_GL_VAR_TEXCOORDS << 5) | CAIRO_GL_VAR_TEXCOORDS)
+typedef enum cairo_gl_primitive_type {
+    CAIRO_GL_PRIMITIVE_TYPE_TRIANGLES,
+    CAIRO_GL_PRIMITIVE_TYPE_TRISTRIPS
+} cairo_gl_primitive_type_t;
+
+typedef void (*cairo_gl_emit_rect_t) (cairo_gl_context_t *ctx,
+                                     GLfloat x1, GLfloat y1,
+                                     GLfloat x2, GLfloat y2);
+
+typedef void (*cairo_gl_emit_span_t) (cairo_gl_context_t *ctx,
+                                     GLfloat x1, GLfloat y1,
+                                     GLfloat x2, GLfloat y2,
+                                     uint8_t alpha);
+
+typedef void (*cairo_gl_emit_glyph_t) (cairo_gl_context_t *ctx,
+                                      GLfloat x1, GLfloat y1,
+                                      GLfloat x2, GLfloat y2,
+                                      GLfloat glyph_x1, GLfloat glyph_y1,
+                                      GLfloat glyph_x2, GLfloat glyph_y2);
+
+#define cairo_gl_var_type_hash(src,mask,src_atlas_extend,mask_atlas_extend,src_use_atlas,mask_use_atlas,spans,dest) ((spans) << 13) | ((mask) << 10 | (src << 7) | (mask_atlas_extend << 5) | (src_atlas_extend << 3) | (mask_use_atlas << 2) | (src_use_atlas << 1) | (dest))
+#define CAIRO_GL_VAR_TYPE_MAX (1 << 14)
 
 typedef void (*cairo_gl_generic_func_t)(void);
-typedef cairo_gl_generic_func_t (*cairo_gl_get_proc_addr_func_t)(const char *procname);
+typedef cairo_gl_generic_func_t (*cairo_gl_get_proc_addr_func_t)(void *data, const char *procname);
 
 typedef struct _cairo_gl_dispatch {
+    /* common */
+    void (*ActiveTexture) (GLenum texture);
+    void (*BindTexture) (GLenum target, GLuint texture);
+    void (*BlendFunc) (GLenum sfactor, GLenum dfactor);
+    void (*BlendFuncSeparate) (GLenum srcRGB, GLenum dstRGB,
+                              GLenum srcAlpha, GLenum dstAlpha);
+    void (*Clear) (GLbitfield mask);
+    void (*ClearColor) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+    void (*ClearStencil) (GLint s);
+    void (*ColorMask) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+    void (*DeleteTextures) (GLsizei n, const GLuint *textures);
+       void (*DepthMask)(GLboolean flag);
+    void (*Disable) (GLenum cap);
+    void (*DrawArrays) (GLenum mode, GLint first, GLsizei count);
+    void (*DrawElements) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
+    void (*Enable) (GLenum cap);
+    void (*Flush) (void);
+    void (*GenTextures) (GLsizei n, GLuint *textures);
+    void (*GetBooleanv) (GLenum pname, GLboolean *data);
+    GLenum (*GetError) (void);
+    void (*GetFloatv) (GLenum pname, GLfloat *data);
+    void (*GetIntegerv) (GLenum pname, GLint *data);
+    const GLubyte *(*GetString) (GLenum pname);
+    void (*PixelStorei) (GLenum pname, GLint param);
+    void (*ReadPixels) (GLint x, GLint y, GLsizei width, GLsizei height,
+                       GLenum format, GLenum type, GLvoid *data);
+    void (*Scissor) (GLint x, GLint y, GLsizei width, GLsizei height);
+    void (*StencilFunc) (GLenum func, GLint ref, GLuint mask);
+    void (*StencilMask) (GLuint mask);
+    void (*StencilOp) (GLenum sfail, GLenum dpfail, GLenum dppass);
+    void (*TexSubImage2D) (GLenum target, GLint level,
+                          GLint xoffset, GLint yoffset,
+                          GLsizei width, GLsizei height,
+                          GLenum format, GLenum type, const GLvoid *data);
+    void (*TexImage2D) (GLenum target, GLint level, GLenum internalformat,
+                       GLsizei width, GLsizei height,
+                       GLint border, GLenum format,
+                       GLenum type, const GLvoid *data);
+    void (*TexParameteri) (GLenum target, GLenum pname, GLint param);
+#if defined(CAIRO_HAS_GL_SURFACE) || defined(CAIRO_HAS_EVASGL_SURFACE)
+    void (*DrawBuffer) (GLenum buf);
+    void (*ReadBuffer) (GLenum buf);
+#endif
+    void (*Viewport) (GLint x, GLint y, GLsizei width, GLsizei height);
+
     /* Buffers */
     void (*GenBuffers) (GLsizei n, GLuint *buffers);
     void (*BindBuffer) (GLenum target, GLuint buffer);
@@ -325,6 +475,8 @@ typedef struct _cairo_gl_dispatch {
     void (*Uniform3f) (GLint location, GLfloat x, GLfloat y, GLfloat z);
     void (*Uniform4f) (GLint location, GLfloat x, GLfloat y, GLfloat z,
                         GLfloat w);
+    void (*Uniform1fv) (GLint location, GLsizei count, const GLfloat *v);
+
     void (*UniformMatrix3fv) (GLint location, GLsizei count,
                                GLboolean transpose, const GLfloat *value);
     void (*UniformMatrix4fv) (GLint location, GLsizei count,
@@ -366,13 +518,36 @@ typedef struct _cairo_gl_dispatch {
                                             GLint level, GLsizei samples);
 } cairo_gl_dispatch_t;
 
+typedef struct _cairo_gl_states {
+    cairo_rectangle_int_t viewport_box;
+
+    GLclampf clear_red;
+    GLclampf clear_green;
+    GLclampf clear_blue;
+    GLclampf clear_alpha;
+
+    cairo_bool_t blend_enabled;
+
+    GLenum src_color_factor;
+    GLenum dst_color_factor;
+    GLenum src_alpha_factor;
+    GLenum dst_alpha_factor;
+
+    GLenum active_texture;
+
+    cairo_bool_t depth_mask;
+
+    cairo_bool_t scissor_test_enabled;
+    cairo_bool_t stencil_test_enabled;
+
+} cairo_gl_states_t;
+
 struct _cairo_gl_context {
     cairo_device_t base;
 
     const cairo_compositor_t *compositor;
 
     GLuint texture_load_pbo;
-    GLuint vbo;
     GLint max_framebuffer_size;
     GLint max_texture_size;
     GLint max_textures;
@@ -380,16 +555,19 @@ struct _cairo_gl_context {
 
     GLint num_samples;
     cairo_bool_t supports_msaa;
+    char *vb;
 
-    const cairo_gl_shader_impl_t *shader_impl;
+    cairo_bool_t has_shader_support;
 
-    GLuint vertex_shaders[CAIRO_GL_VAR_TYPE_MAX + 1];
+    GLuint vertex_shaders[CAIRO_GL_VAR_TYPE_MAX];
     cairo_gl_shader_t fill_rectangles_shader;
     cairo_cache_t shaders;
 
     cairo_cache_t gradients;
 
-    cairo_gl_glyph_cache_t glyph_cache[2];
+       /* cache[0] for gray font, cache[1] for rgba component alpha
+        * cache[2] for color glyph */
+       cairo_gl_glyph_cache_t glyph_cache[3];
     cairo_list_t fonts;
 
     cairo_gl_surface_t *current_target;
@@ -400,12 +578,11 @@ struct _cairo_gl_context {
     cairo_gl_operand_t operands[2];
     cairo_bool_t spans;
 
-    char *vb;
-    char *vb_mem;
     unsigned int vb_offset;
     unsigned int vertex_size;
     cairo_region_t *clip_region;
-    cairo_clip_t *clip;
+
+    cairo_gl_primitive_type_t primitive_type;
     cairo_array_t tristrip_indices;
 
     cairo_bool_t has_mesa_pack_invert;
@@ -415,21 +592,24 @@ struct _cairo_gl_context {
     cairo_bool_t has_map_buffer;
     cairo_bool_t has_packed_depth_stencil;
     cairo_bool_t has_npot_repeat;
+    cairo_bool_t can_read_bgra;
 
     cairo_bool_t thread_aware;
 
-    /* GL stencil and depth buffers are shared among all surfaces
-       to preserve memory. In the future this could be a pool of renderbuffers
-       with an eviction policy. */
-    GLuint shared_depth_stencil;
-    int shared_depth_stencil_width;
-    int shared_depth_stencil_height;
-    GLuint shared_msaa_depth_stencil;
-    int shared_msaa_depth_stencil_width;
-    int shared_msaa_depth_stencil_height;
-
-    cairo_gl_image_cache_t image_cache;
+    cairo_gl_image_cache_t *image_cache;
     cairo_gl_draw_mode_t draw_mode;
+    cairo_gl_states_t states_cache;
+
+    /* Intermediate mask surface for glyph rendering. Created on first access, enlarged on demand. */
+    cairo_gl_surface_t *glyph_mask;
+    /* Intermediate blur surface for gaussian blur. Created on first access, enlarged on demand. */
+    cairo_gl_surface_t *source_scratch_surfaces[2];
+    cairo_gl_surface_t *mask_scratch_surfaces[2];
+    cairo_gl_surface_t *shadow_scratch_surfaces[3];
+    cairo_gl_surface_t *shadow_masks[4];
+    cairo_bool_t source_scratch_in_use;
+    cairo_bool_t has_angle_multisampling;
+    cairo_gl_multisample_ext_type msaa_type;
 
     void (*acquire) (void *ctx);
     void (*release) (void *ctx);
@@ -449,6 +629,7 @@ typedef struct _cairo_gl_composite {
     cairo_bool_t spans;
 
     cairo_clip_t *clip;
+    cairo_bool_t multisample;
 } cairo_gl_composite_t;
 
 typedef struct _cairo_gl_font {
@@ -458,12 +639,12 @@ typedef struct _cairo_gl_font {
 } cairo_gl_font_t;
 
 static cairo_always_inline GLenum
-_cairo_gl_get_error (void)
+_cairo_gl_get_error (cairo_gl_context_t *ctx)
 {
-    GLenum err = glGetError();
+    GLenum err = ctx->dispatch.GetError();
 
     if (unlikely (err))
-        while (glGetError ());
+        while (ctx->dispatch.GetError ());
 
     return err;
 }
@@ -478,6 +659,9 @@ cairo_private cairo_status_t
 _cairo_gl_context_init (cairo_gl_context_t *ctx);
 
 cairo_private void
+_cairo_gl_context_reset (cairo_gl_context_t *ctx);
+
+cairo_private void
 _cairo_gl_surface_init (cairo_device_t *device,
                        cairo_gl_surface_t *surface,
                        cairo_content_t content,
@@ -494,12 +678,16 @@ _cairo_gl_surface_draw_image (cairo_gl_surface_t *dst,
                              cairo_image_surface_t *src,
                              int src_x, int src_y,
                              int width, int height,
-                             int dst_x, int dst_y);
+                             int dst_x, int dst_y,
+                             cairo_bool_t force_flush);
+
+cairo_private cairo_int_status_t
+_cairo_gl_surface_resolve_multisampling (cairo_gl_surface_t *surface);
 
 static cairo_always_inline cairo_bool_t
 _cairo_gl_device_has_glsl (cairo_device_t *device)
 {
-    return ((cairo_gl_context_t *) device)->shader_impl != NULL;
+    return ((cairo_gl_context_t *) device)->has_shader_support;
 }
 
 static cairo_always_inline cairo_bool_t
@@ -519,7 +707,7 @@ _cairo_gl_context_acquire (cairo_device_t *device,
        return status;
 
     /* clear potential previous GL errors */
-    _cairo_gl_get_error ();
+    _cairo_gl_get_error ((cairo_gl_context_t *) device);
 
     *ctx = (cairo_gl_context_t *) device;
     return CAIRO_STATUS_SUCCESS;
@@ -530,7 +718,7 @@ _cairo_gl_context_release (cairo_gl_context_t *ctx, cairo_status_t status)
 {
     GLenum err;
 
-    err = _cairo_gl_get_error ();
+    err = _cairo_gl_get_error (ctx);
 
     if (unlikely (err)) {
         cairo_status_t new_status;
@@ -545,15 +733,31 @@ _cairo_gl_context_release (cairo_gl_context_t *ctx, cairo_status_t status)
 }
 
 cairo_private void
-_cairo_gl_activate_surface_as_nonmultisampling (cairo_gl_context_t *ctx,
-                                               cairo_gl_surface_t *surface);
-
-cairo_private void
 _cairo_gl_context_set_destination (cairo_gl_context_t *ctx,
                                   cairo_gl_surface_t *surface,
                                   cairo_bool_t multisampling);
 
 cairo_private void
+_cairo_gl_context_bind_framebuffer (cairo_gl_context_t *ctx,
+                                   cairo_gl_surface_t *surface,
+                                   cairo_bool_t multisampling);
+
+cairo_private cairo_gl_emit_rect_t
+_cairo_gl_context_choose_emit_rect (cairo_gl_context_t *ctx);
+
+cairo_private void
+_cairo_gl_context_emit_rect (cairo_gl_context_t *ctx,
+                            GLfloat x1, GLfloat y1,
+                            GLfloat x2, GLfloat y2);
+
+cairo_private cairo_gl_emit_span_t
+_cairo_gl_context_choose_emit_span (cairo_gl_context_t *ctx);
+
+cairo_private cairo_gl_emit_glyph_t
+_cairo_gl_context_choose_emit_glyph (cairo_gl_context_t *ctx,
+                                                                       const cairo_bool_t is_color_glyph);
+
+cairo_private void
 _cairo_gl_context_activate (cairo_gl_context_t *ctx,
                             cairo_gl_tex_t      tex_unit);
 
@@ -564,11 +768,41 @@ cairo_private cairo_bool_t
 _cairo_gl_ensure_stencil (cairo_gl_context_t *ctx,
                          cairo_gl_surface_t *surface);
 
-cairo_private void
-_disable_scissor_buffer (void);
+static cairo_always_inline void
+_disable_stencil_buffer (cairo_gl_context_t *ctx)
+{
+    if (ctx->states_cache.stencil_test_enabled == TRUE) {
+        ctx->dispatch.Disable (GL_STENCIL_TEST);
+        ctx->states_cache.stencil_test_enabled = FALSE;
+    }
+}
 
-cairo_private void
-_disable_stencil_buffer (void);
+static cairo_always_inline void
+_disable_scissor_buffer (cairo_gl_context_t *ctx)
+{
+    if (ctx->states_cache.scissor_test_enabled == TRUE) {
+        ctx->dispatch.Disable (GL_SCISSOR_TEST);
+        ctx->states_cache.scissor_test_enabled = FALSE;
+    }
+}
+
+static cairo_always_inline void
+_enable_stencil_buffer (cairo_gl_context_t *ctx)
+{
+    if (ctx->states_cache.stencil_test_enabled == FALSE) {
+        ctx->dispatch.Enable (GL_STENCIL_TEST);
+        ctx->states_cache.stencil_test_enabled = TRUE;
+    }
+}
+
+static cairo_always_inline void
+_enable_scissor_buffer (cairo_gl_context_t *ctx)
+{
+    if (ctx->states_cache.scissor_test_enabled == FALSE) {
+        ctx->dispatch.Enable (GL_SCISSOR_TEST);
+        ctx->states_cache.scissor_test_enabled = TRUE;
+    }
+}
 
 cairo_private cairo_status_t
 _cairo_gl_composite_init (cairo_gl_composite_t *setup,
@@ -579,6 +813,11 @@ _cairo_gl_composite_init (cairo_gl_composite_t *setup,
 cairo_private void
 _cairo_gl_composite_fini (cairo_gl_composite_t *setup);
 
+cairo_private cairo_status_t
+_cairo_gl_composite_set_operator (cairo_gl_composite_t *setup,
+                                 cairo_operator_t op,
+                                 cairo_bool_t assume_component_alpha);
+
 cairo_private void
 _cairo_gl_composite_set_clip_region (cairo_gl_composite_t *setup,
                                      cairo_region_t *clip_region);
@@ -589,10 +828,11 @@ _cairo_gl_composite_set_clip(cairo_gl_composite_t *setup,
 
 cairo_private cairo_int_status_t
 _cairo_gl_composite_set_source (cairo_gl_composite_t *setup,
-                               const cairo_pattern_t *pattern,
+                               const cairo_pattern_t *pattern,
                                const cairo_rectangle_int_t *sample,
                                const cairo_rectangle_int_t *extents,
-                               cairo_bool_t use_color_attribute);
+                               cairo_bool_t use_texgen,
+                               cairo_bool_t encode_color_as_attribute);
 
 cairo_private void
 _cairo_gl_composite_set_solid_source (cairo_gl_composite_t *setup,
@@ -606,7 +846,8 @@ cairo_private cairo_int_status_t
 _cairo_gl_composite_set_mask (cairo_gl_composite_t *setup,
                              const cairo_pattern_t *pattern,
                              const cairo_rectangle_int_t *sample,
-                             const cairo_rectangle_int_t *extents);
+                             const cairo_rectangle_int_t *extents,
+                             cairo_bool_t use_texgen);
 
 cairo_private void
 _cairo_gl_composite_set_mask_operand (cairo_gl_composite_t *setup,
@@ -615,33 +856,16 @@ _cairo_gl_composite_set_mask_operand (cairo_gl_composite_t *setup,
 cairo_private void
 _cairo_gl_composite_set_spans (cairo_gl_composite_t *setup);
 
+cairo_private void
+_cairo_gl_composite_set_multisample (cairo_gl_composite_t *setup);
+
 cairo_private cairo_status_t
 _cairo_gl_composite_begin (cairo_gl_composite_t *setup,
                            cairo_gl_context_t **ctx);
 
 cairo_private cairo_status_t
-_cairo_gl_composite_begin_multisample (cairo_gl_composite_t *setup,
-                                      cairo_gl_context_t **ctx_out,
-                                      cairo_bool_t multisampling);
-
-cairo_private void
-_cairo_gl_composite_emit_rect (cairo_gl_context_t *ctx,
-                               GLfloat x1,
-                               GLfloat y1,
-                               GLfloat x2,
-                               GLfloat y2,
-                               uint8_t alpha);
-
-cairo_private void
-_cairo_gl_composite_emit_glyph (cairo_gl_context_t *ctx,
-                                GLfloat x1,
-                                GLfloat y1,
-                                GLfloat x2,
-                                GLfloat y2,
-                                GLfloat glyph_x1,
-                                GLfloat glyph_y1,
-                                GLfloat glyph_x2,
-                                GLfloat glyph_y2);
+_cairo_gl_set_operands_and_operator (cairo_gl_composite_t *setup,
+                                    cairo_gl_context_t *ctx);
 
 cairo_private void
 _cairo_gl_composite_flush (cairo_gl_context_t *ctx);
@@ -652,6 +876,11 @@ _cairo_gl_composite_emit_quad_as_tristrip (cairo_gl_context_t      *ctx,
                                           const cairo_point_t   quad[4]);
 
 cairo_private cairo_int_status_t
+_cairo_gl_composite_emit_int_quad_as_tristrip (cairo_gl_context_t *ctx,
+                                              cairo_gl_composite_t *setup,
+                                              const int         quad[8]);
+
+cairo_private cairo_int_status_t
 _cairo_gl_composite_emit_triangle_as_tristrip (cairo_gl_context_t      *ctx,
                                               cairo_gl_composite_t     *setup,
                                               const cairo_point_t       triangle[3]);
@@ -702,7 +931,7 @@ _cairo_gl_context_fini_shaders (cairo_gl_context_t *ctx);
 static cairo_always_inline cairo_bool_t
 _cairo_gl_context_is_flushed (cairo_gl_context_t *ctx)
 {
-    return ctx->vb == NULL;
+    return ctx->vb_offset == 0;
 }
 
 cairo_private cairo_status_t
@@ -713,37 +942,51 @@ _cairo_gl_get_shader_by_type (cairo_gl_context_t *ctx,
                               cairo_gl_shader_in_t in,
                               cairo_gl_shader_t **shader);
 
+cairo_private cairo_gl_uniform_t
+_cairo_gl_shader_uniform_for_texunit (cairo_gl_uniform_t uniform,
+                                     cairo_gl_tex_t tex_unit);
+
 cairo_private void
 _cairo_gl_shader_bind_float (cairo_gl_context_t *ctx,
-                            const char *name,
+                            cairo_gl_uniform_t uniform,
                             float value);
 
 cairo_private void
+_cairo_gl_shader_bind_float_array (cairo_gl_context_t *ctx,
+                                  cairo_gl_uniform_t uniform,
+                                  int num, float *values);
+
+cairo_private void
+_cairo_gl_shader_bind_int (cairo_gl_context_t *ctx,
+                            cairo_gl_uniform_t uniform,
+                            int value);
+
+cairo_private void
 _cairo_gl_shader_bind_vec2 (cairo_gl_context_t *ctx,
-                           const char *name,
+                           cairo_gl_uniform_t uniform,
                            float value0, float value1);
 
 cairo_private void
 _cairo_gl_shader_bind_vec3 (cairo_gl_context_t *ctx,
-                           const char *name,
+                           cairo_gl_uniform_t uniform,
                            float value0,
                            float value1,
                            float value2);
 
 cairo_private void
 _cairo_gl_shader_bind_vec4 (cairo_gl_context_t *ctx,
-                           const char *name,
+                           cairo_gl_uniform_t uniform,
                            float value0, float value1,
                            float value2, float value3);
 
 cairo_private void
 _cairo_gl_shader_bind_matrix (cairo_gl_context_t *ctx,
-                             const char *name,
-                             cairo_matrix_t* m);
+                             cairo_gl_uniform_t uniform,
+                             const cairo_matrix_t* m);
 
 cairo_private void
 _cairo_gl_shader_bind_matrix4f (cairo_gl_context_t *ctx,
-                               const char *name,
+                               cairo_gl_uniform_t uniform,
                                GLfloat* gl_m);
 
 cairo_private void
@@ -754,17 +997,18 @@ cairo_private void
 _cairo_gl_shader_fini (cairo_gl_context_t *ctx, cairo_gl_shader_t *shader);
 
 cairo_private int
-_cairo_gl_get_version (void);
+_cairo_gl_get_version (cairo_gl_dispatch_t *dispatch);
 
 cairo_private cairo_gl_flavor_t
-_cairo_gl_get_flavor (void);
+_cairo_gl_get_flavor (cairo_gl_dispatch_t *dispatch);
 
 cairo_private cairo_bool_t
-_cairo_gl_has_extension (const char *ext);
+_cairo_gl_has_extension (cairo_gl_dispatch_t *dispatch, const char *ext);
 
 cairo_private cairo_status_t
 _cairo_gl_dispatch_init(cairo_gl_dispatch_t *dispatch,
-                       cairo_gl_get_proc_addr_func_t get_proc_addr);
+                       cairo_gl_get_proc_addr_func_t get_proc_addr,
+                       void *data);
 
 cairo_private cairo_int_status_t
 _cairo_gl_operand_init (cairo_gl_operand_t *operand,
@@ -772,7 +1016,8 @@ _cairo_gl_operand_init (cairo_gl_operand_t *operand,
                        cairo_gl_surface_t *dst,
                        const cairo_rectangle_int_t *sample,
                        const cairo_rectangle_int_t *extents,
-                       cairo_bool_t use_color_attribute);
+                       cairo_bool_t use_texgen,
+                       cairo_bool_t encode_color_as_attribute);
 
 cairo_private void
 _cairo_gl_solid_operand_init (cairo_gl_operand_t *operand,
@@ -791,7 +1036,7 @@ cairo_private cairo_extend_t
 _cairo_gl_operand_get_atlas_extend (cairo_gl_operand_t *operand);
 
 cairo_private unsigned int
-_cairo_gl_operand_get_vertex_size (cairo_gl_operand_t *operand);
+_cairo_gl_operand_get_vertex_size (const cairo_gl_operand_t *operand);
 
 cairo_private cairo_bool_t
 _cairo_gl_operand_get_use_atlas (cairo_gl_operand_t *operand);
@@ -799,8 +1044,7 @@ _cairo_gl_operand_get_use_atlas (cairo_gl_operand_t *operand);
 cairo_private cairo_bool_t
 _cairo_gl_operand_needs_setup (cairo_gl_operand_t *dest,
                                cairo_gl_operand_t *source,
-                               unsigned int        vertex_offset,
-                               cairo_bool_t        *needs_flush);
+                               unsigned int        vertex_offset);
 
 cairo_private void
 _cairo_gl_operand_bind_to_shader (cairo_gl_context_t *ctx,
@@ -808,6 +1052,12 @@ _cairo_gl_operand_bind_to_shader (cairo_gl_context_t *ctx,
                                   cairo_gl_tex_t      tex_unit);
 
 cairo_private void
+_cairo_gl_operand_emit (cairo_gl_operand_t *operand,
+                        GLfloat ** vb,
+                        GLfloat x,
+                        GLfloat y);
+
+cairo_private void
 _cairo_gl_operand_copy (cairo_gl_operand_t *dst,
                        const cairo_gl_operand_t *src);
 
@@ -843,7 +1093,7 @@ _cairo_gl_composite_glyphs (void                   *_dst,
                            int                          dst_y,
                            cairo_composite_glyphs_info_t *info);
 
-cairo_int_status_t
+cairo_private cairo_int_status_t
 _cairo_gl_composite_glyphs_with_clip (void                         *_dst,
                                      cairo_operator_t               op,
                                      cairo_surface_t               *_src,
@@ -852,8 +1102,7 @@ _cairo_gl_composite_glyphs_with_clip (void                     *_dst,
                                      int                            dst_x,
                                      int                            dst_y,
                                      cairo_composite_glyphs_info_t *info,
-                                     cairo_clip_t                           *clip,
-                                     cairo_bool_t                           via_msaa_compositor);
+                                     cairo_clip_t                  *clip);
 
 cairo_private void
 _cairo_gl_image_node_destroy (cairo_rtree_node_t *node);
@@ -864,8 +1113,11 @@ _cairo_gl_image_node_fini (void *data);
 cairo_private void
 _cairo_gl_image_cache_unlock (cairo_gl_context_t *ctx);
 
-cairo_int_status_t
-_cairo_gl_image_cache_init (cairo_gl_context_t *ctx);
+cairo_private cairo_int_status_t
+_cairo_gl_image_cache_init (cairo_gl_context_t *ctx, int width, int height,
+                            cairo_gl_image_cache_t **image_cache);
+cairo_private void
+_cairo_gl_image_cache_fini (cairo_gl_context_t *ctx);
 
 cairo_private void
 _cairo_gl_ensure_framebuffer (cairo_gl_context_t *ctx,
@@ -875,8 +1127,13 @@ cairo_private cairo_surface_t *
 _cairo_gl_surface_create_scratch (cairo_gl_context_t   *ctx,
                                  cairo_content_t       content,
                                  int                   width,
-                                 int                   height,
-                                 cairo_bool_t          true_alpha);
+                                 int                   height);
+
+cairo_private cairo_surface_t *
+_cairo_gl_surface_create_scratch_for_caching (cairo_gl_context_t *ctx,
+                                             cairo_content_t content,
+                                             int width,
+                                             int height);
 
 cairo_private cairo_surface_t *
 _cairo_gl_pattern_to_source (cairo_surface_t *dst,
@@ -889,12 +1146,15 @@ _cairo_gl_pattern_to_source (cairo_surface_t *dst,
 cairo_private cairo_int_status_t
 _cairo_gl_msaa_compositor_draw_clip (cairo_gl_context_t *ctx,
                                     cairo_gl_composite_t *setup,
-                                    cairo_clip_t *clip,
-                                    cairo_traps_t *traps);
+                                    cairo_clip_t *clip);
 
 cairo_private cairo_surface_t *
 _cairo_gl_white_source (void);
 
+cairo_private void
+_cairo_gl_scissor_to_rectangle (cairo_gl_surface_t *surface,
+                               const cairo_rectangle_int_t *r);
+
 static inline cairo_gl_operand_t *
 source_to_operand (cairo_surface_t *surface)
 {
@@ -908,9 +1168,6 @@ _cairo_gl_glyph_cache_unlock (cairo_gl_glyph_cache_t *cache)
     _cairo_rtree_unpin (&cache->rtree);
 }
 
-cairo_private void
-_cairo_gl_scissor_to_extents (cairo_gl_surface_t       *surface,
-                             const cairo_rectangle_int_t       *extents);
 
 
 cairo_private cairo_bool_t
@@ -949,6 +1206,31 @@ _cairo_gl_path_fixed_stroke_to_hairline (const cairo_path_fixed_t *path,
                                          cairo_path_fixed_curve_to_func_t *curve_to,
                                          cairo_path_fixed_close_path_func_t *close_path);
 
+cairo_private cairo_gl_surface_t *
+_cairo_gl_gaussian_filter (cairo_gl_surface_t *dst,
+                          const cairo_surface_pattern_t *pattern,
+                          cairo_gl_surface_t *src,
+                          cairo_rectangle_int_t *extents_out);
+
+static inline cairo_bool_t
+_cairo_gl_surface_is_scratch (cairo_gl_context_t *ctx,
+                             cairo_gl_surface_t *surface)
+{
+    int i;
+
+    for (i = 0; i < 2; i++) {
+       if (surface == ctx->source_scratch_surfaces[i] ||
+           surface == ctx->mask_scratch_surfaces[i] ||
+           surface == ctx->shadow_scratch_surfaces[i])
+           return TRUE;
+    }
+
+    if (surface == ctx->shadow_scratch_surfaces[2])
+       return TRUE;
+
+    return FALSE;
+}
+
 slim_hidden_proto (cairo_gl_surface_create);
 slim_hidden_proto (cairo_gl_surface_create_for_texture);
 
index b9a0f7d..0f8073b 100644 (file)
 #include "cairo-error-private.h"
 #include "cairo-output-stream-private.h"
 
-typedef struct cairo_gl_shader_impl {
-    void
-    (*compile_shader) (cairo_gl_context_t *ctx, GLuint *shader, GLenum type,
-                      const char *text);
-
-    void
-    (*link_shader) (cairo_gl_context_t *ctx, GLuint *program, GLuint vert, GLuint frag);
-
-    void
-    (*destroy_shader) (cairo_gl_context_t *ctx, GLuint shader);
-
-    void
-    (*destroy_program) (cairo_gl_context_t *ctx, GLuint program);
-
-    void
-    (*bind_float) (cairo_gl_context_t *ctx,
-                  cairo_gl_shader_t *shader,
-                  const char *name,
-                  float value);
-
-    void
-    (*bind_vec2) (cairo_gl_context_t *ctx,
-                 cairo_gl_shader_t *shader,
-                 const char *name,
-                 float value0,
-                 float value1);
-
-    void
-    (*bind_vec3) (cairo_gl_context_t *ctx,
-                 cairo_gl_shader_t *shader,
-                 const char *name,
-                 float value0,
-                 float value1,
-                 float value2);
-
-    void
-    (*bind_vec4) (cairo_gl_context_t *ctx,
-                 cairo_gl_shader_t *shader,
-                 const char *name,
-                 float value0, float value1,
-                 float value2, float value3);
-
-    void
-    (*bind_matrix) (cairo_gl_context_t *ctx,
-                   cairo_gl_shader_t *shader,
-                   const char *name,
-                   cairo_matrix_t* m);
-
-    void
-    (*bind_matrix4f) (cairo_gl_context_t *ctx,
-                     cairo_gl_shader_t *shader,
-                     const char *name,
-                     GLfloat* gl_m);
-
-    void
-    (*use) (cairo_gl_context_t *ctx,
-           cairo_gl_shader_t *shader);
-} shader_impl_t;
-
-static cairo_status_t
-_cairo_gl_shader_compile (cairo_gl_context_t *ctx,
-                         cairo_gl_shader_t *shader,
-                         cairo_gl_operand_t *src,
-                         cairo_gl_operand_t *mask,
-                         cairo_bool_t use_coverage,
-                         const char *fragment_text);
-
-/* OpenGL Core 2.0 API. */
-static void
-compile_shader_core_2_0 (cairo_gl_context_t *ctx, GLuint *shader,
-                        GLenum type, const char *text)
+static GLint
+_cairo_gl_shader_get_uniform_location (cairo_gl_context_t *ctx,
+                                      cairo_gl_shader_t *shader,
+                                      cairo_gl_uniform_t uniform)
 {
-    const char* strings[1] = { text };
-    GLint gl_status;
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-
-    *shader = dispatch->CreateShader (type);
-    dispatch->ShaderSource (*shader, 1, strings, 0);
-    dispatch->CompileShader (*shader);
-    dispatch->GetShaderiv (*shader, GL_COMPILE_STATUS, &gl_status);
-    if (gl_status == GL_FALSE) {
-        GLint log_size;
-        dispatch->GetShaderiv (*shader, GL_INFO_LOG_LENGTH, &log_size);
-        if (0 < log_size) {
-            char *log = _cairo_malloc (log_size);
-            GLint chars;
-
-            log[log_size - 1] = '\0';
-            dispatch->GetShaderInfoLog (*shader, log_size, &chars, log);
-            printf ("OpenGL shader compilation failed.  Shader:\n"
-                    "%s\n"
-                    "OpenGL compilation log:\n"
-                    "%s\n",
-                    text, log);
-
-            free (log);
-        } else {
-            printf ("OpenGL shader compilation failed.\n");
-        }
-
-       ASSERT_NOT_REACHED;
-    }
-}
-
-static void
-link_shader_core_2_0 (cairo_gl_context_t *ctx, GLuint *program,
-                     GLuint vert, GLuint frag)
-{
-    GLint gl_status;
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-
-    *program = dispatch->CreateProgram ();
-    dispatch->AttachShader (*program, vert);
-    dispatch->AttachShader (*program, frag);
-
-    dispatch->BindAttribLocation (*program, CAIRO_GL_VERTEX_ATTRIB_INDEX,
-                                 "Vertex");
-    dispatch->BindAttribLocation (*program, CAIRO_GL_COLOR_ATTRIB_INDEX,
-                                 "Color");
-    dispatch->BindAttribLocation (*program, CAIRO_GL_COVERAGE_ATTRIB_INDEX,
-                                 "Coverage");
-    dispatch->BindAttribLocation (*program, CAIRO_GL_TEXCOORD0_ATTRIB_INDEX,
-                                 "MultiTexCoord0");
-    dispatch->BindAttribLocation (*program, CAIRO_GL_TEXCOORD1_ATTRIB_INDEX,
-                                 "MultiTexCoord1");
-    dispatch->BindAttribLocation (*program, CAIRO_GL_START_COORD0_ATTRIB_INDEX,
-                                 "StartCoords0");
-    dispatch->BindAttribLocation (*program, CAIRO_GL_START_COORD1_ATTRIB_INDEX,
-                                 "StartCoords1");
-    dispatch->BindAttribLocation (*program, CAIRO_GL_STOP_COORD0_ATTRIB_INDEX,
-                                 "StopCoords0");
-    dispatch->BindAttribLocation (*program, CAIRO_GL_STOP_COORD1_ATTRIB_INDEX,
-                                 "StopCoords1");
-
-    dispatch->LinkProgram (*program);
-    dispatch->GetProgramiv (*program, GL_LINK_STATUS, &gl_status);
-    if (gl_status == GL_FALSE) {
-        GLint log_size;
-        dispatch->GetProgramiv (*program, GL_INFO_LOG_LENGTH, &log_size);
-        if (0 < log_size) {
-            char *log = _cairo_malloc (log_size);
-            GLint chars;
-
-            log[log_size - 1] = '\0';
-            dispatch->GetProgramInfoLog (*program, log_size, &chars, log);
-            printf ("OpenGL shader link failed:\n%s\n", log);
-
-            free (log);
-        } else {
-            printf ("OpenGL shader link failed.\n");
-        }
-
-       ASSERT_NOT_REACHED;
-    }
-}
-
-static void
-destroy_shader_core_2_0 (cairo_gl_context_t *ctx, GLuint shader)
-{
-    ctx->dispatch.DeleteShader (shader);
-}
-
-static void
-destroy_program_core_2_0 (cairo_gl_context_t *ctx, GLuint shader)
-{
-    ctx->dispatch.DeleteProgram (shader);
-}
-
-typedef struct _cairo_gl_uniform_entry {
-    cairo_hash_entry_t base;
-    char *name;
-    GLint location;
-} cairo_gl_uniform_entry_t;
-
-static void
-_cairo_gl_uniform_init_key (cairo_gl_uniform_entry_t *key,
-                           const char *name)
-{
-    unsigned long sum = 0;
-    unsigned int i;
-
-    for (i = 0; i < strlen(name); i++)
-        sum += name[i];
-    key->base.hash = sum;
-    key->name = strdup(name);
-    key->location = -1;
-}
-
-static cairo_status_t
-create_gl_uniform_entry (const char *name,
-                        cairo_gl_uniform_entry_t **entry)
-{
-    *entry = malloc (sizeof (cairo_gl_uniform_entry_t));
-    if (unlikely (*entry == NULL))
-        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
-    _cairo_gl_uniform_init_key (*entry, name);
-    return CAIRO_STATUS_SUCCESS;
-}
-
-
-static cairo_bool_t
-_cairo_gl_uniform_equal (const void *key_a,
-                        const void *key_b)
-{
-    const cairo_gl_uniform_entry_t *a = key_a;
-    const cairo_gl_uniform_entry_t *b = key_b;
-
-    return strcmp (a->name, b->name) == 0;
-}
-
-static cairo_int_status_t
-get_uniform_location (cairo_gl_context_t *ctx,
-                     cairo_gl_shader_t *shader,
-                     const char *name,
-                     GLint *location)
-{
-    cairo_gl_uniform_entry_t *key, *uniform_entry;
-    cairo_int_status_t status;
-
-    status = create_gl_uniform_entry (name, &key);
-    if (status)
-       return status;
-
-    //_cairo_gl_uniform_init_key (key, name);
-    uniform_entry = _cairo_hash_table_lookup (shader->uniform_cache,
-                                             &key->base);
-    if (uniform_entry) {
-       *location = uniform_entry->location;
-       free (key->name);
-       free (key);
-       return CAIRO_INT_STATUS_SUCCESS;
-    }
-
-    key->location = ctx->dispatch.GetUniformLocation (shader->program, name);
-    status = _cairo_hash_table_insert (shader->uniform_cache, &key->base);
-    *location = key->location;
-
-    return status;
-}
-
-static cairo_int_status_t
-bind_float_core_2_0 (cairo_gl_context_t *ctx,
-                    cairo_gl_shader_t *shader,
-                    const char *name,
-                    float value)
-{
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-    GLint location;
-    cairo_int_status_t status;
-
-    status = get_uniform_location (ctx, shader, name, &location);
-    if (status)
-       return status;
-
-    assert(location != -1);
-    dispatch->Uniform1f (location, value);
-    return CAIRO_INT_STATUS_SUCCESS;
-}
-
-static cairo_int_status_t
-bind_vec2_core_2_0 (cairo_gl_context_t *ctx,
-                   cairo_gl_shader_t *shader,
-                   const char *name,
-                   float value0,
-                   float value1)
-{
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-    GLint location;
-    cairo_int_status_t status;
-
-    status = get_uniform_location (ctx, shader, name, &location);
-    if (status)
-       return status;
-
-    assert(location != -1);
-    dispatch->Uniform2f (location, value0, value1);
-    return CAIRO_INT_STATUS_SUCCESS;
-}
-
-static cairo_int_status_t
-bind_vec3_core_2_0 (cairo_gl_context_t *ctx,
-                   cairo_gl_shader_t *shader,
-                   const char *name,
-                   float value0,
-                   float value1,
-                   float value2)
-{
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-    GLint location;
-    cairo_int_status_t status;
-
-    status = get_uniform_location (ctx, shader, name, &location);
-    if (status)
-       return status;
-
-    assert(location != -1);
-    dispatch->Uniform3f (location, value0, value1, value2);
-    return CAIRO_INT_STATUS_SUCCESS;
-}
-
-static cairo_int_status_t
-bind_vec4_core_2_0 (cairo_gl_context_t *ctx,
-                   cairo_gl_shader_t *shader,
-                   const char *name,
-                   float value0,
-                   float value1,
-                   float value2,
-                   float value3)
-{
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-    GLint location;
-    cairo_int_status_t status;
-
-    status = get_uniform_location (ctx, shader, name, &location);
-    if (status)
-       return status;
-
-    assert(location != -1);
-    dispatch->Uniform4f (location, value0, value1, value2, value3);
-    return CAIRO_INT_STATUS_SUCCESS;
-}
-
-static cairo_int_status_t
-bind_matrix_core_2_0 (cairo_gl_context_t *ctx,
-                     cairo_gl_shader_t *shader,
-                     const char *name,
-                     cairo_matrix_t* m)
-{
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-    GLint location;
-    cairo_int_status_t status;
-    float gl_m[16] = {
-        m->xx, m->xy, m->x0,
-        m->yx, m->yy, m->y0,
-        0,     0,     1
+    /* This should be kept in sync with the enum
+     * definition in cairo-gl-private.h. */
+    const char *names[CAIRO_GL_UNIFORM_MAX] = {
+       "source_texdims",
+       "source_texgen",
+       "source_constant",
+       "source_sampler",
+       "source_a",
+       "source_circle_d",
+       "source_radius_0",
+       "source_blur_radius",
+       "source_blurs",
+       "source_blur_step",
+       "source_blur_x_axis",
+       "source_blur_y_axis",
+       "source_alpha",
+       "mask_texdims",
+       "mask_texgen",
+       "mask_constant",
+       "mask_sampler",
+       "mask_a",
+       "mask_circle_d",
+       "mask_radius_0",
+       "mask_blur_radius",
+       "mask_blurs",
+       "mask_blur_step",
+       "mask_blur_x_axis",
+       "mask_blur_y_axis",
+       "mask_alpha",
+       "ModelViewProjectionMatrix"
     };
 
-    status = get_uniform_location (ctx, shader, name, &location);
-    if (status)
-       return status;
-
-    assert(location != -1);
-    dispatch->UniformMatrix3fv (location, 1, GL_TRUE, gl_m);
-    return CAIRO_INT_STATUS_SUCCESS;
-}
-
-static cairo_int_status_t
-bind_matrix4f_core_2_0 (cairo_gl_context_t *ctx,
-                       cairo_gl_shader_t *shader,
-                       const char *name,
-                       GLfloat* gl_m)
-{
-    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
-    GLint location;
-    cairo_int_status_t status;
-
-    status = get_uniform_location (ctx, shader, name, &location);
-    if (status)
-       return status;
+    if (shader->uniforms[uniform] != -1)
+       return shader->uniforms[uniform];
 
-    assert(location != -1);
-    dispatch->UniformMatrix4fv (location, 1, GL_FALSE, gl_m);
-    return CAIRO_INT_STATUS_SUCCESS;
+    shader->uniforms[uniform] =
+       ctx->dispatch.GetUniformLocation (shader->program,
+                                         names[uniform]);
+    return shader->uniforms[uniform];
 }
 
-static void
-use_program_core_2_0 (cairo_gl_context_t *ctx,
-                     cairo_gl_shader_t *shader)
+cairo_gl_uniform_t
+_cairo_gl_shader_uniform_for_texunit (cairo_gl_uniform_t uniform,
+                                     cairo_gl_tex_t tex_unit)
 {
-    if (shader)
-        ctx->dispatch.UseProgram (shader->program);
+    assert (uniform < CAIRO_GL_UNIFORM_MASK_TEXDIMS);
+    assert (tex_unit == CAIRO_GL_TEX_SOURCE || tex_unit == CAIRO_GL_TEX_MASK);
+    if (tex_unit == CAIRO_GL_TEX_SOURCE)
+       return uniform;
     else
-        ctx->dispatch.UseProgram (0);
+       return uniform + CAIRO_GL_UNIFORM_MASK_TEXDIMS;
 }
 
-static const cairo_gl_shader_impl_t shader_impl_core_2_0 = {
-    compile_shader_core_2_0,
-    link_shader_core_2_0,
-    destroy_shader_core_2_0,
-    destroy_program_core_2_0,
-    bind_float_core_2_0,
-    bind_vec2_core_2_0,
-    bind_vec3_core_2_0,
-    bind_vec4_core_2_0,
-    bind_matrix_core_2_0,
-    bind_matrix4f_core_2_0,
-    use_program_core_2_0,
-};
+static cairo_status_t
+_cairo_gl_shader_compile_and_link (cairo_gl_context_t *ctx,
+                                  cairo_gl_shader_t *shader,
+                                  cairo_gl_var_type_t src,
+                                  cairo_gl_var_type_t mask,
+                                  cairo_bool_t use_coverage,
+                                  const char *fragment_text,
+                                  cairo_extend_t src_atlas_extend,
+                                  cairo_extend_t mask_atlas_extend,
+                                  cairo_bool_t src_use_atlas,
+                                  cairo_bool_t mask_use_atlas);
 
 typedef struct _cairo_shader_cache_entry {
     cairo_cache_entry_t base;
 
+    unsigned vertex;
+
     cairo_gl_operand_type_t src;
     cairo_gl_operand_type_t mask;
     cairo_gl_operand_type_t dest;
     cairo_bool_t use_coverage;
-    cairo_bool_t use_color_attribute;
+
     cairo_gl_shader_in_t in;
     GLint src_gl_filter;
     cairo_bool_t src_border_fade;
@@ -465,13 +147,14 @@ _cairo_gl_shader_cache_equal_desktop (const void *key_a, const void *key_b)
     cairo_bool_t both_have_npot_repeat =
        a->ctx->has_npot_repeat && b->ctx->has_npot_repeat;
 
-    return a->src  == b->src  &&
-           a->mask == b->mask &&
-           a->dest == b->dest &&
-          a->use_coverage == b->use_coverage &&
-           a->in   == b->in &&
-          (both_have_npot_repeat || a->src_extend == b->src_extend) &&
-          (both_have_npot_repeat || a->mask_extend == b->mask_extend);
+    return (a->vertex == b->vertex &&
+           a->src  == b->src  &&
+           a->mask == b->mask &&
+           a->dest == b->dest &&
+           a->use_coverage == b->use_coverage &&
+           a->in   == b->in &&
+           (both_have_npot_repeat || a->src_extend == b->src_extend) &&
+           (both_have_npot_repeat || a->mask_extend == b->mask_extend));
 }
 
 /*
@@ -487,23 +170,32 @@ _cairo_gl_shader_cache_equal_gles2 (const void *key_a, const void *key_b)
     cairo_bool_t both_have_npot_repeat =
        a->ctx->has_npot_repeat && b->ctx->has_npot_repeat;
 
-    return a->src  == b->src  &&
-          a->mask == b->mask &&
-          a->dest == b->dest &&
-          a->use_coverage == b->use_coverage &&
-          a->in   == b->in   &&
-          a->src_gl_filter == b->src_gl_filter &&
-          a->src_border_fade == b->src_border_fade &&
-          (both_have_npot_repeat || a->src_extend == b->src_extend) &&
-          a->mask_gl_filter == b->mask_gl_filter &&
-          a->mask_border_fade == b->mask_border_fade &&
-          (both_have_npot_repeat || a->mask_extend == b->mask_extend);
+    return (a->vertex == b->vertex &&
+           a->src  == b->src  &&
+           a->mask == b->mask &&
+           a->dest == b->dest &&
+           a->use_coverage == b->use_coverage &&
+           a->in   == b->in   &&
+           a->src_gl_filter == b->src_gl_filter &&
+           a->src_border_fade == b->src_border_fade &&
+           (both_have_npot_repeat || a->src_extend == b->src_extend) &&
+           a->mask_gl_filter == b->mask_gl_filter &&
+           a->mask_border_fade == b->mask_border_fade &&
+           (both_have_npot_repeat || a->mask_extend == b->mask_extend));
 }
 
 static unsigned long
 _cairo_gl_shader_cache_hash (const cairo_shader_cache_entry_t *entry)
 {
-    return (entry->src << 16) | (entry->mask << 13) | (entry->dest << 10) | (entry->in << 8) | (entry->mask_extend << 6) | (entry->src_extend << 4) |(entry->mask_use_atlas << 3) | (entry->src_use_atlas << 2) |(entry->use_color_attribute << 1) | entry->use_coverage;
+    return ((entry->src << 15) |
+           (entry->mask << 12) |
+           (entry->dest << 9) |
+           (entry->in << 7) |
+           (entry->mask_extend << 5) |
+           (entry->src_extend << 3) |
+           (entry->mask_use_atlas << 2) |
+           (entry->src_use_atlas << 1) |
+            entry->use_coverage) ^ entry->vertex;
 }
 
 static void
@@ -520,9 +212,12 @@ _cairo_gl_shader_cache_destroy (void *data)
 static void
 _cairo_gl_shader_init (cairo_gl_shader_t *shader)
 {
+    int i;
     shader->fragment_shader = 0;
     shader->program = 0;
-    shader->uniform_cache = _cairo_hash_table_create (_cairo_gl_uniform_equal);
+
+    for (i = 0; i < CAIRO_GL_UNIFORM_MAX; i++)
+       shader->uniforms[i] = -1;
 }
 
 cairo_status_t
@@ -539,16 +234,13 @@ _cairo_gl_context_init_shaders (cairo_gl_context_t *ctx)
        "}\n";
     cairo_status_t status;
 
-    if (_cairo_gl_get_version () >= CAIRO_GL_VERSION_ENCODE (2, 0) ||
-       (_cairo_gl_has_extension ("GL_ARB_shader_objects") &&
-        _cairo_gl_has_extension ("GL_ARB_fragment_shader") &&
-        _cairo_gl_has_extension ("GL_ARB_vertex_shader")))
-    {
-       ctx->shader_impl = &shader_impl_core_2_0;
-    }
-    else
-    {
-       ctx->shader_impl = NULL;
+    if (_cairo_gl_get_version (&ctx->dispatch) >= CAIRO_GL_VERSION_ENCODE (2, 0) ||
+       (_cairo_gl_has_extension (&ctx->dispatch, "GL_ARB_shader_objects") &&
+        _cairo_gl_has_extension (&ctx->dispatch, "GL_ARB_fragment_shader") &&
+        _cairo_gl_has_extension (&ctx->dispatch, "GL_ARB_vertex_shader"))) {
+       ctx->has_shader_support = TRUE;
+    } else {
+       ctx->has_shader_support = FALSE;
        fprintf (stderr, "Error: The cairo gl backend requires shader support!\n");
        return CAIRO_STATUS_DEVICE_ERROR;
     }
@@ -566,12 +258,14 @@ _cairo_gl_context_init_shaders (cairo_gl_context_t *ctx)
        return status;
 
     _cairo_gl_shader_init (&ctx->fill_rectangles_shader);
-    status = _cairo_gl_shader_compile (ctx,
-                                      &ctx->fill_rectangles_shader,
-                                      NULL,
-                                      NULL,
-                                      FALSE,
-                                      fill_fs_source);
+    status = _cairo_gl_shader_compile_and_link (ctx,
+                                               &ctx->fill_rectangles_shader,
+                                               CAIRO_GL_VAR_NONE,
+                                               CAIRO_GL_VAR_NONE,
+                                               FALSE,
+                                               fill_fs_source,
+                                               CAIRO_EXTEND_NONE, CAIRO_EXTEND_NONE,
+                                               FALSE, FALSE);
     if (unlikely (status))
        return status;
 
@@ -583,22 +277,12 @@ _cairo_gl_context_fini_shaders (cairo_gl_context_t *ctx)
 {
     int i;
 
-    for (i = 0; i <= CAIRO_GL_VAR_TYPE_MAX; i++) {
+    for (i = 0; i < CAIRO_GL_VAR_TYPE_MAX; i++) {
        if (ctx->vertex_shaders[i])
-           ctx->shader_impl->destroy_shader (ctx, ctx->vertex_shaders[i]);
+           ctx->dispatch.DeleteShader (ctx->vertex_shaders[i]);
     }
 
     _cairo_cache_fini (&ctx->shaders);
-    _cairo_gl_shader_fini (ctx, &ctx->fill_rectangles_shader);
-}
-
-static void
-destroy_uniform_callback (void *entry, void *closure)
-{
-    cairo_gl_uniform_entry_t *key = entry;
-    _cairo_hash_table_remove ((cairo_hash_table_t *) closure, &key->base);
-    free (key->name);
-    free (key);
 }
 
 void
@@ -606,42 +290,35 @@ _cairo_gl_shader_fini (cairo_gl_context_t *ctx,
                       cairo_gl_shader_t *shader)
 {
     if (shader->fragment_shader)
-        ctx->shader_impl->destroy_shader (ctx, shader->fragment_shader);
+       ctx->dispatch.DeleteShader (shader->fragment_shader);
 
     if (shader->program)
-        ctx->shader_impl->destroy_program (ctx, shader->program);
-
-    if (shader->uniform_cache) {
-       _cairo_hash_table_foreach (shader->uniform_cache,
-                                  destroy_uniform_callback,
-                                  shader->uniform_cache);
-       _cairo_hash_table_destroy (shader->uniform_cache);
-    }
+       ctx->dispatch.DeleteProgram (shader->program);
 }
 
 static const char *operand_names[] = { "source", "mask", "dest" };
 
 static cairo_gl_var_type_t
-cairo_gl_operand_get_var_type (cairo_gl_operand_type_t type,
-                               cairo_bool_t use_color_attribute)
+cairo_gl_operand_get_var_type (cairo_gl_operand_t *operand)
 {
-    switch (type) {
+    switch (operand->type) {
     default:
     case CAIRO_GL_OPERAND_COUNT:
         ASSERT_NOT_REACHED;
     case CAIRO_GL_OPERAND_NONE:
-        return CAIRO_GL_VAR_NONE;
     case CAIRO_GL_OPERAND_CONSTANT:
-        if (use_color_attribute)
-            return CAIRO_GL_VAR_COLOR;
-        else
-            return CAIRO_GL_VAR_NONE;
+       if (operand->constant.encode_as_attribute)
+           return CAIRO_GL_VAR_COLOR;
+       else
+           return CAIRO_GL_VAR_NONE;
     case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
     case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
+        return operand->gradient.texgen ? CAIRO_GL_VAR_TEXGEN : CAIRO_GL_VAR_TEXCOORDS;
     case CAIRO_GL_OPERAND_TEXTURE:
-        return CAIRO_GL_VAR_TEXCOORDS;
+    case CAIRO_GL_OPERAND_GAUSSIAN:
+        return operand->texture.texgen ? CAIRO_GL_VAR_TEXGEN : CAIRO_GL_VAR_TEXCOORDS;
     }
 }
 
@@ -656,13 +333,11 @@ cairo_gl_shader_emit_variable (cairo_output_stream_t *stream,
         ASSERT_NOT_REACHED;
     case CAIRO_GL_VAR_NONE:
         break;
-    case CAIRO_GL_VAR_COLOR:
-        _cairo_output_stream_printf (stream,
-                                     "varying vec4 fragment_color;\n");
-        break;
     case CAIRO_GL_VAR_TEXCOORDS:
         _cairo_output_stream_printf (stream,
+                                    "attribute vec4 MultiTexCoord%d;\n"
                                      "varying vec2 %s_texcoords;\n",
+                                     name,
                                      operand_names[name]);
         if (use_atlas)
             _cairo_output_stream_printf (stream,
@@ -670,6 +345,23 @@ cairo_gl_shader_emit_variable (cairo_output_stream_t *stream,
                                          "varying vec2 %s_stop_coords;\n",
                                          operand_names[name], operand_names[name]);
         break;
+    case CAIRO_GL_VAR_TEXGEN:
+        _cairo_output_stream_printf (stream,
+                                    "uniform mat3 %s_texgen;\n"
+                                     "varying vec2 %s_texcoords;\n",
+                                     operand_names[name],
+                                     operand_names[name]);
+        /*if (use_atlas)
+            _cairo_output_stream_printf (stream,
+                                         "varying vec2 %s_start_coords;\n"
+                                         "varying vec2 %s_stop_coords;\n",
+                                         operand_names[name], operand_names[name]);
+*/
+        break;
+    case CAIRO_GL_VAR_COLOR:
+        _cairo_output_stream_printf (stream,
+                                    "varying vec4 fragment_color;\n");
+        break;
     }
 }
 
@@ -683,15 +375,20 @@ cairo_gl_shader_emit_vertex (cairo_output_stream_t *stream,
         ASSERT_NOT_REACHED;
     case CAIRO_GL_VAR_NONE:
         break;
-    case CAIRO_GL_VAR_COLOR:
-        _cairo_output_stream_printf (stream,
-                                     "    fragment_color = Color;\n");
-        break;
     case CAIRO_GL_VAR_TEXCOORDS:
         _cairo_output_stream_printf (stream,
                                      "    %s_texcoords = MultiTexCoord%d.xy;\n",
                                      operand_names[name], name);
         break;
+
+    case CAIRO_GL_VAR_TEXGEN:
+        _cairo_output_stream_printf (stream,
+                                    "    %s_texcoords = (%s_texgen * Vertex.xyw).xy;\n",
+                                     operand_names[name], operand_names[name]);
+       break;
+    case CAIRO_GL_VAR_COLOR:
+        _cairo_output_stream_printf (stream, "    fragment_color = Color;\n");
+        break;
     }
 }
 
@@ -704,7 +401,7 @@ cairo_gl_shader_dcl_coverage (cairo_output_stream_t *stream)
 static void
 cairo_gl_shader_def_coverage (cairo_output_stream_t *stream)
 {
-    _cairo_output_stream_printf (stream, "    coverage = Coverage.a;\n");
+    _cairo_output_stream_printf (stream, "    coverage = Color.a;\n");
 }
 
 static void
@@ -712,18 +409,28 @@ cairo_gl_shader_def_use_atlas (cairo_output_stream_t *stream,
                                cairo_gl_var_type_t type,
                                cairo_gl_tex_t name)
 {
-    if (type == CAIRO_GL_VAR_TEXCOORDS) {
-            _cairo_output_stream_printf (stream,
-                                        "    %s_start_coords = StartCoords%d.xy;\n"
-                                        "    %s_stop_coords = StopCoords%d.xy;\n",
-                                        operand_names[name], name,
-                                        operand_names[name], name);
-    }
+       _cairo_output_stream_printf (stream,
+                                    "    %s_start_coords = StartCoords%d.xy;\n"
+                                    "    %s_stop_coords = StopCoords%d.xy;\n",
+                                    operand_names[name], name,
+                                    operand_names[name], name);
+}
+
+static void
+cairo_gl_shader_emit_varying (cairo_output_stream_t *stream,
+                              cairo_gl_tex_t name)
+{
+    const char *namestr = operand_names[name];
+
+    _cairo_output_stream_printf (stream,
+       "varying vec2 %s_start_coords;\n"
+       "varying vec2 %s_stop_coords;\n",
+       namestr, namestr);
 }
 
 static cairo_status_t
-cairo_gl_shader_get_vertex_source (cairo_gl_var_type_t src_type,
-                                   cairo_gl_var_type_t mask_type,
+cairo_gl_shader_get_vertex_source (cairo_gl_var_type_t src,
+                                   cairo_gl_var_type_t mask,
                                    cairo_bool_t src_use_atlas,
                                    cairo_bool_t mask_use_atlas,
                                    cairo_bool_t use_coverage,
@@ -735,19 +442,20 @@ cairo_gl_shader_get_vertex_source (cairo_gl_var_type_t src_type,
     unsigned long length;
     cairo_status_t status;
 
-    cairo_gl_shader_emit_variable (stream, src_type, CAIRO_GL_TEX_SOURCE,
-                                  src_use_atlas);
-    cairo_gl_shader_emit_variable (stream, mask_type, CAIRO_GL_TEX_MASK,
-                                  mask_use_atlas);
+    cairo_gl_shader_emit_variable (stream, src, CAIRO_GL_TEX_SOURCE, src_use_atlas);
+    cairo_gl_shader_emit_variable (stream, mask, CAIRO_GL_TEX_MASK, mask_use_atlas);
     if (use_coverage)
        cairo_gl_shader_dcl_coverage (stream);
 
+    if (src_use_atlas && src == CAIRO_GL_VAR_TEXGEN)
+       cairo_gl_shader_emit_varying (stream, CAIRO_GL_TEX_SOURCE);
+
+    if (mask_use_atlas && mask == CAIRO_GL_VAR_TEXGEN)
+       cairo_gl_shader_emit_varying (stream, CAIRO_GL_TEX_MASK);
+
     _cairo_output_stream_printf (stream,
                                 "attribute vec4 Vertex;\n"
                                 "attribute vec4 Color;\n"
-                                "attribute vec4 Coverage;\n"
-                                "attribute vec4 MultiTexCoord0;\n"
-                                "attribute vec4 MultiTexCoord1;\n"
                                 "attribute vec2 StartCoords0;\n"
                                 "attribute vec2 StartCoords1;\n"
                                 "attribute vec2 StopCoords0;\n"
@@ -757,23 +465,24 @@ cairo_gl_shader_get_vertex_source (cairo_gl_var_type_t src_type,
                                 "{\n"
                                 "    gl_Position = ModelViewProjectionMatrix * Vertex;\n");
 
-    cairo_gl_shader_emit_vertex (stream, src_type, CAIRO_GL_TEX_SOURCE);
-    cairo_gl_shader_emit_vertex (stream, mask_type, CAIRO_GL_TEX_MASK);
-
+    cairo_gl_shader_emit_vertex (stream, src, CAIRO_GL_TEX_SOURCE);
+    cairo_gl_shader_emit_vertex (stream, mask, CAIRO_GL_TEX_MASK);
     if (use_coverage)
        cairo_gl_shader_def_coverage (stream);
 
     if (src_use_atlas)
-       cairo_gl_shader_def_use_atlas (stream, src_type, CAIRO_GL_TEX_SOURCE);
+       cairo_gl_shader_def_use_atlas (stream, src, CAIRO_GL_TEX_SOURCE);
     if (mask_use_atlas)
-       cairo_gl_shader_def_use_atlas (stream, mask_type, CAIRO_GL_TEX_MASK);
+       cairo_gl_shader_def_use_atlas (stream, mask, CAIRO_GL_TEX_MASK);
 
     _cairo_output_stream_write (stream,
                                "}\n\0", 3);
 
     status = _cairo_memory_stream_destroy (stream, &source, &length);
-    if (unlikely (status))
-       return status;
+    if (unlikely (status)) {
+        free (source);
+        return status;
+    }
 
     *out = (char *) source;
     return CAIRO_STATUS_SUCCESS;
@@ -790,6 +499,7 @@ _cairo_gl_shader_needs_border_fade (cairo_gl_operand_t *operand)
 
     return extend == CAIRO_EXTEND_NONE &&
           (operand->type == CAIRO_GL_OPERAND_TEXTURE ||
+           operand->type == CAIRO_GL_OPERAND_GAUSSIAN ||
            operand->type == CAIRO_GL_OPERAND_LINEAR_GRADIENT ||
            operand->type == CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE ||
            operand->type == CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0);
@@ -811,7 +521,7 @@ cairo_gl_shader_emit_color (cairo_output_stream_t *stream,
         ASSERT_NOT_REACHED;
         break;
     case CAIRO_GL_OPERAND_NONE:
-        _cairo_output_stream_printf (stream, 
+        _cairo_output_stream_printf (stream,
             "vec4 get_%s()\n"
             "{\n"
             "    return vec4 (0, 0, 0, 1);\n"
@@ -819,68 +529,130 @@ cairo_gl_shader_emit_color (cairo_output_stream_t *stream,
             namestr);
         break;
     case CAIRO_GL_OPERAND_CONSTANT:
-        if (op->use_color_attribute)
-          _cairo_output_stream_printf (stream,
-                                       "varying vec4 fragment_color;\n"
-                                       "vec4 get_%s()\n"
-                                       "{\n"
-                                       "    return fragment_color;\n"
-                                       "}\n",
-                                       namestr);
-        else
-          _cairo_output_stream_printf (stream,
-                                       "uniform vec4 %s_constant;\n"
-                                       "vec4 get_%s()\n"
-                                       "{\n"
-                                       "    return %s_constant;\n"
-                                       "}\n",
-                                       namestr, namestr, namestr);
-        break;
+       if (op->constant.encode_as_attribute) {
+            _cairo_output_stream_printf (stream,
+               "varying vec4 fragment_color;\n"
+               "vec4 get_%s()\n"
+               "{\n"
+               "    return fragment_color;\n"
+               "}\n",
+               namestr);
+       } else {
+           _cairo_output_stream_printf (stream,
+               "uniform vec4 %s_constant;\n"
+               "vec4 get_%s()\n"
+               "{\n"
+               "    return %s_constant;\n"
+               "}\n",
+               namestr, namestr, namestr);
+       }
+           break;
     case CAIRO_GL_OPERAND_TEXTURE:
+    case CAIRO_GL_OPERAND_GAUSSIAN:
        if (! use_atlas) {
            _cairo_output_stream_printf (stream,
                "uniform sampler2D%s %s_sampler;\n"
                "uniform vec2 %s_texdims;\n"
-               "varying vec2 %s_texcoords;\n"
-               "vec4 get_%s()\n"
-               "{\n",
-               rectstr, namestr, namestr, namestr, namestr);
+               "varying vec2 %s_texcoords;\n",
+               rectstr, namestr, namestr, namestr);
        } else {
            _cairo_output_stream_printf (stream,
                "uniform sampler2D%s %s_sampler;\n"
                "uniform vec2 %s_texdims;\n"
                "varying vec2 %s_texcoords;\n"
                "varying vec2 %s_start_coords;\n"
-               "varying vec2 %s_stop_coords;\n"
-               "vec4 get_%s()\n"
-               "{\n",
-               rectstr, namestr, namestr, namestr, namestr, namestr, namestr);
+               "varying vec2 %s_stop_coords;\n",
+               rectstr, namestr, namestr, namestr, namestr, namestr);
        }
 
-       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES &&
-           _cairo_gl_shader_needs_border_fade (op))
-       {
+       if (op->type != CAIRO_GL_OPERAND_TEXTURE) {
            _cairo_output_stream_printf (stream,
-               "    vec2 border_fade = %s_border_fade (%s_texcoords, %s_texdims);\n"
-               "    vec4 texel = texture2D%s (%s_sampler, %s_texcoords);\n"
-               "    return texel * border_fade.x * border_fade.y;\n"
-               "}\n",
-               namestr, namestr, namestr, rectstr, namestr, namestr);
+               "uniform int %s_blur_radius;\n"
+               "uniform float %s_blur_step;\n"
+               "uniform float %s_blurs[17];\n"
+               "uniform float %s_blur_x_axis;\n"
+               "uniform float %s_blur_y_axis;\n"
+               "uniform float %s_alpha;\n",
+               namestr, namestr, namestr, namestr, namestr, namestr);
        }
-       else
-       {
-           if (! use_atlas) {
-               _cairo_output_stream_printf (stream,
-                   "    return texture2D%s (%s_sampler, %s_wrap (%s_texcoords));\n"
-                   "}\n",
-                   rectstr, namestr, namestr, namestr);
-           } else {
-               _cairo_output_stream_printf (stream,
-                   "    return texture2D%s (%s_sampler, %s_wrap (%s_texcoords, %s_start_coords, %s_stop_coords));\n"
-                   "}\n",
-                   rectstr, namestr, namestr, namestr, namestr, namestr);
+
+       _cairo_output_stream_printf (stream,
+           "vec4 get_%s()\n"
+           "{\n",
+           namestr);
+
+       if (op->type == CAIRO_GL_OPERAND_TEXTURE) {
+           if ((ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 ||
+                ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3) &&
+               _cairo_gl_shader_needs_border_fade (op))
+           {
+               if (! use_atlas) {
+                   _cairo_output_stream_printf (stream,
+                       "    vec2 border_fade = %s_border_fade (%s_texcoords, %s_texdims);\n"
+                       "    vec4 texel = texture2D%s (%s_sampler, %s_texcoords);\n"
+                       "    return texel * border_fade.x * border_fade.y;\n"
+                       "}\n",
+                       namestr, namestr, namestr, rectstr, namestr, namestr);
+               }
+               else {
+                   _cairo_output_stream_printf (stream,
+                       "    vec2 border_fade = %s_border_fade (%s_texcoords, %s_texdims);\n"
+                       "    vec2 co = %s_wrap (%s_texcoords, %s_start_coords, %s_stop_coords);\n"
+                       "    if (co.x == -1.0 && co.y == -1.0)\n"
+                       "        return vec4(0.0, 0.0, 0.0, 0.0);\n"
+                       "    vec4 texel = texture2D%s (%s_sampler, co);\n"
+                       "    return texel * border_fade.x * border_fade.y;\n"
+                       "}\n",
+                       namestr, namestr, namestr, namestr,
+                       namestr, namestr, namestr, rectstr, namestr);
+               }
+           }
+           else
+           {
+               if (! use_atlas) {
+                   _cairo_output_stream_printf (stream,
+                       "    return texture2D%s (%s_sampler, %s_wrap (%s_texcoords));\n"
+                       "}\n",
+                       rectstr, namestr, namestr, namestr);
+               } else {
+                   _cairo_output_stream_printf (stream,
+                       "    return texture2D%s (%s_sampler, %s_wrap (%s_texcoords, %s_start_coords, %s_stop_coords));\n"
+                       "}\n",
+                       rectstr, namestr, namestr, namestr, namestr, namestr);
+               }
            }
        }
+       else if (op->type == CAIRO_GL_OPERAND_GAUSSIAN) {
+           _cairo_output_stream_printf (stream,
+               "    int i;\n"
+               "    vec2 texcoords;\n"
+               "    float alpha = %s_alpha;\n"
+               "    vec4 texel = vec4 (0.0, 0.0, 0.0, 0.0);\n"
+               "    vec2 wrapped_coords = %s_wrap (%s_texcoords, %s_start_coords, %s_stop_coords);\n"
+               "    if (wrapped_coords == vec2 (-1.0, -1.0))\n"
+               "        return texel;\n"
+               "    texel += texture2D%s (%s_sampler, wrapped_coords);\n"
+               "    texel = texel * %s_blurs[%s_blur_radius];\n"
+               "    for (i = -%s_blur_radius; i <= %s_blur_radius; i++) {\n"
+               "        if (i == 0)\n"
+               "            continue;\n"
+               "            texcoords = %s_texcoords + vec2 (%s_blur_step * float(i) * %s_blur_x_axis, %s_blur_step * float(i) * %s_blur_y_axis);\n"
+
+               "        wrapped_coords = %s_wrap (texcoords, %s_start_coords, %s_stop_coords);\n"
+               "        if (wrapped_coords == vec2 (-1.0, -1.0))\n"
+               "            texel += vec4 (0.0, 0.0, 0.0, alpha) * %s_blurs[i+%s_blur_radius];\n"
+               "        else\n"
+               "            texel += texture2D%s (%s_sampler, wrapped_coords) * %s_blurs[i+%s_blur_radius];\n"
+               "    }\n"
+               "    return texel;\n"
+               "}\n",
+               namestr, namestr, namestr, namestr, namestr,
+               rectstr, namestr, namestr, namestr,
+               namestr, namestr, namestr, namestr,
+               namestr, namestr, namestr, namestr,
+               namestr, namestr, namestr, namestr,
+               rectstr, namestr, namestr, namestr);
+       }
         break;
     case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
        _cairo_output_stream_printf (stream,
@@ -891,7 +663,8 @@ cairo_gl_shader_emit_color (cairo_output_stream_t *stream,
            "vec4 get_%s()\n"
            "{\n",
            namestr, namestr, rectstr, namestr, namestr);
-       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES &&
+       if ((ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 ||
+            ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3) &&
            _cairo_gl_shader_needs_border_fade (op))
        {
            _cairo_output_stream_printf (stream,
@@ -928,7 +701,8 @@ cairo_gl_shader_emit_color (cairo_output_stream_t *stream,
            "    float is_valid = step (-%s_radius_0, t * %s_circle_d.z);\n",
            namestr, namestr, rectstr, namestr, namestr, namestr, namestr,
            namestr, namestr, namestr, namestr, namestr);
-       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES &&
+       if ((ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 ||
+            ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3) &&
            _cairo_gl_shader_needs_border_fade (op))
        {
            _cairo_output_stream_printf (stream,
@@ -973,7 +747,8 @@ cairo_gl_shader_emit_color (cairo_output_stream_t *stream,
            "    float upper_t = mix (t.y, t.x, is_valid.x);\n",
            namestr, namestr, rectstr, namestr, namestr, namestr, namestr,
            namestr, namestr, namestr, namestr, namestr, namestr);
-       if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES &&
+       if ((ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 ||
+            ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3) &&
            _cairo_gl_shader_needs_border_fade (op))
        {
            _cairo_output_stream_printf (stream,
@@ -1142,9 +917,11 @@ _cairo_gl_shader_emit_wrap (cairo_gl_context_t *ctx,
        else {
            _cairo_output_stream_printf (stream,
                "    if (any (lessThan (coords, start_coords)))\n"
-               "        return vec2 (-1.0);\n"
+               //"        return vec2 (coords - start_coords);\n"
+               "          return vec2 (-1.0);\n"
                "    if (any (greaterThan (coords, stop_coords)))\n"
-               "        return vec2 (-1.0);\n"
+               //"        return vec2 (coords - stop_coords + vec2 (1.0, 1.0));\n"
+               "          return vec2 (-1.0);\n"
                "    else\n"
                "        return coords;\n");
        }
@@ -1185,15 +962,27 @@ cairo_gl_shader_get_fragment_source (cairo_gl_context_t *ctx,
     cairo_status_t status;
     const char *coverage_str;
 
-    _cairo_output_stream_printf (stream,
-       "#ifdef GL_ES\n"
-       "precision mediump float;\n"
-       "#endif\n");
+    // dy5.kim: Use highp only for gradients to handle the following test case
+    // http://w3c-test.org/html/tests/approved/canvas/2d.gradient.radial.touch1.html
+    if (src->type == CAIRO_GL_OPERAND_LINEAR_GRADIENT ||
+        src->type == CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0 ||
+        src->type == CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE ||
+        src->type == CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT)
+        _cairo_output_stream_printf (stream,
+        "#ifdef GL_ES\n"
+        "precision highp float;\n"
+        "#endif\n");
+    else
+        _cairo_output_stream_printf (stream,
+        "#ifdef GL_ES\n"
+        "precision mediump float;\n"
+        "#endif\n");
 
     _cairo_gl_shader_emit_wrap (ctx, stream, src, CAIRO_GL_TEX_SOURCE);
     _cairo_gl_shader_emit_wrap (ctx, stream, mask, CAIRO_GL_TEX_MASK);
 
-    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES) {
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 ||
+       ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3) {
        if (_cairo_gl_shader_needs_border_fade (src))
            _cairo_gl_shader_emit_border_fade (stream, src, CAIRO_GL_TEX_SOURCE);
        if (_cairo_gl_shader_needs_border_fade (mask))
@@ -1237,51 +1026,131 @@ cairo_gl_shader_get_fragment_source (cairo_gl_context_t *ctx,
                                 "}\n\0", 3);
 
     status = _cairo_memory_stream_destroy (stream, &source, &length);
-    if (unlikely (status))
+    if (unlikely (status)) {
+        free (source);
         return status;
+    }
 
     *out = (char *) source;
     return CAIRO_STATUS_SUCCESS;
 }
 
-static cairo_status_t
-_cairo_gl_shader_compile (cairo_gl_context_t *ctx,
-                         cairo_gl_shader_t *shader,
-                         cairo_gl_operand_t *src,
-                         cairo_gl_operand_t *mask,
-                         cairo_bool_t use_coverage,
-                         const char *fragment_text)
+static void
+compile_shader (cairo_gl_context_t *ctx,
+               GLuint *shader,
+               GLenum type,
+               const char *source)
 {
-    unsigned int vertex_shader;
-    cairo_status_t status;
-    cairo_gl_var_type_t src_type;
-    cairo_gl_var_type_t mask_type;
-    cairo_extend_t src_atlas_extend = CAIRO_EXTEND_NONE;
-    cairo_extend_t mask_atlas_extend = CAIRO_EXTEND_NONE;
-    cairo_bool_t src_use_atlas = FALSE;
-    cairo_bool_t mask_use_atlas = FALSE;
+    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+    GLint success, log_size, num_chars;
+    char *log;
 
-    assert (shader->program == 0);
+    *shader = dispatch->CreateShader (type);
+    dispatch->ShaderSource (*shader, 1, &source, 0);
+    dispatch->CompileShader (*shader);
+    dispatch->GetShaderiv (*shader, GL_COMPILE_STATUS, &success);
+
+    if (success)
+       return;
 
-    if (src != NULL) {
-      src_type = cairo_gl_operand_get_var_type (src->type,
-                                                src->use_color_attribute);
-      src_atlas_extend = _cairo_gl_operand_get_atlas_extend (src);
-      src_use_atlas = _cairo_gl_operand_get_use_atlas (src);
+    dispatch->GetShaderiv (*shader, GL_INFO_LOG_LENGTH, &log_size);
+    if (log_size < 0) {
+       printf ("OpenGL shader compilation failed.\n");
+       ASSERT_NOT_REACHED;
+       return;
     }
-    else
-      src_type = CAIRO_GL_VAR_NONE;
 
-    if (mask != NULL) {
-      mask_type = cairo_gl_operand_get_var_type (mask->type,
-                                                 mask->use_color_attribute);
-      mask_atlas_extend = _cairo_gl_operand_get_atlas_extend (mask);
-      mask_use_atlas = _cairo_gl_operand_get_use_atlas (mask);
+    log = _cairo_malloc (log_size + 1);
+    if (log == NULL) {
+       printf ("OpenGL shader compilation failed.\n");
+       ASSERT_NOT_REACHED;
     }
-    else
-      mask_type = CAIRO_GL_VAR_NONE;
 
-    vertex_shader = cairo_gl_var_type_hash (src_type, mask_type,
+    dispatch->GetShaderInfoLog (*shader, log_size, &num_chars, log);
+    log[num_chars] = '\0';
+
+    printf ("OpenGL shader compilation failed.  Shader:\n%s\n", source);
+    printf ("OpenGL compilation log:\n%s\n", log);
+
+    free (log);
+    ASSERT_NOT_REACHED;
+}
+
+static void
+link_shader_program (cairo_gl_context_t *ctx,
+                    GLuint *program,
+                    GLuint vert,
+                    GLuint frag)
+{
+    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+    GLint success, log_size, num_chars;
+    char *log;
+
+    *program = dispatch->CreateProgram ();
+    dispatch->AttachShader (*program, vert);
+    dispatch->AttachShader (*program, frag);
+
+    dispatch->BindAttribLocation (*program, CAIRO_GL_VERTEX_ATTRIB_INDEX,
+                                 "Vertex");
+    dispatch->BindAttribLocation (*program, CAIRO_GL_COLOR_ATTRIB_INDEX,
+                                 "Color");
+    dispatch->BindAttribLocation (*program, CAIRO_GL_TEXCOORD0_ATTRIB_INDEX,
+                                 "MultiTexCoord0");
+    dispatch->BindAttribLocation (*program, CAIRO_GL_TEXCOORD1_ATTRIB_INDEX,
+                                 "MultiTexCoord1");
+    dispatch->BindAttribLocation (*program, CAIRO_GL_START_COORD0_ATTRIB_INDEX,
+                                 "StartCoords0");
+    dispatch->BindAttribLocation (*program, CAIRO_GL_START_COORD1_ATTRIB_INDEX,
+                                 "StartCoords1");
+    dispatch->BindAttribLocation (*program, CAIRO_GL_STOP_COORD0_ATTRIB_INDEX,
+                                 "StopCoords0");
+    dispatch->BindAttribLocation (*program, CAIRO_GL_STOP_COORD1_ATTRIB_INDEX,
+                                 "StopCoords1");
+
+    dispatch->LinkProgram (*program);
+    dispatch->GetProgramiv (*program, GL_LINK_STATUS, &success);
+    if (success)
+       return;
+
+    dispatch->GetProgramiv (*program, GL_INFO_LOG_LENGTH, &log_size);
+    if (log_size < 0) {
+       printf ("OpenGL shader link failed.\n");
+       ASSERT_NOT_REACHED;
+       return;
+    }
+
+    log = _cairo_malloc (log_size + 1);
+    if (log == NULL) {
+       printf ("OpenGL shader link failed.\n");
+       ASSERT_NOT_REACHED;
+    }
+
+    dispatch->GetProgramInfoLog (*program, log_size, &num_chars, log);
+    log[num_chars] = '\0';
+
+    printf ("OpenGL shader link failed:\n%s\n", log);
+    free (log);
+    ASSERT_NOT_REACHED;
+}
+
+static cairo_status_t
+_cairo_gl_shader_compile_and_link (cairo_gl_context_t *ctx,
+                                  cairo_gl_shader_t *shader,
+                                  cairo_gl_var_type_t src,
+                                  cairo_gl_var_type_t mask,
+                                  cairo_bool_t use_coverage,
+                                  const char *fragment_text,
+                                  cairo_extend_t src_atlas_extend,
+                                  cairo_extend_t mask_atlas_extend,
+                                  cairo_bool_t src_use_atlas,
+                                  cairo_bool_t mask_use_atlas)
+{
+    unsigned int vertex_shader;
+    cairo_status_t status;
+
+    assert (shader->program == 0);
+
+    vertex_shader = cairo_gl_var_type_hash (src, mask,
                                            src_atlas_extend,
                                            mask_atlas_extend,
                                            src_use_atlas,
@@ -1291,8 +1160,8 @@ _cairo_gl_shader_compile (cairo_gl_context_t *ctx,
     if (ctx->vertex_shaders[vertex_shader] == 0) {
        char *source;
 
-       status = cairo_gl_shader_get_vertex_source (src_type,
-                                                   mask_type,
+       status = cairo_gl_shader_get_vertex_source (src,
+                                                   mask,
                                                    src_use_atlas,
                                                    mask_use_atlas,
                                                    use_coverage,
@@ -1301,19 +1170,17 @@ _cairo_gl_shader_compile (cairo_gl_context_t *ctx,
         if (unlikely (status))
             goto FAILURE;
 
-       ctx->shader_impl->compile_shader (ctx, &ctx->vertex_shaders[vertex_shader],
-                                         GL_VERTEX_SHADER,
-                                         source);
+       compile_shader (ctx, &ctx->vertex_shaders[vertex_shader],
+                       GL_VERTEX_SHADER, source);
         free (source);
     }
 
-    ctx->shader_impl->compile_shader (ctx, &shader->fragment_shader,
-                                     GL_FRAGMENT_SHADER,
-                                     fragment_text);
+    compile_shader (ctx, &shader->fragment_shader,
+                   GL_FRAGMENT_SHADER, fragment_text);
 
-    ctx->shader_impl->link_shader (ctx, &shader->program,
-                                  ctx->vertex_shaders[vertex_shader],
-                                  shader->fragment_shader);
+    link_shader_program (ctx, &shader->program,
+                        ctx->vertex_shaders[vertex_shader],
+                        shader->fragment_shader);
 
     return CAIRO_STATUS_SUCCESS;
 
@@ -1329,88 +1196,148 @@ _cairo_gl_shader_compile (cairo_gl_context_t *ctx,
  * texture unit 1 if present, so we can just initialize these once at
  * compile time.
  */
-static cairo_int_status_t
+static void
 _cairo_gl_shader_set_samplers (cairo_gl_context_t *ctx,
                               cairo_gl_shader_t *shader)
 {
     cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
     GLint location;
     GLint saved_program;
-    cairo_int_status_t status;
 
     /* We have to save/restore the current program because we might be
      * asked for a different program while a shader is bound.  This shouldn't
      * be a performance issue, since this is only called once per compile.
      */
-    glGetIntegerv (GL_CURRENT_PROGRAM, &saved_program);
+    dispatch->GetIntegerv (GL_CURRENT_PROGRAM, &saved_program);
     dispatch->UseProgram (shader->program);
 
-    status = get_uniform_location (ctx, shader, "source_sampler", &location);
-    if (status)
-       return status;
+    location = _cairo_gl_shader_get_uniform_location (ctx, shader,
+                                                     CAIRO_GL_UNIFORM_SAMPLER);
     if (location != -1) {
        dispatch->Uniform1i (location, CAIRO_GL_TEX_SOURCE);
     }
 
-    get_uniform_location (ctx, shader, "mask_sampler", &location);
-    if (status)
-       return status;
+    location = _cairo_gl_shader_get_uniform_location (ctx, shader,
+                                                     CAIRO_GL_UNIFORM_MASK_SAMPLER);
     if (location != -1) {
        dispatch->Uniform1i (location, CAIRO_GL_TEX_MASK);
     }
 
     dispatch->UseProgram (saved_program);
-    return CAIRO_INT_STATUS_SUCCESS;
 }
 
 void
 _cairo_gl_shader_bind_float (cairo_gl_context_t *ctx,
-                            const char *name,
+                            cairo_gl_uniform_t uniform,
                             float value)
 {
-    ctx->shader_impl->bind_float (ctx, ctx->current_shader, name, value);
+    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+    GLint location = _cairo_gl_shader_get_uniform_location (ctx,
+                                                           ctx->current_shader,
+                                                           uniform);
+    assert (location != -1);
+    dispatch->Uniform1f (location, value);
+}
+
+void
+_cairo_gl_shader_bind_int (cairo_gl_context_t *ctx,
+                            cairo_gl_uniform_t uniform,
+                            int value)
+{
+    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+    GLint location = _cairo_gl_shader_get_uniform_location (ctx,
+                                                           ctx->current_shader,
+                                                           uniform);
+    assert (location != -1);
+    dispatch->Uniform1i (location, value);
+}
+
+void
+_cairo_gl_shader_bind_float_array (cairo_gl_context_t *ctx,
+                                  cairo_gl_uniform_t uniform,
+                                  int num, float *values)
+{
+    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+    GLint location = _cairo_gl_shader_get_uniform_location (ctx,
+                                                           ctx->current_shader,
+                                                           uniform);
+    assert (location != -1);
+    dispatch->Uniform1fv (location, num, values);
 }
 
 void
 _cairo_gl_shader_bind_vec2 (cairo_gl_context_t *ctx,
-                           const char *name,
+                           cairo_gl_uniform_t uniform,
                            float value0,
                            float value1)
 {
-    ctx->shader_impl->bind_vec2 (ctx, ctx->current_shader, name, value0, value1);
+    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+    GLint location = _cairo_gl_shader_get_uniform_location (ctx,
+                                                           ctx->current_shader,
+                                                           uniform);
+    assert (location != -1);
+    dispatch->Uniform2f (location, value0, value1);
 }
 
 void
 _cairo_gl_shader_bind_vec3 (cairo_gl_context_t *ctx,
-                           const char *name,
+                           cairo_gl_uniform_t uniform,
                            float value0,
                            float value1,
                            float value2)
 {
-    ctx->shader_impl->bind_vec3 (ctx, ctx->current_shader, name, value0, value1, value2);
+    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+    GLint location = _cairo_gl_shader_get_uniform_location (ctx,
+                                                           ctx->current_shader,
+                                                           uniform);
+    assert (location != -1);
+    dispatch->Uniform3f (location, value0, value1, value2);
 }
 
 void
 _cairo_gl_shader_bind_vec4 (cairo_gl_context_t *ctx,
-                           const char *name,
+                           cairo_gl_uniform_t uniform,
                            float value0, float value1,
                            float value2, float value3)
 {
-    ctx->shader_impl->bind_vec4 (ctx, ctx->current_shader, name, value0, value1, value2, value3);
+    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+    GLint location = _cairo_gl_shader_get_uniform_location (ctx,
+                                                           ctx->current_shader,
+                                                           uniform);
+    assert (location != -1);
+    dispatch->Uniform4f (location, value0, value1, value2, value3);
 }
 
 void
 _cairo_gl_shader_bind_matrix (cairo_gl_context_t *ctx,
-                             const char *name, cairo_matrix_t* m)
+                             cairo_gl_uniform_t uniform,
+                             const cairo_matrix_t* m)
 {
-    ctx->shader_impl->bind_matrix (ctx, ctx->current_shader, name, m);
+    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+    GLint location = _cairo_gl_shader_get_uniform_location (ctx,
+                                                           ctx->current_shader,
+                                                           uniform);
+
+    float gl_m[9] = {
+       m->xx, m->yx, 0,
+       m->xy, m->yy, 0,
+       m->x0, m->y0, 1
+    };
+    assert (location != -1);
+    dispatch->UniformMatrix3fv (location, 1, GL_FALSE, gl_m);
 }
 
 void
 _cairo_gl_shader_bind_matrix4f (cairo_gl_context_t *ctx,
-                               const char *name, GLfloat* gl_m)
+                               cairo_gl_uniform_t uniform,
+                               GLfloat* gl_m)
 {
-    ctx->shader_impl->bind_matrix4f (ctx, ctx->current_shader, name, gl_m);
+    cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+    GLint location = _cairo_gl_shader_get_uniform_location (ctx,
+                                                           ctx->current_shader,
+                                                           uniform);
+    assert (location != -1);
+    dispatch->UniformMatrix4fv (location, 1, GL_FALSE, gl_m);
 }
 
 void
@@ -1420,7 +1347,10 @@ _cairo_gl_set_shader (cairo_gl_context_t *ctx,
     if (ctx->current_shader == shader)
         return;
 
-    ctx->shader_impl->use (ctx, shader);
+    if (shader)
+       ctx->dispatch.UseProgram (shader->program);
+    else
+       ctx->dispatch.UseProgram (0);
 
     ctx->current_shader = shader;
 }
@@ -1438,11 +1368,20 @@ _cairo_gl_get_shader_by_type (cairo_gl_context_t *ctx,
     cairo_status_t status;
 
     lookup.ctx = ctx;
+
+    lookup.vertex = cairo_gl_var_type_hash (cairo_gl_operand_get_var_type (source),
+                                           cairo_gl_operand_get_var_type (mask),
+                                           _cairo_gl_operand_get_atlas_extend (source),
+                                           _cairo_gl_operand_get_atlas_extend (mask),
+                                           _cairo_gl_operand_get_use_atlas (source),
+                                           _cairo_gl_operand_get_use_atlas (mask),
+                                           use_coverage,
+                                           CAIRO_GL_VAR_NONE);
+
     lookup.src = source->type;
     lookup.mask = mask->type;
     lookup.dest = CAIRO_GL_OPERAND_NONE;
     lookup.use_coverage = use_coverage;
-    lookup.use_color_attribute = source->use_color_attribute;
     lookup.in = in;
     lookup.src_gl_filter = _cairo_gl_operand_get_gl_filter (source);
     lookup.src_border_fade = _cairo_gl_shader_needs_border_fade (source);
@@ -1482,31 +1421,33 @@ _cairo_gl_get_shader_by_type (cairo_gl_context_t *ctx,
 
     entry->ctx = ctx;
     _cairo_gl_shader_init (&entry->shader);
-    status = _cairo_gl_shader_compile (ctx,
-                                      &entry->shader,
-                                      source,
-                                      mask,
-                                      use_coverage,
-                                      fs_source);
+    status = _cairo_gl_shader_compile_and_link (ctx,
+                                               &entry->shader,
+                                               cairo_gl_operand_get_var_type (source),
+                                               cairo_gl_operand_get_var_type (mask),
+                                               use_coverage,
+                                               fs_source,
+                                               _cairo_gl_operand_get_atlas_extend (source),
+                                               _cairo_gl_operand_get_atlas_extend (mask),
+                                               _cairo_gl_operand_get_use_atlas (source),
+                                               _cairo_gl_operand_get_use_atlas (mask));
     free (fs_source);
 
-    if (unlikely (status))
-       goto error;
+    if (unlikely (status)) {
+       free (entry);
+       return status;
+    }
 
-    status = _cairo_gl_shader_set_samplers (ctx, &entry->shader);
-    if (unlikely (status))
-       goto error;
+    _cairo_gl_shader_set_samplers (ctx, &entry->shader);
 
     status = _cairo_cache_insert (&ctx->shaders, &entry->base);
-    if (unlikely (status))
-       goto error;
+    if (unlikely (status)) {
+       _cairo_gl_shader_fini (ctx, &entry->shader);
+       free (entry);
+       return status;
+    }
 
     *shader = &entry->shader;
 
     return CAIRO_STATUS_SUCCESS;
-
-error:
-    _cairo_gl_shader_fini (ctx, &entry->shader);
-    free (entry);
-    return status;
 }
index baef634..53c3ed3 100644 (file)
@@ -81,7 +81,8 @@ _cairo_gl_pattern_to_source (cairo_surface_t *dst,
     *src_x = *src_y = 0;
     status = _cairo_gl_operand_init (&source->operand, pattern,
                                     (cairo_gl_surface_t *)dst,
-                                    sample, extents, FALSE);
+                                    sample, extents,
+                                    FALSE, FALSE);
     if (unlikely (status)) {
        cairo_surface_destroy (&source->base);
        return _cairo_surface_create_in_error (status);
index 0b23056..724ae66 100644 (file)
@@ -57,6 +57,8 @@ typedef struct _cairo_gl_span_renderer {
     cairo_gl_composite_t setup;
     double opacity;
 
+    cairo_gl_emit_span_t emit;
+
     int xmin, xmax;
     int ymin, ymax;
 
@@ -70,16 +72,17 @@ _cairo_gl_bounded_opaque_spans (void *abstract_renderer,
                                unsigned num_spans)
 {
     cairo_gl_span_renderer_t *r = abstract_renderer;
+    cairo_gl_emit_span_t emit = r->emit;
 
     if (num_spans == 0)
        return CAIRO_STATUS_SUCCESS;
 
     do {
        if (spans[0].coverage) {
-            _cairo_gl_composite_emit_rect (r->ctx,
-                                           spans[0].x, y,
-                                           spans[1].x, y + height,
-                                           spans[0].coverage);
+           emit (r->ctx,
+                 spans[0].x, y,
+                 spans[1].x, y + height,
+                 spans[0].coverage);
        }
 
        spans++;
@@ -95,16 +98,17 @@ _cairo_gl_bounded_spans (void *abstract_renderer,
                         unsigned num_spans)
 {
     cairo_gl_span_renderer_t *r = abstract_renderer;
+    cairo_gl_emit_span_t emit = r->emit;
 
     if (num_spans == 0)
        return CAIRO_STATUS_SUCCESS;
 
     do {
        if (spans[0].coverage) {
-            _cairo_gl_composite_emit_rect (r->ctx,
-                                           spans[0].x, y,
-                                           spans[1].x, y + height,
-                                           r->opacity * spans[0].coverage);
+           emit (r->ctx,
+                 spans[0].x, y,
+                 spans[1].x, y + height,
+                 r->opacity * spans[0].coverage);
        }
 
        spans++;
@@ -120,40 +124,41 @@ _cairo_gl_unbounded_spans (void *abstract_renderer,
                           unsigned num_spans)
 {
     cairo_gl_span_renderer_t *r = abstract_renderer;
+    cairo_gl_emit_span_t emit = r->emit;
 
     if (y > r->ymin) {
-        _cairo_gl_composite_emit_rect (r->ctx,
-                                       r->xmin, r->ymin,
-                                       r->xmax, y,
-                                       0);
+       emit (r->ctx,
+             r->xmin, r->ymin,
+             r->xmax, y,
+             0);
     }
 
     if (num_spans == 0) {
-        _cairo_gl_composite_emit_rect (r->ctx,
-                                       r->xmin, y,
-                                       r->xmax, y + height,
-                                       0);
+       emit (r->ctx,
+             r->xmin, y,
+             r->xmax, y + height,
+             0);
     } else {
         if (spans[0].x != r->xmin) {
-            _cairo_gl_composite_emit_rect (r->ctx,
-                                           r->xmin, y,
-                                           spans[0].x,     y + height,
-                                           0);
+           emit (r->ctx,
+                 r->xmin, y,
+                 spans[0].x,     y + height,
+                 0);
         }
 
         do {
-            _cairo_gl_composite_emit_rect (r->ctx,
-                                           spans[0].x, y,
-                                           spans[1].x, y + height,
-                                           r->opacity * spans[0].coverage);
+           emit (r->ctx,
+                 spans[0].x, y,
+                 spans[1].x, y + height,
+                 r->opacity * spans[0].coverage);
             spans++;
         } while (--num_spans > 1);
 
         if (spans[0].x != r->xmax) {
-            _cairo_gl_composite_emit_rect (r->ctx,
-                                           spans[0].x,     y,
-                                           r->xmax, y + height,
-                                           0);
+           emit (r->ctx,
+                 spans[0].x,     y,
+                 r->xmax, y + height,
+                 0);
         }
     }
 
@@ -169,40 +174,41 @@ _cairo_gl_clipped_spans (void *abstract_renderer,
                           unsigned num_spans)
 {
     cairo_gl_span_renderer_t *r = abstract_renderer;
+    cairo_gl_emit_span_t emit = r->emit;
 
     if (y > r->ymin) {
-        _cairo_gl_composite_emit_rect (r->ctx,
-                                       r->xmin, r->ymin,
-                                       r->xmax, y,
-                                       0);
+       emit (r->ctx,
+             r->xmin, r->ymin,
+             r->xmax, y,
+             0);
     }
 
     if (num_spans == 0) {
-        _cairo_gl_composite_emit_rect (r->ctx,
-                                       r->xmin, y,
-                                       r->xmax, y + height,
-                                       0);
+       emit (r->ctx,
+             r->xmin, y,
+             r->xmax, y + height,
+             0);
     } else {
         if (spans[0].x != r->xmin) {
-            _cairo_gl_composite_emit_rect (r->ctx,
-                                           r->xmin, y,
-                                           spans[0].x,     y + height,
-                                           0);
+           emit (r->ctx,
+                 r->xmin, y,
+                 spans[0].x,     y + height,
+                 0);
         }
 
         do {
-            _cairo_gl_composite_emit_rect (r->ctx,
-                                           spans[0].x, y,
-                                           spans[1].x, y + height,
-                                           r->opacity * spans[0].coverage);
+           emit (r->ctx,
+                 spans[0].x, y,
+                 spans[1].x, y + height,
+                 r->opacity * spans[0].coverage);
             spans++;
         } while (--num_spans > 1);
 
         if (spans[0].x != r->xmax) {
-            _cairo_gl_composite_emit_rect (r->ctx,
-                                           spans[0].x,     y,
-                                           r->xmax, y + height,
-                                           0);
+           emit (r->ctx,
+                 spans[0].x,     y,
+                 r->xmax, y + height,
+                 0);
         }
     }
 
@@ -214,12 +220,13 @@ static cairo_status_t
 _cairo_gl_finish_unbounded_spans (void *abstract_renderer)
 {
     cairo_gl_span_renderer_t *r = abstract_renderer;
+    cairo_gl_emit_span_t emit = r->emit;
 
     if (r->ymax > r->ymin) {
-        _cairo_gl_composite_emit_rect (r->ctx,
-                                       r->xmin, r->ymin,
-                                       r->xmax, r->ymax,
-                                       0);
+       emit (r->ctx,
+             r->xmin, r->ymin,
+             r->xmax, r->ymax,
+             0);
     }
 
     return _cairo_gl_context_release (r->ctx, CAIRO_STATUS_SUCCESS);
@@ -238,6 +245,7 @@ emit_aligned_boxes (cairo_gl_context_t *ctx,
                    const cairo_boxes_t *boxes)
 {
     const struct _cairo_boxes_chunk *chunk;
+    cairo_gl_emit_rect_t emit = _cairo_gl_context_choose_emit_rect (ctx);
     int i;
 
     TRACE ((stderr, "%s: num_boxes=%d\n", __FUNCTION__, boxes->num_boxes));
@@ -247,7 +255,7 @@ emit_aligned_boxes (cairo_gl_context_t *ctx,
            int y1 = _cairo_fixed_integer_part (chunk->base[i].p1.y);
            int x2 = _cairo_fixed_integer_part (chunk->base[i].p2.x);
            int y2 = _cairo_fixed_integer_part (chunk->base[i].p2.y);
-           _cairo_gl_composite_emit_rect (ctx, x1, y1, x2, y2, 255);
+           emit (ctx, x1, y1, x2, y2);
        }
     }
 }
@@ -291,6 +299,9 @@ draw_image_boxes (void *_dst,
     struct _cairo_boxes_chunk *chunk;
     int i;
 
+    if (_cairo_gl_surface_is_texture (dst))
+    return CAIRO_INT_STATUS_UNSUPPORTED;
+
     for (chunk = &boxes->chunks; chunk; chunk = chunk->next) {
        for (i = 0; i < chunk->count; i++) {
            cairo_box_t *b = &chunk->base[i];
@@ -303,7 +314,7 @@ draw_image_boxes (void *_dst,
            status = _cairo_gl_surface_draw_image (dst, image,
                                                   x + dx, y + dy,
                                                   w, h,
-                                                  x, y);
+                                                  x, y, TRUE);
            if (unlikely (status))
                return status;
        }
@@ -313,21 +324,29 @@ draw_image_boxes (void *_dst,
 }
 
 static cairo_int_status_t copy_boxes (void *_dst,
-                                     cairo_surface_t *src,
+                                     cairo_surface_t *_src,
                                      cairo_boxes_t *boxes,
                                      const cairo_rectangle_int_t *extents,
                                      int dx, int dy)
 {
+    cairo_gl_surface_t *dst = _dst;
+    cairo_gl_surface_t *src = (cairo_gl_surface_t *)_src;
     cairo_gl_composite_t setup;
     cairo_gl_context_t *ctx;
     cairo_int_status_t status;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
+    if (! _cairo_gl_surface_is_texture (src))
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    if (src->base.device != dst->base.device)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
     status = _cairo_gl_composite_init (&setup, CAIRO_OPERATOR_SOURCE, _dst, FALSE);
     if (unlikely (status))
         goto FAIL;
 
-    _cairo_gl_composite_set_source_operand (&setup, source_to_operand (src));
+    _cairo_gl_composite_set_source_operand (&setup, &src->operand);
     _cairo_gl_operand_translate (&setup.src, -dx, -dy);
 
     status = _cairo_gl_composite_begin (&setup, &ctx);
@@ -431,9 +450,6 @@ _cairo_gl_span_renderer_init (cairo_abstract_span_renderer_t        *_r,
                op == CAIRO_OPERATOR_OVER ||
                op == CAIRO_OPERATOR_ADD)) {
        op = CAIRO_OPERATOR_SOURCE;
-    } else if (op == CAIRO_OPERATOR_SOURCE) {
-       /* no lerp equivalent without some major PITA */
-       return CAIRO_INT_STATUS_UNSUPPORTED;
     } else if (! _cairo_gl_operator_is_supported (op))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
@@ -446,7 +462,7 @@ _cairo_gl_span_renderer_init (cairo_abstract_span_renderer_t        *_r,
     status = _cairo_gl_composite_set_source (&r->setup, source,
                                             &composite->source_sample_area,
                                             &composite->unbounded,
-                                            FALSE);
+                                            TRUE, FALSE);
     if (unlikely (status))
         goto FAIL;
 
@@ -457,7 +473,8 @@ _cairo_gl_span_renderer_init (cairo_abstract_span_renderer_t        *_r,
        status = _cairo_gl_composite_set_mask (&r->setup,
                                               &composite->mask_pattern.base,
                                               &composite->mask_sample_area,
-                                              &composite->unbounded);
+                                              &composite->unbounded,
+                                              TRUE);
        if (unlikely (status))
            goto FAIL;
     }
@@ -468,6 +485,7 @@ _cairo_gl_span_renderer_init (cairo_abstract_span_renderer_t        *_r,
     if (unlikely (status))
         goto FAIL;
 
+    r->emit = _cairo_gl_context_choose_emit_span (r->ctx);
     if (composite->is_bounded) {
        if (r->opacity == 1.)
            r->base.render_rows = _cairo_gl_bounded_opaque_spans;
index 31d0ee0..92b27c9 100644 (file)
@@ -77,7 +77,8 @@ _cairo_gl_surface_release_dest_image (void                  *abstract_surface,
     status = _cairo_gl_surface_draw_image (abstract_surface, image,
                                           0, 0,
                                           image->width, image->height,
-                                          image_rect->x, image_rect->y);
+                                          image_rect->x, image_rect->y,
+                                          TRUE);
     /* as we created the image, its format should be directly applicable */
     assert (status == CAIRO_STATUS_SUCCESS);
 
@@ -126,7 +127,7 @@ _cairo_gl_surface_clone_similar (void                    *abstract_surface,
        status = _cairo_gl_surface_draw_image (clone, image_src,
                                               src_x, src_y,
                                               width, height,
-                                              0, 0);
+                                              0, 0, TRUE);
        if (status) {
            cairo_surface_destroy (&clone->base);
            return status;
@@ -236,7 +237,7 @@ _cairo_gl_surface_composite (cairo_operator_t                 op,
             status = _cairo_gl_surface_draw_image (dst, image,
                                                    dx, dy,
                                                    width, height,
-                                                   dst_x, dst_y);
+                                                   dst_x, dst_y, TRUE);
             if (status != CAIRO_INT_STATUS_UNSUPPORTED)
                 return status;
         }
@@ -251,8 +252,7 @@ _cairo_gl_surface_composite (cairo_operator_t                 op,
     status = _cairo_gl_composite_set_source (&setup, src,
                                              src_x, src_y,
                                              dst_x, dst_y,
-                                             width, height,
-                                             FALSE);
+                                             width, height);
     if (unlikely (status))
         goto CLEANUP;
 
@@ -369,8 +369,7 @@ _cairo_gl_surface_fill_rectangles (void                        *abstract_dst,
     status = _cairo_gl_composite_set_source (&setup, &solid.base,
                                              0, 0,
                                              0, 0,
-                                             0, 0,
-                                             FALSE);
+                                             0, 0);
     if (unlikely (status))
         goto CLEANUP;
 
@@ -582,8 +581,7 @@ _cairo_gl_surface_create_span_renderer (cairo_operator_t     op,
     status = _cairo_gl_composite_set_source (&renderer->setup, src,
                                              extents->x, extents->y,
                                              extents->x, extents->y,
-                                             extents->width, extents->height,
-                                             FALSE);
+                                             extents->width, extents->height);
     if (unlikely (status))
         goto FAIL;
 
index 754b0a8..ac19a13 100644 (file)
 #include "cairo-compositor-private.h"
 #include "cairo-default-context-private.h"
 #include "cairo-error-private.h"
-#include "cairo-image-surface-private.h"
+#include "cairo-image-surface-inline.h"
 #include "cairo-surface-backend-private.h"
+#include "cairo-surface-shadow-private.h"
+#include "cairo-surface-scale-translate-private.h"
 
 static const cairo_surface_backend_t _cairo_gl_surface_backend;
 
 static cairo_status_t
-_cairo_gl_surface_flush (void *abstract_surface);
+_cairo_gl_surface_flush (void *abstract_surface, unsigned flags);
 
 static cairo_bool_t _cairo_surface_is_gl (cairo_surface_t *surface)
 {
     return surface->backend == &_cairo_gl_surface_backend;
 }
 
+static cairo_surface_t *
+_cairo_gl_surface_shadow_surface (void *surface,
+                                 const cairo_bool_t has_blur,
+                                 int width, int height,
+                                 int *width_out, int *height_out)
+{
+    int shadow_width, shadow_height;
+    cairo_gl_surface_t *shadow_surface = NULL;
+
+    cairo_gl_surface_t *dst = (cairo_gl_surface_t *)surface;
+    cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+    if (ctx == NULL)
+       return NULL;
+
+    shadow_surface = ctx->shadow_scratch_surfaces[0];
+
+    if (shadow_surface) {
+       shadow_width = shadow_surface->width;
+       shadow_height = shadow_surface->height;
+
+       if (! has_blur) {
+           if(shadow_width >= width &&
+              shadow_height >= height) {
+               *width_out = width;
+               *height_out = height;
+               return cairo_surface_reference (&shadow_surface->base);
+           }
+           else {
+               cairo_surface_destroy (&shadow_surface->base);
+               shadow_surface = NULL;
+           }
+       }
+       else {
+           if (shadow_width * 2 < width &&
+               shadow_height * 2 < height) {
+               if (shadow_width < MAX_SCRATCH_SIZE ||
+                   shadow_height < MAX_SCRATCH_SIZE) {
+                   cairo_surface_destroy (&shadow_surface->base);
+                   shadow_surface = NULL;
+               }
+           }
+           else if (shadow_width > 4 * width &&
+                    shadow_height > 4 * height) {
+               cairo_surface_destroy (&shadow_surface->base);
+               shadow_surface = NULL;
+           }
+       }
+    }
+
+    if (! shadow_surface) {
+       shadow_width = shadow_height = MIN_SCRATCH_SIZE;
+       if (has_blur) {
+           while (shadow_width * 2 < width) {
+               shadow_width *= 2;
+               if (shadow_width == MAX_SCRATCH_SIZE)
+                   break;
+               else if (shadow_width > MAX_SCRATCH_SIZE) {
+                   shadow_width *= 0.5;
+                   break;
+               }
+           }
+           while (shadow_height * 2 < height) {
+               shadow_height *= 2;
+               if (shadow_height == MAX_SCRATCH_SIZE)
+                   break;
+               else if (shadow_height > MAX_SCRATCH_SIZE) {
+                   shadow_height *= 0.5;
+                   break;
+               }
+           }
+       }
+       else {
+           while (shadow_width < width) {
+               shadow_width *= 2;
+               if (shadow_width == MAX_SCRATCH_SIZE)
+                   break;
+               else if (shadow_width > MAX_SCRATCH_SIZE) {
+                   shadow_width *= 0.5;
+                   break;
+               }
+           }
+           while (shadow_height < height) {
+               shadow_height *= 2;
+               if (shadow_height == MAX_SCRATCH_SIZE)
+                   break;
+               else if (shadow_height > MAX_SCRATCH_SIZE) {
+                   shadow_height *= 0.5;
+                   break;
+               }
+           }
+       }
+
+
+       shadow_surface = (cairo_gl_surface_t *)
+               _cairo_gl_surface_create_scratch (ctx,
+                                                 CAIRO_CONTENT_COLOR_ALPHA,
+                                                 shadow_width,
+                                                 shadow_height);
+       if (unlikely (shadow_surface->base.status)) {
+           cairo_surface_destroy (&shadow_surface->base);
+           return NULL;
+       }
+
+       _cairo_surface_release_device_reference (&shadow_surface->base);
+    }
+
+    ctx->shadow_scratch_surfaces[0] = shadow_surface;
+
+    shadow_surface->needs_to_cache = FALSE;
+    shadow_surface->force_no_cache = TRUE;
+
+    *width_out = width;
+    *height_out = height;
+
+    if (has_blur) {
+       while (*width_out > shadow_width) {
+           *width_out *= 0.5;
+       }
+
+       while (*height_out > shadow_height) {
+           *height_out *= 0.5;
+       }
+    }
+    else {
+       if (*width_out > MAX_SCRATCH_SIZE)
+           *width_out *= 0.5;
+       if (*height_out > MAX_SCRATCH_SIZE)
+           *height_out *= 0.5;
+    }
+
+    return cairo_surface_reference (&shadow_surface->base);
+}
+
+static cairo_surface_t *
+_cairo_gl_surface_shadow_mask_surface (void *surface,
+                                      int width, int height,
+                                      unsigned int index)
+{
+    cairo_gl_surface_t *mask_surface = NULL;
+
+    cairo_gl_surface_t *dst = (cairo_gl_surface_t *)surface;
+    cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+    if (ctx == NULL)
+       return NULL;
+
+    if (index > 1)
+       return NULL;
+
+    mask_surface = ctx->shadow_masks[index];
+
+    if (mask_surface) {
+       if (mask_surface->width != width ||
+           mask_surface->height != height) {
+           cairo_surface_destroy (&mask_surface->base);
+           mask_surface = NULL;
+           ctx->shadow_masks[index] = NULL;
+       }
+    }
+
+    if (! mask_surface) {
+       mask_surface = (cairo_gl_surface_t *)
+               _cairo_gl_surface_create_scratch (ctx,
+                                                 CAIRO_CONTENT_COLOR_ALPHA,
+                                                 width,
+                                                 height);
+       if (unlikely (mask_surface->base.status)) {
+           cairo_surface_destroy (&mask_surface->base);
+           return NULL;
+       }
+       _cairo_surface_release_device_reference (&mask_surface->base);
+    }
+
+    ctx->shadow_masks[index] = mask_surface;
+
+    mask_surface->needs_to_cache = FALSE;
+    mask_surface->force_no_cache = TRUE;
+
+    return cairo_surface_reference (&mask_surface->base);
+}
+
+static cairo_surface_t *
+_cairo_gl_surface_glyph_shadow_surface (void *surface,
+                                       int width, int height,
+                                       cairo_bool_t for_source)
+{
+    int shadow_width, shadow_height;
+    cairo_gl_surface_t *shadow_surface = NULL;
+
+    cairo_gl_surface_t *dst = (cairo_gl_surface_t *)surface;
+    cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+    if (ctx == NULL)
+       return NULL;
+
+    if (! for_source)
+       shadow_surface = ctx->shadow_scratch_surfaces[1];
+    else
+       shadow_surface = ctx->shadow_scratch_surfaces[2];
+
+    if (shadow_surface) {
+       shadow_width = shadow_surface->width;
+       shadow_height = shadow_surface->height;
+
+       if (shadow_width < width ||
+           shadow_height < height) {
+          cairo_surface_destroy (&shadow_surface->base);
+          shadow_surface = NULL;
+       }
+    }
+
+    if (! shadow_surface) {
+       shadow_surface = (cairo_gl_surface_t *)
+               _cairo_gl_surface_create_scratch (ctx,
+                                                 CAIRO_CONTENT_COLOR_ALPHA,
+                                                 width, height);
+       if (unlikely (shadow_surface->base.status)) {
+           cairo_surface_destroy (&shadow_surface->base);
+           return NULL;
+       }
+       _cairo_surface_release_device_reference (&shadow_surface->base);
+    }
+
+    if (! for_source)
+       ctx->shadow_scratch_surfaces[1] = shadow_surface;
+    else
+       ctx->shadow_scratch_surfaces[2] = shadow_surface;
+
+    shadow_surface->needs_to_cache = FALSE;
+    shadow_surface->force_no_cache = TRUE;
+
+    return cairo_surface_reference (&shadow_surface->base);
+}
+
+static cairo_surface_t *
+_cairo_gl_surface_glyph_shadow_mask_surface (void *surface,
+                                            int width, int height,
+                                            unsigned index)
+{
+    cairo_gl_surface_t *mask_surface = NULL;
+
+    cairo_gl_surface_t *dst = (cairo_gl_surface_t *)surface;
+    cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+    if (ctx == NULL)
+       return NULL;
+
+    if (index > 1)
+       return NULL;
+
+    mask_surface = ctx->shadow_masks[index + 2];
+
+    if (mask_surface) {
+       if (mask_surface->width != width ||
+           mask_surface->height != height) {
+           cairo_surface_destroy (&mask_surface->base);
+           mask_surface = NULL;
+           ctx->shadow_masks[index + 2] = NULL;
+       }
+    }
+
+    if (! mask_surface) {
+       mask_surface = (cairo_gl_surface_t *)
+               _cairo_gl_surface_create_scratch (ctx,
+                                                 CAIRO_CONTENT_ALPHA,
+                                                 width,
+                                                 height);
+       if (unlikely (mask_surface->base.status)) {
+           cairo_surface_destroy (&mask_surface->base);
+           return NULL;
+       }
+       _cairo_surface_release_device_reference (&mask_surface->base);
+    }
+
+    ctx->shadow_masks[index + 2] = mask_surface;
+
+    mask_surface->needs_to_cache = FALSE;
+    mask_surface->force_no_cache = TRUE;
+
+    return cairo_surface_reference (&mask_surface->base);
+}
+
 static cairo_bool_t
 _cairo_gl_get_image_format_and_type_gles2 (pixman_format_code_t pixman_format,
                                           GLenum *internal_format, GLenum *format,
@@ -362,6 +643,7 @@ _cairo_gl_surface_embedded_operand_init (cairo_gl_surface_t *surface)
     operand->type = CAIRO_GL_OPERAND_TEXTURE;
     operand->texture.surface = surface;
     operand->texture.tex = surface->tex;
+    operand->pass = 0;
 
     if (_cairo_gl_device_requires_power_of_two_textures (surface->base.device)) {
        cairo_matrix_init_identity (&attributes->matrix);
@@ -391,7 +673,19 @@ _cairo_gl_surface_init (cairo_device_t *device,
     surface->width = width;
     surface->height = height;
     surface->needs_update = FALSE;
+    surface->size_changed = FALSE;
     surface->needs_to_cache = FALSE;
+    surface->image_node = NULL;
+    surface->force_no_cache = FALSE;
+
+    surface->image_content_scale_x = 1.0;
+    surface->image_content_scale_y = 1.0;
+    surface->blur_stage = CAIRO_GL_BLUR_STAGE_NONE;
+
+    surface->clip_on_stencil_buffer = NULL;
+
+    surface->content_synced = TRUE;
+    surface->content_cleared = FALSE;
 
     _cairo_gl_surface_embedded_operand_init (surface);
 }
@@ -401,7 +695,8 @@ _cairo_gl_surface_create_scratch_for_texture (cairo_gl_context_t   *ctx,
                                              cairo_content_t       content,
                                              GLuint                tex,
                                              int                   width,
-                                             int                   height)
+                                             int                   height,
+                                             cairo_bool_t set_tex_param)
 {
     cairo_gl_surface_t *surface;
 
@@ -414,32 +709,35 @@ _cairo_gl_surface_create_scratch_for_texture (cairo_gl_context_t   *ctx,
     _cairo_gl_surface_init (&ctx->base, surface, content, width, height);
 
     surface->supports_msaa = ctx->supports_msaa;
+    surface->num_samples = ctx->num_samples;
     surface->supports_stencil = TRUE;
 
     /* Create the texture used to store the surface's data. */
+    if (!set_tex_param) {
     _cairo_gl_context_activate (ctx, CAIRO_GL_TEX_TEMP);
-    glBindTexture (ctx->tex_target, surface->tex);
-    glTexParameteri (ctx->tex_target, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-    glTexParameteri (ctx->tex_target, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+    ctx->dispatch.BindTexture (ctx->tex_target, surface->tex);
+    ctx->dispatch.TexParameteri (ctx->tex_target, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+    ctx->dispatch.TexParameteri (ctx->tex_target, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+    }
 
     return &surface->base;
 }
 
-cairo_surface_t *
-_cairo_gl_surface_create_scratch (cairo_gl_context_t   *ctx,
-                                 cairo_content_t       content,
-                                 int                   width,
-                                 int                   height,
-                                 cairo_bool_t          true_alpha)
+static cairo_surface_t *
+_create_scratch_internal (cairo_gl_context_t *ctx,
+                         cairo_content_t content,
+                         int width,
+                         int height,
+                         cairo_bool_t for_caching)
 {
     cairo_gl_surface_t *surface;
     GLenum format;
     GLuint tex;
 
-    glGenTextures (1, &tex);
+    ctx->dispatch.GenTextures (1, &tex);
     surface = (cairo_gl_surface_t *)
        _cairo_gl_surface_create_scratch_for_texture (ctx, content,
-                                                     tex, width, height);
+                                                     tex, width, height, FALSE);
     if (unlikely (surface->base.status))
        return &surface->base;
 
@@ -455,11 +753,16 @@ _cairo_gl_surface_create_scratch (cairo_gl_context_t   *ctx,
     default:
        ASSERT_NOT_REACHED;
     case CAIRO_CONTENT_COLOR_ALPHA:
-       format = GL_RGBA;
+       if (ctx->can_read_bgra)
+           format = GL_BGRA;
+       else
+           format = GL_RGBA;
        break;
     case CAIRO_CONTENT_ALPHA:
-       /* We want to be trying GL_ALPHA framebuffer objects here. */
-       if (true_alpha)
+       /* When using GL_ALPHA, compositing doesn't work properly, but for
+        * caching surfaces, we are just uploading pixel data, so it isn't
+        * an issue. */
+       if (for_caching)
            format = GL_ALPHA;
        else
            format = GL_RGBA;
@@ -473,16 +776,38 @@ _cairo_gl_surface_create_scratch (cairo_gl_context_t   *ctx,
         * specified.  So, we have to store RGBA, and fill the alpha
         * channel with 1 when blending.
         */
-       format = GL_RGBA;
+       if (ctx->can_read_bgra)
+           format = GL_BGRA;
+       else
+           format = GL_RGBA;
        break;
     }
 
-    glTexImage2D (ctx->tex_target, 0, format, width, height, 0,
+    ctx->dispatch.TexImage2D (ctx->tex_target, 0, format,
+                             width, height, 0,
                  format, GL_UNSIGNED_BYTE, NULL);
 
     return &surface->base;
 }
 
+cairo_surface_t *
+_cairo_gl_surface_create_scratch (cairo_gl_context_t   *ctx,
+                                 cairo_content_t       content,
+                                 int                   width,
+                                 int                   height)
+{
+    return _create_scratch_internal (ctx, content, width, height, FALSE);
+}
+
+cairo_surface_t *
+_cairo_gl_surface_create_scratch_for_caching (cairo_gl_context_t *ctx,
+                                             cairo_content_t content,
+                                             int width,
+                                             int height)
+{
+    return _create_scratch_internal (ctx, content, width, height, TRUE);
+}
+
 static cairo_status_t
 _cairo_gl_surface_clear (cairo_gl_surface_t  *surface,
                          const cairo_color_t *color)
@@ -498,7 +823,16 @@ _cairo_gl_surface_clear (cairo_gl_surface_t  *surface,
     if (ctx->current_target == surface)
        _cairo_gl_composite_flush (ctx);
 
-    _cairo_gl_context_set_destination (ctx, surface, surface->msaa_active);
+    /* FIXME:  for glesv3 and glesv2 with ANGLE extension of multisample
+       supports, it is much more expensive to paint texture back to
+       multisample renderbuffer.  Therefore, instead of clear
+       texture, we clear the renderbuffer.
+       In case, the next draw render target is texture, it will
+       blit renderbuffer back to texture */
+    if (ctx->gl_flavor != CAIRO_GL_FLAVOR_DESKTOP)
+       _cairo_gl_context_set_destination (ctx, surface, TRUE);
+    else
+       _cairo_gl_context_set_destination (ctx, surface, surface->msaa_active);
     if (surface->base.content & CAIRO_CONTENT_COLOR) {
         r = color->red   * color->alpha;
         g = color->green * color->alpha;
@@ -512,14 +846,65 @@ _cairo_gl_surface_clear (cairo_gl_surface_t  *surface,
         a = 1.0;
     }
 
-    _disable_scissor_buffer ();
-    glClearColor (r, g, b, a);
-    glClear (GL_COLOR_BUFFER_BIT);
+    _disable_scissor_buffer (ctx);
+    if (ctx->states_cache.clear_red != r ||
+       ctx->states_cache.clear_green != g ||
+       ctx->states_cache.clear_blue != b ||
+       ctx->states_cache.clear_alpha != a) {
+
+       ctx->states_cache.clear_red = r;
+       ctx->states_cache.clear_green = g;
+       ctx->states_cache.clear_blue = b;
+       ctx->states_cache.clear_alpha = a;
+
+       ctx->dispatch.ClearColor (r, g, b, a);
+    }
+
+    /* optimize for mobile gl driver with deferred rendering */
+    if (surface->clip_on_stencil_buffer ||
+       ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
+       ctx->dispatch.Clear (GL_COLOR_BUFFER_BIT);
+    else {
+               if (surface->clip_on_stencil_buffer) {
+                       _cairo_clip_destroy(surface->clip_on_stencil_buffer);
+                       surface->clip_on_stencil_buffer = NULL;
+               }
+               ctx->dispatch.Clear (GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+    }
+
+    if (a == 0)
+       surface->base.is_clear = TRUE;
 
     surface->content_changed = TRUE;
+    surface->content_synced = FALSE;
+    surface->content_cleared = TRUE;
     return _cairo_gl_context_release (ctx, status);
 }
 
+static cairo_surface_t *
+_cairo_gl_surface_create_and_clear_scratch (cairo_gl_context_t *ctx,
+                                           cairo_content_t content,
+                                           int width,
+                                           int height)
+{
+    cairo_gl_surface_t *surface;
+    cairo_int_status_t status;
+
+    surface = (cairo_gl_surface_t *)
+       _cairo_gl_surface_create_scratch (ctx, content, width, height);
+    if (unlikely (surface->base.status))
+       return &surface->base;
+
+    /* Cairo surfaces start out initialized to transparent (black) */
+    status = _cairo_gl_surface_clear (surface, CAIRO_COLOR_TRANSPARENT);
+    if (unlikely (status)) {
+       cairo_surface_destroy (&surface->base);
+       return _cairo_surface_create_in_error (status);
+    }
+
+    return &surface->base;
+}
+
 cairo_surface_t *
 cairo_gl_surface_create (cairo_device_t                *abstract_device,
                         cairo_content_t         content,
@@ -547,16 +932,13 @@ cairo_gl_surface_create (cairo_device_t           *abstract_device,
        return _cairo_surface_create_in_error (status);
 
     surface = (cairo_gl_surface_t *)
-       _cairo_gl_surface_create_scratch (ctx, content, width, height, FALSE);
+       _cairo_gl_surface_create_and_clear_scratch (ctx, content, width, height);
     if (unlikely (surface->base.status)) {
        status = _cairo_gl_context_release (ctx, surface->base.status);
        cairo_surface_destroy (&surface->base);
        return _cairo_surface_create_in_error (status);
     }
 
-    /* Cairo surfaces start out initialized to transparent (black) */
-    status = _cairo_gl_surface_clear (surface, CAIRO_COLOR_TRANSPARENT);
-
     status = _cairo_gl_context_release (ctx, status);
     if (unlikely (status)) {
        cairo_surface_destroy (&surface->base);
@@ -623,7 +1005,7 @@ cairo_gl_surface_create_for_texture (cairo_device_t        *abstract_device,
 
     surface = (cairo_gl_surface_t *)
        _cairo_gl_surface_create_scratch_for_texture (ctx, content,
-                                                     tex, width, height);
+                                                     tex, width, height, TRUE);
     status = _cairo_gl_context_release (ctx, status);
 
     return &surface->base;
@@ -654,7 +1036,7 @@ cairo_gl_surface_set_size (cairo_surface_t *abstract_surface,
     }
 
     if (surface->width != width || surface->height != height) {
-       surface->needs_update = TRUE;
+       surface->size_changed = TRUE;
        surface->width = width;
        surface->height = height;
     }
@@ -709,13 +1091,21 @@ cairo_gl_surface_swapbuffers (cairo_surface_t *abstract_surface)
         if (unlikely (status))
             return;
 
-       /* For swapping on EGL, at least, we need a valid context/target. */
-       _cairo_gl_context_set_destination (ctx, surface, FALSE);
        /* And in any case we should flush any pending operations. */
        _cairo_gl_composite_flush (ctx);
 
+       /* For swapping on EGL, at least, we need a valid context/target. */
+       _cairo_gl_context_set_destination (ctx, surface, FALSE);
+
        ctx->swap_buffers (ctx, surface);
 
+       /* according to khronos specs on egl 1.4, stencil buffer is
+        * not preserved after eglSwapBuffers */
+       if (surface->clip_on_stencil_buffer) {
+           _cairo_clip_destroy (surface->clip_on_stencil_buffer);
+           surface->clip_on_stencil_buffer = NULL;
+       }
+
         status = _cairo_gl_context_release (ctx, status);
         if (status)
             status = _cairo_surface_set_error (abstract_surface, status);
@@ -749,8 +1139,7 @@ _cairo_gl_surface_create_similar (void              *abstract_surface,
     if (unlikely (status))
        return _cairo_surface_create_in_error (status);
 
-    surface = _cairo_gl_surface_create_scratch (ctx, content, width,
-                                               height, FALSE);
+    surface = _cairo_gl_surface_create_and_clear_scratch (ctx, content, width, height);
 
     status = _cairo_gl_context_release (ctx, status);
     if (unlikely (status)) {
@@ -771,7 +1160,7 @@ _cairo_gl_surface_fill_alpha_channel (cairo_gl_surface_t *dst,
     cairo_status_t status;
 
     _cairo_gl_composite_flush (ctx);
-    glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE);
+    ctx->dispatch.ColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE);
 
     status = _cairo_gl_composite_init (&setup, CAIRO_OPERATOR_SOURCE,
                                       dst, FALSE);
@@ -784,7 +1173,7 @@ _cairo_gl_surface_fill_alpha_channel (cairo_gl_surface_t *dst,
     if (unlikely (status))
         goto CLEANUP;
 
-    _cairo_gl_composite_emit_rect (ctx, x, y, x + width, y + height, 0);
+    _cairo_gl_context_emit_rect (ctx, x, y, x + width, y + height);
 
     status = _cairo_gl_context_release (ctx, status);
 
@@ -792,7 +1181,7 @@ _cairo_gl_surface_fill_alpha_channel (cairo_gl_surface_t *dst,
     _cairo_gl_composite_fini (&setup);
 
     _cairo_gl_composite_flush (ctx);
-    glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
+    ctx->dispatch.ColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
 
     return status;
 }
@@ -802,19 +1191,63 @@ _cairo_gl_surface_draw_image (cairo_gl_surface_t *dst,
                              cairo_image_surface_t *src,
                              int src_x, int src_y,
                              int width, int height,
-                             int dst_x, int dst_y)
+                             int dst_x, int dst_y,
+                             cairo_bool_t force_flush)
 {
     GLenum internal_format, format, type;
     cairo_bool_t has_alpha, needs_swap;
     cairo_image_surface_t *clone = NULL;
     cairo_gl_context_t *ctx;
     int cpp;
+    cairo_image_surface_t *rgba_clone = NULL;
     cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;
 
     status = _cairo_gl_context_acquire (dst->base.device, &ctx);
     if (unlikely (status))
        return status;
 
+    if (_cairo_gl_get_flavor (&ctx->dispatch) == CAIRO_GL_FLAVOR_ES2 ||
+       _cairo_gl_get_flavor (&ctx->dispatch) == CAIRO_GL_FLAVOR_ES3) {
+       pixman_format_code_t pixman_format;
+       cairo_surface_pattern_t pattern;
+       cairo_bool_t require_conversion = FALSE;
+       pixman_format = _cairo_is_little_endian () ? PIXMAN_a8b8g8r8 : PIXMAN_r8g8b8a8;
+
+       if (src->base.content != CAIRO_CONTENT_ALPHA) {
+           if (src->pixman_format != pixman_format)
+               require_conversion = TRUE;
+       }
+       else if (dst->base.content != CAIRO_CONTENT_ALPHA)
+           require_conversion = TRUE;
+       else {
+           if (src->pixman_format == PIXMAN_a1) {
+               pixman_format = PIXMAN_a8;
+               require_conversion = TRUE;
+           }
+       }
+
+       if (require_conversion) {
+           rgba_clone = (cairo_image_surface_t *)
+               _cairo_image_surface_create_with_pixman_format (NULL,
+                                                               pixman_format,
+                                                               src->width,
+                                                               src->height,
+                                                               0);
+           if (unlikely (rgba_clone->base.status))
+               goto FAIL;
+
+           _cairo_pattern_init_for_surface (&pattern, &src->base);
+           status = _cairo_surface_paint (&rgba_clone->base,
+                                          CAIRO_OPERATOR_SOURCE,
+                                          &pattern.base, NULL);
+           _cairo_pattern_fini (&pattern.base);
+           if (unlikely (status))
+               goto FAIL;
+
+           src = rgba_clone;
+       }
+    }
+
     if (! _cairo_gl_get_image_format_and_type (ctx->gl_flavor,
                                               src->pixman_format,
                                               &internal_format,
@@ -844,9 +1277,11 @@ _cairo_gl_surface_draw_image (cairo_gl_surface_t *dst,
 
     cpp = PIXMAN_FORMAT_BPP (src->pixman_format) / 8;
 
-    status = _cairo_gl_surface_flush (&dst->base);
-    if (unlikely (status))
-       goto FAIL;
+    if (force_flush) {
+       status = _cairo_gl_surface_flush (&dst->base, 0);
+       if (unlikely (status))
+           goto FAIL;
+    }
 
     if (_cairo_gl_surface_is_texture (dst)) {
        void *data_start = src->data + src_y * src->stride + src_x * cpp;
@@ -861,11 +1296,11 @@ _cairo_gl_surface_draw_image (cairo_gl_surface_t *dst,
         *     alignment constraint
         */
        if (src->stride < 0 ||
-           (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES &&
+           (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
             (src->width * cpp < src->stride - 3 ||
              width != src->width)))
        {
-           glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+           ctx->dispatch.PixelStorei (GL_UNPACK_ALIGNMENT, 1);
            status = _cairo_gl_surface_extract_image_data (src, src_x, src_y,
                                                           width, height,
                                                           &data_start_gles2);
@@ -876,16 +1311,25 @@ _cairo_gl_surface_draw_image (cairo_gl_surface_t *dst,
        }
        else
        {
-           glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
-           if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
-               glPixelStorei (GL_UNPACK_ROW_LENGTH, src->stride / cpp);
+           ctx->dispatch.PixelStorei (GL_UNPACK_ALIGNMENT, 4);
+           if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP ||
+               ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3)
+               ctx->dispatch.PixelStorei (GL_UNPACK_ROW_LENGTH, src->stride / cpp);
        }
 
+       /* we must resolve the renderbuffer to texture before we
+          upload image */
+       status = _cairo_gl_surface_resolve_multisampling (dst);
+    if (unlikely (status)) {
+        free (data_start_gles2);
+        goto FAIL;
+    }
+
         _cairo_gl_context_activate (ctx, CAIRO_GL_TEX_TEMP);
-       glBindTexture (ctx->tex_target, dst->tex);
-       glTexParameteri (ctx->tex_target, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-       glTexParameteri (ctx->tex_target, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-       glTexSubImage2D (ctx->tex_target, 0,
+       ctx->dispatch.BindTexture (ctx->tex_target, dst->tex);
+       ctx->dispatch.TexParameteri (ctx->tex_target, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+       ctx->dispatch.TexParameteri (ctx->tex_target, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+       ctx->dispatch.TexSubImage2D (ctx->tex_target, 0,
                         dst_x, dst_y, width, height,
                         format, type, data_start);
 
@@ -899,13 +1343,15 @@ _cairo_gl_surface_draw_image (cairo_gl_surface_t *dst,
            _cairo_gl_surface_fill_alpha_channel (dst, ctx,
                                                  dst_x, dst_y,
                                                  width, height);
+
        }
+       dst->content_synced = FALSE;
     } else {
         cairo_surface_t *tmp;
 
         tmp = _cairo_gl_surface_create_scratch (ctx,
                                                 dst->base.content,
-                                                width, height, FALSE);
+                                                width, height);
         if (unlikely (tmp->status))
             goto FAIL;
 
@@ -913,7 +1359,7 @@ _cairo_gl_surface_draw_image (cairo_gl_surface_t *dst,
                                                src,
                                                src_x, src_y,
                                                width, height,
-                                               0, 0);
+                                               0, 0, force_flush);
         if (status == CAIRO_INT_STATUS_SUCCESS) {
             cairo_surface_pattern_t tmp_pattern;
            cairo_rectangle_int_t r;
@@ -947,8 +1393,14 @@ FAIL:
     if (clone)
         cairo_surface_destroy (&clone->base);
 
-    if (likely (status))
+    if (rgba_clone)
+       cairo_surface_destroy (&rgba_clone->base);
+
+    if (status == CAIRO_INT_STATUS_SUCCESS) {
        dst->content_changed = TRUE;
+       dst->content_synced = FALSE;
+    }
+
     return status;
 }
 
@@ -969,37 +1421,44 @@ _cairo_gl_surface_finish (void *abstract_surface)
     if (unlikely (status))
         return status;
 
-    if (ctx->operands[CAIRO_GL_TEX_SOURCE].type == CAIRO_GL_OPERAND_TEXTURE &&
-        ctx->operands[CAIRO_GL_TEX_SOURCE].texture.surface == surface) {
-       _cairo_gl_composite_flush (ctx);
+    if ((ctx->operands[CAIRO_GL_TEX_SOURCE].type == CAIRO_GL_OPERAND_TEXTURE ||
+        ctx->operands[CAIRO_GL_TEX_SOURCE].type == CAIRO_GL_OPERAND_GAUSSIAN) &&
+        ctx->operands[CAIRO_GL_TEX_SOURCE].texture.surface == surface)
         _cairo_gl_context_destroy_operand (ctx, CAIRO_GL_TEX_SOURCE);
-    }
-    else if (ctx->operands[CAIRO_GL_TEX_MASK].type == CAIRO_GL_OPERAND_TEXTURE &&
-        ctx->operands[CAIRO_GL_TEX_MASK].texture.surface == surface) {
-       _cairo_gl_composite_flush (ctx);
+    if ((ctx->operands[CAIRO_GL_TEX_MASK].type == CAIRO_GL_OPERAND_TEXTURE ||
+        ctx->operands[CAIRO_GL_TEX_MASK].type == CAIRO_GL_OPERAND_GAUSSIAN) &&
+        ctx->operands[CAIRO_GL_TEX_MASK].texture.surface == surface)
         _cairo_gl_context_destroy_operand (ctx, CAIRO_GL_TEX_MASK);
-    }
-
     if (ctx->current_target == surface)
        ctx->current_target = NULL;
 
     if (surface->fb)
         ctx->dispatch.DeleteFramebuffers (1, &surface->fb);
+    if (surface->depth_stencil)
+        ctx->dispatch.DeleteRenderbuffers (1, &surface->depth_stencil);
     if (surface->owns_tex)
-       glDeleteTextures (1, &surface->tex);
+       ctx->dispatch.DeleteTextures (1, &surface->tex);
 
-#if CAIRO_HAS_GL_SURFACE
+    if (surface->msaa_depth_stencil)
+       ctx->dispatch.DeleteRenderbuffers (1, &surface->msaa_depth_stencil);
     if (surface->msaa_fb)
        ctx->dispatch.DeleteFramebuffers (1, &surface->msaa_fb);
     if (surface->msaa_rb)
        ctx->dispatch.DeleteRenderbuffers (1, &surface->msaa_rb);
-#endif
 
+    if (surface->image_node) {
+        surface->image_node->node.pinned = FALSE;
+       _cairo_rtree_node_remove (&ctx->image_cache->rtree,
+                                 &surface->image_node->node);
+    }
+
+    if (surface->clip_on_stencil_buffer)
+        _cairo_clip_destroy (surface->clip_on_stencil_buffer);
 
     return _cairo_gl_context_release (ctx, status);
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_gl_surface_map_to_image (void      *abstract_surface,
                                const cairo_rectangle_int_t   *extents)
 {
@@ -1009,10 +1468,15 @@ _cairo_gl_surface_map_to_image (void      *abstract_surface,
     GLenum format, type;
     pixman_format_code_t pixman_format;
     unsigned int cpp;
-    cairo_bool_t invert;
+    cairo_bool_t flipped, mesa_invert;
     cairo_status_t status;
     int y;
 
+    status = _cairo_gl_context_acquire (surface->base.device, &ctx);
+    if (unlikely (status)) {
+       return _cairo_image_surface_create_in_error (status);
+    }
+
     /* Want to use a switch statement here but the compiler gets whiny. */
     if (surface->base.content == CAIRO_CONTENT_COLOR_ALPHA) {
        format = GL_BGRA;
@@ -1034,25 +1498,27 @@ _cairo_gl_surface_map_to_image (void      *abstract_surface,
        return NULL;
     }
 
-    /*
-     * GLES2 supports only RGBA, UNSIGNED_BYTE so use that.
-     * We are also using this format for ALPHA as GLES2 does not
-     * support GL_PACK_ROW_LENGTH anyway, and this makes sure that the
-     * pixman image that is created has row_stride = row_width * bpp.
-     */
-    if (_cairo_gl_surface_flavor (surface) == CAIRO_GL_FLAVOR_ES) {
-       format = GL_RGBA;
-       if (! _cairo_is_little_endian ()) {
-           if (surface->base.content == CAIRO_CONTENT_COLOR)
-               pixman_format = PIXMAN_r8g8b8x8;
-           else
-               pixman_format = PIXMAN_r8g8b8a8;
-       } else {
-           if (surface->base.content == CAIRO_CONTENT_COLOR)
-               pixman_format = PIXMAN_x8b8g8r8;
-           else
-               pixman_format = PIXMAN_a8b8g8r8;
+    if (_cairo_gl_surface_flavor (surface) == CAIRO_GL_FLAVOR_ES2 ||
+       _cairo_gl_surface_flavor (surface) == CAIRO_GL_FLAVOR_ES3) {
+       /* If only RGBA is supported, we must download data in a compatible
+        * format. This means that pixman will convert the data on the CPU when
+        * interacting with other image surfaces. For ALPHA, GLES2 does not
+        * support GL_PACK_ROW_LENGTH anyway, and this makes sure that the
+        * pixman image that is created has row_stride = row_width * bpp. */
+       if (surface->base.content == CAIRO_CONTENT_ALPHA || !ctx->can_read_bgra) {
+           cairo_bool_t little_endian = _cairo_is_little_endian ();
+           format = GL_RGBA;
+
+           if (surface->base.content == CAIRO_CONTENT_COLOR) {
+               pixman_format = little_endian ?
+                   PIXMAN_x8b8g8r8 : PIXMAN_r8g8b8x8;
+           } else {
+               pixman_format = little_endian ?
+                   PIXMAN_a8b8g8r8 : PIXMAN_r8g8b8a8;
+           }
        }
+
+       /* GLES2 only supports GL_UNSIGNED_BYTE. */
        type = GL_UNSIGNED_BYTE;
        cpp = 4;
     }
@@ -1063,63 +1529,65 @@ _cairo_gl_surface_map_to_image (void      *abstract_surface,
                                                        extents->width,
                                                        extents->height,
                                                        -1);
-    if (unlikely (image->base.status))
-       return &image->base;
-
-    if (surface->base.serial == 0)
-       return &image->base;
-
-    status = _cairo_gl_context_acquire (surface->base.device, &ctx);
-    if (unlikely (status)) {
-       cairo_surface_destroy (&image->base);
-       return _cairo_surface_create_in_error (status);
+    if (unlikely (image->base.status)) {
+       status = _cairo_gl_context_release (ctx, status);
+       return image;
     }
 
     cairo_surface_set_device_offset (&image->base, -extents->x, -extents->y);
 
+    /* If the original surface has not been modified or
+     * is clear, we can avoid downloading data. */
+    if (surface->base.is_clear || surface->base.serial == 0) {
+       status = _cairo_gl_context_release (ctx, status);
+       return image;
+    }
+
     /* This is inefficient, as we'd rather just read the thing without making
      * it the destination.  But then, this is the fallback path, so let's not
      * fall back instead.
      */
     _cairo_gl_composite_flush (ctx);
+
     _cairo_gl_context_set_destination (ctx, surface, FALSE);
 
-    invert = ! _cairo_gl_surface_is_texture (surface) &&
-           ctx->has_mesa_pack_invert;
+    flipped = ! _cairo_gl_surface_is_texture (surface);
+    mesa_invert = flipped && ctx->has_mesa_pack_invert;
 
-    glPixelStorei (GL_PACK_ALIGNMENT, 4);
-    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP)
-       glPixelStorei (GL_PACK_ROW_LENGTH, image->stride / cpp);
-    if (invert)
-       glPixelStorei (GL_PACK_INVERT_MESA, 1);
+    ctx->dispatch.PixelStorei (GL_PACK_ALIGNMENT, 4);
+    if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP ||
+       ctx->gl_flavor == CAIRO_GL_FLAVOR_ES3)
+       ctx->dispatch.PixelStorei (GL_PACK_ROW_LENGTH, image->stride / cpp);
+    if (mesa_invert)
+       ctx->dispatch.PixelStorei (GL_PACK_INVERT_MESA, 1);
 
     y = extents->y;
-    if (! _cairo_gl_surface_is_texture (surface))
+    if (flipped)
        y = surface->height - extents->y - extents->height;
 
-    glReadPixels (extents->x, y,
+    ctx->dispatch.ReadPixels (extents->x, y,
                  extents->width, extents->height,
                  format, type, image->data);
-    if (invert)
-       glPixelStorei (GL_PACK_INVERT_MESA, 0);
+    if (mesa_invert)
+       ctx->dispatch.PixelStorei (GL_PACK_INVERT_MESA, 0);
 
     status = _cairo_gl_context_release (ctx, status);
     if (unlikely (status)) {
        cairo_surface_destroy (&image->base);
-       return _cairo_surface_create_in_error (status);
+       return _cairo_image_surface_create_in_error (status);
     }
 
     /* We must invert the image manualy if we lack GL_MESA_pack_invert */
-    if (! ctx->has_mesa_pack_invert && ! _cairo_gl_surface_is_texture (surface)) {
+    if (flipped && ! mesa_invert) {
        uint8_t stack[1024], *row = stack;
        uint8_t *top = image->data;
        uint8_t *bot = image->data + (image->height-1)*image->stride;
 
-       if (image->stride > sizeof(stack)) {
+       if (image->stride > (int)sizeof(stack)) {
            row = malloc (image->stride);
            if (unlikely (row == NULL)) {
                cairo_surface_destroy (&image->base);
-               return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+               return _cairo_image_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
            }
        }
 
@@ -1136,6 +1604,7 @@ _cairo_gl_surface_map_to_image (void      *abstract_surface,
     }
 
     image->base.is_clear = FALSE;
+
     return image;
 }
 
@@ -1185,11 +1654,19 @@ static cairo_int_status_t
 _cairo_gl_surface_unmap_image (void                  *abstract_surface,
                               cairo_image_surface_t *image)
 {
-    return _cairo_gl_surface_draw_image (abstract_surface, image,
-                                        0, 0,
-                                        image->width, image->height,
-                                        image->base.device_transform_inverse.x0,
-                                        image->base.device_transform_inverse.y0);
+    cairo_int_status_t status;
+
+    status = _cairo_gl_surface_draw_image (abstract_surface, image,
+                                          0, 0,
+                                          image->width, image->height,
+                                          image->base.device_transform_inverse.x0,
+                                          image->base.device_transform_inverse.y0,
+                                          TRUE);
+
+    cairo_surface_finish (&image->base);
+    cairo_surface_destroy (&image->base);
+
+    return status;
 }
 
 static cairo_bool_t
@@ -1207,26 +1684,69 @@ _cairo_gl_surface_get_extents (void                  *abstract_surface,
 }
 
 static cairo_status_t
-_cairo_gl_surface_flush (void *abstract_surface)
+_cairo_gl_surface_flush (void *abstract_surface, unsigned flags)
 {
     cairo_gl_surface_t *surface = abstract_surface;
     cairo_status_t status;
     cairo_gl_context_t *ctx;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     status = _cairo_gl_context_acquire (surface->base.device, &ctx);
     if (unlikely (status))
         return status;
 
-    if ((ctx->operands[CAIRO_GL_TEX_SOURCE].type == CAIRO_GL_OPERAND_TEXTURE &&
+    if (((ctx->operands[CAIRO_GL_TEX_SOURCE].type == CAIRO_GL_OPERAND_TEXTURE ||
+         ctx->operands[CAIRO_GL_TEX_SOURCE].type == CAIRO_GL_OPERAND_GAUSSIAN) &&
          ctx->operands[CAIRO_GL_TEX_SOURCE].texture.surface == surface) ||
-        (ctx->operands[CAIRO_GL_TEX_MASK].type == CAIRO_GL_OPERAND_TEXTURE &&
+        ((ctx->operands[CAIRO_GL_TEX_MASK].type == CAIRO_GL_OPERAND_TEXTURE ||
+         ctx->operands[CAIRO_GL_TEX_MASK].type == CAIRO_GL_OPERAND_GAUSSIAN) &&
          ctx->operands[CAIRO_GL_TEX_MASK].texture.surface == surface) ||
         (ctx->current_target == surface))
       _cairo_gl_composite_flush (ctx);
 
+    status = _cairo_gl_surface_resolve_multisampling (surface);
+
+    if (ctx->msaa_type != CAIRO_GL_NONE_MULTISAMPLE_TO_TEXTURE)
+        ctx->dispatch.Flush ();
+
     return _cairo_gl_context_release (ctx, status);
 }
 
+cairo_int_status_t
+_cairo_gl_surface_resolve_multisampling (cairo_gl_surface_t *surface)
+{
+    cairo_gl_context_t *ctx;
+    cairo_int_status_t status;
+
+    if (surface->base.device == NULL)
+       return CAIRO_INT_STATUS_SUCCESS;
+
+    if (! surface->content_cleared) {
+       /* GLES surfaces do not need explicit resolution. */
+       if (! surface->msaa_active)
+           return CAIRO_INT_STATUS_SUCCESS;
+       else if (((cairo_gl_context_t *) surface->base.device)->gl_flavor == CAIRO_GL_FLAVOR_ES2 &&
+                !((cairo_gl_context_t *) surface->base.device)->has_angle_multisampling)
+           return CAIRO_INT_STATUS_SUCCESS;
+       else if (! _cairo_gl_surface_is_texture (surface))
+           return CAIRO_INT_STATUS_SUCCESS;
+    }
+
+    status = _cairo_gl_context_acquire (surface->base.device, &ctx);
+    if (unlikely (status))
+       return status;
+
+    _cairo_gl_context_set_destination (ctx, surface, FALSE);
+
+    status = _cairo_gl_context_release (ctx, status);
+
+    surface->content_cleared = FALSE;
+
+    return status;
+}
+
 static const cairo_compositor_t *
 get_compositor (cairo_gl_surface_t *surface)
 {
@@ -1242,23 +1762,59 @@ _cairo_gl_surface_paint (void                   *surface,
 {
     cairo_int_status_t status;
     cairo_gl_surface_t *dst = (cairo_gl_surface_t *)surface;
+    cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+
+    status = cairo_device_acquire (dst->base.device);
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_surface_shadow_paint (surface, op, source, clip,
+                                         &source->shadow);
+    ctx->source_scratch_in_use = FALSE;
+    if (unlikely (status)) {
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    if (source->shadow.draw_shadow_only) {
+       if (status == CAIRO_INT_STATUS_SUCCESS) {
+           dst->content_changed = TRUE;
+           dst->content_synced = FALSE;
+       }
 
+       ctx->source_scratch_in_use = FALSE;
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+#if 0 // Currently glClear does not get flushed to GPU so do not use this fast path for the time being
     /* simplify the common case of clearing the surface */
     if (clip == NULL) {
-        if (op == CAIRO_OPERATOR_CLEAR)
-            return _cairo_gl_surface_clear (surface, CAIRO_COLOR_TRANSPARENT);
-       else if (source->type == CAIRO_PATTERN_TYPE_SOLID &&
+        if (op == CAIRO_OPERATOR_CLEAR) {
+            status = _cairo_gl_surface_clear (surface, CAIRO_COLOR_TRANSPARENT);
+           cairo_device_release (dst->base.device);
+           return status;
+       }
+       else if (source->type == CAIRO_PATTERN_TYPE_SOLID &&
                 (op == CAIRO_OPERATOR_SOURCE ||
                  (op == CAIRO_OPERATOR_OVER && _cairo_pattern_is_opaque_solid (source)))) {
-            return _cairo_gl_surface_clear (surface,
+            status = _cairo_gl_surface_clear (surface,
                                             &((cairo_solid_pattern_t *) source)->color);
+           cairo_device_release (dst->base.device);
+           return status;
         }
     }
+#endif
 
     status = _cairo_compositor_paint (get_compositor (surface), surface,
                                      op, source, clip);
-    if (likely (status))
+    if (status == CAIRO_INT_STATUS_SUCCESS) {
        dst->content_changed = TRUE;
+       dst->content_synced = FALSE;
+    }
+
+    ctx->source_scratch_in_use = FALSE;
+    cairo_device_release (dst->base.device);
     return status;
 }
 
@@ -1271,11 +1827,51 @@ _cairo_gl_surface_mask (void                     *surface,
 {
     cairo_int_status_t status;
     cairo_gl_surface_t *dst = (cairo_gl_surface_t *) surface;
+    cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+
+    status = cairo_device_acquire (dst->base.device);
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_surface_shadow_mask (surface, op, source, mask, clip,
+                                         &source->shadow);
+    ctx->source_scratch_in_use = FALSE;
+    if (unlikely (status)) {
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    if (source->shadow.draw_shadow_only) {
+       if (status == CAIRO_INT_STATUS_SUCCESS) {
+           dst->content_changed = TRUE;
+           dst->content_synced = FALSE;
+       }
+
+       ctx->source_scratch_in_use = FALSE;
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    status = _cairo_compositor_mask (get_compositor (surface), surface,
+                                    op, source, mask, clip);
+    if (status == CAIRO_INT_STATUS_SUCCESS) {
+       dst->content_changed = TRUE;
+       dst->content_synced = FALSE;
+
+       ctx->source_scratch_in_use = FALSE;
+       cairo_device_release (dst->base.device);
+       return status;
+    }
 
     status = _cairo_compositor_mask (get_compositor (surface), surface,
                                     op, source, mask, clip);
-    if (likely (status))
+    if (status == CAIRO_INT_STATUS_SUCCESS) {
        dst->content_changed = TRUE;
+       dst->content_synced = FALSE;
+    }
+
+    ctx->source_scratch_in_use = FALSE;
+    cairo_device_release (dst->base.device);
     return status;
 }
 
@@ -1293,13 +1889,58 @@ _cairo_gl_surface_stroke (void                          *surface,
 {
     cairo_int_status_t status;
     cairo_gl_surface_t *dst = (cairo_gl_surface_t *)surface;
+    cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
 
-    status = _cairo_compositor_stroke (get_compositor (surface), surface,
-                                      op, source, path, style,
-                                      ctm, ctm_inverse, tolerance,
-                                      antialias, clip);
-    if (likely (status))
-       dst->content_changed = TRUE;
+    status = cairo_device_acquire (dst->base.device);
+    if (unlikely (status))
+       return status;
+
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_stroke (surface, op, source, path,
+                                              style, ctm, ctm_inverse,
+                                              tolerance, antialias,
+                                              clip, &source->shadow);
+
+    ctx->source_scratch_in_use = FALSE;
+    if (unlikely (status)) {
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    dst->content_changed = TRUE;
+    dst->content_synced = FALSE;
+
+    if (shadow_type == CAIRO_SHADOW_DROP &&
+       source->shadow.draw_shadow_only) {
+       ctx->source_scratch_in_use = FALSE;
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    ctx->source_scratch_in_use = FALSE;
+
+    if (! source->shadow.draw_shadow_only)
+       status = _cairo_compositor_stroke (get_compositor (surface), surface,
+                                          op, source, path, style,
+                                          ctm, ctm_inverse, tolerance,
+                                          antialias, clip);
+    if (unlikely (status)) {
+       ctx->source_scratch_in_use = FALSE;
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    ctx->source_scratch_in_use = FALSE;
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_stroke (surface, op, source, path,
+                                              style, ctm, ctm_inverse,
+                                              tolerance, antialias,
+                                              clip, &source->shadow);
+
+    ctx->source_scratch_in_use = FALSE;
+    cairo_device_release (dst->base.device);
     return status;
 }
 
@@ -1313,15 +1954,69 @@ _cairo_gl_surface_fill (void                    *surface,
                         cairo_antialias_t       antialias,
                         const cairo_clip_t     *clip)
 {
-    cairo_int_status_t status;
+    cairo_status_t status;
     cairo_gl_surface_t *dst = (cairo_gl_surface_t *)surface;
+    cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
+
+    status = cairo_device_acquire (dst->base.device);
+    if (unlikely (status))
+       return status;
+
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_fill (surface, op, source, path,
+                                            fill_rule, tolerance, antialias,
+                                            clip, &source->shadow);
+
+    ctx->source_scratch_in_use = FALSE;
+    if (unlikely (status)) {
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    dst->content_changed = TRUE;
+    dst->content_synced = FALSE;
+
+    if (shadow_type == CAIRO_SHADOW_DROP &&
+       source->shadow.draw_shadow_only) {
+       ctx->source_scratch_in_use = FALSE;
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    ctx->source_scratch_in_use = FALSE;
+
+    if (! source->shadow.draw_shadow_only) {
+       if (! source->shadow.path_is_fill_with_spread ||
+           source->shadow.type != CAIRO_SHADOW_INSET)
+           status = _cairo_compositor_fill (get_compositor (surface),
+                                            surface,
+                                            op, source, path,
+                                            fill_rule, tolerance,
+                                            antialias,
+                                            clip);
+       else
+           status = _cairo_compositor_paint (get_compositor (surface),
+                                             surface, op, source,
+                                             clip);
+    }
+
+    if (unlikely (status)) {
+       ctx->source_scratch_in_use = FALSE;
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    ctx->source_scratch_in_use = FALSE;
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_fill (surface, op, source, path,
+                                            fill_rule, tolerance, antialias,
+                                            clip, &source->shadow);
+
+    ctx->source_scratch_in_use = FALSE;
+    cairo_device_release (dst->base.device);
 
-    status = _cairo_compositor_fill (get_compositor (surface), surface,
-                                    op, source, path,
-                                    fill_rule, tolerance, antialias,
-                                    clip);
-    if (likely (status))
-       dst->content_changed = TRUE;
     return status;
 }
 
@@ -1336,12 +2031,58 @@ _cairo_gl_surface_glyphs (void                  *surface,
 {
     cairo_int_status_t status;
     cairo_gl_surface_t *dst = (cairo_gl_surface_t *)surface;
+    cairo_gl_context_t *ctx = (cairo_gl_context_t *)dst->base.device;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
 
-    status = _cairo_compositor_glyphs (get_compositor (surface), surface,
-                                      op, source, glyphs, num_glyphs,
-                                      font, clip);
-    if (likely (status))
-       dst->content_changed = TRUE;
+    status = cairo_device_acquire (dst->base.device);
+    if (unlikely (status))
+       return status;
+
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_glyphs (surface, op, source,
+                                              font,
+                                              glyphs, num_glyphs,
+                                              clip, &source->shadow);
+
+    ctx->source_scratch_in_use = FALSE;
+    if (unlikely (status)) {
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    dst->content_changed = TRUE;
+    dst->content_synced = FALSE;
+
+    if (shadow_type == CAIRO_SHADOW_DROP &&
+       source->shadow.draw_shadow_only) {
+       ctx->source_scratch_in_use = FALSE;
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    ctx->source_scratch_in_use = FALSE;
+
+    if (! source->shadow.draw_shadow_only)
+       status = _cairo_compositor_glyphs (get_compositor (surface), surface,
+                                          op, source, glyphs, num_glyphs,
+                                          font, clip);
+
+    if (unlikely (status)) {
+       ctx->source_scratch_in_use = FALSE;
+       cairo_device_release (dst->base.device);
+       return status;
+    }
+
+    ctx->source_scratch_in_use = FALSE;
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_glyphs (surface, op, source,
+                                              font,
+                                              glyphs, num_glyphs,
+                                              clip, &source->shadow);
+
+    ctx->source_scratch_in_use = FALSE;
+    cairo_device_release (dst->base.device);
     return status;
 }
 
@@ -1375,6 +2116,13 @@ static const cairo_surface_backend_t _cairo_gl_surface_backend = {
     _cairo_gl_surface_fill,
     NULL, /* fill/stroke */
     _cairo_gl_surface_glyphs,
+    NULL, /* has_text_glyphs */
+    NULL, /* show_text_glyphs */
+    NULL, /* get_supported_mime_types */
+    _cairo_gl_surface_shadow_surface,
+    _cairo_gl_surface_glyph_shadow_surface,
+    _cairo_gl_surface_shadow_mask_surface,
+    _cairo_gl_surface_glyph_shadow_mask_surface,
 };
 
 cairo_status_t
@@ -1392,4 +2140,3 @@ cairo_gl_surface_set_binding_texture (cairo_surface_t *abstract_surface,
 
     return CAIRO_STATUS_SUCCESS;
 }
-
index 7129f61..022a37d 100644 (file)
@@ -50,6 +50,7 @@
 #include "cairo-image-surface-private.h"
 #include "cairo-spans-compositor-private.h"
 #include "cairo-surface-backend-private.h"
+#include "cairo-surface-offset-private.h"
 
 static cairo_int_status_t
 acquire (void *abstract_dst)
@@ -83,6 +84,9 @@ draw_image_boxes (void *_dst,
     struct _cairo_boxes_chunk *chunk;
     int i;
 
+    if (_cairo_gl_surface_is_texture (dst))
+    return CAIRO_INT_STATUS_UNSUPPORTED;
+
     for (chunk = &boxes->chunks; chunk; chunk = chunk->next) {
        for (i = 0; i < chunk->count; i++) {
            cairo_box_t *b = &chunk->base[i];
@@ -95,7 +99,8 @@ draw_image_boxes (void *_dst,
            status = _cairo_gl_surface_draw_image (dst, image,
                                                   x + dx, y + dy,
                                                   w, h,
-                                                  x, y);
+                                                  x, y,
+                                                  TRUE);
            if (unlikely (status))
                return status;
        }
@@ -109,6 +114,7 @@ emit_aligned_boxes (cairo_gl_context_t *ctx,
                    const cairo_boxes_t *boxes)
 {
     const struct _cairo_boxes_chunk *chunk;
+    cairo_gl_emit_rect_t emit = _cairo_gl_context_choose_emit_rect (ctx);
     int i;
 
     for (chunk = &boxes->chunks; chunk; chunk = chunk->next) {
@@ -117,7 +123,7 @@ emit_aligned_boxes (cairo_gl_context_t *ctx,
            int y1 = _cairo_fixed_integer_part (chunk->base[i].p1.y);
            int x2 = _cairo_fixed_integer_part (chunk->base[i].p2.x);
            int y2 = _cairo_fixed_integer_part (chunk->base[i].p2.y);
-           _cairo_gl_composite_emit_rect (ctx, x1, y1, x2, y2, 0);
+           emit (ctx, x1, y1, x2, y2);
        }
     }
 }
@@ -174,9 +180,11 @@ composite_boxes (void                      *_dst,
 
     _cairo_gl_composite_set_source_operand (&setup,
                                            source_to_operand (abstract_src));
+    _cairo_gl_operand_translate (&setup.src, dst_x-src_x, dst_y-src_y);
 
     _cairo_gl_composite_set_mask_operand (&setup,
                                          source_to_operand (abstract_mask));
+    _cairo_gl_operand_translate (&setup.mask, dst_x-mask_x, dst_y-mask_y);
 
     status = _cairo_gl_composite_begin (&setup, &ctx);
     if (unlikely (status))
@@ -207,23 +215,31 @@ composite (void                   *_dst,
     cairo_gl_composite_t setup;
     cairo_gl_context_t *ctx;
     cairo_int_status_t status;
+    cairo_gl_operand_t *temp_operand = NULL;
 
     status = _cairo_gl_composite_init (&setup, op, _dst, FALSE);
     if (unlikely (status))
         goto FAIL;
 
-    _cairo_gl_composite_set_source_operand (&setup,
-                                           source_to_operand (abstract_src));
+    temp_operand = source_to_operand (abstract_src);
+    if (temp_operand == NULL) {
+       status = CAIRO_STATUS_NULL_POINTER;
+       goto FAIL;
+    }
+
+    _cairo_gl_composite_set_source_operand (&setup, temp_operand);
+    _cairo_gl_operand_translate (&setup.src, dst_x-src_x, dst_y-src_y);
 
     _cairo_gl_composite_set_mask_operand (&setup,
                                          source_to_operand (abstract_mask));
+    _cairo_gl_operand_translate (&setup.mask, dst_x-mask_x, dst_y-mask_y);
 
     status = _cairo_gl_composite_begin (&setup, &ctx);
     if (unlikely (status))
         goto FAIL;
 
     /* XXX clip */
-    _cairo_gl_composite_emit_rect (ctx, dst_x, dst_y, dst_x+width, dst_y+height, 0);
+    _cairo_gl_context_emit_rect (ctx, dst_x, dst_y, dst_x+width, dst_y+height);
     status = _cairo_gl_context_release (ctx, CAIRO_STATUS_SUCCESS);
 
 FAIL:
@@ -247,7 +263,16 @@ lerp (void                 *dst,
     cairo_int_status_t status;
 
     /* we could avoid some repetition... */
-    status = composite (dst, CAIRO_OPERATOR_DEST_OUT, src, mask,
+    status = composite (dst, CAIRO_OPERATOR_DEST_OUT, mask, NULL,
+                       mask_x, mask_y,
+                       0, 0,
+                       dst_x, dst_y,
+                       width, height);
+
+    if (unlikely (status))
+       return status;
+
+    status = composite (dst, CAIRO_OPERATOR_ADD, src, mask,
                        src_x, src_y,
                        mask_x, mask_y,
                        dst_x, dst_y,
@@ -255,6 +280,34 @@ lerp (void                 *dst,
     if (unlikely (status))
        return status;
 
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static cairo_int_status_t
+lerp_color_glyph (void *dst,
+               cairo_surface_t *src,
+               cairo_surface_t *mask,
+               int src_x,
+               int src_y,
+               int mask_x,
+               int mask_y,
+               int dst_x,
+               int dst_y,
+               unsigned int width,
+               unsigned int height)
+{
+       cairo_int_status_t status;
+
+       /*we could avoid some repetition... */
+    status = composite (dst, CAIRO_OPERATOR_DEST_OUT, mask, src,
+                       mask_x, mask_y,
+                       0, 0,
+                       dst_x, dst_y,
+                       width, height);
+
+    if (unlikely (status))
+       return status;
+
     status = composite (dst, CAIRO_OPERATOR_ADD, src, mask,
                        src_x, src_y,
                        mask_x, mask_y,
@@ -271,7 +324,8 @@ traps_to_operand (void *_dst,
                  const cairo_rectangle_int_t *extents,
                  cairo_antialias_t     antialias,
                  cairo_traps_t         *traps,
-                 cairo_gl_operand_t    *operand)
+                 cairo_gl_operand_t    *operand,
+                 int dst_x, int dst_y)
 {
     pixman_format_code_t pixman_format;
     pixman_image_t *pixman_image;
@@ -292,9 +346,45 @@ traps_to_operand (void *_dst,
                                                          pixman_format);
     if (unlikely (image->status)) {
        pixman_image_unref (pixman_image);
-       return image->status;
+       status = image->status;
+       cairo_surface_destroy (image);
+       return status;
     }
 
+    /* GLES2 only supports RGB/RGBA when uploading */
+#if 0
+    if (_cairo_gl_get_flavor () == CAIRO_GL_FLAVOR_ES2) {
+       cairo_surface_pattern_t pattern;
+       cairo_surface_t *rgba_image;
+
+       /* XXX perform this fixup inside _cairo_gl_draw_image() */
+
+       rgba_image =
+           _cairo_image_surface_create_with_pixman_format (NULL,
+                                                           _cairo_is_little_endian () ?  PIXMAN_a8b8g8r8 : PIXMAN_r8g8b8a8,
+                                                           extents->width,
+                                                           extents->height,
+                                                           0);
+       if (unlikely (rgba_image->status)) {
+        cairo_surface_destroy (image);
+           return rgba_image->status;
+       }
+
+       _cairo_pattern_init_for_surface (&pattern, image);
+       status = _cairo_surface_paint (rgba_image, CAIRO_OPERATOR_SOURCE,
+                                      &pattern.base, NULL);
+       _cairo_pattern_fini (&pattern.base);
+
+       cairo_surface_destroy (image);
+       image = rgba_image;
+
+       if (unlikely (status)) {
+           cairo_surface_destroy (image);
+           return status;
+       }
+    }
+#endif
+
     mask = _cairo_surface_create_similar_scratch (_dst,
                                                  CAIRO_CONTENT_COLOR_ALPHA,
                                                  extents->width,
@@ -308,20 +398,22 @@ traps_to_operand (void *_dst,
                                           (cairo_image_surface_t *)image,
                                           0, 0,
                                           extents->width, extents->height,
-                                          0, 0);
+                                          0, 0,
+                                          TRUE);
     cairo_surface_destroy (image);
+
     if (unlikely (status))
        goto error;
 
     _cairo_pattern_init_for_surface (&pattern, mask);
     cairo_matrix_init_translate (&pattern.base.matrix,
-                                -extents->x, -extents->y);
+                                -extents->x+dst_x, -extents->y+dst_y);
     pattern.base.filter = CAIRO_FILTER_NEAREST;
     pattern.base.extend = CAIRO_EXTEND_NONE;
     status = _cairo_gl_operand_init (operand, &pattern.base, _dst,
                                     &_cairo_unbounded_rectangle,
                                     &_cairo_unbounded_rectangle,
-                                    FALSE);
+                                    FALSE, FALSE);
     _cairo_pattern_fini (&pattern.base);
 
     if (unlikely (status))
@@ -350,14 +442,53 @@ composite_traps (void                     *_dst,
     cairo_gl_composite_t setup;
     cairo_gl_context_t *ctx;
     cairo_int_status_t status;
+       cairo_surface_t *src = (cairo_surface_t *) abstract_src;
+       cairo_surface_t *dst = (cairo_surface_t *) _dst;
+       cairo_surface_t *new_surface = NULL;
+       cairo_surface_t *new_src = (cairo_surface_t *) abstract_src;
+       int new_src_x, new_src_y;
+       cairo_surface_pattern_t new_surface_pattern;
+
+       if (dst == src) {
+               new_surface = _cairo_surface_create_similar_scratch (src,
+                                                                                    src->content,
+                                                                                    extents->width,
+                                                                                    extents->height);
+               status = new_surface->status;
+               if (unlikely (status)) {
+                        cairo_surface_destroy (new_surface);
+                        return status;
+               }
+
+       _cairo_pattern_init_for_surface (&new_surface_pattern, src);
+       new_surface_pattern.base.extend = CAIRO_EXTEND_NONE;
+       new_surface_pattern.base.filter = CAIRO_FILTER_NEAREST;
+       status = _cairo_surface_paint (new_surface, CAIRO_OPERATOR_SOURCE,
+                                                                       &new_surface_pattern.base, NULL);
+
+       if (unlikely (status)) {
+                       _cairo_pattern_fini (&new_surface_pattern.base);
+                        cairo_surface_destroy (new_surface);
+                        return status;
+               }
+
+       new_src = _cairo_gl_pattern_to_source (dst,
+                &new_surface_pattern.base,
+                FALSE,
+                extents, extents,
+                &new_src_x, &new_src_y);
+               }
 
     status = _cairo_gl_composite_init (&setup, op, _dst, FALSE);
     if (unlikely (status))
         goto FAIL;
 
     _cairo_gl_composite_set_source_operand (&setup,
-                                           source_to_operand (abstract_src));
-    status = traps_to_operand (_dst, extents, antialias, traps, &setup.mask);
+                                           source_to_operand (new_src));
+
+       if (src == new_src)
+    _cairo_gl_operand_translate (&setup.src, -src_x-dst_x, -src_y-dst_y);
+    status = traps_to_operand (_dst, extents, antialias, traps, &setup.mask, dst_x, dst_y);
     if (unlikely (status))
        goto FAIL;
 
@@ -366,14 +497,21 @@ composite_traps (void                     *_dst,
         goto FAIL;
 
     /* XXX clip */
-    _cairo_gl_composite_emit_rect (ctx,
-                                  dst_x, dst_y,
-                                  dst_x+extents->width,
-                                  dst_y+extents->height, 0);
+    _cairo_gl_context_emit_rect (ctx,
+                                extents->x-dst_x, extents->y-dst_y,
+                                extents->x-dst_x+extents->width,
+                                extents->y-dst_y+extents->height);
     status = _cairo_gl_context_release (ctx, CAIRO_STATUS_SUCCESS);
 
 FAIL:
     _cairo_gl_composite_fini (&setup);
+
+       if (new_src != src) {
+               cairo_surface_destroy (new_src);
+               cairo_surface_destroy (new_surface);
+               _cairo_pattern_fini (&new_surface_pattern.base);
+       }
+
     return status;
 }
 
@@ -417,7 +555,8 @@ tristrip_to_surface (void *_dst,
                                           (cairo_image_surface_t *)image,
                                           0, 0,
                                           extents->width, extents->height,
-                                          0, 0);
+                                          0, 0,
+                                          TRUE);
     cairo_surface_destroy (image);
     if (unlikely (status)) {
        cairo_surface_destroy (mask);
@@ -443,17 +582,26 @@ composite_tristrip (void          *_dst,
     cairo_gl_context_t *ctx;
     cairo_gl_surface_t *mask;
     cairo_int_status_t status;
+    cairo_gl_operand_t *temp_operand = NULL;
 
     mask = tristrip_to_surface (_dst, extents, antialias, strip);
-    if (unlikely (mask->base.status))
-       return mask->base.status;
+    if (unlikely (mask->base.status)) {
+       status = mask->base.status;
+       cairo_surface_destroy (&mask->base);
+       return status;
+    }
 
     status = _cairo_gl_composite_init (&setup, op, _dst, FALSE);
     if (unlikely (status))
         goto FAIL;
 
+    temp_operand = source_to_operand (abstract_src);
+    if (temp_operand == NULL) {
+       status = CAIRO_STATUS_NULL_POINTER;
+       goto FAIL;
+    }
     _cairo_gl_composite_set_source_operand (&setup,
-                                           source_to_operand (abstract_src));
+                                           temp_operand);
 
     //_cairo_gl_composite_set_mask_surface (&setup, mask, 0, 0);
 
@@ -462,10 +610,10 @@ composite_tristrip (void          *_dst,
         goto FAIL;
 
     /* XXX clip */
-    _cairo_gl_composite_emit_rect (ctx,
-                                  dst_x, dst_y,
-                                  dst_x+extents->width,
-                                  dst_y+extents->height, 0);
+    _cairo_gl_context_emit_rect (ctx,
+                                dst_x, dst_y,
+                                dst_x+extents->width,
+                                dst_y+extents->height);
     status = _cairo_gl_context_release (ctx, CAIRO_STATUS_SUCCESS);
 
 FAIL:
@@ -500,6 +648,8 @@ _cairo_gl_traps_compositor_get (void)
        compositor.check_composite = check_composite;
        compositor.composite = composite;
        compositor.lerp = lerp;
+       //FIXME:
+        compositor.lerp_color_glyph = lerp_color_glyph;
        //compositor.check_composite_boxes = check_composite_boxes;
        compositor.composite_boxes = composite_boxes;
        //compositor.check_composite_traps = check_composite_traps;
old mode 100644 (file)
new mode 100755 (executable)
index 837cb81..69738a2
@@ -62,7 +62,7 @@
 
 #include "cairo.h"
 
-#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_GLESV2_SURFACE
+#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_GLESV2_SURFACE || CAIRO_HAS_GLESV3_SURFACE || CAIRO_HAS_EVASGL_SURFACE
 
 CAIRO_BEGIN_DECLS
 
@@ -142,10 +142,15 @@ cairo_gl_surface_create_for_egl (cairo_device_t   *device,
                                 int             width,
                                 int             height);
 
+cairo_public EGLDisplay
+cairo_egl_device_get_display (cairo_device_t *device);
+
+cairo_public EGLSurface
+cairo_egl_device_get_context (cairo_device_t *device);
+
 #endif
 
 CAIRO_END_DECLS
-
 #else  /* CAIRO_HAS_GL_SURFACE */
 # error Cairo was not compiled with support for the GL backend
 #endif /* CAIRO_HAS_GL_SURFACE */
index e182e0d..b4d7060 100644 (file)
@@ -52,9 +52,8 @@ typedef struct _cairo_glx_context {
     Display *display;
     Window dummy_window;
     GLXContext context;
+    GLXDrawable current_drawable;
 
-    Display *previous_display;
-    GLXDrawable previous_drawable;
     GLXContext previous_context;
 
     cairo_bool_t has_multithread_makecurrent;
@@ -67,12 +66,9 @@ typedef struct _cairo_glx_surface {
 } cairo_glx_surface_t;
 
 static cairo_bool_t
-_context_acquisition_changed_glx_state (cairo_glx_context_t *ctx,
-                                       GLXDrawable current_drawable)
+_context_acquisition_changed_glx_state (cairo_glx_context_t *ctx)
 {
-    return !(ctx->previous_display == ctx->display &&
-            ctx->previous_drawable == current_drawable &&
-            ctx->previous_context == ctx->context);
+    return ctx->previous_context != ctx->context;
 }
 
 static GLXDrawable
@@ -86,11 +82,9 @@ _glx_get_current_drawable (cairo_glx_context_t *ctx)
     return ((cairo_glx_surface_t *) ctx->base.current_target)->win;
 }
 
-static void
+static void *
 _glx_query_current_state (cairo_glx_context_t * ctx)
 {
-    ctx->previous_drawable = glXGetCurrentDrawable ();
-    ctx->previous_display = glXGetCurrentDisplay ();
     ctx->previous_context = glXGetCurrentContext ();
 }
 
@@ -101,10 +95,12 @@ _glx_acquire (void *abstract_ctx)
     GLXDrawable current_drawable = _glx_get_current_drawable (ctx);
 
     _glx_query_current_state (ctx);
-    if (!_context_acquisition_changed_glx_state (ctx, current_drawable))
+    if (!_context_acquisition_changed_glx_state (ctx))
        return;
 
+    _cairo_gl_context_reset (&ctx->base);
     glXMakeCurrent (ctx->display, current_drawable, ctx->context);
+    ctx->current_drawable = current_drawable;
 }
 
 static void
@@ -114,7 +110,10 @@ _glx_make_current (void *abstract_ctx, cairo_gl_surface_t *abstract_surface)
     cairo_glx_surface_t *surface = (cairo_glx_surface_t *) abstract_surface;
 
     /* Set the window as the target of our context. */
-    glXMakeCurrent (ctx->display, surface->win, ctx->context);
+    if (ctx->current_drawable != surface->win) {
+       glXMakeCurrent (ctx->display, surface->win, ctx->context);
+       ctx->current_drawable = surface->win;
+    }
 }
 
 static void
@@ -122,10 +121,13 @@ _glx_release (void *abstract_ctx)
 {
     cairo_glx_context_t *ctx = abstract_ctx;
 
-    if (ctx->has_multithread_makecurrent || !ctx->base.thread_aware)
+    if (ctx->has_multithread_makecurrent || !ctx->base.thread_aware ||
+       !_context_acquisition_changed_glx_state (ctx)) {
        return;
+    }
 
     glXMakeCurrent (ctx->display, None, None);
+    ctx->current_drawable = None;
 }
 
 static void
@@ -150,7 +152,7 @@ _glx_destroy (void *abstract_ctx)
 }
 
 static cairo_status_t
-_glx_dummy_ctx (Display *dpy, GLXContext gl_ctx, Window *dummy)
+_glx_dummy_window (Display *dpy, GLXContext gl_ctx, Window *dummy)
 {
     int attr[3] = { GLX_FBCONFIG_ID, 0, None };
     GLXFBConfig *config;
@@ -201,6 +203,58 @@ _glx_dummy_ctx (Display *dpy, GLXContext gl_ctx, Window *dummy)
     return CAIRO_STATUS_SUCCESS;
 }
 
+static cairo_gl_generic_func_t
+_cairo_glx_get_proc_address (void *data, const char *name)
+{
+    int i;
+    struct {
+       cairo_gl_generic_func_t func;
+       const char *name;
+    } func_map[] = {
+    { (cairo_gl_generic_func_t)glActiveTexture,        "glActiveTexture"       },
+    { (cairo_gl_generic_func_t)glBindTexture,  "glBindTexture"         },
+    { (cairo_gl_generic_func_t)glBlendFunc,    "glBlendFunc"           },
+    { (cairo_gl_generic_func_t)glBlendFuncSeparate,"glBlendFuncSeparate"},
+    { (cairo_gl_generic_func_t)glClear,                "glClear"               },
+    { (cairo_gl_generic_func_t)glClearColor,   "glClearColor"          },
+    { (cairo_gl_generic_func_t)glClearStencil, "glClearStencil"        },
+    { (cairo_gl_generic_func_t)glColorMask,    "glColorMask"           },
+    { (cairo_gl_generic_func_t)glDeleteTextures,"glDeleteTextures"     },
+    { (cairo_gl_generic_func_t)glDepthMask,    "glDepthMask"           },
+    { (cairo_gl_generic_func_t)glDisable,      "glDisable"             },
+    { (cairo_gl_generic_func_t)glDrawArrays,   "glDrawArrays"          },
+    { (cairo_gl_generic_func_t)glDrawBuffer,   "glDrawBuffer"          },
+    { (cairo_gl_generic_func_t)glDrawElements, "glDrawElements"        },
+    { (cairo_gl_generic_func_t)glEnable,       "glEnable"              },
+    { (cairo_gl_generic_func_t)glGenTextures,  "glGenTextures"         },
+    { (cairo_gl_generic_func_t)glGetBooleanv,  "glGetBooleanv"         },
+    { (cairo_gl_generic_func_t)glGetError,     "glGetError"            },
+    { (cairo_gl_generic_func_t)glGetFloatv,    "glGetFloatv"           },
+    { (cairo_gl_generic_func_t)glGetIntegerv,  "glGetIntegerv"         },
+    { (cairo_gl_generic_func_t)glGetString,    "glGetString"           },
+    { (cairo_gl_generic_func_t)glFlush,                "glFlush"               },
+    { (cairo_gl_generic_func_t)glPixelStorei,  "glPixelStorei"         },
+    { (cairo_gl_generic_func_t)glReadBuffer,   "glReadBuffer"          },
+    { (cairo_gl_generic_func_t)glReadPixels,   "glReadPixels"          },
+    { (cairo_gl_generic_func_t)glScissor,      "glScissor"             },
+    { (cairo_gl_generic_func_t)glStencilFunc,  "glStencilFunc"         },
+    { (cairo_gl_generic_func_t)glStencilMask,  "glStencilMask"         },
+    { (cairo_gl_generic_func_t)glStencilOp,    "glStencilOp"           },
+    { (cairo_gl_generic_func_t)glTexImage2D,   "glTexImage2D"          },
+    { (cairo_gl_generic_func_t)glTexSubImage2D,        "glTexSubImage2D"       },
+    { (cairo_gl_generic_func_t)glTexParameteri,        "glTexParameteri"       },
+    { (cairo_gl_generic_func_t)glViewport,     "glViewport"            },
+    { NULL,                                     NULL                   }
+    };
+
+    for (i = 0; func_map[i].name; i++) {
+       if (! strcmp (func_map[i].name, name))
+           return func_map[i].func;
+    }
+
+  return glXGetProcAddress (name);
+}
+
 cairo_device_t *
 cairo_glx_device_create (Display *dpy, GLXContext gl_ctx)
 {
@@ -213,12 +267,18 @@ cairo_glx_device_create (Display *dpy, GLXContext gl_ctx)
     if (unlikely (ctx == NULL))
        return _cairo_gl_context_create_in_error (CAIRO_STATUS_NO_MEMORY);
 
-    status = _glx_dummy_ctx (dpy, gl_ctx, &dummy);
+    /* glx_dummy_window will call glXMakeCurrent, so we need to
+     *  query the current state of the context now. */
+    _glx_query_current_state (ctx);
+
+    status = _glx_dummy_window (dpy, gl_ctx, &dummy);
     if (unlikely (status)) {
        free (ctx);
        return _cairo_gl_context_create_in_error (status);
     }
 
+    ctx->current_drawable = dummy;
+
     ctx->display = dpy;
     ctx->dummy_window = dummy;
     ctx->context = gl_ctx;
@@ -230,7 +290,8 @@ cairo_glx_device_create (Display *dpy, GLXContext gl_ctx)
     ctx->base.destroy = _glx_destroy;
 
     status = _cairo_gl_dispatch_init (&ctx->base.dispatch,
-                                     (cairo_gl_get_proc_addr_func_t) glXGetProcAddress);
+                                     (cairo_gl_get_proc_addr_func_t) _cairo_glx_get_proc_address,
+                                     NULL);
     if (unlikely (status)) {
        free (ctx);
        return _cairo_gl_context_create_in_error (status);
index 38f11c7..92d3bb3 100644 (file)
@@ -71,6 +71,8 @@ struct _cairo_gstate {
 
     cairo_pattern_t *source;
 
+    cairo_shadow_t shadow;
+
     struct _cairo_gstate *next;
 };
 
@@ -209,6 +211,16 @@ _cairo_gstate_user_to_backend (cairo_gstate_t *gstate, double *x, double *y)
 }
 
 cairo_private void
+_do_cairo_gstate_user_to_backend_distance (cairo_gstate_t *gstate, double *x, double *y);
+
+static inline void
+_cairo_gstate_user_to_backend_distance (cairo_gstate_t *gstate, double *x, double *y)
+{
+    if (! gstate->is_identity)
+       _do_cairo_gstate_user_to_backend_distance (gstate, x, y);
+}
+
+cairo_private void
 _do_cairo_gstate_backend_to_user (cairo_gstate_t *gstate, double *x, double *y);
 
 static inline void
@@ -219,6 +231,16 @@ _cairo_gstate_backend_to_user (cairo_gstate_t *gstate, double *x, double *y)
 }
 
 cairo_private void
+_do_cairo_gstate_backend_to_user_distance (cairo_gstate_t *gstate, double *x, double *y);
+
+static inline void
+_cairo_gstate_backend_to_user_distance (cairo_gstate_t *gstate, double *x, double *y)
+{
+    if (! gstate->is_identity)
+       _do_cairo_gstate_backend_to_user_distance (gstate, x, y);
+}
+
+cairo_private void
 _cairo_gstate_backend_to_user_rectangle (cairo_gstate_t *gstate,
                                          double *x1, double *y1,
                                          double *x2, double *y2,
@@ -364,4 +386,30 @@ _cairo_gstate_set_antialias (cairo_gstate_t *gstate,
 cairo_private cairo_antialias_t
 _cairo_gstate_get_antialias (cairo_gstate_t *gstate);
 
+cairo_private cairo_status_t
+_cairo_gstate_set_shadow (cairo_gstate_t *gstate, cairo_shadow_type_t shadow);
+
+cairo_private cairo_status_t
+_cairo_gstate_set_shadow_offset (cairo_gstate_t *gstate, double x_offset,
+                                double y_offset);
+
+cairo_private cairo_status_t
+_cairo_gstate_set_shadow_rgba (cairo_gstate_t *gstate, double r, double g,
+                              double b, double a);
+
+cairo_private cairo_status_t
+_cairo_gstate_set_shadow_blur (cairo_gstate_t *gstate, double x_blur,
+                              double y_blur);
+
+cairo_private void
+_cairo_gstate_set_draw_shadow_only (cairo_gstate_t *gstate,
+                                   cairo_bool_t draw_shadow_only);
+
+cairo_private void
+_cairo_gstate_shadow_enable_cache (cairo_gstate_t *gstate, cairo_bool_t enable);
+
+cairo_private void
+_cairo_gstate_set_path_is_inset_shadow_with_spread (cairo_gstate_t *gstate,
+                                                   cairo_bool_t   is_spread_path);
+
 #endif /* CAIRO_GSTATE_PRIVATE_H */
old mode 100644 (file)
new mode 100755 (executable)
index 15dc46f..84b47fe
@@ -74,6 +74,21 @@ _cairo_gstate_transform_glyphs_to_backend (cairo_gstate_t      *gstate,
                                           int                  *num_transformed_glyphs,
                                           cairo_text_cluster_t *transformed_clusters);
 
+static cairo_bool_t
+_cairo_gstate_has_shadow (cairo_gstate_t *gstate)
+{
+    if (gstate->shadow.type == CAIRO_SHADOW_NONE)
+       return FALSE;
+
+    if (gstate->shadow.x_blur == 0.0 &&
+       gstate->shadow.y_blur == 0.0 &&
+       gstate->shadow.x_offset == 0.0 &&
+       gstate->shadow.y_offset == 0.0)
+       return FALSE;
+
+    return TRUE;
+}
+
 static void
 _cairo_gstate_update_device_transform (cairo_observer_t *observer,
                                       void *arg)
@@ -131,6 +146,8 @@ _cairo_gstate_init (cairo_gstate_t  *gstate,
 
     gstate->source = (cairo_pattern_t *) &_cairo_pattern_black.base;
 
+    memset (&gstate->shadow, 0, sizeof (cairo_shadow_t));
+
     /* Now that the gstate is fully initialized and ready for the eventual
      * _cairo_gstate_fini(), we can check for errors (and not worry about
      * the resource deallocation). */
@@ -190,6 +207,8 @@ _cairo_gstate_init_copy (cairo_gstate_t *gstate, cairo_gstate_t *other)
 
     gstate->source = cairo_pattern_reference (other->source);
 
+    gstate->shadow = other->shadow;
+
     gstate->next = NULL;
 
     return CAIRO_STATUS_SUCCESS;
@@ -225,6 +244,8 @@ _cairo_gstate_fini (cairo_gstate_t *gstate)
     cairo_pattern_destroy (gstate->source);
     gstate->source = NULL;
 
+    memset (&gstate->shadow, 0, sizeof (cairo_shadow_t));
+
     VG (VALGRIND_MAKE_MEM_NOACCESS (gstate, sizeof (cairo_gstate_t)));
 }
 
@@ -814,6 +835,13 @@ _do_cairo_gstate_user_to_backend (cairo_gstate_t *gstate, double *x, double *y)
 }
 
 void
+_do_cairo_gstate_user_to_backend_distance (cairo_gstate_t *gstate, double *x, double *y)
+{
+    cairo_matrix_transform_distance (&gstate->ctm, x, y);
+    cairo_matrix_transform_distance (&gstate->target->device_transform, x, y);
+}
+
+void
 _do_cairo_gstate_backend_to_user (cairo_gstate_t *gstate, double *x, double *y)
 {
     cairo_matrix_transform_point (&gstate->target->device_transform_inverse, x, y);
@@ -821,6 +849,13 @@ _do_cairo_gstate_backend_to_user (cairo_gstate_t *gstate, double *x, double *y)
 }
 
 void
+_do_cairo_gstate_backend_to_user_distance (cairo_gstate_t *gstate, double *x, double *y)
+{
+    cairo_matrix_transform_distance (&gstate->target->device_transform_inverse, x, y);
+    cairo_matrix_transform_distance (&gstate->ctm_inverse, x, y);
+}
+
+void
 _cairo_gstate_backend_to_user_rectangle (cairo_gstate_t *gstate,
                                          double *x1, double *y1,
                                          double *x2, double *y2,
@@ -981,6 +1016,9 @@ _reduce_op (cairo_gstate_t *gstate)
     if (op != CAIRO_OPERATOR_SOURCE)
        return op;
 
+    if (gstate->shadow.type != CAIRO_SHADOW_NONE)
+       return op;
+
     pattern = gstate->source;
     if (pattern->type == CAIRO_PATTERN_TYPE_SOLID) {
        const cairo_solid_pattern_t *solid = (cairo_solid_pattern_t *) pattern;
@@ -1031,6 +1069,7 @@ _cairo_gstate_paint (cairo_gstate_t *gstate)
     const cairo_pattern_t *pattern;
     cairo_status_t status;
     cairo_operator_t op;
+    cairo_bool_t destroy_pattern = FALSE;
 
     status = _cairo_gstate_get_pattern_status (gstate->source);
     if (unlikely (status))
@@ -1042,17 +1081,34 @@ _cairo_gstate_paint (cairo_gstate_t *gstate)
     if (_cairo_clip_is_all_clipped (gstate->clip))
        return CAIRO_STATUS_SUCCESS;
 
+    if (gstate->source->filter == CAIRO_FILTER_GAUSSIAN)
+       status = _cairo_pattern_create_gaussian_matrix (gstate->source, 1024);
+
     op = _reduce_op (gstate);
+    /* do not use static pattern */
     if (op == CAIRO_OPERATOR_CLEAR) {
-       pattern = &_cairo_pattern_clear.base;
+       if (! _cairo_gstate_has_shadow (gstate))
+           pattern = &_cairo_pattern_clear.base;
+       else {
+           pattern = cairo_pattern_create_rgba (0, 0, 0, 0);
+           destroy_pattern = TRUE;
+       }
     } else {
        _cairo_gstate_copy_transformed_source (gstate, &source_pattern.base);
        pattern = &source_pattern.base;
     }
 
-    return _cairo_surface_paint (gstate->target,
-                                op, pattern,
-                                gstate->clip);
+    /* FIXME: I don't like this */
+    if (_cairo_gstate_has_shadow (gstate))
+       ((cairo_pattern_t *)pattern)->shadow = gstate->shadow;
+
+    status = _cairo_surface_paint (gstate->target,
+                                  op, pattern,
+                                  gstate->clip);
+    if (destroy_pattern)
+       cairo_pattern_destroy ((cairo_pattern_t *)pattern);
+
+    return status;
 }
 
 cairo_status_t
@@ -1063,6 +1119,7 @@ _cairo_gstate_mask (cairo_gstate_t  *gstate,
     const cairo_pattern_t *source;
     cairo_operator_t op;
     cairo_status_t status;
+    cairo_bool_t destroy_pattern = FALSE;
 
     status = _cairo_gstate_get_pattern_status (mask);
     if (unlikely (status))
@@ -1072,6 +1129,12 @@ _cairo_gstate_mask (cairo_gstate_t  *gstate,
     if (unlikely (status))
        return status;
 
+    if (gstate->source->filter == CAIRO_FILTER_GAUSSIAN)
+       status = _cairo_pattern_create_gaussian_matrix (gstate->source, 1024);
+
+    if (mask->filter == CAIRO_FILTER_GAUSSIAN)
+       status = _cairo_pattern_create_gaussian_matrix (mask, 1024);
+
     if (gstate->op == CAIRO_OPERATOR_DEST)
        return CAIRO_STATUS_SUCCESS;
 
@@ -1091,11 +1154,21 @@ _cairo_gstate_mask (cairo_gstate_t  *gstate,
 
     op = _reduce_op (gstate);
     if (op == CAIRO_OPERATOR_CLEAR) {
-       source = &_cairo_pattern_clear.base;
+       if (! _cairo_gstate_has_shadow (gstate))
+           source = &_cairo_pattern_clear.base;
+       else {
+           source = cairo_pattern_create_rgba (0, 0, 0, 0);
+           destroy_pattern = TRUE;
+       }
     } else {
        _cairo_gstate_copy_transformed_source (gstate, &source_pattern.base);
        source = &source_pattern.base;
     }
+
+    /* FIXME: I don't like this */
+    if (_cairo_gstate_has_shadow (gstate))
+       ((cairo_pattern_t *)source)->shadow = gstate->shadow;
+
     _cairo_gstate_copy_transformed_mask (gstate, &mask_pattern.base, mask);
 
     if (source->type == CAIRO_PATTERN_TYPE_SOLID &&
@@ -1117,6 +1190,8 @@ _cairo_gstate_mask (cairo_gstate_t  *gstate,
            _cairo_color_multiply_alpha (&combined, mask_pattern.solid.color.alpha);
        }
 
+       _cairo_color_init_rgba (&combined, combined.red, combined.green,
+                               combined.blue, combined.alpha);
        _cairo_pattern_init_solid (&source_pattern.solid, &combined);
 
        status = _cairo_surface_paint (gstate->target, op,
@@ -1131,6 +1206,9 @@ _cairo_gstate_mask (cairo_gstate_t  *gstate,
                                      gstate->clip);
     }
 
+    if (destroy_pattern)
+       cairo_pattern_destroy ((cairo_pattern_t *)source);
+
     return status;
 }
 
@@ -1146,6 +1224,10 @@ _cairo_gstate_stroke (cairo_gstate_t *gstate, cairo_path_fixed_t *path)
     if (unlikely (status))
        return status;
 
+    if (gstate->source->filter == CAIRO_FILTER_GAUSSIAN)
+       status = _cairo_pattern_create_gaussian_matrix (gstate->source,
+                                                       gstate->stroke_style.line_width);
+
     if (gstate->op == CAIRO_OPERATOR_DEST)
        return CAIRO_STATUS_SUCCESS;
 
@@ -1168,6 +1250,10 @@ _cairo_gstate_stroke (cairo_gstate_t *gstate, cairo_path_fixed_t *path)
 
     _cairo_gstate_copy_transformed_source (gstate, &source_pattern.base);
 
+    /* FIXME: I don't like this */
+    if (_cairo_gstate_has_shadow (gstate))
+       source_pattern.base.shadow = gstate->shadow;
+
     return _cairo_surface_stroke (gstate->target,
                                  gstate->op,
                                  &source_pattern.base,
@@ -1221,12 +1307,12 @@ _cairo_gstate_in_stroke (cairo_gstate_t     *gstate,
     _cairo_traps_init (&traps);
     _cairo_traps_limit (&traps, &limit, 1);
 
-    status = _cairo_path_fixed_stroke_to_traps (path,
-                                               &gstate->stroke_style,
-                                               &gstate->ctm,
-                                               &gstate->ctm_inverse,
-                                               gstate->tolerance,
-                                               &traps);
+    status = _cairo_path_fixed_stroke_polygon_to_traps (path,
+                                                       &gstate->stroke_style,
+                                                       &gstate->ctm,
+                                                       &gstate->ctm_inverse,
+                                                       gstate->tolerance,
+                                                       &traps);
     if (unlikely (status))
        goto BAIL;
 
@@ -1242,11 +1328,16 @@ cairo_status_t
 _cairo_gstate_fill (cairo_gstate_t *gstate, cairo_path_fixed_t *path)
 {
     cairo_status_t status;
+    const cairo_pattern_t *pattern;
+    cairo_bool_t destroy_pattern = FALSE;
 
     status = _cairo_gstate_get_pattern_status (gstate->source);
     if (unlikely (status))
        return status;
 
+    if (gstate->source->filter == CAIRO_FILTER_GAUSSIAN)
+       status = _cairo_pattern_create_gaussian_matrix (gstate->source, 1024);
+
     if (gstate->op == CAIRO_OPERATOR_DEST)
        return CAIRO_STATUS_SUCCESS;
 
@@ -1259,32 +1350,43 @@ _cairo_gstate_fill (cairo_gstate_t *gstate, cairo_path_fixed_t *path)
        if (_cairo_operator_bounded_by_mask (gstate->op))
            return CAIRO_STATUS_SUCCESS;
 
+       pattern = &_cairo_pattern_clear.base;
        status = _cairo_surface_paint (gstate->target,
                                       CAIRO_OPERATOR_CLEAR,
-                                      &_cairo_pattern_clear.base,
+                                      pattern,
                                       gstate->clip);
     } else {
        cairo_pattern_union_t source_pattern;
-       const cairo_pattern_t *pattern;
        cairo_operator_t op;
        cairo_rectangle_int_t extents;
        cairo_box_t box;
 
        op = _reduce_op (gstate);
+       /* FIXME: I don't like this */
        if (op == CAIRO_OPERATOR_CLEAR) {
-           pattern = &_cairo_pattern_clear.base;
+           if (_cairo_gstate_has_shadow (gstate))
+               pattern = &_cairo_pattern_clear.base;
+           else {
+               pattern = cairo_pattern_create_rgba (0, 0, 0, 0);
+               destroy_pattern = TRUE;
+           }
        } else {
            _cairo_gstate_copy_transformed_source (gstate, &source_pattern.base);
            pattern = &source_pattern.base;
        }
 
+       /* FIXME: I don't like this */
+       if (_cairo_gstate_has_shadow (gstate))
+           ((cairo_pattern_t *)pattern)->shadow = gstate->shadow;
+
        /* Toolkits often paint the entire background with a fill */
        if (_cairo_surface_get_extents (gstate->target, &extents) &&
            _cairo_path_fixed_is_box (path, &box) &&
            box.p1.x <= _cairo_fixed_from_int (extents.x) &&
            box.p1.y <= _cairo_fixed_from_int (extents.y) &&
            box.p2.x >= _cairo_fixed_from_int (extents.x + extents.width) &&
-           box.p2.y >= _cairo_fixed_from_int (extents.y + extents.height))
+           box.p2.y >= _cairo_fixed_from_int (extents.y + extents.height) &&
+           gstate->shadow.type != CAIRO_SHADOW_INSET)
        {
            status = _cairo_surface_paint (gstate->target, op, pattern,
                                           gstate->clip);
@@ -1300,6 +1402,9 @@ _cairo_gstate_fill (cairo_gstate_t *gstate, cairo_path_fixed_t *path)
        }
     }
 
+    if (destroy_pattern)
+       cairo_pattern_destroy ((cairo_pattern_t *)pattern);
+
     return status;
 }
 
@@ -1451,12 +1556,12 @@ _cairo_gstate_stroke_extents (cairo_gstate_t     *gstate,
        cairo_traps_t traps;
 
        _cairo_traps_init (&traps);
-       status = _cairo_path_fixed_stroke_to_traps (path,
-                                                   &gstate->stroke_style,
-                                                   &gstate->ctm,
-                                                   &gstate->ctm_inverse,
-                                                   gstate->tolerance,
-                                                   &traps);
+       status = _cairo_path_fixed_stroke_polygon_to_traps (path,
+                                                           &gstate->stroke_style,
+                                                           &gstate->ctm,
+                                                           &gstate->ctm_inverse,
+                                                           gstate->tolerance,
+                                                           &traps);
        empty = traps.num_traps == 0;
        if (! empty)
            _cairo_traps_extents (&traps, &extents);
@@ -1913,6 +2018,9 @@ _cairo_gstate_show_text_glyphs (cairo_gstate_t               *gstate,
     if (unlikely (status))
        return status;
 
+    if (gstate->source->filter == CAIRO_FILTER_GAUSSIAN)
+       status = _cairo_pattern_create_gaussian_matrix (gstate->source, 1024);
+
     if (gstate->op == CAIRO_OPERATOR_DEST)
        return CAIRO_STATUS_SUCCESS;
 
@@ -1969,6 +2077,10 @@ _cairo_gstate_show_text_glyphs (cairo_gstate_t              *gstate,
        pattern = &source_pattern.base;
     }
 
+    /* FIXME: I don't like this */
+    if (_cairo_gstate_has_shadow (gstate))
+       ((cairo_pattern_t *)pattern)->shadow = gstate->shadow;
+
     /* For really huge font sizes, we can just do path;fill instead of
      * show_glyphs, as show_glyphs would put excess pressure on the cache,
      * and moreover, not all components below us correctly handle huge font
@@ -2315,3 +2427,75 @@ _cairo_gstate_transform_glyphs_to_backend (cairo_gstate_t        *gstate,
        }
     }
 }
+
+cairo_status_t
+_cairo_gstate_set_shadow (cairo_gstate_t *gstate, cairo_shadow_type_t shadow)
+{
+    gstate->shadow.type = shadow;
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_status_t
+_cairo_gstate_set_shadow_offset (cairo_gstate_t *gstate, double x_offset,
+                                double y_offset)
+{
+    double x = x_offset;
+    double y = y_offset;
+
+    gstate->shadow.x_offset = x;
+    gstate->shadow.y_offset = y;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_status_t
+_cairo_gstate_set_shadow_rgba (cairo_gstate_t *gstate, double r, double g,
+                              double b, double a)
+{
+    r = _cairo_restrict_value (r, 0.0, 1.0);
+    g = _cairo_restrict_value (g, 0.0, 1.0);
+    b = _cairo_restrict_value (b, 0.0, 1.0);
+    a = _cairo_restrict_value (a, 0.0, 1.0);
+
+    _cairo_color_init_rgba (&gstate->shadow.color, r, g, b, a);
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_status_t
+_cairo_gstate_set_shadow_blur (cairo_gstate_t *gstate, double x_blur,
+                               double y_blur)
+{
+    double x = x_blur;
+    double y = y_blur;
+
+    if (x < 0.0)
+       x = 0.0;
+    if (y < 0.0)
+       y = 0.0;
+
+    gstate->shadow.x_blur = MIN (CAIRO_MAX_BLUR, x);
+    gstate->shadow.y_blur = MIN (CAIRO_MAX_BLUR, y);
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+void
+_cairo_gstate_set_draw_shadow_only (cairo_gstate_t *gstate,
+                                   cairo_bool_t draw_shadow_only)
+{
+    gstate->shadow.draw_shadow_only = draw_shadow_only;
+}
+
+void
+_cairo_gstate_shadow_enable_cache (cairo_gstate_t *gstate, cairo_bool_t enable)
+{
+    gstate->shadow.enable_cache = enable;
+}
+
+void
+_cairo_gstate_set_path_is_inset_shadow_with_spread (cairo_gstate_t *gstate,
+                                                   cairo_bool_t   is_spread_path)
+{
+    gstate->shadow.path_is_fill_with_spread = is_spread_path;
+}
old mode 100644 (file)
new mode 100755 (executable)
index 5a1ea4a..a732f2a
 #include "cairo-traps-private.h"
 #include "cairo-tristrip-private.h"
 
+#if CAIRO_HAS_TG_SURFACE
+#include "cairo-thread-local-private.h"
+#endif
+
 static pixman_image_t *
 to_pixman_image (cairo_surface_t *s)
 {
@@ -297,6 +301,8 @@ fill_rectangles (void                       *_dst,
     else
     {
        pixman_image_t *src = _pixman_image_for_color (color);
+       if (src == NULL)
+           return CAIRO_STATUS_NULL_POINTER;
 
        op = _pixman_operator (op);
        for (i = 0; i < num_rects; i++) {
@@ -346,6 +352,8 @@ fill_boxes (void            *_dst,
     else
     {
        pixman_image_t *src = _pixman_image_for_color (color);
+       if (src == NULL)
+           return CAIRO_STATUS_NULL_POINTER;
 
        op = _pixman_operator (op);
        for (chunk = &boxes->chunks; chunk; chunk = chunk->next) {
@@ -464,6 +472,52 @@ lerp (void                 *_dst,
 }
 
 static cairo_int_status_t
+lerp_color_glyph (void                    *_dst,
+                               cairo_surface_t   *abstract_src,
+                               cairo_surface_t   *abstract_mask,
+                               int                src_x,
+                               int                src_y,
+                               int                mask_x,
+                               int                mask_y,
+                               int                dst_x,
+                               int                dst_y,
+                               unsigned int       width,
+                               unsigned int       height)
+{
+       cairo_image_surface_t *dst = _dst;
+       cairo_image_source_t *src = (cairo_image_source_t *)abstract_src;
+       cairo_image_source_t *mask = (cairo_image_source_t *)abstract_mask;
+
+       TRACE ((stderr, "%s\n", __FUNCTION__));
+
+       /* Punch the clip out of the destination */
+       TRACE ((stderr, "%s - OUT_REVERSE (mask=%d/%p, dst=%d/%p)\n",
+                       __FUNCTION__,
+                       mask->base.unique_id, mask->pixman_image,
+                       dst->base.unique_id, dst->pixman_image));
+                       pixman_image_composite32 (PIXMAN_OP_OUT_REVERSE,
+                       mask->pixman_image, src->pixman_image, dst->pixman_image,
+                       mask_x, mask_y,
+                       0,       0,
+                       dst_x,  dst_y,
+                       width,  height);
+
+       /* Now add the two results together */
+       TRACE ((stderr, "%s - ADD (src=%d/%p, mask=%d/%p, dst=%d/%p)\n",
+                       __FUNCTION__,
+                       src->base.unique_id, src->pixman_image,
+                       mask->base.unique_id, mask->pixman_image,
+                       dst->base.unique_id, dst->pixman_image));
+       pixman_image_composite32 (PIXMAN_OP_ADD,
+                                               src->pixman_image, mask->pixman_image, dst->pixman_image,
+                                               src_x,  src_y,
+                                               mask_x, mask_y,
+                                               dst_x,  dst_y,
+                                               width,  height);
+       return CAIRO_STATUS_SUCCESS;
+}
+
+static cairo_int_status_t
 composite_boxes (void                  *_dst,
                 cairo_operator_t       op,
                 cairo_surface_t        *abstract_src,
@@ -498,6 +552,9 @@ composite_boxes (void                       *_dst,
            op = PIXMAN_OP_LERP_CLEAR;
 #else
            free_src = src = _pixman_image_for_color (CAIRO_COLOR_WHITE);
+           if (src == NULL)
+               return CAIRO_STATUS_NULL_POINTER;
+
            op = PIXMAN_OP_OUT_REVERSE;
 #endif
        } else if (op == CAIRO_OPERATOR_SOURCE) {
@@ -662,13 +719,13 @@ composite_traps (void                     *_dst,
        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
     _pixman_image_add_traps (mask, extents->x, extents->y, traps);
+
     pixman_image_composite32 (_pixman_operator (op),
                               src->pixman_image, mask, dst->pixman_image,
                               extents->x + src_x, extents->y + src_y,
                               0, 0,
                               extents->x - dst_x, extents->y - dst_y,
                               extents->width, extents->height);
-
     pixman_image_unref (mask);
 
     return  CAIRO_STATUS_SUCCESS;
@@ -759,6 +816,195 @@ check_composite_glyphs (const cairo_composite_rectangles_t *extents,
     return CAIRO_STATUS_SUCCESS;
 }
 
+#if 0 && HAS_PIXMAN_GLYPHS
+#if CAIRO_HAS_TG_SURFACE
+CAIRO_DEFINE_THREAD_LOCAL (pixman_glyph_cache_t *, per_thread_glyph_cache);
+#else
+static pixman_glyph_cache_t *global_glyph_cache;
+#endif
+
+static inline pixman_glyph_cache_t *
+get_glyph_cache (void)
+{
+    pixman_glyph_cache_t **glyph_cache = NULL;
+
+#if CAIRO_HAS_TG_SURFACE
+    glyph_cache = CAIRO_GET_THREAD_LOCAL (per_thread_glyph_cache);
+#else
+    glyph_cache = &global_glyph_cache;
+#endif
+
+    if (! (*glyph_cache))
+       *glyph_cache = pixman_glyph_cache_create ();
+
+    return *glyph_cache;
+}
+
+void
+_cairo_image_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,
+                               cairo_scaled_glyph_t *scaled_glyph)
+{
+    pixman_glyph_cache_t *glyph_cache = NULL;
+
+#if CAIRO_HAS_TG_SURFACE
+    glyph_cache = *CAIRO_GET_THREAD_LOCAL (per_thread_glyph_cache);
+#else
+    glyph_cache = global_glyph_cache;
+    CAIRO_MUTEX_LOCK (_cairo_glyph_cache_mutex);
+#endif
+
+    if (glyph_cache) {
+       pixman_glyph_cache_remove (
+           glyph_cache, scaled_font,
+           (void *)_cairo_scaled_glyph_index (scaled_glyph));
+    }
+
+#if ! CAIRO_HAS_TG_SURFACE
+    CAIRO_MUTEX_UNLOCK (_cairo_glyph_cache_mutex);
+#endif
+}
+
+static cairo_int_status_t
+composite_glyphs (void                         *_dst,
+                 cairo_operator_t               op,
+                 cairo_surface_t               *_src,
+                 int                            src_x,
+                 int                            src_y,
+                 int                            dst_x,
+                 int                            dst_y,
+                 cairo_composite_glyphs_info_t *info)
+{
+    cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;
+    pixman_glyph_cache_t *glyph_cache;
+    pixman_glyph_t pglyphs_stack[CAIRO_STACK_ARRAY_LENGTH (pixman_glyph_t)];
+    pixman_glyph_t *pglyphs = pglyphs_stack;
+    pixman_glyph_t *pg;
+    int i;
+
+    TRACE ((stderr, "%s\n", __FUNCTION__));
+
+#if ! CAIRO_HAS_TG_SURFACE
+    CAIRO_MUTEX_LOCK (_cairo_glyph_cache_mutex);
+#endif
+
+    glyph_cache = get_glyph_cache();
+    if (unlikely (glyph_cache == NULL)) {
+       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       goto out_unlock;
+    }
+
+    pixman_glyph_cache_freeze (glyph_cache);
+
+    if (info->num_glyphs > ARRAY_LENGTH (pglyphs_stack)) {
+       pglyphs = _cairo_malloc_ab (info->num_glyphs, sizeof (pixman_glyph_t));
+       if (unlikely (pglyphs == NULL)) {
+           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+           goto out_thaw;
+       }
+    }
+
+    pg = pglyphs;
+    for (i = 0; i < info->num_glyphs; i++) {
+       unsigned long index = info->glyphs[i].index;
+       const void *glyph;
+
+       glyph = pixman_glyph_cache_lookup (glyph_cache, info->font, (void *)index);
+       if (!glyph) {
+           cairo_scaled_glyph_t *scaled_glyph;
+           cairo_image_surface_t *glyph_surface;
+
+#if ! CAIRO_HAS_TG_SURFACE
+           /* This call can actually end up recursing, so we have to
+            * drop the mutex around it.
+            */
+           CAIRO_MUTEX_UNLOCK (_cairo_glyph_cache_mutex);
+#else
+           _cairo_scaled_font_freeze_cache (info->font);
+           CAIRO_MUTEX_LOCK (_cairo_tg_scaled_glyph_mutex);
+#endif
+
+           status = _cairo_scaled_glyph_lookup (info->font, index,
+                                                CAIRO_SCALED_GLYPH_INFO_SURFACE,
+                                                &scaled_glyph);
+
+#if ! CAIRO_HAS_TG_SURFACE
+           CAIRO_MUTEX_LOCK (_cairo_glyph_cache_mutex);
+#endif
+
+           if (unlikely (status)) {
+#if CAIRO_HAS_TG_SURFACE
+               CAIRO_MUTEX_UNLOCK (_cairo_tg_scaled_glyph_mutex);
+               _cairo_scaled_font_thaw_cache (info->font);
+#endif
+               goto out_thaw;
+           }
+
+           glyph_surface = scaled_glyph->surface;
+           glyph = pixman_glyph_cache_insert (glyph_cache, info->font, (void *)index,
+                                              glyph_surface->base.device_transform.x0,
+                                              glyph_surface->base.device_transform.y0,
+                                              glyph_surface->pixman_image);
+
+#if CAIRO_HAS_TG_SURFACE
+           CAIRO_MUTEX_UNLOCK (_cairo_tg_scaled_glyph_mutex);
+           _cairo_scaled_font_thaw_cache (info->font);
+#endif
+
+           if (unlikely (!glyph)) {
+               status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+               goto out_thaw;
+           }
+       }
+
+       pg->x = _cairo_lround (info->glyphs[i].x);
+       pg->y = _cairo_lround (info->glyphs[i].y);
+       pg->glyph = glyph;
+       pg++;
+    }
+
+    if (info->use_mask) {
+       pixman_format_code_t mask_format;
+
+       mask_format = pixman_glyph_get_mask_format (glyph_cache, pg - pglyphs, pglyphs);
+
+       pixman_composite_glyphs (_pixman_operator (op),
+                                ((cairo_image_source_t *)_src)->pixman_image,
+                                to_pixman_image (_dst),
+                                mask_format,
+                                info->extents.x + src_x, info->extents.y + src_y,
+                                info->extents.x, info->extents.y,
+                                info->extents.x - dst_x, info->extents.y - dst_y,
+                                info->extents.width, info->extents.height,
+                                glyph_cache, pg - pglyphs, pglyphs);
+    } else {
+       pixman_composite_glyphs_no_mask (_pixman_operator (op),
+                                        ((cairo_image_source_t *)_src)->pixman_image,
+                                        to_pixman_image (_dst),
+                                        src_x, src_y,
+                                        - dst_x, - dst_y,
+                                        glyph_cache, pg - pglyphs, pglyphs);
+    }
+
+out_thaw:
+    pixman_glyph_cache_thaw (glyph_cache);
+
+    if (pglyphs != pglyphs_stack)
+       free(pglyphs);
+
+out_unlock:
+#if ! CAIRO_HAS_TG_SURFACE
+    CAIRO_MUTEX_UNLOCK (_cairo_glyph_cache_mutex);
+#endif
+
+    return status;
+}
+#else
+void
+_cairo_image_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,
+                               cairo_scaled_glyph_t *scaled_glyph)
+{
+}
+
 static cairo_int_status_t
 composite_one_glyph (void                              *_dst,
                     cairo_operator_t                    op,
@@ -769,6 +1015,7 @@ composite_one_glyph (void                          *_dst,
                     int                                 dst_y,
                     cairo_composite_glyphs_info_t       *info)
 {
+       cairo_image_surface_t *dst_surface = (cairo_image_surface_t *)_dst;
     cairo_image_surface_t *glyph_surface;
     cairo_scaled_glyph_t *scaled_glyph;
     cairo_status_t status;
@@ -788,6 +1035,12 @@ composite_one_glyph (void                         *_dst,
     if (glyph_surface->width == 0 || glyph_surface->height == 0)
        return CAIRO_INT_STATUS_NOTHING_TO_DO;
 
+       if (glyph_surface->format == CAIRO_FORMAT_ARGB32 &&
+               dst_surface->format != CAIRO_FORMAT_ARGB32) {
+       /* FIXME: color glyph */
+       return CAIRO_STATUS_SURFACE_TYPE_MISMATCH;
+       }
+
     /* round glyph locations to the nearest pixel */
     /* XXX: FRAGILE: We're ignoring device_transform scaling here. A bug? */
     x = _cairo_lround (info->glyphs[0].x -
@@ -795,15 +1048,28 @@ composite_one_glyph (void                                *_dst,
     y = _cairo_lround (info->glyphs[0].y -
                       glyph_surface->base.device_transform.y0);
 
-    pixman_image_composite32 (_pixman_operator (op),
-                             ((cairo_image_source_t *)_src)->pixman_image,
-                             glyph_surface->pixman_image,
-                             to_pixman_image (_dst),
-                             x + src_x,  y + src_y,
-                             0, 0,
-                             x - dst_x, y - dst_y,
-                             glyph_surface->width,
-                             glyph_surface->height);
+
+       if (glyph_surface->format != CAIRO_FORMAT_ARGB32 ||
+               pixman_image_get_component_alpha (glyph_surface->pixman_image))
+               pixman_image_composite32 (_pixman_operator (op),
+                                                               ((cairo_image_source_t *)_src)->pixman_image,
+                                                               glyph_surface->pixman_image,
+                                                               to_pixman_image (_dst),
+                                                               x + src_x,  y + src_y,
+                                                               0, 0,
+                                                               x - dst_x, y - dst_y,
+                                                               glyph_surface->width,
+                                                               glyph_surface->height);
+       else /* color glyph */
+               pixman_image_composite32 (_pixman_operator (op),
+                                                               glyph_surface->pixman_image,
+                                                               NULL,
+                                                               to_pixman_image (_dst),
+                                                               0, 0,
+                                                               x + src_x,  y + src_y,
+                                                               x - dst_x, y - dst_y,
+                                                               glyph_surface->width,
+                                                               glyph_surface->height);
 
     return CAIRO_INT_STATUS_SUCCESS;
 }
@@ -819,43 +1085,67 @@ composite_glyphs_via_mask (void                          *_dst,
                           cairo_composite_glyphs_info_t *info)
 {
     cairo_scaled_glyph_t *glyph_cache[64];
-    cairo_bool_t component_alpha = FALSE;
+    pixman_image_t *white = _pixman_image_for_color (CAIRO_COLOR_WHITE);
+    cairo_scaled_glyph_t *scaled_glyph;
     uint8_t buf[2048];
     pixman_image_t *mask;
+    pixman_format_code_t format;
     cairo_status_t status;
     int i;
+       cairo_bool_t component_alpha = FALSE;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
+    if (unlikely (white == NULL))
+       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
     /* XXX convert the glyphs to common formats a8/a8r8g8b8 to hit
      * optimised paths through pixman. Should we increase the bit
      * depth of the target surface, we should reconsider the appropriate
      * mask formats.
      */
+
+    status = _cairo_scaled_glyph_lookup (info->font,
+                                        info->glyphs[0].index,
+                                        CAIRO_SCALED_GLYPH_INFO_SURFACE,
+                                        &scaled_glyph);
+    if (unlikely (status)) {
+       pixman_image_unref (white);
+       return status;
+    }
+
+    memset (glyph_cache, 0, sizeof (glyph_cache));
+    glyph_cache[info->glyphs[0].index % ARRAY_LENGTH (glyph_cache)] = scaled_glyph;
+
+    format = PIXMAN_a8;
     i = (info->extents.width + 3) & ~3;
+    if (scaled_glyph->surface->base.content & CAIRO_CONTENT_COLOR) {
+       format = PIXMAN_a8r8g8b8;
+       i = info->extents.width * 4;
+    }
+
     if (i * info->extents.height > (int) sizeof (buf)) {
-       mask = pixman_image_create_bits (PIXMAN_a8,
+       mask = pixman_image_create_bits (format,
                                        info->extents.width,
                                        info->extents.height,
                                        NULL, 0);
     } else {
        memset (buf, 0, i * info->extents.height);
-       mask = pixman_image_create_bits (PIXMAN_a8,
+       mask = pixman_image_create_bits (format,
                                        info->extents.width,
                                        info->extents.height,
                                        (uint32_t *)buf, i);
     }
-    if (unlikely (mask == NULL))
+    if (unlikely (mask == NULL)) {
+       pixman_image_unref (white);
        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+    }
 
-    memset (glyph_cache, 0, sizeof (glyph_cache));
     status = CAIRO_STATUS_SUCCESS;
-
     for (i = 0; i < info->num_glyphs; i++) {
-       cairo_image_surface_t *glyph_surface;
-       cairo_scaled_glyph_t *scaled_glyph;
        unsigned long glyph_index = info->glyphs[i].index;
        int cache_index = glyph_index % ARRAY_LENGTH (glyph_cache);
+       cairo_image_surface_t *glyph_surface;
        int x, y;
 
        scaled_glyph = glyph_cache[cache_index];
@@ -868,6 +1158,7 @@ composite_glyphs_via_mask (void                            *_dst,
 
            if (unlikely (status)) {
                pixman_image_unref (mask);
+               pixman_image_unref (white);
                return status;
            }
 
@@ -875,22 +1166,26 @@ composite_glyphs_via_mask (void                          *_dst,
        }
 
        glyph_surface = scaled_glyph->surface;
+       if (! component_alpha)
+               component_alpha = pixman_image_get_component_alpha (glyph_surface->pixman_image);
        if (glyph_surface->width && glyph_surface->height) {
            if (glyph_surface->base.content & CAIRO_CONTENT_COLOR &&
-               ! component_alpha) {
+               format == PIXMAN_a8) {
                pixman_image_t *ca_mask;
 
-               ca_mask = pixman_image_create_bits (PIXMAN_a8r8g8b8,
+               format = PIXMAN_a8r8g8b8;
+               ca_mask = pixman_image_create_bits (format,
                                                    info->extents.width,
                                                    info->extents.height,
                                                    NULL, 0);
                if (unlikely (ca_mask == NULL)) {
                    pixman_image_unref (mask);
+                   pixman_image_unref (white);
                    return _cairo_error (CAIRO_STATUS_NO_MEMORY);
                }
 
                pixman_image_composite32 (PIXMAN_OP_SRC,
-                                         mask, 0, ca_mask,
+                                         white, mask, ca_mask,
                                          0, 0,
                                          0, 0,
                                          0, 0,
@@ -898,7 +1193,6 @@ composite_glyphs_via_mask (void                            *_dst,
                                          info->extents.height);
                pixman_image_unref (mask);
                mask = ca_mask;
-               component_alpha = TRUE;
            }
 
            /* round glyph locations to the nearest pixel */
@@ -908,28 +1202,47 @@ composite_glyphs_via_mask (void                          *_dst,
            y = _cairo_lround (info->glyphs[i].y -
                               glyph_surface->base.device_transform.y0);
 
-           pixman_image_composite32 (PIXMAN_OP_ADD,
-                                     glyph_surface->pixman_image, NULL, mask,
-                                      0, 0,
-                                     0, 0,
-                                      x - info->extents.x, y - info->extents.y,
-                                     glyph_surface->width,
-                                     glyph_surface->height);
+           if (glyph_surface->pixman_format == format) {
+               pixman_image_composite32 (PIXMAN_OP_ADD,
+                                         glyph_surface->pixman_image, NULL, mask,
+                                         0, 0,
+                                         0, 0,
+                                         x - info->extents.x, y - info->extents.y,
+                                         glyph_surface->width,
+                                         glyph_surface->height);
+           } else {
+               pixman_image_composite32 (PIXMAN_OP_ADD,
+                                         white, glyph_surface->pixman_image, mask,
+                                         0, 0,
+                                         0, 0,
+                                         x - info->extents.x, y - info->extents.y,
+                                         glyph_surface->width,
+                                         glyph_surface->height);
+           }
        }
     }
 
-    if (component_alpha)
+    if (format == PIXMAN_a8r8g8b8 && component_alpha)
        pixman_image_set_component_alpha (mask, TRUE);
 
-    pixman_image_composite32 (_pixman_operator (op),
-                             ((cairo_image_source_t *)_src)->pixman_image,
-                             mask,
-                             to_pixman_image (_dst),
-                             info->extents.x + src_x, info->extents.y + src_y,
-                             0, 0,
-                             info->extents.x - dst_x, info->extents.y - dst_y,
-                             info->extents.width, info->extents.height);
+       if (format != PIXMAN_a8r8g8b8 || component_alpha)
+               pixman_image_composite32 (_pixman_operator (op),
+                               ((cairo_image_source_t *)_src)->pixman_image,
+                               mask,
+                               to_pixman_image (_dst),
+                               info->extents.x + src_x, info->extents.y + src_y,
+                               0, 0,
+                               info->extents.x - dst_x, info->extents.y - dst_y,
+                               info->extents.width, info->extents.height);
+        else /* color glyph */
+               pixman_image_composite32 (_pixman_operator (op), mask, NULL,
+                                to_pixman_image (_dst),
+                                0, 0,
+                                info->extents.x + src_x, info->extents.y + src_y,
+                                info->extents.x - dst_x, info->extents.y - dst_y,
+                                info->extents.width, info->extents.height);
     pixman_image_unref (mask);
+    pixman_image_unref (white);
 
     return CAIRO_STATUS_SUCCESS;
 }
@@ -948,14 +1261,24 @@ composite_glyphs (void                           *_dst,
     pixman_image_t *dst, *src;
     cairo_status_t status;
     int i;
+       cairo_image_surface_t *dst_surface = (cairo_image_surface_t *)_dst;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
-    if (info->num_glyphs == 1)
-       return composite_one_glyph(_dst, op, _src, src_x, src_y, dst_x, dst_y, info);
+#if CAIRO_HAS_TG_SURFACE
+    _cairo_scaled_font_freeze_cache (info->font);
+    CAIRO_MUTEX_LOCK (_cairo_tg_scaled_glyph_mutex);
+#endif
 
-    if (info->use_mask)
-       return composite_glyphs_via_mask(_dst, op, _src, src_x, src_y, dst_x, dst_y, info);
+    if (0 && info->num_glyphs == 1) {
+       status = composite_one_glyph(_dst, op, _src, src_x, src_y, dst_x, dst_y, info);
+       goto out_thaw;
+    }
+
+    if (0 && info->use_mask) {
+       status = composite_glyphs_via_mask(_dst, op, _src, src_x, src_y, dst_x, dst_y, info);
+       goto out_thaw;
+    }
 
     op = _pixman_operator (op);
     dst = to_pixman_image (_dst);
@@ -986,6 +1309,12 @@ composite_glyphs (void                            *_dst,
        }
 
        glyph_surface = scaled_glyph->surface;
+       if (glyph_surface->format == CAIRO_FORMAT_ARGB32 &&
+               dst_surface->format != CAIRO_FORMAT_ARGB32) {
+               /* FIXME: color glyph */
+               return CAIRO_STATUS_SURFACE_TYPE_MISMATCH;
+       }
+
        if (glyph_surface->width && glyph_surface->height) {
            /* round glyph locations to the nearest pixel */
            /* XXX: FRAGILE: We're ignoring device_transform scaling here. A bug? */
@@ -994,17 +1323,33 @@ composite_glyphs (void                           *_dst,
            y = _cairo_lround (info->glyphs[i].y -
                               glyph_surface->base.device_transform.y0);
 
-           pixman_image_composite32 (op, src, glyph_surface->pixman_image, dst,
+       if (glyph_surface->format != CAIRO_FORMAT_ARGB32 ||
+               pixman_image_get_component_alpha (glyph_surface->pixman_image))
+                   pixman_image_composite32 (op, src, glyph_surface->pixman_image, dst,
                                       x + src_x,  y + src_y,
                                       0, 0,
-                                      x - dst_x, y - dst_y,
-                                     glyph_surface->width,
-                                     glyph_surface->height);
-       }
+                                                                       x - dst_x, y - dst_y,
+                                                                       glyph_surface->width,
+                                                                       glyph_surface->height);
+       else /* Color glyph. */
+                       pixman_image_composite32 (op, glyph_surface->pixman_image, NULL, dst,
+                                                                       0, 0,
+                                                                       x + src_x,  y + src_y,
+                                                                       x - dst_x, y - dst_y,
+                                                                       glyph_surface->width,
+                                                                       glyph_surface->height);
+               }
     }
 
+out_thaw:
+#if CAIRO_HAS_TG_SURFACE
+    _cairo_scaled_font_thaw_cache (info->font);
+    CAIRO_MUTEX_UNLOCK (_cairo_tg_scaled_glyph_mutex);
+#endif
+
     return status;
 }
+#endif
 
 static cairo_int_status_t
 check_composite (const cairo_composite_rectangles_t *extents)
@@ -1030,6 +1375,7 @@ _cairo_image_traps_compositor_get (void)
        compositor.check_composite = check_composite;
        compositor.composite = composite;
        compositor.lerp = lerp;
+       compositor.lerp_color_glyph = lerp_color_glyph;
        //compositor.check_composite_boxes = check_composite_boxes;
        compositor.composite_boxes = composite_boxes;
        //compositor.check_composite_traps = check_composite_traps;
@@ -1358,6 +1704,7 @@ typedef struct _cairo_image_span_renderer {
            pixman_image_t *dst;
            int src_x, src_y;
            int mask_x, mask_y;
+           int run_length;
        } composite;
        struct finish {
            cairo_rectangle_int_t extents;
@@ -1366,7 +1713,8 @@ typedef struct _cairo_image_span_renderer {
            uint8_t *data;
        } mask;
     } u;
-    uint8_t buf[sizeof(cairo_abstract_span_renderer_t)-128];
+    uint8_t _buf[0];
+#define SZ_BUF (sizeof (cairo_abstract_span_renderer_t) - sizeof (cairo_image_span_renderer_t))
 } cairo_image_span_renderer_t;
 COMPILE_TIME_ASSERT (sizeof (cairo_image_span_renderer_t) <= sizeof (cairo_abstract_span_renderer_t));
 
@@ -1817,6 +2165,14 @@ mono_renderer_init (cairo_image_span_renderer_t  *r,
     if (antialias != CAIRO_ANTIALIAS_NONE)
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
+    if (composite->source_pattern.base.type == CAIRO_PATTERN_TYPE_SURFACE &&
+        composite->source_pattern.base.filter == CAIRO_FILTER_GAUSSIAN)
+        return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    if (composite->mask_pattern.base.type == CAIRO_PATTERN_TYPE_SURFACE &&
+        composite->mask_pattern.base.filter == CAIRO_FILTER_GAUSSIAN)
+        return CAIRO_INT_STATUS_UNSUPPORTED;
+
     if (!_cairo_pattern_is_opaque_solid (&composite->mask_pattern.base))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
@@ -1921,15 +2277,10 @@ mul8_8 (uint8_t a, uint8_t b)
 static inline uint32_t
 lerp8x4 (uint32_t src, uint8_t a, uint32_t dst)
 {
-    uint8_t ia = ~a;
-    uint32_t r1, r2;
-
-    r1 = add8x2_8x2 (mul8x2_8 (src, a),
-                    mul8x2_8 (dst, ia));
-    r2 = add8x2_8x2 (mul8x2_8 (src >> G_SHIFT, a),
-                    mul8x2_8 (dst >> G_SHIFT, ia));
-
-    return r1 | (r2 << G_SHIFT);
+    return (add8x2_8x2 (mul8x2_8 (src, a),
+                       mul8x2_8 (dst, ~a)) |
+           add8x2_8x2 (mul8x2_8 (src >> G_SHIFT, a),
+                       mul8x2_8 (dst >> G_SHIFT, ~a)) << G_SHIFT);
 }
 
 static cairo_status_t
@@ -2011,7 +2362,7 @@ _fill_xrgb32_lerp_opaque_spans (void *abstract_renderer, int y, int h,
                uint32_t *d = (uint32_t*)(r->u.fill.data + r->u.fill.stride*y + spans[0].x*4);
                if (a == 0xff) {
                    if (len > 31) {
-                       pixman_fill ((uint32_t *)r->u.fill.data, r->u.fill.stride / sizeof(uint32_t), r->bpp,
+                       pixman_fill ((uint32_t *)r->u.fill.data, r->u.fill.stride / sizeof(uint32_t), 32,
                                     spans[0].x, y, len, 1, r->u.fill.pixel);
                    } else {
                        uint32_t *d = (uint32_t*)(r->u.fill.data + r->u.fill.stride*y + spans[0].x*4);
@@ -2031,7 +2382,7 @@ _fill_xrgb32_lerp_opaque_spans (void *abstract_renderer, int y, int h,
            if (a) {
                if (a == 0xff) {
                    if (spans[1].x - spans[0].x > 16) {
-                       pixman_fill ((uint32_t *)r->u.fill.data, r->u.fill.stride / sizeof(uint32_t), r->bpp,
+                       pixman_fill ((uint32_t *)r->u.fill.data, r->u.fill.stride / sizeof(uint32_t), 32,
                                     spans[0].x, y, spans[1].x - spans[0].x, h,
                                     r->u.fill.pixel);
                    } else {
@@ -2075,7 +2426,7 @@ _fill_a8_lerp_spans (void *abstract_renderer, int y, int h,
 
     if (likely(h == 1)) {
        do {
-           uint8_t a = mul8_8 (spans[0].coverage, r->op);
+           uint8_t a = mul8_8 (spans[0].coverage, r->bpp);
            if (a) {
                int len = spans[1].x - spans[0].x;
                uint8_t *d = r->u.fill.data + r->u.fill.stride*y + spans[0].x;
@@ -2090,7 +2441,7 @@ _fill_a8_lerp_spans (void *abstract_renderer, int y, int h,
        } while (--num_spans > 1);
     } else {
        do {
-           uint8_t a = mul8_8 (spans[0].coverage, r->op);
+           uint8_t a = mul8_8 (spans[0].coverage, r->bpp);
            if (a) {
                int yy = y, hh = h;
                uint16_t p = (uint16_t)a * r->u.fill.pixel + 0x7f;
@@ -2123,7 +2474,7 @@ _fill_xrgb32_lerp_spans (void *abstract_renderer, int y, int h,
 
     if (likely(h == 1)) {
        do {
-           uint8_t a = mul8_8 (spans[0].coverage, r->op);
+           uint8_t a = mul8_8 (spans[0].coverage, r->bpp);
            if (a) {
                int len = spans[1].x - spans[0].x;
                uint32_t *d = (uint32_t*)(r->u.fill.data + r->u.fill.stride*y + spans[0].x*4);
@@ -2136,7 +2487,7 @@ _fill_xrgb32_lerp_spans (void *abstract_renderer, int y, int h,
        } while (--num_spans > 1);
     } else {
        do {
-           uint8_t a = mul8_8 (spans[0].coverage, r->op);
+           uint8_t a = mul8_8 (spans[0].coverage, r->bpp);
            if (a) {
                int yy = y, hh = h;
                do {
@@ -2169,7 +2520,7 @@ _blit_xrgb32_lerp_spans (void *abstract_renderer, int y, int h,
        uint8_t *src = r->u.blit.src_data + y*r->u.blit.src_stride;
        uint8_t *dst = r->u.blit.data + y*r->u.blit.stride;
        do {
-           uint8_t a = mul8_8 (spans[0].coverage, r->op);
+           uint8_t a = mul8_8 (spans[0].coverage, r->bpp);
            if (a) {
                uint32_t *s = (uint32_t*)src + spans[0].x;
                uint32_t *d = (uint32_t*)dst + spans[0].x;
@@ -2190,7 +2541,7 @@ _blit_xrgb32_lerp_spans (void *abstract_renderer, int y, int h,
        } while (--num_spans > 1);
     } else {
        do {
-           uint8_t a = mul8_8 (spans[0].coverage, r->op);
+           uint8_t a = mul8_8 (spans[0].coverage, r->bpp);
            if (a) {
                int yy = y, hh = h;
                do {
@@ -2242,31 +2593,115 @@ _inplace_spans (void *abstract_renderer,
     }
 
     mask = (uint8_t *)pixman_image_get_data (r->mask);
-    x0 = spans[0].x;
+    x1 = x0 = spans[0].x;
     do {
        int len = spans[1].x - spans[0].x;
+       if (mask == NULL)
+           return CAIRO_STATUS_NULL_POINTER;
        *mask++ = spans[0].coverage;
        if (len > 1) {
-           memset (mask, spans[0].coverage, --len);
-           mask += len;
+           if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) {
+               if (x1 != x0) {
+                   pixman_image_composite32 (r->op, r->src, r->mask, r->u.composite.dst,
+                                             x0 + r->u.composite.src_x,
+                                             y + r->u.composite.src_y,
+                                             0, 0,
+                                             x0, y,
+                                             x1 - x0, h);
+               }
+               pixman_image_composite32 (r->op, r->src, NULL, r->u.composite.dst,
+                                         spans[0].x + r->u.composite.src_x,
+                                         y + r->u.composite.src_y,
+                                         0, 0,
+                                         spans[0].x, y,
+                                         len, h);
+               mask = (uint8_t *)pixman_image_get_data (r->mask);
+               x0 = spans[1].x;
+           } else if (spans[0].coverage == 0x0 &&
+                      x1 - x0 > r->u.composite.run_length) {
+               pixman_image_composite32 (r->op, r->src, r->mask, r->u.composite.dst,
+                                         x0 + r->u.composite.src_x,
+                                         y + r->u.composite.src_y,
+                                         0, 0,
+                                         x0, y,
+                                         x1 - x0, h);
+               mask = (uint8_t *)pixman_image_get_data (r->mask);
+               x0 = spans[1].x;
+           }else {
+               memset (mask, spans[0].coverage, --len);
+               mask += len;
+           }
+       }
+       x1 = spans[1].x;
+       spans++;
+    } while (--num_spans > 1);
+
+    if (x1 != x0) {
+       pixman_image_composite32 (r->op, r->src, r->mask, r->u.composite.dst,
+                                 x0 + r->u.composite.src_x,
+                                 y + r->u.composite.src_y,
+                                 0, 0,
+                                 x0, y,
+                                 x1 - x0, h);
+    }
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static cairo_status_t
+_inplace_opacity_spans (void *abstract_renderer, int y, int h,
+                       const cairo_half_open_span_t *spans,
+                       unsigned num_spans)
+{
+    cairo_image_span_renderer_t *r = abstract_renderer;
+    uint8_t *mask;
+    int x0, x1;
+
+    if (num_spans == 0)
+       return CAIRO_STATUS_SUCCESS;
+
+    mask = (uint8_t *)pixman_image_get_data (r->mask);
+    x1 = x0 = spans[0].x;
+    do {
+       int len = spans[1].x - spans[0].x;
+       uint8_t m = mul8_8(spans[0].coverage, r->bpp);
+       if (mask == NULL)
+           return CAIRO_STATUS_NULL_POINTER;
+       *mask++ = m;
+       if (len > 1) {
+           if (m == 0 &&
+               x1 - x0 > r->u.composite.run_length) {
+               pixman_image_composite32 (r->op, r->src, r->mask, r->u.composite.dst,
+                                         x0 + r->u.composite.src_x,
+                                         y + r->u.composite.src_y,
+                                         0, 0,
+                                         x0, y,
+                                         x1 - x0, h);
+               mask = (uint8_t *)pixman_image_get_data (r->mask);
+               x0 = spans[1].x;
+           }else {
+               memset (mask, m, --len);
+               mask += len;
+           }
        }
        x1 = spans[1].x;
        spans++;
     } while (--num_spans > 1);
 
-    pixman_image_composite32 (r->op, r->src, r->mask, r->u.composite.dst,
-                             x0 + r->u.composite.src_x,
-                             y + r->u.composite.src_y,
-                             0, 0,
-                             x0, y,
-                             x1 - x0, h);
+    if (x1 != x0) {
+       pixman_image_composite32 (r->op, r->src, r->mask, r->u.composite.dst,
+                                 x0 + r->u.composite.src_x,
+                                 y + r->u.composite.src_y,
+                                 0, 0,
+                                 x0, y,
+                                 x1 - x0, h);
+    }
 
     return CAIRO_STATUS_SUCCESS;
 }
 
 static cairo_status_t
-_inplace_src_spans (void *abstract_renderer,
-                   int y, int h,
+_inplace_src_spans (void *abstract_renderer, int y, int h,
                    const cairo_half_open_span_t *spans,
                    unsigned num_spans)
 {
@@ -2278,10 +2713,10 @@ _inplace_src_spans (void *abstract_renderer,
        return CAIRO_STATUS_SUCCESS;
 
     x0 = spans[0].x;
-    m = r->buf;
+    m = r->_buf;
     do {
        int len = spans[1].x - spans[0].x;
-       if (spans[0].coverage == 0xff) {
+       if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) {
            if (spans[0].x != x0) {
 #if PIXMAN_HAS_OP_LERP
                pixman_image_composite32 (PIXMAN_OP_LERP_SRC,
@@ -2316,7 +2751,7 @@ _inplace_src_spans (void *abstract_renderer,
                                      spans[0].x, y,
                                      spans[1].x - spans[0].x, h);
 
-           m = r->buf;
+           m = r->_buf;
            x0 = spans[1].x;
        } else if (spans[0].coverage == 0x0) {
            if (spans[0].x != x0) {
@@ -2345,7 +2780,7 @@ _inplace_src_spans (void *abstract_renderer,
 #endif
            }
 
-           m = r->buf;
+           m = r->_buf;
            x0 = spans[1].x;
        } else {
            *m++ = spans[0].coverage;
@@ -2386,6 +2821,98 @@ _inplace_src_spans (void *abstract_renderer,
     return CAIRO_STATUS_SUCCESS;
 }
 
+static cairo_status_t
+_inplace_src_opacity_spans (void *abstract_renderer, int y, int h,
+                           const cairo_half_open_span_t *spans,
+                           unsigned num_spans)
+{
+    cairo_image_span_renderer_t *r = abstract_renderer;
+    uint8_t *mask;
+    int x0;
+
+    if (num_spans == 0)
+       return CAIRO_STATUS_SUCCESS;
+
+    x0 = spans[0].x;
+    mask = (uint8_t *)pixman_image_get_data (r->mask);
+    do {
+       int len = spans[1].x - spans[0].x;
+       uint8_t m = mul8_8(spans[0].coverage, r->bpp);
+       if (m == 0) {
+           if (spans[0].x != x0) {
+#if PIXMAN_HAS_OP_LERP
+               pixman_image_composite32 (PIXMAN_OP_LERP_SRC,
+                                         r->src, r->mask, r->u.composite.dst,
+                                         x0 + r->u.composite.src_x,
+                                         y + r->u.composite.src_y,
+                                         0, 0,
+                                         x0, y,
+                                         spans[0].x - x0, h);
+#else
+               pixman_image_composite32 (PIXMAN_OP_OUT_REVERSE,
+                                         r->mask, NULL, r->u.composite.dst,
+                                         0, 0,
+                                         0, 0,
+                                         x0, y,
+                                         spans[0].x - x0, h);
+               pixman_image_composite32 (PIXMAN_OP_ADD,
+                                         r->src, r->mask, r->u.composite.dst,
+                                         x0 + r->u.composite.src_x,
+                                         y + r->u.composite.src_y,
+                                         0, 0,
+                                         x0, y,
+                                         spans[0].x - x0, h);
+#endif
+           }
+
+           mask = (uint8_t *)pixman_image_get_data (r->mask);
+           x0 = spans[1].x;
+       } else {
+           if (mask == NULL)
+               return CAIRO_STATUS_NULL_POINTER;
+           *mask++ = m;
+           if (len > 1) {
+               memset (mask, m, --len);
+               mask += len;
+           }
+       }
+       spans++;
+    } while (--num_spans > 1);
+
+    if (spans[0].x != x0) {
+#if PIXMAN_HAS_OP_LERP
+       pixman_image_composite32 (PIXMAN_OP_LERP_SRC,
+                                 r->src, r->mask, r->u.composite.dst,
+                                 x0 + r->u.composite.src_x,
+                                 y + r->u.composite.src_y,
+                                 0, 0,
+                                 x0, y,
+                                 spans[0].x - x0, h);
+#else
+       pixman_image_composite32 (PIXMAN_OP_OUT_REVERSE,
+                                 r->mask, NULL, r->u.composite.dst,
+                                 0, 0,
+                                 0, 0,
+                                 x0, y,
+                                 spans[0].x - x0, h);
+       pixman_image_composite32 (PIXMAN_OP_ADD,
+                                 r->src, r->mask, r->u.composite.dst,
+                                 x0 + r->u.composite.src_x,
+                                 y + r->u.composite.src_y,
+                                 0, 0,
+                                 x0, y,
+                                 spans[0].x - x0, h);
+#endif
+    }
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static void free_pixels (pixman_image_t *image, void *data)
+{
+       free (data);
+}
+
 static cairo_int_status_t
 inplace_renderer_init (cairo_image_span_renderer_t     *r,
                       const cairo_composite_rectangles_t *composite,
@@ -2393,12 +2920,21 @@ inplace_renderer_init (cairo_image_span_renderer_t      *r,
                       cairo_bool_t                      needs_clip)
 {
     cairo_image_surface_t *dst = (cairo_image_surface_t *)composite->surface;
+    uint8_t *buf;
 
     if (composite->mask_pattern.base.type != CAIRO_PATTERN_TYPE_SOLID)
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
+    if (composite->source_pattern.base.type == CAIRO_PATTERN_TYPE_SURFACE &&
+        composite->source_pattern.base.filter == CAIRO_FILTER_GAUSSIAN)
+        return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    if (composite->mask_pattern.base.type == CAIRO_PATTERN_TYPE_SURFACE &&
+        composite->mask_pattern.base.filter == CAIRO_FILTER_GAUSSIAN)
+        return CAIRO_INT_STATUS_UNSUPPORTED;
+
     r->base.render_rows = NULL;
-    r->op = composite->mask_pattern.solid.color.alpha_short >> 8;
+    r->bpp = composite->mask_pattern.solid.color.alpha_short >> 8;
 
     if (composite->source_pattern.base.type == CAIRO_PATTERN_TYPE_SOLID) {
        const cairo_color_t *color;
@@ -2413,7 +2949,7 @@ inplace_renderer_init (cairo_image_span_renderer_t        *r,
             * typically small, too small to payback the startup overheads of
             * using SSE2 etc.
             */
-           if (r->op == 0xff) {
+           if (r->bpp == 0xff) {
                switch (dst->format) {
                case CAIRO_FORMAT_A8:
                    r->base.render_rows = _fill_a8_lerp_opaque_spans;
@@ -2475,24 +3011,26 @@ inplace_renderer_init (cairo_image_span_renderer_t      *r,
        }
     }
     if (r->base.render_rows == NULL) {
-       unsigned int width;
        const cairo_pattern_t *src = &composite->source_pattern.base;
-
-       if (r->op != 0xff)
-           return CAIRO_INT_STATUS_UNSUPPORTED;
+       unsigned int width;
 
        if (composite->is_bounded == 0)
            return CAIRO_INT_STATUS_UNSUPPORTED;
 
+       r->base.render_rows = r->bpp == 0xff ? _inplace_spans : _inplace_opacity_spans;
        width = (composite->bounded.width + 3) & ~3;
-       r->base.render_rows = _inplace_spans;
+
+       r->u.composite.run_length = 8;
+       if (src->type == CAIRO_PATTERN_TYPE_LINEAR ||
+           src->type == CAIRO_PATTERN_TYPE_RADIAL)
+               r->u.composite.run_length = 256;
        if (dst->base.is_clear &&
            (composite->op == CAIRO_OPERATOR_SOURCE ||
             composite->op == CAIRO_OPERATOR_OVER ||
             composite->op == CAIRO_OPERATOR_ADD)) {
            r->op = PIXMAN_OP_SRC;
        } else if (composite->op == CAIRO_OPERATOR_SOURCE) {
-           r->base.render_rows = _inplace_src_spans;
+           r->base.render_rows = r->bpp == 0xff ? _inplace_src_spans : _inplace_src_opacity_spans;
            r->u.composite.mask_y = r->composite->unbounded.y;
            width = (composite->unbounded.width + 3) & ~3;
        } else if (composite->op == CAIRO_OPERATOR_CLEAR) {
@@ -2502,9 +3040,6 @@ inplace_renderer_init (cairo_image_span_renderer_t        *r,
            r->op = _pixman_operator (composite->op);
        }
 
-       if (width > sizeof (r->buf))
-           return CAIRO_INT_STATUS_UNSUPPORTED;
-
        r->src = _pixman_image_for_pattern (dst, src, FALSE,
                                            &composite->bounded,
                                            &composite->source_sample_area,
@@ -2513,19 +3048,30 @@ inplace_renderer_init (cairo_image_span_renderer_t      *r,
            return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
        /* Create an effectively unbounded mask by repeating the single line */
+       buf = r->_buf;
+       if (width > SZ_BUF) {
+           buf = malloc (width);
+           if (unlikely (buf == NULL)) {
+               pixman_image_unref (r->src);
+               return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+           }
+       }
        r->mask = pixman_image_create_bits (PIXMAN_a8,
                                            width, composite->unbounded.height,
-                                           (uint32_t *)r->buf, 0);
+                                           (uint32_t *)buf, 0);
        if (unlikely (r->mask == NULL)) {
            pixman_image_unref (r->src);
+           if (buf != r->_buf)
+               free (buf);
            return _cairo_error(CAIRO_STATUS_NO_MEMORY);
        }
 
+       if (buf != r->_buf)
+           pixman_image_set_destroy_function (r->mask, free_pixels, buf);
+
        r->u.composite.dst = dst->pixman_image;
     }
 
-    r->bpp = PIXMAN_FORMAT_BPP(dst->pixman_format);
-
     return CAIRO_INT_STATUS_SUCCESS;
 }
 
@@ -2541,7 +3087,8 @@ span_renderer_init (cairo_abstract_span_renderer_t        *_r,
     cairo_operator_t op = composite->op;
     cairo_int_status_t status;
 
-    TRACE ((stderr, "%s\n", __FUNCTION__));
+    TRACE ((stderr, "%s: antialias=%d, needs_clip=%d\n", __FUNCTION__,
+           antialias, needs_clip));
 
     if (needs_clip)
        return CAIRO_INT_STATUS_UNSUPPORTED;
@@ -2574,11 +3121,19 @@ span_renderer_init (cairo_abstract_span_renderer_t      *_r,
                op == CAIRO_OPERATOR_ADD)) {
        op = PIXMAN_OP_SRC;
     } else if (op == CAIRO_OPERATOR_SOURCE) {
+       if (_cairo_pattern_is_opaque (&composite->source_pattern.base,
+                                     &composite->source_sample_area))
+       {
+           op = PIXMAN_OP_OVER;
+       }
+       else
+       {
 #if PIXMAN_HAS_OP_LERP
-       op = PIXMAN_OP_LERP_SRC;
+           op = PIXMAN_OP_LERP_SRC;
 #else
-       return CAIRO_INT_STATUS_UNSUPPORTED;
+           return CAIRO_INT_STATUS_UNSUPPORTED;
 #endif
+       }
     } else {
        op = _pixman_operator (op);
     }
@@ -2626,7 +3181,7 @@ span_renderer_init (cairo_abstract_span_renderer_t        *_r,
 
     r->u.mask.extents = composite->unbounded;
     r->u.mask.stride = (r->u.mask.extents.width + 3) & ~3;
-    if (r->u.mask.extents.height * r->u.mask.stride > (int)sizeof (r->buf)) {
+    if (r->u.mask.extents.height * r->u.mask.stride > (int)sizeof (r->_buf)) {
        r->mask = pixman_image_create_bits (PIXMAN_a8,
                                            r->u.mask.extents.width,
                                            r->u.mask.extents.height,
@@ -2638,7 +3193,7 @@ span_renderer_init (cairo_abstract_span_renderer_t        *_r,
        r->mask = pixman_image_create_bits (PIXMAN_a8,
                                            r->u.mask.extents.width,
                                            r->u.mask.extents.height,
-                                           (uint32_t *)r->buf, r->u.mask.stride);
+                                           (uint32_t *)r->_buf, r->u.mask.stride);
 
        r->base.render_rows = _cairo_image_spans_and_zero;
        r->base.finish = _cairo_image_finish_spans_and_zero;
@@ -2661,11 +3216,13 @@ span_renderer_fini (cairo_abstract_span_renderer_t *_r,
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
-    if (likely (status == CAIRO_INT_STATUS_SUCCESS && r->bpp == 0)) {
-       const cairo_composite_rectangles_t *composite = r->composite;
-
-       if (r->base.finish)
+    if (likely (status == CAIRO_INT_STATUS_SUCCESS)) {
+    if (r->base.finish)
            r->base.finish (r);
+    }
+
+    if (likely (status == CAIRO_INT_STATUS_SUCCESS && r->bpp == 0)) {
+    const cairo_composite_rectangles_t *composite = r->composite;
 
        pixman_image_composite32 (r->op, r->src, r->mask,
                                  to_pixman_image (composite->surface),
diff --git a/src/cairo-image-filters-private.h b/src/cairo-image-filters-private.h
new file mode 100755 (executable)
index 0000000..a9e47f0
--- /dev/null
@@ -0,0 +1,56 @@
+/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2003 University of Southern California
+ * Copyright © 2009,2010,2011 Intel Corporation
+ * Copyright © 2013 Samsung Research America, Silicon Valley
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is University of Southern
+ * California.
+ *
+ * Contributor(s):
+ *     Henry Song <henry.song@samsung.com>
+ */
+
+/* The purpose of this file/surface is to simply translate a pattern
+ * to a pixman_image_t and thence to feed it back to the general
+ * compositor interface.
+ */
+
+#ifndef CAIRO_IMAGE_FILTERS_PRIVATE_H
+#define CAIRO_IMAGE_FILTERS_PRIVATE_H
+
+#include "cairoint.h"
+
+#define MAX_BLUR_SIZE 256
+
+cairo_private cairo_surface_t *
+_cairo_image_gaussian_filter (cairo_surface_t *src,
+                             const cairo_pattern_t *pattern);
+
+#endif /* CAIRO_IMAGE_FILTERS_PRIVATE_H */
diff --git a/src/cairo-image-filters.c b/src/cairo-image-filters.c
new file mode 100755 (executable)
index 0000000..1f0531e
--- /dev/null
@@ -0,0 +1,315 @@
+/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2003 University of Southern California
+ * Copyright © 2009,2010,2011 Intel Corporation
+ * Copyright © 2013 Samsung Research America, Silicon Valley
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is University of Southern
+ * California.
+ *
+ * Contributor(s):
+ *     Henry Song <henry.song@samsung.com>
+ */
+
+/* The purpose of this file/surface is to simply translate a pattern
+ * to a pixman_image_t and thence to feed it back to the general
+ * compositor interface.
+ */
+
+#include "cairoint.h"
+
+#include "cairo-image-surface-private.h"
+
+#include "cairo-error-private.h"
+#include "cairo-pattern-inline.h"
+#include "cairo-filters-private.h"
+#include "cairo-image-filters-private.h"
+
+static pixman_fixed_t *
+_pixman_image_create_convolution_params (double *params,
+                                        int col, int row,
+                                        cairo_bool_t x_pass)
+{
+    int i;
+    pixman_fixed_t *pixman_params;
+    double *coef;
+    int length;
+
+    if ( params == NULL)
+       return NULL;
+
+    if (x_pass) {
+       pixman_params = _cairo_malloc_ab (col + 2, sizeof (double));
+       if (pixman_params == NULL)
+           return NULL;
+
+       pixman_params[0] = pixman_int_to_fixed (col);
+       pixman_params[1] = pixman_int_to_fixed (1);
+       coef = _cairo_malloc_ab (col, sizeof (double));
+       if (coef == NULL) {
+           free (pixman_params);
+           return NULL;
+       }
+
+       memset (coef, 0, sizeof (double) * col);
+       compute_x_coef_to_double (params, row, col, coef);
+       length = col;
+    }
+    else {
+       pixman_params = _cairo_malloc_ab (row + 2, sizeof (double));
+       if (pixman_params == NULL)
+           return NULL;
+       pixman_params[0] = pixman_int_to_fixed (1);
+       pixman_params[1] = pixman_int_to_fixed (row);
+       coef = _cairo_malloc_ab (row, sizeof (double));
+       if (coef == NULL) {
+           free (pixman_params);
+           return NULL;
+       }
+
+       memset (coef, 0, sizeof (double) * row);
+       compute_y_coef_to_double (params, row, col, coef);
+       length = row;
+    }
+
+    for (i = 0; i < length; i++)
+       pixman_params[i + 2] = pixman_double_to_fixed (coef[i]);
+
+    free (coef);
+
+    return pixman_params;
+}
+
+cairo_surface_t *
+_cairo_image_gaussian_filter (cairo_surface_t *src,  const cairo_pattern_t *pattern)
+{
+    int row, col;
+    int width, height;
+    int stride;
+    pixman_fixed_t *pixman_params;
+    pixman_transform_t pixman_transform;
+    cairo_int_status_t status;
+    cairo_matrix_t matrix;
+    int ix = 0;
+    int iy = 0;
+
+    pixman_image_t *scratch_images[2];
+    cairo_image_surface_t *src_image = (cairo_image_surface_t *)src;
+    cairo_image_surface_t *clone_image;
+    pixman_image_t *temp_image = NULL;
+
+    int src_width = cairo_image_surface_get_width (src);
+    int src_height = cairo_image_surface_get_height (src);
+    int i;
+
+    /* clone image, because we don't want to mess with original image
+     * transformation
+     */
+    /* XXX: we need to first scale the image down */
+    if (pattern->filter == CAIRO_FILTER_GAUSSIAN &&
+        pattern->convolution_matrix) {
+       for (i = 0; i < 2; i++)
+           scratch_images[i] = NULL;
+
+       row = pattern->y_radius * 2 + 1;
+       col = pattern->x_radius * 2 + 1;
+       width = src_width / pattern->shrink_factor_x;
+       height = src_height / pattern->shrink_factor_y;
+       stride = width * (src_image->stride / src_width);
+
+       clone_image = (cairo_image_surface_t *)
+               cairo_image_surface_create (src_image->format,
+                                           src_width, src_height);
+
+       if (unlikely (clone_image->base.status)) {
+           cairo_surface_destroy (&clone_image->base);
+           clone_image = (cairo_image_surface_t *)cairo_surface_reference (src);
+           goto DONE;
+       }
+
+       /* XXX: we must always create a clone because we need to modify
+        * it transformation, no copy data */
+       temp_image = pixman_image_create_bits (src_image->pixman_format,
+                                              src_image->width,
+                                              src_image->height,
+                                              (uint32_t *)src_image->data,
+                                              src_image->stride);
+       if (unlikely (temp_image == NULL)) {
+           cairo_surface_destroy (&clone_image->base);
+           clone_image = (cairo_image_surface_t *)cairo_surface_reference (src);
+           goto DONE;
+       }
+
+       /* create scratch images */
+       for (i = 0; i < 2; i++) {
+           scratch_images[i] = pixman_image_create_bits (src_image->pixman_format,
+                                                         width, height,
+                                                         NULL, stride);
+           if (unlikely (scratch_images[i] == NULL)) {
+               cairo_surface_destroy (&clone_image->base);
+               clone_image = (cairo_image_surface_t *)cairo_surface_reference (src);
+               goto DONE;
+           }
+       }
+
+       /* if scale, we need to shrink it to scratch 0 */
+       /* paint temp to temp_surface */
+       if (width != src_width || height != src_height) {
+           pixman_image_set_filter (temp_image, PIXMAN_FILTER_NEAREST, NULL, 0);
+           /* set up transform matrix */
+           cairo_matrix_init_scale (&matrix,
+                                    (double) src_width / (double) width,
+                                    (double) src_height / (double) height);
+           status = _cairo_matrix_to_pixman_matrix_offset (&matrix,
+                                                           pattern->filter,
+                                                           src_width/2,
+                                                           src_height/2,
+                                                           &pixman_transform,
+                                                           &ix, &iy);
+           if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) {
+           }
+           else if (unlikely (status != CAIRO_INT_STATUS_SUCCESS ||
+                      ! pixman_image_set_transform (temp_image,
+                                                    &pixman_transform))) {
+               cairo_surface_destroy (&clone_image->base);
+               clone_image = (cairo_image_surface_t *)cairo_surface_reference (src);
+               goto DONE;
+           }
+           /* set repeat to none */
+           pixman_image_set_repeat (temp_image, PIXMAN_REPEAT_NONE);
+
+           if (pattern->has_component_alpha)
+               pixman_image_set_component_alpha (temp_image, TRUE);
+           pixman_image_set_filter (temp_image, PIXMAN_FILTER_BILINEAR, NULL, 0);
+            pixman_image_composite32 (PIXMAN_OP_SRC,
+                                     temp_image,
+                                     NULL,
+                                     scratch_images[0],
+                                     0, 0,
+                                     0, 0,
+                                     0, 0,
+                                     width, height);
+           pixman_image_unref (temp_image);
+           temp_image = pixman_image_ref (scratch_images[0]);
+       }
+
+       /* XXX: begin blur pass */
+       /* set up convolution params for x-pass */
+       pixman_params =
+           _pixman_image_create_convolution_params (pattern->convolution_matrix, col, row, TRUE);
+       pixman_image_set_filter (temp_image, PIXMAN_FILTER_CONVOLUTION,
+                          (const pixman_fixed_t *)pixman_params, col + 2);
+       free (pixman_params);
+
+       pixman_image_set_repeat (temp_image, PIXMAN_REPEAT_NONE);
+
+       if (pattern->has_component_alpha)
+           pixman_image_set_component_alpha (temp_image, TRUE);
+
+        pixman_image_composite32 (PIXMAN_OP_SRC,
+                                 temp_image,
+                                 NULL,
+                                 scratch_images[1],
+                                 0, 0,
+                                 0, 0,
+                                 0, 0,
+                                 width, height);
+
+       /* y-pass */
+       pixman_params =
+           _pixman_image_create_convolution_params (pattern->convolution_matrix, col, row, FALSE);
+       pixman_image_set_filter (scratch_images[1], PIXMAN_FILTER_CONVOLUTION,
+                          (const pixman_fixed_t *)pixman_params, row + 2);
+       free (pixman_params);
+
+       pixman_image_set_repeat (scratch_images[1], PIXMAN_REPEAT_NONE);
+
+       if (pattern->has_component_alpha)
+           pixman_image_set_component_alpha (scratch_images[1], TRUE);
+
+        pixman_image_composite32 (PIXMAN_OP_SRC,
+                                 scratch_images[1],
+                                 NULL,
+                                 scratch_images[0],
+                                 0, 0,
+                                 0, 0,
+                                 0, 0,
+                                 width, height);
+
+       /* paint scratch_surfaces[0] to clone */
+       /* set up transform matrix */
+        cairo_matrix_init_scale (&matrix,
+                                (double) width / (double) src_width,
+                                (double) height / (double) src_height);
+        status = _cairo_matrix_to_pixman_matrix_offset (&matrix,
+                                                       pattern->filter,
+                                                       width/2,
+                                                       height/2,
+                                                       &pixman_transform,
+                                                       &ix, &iy);
+       if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) {
+           /* If the transform is an identity, we don't need to set it */
+       }
+       else if (unlikely (status != CAIRO_INT_STATUS_SUCCESS ||
+                      ! pixman_image_set_transform (scratch_images[0],
+                                                    &pixman_transform))) {
+           cairo_surface_destroy (&clone_image->base);
+           clone_image = (cairo_image_surface_t *)cairo_surface_reference (src);
+           goto DONE;
+       }
+       /* set repeat to none */
+       pixman_image_set_repeat (scratch_images[0], PIXMAN_REPEAT_NONE);
+
+       if (pattern->has_component_alpha)
+           pixman_image_set_component_alpha (scratch_images[0], TRUE);
+       pixman_image_set_filter (scratch_images[0], PIXMAN_FILTER_BILINEAR, NULL, 0);
+
+        pixman_image_composite32 (PIXMAN_OP_SRC,
+                                 scratch_images[0],
+                                 NULL,
+                                 clone_image->pixman_image,
+                                 0, 0,
+                                 0, 0,
+                                 0, 0,
+                                 src_width, src_height);
+DONE:
+       /* free temp surfaces */
+        if (temp_image)
+           pixman_image_unref (temp_image);
+       for (i = 0; i < 2; i++) {
+           if (scratch_images[i])
+               pixman_image_unref (scratch_images[i]);
+       }
+    }
+    else
+       clone_image = (cairo_image_surface_t *) cairo_surface_reference (src);
+
+    return &clone_image->base;
+
+}
old mode 100644 (file)
new mode 100755 (executable)
index c5bd228..e02ebe5
 #include "cairo-surface-observer-private.h"
 #include "cairo-surface-snapshot-inline.h"
 #include "cairo-surface-subsurface-private.h"
+#include "cairo-image-filters-private.h"
+
+#if CAIRO_HAS_TG_SURFACE
+#include "cairo-tg-private.h"
+#endif
 
 #define PIXMAN_MAX_INT ((pixman_fixed_1 >> 1) - pixman_fixed_e) /* need to ensure deltas also fit */
 
@@ -439,6 +444,51 @@ _defer_free_cleanup (pixman_image_t *pixman_image,
     cairo_surface_destroy (closure);
 }
 
+typedef struct _cairo_image_buffer
+{
+    cairo_format_t         format;
+    unsigned char          *data;
+    int                            width;
+    int                            height;
+    int                            stride;
+    pixman_image_t         *pixman_image;
+    pixman_format_code_t    pixman_format;
+} cairo_image_buffer_t;
+
+static inline void
+_get_image_buffer (cairo_surface_t *surface, cairo_image_buffer_t *image_buffer)
+{
+    if (surface->backend->type == CAIRO_SURFACE_TYPE_IMAGE)
+    {
+       cairo_image_surface_t *image = (cairo_image_surface_t *)surface;
+
+       image_buffer->format = image->format;
+       image_buffer->data = image->data;
+       image_buffer->width = image->width;
+       image_buffer->height = image->height;
+       image_buffer->stride = image->stride;
+       image_buffer->pixman_image = image->pixman_image;
+       image_buffer->pixman_format = image->pixman_format;
+    }
+#if CAIRO_HAS_TG_SURFACE
+    else if (surface->backend->type == CAIRO_SURFACE_TYPE_TG)
+    {
+       cairo_tg_surface_t *tg = (cairo_tg_surface_t *)surface;
+
+       image_buffer->format = tg->format;
+       image_buffer->data = tg->data;
+       image_buffer->width = tg->width;
+       image_buffer->height = tg->height;
+       image_buffer->stride = tg->stride;
+       image_buffer->pixman_image = ((cairo_image_surface_t *)(tg->image_surface))->pixman_image;
+       image_buffer->pixman_format = ((cairo_image_surface_t *)(tg->image_surface))->pixman_format;
+
+       /* flush the journal to make the memory image_buffer up-to-date. */
+       cairo_surface_flush (surface);
+    }
+#endif
+}
+
 static uint16_t
 expand_channel (uint16_t v, uint32_t bits)
 {
@@ -452,25 +502,25 @@ expand_channel (uint16_t v, uint32_t bits)
 }
 
 static pixman_image_t *
-_pixel_to_solid (cairo_image_surface_t *image, int x, int y)
+_pixel_to_solid (const cairo_image_buffer_t *image_buffer, int x, int y)
 {
     uint32_t pixel;
     pixman_color_t color;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
-    switch (image->format) {
+    switch (image_buffer->format) {
     default:
     case CAIRO_FORMAT_INVALID:
        ASSERT_NOT_REACHED;
        return NULL;
 
     case CAIRO_FORMAT_A1:
-       pixel = *(uint8_t *) (image->data + y * image->stride + x/8);
+       pixel = *(uint8_t *) (image_buffer->data + y * image_buffer->stride + x/8);
        return pixel & (1 << (x&7)) ? _pixman_black_image () : _pixman_transparent_image ();
 
     case CAIRO_FORMAT_A8:
-       color.alpha = *(uint8_t *) (image->data + y * image->stride + x);
+       color.alpha = *(uint8_t *) (image_buffer->data + y * image_buffer->stride + x);
        color.alpha |= color.alpha << 8;
        if (color.alpha == 0)
            return _pixman_transparent_image ();
@@ -481,7 +531,7 @@ _pixel_to_solid (cairo_image_surface_t *image, int x, int y)
        return pixman_image_create_solid_fill (&color);
 
     case CAIRO_FORMAT_RGB16_565:
-       pixel = *(uint16_t *) (image->data + y * image->stride + 2 * x);
+       pixel = *(uint16_t *) (image_buffer->data + y * image_buffer->stride + 2 * x);
        if (pixel == 0)
            return _pixman_black_image ();
        if (pixel == 0xffff)
@@ -494,7 +544,7 @@ _pixel_to_solid (cairo_image_surface_t *image, int x, int y)
        return pixman_image_create_solid_fill (&color);
 
     case CAIRO_FORMAT_RGB30:
-       pixel = *(uint32_t *) (image->data + y * image->stride + 4 * x);
+       pixel = *(uint32_t *) (image_buffer->data + y * image_buffer->stride + 4 * x);
        pixel &= 0x3fffffff; /* ignore alpha bits */
        if (pixel == 0)
            return _pixman_black_image ();
@@ -510,8 +560,8 @@ _pixel_to_solid (cairo_image_surface_t *image, int x, int y)
 
     case CAIRO_FORMAT_ARGB32:
     case CAIRO_FORMAT_RGB24:
-       pixel = *(uint32_t *) (image->data + y * image->stride + 4 * x);
-       color.alpha = image->format == CAIRO_FORMAT_ARGB32 ? (pixel >> 24) | (pixel >> 16 & 0xff00) : 0xffff;
+       pixel = *(uint32_t *) (image_buffer->data + y * image_buffer->stride + 4 * x);
+       color.alpha = image_buffer->format == CAIRO_FORMAT_ARGB32 ? (pixel >> 24) | (pixel >> 16 & 0xff00) : 0xffff;
        if (color.alpha == 0)
            return _pixman_transparent_image ();
        if (pixel == 0xffffffff)
@@ -704,6 +754,7 @@ _pixman_image_for_recording (cairo_image_surface_t *dst,
     cairo_extend_t extend;
     cairo_matrix_t *m, matrix;
     int tx = 0, ty = 0;
+    cairo_surface_t *blurred_surface;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
@@ -782,7 +833,11 @@ _pixman_image_for_recording (cairo_image_surface_t *dst,
     }
 
 done:
-    pixman_image = pixman_image_ref (((cairo_image_surface_t *)clone)->pixman_image);
+    /* filter with gaussian */
+    blurred_surface = _cairo_image_gaussian_filter (clone,  &pattern->base);
+
+    pixman_image = pixman_image_ref (((cairo_image_surface_t *)blurred_surface)->pixman_image);
+    cairo_surface_destroy (blurred_surface);
     cairo_surface_destroy (clone);
 
     *ix = -limit.x;
@@ -799,6 +854,16 @@ done:
     return pixman_image;
 }
 
+static inline cairo_bool_t
+_surface_type_is_image_buffer (cairo_surface_type_t type)
+{
+#if CAIRO_HAS_TG_SURFACE
+    return type == CAIRO_SURFACE_TYPE_IMAGE || type == CAIRO_SURFACE_TYPE_TG;
+#else
+    return type == CAIRO_SURFACE_TYPE_IMAGE;
+#endif
+}
+
 static pixman_image_t *
 _pixman_image_for_surface (cairo_image_surface_t *dst,
                           const cairo_surface_pattern_t *pattern,
@@ -808,7 +873,9 @@ _pixman_image_for_surface (cairo_image_surface_t *dst,
                           int *ix, int *iy)
 {
     cairo_extend_t extend = pattern->base.extend;
-    pixman_image_t *pixman_image;
+    pixman_image_t *pixman_image = NULL;
+    pixman_image_t *blurred_pixman_image = NULL;
+    cairo_surface_t *blurred_surface = NULL;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
@@ -819,26 +886,27 @@ _pixman_image_for_surface (cairo_image_surface_t *dst,
                                           is_mask, extents, sample,
                                           ix, iy);
 
-    if (pattern->surface->type == CAIRO_SURFACE_TYPE_IMAGE &&
+    if (_surface_type_is_image_buffer (pattern->surface->type) &&
        (! is_mask || ! pattern->base.has_component_alpha ||
         (pattern->surface->content & CAIRO_CONTENT_COLOR) == 0))
     {
        cairo_surface_t *defer_free = NULL;
        cairo_image_surface_t *source = (cairo_image_surface_t *) pattern->surface;
-       cairo_surface_type_t type;
+       cairo_image_buffer_t image_buffer;
 
        if (_cairo_surface_is_snapshot (&source->base)) {
            defer_free = _cairo_surface_snapshot_get_target (&source->base);
            source = (cairo_image_surface_t *) defer_free;
        }
 
-       type = source->base.backend->type;
-       if (type == CAIRO_SURFACE_TYPE_IMAGE) {
+       if (_surface_type_is_image_buffer (source->base.backend->type)) {
+           _get_image_buffer (source, &image_buffer);
+
            if (extend != CAIRO_EXTEND_NONE &&
                sample->x >= 0 &&
                sample->y >= 0 &&
-               sample->x + sample->width  <= source->width &&
-               sample->y + sample->height <= source->height)
+               sample->x + sample->width  <= image_buffer.width &&
+               sample->y + sample->height <= image_buffer.height)
            {
                extend = CAIRO_EXTEND_NONE;
            }
@@ -846,8 +914,8 @@ _pixman_image_for_surface (cairo_image_surface_t *dst,
            if (sample->width == 1 && sample->height == 1) {
                if (sample->x < 0 ||
                    sample->y < 0 ||
-                   sample->x >= source->width ||
-                   sample->y >= source->height)
+                   sample->x >= image_buffer.width ||
+                   sample->y >= image_buffer.height)
                {
                    if (extend == CAIRO_EXTEND_NONE) {
                        cairo_surface_destroy (defer_free);
@@ -856,8 +924,7 @@ _pixman_image_for_surface (cairo_image_surface_t *dst,
                }
                else
                {
-                   pixman_image = _pixel_to_solid (source,
-                                                   sample->x, sample->y);
+                   pixman_image = _pixel_to_solid (&image_buffer, sample->x, sample->y);
                     if (pixman_image) {
                        cairo_surface_destroy (defer_free);
                         return pixman_image;
@@ -873,31 +940,49 @@ _pixman_image_for_surface (cairo_image_surface_t *dst,
                                                     ix, iy))
            {
                cairo_surface_destroy (defer_free);
-               return pixman_image_ref (source->pixman_image);
+                /* filter with gaussian */
+               if (pattern->filter == CAIRO_FILTER_GAUSSIAN) {
+                    blurred_surface = _cairo_image_gaussian_filter (&source->base,  &pattern->base);
+                   blurred_pixman_image = pixman_image_ref (((cairo_image_surface_t *)blurred_surface)->pixman_image);
+                   cairo_surface_destroy (blurred_surface);
+                   return blurred_pixman_image;
+               }
+               else
+               return pixman_image_ref (image_buffer.pixman_image);
            }
 #endif
 
-           pixman_image = pixman_image_create_bits (source->pixman_format,
-                                                    source->width,
-                                                    source->height,
-                                                    (uint32_t *) source->data,
-                                                    source->stride);
-           if (unlikely (pixman_image == NULL)) {
-               cairo_surface_destroy (defer_free);
-               return NULL;
-           }
+           if (pattern->base.filter != CAIRO_FILTER_GAUSSIAN) {
+           pixman_image = pixman_image_create_bits (image_buffer.pixman_format,
+                                                    image_buffer.width,
+                                                    image_buffer.height,
+                                                    (uint32_t *) image_buffer.data,
+                                                    image_buffer.stride);
+               if (unlikely (pixman_image == NULL)) {
+                   cairo_surface_destroy (defer_free);
+                   if (blurred_surface)
+                   cairo_surface_destroy (blurred_surface);
+                   if (blurred_pixman_image)
+                       pixman_image_unref (blurred_pixman_image);
+                   return NULL;
+               }
 
-           if (defer_free) {
-               pixman_image_set_destroy_function (pixman_image,
-                                                  _defer_free_cleanup,
-                                                  defer_free);
+               if (defer_free) {
+                   pixman_image_set_destroy_function (pixman_image,
+                                                      _defer_free_cleanup,
+                                                      defer_free);
+               }
            }
-       } else if (type == CAIRO_SURFACE_TYPE_SUBSURFACE) {
+           else
+               blurred_surface = _cairo_image_gaussian_filter (&source->base,  &pattern->base);
+       } else if (source->base.backend->type == CAIRO_SURFACE_TYPE_SUBSURFACE) {
            cairo_surface_subsurface_t *sub;
            cairo_bool_t is_contained = FALSE;
 
            sub = (cairo_surface_subsurface_t *) source;
-           source = (cairo_image_surface_t *) sub->target;
+           source = sub->target;
+
+           _get_image_buffer (source, &image_buffer);
 
            if (sample->x >= 0 &&
                sample->y >= 0 &&
@@ -909,7 +994,7 @@ _pixman_image_for_surface (cairo_image_surface_t *dst,
 
            if (sample->width == 1 && sample->height == 1) {
                if (is_contained) {
-                   pixman_image = _pixel_to_solid (source,
+                   pixman_image = _pixel_to_solid (&image_buffer,
                                                     sub->extents.x + sample->x,
                                                     sub->extents.y + sample->y);
                     if (pixman_image)
@@ -928,74 +1013,133 @@ _pixman_image_for_surface (cairo_image_surface_t *dst,
                                                     pattern->base.filter,
                                                     ix, iy))
            {
-               return pixman_image_ref (source->pixman_image);
+                /* filter with gaussian */
+               if (pattern->filter == CAIRO_FILTER_GAUSSIAN) {
+                   blurred_surface = _cairo_image_gaussian_filter (&source->base,  &pattern->base);
+                   blurred_pixman_image = pixman_image_ref (((cairo_image_surface_t *)blurred_surface)->pixman_image);
+                   cairo_surface_destroy (blurred_surface);
+                   return blurred_pixman_image;
+               }
            }
 #endif
 
            /* Avoid sub-byte offsets, force a copy in that case. */
-           if (PIXMAN_FORMAT_BPP (source->pixman_format) >= 8) {
+           if (pattern->base.filter != CAIRO_FILTER_GAUSSIAN) {
+           if (PIXMAN_FORMAT_BPP (image_buffer.pixman_format) >= 8) {
                if (is_contained) {
-                   void *data = source->data
-                       + sub->extents.x * PIXMAN_FORMAT_BPP(source->pixman_format)/8
-                       + sub->extents.y * source->stride;
-                   pixman_image = pixman_image_create_bits (source->pixman_format,
+                   void *data = image_buffer.data
+                       + sub->extents.x * PIXMAN_FORMAT_BPP(image_buffer.pixman_format)/8
+                       + sub->extents.y * image_buffer.stride;
+                   pixman_image = pixman_image_create_bits (image_buffer.pixman_format,
                                                             sub->extents.width,
                                                             sub->extents.height,
                                                             data,
-                                                            source->stride);
-                   if (unlikely (pixman_image == NULL))
-                       return NULL;
-               } else {
+                                                            image_buffer.stride);
+                       if (unlikely (pixman_image == NULL)) {
+                           if (blurred_surface)
+                               cairo_surface_destroy (blurred_surface);
+                           if (blurred_pixman_image)
+                               pixman_image_unref (blurred_pixman_image);
+                           return NULL;
+                       }
+                   } else {
                    /* XXX for a simple translation and EXTEND_NONE we can
                     * fix up the pattern matrix instead.
                     */
+                   }
                }
            }
+           else
+           /* filter */
+               blurred_surface = _cairo_image_gaussian_filter (&source->base,  &pattern->base);
        }
     }
 
-    if (pixman_image == NULL) {
+    if (pixman_image == NULL && blurred_surface == NULL) {
        struct acquire_source_cleanup *cleanup;
        cairo_image_surface_t *image;
        void *extra;
        cairo_status_t status;
 
        status = _cairo_surface_acquire_source_image (pattern->surface, &image, &extra);
-       if (unlikely (status))
+       if (unlikely (status)) {
+           if (blurred_surface)
+               cairo_surface_destroy (blurred_surface);
+           if (blurred_pixman_image)
+               pixman_image_unref (blurred_pixman_image);
            return NULL;
+       }
 
-       pixman_image = pixman_image_create_bits (image->pixman_format,
-                                                image->width,
-                                                image->height,
-                                                (uint32_t *) image->data,
-                                                image->stride);
-       if (unlikely (pixman_image == NULL)) {
-           _cairo_surface_release_source_image (pattern->surface, image, extra);
-           return NULL;
+       if (pattern->base.filter != CAIRO_FILTER_GAUSSIAN) {
+           pixman_image = pixman_image_create_bits (image->pixman_format,
+                                                    image->width,
+                                                    image->height,
+                                                    (uint32_t *) image->data,
+                                                    image->stride);
+           if (unlikely (pixman_image == NULL)) {
+               _cairo_surface_release_source_image (pattern->surface, image, extra);
+               if (blurred_surface)
+                   cairo_surface_destroy (blurred_surface);
+               if (blurred_pixman_image)
+                   pixman_image_unref (blurred_pixman_image);
+               return NULL;
+           }
        }
+       else
+       /* filter with gaussian */
+               blurred_surface = _cairo_image_gaussian_filter (&image->base,  &pattern->base);
 
        cleanup = malloc (sizeof (*cleanup));
        if (unlikely (cleanup == NULL)) {
            _cairo_surface_release_source_image (pattern->surface, image, extra);
-           pixman_image_unref (pixman_image);
+           if (pixman_image)
+               pixman_image_unref (pixman_image);
+           if (blurred_surface)
+               cairo_surface_destroy (blurred_surface);
+           if (blurred_pixman_image)
+               pixman_image_unref (blurred_pixman_image);
            return NULL;
        }
 
-       cleanup->surface = pattern->surface;
-       cleanup->image = image;
-       cleanup->image_extra = extra;
-       pixman_image_set_destroy_function (pixman_image,
-                                          _acquire_source_cleanup, cleanup);
+       if (pixman_image) {
+           cleanup->surface = pattern->surface;
+           cleanup->image = image;
+           cleanup->image_extra = extra;
+           pixman_image_set_destroy_function (pixman_image,
+                                              _acquire_source_cleanup, cleanup);
+       }
     }
 
-    if (! _pixman_image_set_properties (pixman_image,
-                                       &pattern->base, extents,
-                                       ix, iy)) {
-       pixman_image_unref (pixman_image);
-       pixman_image= NULL;
+    if (blurred_surface) {
+       blurred_pixman_image = pixman_image_ref (((cairo_image_surface_t *)blurred_surface)->pixman_image);
+       cairo_surface_destroy (blurred_surface);
     }
 
-    return pixman_image;
+    if (blurred_pixman_image) {
+       if (! _pixman_image_set_properties (blurred_pixman_image,
+                                           &pattern->base, extents,
+                                           ix, iy)) {
+           pixman_image_unref (blurred_pixman_image);
+           blurred_pixman_image= NULL;
+       }
+    }
+    if (pixman_image) {
+       if (! _pixman_image_set_properties (pixman_image,
+                                           &pattern->base, extents,
+                                           ix, iy)) {
+           pixman_image_unref (pixman_image);
+           pixman_image= NULL;
+       }
+    }
+
+    if (blurred_pixman_image) {
+       if (pixman_image)
+           pixman_image_unref (pixman_image);
+    }
+    else
+       blurred_pixman_image = pixman_image;
+
+    return blurred_pixman_image;
 }
 
 struct raster_source_cleanup {
diff --git a/src/cairo-image-spans-compositor.c b/src/cairo-image-spans-compositor.c
deleted file mode 100644 (file)
index 5718b55..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright © 2003 University of Southern California
- * Copyright © 2009,2010,2011 Intel Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * The Initial Developer of the Original Code is University of Southern
- * California.
- *
- * Contributor(s):
- *     Carl D. Worth <cworth@cworth.org>
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairoint.h"
-
-#include "cairo-compositor-private.h"
-#include "cairo-image-surface-private.h"
-#include "cairo-spans-compositor-private.h"
-
-typedef struct _cairo_image_span_renderer {
-    cairo_span_renderer_t base;
-
-    pixman_image_compositor_t *compositor;
-    pixman_image_t *src;
-    float opacity;
-    cairo_rectangle_int_t extents;
-} cairo_image_span_renderer_t;
-
-static cairo_status_t
-_cairo_image_span_renderer_init (cairo_abstract_span_renderer_t *_r,
-                                cairo_surface_t *dst,
-                                cairo_operator_t op,
-                                cairo_surface_t *src,
-                                int src_x, int src_y;
-                                float opacity,
-                                const cairo_composite_rectangles_t *composite,
-                                cairo_bool_t needs_clip)
-{
-    cairo_image_span_renderer_t *r = (cairo_image_span_renderer_t *)_r;
-    cairo_pixman_source_t *src = (cairo_pixman_source_t *)_src;
-    int src_x, src_y;
-
-    if (op == CAIRO_OPERATOR_CLEAR) {
-       op = CAIRO_OPERATOR_DEST_OUT;
-       pattern = NULL;
-    }
-
-    r->src = ((cairo_pixman_source_t *) src)->pixman_image;
-    r->opacity = opacity;
-
-    if (composite->is_bounded) {
-       if (opacity == 1.)
-           r->base.render_rows = _cairo_image_bounded_opaque_spans;
-       else
-           r->base.render_rows = _cairo_image_bounded_spans;
-       r->base.finish = NULL;
-    } else {
-       if (needs_clip)
-           r->base.render_rows = _cairo_image_clipped_spans;
-       else
-           r->base.render_rows = _cairo_image_unbounded_spans;
-        r->base.finish =      _cairo_image_finish_unbounded_spans;
-       r->extents = composite->unbounded;
-       r->extents.height += r->extents.y;
-
-    }
-    r->compositor =
-       pixman_image_create_compositor (_pixman_operator (op),
-                                       r->src, NULL, dst->pixman_image,
-                                       composite->bounded.x + src_x,
-                                       composite->bounded.y + src_y,
-                                       0, 0,
-                                       composite->bounded.x,
-                                       composite->bounded.y,
-                                       composite->bounded.width,
-                                       composite->bounded.height);
-    if (unlikely (r->compositor == NULL))
-       return CAIRO_INT_STATUS_NOTHING_TO_DO;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static void
-_cairo_image_span_renderer_fini (cairo_abstract_span_renderer_t *_r)
-{
-    cairo_image_span_renderer_t *r = (cairo_image_span_renderer_t *) r;
-    pixman_image_compositor_destroy (r->compositor);
-}
-
-const cairo_compositor_t *
-_cairo_image_spans_compositor_get (void)
-{
-    static cairo_spans_compositor_t compositor;
-
-    if (compositor.base.delegate == NULL) {
-       /* Can't fallback to the mask compositor as that will simply
-        * call the spans-compositor again to render the mask!
-        */
-       _cairo_spans_compositor_init (&compositor,
-                                     _cairo_image_traps_compositor_get());
-
-    }
-
-    return &compositor.base;
-}
index 95cbb99..743d5fd 100644 (file)
 #ifndef CAIRO_IMAGE_SURFACE_INLINE_H
 #define CAIRO_IMAGE_SURFACE_INLINE_H
 
+#include "cairo-surface-private.h"
 #include "cairo-image-surface-private.h"
 
 CAIRO_BEGIN_DECLS
 
+static inline cairo_image_surface_t *
+_cairo_image_surface_create_in_error (cairo_status_t status)
+{
+    return (cairo_image_surface_t *) _cairo_surface_create_in_error (status);
+}
+
 static inline void
 _cairo_image_surface_set_parent (cairo_image_surface_t *image,
                                 cairo_surface_t *parent)
@@ -49,6 +56,12 @@ _cairo_image_surface_set_parent (cairo_image_surface_t *image,
     image->parent = parent;
 }
 
+static inline cairo_bool_t
+_cairo_image_surface_is_clone (cairo_image_surface_t *image)
+{
+    return image->parent != NULL;
+}
+
 /**
  * _cairo_surface_is_image:
  * @surface: a #cairo_surface_t
@@ -60,7 +73,8 @@ _cairo_image_surface_set_parent (cairo_image_surface_t *image,
 static inline cairo_bool_t
 _cairo_surface_is_image (const cairo_surface_t *surface)
 {
-    return surface->backend == &_cairo_image_surface_backend;
+    /* _cairo_surface_nil sets a NULL backend so be safe */
+    return surface->backend && surface->backend->type == CAIRO_SURFACE_TYPE_IMAGE;
 }
 
 /**
index 3388c64..8ca694c 100644 (file)
@@ -152,6 +152,12 @@ _cairo_image_surface_init (cairo_image_surface_t *surface,
                           pixman_format_code_t  pixman_format);
 
 cairo_private cairo_surface_t *
+_cairo_image_surface_create_similar (void             *abstract_other,
+                                    cairo_content_t    content,
+                                    int                width,
+                                    int                height);
+
+cairo_private cairo_image_surface_t *
 _cairo_image_surface_map_to_image (void *abstract_other,
                                   const cairo_rectangle_int_t *extents);
 
@@ -216,6 +222,17 @@ _pixman_image_add_tristrip (pixman_image_t *image,
                            int dst_x, int dst_y,
                            cairo_tristrip_t *strip);
 
+cairo_private cairo_image_surface_t *
+_cairo_image_surface_clone_subimage (cairo_surface_t             *surface,
+                                    const cairo_rectangle_int_t *extents);
+
+/* Similar to clone; but allow format conversion */
+cairo_private cairo_image_surface_t *
+_cairo_image_surface_create_from_image (cairo_image_surface_t *other,
+                                       pixman_format_code_t format,
+                                       int x, int y, int width, int height,
+                                       int stride);
+
 CAIRO_END_DECLS
 
 #endif /* CAIRO_IMAGE_SURFACE_PRIVATE_H */
index 98f70c5..b68f4a9 100644 (file)
 #include "cairo-scaled-font-private.h"
 #include "cairo-surface-snapshot-private.h"
 #include "cairo-surface-subsurface-private.h"
+#include "cairo-surface-shadow-private.h"
+#include "cairo-list-inline.h"
 
 /* Limit on the width / height of an image surface in pixels.  This is
  * mainly determined by coordinates of things sent to pixman at the
  * moment being in 16.16 format. */
 #define MAX_IMAGE_SIZE 32767
 
+#define MAX_IMAGE_SHADOW_SIZE 256
+#define MIN_IMAGE_SHADOW_SIZE 32
+
 /**
  * SECTION:cairo-image
  * @Title: Image Surfaces
  * Since: 1.8
  **/
 
+static cairo_list_t shadow_caches;
+static unsigned long shadow_caches_size = 0;
+static cairo_recursive_mutex_t shadow_caches_mutex;
+static unsigned shadow_caches_mutex_depth = 0;
+static cairo_atomic_int_t shadow_caches_ref_count = 0;
+
+static void
+_cairo_image_shadow_caches_init (void)
+{
+    _cairo_atomic_int_inc (&shadow_caches_ref_count);
+
+    if (shadow_caches_ref_count == 1)
+       cairo_list_init (&shadow_caches);
+
+    CAIRO_RECURSIVE_MUTEX_INIT (shadow_caches_mutex);
+}
+
+static void
+_cairo_image_shadow_caches_destroy (void)
+{
+    assert (shadow_caches_ref_count != 0);
+
+    if (! _cairo_atomic_int_dec_and_test (&shadow_caches_ref_count))
+       return;
+
+    if (shadow_caches_mutex_depth == 0) {
+       CAIRO_MUTEX_FINI (shadow_caches_mutex);
+
+       while (! cairo_list_is_empty (&shadow_caches)) {
+           cairo_shadow_cache_t *shadow;
+
+           shadow = cairo_list_first_entry (&shadow_caches,
+                                            cairo_shadow_cache_t,
+                                            link);
+           cairo_list_del (&shadow->link);
+           cairo_surface_destroy (shadow->surface);
+           free (shadow);
+       }
+       shadow_caches_size = 0;
+    }
+}
+
+static cairo_status_t
+_cairo_image_surface_shadow_cache_acquire (void *abstract_surface)
+{
+    cairo_image_surface_t *surface = abstract_surface;
+
+    if (! surface || surface->base.type != CAIRO_SURFACE_TYPE_IMAGE)
+       return CAIRO_STATUS_SURFACE_TYPE_MISMATCH;
+
+    if (unlikely (surface->base.status))
+       return surface->base.status;
+
+    CAIRO_MUTEX_LOCK (shadow_caches_mutex);
+    shadow_caches_mutex_depth++;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static void
+_cairo_image_surface_shadow_cache_release (void *abstract_surface)
+{
+    cairo_image_surface_t *surface = abstract_surface;
+
+    if (! surface || surface->base.type != CAIRO_SURFACE_TYPE_IMAGE)
+       return;
+
+    if (unlikely (surface->base.status))
+       return;
+
+    assert (shadow_caches_mutex_depth > 0);
+    shadow_caches_mutex_depth--;
+
+    CAIRO_MUTEX_UNLOCK (shadow_caches_mutex);
+}
+
+static cairo_list_t *
+_cairo_image_surface_get_shadow_cache (void *abstract_surface)
+{
+    cairo_image_surface_t *surface = abstract_surface;
+
+    if (! surface || surface->base.type != CAIRO_SURFACE_TYPE_IMAGE)
+       return NULL;
+
+    if (unlikely (surface->base.status))
+       return NULL;
+
+    return &shadow_caches;
+}
+
+static unsigned long *
+_cairo_image_surface_get_shadow_cache_size (void *abstract_surface)
+{
+    cairo_image_surface_t *surface = abstract_surface;
+
+    if (! surface || surface->base.type != CAIRO_SURFACE_TYPE_IMAGE)
+       return NULL;
+
+    if (unlikely (surface->base.status))
+       return NULL;
+
+    return &shadow_caches_size;
+}
+
+static cairo_bool_t
+_cairo_image_surface_has_shadow_cache (void *abstract_surface)
+{
+    cairo_image_surface_t *surface = abstract_surface;
+
+    if (! surface || surface->base.type != CAIRO_SURFACE_TYPE_IMAGE)
+       return FALSE;
+    return TRUE;
+}
+
 static cairo_bool_t
 _cairo_image_surface_is_size_valid (int width, int height)
 {
@@ -165,6 +284,8 @@ _cairo_image_surface_init (cairo_image_surface_t *surface,
     surface->base.is_clear = surface->width == 0 || surface->height == 0;
 
     surface->compositor = _cairo_image_spans_compositor_get ();
+
+    _cairo_image_shadow_caches_init ();
 }
 
 cairo_surface_t *
@@ -723,7 +844,7 @@ _cairo_format_bits_per_pixel (cairo_format_t format)
     }
 }
 
-static cairo_surface_t *
+cairo_surface_t *
 _cairo_image_surface_create_similar (void             *abstract_other,
                                     cairo_content_t    content,
                                     int                width,
@@ -762,12 +883,12 @@ _cairo_image_surface_snapshot (void *abstract_surface)
            return &clone->base;
 
        image->pixman_image = NULL;
-       image->owns_data = FALSE;
 
        clone->transparency = image->transparency;
        clone->color = image->color;
 
-       clone->owns_data = FALSE;
+       clone->owns_data = image->owns_data;
+       image->owns_data = FALSE;
        return &clone->base;
     }
 
@@ -794,7 +915,7 @@ _cairo_image_surface_snapshot (void *abstract_surface)
     return &clone->base;
 }
 
-cairo_surface_t *
+cairo_image_surface_t *
 _cairo_image_surface_map_to_image (void *abstract_other,
                                   const cairo_rectangle_int_t *extents)
 {
@@ -814,13 +935,16 @@ _cairo_image_surface_map_to_image (void *abstract_other,
                                                        other->stride);
 
     cairo_surface_set_device_offset (surface, -extents->x, -extents->y);
-    return surface;
+    return (cairo_image_surface_t *) surface;
 }
 
 cairo_int_status_t
 _cairo_image_surface_unmap_image (void *abstract_surface,
                                  cairo_image_surface_t *image)
 {
+    cairo_surface_finish (&image->base);
+    cairo_surface_destroy (&image->base);
+
     return CAIRO_INT_STATUS_SUCCESS;
 }
 
@@ -844,6 +968,8 @@ _cairo_image_surface_finish (void *abstract_surface)
        surface->parent = NULL;
     }
 
+    _cairo_image_shadow_caches_destroy ();
+
     return CAIRO_STATUS_SUCCESS;
 }
 
@@ -908,12 +1034,32 @@ _cairo_image_surface_paint (void                 *abstract_surface,
                            const cairo_clip_t          *clip)
 {
     cairo_image_surface_t *surface = abstract_surface;
+    cairo_int_status_t status;
 
     TRACE ((stderr, "%s (surface=%d)\n",
            __FUNCTION__, surface->base.unique_id));
 
-    return _cairo_compositor_paint (surface->compositor,
-                                   &surface->base, op, source, clip);
+    status = cairo_device_acquire (surface->base.device);
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_surface_shadow_paint (abstract_surface, op, source,
+                                         clip, &source->shadow);
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (source->shadow.draw_shadow_only) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    status = _cairo_compositor_paint (surface->compositor,
+                                     &surface->base, op, source, clip);
+    cairo_device_release (surface->base.device);
+    return status;
 }
 
 cairo_int_status_t
@@ -924,12 +1070,32 @@ _cairo_image_surface_mask (void                          *abstract_surface,
                           const cairo_clip_t           *clip)
 {
     cairo_image_surface_t *surface = abstract_surface;
+    cairo_int_status_t status;
 
     TRACE ((stderr, "%s (surface=%d)\n",
            __FUNCTION__, surface->base.unique_id));
 
-    return _cairo_compositor_mask (surface->compositor,
-                                  &surface->base, op, source, mask, clip);
+    status = cairo_device_acquire (surface->base.device);
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_surface_shadow_mask (abstract_surface, op, source,
+                                        mask, clip, &source->shadow);
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (source->shadow.draw_shadow_only) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    status = _cairo_compositor_mask (surface->compositor,
+                                    &surface->base, op, source, mask, clip);
+    cairo_device_release (surface->base.device);
+    return status;
 }
 
 cairo_int_status_t
@@ -944,15 +1110,53 @@ _cairo_image_surface_stroke (void                        *abstract_surface,
                             cairo_antialias_t           antialias,
                             const cairo_clip_t         *clip)
 {
+    cairo_int_status_t status;
     cairo_image_surface_t *surface = abstract_surface;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
 
     TRACE ((stderr, "%s (surface=%d)\n",
            __FUNCTION__, surface->base.unique_id));
 
-    return _cairo_compositor_stroke (surface->compositor, &surface->base,
-                                    op, source, path,
-                                    style, ctm, ctm_inverse,
-                                    tolerance, antialias, clip);
+    status = cairo_device_acquire (surface->base.device);
+    if (unlikely (status))
+       return status;
+
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_stroke (abstract_surface, op, source,
+                                              path, style, ctm, ctm_inverse,
+                                              tolerance, antialias, clip,
+                                              &source->shadow);
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_DROP &&
+       source->shadow.draw_shadow_only) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (! source->shadow.draw_shadow_only)
+       status = _cairo_compositor_stroke (surface->compositor, &surface->base,
+                                          op, source, path,
+                                          style, ctm, ctm_inverse,
+                                          tolerance, antialias, clip);
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_stroke (abstract_surface, op, source,
+                                              path, style, ctm, ctm_inverse,
+                                              tolerance, antialias, clip,
+                                              &source->shadow);
+
+    cairo_device_release (surface->base.device);
+    return status;
 }
 
 cairo_int_status_t
@@ -965,15 +1169,62 @@ _cairo_image_surface_fill (void                          *abstract_surface,
                           cairo_antialias_t             antialias,
                           const cairo_clip_t           *clip)
 {
+    cairo_int_status_t status;
     cairo_image_surface_t *surface = abstract_surface;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
 
     TRACE ((stderr, "%s (surface=%d)\n",
            __FUNCTION__, surface->base.unique_id));
 
-    return _cairo_compositor_fill (surface->compositor, &surface->base,
-                                  op, source, path,
-                                  fill_rule, tolerance, antialias,
-                                  clip);
+    status = cairo_device_acquire (surface->base.device);
+    if (unlikely (status))
+       return status;
+
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_fill (abstract_surface, op, source,
+                                            path, fill_rule,
+                                            tolerance, antialias, clip,
+                                            &source->shadow);
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_DROP &&
+       source->shadow.draw_shadow_only) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (! source->shadow.draw_shadow_only) {
+       if (! source->shadow.path_is_fill_with_spread ||
+           source->shadow.type != CAIRO_SHADOW_INSET)
+           status = _cairo_compositor_fill (surface->compositor,
+                                            &surface->base,
+                                            op, source, path,
+                                            fill_rule, tolerance,
+                                            antialias,
+                                            clip);
+       else
+           status = _cairo_compositor_paint (surface->compositor,
+                                             &surface->base,
+                                             op, source, clip);
+    }
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_fill (abstract_surface, op, source,
+                                            path, fill_rule,
+                                            tolerance, antialias, clip,
+                                            &source->shadow);
+
+    cairo_device_release (surface->base.device);
+    return status;
 }
 
 cairo_int_status_t
@@ -985,15 +1236,55 @@ _cairo_image_surface_glyphs (void                        *abstract_surface,
                             cairo_scaled_font_t        *scaled_font,
                             const cairo_clip_t         *clip)
 {
+    cairo_int_status_t status;
     cairo_image_surface_t *surface = abstract_surface;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
 
     TRACE ((stderr, "%s (surface=%d)\n",
            __FUNCTION__, surface->base.unique_id));
 
-    return _cairo_compositor_glyphs (surface->compositor, &surface->base,
-                                    op, source,
-                                    glyphs, num_glyphs, scaled_font,
-                                    clip);
+    status = cairo_device_acquire (surface->base.device);
+    if (unlikely (status))
+       return status;
+
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_glyphs (abstract_surface, op, source,
+                                              scaled_font,
+                                              glyphs, num_glyphs,
+                                              clip,
+                                              &source->shadow);
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_DROP &&
+       source->shadow.draw_shadow_only) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (! source->shadow.draw_shadow_only)
+       status = _cairo_compositor_glyphs (surface->compositor, &surface->base,
+                                          op, source,
+                                          glyphs, num_glyphs, scaled_font,
+                                          clip);
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->base.device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_glyphs (abstract_surface, op, source,
+                                              scaled_font,
+                                              glyphs, num_glyphs,
+                                              clip,
+                                              &source->shadow);
+
+    cairo_device_release (surface->base.device);
+    return status;
 }
 
 void
@@ -1006,6 +1297,64 @@ _cairo_image_surface_get_font_options (void                  *abstract_surface,
     _cairo_font_options_set_round_glyph_positions (options, CAIRO_ROUND_GLYPH_POS_ON);
 }
 
+static cairo_surface_t *
+_cairo_image_surface_shadow_surface (void *surface,
+                                    cairo_bool_t has_blur,
+                                    int width, int height,
+                                    int *width_out, int *height_out)
+{
+    int shadow_width, shadow_height;
+    cairo_image_surface_t *shadow_surface = NULL;
+
+    if (width < MIN_IMAGE_SHADOW_SIZE)
+       shadow_width = width;
+    else if (has_blur) {
+       if (width < MIN_IMAGE_SHADOW_SIZE * 2)
+           shadow_width = MIN_IMAGE_SHADOW_SIZE;
+       else if (width > MAX_IMAGE_SHADOW_SIZE * 2)
+           shadow_width = MAX_IMAGE_SHADOW_SIZE;
+       else
+           shadow_width = width * 0.5;
+    }
+    else {
+       if (width > MAX_IMAGE_SHADOW_SIZE)
+           shadow_width = MAX_IMAGE_SHADOW_SIZE;
+       else
+           shadow_width = width;
+    }
+
+    if (height < MIN_IMAGE_SHADOW_SIZE)
+       shadow_height = height;
+    else if (has_blur) {
+       if (height < MIN_IMAGE_SHADOW_SIZE * 2)
+           shadow_height = MIN_IMAGE_SHADOW_SIZE;
+       else if (height > MAX_IMAGE_SHADOW_SIZE * 2)
+           shadow_height = MAX_IMAGE_SHADOW_SIZE;
+       else
+           shadow_height = height * 0.5;
+    }
+    else {
+       if (height > MAX_IMAGE_SHADOW_SIZE)
+           shadow_height = MAX_IMAGE_SHADOW_SIZE;
+       else
+           shadow_height = height;
+    }
+
+    shadow_surface = (cairo_image_surface_t *)
+               cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
+                                           shadow_width,
+                                           shadow_height);
+    if (unlikely (shadow_surface->base.status)) {
+       cairo_surface_destroy (&shadow_surface->base);
+       return NULL;
+    }
+
+    *width_out = shadow_width;
+    *height_out = shadow_height;
+
+    return &shadow_surface->base;
+}
+
 const cairo_surface_backend_t _cairo_image_surface_backend = {
     CAIRO_SURFACE_TYPE_IMAGE,
     _cairo_image_surface_finish,
@@ -1037,6 +1386,18 @@ const cairo_surface_backend_t _cairo_image_surface_backend = {
     _cairo_image_surface_fill,
     NULL, /* fill-stroke */
     _cairo_image_surface_glyphs,
+    NULL, /* has_text_glyphs */
+    NULL, /* show_text_glyphs */
+    NULL, /* get_supported_mime_types */
+    _cairo_image_surface_shadow_surface,
+    NULL, /* get_glyph_shadow_surface */
+    NULL, /* get_shadow_mask_surface */
+    NULL, /* get_glyph_shadow_mask_surface */
+    _cairo_image_surface_shadow_cache_acquire,
+    _cairo_image_surface_shadow_cache_release,
+    _cairo_image_surface_get_shadow_cache,
+    _cairo_image_surface_get_shadow_cache_size,
+    _cairo_image_surface_has_shadow_cache,
 };
 
 /* A convenience function for when one needs to coerce an image
@@ -1085,6 +1446,62 @@ _cairo_image_surface_coerce_to_format (cairo_image_surface_t *surface,
     return clone;
 }
 
+cairo_image_surface_t *
+_cairo_image_surface_create_from_image (cairo_image_surface_t *other,
+                                       pixman_format_code_t format,
+                                       int x, int y,
+                                       int width, int height, int stride)
+{
+    cairo_image_surface_t *surface = NULL;
+    cairo_status_t status;
+    pixman_image_t *image;
+    void *mem = NULL;
+
+    status = other->base.status;
+    if (unlikely (status))
+       goto cleanup;
+
+    if (stride) {
+       mem = _cairo_malloc_ab (height, stride);
+       if (unlikely (mem == NULL)) {
+           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+           goto cleanup;
+       }
+    }
+
+    image = pixman_image_create_bits (format, width, height, mem, stride);
+    if (unlikely (image == NULL)) {
+       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       goto cleanup_mem;
+    }
+
+    surface = (cairo_image_surface_t *)
+       _cairo_image_surface_create_for_pixman_image (image, format);
+    if (unlikely (surface->base.status)) {
+       status = surface->base.status;
+       goto cleanup_image;
+    }
+
+    pixman_image_composite32 (PIXMAN_OP_SRC,
+                              other->pixman_image, NULL, image,
+                              x, y,
+                              0, 0,
+                              0, 0,
+                              width, height);
+    surface->base.is_clear = FALSE;
+    surface->owns_data = mem != NULL;
+
+    return surface;
+
+cleanup_image:
+    pixman_image_unref (image);
+cleanup_mem:
+    free (mem);
+cleanup:
+    cairo_surface_destroy (&surface->base);
+    return (cairo_image_surface_t *) _cairo_surface_create_in_error (status);
+}
+
 cairo_image_transparency_t
 _cairo_image_analyze_transparency (cairo_image_surface_t *image)
 {
@@ -1202,3 +1619,53 @@ _cairo_image_analyze_color (cairo_image_surface_t      *image)
 
     return image->color = CAIRO_IMAGE_IS_COLOR;
 }
+
+cairo_image_surface_t *
+_cairo_image_surface_clone_subimage (cairo_surface_t             *surface,
+                                    const cairo_rectangle_int_t *extents)
+{
+    cairo_surface_t *image;
+    cairo_surface_pattern_t pattern;
+    cairo_status_t status;
+
+    image = cairo_surface_create_similar_image (surface,
+                                               _cairo_format_from_content (surface->content),
+                                               extents->width,
+                                               extents->height);
+    if (image->status)
+       return to_image_surface (image);
+
+    /* TODO: check me with non-identity device_transform. Should we
+     * clone the scaling, too? */
+    cairo_surface_set_device_offset (image,
+                                    -extents->x,
+                                    -extents->y);
+
+    _cairo_pattern_init_for_surface (&pattern, surface);
+    pattern.base.filter = CAIRO_FILTER_NEAREST;
+
+    status = _cairo_surface_paint (image,
+                                  CAIRO_OPERATOR_SOURCE,
+                                  &pattern.base,
+                                  NULL);
+
+    _cairo_pattern_fini (&pattern.base);
+
+    if (unlikely (status))
+       goto error;
+
+    /* We use the parent as a flag during map-to-image/umap-image that the
+     * resultant image came from a fallback rather than as direct call
+     * to the backend's map_to_image(). Whilst we use it as a simple flag,
+     * we need to make sure the parent surface obeys the reference counting
+     * semantics and is consistent for all callers.
+     */
+    _cairo_image_surface_set_parent (to_image_surface (image),
+                                    cairo_surface_reference (surface));
+
+    return to_image_surface (image);
+
+error:
+    cairo_surface_destroy (image);
+    return to_image_surface (_cairo_surface_create_in_error (status));
+}
index 7976a79..31d1161 100644 (file)
@@ -172,7 +172,7 @@ create_composite_mask (const cairo_mask_compositor_t *compositor,
     status = compositor->acquire (surface);
     if (unlikely (status)) {
        cairo_surface_destroy (surface);
-       return _cairo_surface_create_in_error (status);
+       return _cairo_int_surface_create_in_error (status);
     }
 
     if (!surface->is_clear) {
@@ -239,7 +239,7 @@ error:
     compositor->release (surface);
     if (status != CAIRO_INT_STATUS_NOTHING_TO_DO) {
        cairo_surface_destroy (surface);
-       surface = _cairo_surface_create_in_error (status);
+       surface = _cairo_int_surface_create_in_error (status);
     }
     return surface;
 }
@@ -298,6 +298,38 @@ clip_and_composite_with_mask (const cairo_mask_compositor_t *compositor,
     return CAIRO_STATUS_SUCCESS;
 }
 
+static cairo_surface_t *
+get_clip_source (const cairo_mask_compositor_t *compositor,
+                cairo_clip_t *clip,
+                cairo_surface_t *dst,
+                const cairo_rectangle_int_t *bounds,
+                int *out_x, int *out_y)
+{
+    cairo_surface_pattern_t pattern;
+    cairo_rectangle_int_t r;
+    cairo_surface_t *surface;
+
+    surface = _cairo_clip_get_image (clip, dst, bounds);
+    if (unlikely (surface->status))
+       return surface;
+
+    _cairo_pattern_init_for_surface (&pattern, surface);
+    pattern.base.filter = CAIRO_FILTER_NEAREST;
+    cairo_surface_destroy (surface);
+
+    r.x = r.y = 0;
+    r.width  = bounds->width;
+    r.height = bounds->height;
+
+    surface = compositor->pattern_to_surface (dst, &pattern.base, TRUE,
+                                             &r, &r, out_x, out_y);
+    _cairo_pattern_fini (&pattern.base);
+
+    *out_x += -bounds->x;
+    *out_y += -bounds->y;
+    return surface;
+}
+
 /* Handles compositing with a clip surface when we have to do the operation
  * in two pieces and combine them together.
  */
@@ -312,12 +344,15 @@ clip_and_composite_combine (const cairo_mask_compositor_t *compositor,
     cairo_surface_t *dst = extents->surface;
     cairo_surface_t *tmp, *clip;
     cairo_status_t status;
+    int clip_x, clip_y;
 
     tmp = _cairo_surface_create_similar_scratch (dst, dst->content,
                                                 extents->bounded.width,
                                                 extents->bounded.height);
-    if (unlikely (tmp->status))
-       return tmp->status;
+    if (unlikely (tmp->status)) {
+       status = tmp->status;
+       goto cleanup;
+    }
 
     compositor->composite (tmp, CAIRO_OPERATOR_SOURCE, dst, NULL,
                           extents->bounded.x,      extents->bounded.y,
@@ -332,20 +367,24 @@ clip_and_composite_combine (const cairo_mask_compositor_t *compositor,
     if (unlikely (status))
        goto cleanup;
 
-    clip = _cairo_clip_get_image (extents->clip, dst, &extents->bounded);
-    if (unlikely ((status = clip->status)))
+    clip = get_clip_source (compositor,
+                           extents->clip, dst, &extents->bounded,
+                           &clip_x, &clip_y);
+    if (unlikely ((status = clip->status))) {
+       cairo_surface_destroy (clip);
        goto cleanup;
+    }
 
     if (dst->is_clear) {
        compositor->composite (dst, CAIRO_OPERATOR_SOURCE, tmp, clip,
                               0, 0,
-                              0, 0,
+                              clip_x, clip_y,
                               extents->bounded.x,      extents->bounded.y,
                               extents->bounded.width,  extents->bounded.height);
     } else {
        /* Punch the clip out of the destination */
        compositor->composite (dst, CAIRO_OPERATOR_DEST_OUT, clip, NULL,
-                              0, 0,
+                              clip_x, clip_y,
                               0, 0,
                               extents->bounded.x,     extents->bounded.y,
                               extents->bounded.width, extents->bounded.height);
@@ -353,7 +392,7 @@ clip_and_composite_combine (const cairo_mask_compositor_t *compositor,
        /* Now add the two results together */
        compositor->composite (dst, CAIRO_OPERATOR_ADD, tmp, clip,
                               0, 0,
-                              0, 0,
+                              clip_x, clip_y,
                               extents->bounded.x,     extents->bounded.y,
                               extents->bounded.width, extents->bounded.height);
     }
@@ -515,16 +554,17 @@ fixup_unbounded_with_mask (const cairo_mask_compositor_t *compositor,
                           cairo_surface_t *dst,
                           const cairo_composite_rectangles_t *extents)
 {
-    cairo_clip_t *clip = extents->clip;
     cairo_surface_t *mask;
     int mask_x, mask_y;
 
-    mask = _cairo_clip_get_image (clip, dst, &extents->unbounded);
-    if (unlikely (mask->status))
-       return mask->status;
-
-    mask_x = -extents->unbounded.x;
-    mask_y = -extents->unbounded.y;
+    mask = get_clip_source (compositor,
+                           extents->clip, dst, &extents->unbounded,
+                           &mask_x, &mask_y);
+    if (unlikely (mask->status)) {
+       cairo_status_t status = mask->status;
+       cairo_surface_destroy (mask);
+       return status;
+    }
 
     /* top */
     if (extents->bounded.y != extents->unbounded.y) {
@@ -870,18 +910,19 @@ composite_boxes (const cairo_mask_compositor_t *compositor,
        int mask_x = 0, mask_y = 0;
 
        if (need_clip_mask) {
-           mask = _cairo_clip_get_image (extents->clip, dst,
-                                         &extents->bounded);
-           if (unlikely (mask->status))
-               return mask->status;
+           mask = get_clip_source (compositor,
+                                   extents->clip, dst, &extents->bounded,
+                                   &mask_x, &mask_y);
+           if (unlikely (mask->status)) {
+               status = mask->status;
+               cairo_surface_destroy (mask);
+               return status;
+           }
 
            if (op == CAIRO_OPERATOR_CLEAR) {
                source = NULL;
                op = CAIRO_OPERATOR_DEST_OUT;
            }
-
-           mask_x = -extents->bounded.x;
-           mask_y = -extents->bounded.y;
        }
 
        if (source || mask == NULL) {
@@ -960,6 +1001,10 @@ _cairo_mask_compositor_paint (const cairo_compositor_t *_compositor,
     cairo_boxes_t boxes;
     cairo_int_status_t status;
 
+    status = compositor->check_composite (extents);
+    if (unlikely (status))
+       return status;
+
     _cairo_clip_steal_boxes (extents->clip, &boxes);
     status = clip_and_composite_boxes (compositor, extents, &boxes);
     _cairo_clip_unsteal_boxes (extents->clip, &boxes);
@@ -1210,9 +1255,13 @@ _cairo_mask_compositor_mask (const cairo_compositor_t *_compositor,
     const cairo_mask_compositor_t *compositor = (cairo_mask_compositor_t*)_compositor;
     cairo_int_status_t status = CAIRO_INT_STATUS_UNSUPPORTED;
 
+    status = compositor->check_composite (extents);
+    if (unlikely (status))
+       return status;
+
     if (extents->mask_pattern.base.type == CAIRO_PATTERN_TYPE_SOLID &&
        extents->clip->path == NULL &&
-       _cairo_clip_is_region (extents->clip)) {
+       _cairo_clip_is_region (extents->clip)) {
        status = clip_and_composite (compositor,
                                     composite_opacity_boxes,
                                     composite_opacity_boxes,
@@ -1242,9 +1291,12 @@ _cairo_mask_compositor_stroke (const cairo_compositor_t *_compositor,
     const cairo_mask_compositor_t *compositor = (cairo_mask_compositor_t*)_compositor;
     cairo_surface_t *mask;
     cairo_surface_pattern_t pattern;
-    cairo_int_status_t status;
+    cairo_int_status_t status = CAIRO_INT_STATUS_UNSUPPORTED;
+
+    status = compositor->check_composite (extents);
+    if (unlikely (status))
+       return status;
 
-    status = CAIRO_INT_STATUS_UNSUPPORTED;
     if (_cairo_path_fixed_stroke_is_rectilinear (path)) {
        cairo_boxes_t boxes;
 
@@ -1265,8 +1317,11 @@ _cairo_mask_compositor_stroke (const cairo_compositor_t *_compositor,
                                                   CAIRO_FORMAT_A8,
                                                   extents->bounded.width,
                                                   extents->bounded.height);
-       if (unlikely (mask->status))
-           return mask->status;
+       if (unlikely (mask->status)) {
+           status = mask->status;
+           cairo_surface_destroy (mask);
+           return status;
+       }
 
        status = _cairo_surface_offset_stroke (mask,
                                               extents->bounded.x,
@@ -1311,9 +1366,12 @@ _cairo_mask_compositor_fill (const cairo_compositor_t *_compositor,
     const cairo_mask_compositor_t *compositor = (cairo_mask_compositor_t*)_compositor;
     cairo_surface_t *mask;
     cairo_surface_pattern_t pattern;
-    cairo_int_status_t status;
+    cairo_int_status_t status = CAIRO_INT_STATUS_UNSUPPORTED;
+
+    status = compositor->check_composite (extents);
+    if (unlikely (status))
+       return status;
 
-    status = CAIRO_INT_STATUS_UNSUPPORTED;
     if (_cairo_path_fixed_fill_is_rectilinear (path)) {
        cairo_boxes_t boxes;
 
@@ -1332,8 +1390,11 @@ _cairo_mask_compositor_fill (const cairo_compositor_t *_compositor,
                                                   CAIRO_FORMAT_A8,
                                                   extents->bounded.width,
                                                   extents->bounded.height);
-       if (unlikely (mask->status))
-           return mask->status;
+       if (unlikely (mask->status)) {
+           status = mask->status;
+           cairo_surface_destroy (mask);
+           return status;
+       }
 
        status = _cairo_surface_offset_fill (mask,
                                             extents->bounded.x,
@@ -1374,16 +1435,24 @@ _cairo_mask_compositor_glyphs (const cairo_compositor_t *_compositor,
                               int                       num_glyphs,
                               cairo_bool_t              overlap)
 {
+    const cairo_mask_compositor_t *compositor = (cairo_mask_compositor_t*)_compositor;
     cairo_surface_t *mask;
     cairo_surface_pattern_t pattern;
     cairo_int_status_t status;
 
+    status = compositor->check_composite (extents);
+    if (unlikely (status))
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
     mask = cairo_surface_create_similar_image (extents->surface,
                                               CAIRO_FORMAT_A8,
                                               extents->bounded.width,
                                               extents->bounded.height);
-    if (unlikely (mask->status))
-       return mask->status;
+    if (unlikely (mask->status)) {
+       status = mask->status;
+       cairo_surface_destroy (mask);
+       return status;
+    }
 
     status = _cairo_surface_offset_glyphs (mask,
                                           extents->bounded.x,
diff --git a/src/cairo-mempool-private.h b/src/cairo-mempool-private.h
new file mode 100644 (file)
index 0000000..a09f6ce
--- /dev/null
@@ -0,0 +1,85 @@
+/* Cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2007 Chris Wilson
+ * Copyright © 2009 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Red Hat, Inc.
+ *
+ * Contributors(s):
+ *     Chris Wilson <chris@chris-wilson.co.uk>
+ */
+
+#ifndef CAIRO_MEMPOOL_PRIVATE_H
+#define CAIRO_MEMPOOL_PRIVATE_H
+
+#include "cairo-compiler-private.h"
+#include "cairo-error-private.h"
+
+#include <stddef.h> /* for size_t */
+
+CAIRO_BEGIN_DECLS
+
+typedef struct _cairo_mempool cairo_mempool_t;
+
+struct _cairo_mempool {
+    char *base;
+    struct _cairo_memblock {
+       int bits;
+       cairo_list_t link;
+    } *blocks;
+    cairo_list_t free[32];
+    unsigned char *map;
+
+    unsigned int num_blocks;
+    int min_bits;     /* Minimum block size is 1 << min_bits */
+    int num_sizes;
+    int max_free_bits;
+
+    size_t free_bytes;
+    size_t max_bytes;
+};
+
+cairo_private cairo_status_t
+_cairo_mempool_init (cairo_mempool_t *pool,
+                    void *base,
+                    size_t bytes,
+                    int min_bits,
+                    int num_sizes);
+
+cairo_private void *
+_cairo_mempool_alloc (cairo_mempool_t *pi, size_t bytes);
+
+cairo_private void
+_cairo_mempool_free (cairo_mempool_t *pi, void *storage);
+
+cairo_private void
+_cairo_mempool_fini (cairo_mempool_t *pool);
+
+CAIRO_END_DECLS
+
+#endif /* CAIRO_MEMPOOL_PRIVATE_H */
diff --git a/src/cairo-mempool.c b/src/cairo-mempool.c
new file mode 100644 (file)
index 0000000..96e4a62
--- /dev/null
@@ -0,0 +1,368 @@
+/* Cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2007 Chris Wilson
+ * Copyright © 2009 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipoolent may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Red Hat, Inc.
+ *
+ * Contributors(s):
+ *     Chris Wilson <chris@chris-wilson.co.uk>
+ */
+
+#include "cairoint.h"
+
+#include "cairo-mempool-private.h"
+#include "cairo-list-inline.h"
+
+/* a simple buddy allocator for memory pools
+ * XXX fragmentation? use Doug Lea's malloc?
+ */
+
+#define BITTEST(p, n)  ((p)->map[(n) >> 3] &   (128 >> ((n) & 7)))
+#define BITSET(p, n)   ((p)->map[(n) >> 3] |=  (128 >> ((n) & 7)))
+#define BITCLEAR(p, n) ((p)->map[(n) >> 3] &= ~(128 >> ((n) & 7)))
+
+static void
+clear_bits (cairo_mempool_t *pool, size_t first, size_t last)
+{
+    size_t i, n = last;
+    size_t first_full = (first + 7) & ~7;
+    size_t past_full = last & ~7;
+    size_t bytes;
+
+    if (n > first_full)
+       n = first_full;
+    for (i = first; i < n; i++)
+         BITCLEAR (pool, i);
+
+    if (past_full > first_full) {
+       bytes = past_full - first_full;
+       bytes = bytes >> 3;
+       memset (pool->map + (first_full >> 3), 0, bytes);
+    }
+
+    if (past_full < n)
+       past_full = n;
+    for (i = past_full; i < last; i++)
+       BITCLEAR (pool, i);
+}
+
+static void
+free_bits (cairo_mempool_t *pool, size_t start, int bits, cairo_bool_t clear)
+{
+    struct _cairo_memblock *block;
+
+    if (clear)
+       clear_bits (pool, start, start + (1 << bits));
+
+    block = pool->blocks + start;
+    block->bits = bits;
+
+    cairo_list_add (&block->link, &pool->free[bits]);
+
+    pool->free_bytes += 1 << (bits + pool->min_bits);
+    if (bits > pool->max_free_bits)
+       pool->max_free_bits = bits;
+}
+
+/* Add a chunk to the free list */
+static void
+free_blocks (cairo_mempool_t *pool,
+            size_t first,
+            size_t last,
+            cairo_bool_t clear)
+{
+    size_t i, len;
+    int bits = 0;
+
+    for (i = first, len = 1; i < last; i += len) {
+        /* To avoid cost quadratic in the number of different
+        * blocks produced from this chunk of store, we have to
+        * use the size of the previous block produced from this
+        * chunk as the starting point to work out the size of the
+        * next block we can produce. If you look at the binary
+        * representation of the starting points of the blocks
+        * produced, you can see that you first of all increase the
+        * size of the blocks produced up to some maximum as the
+        * address dealt with gets offsets added on which zap out
+        * low order bits, then decrease as the low order bits of the
+        * final block produced get added in. E.g. as you go from
+        * 001 to 0111 you generate blocks
+        * of size 001 at 001 taking you to 010
+        * of size 010 at 010 taking you to 100
+        * of size 010 at 100 taking you to 110
+        * of size 001 at 110 taking you to 111
+        * So the maximum total cost of the loops below this comment
+        * is one trip from the lowest blocksize to the highest and
+        * back again.
+        */
+       while (bits < pool->num_sizes - 1) {
+           size_t next_bits = bits + 1;
+           size_t next_len = len << 1;
+
+           if (i + next_bits > last) {
+               /* off end of chunk to be freed */
+               break;
+           }
+
+           if (i & (next_len - 1)) /* block would not be on boundary */
+               break;
+
+           bits = next_bits;
+           len = next_len;
+       }
+
+       do {
+           if (i + len <= last && /* off end of chunk to be freed */
+               (i & (len - 1)) == 0) /* block would not be on boundary */
+               break;
+
+           bits--; len >>=1;
+       } while (len);
+
+       if (len == 0)
+           break;
+
+       free_bits (pool, i, bits, clear);
+    }
+}
+
+static struct _cairo_memblock *
+get_buddy (cairo_mempool_t *pool, size_t offset, int bits)
+{
+    struct _cairo_memblock *block;
+
+    assert (offset + (1 << bits) <= pool->num_blocks);
+
+    if (BITTEST (pool, offset + (1 << bits) - 1))
+       return NULL; /* buddy is allocated */
+
+    block = pool->blocks + offset;
+    if (block->bits != bits)
+       return NULL; /* buddy is partially allocated */
+
+    return block;
+}
+
+static void
+merge_buddies (cairo_mempool_t *pool,
+              struct _cairo_memblock *block,
+              int max_bits)
+{
+    size_t block_offset = block - pool->blocks;
+    int bits = block->bits;
+
+    while (bits < max_bits - 1) {
+       /* while you can, merge two blocks and get a legal block size */
+       size_t buddy_offset = block_offset ^ (1 << bits);
+
+       block = get_buddy (pool, buddy_offset, bits);
+       if (block == NULL)
+           break;
+
+       cairo_list_del (&block->link);
+
+       /* Merged block starts at buddy */
+       if (buddy_offset < block_offset)
+           block_offset = buddy_offset;
+
+       bits++;
+    }
+
+    block = pool->blocks + block_offset;
+    block->bits = bits;
+    cairo_list_add (&block->link, &pool->free[bits]);
+
+    if (bits > pool->max_free_bits)
+       pool->max_free_bits = bits;
+}
+
+/* attempt to merge all available buddies up to a particular size */
+static int
+merge_bits (cairo_mempool_t *pool, int max_bits)
+{
+    struct _cairo_memblock *block, *buddy, *next;
+    int bits;
+
+    for (bits = 0; bits < max_bits - 1; bits++) {
+       cairo_list_foreach_entry_safe (block, next,
+                                      struct _cairo_memblock,
+                                      &pool->free[bits],
+                                      link)
+       {
+           size_t buddy_offset = (block - pool->blocks) ^ (1 << bits);
+
+           buddy = get_buddy (pool, buddy_offset, bits);
+           if (buddy == NULL)
+               continue;
+
+           if (buddy == next) {
+               next = cairo_container_of (buddy->link.next,
+                                          struct _cairo_memblock,
+                                          link);
+           }
+
+           cairo_list_del (&block->link);
+           merge_buddies (pool, block, max_bits);
+       }
+    }
+
+    return pool->max_free_bits;
+}
+
+/* find store for 1 << bits blocks */
+static void *
+buddy_malloc (cairo_mempool_t *pool, int bits)
+{
+    size_t past, offset;
+    struct _cairo_memblock *block;
+    int b;
+
+    if (bits > pool->max_free_bits && bits > merge_bits (pool, bits))
+       return NULL;
+
+    /* Find a list with blocks big enough on it */
+    block = NULL;
+    for (b = bits; b <= pool->max_free_bits; b++) {
+       if (! cairo_list_is_empty (&pool->free[b])) {
+           block = cairo_list_first_entry (&pool->free[b],
+                                           struct _cairo_memblock,
+                                           link);
+           break;
+       }
+    }
+    assert (block != NULL);
+
+    cairo_list_del (&block->link);
+
+    while (cairo_list_is_empty (&pool->free[pool->max_free_bits])) {
+       if (--pool->max_free_bits == -1)
+           break;
+    }
+
+    /* Mark end of allocated area */
+    offset = block - pool->blocks;
+    past = offset + (1 << bits);
+    BITSET (pool, past - 1);
+    block->bits = bits;
+
+    /* If we used a larger free block than we needed, free the rest */
+    pool->free_bytes -= 1 << (b + pool->min_bits);
+    free_blocks (pool, past, offset + (1 << b), 0);
+
+    return pool->base + ((block - pool->blocks) << pool->min_bits);
+}
+
+cairo_status_t
+_cairo_mempool_init (cairo_mempool_t *pool,
+                     void *base, size_t bytes,
+                     int min_bits, int num_sizes)
+{
+    unsigned long tmp;
+    int num_blocks;
+    int i;
+
+    /* Align the start to an integral chunk */
+    tmp = ((unsigned long) base) & ((1 << min_bits) - 1);
+    if (tmp) {
+       tmp = (1 << min_bits) - tmp;
+       base = (char *)base + tmp;
+       bytes -= tmp;
+    }
+
+    assert ((((unsigned long) base) & ((1 << min_bits) - 1)) == 0);
+    assert (num_sizes < ARRAY_LENGTH (pool->free));
+
+    pool->base = base;
+    pool->free_bytes = 0;
+    pool->max_bytes = bytes;
+    pool->max_free_bits = -1;
+
+    num_blocks = bytes >> min_bits;
+    pool->blocks = calloc (num_blocks, sizeof (struct _cairo_memblock));
+    if (pool->blocks == NULL)
+       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+    pool->num_blocks = num_blocks;
+    pool->min_bits = min_bits;
+    pool->num_sizes = num_sizes;
+
+    for (i = 0; i < ARRAY_LENGTH (pool->free); i++)
+       cairo_list_init (&pool->free[i]);
+
+    pool->map = malloc ((num_blocks + 7) >> 3);
+    if (pool->map == NULL) {
+       free (pool->blocks);
+       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+    }
+
+    memset (pool->map, -1, (num_blocks + 7) >> 3);
+    clear_bits (pool, 0, num_blocks);
+
+    /* Now add all blocks to the free list */
+    free_blocks (pool, 0, num_blocks, 1);
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+void *
+_cairo_mempool_alloc (cairo_mempool_t *pool, size_t bytes)
+{
+    size_t size;
+    int bits;
+
+    size = 1 << pool->min_bits;
+    for (bits = 0; size < bytes; bits++)
+       size <<= 1;
+    if (bits >= pool->num_sizes)
+       return NULL;
+
+    return buddy_malloc (pool, bits);
+}
+
+void
+_cairo_mempool_free (cairo_mempool_t *pool, void *storage)
+{
+    size_t block_offset;
+    struct _cairo_memblock *block;
+
+    block_offset = ((char *)storage - pool->base) >> pool->min_bits;
+    block = pool->blocks + block_offset;
+
+    BITCLEAR (pool, block_offset + ((1 << block->bits) - 1));
+    pool->free_bytes += 1 << (block->bits + pool->min_bits);
+
+    merge_buddies (pool, block, pool->num_sizes);
+}
+
+void
+_cairo_mempool_fini (cairo_mempool_t *pool)
+{
+    free (pool->map);
+    free (pool->blocks);
+}
index 6f0dd66..5342b3d 100644 (file)
@@ -900,6 +900,10 @@ _cairo_mesh_pattern_rasterize (const cairo_mesh_pattern_t *mesh,
 
     n = _cairo_array_num_elements (&mesh->patches);
     patch = _cairo_array_index_const (&mesh->patches, 0);
+    if (patch == NULL)
+       status = CAIRO_STATUS_NULL_POINTER;
+    assert (status == CAIRO_STATUS_SUCCESS);
+
     for (i = 0; i < n; i++) {
        for (j = 0; j < 4; j++) {
            for (k = 0; k < 4; k++) {
diff --git a/src/cairo-mime-surface.c b/src/cairo-mime-surface.c
deleted file mode 100644 (file)
index e19852f..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright © 2011 Intel Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * The Initial Developer of the Original Code is Red Hat, Inc.
- *
- * Contributor(s):
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/**
- * SECTION:cairo-mime-surface
- * @Title: Callback Surfaces
- * @Short_Description: Allows the user to provide a callback to supply image
- * data upon demand
- * @See_Also: #cairo_surface_t
- *
- * The mime surfaces provide the ability to render from arbitrary sources
- * not necessarily resident nor immediately usable by Cairo. The user is
- * given the ability to insert a placeholder surface which can be used
- * with a pattern and then later supply the actual pixel data upon demand.
- * This deferred source is given both the sample region for the operation
- * along with the destination surface such that they may be taken into
- * account when creating the actual surface to use as the source of pixel
- * data.
- *
- * The reason why it is called the mime surface is two-fold. First it came
- * about as an extension of the mime-data property to handle deferred
- * image decoding when rendering to pixel buffers (as opposed to the pass-
- * through support in PDF and friends.) And then to further rationalise
- * the name, it is a surface that mimics a real source without ever
- * holding onto to any pixels of its own - a mime surface.
- *
- * The mime-surface callback interface consists of 4 functions. The principal
- * pair are the acquire/release callbacks which are called when pixel data
- * is required for an operation (along with the target surface and the sample
- * extents). The callee must supply a surface that covers the sample area and
- * set the actual extents of the returned surface in the output rectangle
- * parameter. The surface does not necessarily have to be an image surface,
- * but it is expected that an image surface is likely to be the most
- * convenient for uploading pixel data. (Use
- * cairo_surface_create_similar_image() to create an image surface that is
- * optimised for uploading to the target.) The release callback is
- * subsequently called when the returned surface is no longer needed (before
- * the operation completes, within the lifetime of the source).
- *
- * The other pair of functions are to aide with lifetime management of the
- * surface with respect to patterns and other users. The destroy callback
- * allows for the caller to cleanup the associated data when the last
- * reference to surface is destroyed. The snapshot callback is triggered
- * when there is an immutable surface pattern referencing the mime-surface
- * and the mime-surface will be be invalidated. (Since the mime-surface is
- * read-only and a reference will be held by the pattern, this can only be
- * triggered through an explicit cairo_surface_finish().) In this
- * circumstance, we need to clone the source in order to preserve the pixel
- * data for later use (i.e. we have recorded the pattern). The snapshot
- * callback provides an interface for the caller to clone the mime-surface
- * in an efficient manner.  The returned surface may be of any type so long
- * as it holds all pixel data and remains accessible.
- */
-
-/**
- * CAIRO_HAS_MIME_SURFACE:
- *
- * Defined if the mime surface backend is available.
- * The mime surface backend is always built in.
- *
- * @Since: 1.12
- */
-
-#include "cairoint.h"
-#include "cairo-error-private.h"
-#include "cairo-image-surface-private.h"
-#include "cairo-surface-backend-private.h"
-
-typedef struct _cairo_mime_surface {
-    cairo_surface_t base;
-
-    cairo_rectangle_int_t extents;
-
-    cairo_mime_surface_acquire_t acquire;
-    cairo_mime_surface_release_t release;
-    cairo_mime_surface_snapshot_t snapshot;
-    cairo_mime_surface_destroy_t destroy;
-
-    /* an explicit pre-allocated member in preference to the general user-data */
-    void *user_data;
-} cairo_mime_surface_t;
-
-static cairo_status_t
-_cairo_mime_surface_finish (void *abstract_surface)
-{
-    cairo_mime_surface_t *surface = abstract_surface;
-
-    if (surface->destroy)
-       surface->destroy (&surface->base, surface->user_data);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_bool_t
-_cairo_mime_surface_get_extents (void                    *abstract_surface,
-                                cairo_rectangle_int_t   *rectangle)
-{
-    cairo_mime_surface_t *surface = abstract_surface;
-
-    *rectangle = surface->extents;
-    return TRUE;
-}
-
-static cairo_status_t
-_cairo_mime_surface_acquire_source_image (void                    *abstract_surface,
-                                         //cairo_surface_t       *target,
-                                         cairo_image_surface_t  **image_out,
-                                         void                   **image_extra)
-{
-    cairo_mime_surface_t *mime = abstract_surface;
-    cairo_surface_t *acquired;
-    cairo_surface_t *dummy_target;
-    cairo_rectangle_int_t extents;
-
-    if (mime->acquire == NULL)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    /* Force the callee to populate the extents rectangle */
-    memset (&extents, 0, sizeof (extents));
-
-    /* Masquerade for a flexible user-interface */
-    dummy_target = _cairo_image_surface_create_with_content (mime->base.content, 0, 0);
-    acquired = mime->acquire (&mime->base, mime->user_data,
-                             dummy_target, &mime->extents, &extents);
-    cairo_surface_destroy (dummy_target);
-
-    if (acquired == NULL)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    /* The callee must have supplied us with all the image data */
-    assert (extents.width == mime->extents.width && extents.height == mime->extents.height);
-
-    if (! _cairo_surface_is_image (acquired)) {
-       cairo_status_t status;
-       void *extra = NULL;
-
-       status = _cairo_surface_acquire_source_image (acquired, image_out, &extra);
-       if (unlikely (status)) {
-           cairo_surface_destroy (acquired);
-           return status;
-       }
-
-       assert (extra == NULL);
-       *image_extra = acquired;
-    } else {
-       *image_out = (cairo_image_surface_t *) acquired;
-       *image_extra = NULL;
-    }
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static void
-_cairo_mime_surface_release_source_image (void                   *abstract_surface,
-                                         cairo_image_surface_t  *image,
-                                         void                   *image_extra)
-{
-    cairo_mime_surface_t *mime = abstract_surface;
-
-    if (image_extra) {
-       cairo_surface_destroy (&image->base);
-       image = image_extra;
-    }
-
-    if (mime->release)
-       mime->release (&mime->base, mime->user_data, &image->base);
-}
-
-static cairo_surface_t *
-_cairo_mime_surface_snapshot (void *abstract_surface)
-{
-    cairo_mime_surface_t *mime = abstract_surface;
-
-    if (mime->snapshot == NULL)
-       return NULL;
-
-    return mime->snapshot (&mime->base, mime->user_data);
-}
-
-static const cairo_surface_backend_t cairo_mime_surface_backend = {
-    CAIRO_SURFACE_TYPE_MIME,
-    _cairo_mime_surface_finish,
-
-    NULL, /* Read-only */
-
-    NULL, /* create similar */
-    NULL, /* create similar image */
-    NULL, /* map to image */
-    NULL, /* unmap image */
-
-    _cairo_mime_surface_acquire_source_image,
-    _cairo_mime_surface_release_source_image,
-    _cairo_mime_surface_snapshot,
-
-    NULL, /* copy_page */
-    NULL, /* show_page */
-
-    _cairo_mime_surface_get_extents,
-    NULL, /* get_font_options */
-
-    NULL, /* flush */
-    NULL, /* mark_dirty_rectangle */
-
-    NULL, /* scaled_font_fini */
-    NULL, /* scaled_glyph_fini */
-
-    NULL, /* paint */
-    NULL, /* mask */
-    NULL, /* stroke */
-    NULL, /* fill */
-    NULL, /* glyphs */
-};
-
-cairo_surface_t *
-cairo_mime_surface_create (void *data, cairo_content_t content, int width, int height)
-{
-    cairo_mime_surface_t *surface;
-
-    if (width < 0 || height < 0)
-       return _cairo_surface_create_in_error (CAIRO_STATUS_INVALID_SIZE);
-
-    if (! CAIRO_CONTENT_VALID (content))
-       return _cairo_surface_create_in_error (CAIRO_STATUS_INVALID_CONTENT);
-
-    surface = calloc (1, sizeof (*surface));
-    if (unlikely (surface == NULL))
-       return _cairo_surface_create_in_error (CAIRO_STATUS_NO_MEMORY);
-
-    _cairo_surface_init (&surface->base,
-                        &cairo_mime_surface_backend,
-                        NULL, /* device */
-                        content);
-
-    surface->extents.x = 0;
-    surface->extents.y = 0;
-    surface->extents.width  = width;
-    surface->extents.height = height;
-
-    surface->user_data = data;
-
-    return &surface->base;
-}
-
-void
-cairo_mime_surface_set_callback_data (cairo_surface_t *surface,
-                                     void *data)
-{
-    cairo_mime_surface_t *mime;
-
-    if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
-       return;
-
-    if (surface->backend != &cairo_mime_surface_backend)
-       return;
-
-    mime = (cairo_mime_surface_t *)surface;
-    mime->user_data = data;
-}
-
-void *
-cairo_mime_surface_get_callback_data (cairo_surface_t *surface)
-{
-    cairo_mime_surface_t *mime;
-
-    if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
-       return NULL;
-
-    if (surface->backend != &cairo_mime_surface_backend)
-       return NULL;
-
-    mime = (cairo_mime_surface_t *)surface;
-    return mime->user_data;
-}
-
-void
-cairo_mime_surface_set_acquire (cairo_surface_t *surface,
-                               cairo_mime_surface_acquire_t acquire,
-                               cairo_mime_surface_release_t release)
-{
-    cairo_mime_surface_t *mime;
-
-    if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
-       return;
-
-    if (surface->backend != &cairo_mime_surface_backend)
-       return;
-
-    mime = (cairo_mime_surface_t *)surface;
-    mime->acquire = acquire;
-    mime->release = release;
-}
-
-void
-cairo_mime_surface_get_acquire (cairo_surface_t *surface,
-                               cairo_mime_surface_acquire_t *acquire,
-                               cairo_mime_surface_release_t *release)
-{
-    cairo_mime_surface_t *mime;
-
-    if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
-       return;
-
-    if (surface->backend != &cairo_mime_surface_backend)
-       return;
-
-    mime = (cairo_mime_surface_t *)surface;
-    if (acquire)
-       *acquire = mime->acquire;
-    if (release)
-       *release = mime->release;
-}
-
-void
-cairo_mime_surface_set_snapshot (cairo_surface_t *surface,
-                                cairo_mime_surface_snapshot_t snapshot)
-{
-    cairo_mime_surface_t *mime;
-
-    if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
-       return;
-
-    if (surface->backend != &cairo_mime_surface_backend)
-       return;
-
-    mime = (cairo_mime_surface_t *)surface;
-    mime->snapshot = snapshot;
-}
-
-cairo_mime_surface_snapshot_t
-cairo_mime_surface_get_snapshot (cairo_surface_t *surface)
-{
-    cairo_mime_surface_t *mime;
-
-    if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
-       return NULL;
-
-    if (surface->backend != &cairo_mime_surface_backend)
-       return NULL;
-
-    mime = (cairo_mime_surface_t *)surface;
-    return mime->snapshot;
-}
-
-void
-cairo_mime_surface_set_destroy (cairo_surface_t *surface,
-                               cairo_mime_surface_destroy_t destroy)
-{
-    cairo_mime_surface_t *mime;
-
-    if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
-       return;
-
-    if (surface->backend != &cairo_mime_surface_backend)
-       return;
-
-    mime = (cairo_mime_surface_t *)surface;
-    mime->destroy = destroy;
-}
-
-cairo_mime_surface_destroy_t
-cairo_mime_surface_get_destroy (cairo_surface_t *surface)
-{
-    cairo_mime_surface_t *mime;
-
-    if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
-       return NULL;
-
-    if (surface->backend != &cairo_mime_surface_backend)
-       return NULL;
-
-    mime = (cairo_mime_surface_t *)surface;
-    return mime->destroy;
-}
index 4016f8e..d79a059 100644 (file)
@@ -34,6 +34,7 @@
 #ifndef CAIRO_FEATURES_H
 /* This block is to just make this header file standalone */
 #define CAIRO_MUTEX_DECLARE(mutex)
+#define CAIRO_RECURSIVE_MUTEX_DECLARE(mutex)
 #endif
 
 CAIRO_MUTEX_DECLARE (_cairo_pattern_solid_surface_cache_lock)
@@ -45,6 +46,11 @@ CAIRO_MUTEX_DECLARE (_cairo_intern_string_mutex)
 CAIRO_MUTEX_DECLARE (_cairo_scaled_font_map_mutex)
 CAIRO_MUTEX_DECLARE (_cairo_scaled_glyph_page_cache_mutex)
 CAIRO_MUTEX_DECLARE (_cairo_scaled_font_error_mutex)
+CAIRO_MUTEX_DECLARE (_cairo_glyph_cache_mutex)
+
+#if CAIRO_HAS_TG_SURFACE
+CAIRO_RECURSIVE_MUTEX_DECLARE(_cairo_tg_scaled_glyph_mutex)
+#endif
 
 #if CAIRO_HAS_FT_FONT
 CAIRO_MUTEX_DECLARE (_cairo_ft_unscaled_font_map_mutex)
index 61a7160..0b806c1 100644 (file)
@@ -59,8 +59,10 @@ cairo_private void _cairo_mutex_finalize (void);
 /* Finally, extern the static mutexes and undef */
 
 #define CAIRO_MUTEX_DECLARE(mutex) cairo_private extern cairo_mutex_t mutex;
+#define CAIRO_RECURSIVE_MUTEX_DECLARE(mutex) cairo_private extern cairo_recursive_mutex_t mutex;
 #include "cairo-mutex-list-private.h"
 #undef CAIRO_MUTEX_DECLARE
+#undef CAIRO_RECURSIVE_MUTEX_DECLARE
 
 CAIRO_END_DECLS
 
index 0a31dce..41d5c73 100644 (file)
 #include "cairo-mutex-private.h"
 
 #define CAIRO_MUTEX_DECLARE(mutex) cairo_mutex_t mutex = CAIRO_MUTEX_NIL_INITIALIZER;
+#define CAIRO_RECURSIVE_MUTEX_DECLARE(mutex) \
+    cairo_recursive_mutex_t mutex = CAIRO_RECURSIVE_MUTEX_NIL_INITIALIZER;
 #include "cairo-mutex-list-private.h"
 #undef   CAIRO_MUTEX_DECLARE
+#undef   CAIRO_RECURSIVE_MUTEX_DECLARE
 
 #if _CAIRO_MUTEX_IMPL_USE_STATIC_INITIALIZER || _CAIRO_MUTEX_IMPL_USE_STATIC_FINALIZER
 
@@ -62,8 +65,10 @@ void _cairo_mutex_initialize (void)
     _cairo_mutex_initialized = TRUE;
 
 #define  CAIRO_MUTEX_DECLARE(mutex) CAIRO_MUTEX_INIT (mutex);
+#define  CAIRO_RECURSIVE_MUTEX_DECLARE(mutex) CAIRO_RECURSIVE_MUTEX_INIT (mutex);
 #include "cairo-mutex-list-private.h"
 #undef   CAIRO_MUTEX_DECLARE
+#undef   CAIRO_RECURSIVE_MUTEX_DECLARE
 }
 #endif
 
@@ -76,7 +81,9 @@ void _cairo_mutex_finalize (void)
     _cairo_mutex_initialized = FALSE;
 
 #define  CAIRO_MUTEX_DECLARE(mutex) CAIRO_MUTEX_FINI (mutex);
+#define  CAIRO_RECURSIVE_MUTEX_DECLARE(mutex) CAIRO_MUTEX_FINI (mutex);
 #include "cairo-mutex-list-private.h"
 #undef   CAIRO_MUTEX_DECLARE
+#undef   CAIRO_RECURSIVE_MUTEX_DECLARE
 }
 #endif
index 19646fb..1ab50f9 100644 (file)
@@ -585,7 +585,7 @@ _cairo_os2_surface_release_source_image (void                  *abstract_surface
     DosReleaseMutexSem (surface->hmtx_use_private_fields);
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_os2_surface_map_to_image (void *abstract_surface,
                                 const cairo_rectangle_int_t *extents)
 {
@@ -596,6 +596,7 @@ _cairo_os2_surface_map_to_image (void *abstract_surface,
     surface->pixel_array_lend_count++;
     DosReleaseMutexSem (local_os2_surface->hmtx_use_private_fields);
 
+    /* XXX: BROKEN! */
     *image_out = _cairo_surface_create_for_rectangle_int (surface->image_surface,
                                                          extents);
 
index cc7e300..facc182 100644 (file)
@@ -696,6 +696,7 @@ _cairo_memory_stream_destroy (cairo_output_stream_t *abstract_stream,
 {
     memory_stream_t *stream;
     cairo_status_t status;
+    void *data;
 
     status = abstract_stream->status;
     if (unlikely (status))
@@ -710,7 +711,14 @@ _cairo_memory_stream_destroy (cairo_output_stream_t *abstract_stream,
        assert (status == CAIRO_STATUS_SUCCESS);
        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
     }
-    memcpy (*data_out, _cairo_array_index (&stream->array, 0), *length_out);
+
+    data = _cairo_array_index (&stream->array, 0);
+    if (data == NULL) {
+       free (*data_out);
+       return _cairo_error (CAIRO_STATUS_NULL_POINTER);
+    }
+
+    memcpy (*data_out, data, *length_out);
 
     return _cairo_output_stream_destroy (abstract_stream);
 }
index fe9ccee..b4580d7 100644 (file)
@@ -130,6 +130,7 @@ _cairo_paginated_surface_create (cairo_surface_t                            *target,
 
   FAIL_CLEANUP_SURFACE:
     cairo_surface_destroy (target);
+    cairo_surface_destroy (surface->recording_surface);
     free (surface);
   FAIL:
     return _cairo_surface_create_in_error (status);
@@ -348,8 +349,10 @@ _paint_page (cairo_paginated_surface_t *surface)
        return surface->target->status;
 
     analysis = _cairo_analysis_surface_create (surface->target);
-    if (unlikely (analysis->status))
-       return _cairo_surface_set_error (surface->target, analysis->status);
+    if (unlikely (analysis->status)) {
+       status = analysis->status;
+       goto FAIL;
+    }
 
     surface->backend->set_paginated_mode (surface->target,
                                          CAIRO_PAGINATED_MODE_ANALYZE);
old mode 100644 (file)
new mode 100755 (executable)
index 9c72224..77f23c8
@@ -135,6 +135,13 @@ _cairo_path_fixed_approximate_fill_extents (const cairo_path_fixed_t *path,
 }
 
 void
+_cairo_path_fixed_approximate_fill_exact_extents (const cairo_path_fixed_t *path,
+                                                 cairo_rectangle_t *extents)
+{
+    _cairo_path_fixed_fill_exact_extents (path, CAIRO_FILL_RULE_WINDING, 0, extents);
+}
+
+void
 _cairo_path_fixed_fill_extents (const cairo_path_fixed_t       *path,
                                cairo_fill_rule_t        fill_rule,
                                double                   tolerance,
@@ -149,6 +156,27 @@ _cairo_path_fixed_fill_extents (const cairo_path_fixed_t   *path,
     }
 }
 
+void
+_cairo_path_fixed_fill_exact_extents (const cairo_path_fixed_t *path,
+                                     cairo_fill_rule_t  fill_rule,
+                                     double                     tolerance,
+                                     cairo_rectangle_t *extents)
+{
+    if (path->extents.p1.x < path->extents.p2.x &&
+       path->extents.p1.y < path->extents.p2.y) {
+       double x1, y1, x2, y2;
+       _cairo_box_to_doubles (&path->extents, &x1, &y1, &x2, &y2);
+
+       extents->x = x1;
+       extents->y = y1;
+       extents->width = x2 - x1;
+       extents->height = y2 - y1;
+    } else {
+       extents->x = extents->y = 0.0;
+       extents->width = extents->height = 0.0;
+    }
+}
+
 /* Adjusts the fill extents (above) by the device-space pen.  */
 void
 _cairo_path_fixed_approximate_stroke_extents (const cairo_path_fixed_t *path,
@@ -175,6 +203,37 @@ _cairo_path_fixed_approximate_stroke_extents (const cairo_path_fixed_t *path,
     }
 }
 
+void
+_cairo_path_fixed_approximate_stroke_exact_extents (const cairo_path_fixed_t *path,
+                                                    const cairo_stroke_style_t *style,
+                                                    const cairo_matrix_t *ctm,
+                                                    cairo_rectangle_t *extents)
+{
+    if (path->has_extents) {
+       cairo_box_t box_extents;
+       double dx, dy;
+       double x1, y1, x2, y2;
+
+       _cairo_stroke_style_max_distance_from_path (style, path, ctm, &dx, &dy);
+
+       box_extents = path->extents;
+       box_extents.p1.x -= _cairo_fixed_from_double (dx);
+       box_extents.p1.y -= _cairo_fixed_from_double (dy);
+       box_extents.p2.x += _cairo_fixed_from_double (dx);
+       box_extents.p2.y += _cairo_fixed_from_double (dy);
+
+       _cairo_box_to_doubles (&box_extents, &x1, &y1, &x2, &y2);
+
+       extents->x = x1;
+       extents->y = y1;
+       extents->width = x2 - x1;
+       extents->height = y2 - y1;
+    } else {
+       extents->x = extents->y = 0.0;
+       extents->width = extents->height = 0.0;
+    }
+}
+
 cairo_status_t
 _cairo_path_fixed_stroke_extents (const cairo_path_fixed_t     *path,
                                  const cairo_stroke_style_t    *stroke_style,
@@ -198,6 +257,35 @@ _cairo_path_fixed_stroke_extents (const cairo_path_fixed_t *path,
     return status;
 }
 
+cairo_status_t
+_cairo_path_fixed_stroke_exact_extents (const cairo_path_fixed_t   *path,
+                                       const cairo_stroke_style_t *style,
+                                       const cairo_matrix_t       *ctm,
+                                       const cairo_matrix_t       *ctm_inverse,
+                                       double                      tolerance,
+                                       cairo_rectangle_t          *extents)
+{
+    cairo_polygon_t polygon;
+    cairo_status_t status;
+    double x1, x2, y1, y2;
+
+    _cairo_polygon_init (&polygon, NULL, 0);
+    status = _cairo_path_fixed_stroke_to_polygon (path,
+                                                 style,
+                                                 ctm, ctm_inverse,
+                                                 tolerance,
+                                                 &polygon);
+    _cairo_box_to_doubles (&polygon.extents, &x1, &y1, &x2, &y2);
+    _cairo_polygon_fini (&polygon);
+
+    extents->x = x1;
+    extents->y = y1;
+    extents->width = x2 - x1;
+    extents->height = y2 - y1;
+
+    return status;
+}
+
 cairo_bool_t
 _cairo_path_fixed_extents (const cairo_path_fixed_t *path,
                           cairo_box_t *box)
index 7719383..b38c2a8 100644 (file)
@@ -340,62 +340,3 @@ _cairo_path_fixed_fill_rectilinear_to_boxes (const cairo_path_fixed_t *path,
                                                                   boxes);
 }
 
-cairo_status_t
-_cairo_path_fixed_fill_rectilinear_to_traps (const cairo_path_fixed_t *path,
-                                            cairo_fill_rule_t        fill_rule,
-                                            cairo_antialias_t        antialias,
-                                            cairo_traps_t            *traps)
-{
-    cairo_box_t box;
-    cairo_status_t status;
-
-    traps->is_rectilinear = TRUE;
-    traps->is_rectangular = TRUE;
-
-    if (_cairo_path_fixed_is_box (path, &box)) {
-       if (antialias == CAIRO_ANTIALIAS_NONE) {
-           box.p1.x = _cairo_fixed_round_down (box.p1.x);
-           box.p1.y = _cairo_fixed_round_down (box.p1.y);
-           box.p2.x = _cairo_fixed_round_down (box.p2.x);
-           box.p2.y = _cairo_fixed_round_down (box.p2.y);
-       }
-       return _cairo_traps_tessellate_rectangle (traps, &box.p1, &box.p2);
-    } else {
-       cairo_path_fixed_iter_t iter;
-
-       _cairo_path_fixed_iter_init (&iter, path);
-       while (_cairo_path_fixed_iter_is_fill_box (&iter, &box)) {
-           if (box.p1.y > box.p2.y) {
-               cairo_fixed_t t;
-
-               t = box.p1.y;
-               box.p1.y = box.p2.y;
-               box.p2.y = t;
-
-               t = box.p1.x;
-               box.p1.x = box.p2.x;
-               box.p2.x = t;
-           }
-
-           if (antialias == CAIRO_ANTIALIAS_NONE) {
-               box.p1.x = _cairo_fixed_round_down (box.p1.x);
-               box.p1.y = _cairo_fixed_round_down (box.p1.y);
-               box.p2.x = _cairo_fixed_round_down (box.p2.x);
-               box.p2.y = _cairo_fixed_round_down (box.p2.y);
-           }
-
-           status = _cairo_traps_tessellate_rectangle (traps,
-                                                       &box.p1, &box.p2);
-           if (unlikely (status)) {
-               _cairo_traps_clear (traps);
-               return status;
-           }
-       }
-
-       if (_cairo_path_fixed_iter_at_end (&iter))
-           return _cairo_bentley_ottmann_tessellate_rectangular_traps (traps, fill_rule);
-
-       _cairo_traps_clear (traps);
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-    }
-}
index 9b7b403..cf7cd08 100644 (file)
@@ -59,6 +59,20 @@ typedef char cairo_path_op_t;
 #define CAIRO_PATH_BUF_SIZE ((512 - sizeof (cairo_path_buf_t)) \
                           / (2 * sizeof (cairo_point_t) + sizeof (cairo_path_op_t)))
 
+#define cairo_path_head(path__) (&(path__)->buf.base)
+#define cairo_path_tail(path__) cairo_path_buf_prev (cairo_path_head (path__))
+
+#define cairo_path_buf_next(pos__) \
+    cairo_list_entry ((pos__)->link.next, cairo_path_buf_t, link)
+#define cairo_path_buf_prev(pos__) \
+    cairo_list_entry ((pos__)->link.prev, cairo_path_buf_t, link)
+
+#define cairo_path_foreach_buf_start(pos__, path__) \
+    pos__ = cairo_path_head (path__); do
+#define cairo_path_foreach_buf_end(pos__, path__) \
+    while ((pos__ = cairo_path_buf_next (pos__)) !=  cairo_path_head (path__))
+
+
 typedef struct _cairo_path_buf {
     cairo_list_t link;
     unsigned int num_ops;
@@ -186,4 +200,7 @@ cairo_private cairo_bool_t
 _cairo_path_fixed_is_stroke_box (const cairo_path_fixed_t *path,
                                 cairo_box_t *box);
 
+cairo_private cairo_bool_t
+_cairo_path_fixed_is_simple_quad (const cairo_path_fixed_t *path);
+
 #endif /* CAIRO_PATH_FIXED_PRIVATE_H */
index 459c680..2c19881 100644 (file)
@@ -69,19 +69,6 @@ _cairo_path_buf_add_points (cairo_path_buf_t       *buf,
                            const cairo_point_t    *points,
                            int                     num_points);
 
-#define cairo_path_head(path__) (&(path__)->buf.base)
-#define cairo_path_tail(path__) cairo_path_buf_prev (cairo_path_head (path__))
-
-#define cairo_path_buf_next(pos__) \
-    cairo_list_entry ((pos__)->link.next, cairo_path_buf_t, link)
-#define cairo_path_buf_prev(pos__) \
-    cairo_list_entry ((pos__)->link.prev, cairo_path_buf_t, link)
-
-#define cairo_path_foreach_buf_start(pos__, path__) \
-    pos__ = cairo_path_head (path__); do
-#define cairo_path_foreach_buf_end(pos__, path__) \
-    while ((pos__ = cairo_path_buf_next (pos__)) !=  cairo_path_head (path__))
-
 void
 _cairo_path_fixed_init (cairo_path_fixed_t *path)
 {
@@ -419,6 +406,7 @@ _cairo_path_fixed_move_to (cairo_path_fixed_t  *path,
     path->has_current_point = TRUE;
     path->current_point.x = x;
     path->current_point.y = y;
+    path->last_move_point = path->current_point;
 
     return CAIRO_STATUS_SUCCESS;
 }
@@ -1218,18 +1206,11 @@ _canonical_box (cairo_box_t *box,
     }
 }
 
-/*
- * Check whether the given path contains a single rectangle.
- */
-cairo_bool_t
-_cairo_path_fixed_is_box (const cairo_path_fixed_t *path,
-                         cairo_box_t *box)
+static inline cairo_bool_t
+_path_is_quad (const cairo_path_fixed_t *path)
 {
     const cairo_path_buf_t *buf = cairo_path_head (path);
 
-    if (! path->fill_is_rectilinear)
-       return FALSE;
-
     /* Do we have the right number of ops? */
     if (buf->num_ops < 4 || buf->num_ops > 6)
        return FALSE;
@@ -1264,22 +1245,87 @@ _cairo_path_fixed_is_box (const cairo_path_fixed_t *path,
        }
     }
 
-    /* Ok, we may have a box, if the points line up */
-    if (buf->points[0].y == buf->points[1].y &&
-       buf->points[1].x == buf->points[2].x &&
-       buf->points[2].y == buf->points[3].y &&
-       buf->points[3].x == buf->points[0].x)
-    {
+    return TRUE;
+}
+
+static inline cairo_bool_t
+_points_form_rect (const cairo_point_t *points)
+{
+    if (points[0].y == points[1].y &&
+       points[1].x == points[2].x &&
+       points[2].y == points[3].y &&
+       points[3].x == points[0].x)
+       return TRUE;
+    if (points[0].x == points[1].x &&
+       points[1].y == points[2].y &&
+       points[2].x == points[3].x &&
+       points[3].y == points[0].y)
+       return TRUE;
+    return FALSE;
+}
+
+/*
+ * Check whether the given path contains a single rectangle.
+ */
+cairo_bool_t
+_cairo_path_fixed_is_box (const cairo_path_fixed_t *path,
+                         cairo_box_t *box)
+{
+    const cairo_path_buf_t *buf;
+
+    if (! path->fill_is_rectilinear)
+       return FALSE;
+
+    if (! _path_is_quad (path))
+       return FALSE;
+
+    buf = cairo_path_head (path);
+    if (_points_form_rect (buf->points)) {
        _canonical_box (box, &buf->points[0], &buf->points[2]);
        return TRUE;
     }
 
-    if (buf->points[0].x == buf->points[1].x &&
-       buf->points[1].y == buf->points[2].y &&
-       buf->points[2].x == buf->points[3].x &&
-       buf->points[3].y == buf->points[0].y)
-    {
-       _canonical_box (box, &buf->points[0], &buf->points[2]);
+    return FALSE;
+}
+
+/* Determine whether two lines A->B and C->D intersect based on the 
+ * algorithm described here: http://paulbourke.net/geometry/lineline2d/ */
+static inline cairo_bool_t
+_lines_intersect_or_are_coincident (cairo_point_t a,
+                                   cairo_point_t b,
+                                   cairo_point_t c,
+                                   cairo_point_t d)
+{
+    cairo_int64_t numerator_a, numerator_b, denominator;
+
+    denominator = _cairo_int64_sub (_cairo_int32x32_64_mul (d.y - c.y, b.x - a.x),
+                                   _cairo_int32x32_64_mul (d.x - c.x, b.y - a.y));
+    numerator_a = _cairo_int64_sub (_cairo_int32x32_64_mul (d.x - c.x, a.y - c.y),
+                                   _cairo_int32x32_64_mul (d.y - c.y, a.x - c.x));
+    numerator_b = _cairo_int64_sub (_cairo_int32x32_64_mul (b.x - a.x, a.y - c.y),
+                                   _cairo_int32x32_64_mul (b.y - a.y, a.x - c.x));
+
+    if (_cairo_int64_is_zero (denominator)) {
+       /* If the denominator and numerators are both zero,
+        * the lines are coincident. */
+       if (_cairo_int64_is_zero (numerator_a) && _cairo_int64_is_zero (numerator_b))
+           return TRUE;
+
+       /* Otherwise, a zero denominator indicates the lines are
+       *  parallel and never intersect. */
+       return FALSE;
+    }
+
+    /* If either division would produce a number between 0 and 1, i.e.
+     * the numerator is smaller than the denominator and their signs are
+     * the same, then the lines intersect. */
+    if (_cairo_int64_lt (numerator_a, denominator) &&
+       ! (_cairo_int64_negative (numerator_a) ^ _cairo_int64_negative(denominator))) {
+       return TRUE;
+    }
+
+    if (_cairo_int64_lt (numerator_b, denominator) &&
+       ! (_cairo_int64_negative (numerator_b) ^ _cairo_int64_negative(denominator))) {
        return TRUE;
     }
 
@@ -1287,6 +1333,29 @@ _cairo_path_fixed_is_box (const cairo_path_fixed_t *path,
 }
 
 cairo_bool_t
+_cairo_path_fixed_is_simple_quad (const cairo_path_fixed_t *path)
+{
+    const cairo_point_t *points;
+
+    if (! _path_is_quad (path))
+       return FALSE;
+
+    points = cairo_path_head (path)->points;
+    if (_points_form_rect (points))
+       return TRUE;
+
+    if (_lines_intersect_or_are_coincident (points[0], points[1],
+                                           points[3], points[2]))
+       return FALSE;
+
+    if (_lines_intersect_or_are_coincident (points[0], points[3],
+                                           points[1], points[2]))
+       return FALSE;
+
+    return TRUE;
+}
+
+cairo_bool_t
 _cairo_path_fixed_is_stroke_box (const cairo_path_fixed_t *path,
                                 cairo_box_t *box)
 {
@@ -1370,6 +1439,34 @@ _cairo_path_fixed_iter_init (cairo_path_fixed_iter_t *iter,
     iter->n_point = 0;
 }
 
+cairo_bool_t
+_cairo_path_fixed_is_single_line (const cairo_path_fixed_t *path)
+{
+    const cairo_path_buf_t *buf = cairo_path_head (path);
+
+    if (buf->num_ops > 2)
+       return FALSE;
+    if (buf->num_ops <= 1)
+       return TRUE;
+
+    return buf->op[0] == CAIRO_PATH_OP_MOVE_TO &&
+       buf->op[1] == CAIRO_PATH_OP_LINE_TO;
+}
+
+cairo_bool_t
+_cairo_path_fixed_is_single_arc (const cairo_path_fixed_t *path)
+{
+    const cairo_path_buf_t *buf = cairo_path_head (path);
+    if (buf->num_ops > 2)
+       return FALSE;
+
+    if (buf->op[0] != CAIRO_PATH_OP_MOVE_TO ||
+       buf->op[1] != CAIRO_PATH_OP_CURVE_TO)
+       return FALSE;
+
+    return TRUE;
+}
+
 static cairo_bool_t
 _cairo_path_fixed_iter_next_op (cairo_path_fixed_iter_t *iter)
 {
index 50c53f3..7f25bf7 100644 (file)
@@ -203,7 +203,7 @@ _cairo_rectilinear_stroker_emit_segments (cairo_rectilinear_stroker_t *stroker)
     cairo_fixed_t half_line_x = stroker->half_line_x;
     cairo_fixed_t half_line_y = stroker->half_line_y;
     cairo_status_t status;
-    int i;
+    int i, j;
 
     /* For each segment we generate a single rectangle.
      * This rectangle is based on a perpendicular extension (by half the
@@ -221,20 +221,24 @@ _cairo_rectilinear_stroker_emit_segments (cairo_rectilinear_stroker_t *stroker)
        /* We adjust the initial point of the segment to extend the
         * rectangle to include the previous cap or join, (this
         * adjustment applies to all segments except for the first
-        * segment of open, butt-capped paths).
+        * segment of open, butt-capped paths). However, we must be
+        * careful not to emit a miter join across a degenerate segment
+        * which has been elided.
         *
         * Overlapping segments will be eliminated by the tessellation.
         * Ideally, we would not emit these self-intersections at all,
         * but that is tricky with segments shorter than half_line_width.
         */
-       lengthen_initial = TRUE;
-       lengthen_final = TRUE;
-       if (stroker->open_sub_path && line_cap == CAIRO_LINE_CAP_BUTT) {
+       j = i == 0 ? stroker->num_segments - 1 : i-1;
+       lengthen_initial = (stroker->segments[i].flags ^ stroker->segments[j].flags) & HORIZONTAL;
+       j = i == stroker->num_segments - 1 ? 0 : i+1;
+       lengthen_final = (stroker->segments[i].flags ^ stroker->segments[j].flags) & HORIZONTAL;
+       if (stroker->open_sub_path) {
            if (i == 0)
-               lengthen_initial = FALSE;
+               lengthen_initial = line_cap != CAIRO_LINE_CAP_BUTT;
 
            if (i == stroker->num_segments - 1)
-               lengthen_final = FALSE;
+               lengthen_final = line_cap != CAIRO_LINE_CAP_BUTT;
        }
 
        /* Perform the adjustments of the endpoints. */
index 88527f5..b62ddfb 100644 (file)
@@ -67,6 +67,8 @@ struct stroker {
     const cairo_matrix_t *ctm;
     const cairo_matrix_t *ctm_inverse;
     double tolerance;
+    double spline_cusp_tolerance;
+    double half_line_width;
     cairo_bool_t ctm_det_positive;
 
     cairo_pen_t pen;
@@ -80,6 +82,9 @@ struct stroker {
 
     cairo_bool_t has_first_face;
     cairo_stroke_face_t first_face;
+
+    cairo_bool_t has_bounds;
+    cairo_box_t bounds;
 };
 
 static inline double
@@ -157,71 +162,42 @@ add_fan (struct stroker *stroker,
         const cairo_slope_t *in_vector,
         const cairo_slope_t *out_vector,
         const cairo_point_t *midpt,
-        const cairo_point_t *inpt,
-        const cairo_point_t *outpt,
         cairo_bool_t clockwise,
         struct stroke_contour *c)
 {
-    int start, stop, step, i, npoints;
+    cairo_pen_t *pen = &stroker->pen;
+    int start, stop;
+
+    if (stroker->has_bounds &&
+       ! _cairo_box_contains_point (&stroker->bounds, midpt))
+       return;
 
     assert (stroker->pen.num_vertices);
 
     if (clockwise) {
-       step  = 1;
-
-       start = _cairo_pen_find_active_cw_vertex_index (&stroker->pen,
-                                                       in_vector);
-       if (_cairo_slope_compare (&stroker->pen.vertices[start].slope_cw,
-                                 in_vector) < 0)
-           start = range_step (start, 1, stroker->pen.num_vertices);
-
-       stop  = _cairo_pen_find_active_cw_vertex_index (&stroker->pen,
-                                                       out_vector);
-       if (_cairo_slope_compare (&stroker->pen.vertices[stop].slope_ccw,
-                                 out_vector) > 0)
-       {
-           stop = range_step (stop, -1, stroker->pen.num_vertices);
-           if (_cairo_slope_compare (&stroker->pen.vertices[stop].slope_cw,
-                                     in_vector) < 0)
-               return;
+       _cairo_pen_find_active_cw_vertices (pen,
+                                           in_vector, out_vector,
+                                           &start, &stop);
+       while (start != stop) {
+           cairo_point_t p = *midpt;
+           translate_point (&p, &pen->vertices[start].point);
+           contour_add_point (stroker, c, &p);
+
+           if (++start == pen->num_vertices)
+               start = 0;
        }
-
-       npoints = stop - start;
     } else {
-       step  = -1;
-
-       start = _cairo_pen_find_active_ccw_vertex_index (&stroker->pen,
-                                                        in_vector);
-       if (_cairo_slope_compare (&stroker->pen.vertices[start].slope_ccw,
-                                 in_vector) < 0)
-           start = range_step (start, -1, stroker->pen.num_vertices);
-
-       stop  = _cairo_pen_find_active_ccw_vertex_index (&stroker->pen,
-                                                        out_vector);
-       if (_cairo_slope_compare (&stroker->pen.vertices[stop].slope_cw,
-                                 out_vector) > 0)
-       {
-           stop = range_step (stop, 1, stroker->pen.num_vertices);
-           if (_cairo_slope_compare (&stroker->pen.vertices[stop].slope_ccw,
-                                     in_vector) < 0)
-               return;
+       _cairo_pen_find_active_ccw_vertices (pen,
+                                            in_vector, out_vector,
+                                            &start, &stop);
+       while (start != stop) {
+           cairo_point_t p = *midpt;
+           translate_point (&p, &pen->vertices[start].point);
+           contour_add_point (stroker, c, &p);
+
+           if (start-- == 0)
+               start += pen->num_vertices;
        }
-
-       npoints = start - stop;
-    }
-    stop = range_step (stop, step, stroker->pen.num_vertices);
-    if (npoints < 0)
-       npoints += stroker->pen.num_vertices;
-    if (npoints <= 1)
-       return;
-
-    for (i = start;
-        i != stop;
-       i = range_step (i, step, stroker->pen.num_vertices))
-    {
-       cairo_point_t p = *midpt;
-       translate_point (&p, &stroker->pen.vertices[i].point);
-       contour_add_point (stroker, c, &p);
     }
 }
 
@@ -403,6 +379,7 @@ outer_close (struct stroker *stroker,
     {
        return;
     }
+
     clockwise = join_is_clockwise (in, out);
     if (clockwise) {
        inpt = &in->cw;
@@ -423,18 +400,20 @@ outer_close (struct stroker *stroker,
     switch (stroker->style.line_join) {
     case CAIRO_LINE_JOIN_ROUND:
        /* construct a fan around the common midpoint */
-       add_fan (stroker,
-                &in->dev_vector,
-                &out->dev_vector,
-                &in->point, inpt, outpt,
-                clockwise, outer);
-       break;
+       if ((in->dev_slope.x * out->dev_slope.x +
+            in->dev_slope.y * out->dev_slope.y) < stroker->spline_cusp_tolerance)
+       {
+           add_fan (stroker,
+                    &in->dev_vector, &out->dev_vector, &in->point,
+                    clockwise, outer);
+           break;
+       }
 
     case CAIRO_LINE_JOIN_MITER:
     default: {
        /* dot product of incoming slope vector with outgoing slope vector */
-       double  in_dot_out = -in->usr_vector.x * out->usr_vector.x +
-                            -in->usr_vector.y * out->usr_vector.y;
+       double  in_dot_out = in->dev_slope.x * out->dev_slope.x +
+                            in->dev_slope.y * out->dev_slope.y;
        double  ml = stroker->style.miter_limit;
 
        /* Check the miter limit -- lines meeting at an acute angle
@@ -494,7 +473,7 @@ outer_close (struct stroker *stroker,
         *      2 <= ml² (1 - in · out)
         *
         */
-       if (2 <= ml * ml * (1 - in_dot_out)) {
+       if (2 <= ml * ml * (1 + in_dot_out)) {
            double              x1, y1, x2, y2;
            double              mx, my;
            double              dx1, dx2, dy1, dy2;
@@ -511,16 +490,14 @@ outer_close (struct stroker *stroker,
            /* outer point of incoming line face */
            x1 = _cairo_fixed_to_double (inpt->x);
            y1 = _cairo_fixed_to_double (inpt->y);
-           dx1 = in->usr_vector.x;
-           dy1 = in->usr_vector.y;
-           cairo_matrix_transform_distance (stroker->ctm, &dx1, &dy1);
+           dx1 = in->dev_slope.x;
+           dy1 = in->dev_slope.y;
 
            /* outer point of outgoing line face */
            x2 = _cairo_fixed_to_double (outpt->x);
            y2 = _cairo_fixed_to_double (outpt->y);
-           dx2 = out->usr_vector.x;
-           dy2 = out->usr_vector.y;
-           cairo_matrix_transform_distance (stroker->ctm, &dx2, &dy2);
+           dx2 = out->dev_slope.x;
+           dy2 = out->dev_slope.y;
 
            /*
             * Compute the location of the outer corner of the miter.
@@ -612,17 +589,15 @@ outer_join (struct stroker *stroker,
     case CAIRO_LINE_JOIN_ROUND:
        /* construct a fan around the common midpoint */
        add_fan (stroker,
-                &in->dev_vector,
-                &out->dev_vector,
-                &in->point, inpt, outpt,
+                &in->dev_vector, &out->dev_vector, &in->point,
                 clockwise, outer);
        break;
 
     case CAIRO_LINE_JOIN_MITER:
     default: {
        /* dot product of incoming slope vector with outgoing slope vector */
-       double  in_dot_out = -in->usr_vector.x * out->usr_vector.x +
-                            -in->usr_vector.y * out->usr_vector.y;
+       double  in_dot_out = in->dev_slope.x * out->dev_slope.x +
+                            in->dev_slope.y * out->dev_slope.y;
        double  ml = stroker->style.miter_limit;
 
        /* Check the miter limit -- lines meeting at an acute angle
@@ -682,7 +657,7 @@ outer_join (struct stroker *stroker,
         *      2 <= ml² (1 - in · out)
         *
         */
-       if (2 <= ml * ml * (1 - in_dot_out)) {
+       if (2 <= ml * ml * (1 + in_dot_out)) {
            double              x1, y1, x2, y2;
            double              mx, my;
            double              dx1, dx2, dy1, dy2;
@@ -699,16 +674,14 @@ outer_join (struct stroker *stroker,
            /* outer point of incoming line face */
            x1 = _cairo_fixed_to_double (inpt->x);
            y1 = _cairo_fixed_to_double (inpt->y);
-           dx1 = in->usr_vector.x;
-           dy1 = in->usr_vector.y;
-           cairo_matrix_transform_distance (stroker->ctm, &dx1, &dy1);
+           dx1 = in->dev_slope.x;
+           dy1 = in->dev_slope.y;
 
            /* outer point of outgoing line face */
            x2 = _cairo_fixed_to_double (outpt->x);
            y2 = _cairo_fixed_to_double (outpt->y);
-           dx2 = out->usr_vector.x;
-           dy2 = out->usr_vector.y;
-           cairo_matrix_transform_distance (stroker->ctm, &dx2, &dy2);
+           dx2 = out->dev_slope.x;
+           dy2 = out->dev_slope.y;
 
            /*
             * Compute the location of the outer corner of the miter.
@@ -783,34 +756,30 @@ add_cap (struct stroker *stroker,
        slope.dx = -f->dev_vector.dx;
        slope.dy = -f->dev_vector.dy;
 
-       add_fan (stroker, &f->dev_vector, &slope,
-                &f->point, &f->ccw, &f->cw,
-                FALSE, c);
+       add_fan (stroker, &f->dev_vector, &slope, &f->point, FALSE, c);
        break;
     }
 
     case CAIRO_LINE_CAP_SQUARE: {
+       cairo_slope_t fvector;
+       cairo_point_t p;
        double dx, dy;
-       cairo_slope_t   fvector;
-       cairo_point_t   quad[4];
 
        dx = f->usr_vector.x;
        dy = f->usr_vector.y;
-       dx *= stroker->style.line_width / 2.0;
-       dy *= stroker->style.line_width / 2.0;
+       dx *= stroker->half_line_width;
+       dy *= stroker->half_line_width;
        cairo_matrix_transform_distance (stroker->ctm, &dx, &dy);
        fvector.dx = _cairo_fixed_from_double (dx);
        fvector.dy = _cairo_fixed_from_double (dy);
 
-       quad[0] = f->ccw;
-       quad[1].x = f->ccw.x + fvector.dx;
-       quad[1].y = f->ccw.y + fvector.dy;
-       quad[2].x = f->cw.x + fvector.dx;
-       quad[2].y = f->cw.y + fvector.dy;
-       quad[3] = f->cw;
+       p.x = f->ccw.x + fvector.dx;
+       p.y = f->ccw.y + fvector.dy;
+       contour_add_point (stroker, c, &p);
 
-       contour_add_point (stroker, c, &quad[1]);
-       contour_add_point (stroker, c, &quad[2]);
+       p.x = f->cw.x + fvector.dx;
+       p.y = f->cw.y + fvector.dy;
+       contour_add_point (stroker, c, &p);
     }
 
     case CAIRO_LINE_CAP_BUTT:
@@ -915,22 +884,19 @@ compute_face (const cairo_point_t *point,
                                         &slope_dx, &slope_dy);
        normalize_slope (&slope_dx, &slope_dy);
 
-       if (stroker->ctm_det_positive)
-       {
-           face_dx = - slope_dy * (stroker->style.line_width / 2.0);
-           face_dy = slope_dx * (stroker->style.line_width / 2.0);
-       }
-       else
-       {
-           face_dx = slope_dy * (stroker->style.line_width / 2.0);
-           face_dy = - slope_dx * (stroker->style.line_width / 2.0);
+       if (stroker->ctm_det_positive) {
+           face_dx = - slope_dy * stroker->half_line_width;
+           face_dy = slope_dx * stroker->half_line_width;
+       } else {
+           face_dx = slope_dy * stroker->half_line_width;
+           face_dy = - slope_dx * stroker->half_line_width;
        }
 
        /* back to device space */
        cairo_matrix_transform_distance (stroker->ctm, &face_dx, &face_dy);
     } else {
-       face_dx = - slope_dy * (stroker->style.line_width / 2.0);
-       face_dy = slope_dx * (stroker->style.line_width / 2.0);
+       face_dx = - slope_dy * stroker->half_line_width;
+       face_dy = slope_dx * stroker->half_line_width;
     }
 
     offset_ccw.x = _cairo_fixed_from_double (face_dx);
@@ -1116,7 +1082,7 @@ spline_to (void *closure,
 #if DEBUG
     _cairo_contour_add_point (&stroker->path, point);
 #endif
-    if (tangent->dx == 0 && tangent->dy == 0) {
+    if ((tangent->dx | tangent->dy) == 0) {
        const cairo_point_t *inpt, *outpt;
        struct stroke_contour *outer;
        cairo_point_t t;
@@ -1147,13 +1113,13 @@ spline_to (void *closure,
        add_fan (stroker,
                 &stroker->current_face.dev_vector,
                 &face.dev_vector,
-                &stroker->current_face.point, inpt, outpt,
+                &stroker->current_face.point,
                 clockwise, outer);
     } else {
        compute_face (point, tangent, stroker, &face);
 
-       if (face.dev_slope.x * stroker->current_face.dev_slope.x +
-           face.dev_slope.y * stroker->current_face.dev_slope.y < 0)
+       if ((face.dev_slope.x * stroker->current_face.dev_slope.x +
+            face.dev_slope.y * stroker->current_face.dev_slope.y) < stroker->spline_cusp_tolerance)
        {
            const cairo_point_t *inpt, *outpt;
            struct stroke_contour *outer;
@@ -1179,7 +1145,7 @@ spline_to (void *closure,
            add_fan (stroker,
                     &stroker->current_face.dev_vector,
                     &face.dev_vector,
-                    &stroker->current_face.point, inpt, outpt,
+                    &stroker->current_face.point,
                     clockwise, outer);
        }
 
@@ -1202,6 +1168,11 @@ curve_to (void *closure,
     cairo_spline_t spline;
     cairo_stroke_face_t face;
 
+    if (stroker->has_bounds &&
+       ! _cairo_spline_intersects (&stroker->current_face.point, b, c, d,
+                                   &stroker->bounds))
+       return line_to (closure, d);
+
     if (! _cairo_spline_init (&spline, spline_to, stroker,
                              &stroker->current_face.point, b, c, d))
        return line_to (closure, d);
@@ -1300,11 +1271,47 @@ _cairo_path_fixed_stroke_to_polygon (const cairo_path_fixed_t   *path,
                                                           polygon);
     }
 
+    stroker.has_bounds = polygon->num_limits;
+    if (stroker.has_bounds) {
+       /* Extend the bounds in each direction to account for the maximum area
+        * we might generate trapezoids, to capture line segments that are
+        * outside of the bounds but which might generate rendering that's
+        * within bounds.
+        */
+       double dx, dy;
+       cairo_fixed_t fdx, fdy;
+       int i;
+
+       stroker.bounds = polygon->limits[0];
+       for (i = 1; i < polygon->num_limits; i++)
+            _cairo_box_add_box (&stroker.bounds, &polygon->limits[i]);
+
+       _cairo_stroke_style_max_distance_from_path (style, path, ctm, &dx, &dy);
+       fdx = _cairo_fixed_from_double (dx);
+       fdy = _cairo_fixed_from_double (dy);
+
+       stroker.bounds.p1.x -= fdx;
+       stroker.bounds.p2.x += fdx;
+       stroker.bounds.p1.y -= fdy;
+       stroker.bounds.p2.y += fdy;
+    }
+
     stroker.style = *style;
     stroker.ctm = ctm;
     stroker.ctm_inverse = ctm_inverse;
     stroker.tolerance = tolerance;
-
+    stroker.half_line_width = style->line_width / 2.;
+    /* To test whether we need to join two segments of a spline using
+     * a round-join or a bevel-join, we can inspect the angle between the
+     * two segments. If the difference between the chord distance
+     * (half-line-width times the cosine of the bisection angle) and the
+     * half-line-width itself is greater than tolerance then we need to
+     * inject a point.
+     */
+    stroker.spline_cusp_tolerance = 1 - tolerance / stroker.half_line_width;
+    stroker.spline_cusp_tolerance *= stroker.spline_cusp_tolerance;
+    stroker.spline_cusp_tolerance *= 2;
+    stroker.spline_cusp_tolerance -= 1;
     stroker.ctm_det_positive =
        _cairo_matrix_compute_determinant (ctm) >= 0.0;
 
@@ -1313,15 +1320,18 @@ _cairo_path_fixed_stroke_to_polygon (const cairo_path_fixed_t   *path,
        style->line_join == CAIRO_LINE_JOIN_ROUND ||
        style->line_cap == CAIRO_LINE_CAP_ROUND) {
        status = _cairo_pen_init (&stroker.pen,
-                                 style->line_width / 2.0,
+                                 stroker.half_line_width,
                                  tolerance, ctm);
        if (unlikely (status))
            return status;
 
        /* If the line width is so small that the pen is reduced to a
           single point, then we have nothing to do. */
-       if (stroker.pen.num_vertices <= 1)
+       if (stroker.pen.num_vertices <= 1) {
+           if (stroker.pen.num_vertices)
+               _cairo_pen_fini (&stroker.pen);
            return CAIRO_STATUS_SUCCESS;
+        }
     }
 
     stroker.has_current_face = FALSE;
diff --git a/src/cairo-path-stroke-traps.c b/src/cairo-path-stroke-traps.c
new file mode 100644 (file)
index 0000000..f953214
--- /dev/null
@@ -0,0 +1,1127 @@
+/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2002 University of Southern California
+ * Copyright © 2013 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is University of Southern
+ * California.
+ *
+ * Contributor(s):
+ *     Carl D. Worth <cworth@cworth.org>
+ *     Chris Wilson <chris@chris-wilson.co.uk>
+ */
+
+#include "cairoint.h"
+
+#include "cairo-box-inline.h"
+#include "cairo-path-fixed-private.h"
+#include "cairo-slope-private.h"
+#include "cairo-stroke-dash-private.h"
+#include "cairo-traps-private.h"
+
+#include <float.h>
+
+struct stroker {
+    const cairo_stroke_style_t *style;
+
+    const cairo_matrix_t *ctm;
+    const cairo_matrix_t *ctm_inverse;
+    double spline_cusp_tolerance;
+    double half_line_width;
+    double tolerance;
+    double ctm_determinant;
+    cairo_bool_t ctm_det_positive;
+    cairo_line_join_t line_join;
+
+    cairo_traps_t *traps;
+
+    cairo_pen_t pen;
+
+    cairo_point_t first_point;
+
+    cairo_bool_t has_initial_sub_path;
+
+    cairo_bool_t has_current_face;
+    cairo_stroke_face_t current_face;
+
+    cairo_bool_t has_first_face;
+    cairo_stroke_face_t first_face;
+
+    cairo_stroker_dash_t dash;
+
+    cairo_bool_t has_bounds;
+    cairo_box_t tight_bounds;
+    cairo_box_t line_bounds;
+    cairo_box_t join_bounds;
+};
+
+static cairo_status_t
+stroker_init (struct stroker           *stroker,
+             const cairo_path_fixed_t  *path,
+             const cairo_stroke_style_t        *style,
+             const cairo_matrix_t      *ctm,
+             const cairo_matrix_t      *ctm_inverse,
+             double                     tolerance,
+             cairo_traps_t             *traps)
+{
+    cairo_status_t status;
+
+    stroker->style = style;
+    stroker->ctm = ctm;
+    stroker->ctm_inverse = NULL;
+    if (! _cairo_matrix_is_identity (ctm_inverse))
+       stroker->ctm_inverse = ctm_inverse;
+    stroker->line_join = style->line_join;
+    stroker->half_line_width = style->line_width / 2.0;
+    stroker->tolerance = tolerance;
+    stroker->traps = traps;
+
+    /* To test whether we need to join two segments of a spline using
+     * a round-join or a bevel-join, we can inspect the angle between the
+     * two segments. If the difference between the chord distance
+     * (half-line-width times the cosine of the bisection angle) and the
+     * half-line-width itself is greater than tolerance then we need to
+     * inject a point.
+     */
+    stroker->spline_cusp_tolerance = 1 - tolerance / stroker->half_line_width;
+    stroker->spline_cusp_tolerance *= stroker->spline_cusp_tolerance;
+    stroker->spline_cusp_tolerance *= 2;
+    stroker->spline_cusp_tolerance -= 1;
+
+    stroker->ctm_determinant = _cairo_matrix_compute_determinant (stroker->ctm);
+    stroker->ctm_det_positive = stroker->ctm_determinant >= 0.0;
+
+    status = _cairo_pen_init (&stroker->pen,
+                             stroker->half_line_width,
+                             tolerance, ctm);
+    if (unlikely (status))
+       return status;
+
+    stroker->has_current_face = FALSE;
+    stroker->has_first_face = FALSE;
+    stroker->has_initial_sub_path = FALSE;
+
+    _cairo_stroker_dash_init (&stroker->dash, style);
+
+    stroker->has_bounds = traps->num_limits;
+    if (stroker->has_bounds) {
+       /* Extend the bounds in each direction to account for the maximum area
+        * we might generate trapezoids, to capture line segments that are outside
+        * of the bounds but which might generate rendering that's within bounds.
+        */
+       double dx, dy;
+       cairo_fixed_t fdx, fdy;
+
+       stroker->tight_bounds = traps->bounds;
+
+       _cairo_stroke_style_max_distance_from_path (stroker->style, path,
+                                                   stroker->ctm, &dx, &dy);
+
+       _cairo_stroke_style_max_line_distance_from_path (stroker->style, path,
+                                                        stroker->ctm, &dx, &dy);
+
+       fdx = _cairo_fixed_from_double (dx);
+       fdy = _cairo_fixed_from_double (dy);
+
+       stroker->line_bounds = stroker->tight_bounds;
+       stroker->line_bounds.p1.x -= fdx;
+       stroker->line_bounds.p2.x += fdx;
+       stroker->line_bounds.p1.y -= fdy;
+       stroker->line_bounds.p2.y += fdy;
+
+       _cairo_stroke_style_max_join_distance_from_path (stroker->style, path,
+                                                        stroker->ctm, &dx, &dy);
+
+       fdx = _cairo_fixed_from_double (dx);
+       fdy = _cairo_fixed_from_double (dy);
+
+       stroker->join_bounds = stroker->tight_bounds;
+       stroker->join_bounds.p1.x -= fdx;
+       stroker->join_bounds.p2.x += fdx;
+       stroker->join_bounds.p1.y -= fdy;
+       stroker->join_bounds.p2.y += fdy;
+    }
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static void
+stroker_fini (struct stroker *stroker)
+{
+    _cairo_pen_fini (&stroker->pen);
+}
+
+static void
+translate_point (cairo_point_t *point, cairo_point_t *offset)
+{
+    point->x += offset->x;
+    point->y += offset->y;
+}
+
+static int
+join_is_clockwise (const cairo_stroke_face_t *in,
+                  const cairo_stroke_face_t *out)
+{
+    return _cairo_slope_compare (&in->dev_vector, &out->dev_vector) < 0;
+}
+
+static int
+slope_compare_sgn (double dx1, double dy1, double dx2, double dy2)
+{
+    double c = dx1 * dy2 - dx2 * dy1;
+    if (c > 0) return 1;
+    if (c < 0) return -1;
+    return 0;
+}
+
+static cairo_bool_t
+stroker_intersects_join (const struct stroker *stroker,
+                        const cairo_point_t *in,
+                        const cairo_point_t *out)
+{
+    cairo_line_t segment;
+
+    if (! stroker->has_bounds)
+       return TRUE;
+
+    segment.p1 = *in;
+    segment.p2 = *out;
+    return _cairo_box_intersects_line_segment (&stroker->join_bounds, &segment);
+}
+
+static void
+join (struct stroker *stroker,
+      cairo_stroke_face_t *in,
+      cairo_stroke_face_t *out)
+{
+    int clockwise = join_is_clockwise (out, in);
+    cairo_point_t *inpt, *outpt;
+
+    if (in->cw.x == out->cw.x &&
+       in->cw.y == out->cw.y &&
+       in->ccw.x == out->ccw.x &&
+       in->ccw.y == out->ccw.y)
+    {
+       return;
+    }
+
+    if (clockwise) {
+       inpt = &in->ccw;
+       outpt = &out->ccw;
+    } else {
+       inpt = &in->cw;
+       outpt = &out->cw;
+    }
+
+    if (! stroker_intersects_join (stroker, inpt, outpt))
+           return;
+
+    switch (stroker->line_join) {
+    case CAIRO_LINE_JOIN_ROUND:
+       /* construct a fan around the common midpoint */
+       if ((in->dev_slope.x * out->dev_slope.x +
+            in->dev_slope.y * out->dev_slope.y) < stroker->spline_cusp_tolerance)
+       {
+           int start, stop;
+           cairo_point_t tri[3];
+           cairo_pen_t *pen = &stroker->pen;
+
+           tri[0] = in->point;
+           tri[1] = *inpt;
+           if (clockwise) {
+               _cairo_pen_find_active_ccw_vertices (pen,
+                                                    &in->dev_vector, &out->dev_vector,
+                                                    &start, &stop);
+               while (start != stop) {
+                   tri[2] = in->point;
+                   translate_point (&tri[2], &pen->vertices[start].point);
+                   _cairo_traps_tessellate_triangle (stroker->traps, tri);
+                   tri[1] = tri[2];
+
+                   if (start-- == 0)
+                       start += pen->num_vertices;
+               }
+           } else {
+               _cairo_pen_find_active_cw_vertices (pen,
+                                                   &in->dev_vector, &out->dev_vector,
+                                                   &start, &stop);
+               while (start != stop) {
+                   tri[2] = in->point;
+                   translate_point (&tri[2], &pen->vertices[start].point);
+                   _cairo_traps_tessellate_triangle (stroker->traps, tri);
+                   tri[1] = tri[2];
+
+                   if (++start == pen->num_vertices)
+                       start = 0;
+               }
+           }
+           tri[2] = *outpt;
+           _cairo_traps_tessellate_triangle (stroker->traps, tri);
+           break;
+       }
+
+    case CAIRO_LINE_JOIN_MITER:
+    default: {
+       /* dot product of incoming slope vector with outgoing slope vector */
+       double in_dot_out = (-in->usr_vector.x * out->usr_vector.x +
+                            -in->usr_vector.y * out->usr_vector.y);
+       double ml = stroker->style->miter_limit;
+
+       /* Check the miter limit -- lines meeting at an acute angle
+        * can generate long miters, the limit converts them to bevel
+        *
+        * Consider the miter join formed when two line segments
+        * meet at an angle psi:
+        *
+        *         /.\
+        *        /. .\
+        *       /./ \.\
+        *      /./psi\.\
+        *
+        * We can zoom in on the right half of that to see:
+        *
+        *          |\
+        *          | \ psi/2
+        *          |  \
+        *          |   \
+        *          |    \
+        *          |     \
+        *        miter    \
+        *       length     \
+        *          |        \
+        *          |        .\
+        *          |    .     \
+        *          |.   line   \
+        *           \    width  \
+        *            \           \
+        *
+        *
+        * The right triangle in that figure, (the line-width side is
+        * shown faintly with three '.' characters), gives us the
+        * following expression relating miter length, angle and line
+        * width:
+        *
+        *      1 /sin (psi/2) = miter_length / line_width
+        *
+        * The right-hand side of this relationship is the same ratio
+        * in which the miter limit (ml) is expressed. We want to know
+        * when the miter length is within the miter limit. That is
+        * when the following condition holds:
+        *
+        *      1/sin(psi/2) <= ml
+        *      1 <= ml sin(psi/2)
+        *      1 <= ml² sin²(psi/2)
+        *      2 <= ml² 2 sin²(psi/2)
+        *                              2·sin²(psi/2) = 1-cos(psi)
+        *      2 <= ml² (1-cos(psi))
+        *
+        *                              in · out = |in| |out| cos (psi)
+        *
+        * in and out are both unit vectors, so:
+        *
+        *                              in · out = cos (psi)
+        *
+        *      2 <= ml² (1 - in · out)
+        *
+        */
+       if (2 <= ml * ml * (1 - in_dot_out)) {
+           double              x1, y1, x2, y2;
+           double              mx, my;
+           double              dx1, dx2, dy1, dy2;
+           cairo_point_t       outer;
+           cairo_point_t       quad[4];
+           double              ix, iy;
+           double              fdx1, fdy1, fdx2, fdy2;
+           double              mdx, mdy;
+
+           /*
+            * we've got the points already transformed to device
+            * space, but need to do some computation with them and
+            * also need to transform the slope from user space to
+            * device space
+            */
+           /* outer point of incoming line face */
+           x1 = _cairo_fixed_to_double (inpt->x);
+           y1 = _cairo_fixed_to_double (inpt->y);
+           dx1 = in->usr_vector.x;
+           dy1 = in->usr_vector.y;
+           cairo_matrix_transform_distance (stroker->ctm, &dx1, &dy1);
+
+           /* outer point of outgoing line face */
+           x2 = _cairo_fixed_to_double (outpt->x);
+           y2 = _cairo_fixed_to_double (outpt->y);
+           dx2 = out->usr_vector.x;
+           dy2 = out->usr_vector.y;
+           cairo_matrix_transform_distance (stroker->ctm, &dx2, &dy2);
+
+           /*
+            * Compute the location of the outer corner of the miter.
+            * That's pretty easy -- just the intersection of the two
+            * outer edges.  We've got slopes and points on each
+            * of those edges.  Compute my directly, then compute
+            * mx by using the edge with the larger dy; that avoids
+            * dividing by values close to zero.
+            */
+           my = (((x2 - x1) * dy1 * dy2 - y2 * dx2 * dy1 + y1 * dx1 * dy2) /
+                 (dx1 * dy2 - dx2 * dy1));
+           if (fabs (dy1) >= fabs (dy2))
+               mx = (my - y1) * dx1 / dy1 + x1;
+           else
+               mx = (my - y2) * dx2 / dy2 + x2;
+
+           /*
+            * When the two outer edges are nearly parallel, slight
+            * perturbations in the position of the outer points of the lines
+            * caused by representing them in fixed point form can cause the
+            * intersection point of the miter to move a large amount. If
+            * that moves the miter intersection from between the two faces,
+            * then draw a bevel instead.
+            */
+
+           ix = _cairo_fixed_to_double (in->point.x);
+           iy = _cairo_fixed_to_double (in->point.y);
+
+           /* slope of one face */
+           fdx1 = x1 - ix; fdy1 = y1 - iy;
+
+           /* slope of the other face */
+           fdx2 = x2 - ix; fdy2 = y2 - iy;
+
+           /* slope from the intersection to the miter point */
+           mdx = mx - ix; mdy = my - iy;
+
+           /*
+            * Make sure the miter point line lies between the two
+            * faces by comparing the slopes
+            */
+           if (slope_compare_sgn (fdx1, fdy1, mdx, mdy) !=
+               slope_compare_sgn (fdx2, fdy2, mdx, mdy))
+           {
+               /*
+                * Draw the quadrilateral
+                */
+               outer.x = _cairo_fixed_from_double (mx);
+               outer.y = _cairo_fixed_from_double (my);
+
+               quad[0] = in->point;
+               quad[1] = *inpt;
+               quad[2] = outer;
+               quad[3] = *outpt;
+
+               _cairo_traps_tessellate_convex_quad (stroker->traps, quad);
+               break;
+           }
+       }
+       /* fall through ... */
+    }
+
+    case CAIRO_LINE_JOIN_BEVEL: {
+       cairo_point_t tri[3];
+       tri[0] = in->point;
+       tri[1] = *inpt;
+       tri[2] = *outpt;
+
+       _cairo_traps_tessellate_triangle (stroker->traps, tri);
+       break;
+    }
+    }
+}
+
+static void
+add_cap (struct stroker *stroker, cairo_stroke_face_t *f)
+{
+    switch (stroker->style->line_cap) {
+    case CAIRO_LINE_CAP_ROUND: {
+       int start, stop;
+       cairo_slope_t in_slope, out_slope;
+       cairo_point_t tri[3];
+       cairo_pen_t *pen = &stroker->pen;
+
+       in_slope = f->dev_vector;
+       out_slope.dx = -in_slope.dx;
+       out_slope.dy = -in_slope.dy;
+       _cairo_pen_find_active_cw_vertices (pen, &in_slope, &out_slope,
+                                           &start, &stop);
+       tri[0] = f->point;
+       tri[1] = f->cw;
+       while (start != stop) {
+           tri[2] = f->point;
+           translate_point (&tri[2], &pen->vertices[start].point);
+           _cairo_traps_tessellate_triangle (stroker->traps, tri);
+
+           tri[1] = tri[2];
+           if (++start == pen->num_vertices)
+               start = 0;
+       }
+       tri[2] = f->ccw;
+       _cairo_traps_tessellate_triangle (stroker->traps, tri);
+       break;
+    }
+
+    case CAIRO_LINE_CAP_SQUARE: {
+       double dx, dy;
+       cairo_slope_t fvector;
+       cairo_point_t quad[4];
+
+       dx = f->usr_vector.x;
+       dy = f->usr_vector.y;
+       dx *= stroker->half_line_width;
+       dy *= stroker->half_line_width;
+       cairo_matrix_transform_distance (stroker->ctm, &dx, &dy);
+       fvector.dx = _cairo_fixed_from_double (dx);
+       fvector.dy = _cairo_fixed_from_double (dy);
+
+       quad[0] = f->cw;
+       quad[1].x = f->cw.x + fvector.dx;
+       quad[1].y = f->cw.y + fvector.dy;
+       quad[2].x = f->ccw.x + fvector.dx;
+       quad[2].y = f->ccw.y + fvector.dy;
+       quad[3] = f->ccw;
+
+       _cairo_traps_tessellate_convex_quad (stroker->traps, quad);
+       break;
+    }
+
+    case CAIRO_LINE_CAP_BUTT:
+    default:
+       break;
+    }
+}
+
+static void
+add_leading_cap (struct stroker     *stroker,
+                cairo_stroke_face_t *face)
+{
+    cairo_stroke_face_t reversed;
+    cairo_point_t t;
+
+    reversed = *face;
+
+    /* The initial cap needs an outward facing vector. Reverse everything */
+    reversed.usr_vector.x = -reversed.usr_vector.x;
+    reversed.usr_vector.y = -reversed.usr_vector.y;
+    reversed.dev_vector.dx = -reversed.dev_vector.dx;
+    reversed.dev_vector.dy = -reversed.dev_vector.dy;
+    t = reversed.cw;
+    reversed.cw = reversed.ccw;
+    reversed.ccw = t;
+
+    add_cap (stroker, &reversed);
+}
+
+static void
+add_trailing_cap (struct stroker *stroker, cairo_stroke_face_t *face)
+{
+    add_cap (stroker, face);
+}
+
+static inline double
+normalize_slope (double *dx, double *dy)
+{
+    double dx0 = *dx, dy0 = *dy;
+
+    if (dx0 == 0.0 && dy0 == 0.0)
+       return 0;
+
+    if (dx0 == 0.0) {
+       *dx = 0.0;
+       if (dy0 > 0.0) {
+           *dy = 1.0;
+           return dy0;
+       } else {
+           *dy = -1.0;
+           return -dy0;
+       }
+    } else if (dy0 == 0.0) {
+       *dy = 0.0;
+       if (dx0 > 0.0) {
+           *dx = 1.0;
+           return dx0;
+       } else {
+           *dx = -1.0;
+           return -dx0;
+       }
+    } else {
+       double mag = hypot (dx0, dy0);
+       *dx = dx0 / mag;
+       *dy = dy0 / mag;
+       return mag;
+    }
+}
+
+static void
+compute_face (const cairo_point_t *point,
+             const cairo_slope_t *dev_slope,
+             struct stroker *stroker,
+             cairo_stroke_face_t *face)
+{
+    double face_dx, face_dy;
+    cairo_point_t offset_ccw, offset_cw;
+    double slope_dx, slope_dy;
+
+    slope_dx = _cairo_fixed_to_double (dev_slope->dx);
+    slope_dy = _cairo_fixed_to_double (dev_slope->dy);
+    face->length = normalize_slope (&slope_dx, &slope_dy);
+    face->dev_slope.x = slope_dx;
+    face->dev_slope.y = slope_dy;
+
+    /*
+     * rotate to get a line_width/2 vector along the face, note that
+     * the vector must be rotated the right direction in device space,
+     * but by 90° in user space. So, the rotation depends on
+     * whether the ctm reflects or not, and that can be determined
+     * by looking at the determinant of the matrix.
+     */
+    if (stroker->ctm_inverse) {
+       cairo_matrix_transform_distance (stroker->ctm_inverse, &slope_dx, &slope_dy);
+       normalize_slope (&slope_dx, &slope_dy);
+
+       if (stroker->ctm_det_positive) {
+           face_dx = - slope_dy * stroker->half_line_width;
+           face_dy = slope_dx * stroker->half_line_width;
+       } else {
+           face_dx = slope_dy * stroker->half_line_width;
+           face_dy = - slope_dx * stroker->half_line_width;
+       }
+
+       /* back to device space */
+       cairo_matrix_transform_distance (stroker->ctm, &face_dx, &face_dy);
+    } else {
+       face_dx = - slope_dy * stroker->half_line_width;
+       face_dy = slope_dx * stroker->half_line_width;
+    }
+
+    offset_ccw.x = _cairo_fixed_from_double (face_dx);
+    offset_ccw.y = _cairo_fixed_from_double (face_dy);
+    offset_cw.x = -offset_ccw.x;
+    offset_cw.y = -offset_ccw.y;
+
+    face->ccw = *point;
+    translate_point (&face->ccw, &offset_ccw);
+
+    face->point = *point;
+
+    face->cw = *point;
+    translate_point (&face->cw, &offset_cw);
+
+    face->usr_vector.x = slope_dx;
+    face->usr_vector.y = slope_dy;
+
+    face->dev_vector = *dev_slope;
+}
+
+static void
+add_caps (struct stroker *stroker)
+{
+    /* check for a degenerative sub_path */
+    if (stroker->has_initial_sub_path &&
+       !stroker->has_first_face &&
+       !stroker->has_current_face &&
+       stroker->style->line_cap == CAIRO_LINE_CAP_ROUND)
+    {
+       /* pick an arbitrary slope to use */
+       cairo_slope_t slope = { CAIRO_FIXED_ONE, 0 };
+       cairo_stroke_face_t face;
+
+       /* arbitrarily choose first_point
+        * first_point and current_point should be the same */
+       compute_face (&stroker->first_point, &slope, stroker, &face);
+
+       add_leading_cap (stroker, &face);
+       add_trailing_cap (stroker, &face);
+    }
+
+    if (stroker->has_first_face)
+       add_leading_cap (stroker, &stroker->first_face);
+
+    if (stroker->has_current_face)
+       add_trailing_cap (stroker, &stroker->current_face);
+}
+
+static cairo_bool_t
+stroker_intersects_edge (const struct stroker *stroker,
+                        const cairo_stroke_face_t *start,
+                        const cairo_stroke_face_t *end)
+{
+    cairo_box_t box;
+
+    if (! stroker->has_bounds)
+       return TRUE;
+
+    if (_cairo_box_contains_point (&stroker->tight_bounds, &start->cw))
+       return TRUE;
+    box.p2 = box.p1 = start->cw;
+
+    if (_cairo_box_contains_point (&stroker->tight_bounds, &start->ccw))
+       return TRUE;
+    _cairo_box_add_point (&box, &start->ccw);
+
+    if (_cairo_box_contains_point (&stroker->tight_bounds, &end->cw))
+       return TRUE;
+    _cairo_box_add_point (&box, &end->cw);
+
+    if (_cairo_box_contains_point (&stroker->tight_bounds, &end->ccw))
+       return TRUE;
+    _cairo_box_add_point (&box, &end->ccw);
+
+    return (box.p2.x > stroker->tight_bounds.p1.x &&
+           box.p1.x < stroker->tight_bounds.p2.x &&
+           box.p2.y > stroker->tight_bounds.p1.y &&
+           box.p1.y < stroker->tight_bounds.p2.y);
+}
+
+static void
+add_sub_edge (struct stroker *stroker,
+             const cairo_point_t *p1, const cairo_point_t *p2,
+             const cairo_slope_t *dev_slope,
+             cairo_stroke_face_t *start, cairo_stroke_face_t *end)
+{
+    cairo_point_t rectangle[4];
+
+    compute_face (p1, dev_slope, stroker, start);
+
+    *end = *start;
+    end->point = *p2;
+    rectangle[0].x = p2->x - p1->x;
+    rectangle[0].y = p2->y - p1->y;
+    translate_point (&end->ccw, &rectangle[0]);
+    translate_point (&end->cw, &rectangle[0]);
+
+    if (p1->x == p2->x && p1->y == p2->y)
+       return;
+
+    if (! stroker_intersects_edge (stroker, start, end))
+       return;
+
+    rectangle[0] = start->cw;
+    rectangle[1] = start->ccw;
+    rectangle[2] = end->ccw;
+    rectangle[3] = end->cw;
+
+    _cairo_traps_tessellate_convex_quad (stroker->traps, rectangle);
+}
+
+static cairo_status_t
+move_to (void *closure, const cairo_point_t *point)
+{
+    struct stroker *stroker = closure;
+
+    /* Cap the start and end of the previous sub path as needed */
+    add_caps (stroker);
+
+    stroker->first_point = *point;
+    stroker->current_face.point = *point;
+
+    stroker->has_first_face = FALSE;
+    stroker->has_current_face = FALSE;
+    stroker->has_initial_sub_path = FALSE;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static cairo_status_t
+move_to_dashed (void *closure, const cairo_point_t *point)
+{
+    /* reset the dash pattern for new sub paths */
+    struct stroker *stroker = closure;
+
+    _cairo_stroker_dash_start (&stroker->dash);
+    return move_to (closure, point);
+}
+
+static cairo_status_t
+line_to (void *closure, const cairo_point_t *point)
+{
+    struct stroker *stroker = closure;
+    cairo_stroke_face_t start, end;
+    const cairo_point_t *p1 = &stroker->current_face.point;
+    const cairo_point_t *p2 = point;
+    cairo_slope_t dev_slope;
+
+    stroker->has_initial_sub_path = TRUE;
+    memset (&start, 0, sizeof (cairo_stroke_face_t));
+    memset (&end, 0, sizeof (cairo_stroke_face_t));
+
+    if (p1->x == p2->x && p1->y == p2->y)
+       return CAIRO_STATUS_SUCCESS;
+
+    _cairo_slope_init (&dev_slope, p1, p2);
+    add_sub_edge (stroker, p1, p2, &dev_slope, &start, &end);
+
+    if (stroker->has_current_face) {
+       /* Join with final face from previous segment */
+       join (stroker, &stroker->current_face, &start);
+    } else if (!stroker->has_first_face) {
+       /* Save sub path's first face in case needed for closing join */
+       stroker->first_face = start;
+       stroker->has_first_face = TRUE;
+    }
+    stroker->current_face = end;
+    stroker->has_current_face = TRUE;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+/*
+ * Dashed lines.  Cap each dash end, join around turns when on
+ */
+static cairo_status_t
+line_to_dashed (void *closure, const cairo_point_t *point)
+{
+    struct stroker *stroker = closure;
+    double mag, remain, step_length = 0;
+    double slope_dx, slope_dy;
+    double dx2, dy2;
+    cairo_stroke_face_t sub_start, sub_end;
+    const cairo_point_t *p1 = &stroker->current_face.point;
+    const cairo_point_t *p2 = point;
+    cairo_slope_t dev_slope;
+    cairo_line_t segment;
+    cairo_bool_t fully_in_bounds;
+
+    memset (&sub_start, 0, sizeof (cairo_stroke_face_t));
+    memset (&sub_end, 0, sizeof (cairo_stroke_face_t));
+
+    stroker->has_initial_sub_path = stroker->dash.dash_starts_on;
+
+    if (p1->x == p2->x && p1->y == p2->y)
+       return CAIRO_STATUS_SUCCESS;
+
+    fully_in_bounds = TRUE;
+    if (stroker->has_bounds &&
+       (! _cairo_box_contains_point (&stroker->join_bounds, p1) ||
+        ! _cairo_box_contains_point (&stroker->join_bounds, p2)))
+    {
+       fully_in_bounds = FALSE;
+    }
+
+    _cairo_slope_init (&dev_slope, p1, p2);
+
+    slope_dx = _cairo_fixed_to_double (p2->x - p1->x);
+    slope_dy = _cairo_fixed_to_double (p2->y - p1->y);
+
+    if (stroker->ctm_inverse)
+       cairo_matrix_transform_distance (stroker->ctm_inverse, &slope_dx, &slope_dy);
+    mag = normalize_slope (&slope_dx, &slope_dy);
+    if (mag <= DBL_EPSILON)
+       return CAIRO_STATUS_SUCCESS;
+
+    remain = mag;
+    segment.p1 = *p1;
+    while (remain) {
+       step_length = MIN (stroker->dash.dash_remain, remain);
+       remain -= step_length;
+       dx2 = slope_dx * (mag - remain);
+       dy2 = slope_dy * (mag - remain);
+       cairo_matrix_transform_distance (stroker->ctm, &dx2, &dy2);
+       segment.p2.x = _cairo_fixed_from_double (dx2) + p1->x;
+       segment.p2.y = _cairo_fixed_from_double (dy2) + p1->y;
+
+       if (stroker->dash.dash_on &&
+           (fully_in_bounds ||
+            (! stroker->has_first_face && stroker->dash.dash_starts_on) ||
+            _cairo_box_intersects_line_segment (&stroker->join_bounds, &segment)))
+       {
+           add_sub_edge (stroker,
+                         &segment.p1, &segment.p2,
+                         &dev_slope,
+                         &sub_start, &sub_end);
+
+           if (stroker->has_current_face) {
+               /* Join with final face from previous segment */
+               join (stroker, &stroker->current_face, &sub_start);
+
+               stroker->has_current_face = FALSE;
+           } else if (! stroker->has_first_face && stroker->dash.dash_starts_on) {
+               /* Save sub path's first face in case needed for closing join */
+               stroker->first_face = sub_start;
+               stroker->has_first_face = TRUE;
+           } else {
+               /* Cap dash start if not connecting to a previous segment */
+               add_leading_cap (stroker, &sub_start);
+           }
+
+           if (remain) {
+               /* Cap dash end if not at end of segment */
+               add_trailing_cap (stroker, &sub_end);
+           } else {
+               stroker->current_face = sub_end;
+               stroker->has_current_face = TRUE;
+           }
+       } else {
+           if (stroker->has_current_face) {
+               /* Cap final face from previous segment */
+               add_trailing_cap (stroker, &stroker->current_face);
+
+               stroker->has_current_face = FALSE;
+           }
+       }
+
+       _cairo_stroker_dash_step (&stroker->dash, step_length);
+       segment.p1 = segment.p2;
+    }
+
+    if (stroker->dash.dash_on && ! stroker->has_current_face) {
+       /* This segment ends on a transition to dash_on, compute a new face
+        * and add cap for the beginning of the next dash_on step.
+        *
+        * Note: this will create a degenerate cap if this is not the last line
+        * in the path. Whether this behaviour is desirable or not is debatable.
+        * On one side these degenerate caps can not be reproduced with regular
+        * path stroking.
+        * On the other hand, Acroread 7 also produces the degenerate caps.
+        */
+       compute_face (point, &dev_slope, stroker, &stroker->current_face);
+
+       add_leading_cap (stroker, &stroker->current_face);
+
+       stroker->has_current_face = TRUE;
+    } else
+       stroker->current_face.point = *point;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static cairo_status_t
+spline_to (void *closure,
+          const cairo_point_t *point,
+          const cairo_slope_t *tangent)
+{
+    struct stroker *stroker = closure;
+    cairo_stroke_face_t face;
+
+    if ((tangent->dx | tangent->dy) == 0) {
+       cairo_point_t t;
+
+       face = stroker->current_face;
+
+       face.usr_vector.x = -face.usr_vector.x;
+       face.usr_vector.y = -face.usr_vector.y;
+       face.dev_slope.x = -face.dev_slope.x;
+       face.dev_slope.y = -face.dev_slope.y;
+       face.dev_vector.dx = -face.dev_vector.dx;
+       face.dev_vector.dy = -face.dev_vector.dy;
+
+       t = face.cw;
+       face.cw = face.ccw;
+       face.ccw = t;
+
+       join (stroker, &stroker->current_face, &face);
+    } else {
+       cairo_point_t rectangle[4];
+
+       compute_face (&stroker->current_face.point, tangent, stroker, &face);
+
+       join (stroker, &stroker->current_face, &face);
+
+       rectangle[0] = face.cw;
+       rectangle[1] = face.ccw;
+
+       rectangle[2].x = point->x - face.point.x;
+       rectangle[2].y = point->y - face.point.y;
+       face.point = *point;
+       translate_point (&face.ccw, &rectangle[2]);
+       translate_point (&face.cw, &rectangle[2]);
+
+       rectangle[2] = face.ccw;
+       rectangle[3] = face.cw;
+
+       _cairo_traps_tessellate_convex_quad (stroker->traps, rectangle);
+    }
+
+    stroker->current_face = face;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static cairo_status_t
+curve_to (void *closure,
+         const cairo_point_t *b,
+         const cairo_point_t *c,
+         const cairo_point_t *d)
+{
+    struct stroker *stroker = closure;
+    cairo_line_join_t line_join_save;
+    cairo_spline_t spline;
+    cairo_stroke_face_t face;
+    cairo_status_t status;
+
+    if (stroker->has_bounds &&
+       ! _cairo_spline_intersects (&stroker->current_face.point, b, c, d,
+                                   &stroker->line_bounds))
+       return line_to (closure, d);
+
+    if (! _cairo_spline_init (&spline, spline_to, stroker,
+                             &stroker->current_face.point, b, c, d))
+       return line_to (closure, d);
+
+    compute_face (&stroker->current_face.point, &spline.initial_slope,
+                 stroker, &face);
+
+    if (stroker->has_current_face) {
+       /* Join with final face from previous segment */
+       join (stroker, &stroker->current_face, &face);
+    } else {
+       if (! stroker->has_first_face) {
+           /* Save sub path's first face in case needed for closing join */
+           stroker->first_face = face;
+           stroker->has_first_face = TRUE;
+       }
+       stroker->has_current_face = TRUE;
+    }
+    stroker->current_face = face;
+
+    /* Temporarily modify the stroker to use round joins to guarantee
+     * smooth stroked curves. */
+    line_join_save = stroker->line_join;
+    stroker->line_join = CAIRO_LINE_JOIN_ROUND;
+
+    status = _cairo_spline_decompose (&spline, stroker->tolerance);
+
+    stroker->line_join = line_join_save;
+
+    return status;
+}
+
+static cairo_status_t
+curve_to_dashed (void *closure,
+                const cairo_point_t *b,
+                const cairo_point_t *c,
+                const cairo_point_t *d)
+{
+    struct stroker *stroker = closure;
+    cairo_spline_t spline;
+    cairo_line_join_t line_join_save;
+    cairo_spline_add_point_func_t func;
+    cairo_status_t status;
+
+    func = (cairo_spline_add_point_func_t)line_to_dashed;
+
+    if (stroker->has_bounds &&
+       ! _cairo_spline_intersects (&stroker->current_face.point, b, c, b,
+                                   &stroker->line_bounds))
+       return func (closure, d, NULL);
+
+    if (! _cairo_spline_init (&spline, func, stroker,
+                             &stroker->current_face.point, b, c, d))
+       return func (closure, d, NULL);
+
+    /* Temporarily modify the stroker to use round joins to guarantee
+     * smooth stroked curves. */
+    line_join_save = stroker->line_join;
+    stroker->line_join = CAIRO_LINE_JOIN_ROUND;
+
+    status = _cairo_spline_decompose (&spline, stroker->tolerance);
+
+    stroker->line_join = line_join_save;
+
+    return status;
+}
+
+static cairo_status_t
+_close_path (struct stroker *stroker)
+{
+    if (stroker->has_first_face && stroker->has_current_face) {
+       /* Join first and final faces of sub path */
+       join (stroker, &stroker->current_face, &stroker->first_face);
+    } else {
+       /* Cap the start and end of the sub path as needed */
+       add_caps (stroker);
+    }
+
+    stroker->has_initial_sub_path = FALSE;
+    stroker->has_first_face = FALSE;
+    stroker->has_current_face = FALSE;
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static cairo_status_t
+close_path (void *closure)
+{
+    struct stroker *stroker = closure;
+    cairo_status_t status;
+
+    status = line_to (stroker, &stroker->first_point);
+    if (unlikely (status))
+       return status;
+
+    return _close_path (stroker);
+}
+
+static cairo_status_t
+close_path_dashed (void *closure)
+{
+    struct stroker *stroker = closure;
+    cairo_status_t status;
+
+    status = line_to_dashed (stroker, &stroker->first_point);
+    if (unlikely (status))
+       return status;
+
+    return _close_path (stroker);
+}
+
+cairo_int_status_t
+_cairo_path_fixed_stroke_to_traps (const cairo_path_fixed_t    *path,
+                                  const cairo_stroke_style_t   *style,
+                                  const cairo_matrix_t         *ctm,
+                                  const cairo_matrix_t         *ctm_inverse,
+                                  double                        tolerance,
+                                  cairo_traps_t                *traps)
+{
+    struct stroker stroker;
+    cairo_status_t status;
+
+    status = stroker_init (&stroker, path, style,
+                          ctm, ctm_inverse, tolerance,
+                          traps);
+    if (unlikely (status))
+       return status;
+
+    if (stroker.dash.dashed)
+       status = _cairo_path_fixed_interpret (path,
+                                             move_to_dashed,
+                                             line_to_dashed,
+                                             curve_to_dashed,
+                                             close_path_dashed,
+                                             &stroker);
+    else
+       status = _cairo_path_fixed_interpret (path,
+                                             move_to,
+                                             line_to,
+                                             curve_to,
+                                             close_path,
+                                             &stroker);
+    assert(status == CAIRO_STATUS_SUCCESS);
+    add_caps (&stroker);
+
+    stroker_fini (&stroker);
+
+    return traps->status;
+}
index 6ce4131..3c23298 100644 (file)
@@ -1058,8 +1058,11 @@ _cairo_path_fixed_stroke_to_tristrip (const cairo_path_fixed_t   *path,
     if (unlikely (status))
        return status;
 
-    if (stroker.pen.num_vertices <= 1)
+    if (stroker.pen.num_vertices <= 1) {
+       if (stroker.pen.num_vertices)
+           _cairo_pen_fini (&stroker.pen);
        return CAIRO_INT_STATUS_NOTHING_TO_DO;
+    }
 
     stroker.has_current_face = FALSE;
     stroker.has_first_face = FALSE;
old mode 100644 (file)
new mode 100755 (executable)
index bae66dc..73c554b
@@ -52,6 +52,7 @@ typedef struct cairo_stroker {
 
     const cairo_matrix_t *ctm;
     const cairo_matrix_t *ctm_inverse;
+    double half_line_width;
     double tolerance;
     double ctm_determinant;
     cairo_bool_t ctm_det_positive;
@@ -88,40 +89,44 @@ typedef struct cairo_stroker {
     cairo_box_t bounds;
 } cairo_stroker_t;
 
-static cairo_status_t
-_cairo_stroker_init (cairo_stroker_t           *stroker,
-                    const cairo_stroke_style_t *stroke_style,
-                    const cairo_matrix_t       *ctm,
-                    const cairo_matrix_t       *ctm_inverse,
-                    double                      tolerance)
+static cairo_bool_t
+_cairo_stroke_segment_intersect (cairo_point_t *p1, cairo_point_t *p2,
+                 cairo_point_t *p3, cairo_point_t *p4,
+                                 cairo_point_t *p)
 {
-    cairo_status_t status;
-
-    stroker->style = *stroke_style;
-    stroker->ctm = ctm;
-    stroker->ctm_inverse = ctm_inverse;
-    stroker->tolerance = tolerance;
-
-    stroker->ctm_determinant = _cairo_matrix_compute_determinant (stroker->ctm);
-    stroker->ctm_det_positive = stroker->ctm_determinant >= 0.0;
-
-    status = _cairo_pen_init (&stroker->pen,
-                             stroke_style->line_width / 2.0,
-                             tolerance, ctm);
-    if (unlikely (status))
-       return status;
-
-    stroker->has_bounds = FALSE;
-
-    stroker->has_current_face = FALSE;
-    stroker->has_first_face = FALSE;
-    stroker->has_initial_sub_path = FALSE;
-
-    _cairo_stroker_dash_init (&stroker->dash, stroke_style);
-
-    stroker->add_external_edge = NULL;
-
-    return CAIRO_STATUS_SUCCESS;
+    double x1, y1, x2, y2, x3, y3, x4, y4;
+    double pre, post;
+    double x, y, d;
+
+    x1 = _cairo_fixed_to_double (p1->x);
+    y1 = _cairo_fixed_to_double (p1->y);
+    x2 = _cairo_fixed_to_double (p2->x);
+    y2 = _cairo_fixed_to_double (p2->y);
+    x3 = _cairo_fixed_to_double (p3->x);
+    y3 = _cairo_fixed_to_double (p3->y);
+    x4 = _cairo_fixed_to_double (p4->x);
+    y4 = _cairo_fixed_to_double (p4->y);
+
+    d = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);
+    if (d == 0)
+        return FALSE;
+
+    pre = x1 * y2 - y1 * x2;
+    post = x3 * y4 - y3 * x4;
+    x = (pre * (x3 - x4) - (x1 - x2) * post) / d;
+    y = (pre * (y3 - y4) - (y1 - y2) * post) / d;
+
+    /* check if x, y are within both segments */
+    if (x < MIN (x1, x2) || x > MAX (x1, x2) ||
+        x < MIN (x3, x4) || x > MAX (x3, x4))
+    return FALSE;
+    if (y < MIN (y1, y2) || y > MAX (y1, y2) ||
+        y < MIN (y1, y2) || y > MAX (y3, y4))
+    return FALSE;
+
+    p->x = _cairo_fixed_from_double (x);
+    p->y = _cairo_fixed_from_double (y);
+    return TRUE;
 }
 
 static void
@@ -154,6 +159,47 @@ _cairo_stroker_limit (cairo_stroker_t *stroker,
     stroker->bounds.p2.y += fdy;
 }
 
+static cairo_status_t
+_cairo_stroker_init (cairo_stroker_t           *stroker,
+                    const cairo_path_fixed_t   *path,
+                    const cairo_stroke_style_t *stroke_style,
+                    const cairo_matrix_t       *ctm,
+                    const cairo_matrix_t       *ctm_inverse,
+                    double                      tolerance,
+                    const cairo_box_t          *limits,
+                    int                         num_limits)
+{
+    cairo_status_t status;
+
+    stroker->style = *stroke_style;
+    stroker->ctm = ctm;
+    stroker->ctm_inverse = ctm_inverse;
+    stroker->tolerance = tolerance;
+    stroker->half_line_width = stroke_style->line_width / 2.0;
+
+    stroker->ctm_determinant = _cairo_matrix_compute_determinant (stroker->ctm);
+    stroker->ctm_det_positive = stroker->ctm_determinant >= 0.0;
+
+    status = _cairo_pen_init (&stroker->pen,
+                             stroker->half_line_width, tolerance, ctm);
+    if (unlikely (status))
+       return status;
+
+    stroker->has_current_face = FALSE;
+    stroker->has_first_face = FALSE;
+    stroker->has_initial_sub_path = FALSE;
+
+    _cairo_stroker_dash_init (&stroker->dash, stroke_style);
+
+    stroker->add_external_edge = NULL;
+
+    stroker->has_bounds = FALSE;
+    if (num_limits)
+       _cairo_stroker_limit (stroker, path, limits, num_limits);
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
 static void
 _cairo_stroker_fini (cairo_stroker_t *stroker)
 {
@@ -220,100 +266,121 @@ _tessellate_fan (cairo_stroker_t *stroker,
                 cairo_bool_t clockwise)
 {
     cairo_point_t stack_points[64], *points = stack_points;
-    int start, stop, step, i, npoints;
-    cairo_status_t status;
+    cairo_pen_t *pen = &stroker->pen;
+    int start, stop, num_points = 0;
+    cairo_status_t status = CAIRO_STATUS_SUCCESS;
+
+    if (stroker->has_bounds &&
+       ! _cairo_box_contains_point (&stroker->bounds, midpt))
+       goto BEVEL;
+
+    assert (stroker->pen.num_vertices);
 
     if (clockwise) {
-       step  = -1;
-
-       start = _cairo_pen_find_active_ccw_vertex_index (&stroker->pen,
-                                                        in_vector);
-       if (_cairo_slope_compare (&stroker->pen.vertices[start].slope_ccw,
-                                 in_vector) < 0)
-           start = _range_step (start, -1, stroker->pen.num_vertices);
-
-       stop  = _cairo_pen_find_active_ccw_vertex_index (&stroker->pen,
-                                                        out_vector);
-       if (_cairo_slope_compare (&stroker->pen.vertices[stop].slope_cw,
-                                 out_vector) > 0)
-       {
-           stop = _range_step (stop, 1, stroker->pen.num_vertices);
-           if (_cairo_slope_compare (&stroker->pen.vertices[stop].slope_ccw,
-                                     in_vector) < 0)
-           {
-               goto BEVEL;
-           }
-       }
+       _cairo_pen_find_active_ccw_vertices (pen,
+                                            in_vector, out_vector,
+                                            &start, &stop);
+       if (stroker->add_external_edge) {
+           cairo_point_t last;
+           last = *inpt;
+           while (start != stop) {
+               cairo_point_t p = *midpt;
+               _translate_point (&p, &pen->vertices[start].point);
 
-       npoints = start - stop;
-    } else {
-       step  = 1;
-
-       start = _cairo_pen_find_active_cw_vertex_index (&stroker->pen,
-                                                       in_vector);
-       if (_cairo_slope_compare (&stroker->pen.vertices[start].slope_cw,
-                                 in_vector) < 0)
-           start = _range_step (start, 1, stroker->pen.num_vertices);
-
-       stop  = _cairo_pen_find_active_cw_vertex_index (&stroker->pen,
-                                                       out_vector);
-       if (_cairo_slope_compare (&stroker->pen.vertices[stop].slope_ccw,
-                                 out_vector) > 0)
-       {
-           stop = _range_step (stop, -1, stroker->pen.num_vertices);
-           if (_cairo_slope_compare (&stroker->pen.vertices[stop].slope_cw,
-                                     in_vector) < 0)
-           {
+               status = stroker->add_external_edge (stroker->closure,
+                                                    &last, &p);
+               if (unlikely (status))
+                   return status;
+               last = p;
+
+               if (start-- == 0)
+                   start += pen->num_vertices;
+           }
+           status = stroker->add_external_edge (stroker->closure,
+                                                &last, outpt);
+       } else {
+           if (start == stop)
                goto BEVEL;
+
+           num_points = stop - start;
+           if (num_points < 0)
+               num_points += pen->num_vertices;
+           else
+               num_points = pen->num_vertices - stop + start;
+           num_points += 2;
+           if (num_points > ARRAY_LENGTH(stack_points)) {
+               points = _cairo_malloc_ab (num_points, sizeof (cairo_point_t));
+               if (unlikely (points == NULL))
+                   return _cairo_error (CAIRO_STATUS_NO_MEMORY);
            }
-       }
 
-       npoints = stop - start;
-    }
-    stop = _range_step (stop, step, stroker->pen.num_vertices);
+           points[0] = *inpt;
+           num_points = 1;
+           while (start != stop) {
+               points[num_points] = *midpt;
+               _translate_point (&points[num_points], &pen->vertices[start].point);
+               num_points++;
 
-    if (npoints < 0)
-       npoints += stroker->pen.num_vertices;
-    npoints += 3;
+               if (start-- == 0)
+                   start += pen->num_vertices;
+           }
+           points[num_points++] = *outpt;
+       }
+    } else {
+       _cairo_pen_find_active_cw_vertices (pen,
+                                           in_vector, out_vector,
+                                           &start, &stop);
+       if (stroker->add_external_edge) {
+           cairo_point_t last;
+           last = *inpt;
+           while (start != stop) {
+               cairo_point_t p = *midpt;
+               _translate_point (&p, &pen->vertices[start].point);
 
-    if (npoints <= 1)
-       goto BEVEL;
+               status = stroker->add_external_edge (stroker->closure,
+                                                    &p, &last);
+               if (unlikely (status))
+                   return status;
+               last = p;
 
-    if (npoints > ARRAY_LENGTH (stack_points)) {
-       points = _cairo_malloc_ab (npoints, sizeof (cairo_point_t));
-       if (unlikely (points == NULL))
-           return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-    }
+               if (++start == pen->num_vertices)
+                   start = 0;
+           }
+           status = stroker->add_external_edge (stroker->closure,
+                                                outpt, &last);
+       } else {
+           if (start == stop)
+               goto BEVEL;
 
+           num_points = stop - start;
+           if (num_points < 0)
+               num_points += pen->num_vertices;
+           else
+               num_points = pen->num_vertices - stop + start;
+           num_points += 2;
+           if (num_points > ARRAY_LENGTH(stack_points)) {
+               points = _cairo_malloc_ab (num_points, sizeof (cairo_point_t));
+               if (unlikely (points == NULL))
+                   return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+           }
 
-    /* Construct the fan. */
-    npoints = 0;
-    points[npoints++] = *inpt;
-    for (i = start;
-        i != stop;
-       i = _range_step (i, step, stroker->pen.num_vertices))
-    {
-       points[npoints] = *midpt;
-       _translate_point (&points[npoints], &stroker->pen.vertices[i].point);
-       npoints++;
-    }
-    points[npoints++] = *outpt;
+           points[0] = *inpt;
+           num_points = 1;
+           while (start != stop) {
+               points[num_points] = *midpt;
+               _translate_point (&points[num_points], &pen->vertices[start].point);
+               num_points++;
 
-    if (stroker->add_external_edge != NULL) {
-       for (i = 0; i < npoints - 1; i++) {
-           if (clockwise) {
-               status = stroker->add_external_edge (stroker->closure,
-                                                    &points[i], &points[i+1]);
-           } else {
-               status = stroker->add_external_edge (stroker->closure,
-                                                    &points[i+1], &points[i]);
+               if (++start == pen->num_vertices)
+                   start = 0;
            }
-           if (unlikely (status))
-               break;
+           points[num_points++] = *outpt;
        }
-    } else {
+    }
+
+    if (num_points) {
        status = stroker->add_triangle_fan (stroker->closure,
-                                           midpt, points, npoints);
+                                           midpt, points, num_points);
     }
 
     if (points != stack_points)
@@ -615,8 +682,8 @@ _cairo_stroker_add_cap (cairo_stroker_t *stroker,
 
        dx = f->usr_vector.x;
        dy = f->usr_vector.y;
-       dx *= stroker->style.line_width / 2.0;
-       dy *= stroker->style.line_width / 2.0;
+       dx *= stroker->half_line_width;
+       dy *= stroker->half_line_width;
        cairo_matrix_transform_distance (stroker->ctm, &dx, &dy);
        fvector.dx = _cairo_fixed_from_double (dx);
        fvector.dy = _cairo_fixed_from_double (dy);
@@ -738,9 +805,12 @@ _compute_normalized_device_slope (double *dx, double *dy,
 }
 
 static void
-_compute_face (const cairo_point_t *point, cairo_slope_t *dev_slope,
-              double slope_dx, double slope_dy,
-              cairo_stroker_t *stroker, cairo_stroke_face_t *face)
+_compute_face (const cairo_point_t *point,
+              const cairo_slope_t *dev_slope,
+              double slope_dx,
+              double slope_dy,
+              cairo_stroker_t *stroker,
+              cairo_stroke_face_t *face)
 {
     double face_dx, face_dy;
     cairo_point_t offset_ccw, offset_cw;
@@ -754,13 +824,13 @@ _compute_face (const cairo_point_t *point, cairo_slope_t *dev_slope,
      */
     if (stroker->ctm_det_positive)
     {
-       face_dx = - slope_dy * (stroker->style.line_width / 2.0);
-       face_dy = slope_dx * (stroker->style.line_width / 2.0);
+       face_dx = - slope_dy * stroker->half_line_width;
+       face_dy = slope_dx * stroker->half_line_width;
     }
     else
     {
-       face_dx = slope_dy * (stroker->style.line_width / 2.0);
-       face_dy = - slope_dx * (stroker->style.line_width / 2.0);
+       face_dx = slope_dy * stroker->half_line_width;
+       face_dy = - slope_dx * stroker->half_line_width;
     }
 
     /* back to device space */
@@ -800,6 +870,7 @@ _cairo_stroker_add_caps (cairo_stroker_t *stroker)
        double dx = 1.0, dy = 0.0;
        cairo_slope_t slope = { CAIRO_FIXED_ONE, 0 };
        cairo_stroke_face_t face;
+       face.length = 0.0;
 
        _compute_normalized_device_slope (&dx, &dy,
                                          stroker->ctm_inverse, NULL);
@@ -916,6 +987,7 @@ _cairo_stroker_line_to (void *closure,
     cairo_slope_t dev_slope;
     double slope_dx, slope_dy;
     cairo_status_t status;
+    start.length = 0.0;
 
     stroker->has_initial_sub_path = TRUE;
 
@@ -956,6 +1028,89 @@ _cairo_stroker_line_to (void *closure,
     return CAIRO_STATUS_SUCCESS;
 }
 
+static cairo_status_t
+_cairo_stroker_spline_to (void *closure,
+                         const cairo_point_t *point,
+                         const cairo_slope_t *tangent)
+{
+    cairo_stroker_t *stroker = closure;
+    cairo_stroke_face_t new_face;
+    double slope_dx, slope_dy;
+    cairo_point_t points[3];
+    cairo_point_t intersect_point;
+    cairo_line_join_t line_join_save;
+    cairo_status_t status;
+
+    stroker->has_initial_sub_path = TRUE;
+    new_face.length = 0.0;
+
+    if (stroker->current_point.x == point->x &&
+       stroker->current_point.y == point->y)
+       return CAIRO_STATUS_SUCCESS;
+
+    slope_dx = _cairo_fixed_to_double (tangent->dx);
+    slope_dy = _cairo_fixed_to_double (tangent->dy);
+
+    if (! _compute_normalized_device_slope (&slope_dx, &slope_dy,
+                                     stroker->ctm_inverse, NULL))
+       return CAIRO_STATUS_SUCCESS;
+
+    _compute_face (point, tangent,
+                  slope_dx, slope_dy,
+                  stroker, &new_face);
+
+    assert(stroker->has_current_face);
+
+    if (_cairo_stroke_segment_intersect (&stroker->current_face.cw,
+                     &stroker->current_face.ccw,
+                                         &new_face.cw,
+                                         &new_face.ccw,
+                                         &intersect_point)) {
+    points[0] = stroker->current_face.ccw;
+    points[1] = new_face.ccw;
+    points[2] = intersect_point;
+    stroker->add_triangle (stroker->closure, points);
+
+    points[0] = stroker->current_face.cw;
+    points[1] = new_face.cw;
+    stroker->add_triangle (stroker->closure, points);
+    }
+    else {
+    points[0] = stroker->current_face.ccw;
+    points[1] = stroker->current_face.cw;
+    points[2] = new_face.cw;
+    stroker->add_triangle (stroker->closure, points);
+
+    points[0] = stroker->current_face.ccw;
+    points[1] = new_face.cw;
+    points[2] = new_face.ccw;
+    stroker->add_triangle (stroker->closure, points);
+    }
+
+    /* compute join */
+    /* Temporarily modify the stroker to use round joins to guarantee
+     * smooth stroked curves. */
+    line_join_save = stroker->style.line_join;
+    stroker->style.line_join = CAIRO_LINE_JOIN_ROUND;
+
+    if (! stroker->dash.dashed || stroker->dash.dash_on) {
+       if (stroker->has_current_face) {
+           status = _cairo_stroker_join (stroker,
+                                         &stroker->current_face, &new_face);
+           if (unlikely (status))
+               return status;
+       }
+    }
+
+    stroker->style.line_join = line_join_save;
+
+    stroker->current_face = new_face;
+    stroker->has_current_face = TRUE;
+    stroker->current_point = *point;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
 /*
  * Dashed lines.  Cap each dash end, join around turns when on
  */
@@ -973,6 +1128,7 @@ _cairo_stroker_line_to_dashed (void *closure,
     cairo_line_t segment;
     cairo_bool_t fully_in_bounds;
     cairo_status_t status;
+    sub_start.length = 0.0;
 
     stroker->has_initial_sub_path = stroker->dash.dash_starts_on;
 
@@ -1100,7 +1256,6 @@ _cairo_stroker_line_to_dashed (void *closure,
 
     return CAIRO_STATUS_SUCCESS;
 }
-
 static cairo_status_t
 _cairo_stroker_curve_to (void *closure,
                         const cairo_point_t *b,
@@ -1112,18 +1267,28 @@ _cairo_stroker_curve_to (void *closure,
     cairo_line_join_t line_join_save;
     cairo_stroke_face_t face;
     double slope_dx, slope_dy;
-    cairo_path_fixed_line_to_func_t *line_to;
+    cairo_spline_add_point_func_t line_to;
+    cairo_spline_add_point_func_t spline_to;
     cairo_status_t status = CAIRO_STATUS_SUCCESS;
+    face.length = 0.0;
 
     line_to = stroker->dash.dashed ?
-       _cairo_stroker_line_to_dashed :
-       _cairo_stroker_line_to;
+       (cairo_spline_add_point_func_t) _cairo_stroker_line_to_dashed :
+       (cairo_spline_add_point_func_t) _cairo_stroker_line_to;
+
+    /* spline_to is only capable of rendering non-degenerate splines. */
+    spline_to = stroker->dash.dashed ?
+       (cairo_spline_add_point_func_t) _cairo_stroker_line_to_dashed :
+       (cairo_spline_add_point_func_t) _cairo_stroker_spline_to;
 
     if (! _cairo_spline_init (&spline,
-                             (cairo_spline_add_point_func_t)line_to, stroker,
+                             spline_to,
+                             stroker,
                              &stroker->current_point, b, c, d))
     {
-       return line_to (closure, d);
+       cairo_slope_t fallback_slope;
+       _cairo_slope_init (&fallback_slope, &stroker->current_point, d);
+       return line_to (closure, d, &fallback_slope);
     }
 
     /* If the line width is so small that the pen is reduced to a
@@ -1244,8 +1409,9 @@ _cairo_path_fixed_stroke_to_shaper (cairo_path_fixed_t    *path,
     cairo_stroker_t stroker;
     cairo_status_t status;
 
-    status = _cairo_stroker_init (&stroker, stroke_style,
-                                 ctm, ctm_inverse, tolerance);
+    status = _cairo_stroker_init (&stroker, path, stroke_style,
+                                 ctm, ctm_inverse, tolerance,
+                                 NULL, 0);
     if (unlikely (status))
        return status;
 
@@ -1286,18 +1452,15 @@ _cairo_path_fixed_stroke_dashed_to_polygon (const cairo_path_fixed_t    *path,
     cairo_stroker_t stroker;
     cairo_status_t status;
 
-    status = _cairo_stroker_init (&stroker, stroke_style,
-                                 ctm, ctm_inverse, tolerance);
+    status = _cairo_stroker_init (&stroker, path, stroke_style,
+                                 ctm, ctm_inverse, tolerance,
+                                 polygon->limits, polygon->num_limits);
     if (unlikely (status))
        return status;
 
     stroker.add_external_edge = _cairo_polygon_add_external_edge,
     stroker.closure = polygon;
 
-    if (polygon->num_limits)
-       _cairo_stroker_limit (&stroker, path,
-                             polygon->limits, polygon->num_limits);
-
     status = _cairo_path_fixed_interpret (path,
                                          _cairo_stroker_move_to,
                                          stroker.dash.dashed ?
@@ -1320,12 +1483,12 @@ BAIL:
 }
 
 cairo_int_status_t
-_cairo_path_fixed_stroke_to_traps (const cairo_path_fixed_t    *path,
-                                  const cairo_stroke_style_t   *stroke_style,
-                                  const cairo_matrix_t *ctm,
-                                  const cairo_matrix_t *ctm_inverse,
-                                  double                tolerance,
-                                  cairo_traps_t        *traps)
+_cairo_path_fixed_stroke_polygon_to_traps (const cairo_path_fixed_t    *path,
+                                           const cairo_stroke_style_t  *stroke_style,
+                                           const cairo_matrix_t        *ctm,
+                                           const cairo_matrix_t        *ctm_inverse,
+                                           double               tolerance,
+                                           cairo_traps_t       *traps)
 {
     cairo_int_status_t status;
     cairo_polygon_t polygon;
index 5c48373..43cd175 100644 (file)
@@ -37,6 +37,7 @@
 #include "cairoint.h"
 
 #include "cairo-private.h"
+#include "cairo-backend-private.h"
 #include "cairo-error-private.h"
 #include "cairo-path-private.h"
 #include "cairo-path-fixed-private.h"
@@ -152,7 +153,7 @@ _cpp_move_to (void *closure,
     x = _cairo_fixed_to_double (point->x);
     y = _cairo_fixed_to_double (point->y);
 
-    cairo_device_to_user (cpp->cr, &x, &y);
+    _cairo_backend_to_user (cpp->cr, &x, &y);
 
     data->header.type = CAIRO_PATH_MOVE_TO;
     data->header.length = 2;
@@ -177,7 +178,7 @@ _cpp_line_to (void *closure,
     x = _cairo_fixed_to_double (point->x);
     y = _cairo_fixed_to_double (point->y);
 
-    cairo_device_to_user (cpp->cr, &x, &y);
+    _cairo_backend_to_user (cpp->cr, &x, &y);
 
     data->header.type = CAIRO_PATH_LINE_TO;
     data->header.length = 2;
@@ -205,15 +206,15 @@ _cpp_curve_to (void                       *closure,
 
     x1 = _cairo_fixed_to_double (p1->x);
     y1 = _cairo_fixed_to_double (p1->y);
-    cairo_device_to_user (cpp->cr, &x1, &y1);
+    _cairo_backend_to_user (cpp->cr, &x1, &y1);
 
     x2 = _cairo_fixed_to_double (p2->x);
     y2 = _cairo_fixed_to_double (p2->y);
-    cairo_device_to_user (cpp->cr, &x2, &y2);
+    _cairo_backend_to_user (cpp->cr, &x2, &y2);
 
     x3 = _cairo_fixed_to_double (p3->x);
     y3 = _cairo_fixed_to_double (p3->y);
-    cairo_device_to_user (cpp->cr, &x3, &y3);
+    _cairo_backend_to_user (cpp->cr, &x3, &y3);
 
     data->header.type = CAIRO_PATH_CURVE_TO;
     data->header.length = 4;
old mode 100644 (file)
new mode 100755 (executable)
index ddbb2c8..a0092b1
 
 #include <stdio.h> /* FILE* */
 
+#define CAIRO_MAX_SIGMA 4  /* 4 defined in skia */
+#define CAIRO_DEFAULT_SIGMA 0
+#define CAIRO_MAX_BLUR 64
+#define CAIRO_MIN_SHRINK_SIZE 32
+#define CAIRO_MIN_LINE_WIDTH 1.0
+
 CAIRO_BEGIN_DECLS
 
 typedef struct _cairo_pattern_observer cairo_pattern_observer_t;
@@ -75,6 +81,22 @@ struct _cairo_pattern {
 
     cairo_matrix_t             matrix;
     double                     opacity;
+
+    /* we use this to shrink image before we apply blur */
+    unsigned int                shrink_factor_x;
+    unsigned int                shrink_factor_y;
+    unsigned int                x_radius;
+    unsigned int                y_radius;
+    double                      x_sigma;
+    double                      y_sigma;
+
+    double                      *convolution_matrix;
+    cairo_bool_t                convolution_changed;
+
+    /* FIXME:  I don't like to attach shadow to pattern.  However,
+     * cairo does not have a way to pass shadow info to backend.
+     * so we attach shadow info in pattern */
+    cairo_shadow_t             shadow;
 };
 
 struct _cairo_solid_pattern {
@@ -230,9 +252,6 @@ _cairo_pattern_init_for_surface (cairo_surface_pattern_t *pattern,
 cairo_private void
 _cairo_pattern_fini (cairo_pattern_t *pattern);
 
-cairo_private void
-_cairo_pattern_fini_snapshot (cairo_pattern_t *pattern);
-
 cairo_private cairo_pattern_t *
 _cairo_pattern_create_solid (const cairo_color_t       *color);
 
@@ -297,6 +316,10 @@ cairo_private void
 _cairo_pattern_get_extents (const cairo_pattern_t          *pattern,
                            cairo_rectangle_int_t           *extents);
 
+cairo_private void
+_cairo_pattern_get_exact_extents (const cairo_pattern_t            *pattern,
+                                 cairo_rectangle_t         *extents);
+
 cairo_private cairo_int_status_t
 _cairo_pattern_get_ink_extents (const cairo_pattern_t      *pattern,
                                cairo_rectangle_int_t       *extents);
@@ -357,6 +380,15 @@ _cairo_raster_source_pattern_init_copy (cairo_pattern_t *pattern,
 cairo_private void
 _cairo_raster_source_pattern_finish (cairo_pattern_t *abstract_pattern);
 
+cairo_private cairo_status_t
+_cairo_pattern_create_gaussian_matrix (cairo_pattern_t *pattern,
+                                      double           line_width);
+
+unsigned long
+_cairo_pattern_hash_with_hash (unsigned long hash,
+                              const cairo_pattern_t *pattern,
+                              const cairo_bool_t use_color);
+
 cairo_private void
 _cairo_debug_print_pattern (FILE *file, const cairo_pattern_t *pattern);
 
old mode 100644 (file)
new mode 100755 (executable)
index 940227d..4d6094b
@@ -126,7 +126,7 @@ const cairo_solid_pattern_t _cairo_pattern_clear = {
       CAIRO_EXTEND_REPEAT,             /* extend */
       FALSE,                           /* has component alpha */
       { 1., 0., 0., 1., 0., 0., },     /* matrix */
-      1.0                               /* opacity */
+      1.0,                              /* opacity */
     },
     { 0., 0., 0., 0., 0, 0, 0, 0 },/* color (double rgba, short rgba) */
 };
@@ -237,6 +237,15 @@ _cairo_pattern_init (cairo_pattern_t *pattern, cairo_pattern_type_t type)
     cairo_matrix_init_identity (&pattern->matrix);
 
     cairo_list_init (&pattern->observers);
+
+    pattern->x_sigma = 0.0f;
+    pattern->y_sigma = 0.0;
+    pattern->x_radius = 0;
+    pattern->y_radius = 0;
+    pattern->convolution_matrix = NULL;
+    pattern->convolution_changed = FALSE;
+
+    memset (&pattern->shadow, 0, sizeof (cairo_shadow_t));
 }
 
 static cairo_status_t
@@ -284,11 +293,15 @@ static cairo_status_t
 _cairo_mesh_pattern_init_copy (cairo_mesh_pattern_t       *pattern,
                               const cairo_mesh_pattern_t *other)
 {
+    void *data = NULL;
     *pattern = *other;
 
     _cairo_array_init (&pattern->patches,  sizeof (cairo_mesh_patch_t));
+    data = _cairo_array_index_const (&other->patches, 0);
+    if (data == NULL)
+       return CAIRO_STATUS_NULL_POINTER;
     return _cairo_array_append_multiple (&pattern->patches,
-                                        _cairo_array_index_const (&other->patches, 0),
+                                        data,
                                         _cairo_array_num_elements (&other->patches));
 }
 
@@ -358,6 +371,20 @@ _cairo_pattern_init_copy (cairo_pattern_t  *pattern,
     CAIRO_REFERENCE_COUNT_INIT (&pattern->ref_count, 0);
     _cairo_user_data_array_init (&pattern->user_data);
 
+    /* make separate copy of convolution matrix */
+    if (other->convolution_matrix) {
+        int col = 2 * other->x_radius + 1;
+        int row = 2 * other->y_radius + 1;
+        int size = row * col;
+
+        pattern->convolution_matrix = _cairo_malloc_ab (size, sizeof(double));
+       if (pattern->convolution_matrix == NULL)
+           return CAIRO_STATUS_NO_MEMORY;
+
+        memcpy (pattern->convolution_matrix, other->convolution_matrix,
+                sizeof (double) * size);
+    }
+
     return CAIRO_STATUS_SUCCESS;
 }
 
@@ -461,6 +488,9 @@ _cairo_pattern_fini (cairo_pattern_t *pattern)
        break;
     }
 
+    if (pattern->convolution_matrix)
+        free (pattern->convolution_matrix);
+
 #if HAVE_VALGRIND
     switch (pattern->type) {
     case CAIRO_PATTERN_TYPE_SOLID:
@@ -3652,6 +3682,202 @@ _cairo_pattern_get_extents (const cairo_pattern_t         *pattern,
     return;
 }
 
+void
+_cairo_pattern_get_exact_extents (const cairo_pattern_t         *pattern,
+                                 cairo_rectangle_t             *extents)
+{
+    double x1, y1, x2, y2;
+    cairo_status_t status;
+    cairo_rectangle_int_t int_rect;;
+
+    switch (pattern->type) {
+    case CAIRO_PATTERN_TYPE_SOLID:
+       goto UNBOUNDED;
+
+    case CAIRO_PATTERN_TYPE_SURFACE:
+       {
+           cairo_rectangle_int_t surface_extents;
+           const cairo_surface_pattern_t *surface_pattern =
+               (const cairo_surface_pattern_t *) pattern;
+           cairo_surface_t *surface = surface_pattern->surface;
+
+           if (! _cairo_surface_get_extents (surface, &surface_extents))
+               goto UNBOUNDED;
+
+           if (surface_extents.width == 0 || surface_extents.height == 0)
+               goto EMPTY;
+
+           if (pattern->extend != CAIRO_EXTEND_NONE)
+               goto UNBOUNDED;
+
+           x1 = surface_extents.x;
+           y1 = surface_extents.y;
+           x2 = surface_extents.x + surface_extents.width;
+           y2 = surface_extents.y + surface_extents.height;
+       }
+       break;
+
+    case CAIRO_PATTERN_TYPE_RASTER_SOURCE:
+       {
+           const cairo_raster_source_pattern_t *raster =
+               (const cairo_raster_source_pattern_t *) pattern;
+
+           if (raster->extents.width == 0 || raster->extents.height == 0)
+               goto EMPTY;
+
+           if (pattern->extend != CAIRO_EXTEND_NONE)
+               goto UNBOUNDED;
+
+           x1 = raster->extents.x;
+           y1 = raster->extents.y;
+           x2 = raster->extents.x + raster->extents.width;
+           y2 = raster->extents.y + raster->extents.height;
+       }
+       break;
+
+    case CAIRO_PATTERN_TYPE_RADIAL:
+       {
+           const cairo_radial_pattern_t *radial =
+               (const cairo_radial_pattern_t *) pattern;
+           double cx1, cy1;
+           double cx2, cy2;
+           double r1, r2;
+
+           if (_radial_pattern_is_degenerate (radial)) {
+               /* cairo-gstate should have optimised degenerate
+                * patterns to solid clear patterns, so we can ignore
+                * them here. */
+               goto EMPTY;
+           }
+
+           /* TODO: in some cases (focus outside/on the circle) it is
+            * half-bounded. */
+           if (pattern->extend != CAIRO_EXTEND_NONE)
+               goto UNBOUNDED;
+
+           cx1 = radial->cd1.center.x;
+           cy1 = radial->cd1.center.y;
+           r1  = radial->cd1.radius;
+
+           cx2 = radial->cd2.center.x;
+           cy2 = radial->cd2.center.y;
+           r2  = radial->cd2.radius;
+
+           x1 = MIN (cx1 - r1, cx2 - r2);
+           y1 = MIN (cy1 - r1, cy2 - r2);
+           x2 = MAX (cx1 + r1, cx2 + r2);
+           y2 = MAX (cy1 + r1, cy2 + r2);
+       }
+       break;
+
+    case CAIRO_PATTERN_TYPE_LINEAR:
+       {
+           const cairo_linear_pattern_t *linear =
+               (const cairo_linear_pattern_t *) pattern;
+
+           if (pattern->extend != CAIRO_EXTEND_NONE)
+               goto UNBOUNDED;
+
+           if (_linear_pattern_is_degenerate (linear)) {
+               /* cairo-gstate should have optimised degenerate
+                * patterns to solid ones, so we can again ignore
+                * them here. */
+               goto EMPTY;
+           }
+
+           /* TODO: to get tight extents, use the matrix to transform
+            * the pattern instead of transforming the extents later. */
+           if (pattern->matrix.xy != 0. || pattern->matrix.yx != 0.)
+               goto UNBOUNDED;
+
+           if (linear->pd1.x == linear->pd2.x) {
+               x1 = -HUGE_VAL;
+               x2 = HUGE_VAL;
+               y1 = MIN (linear->pd1.y, linear->pd2.y);
+               y2 = MAX (linear->pd1.y, linear->pd2.y);
+           } else if (linear->pd1.y == linear->pd2.y) {
+               x1 = MIN (linear->pd1.x, linear->pd2.x);
+               x2 = MAX (linear->pd1.x, linear->pd2.x);
+               y1 = -HUGE_VAL;
+               y2 = HUGE_VAL;
+           } else {
+               goto  UNBOUNDED;
+           }
+       }
+       break;
+
+    case CAIRO_PATTERN_TYPE_MESH:
+       {
+           const cairo_mesh_pattern_t *mesh =
+               (const cairo_mesh_pattern_t *) pattern;
+           double padx, pady;
+           cairo_bool_t is_valid;
+
+           is_valid = _cairo_mesh_pattern_coord_box (mesh, &x1, &y1, &x2, &y2);
+           if (!is_valid)
+               goto EMPTY;
+
+           padx = pady = 1.;
+           cairo_matrix_transform_distance (&pattern->matrix, &padx, &pady);
+           padx = fabs (padx);
+           pady = fabs (pady);
+
+           x1 -= padx;
+           y1 -= pady;
+           x2 += padx;
+           y2 += pady;
+       }
+       break;
+
+    default:
+       ASSERT_NOT_REACHED;
+    }
+
+    if (_cairo_matrix_is_translation (&pattern->matrix)) {
+       x1 -= pattern->matrix.x0; x2 -= pattern->matrix.x0;
+       y1 -= pattern->matrix.y0; y2 -= pattern->matrix.y0;
+    } else {
+       cairo_matrix_t imatrix;
+
+       imatrix = pattern->matrix;
+       status = cairo_matrix_invert (&imatrix);
+       /* cairo_pattern_set_matrix ensures the matrix is invertible */
+       assert (status == CAIRO_STATUS_SUCCESS);
+
+       _cairo_matrix_transform_bounding_box (&imatrix,
+                                             &x1, &y1, &x2, &y2,
+                                             NULL);
+    }
+
+    if (x1 < CAIRO_RECT_INT_MIN)
+       x1 = CAIRO_RECT_INT_MIN;
+    if (y1 < CAIRO_RECT_INT_MIN)
+       y1 = CAIRO_RECT_INT_MIN;
+
+    if (x2 > CAIRO_RECT_INT_MAX)
+       x2 = CAIRO_RECT_INT_MAX;
+    if (y2 > CAIRO_RECT_INT_MAX)
+       y2 = CAIRO_RECT_INT_MAX;
+
+    extents->x = x1; extents->width  = x2 - x1;
+    extents->y = y1; extents->height = y2 - y1;
+    return;
+
+  UNBOUNDED:
+    /* unbounded patterns -> 'infinite' extents */
+    _cairo_unbounded_rectangle_init (&int_rect);
+    extents->x = int_rect.x;
+    extents->y = int_rect.y;
+    extents->width = int_rect.width;
+    extents->height = int_rect.height;
+    return;
+
+  EMPTY:
+    extents->x = extents->y = 0;
+    extents->width = extents->height = 0;
+    return;
+}
+
 /**
  * _cairo_pattern_get_ink_extents:
  *
@@ -3901,7 +4127,10 @@ _cairo_mesh_pattern_equal (const cairo_mesh_pattern_t *a,
 
     for (i = 0; i < num_patches_a; i++) {
        patch_a = _cairo_array_index_const (&a->patches, i);
-       patch_b = _cairo_array_index_const (&a->patches, i);
+       patch_b = _cairo_array_index_const (&b->patches, i);
+       if (patch_a == NULL || patch_b == NULL)
+           return FALSE;
+
        if (memcmp (patch_a, patch_b, sizeof(cairo_mesh_patch_t)) != 0)
            return FALSE;
     }
@@ -4309,6 +4538,9 @@ cairo_mesh_pattern_get_path (cairo_pattern_t *pattern,
 
     patch = _cairo_array_index_const (&mesh->patches, patch_num);
 
+    if (patch == NULL)
+       return _cairo_path_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_INDEX));
+
     path = malloc (sizeof (cairo_path_t));
     if (path == NULL)
        return _cairo_path_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
@@ -4407,6 +4639,8 @@ cairo_mesh_pattern_get_corner_color_rgba (cairo_pattern_t *pattern,
        return _cairo_error (CAIRO_STATUS_INVALID_INDEX);
 
     patch = _cairo_array_index_const (&mesh->patches, patch_num);
+    if (patch == NULL)
+       return _cairo_error(CAIRO_STATUS_NULL_POINTER);
 
     if (red)
        *red = patch->colors[corner_num].red;
@@ -4473,6 +4707,8 @@ cairo_mesh_pattern_get_control_point (cairo_pattern_t *pattern,
        return _cairo_error (CAIRO_STATUS_INVALID_INDEX);
 
     patch = _cairo_array_index_const (&mesh->patches, patch_num);
+    if (patch == NULL)
+       return _cairo_error (CAIRO_STATUS_NULL_POINTER);
 
     i = mesh_control_point_i[point_num];
     j = mesh_control_point_j[point_num];
@@ -4486,6 +4722,203 @@ cairo_mesh_pattern_get_control_point (cairo_pattern_t *pattern,
 }
 slim_hidden_def (cairo_mesh_pattern_get_control_point);
 
+cairo_status_t
+cairo_pattern_set_sigma (cairo_pattern_t *pattern,
+                         const double     x_sigma,
+                         const double     y_sigma)
+{
+    double x = x_sigma;
+    double y = y_sigma;
+
+    if (pattern->status)
+       return pattern->status;
+
+    if (pattern->filter != CAIRO_FILTER_GAUSSIAN)
+        return CAIRO_STATUS_PATTERN_TYPE_MISMATCH;
+
+    if (pattern->type != CAIRO_PATTERN_TYPE_SURFACE)
+       return CAIRO_STATUS_PATTERN_TYPE_MISMATCH;
+
+
+    if (x < 0.0)
+       x = 0.0;
+    if (y < 0.0)
+       y = 0.0;
+
+    if (pattern->x_sigma == x &&
+       pattern->y_sigma == y)
+        return CAIRO_STATUS_SUCCESS;
+
+    if (x > CAIRO_MAX_BLUR >> 1)
+       x = CAIRO_MAX_BLUR >> 1;
+    if (y > CAIRO_MAX_BLUR >> 1)
+       y = CAIRO_MAX_BLUR >> 1;
+
+    pattern->x_sigma = x;
+    pattern->y_sigma = y;
+    pattern->convolution_changed = TRUE;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_status_t
+cairo_pattern_get_sigma (cairo_pattern_t *pattern,
+                         double          *x_sigma,
+                         double          *y_sigma)
+{
+    if (pattern->status)
+       return pattern->status;
+
+    if (pattern->filter != CAIRO_FILTER_GAUSSIAN)
+       return CAIRO_STATUS_PATTERN_TYPE_MISMATCH;
+
+    if (pattern->type != CAIRO_PATTERN_TYPE_SURFACE)
+       return CAIRO_STATUS_PATTERN_TYPE_MISMATCH;
+
+    *x_sigma = pattern->x_sigma;
+    *y_sigma = pattern->y_sigma;
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_status_t
+_cairo_pattern_create_gaussian_matrix (cairo_pattern_t *pattern,
+                                      double           line_width)
+{
+    double x_sigma, y_sigma;
+    unsigned int x_factor, y_factor;
+
+    double x_sigma_sq, y_sigma_sq;
+    int row, col, n;
+    double *buffer;
+    int i, x, y;
+    double u, v;
+    double u1, v1;
+    double sum = 0.0;
+    cairo_rectangle_int_t extents;
+    int width = CAIRO_MIN_SHRINK_SIZE;
+    int height = CAIRO_MIN_SHRINK_SIZE;
+    double min_line_width = (line_width >= 1.0) ? CAIRO_MIN_LINE_WIDTH : line_width;
+    double max_sigma = CAIRO_MAX_SIGMA;
+    double test_line_width = line_width;
+
+    if (pattern->status)
+       return pattern->status;
+
+    if (pattern->filter != CAIRO_FILTER_GAUSSIAN)
+       return CAIRO_STATUS_PATTERN_TYPE_MISMATCH;
+
+    if (pattern->type != CAIRO_PATTERN_TYPE_SURFACE)
+       return CAIRO_STATUS_PATTERN_TYPE_MISMATCH;
+
+    if (! pattern->convolution_changed)
+        return CAIRO_STATUS_SUCCESS;
+
+    if (_cairo_surface_get_extents (((cairo_surface_pattern_t *)pattern)->surface, &extents)) {
+       width = extents.width;
+       height = extents.height;
+    }
+
+    x_factor = 1;
+    y_factor = 1;
+    x_sigma = pattern->x_sigma;
+    y_sigma = pattern->y_sigma;
+
+    /* no blur */
+    if (x_sigma == 0.0 && y_sigma == 0.0) {
+       if (pattern->convolution_matrix)
+           free (pattern->convolution_matrix);
+       pattern->convolution_matrix = NULL;
+
+        return CAIRO_STATUS_SUCCESS;
+    }
+
+    if (x_sigma == 0.0)
+        pattern->x_radius = 0;
+    else {
+       while (x_sigma >= max_sigma && test_line_width >= min_line_width) {
+           if (width <= CAIRO_MIN_SHRINK_SIZE)
+               break;
+
+           x_sigma /= 2.0;
+           x_factor *= 2;
+           width *= 0.5;
+           test_line_width *= 0.5;
+       }
+       if (x_sigma > max_sigma)
+           x_sigma = max_sigma;
+        /* XXX: skia uses 3, we follow css spec which is 2 */
+       pattern->x_radius = ceil (x_sigma * 2);
+    }
+    pattern->shrink_factor_x = x_factor;
+    test_line_width = line_width;
+
+    if (y_sigma == 0.0)
+        pattern->y_radius = 0;
+    else {
+       while (y_sigma >= max_sigma && test_line_width >= min_line_width) {
+           if (height <= CAIRO_MIN_SHRINK_SIZE)
+               break;
+
+           y_sigma *= 0.5;
+           y_factor *= 2;
+           height *= 0.5;
+           test_line_width *= 0.5;
+       }
+       if (y_sigma > max_sigma)
+           y_sigma = max_sigma;
+       pattern->y_radius = ceil (y_sigma * 2);
+    }
+    pattern->shrink_factor_y = y_factor;
+
+    if (pattern->convolution_matrix)
+       free (pattern->convolution_matrix);
+
+    pattern->convolution_matrix = NULL;
+
+    /* 2D gaussian
+     * f(x, y) = exp (-((x-x0)^2/(2*x_sigma^2)+(y-y0)^2/(2*y_sigma*2)))
+     */
+    row = pattern->y_radius;
+    col = pattern->x_radius;
+    n = (2 * row + 1) * (2 * col + 1);
+
+    x_sigma_sq = 2 * x_sigma * x_sigma;
+    y_sigma_sq = 2 * y_sigma * y_sigma;
+
+    buffer = _cairo_malloc_ab (n, sizeof (double));
+    if (buffer == NULL)
+       return CAIRO_STATUS_NO_MEMORY;
+
+    i = 0;
+    for (y = -row; y <= row; y++) {
+        for (x = - col; x <= col; x++) {
+            u = x * x;
+            v = y * y;
+           if (u == 0.0)
+               u1 = 0.0;
+           else
+               u1 = u / x_sigma_sq;
+
+           if (v == 0.0)
+               v1 = 0.0;
+           else
+               v1 = v / y_sigma_sq;
+            buffer[i] = exp (-(u1 + v1));
+            sum += buffer[i];
+            i++;
+        }
+    }
+
+    /* normalize */
+    sum = 1.0 / sum;
+    for (i = 0; i < n; i++)
+        buffer[i] *= sum;
+
+    pattern->convolution_matrix = buffer;
+    pattern->convolution_changed = FALSE;
+    return CAIRO_STATUS_SUCCESS;
+}
+
 void
 _cairo_pattern_reset_static_data (void)
 {
@@ -4589,3 +5022,55 @@ _cairo_debug_print_pattern (FILE *file, const cairo_pattern_t *pattern)
        break;
     }
 }
+
+static unsigned long
+_cairo_solid_pattern_alpha_hash (unsigned long hash,
+                                const cairo_solid_pattern_t *solid)
+{
+    return _cairo_hash_bytes (hash, &solid->color.alpha, sizeof (double));
+}
+
+unsigned long
+_cairo_pattern_hash_with_hash (unsigned long hash,
+                              const cairo_pattern_t *pattern,
+                              const cairo_bool_t use_color)
+{
+    if (pattern->status)
+       return hash;
+
+    hash = _cairo_hash_bytes (hash, &pattern->type, sizeof (pattern->type));
+    if (pattern->type != CAIRO_PATTERN_TYPE_SOLID) {
+       hash = _cairo_hash_bytes (hash, &pattern->matrix, sizeof (double) * 4);
+       hash = _cairo_hash_bytes (hash,
+                                 &pattern->filter, sizeof (pattern->filter));
+       hash = _cairo_hash_bytes (hash,
+                                 &pattern->extend, sizeof (pattern->extend));
+       hash = _cairo_hash_bytes (hash,
+                                 &pattern->has_component_alpha,
+                                 sizeof (pattern->has_component_alpha));
+    }
+
+    if (pattern->type == CAIRO_PATTERN_TYPE_SURFACE)
+       hash = _cairo_hash_bytes (hash, &pattern->x_sigma, sizeof (double) * 2);
+
+    switch (pattern->type) {
+    case CAIRO_PATTERN_TYPE_SOLID:
+       if (use_color)
+           return _cairo_solid_pattern_hash (hash, (cairo_solid_pattern_t *) pattern);
+       else
+           return _cairo_solid_pattern_alpha_hash (hash, (cairo_solid_pattern_t *) pattern);
+    case CAIRO_PATTERN_TYPE_LINEAR:
+       return _cairo_linear_pattern_hash (hash, (cairo_linear_pattern_t *) pattern);
+    case CAIRO_PATTERN_TYPE_RADIAL:
+       return _cairo_radial_pattern_hash (hash, (cairo_radial_pattern_t *) pattern);
+    case CAIRO_PATTERN_TYPE_MESH:
+       return _cairo_mesh_pattern_hash (hash, (cairo_mesh_pattern_t *) pattern);
+    case CAIRO_PATTERN_TYPE_SURFACE:
+       return _cairo_surface_pattern_hash (hash, (cairo_surface_pattern_t *) pattern);
+    case CAIRO_PATTERN_TYPE_RASTER_SOURCE:
+       return _cairo_raster_source_pattern_hash (hash, (cairo_raster_source_pattern_t *) pattern);
+    default:
+       ASSERT_NOT_REACHED;
+       return FALSE;
+    }
+}
index 646e2cd..6a2fe36 100644 (file)
@@ -160,6 +160,8 @@ _cairo_pdf_shading_generate_data (cairo_pdf_shading_t        *shading,
 
     num_patches = _cairo_array_num_elements (&mesh->patches);
     patch = _cairo_array_index_const (&mesh->patches, 0);
+    if (patch == NULL)
+       return _cairo_error (CAIRO_STATUS_NULL_POINTER);
 
     /* Each patch requires:
      *
@@ -252,7 +254,10 @@ _cairo_pdf_shading_init (cairo_pdf_shading_t        *shading,
     if (unlikely (status))
        return status;
 
-    return _cairo_pdf_shading_generate_data (shading, mesh, is_alpha);
+    status = _cairo_pdf_shading_generate_data (shading, mesh, is_alpha);
+    if (unlikely (status))
+       free (shading->decode_array);
+    return status;
 }
 
 cairo_status_t
index a58fbbf..d9f65d8 100644 (file)
@@ -75,8 +75,6 @@ typedef struct _cairo_pdf_source_surface_entry {
     cairo_pdf_resource_t surface_res;
     int width;
     int height;
-    double x_offset;
-    double y_offset;
     cairo_rectangle_int_t extents;
 } cairo_pdf_source_surface_entry_t;
 
index a017601..a0bf1c1 100644 (file)
@@ -52,7 +52,7 @@
 #include "cairo-composite-rectangles-private.h"
 #include "cairo-default-context-private.h"
 #include "cairo-error-private.h"
-#include "cairo-image-surface-private.h"
+#include "cairo-image-surface-inline.h"
 #include "cairo-image-info-private.h"
 #include "cairo-recording-surface-private.h"
 #include "cairo-output-stream-private.h"
@@ -270,7 +270,8 @@ _cairo_pdf_surface_update_object (cairo_pdf_surface_t       *surface,
     cairo_pdf_object_t *object;
 
     object = _cairo_array_index (&surface->objects, resource.id - 1);
-    object->offset = _cairo_output_stream_get_position (surface->output);
+    if (object)
+       object->offset = _cairo_output_stream_get_position (surface->output);
 }
 
 static void
@@ -694,14 +695,16 @@ _cairo_pdf_surface_clear (cairo_pdf_surface_t *surface)
     size = _cairo_array_num_elements (&surface->page_patterns);
     for (i = 0; i < size; i++) {
        pattern = (cairo_pdf_pattern_t *) _cairo_array_index (&surface->page_patterns, i);
-       cairo_pattern_destroy (pattern->pattern);
+       if (pattern)
+           cairo_pattern_destroy (pattern->pattern);
     }
     _cairo_array_truncate (&surface->page_patterns, 0);
 
     size = _cairo_array_num_elements (&surface->page_surfaces);
     for (i = 0; i < size; i++) {
        src_surface = (cairo_pdf_source_surface_t *) _cairo_array_index (&surface->page_surfaces, i);
-       cairo_surface_destroy (src_surface->surface);
+       if (src_surface)
+           cairo_surface_destroy (src_surface->surface);
     }
     _cairo_array_truncate (&surface->page_surfaces, 0);
 
@@ -957,6 +960,8 @@ _cairo_pdf_surface_emit_group_resources (cairo_pdf_surface_t         *surface,
 
        for (i = 0; i < num_smasks; i++) {
            smask = _cairo_array_index (&res->smasks, i);
+           if (smask == NULL)
+               return;
            _cairo_output_stream_printf (surface->output,
                                         "      /s%d %d 0 R\n",
                                         smask->id, smask->id);
@@ -972,6 +977,8 @@ _cairo_pdf_surface_emit_group_resources (cairo_pdf_surface_t         *surface,
                                     "   /Pattern <<");
        for (i = 0; i < num_resources; i++) {
            pattern = _cairo_array_index (&res->patterns, i);
+           if (pattern == NULL)
+               return;
            _cairo_output_stream_printf (surface->output,
                                         " /p%d %d 0 R",
                                         pattern->id, pattern->id);
@@ -987,6 +994,8 @@ _cairo_pdf_surface_emit_group_resources (cairo_pdf_surface_t         *surface,
                                     "   /Shading <<");
        for (i = 0; i < num_resources; i++) {
            shading = _cairo_array_index (&res->shadings, i);
+           if (shading == NULL)
+               return;
            _cairo_output_stream_printf (surface->output,
                                         " /sh%d %d 0 R",
                                         shading->id, shading->id);
@@ -1003,6 +1012,8 @@ _cairo_pdf_surface_emit_group_resources (cairo_pdf_surface_t         *surface,
 
        for (i = 0; i < num_resources; i++) {
            xobject = _cairo_array_index (&res->xobjects, i);
+           if (xobject == NULL)
+               return;
            _cairo_output_stream_printf (surface->output,
                                         " /x%d %d 0 R",
                                         xobject->id, xobject->id);
@@ -1017,6 +1028,9 @@ _cairo_pdf_surface_emit_group_resources (cairo_pdf_surface_t         *surface,
        _cairo_output_stream_printf (surface->output,"   /Font <<\n");
        for (i = 0; i < num_resources; i++) {
            font = _cairo_array_index (&res->fonts, i);
+           if (font == NULL)
+               return;
+
            _cairo_output_stream_printf (surface->output,
                                         "      /f-%d-%d %d 0 R\n",
                                         font->font_id,
@@ -1058,7 +1072,6 @@ _cairo_pdf_surface_create_smask_group (cairo_pdf_surface_t            *surface,
        group->extents.width = surface->width;
        group->extents.height = surface->height;
     }
-    group->extents = *extents;
 
     return group;
 }
@@ -1116,7 +1129,6 @@ _cairo_pdf_source_surface_init_key (cairo_pdf_source_surface_entry_t *key)
 static cairo_int_status_t
 _cairo_pdf_surface_acquire_source_image_from_pattern (cairo_pdf_surface_t          *surface,
                                                      const cairo_pattern_t        *pattern,
-                                                     const cairo_rectangle_int_t  *extents,
                                                      cairo_image_surface_t       **image,
                                                      void                        **image_extra)
 {
@@ -1128,10 +1140,10 @@ _cairo_pdf_surface_acquire_source_image_from_pattern (cairo_pdf_surface_t
 
     case CAIRO_PATTERN_TYPE_RASTER_SOURCE: {
        cairo_surface_t *surf;
-       surf = _cairo_raster_source_pattern_acquire (pattern, &surface->base, extents);
+       surf = _cairo_raster_source_pattern_acquire (pattern, &surface->base, NULL);
        if (!surf)
            return CAIRO_INT_STATUS_UNSUPPORTED;
-       assert (cairo_surface_get_type (surf) == CAIRO_SURFACE_TYPE_IMAGE);
+       assert (_cairo_surface_is_image (surf));
        *image = (cairo_image_surface_t *) surf;
     } break;
 
@@ -1324,8 +1336,6 @@ _cairo_pdf_surface_add_source_surface (cairo_pdf_surface_t            *surface,
     cairo_bool_t interpolate;
     unsigned char *unique_id;
     unsigned long unique_id_length = 0;
-    cairo_box_t box;
-    cairo_rectangle_int_t rect;
     cairo_image_surface_t *image;
     void *image_extra;
 
@@ -1347,13 +1357,8 @@ _cairo_pdf_surface_add_source_surface (cairo_pdf_surface_t           *surface,
     *y_offset = 0;
     if (source_pattern) {
        if (source_pattern->type == CAIRO_PATTERN_TYPE_RASTER_SOURCE) {
-           /* get the operation extents in pattern space */
-           _cairo_box_from_rectangle (&box, extents);
-           _cairo_matrix_transform_bounding_box_fixed (&source_pattern->matrix, &box, NULL);
-           _cairo_box_round_to_rectangle (&box, &rect);
            status = _cairo_pdf_surface_acquire_source_image_from_pattern (surface, source_pattern,
-                                                                          &rect, &image,
-                                                                          &image_extra);
+                                                                          &image, &image_extra);
            if (unlikely (status))
                return status;
            source_surface = &image->base;
@@ -1420,8 +1425,6 @@ release_source:
     surface_entry->unique_id = unique_id;
     surface_entry->width = *width;
     surface_entry->height = *height;
-    surface_entry->x_offset = *x_offset;
-    surface_entry->y_offset = *y_offset;
     surface_entry->extents = *source_extents;
     _cairo_pdf_source_surface_init_key (surface_entry);
 
@@ -1969,6 +1972,8 @@ _cairo_pdf_surface_finish (void *abstract_surface)
        status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
     offset = _cairo_pdf_surface_write_xref (surface);
+    if (offset == -1)
+       status =  _cairo_error (CAIRO_STATUS_INVALID_INDEX);
 
     _cairo_output_stream_printf (surface->output,
                                 "trailer\n"
@@ -2122,7 +2127,7 @@ _cairo_pdf_surface_add_padded_image_surface (cairo_pdf_surface_t          *surfa
     cairo_rectangle_int_t rect;
     cairo_surface_pattern_t pad_pattern;
 
-    status = _cairo_pdf_surface_acquire_source_image_from_pattern (surface, source, extents,
+    status = _cairo_pdf_surface_acquire_source_image_from_pattern (surface, source,
                                                                   &image, &image_extra);
     if (unlikely (status))
         return status;
@@ -2142,7 +2147,7 @@ _cairo_pdf_surface_add_padded_image_surface (cairo_pdf_surface_t          *surfa
        _cairo_fixed_integer_floor(box.p2.y) > w ||
        _cairo_fixed_integer_floor(box.p2.y) > h)
     {
-       pad_image = _cairo_image_surface_create_with_content (cairo_surface_get_content (&image->base),
+       pad_image = _cairo_image_surface_create_with_content (image->base.content,
                                                              rect.width,
                                                              rect.height);
        if (pad_image->status) {
@@ -2159,8 +2164,6 @@ _cairo_pdf_surface_add_padded_image_surface (cairo_pdf_surface_t          *surfa
         _cairo_pattern_fini (&pad_pattern.base);
         if (unlikely (status))
             goto BAIL;
-
-       cairo_surface_set_device_offset (pad_image, rect.x, rect.y);
     }
 
     status = _cairo_pdf_surface_add_source_surface (surface,
@@ -2178,6 +2181,18 @@ _cairo_pdf_surface_add_padded_image_surface (cairo_pdf_surface_t          *surfa
     if (unlikely (status))
         goto BAIL;
 
+    if (pad_image != &image->base) {
+       /* If using a padded image, replace _add_source_surface
+        * x/y_offset with padded image offset. Note:
+        * _add_source_surface only sets a non zero x/y_offset for
+        * RASTER_SOURCE patterns. _add_source_surface will always set
+        * x/y_offset to 0 for surfaces so we can ignore the returned
+        * offset and replace it with the offset required for the
+        * padded image */
+       *x_offset = rect.x;
+       *y_offset = rect.y;
+    }
+
 BAIL:
     if (pad_image != &image->base)
         cairo_surface_destroy (pad_image);
@@ -2353,7 +2368,7 @@ _cairo_pdf_surface_emit_image (cairo_pdf_surface_t     *surface,
        cairo_surface_t *surf;
        cairo_surface_pattern_t pattern;
 
-       surf = _cairo_image_surface_create_with_content (cairo_surface_get_content (&image_surf->base),
+       surf = _cairo_image_surface_create_with_content (image_surf->base.content,
                                                         image_surf->width,
                                                         image_surf->height);
        image = (cairo_image_surface_t *) surf;
@@ -2638,7 +2653,6 @@ _cairo_pdf_surface_emit_image_surface (cairo_pdf_surface_t        *surface,
        status = _cairo_surface_acquire_source_image (source->surface, &image, &image_extra);
     } else {
        status = _cairo_pdf_surface_acquire_source_image_from_pattern (surface, source->raster_pattern,
-                                                                      &source->hash_entry->extents,
                                                                       &image, &image_extra);
     }
     if (unlikely (status))
@@ -2681,11 +2695,28 @@ _cairo_pdf_surface_emit_recording_surface (cairo_pdf_surface_t        *surface,
     int alpha = 0;
     cairo_surface_t *free_me = NULL;
     cairo_surface_t *source;
+    const cairo_rectangle_int_t *extents;
+    int width;
+    int height;
+    cairo_bool_t is_subsurface;
 
     assert (pdf_source->type == CAIRO_PATTERN_TYPE_SURFACE);
+    extents = &pdf_source->hash_entry->extents;
+    width = pdf_source->hash_entry->width;
+    height = pdf_source->hash_entry->height;
+    is_subsurface = FALSE;
     source = pdf_source->surface;
-    if (_cairo_surface_is_snapshot (source))
+    if (_cairo_surface_is_snapshot (source)) {
        free_me = source = _cairo_surface_snapshot_get_target (source);
+    } else if (source->backend->type == CAIRO_SURFACE_TYPE_SUBSURFACE) {
+       cairo_surface_subsurface_t *sub = (cairo_surface_subsurface_t *) source;
+
+       source = sub->target;
+       extents = &sub->extents;
+       width = extents->width;
+       height = extents->height;
+       is_subsurface = TRUE;
+    }
 
     old_width = surface->width;
     old_height = surface->height;
@@ -2694,21 +2725,20 @@ _cairo_pdf_surface_emit_recording_surface (cairo_pdf_surface_t        *surface,
     _cairo_surface_clipper_init (&surface->clipper,
                                 _cairo_pdf_surface_clipper_intersect_clip_path);
 
-    _cairo_pdf_surface_set_size_internal (surface,
-                                         pdf_source->hash_entry->width,
-                                         pdf_source->hash_entry->height);
+    _cairo_pdf_surface_set_size_internal (surface, width, height);
+
     /* Patterns are emitted after fallback images. The paginated mode
      * needs to be set to _RENDER while the recording surface is replayed
      * back to this surface.
      */
     surface->paginated_mode = CAIRO_PAGINATED_MODE_RENDER;
     _cairo_pdf_group_resources_clear (&surface->resources);
-    _get_bbox_from_extents (pdf_source->hash_entry->height, &pdf_source->hash_entry->extents, &bbox);
+    _get_bbox_from_extents (height, extents, &bbox);
     status = _cairo_pdf_surface_open_content_stream (surface, &bbox, &pdf_source->hash_entry->surface_res, TRUE);
     if (unlikely (status))
        goto err;
 
-    if (cairo_surface_get_content (source) == CAIRO_CONTENT_COLOR) {
+    if (source->content == CAIRO_CONTENT_COLOR) {
        status = _cairo_pdf_surface_add_alpha (surface, 1.0, &alpha);
        if (unlikely (status))
            goto err;
@@ -2721,7 +2751,7 @@ _cairo_pdf_surface_emit_recording_surface (cairo_pdf_surface_t        *surface,
     }
 
     status = _cairo_recording_surface_replay_region (source,
-                                                    NULL,
+                                                    is_subsurface ? extents : NULL,
                                                     &surface->base,
                                                     CAIRO_RECORDING_REGION_NATIVE);
     assert (status != CAIRO_INT_STATUS_UNSUPPORTED);
@@ -2743,89 +2773,13 @@ err:
 }
 
 static cairo_status_t
-_cairo_pdf_surface_emit_recording_subsurface (cairo_pdf_surface_t  *surface,
-                                             cairo_surface_t      *recording_surface,
-                                             const cairo_rectangle_int_t *extents,
-                                             cairo_pdf_resource_t  resource)
-{
-    double old_width, old_height;
-    cairo_paginated_mode_t old_paginated_mode;
-    cairo_surface_clipper_t old_clipper;
-    cairo_box_double_t bbox;
-    cairo_int_status_t status;
-    int alpha = 0;
-
-    old_width = surface->width;
-    old_height = surface->height;
-    old_paginated_mode = surface->paginated_mode;
-    old_clipper = surface->clipper;
-    _cairo_surface_clipper_init (&surface->clipper,
-                                _cairo_pdf_surface_clipper_intersect_clip_path);
-
-    _cairo_pdf_surface_set_size_internal (surface,
-                                         extents->width,
-                                         extents->height);
-    /* Patterns are emitted after fallback images. The paginated mode
-     * needs to be set to _RENDER while the recording surface is replayed
-     * back to this surface.
-     */
-    surface->paginated_mode = CAIRO_PAGINATED_MODE_RENDER;
-    _cairo_pdf_group_resources_clear (&surface->resources);
-    _get_bbox_from_extents (extents->height, extents, &bbox);
-    status = _cairo_pdf_surface_open_content_stream (surface, &bbox, &resource, TRUE);
-    if (unlikely (status))
-       return status;
-
-    if (cairo_surface_get_content (recording_surface) == CAIRO_CONTENT_COLOR) {
-       status = _cairo_pdf_surface_add_alpha (surface, 1.0, &alpha);
-       if (unlikely (status))
-           return status;
-
-       _cairo_output_stream_printf (surface->output,
-                                    "q /a%d gs 0 0 0 rg 0 0 %f %f re f Q\n",
-                                    alpha,
-                                    surface->width,
-                                    surface->height);
-    }
-
-    status = _cairo_recording_surface_replay_region (recording_surface,
-                                                    extents,
-                                                    &surface->base,
-                                                    CAIRO_RECORDING_REGION_NATIVE);
-    assert (status != CAIRO_INT_STATUS_UNSUPPORTED);
-    if (unlikely (status))
-       return status;
-
-    status = _cairo_pdf_surface_close_content_stream (surface);
-
-    _cairo_surface_clipper_reset (&surface->clipper);
-    surface->clipper = old_clipper;
-    _cairo_pdf_surface_set_size_internal (surface,
-                                         old_width,
-                                         old_height);
-    surface->paginated_mode = old_paginated_mode;
-
-    return status;
-}
-
-static cairo_status_t
 _cairo_pdf_surface_emit_surface (cairo_pdf_surface_t        *surface,
                                 cairo_pdf_source_surface_t *src_surface)
 {
-    if (src_surface->type == CAIRO_PATTERN_TYPE_SURFACE) {
-       if (src_surface->surface->type == CAIRO_SURFACE_TYPE_RECORDING) {
-           if (src_surface->surface->backend->type == CAIRO_SURFACE_TYPE_SUBSURFACE) {
-               cairo_surface_subsurface_t *sub = (cairo_surface_subsurface_t *) src_surface->surface;
-               return _cairo_pdf_surface_emit_recording_subsurface (surface,
-                                                                    sub->target,
-                                                                    &sub->extents,
-                                                                    src_surface->hash_entry->surface_res);
-           } else {
-               return _cairo_pdf_surface_emit_recording_surface (surface,
-                                                                 src_surface);
-           }
-       }
-    }
+    if (src_surface->type == CAIRO_PATTERN_TYPE_SURFACE &&
+       src_surface->surface->type == CAIRO_SURFACE_TYPE_RECORDING)
+       return _cairo_pdf_surface_emit_recording_surface (surface, src_surface);
+
     return _cairo_pdf_surface_emit_image_surface (surface, src_surface);
 }
 
@@ -3442,6 +3396,7 @@ cairo_pdf_surface_emit_transparency_group (cairo_pdf_surface_t  *surface,
     cairo_pdf_resource_t smask_resource;
     cairo_status_t status;
     char buf[100];
+    double x1, y1, x2, y2;
 
     if (pdf_pattern->is_shading) {
        snprintf(buf, sizeof(buf),
@@ -3457,13 +3412,36 @@ cairo_pdf_surface_emit_transparency_group (cairo_pdf_surface_t  *surface,
                 gradient_mask.id);
     }
 
+    if (pdf_pattern->is_shading) {
+       cairo_box_t box;
+
+       /* When emitting a shading operator we are in cairo pattern
+        * coordinates. _cairo_pdf_surface_paint_gradient has set the
+        * ctm to the pattern matrix (including the convertion from
+        * pdf to cairo coordinates) */
+       _cairo_box_from_rectangle (&box, &pdf_pattern->extents);
+       _cairo_box_to_doubles (&box, &x1, &y1, &x2, &y2);
+       _cairo_matrix_transform_bounding_box (&pdf_pattern->pattern->matrix, &x1, &y1, &x2, &y2, NULL);
+    } else {
+       cairo_box_double_t box;
+
+       /* When emitting a shading pattern we are in pdf page
+        * coordinates. The color and alpha shading patterns painted
+        * in the XObject below contain the cairo pattern to pdf page
+        * matrix in the /Matrix entry of the pattern. */
+       _get_bbox_from_extents (pdf_pattern->height, &pdf_pattern->extents, &box);
+       x1 = box.p1.x;
+       y1 = box.p1.y;
+       x2 = box.p2.x;
+       y2 = box.p2.y;
+    }
     status = _cairo_pdf_surface_open_stream (surface,
                                             NULL,
                                             surface->compress_content,
                                             "   /Type /XObject\n"
                                             "   /Subtype /Form\n"
                                             "   /FormType 1\n"
-                                            "   /BBox [ 0 0 %f %f ]\n"
+                                            "   /BBox [ %f %f %f %f ]\n"
                                             "   /Resources\n"
                                             "      << /ExtGState\n"
                                             "            << /a0 << /ca 1 /CA 1 >>"
@@ -3476,8 +3454,7 @@ cairo_pdf_surface_emit_transparency_group (cairo_pdf_surface_t  *surface,
                                             "         /I true\n"
                                             "         /CS /DeviceGray\n"
                                             "      >>\n",
-                                            surface->width,
-                                            surface->height,
+                                            x1,y1,x2,y2,
                                             buf);
     if (unlikely (status))
        return status;
@@ -5379,7 +5356,9 @@ _cairo_pdf_surface_analyze_user_font_subset (cairo_scaled_font_subset_t *font_su
                                                       surface->font_subsets);
     if (unlikely (type3_surface->status)) {
        status2 = _cairo_output_stream_destroy (null_stream);
-       return type3_surface->status;
+       status = type3_surface->status;
+       cairo_surface_destroy (type3_surface);
+       return status;
     }
 
     _cairo_type3_glyph_surface_set_font_subsets_callback (type3_surface,
@@ -5441,7 +5420,9 @@ _cairo_pdf_surface_emit_type3_font_subset (cairo_pdf_surface_t            *surface,
     if (unlikely (type3_surface->status)) {
         free (glyphs);
         free (widths);
-       return type3_surface->status;
+       status = type3_surface->status;
+       cairo_surface_destroy (type3_surface);
+       return status;
     }
 
     _cairo_type3_glyph_surface_set_font_subsets_callback (type3_surface,
@@ -5707,6 +5688,8 @@ _cairo_pdf_surface_write_xref (cairo_pdf_surface_t *surface)
                                 "0000000000 65535 f \n");
     for (i = 0; i < num_objects; i++) {
        object = _cairo_array_index (&surface->objects, i);
+       if (object == NULL)
+           return -1;
        snprintf (buffer, sizeof buffer, "%010ld", object->offset);
        _cairo_output_stream_printf (surface->output,
                                     "%s 00000 n \n", buffer);
@@ -6170,8 +6153,7 @@ _surface_pattern_supported (cairo_surface_pattern_t *pattern)
      * don't think it's worth the extra code to support it. */
 
 /* XXX: Need to write this function here...
-    content = cairo_surface_get_content (pattern->surface);
-    if (content == CAIRO_CONTENT_ALPHA)
+    if (pattern->surface->content == CAIRO_CONTENT_ALPHA)
        return FALSE;
 */
 
@@ -6270,10 +6252,28 @@ _cairo_pdf_surface_analyze_operation (cairo_pdf_surface_t  *surface,
            cairo_surface_pattern_t *surface_pattern = (cairo_surface_pattern_t *) pattern;
 
            if (surface_pattern->surface->type == CAIRO_SURFACE_TYPE_RECORDING) {
-               if (pattern->extend == CAIRO_EXTEND_PAD)
-                   return CAIRO_INT_STATUS_UNSUPPORTED;
-               else
-                   return CAIRO_INT_STATUS_ANALYZE_RECORDING_SURFACE_PATTERN;
+               if (pattern->extend == CAIRO_EXTEND_PAD) {
+                   cairo_box_t box;
+                   cairo_rectangle_int_t rect;
+                   cairo_rectangle_int_t rec_extents;
+
+                   /* get the operation extents in pattern space */
+                   _cairo_box_from_rectangle (&box, extents);
+                   _cairo_matrix_transform_bounding_box_fixed (&pattern->matrix, &box, NULL);
+                   _cairo_box_round_to_rectangle (&box, &rect);
+
+                   /* Check if surface needs padding to fill extents */
+                   if (_cairo_surface_get_extents (surface_pattern->surface, &rec_extents)) {
+                       if (_cairo_fixed_integer_ceil(box.p1.x) < rec_extents.x ||
+                           _cairo_fixed_integer_ceil(box.p1.y) < rec_extents.y ||
+                           _cairo_fixed_integer_floor(box.p2.y) > rec_extents.x + rec_extents.width ||
+                           _cairo_fixed_integer_floor(box.p2.y) > rec_extents.y + rec_extents.height)
+                       {
+                           return CAIRO_INT_STATUS_UNSUPPORTED;
+                       }
+                   }
+               }
+               return CAIRO_INT_STATUS_ANALYZE_RECORDING_SURFACE_PATTERN;
            }
        }
 
@@ -6370,7 +6370,7 @@ _cairo_pdf_surface_emit_stencil_mask (cairo_pdf_surface_t         *surface,
        return CAIRO_INT_STATUS_UNSUPPORTED;
     }
 
-    status = _cairo_pdf_surface_acquire_source_image_from_pattern (surface, mask, extents,
+    status = _cairo_pdf_surface_acquire_source_image_from_pattern (surface, mask,
                                                                   &image, &image_extra);
     if (unlikely (status))
        return status;
index e71f7b5..61be0e8 100644 (file)
 #include "cairo-error-private.h"
 #include "cairo-slope-private.h"
 
-static int
-_cairo_pen_vertices_needed (double tolerance,
-                           double radius,
-                           const cairo_matrix_t *matrix);
-
 static void
 _cairo_pen_compute_slopes (cairo_pen_t *pen);
 
@@ -88,10 +83,12 @@ _cairo_pen_init (cairo_pen_t        *pen,
      * is reflecting
      */
     for (i=0; i < pen->num_vertices; i++) {
-       double theta = 2 * M_PI * i / (double) pen->num_vertices;
-       double dx = radius * cos (reflect ? -theta : theta);
-       double dy = radius * sin (reflect ? -theta : theta);
        cairo_pen_vertex_t *v = &pen->vertices[i];
+       double theta = 2 * M_PI * i / (double) pen->num_vertices, dx, dy;
+       if (reflect)
+           theta = -theta;
+       dx = radius * cos (theta);
+       dy = radius * sin (theta);
        cairo_matrix_transform_distance (ctm, &dx, &dy);
        v->point.x = _cairo_fixed_from_double (dx);
        v->point.y = _cairo_fixed_from_double (dy);
@@ -273,7 +270,7 @@ Note that this also equation works for M == m (a circle) as it
 doesn't matter where on the circle the error is computed.
 */
 
-static int
+int
 _cairo_pen_vertices_needed (double         tolerance,
                            double          radius,
                            const cairo_matrix_t  *matrix)
@@ -283,21 +280,16 @@ _cairo_pen_vertices_needed (double            tolerance,
      * compute major axis length for a pen with the specified radius.
      * we don't need the minor axis length.
      */
+    double major_axis = _cairo_matrix_transformed_circle_major_axis (matrix,
+                                                                    radius);
+    int num_vertices;
 
-    double  major_axis = _cairo_matrix_transformed_circle_major_axis (matrix,
-                                                                     radius);
-
-    /*
-     * compute number of vertices needed
-     */
-    int            num_vertices;
-
-    /* Where tolerance / M is > 1, we use 4 points */
-    if (tolerance >= major_axis) {
+    if (tolerance >= 4*major_axis) { /* XXX relaxed from 2*major for inkscape */
+       num_vertices = 1;
+    } else if (tolerance >= major_axis) {
        num_vertices = 4;
     } else {
-       double delta = acos (1 - tolerance / major_axis);
-       num_vertices = ceil (M_PI / delta);
+       num_vertices = ceil (2*M_PI / acos (1 - tolerance / major_axis));
 
        /* number of vertices must be even */
        if (num_vertices % 2)
@@ -396,3 +388,88 @@ _cairo_pen_find_active_ccw_vertex_index (const cairo_pen_t *pen,
 
     return i;
 }
+
+void
+_cairo_pen_find_active_cw_vertices (const cairo_pen_t *pen,
+                                   const cairo_slope_t *in,
+                                   const cairo_slope_t *out,
+                                   int *start, int *stop)
+{
+
+    int lo = 0, hi = pen->num_vertices;
+    int i;
+
+    i = (lo + hi) >> 1;
+    do {
+       if (_cairo_slope_compare (&pen->vertices[i].slope_cw, in) < 0)
+           lo = i;
+       else
+           hi = i;
+       i = (lo + hi) >> 1;
+    } while (hi - lo > 1);
+    if (_cairo_slope_compare (&pen->vertices[i].slope_cw, in) < 0)
+       if (++i == pen->num_vertices)
+           i = 0;
+    *start = i;
+
+    if (_cairo_slope_compare (out, &pen->vertices[i].slope_ccw) >= 0) {
+       lo = i;
+       hi = i + pen->num_vertices;
+       i = (lo + hi) >> 1;
+       do {
+           int j = i;
+           if (j >= pen->num_vertices)
+               j -= pen->num_vertices;
+           if (_cairo_slope_compare (&pen->vertices[j].slope_cw, out) > 0)
+               hi = i;
+           else
+               lo = i;
+           i = (lo + hi) >> 1;
+       } while (hi - lo > 1);
+       if (i >= pen->num_vertices)
+           i -= pen->num_vertices;
+    }
+    *stop = i;
+}
+
+void
+_cairo_pen_find_active_ccw_vertices (const cairo_pen_t *pen,
+                                    const cairo_slope_t *in,
+                                    const cairo_slope_t *out,
+                                    int *start, int *stop)
+{
+    int lo = 0, hi = pen->num_vertices;
+    int i;
+
+    i = (lo + hi) >> 1;
+    do {
+       if (_cairo_slope_compare (in, &pen->vertices[i].slope_ccw) < 0)
+           lo = i;
+       else
+           hi = i;
+       i = (lo + hi) >> 1;
+    } while (hi - lo > 1);
+    if (_cairo_slope_compare (in, &pen->vertices[i].slope_ccw) < 0)
+       if (++i == pen->num_vertices)
+           i = 0;
+    *start = i;
+
+    if (_cairo_slope_compare (&pen->vertices[i].slope_cw, out) <= 0) {
+       lo = i;
+       hi = i + pen->num_vertices;
+       i = (lo + hi) >> 1;
+       do {
+           int j = i;
+           if (j >= pen->num_vertices)
+               j -= pen->num_vertices;
+           if (_cairo_slope_compare (out, &pen->vertices[j].slope_ccw) > 0)
+               hi = i;
+           else
+               lo = i;
+           i = (lo + hi) >> 1;
+       } while (hi - lo > 1);
+       if (i >= pen->num_vertices)
+           i -= pen->num_vertices;
+    }
+    *stop = i;
+}
index c900c89..2cd73d2 100644 (file)
@@ -1394,7 +1394,7 @@ _cairo_polygon_intersect (cairo_polygon_t *a, int winding_a,
     if (unlikely (0 == a->num_edges))
        return CAIRO_STATUS_SUCCESS;
 
-    if (unlikely (b->num_edges == 0)) {
+    if (unlikely (0 == b->num_edges)) {
        a->num_edges = 0;
        return CAIRO_STATUS_SUCCESS;
     }
@@ -1505,16 +1505,22 @@ _cairo_polygon_intersect_with_boxes (cairo_polygon_t *polygon,
 
     _cairo_polygon_init (&b, NULL, 0);
     for (n = 0; n < num_boxes; n++) {
-       cairo_point_t p1, p2;
+       if (boxes[n].p2.x > polygon->extents.p1.x &&
+           boxes[n].p1.x < polygon->extents.p2.x &&
+           boxes[n].p2.y > polygon->extents.p1.y &&
+           boxes[n].p1.y < polygon->extents.p2.y)
+       {
+           cairo_point_t p1, p2;
 
-       p1.y = boxes[n].p1.y;
-       p2.y = boxes[n].p2.y;
+           p1.y = boxes[n].p1.y;
+           p2.y = boxes[n].p2.y;
 
-       p2.x = p1.x = boxes[n].p1.x;
-       _cairo_polygon_add_external_edge (&b, &p1, &p2);
+           p2.x = p1.x = boxes[n].p1.x;
+           _cairo_polygon_add_external_edge (&b, &p1, &p2);
 
-       p2.x = p1.x = boxes[n].p2.x;
-       _cairo_polygon_add_external_edge (&b, &p2, &p1);
+           p2.x = p1.x = boxes[n].p2.x;
+           _cairo_polygon_add_external_edge (&b, &p2, &p1);
+       }
     }
 
     status = _cairo_polygon_intersect (polygon, *winding,
index 8758070..ea457fe 100644 (file)
@@ -42,6 +42,8 @@
 #include "cairo-freelist-private.h"
 #include "cairo-combsort-inline.h"
 
+#define DEBUG_POLYGON 0
+
 typedef cairo_point_t cairo_bo_point32_t;
 
 typedef struct _cairo_bo_intersect_ordinate {
@@ -114,7 +116,6 @@ typedef struct _cairo_bo_event_queue {
 
 typedef struct _cairo_bo_sweep_line {
     cairo_bo_edge_t *head;
-    cairo_bo_edge_t *stopped;
     int32_t current_y;
     cairo_bo_edge_t *current_edge;
 } cairo_bo_sweep_line_t;
@@ -476,8 +477,8 @@ edges_compare_x_for_y (const cairo_bo_edge_t *a,
 static inline int
 _line_equal (const cairo_line_t *a, const cairo_line_t *b)
 {
-    return a->p1.x == b->p1.x && a->p1.y == b->p1.y &&
-           a->p2.x == b->p2.x && a->p2.y == b->p2.y;
+    return (a->p1.x == b->p1.x && a->p1.y == b->p1.y &&
+           a->p2.x == b->p2.x && a->p2.y == b->p2.y);
 }
 
 static int
@@ -1024,7 +1025,6 @@ static void
 _cairo_bo_sweep_line_init (cairo_bo_sweep_line_t *sweep_line)
 {
     sweep_line->head = NULL;
-    sweep_line->stopped = NULL;
     sweep_line->current_y = INT32_MIN;
     sweep_line->current_edge = NULL;
 }
@@ -1139,6 +1139,8 @@ edges_colinear (const cairo_bo_edge_t *a, const cairo_bo_edge_t *b)
      */
     if (a->edge.line.p1.y == b->edge.line.p1.y) {
        return a->edge.line.p1.x == b->edge.line.p1.x;
+    } else if (a->edge.line.p2.y == b->edge.line.p2.y) {
+       return a->edge.line.p2.x == b->edge.line.p2.x;
     } else if (a->edge.line.p1.y < b->edge.line.p1.y) {
        return edge_compare_for_y_against_x (b,
                                             a->edge.line.p1.y,
@@ -1205,82 +1207,48 @@ _active_edges_to_polygon (cairo_bo_edge_t               *left,
                          cairo_polygon_t               *polygon)
 {
     cairo_bo_edge_t *right;
+    unsigned int mask;
 
-    if (fill_rule == CAIRO_FILL_RULE_WINDING) {
-       while (left != NULL) {
-           int in_out = left->edge.dir;
-
-           right = left->next;
-           if (left->deferred.right == NULL) {
-               while (right != NULL && right->deferred.right == NULL)
-                   right = right->next;
-
-               if (right != NULL && edges_colinear (left, right)) {
-                   /* continuation on left */
-                   left->deferred = right->deferred;
-                   right->deferred.right = NULL;
-               }
-           }
-
-           right = left->next;
-           while (right != NULL) {
-               if (right->deferred.right != NULL)
-                   _cairo_bo_edge_end (right, top, polygon);
-
-               in_out += right->edge.dir;
-               if (in_out == 0) {
-                   cairo_bo_edge_t *next;
-                   cairo_bool_t skip = FALSE;
-
-                   /* skip co-linear edges */
-                   next = right->next;
-                   if (next != NULL)
-                       skip = edges_colinear (right, next);
+    if (fill_rule == CAIRO_FILL_RULE_WINDING)
+       mask = ~0;
+    else
+       mask = 1;
 
-                   if (! skip)
-                       break;
-               }
+    while (left != NULL) {
+       int in_out = left->edge.dir;
 
+       right = left->next;
+       if (left->deferred.right == NULL) {
+           while (right != NULL && right->deferred.right == NULL)
                right = right->next;
-           }
-
-           _cairo_bo_edge_start_or_continue (left, right, top, polygon);
 
-           left = right;
-           if (left != NULL)
-               left = left->next;
+           if (right != NULL && edges_colinear (left, right)) {
+               /* continuation on left */
+               left->deferred = right->deferred;
+               right->deferred.right = NULL;
+           }
        }
-    } else {
-       while (left != NULL) {
-           int in_out = 0;
 
-           right = left->next;
-           while (right != NULL) {
-               if (right->deferred.right != NULL)
-                   _cairo_bo_edge_end (right, top, polygon);
+       right = left->next;
+       while (right != NULL) {
+           if (right->deferred.right != NULL)
+               _cairo_bo_edge_end (right, top, polygon);
 
-               if ((in_out++ & 1) == 0) {
-                   cairo_bo_edge_t *next;
-                   cairo_bool_t skip = FALSE;
-
-                   /* skip co-linear edges */
-                   next = right->next;
-                   if (next != NULL)
-                       skip = edges_colinear (right, next);
-
-                   if (! skip)
-                       break;
-               }
-
-               right = right->next;
+           in_out += right->edge.dir;
+           if ((in_out & mask) == 0) {
+               /* skip co-linear edges */
+               if (right->next == NULL || !edges_colinear (right, right->next))
+                   break;
            }
 
-           _cairo_bo_edge_start_or_continue (left, right, top, polygon);
-
-           left = right;
-           if (left != NULL)
-               left = left->next;
+           right = right->next;
        }
+
+       _cairo_bo_edge_start_or_continue (left, right, top, polygon);
+
+       left = right;
+       if (left != NULL)
+           left = left->next;
     }
 }
 
@@ -1303,12 +1271,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t   **start_events,
 
     while ((event = _cairo_bo_event_dequeue (&event_queue))) {
        if (event->point.y != sweep_line.current_y) {
-           for (e1 = sweep_line.stopped; e1; e1 = e1->next) {
-               if (e1->deferred.right != NULL)
-                    _cairo_bo_edge_end (e1, e1->edge.bottom, polygon);
-           }
-           sweep_line.stopped = NULL;
-
            _active_edges_to_polygon (sweep_line.head,
                                      sweep_line.current_y,
                                      fill_rule, polygon);
@@ -1328,23 +1290,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t   **start_events,
            if (unlikely (status))
                goto unwind;
 
-           /* check to see if this is a continuation of a stopped edge */
-           /* XXX change to an infinitesimal lengthening rule */
-           for (left = sweep_line.stopped; left; left = left->next) {
-               if (e1->edge.top <= left->edge.bottom &&
-                   edges_colinear (e1, left))
-               {
-                   e1->deferred = left->deferred;
-                   if (left->prev != NULL)
-                       left->prev = left->next;
-                   else
-                       sweep_line.stopped = left->next;
-                   if (left->next != NULL)
-                       left->next->prev = left->prev;
-                   break;
-               }
-           }
-
            left = e1->prev;
            right = e1->next;
 
@@ -1371,14 +1316,8 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t   **start_events,
 
            _cairo_bo_sweep_line_delete (&sweep_line, e1);
 
-           /* first, check to see if we have a continuation via a fresh edge */
-           if (e1->deferred.right != NULL) {
-               e1->next = sweep_line.stopped;
-               if (sweep_line.stopped != NULL)
-                   sweep_line.stopped->prev = e1;
-               sweep_line.stopped = e1;
-               e1->prev = NULL;
-           }
+           if (e1->deferred.right != NULL)
+               _cairo_bo_edge_end (e1, e1->edge.bottom, polygon);
 
            if (left != NULL && right != NULL) {
                status = _cairo_bo_event_queue_insert_if_intersect_below_current_y (&event_queue, left, right);
@@ -1420,10 +1359,6 @@ _cairo_bentley_ottmann_tessellate_bo_edges (cairo_bo_event_t   **start_events,
        }
     }
 
-    for (e1 = sweep_line.stopped; e1; e1 = e1->next) {
-       if (e1->deferred.right != NULL)
-           _cairo_bo_edge_end (e1, e1->edge.bottom, polygon);
-    }
  unwind:
     _cairo_bo_event_queue_fini (&event_queue);
 
@@ -1447,6 +1382,12 @@ _cairo_polygon_reduce (cairo_polygon_t *polygon,
     if (unlikely (0 == num_events))
        return CAIRO_STATUS_SUCCESS;
 
+    if (DEBUG_POLYGON) {
+       FILE *file = fopen ("reduce_in.txt", "w");
+       _cairo_debug_print_polygon (file, polygon);
+       fclose (file);
+    }
+
     events = stack_events;
     event_ptrs = stack_event_ptrs;
     if (num_events > ARRAY_LENGTH (stack_events)) {
@@ -1482,10 +1423,16 @@ _cairo_polygon_reduce (cairo_polygon_t *polygon,
                                                         num_events,
                                                         fill_rule,
                                                         polygon);
-     polygon->num_limits = num_limits;
+    polygon->num_limits = num_limits;
 
     if (events != stack_events)
        free (events);
 
+    if (DEBUG_POLYGON) {
+       FILE *file = fopen ("reduce_out.txt", "w");
+       _cairo_debug_print_polygon (file, polygon);
+       fclose (file);
+    }
+
     return status;
 }
index c714b32..b0424f6 100644 (file)
@@ -390,11 +390,6 @@ _add_clipped_edge (cairo_polygon_t *polygon,
            cairo_fixed_t left_y, right_y;
            cairo_bool_t top_left_to_bottom_right;
 
-           left_y = _cairo_edge_compute_intersection_y_for_x (p1, p2,
-                                                              limits->p1.x);
-           right_y = _cairo_edge_compute_intersection_y_for_x (p1, p2,
-                                                               limits->p2.x);
-
            /*
             * The edge intersects the lines corresponding to the left
             * and right sides of the limit box at left_y and right_y,
@@ -420,11 +415,16 @@ _add_clipped_edge (cairo_polygon_t *polygon,
             * inside the box if it is clipped to this vertical range.
             */
 
-           top_left_to_bottom_right = (p1->x < p2->x) == (p1->y < p2->y);
-
+           top_left_to_bottom_right = (p1->x <= p2->x) == (p1->y <= p2->y);
            if (top_left_to_bottom_right) {
-               if (_cairo_edge_compute_intersection_x_for_y (p1, p2, left_y) < limits->p1.x)
-                   left_y++;
+               if (pleft >= limits->p1.x) {
+                   left_y = top_y;
+               } else {
+                   left_y = _cairo_edge_compute_intersection_y_for_x (p1, p2,
+                                                                      limits->p1.x);
+                   if (_cairo_edge_compute_intersection_x_for_y (p1, p2, left_y) < limits->p1.x)
+                       left_y++;
+               }
 
                left_y = MIN (left_y, bot_y);
                if (top_y < left_y) {
@@ -434,8 +434,14 @@ _add_clipped_edge (cairo_polygon_t *polygon,
                    top_y = left_y;
                }
 
-               if (_cairo_edge_compute_intersection_x_for_y (p1, p2, right_y) > limits->p1.y)
-                   right_y--;
+               if (pright <= limits->p2.x) {
+                   right_y = bot_y;
+               } else {
+                   right_y = _cairo_edge_compute_intersection_y_for_x (p1, p2,
+                                                                       limits->p2.x);
+                   if (_cairo_edge_compute_intersection_x_for_y (p1, p2, right_y) > limits->p2.x)
+                       right_y--;
+               }
 
                right_y = MAX (right_y, top_y);
                if (bot_y > right_y) {
@@ -445,8 +451,14 @@ _add_clipped_edge (cairo_polygon_t *polygon,
                    bot_y = right_y;
                }
            } else {
-               if (_cairo_edge_compute_intersection_x_for_y (p1, p2, right_y) > limits->p2.x)
-                   right_y++;
+               if (pright <= limits->p2.x) {
+                   right_y = top_y;
+               } else {
+                   right_y = _cairo_edge_compute_intersection_y_for_x (p1, p2,
+                                                                       limits->p2.x);
+                   if (_cairo_edge_compute_intersection_x_for_y (p1, p2, right_y) > limits->p2.x)
+                       right_y++;
+               }
 
                right_y = MIN (right_y, bot_y);
                if (top_y < right_y) {
@@ -456,8 +468,14 @@ _add_clipped_edge (cairo_polygon_t *polygon,
                    top_y = right_y;
                }
 
-               if (_cairo_edge_compute_intersection_x_for_y (p1, p2, left_y) < limits->p1.x)
-                   left_y--;
+               if (pleft >= limits->p1.x) {
+                   left_y = bot_y;
+               } else {
+                   left_y = _cairo_edge_compute_intersection_y_for_x (p1, p2,
+                                                                      limits->p1.x);
+                   if (_cairo_edge_compute_intersection_x_for_y (p1, p2, left_y) < limits->p1.x)
+                       left_y--;
+               }
 
                left_y = MAX (left_y, top_y);
                if (bot_y > left_y) {
index 1285108..01df609 100644 (file)
@@ -66,7 +66,7 @@
 #include "cairo-composite-rectangles-private.h"
 #include "cairo-default-context-private.h"
 #include "cairo-error-private.h"
-#include "cairo-image-surface-private.h"
+#include "cairo-image-surface-inline.h"
 #include "cairo-list-inline.h"
 #include "cairo-scaled-font-subsets-private.h"
 #include "cairo-paginated-private.h"
@@ -246,6 +246,9 @@ _cairo_ps_surface_emit_header (cairo_ps_surface_t *surface)
     has_bbox = FALSE;
     num_comments = _cairo_array_num_elements (&surface->dsc_header_comments);
     comments = _cairo_array_index (&surface->dsc_header_comments, 0);
+    if (comments == NULL)
+       return;
+
     for (i = 0; i < num_comments; i++) {
        _cairo_output_stream_printf (surface->final_stream,
                                     "%s\n", comments[i]);
@@ -632,8 +635,10 @@ _cairo_ps_surface_emit_type3_font_subset (cairo_ps_surface_t               *surface,
                                                       _cairo_ps_emit_imagemask,
                                                       surface->font_subsets);
     status = type3_surface->status;
-    if (unlikely (status))
+    if (unlikely (status)) {
+       cairo_surface_destroy (type3_surface);
        return status;
+    }
 
     for (i = 0; i < font_subset->num_glyphs; i++) {
        if (font_subset->glyph_names != NULL) {
@@ -1595,18 +1600,27 @@ CLEANUP:
 
     num_comments = _cairo_array_num_elements (&surface->dsc_header_comments);
     comments = _cairo_array_index (&surface->dsc_header_comments, 0);
+    if (comments == NULL)
+       return CAIRO_STATUS_NULL_POINTER;
+
     for (i = 0; i < num_comments; i++)
        free (comments[i]);
     _cairo_array_fini (&surface->dsc_header_comments);
 
     num_comments = _cairo_array_num_elements (&surface->dsc_setup_comments);
     comments = _cairo_array_index (&surface->dsc_setup_comments, 0);
+    if (comments == NULL)
+       return CAIRO_STATUS_NULL_POINTER;
+
     for (i = 0; i < num_comments; i++)
        free (comments[i]);
     _cairo_array_fini (&surface->dsc_setup_comments);
 
     num_comments = _cairo_array_num_elements (&surface->dsc_page_setup_comments);
     comments = _cairo_array_index (&surface->dsc_page_setup_comments, 0);
+    if (comments == NULL)
+       return CAIRO_STATUS_NULL_POINTER;
+
     for (i = 0; i < num_comments; i++)
        free (comments[i]);
     _cairo_array_fini (&surface->dsc_page_setup_comments);
@@ -1738,7 +1752,7 @@ _cairo_ps_surface_acquire_source_surface_from_pattern (cairo_ps_surface_t
        surf = _cairo_raster_source_pattern_acquire (pattern, &surface->base, &rect);
        if (!surf)
            return CAIRO_INT_STATUS_UNSUPPORTED;
-       assert (cairo_surface_get_type (surf) == CAIRO_SURFACE_TYPE_IMAGE);
+       assert (_cairo_surface_is_image (surf));
        image = (cairo_image_surface_t *) surf;
     } break;
 
@@ -1836,8 +1850,11 @@ _cairo_ps_surface_create_padded_image_from_image (cairo_ps_surface_t           *
                                                            source->pixman_format,
                                                            rect.width, rect.height,
                                                            0);
-       if (pad_image->status)
-           return pad_image->status;
+       if (pad_image->status) {
+           status = pad_image->status;
+           cairo_surface_destroy (pad_image);
+           status;
+       }
 
        _cairo_pattern_init_for_surface (&pad_pattern, &source->base);
        cairo_matrix_init_translate (&pad_pattern.base.matrix, rect.x, rect.y);
@@ -2033,10 +2050,28 @@ _cairo_ps_surface_analyze_operation (cairo_ps_surface_t    *surface,
        cairo_surface_pattern_t *surface_pattern = (cairo_surface_pattern_t *) pattern;
 
        if (surface_pattern->surface->type == CAIRO_SURFACE_TYPE_RECORDING) {
-           if (pattern->extend == CAIRO_EXTEND_PAD)
-               return CAIRO_INT_STATUS_UNSUPPORTED;
-           else
-               return CAIRO_INT_STATUS_ANALYZE_RECORDING_SURFACE_PATTERN;
+           if (pattern->extend == CAIRO_EXTEND_PAD) {
+               cairo_box_t box;
+               cairo_rectangle_int_t rect;
+               cairo_rectangle_int_t rec_extents;
+
+               /* get the operation extents in pattern space */
+               _cairo_box_from_rectangle (&box, extents);
+               _cairo_matrix_transform_bounding_box_fixed (&pattern->matrix, &box, NULL);
+               _cairo_box_round_to_rectangle (&box, &rect);
+
+               /* Check if surface needs padding to fill extents */
+               if (_cairo_surface_get_extents (surface_pattern->surface, &rec_extents)) {
+                   if (_cairo_fixed_integer_ceil(box.p1.x) < rec_extents.x ||
+                       _cairo_fixed_integer_ceil(box.p1.y) < rec_extents.y ||
+                       _cairo_fixed_integer_floor(box.p2.y) > rec_extents.x + rec_extents.width ||
+                       _cairo_fixed_integer_floor(box.p2.y) > rec_extents.y + rec_extents.height)
+                   {
+                       return CAIRO_INT_STATUS_UNSUPPORTED;
+                   }
+               }
+           }
+           return CAIRO_INT_STATUS_ANALYZE_RECORDING_SURFACE_PATTERN;
        }
     }
 
@@ -2255,8 +2290,11 @@ _cairo_ps_surface_flatten_image_transparency (cairo_ps_surface_t    *surface,
     opaque = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
                                         image->width,
                                         image->height);
-    if (unlikely (opaque->status))
-       return opaque->status;
+    if (unlikely (opaque->status)) {
+       status = opaque->status;
+       cairo_surface_destroy (opaque);
+       return status;
+    }
 
     if (surface->content == CAIRO_CONTENT_COLOR_ALPHA) {
        status = _cairo_surface_paint (opaque,
@@ -2389,7 +2427,7 @@ _cairo_ps_surface_emit_image (cairo_ps_surface_t    *surface,
        cairo_surface_t *surf;
        cairo_surface_pattern_t pattern;
 
-       surf = _cairo_image_surface_create_with_content (cairo_surface_get_content (&image_surf->base),
+       surf = _cairo_image_surface_create_with_content (image_surf->base.content,
                                                         image_surf->width,
                                                         image_surf->height);
        image = (cairo_image_surface_t *) surf;
@@ -3158,10 +3196,11 @@ _cairo_ps_surface_paint_surface (cairo_ps_surface_t     *surface,
     if (unlikely (status))
        return status;
 
-    if (pattern->extend == CAIRO_EXTEND_PAD) {
+    if (pattern->extend == CAIRO_EXTEND_PAD &&
+       pattern->type == CAIRO_PATTERN_TYPE_SURFACE &&
+       ((cairo_surface_pattern_t *)pattern)->surface->type == CAIRO_SURFACE_TYPE_IMAGE) {
        cairo_image_surface_t *img;
 
-       assert (source->type == CAIRO_SURFACE_TYPE_IMAGE);
        img = (cairo_image_surface_t *) source;
        status = _cairo_ps_surface_create_padded_image_from_image (surface,
                                                                   img,
@@ -3298,8 +3337,6 @@ _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t      *surface,
        if (unlikely (status))
            goto release_source;
     }
-    if (unlikely (status))
-       goto release_source;
 
     switch (pattern->extend) {
     case CAIRO_EXTEND_PAD:
@@ -4508,6 +4545,9 @@ _cairo_ps_surface_set_bounding_box (void          *abstract_surface,
     has_page_bbox = FALSE;
     num_comments = _cairo_array_num_elements (&surface->dsc_page_setup_comments);
     comments = _cairo_array_index (&surface->dsc_page_setup_comments, 0);
+    if (comments == NULL)
+       return CAIRO_STATUS_NULL_POINTER;
+
     for (i = 0; i < num_comments; i++) {
        _cairo_output_stream_printf (surface->stream,
                                     "%s\n", comments[i]);
index b75f522..ce05dba 100644 (file)
@@ -48,6 +48,7 @@
 #include "cairo-image-surface-private.h"
 #include "cairo-pattern-private.h"
 #include "cairo-surface-backend-private.h"
+#include "cairo-surface-fallback-private.h"
 
 #include "cairo-ft.h"
 #include "cairo-qt.h"
@@ -64,7 +65,7 @@
 #include <QWidget>
 #include <QtCore/QVarLengthArray>
 
-#if (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)
+#if ((QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)) && 0
 extern void qt_draw_glyphs(QPainter *, const quint32 *glyphs, const QPointF *positions, int count);
 #endif
 
@@ -197,6 +198,9 @@ _qpainter_compositionmode_from_cairo_op (cairo_operator_t op)
 static bool
 _op_is_supported (cairo_qt_surface_t *qs, cairo_operator_t op)
 {
+    if (qs->p == NULL)
+       return false;
+
     if (qs->supports_porter_duff) {
        switch (op) {
        case CAIRO_OPERATOR_CLEAR:
@@ -555,32 +559,105 @@ _cairo_qt_surface_release_source_image (void *abstract_surface,
     cairo_surface_destroy (&image->base);
 }
 
-static cairo_status_t
-_cairo_qt_surface_acquire_dest_image (void *abstract_surface,
-                                     cairo_rectangle_int_t *interest_rect,
-                                     cairo_image_surface_t **image_out,
-                                     cairo_rectangle_int_t *image_rect,
-                                     void **image_extra)
+struct _qimage_surface {
+    cairo_image_surface_t image;
+    QImage *qimg;
+};
+
+static cairo_surface_t *
+map_qimage_to_image (QImage *qimg, const cairo_rectangle_int_t *extents)
 {
-    cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface;
-    QImage *qimg = NULL;
+    struct _qimage_surface  *surface;
+    pixman_image_t *pixman_image;
+    pixman_format_code_t pixman_format;
+    uint8_t *data;
 
-    D(fprintf(stderr, "q[%p] acquire_dest_image\n", abstract_surface));
+    if (qimg == NULL)
+        return _cairo_surface_create_in_error (CAIRO_STATUS_NO_MEMORY);
 
-    *image_extra = NULL;
+    switch (qimg->format()) {
+    case QImage::Format_ARGB32_Premultiplied:
+       pixman_format = PIXMAN_a8r8g8b8;
+       break;
+    case QImage::Format_RGB32:
+       pixman_format = PIXMAN_x8r8g8b8;
+       break;
+    case QImage::Format_Indexed8: // XXX not quite
+       pixman_format = PIXMAN_a8;
+       break;
+#ifdef WORDS_BIGENDIAN
+    case QImage::Format_Mono:
+#else
+    case QImage::Format_MonoLSB:
+#endif
+       pixman_format = PIXMAN_a1;
+       break;
 
-    if (qs->image_equiv) {
-        *image_out = (cairo_image_surface_t*)
-                     cairo_surface_reference (qs->image_equiv);
+    case QImage::Format_Invalid:
+#ifdef WORDS_BIGENDIAN
+    case QImage::Format_MonoLSB:
+#else
+    case QImage::Format_Mono:
+#endif
+    case QImage::Format_ARGB32:
+    case QImage::Format_RGB16:
+    case QImage::Format_ARGB8565_Premultiplied:
+    case QImage::Format_RGB666:
+    case QImage::Format_ARGB6666_Premultiplied:
+    case QImage::Format_RGB555:
+    case QImage::Format_ARGB8555_Premultiplied:
+    case QImage::Format_RGB888:
+    case QImage::Format_RGB444:
+    case QImage::Format_ARGB4444_Premultiplied:
+    case QImage::NImageFormats:
+    default:
+       delete qimg;
+       return _cairo_surface_create_in_error (CAIRO_STATUS_INVALID_FORMAT);
+    }
 
-        image_rect->x = qs->window.x();
-        image_rect->y = qs->window.y();
-        image_rect->width = qs->window.width();
-        image_rect->height = qs->window.height();
+    data = qimg->bits();
+    data += extents->y * qimg->bytesPerLine();
+    data += extents->x * PIXMAN_FORMAT_BPP (pixman_format) / 8;
+
+    pixman_image = pixman_image_create_bits (pixman_format,
+                                            extents->width,
+                                            extents->height,
+                                            (uint32_t *)data,
+                                            qimg->bytesPerLine());
+    if (pixman_image == NULL) {
+       delete qimg;
+       return _cairo_surface_create_in_error (CAIRO_STATUS_NO_MEMORY);
+    }
 
-        return CAIRO_STATUS_SUCCESS;
+    surface = (struct _qimage_surface *) malloc (sizeof(*surface));
+    if (unlikely (surface == NULL)) {
+       pixman_image_unref (pixman_image);
+       delete qimg;
+       return _cairo_surface_create_in_error (CAIRO_STATUS_NO_MEMORY);
     }
 
+    _cairo_image_surface_init (&surface->image, pixman_image, pixman_format);
+    surface->qimg = qimg;
+
+    cairo_surface_set_device_offset (&surface->image.base,
+                                    -extents->x, -extents->y);
+
+    return &surface->image.base;
+}
+
+static cairo_image_surface_t *
+_cairo_qt_surface_map_to_image (void *abstract_surface,
+                               const cairo_rectangle_int_t *extents)
+{
+    cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface;
+    QImage *qimg = NULL;
+
+    D(fprintf(stderr, "q[%p] acquire_dest_image\n", abstract_surface));
+
+    if (qs->image_equiv)
+       return _cairo_image_surface_map_to_image (qs->image_equiv,
+                                                 extents);
+
     QPoint offset;
 
     if (qs->pixmap) {
@@ -590,7 +667,7 @@ _cairo_qt_surface_acquire_dest_image (void *abstract_surface,
         // how we can grab an image from it
         QPaintDevice *pd = qs->p->device();
        if (!pd)
-           return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+           return (cairo_image_surface_t *) _cairo_surface_create_in_error (CAIRO_STATUS_NO_MEMORY);
 
        QPaintDevice *rpd = QPainter::redirected(pd, &offset);
        if (rpd)
@@ -605,50 +682,42 @@ _cairo_qt_surface_acquire_dest_image (void *abstract_surface,
         }
     }
 
-    if (qimg == NULL)
-        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
-    *image_out = (cairo_image_surface_t*)
-                 cairo_image_surface_create_for_data (qimg->bits(),
-                                                      _cairo_format_from_qimage_format (qimg->format()),
-                                                      qimg->width(), qimg->height(),
-                                                      qimg->bytesPerLine());
-    *image_extra = qimg;
-
-    image_rect->x = qs->window.x() + offset.x();
-    image_rect->y = qs->window.y() + offset.y();
-    image_rect->width = qs->window.width() - offset.x();
-    image_rect->height = qs->window.height() - offset.y();
-
-    return CAIRO_STATUS_SUCCESS;
+    return (cairo_image_surface_t *) map_qimage_to_image (qimg, extents);
 }
 
-static void
-_cairo_qt_surface_release_dest_image (void *abstract_surface,
-                                     cairo_rectangle_int_t *interest_rect,
-                                     cairo_image_surface_t *image,
-                                     cairo_rectangle_int_t *image_rect,
-                                     void *image_extra)
+static cairo_int_status_t
+_cairo_qt_surface_unmap_image (void *abstract_surface,
+                              cairo_image_surface_t *image)
 {
     cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface;
-    D(fprintf(stderr, "q[%p] release_dest_image\n", abstract_surface));
 
-    cairo_surface_destroy (&image->base);
+    D(fprintf(stderr, "q[%p] release_dest_image\n", abstract_surface));
 
-    if (image_extra) {
-        QImage *qimg = (QImage*) image_extra;
+    if (!qs->image_equiv) {
+       struct _qimage_surface  *qimage = (struct _qimage_surface  *)image;
 
         // XXX should I be using setBackgroundMode here instead of setCompositionMode?
         if (qs->supports_porter_duff)
             qs->p->setCompositionMode (QPainter::CompositionMode_Source);
 
-        qs->p->drawImage (image_rect->x, image_rect->y, *qimg);
+        qs->p->drawImage ((int)qimage->image.base.device_transform.x0,
+                         (int)qimage->image.base.device_transform.y0,
+                         *qimage->qimg,
+                         (int)qimage->image.base.device_transform.x0,
+                         (int)qimage->image.base.device_transform.y0,
+                         (int)qimage->image.width,
+                         (int)qimage->image.height);
 
         if (qs->supports_porter_duff)
             qs->p->setCompositionMode (QPainter::CompositionMode_SourceOver);
 
-        delete qimg;
+       delete qimage->qimg;
     }
+
+    cairo_surface_finish (&image->base);
+    cairo_surface_destroy (&image->base);
+
+    return CAIRO_INT_STATUS_SUCCESS;
 }
 
 static cairo_bool_t
@@ -1212,11 +1281,8 @@ _cairo_qt_surface_paint (void *abstract_surface,
 
     D(fprintf(stderr, "q[%p] paint op:%s\n", abstract_surface, _opstr(op)));
 
-    if (!qs->p)
-        return CAIRO_INT_STATUS_UNSUPPORTED;
-
     if (! _op_is_supported (qs, op))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
+       return _cairo_surface_fallback_paint (abstract_surface, op, source, clip);
 
     status = _cairo_qt_surface_set_clip (qs, clip);
     if (unlikely (status))
@@ -1250,11 +1316,10 @@ _cairo_qt_surface_fill (void *abstract_surface,
 
     D(fprintf(stderr, "q[%p] fill op:%s\n", abstract_surface, _opstr(op)));
 
-    if (!qs->p)
-        return CAIRO_INT_STATUS_UNSUPPORTED;
-
     if (! _op_is_supported (qs, op))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
+       return _cairo_surface_fallback_fill (abstract_surface, op,
+                                            source, path, fill_rule,
+                                            tolerance, antialias, clip);
 
     cairo_int_status_t status = _cairo_qt_surface_set_clip (qs, clip);
     if (unlikely (status))
@@ -1297,17 +1362,16 @@ _cairo_qt_surface_stroke (void *abstract_surface,
 
     D(fprintf(stderr, "q[%p] stroke op:%s\n", abstract_surface, _opstr(op)));
 
-    if (!qs->p)
-        return CAIRO_INT_STATUS_UNSUPPORTED;
-
     if (! _op_is_supported (qs, op))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
+       return _cairo_surface_fallback_stroke (abstract_surface, op,
+                                              source, path, style, ctm,
+                                              ctm_inverse, tolerance,
+                                              antialias, clip);
 
     cairo_int_status_t int_status = _cairo_qt_surface_set_clip (qs, clip);
     if (unlikely (int_status))
        return int_status;
 
-
     QMatrix savedMatrix = qs->p->worldMatrix();
 
     if (qs->supports_porter_duff)
@@ -1342,7 +1406,7 @@ _cairo_qt_surface_show_glyphs (void *abstract_surface,
                               cairo_scaled_font_t *scaled_font,
                               const cairo_clip_t *clip)
 {
-#if (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)
+#if ((QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)) && 0
     cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface;
 
     // pick out the colour to use from the cairo source
@@ -1374,7 +1438,9 @@ _cairo_qt_surface_show_glyphs (void *abstract_surface,
     _cairo_scaled_font_thaw_cache(scaled_font);
     return CAIRO_INT_STATUS_SUCCESS;
 #else
-    return CAIRO_INT_STATUS_UNSUPPORTED;
+    return _cairo_surface_fallback_glyphs (abstract_surface, op,
+                                          source, glyphs, num_glyphs,
+                                          scaled_font, clip);
 #endif
 }
 
@@ -1389,10 +1455,7 @@ _cairo_qt_surface_mask (void *abstract_surface,
 
     D(fprintf(stderr, "q[%p] mask op:%s\n", abstract_surface, _opstr(op)));
 
-    if (!qs->p)
-        return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    if (mask->type == CAIRO_PATTERN_TYPE_SOLID) {
+    if (qs->p && mask->type == CAIRO_PATTERN_TYPE_SOLID) {
         cairo_solid_pattern_t *solid_mask = (cairo_solid_pattern_t *) mask;
         cairo_int_status_t result;
 
@@ -1406,7 +1469,7 @@ _cairo_qt_surface_mask (void *abstract_surface,
     }
 
     // otherwise skip for now
-    return CAIRO_INT_STATUS_UNSUPPORTED;
+    return _cairo_surface_fallback_mask (abstract_surface, op, source, mask, clip);
 }
 
 static cairo_status_t
@@ -1429,21 +1492,28 @@ _cairo_qt_surface_mark_dirty (void *abstract_surface,
 static const cairo_surface_backend_t cairo_qt_surface_backend = {
     CAIRO_SURFACE_TYPE_QT,
     _cairo_qt_surface_finish,
+
     _cairo_default_context_create, /* XXX */
+
     _cairo_qt_surface_create_similar,
     NULL, /* similar image */
-    NULL, /* map to image */
-    NULL, /* unmap image */
+    _cairo_qt_surface_map_to_image,
+    _cairo_qt_surface_unmap_image,
+
     _cairo_surface_default_source,
     _cairo_qt_surface_acquire_source_image,
     _cairo_qt_surface_release_source_image,
     NULL, /* snapshot */
+
     NULL, /* copy_page */
     NULL, /* show_page */
+
     _cairo_qt_surface_get_extents,
     NULL, /* get_font_options */
+
     NULL, /* flush */
     _cairo_qt_surface_mark_dirty,
+
     _cairo_qt_surface_paint,
     _cairo_qt_surface_mask,
     _cairo_qt_surface_stroke,
diff --git a/src/cairo-quartz-filters.c b/src/cairo-quartz-filters.c
new file mode 100755 (executable)
index 0000000..804cddf
--- /dev/null
@@ -0,0 +1,450 @@
+/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright � 2013 Samsung Research America - Silicon Valley
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Mozilla Foundation.
+ *
+ * Contributor(s):
+ *     Henry Song <henry.song@samsung.com>
+ */
+
+#define _GNU_SOURCE /* required for RTLD_DEFAULT */
+#include "cairoint.h"
+#include "cairo-pattern-private.h"
+#include "cairo-quartz-private.h"
+#include "cairo-quartz.h"
+#include <Accelerate/Accelerate.h>
+
+#define CAIRO_QUARTZ_MAX_SCALE 4
+
+static int16_t *
+_cairo_quartz_pattern_create_gaussian_matrix (const cairo_pattern_t *pattern,
+                                             int *row, int *col,
+                                             int *sum,
+                                             int *shrink_x, int *shrink_y)
+{
+    double x_sigma, y_sigma;
+    double x_sigma_sq, y_sigma_sq;
+    int n;
+    double *buffer;
+    int16_t *i_buffer;
+    int i, x, y;
+    double u, v;
+    double u1, v1;
+    int x_radius, y_radius;
+    int i_row, i_col;
+    int x_factor, y_factor;
+    cairo_rectangle_int_t extents;
+    int width, height;
+    int max_factor;
+    double max_sigma;
+
+    max_factor = CAIRO_QUARTZ_MAX_SCALE;;
+    max_sigma = CAIRO_MAX_SIGMA;
+
+    width = CAIRO_MIN_SHRINK_SIZE;
+    height = CAIRO_MIN_SHRINK_SIZE;
+
+    if (_cairo_surface_get_extents (((cairo_surface_pattern_t *)pattern)->surface, &extents)) {
+       width = extents.width;
+       height = extents.height;
+    }
+
+    x_factor = y_factor = 1;
+    x_sigma = pattern->x_sigma;
+    y_sigma = pattern->y_sigma;
+
+    /* no blur */
+    if (x_sigma == 0.0 && y_sigma == 0.0) {
+       return NULL;
+    }
+
+    if (x_sigma == 0.0)
+       x_radius = 0;
+    else {
+       while (x_sigma >= max_sigma) {
+           if (width <= CAIRO_MIN_SHRINK_SIZE || x_factor >= max_factor)
+               break;
+
+           x_sigma *= 0.5;
+           x_factor *= 2;
+           width *= 0.5;
+       }
+    }
+
+    if (y_sigma == 0.0)
+       y_radius = 0;
+    else {
+       while (y_sigma >= max_sigma) {
+           if (height <= CAIRO_MIN_SHRINK_SIZE || y_factor >= max_factor)
+               break;
+
+           y_sigma *= 0.5;
+           y_factor *= 2;
+           height *= 0.5;
+       }
+    }
+
+    /* 2D gaussian
+     * f(x, y) = exp (-((x-x0)^2/(2*x_sigma^2)+(y-y0)^2/(2*y_sigma*2)))
+     */
+    x_radius = x_sigma * 2;
+    y_radius = y_sigma * 2;
+
+    i_row = y_radius;
+    i_col = x_radius;
+    n = (2 * i_row + 1) * (2 * i_col + 1);
+
+    x_sigma_sq = 2 * x_sigma * x_sigma;
+    y_sigma_sq = 2 * y_sigma * y_sigma;
+
+    buffer = _cairo_malloc_ab (n, sizeof (double));
+    if (! buffer)
+       return NULL;
+    i_buffer = _cairo_malloc_ab (n, sizeof (i_buffer));
+    if (! i_buffer) {
+       free (buffer);
+       return NULL;
+    }
+    i = 0;
+    *sum = 0;
+
+    for (y = -i_row; y <= i_row; y++) {
+       for (x = -i_col; x <= i_col; x++) {
+           u = x * x;
+           v = y * y;
+           if (u == 0.0)
+               u1 = 0.0;
+           else
+               u1 = u / x_sigma_sq;
+
+           if (v == 0.0)
+               v1 = 0.0;
+           else
+               v1 = v / y_sigma_sq;
+           buffer[i] = exp (-(u1 + v1));
+           i_buffer[i] = ceil (buffer[i] - 0.5);
+           *sum += i_buffer[i];
+           i++;
+       }
+    }
+
+    free (buffer);
+
+    *row = i_row * 2 + 1;
+    *col = i_col * 2 + 1;
+    *shrink_x = x_factor;
+    *shrink_y = y_factor;
+
+    return i_buffer;
+}
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
+static CGContextRef
+_cairo_quartz_get_image_context (CGImageRef image)
+{
+    int width, height;
+    int bytes_per_row;
+    CGContextRef context;
+    CGColorSpaceRef color_space;
+    CGBitmapInfo bitmap_info;
+    CGRect size;
+
+    void *buffer;
+
+    if (image == NULL)
+       return NULL;
+
+    width = CGImageGetWidth (image);
+    height = CGImageGetHeight (image);
+    bytes_per_row = CGImageGetBytesPerRow (image);
+
+    color_space = CGImageGetColorSpace (image);
+    buffer = malloc (sizeof (char) * bytes_per_row * height);
+    if (! buffer)
+       return NULL;
+
+    bitmap_info = CGImageGetBitmapInfo (image);
+
+    /* create output image bitmap context */
+    context = CGBitmapContextCreate (buffer, width, height,
+                                    CGImageGetBitsPerComponent (image),
+                                    bytes_per_row,
+                                    color_space,
+                                    bitmap_info);
+
+    if (! context) {
+       free (buffer);
+       return NULL;
+    }
+
+    size = CGRectMake (0, 0, width, height);
+
+    CGContextDrawImage (context, size, image);
+
+    return context;
+}
+#endif
+
+static cairo_int_status_t
+_cairo_quartz_resize_image (CGImageRef src, double x_resize_factor,
+                           double y_resize_factor, CGImageRef *out)
+{
+    int width, height;
+    int bytes_per_row;
+    int bytes_per_pixel;
+    CGContextRef out_bitmap_context;
+    CGColorSpaceRef color_space;
+    CGBitmapInfo bitmap_info;
+    CGRect size;
+
+    void *buffer;
+
+    if (src == NULL)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    if (x_resize_factor <= 0.0 ||
+       y_resize_factor <= 0.0)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    width = CGImageGetWidth (src) * x_resize_factor;
+    height = CGImageGetHeight (src) * y_resize_factor;
+    bytes_per_pixel = CGImageGetBytesPerRow (src) / CGImageGetWidth (src);
+
+    color_space = CGImageGetColorSpace (src);
+    bytes_per_row = bytes_per_pixel * width;
+    buffer = malloc (sizeof (char) * bytes_per_row * height);
+    if (! buffer)
+       return CAIRO_INT_STATUS_NO_MEMORY;
+
+    bitmap_info = CGImageGetBitmapInfo (src);
+
+    /* create output image bitmap context */
+    out_bitmap_context = CGBitmapContextCreate (buffer, width, height,
+                                               CGImageGetBitsPerComponent (src),
+                                               bytes_per_row,
+                                               color_space,
+                                               bitmap_info);
+
+    size = CGRectMake (0, 0, width, height);
+
+    CGContextDrawImage (out_bitmap_context, size, src);
+
+    *out = CGBitmapContextCreateImage (out_bitmap_context);
+
+    /* clean up */
+    CGContextRelease (out_bitmap_context);
+    free (buffer);
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+static cairo_int_status_t
+_cairo_quartz_convolve_pass (vImage_Buffer *src,
+                            const int16_t *kernel,
+                            int kernel_width, int kernel_height,
+                            const int32_t divisor,
+                            unsigned char *edge_fill,
+                            vImage_Buffer *dst)
+{
+    vImage_Error error;
+
+    dst->data = malloc (src->rowBytes * src->height);
+    if (! dst->data)
+       return CAIRO_INT_STATUS_NO_MEMORY;
+
+    dst->width = src->width;
+    dst->height = src->height;
+    dst->rowBytes = src->rowBytes;
+
+    /* we always use background color beyond edge */
+    error = vImageConvolve_ARGB8888 (src, dst, NULL, /* no temp buffer */
+                                    0, 0,
+                                    kernel, kernel_width, kernel_height,
+                                    divisor,
+                                    edge_fill,
+                                    kvImageNoFlags);
+
+    if (error != kvImageNoError)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+cairo_status_t
+_cairo_quartz_gaussian_filter (const cairo_pattern_t *src,
+                              const CGImageRef image,
+                              CGImageRef *out_image)
+{
+    cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;
+
+    vImage_Buffer src_buffer, dst_buffer;
+    int16_t *kernel = NULL;
+    int32_t divisor;
+    int shrink_factor_x;
+    int shrink_factor_y;
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
+    CGContextRef image_ctx;
+#else
+    CGDataProviderRef image_provider;
+    CFDataRef image_data_ref;
+#endif
+    CGImageRef resized_image;
+    CGImageRef resized_out_image;
+
+    CGContextRef ctx;
+    CGColorSpaceRef color_space;
+    CGBitmapInfo bitmap_info;
+
+    int row, col;
+    unsigned char edge_color[4] = {0, 0, 0, 0};
+
+    if (src->type != CAIRO_PATTERN_TYPE_SURFACE ||
+       ! src->convolution_matrix) {
+       *out_image = CGImageRetain (image);
+       return CAIRO_INT_STATUS_SUCCESS;
+    }
+
+    /* re-compute scaling */
+    kernel = _cairo_quartz_pattern_create_gaussian_matrix ((cairo_pattern_t *)src,
+                                                           &row, &col,
+                                                           &divisor,
+                                                           &shrink_factor_x,
+                                                           &shrink_factor_y);
+    if (! kernel) {
+       *out_image = NULL;
+       return CAIRO_INT_STATUS_NO_MEMORY;
+    }
+
+    if (shrink_factor_x == 1 &&
+       shrink_factor_y == 1)
+       resized_image = CGImageRetain (image);
+    else {
+       status = _cairo_quartz_resize_image (image,
+                                            1.0 / src->shrink_factor_x,
+                                            1.0 / src->shrink_factor_y,
+                                            &resized_image);
+       if (unlikely (status)) {
+           free (kernel);
+           *out_image = NULL;
+           return status;
+       }
+    }
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
+    image_ctx = _cairo_quartz_get_image_context (resized_image);
+    if (! image_ctx) {
+       free (kernel);
+       *out_image = NULL;
+       return CAIRO_INT_STATUS_NO_MEMORY;
+    }
+#else
+    image_provider = CGImageGetDataProvider (resized_image);
+    image_data_ref = CGDataProviderCopyData (image_provider);
+#endif
+
+    src_buffer.width = CGImageGetWidth (resized_image);
+    src_buffer.height = CGImageGetHeight (resized_image);
+    src_buffer.rowBytes = CGImageGetBytesPerRow (resized_image);
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
+    src_buffer.data = CGBitmapContextGetData (image_ctx);
+    if (! src_buffer.data) {
+       free (kernel);
+       CGContextRelease (image_ctx);
+       *out_image = NULL;
+       return CAIRO_INT_STATUS_NO_MEMORY;
+    }
+#else
+    src_buffer.data = (void *) CFDataGetBytePtr (image_data_ref);
+#endif
+
+    dst_buffer.data = NULL;
+
+    status = _cairo_quartz_convolve_pass (&src_buffer,
+                                         kernel,
+                                         col, row,
+                                         divisor,
+                                         edge_color,
+                                         &dst_buffer);
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
+    CGContextRelease (image_ctx);
+    free (src_buffer.data);
+#else
+    CFRelease (image_data_ref);
+#endif
+
+    free (kernel);
+    CGImageRelease (resized_image);
+
+    if (unlikely (status)) {
+       if (dst_buffer.data)
+           free (dst_buffer.data);
+       *out_image = NULL;
+       return status;
+    }
+
+    /* create resized_out_image from blur */
+    color_space = CGImageGetColorSpace (resized_image);
+    bitmap_info = CGImageGetBitmapInfo (resized_image);
+
+    ctx = CGBitmapContextCreate (dst_buffer.data,
+                                dst_buffer.width,
+                                dst_buffer.height,
+                                CGImageGetBitsPerComponent (resized_image),
+                                dst_buffer.rowBytes,
+                                color_space,
+                                bitmap_info);
+
+    resized_out_image = CGBitmapContextCreateImage (ctx);
+
+    CGContextRelease (ctx);
+    free (dst_buffer.data);
+
+    /* scale back from resized_out_image to out_image */
+    if (shrink_factor_x == 1 &&
+       shrink_factor_y == 1) {
+       *out_image = resized_out_image;
+       return CAIRO_INT_STATUS_SUCCESS;
+    }
+
+    status = _cairo_quartz_resize_image (resized_out_image,
+                                        src->shrink_factor_x,
+                                        src->shrink_factor_y,
+                                        out_image);
+    if (unlikely (status)) {
+       CGImageRelease (resized_out_image);
+       *out_image = NULL;
+       return status;
+    }
+    CGImageRelease (resized_out_image);
+    return status;
+}
index 763ce96..2715abd 100644 (file)
@@ -36,7 +36,7 @@
 
 #include "cairoint.h"
 
-#include "cairo-image-surface-private.h"
+#include "cairo-image-surface-inline.h"
 #include "cairo-quartz-image.h"
 #include "cairo-quartz-private.h"
 #include "cairo-surface-backend-private.h"
@@ -107,13 +107,12 @@ _cairo_quartz_image_surface_acquire_source_image (void *asurface,
     return CAIRO_STATUS_SUCCESS;
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_quartz_image_surface_map_to_image (void *asurface,
                                          const cairo_rectangle_int_t *extents)
 {
     cairo_quartz_image_surface_t *surface = (cairo_quartz_image_surface_t *) asurface;
-
-    return cairo_surface_map_to_image (&surface->imageSurface->base, extents);
+    return _cairo_surface_map_to_image (&surface->imageSurface->base, extents);
 }
 
 static cairo_int_status_t
@@ -121,9 +120,7 @@ _cairo_quartz_image_surface_unmap_image (void *asurface,
                                         cairo_image_surface_t *image)
 {
     cairo_quartz_image_surface_t *surface = (cairo_quartz_image_surface_t *) asurface;
-
-    cairo_surface_unmap_image (&surface->imageSurface->base, &image->base);
-    return cairo_surface_status (&surface->imageSurface->base);
+    return _cairo_surface_unmap_image (&surface->imageSurface->base, image);
 }
 
 static cairo_bool_t
@@ -144,12 +141,16 @@ _cairo_quartz_image_surface_get_extents (void *asurface,
  */
 
 static cairo_status_t
-_cairo_quartz_image_surface_flush (void *asurface)
+_cairo_quartz_image_surface_flush (void *asurface,
+                                  unsigned flags)
 {
     cairo_quartz_image_surface_t *surface = (cairo_quartz_image_surface_t *) asurface;
     CGImageRef oldImage = surface->image;
     CGImageRef newImage = NULL;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     /* XXX only flush if the image has been modified. */
 
     /* To be released by the ReleaseCallback */
@@ -312,7 +313,7 @@ cairo_quartz_image_surface_create (cairo_surface_t *surface)
     if (surface->status)
        return surface;
 
-    if (cairo_surface_get_type(surface) != CAIRO_SURFACE_TYPE_IMAGE)
+    if (! _cairo_surface_is_image (surface))
        return SURFACE_ERROR_TYPE_MISMATCH;
 
     image_surface = (cairo_image_surface_t*) surface;
@@ -377,7 +378,7 @@ cairo_quartz_image_surface_get_image (cairo_surface_t *asurface)
 {
     cairo_quartz_image_surface_t *surface = (cairo_quartz_image_surface_t*) asurface;
 
-    if (cairo_surface_get_type(asurface) != CAIRO_SURFACE_TYPE_QUARTZ_IMAGE)
+    if (asurface->type != CAIRO_SURFACE_TYPE_QUARTZ_IMAGE)
        return NULL;
 
     return (cairo_surface_t*) surface->imageSurface;
index f841a49..58b97ac 100644 (file)
@@ -97,6 +97,11 @@ CairoQuartzCreateCGImage (cairo_format_t format,
 cairo_private CGFontRef
 _cairo_quartz_scaled_font_get_cg_font_ref (cairo_scaled_font_t *sfont);
 
+cairo_private cairo_status_t
+_cairo_quartz_gaussian_filter (const cairo_pattern_t *src,
+                              const CGImageRef image,
+                              CGImageRef *out_image);
+
 #else
 
 # error Cairo was not compiled with support for the quartz backend
old mode 100644 (file)
new mode 100755 (executable)
index d216261..6d0a0c0
 #include "cairo-compositor-private.h"
 #include "cairo-default-context-private.h"
 #include "cairo-error-private.h"
-#include "cairo-image-surface-private.h"
+#include "cairo-image-surface-inline.h"
 #include "cairo-pattern-private.h"
 #include "cairo-surface-backend-private.h"
 #include "cairo-surface-clipper-private.h"
+#include "cairo-recording-surface-private.h"
+#include "cairo-surface-shadow-private.h"
+#include "cairo-list-inline.h"
 
 #include <dlfcn.h>
 
@@ -124,6 +127,121 @@ static bool (*CGContextGetAllowsFontSmoothingPtr) (CGContextRef) = NULL;
 
 static cairo_bool_t _cairo_quartz_symbol_lookup_done = FALSE;
 
+/* Shadow cache functions */
+static cairo_list_t shadow_caches;
+static unsigned long shadow_caches_size = 0;
+static cairo_recursive_mutex_t shadow_caches_mutex;
+static unsigned shadow_caches_mutex_depth = 0;
+static cairo_atomic_int_t shadow_caches_ref_count = 0;
+
+static void
+_cairo_quartz_surface_shadow_caches_init (void)
+{
+    _cairo_atomic_int_inc (&shadow_caches_ref_count);
+
+    if (shadow_caches_ref_count == 1)
+       cairo_list_init (&shadow_caches);
+
+    CAIRO_RECURSIVE_MUTEX_INIT (shadow_caches_mutex);
+}
+
+static void
+_cairo_quartz_surface_shadow_caches_destroy (void)
+{
+    assert (shadow_caches_ref_count != 0);
+
+    if (! _cairo_atomic_int_dec_and_test (&shadow_caches_ref_count))
+       return;
+
+    if (shadow_caches_mutex_depth == 0) {
+       CAIRO_MUTEX_FINI (shadow_caches_mutex);
+
+       while (! cairo_list_is_empty (&shadow_caches)) {
+           cairo_shadow_cache_t *shadow;
+
+           shadow = cairo_list_first_entry (&shadow_caches,
+                                            cairo_shadow_cache_t,
+                                            link);
+           cairo_list_del (&shadow->link);
+           cairo_surface_destroy (shadow->surface);
+           free (shadow);
+       }
+       shadow_caches_size = 0;
+    }
+}
+
+static cairo_status_t
+_cairo_quartz_surface_shadow_cache_acquire (void *abstract_surface)
+{
+    cairo_quartz_surface_t *surface = abstract_surface;
+
+    if (! surface || surface->base.type != CAIRO_SURFACE_TYPE_QUARTZ)
+       return CAIRO_STATUS_SURFACE_TYPE_MISMATCH;
+
+    if (unlikely (surface->base.status))
+       return surface->base.status;
+
+    CAIRO_MUTEX_LOCK (shadow_caches_mutex);
+    shadow_caches_mutex_depth++;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static void
+_cairo_quartz_surface_shadow_cache_release (void *abstract_surface)
+{
+    cairo_quartz_surface_t *surface = abstract_surface;
+
+    if (! surface || surface->base.type != CAIRO_SURFACE_TYPE_QUARTZ)
+       return;
+
+    if (unlikely (surface->base.status))
+       return;
+
+    assert (shadow_caches_mutex_depth > 0);
+    shadow_caches_mutex_depth--;
+
+    CAIRO_MUTEX_UNLOCK (shadow_caches_mutex);
+}
+
+static cairo_list_t *
+_cairo_quartz_surface_get_shadow_cache (void *abstract_surface)
+{
+    cairo_quartz_surface_t *surface = abstract_surface;
+
+    if (! surface || surface->base.type != CAIRO_SURFACE_TYPE_QUARTZ)
+       return NULL;
+
+    if (unlikely (surface->base.status))
+       return NULL;
+
+    return &shadow_caches;
+}
+
+static unsigned long *
+_cairo_quartz_surface_get_shadow_cache_size (void *abstract_surface)
+{
+    cairo_quartz_surface_t *surface = abstract_surface;
+
+    if (! surface || surface->base.type != CAIRO_SURFACE_TYPE_QUARTZ)
+       return NULL;
+
+    if (unlikely (surface->base.status))
+       return NULL;
+
+    return &shadow_caches_size;
+}
+
+static cairo_bool_t
+_cairo_quartz_surface_has_shadow_cache (void *abstract_surface)
+{
+    cairo_quartz_surface_t *surface = abstract_surface;
+
+    if (! surface || surface->base.type != CAIRO_SURFACE_TYPE_QUARTZ)
+       return FALSE;
+    return TRUE;
+}
+
 /*
  * Utility functions
  */
@@ -203,8 +321,9 @@ CairoQuartzCreateCGImage (cairo_format_t format,
            break;
 #endif
 
-        case CAIRO_FORMAT_RGB16_565:
-        case CAIRO_FORMAT_INVALID:
+       case CAIRO_FORMAT_RGB30:
+       case CAIRO_FORMAT_RGB16_565:
+       case CAIRO_FORMAT_INVALID:
        default:
            return NULL;
     }
@@ -781,16 +900,28 @@ DataProviderReleaseCallback (void *info, const void *data, size_t size)
 }
 
 static cairo_status_t
-_cairo_surface_to_cgimage (cairo_surface_t *source,
-                          CGImageRef *image_out)
+_cairo_surface_to_cgimage (const cairo_pattern_t *pattern,
+                          cairo_surface_t       *source,
+                          cairo_rectangle_int_t *extents,
+                          cairo_format_t         format,
+                          cairo_matrix_t        *matrix,
+                          const cairo_clip_t    *clip,
+                          CGImageRef            *image_out)
 {
     cairo_status_t status;
     quartz_source_image_t *source_img;
+    cairo_image_surface_t *image_surface;
+    CGImageRef image;
 
     if (source->backend && source->backend->type == CAIRO_SURFACE_TYPE_QUARTZ_IMAGE) {
        cairo_quartz_image_surface_t *surface = (cairo_quartz_image_surface_t *) source;
-       *image_out = CGImageRetain (surface->image);
-       return CAIRO_STATUS_SUCCESS;
+
+       status = _cairo_quartz_gaussian_filter (pattern, surface->image,
+                                               image_out);
+       if (unlikely (status)) {
+           *image_out = NULL;
+       }
+       return status;
     }
 
     if (_cairo_surface_is_quartz (source)) {
@@ -801,9 +932,20 @@ _cairo_surface_to_cgimage (cairo_surface_t *source,
        }
 
        if (_cairo_quartz_is_cgcontext_bitmap_context (surface->cgContext)) {
-           *image_out = CGBitmapContextCreateImage (surface->cgContext);
-           if (*image_out)
-               return CAIRO_STATUS_SUCCESS;
+           image = CGBitmapContextCreateImage (surface->cgContext);
+           if (image) {
+               status = _cairo_quartz_gaussian_filter (pattern, image,
+                                                       image_out);
+               CGImageRelease (image);
+               if (unlikely (status)) {
+                   *image_out = NULL;
+               }
+           }
+           else {
+               status = CAIRO_INT_STATUS_UNSUPPORTED;
+               *image_out = NULL;
+           }
+           return status;
        }
     }
 
@@ -813,10 +955,39 @@ _cairo_surface_to_cgimage (cairo_surface_t *source,
 
     source_img->surface = source;
 
-    status = _cairo_surface_acquire_source_image (source_img->surface, &source_img->image_out, &source_img->image_extra);
-    if (unlikely (status)) {
-       free (source_img);
-       return status;
+    if (source->type == CAIRO_SURFACE_TYPE_RECORDING) {
+       image_surface = (cairo_image_surface_t *)
+           cairo_image_surface_create (format, extents->width, extents->height);
+       if (unlikely (image_surface->base.status)) {
+           status = image_surface->base.status;
+           cairo_surface_destroy (&image_surface->base);
+           free (source_img);
+           return status;
+       }
+
+       status = _cairo_recording_surface_replay_with_clip (source,
+                                                           matrix,
+                                                           &image_surface->base,
+                                                           NULL);
+       if (unlikely (status)) {
+           cairo_surface_destroy (&image_surface->base);
+           free (source_img);
+           return status;
+       }
+
+       source_img->image_out = image_surface;
+       source_img->image_extra = NULL;
+
+       cairo_matrix_init_identity (matrix);
+    }
+    else {
+       status = _cairo_surface_acquire_source_image (source_img->surface,
+                                                     &source_img->image_out,
+                                                     &source_img->image_extra);
+       if (unlikely (status)) {
+           free (source_img);
+           return status;
+       }
     }
 
     if (source_img->image_out->width == 0 || source_img->image_out->height == 0) {
@@ -825,19 +996,29 @@ _cairo_surface_to_cgimage (cairo_surface_t *source,
                                     source_img->image_out->data,
                                     source_img->image_out->height * source_img->image_out->stride);
     } else {
-       *image_out = CairoQuartzCreateCGImage (source_img->image_out->format,
-                                              source_img->image_out->width,
-                                              source_img->image_out->height,
-                                              source_img->image_out->stride,
-                                              source_img->image_out->data,
-                                              TRUE,
-                                              NULL,
-                                              DataProviderReleaseCallback,
-                                              source_img);
+       image = CairoQuartzCreateCGImage (source_img->image_out->format,
+                                         source_img->image_out->width,
+                                         source_img->image_out->height,
+                                         source_img->image_out->stride,
+                                         source_img->image_out->data,
+                                         TRUE,
+                                         NULL,
+                                         DataProviderReleaseCallback,
+                                         source_img);
 
        /* TODO: differentiate memory error and unsupported surface type */
-       if (unlikely (*image_out == NULL))
+       if (unlikely (image == NULL)) {
+           *image_out = NULL;
            status = CAIRO_INT_STATUS_UNSUPPORTED;
+       }
+
+       status = _cairo_quartz_gaussian_filter (pattern, image,
+                                               image_out);
+       CGImageRelease (image);
+
+       if (unlikely (status)) {
+           *image_out = NULL;
+       }
     }
 
     return status;
@@ -896,11 +1077,13 @@ SurfacePatternReleaseInfoFunc (void *ainfo)
 static cairo_int_status_t
 _cairo_quartz_cairo_repeating_surface_pattern_to_quartz (cairo_quartz_surface_t *dest,
                                                         const cairo_pattern_t *apattern,
+                                                        const cairo_clip_t *clip,
                                                         CGPatternRef *cgpat)
 {
     cairo_surface_pattern_t *spattern;
     cairo_surface_t *pat_surf;
     cairo_rectangle_int_t extents;
+    cairo_format_t format = _cairo_format_from_content (dest->base.content);
 
     CGImageRef image;
     CGRect pbounds;
@@ -921,10 +1104,17 @@ _cairo_quartz_cairo_repeating_surface_pattern_to_quartz (cairo_quartz_surface_t
     spattern = (cairo_surface_pattern_t *) apattern;
     pat_surf = spattern->surface;
 
-    is_bounded = _cairo_surface_get_extents (pat_surf, &extents);
-    assert (is_bounded);
+    if (pat_surf->type != CAIRO_SURFACE_TYPE_RECORDING) {
+       is_bounded = _cairo_surface_get_extents (pat_surf, &extents);
+       assert (is_bounded);
+    }
+    else
+       _cairo_surface_get_extents (&dest->base, &extents);
 
-    status = _cairo_surface_to_cgimage (pat_surf, &image);
+    m = spattern->base.matrix;
+    status = _cairo_surface_to_cgimage (apattern, pat_surf, &extents,
+                                       format,
+                                       &m, clip, &image);
     if (unlikely (status))
        return status;
 
@@ -959,7 +1149,6 @@ _cairo_quartz_cairo_repeating_surface_pattern_to_quartz (cairo_quartz_surface_t
     rw = pbounds.size.width;
     rh = pbounds.size.height;
 
-    m = spattern->base.matrix;
     cairo_matrix_invert (&m);
     _cairo_quartz_cairo_matrix_to_quartz (&m, &stransform);
 
@@ -1083,14 +1272,15 @@ _cairo_quartz_setup_gradient_source (cairo_quartz_drawing_state_t *state,
 
 static cairo_int_status_t
 _cairo_quartz_setup_state (cairo_quartz_drawing_state_t *state,
-                          cairo_composite_rectangles_t *extents)
+                          cairo_composite_rectangles_t *composite)
 {
-    cairo_quartz_surface_t       *surface = (cairo_quartz_surface_t *) extents->surface;
-    cairo_operator_t              op = extents->op;
-    const cairo_pattern_t        *source = &extents->source_pattern.base;
-    const cairo_clip_t           *clip = extents->clip;
+    cairo_quartz_surface_t       *surface = (cairo_quartz_surface_t *) composite->surface;
+    cairo_operator_t              op = composite->op;
+    const cairo_pattern_t        *source = &composite->source_pattern.base;
+    const cairo_clip_t           *clip = composite->clip;
     cairo_bool_t needs_temp;
     cairo_status_t status;
+    cairo_format_t format = _cairo_format_from_content (composite->surface->content);
 
     state->layer = NULL;
     state->image = NULL;
@@ -1204,7 +1394,10 @@ _cairo_quartz_setup_state (cairo_quartz_drawing_state_t *state,
        cairo_fixed_t fw, fh;
        cairo_bool_t is_bounded;
 
-       status = _cairo_surface_to_cgimage (pat_surf, &img);
+       _cairo_surface_get_extents (composite->surface, &extents);
+       status = _cairo_surface_to_cgimage (source, pat_surf, &extents,
+                                           format,
+                                           &m, clip, &img);
        if (unlikely (status))
            return status;
 
@@ -1219,8 +1412,10 @@ _cairo_quartz_setup_state (cairo_quartz_drawing_state_t *state,
 
        _cairo_quartz_cairo_matrix_to_quartz (&m, &state->transform);
 
-       is_bounded = _cairo_surface_get_extents (pat_surf, &extents);
-       assert (is_bounded);
+       if (pat_surf->type != CAIRO_SURFACE_TYPE_RECORDING) {
+           is_bounded = _cairo_surface_get_extents (pat_surf, &extents);
+           assert (is_bounded);
+       }
 
        srcRect = CGRectMake (0, 0, extents.width, extents.height);
 
@@ -1290,7 +1485,7 @@ _cairo_quartz_setup_state (cairo_quartz_drawing_state_t *state,
        CGPatternRef pattern = NULL;
        cairo_int_status_t status;
 
-       status = _cairo_quartz_cairo_repeating_surface_pattern_to_quartz (surface, source, &pattern);
+       status = _cairo_quartz_cairo_repeating_surface_pattern_to_quartz (surface, source, clip, &pattern);
        if (unlikely (status))
            return status;
 
@@ -1385,96 +1580,82 @@ _cairo_quartz_draw_source (cairo_quartz_drawing_state_t *state,
     }
 }
 
-/*
- * get source/dest image implementation
- */
-
-/* Read the image from the surface's front buffer */
-static cairo_int_status_t
-_cairo_quartz_get_image (cairo_quartz_surface_t *surface,
-                        cairo_image_surface_t **image_out)
+static cairo_image_surface_t *
+_cairo_quartz_surface_map_to_image (void *abstract_surface,
+                                   const cairo_rectangle_int_t *extents)
 {
-    unsigned char *imageData;
-    cairo_image_surface_t *isurf;
+    cairo_quartz_surface_t *surface = (cairo_quartz_surface_t *) abstract_surface;
+    unsigned int stride, bitinfo, bpp, color_comps;
+    CGColorSpaceRef colorspace;
+    void *imageData;
+    cairo_format_t format;
 
-    if (IS_EMPTY (surface)) {
-       *image_out = (cairo_image_surface_t*) cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 0, 0);
-       return CAIRO_STATUS_SUCCESS;
-    }
+    if (surface->imageSurfaceEquiv)
+       return _cairo_surface_map_to_image (surface->imageSurfaceEquiv, extents);
 
-    if (surface->imageSurfaceEquiv) {
-       *image_out = (cairo_image_surface_t*) cairo_surface_reference (surface->imageSurfaceEquiv);
-       return CAIRO_STATUS_SUCCESS;
-    }
+    if (IS_EMPTY (surface))
+       return (cairo_image_surface_t *) cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 0, 0);
 
-    if (_cairo_quartz_is_cgcontext_bitmap_context (surface->cgContext)) {
-       unsigned int stride;
-       unsigned int bitinfo;
-       unsigned int bpc, bpp;
-       CGColorSpaceRef colorspace;
-       unsigned int color_comps;
+    if (! _cairo_quartz_is_cgcontext_bitmap_context (surface->cgContext))
+       return _cairo_image_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
 
-       imageData = (unsigned char *) CGBitmapContextGetData (surface->cgContext);
+    bitinfo = CGBitmapContextGetBitmapInfo (surface->cgContext);
+    bpp = CGBitmapContextGetBitsPerPixel (surface->cgContext);
 
-       bitinfo = CGBitmapContextGetBitmapInfo (surface->cgContext);
-       stride = CGBitmapContextGetBytesPerRow (surface->cgContext);
-       bpp = CGBitmapContextGetBitsPerPixel (surface->cgContext);
-       bpc = CGBitmapContextGetBitsPerComponent (surface->cgContext);
+    // let's hope they don't add YUV under us
+    colorspace = CGBitmapContextGetColorSpace (surface->cgContext);
+    color_comps = CGColorSpaceGetNumberOfComponents (colorspace);
 
-       // let's hope they don't add YUV under us
-       colorspace = CGBitmapContextGetColorSpace (surface->cgContext);
-       color_comps = CGColorSpaceGetNumberOfComponents (colorspace);
+    /* XXX TODO: We can handle many more data formats by
+     * converting to pixman_format_t */
 
-       // XXX TODO: We can handle all of these by converting to
-       // pixman masks, including non-native-endian masks
-       if (bpc != 8)
-           return CAIRO_INT_STATUS_UNSUPPORTED;
+    if (bpp == 32 && color_comps == 3 &&
+       (bitinfo & kCGBitmapAlphaInfoMask) == kCGImageAlphaPremultipliedFirst &&
+       (bitinfo & kCGBitmapByteOrderMask) == kCGBitmapByteOrder32Host)
+    {
+       format = CAIRO_FORMAT_ARGB32;
+    }
+    else if (bpp == 32 && color_comps == 3 &&
+            (bitinfo & kCGBitmapAlphaInfoMask) == kCGImageAlphaNoneSkipFirst &&
+            (bitinfo & kCGBitmapByteOrderMask) == kCGBitmapByteOrder32Host)
+    {
+       format = CAIRO_FORMAT_RGB24;
+    }
+    else if (bpp == 8 && color_comps == 1)
+    {
+       format = CAIRO_FORMAT_A1;
+    }
+    else
+    {
+       return _cairo_image_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+    }
 
-       if (bpp != 32 && bpp != 8)
-           return CAIRO_INT_STATUS_UNSUPPORTED;
+    imageData = CGBitmapContextGetData (surface->cgContext);
+    stride = CGBitmapContextGetBytesPerRow (surface->cgContext);
 
-       if (color_comps != 3 && color_comps != 1)
-           return CAIRO_INT_STATUS_UNSUPPORTED;
+    return (cairo_image_surface_t *) cairo_image_surface_create_for_data (imageData,
+                                                                         format,
+                                                                         extents->width,
+                                                                         extents->height,
+                                                                         stride);
+}
 
-       if (bpp == 32 && color_comps == 3 &&
-           (bitinfo & kCGBitmapAlphaInfoMask) == kCGImageAlphaPremultipliedFirst &&
-           (bitinfo & kCGBitmapByteOrderMask) == kCGBitmapByteOrder32Host)
-       {
-           isurf = (cairo_image_surface_t *)
-               cairo_image_surface_create_for_data (imageData,
-                                                    CAIRO_FORMAT_ARGB32,
-                                                    surface->extents.width,
-                                                    surface->extents.height,
-                                                    stride);
-       } else if (bpp == 32 && color_comps == 3 &&
-                  (bitinfo & kCGBitmapAlphaInfoMask) == kCGImageAlphaNoneSkipFirst &&
-                  (bitinfo & kCGBitmapByteOrderMask) == kCGBitmapByteOrder32Host)
-       {
-           isurf = (cairo_image_surface_t *)
-               cairo_image_surface_create_for_data (imageData,
-                                                    CAIRO_FORMAT_RGB24,
-                                                    surface->extents.width,
-                                                    surface->extents.height,
-                                                    stride);
-       } else if (bpp == 8 && color_comps == 1)
-       {
-           isurf = (cairo_image_surface_t *)
-               cairo_image_surface_create_for_data (imageData,
-                                                    CAIRO_FORMAT_A8,
-                                                    surface->extents.width,
-                                                    surface->extents.height,
-                                                    stride);
-       } else {
-           return CAIRO_INT_STATUS_UNSUPPORTED;
-       }
-    } else {
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-    }
+static cairo_int_status_t
+_cairo_quartz_surface_unmap_image (void *abstract_surface,
+                                  cairo_image_surface_t *image)
+{
+    cairo_quartz_surface_t *surface = (cairo_quartz_surface_t *) abstract_surface;
+
+    if (surface->imageSurfaceEquiv)
+       return _cairo_surface_unmap_image (surface->imageSurfaceEquiv, image);
+
+    cairo_surface_finish (&image->base);
+    cairo_surface_destroy (&image->base);
 
-    *image_out = isurf;
     return CAIRO_STATUS_SUCCESS;
 }
 
+
 /*
  * Cairo surface backend implementations
  */
@@ -1505,6 +1686,8 @@ _cairo_quartz_surface_finish (void *abstract_surface)
     free (surface->imageData);
     surface->imageData = NULL;
 
+    _cairo_quartz_surface_shadow_caches_destroy ();
+
     return CAIRO_STATUS_SUCCESS;
 }
 
@@ -1513,35 +1696,20 @@ _cairo_quartz_surface_acquire_source_image (void *abstract_surface,
                                             cairo_image_surface_t **image_out,
                                             void **image_extra)
 {
-    cairo_int_status_t status;
     cairo_quartz_surface_t *surface = (cairo_quartz_surface_t *) abstract_surface;
 
     //ND ((stderr, "%p _cairo_quartz_surface_acquire_source_image\n", surface));
 
-    status = _cairo_quartz_get_image (surface, image_out);
-    if (unlikely (status))
-       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
     *image_extra = NULL;
 
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_surface_t *
-_cairo_quartz_surface_snapshot (void *abstract_surface)
-{
-    cairo_int_status_t status;
-    cairo_quartz_surface_t *surface = abstract_surface;
-    cairo_image_surface_t *image;
-
-    if (surface->imageSurfaceEquiv)
-       return NULL;
-
-    status = _cairo_quartz_get_image (surface, &image);
-    if (unlikely (status))
-        return _cairo_surface_create_in_error (CAIRO_STATUS_NO_MEMORY);
+    *image_out = _cairo_quartz_surface_map_to_image (surface, &surface->extents);
+    if (unlikely (cairo_surface_status(&(*image_out)->base))) {
+       cairo_surface_destroy (&(*image_out)->base);
+       *image_out = NULL;
+       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+    }
 
-    return &image->base;
+    return CAIRO_STATUS_SUCCESS;
 }
 
 static void
@@ -1549,38 +1717,7 @@ _cairo_quartz_surface_release_source_image (void *abstract_surface,
                                            cairo_image_surface_t *image,
                                            void *image_extra)
 {
-    cairo_surface_destroy (&image->base);
-}
-
-
-static cairo_surface_t *
-_cairo_quartz_surface_map_to_image (void *abstract_surface,
-                                   const cairo_rectangle_int_t *extents)
-{
-    cairo_quartz_surface_t *surface = (cairo_quartz_surface_t *) abstract_surface;
-    cairo_image_surface_t *image;
-    cairo_surface_t *subsurface;
-    cairo_status_t status;
-
-    status = _cairo_quartz_get_image (surface, &image);
-    if (unlikely (status))
-       return _cairo_surface_create_in_error (status);
-
-    /* Is this legitimate? shouldn't it return an image surface? */
-
-    subsurface = _cairo_surface_create_for_rectangle_int (&image->base, extents);
-    cairo_surface_destroy (&image->base);
-
-    return subsurface;
-}
-
-static cairo_int_status_t
-_cairo_quartz_surface_unmap_image (void *abstract_surface,
-                                  cairo_image_surface_t *image)
-{
-    cairo_surface_destroy (&image->base);
-
-    return CAIRO_STATUS_SUCCESS;
+    _cairo_quartz_surface_unmap_image (abstract_surface, image);
 }
 
 static cairo_surface_t *
@@ -1663,8 +1800,14 @@ _cairo_quartz_cg_mask_with_surface (cairo_composite_rectangles_t *extents,
     cairo_status_t status;
     CGAffineTransform mask_matrix;
     cairo_quartz_drawing_state_t state;
-
-    status = _cairo_surface_to_cgimage (mask_surf, &img);
+    cairo_format_t format = _cairo_format_from_content (extents->surface->content);
+    cairo_rectangle_int_t dest_extents;
+    cairo_matrix_t m = *mask_mat;
+
+    _cairo_surface_get_extents (extents->surface, &dest_extents);
+    status = _cairo_surface_to_cgimage (&extents->mask_pattern.base,
+                                       mask_surf, &dest_extents, format,
+                                       &m, extents->clip, &img);
     if (unlikely (status))
        return status;
 
@@ -1673,7 +1816,7 @@ _cairo_quartz_cg_mask_with_surface (cairo_composite_rectangles_t *extents,
        goto BAIL;
 
     rect = CGRectMake (0.0, 0.0, CGImageGetWidth (img), CGImageGetHeight (img));
-    _cairo_quartz_cairo_matrix_to_quartz (mask_mat, &mask_matrix);
+    _cairo_quartz_cairo_matrix_to_quartz (&m, &mask_matrix);
 
     /* ClipToMask is essentially drawing an image, so we need to flip the CTM
      * to get the image to appear oriented the right way */
@@ -2097,8 +2240,27 @@ _cairo_quartz_surface_paint (void *surface,
                             const cairo_pattern_t *source,
                             const cairo_clip_t *clip)
 {
-    return _cairo_compositor_paint (&_cairo_quartz_cg_compositor,
-                                   surface, op, source, clip);
+    cairo_int_status_t status;
+    cairo_quartz_surface_t *quartz_surface = surface;
+
+    status = cairo_device_acquire (quartz_surface->base.device);
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_surface_shadow_paint (surface, op, source, clip,
+                                         &source->shadow);
+
+    if (source->shadow.draw_shadow_only ||
+       unlikely (status)) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    status = _cairo_compositor_paint (&_cairo_quartz_cg_compositor,
+                                     surface, op, source, clip);
+
+    cairo_device_release (quartz_surface->base.device);
+    return status;
 }
 
 static cairo_int_status_t
@@ -2108,9 +2270,28 @@ _cairo_quartz_surface_mask (void *surface,
                            const cairo_pattern_t *mask,
                            const cairo_clip_t *clip)
 {
-    return _cairo_compositor_mask (&_cairo_quartz_cg_compositor,
-                                  surface, op, source, mask,
+    cairo_int_status_t status;
+    cairo_quartz_surface_t *quartz_surface = surface;
+
+    status = cairo_device_acquire (quartz_surface->base.device);
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_surface_shadow_mask (surface, op, source, mask, clip,
+                                         &source->shadow);
+
+    if (source->shadow.draw_shadow_only ||
+       unlikely (status)) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    status = _cairo_compositor_mask (&_cairo_quartz_cg_compositor,
+                                    surface, op, source, mask,
                                   clip);
+
+    cairo_device_release (quartz_surface->base.device);
+    return status;
 }
 
 static cairo_int_status_t
@@ -2123,10 +2304,54 @@ _cairo_quartz_surface_fill (void *surface,
                            cairo_antialias_t antialias,
                            const cairo_clip_t *clip)
 {
-    return _cairo_compositor_fill (&_cairo_quartz_cg_compositor,
-                                  surface, op, source, path,
-                                  fill_rule, tolerance, antialias,
-                                  clip);
+    cairo_int_status_t status;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
+    cairo_quartz_surface_t *quartz_surface = surface;
+
+    status = cairo_device_acquire (quartz_surface->base.device);
+    if (unlikely (status))
+       return status;
+
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_fill (surface, op, source, path,
+                                            fill_rule, tolerance, antialias,
+                                            clip, &source->shadow);
+
+    if (unlikely (status)) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_DROP &&
+       source->shadow.draw_shadow_only) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    if (! source->shadow.draw_shadow_only) {
+       if (! source->shadow.path_is_fill_with_spread ||
+           source->shadow.type != CAIRO_SHADOW_INSET)
+           status = _cairo_compositor_fill (&_cairo_quartz_cg_compositor,
+                                            surface, op, source, path,
+                                            fill_rule, tolerance,
+                                            antialias, clip);
+       else
+           status = _cairo_compositor_paint (&_cairo_quartz_cg_compositor,
+                                             surface, op, source, clip);
+    }
+
+    if (unlikely (status)) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_fill (surface, op, source, path,
+                                            fill_rule, tolerance, antialias,
+                                            clip, &source->shadow);
+
+    cairo_device_release (quartz_surface->base.device);
+    return status;
 }
 
 static cairo_int_status_t
@@ -2141,10 +2366,50 @@ _cairo_quartz_surface_stroke (void *surface,
                              cairo_antialias_t antialias,
                              const cairo_clip_t *clip)
 {
-    return _cairo_compositor_stroke (&_cairo_quartz_cg_compositor,
-                                    surface, op, source, path,
-                                    style, ctm,ctm_inverse,
-                                    tolerance, antialias, clip);
+    cairo_int_status_t status;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
+    cairo_quartz_surface_t *quartz_surface = surface;
+
+    status = cairo_device_acquire (quartz_surface->base.device);
+    if (unlikely (status))
+       return status;
+
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_stroke (surface, op, source, path,
+                                              style, ctm, ctm_inverse,
+                                              tolerance, antialias, clip,
+                                              &source->shadow);
+
+    if (unlikely (status)) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    if (source->shadow.draw_shadow_only &&
+       shadow_type == CAIRO_SHADOW_DROP) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    if (! source->shadow.draw_shadow_only)
+       status = _cairo_compositor_stroke (&_cairo_quartz_cg_compositor,
+                                          surface, op, source, path,
+                                          style, ctm,ctm_inverse,
+                                          tolerance, antialias, clip);
+
+    if (unlikely (status)) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_stroke (surface, op, source, path,
+                                              style, ctm, ctm_inverse,
+                                              tolerance, antialias, clip,
+                                              &source->shadow);
+
+    cairo_device_release (quartz_surface->base.device);
+    return status;
 }
 
 static cairo_int_status_t
@@ -2156,10 +2421,49 @@ _cairo_quartz_surface_glyphs (void *surface,
                              cairo_scaled_font_t *scaled_font,
                              const cairo_clip_t *clip)
 {
-    return _cairo_compositor_glyphs (&_cairo_quartz_cg_compositor,
-                                    surface, op, source,
-                                    glyphs, num_glyphs, scaled_font,
-                                    clip);
+    cairo_int_status_t status;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
+    cairo_quartz_surface_t *quartz_surface = surface;
+
+    status = cairo_device_acquire (quartz_surface->base.device);
+    if (unlikely (status))
+       return status;
+
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_glyphs (surface, op, source,
+                                              scaled_font,
+                                              glyphs, num_glyphs,
+                                              clip, &source->shadow);
+
+    if (unlikely (status)) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    if (source->shadow.draw_shadow_only &&
+       shadow_type == CAIRO_SHADOW_INSET) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    if (! source->shadow.draw_shadow_only)
+       status = _cairo_compositor_glyphs (&_cairo_quartz_cg_compositor,
+                                          surface, op, source,
+                                          glyphs, num_glyphs, scaled_font,
+                                          clip);
+
+    if (unlikely (status)) {
+       cairo_device_release (quartz_surface->base.device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_glyphs (surface, op, source,
+                                              scaled_font,
+                                              glyphs, num_glyphs,
+                                              clip, &source->shadow);
+    cairo_device_release (quartz_surface->base.device);
+    return status;
 }
 
 static cairo_status_t
@@ -2219,7 +2523,7 @@ static const struct _cairo_surface_backend cairo_quartz_surface_backend = {
     _cairo_surface_default_source,
     _cairo_quartz_surface_acquire_source_image,
     _cairo_quartz_surface_release_source_image,
-    _cairo_quartz_surface_snapshot,
+    NULL, /* snapshot */
 
     NULL, /* copy_page */
     NULL, /* show_page */
@@ -2236,6 +2540,18 @@ static const struct _cairo_surface_backend cairo_quartz_surface_backend = {
     _cairo_quartz_surface_fill,
     NULL,  /* fill-stroke */
     _cairo_quartz_surface_glyphs,
+    NULL, /* has_text_glyphs */
+    NULL, /* show_text_glyphs */
+    NULL, /* get_supported_mime_types */
+    NULL, /* get_shadow_surface */
+    NULL, /* get_glyph_shadow_surface */
+    NULL, /* get_shadow_mask_surface */
+    NULL, /* get_glyph_shadow_mask_surface */
+    _cairo_quartz_surface_shadow_cache_acquire,
+    _cairo_quartz_surface_shadow_cache_release,
+    _cairo_quartz_surface_get_shadow_cache,
+    _cairo_quartz_surface_get_shadow_cache_size,
+    _cairo_quartz_surface_has_shadow_cache,
 };
 
 cairo_quartz_surface_t *
@@ -2273,6 +2589,7 @@ _cairo_quartz_surface_create_internal (CGContextRef cgContext,
        surface->cgContext = NULL;
        surface->cgContextBaseCTM = CGAffineTransformIdentity;
        surface->imageData = NULL;
+       surface->base.is_clear = TRUE;
        return surface;
     }
 
@@ -2287,6 +2604,8 @@ _cairo_quartz_surface_create_internal (CGContextRef cgContext,
     surface->imageData = NULL;
     surface->imageSurfaceEquiv = NULL;
 
+    _cairo_quartz_surface_shadow_caches_init ();
+
     return surface;
 }
 
@@ -2436,6 +2755,8 @@ cairo_quartz_surface_create (cairo_format_t format,
        return &surf->base;
     }
 
+    surf->base.is_clear = TRUE;
+
     surf->imageData = imageData;
     surf->imageSurfaceEquiv = cairo_image_surface_create_for_data (imageData, format, width, height, stride);
 
index 601fe60..2fd8bdb 100644 (file)
@@ -101,7 +101,7 @@ _cairo_raster_source_pattern_init_copy (cairo_pattern_t *abstract_pattern,
     cairo_status_t status;
 
     VG (VALGRIND_MAKE_MEM_UNDEFINED (pattern, sizeof (cairo_raster_source_pattern_t)));
-    memcpy(pattern, other, sizeof (cairo_raster_source_pattern_t));
+    memcpy(pattern, (cairo_raster_source_pattern_t *) other, sizeof (cairo_raster_source_pattern_t));
 
     status = CAIRO_STATUS_SUCCESS;
     if (pattern->copy)
old mode 100644 (file)
new mode 100755 (executable)
index 02d8afd..9e672df
@@ -210,7 +210,10 @@ bbtree_add (struct bbtree *bbt,
     if (box->p1.x == bbt->extents.p1.x && box->p1.y == bbt->extents.p1.y &&
        box->p2.x == bbt->extents.p2.x && box->p2.y == bbt->extents.p2.y)
     {
-       header->chain = bbt->chain;
+       cairo_command_header_t *last = header;
+       while (last->chain) /* expected to be infrequent */
+           last = last->chain;
+       last->chain = bbt->chain;
        bbt->chain = header;
        return CAIRO_STATUS_SUCCESS;
     }
@@ -317,6 +320,9 @@ static cairo_status_t
 _cairo_recording_surface_create_bbtree (cairo_recording_surface_t *surface)
 {
     cairo_command_t **elements = _cairo_array_index (&surface->commands, 0);
+    if (unlikely (elements == NULL))
+       return _cairo_error (CAIRO_STATUS_NULL_POINTER);
+
     cairo_status_t status;
     int i, count;
     int *indices;
@@ -593,8 +599,11 @@ _cairo_recording_surface_acquire_source_image (void                         *abstract_surface,
     image = _cairo_image_surface_create_with_content (surface->base.content,
                                                      surface->extents.width,
                                                      surface->extents.height);
-    if (unlikely (image->status))
-       return image->status;
+    if (unlikely (image->status)) {
+       status = image->status;
+       cairo_surface_destroy (image);
+       return status;
+    }
 
     /* Handle recursion by returning future reads from the current image */
     proxy = attach_proxy (abstract_surface, image);
@@ -1088,6 +1097,316 @@ CLEANUP_COMPOSITE:
     return status;
 }
 
+static void
+_command_init_copy (cairo_recording_surface_t *surface,
+                   cairo_command_header_t *dst,
+                   const cairo_command_header_t *src)
+{
+    dst->type = src->type;
+    dst->op = src->op;
+    dst->region = CAIRO_RECORDING_REGION_ALL;
+
+    dst->extents = src->extents;
+    dst->chain = NULL;
+    dst->index = surface->commands.num_elements;
+
+    dst->clip = _cairo_clip_copy (src->clip);
+}
+
+static cairo_status_t
+_cairo_recording_surface_copy__paint (cairo_recording_surface_t *surface,
+                                     const cairo_command_t *src)
+{
+    cairo_command_paint_t *command;
+    cairo_status_t status;
+
+    command = malloc (sizeof (*command));
+    if (unlikely (command == NULL)) {
+       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       goto err;
+    }
+
+    _command_init_copy (surface, &command->header, &src->header);
+
+    status = _cairo_pattern_init_copy (&command->source.base,
+                                      &src->paint.source.base);
+    if (unlikely (status))
+       goto err_command;
+
+    status = _cairo_recording_surface_commit (surface, &command->header);
+    if (unlikely (status))
+       goto err_source;
+
+    return CAIRO_STATUS_SUCCESS;
+
+err_source:
+    _cairo_pattern_fini (&command->source.base);
+err_command:
+    free(command);
+err:
+    return status;
+}
+
+static cairo_status_t
+_cairo_recording_surface_copy__mask (cairo_recording_surface_t *surface,
+                                    const cairo_command_t *src)
+{
+    cairo_command_mask_t *command;
+    cairo_status_t status;
+
+    command = malloc (sizeof (*command));
+    if (unlikely (command == NULL)) {
+       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       goto err;
+    }
+
+    _command_init_copy (surface, &command->header, &src->header);
+
+    status = _cairo_pattern_init_copy (&command->source.base,
+                                      &src->mask.source.base);
+    if (unlikely (status))
+       goto err_command;
+
+    status = _cairo_pattern_init_copy (&command->mask.base,
+                                      &src->mask.source.base);
+    if (unlikely (status))
+       goto err_source;
+
+    status = _cairo_recording_surface_commit (surface, &command->header);
+    if (unlikely (status))
+       goto err_mask;
+
+    return CAIRO_STATUS_SUCCESS;
+
+err_mask:
+    _cairo_pattern_fini (&command->mask.base);
+err_source:
+    _cairo_pattern_fini (&command->source.base);
+err_command:
+    free(command);
+err:
+    return status;
+}
+
+static cairo_status_t
+_cairo_recording_surface_copy__stroke (cairo_recording_surface_t *surface,
+                                    const cairo_command_t *src)
+{
+    cairo_command_stroke_t *command;
+    cairo_status_t status;
+
+    command = malloc (sizeof (*command));
+    if (unlikely (command == NULL)) {
+       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       goto err;
+    }
+
+    _command_init_copy (surface, &command->header, &src->header);
+
+    status = _cairo_pattern_init_copy (&command->source.base,
+                                      &src->stroke.source.base);
+    if (unlikely (status))
+       goto err_command;
+
+    status = _cairo_path_fixed_init_copy (&command->path, &src->stroke.path);
+    if (unlikely (status))
+       goto err_source;
+
+    status = _cairo_stroke_style_init_copy (&command->style,
+                                           &src->stroke.style);
+    if (unlikely (status))
+       goto err_path;
+
+    command->ctm = src->stroke.ctm;
+    command->ctm_inverse = src->stroke.ctm_inverse;
+    command->tolerance = src->stroke.tolerance;
+    command->antialias = src->stroke.antialias;
+
+    status = _cairo_recording_surface_commit (surface, &command->header);
+    if (unlikely (status))
+       goto err_style;
+
+    return CAIRO_STATUS_SUCCESS;
+
+err_style:
+    _cairo_stroke_style_fini (&command->style);
+err_path:
+    _cairo_path_fixed_fini (&command->path);
+err_source:
+    _cairo_pattern_fini (&command->source.base);
+err_command:
+    free(command);
+err:
+    return status;
+}
+
+static cairo_status_t
+_cairo_recording_surface_copy__fill (cairo_recording_surface_t *surface,
+                                    const cairo_command_t *src)
+{
+    cairo_command_fill_t *command;
+    cairo_status_t status;
+
+    command = malloc (sizeof (*command));
+    if (unlikely (command == NULL)) {
+       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       goto err;
+    }
+
+    _command_init_copy (surface, &command->header, &src->header);
+
+    status = _cairo_pattern_init_copy (&command->source.base,
+                                      &src->fill.source.base);
+    if (unlikely (status))
+       goto err_command;
+
+    status = _cairo_path_fixed_init_copy (&command->path, &src->fill.path);
+    if (unlikely (status))
+       goto err_source;
+
+    command->fill_rule = src->fill.fill_rule;
+    command->tolerance = src->fill.tolerance;
+    command->antialias = src->fill.antialias;
+
+    status = _cairo_recording_surface_commit (surface, &command->header);
+    if (unlikely (status))
+       goto err_path;
+
+    return CAIRO_STATUS_SUCCESS;
+
+err_path:
+    _cairo_path_fixed_fini (&command->path);
+err_source:
+    _cairo_pattern_fini (&command->source.base);
+err_command:
+    free(command);
+err:
+    return status;
+}
+
+static cairo_status_t
+_cairo_recording_surface_copy__glyphs (cairo_recording_surface_t *surface,
+                                      const cairo_command_t *src)
+{
+    cairo_command_show_text_glyphs_t *command;
+    cairo_status_t status;
+
+    command = malloc (sizeof (*command));
+    if (unlikely (command == NULL)) {
+       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       goto err;
+    }
+
+    _command_init_copy (surface, &command->header, &src->header);
+
+    status = _cairo_pattern_init_copy (&command->source.base,
+                                      &src->show_text_glyphs.source.base);
+    if (unlikely (status))
+       goto err_command;
+
+    command->utf8 = NULL;
+    command->utf8_len = src->show_text_glyphs.utf8_len;
+    command->glyphs = NULL;
+    command->num_glyphs = src->show_text_glyphs.num_glyphs;
+    command->clusters = NULL;
+    command->num_clusters = src->show_text_glyphs.num_clusters;
+
+    if (command->utf8_len) {
+       command->utf8 = malloc (command->utf8_len);
+       if (unlikely (command->utf8 == NULL)) {
+           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+           goto err_arrays;
+       }
+       memcpy (command->utf8, src->show_text_glyphs.utf8, command->utf8_len);
+    }
+    if (command->num_glyphs) {
+       command->glyphs = _cairo_malloc_ab (command->num_glyphs,
+                                           sizeof (command->glyphs[0]));
+       if (unlikely (command->glyphs == NULL)) {
+           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+           goto err_arrays;
+       }
+       memcpy (command->glyphs, src->show_text_glyphs.glyphs,
+               sizeof (command->glyphs[0]) * command->num_glyphs);
+    }
+    if (command->num_clusters) {
+       command->clusters = _cairo_malloc_ab (command->num_clusters,
+                                             sizeof (command->clusters[0]));
+       if (unlikely (command->clusters == NULL)) {
+           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+           goto err_arrays;
+       }
+       memcpy (command->clusters, src->show_text_glyphs.clusters,
+               sizeof (command->clusters[0]) * command->num_clusters);
+    }
+
+    command->cluster_flags = src->show_text_glyphs.cluster_flags;
+
+    command->scaled_font =
+       cairo_scaled_font_reference (src->show_text_glyphs.scaled_font);
+
+    status = _cairo_recording_surface_commit (surface, &command->header);
+    if (unlikely (status))
+       goto err_arrays;
+
+    return CAIRO_STATUS_SUCCESS;
+
+err_arrays:
+    free (command->utf8);
+    free (command->glyphs);
+    free (command->clusters);
+    _cairo_pattern_fini (&command->source.base);
+err_command:
+    free(command);
+err:
+    return status;
+}
+
+static cairo_status_t
+_cairo_recording_surface_copy (cairo_recording_surface_t *dst,
+                              cairo_recording_surface_t *src)
+{
+    cairo_command_t **elements;
+    int i, num_elements;
+    cairo_status_t status;
+
+    elements = _cairo_array_index (&src->commands, 0);
+    num_elements = src->commands.num_elements;
+    for (i = 0; i < num_elements; i++) {
+       const cairo_command_t *command = elements[i];
+
+       switch (command->header.type) {
+       case CAIRO_COMMAND_PAINT:
+           status = _cairo_recording_surface_copy__paint (dst, command);
+           break;
+
+       case CAIRO_COMMAND_MASK:
+           status = _cairo_recording_surface_copy__mask (dst, command);
+           break;
+
+       case CAIRO_COMMAND_STROKE:
+           status = _cairo_recording_surface_copy__stroke (dst, command);
+           break;
+
+       case CAIRO_COMMAND_FILL:
+           status = _cairo_recording_surface_copy__fill (dst, command);
+           break;
+
+       case CAIRO_COMMAND_SHOW_TEXT_GLYPHS:
+           status = _cairo_recording_surface_copy__glyphs (dst, command);
+           break;
+
+       default:
+           ASSERT_NOT_REACHED;
+       }
+
+       if (unlikely (status))
+           return status;
+    }
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
 /**
  * _cairo_recording_surface_snapshot:
  * @surface: a #cairo_surface_t which must be a recording surface
@@ -1121,7 +1440,7 @@ _cairo_recording_surface_snapshot (void *abstract_other)
     surface->extents = other->extents;
     surface->unbounded = other->unbounded;
 
-    surface->base.is_clear = TRUE;
+    surface->base.is_clear = other->base.is_clear;
 
     surface->bbtree.left = surface->bbtree.right = NULL;
     surface->bbtree.chain = INVALID_CHAIN;
@@ -1131,7 +1450,7 @@ _cairo_recording_surface_snapshot (void *abstract_other)
     surface->optimize_clears = TRUE;
 
     _cairo_array_init (&surface->commands, sizeof (cairo_command_t *));
-    status = _cairo_recording_surface_replay (&other->base, &surface->base);
+    status = _cairo_recording_surface_copy (surface, other);
     if (unlikely (status)) {
        cairo_surface_destroy (&surface->base);
        return _cairo_surface_create_in_error (status);
@@ -1226,12 +1545,12 @@ _cairo_recording_surface_get_path (cairo_surface_t    *abstract_surface,
            _cairo_traps_init (&traps);
 
            /* XXX call cairo_stroke_to_path() when that is implemented */
-           status = _cairo_path_fixed_stroke_to_traps (&command->stroke.path,
-                                                       &command->stroke.style,
-                                                       &command->stroke.ctm,
-                                                       &command->stroke.ctm_inverse,
-                                                       command->stroke.tolerance,
-                                                       &traps);
+           status = _cairo_path_fixed_stroke_polygon_to_traps (&command->stroke.path,
+                                                               &command->stroke.style,
+                                                               &command->stroke.ctm,
+                                                               &command->stroke.ctm_inverse,
+                                                               command->stroke.tolerance,
+                                                               &traps);
 
            if (status == CAIRO_INT_STATUS_SUCCESS)
                status = _cairo_traps_path (&traps, path);
@@ -1338,6 +1657,11 @@ _cairo_recording_surface_replay_internal (cairo_recording_surface_t      *surface,
 
     num_elements = surface->commands.num_elements;
     elements = _cairo_array_index (&surface->commands, 0);
+    if (elements == NULL) {
+       status = CAIRO_STATUS_NULL_POINTER;
+       goto done;
+    }
+
     if (extents.width < r->width || extents.height < r->height) {
        num_elements =
            _cairo_recording_surface_get_visible_commands (surface, &extents);
@@ -1502,6 +1826,9 @@ _cairo_recording_surface_replay_one (cairo_recording_surface_t    *surface,
        return _cairo_error (CAIRO_STATUS_READ_ERROR);
 
     elements = _cairo_array_index (&surface->commands, 0);
+    if (elements == NULL)
+       return _cairo_error (CAIRO_STATUS_NULL_POINTER);
+
     command = elements[index];
     switch (command->header.type) {
     case CAIRO_COMMAND_PAINT:
@@ -1639,8 +1966,10 @@ _recording_surface_get_ink_bbox (cairo_recording_surface_t *surface,
     cairo_surface_destroy (null_surface);
 
     status = analysis_surface->status;
-    if (unlikely (status))
+    if (unlikely (status)) {
+       cairo_surface_destroy (analysis_surface);
        return status;
+    }
 
     if (transform != NULL)
        _cairo_analysis_surface_set_ctm (analysis_surface, transform);
index 9613065..c8f90e6 100644 (file)
@@ -85,22 +85,10 @@ _cairo_boxes_get_extents (const cairo_box_t *boxes,
                          int num_boxes,
                          cairo_box_t *extents)
 {
-    int n;
-
     assert (num_boxes > 0);
     *extents = *boxes;
-
-    for (n = 1; n < num_boxes; n++) {
-       if (boxes[n].p1.x < extents->p1.x)
-           extents->p1.x = boxes[n].p1.x;
-       if (boxes[n].p2.x > extents->p2.x)
-           extents->p2.x = boxes[n].p2.x;
-
-       if (boxes[n].p1.y < extents->p1.y)
-           extents->p1.y = boxes[n].p1.y;
-       if (boxes[n].p2.y > extents->p2.y)
-           extents->p2.y = boxes[n].p2.y;
-    }
+    while (--num_boxes)
+       _cairo_box_add_box (extents, ++boxes);
 }
 
 /* XXX We currently have a confusing mix of boxes and rectangles as
@@ -158,6 +146,37 @@ _cairo_rectangle_intersect (cairo_rectangle_int_t *dst,
     }
 }
 
+cairo_bool_t
+_cairo_rectangle_exact_intersect (cairo_rectangle_t *dst,
+                                 const cairo_rectangle_t *src)
+{
+    double x1, y1, x2, y2;
+
+    x1 = MAX (dst->x, src->x);
+    y1 = MAX (dst->y, src->y);
+    /* Beware the unsigned promotion, fortunately we have bits to spare
+     * as (CAIRO_RECT_INT_MAX - CAIRO_RECT_INT_MIN) < UINT_MAX
+     */
+    x2 = MIN (dst->x + dst->width,  src->x + src->width);
+    y2 = MIN (dst->y + dst->height, src->y + src->height);
+
+    if (x1 >= x2 || y1 >= y2) {
+       dst->x = 0;
+       dst->y = 0;
+       dst->width  = 0;
+       dst->height = 0;
+
+       return FALSE;
+    } else {
+       dst->x = x1;
+       dst->y = y1;
+       dst->width  = x2 - x1;
+       dst->height = y2 - y1;
+
+       return TRUE;
+    }
+}
+
 /* Extends the dst rectangle to also contain src.
  * If one of the rectangles is empty, the result is undefined
  */
@@ -201,7 +220,7 @@ _cairo_rectangle_union (cairo_rectangle_int_t *dst,
  */
 
 cairo_bool_t
-_cairo_box_intersects_line_segment (cairo_box_t *box, cairo_line_t *line)
+_cairo_box_intersects_line_segment (const cairo_box_t *box, cairo_line_t *line)
 {
     cairo_fixed_t t1=0, t2=0, t3=0, t4=0;
     cairo_int64_t t1y, t2y, t3x, t4x;
index f719266..ea4435a 100644 (file)
@@ -214,6 +214,8 @@ _cairo_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,
        private->destroy (private, scaled_glyph, scaled_font);
     }
 
+    _cairo_image_scaled_glyph_fini (scaled_font, scaled_glyph);
+
     if (scaled_glyph->surface != NULL)
        cairo_surface_destroy (&scaled_glyph->surface->base);
 
@@ -449,16 +451,16 @@ _cairo_scaled_font_map_destroy (void)
  CLEANUP_MUTEX_LOCK:
     CAIRO_MUTEX_UNLOCK (_cairo_scaled_font_map_mutex);
 }
+
 static void
-_cairo_scaled_glyph_page_destroy (void *closure)
+_cairo_scaled_glyph_page_destroy (cairo_scaled_font_t *scaled_font,
+                                 cairo_scaled_glyph_page_t *page)
 {
-    cairo_scaled_glyph_page_t *page = closure;
-    cairo_scaled_font_t *scaled_font;
     unsigned int n;
 
-    assert (! cairo_list_is_empty (&page->link));
+    assert (!scaled_font->cache_frozen);
+    assert (!scaled_font->global_cache_frozen);
 
-    scaled_font = (cairo_scaled_font_t *) page->cache_entry.hash;
     for (n = 0; n < page->num_glyphs; n++) {
        _cairo_hash_table_remove (scaled_font->glyphs,
                                  &page->glyphs[n].hash_entry);
@@ -466,10 +468,24 @@ _cairo_scaled_glyph_page_destroy (void *closure)
     }
 
     cairo_list_del (&page->link);
-
     free (page);
 }
 
+static void
+_cairo_scaled_glyph_page_pluck (void *closure)
+{
+    cairo_scaled_glyph_page_t *page = closure;
+    cairo_scaled_font_t *scaled_font;
+
+    assert (! cairo_list_is_empty (&page->link));
+
+    scaled_font = (cairo_scaled_font_t *) page->cache_entry.hash;
+
+    CAIRO_MUTEX_LOCK (scaled_font->mutex);
+    _cairo_scaled_glyph_page_destroy (scaled_font, page);
+    CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
+}
+
 /* If a scaled font wants to unlock the font map while still being
  * created (needed for user-fonts), we need to take extra care not
  * ending up with multiple identical scaled fonts being created.
@@ -788,32 +804,40 @@ _cairo_scaled_font_freeze_cache (cairo_scaled_font_t *scaled_font)
 void
 _cairo_scaled_font_thaw_cache (cairo_scaled_font_t *scaled_font)
 {
-    scaled_font->cache_frozen = FALSE;
+    assert (scaled_font->cache_frozen);
 
     if (scaled_font->global_cache_frozen) {
        CAIRO_MUTEX_LOCK (_cairo_scaled_glyph_page_cache_mutex);
        _cairo_cache_thaw (&cairo_scaled_glyph_page_cache);
        CAIRO_MUTEX_UNLOCK (_cairo_scaled_glyph_page_cache_mutex);
-
        scaled_font->global_cache_frozen = FALSE;
     }
 
+    scaled_font->cache_frozen = FALSE;
     CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
 }
 
 void
 _cairo_scaled_font_reset_cache (cairo_scaled_font_t *scaled_font)
 {
+    CAIRO_MUTEX_LOCK (scaled_font->mutex);
     assert (! scaled_font->cache_frozen);
-
+    assert (! scaled_font->global_cache_frozen);
     CAIRO_MUTEX_LOCK (_cairo_scaled_glyph_page_cache_mutex);
     while (! cairo_list_is_empty (&scaled_font->glyph_pages)) {
-       _cairo_cache_remove (&cairo_scaled_glyph_page_cache,
-                             &cairo_list_first_entry (&scaled_font->glyph_pages,
-                                                      cairo_scaled_glyph_page_t,
-                                                      link)->cache_entry);
+       cairo_scaled_glyph_page_t *page =
+           cairo_list_first_entry (&scaled_font->glyph_pages,
+                                   cairo_scaled_glyph_page_t,
+                                   link);
+
+       cairo_scaled_glyph_page_cache.size -= page->cache_entry.size;
+       _cairo_hash_table_remove (cairo_scaled_glyph_page_cache.hash_table,
+                                 (cairo_hash_entry_t *) &page->cache_entry);
+
+       _cairo_scaled_glyph_page_destroy (scaled_font, page);
     }
     CAIRO_MUTEX_UNLOCK (_cairo_scaled_glyph_page_cache_mutex);
+    CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
 }
 
 cairo_status_t
@@ -848,6 +872,8 @@ _cairo_scaled_font_set_metrics (cairo_scaled_font_t     *scaled_font,
 static void
 _cairo_scaled_font_fini_internal (cairo_scaled_font_t *scaled_font)
 {
+    assert (! scaled_font->cache_frozen);
+    assert (! scaled_font->global_cache_frozen);
     scaled_font->finished = TRUE;
 
     _cairo_scaled_font_reset_cache (scaled_font);
@@ -1139,6 +1165,8 @@ cairo_scaled_font_create (cairo_font_face_t          *font_face,
      * ft-font-faces
      */
     assert (scaled_font->font_face == font_face);
+    assert (! scaled_font->cache_frozen);
+    assert (! scaled_font->global_cache_frozen);
 
     scaled_font->original_font_face =
        cairo_font_face_reference (original_font_face);
@@ -1288,6 +1316,9 @@ cairo_scaled_font_destroy (cairo_scaled_font_t *scaled_font)
     if (! _cairo_reference_count_dec_and_test (&scaled_font->ref_count))
        return;
 
+    assert (! scaled_font->cache_frozen);
+    assert (! scaled_font->global_cache_frozen);
+
     font_map = _cairo_scaled_font_map_lock ();
     assert (font_map != NULL);
 
@@ -1614,22 +1645,17 @@ cairo_scaled_font_glyph_extents (cairo_scaled_font_t   *scaled_font,
        extents->height = 0.0;
     }
 
-    if (num_glyphs) {
-        double x0, y0, x1, y1;
+    double x0, y0, x1, y1;
 
-       x0 = glyphs[0].x;
-       y0 = glyphs[0].y;
+    x0 = glyphs[0].x;
+    y0 = glyphs[0].y;
 
-       /* scaled_glyph contains the glyph for num_glyphs - 1 already. */
-       x1 = glyphs[num_glyphs - 1].x + scaled_glyph->metrics.x_advance;
-       y1 = glyphs[num_glyphs - 1].y + scaled_glyph->metrics.y_advance;
+    /* scaled_glyph contains the glyph for num_glyphs - 1 already. */
+    x1 = glyphs[num_glyphs - 1].x + scaled_glyph->metrics.x_advance;
+    y1 = glyphs[num_glyphs - 1].y + scaled_glyph->metrics.y_advance;
 
-       extents->x_advance = x1 - x0;
-       extents->y_advance = y1 - y0;
-    } else {
-       extents->x_advance = 0.0;
-       extents->y_advance = 0.0;
-    }
+    extents->x_advance = x1 - x0;
+    extents->y_advance = y1 - y0;
 
  UNLOCK:
     _cairo_scaled_font_thaw_cache (scaled_font);
@@ -2154,36 +2180,37 @@ _cairo_scaled_font_single_glyph_device_extents (cairo_scaled_font_t      *scaled_fon
                                                const cairo_glyph_t      *glyph,
                                                cairo_rectangle_int_t   *extents)
 {
-    cairo_round_glyph_positions_t round_xy;
     cairo_scaled_glyph_t *scaled_glyph;
     cairo_status_t status;
-    cairo_box_t box;
-    cairo_fixed_t v;
 
+    _cairo_scaled_font_freeze_cache (scaled_font);
     status = _cairo_scaled_glyph_lookup (scaled_font,
                                         glyph->index,
                                         CAIRO_SCALED_GLYPH_INFO_METRICS,
                                         &scaled_glyph);
-    if (unlikely (status))
-       return status;
+    if (likely (status == CAIRO_STATUS_SUCCESS)) {
+       cairo_bool_t round_xy = _cairo_font_options_get_round_glyph_positions (&scaled_font->options) == CAIRO_ROUND_GLYPH_POS_ON;
+       cairo_box_t box;
+       cairo_fixed_t v;
 
-    round_xy = _cairo_font_options_get_round_glyph_positions (&scaled_font->options);
-    if (round_xy == CAIRO_ROUND_GLYPH_POS_ON)
-       v = _cairo_fixed_from_int (_cairo_lround (glyph->x));
-    else
-       v = _cairo_fixed_from_double (glyph->x);
-    box.p1.x = v + scaled_glyph->bbox.p1.x;
-    box.p2.x = v + scaled_glyph->bbox.p2.x;
+       if (round_xy)
+           v = _cairo_fixed_from_int (_cairo_lround (glyph->x));
+       else
+           v = _cairo_fixed_from_double (glyph->x);
+       box.p1.x = v + scaled_glyph->bbox.p1.x;
+       box.p2.x = v + scaled_glyph->bbox.p2.x;
 
-    if (round_xy == CAIRO_ROUND_GLYPH_POS_ON)
-       v = _cairo_fixed_from_int (_cairo_lround (glyph->y));
-    else
-       v = _cairo_fixed_from_double (glyph->y);
-    box.p1.y = v + scaled_glyph->bbox.p1.y;
-    box.p2.y = v + scaled_glyph->bbox.p2.y;
+       if (round_xy)
+           v = _cairo_fixed_from_int (_cairo_lround (glyph->y));
+       else
+           v = _cairo_fixed_from_double (glyph->y);
+       box.p1.y = v + scaled_glyph->bbox.p1.y;
+       box.p2.y = v + scaled_glyph->bbox.p2.y;
 
-    _cairo_box_round_to_rectangle (&box, extents);
-    return CAIRO_STATUS_SUCCESS;
+       _cairo_box_round_to_rectangle (&box, extents);
+    }
+    _cairo_scaled_font_thaw_cache (scaled_font);
+    return status;
 }
 
 /*
@@ -2288,7 +2315,7 @@ _cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t       *scaled_font,
     return CAIRO_STATUS_SUCCESS;
 }
 
-void
+cairo_bool_t
 _cairo_scaled_font_glyph_approximate_extents (cairo_scaled_font_t       *scaled_font,
                                              const cairo_glyph_t        *glyphs,
                                              int                      num_glyphs,
@@ -2297,6 +2324,14 @@ _cairo_scaled_font_glyph_approximate_extents (cairo_scaled_font_t         *scaled_font,
     double x0, x1, y0, y1, pad;
     int i;
 
+    /* If any of the factors are suspect (i.e. the font is broken), bail */
+    if (scaled_font->fs_extents.max_x_advance == 0 ||
+       scaled_font->fs_extents.height == 0 ||
+       scaled_font->max_scale == 0)
+    {
+       return FALSE;
+    }
+
     assert (num_glyphs);
 
     x0 = x1 = glyphs[0].x;
@@ -2321,6 +2356,7 @@ _cairo_scaled_font_glyph_approximate_extents (cairo_scaled_font_t  *scaled_font,
     extents->width = ceil (x1 + pad) - extents->x;
     extents->y = floor (y0 - pad);
     extents->height = ceil (y1 + pad) - extents->y;
+    return TRUE;
 }
 
 #if 0
@@ -2582,8 +2618,10 @@ _trace_mask_to_path (cairo_image_surface_t *mask,
 
     mask = _cairo_image_surface_coerce_to_format (mask, CAIRO_FORMAT_A1);
     status = mask->base.status;
-    if (unlikely (status))
+    if (unlikely (status)) {
+       cairo_surface_destroy (&mask->base);
        return status;
+    }
 
     cairo_surface_get_device_offset (&mask->base, &xoff, &yoff);
     x0 = _cairo_fixed_from_double (tx - xoff);
@@ -2830,6 +2868,8 @@ _cairo_scaled_font_allocate_glyph (cairo_scaled_font_t *scaled_font,
     cairo_scaled_glyph_page_t *page;
     cairo_status_t status;
 
+    assert (scaled_font->cache_frozen);
+
     /* only the first page in the list may contain available slots */
     if (! cairo_list_is_empty (&scaled_font->glyph_pages)) {
         page = cairo_list_last_entry (&scaled_font->glyph_pages,
@@ -2855,7 +2895,7 @@ _cairo_scaled_font_allocate_glyph (cairo_scaled_font_t *scaled_font,
            status = _cairo_cache_init (&cairo_scaled_glyph_page_cache,
                                        NULL,
                                        _cairo_scaled_glyph_page_can_remove,
-                                       _cairo_scaled_glyph_page_destroy,
+                                       _cairo_scaled_glyph_page_pluck,
                                        MAX_GLYPH_PAGES_CACHED);
            if (unlikely (status)) {
                CAIRO_MUTEX_UNLOCK (_cairo_scaled_glyph_page_cache_mutex);
@@ -2897,8 +2937,10 @@ _cairo_scaled_font_free_last_glyph (cairo_scaled_font_t *scaled_font,
     _cairo_scaled_glyph_fini (scaled_font, scaled_glyph);
 
     if (--page->num_glyphs == 0) {
+       CAIRO_MUTEX_LOCK (_cairo_scaled_glyph_page_cache_mutex);
        _cairo_cache_remove (&cairo_scaled_glyph_page_cache,
                             &page->cache_entry);
+       CAIRO_MUTEX_UNLOCK (_cairo_scaled_glyph_page_cache_mutex);
     }
 }
 
@@ -2945,6 +2987,7 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font,
        return scaled_font->status;
 
     assert (CAIRO_MUTEX_IS_LOCKED(scaled_font->mutex));
+    assert (scaled_font->cache_frozen);
 
     if (CAIRO_INJECT_FAULT ())
        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
@@ -3027,7 +3070,8 @@ _cairo_scaled_font_get_max_scale (cairo_scaled_font_t *scaled_font)
  * hold true for all possible cases.
  *
  * Return value: The #cairo_font_face_t with which @scaled_font was
- * created.
+ * created.  This object is owned by cairo. To keep a reference to it,
+ * you must call cairo_scaled_font_reference().
  *
  * Since: 1.2
  **/
index 2149e7e..68c1528 100644 (file)
@@ -267,6 +267,11 @@ _bitmap_next_id (struct _bitmap *b,
     if (unlikely (bb == NULL))
        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
+    if (prev == NULL) {
+       free (bb);
+       return CAIRO_STATUS_NULL_POINTER;
+    }
+
     *prev = bb;
     bb->next = b;
     bb->min = min;
@@ -1011,8 +1016,11 @@ _emit_mesh_pattern (cairo_script_surface_t *surface,
        _cairo_output_stream_printf (ctx->stream, "\n  begin-patch");
 
        path = cairo_mesh_pattern_get_path (mesh, i);
-       if (unlikely (path->status))
-           return path->status;
+       if (unlikely (path->status)) {
+           status = path->status;
+           cairo_path_destroy (path);
+           return status;
+       }
 
        for (j = 0; j < path->num_data; j+=data[0].header.length) {
            data = &path->data[j];
@@ -1146,8 +1154,11 @@ _emit_recording_surface_pattern (cairo_script_surface_t *surface,
                                                     source->base.content,
                                                     extents,
                                                     NULL);
-    if (unlikely (similar->base.status))
-       return similar->base.status;
+    if (unlikely (similar->base.status)) {
+       status = similar->base.status;
+       cairo_surface_destroy (&similar->base);
+       return status;
+    }
 
     similar->base.is_clear = TRUE;
 
@@ -1443,8 +1454,10 @@ _emit_image_surface (cairo_script_surface_t *surface,
            status2 = _cairo_output_stream_destroy (base85_stream);
            if (status == CAIRO_INT_STATUS_SUCCESS)
                status = status2;
-           if (unlikely (status))
+           if (unlikely (status)) {
+               cairo_surface_destroy (&clone->base);
                return status;
+           }
        } else {
            _cairo_output_stream_puts (ctx->stream, "<~");
 
@@ -1453,8 +1466,10 @@ _emit_image_surface (cairo_script_surface_t *surface,
            status2 = _cairo_output_stream_destroy (base85_stream);
            if (status == CAIRO_INT_STATUS_SUCCESS)
                status = status2;
-           if (unlikely (status))
+           if (unlikely (status)) {
+               cairo_surface_destroy (&clone->base);
                return status;
+           }
        }
        _cairo_output_stream_puts (ctx->stream, "~> >> image ");
 
@@ -1816,7 +1831,7 @@ _emit_path_boxes (cairo_script_surface_t *surface,
 {
     cairo_script_context_t *ctx = to_context (surface);
     cairo_path_fixed_iter_t iter;
-    cairo_status_t status;
+    cairo_status_t status = CAIRO_STATUS_SUCCESS;
     struct _cairo_boxes_chunk *chunk;
     cairo_boxes_t boxes;
     cairo_box_t box;
@@ -3139,6 +3154,9 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface,
        return CAIRO_STATUS_SUCCESS;
 
     font_private = _cairo_script_font_get (ctx, scaled_font);
+    if (font_private == NULL)
+       return (_cairo_error (CAIRO_STATUS_NULL_POINTER));
+
     if (font_private->has_sfnt)
        return CAIRO_STATUS_SUCCESS;
 
@@ -3390,8 +3408,10 @@ _cairo_script_surface_show_text_glyphs (void                         *abstract_surface,
                                             glyphs[n].index,
                                             CAIRO_SCALED_GLYPH_INFO_METRICS,
                                             &scaled_glyph);
-       if (unlikely (status))
+       if (unlikely (status)) {
+           _cairo_scaled_font_thaw_cache (scaled_font);
            goto BAIL;
+       }
 
        if (fabs (glyphs[n].x - x) > 1e-5 || fabs (glyphs[n].y - y) > 1e-5) {
            if (fabs (glyphs[n].y - y) < 1e-5) {
@@ -3757,8 +3777,10 @@ cairo_script_create (const char *filename)
     cairo_status_t status;
 
     stream = _cairo_output_stream_create_for_filename (filename);
-    if ((status = _cairo_output_stream_get_status (stream)))
+    if ((status = _cairo_output_stream_get_status (stream))) {
+       _cairo_output_stream_destroy (stream);
        return _cairo_device_create_in_error (status);
+    }
 
     return _cairo_script_context_create (stream);
 }
@@ -3789,8 +3811,10 @@ cairo_script_create_for_stream (cairo_write_func_t        write_func,
     cairo_status_t status;
 
     stream = _cairo_output_stream_create (write_func, NULL, closure);
-    if ((status = _cairo_output_stream_get_status (stream)))
+    if ((status = _cairo_output_stream_get_status (stream))) {
+       _cairo_output_stream_destroy (stream);
        return _cairo_device_create_in_error (status);
+    }
 
     return _cairo_script_context_create (stream);
 }
@@ -3987,8 +4011,11 @@ cairo_script_from_recording_surface (cairo_device_t *script,
                                                      recording_surface->content,
                                                      extents,
                                                      NULL)->base;
-    if (unlikely (surface->status))
-       return surface->status;
+    if (unlikely (surface->status)) {
+       status = surface->status;
+       cairo_surface_destroy (surface);
+       return status;
+    }
 
     status = _cairo_recording_surface_replay (recording_surface, surface);
     cairo_surface_destroy (surface);
index d8b94fb..0babebd 100644 (file)
@@ -46,7 +46,7 @@ CAIRO_BEGIN_DECLS
 
 typedef struct _cairo_abstract_span_renderer {
     cairo_span_renderer_t base;
-    char data[2048];
+    char data[4096];
 } cairo_abstract_span_renderer_t;
 
 struct cairo_spans_compositor {
old mode 100644 (file)
new mode 100755 (executable)
index 6cc9a7b..8580da3
@@ -111,6 +111,8 @@ get_clip_surface (const cairo_spans_compositor_t *compositor,
     if (unlikely (status))
        goto cleanup_polygon;
 
+    polygon.num_limits = 0;
+
     antialias = clip_path->antialias;
     fill_rule = clip_path->fill_rule;
 
@@ -490,6 +492,9 @@ upload_boxes (const cairo_spans_compositor_t *compositor,
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
+    if (source->base.filter == CAIRO_FILTER_GAUSSIAN)
+        return CAIRO_INT_STATUS_UNSUPPORTED;
+
     src = _cairo_pattern_get_source(source, &limit);
     if (!(src->type == CAIRO_SURFACE_TYPE_IMAGE || src->type == dst->type))
        return CAIRO_INT_STATUS_UNSUPPORTED;
@@ -555,8 +560,10 @@ composite_aligned_boxes (const cairo_spans_compositor_t            *compositor,
 
     TRACE ((stderr, "%s: need_clip_mask=%d, is-bounded=%d\n",
            __FUNCTION__, need_clip_mask, extents->is_bounded));
-    if (need_clip_mask && ! extents->is_bounded)
+    if (need_clip_mask && ! extents->is_bounded) {
+       TRACE ((stderr, "%s: unsupported clip\n", __FUNCTION__));
        return CAIRO_INT_STATUS_UNSUPPORTED;
+    }
 
     no_mask = extents->mask_pattern.base.type == CAIRO_PATTERN_TYPE_SOLID &&
        CAIRO_COLOR_IS_OPAQUE (&extents->mask_pattern.solid.color);
@@ -568,8 +575,10 @@ composite_aligned_boxes (const cairo_spans_compositor_t            *compositor,
 
     if (op == CAIRO_OPERATOR_SOURCE && (need_clip_mask || ! no_mask)) {
        /* SOURCE with a mask is actually a LERP in cairo semantics */
-       if ((compositor->flags & CAIRO_SPANS_COMPOSITOR_HAS_LERP) == 0)
+       if ((compositor->flags & CAIRO_SPANS_COMPOSITOR_HAS_LERP) == 0) {
+           TRACE ((stderr, "%s: unsupported lerp\n", __FUNCTION__));
            return CAIRO_INT_STATUS_UNSUPPORTED;
+       }
     }
 
     /* Are we just copying a recording surface? */
@@ -698,8 +707,10 @@ composite_boxes (const cairo_spans_compositor_t *compositor,
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
     _cairo_box_from_rectangle (&box, &extents->unbounded);
-    if (composite_needs_clip (extents, &box))
+    if (composite_needs_clip (extents, &box)) {
+       TRACE ((stderr, "%s: unsupported clip\n", __FUNCTION__));
        return CAIRO_INT_STATUS_UNSUPPORTED;
+    }
 
     _cairo_rectangular_scan_converter_init (&converter, &extents->unbounded);
     for (chunk = &boxes->chunks; chunk != NULL; chunk = chunk->next) {
@@ -736,14 +747,14 @@ composite_polygon (const cairo_spans_compositor_t *compositor,
     cairo_bool_t needs_clip;
     cairo_int_status_t status;
 
-    needs_clip = ! extents->is_bounded &&
-       (! _clip_is_region (extents->clip) || extents->clip->num_boxes > 1);
+    if (extents->is_bounded)
+       needs_clip = extents->clip->path != NULL;
+    else
+       needs_clip = !_clip_is_region (extents->clip) || extents->clip->num_boxes > 1;
     TRACE ((stderr, "%s - needs_clip=%d\n", __FUNCTION__, needs_clip));
     if (needs_clip) {
+       TRACE ((stderr, "%s: unsupported clip\n", __FUNCTION__));
        return CAIRO_INT_STATUS_UNSUPPORTED;
-       converter = _cairo_clip_tor_scan_converter_create (extents->clip,
-                                                          polygon,
-                                                          fill_rule, antialias);
     } else {
        const cairo_rectangle_int_t *r = &extents->unbounded;
 
@@ -918,9 +929,6 @@ clip_and_composite_polygon (const cairo_spans_compositor_t  *compositor,
            cairo_clip_t *old_clip;
 
            if (clip_antialias == antialias) {
-               /* refresh limits after trimming extents */
-               _cairo_polygon_limit_to_clip(polygon, extents->clip);
-
                status = _cairo_polygon_intersect (polygon, fill_rule,
                                                   &clipper, clip_fill_rule);
                _cairo_polygon_fini (&clipper);
@@ -934,6 +942,8 @@ clip_and_composite_polygon (const cairo_spans_compositor_t  *compositor,
                status = trim_extents_to_polygon (extents, polygon);
                if (unlikely (status))
                    return status;
+
+               fill_rule = CAIRO_FILL_RULE_WINDING;
            } else {
                _cairo_polygon_fini (&clipper);
            }
@@ -991,7 +1001,9 @@ _cairo_spans_compositor_stroke (const cairo_compositor_t   *_compositor,
     const cairo_spans_compositor_t *compositor = (cairo_spans_compositor_t*)_compositor;
     cairo_int_status_t status;
 
+    TRACE ((stderr, "%s\n", __FUNCTION__));
     TRACE_ (_cairo_debug_print_path (stderr, path));
+    TRACE_ (_cairo_debug_print_clip (stderr, extents->clip));
 
     status = CAIRO_INT_STATUS_UNSUPPORTED;
     if (_cairo_path_fixed_stroke_is_rectilinear (path)) {
@@ -1017,12 +1029,16 @@ _cairo_spans_compositor_stroke (const cairo_compositor_t        *_compositor,
        cairo_polygon_t polygon;
        cairo_fill_rule_t fill_rule = CAIRO_FILL_RULE_WINDING;
 
-       if (extents->mask.width  > extents->unbounded.width ||
-           extents->mask.height > extents->unbounded.height)
+       if (! _cairo_rectangle_contains_rectangle (&extents->unbounded,
+                                                  &extents->mask))
        {
-           cairo_box_t limits;
-           _cairo_box_from_rectangle (&limits, &extents->unbounded);
-           _cairo_polygon_init (&polygon, &limits, 1);
+           if (extents->clip->num_boxes == 1) {
+               _cairo_polygon_init (&polygon, extents->clip->boxes, 1);
+           } else {
+               cairo_box_t limits;
+               _cairo_box_from_rectangle (&limits, &extents->unbounded);
+               _cairo_polygon_init (&polygon, &limits, 1);
+           }
        }
        else
        {
@@ -1034,6 +1050,8 @@ _cairo_spans_compositor_stroke (const cairo_compositor_t  *_compositor,
                                                      tolerance,
                                                      &polygon);
        TRACE_ (_cairo_debug_print_polygon (stderr, &polygon));
+       polygon.num_limits = 0;
+
        if (status == CAIRO_INT_STATUS_SUCCESS && extents->clip->num_boxes > 1) {
            status = _cairo_polygon_intersect_with_boxes (&polygon, &fill_rule,
                                                          extents->clip->boxes,
@@ -1099,13 +1117,17 @@ _cairo_spans_compositor_fill (const cairo_compositor_t          *_compositor,
 
        TRACE((stderr, "%s - polygon\n", __FUNCTION__));
 
-       if (extents->mask.width  > extents->unbounded.width ||
-           extents->mask.height > extents->unbounded.height)
+       if (! _cairo_rectangle_contains_rectangle (&extents->unbounded,
+                                                  &extents->mask))
        {
-           cairo_box_t limits;
            TRACE((stderr, "%s - clipping to bounds\n", __FUNCTION__));
-           _cairo_box_from_rectangle (&limits, &extents->unbounded);
-           _cairo_polygon_init (&polygon, &limits, 1);
+           if (extents->clip->num_boxes == 1) {
+               _cairo_polygon_init (&polygon, extents->clip->boxes, 1);
+           } else {
+               cairo_box_t limits;
+               _cairo_box_from_rectangle (&limits, &extents->unbounded);
+               _cairo_polygon_init (&polygon, &limits, 1);
+           }
        }
        else
        {
@@ -1113,6 +1135,9 @@ _cairo_spans_compositor_fill (const cairo_compositor_t            *_compositor,
        }
 
        status = _cairo_path_fixed_fill_to_polygon (path, tolerance, &polygon);
+       TRACE_ (_cairo_debug_print_polygon (stderr, &polygon));
+       polygon.num_limits = 0;
+
        if (status == CAIRO_INT_STATUS_SUCCESS && extents->clip->num_boxes > 1) {
            TRACE((stderr, "%s - polygon intersect with %d clip boxes\n",
                   __FUNCTION__, extents->clip->num_boxes));
@@ -1120,6 +1145,7 @@ _cairo_spans_compositor_fill (const cairo_compositor_t            *_compositor,
                                                          extents->clip->boxes,
                                                          extents->clip->num_boxes);
        }
+       TRACE_ (_cairo_debug_print_polygon (stderr, &polygon));
        if (likely (status == CAIRO_INT_STATUS_SUCCESS)) {
            cairo_clip_t *saved_clip = extents->clip;
 
index 44634fa..9ebb949 100644 (file)
@@ -262,6 +262,12 @@ _cairo_spline_decompose (cairo_spline_t *spline, double tolerance)
     cairo_spline_knots_t s1;
     cairo_status_t status;
 
+    /* this is the entry point for spline decompose, we adjust the
+       final_slope if b, c, d are very close
+     */
+    if (_cairo_spline_error_squared (&spline->knots) < tolerance * tolerance)
+       spline->final_slope = spline->initial_slope;
+
     s1 = spline->knots;
     spline->last_point = s1.a;
     status = _cairo_spline_decompose_into (&s1, tolerance * tolerance, spline);
index 3ebaf01..51c9414 100644 (file)
@@ -127,6 +127,45 @@ _cairo_stroke_style_max_distance_from_path (const cairo_stroke_style_t *style,
     }
 }
 
+void
+_cairo_stroke_style_max_line_distance_from_path (const cairo_stroke_style_t *style,
+                                                const cairo_path_fixed_t *path,
+                                                const cairo_matrix_t *ctm,
+                                                double *dx, double *dy)
+{
+    double style_expansion = 0.5 * style->line_width;
+    if (_cairo_matrix_has_unity_scale (ctm)) {
+       *dx = *dy = style_expansion;
+    } else {
+       *dx = style_expansion * hypot (ctm->xx, ctm->xy);
+       *dy = style_expansion * hypot (ctm->yy, ctm->yx);
+    }
+}
+
+void
+_cairo_stroke_style_max_join_distance_from_path (const cairo_stroke_style_t *style,
+                                                const cairo_path_fixed_t *path,
+                                                const cairo_matrix_t *ctm,
+                                                double *dx, double *dy)
+{
+    double style_expansion = 0.5;
+
+    if (style->line_join == CAIRO_LINE_JOIN_MITER &&
+       ! path->stroke_is_rectilinear &&
+       style_expansion < M_SQRT2 * style->miter_limit)
+    {
+       style_expansion = M_SQRT2 * style->miter_limit;
+    }
+
+    style_expansion *= style->line_width;
+
+    if (_cairo_matrix_has_unity_scale (ctm)) {
+       *dx = *dy = style_expansion;
+    } else {
+       *dx = style_expansion * hypot (ctm->xx, ctm->xy);
+       *dy = style_expansion * hypot (ctm->yy, ctm->yx);
+    }
+}
 /*
  * Computes the period of a dashed stroke style.
  * Returns 0 for non-dashed styles.
index fbaa912..be624df 100644 (file)
@@ -63,7 +63,7 @@ struct _cairo_surface_backend {
                                 int                     width,
                                 int                     height);
 
-    cairo_surface_t *
+    cairo_image_surface_t *
     (*map_to_image)            (void                   *surface,
                                 const cairo_rectangle_int_t  *extents);
     cairo_int_status_t
@@ -110,7 +110,8 @@ struct _cairo_surface_backend {
                                 cairo_font_options_t  *options);
 
     cairo_warn cairo_status_t
-    (*flush)                    (void                  *surface);
+    (*flush)                    (void                  *surface,
+                                unsigned               flags);
 
     cairo_warn cairo_status_t
     (*mark_dirty_rectangle)     (void                  *surface,
@@ -199,6 +200,47 @@ struct _cairo_surface_backend {
 
     const char **
     (*get_supported_mime_types)        (void                       *surface);
+
+    cairo_surface_t *
+    (*get_shadow_surface)      (void   *surface,
+                                const cairo_bool_t has_blur,
+                                int     width,
+                                int     height,
+                                int    *width_out,
+                                int    *height_out);
+
+    cairo_surface_t *
+    (*get_glyph_shadow_surface)  (void         *surface,
+                                 int            width,
+                                 int            height,
+                                 cairo_bool_t   for_source);
+
+    cairo_surface_t *
+    (*get_shadow_mask_surface)         (void   *surface,
+                                int     width,
+                                int     height,
+                                unsigned index);
+
+    cairo_surface_t *
+    (*get_glyph_shadow_mask_surface)  (void            *surface,
+                                      int               width,
+                                      int               height,
+                                      unsigned          index);
+
+    cairo_status_t
+    (*shadow_cache_acquire)        (void       *surface);
+
+    void
+    (*shadow_cache_release)        (void       *surface);
+
+    cairo_list_t *
+    (*get_shadow_cache)                    (void       *surface);
+
+    unsigned long *
+    (*get_shadow_cache_size)       (void       *surface);
+
+    cairo_bool_t
+    (*has_shadow_cache)                    (void       *surface);
 };
 
 cairo_private cairo_status_t
index 27ea8f0..85fbc91 100644 (file)
 #include "cairo-surface-private.h"
 
 static inline cairo_status_t
-_cairo_surface_flush (cairo_surface_t *surface)
+__cairo_surface_flush (cairo_surface_t *surface, unsigned flags)
 {
     cairo_status_t status = CAIRO_STATUS_SUCCESS;
     if (surface->backend->flush)
-       status = surface->backend->flush (surface);
+       status = surface->backend->flush (surface, flags);
     return status;
 }
 
index 70c87db..6ed0c18 100644 (file)
@@ -62,7 +62,7 @@ struct extents {
 };
 
 struct pattern {
-    unsigned int type[7]; /* native/record/other surface/gradients */
+    unsigned int type[8]; /* native/record/other surface/gradients */
 };
 
 struct path {
index 9247bc4..8bbd610 100644 (file)
@@ -474,16 +474,12 @@ _cairo_surface_observer_create_similar_image (void *other,
     return NULL;
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_surface_observer_map_to_image (void *abstract_surface,
                                      const cairo_rectangle_int_t *extents)
 {
     cairo_surface_observer_t *surface = abstract_surface;
-
-    if (surface->target->backend->map_to_image == NULL)
-       return NULL;
-
-    return surface->target->backend->map_to_image (surface->target, extents);
+    return _cairo_surface_map_to_image (surface->target, extents);
 }
 
 static cairo_int_status_t
@@ -491,11 +487,7 @@ _cairo_surface_observer_unmap_image (void *abstract_surface,
                                     cairo_image_surface_t *image)
 {
     cairo_surface_observer_t *surface = abstract_surface;
-
-    if (surface->target->backend->unmap_image == NULL)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    return surface->target->backend->unmap_image (surface->target, image);
+    return _cairo_surface_unmap_image (surface->target, image);
 }
 
 static void
@@ -670,9 +662,9 @@ sync (cairo_surface_t *target, int x, int y)
     extents.width  = 1;
     extents.height = 1;
 
-    cairo_surface_unmap_image (target,
-                              cairo_surface_map_to_image (target,
-                                                          &extents));
+    _cairo_surface_unmap_image (target,
+                               _cairo_surface_map_to_image (target,
+                                                            &extents));
 }
 
 static void
@@ -1210,14 +1202,12 @@ _cairo_surface_observer_glyphs (void                    *abstract_surface,
 }
 
 static cairo_status_t
-_cairo_surface_observer_flush (void *abstract_surface)
+_cairo_surface_observer_flush (void *abstract_surface, unsigned flags)
 {
     cairo_surface_observer_t *surface = abstract_surface;
 
     do_callbacks (surface, &surface->flush_callbacks);
-
-    cairo_surface_flush (surface->target);
-    return surface->target->status;
+    return _cairo_surface_flush (surface->target, flags);
 }
 
 static cairo_status_t
@@ -1408,8 +1398,11 @@ cairo_surface_create_observer (cairo_surface_t *target,
 
     record = mode & CAIRO_SURFACE_OBSERVER_RECORD_OPERATIONS;
     device = _cairo_device_create_observer_internal (target->device, record);
-    if (unlikely (device->status))
-       return _cairo_surface_create_in_error (device->status);
+    if (unlikely (device->status)) {
+       cairo_status_t status = device->status;
+       cairo_device_destroy (device);
+       return _cairo_surface_create_in_error (status);
+    }
 
     surface = _cairo_surface_create_observer_internal (device, target);
     cairo_device_destroy (device);
@@ -1584,7 +1577,7 @@ print_array (cairo_output_stream_t *stream,
             const char **names,
             int count)
 {
-    int order[64];
+    int order[64] = {0,};
     int i, j;
 
     assert (count < ARRAY_LENGTH (order));
index d23fc05..f20ab07 100644 (file)
@@ -106,10 +106,16 @@ struct _cairo_surface {
 };
 
 cairo_private cairo_surface_t *
+_cairo_surface_create_in_error (cairo_status_t status);
+
+cairo_private cairo_surface_t *
 _cairo_int_surface_create_in_error (cairo_int_status_t status);
 
 cairo_private cairo_surface_t *
 _cairo_surface_get_source (cairo_surface_t *surface,
                           cairo_rectangle_int_t *extents);
 
+cairo_private cairo_status_t
+_cairo_surface_flush (cairo_surface_t *surface, unsigned flags);
+
 #endif /* CAIRO_SURFACE_PRIVATE_H */
diff --git a/src/cairo-surface-scale-translate-private.h b/src/cairo-surface-scale-translate-private.h
new file mode 100644 (file)
index 0000000..b13d336
--- /dev/null
@@ -0,0 +1,163 @@
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2002 University of Southern California
+ * Copyright © 2005 Red Hat, Inc.
+ * Copyright © 2009 Chris Wilson
+ * Copyright © 2013 Henry Song
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is University of Southern
+ * California.
+ *
+ * Contributor(s):
+ *     Henry Song <henry.song@samsung.h>
+ */
+
+#ifndef CAIRO_SURFACE_SCALE_TRANSLATE_PRIVATE_H
+#define CAIRO_SURFACE_SCALE_TRANSLATE_PRIVATE_H
+
+#include "cairo-types-private.h"
+
+CAIRO_BEGIN_DECLS
+
+cairo_private cairo_status_t
+_cairo_surface_scale_translate_paint (cairo_surface_t *target,
+                                     const cairo_bool_t clear_bg,
+                                     const cairo_matrix_t *matrix,
+                                     cairo_operator_t   op,
+                                     cairo_pattern_t *source,
+                                     const cairo_clip_t   *clip);
+
+cairo_private cairo_status_t
+_cairo_surface_paint_get_offset_extents (cairo_surface_t *target,
+                                        double x_offset, double y_offset,
+                                        const cairo_pattern_t *source,
+                                        const cairo_clip_t *clip,
+                                        cairo_pattern_t *source_out,
+                                        cairo_rectangle_t *extents,
+                                        cairo_bool_t *bounded);
+
+cairo_private cairo_status_t
+_cairo_surface_scale_translate_mask (cairo_surface_t *target,
+                                    const cairo_bool_t clear_bg,
+                                    const cairo_matrix_t *matrix,
+                                    cairo_operator_t    op,
+                                    cairo_pattern_t *source,
+                                    cairo_pattern_t *mask,
+                                    const cairo_clip_t     *clip);
+
+cairo_private cairo_status_t
+_cairo_surface_mask_get_offset_extents (cairo_surface_t *target,
+                                       double x_offset, double y_offset,
+                                       const cairo_pattern_t *source,
+                                       const cairo_pattern_t *mask,
+                                        const cairo_clip_t *clip,
+                                        cairo_pattern_t *source_out,
+                                        cairo_pattern_t *mask_out,
+                                        cairo_rectangle_t *extents,
+                                        cairo_bool_t *bounded);
+
+cairo_private cairo_status_t
+_cairo_surface_scale_translate_stroke (cairo_surface_t *surface,
+                                      const cairo_color_t      *bg_color,
+                                      const cairo_matrix_t *matrix,
+                                      cairo_operator_t          op,
+                                      cairo_pattern_t  *source,
+                                      cairo_path_fixed_t       *path,
+                                      const cairo_stroke_style_t*stroke_style,
+                                      const cairo_matrix_t     *ctm,
+                                      const cairo_matrix_t     *ctm_inverse,
+                                      double                    tolerance,
+                                      cairo_antialias_t         antialias,
+                                      const cairo_clip_t       *clip);
+
+cairo_private cairo_status_t
+_cairo_surface_stroke_get_offset_extents (cairo_surface_t *target,
+                                         cairo_bool_t is_inset,
+                                         double x_offset, double y_offset,
+                                         const cairo_pattern_t *source,
+                                         const cairo_path_fixed_t *path,
+                                         const cairo_stroke_style_t *stroke_style,
+                                         const cairo_matrix_t *ctm,
+                                         const cairo_matrix_t *ctm_inverse,
+                                         double tolerance,
+                                         const cairo_clip_t *clip,
+                                         cairo_pattern_t *source_out,
+                                         cairo_path_fixed_t *path_out,
+                                         cairo_matrix_t *ctm_out,
+                                         cairo_matrix_t *ctm_inverse_out,
+                                         cairo_rectangle_t *extents);
+
+cairo_private cairo_status_t
+_cairo_surface_scale_translate_fill (cairo_surface_t   *surface,
+                                    const cairo_color_t      *bg_color,
+                                    const cairo_matrix_t *matrix,
+                                    cairo_operator_t    op,
+                                    cairo_pattern_t    *source,
+                                    cairo_path_fixed_t *path,
+                                    cairo_fill_rule_t   fill_rule,
+                                    double              tolerance,
+                                    cairo_antialias_t   antialias,
+                                    const cairo_clip_t  *clip);
+
+cairo_private cairo_status_t
+_cairo_surface_fill_get_offset_extents (cairo_surface_t *target,
+                                       cairo_bool_t    is_inset,
+                                       double x_offset, double y_offset,
+                                       const cairo_pattern_t *source,
+                                       const cairo_path_fixed_t *path,
+                                       const cairo_fill_rule_t fill_rule,
+                                       const cairo_clip_t *clip,
+                                       cairo_pattern_t *source_out,
+                                       cairo_path_fixed_t *path_out,
+                                       cairo_rectangle_t *extents);
+
+cairo_private cairo_status_t
+_cairo_surface_translate_glyphs (cairo_surface_t       *surface,
+                                const cairo_color_t    *bg_color,
+                                const cairo_matrix_t   *matrix,
+                                cairo_operator_t        op,
+                                cairo_pattern_t        *source,
+                                cairo_scaled_font_t    *scaled_font,
+                                cairo_glyph_t          *glyphs,
+                                int                     num_glyphs,
+                                const cairo_clip_t     *clip);
+
+cairo_private cairo_status_t
+_cairo_surface_glyphs_get_offset_extents (cairo_surface_t *target,
+                                         cairo_bool_t     is_inset,
+                                         double x_offset, double y_offset,
+                                         const cairo_pattern_t *source,
+                                         cairo_scaled_font_t *scaled_font,
+                                         const cairo_glyph_t *glyphs,
+                                         int                 num_glyphs,
+                                         const cairo_clip_t *clip,
+                                         cairo_pattern_t *source_out,
+                                         cairo_glyph_t *glyphs_out,
+                                         cairo_rectangle_t *extents);
+
+#endif /* CAIRO_SURFACE_SCALE_TRANSLATE_PRIVATE_H */
diff --git a/src/cairo-surface-scale-translate.c b/src/cairo-surface-scale-translate.c
new file mode 100644 (file)
index 0000000..1729b81
--- /dev/null
@@ -0,0 +1,689 @@
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2005 Red Hat, Inc
+ * Copyright © 2007 Adrian Johnson
+ * Copyright © 2009 Chris Wilson
+ * Copyright © 2013 Chris Wilson
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Red Hat, Inc.
+ *
+ * Contributor(s):
+ *     Henry Song <henry.song@samsung.com>
+ */
+
+#include "cairoint.h"
+
+#include "cairo-clip-inline.h"
+#include "cairo-error-private.h"
+#include "cairo-pattern-private.h"
+#include "cairo-surface-scale-translate-private.h"
+
+/* A collection of routines to facilitate drawing to an alternate surface. */
+
+static void
+_copy_transformed_pattern (cairo_pattern_t *pattern,
+                          const cairo_pattern_t *original,
+                          const cairo_matrix_t  *ctm_inverse)
+{
+    _cairo_pattern_init_static_copy (pattern, original);
+
+    if (! _cairo_matrix_is_identity (ctm_inverse))
+       _cairo_pattern_transform (pattern, ctm_inverse);
+}
+
+static void
+_transformed_pattern (cairo_pattern_t *pattern,
+                     const cairo_matrix_t  *ctm_inverse)
+{
+    if (! _cairo_matrix_is_identity (ctm_inverse))
+       _cairo_pattern_transform (pattern, ctm_inverse);
+}
+
+cairo_status_t
+_cairo_surface_scale_translate_paint (cairo_surface_t      *target,
+                                     const cairo_bool_t     clear_bg,
+                                     const cairo_matrix_t  *matrix,
+                                     cairo_operator_t       op,
+                                     cairo_pattern_t *source,
+                                     const cairo_clip_t     *clip)
+{
+    cairo_status_t status;
+    cairo_clip_t *dev_clip = NULL;
+    cairo_matrix_t m;
+    cairo_pattern_t *clear_pattern;
+
+    if (unlikely (target->status))
+       return target->status;
+
+    if (_cairo_clip_is_all_clipped (clip))
+       return CAIRO_STATUS_SUCCESS;
+
+    if (! _cairo_matrix_is_identity (matrix)) {
+       if (clip) {
+           dev_clip = _cairo_clip_copy (clip);
+           dev_clip = _cairo_clip_transform (dev_clip, matrix);
+       }
+
+       m = *matrix;
+       status = cairo_matrix_invert (&m);
+       _transformed_pattern (source, &m);
+    }
+
+    if (clear_bg) {
+       clear_pattern = cairo_pattern_create_rgba (0, 0, 0, 0);
+       status = _cairo_surface_paint (target, CAIRO_OPERATOR_SOURCE,
+                                      clear_pattern, dev_clip);
+       cairo_pattern_destroy (clear_pattern);
+    }
+
+    status = _cairo_surface_paint (target, op, source, dev_clip);
+
+    if (dev_clip && dev_clip != clip)
+       _cairo_clip_destroy (dev_clip);
+
+    return status;
+}
+
+cairo_private cairo_status_t
+_cairo_surface_paint_get_offset_extents (cairo_surface_t *target,
+                                        double x_offset, double y_offset,
+                                        const cairo_pattern_t *source,
+                                        const cairo_clip_t *clip,
+                                        cairo_pattern_t *source_out,
+                                        cairo_rectangle_t *extents,
+                                        cairo_bool_t *bounded)
+{
+    cairo_matrix_t m;
+    cairo_rectangle_t rect, temp;
+    cairo_rectangle_int_t int_rect;
+
+    if (unlikely (target->status))
+       return target->status;
+
+    if (_cairo_clip_is_all_clipped (clip)) {
+       extents->x = extents->y = 0;
+       extents->width = extents->height = 0;
+       return CAIRO_STATUS_SUCCESS;
+    }
+
+    cairo_matrix_init_translate (&m, -x_offset, -y_offset);
+    _copy_transformed_pattern (source_out, source, &m);
+
+    _cairo_surface_get_extents (target, &int_rect);
+    rect.x = int_rect.x;
+    rect.y = int_rect.y;
+    rect.width = int_rect.width;
+    rect.height = int_rect.height;
+
+    _cairo_pattern_get_exact_extents (source_out, &temp);
+    _cairo_rectangle_exact_intersect (&rect, &temp);
+
+    *bounded = TRUE;
+
+    if (rect.width == _cairo_unbounded_rectangle.width ||
+       rect.height == _cairo_unbounded_rectangle.height) {
+       const cairo_rectangle_int_t *clip_extent = _cairo_clip_get_extents (clip);
+       *bounded = FALSE;
+       temp.x = clip_extent->x;
+       temp.y = clip_extent->y;
+       temp.width = clip_extent->width;
+       temp.height = clip_extent->height;
+       _cairo_rectangle_exact_intersect (&rect, &temp);
+       if (rect.width == _cairo_unbounded_rectangle.width ||
+           rect.height == _cairo_unbounded_rectangle.height)
+           rect.width = rect.height = 0;
+    }
+
+    *extents = rect;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_status_t
+_cairo_surface_scale_translate_mask (cairo_surface_t *target,
+                                    const cairo_bool_t clear_bg,
+                                    const cairo_matrix_t *matrix,
+                                    cairo_operator_t    op,
+                                    cairo_pattern_t *source,
+                                    cairo_pattern_t *mask,
+                                    const cairo_clip_t     *clip)
+{
+    cairo_status_t status;
+    cairo_clip_t *dev_clip = NULL;
+    cairo_matrix_t m;
+    cairo_pattern_t *clear_pattern;
+
+    if (unlikely (target->status))
+       return target->status;
+
+    if (_cairo_clip_is_all_clipped (clip))
+       return CAIRO_STATUS_SUCCESS;
+
+    if (! _cairo_matrix_is_identity (matrix)) {
+       if (clip) {
+           dev_clip = _cairo_clip_copy (clip);
+           dev_clip = _cairo_clip_transform (dev_clip, matrix);
+       }
+
+       m = *matrix;
+       status = cairo_matrix_invert (&m);
+       _transformed_pattern (source, &m);
+       _transformed_pattern (mask, &m);
+    }
+
+    if (clear_bg) {
+       clear_pattern = cairo_pattern_create_rgba (0, 0, 0, 0);
+       status = _cairo_surface_paint (target, CAIRO_OPERATOR_SOURCE,
+                                      clear_pattern, dev_clip);
+       cairo_pattern_destroy (clear_pattern);
+    }
+
+    status = _cairo_surface_mask (target, op,
+                                 source, mask,
+                                 dev_clip);
+
+    if (dev_clip && dev_clip != clip)
+       _cairo_clip_destroy (dev_clip);
+
+    return status;
+}
+
+cairo_private cairo_status_t
+_cairo_surface_mask_get_offset_extents (cairo_surface_t *target,
+                                       double x_offset, double y_offset,
+                                       const cairo_pattern_t *source,
+                                       const cairo_pattern_t *mask,
+                                       const cairo_clip_t *clip,
+                                       cairo_pattern_t *source_out,
+                                       cairo_pattern_t *mask_out,
+                                       cairo_rectangle_t *extents,
+                                       cairo_bool_t *bounded)
+{
+    cairo_matrix_t m;
+    cairo_rectangle_t rect, temp;
+    cairo_rectangle_int_t int_rect;
+
+    if (unlikely (target->status))
+       return target->status;
+
+    if (_cairo_clip_is_all_clipped (clip)) {
+       extents->x = extents->y = 0;
+       extents->width = extents->height = 0;
+       return CAIRO_STATUS_SUCCESS;
+    }
+
+    cairo_matrix_init_translate (&m, -x_offset, -y_offset);
+    _copy_transformed_pattern (source_out, source, &m);
+    _copy_transformed_pattern (mask_out, mask, &m);
+
+    _cairo_surface_get_extents (target, &int_rect);
+    rect.x = int_rect.x;
+    rect.y = int_rect.y;
+    rect.width = int_rect.width;
+    rect.height = int_rect.height;
+
+    _cairo_pattern_get_exact_extents (source_out, &temp);
+    _cairo_rectangle_exact_intersect (&rect, &temp);
+
+    _cairo_pattern_get_exact_extents (mask_out, &temp);
+    _cairo_rectangle_exact_intersect (&rect, &temp);
+
+    *bounded = TRUE;
+
+    if (rect.width == _cairo_unbounded_rectangle.width ||
+       rect.height == _cairo_unbounded_rectangle.height) {
+       const cairo_rectangle_int_t *clip_extent = _cairo_clip_get_extents (clip);
+       *bounded = FALSE;
+       temp.x = clip_extent->x;
+       temp.y = clip_extent->y;
+       temp.width = clip_extent->width;
+       temp.height = clip_extent->height;
+       _cairo_rectangle_exact_intersect (&rect, &temp);
+
+       if (rect.width == _cairo_unbounded_rectangle.width ||
+           rect.height == _cairo_unbounded_rectangle.height)
+           rect.width = rect.height = 0;
+    }
+
+    *extents = rect;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_status_t
+_cairo_surface_scale_translate_stroke (cairo_surface_t *surface,
+                                      const cairo_color_t *bg_color,
+                                      const cairo_matrix_t *matrix,
+                                      cairo_operator_t          op,
+                                      cairo_pattern_t  *source,
+                                      cairo_path_fixed_t       *path,
+                                      const cairo_stroke_style_t*stroke_style,
+                                      const cairo_matrix_t     *ctm,
+                                      const cairo_matrix_t     *ctm_inverse,
+                                      double                    tolerance,
+                                      cairo_antialias_t         antialias,
+                                      const cairo_clip_t       *clip)
+{
+    cairo_path_fixed_t *dev_path = (cairo_path_fixed_t *) path;
+    cairo_clip_t *dev_clip = NULL;
+    cairo_matrix_t dev_ctm = *ctm;
+    cairo_matrix_t dev_ctm_inverse = *ctm_inverse;
+    cairo_status_t status;
+    cairo_matrix_t m;
+    cairo_pattern_t *clear_pattern;
+    cairo_stroke_style_t style_copy;
+    double dash[2];
+
+    if (unlikely (surface->status))
+       return surface->status;
+
+    if (_cairo_clip_is_all_clipped (clip))
+       return CAIRO_STATUS_SUCCESS;
+
+    memcpy (&style_copy, stroke_style, sizeof (cairo_stroke_style_t));
+
+    if (! _cairo_matrix_is_identity (matrix)) {
+       if (clip) {
+           dev_clip = _cairo_clip_copy (clip);
+           dev_clip = _cairo_clip_transform (dev_clip, matrix);
+       }
+
+       _cairo_path_fixed_transform (dev_path, matrix);
+
+       cairo_matrix_multiply (&dev_ctm, &dev_ctm, matrix);
+
+       m = *matrix;
+       status = cairo_matrix_invert (&m);
+
+       _transformed_pattern (source, &m);
+       cairo_matrix_multiply (&dev_ctm_inverse, &m, &dev_ctm_inverse);
+
+       if (_cairo_stroke_style_dash_can_approximate (&style_copy, matrix, tolerance)) {
+           style_copy.dash = dash;
+           _cairo_stroke_style_dash_approximate (stroke_style, matrix,
+                                                 tolerance,
+                                                 &style_copy.dash_offset,
+                                                 style_copy.dash,
+                                                 &style_copy.num_dashes);
+       }
+    }
+
+    if (bg_color) {
+       clear_pattern = _cairo_pattern_create_solid (bg_color);
+       status = _cairo_surface_paint (surface, CAIRO_OPERATOR_SOURCE,
+                                  clear_pattern, dev_clip);
+       cairo_pattern_destroy (clear_pattern);
+    }
+
+    status = _cairo_surface_stroke (surface, op, source,
+                                   dev_path, &style_copy,
+                                   &dev_ctm, &dev_ctm_inverse,
+                                   tolerance, antialias,
+                                   dev_clip);
+
+    if (dev_clip && dev_clip != clip)
+       _cairo_clip_destroy (dev_clip);
+    return status;
+}
+
+cairo_private cairo_status_t
+_cairo_surface_stroke_get_offset_extents (cairo_surface_t *target,
+                                         cairo_bool_t     is_inset,
+                                         double x_offset, double y_offset,
+                                         const cairo_pattern_t *source,
+                                         const cairo_path_fixed_t *path,
+                                         const cairo_stroke_style_t *stroke_style,
+                                         const cairo_matrix_t *ctm,
+                                         const cairo_matrix_t *ctm_inverse,
+                                         double tolerance,
+                                         const cairo_clip_t *clip,
+                                         cairo_pattern_t *source_out,
+                                         cairo_path_fixed_t *path_out,
+                                         cairo_matrix_t *ctm_out,
+                                         cairo_matrix_t *ctm_inverse_out,
+                                         cairo_rectangle_t *extents)
+{
+    cairo_status_t status;
+    cairo_matrix_t m;
+    cairo_rectangle_t rect, temp;
+
+    if (unlikely (target->status))
+       return target->status;
+
+    if (_cairo_clip_is_all_clipped (clip)) {
+       extents->x = extents->y = 0;
+       extents->width = extents->height = 0;
+       return CAIRO_STATUS_SUCCESS;
+    }
+
+    *ctm_out = *ctm;
+    *ctm_inverse_out = *ctm_inverse;
+
+    cairo_matrix_init_translate (&m, -x_offset, -y_offset);
+    _copy_transformed_pattern (source_out, source, &m);
+
+    status = _cairo_path_fixed_init_copy (path_out, path);
+    if (unlikely (status))
+       return status;
+
+    if (x_offset != 0.0 || y_offset != 0.0) {
+       cairo_matrix_multiply (ctm_inverse_out, ctm_inverse_out, &m);
+
+       _cairo_path_fixed_translate (path_out,
+                                    _cairo_fixed_from_double (x_offset),
+                                    _cairo_fixed_from_double (y_offset));
+
+       cairo_matrix_init_translate (&m, x_offset, y_offset);
+       cairo_matrix_multiply (ctm_out, ctm_out, &m);
+    }
+
+    _cairo_pattern_get_exact_extents (source_out, &rect);
+
+    if (stroke_style->line_join != CAIRO_LINE_JOIN_MITER)
+       _cairo_path_fixed_approximate_stroke_exact_extents (path_out,
+                                                           stroke_style,
+                                                           ctm_out, &temp);
+    else {
+       status = _cairo_path_fixed_stroke_exact_extents (path_out,
+                                                        stroke_style,
+                                                        ctm_out,
+                                                        ctm_inverse_out,
+                                                        tolerance, &temp);
+       if (unlikely (status)) {
+           extents->width = extents->height = 0;
+           return status;
+       }
+    }
+
+    _cairo_rectangle_exact_intersect (&rect, &temp);
+
+    if (is_inset) {
+       rect.x -= x_offset;
+       rect.y -= y_offset;
+       rect.width += fabs (x_offset);
+       rect.height += fabs (y_offset);
+    }
+    *extents = rect;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_status_t
+_cairo_surface_scale_translate_fill (cairo_surface_t   *surface,
+                                    const cairo_color_t *bg_color,
+                                    const cairo_matrix_t *matrix,
+                                    cairo_operator_t    op,
+                                    cairo_pattern_t    *source,
+                                    cairo_path_fixed_t *path,
+                                    cairo_fill_rule_t   fill_rule,
+                                    double              tolerance,
+                                    cairo_antialias_t   antialias,
+                                    const cairo_clip_t  *clip)
+{
+    cairo_status_t status;
+    cairo_path_fixed_t *dev_path = (cairo_path_fixed_t *) path;
+    cairo_clip_t *dev_clip = NULL;
+    cairo_matrix_t m;
+    cairo_pattern_t *clear_pattern;
+
+    if (unlikely (surface->status))
+       return surface->status;
+
+    if (_cairo_clip_is_all_clipped (clip))
+       return CAIRO_STATUS_SUCCESS;
+
+    if (! _cairo_matrix_is_identity (matrix)) {
+       if (clip) {
+           dev_clip = _cairo_clip_copy (clip);
+           dev_clip = _cairo_clip_transform (dev_clip, matrix);
+       }
+
+       _cairo_path_fixed_transform (dev_path, matrix);
+
+       m = *matrix;
+       status = cairo_matrix_invert (&m);
+       _transformed_pattern (source, &m);
+    }
+
+    if (bg_color) {
+       clear_pattern = _cairo_pattern_create_solid (bg_color);
+       status = _cairo_surface_paint (surface, CAIRO_OPERATOR_SOURCE,
+                                  clear_pattern, dev_clip);
+       cairo_pattern_destroy (clear_pattern);
+    }
+
+    status = _cairo_surface_fill (surface, op, source,
+                                 dev_path, fill_rule,
+                                 tolerance, antialias,
+                                 dev_clip);
+
+    if (dev_clip && dev_clip != clip)
+       _cairo_clip_destroy (dev_clip);
+
+    return status;
+}
+
+cairo_private cairo_status_t
+_cairo_surface_fill_get_offset_extents (cairo_surface_t *target,
+                                       cairo_bool_t     is_inset,
+                                       double x_offset, double y_offset,
+                                       const cairo_pattern_t *source,
+                                       const cairo_path_fixed_t *path,
+                                       const cairo_fill_rule_t fill_rule,
+                                       const cairo_clip_t *clip,
+                                       cairo_pattern_t *source_out,
+                                       cairo_path_fixed_t *path_out,
+                                       cairo_rectangle_t *extents)
+{
+    cairo_status_t status;
+    cairo_matrix_t m;
+    cairo_rectangle_t rect, temp;
+    const cairo_rectangle_int_t *clip_rect;
+
+    if (unlikely (target->status))
+       return target->status;
+
+    if (_cairo_clip_is_all_clipped (clip)) {
+       extents->x = extents->y = 0;
+       extents->width = extents->height = 0;
+       return CAIRO_STATUS_SUCCESS;
+    }
+
+    cairo_matrix_init_translate (&m, -x_offset, -y_offset);
+    _copy_transformed_pattern (source_out, source, &m);
+
+    status = _cairo_path_fixed_init_copy (path_out, path);
+    if (unlikely (status))
+       return status;
+
+    if (x_offset != 0.0 || y_offset != 0.0) {
+       _cairo_path_fixed_translate (path_out,
+                                    _cairo_fixed_from_double (x_offset),
+                                    _cairo_fixed_from_double (y_offset));
+    }
+
+    _cairo_pattern_get_exact_extents (source_out, &rect);
+
+    if (! source->shadow.path_is_fill_with_spread) {
+       _cairo_path_fixed_approximate_fill_exact_extents (path_out, &temp);
+       _cairo_rectangle_exact_intersect (&rect, &temp);
+    }
+    else {
+       clip_rect = _cairo_clip_get_extents (clip);
+       temp.x = clip_rect->x;
+       temp.y = clip_rect->y;
+       temp.width = clip_rect->width;
+       temp.height = clip_rect->height;
+       _cairo_rectangle_exact_intersect (&rect, &temp);
+    }
+
+    if (is_inset) {
+       rect.x -= x_offset;
+       rect.y -= y_offset;
+       rect.width += abs (x_offset);
+       rect.height += abs (y_offset);
+    }
+    *extents = rect;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_status_t
+_cairo_surface_translate_glyphs (cairo_surface_t       *surface,
+                                const cairo_color_t    *bg_color,
+                                const cairo_matrix_t   *matrix,
+                                cairo_operator_t        op,
+                                cairo_pattern_t        *source,
+                                cairo_scaled_font_t    *scaled_font,
+                                cairo_glyph_t          *glyphs,
+                                int                     num_glyphs,
+                                const cairo_clip_t     *clip)
+{
+    cairo_status_t status;
+    cairo_clip_t *dev_clip = (cairo_clip_t *) clip;
+    cairo_glyph_t *dev_glyphs = glyphs;
+    cairo_pattern_t *clear_pattern;
+    int i;
+    cairo_matrix_t inverse_matrix;
+
+    if (unlikely (surface->status))
+       return surface->status;
+
+    if (_cairo_clip_is_all_clipped (clip))
+       return CAIRO_STATUS_SUCCESS;
+
+    inverse_matrix = *matrix;
+    status = cairo_matrix_invert (&inverse_matrix);
+    if (unlikely (status))
+       return status;
+
+    if (! _cairo_matrix_is_identity (matrix)) {
+       dev_clip = _cairo_clip_copy_with_translation (clip, matrix->x0,
+                                                     matrix->y0);
+
+       _transformed_pattern (source, matrix);
+
+       for (i = 0; i < num_glyphs; i++) {
+           dev_glyphs[i].x += matrix->x0;
+           dev_glyphs[i].y += matrix->y0;
+       }
+    }
+
+    if (bg_color) {
+       clear_pattern = _cairo_pattern_create_solid (bg_color);
+       status = _cairo_surface_paint (surface, CAIRO_OPERATOR_SOURCE,
+                                  clear_pattern, NULL);
+       cairo_pattern_destroy (clear_pattern);
+    }
+
+    status = _cairo_surface_show_text_glyphs (surface, op, source,
+                                             NULL, 0,
+                                             dev_glyphs, num_glyphs,
+                                             NULL, 0, 0,
+                                             scaled_font,
+                                             dev_clip);
+
+    if (dev_clip != clip)
+       _cairo_clip_destroy (dev_clip);
+
+    _transformed_pattern (source, &inverse_matrix);
+    return status;
+}
+
+cairo_private cairo_status_t
+_cairo_surface_glyphs_get_offset_extents (cairo_surface_t *target,
+                                         cairo_bool_t    is_inset,
+                                         double x_offset, double y_offset,
+                                         const cairo_pattern_t *source,
+                                         cairo_scaled_font_t *scaled_font,
+                                         const cairo_glyph_t *glyphs,
+                                         int                 num_glyphs,
+                                         const cairo_clip_t *clip,
+                                         cairo_pattern_t *source_out,
+                                         cairo_glyph_t *glyphs_out,
+                                         cairo_rectangle_t *extents)
+{
+    cairo_matrix_t m;
+    cairo_rectangle_t rect, temp;
+    cairo_rectangle_int_t int_rect;
+    const cairo_rectangle_int_t *clip_rect;
+    int i;
+    cairo_bool_t result;
+
+    if (unlikely (target->status))
+       return target->status;
+
+    if (_cairo_clip_is_all_clipped (clip)) {
+       extents->x = extents->y = 0;
+       extents->width = extents->height = 0;
+       return CAIRO_STATUS_SUCCESS;
+    }
+
+    memcpy (glyphs_out, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
+
+    cairo_matrix_init_translate (&m, -x_offset, -y_offset);
+    _copy_transformed_pattern (source_out, source, &m);
+
+    if (x_offset != 0.0) {
+       for (i = 0; i < num_glyphs; i++)
+           glyphs_out[i].x += x_offset;
+    }
+
+    if (y_offset != 0.0) {
+       for (i = 0; i < num_glyphs; i++)
+           glyphs_out[i].y += y_offset;
+    }
+
+    _cairo_surface_get_extents (target, &int_rect);
+    clip_rect = _cairo_clip_get_extents (clip);
+    _cairo_rectangle_intersect (&int_rect, clip_rect);
+
+    rect.x = int_rect.x;
+    rect.y = int_rect.y;
+    rect.width = int_rect.width;
+    rect.height = int_rect.height;
+
+    _cairo_pattern_get_exact_extents (source_out, &temp);
+    _cairo_rectangle_exact_intersect (&rect, &temp);
+
+    result = _cairo_scaled_font_glyph_approximate_extents (scaled_font,
+                                                          glyphs_out,
+                                                          num_glyphs,
+                                                          &int_rect);
+    if (! result)
+       return CAIRO_STATUS_USER_FONT_ERROR;
+
+    temp.x = int_rect.x;
+    temp.y = int_rect.y;
+    temp.width = int_rect.width;
+    temp.height = int_rect.height;
+    _cairo_rectangle_exact_intersect (&rect, &temp);
+    *extents = rect;
+
+    return CAIRO_STATUS_SUCCESS;
+}
diff --git a/src/cairo-surface-shadow-private.h b/src/cairo-surface-shadow-private.h
new file mode 100644 (file)
index 0000000..43c7e6d
--- /dev/null
@@ -0,0 +1,98 @@
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2002 University of Southern California
+ * Copyright © 2005 Red Hat, Inc.
+ * Copyright © 2009 Chris Wilson
+ * Copyright © 2013 Samsung Research America, Silicon Valley
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is University of Southern
+ * California.
+ *
+ * Contributor(s):
+ *     Henry Song <henry.song@samsung.com>
+ */
+
+#ifndef CAIRO_SURFACE_SHADOW_PRIVATE_H
+#define CAIRO_SURFACE_SHADOW_PRIVATE_H
+
+#include "cairo-types-private.h"
+
+#define MAX_SHADOW_CACHE_SIZE 1048576
+
+CAIRO_BEGIN_DECLS
+
+cairo_private cairo_status_t
+_cairo_surface_shadow_paint (cairo_surface_t *target,
+                            cairo_operator_t    op,
+                            const cairo_pattern_t *source,
+                            const cairo_clip_t     *clip,
+                            const cairo_shadow_t   *shadow);
+
+cairo_private cairo_status_t
+_cairo_surface_shadow_mask (cairo_surface_t *target,
+                           cairo_operator_t     op,
+                           const cairo_pattern_t *source,
+                           const cairo_pattern_t *mask,
+                           const cairo_clip_t      *clip,
+                           const cairo_shadow_t  *shadow);
+
+cairo_private cairo_status_t
+_cairo_surface_shadow_stroke (cairo_surface_t *target,
+                             cairo_operator_t           op,
+                             const cairo_pattern_t     *source,
+                             const cairo_path_fixed_t  *path,
+                             const cairo_stroke_style_t        *stroke_style,
+                             const cairo_matrix_t              *ctm,
+                             const cairo_matrix_t              *ctm_inverse,
+                             double                     tolerance,
+                             cairo_antialias_t  antialias,
+                             const cairo_clip_t                *clip,
+                             const cairo_shadow_t      *shadow);
+
+cairo_private cairo_status_t
+_cairo_surface_shadow_fill (cairo_surface_t    *target,
+                           cairo_operator_t     op,
+                           const cairo_pattern_t*source,
+                           const cairo_path_fixed_t    *path,
+                           cairo_fill_rule_t    fill_rule,
+                           double               tolerance,
+                           cairo_antialias_t    antialias,
+                           const cairo_clip_t          *clip,
+                           const cairo_shadow_t *shadow);
+
+cairo_private cairo_status_t
+_cairo_surface_shadow_glyphs (cairo_surface_t          *target,
+                             cairo_operator_t           op,
+                             const cairo_pattern_t     *source,
+                             cairo_scaled_font_t       *scaled_font,
+                             cairo_glyph_t             *glyphs,
+                             int                        num_glyphs,
+                             const cairo_clip_t                *clip,
+                             const cairo_shadow_t      *shadow);
+
+#endif /* CAIRO_SURFACE_SHADOW_PRIVATE_H */
diff --git a/src/cairo-surface-shadow.c b/src/cairo-surface-shadow.c
new file mode 100755 (executable)
index 0000000..5224bee
--- /dev/null
@@ -0,0 +1,2286 @@
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2005 Red Hat, Inc
+ * Copyright © 2007 Adrian Johnson
+ * Copyright © 2009 Chris Wilson
+ * Copyright © 2013 Samsung Research America, Silicon Valley
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is Red Hat, Inc.
+ *
+ * Contributor(s):
+ *     Henry Song <henry.song@samsung.com
+ */
+
+#include "cairoint.h"
+#include "cairo-surface-private.h"
+#include "cairo-clip-inline.h"
+#include "cairo-error-private.h"
+#include "cairo-pattern-private.h"
+#include "cairo-surface-shadow-private.h"
+#include "cairo-surface-scale-translate-private.h"
+#include "cairo-path-fixed-private.h"
+#include "cairo-list-inline.h"
+#include "cairo-device-private.h"
+#include "cairo-image-surface-private.h"
+
+#define MAX_SHADOW_SIZE 1024
+
+typedef struct _cairo_shadow_cache_list {
+    cairo_list_t *caches;
+    unsigned long *size;
+    cairo_bool_t locked;
+} cairo_shadow_cache_list_t;
+
+static unsigned long
+_cairo_stroke_style_hash (unsigned long hash,
+                         const cairo_stroke_style_t *style)
+{
+    hash = _cairo_hash_bytes (hash, style, sizeof (cairo_stroke_style_t));
+    if (style->num_dashes)
+       hash = _cairo_hash_bytes (hash, style->dash, sizeof (double) * style->num_dashes);
+    return hash;
+}
+
+static unsigned long
+_cairo_matrix_hash (unsigned long hash, const cairo_matrix_t *matrix)
+{
+    return _cairo_hash_bytes (hash, matrix, sizeof (cairo_matrix_t));
+}
+
+static unsigned long
+_cairo_path_fixed_rel_hash (unsigned long hash, const cairo_path_fixed_t *path)
+{
+    const cairo_path_buf_t *buf;
+    unsigned int count;
+    cairo_path_fixed_t path_copy;
+    cairo_status_t status;
+    unsigned int i;
+    cairo_fixed_t dx, dy;
+
+    status = _cairo_path_fixed_init_copy (&path_copy, path);
+    if (unlikely (status))
+       return hash;
+
+    dx = path_copy.buf.points[0].x;
+    dy = path_copy.buf.points[0].y;
+
+    cairo_path_foreach_buf_start (buf, &path_copy) {
+       for (i = 0; i < buf->num_points; i++) {
+           buf->points[i].x -= dx;
+           buf->points[i].y -= dy;
+       }
+    } cairo_path_foreach_buf_end (buf, &path_copy);
+
+    count = 0;
+    cairo_path_foreach_buf_start (buf, &path_copy) {
+       hash = _cairo_hash_bytes (hash, buf->op,
+                                 buf->num_ops * sizeof (buf->op[0]));
+       count += buf->num_ops;
+    } cairo_path_foreach_buf_end (buf, &path_copy);
+    hash = _cairo_hash_bytes (hash, &count, sizeof (count));
+
+    count = 0;
+    cairo_path_foreach_buf_start (buf, &path_copy) {
+       hash = _cairo_hash_bytes (hash, buf->points,
+                                 buf->num_points * sizeof (buf->points[0]));
+       count += buf->num_points;
+    } cairo_path_foreach_buf_end (buf, &path_copy);
+    hash = _cairo_hash_bytes (hash, &count, sizeof (count));
+
+    _cairo_path_fixed_fini (&path_copy);
+
+    return hash;
+}
+
+static unsigned long
+_cairo_shadow_hash (unsigned long hash, const cairo_shadow_t *shadow)
+{
+    return _cairo_hash_bytes (hash, shadow, sizeof (cairo_shadow_t) - sizeof (cairo_bool_t));
+}
+
+static unsigned long
+_cairo_shadow_hash_for_paint (const cairo_pattern_t *source,
+                             const cairo_shadow_t *shadow)
+{
+    unsigned long hash = _CAIRO_HASH_INIT_VALUE;
+    cairo_bool_t use_color = shadow->type == CAIRO_SHADOW_INSET;
+
+    hash = _cairo_pattern_hash_with_hash (hash, source, use_color);
+    return _cairo_shadow_hash (hash, shadow);
+}
+
+static unsigned long
+_cairo_shadow_hash_for_mask (const cairo_pattern_t *source,
+                            const cairo_pattern_t *mask,
+                            const cairo_shadow_t *shadow)
+{
+    unsigned long hash = _CAIRO_HASH_INIT_VALUE;
+    cairo_bool_t use_color = shadow->type == CAIRO_SHADOW_INSET;
+
+    hash = _cairo_pattern_hash_with_hash (hash, source, use_color);
+    hash = _cairo_pattern_hash_with_hash (hash, mask, use_color);
+    return _cairo_shadow_hash (hash, shadow);
+}
+
+static unsigned long
+_cairo_shadow_hash_for_fill (const cairo_pattern_t      *source,
+                           const cairo_path_fixed_t    *path,
+                           cairo_fill_rule_t            fill_rule,
+                           const cairo_shadow_t        *shadow)
+{
+    unsigned long hash = _CAIRO_HASH_INIT_VALUE;
+    /* FIXME: for OVER operator, we don't need to hash the source
+     * color, for other operators, we might */
+    cairo_bool_t use_color = shadow->type == CAIRO_SHADOW_INSET;
+    use_color = FALSE;
+
+    hash = _cairo_pattern_hash_with_hash (hash, source, use_color);
+    hash = _cairo_path_fixed_rel_hash (hash, path);
+    hash = _cairo_hash_bytes (hash, &fill_rule, sizeof (cairo_fill_rule_t));
+    return _cairo_shadow_hash (hash, shadow);
+}
+
+static unsigned long
+_cairo_shadow_hash_for_stroke (const cairo_pattern_t      *source,
+                              const cairo_path_fixed_t   *path,
+                              const cairo_stroke_style_t*stroke_style,
+                              const cairo_matrix_t     *ctm,
+                              const cairo_shadow_t     *shadow)
+{
+    unsigned long hash = _CAIRO_HASH_INIT_VALUE;
+
+    /* FIXME: for OVER operator, we don't need to hash the source
+     * color, for other operators, we might */
+    cairo_bool_t use_color = shadow->type == CAIRO_SHADOW_INSET;
+    use_color = FALSE;
+
+    hash = _cairo_pattern_hash_with_hash (hash, source, use_color);
+    hash = _cairo_path_fixed_rel_hash (hash, path);
+    hash = _cairo_stroke_style_hash (hash, stroke_style);
+    hash = _cairo_matrix_hash (hash, ctm);
+    return _cairo_shadow_hash (hash, shadow);
+}
+
+static void
+_cairo_shadow_cache_init (cairo_shadow_cache_t *shadow_cache,
+                         cairo_surface_t      *cache_surface,
+                         unsigned long         size,
+                         unsigned long         hash,
+                         int                   x_blur,
+                         int                   y_blur,
+                         double                scale)
+{
+    cairo_list_init (&shadow_cache->link);
+    shadow_cache->surface = cairo_surface_reference (cache_surface);
+    shadow_cache->size = size;
+    shadow_cache->hash = hash;
+    shadow_cache->x_blur = x_blur;
+    shadow_cache->y_blur = y_blur;
+    shadow_cache->scale = scale;
+}
+
+static void
+_cairo_shadow_cache_destroy (cairo_shadow_cache_t *shadow_cache)
+{
+    cairo_list_del (&shadow_cache->link);
+    cairo_surface_destroy (shadow_cache->surface);
+    free (shadow_cache);
+}
+
+static void
+_cairo_shadow_cache_list_shrink_to_accomodate (cairo_shadow_cache_list_t *shadow_caches,
+                                              unsigned long additional)
+{
+    cairo_shadow_cache_t *shadow_cache;
+
+    while (*(shadow_caches->size) + additional > MAX_SHADOW_CACHE_SIZE) {
+       shadow_cache = cairo_list_last_entry (shadow_caches->caches,
+                                             cairo_shadow_cache_t,
+                                             link);
+       *(shadow_caches->size) -= shadow_cache->size;
+       _cairo_shadow_cache_destroy (shadow_cache);
+    }
+}
+
+static cairo_shadow_cache_t *
+_cairo_shadow_cache_list_find (cairo_shadow_cache_list_t *shadow_caches,
+                              unsigned long hash)
+{
+    cairo_shadow_cache_t *shadow_cache;
+
+    cairo_list_foreach_entry (shadow_cache,
+                             cairo_shadow_cache_t,
+                             shadow_caches->caches, link)
+       if (shadow_cache->hash == hash) {
+           return shadow_cache;
+        }
+
+    return NULL;
+}
+
+static double
+_calculate_shadow_extents_scale (cairo_rectangle_int_t *extents,
+                                int shadow_width,  int shadow_height)
+{
+    double x_scale = (double)extents->width / (double)shadow_width;
+    double y_scale = (double)extents->height / (double)shadow_height;
+
+    return MIN (1.0, MIN (x_scale, y_scale));
+}
+
+static void
+_cairo_shadow_cache_list_init (cairo_shadow_cache_list_t *shadow_cache_list,
+                              cairo_surface_t           *target)
+{
+    cairo_status_t  status;
+    cairo_device_t *device = NULL;
+
+    if(target != NULL)
+       device = target->device;
+
+    if (device != NULL) {
+       shadow_cache_list->caches = &device->shadow_caches;
+       shadow_cache_list->size = &device->shadow_caches_size;
+       shadow_cache_list->locked = FALSE;
+    }
+    else if (target != NULL &&
+            target->backend &&
+            target->backend->has_shadow_cache &&
+            target->backend->has_shadow_cache (target)) {
+       status = target->backend->shadow_cache_acquire (target);
+       shadow_cache_list->locked = TRUE;
+
+       if (status == CAIRO_STATUS_SUCCESS) {
+           shadow_cache_list->caches = target->backend->get_shadow_cache (target);
+           if (shadow_cache_list->caches) {
+               shadow_cache_list->size = target->backend->get_shadow_cache_size (target);
+           }
+       }
+    }
+}
+
+static cairo_surface_t*
+_cairo_ensure_shadow_surface (cairo_surface_t *target,
+                             cairo_rectangle_int_t *shadow_surface_extents,
+                             int x_blur, int y_blur,
+                             int shadow_width, int shadow_height)
+{
+    int width_out, height_out;
+    cairo_content_t content;
+    cairo_surface_t *shadow_surface;
+    cairo_bool_t has_blur = ! (x_blur == 0 && y_blur == 0);
+
+    if (target->backend->get_shadow_surface)
+       shadow_surface = target->backend->get_shadow_surface (target,
+                                                             has_blur,
+                                                             shadow_width,
+                                                             shadow_height,
+                                                             &width_out,
+                                                             &height_out);
+    else {
+       if (has_blur) {
+           width_out = MIN (shadow_width, MAX_SHADOW_SIZE) * 0.5;
+           height_out = MIN (shadow_width, MAX_SHADOW_SIZE) * 0.5;
+       }
+       else {
+           width_out = MIN (shadow_width, MAX_SHADOW_SIZE);
+           height_out = MIN (shadow_width, MAX_SHADOW_SIZE);
+       }
+
+       content = cairo_surface_get_content (target);
+       if (content == CAIRO_CONTENT_COLOR)
+           content = CAIRO_CONTENT_COLOR_ALPHA;
+       shadow_surface = cairo_surface_create_similar (target,
+                                                      content,
+                                                      width_out,
+                                                      height_out);
+       _cairo_surface_release_device_reference (shadow_surface);
+    }
+
+    shadow_surface_extents->x = 0;
+    shadow_surface_extents->y = 0;
+    shadow_surface_extents->width = width_out;
+    shadow_surface_extents->height = height_out;
+
+    return shadow_surface;
+}
+
+/* A collection of routines to draw shadow*/
+
+cairo_status_t
+_cairo_surface_shadow_paint (cairo_surface_t           *target,
+                            cairo_operator_t            op,
+                            const cairo_pattern_t      *source,
+                            const cairo_clip_t         *clip,
+                            const cairo_shadow_t       *shadow)
+{
+    cairo_status_t       status;
+    cairo_pattern_union_t shadow_source;
+    cairo_rectangle_t     shadow_extents;
+    cairo_pattern_t     *shadow_pattern = NULL;
+    cairo_pattern_t     *color_pattern = NULL;
+    cairo_surface_t     *shadow_surface = NULL;
+    cairo_rectangle_int_t shadow_surface_extents;
+
+    int                          shadow_width, shadow_height;
+    int                          x_blur, y_blur;
+    cairo_shadow_t       shadow_copy = *shadow;
+
+    cairo_matrix_t       m;
+    double               scale;
+    double               x_offset = shadow->x_offset;
+    double               y_offset = shadow->y_offset;
+    cairo_content_t       content;
+
+    unsigned long         hash = 0;
+    cairo_shadow_cache_t *shadow_cache = NULL;
+    cairo_device_t       *device = target->device;
+    unsigned long         size;
+    cairo_surface_t     *cache_surface = NULL;
+    cairo_bool_t          bounded;
+    cairo_bool_t          draw_shadow_only = source->shadow.draw_shadow_only;
+    cairo_shadow_type_t   shadow_type = source->shadow.type;
+    cairo_bool_t          has_blur = ! (source->shadow.x_blur == 0.0 &&
+                                       source->shadow.y_blur == 0.0);
+
+    cairo_shadow_cache_list_t shadow_cache_list;
+
+    if (shadow->type != CAIRO_SHADOW_DROP)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->color.alpha == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->x_blur <= 0.0 && shadow->y_blur <= 0.0 &&
+       shadow->x_offset == 0.0 && shadow->y_offset == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (_cairo_clip_is_all_clipped (clip))
+       return CAIRO_STATUS_SUCCESS;
+
+    _cairo_shadow_cache_list_init (&shadow_cache_list, target);
+    if (shadow_cache_list.caches != NULL) {
+       hash = _cairo_shadow_hash_for_paint (source, shadow);
+       shadow_cache = _cairo_shadow_cache_list_find (&shadow_cache_list, hash);
+    }
+
+    if (shadow_cache != NULL) {
+       /* paint the shadow surface to target */
+       x_blur = shadow_cache->x_blur;
+       y_blur = shadow_cache->y_blur;
+
+       color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                                  shadow_copy.color.green,
+                                                  shadow_copy.color.blue,
+                                                  1.0);
+
+       status = _cairo_surface_paint_get_offset_extents (target,
+                                                         x_offset,
+                                                         y_offset,
+                                                         source,
+                                                         clip,
+                                                         &shadow_source.base,
+                                                         &shadow_extents,
+                                                         &bounded);
+       if (unlikely (status))
+           goto FINISH;
+
+       if (shadow_extents.width == 0 || shadow_extents.height == 0)
+           goto FINISH;
+
+       x_offset = shadow_extents.x - x_blur;
+       y_offset = shadow_extents.y - y_blur;
+
+       cairo_matrix_init_scale (&m, shadow_cache->scale, shadow_cache->scale);
+       cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+       shadow_pattern = cairo_pattern_create_for_surface (shadow_cache->surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       status = _cairo_surface_mask (target, op, color_pattern,
+                                     shadow_pattern, clip);
+       cairo_list_move (&shadow_cache->link, shadow_cache_list.caches);
+       goto FINISH;
+    }
+
+    ((cairo_pattern_t *)source)->shadow.type = CAIRO_SHADOW_NONE;
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = FALSE;
+
+    x_blur = ceil (shadow_copy.x_blur);
+    y_blur = ceil (shadow_copy.y_blur);
+
+    color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                              shadow_copy.color.green,
+                                              shadow_copy.color.blue,
+                                              shadow_copy.color.alpha);
+
+    status = _cairo_surface_paint_get_offset_extents (target,
+                                                     x_offset, y_offset,
+                                                     source,
+                                                     clip,
+                                                     &shadow_source.base,
+                                                     &shadow_extents,
+                                                     &bounded);
+    if (unlikely (status))
+       goto FINISH;
+
+    if (shadow_extents.width == 0 && shadow_extents.height == 0)
+       goto FINISH;
+
+    x_offset = shadow_extents.x - x_blur;
+    y_offset = shadow_extents.y - y_blur;
+
+    shadow_width = ceil (shadow_extents.width + x_blur * 2);
+    shadow_height = ceil (shadow_extents.height + y_blur * 2);
+
+    shadow_surface = _cairo_ensure_shadow_surface (target,
+                                                  &shadow_surface_extents,
+                                                  x_blur, y_blur,
+                                                  shadow_width, shadow_height);
+    if (! shadow_surface || unlikely (shadow_surface->status))
+       goto FINISH;
+
+    if ((device || shadow_cache_list.locked) &&
+       shadow->enable_cache && bounded && has_blur) {
+       content = cairo_surface_get_content (target);
+       if (content == CAIRO_CONTENT_COLOR)
+           content = CAIRO_CONTENT_COLOR_ALPHA;
+
+       cache_surface = cairo_surface_create_similar (target, content,
+                                                     shadow_surface_extents.width,
+                                                     shadow_surface_extents.height);
+       if (unlikely (cache_surface->status))
+           goto FINISH;
+
+       if (device)
+           _cairo_surface_release_device_reference (cache_surface);
+    }
+
+    scale = _calculate_shadow_extents_scale (&shadow_surface_extents,
+                                             shadow_width,
+                                             shadow_height);
+    cairo_matrix_init_scale (&m, scale, scale);
+    cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+    /* paint with offset and scale */
+    status = _cairo_surface_scale_translate_paint (shadow_surface,
+                                                  TRUE,
+                                                  &m,
+                                                  CAIRO_OPERATOR_OVER,
+                                                  &shadow_source.base,
+                                                  NULL);
+
+    if (unlikely (status))
+       goto FINISH;
+
+    shadow_pattern = cairo_pattern_create_for_surface (shadow_surface);
+    cairo_pattern_set_filter (shadow_pattern, CAIRO_FILTER_GAUSSIAN);
+    cairo_pattern_set_sigma (shadow_pattern,
+                            shadow_copy.x_blur * scale * 0.5,
+                            shadow_copy.y_blur * scale * 0.5);
+
+    status = _cairo_pattern_create_gaussian_matrix (shadow_pattern, 1024);
+    if (unlikely (status))
+       goto FINISH;
+
+    if ((shadow_cache_list.locked ||device) &&
+       shadow->enable_cache && bounded && has_blur) {
+       status = _cairo_surface_mask (cache_surface, CAIRO_OPERATOR_OVER,
+                                     color_pattern, shadow_pattern, NULL);
+       if (unlikely (status))
+           goto FINISH;
+
+       cairo_pattern_destroy (shadow_pattern);
+
+       size = shadow_surface_extents.width * shadow_surface_extents.height;
+       _cairo_shadow_cache_list_shrink_to_accomodate (&shadow_cache_list,
+                                                      size);
+
+       shadow_cache = malloc (sizeof (cairo_shadow_cache_t));
+       _cairo_shadow_cache_init (shadow_cache,
+                                 cache_surface,
+                                 size,
+                                 hash,
+                                 x_blur,
+                                 y_blur,
+                                 scale);
+
+       cairo_list_add (&shadow_cache->link, shadow_cache_list.caches);
+       *shadow_cache_list.size += size;
+
+       shadow_pattern = cairo_pattern_create_for_surface (cache_surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       cairo_pattern_destroy (color_pattern);
+       color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                                  shadow_copy.color.green,
+                                                  shadow_copy.color.blue,
+                                                  1.0);
+    }
+    else
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+    status = _cairo_surface_mask (target, op,
+                                 color_pattern, shadow_pattern, clip);
+
+FINISH:
+    cairo_pattern_destroy (color_pattern);
+
+    if (shadow_pattern)
+       cairo_pattern_destroy (shadow_pattern);
+
+    cairo_surface_destroy (shadow_surface);
+    cairo_surface_destroy (cache_surface);
+
+    if (shadow_cache_list.locked)
+       target->backend->shadow_cache_release (target);
+
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = draw_shadow_only;
+    ((cairo_pattern_t *)source)->shadow.type = shadow_type;
+    return status;
+}
+
+cairo_status_t
+_cairo_surface_shadow_mask (cairo_surface_t            *target,
+                           cairo_operator_t             op,
+                           const cairo_pattern_t       *source,
+                           const cairo_pattern_t       *mask,
+                           const cairo_clip_t          *clip,
+                           const cairo_shadow_t        *shadow)
+{
+    cairo_status_t       status;
+    cairo_pattern_union_t shadow_source;
+    cairo_pattern_union_t shadow_mask;
+    cairo_rectangle_t     shadow_extents;
+    cairo_pattern_t     *shadow_pattern = NULL;
+    cairo_pattern_t     *color_pattern = NULL;
+    cairo_surface_t     *shadow_surface = NULL;
+    cairo_rectangle_int_t shadow_surface_extents;
+    cairo_content_t       content;
+
+    int                          shadow_width, shadow_height;
+    int                          x_blur, y_blur;
+    cairo_shadow_t       shadow_copy = *shadow;
+
+    cairo_matrix_t       m;
+    double               scale;
+    double               x_offset = shadow->x_offset;
+    double               y_offset = shadow->y_offset;
+
+    unsigned long         hash = 0;
+    cairo_shadow_cache_t *shadow_cache = NULL;
+    cairo_device_t       *device = target->device;
+    unsigned long         size;
+    cairo_surface_t     *cache_surface = NULL;
+    cairo_bool_t          bounded;
+    cairo_bool_t         draw_shadow_only = source->shadow.draw_shadow_only;
+    cairo_shadow_type_t   shadow_type = source->shadow.type;
+    cairo_bool_t          has_blur = ! (source->shadow.x_blur == 0.0 &&
+                                       source->shadow.y_blur == 0.0);
+
+    cairo_shadow_cache_list_t shadow_cache_list;
+
+    if (shadow->type != CAIRO_SHADOW_DROP)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->color.alpha == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->x_blur <= 0.0 && shadow->y_blur <= 0.0 &&
+       shadow->x_offset == 0.0 && shadow->y_offset == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (_cairo_clip_is_all_clipped (clip))
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->x_blur == 0.0 && shadow->y_blur == 0.0) {
+       status = _cairo_surface_mask_get_offset_extents (target,
+                                                        x_offset,
+                                                        y_offset,
+                                                        source,
+                                                        mask,
+                                                        clip,
+                                                        &shadow_source.base,
+                                                        &shadow_mask.base,
+                                                        &shadow_extents,
+                                                        &bounded);
+       if (unlikely (status)) {
+           return status;
+       }
+
+       cairo_matrix_init_identity (&m);
+       cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+       /* stroke to target with offset */
+       shadow_source.base.shadow.type = CAIRO_SHADOW_NONE;
+       shadow_source.base.shadow.draw_shadow_only = FALSE;
+       status = _cairo_surface_scale_translate_mask (target,
+                                                     FALSE,
+                                                     &m,
+                                                     op,
+                                                     &shadow_source.base,
+                                                     &shadow_mask.base,
+                                                     clip);
+
+       ((cairo_pattern_t *)source)->shadow.draw_shadow_only = draw_shadow_only;
+       ((cairo_pattern_t *)source)->shadow.type = shadow_type;
+       return status;
+    }
+
+    _cairo_shadow_cache_list_init (&shadow_cache_list, target);
+    if (shadow_cache_list.caches != NULL) {
+       hash = _cairo_shadow_hash_for_mask (source, mask, shadow);
+       shadow_cache = _cairo_shadow_cache_list_find (&shadow_cache_list, hash);
+    }
+
+    if (shadow_cache != NULL) {
+       /* paint the shadow surface to target */
+       x_blur = shadow_cache->x_blur;
+       y_blur = shadow_cache->y_blur;
+
+       color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                                  shadow_copy.color.green,
+                                                  shadow_copy.color.blue,
+                                                  1.0);
+
+       status = _cairo_surface_mask_get_offset_extents (target,
+                                                         x_offset,
+                                                         y_offset,
+                                                         source,
+                                                         mask,
+                                                         clip,
+                                                         &shadow_source.base,
+                                                         &shadow_mask.base,
+                                                         &shadow_extents,
+                                                         &bounded);
+       if (unlikely (status))
+           goto FINISH;
+
+       if (shadow_extents.width == 0 || shadow_extents.height == 0)
+           goto FINISH;
+
+       x_offset = shadow_extents.x - x_blur;
+       y_offset = shadow_extents.y - y_blur;
+
+       cairo_matrix_init_scale (&m, shadow_cache->scale, shadow_cache->scale);
+       cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+       shadow_pattern = cairo_pattern_create_for_surface (shadow_cache->surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       status = _cairo_surface_mask (target, op, color_pattern,
+                                     shadow_pattern, clip);
+       cairo_list_move (&shadow_cache->link, shadow_cache_list.caches);
+       goto FINISH;
+    }
+
+    ((cairo_pattern_t *)source)->shadow.type = CAIRO_SHADOW_NONE;
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = FALSE;
+
+    x_blur = ceil (shadow_copy.x_blur);
+    y_blur = ceil (shadow_copy.y_blur);
+
+    color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                              shadow_copy.color.green,
+                                              shadow_copy.color.blue,
+                                              shadow_copy.color.alpha);
+
+    status = _cairo_surface_mask_get_offset_extents (target,
+                                                    x_offset, y_offset,
+                                                    source,
+                                                    mask,
+                                                    clip,
+                                                    &shadow_source.base,
+                                                    &shadow_mask.base,
+                                                    &shadow_extents,
+                                                    &bounded);
+    if (unlikely (status))
+       goto FINISH;
+
+    if (shadow_extents.width == 0 && shadow_extents.height == 0)
+       goto FINISH;
+
+    x_offset = shadow_extents.x - x_blur;
+    y_offset = shadow_extents.y - y_blur;
+
+    shadow_width = ceil (shadow_extents.width + x_blur * 2);
+    shadow_height = ceil (shadow_extents.height + y_blur * 2);
+
+    shadow_surface = _cairo_ensure_shadow_surface (target,
+                                                  &shadow_surface_extents,
+                                                  x_blur, y_blur,
+                                                  shadow_width, shadow_height);
+    if (! shadow_surface || unlikely (shadow_surface->status))
+       goto FINISH;
+
+    if ((shadow_cache_list.locked || device) &&
+       shadow->enable_cache && bounded && has_blur) {
+       content = cairo_surface_get_content (target);
+       if (content == CAIRO_CONTENT_COLOR)
+           content = CAIRO_CONTENT_COLOR_ALPHA;
+
+       cache_surface = cairo_surface_create_similar (target, content,
+                                                     shadow_surface_extents.width,
+                                                     shadow_surface_extents.height);
+       if (unlikely (cache_surface->status))
+           goto FINISH;
+
+       if (device)
+           _cairo_surface_release_device_reference (cache_surface);
+    }
+
+    scale = _calculate_shadow_extents_scale (&shadow_surface_extents,
+                                             shadow_width,
+                                             shadow_height);
+    cairo_matrix_init_scale (&m, scale, scale);
+    cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+    /* paint with offset and scale */
+    status = _cairo_surface_scale_translate_mask (shadow_surface,
+                                                  TRUE,
+                                                  &m,
+                                                  CAIRO_OPERATOR_OVER,
+                                                  &shadow_source.base,
+                                                  &shadow_mask.base,
+                                                  NULL);
+    if (unlikely (status))
+       goto FINISH;
+
+    shadow_pattern = cairo_pattern_create_for_surface (shadow_surface);
+    cairo_pattern_set_filter (shadow_pattern, CAIRO_FILTER_GAUSSIAN);
+    cairo_pattern_set_sigma (shadow_pattern,
+                            shadow_copy.x_blur * scale * 0.5,
+                            shadow_copy.y_blur * scale * 0.5);
+
+    status = _cairo_pattern_create_gaussian_matrix (shadow_pattern, 1024);
+    if (unlikely (status))
+       goto FINISH;
+
+    if ((shadow_cache_list.locked || device) &&
+       shadow->enable_cache && bounded && has_blur) {
+       status = _cairo_surface_mask (cache_surface, CAIRO_OPERATOR_OVER,
+                                     color_pattern, shadow_pattern, NULL);
+       if (unlikely (status))
+           goto FINISH;
+
+       cairo_pattern_destroy (shadow_pattern);
+
+       size = shadow_surface_extents.width * shadow_surface_extents.height;
+        _cairo_shadow_cache_list_shrink_to_accomodate (&shadow_cache_list,
+                                                       size);
+
+       shadow_cache = malloc (sizeof (cairo_shadow_cache_t));
+       _cairo_shadow_cache_init (shadow_cache,
+                                 cache_surface,
+                                 size,
+                                 hash,
+                                 x_blur,
+                                 y_blur,
+                                 scale);
+
+       cairo_list_add (&shadow_cache->link, shadow_cache_list.caches);
+       *shadow_cache_list.size += size;
+
+       shadow_pattern = cairo_pattern_create_for_surface (cache_surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       cairo_pattern_destroy (color_pattern);
+       color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                                  shadow_copy.color.green,
+                                                  shadow_copy.color.blue,
+                                                  1.0);
+    }
+    else
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+    status = _cairo_surface_mask (target, op,
+                                 color_pattern, shadow_pattern, clip);
+
+FINISH:
+    cairo_pattern_destroy (color_pattern);
+
+    if (shadow_pattern)
+       cairo_pattern_destroy (shadow_pattern);
+
+    cairo_surface_destroy (shadow_surface);
+    cairo_surface_destroy (cache_surface);
+
+    if (shadow_cache_list.locked)
+       target->backend->shadow_cache_release (target);
+
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = draw_shadow_only;
+    ((cairo_pattern_t *)source)->shadow.type = shadow_type;
+    return status;
+}
+
+static cairo_status_t
+_cairo_surface_inset_shadow_stroke (cairo_surface_t            *target,
+                                   cairo_operator_t             op,
+                                   const cairo_pattern_t       *source,
+                                   const cairo_path_fixed_t    *path,
+                                   const cairo_stroke_style_t*stroke_style,
+                                   const cairo_matrix_t        *ctm,
+                                   const cairo_matrix_t        *ctm_inverse,
+                                   double                       tolerance,
+                                   cairo_antialias_t            antialias,
+                                   const cairo_clip_t          *clip,
+                                   const cairo_shadow_t        *shadow)
+{
+    cairo_status_t       status;
+    cairo_pattern_union_t shadow_source;
+    cairo_path_fixed_t    shadow_path;
+    cairo_rectangle_t     shadow_extents;
+    cairo_pattern_t     *shadow_pattern = NULL;
+    cairo_pattern_t     *color_pattern = NULL;
+    cairo_surface_t     *shadow_surface = NULL;
+    cairo_rectangle_int_t extents;
+    cairo_rectangle_int_t shadow_surface_extents;
+    cairo_matrix_t        shadow_ctm, shadow_ctm_inverse;
+    cairo_content_t       content;
+
+    int                          shadow_width, shadow_height;
+    int                          x_blur, y_blur;
+    cairo_shadow_t               shadow_copy = *shadow;
+    cairo_color_t        bg_color;
+
+    cairo_matrix_t       m;
+    double               scale;
+    double               x_offset = shadow->x_offset;
+    double               y_offset = shadow->y_offset;
+    unsigned long         hash = 0;
+    cairo_shadow_cache_t *shadow_cache = NULL;
+    cairo_device_t       *device = target->device;
+    unsigned long         size;
+    cairo_surface_t     *cache_surface = NULL;
+    cairo_bool_t         draw_shadow_only = source->shadow.draw_shadow_only;
+    cairo_shadow_type_t   shadow_type = source->shadow.type;
+    cairo_bool_t          has_blur = ! (source->shadow.x_blur == 0.0 &&
+                                       source->shadow.y_blur == 0.0);
+    double                line_width = stroke_style->line_width;
+
+    cairo_shadow_cache_list_t shadow_cache_list;
+
+    if (shadow->color.alpha == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    _cairo_shadow_cache_list_init (&shadow_cache_list, target);
+    if (shadow_cache_list.caches != NULL) {
+       hash = _cairo_shadow_hash_for_stroke (source, path, stroke_style, ctm, shadow);
+       shadow_cache = _cairo_shadow_cache_list_find (&shadow_cache_list, hash);
+    }
+
+    if (shadow_cache != NULL) {
+       /* paint the shadow surface to target */
+       x_blur = shadow_cache->x_blur;
+       y_blur = shadow_cache->y_blur;
+
+       color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                                  shadow_copy.color.green,
+                                                  shadow_copy.color.blue,
+                                                  1.0);
+
+       status = _cairo_surface_stroke_get_offset_extents (target,
+                                                          TRUE,
+                                                          x_offset,
+                                                          y_offset,
+                                                          source,
+                                                          path,
+                                                          stroke_style,
+                                                          ctm, ctm_inverse,
+                                                          tolerance, clip,
+                                                          &shadow_source.base,
+                                                          &shadow_path,
+                                                          &shadow_ctm,
+                                                          &shadow_ctm_inverse,
+                                                          &shadow_extents);
+       if (unlikely (status))
+           goto FINISH;
+
+       if (shadow_extents.width == 0 || shadow_extents.height == 0)
+           goto FINISH;
+
+       x_offset = shadow_extents.x - x_blur;
+       y_offset = shadow_extents.y - y_blur;
+
+       cairo_matrix_init_scale (&m, shadow_cache->scale, shadow_cache->scale);
+       cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+       shadow_pattern = cairo_pattern_create_for_surface (shadow_cache->surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       status = _cairo_surface_stroke (target, op, shadow_pattern,
+                                       path, stroke_style,
+                                       ctm, ctm_inverse, tolerance,
+                                       antialias, clip);
+       cairo_list_move (&shadow_cache->link, shadow_cache_list.caches);
+       goto FINISH;
+    }
+
+    ((cairo_pattern_t *)source)->shadow.type = CAIRO_SHADOW_NONE;
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = FALSE;
+
+    x_blur = ceil (shadow_copy.x_blur);
+    y_blur = ceil (shadow_copy.y_blur);
+
+    color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                              shadow_copy.color.green,
+                                              shadow_copy.color.blue,
+                                              shadow_copy.color.alpha);
+
+    status = _cairo_surface_stroke_get_offset_extents (target,
+                                                      TRUE,
+                                                      x_offset, y_offset,
+                                                      source,
+                                                      path,
+                                                      stroke_style,
+                                                      ctm, ctm_inverse,
+                                                      tolerance, clip,
+                                                      &shadow_source.base,
+                                                      &shadow_path,
+                                                      &shadow_ctm,
+                                                      &shadow_ctm_inverse,
+                                                      &shadow_extents);
+    if (unlikely (status))
+       goto FINISH;
+
+    if (shadow_extents.width == 0 || shadow_extents.height == 0)
+       goto FINISH;
+
+    x_offset = shadow_extents.x  - x_blur;
+    y_offset = shadow_extents.y  - y_blur;
+
+    shadow_width = ceil (shadow_extents.width + x_blur * 2);
+    shadow_height = ceil (shadow_extents.height + y_blur * 2);
+
+    shadow_surface = _cairo_ensure_shadow_surface (target,
+                                                  &shadow_surface_extents,
+                                                  x_blur, y_blur,
+                                                  shadow_width, shadow_height);
+    if (! shadow_surface || unlikely (shadow_surface->status))
+       goto FINISH;
+
+    _cairo_surface_get_extents (shadow_surface, &extents);
+
+    if ((shadow_cache_list.locked || device) &&
+       shadow->enable_cache && has_blur) {
+       content = cairo_surface_get_content (target);
+       if (content == CAIRO_CONTENT_COLOR)
+           content = CAIRO_CONTENT_COLOR_ALPHA;
+
+       cache_surface = cairo_surface_create_similar (target, content,
+                                                     shadow_surface_extents.width,
+                                                     shadow_surface_extents.height);
+       if (unlikely (cache_surface->status))
+           goto FINISH;
+
+       if (device)
+           _cairo_surface_release_device_reference (cache_surface);
+    }
+
+    scale = _calculate_shadow_extents_scale (&shadow_surface_extents,
+                                            shadow_width,
+                                            shadow_height);
+    if (line_width * scale <= 1.0) 
+       ((cairo_stroke_style_t *)stroke_style)->line_width = line_width / scale;
+    cairo_matrix_init_scale (&m, scale, scale);
+    cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+    _cairo_color_init_rgba (&bg_color,
+                           shadow_copy.color.red,
+                           shadow_copy.color.green,
+                           shadow_copy.color.blue,
+                           shadow_copy.color.alpha);
+
+    /* paint with offset and scale */
+    status = _cairo_surface_scale_translate_stroke (shadow_surface,
+                                                   &bg_color,
+                                                   &m,
+                                                   CAIRO_OPERATOR_CLEAR,
+                                                   &shadow_source.base,
+                                                   &shadow_path,
+                                                   stroke_style,
+                                                   &shadow_ctm,
+                                                   &shadow_ctm_inverse,
+                                                   tolerance,
+                                                   antialias,
+                                                   NULL);
+
+    if (unlikely (status))
+       goto FINISH;
+
+    shadow_pattern = cairo_pattern_create_for_surface (shadow_surface);
+    cairo_pattern_set_filter (shadow_pattern, CAIRO_FILTER_GAUSSIAN);
+    cairo_pattern_set_sigma (shadow_pattern,
+                            shadow_copy.x_blur * scale * 0.5,
+                            shadow_copy.y_blur * scale * 0.5);
+
+    status = _cairo_pattern_create_gaussian_matrix (shadow_pattern,
+                                                   line_width * scale);
+    if (unlikely (status))
+       goto FINISH;
+
+    /* blur to mask surface */
+    cairo_matrix_init_scale (&m, scale, scale);
+    cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+    if ((shadow_cache_list.locked || device) &&
+       shadow->enable_cache && has_blur) {
+       status = _cairo_surface_paint (cache_surface, CAIRO_OPERATOR_OVER,
+                                      shadow_pattern, NULL);
+       if (unlikely (status))
+           goto FINISH;
+
+       cairo_pattern_destroy (shadow_pattern);
+
+       size = shadow_surface_extents.width * shadow_surface_extents.height;
+        _cairo_shadow_cache_list_shrink_to_accomodate (&shadow_cache_list,
+                                                       size);
+
+       shadow_cache = malloc (sizeof (cairo_shadow_cache_t));
+        _cairo_shadow_cache_init (shadow_cache,
+                                  cache_surface,
+                                  size,
+                                  hash,
+                                  x_blur,
+                                  y_blur,
+                                 scale);
+
+       cairo_list_add (&shadow_cache->link, shadow_cache_list.caches);
+       *shadow_cache_list.size += size;
+
+       shadow_pattern = cairo_pattern_create_for_surface (cache_surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       status = _cairo_surface_stroke (target, op, shadow_pattern,
+                                       path, stroke_style, ctm,
+                                       ctm_inverse, tolerance,
+                                       antialias, clip);
+
+    }
+    else {
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+       status = _cairo_surface_stroke (target, op,  shadow_pattern,
+                                       path, stroke_style,
+                                       ctm, ctm_inverse,
+                                       tolerance, antialias, clip);
+    }
+
+FINISH:
+    _cairo_path_fixed_fini (&shadow_path);
+    cairo_pattern_destroy (color_pattern);
+
+    if (shadow_pattern)
+       cairo_pattern_destroy (shadow_pattern);
+
+    cairo_surface_destroy (shadow_surface);
+    cairo_surface_destroy (cache_surface);
+
+    if (shadow_cache_list.locked)
+       target->backend->shadow_cache_release (target);
+
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = draw_shadow_only;
+    ((cairo_pattern_t *)source)->shadow.type = shadow_type;
+    ((cairo_stroke_style_t *)stroke_style)->line_width = line_width;
+    return status;
+}
+
+cairo_status_t
+_cairo_surface_shadow_stroke (cairo_surface_t          *target,
+                             cairo_operator_t           op,
+                             const cairo_pattern_t     *source,
+                             const cairo_path_fixed_t  *path,
+                             const cairo_stroke_style_t*stroke_style,
+                             const cairo_matrix_t      *ctm,
+                             const cairo_matrix_t      *ctm_inverse,
+                             double                     tolerance,
+                             cairo_antialias_t          antialias,
+                             const cairo_clip_t                *clip,
+                             const cairo_shadow_t      *shadow)
+{
+    cairo_status_t       status;
+    cairo_pattern_union_t shadow_source;
+    cairo_path_fixed_t    shadow_path;
+    cairo_rectangle_t     shadow_extents;
+    cairo_pattern_t     *shadow_pattern = NULL;
+    cairo_pattern_t     *color_pattern = NULL;
+    cairo_surface_t     *shadow_surface = NULL;
+    cairo_rectangle_int_t shadow_surface_extents;
+    cairo_matrix_t        shadow_ctm, shadow_ctm_inverse;
+    cairo_content_t       content;
+    cairo_color_t        bg_color;
+
+    int                          shadow_width, shadow_height;
+    int                          x_blur, y_blur;
+    cairo_shadow_t       shadow_copy = *shadow;
+
+    cairo_matrix_t       m;
+    double               scale;
+    double               x_offset = shadow->x_offset;
+    double               y_offset = shadow->y_offset;
+    unsigned long         hash = 0;
+    cairo_shadow_cache_t *shadow_cache = NULL;
+    cairo_device_t       *device = target->device;
+    unsigned long         size;
+    cairo_surface_t     *cache_surface = NULL;
+    cairo_bool_t         draw_shadow_only = source->shadow.draw_shadow_only;
+    cairo_shadow_type_t   shadow_type = source->shadow.type;
+    cairo_bool_t          has_blur = ! (source->shadow.x_blur == 0.0 &&
+                                       source->shadow.y_blur == 0.0);
+    double               line_width = stroke_style->line_width;
+
+    cairo_shadow_cache_list_t shadow_cache_list;
+
+    if (shadow->type == CAIRO_SHADOW_NONE)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->color.alpha == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->x_blur <= 0.0 && shadow->y_blur <= 0.0 &&
+       shadow->x_offset == 0.0 && shadow->y_offset == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (_cairo_clip_is_all_clipped (clip))
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->type == CAIRO_SHADOW_INSET)
+       return _cairo_surface_inset_shadow_stroke (target, op, source,
+                                                  path, stroke_style,
+                                                  ctm, ctm_inverse,
+                                                  tolerance, antialias,
+                                                  clip, shadow);
+
+    _cairo_shadow_cache_list_init (&shadow_cache_list, target);
+    if (shadow_cache_list.caches != NULL) {
+       hash = _cairo_shadow_hash_for_stroke (source, path, stroke_style, ctm, shadow);
+       shadow_cache = _cairo_shadow_cache_list_find (&shadow_cache_list, hash);
+    }
+
+    if (shadow_cache != NULL) {
+       /* paint the shadow surface to target */
+       x_blur = shadow_cache->x_blur;
+       y_blur = shadow_cache->y_blur;
+
+       color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                                  shadow_copy.color.green,
+                                                  shadow_copy.color.blue,
+                                                  1.0);
+
+       status = _cairo_surface_stroke_get_offset_extents (target,
+                                                          FALSE,
+                                                          x_offset,
+                                                          y_offset,
+                                                          source,
+                                                          path,
+                                                          stroke_style,
+                                                          ctm, ctm_inverse,
+                                                          tolerance, clip,
+                                                          &shadow_source.base,
+                                                          &shadow_path,
+                                                          &shadow_ctm,
+                                                          &shadow_ctm_inverse,
+                                                          &shadow_extents);
+       if (unlikely (status))
+           goto FINISH;
+
+       if (shadow_extents.width == 0 || shadow_extents.height == 0)
+           goto FINISH;
+
+       x_offset = shadow_extents.x - x_blur;
+       y_offset = shadow_extents.y - y_blur;
+
+       cairo_matrix_init_scale (&m, shadow_cache->scale, shadow_cache->scale);
+       cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+       shadow_pattern = cairo_pattern_create_for_surface (shadow_cache->surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       status = _cairo_surface_mask (target, op, color_pattern,
+                                     shadow_pattern, clip);
+       cairo_list_move (&shadow_cache->link, shadow_cache_list.caches);
+       goto FINISH;
+    }
+
+    ((cairo_pattern_t *)source)->shadow.type = CAIRO_SHADOW_NONE;
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = FALSE;
+
+    x_blur = ceil (shadow_copy.x_blur);
+    y_blur = ceil (shadow_copy.y_blur);
+
+    color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                              shadow_copy.color.green,
+                                              shadow_copy.color.blue,
+                                              shadow_copy.color.alpha);
+
+    status = _cairo_surface_stroke_get_offset_extents (target,
+                                                      FALSE,
+                                                      x_offset, y_offset,
+                                                      source,
+                                                      path,
+                                                      stroke_style,
+                                                      ctm, ctm_inverse,
+                                                      tolerance, clip,
+                                                      &shadow_source.base,
+                                                      &shadow_path,
+                                                      &shadow_ctm,
+                                                      &shadow_ctm_inverse,
+                                                      &shadow_extents);
+    if (unlikely (status))
+       goto FINISH;
+
+    if (shadow_extents.width == 0 || shadow_extents.height == 0)
+       goto FINISH;
+
+    x_offset = shadow_extents.x - x_blur;
+    y_offset = shadow_extents.y - y_blur;
+
+    shadow_width = ceil (shadow_extents.width + x_blur * 2);
+    shadow_height = ceil (shadow_extents.height + y_blur * 2);
+
+    shadow_surface = _cairo_ensure_shadow_surface (target,
+                                                  &shadow_surface_extents,
+                                                  x_blur, y_blur,
+                                                  shadow_width, shadow_height);
+    if (! shadow_surface || unlikely (shadow_surface->status))
+       goto FINISH;
+
+    if ((shadow_cache_list.locked || device) &&
+       shadow->enable_cache && has_blur) {
+       content = cairo_surface_get_content (target);
+       if (content == CAIRO_CONTENT_COLOR)
+           content = CAIRO_CONTENT_COLOR_ALPHA;
+
+       cache_surface = cairo_surface_create_similar (target, content,
+                                                     shadow_surface_extents.width,
+                                                     shadow_surface_extents.height);
+       if (unlikely (cache_surface->status))
+           goto FINISH;
+
+       if (device)
+           _cairo_surface_release_device_reference (cache_surface);
+    }
+
+    scale = _calculate_shadow_extents_scale (&shadow_surface_extents,
+                                            shadow_width,
+                                            shadow_height);
+
+    if (line_width * scale <= 1.0) 
+       ((cairo_stroke_style_t *)stroke_style)->line_width = line_width / scale;
+
+    cairo_matrix_init_scale (&m, scale, scale);
+    cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+    /* paint with offset and scale */
+    _cairo_color_init_rgba (&bg_color, 0, 0, 0, 0);
+    status = _cairo_surface_scale_translate_stroke (shadow_surface,
+                                                   &bg_color,
+                                                   &m,
+                                                   CAIRO_OPERATOR_OVER,
+                                                   &shadow_source.base,
+                                                   &shadow_path,
+                                                   stroke_style,
+                                                   &shadow_ctm,
+                                                   &shadow_ctm_inverse,
+                                                   tolerance,
+                                                   antialias,
+                                                   NULL);
+
+    if (unlikely (status))
+       goto FINISH;
+
+    shadow_pattern = cairo_pattern_create_for_surface (shadow_surface);
+    cairo_pattern_set_filter (shadow_pattern, CAIRO_FILTER_GAUSSIAN);
+    cairo_pattern_set_sigma (shadow_pattern,
+                            shadow_copy.x_blur * scale * 0.5,
+                            shadow_copy.y_blur * scale * 0.5);
+
+    status = _cairo_pattern_create_gaussian_matrix (shadow_pattern,
+                                                   line_width * scale);
+    if (unlikely (status))
+       goto FINISH;
+
+    if ((shadow_cache_list.locked || device) &&
+       shadow->enable_cache && has_blur) {
+       status = _cairo_surface_mask (cache_surface, CAIRO_OPERATOR_OVER,
+                                     color_pattern, shadow_pattern, NULL);
+       if (unlikely (status))
+           goto FINISH;
+
+       cairo_pattern_destroy (shadow_pattern);
+
+       size = shadow_surface_extents.width * shadow_surface_extents.height;
+        _cairo_shadow_cache_list_shrink_to_accomodate (&shadow_cache_list,
+                                                       size);
+
+       shadow_cache = malloc (sizeof (cairo_shadow_cache_t));
+        _cairo_shadow_cache_init (shadow_cache,
+                                  cache_surface,
+                                  size,
+                                  hash,
+                                  x_blur,
+                                  y_blur,
+                                 scale);
+
+       cairo_list_add (&shadow_cache->link, shadow_cache_list.caches);
+       *shadow_cache_list.size += size;
+
+       shadow_pattern = cairo_pattern_create_for_surface (cache_surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       cairo_pattern_destroy (color_pattern);
+       color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                                  shadow_copy.color.green,
+                                                  shadow_copy.color.blue,
+                                                  1.0);
+    }
+    else
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+    status = _cairo_surface_mask (target, op,
+                                 color_pattern, shadow_pattern, clip);
+
+FINISH:
+    _cairo_path_fixed_fini (&shadow_path);
+    cairo_pattern_destroy (color_pattern);
+
+    if (shadow_pattern)
+       cairo_pattern_destroy (shadow_pattern);
+
+    cairo_surface_destroy (shadow_surface);
+    cairo_surface_destroy (cache_surface);
+
+    if (shadow_cache_list.locked)
+       target->backend->shadow_cache_release (target);
+
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = draw_shadow_only;
+    ((cairo_pattern_t *)source)->shadow.type = shadow_type;
+    ((cairo_stroke_style_t *)stroke_style)->line_width = line_width;
+    return status;
+}
+
+static cairo_status_t
+_cairo_surface_inset_shadow_fill (cairo_surface_t *target,
+                                 cairo_operator_t       op,
+                                 const cairo_pattern_t*source,
+                                 const cairo_path_fixed_t      *path,
+                                 cairo_fill_rule_t      fill_rule,
+                                 double                 tolerance,
+                                 cairo_antialias_t      antialias,
+                                 const cairo_clip_t    *clip,
+                                 const cairo_shadow_t *shadow)
+{
+    cairo_status_t       status;
+    cairo_pattern_union_t shadow_source;
+    cairo_path_fixed_t    shadow_path;
+    cairo_rectangle_t    shadow_extents;
+    cairo_pattern_t     *shadow_pattern = NULL;
+    cairo_pattern_t     *color_pattern = NULL;
+    cairo_surface_t     *shadow_surface = NULL;
+    cairo_surface_t      *cache_surface = NULL;
+    cairo_rectangle_int_t shadow_surface_extents;
+    cairo_rectangle_int_t extents;
+    cairo_content_t       content;
+
+    int                          shadow_width, shadow_height;
+    int                          x_blur, y_blur;
+    cairo_shadow_t       shadow_copy = *shadow;
+
+    cairo_matrix_t       m;
+    double               scale;
+    double               x_offset = shadow->x_offset;
+    double               y_offset = shadow->y_offset;
+    unsigned long         hash = 0;
+    cairo_shadow_cache_t *shadow_cache = NULL;
+    cairo_device_t       *device = target->device;
+    unsigned long         size;
+    cairo_color_t         bg_color;
+    cairo_bool_t         draw_shadow_only = source->shadow.draw_shadow_only;
+    cairo_shadow_type_t   shadow_type = source->shadow.type;
+    cairo_bool_t          has_blur = ! (source->shadow.x_blur == 0.0 &&
+                                       source->shadow.y_blur == 0.0);
+
+    cairo_shadow_cache_list_t shadow_cache_list;
+
+    if (shadow->color.alpha == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    _cairo_shadow_cache_list_init (&shadow_cache_list, target);
+    if (shadow_cache_list.caches != NULL) {
+       hash = _cairo_shadow_hash_for_fill (source, path, fill_rule, shadow);
+       shadow_cache = _cairo_shadow_cache_list_find (&shadow_cache_list, hash);
+    }
+
+    if (shadow_cache != NULL) {
+       /* paint the shadow surface to target */
+       color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                                  shadow_copy.color.green,
+                                                  shadow_copy.color.blue,
+                                                  1.0);
+       x_blur = shadow_cache->x_blur;
+       y_blur = shadow_cache->y_blur;
+
+       status = _cairo_surface_fill_get_offset_extents (target,
+                                                        TRUE,
+                                                        x_offset,
+                                                        y_offset,
+                                                        source,
+                                                        path,
+                                                        fill_rule,
+                                                        clip,
+                                                        &shadow_source.base,
+                                                        &shadow_path,
+                                                        &shadow_extents);
+       if (unlikely (status))
+           goto FINISH;
+
+       if (shadow_extents.width == 0 || shadow_extents.height == 0)
+           goto FINISH;
+
+       x_offset = shadow_extents.x - x_blur;
+       y_offset = shadow_extents.y - y_blur;
+
+       cairo_matrix_init_scale (&m, shadow_cache->scale, shadow_cache->scale);
+       cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+       shadow_pattern = cairo_pattern_create_for_surface (shadow_cache->surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       if (! shadow->path_is_fill_with_spread)
+           status = _cairo_surface_fill (target, op, shadow_pattern,
+                                         path, fill_rule, tolerance,
+                                         antialias, clip);
+       else
+           status = _cairo_surface_paint (target, op, shadow_pattern,
+                                          clip);
+
+       cairo_list_move (&shadow_cache->link, shadow_cache_list.caches);
+       goto FINISH;
+    }
+
+    ((cairo_pattern_t *)source)->shadow.type = CAIRO_SHADOW_NONE;
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = FALSE;
+
+    color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                              shadow_copy.color.green,
+                                              shadow_copy.color.blue,
+                                              shadow_copy.color.alpha);
+
+    x_blur = ceil (shadow_copy.x_blur);
+    y_blur = ceil (shadow_copy.y_blur);
+
+    status = _cairo_surface_fill_get_offset_extents (target,
+                                                    TRUE,
+                                                    x_offset, y_offset,
+                                                    source,
+                                                    path,
+                                                    fill_rule,
+                                                    clip,
+                                                    &shadow_source.base,
+                                                    &shadow_path,
+                                                    &shadow_extents);
+    if (unlikely (status))
+       goto FINISH;
+
+    if (shadow_extents.width == 0 && shadow_extents.height == 0)
+       goto FINISH;
+
+    x_offset = shadow_extents.x  - x_blur;
+    y_offset = shadow_extents.y  - y_blur;
+
+    shadow_width = ceil (shadow_extents.width + x_blur * 2);
+    shadow_height = ceil (shadow_extents.height + y_blur * 2);
+
+    shadow_surface = _cairo_ensure_shadow_surface (target,
+                                                  &shadow_surface_extents,
+                                                  x_blur, y_blur,
+                                                  shadow_width, shadow_height);
+    if (! shadow_surface || unlikely (shadow_surface->status))
+       goto FINISH;
+
+    _cairo_surface_get_extents (shadow_surface, &extents);
+
+    if ((shadow_cache_list.locked || device) &&
+       shadow->enable_cache && has_blur) {
+       content = cairo_surface_get_content (target);
+       if (content == CAIRO_CONTENT_COLOR)
+           content = CAIRO_CONTENT_COLOR_ALPHA;
+
+       cache_surface = cairo_surface_create_similar (target, content,
+                                                     shadow_surface_extents.width,
+                                                     shadow_surface_extents.height);
+       if (unlikely (cache_surface->status))
+           goto FINISH;
+
+       if (device)
+           _cairo_surface_release_device_reference (cache_surface);
+    }
+
+    scale = _calculate_shadow_extents_scale (&shadow_surface_extents,
+                                             shadow_width,
+                                             shadow_height);
+    cairo_matrix_init_scale (&m, scale, scale);
+    cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+    _cairo_color_init_rgba (&bg_color,
+                           shadow_copy.color.red,
+                           shadow_copy.color.green,
+                           shadow_copy.color.blue,
+                           shadow_copy.color.alpha);
+    /* paint with offset and scale */
+    status = _cairo_surface_scale_translate_fill (shadow_surface,
+                                                 &bg_color,
+                                                 &m,
+                                                 CAIRO_OPERATOR_CLEAR,
+                                                 &shadow_source.base,
+                                                 &shadow_path,
+                                                 fill_rule,
+                                                 tolerance,
+                                                 antialias,
+                                                 NULL);
+
+    if (unlikely (status))
+       goto FINISH;
+    shadow_pattern = cairo_pattern_create_for_surface (shadow_surface);
+    cairo_pattern_set_filter (shadow_pattern, CAIRO_FILTER_GAUSSIAN);
+    cairo_pattern_set_sigma (shadow_pattern,
+                            shadow_copy.x_blur * scale * 0.5,
+                            shadow_copy.y_blur * scale * 0.5);
+
+    status = _cairo_pattern_create_gaussian_matrix (shadow_pattern, 1024);
+    if (unlikely (status))
+       goto FINISH;
+
+    /* blur to cache surface */
+    cairo_matrix_init_scale (&m, scale, scale);
+    cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+    if ((shadow_cache_list.locked || device) &&
+       shadow->enable_cache && has_blur) {
+       status = _cairo_surface_paint (cache_surface, CAIRO_OPERATOR_OVER,
+                                      shadow_pattern, NULL);
+
+       if (unlikely (status))
+           goto FINISH;
+
+       cairo_pattern_destroy (shadow_pattern);
+
+       size = shadow_surface_extents.width * shadow_surface_extents.height;
+        _cairo_shadow_cache_list_shrink_to_accomodate (&shadow_cache_list,
+                                                       size);
+
+       shadow_cache = malloc (sizeof (cairo_shadow_cache_t));
+        _cairo_shadow_cache_init (shadow_cache,
+                                  cache_surface,
+                                  size,
+                                  hash,
+                                  x_blur,
+                                  y_blur,
+                                 scale);
+
+       cairo_list_add (&shadow_cache->link, shadow_cache_list.caches);
+       *shadow_cache_list.size += size;
+
+       shadow_pattern = cairo_pattern_create_for_surface (cache_surface);
+
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+       if (! shadow_copy.path_is_fill_with_spread)
+           status = _cairo_surface_fill (target, op, shadow_pattern,
+                                         path, fill_rule, tolerance,
+                                         antialias, clip);
+       else
+           status = _cairo_surface_paint (target, op, shadow_pattern,
+                                          clip);
+    }
+    else {
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+       if (! shadow_copy.path_is_fill_with_spread)
+           status = _cairo_surface_fill (target, op, shadow_pattern,
+                                         path, fill_rule, tolerance,
+                                         antialias, clip);
+       else
+           status = _cairo_surface_paint (target, op, shadow_pattern,
+                                          clip);
+    }
+FINISH:
+    _cairo_path_fixed_fini (&shadow_path);
+    cairo_pattern_destroy (color_pattern);
+
+    if (shadow_pattern)
+       cairo_pattern_destroy (shadow_pattern);
+
+    if (cache_surface)
+       cairo_surface_destroy (cache_surface);
+
+    cairo_surface_destroy (shadow_surface);
+
+    if (shadow_cache_list.locked)
+       target->backend->shadow_cache_release (target);
+
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = draw_shadow_only;
+    ((cairo_pattern_t *)source)->shadow.type = shadow_type;
+    return status;
+}
+
+cairo_status_t
+_cairo_surface_shadow_fill (cairo_surface_t    *target,
+                           cairo_operator_t     op,
+                           const cairo_pattern_t*source,
+                           const cairo_path_fixed_t    *path,
+                           cairo_fill_rule_t    fill_rule,
+                           double               tolerance,
+                           cairo_antialias_t    antialias,
+                           const cairo_clip_t  *clip,
+                           const cairo_shadow_t *shadow)
+{
+    cairo_status_t       status;
+    cairo_pattern_union_t shadow_source;
+    cairo_path_fixed_t    shadow_path;
+    cairo_rectangle_t    shadow_extents;
+    cairo_pattern_t     *shadow_pattern = NULL;
+    cairo_pattern_t     *color_pattern = NULL;
+    cairo_surface_t     *shadow_surface = NULL;
+    cairo_rectangle_int_t shadow_surface_extents;
+    cairo_content_t       content;
+
+    int                          shadow_width, shadow_height;
+    int                          x_blur, y_blur;
+    cairo_shadow_t       shadow_copy = *shadow;
+    cairo_color_t        bg_color;
+
+    cairo_matrix_t       m;
+    double               scale;
+    double               x_offset = shadow->x_offset;
+    double               y_offset = shadow->y_offset;
+    unsigned long         hash = 0;
+    cairo_shadow_cache_t *shadow_cache = NULL;
+    cairo_device_t       *device = target->device;
+    unsigned long         size;
+    cairo_surface_t     *cache_surface = NULL;
+    cairo_bool_t         draw_shadow_only = source->shadow.draw_shadow_only;
+    cairo_shadow_type_t   shadow_type = source->shadow.type;
+    cairo_bool_t          has_blur = ! (source->shadow.x_blur == 0.0 &&
+                                       source->shadow.y_blur == 0.0);
+
+    cairo_shadow_cache_list_t shadow_cache_list;
+
+    if (shadow->type == CAIRO_SHADOW_NONE)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->color.alpha == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->x_blur <= 0.0 && shadow->y_blur <= 0.0 &&
+       shadow->x_offset == 0.0 && shadow->y_offset == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (_cairo_clip_is_all_clipped (clip))
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->type == CAIRO_SHADOW_INSET)
+       return _cairo_surface_inset_shadow_fill (target, op, source,
+                                                path, fill_rule,
+                                                tolerance, antialias,
+                                                clip, shadow);
+
+    if (shadow->x_blur == 0.0 && shadow->y_blur == 0.0) {
+       status = _cairo_surface_fill_get_offset_extents (target,
+                                                        FALSE,
+                                                        x_offset,
+                                                        y_offset,
+                                                        source,
+                                                        path,
+                                                        fill_rule,
+                                                        clip,
+                                                        &shadow_source.base,
+                                                        &shadow_path,
+                                                        &shadow_extents);
+       if (unlikely (status)) {
+           _cairo_path_fixed_fini (&shadow_path);
+           return status;
+       }
+
+       cairo_matrix_init_identity (&m);
+       cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+       /* stroke to target with offset */
+       shadow_source.base.shadow.type = CAIRO_SHADOW_NONE;
+       shadow_source.base.shadow.draw_shadow_only = FALSE;
+       status = _cairo_surface_scale_translate_fill (target,
+                                                     NULL,
+                                                     &m,
+                                                     op,
+                                                     &shadow_source.base,
+                                                     &shadow_path,
+                                                     fill_rule,
+                                                     tolerance,
+                                                     antialias,
+                                                     clip);
+
+       _cairo_path_fixed_fini (&shadow_path);
+       ((cairo_pattern_t *)source)->shadow.draw_shadow_only = draw_shadow_only;
+       ((cairo_pattern_t *)source)->shadow.type = shadow_type;
+       return status;
+    }
+
+    _cairo_shadow_cache_list_init (&shadow_cache_list, target);
+    if (shadow_cache_list.caches != NULL) {
+       hash = _cairo_shadow_hash_for_fill (source, path, fill_rule, shadow);
+       shadow_cache = _cairo_shadow_cache_list_find (&shadow_cache_list, hash);
+    }
+
+    if (shadow_cache != NULL) {
+       /* paint the shadow surface to target */
+       color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                                  shadow_copy.color.green,
+                                                  shadow_copy.color.blue,
+                                                  1.0);
+       x_blur = shadow_cache->x_blur;
+       y_blur = shadow_cache->y_blur;
+
+       status = _cairo_surface_fill_get_offset_extents (target,
+                                                        FALSE,
+                                                        x_offset,
+                                                        y_offset,
+                                                        source,
+                                                        path,
+                                                        fill_rule,
+                                                        clip,
+                                                        &shadow_source.base,
+                                                        &shadow_path,
+                                                        &shadow_extents);
+       if (unlikely (status))
+           goto FINISH;
+
+       if (shadow_extents.width == 0 || shadow_extents.height == 0)
+           goto FINISH;
+
+       x_offset = shadow_extents.x - x_blur;
+       y_offset = shadow_extents.y - y_blur;
+
+       cairo_matrix_init_scale (&m, shadow_cache->scale, shadow_cache->scale);
+       cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+       shadow_pattern = cairo_pattern_create_for_surface (shadow_cache->surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       status = _cairo_surface_mask (target, op, color_pattern,
+                                     shadow_pattern, clip);
+       cairo_list_move (&shadow_cache->link, shadow_cache_list.caches);
+       goto FINISH;
+    }
+
+    ((cairo_pattern_t *)source)->shadow.type = CAIRO_SHADOW_NONE;
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = FALSE;
+
+    color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                              shadow_copy.color.green,
+                                              shadow_copy.color.blue,
+                                              shadow_copy.color.alpha);
+
+    x_blur = ceil (shadow_copy.x_blur);
+    y_blur = ceil (shadow_copy.y_blur);
+
+    status = _cairo_surface_fill_get_offset_extents (target,
+                                                    FALSE,
+                                                    x_offset, y_offset,
+                                                    source,
+                                                    path,
+                                                    fill_rule,
+                                                    clip,
+                                                    &shadow_source.base,
+                                                    &shadow_path,
+                                                    &shadow_extents);
+    if (unlikely (status))
+       goto FINISH;
+
+    if (shadow_extents.width == 0 && shadow_extents.height == 0)
+       goto FINISH;
+
+    x_offset = shadow_extents.x - x_blur;
+    y_offset = shadow_extents.y - y_blur;
+
+    shadow_width = ceil (shadow_extents.width + x_blur * 2);
+    shadow_height = ceil (shadow_extents.height + y_blur * 2);
+
+    shadow_surface = _cairo_ensure_shadow_surface (target,
+                                                  &shadow_surface_extents,
+                                                  x_blur, y_blur,
+                                                  shadow_width, shadow_height);
+    if (! shadow_surface || unlikely (shadow_surface->status))
+       goto FINISH;
+
+    if ((shadow_cache_list.locked || device) &&
+       shadow->enable_cache && has_blur) {
+       content = cairo_surface_get_content (target);
+       if (content == CAIRO_CONTENT_COLOR)
+           content = CAIRO_CONTENT_COLOR_ALPHA;
+
+       cache_surface = cairo_surface_create_similar (target, content,
+                                                     shadow_surface_extents.width,
+                                                     shadow_surface_extents.height);
+       if (unlikely (cache_surface->status))
+           goto FINISH;
+
+       if (device)
+           _cairo_surface_release_device_reference (cache_surface);
+    }
+
+    scale = _calculate_shadow_extents_scale (&shadow_surface_extents,
+                                             shadow_width,
+                                             shadow_height);
+    cairo_matrix_init_scale (&m, scale, scale);
+    cairo_matrix_translate (&m, -x_offset, -y_offset);
+
+    /* paint with offset and scale */
+    _cairo_color_init_rgba (&bg_color, 0, 0, 0, 0);
+    status = _cairo_surface_scale_translate_fill (shadow_surface,
+                                                 &bg_color,
+                                                 &m,
+                                                 CAIRO_OPERATOR_OVER,
+                                                 &shadow_source.base,
+                                                 &shadow_path,
+                                                 fill_rule,
+                                                 tolerance,
+                                                 antialias,
+                                                 NULL);
+
+    if (unlikely (status))
+       goto FINISH;
+
+    shadow_pattern = cairo_pattern_create_for_surface (shadow_surface);
+    cairo_pattern_set_filter (shadow_pattern, CAIRO_FILTER_GAUSSIAN);
+    cairo_pattern_set_sigma (shadow_pattern,
+                            shadow_copy.x_blur * scale * 0.5,
+                            shadow_copy.y_blur * scale * 0.5);
+
+    status = _cairo_pattern_create_gaussian_matrix (shadow_pattern, 1024);
+    if (unlikely (status))
+       goto FINISH;
+
+    if ((shadow_cache_list.locked || device) &&
+       shadow->enable_cache && has_blur) {
+       status = _cairo_surface_mask (cache_surface, CAIRO_OPERATOR_OVER,
+                                     color_pattern, shadow_pattern, NULL);
+       if (unlikely (status))
+           goto FINISH;
+
+       cairo_pattern_destroy (shadow_pattern);
+
+       size = shadow_surface_extents.width * shadow_surface_extents.height;
+        _cairo_shadow_cache_list_shrink_to_accomodate (&shadow_cache_list,
+                                                       size);
+
+       shadow_cache = malloc (sizeof (cairo_shadow_cache_t));
+        _cairo_shadow_cache_init (shadow_cache,
+                                  cache_surface,
+                                  size,
+                                  hash,
+                                  x_blur,
+                                  y_blur,
+                                 scale);
+
+       cairo_list_add (&shadow_cache->link, shadow_cache_list.caches);
+       *shadow_cache_list.size += size;
+
+       shadow_pattern = cairo_pattern_create_for_surface (cache_surface);
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+       cairo_pattern_destroy (color_pattern);
+       color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                                  shadow_copy.color.green,
+                                                  shadow_copy.color.blue,
+                                                  1.0);
+    }
+    else
+       cairo_pattern_set_matrix (shadow_pattern, &m);
+
+    status = _cairo_surface_mask (target, op,
+                                 color_pattern, shadow_pattern, clip);
+
+FINISH:
+    _cairo_path_fixed_fini (&shadow_path);
+    cairo_pattern_destroy (color_pattern);
+
+    if (shadow_pattern)
+       cairo_pattern_destroy (shadow_pattern);
+
+    cairo_surface_destroy (cache_surface);
+
+    cairo_surface_destroy (shadow_surface);
+
+    if (shadow_cache_list.locked)
+       target->backend->shadow_cache_release (target);
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = draw_shadow_only;
+    ((cairo_pattern_t *)source)->shadow.type = shadow_type;
+
+    return status;
+}
+
+static cairo_status_t
+_cairo_surface_inset_shadow_glyphs (cairo_surface_t            *target,
+                                   cairo_operator_t            op,
+                                   const cairo_pattern_t       *source,
+                                   cairo_scaled_font_t         *scaled_font,
+                                   cairo_glyph_t               *glyphs,
+                                   int                         num_glyphs,
+                                   const cairo_clip_t          *clip,
+                                   const cairo_shadow_t        *shadow)
+{
+    cairo_status_t       status;
+    cairo_pattern_union_t shadow_source;
+    cairo_rectangle_t     shadow_extents;
+    cairo_pattern_t     *shadow_pattern = NULL;
+    cairo_pattern_t     *color_pattern = NULL;
+    cairo_surface_t     *shadow_surface = NULL;
+    cairo_surface_t      *mask_surface = NULL;
+    cairo_rectangle_int_t shadow_surface_extents;
+    cairo_glyph_t        *shadow_glyphs;
+    cairo_content_t       content;
+    cairo_color_t         bg_color;
+
+    int                          shadow_width, shadow_height;
+    int                          x_blur, y_blur;
+    cairo_shadow_t       shadow_copy = *shadow;
+
+    cairo_matrix_t       m;
+    double               x_offset = shadow->x_offset;
+    double               y_offset = shadow->y_offset;
+    cairo_bool_t         draw_shadow_only = source->shadow.draw_shadow_only;
+    cairo_shadow_type_t   shadow_type = source->shadow.type;
+
+    if (shadow->color.alpha == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    ((cairo_pattern_t *)source)->shadow.type = CAIRO_SHADOW_NONE;
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = FALSE;
+
+    x_blur = ceil (shadow_copy.x_blur);
+    y_blur = ceil (shadow_copy.y_blur);
+
+    shadow_glyphs = (cairo_glyph_t *)_cairo_malloc_ab (num_glyphs,
+                                                      sizeof (cairo_glyph_t));
+    if (shadow_glyphs == NULL) {
+       status = CAIRO_STATUS_NO_MEMORY;
+       goto FINISH;
+    }
+
+    status = _cairo_surface_glyphs_get_offset_extents (target,
+                                                      TRUE,
+                                                      0, 0,
+                                                      source,
+                                                      scaled_font,
+                                                      glyphs,
+                                                      num_glyphs,
+                                                      clip,
+                                                      &shadow_source.base,
+                                                      shadow_glyphs,
+                                                      &shadow_extents);
+    if (unlikely (status))
+       goto FINISH;
+
+    if (shadow_extents.width == 0 && shadow_extents.height == 0)
+       goto FINISH;
+
+    x_offset = shadow_extents.x - x_blur;
+    y_offset = shadow_extents.y - y_blur;
+
+    shadow_width = ceil (shadow_extents.width + x_blur * 2 + fabs (shadow->x_offset));
+    shadow_height = ceil (shadow_extents.height + y_blur * 2 + fabs (shadow->y_offset));
+
+    if (target->backend->get_glyph_shadow_surface) {
+       shadow_surface = target->backend->get_glyph_shadow_surface (target,
+                                                                   shadow_width,
+                                                                   shadow_height,
+                                                                   FALSE);
+    }
+    else {
+       content = cairo_surface_get_content (target);
+       if (content == CAIRO_CONTENT_COLOR)
+           content = CAIRO_CONTENT_COLOR_ALPHA;
+       shadow_surface = cairo_surface_create_similar (target,
+                                                      content,
+                                                      shadow_width,
+                                                      shadow_height);
+       _cairo_surface_release_device_reference (shadow_surface);
+    }
+    if (! shadow_surface || unlikely (shadow_surface->status))
+       goto FINISH;
+
+    if(! _cairo_surface_get_extents (shadow_surface, &shadow_surface_extents))
+       goto FINISH;
+
+    if (target->backend->get_glyph_shadow_mask_surface) {
+       mask_surface = target->backend->get_glyph_shadow_mask_surface (shadow_surface,
+                                                                      shadow_surface_extents.width,
+                                                                      shadow_surface_extents.height,
+                                                                      0);
+    }
+    else {
+       mask_surface = cairo_surface_create_similar (shadow_surface,
+                                                    CAIRO_CONTENT_COLOR_ALPHA,
+                                                    shadow_surface_extents.width,
+                                                    shadow_surface_extents.height);
+       _cairo_surface_release_device_reference (mask_surface);
+    }
+    if (! mask_surface || unlikely (mask_surface->status))
+       goto FINISH;
+
+    cairo_matrix_init_translate (&m, -x_offset, -y_offset);
+
+    /* paint with offset and scale */
+    _cairo_color_init_rgba (&bg_color, 0, 0, 0, 0);
+    color_pattern = cairo_pattern_create_rgba (1, 1, 1, 1);
+
+    status = _cairo_surface_translate_glyphs (mask_surface,
+                                             &bg_color,
+                                             &m,
+                                             CAIRO_OPERATOR_OVER,
+                                             color_pattern,
+                                             scaled_font,
+                                             shadow_glyphs,
+                                             num_glyphs,
+                                             NULL);
+
+    if (unlikely (status))
+       goto FINISH;
+
+    /* with fast path, we paint shadow color and source directly to
+     * shadow_surface, and then blur to target */
+    cairo_pattern_destroy (color_pattern);
+    color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                              shadow_copy.color.green,
+                                              shadow_copy.color.blue,
+                                              shadow_copy.color.alpha);
+
+    status = _cairo_surface_paint (shadow_surface,
+                                  CAIRO_OPERATOR_SOURCE,
+                                  color_pattern, NULL);
+    if (unlikely (status))
+       goto FINISH;
+
+    shadow_pattern = cairo_pattern_create_for_surface (mask_surface);
+    cairo_pattern_destroy (color_pattern);
+    color_pattern = cairo_pattern_create_rgba (0, 0, 0, 0);
+
+    status = _cairo_surface_mask (shadow_surface, CAIRO_OPERATOR_SOURCE,
+                                 color_pattern, shadow_pattern,
+                                 NULL);
+    if (unlikely (status))
+       goto FINISH;
+
+    cairo_pattern_destroy (shadow_pattern);
+    shadow_pattern = cairo_pattern_create_for_surface (shadow_surface);
+    cairo_pattern_set_filter (shadow_pattern, CAIRO_FILTER_GAUSSIAN);
+    cairo_pattern_set_sigma (shadow_pattern,
+                            shadow_copy.x_blur * 0.5,
+                            shadow_copy.y_blur * 0.5);
+    status = _cairo_pattern_create_gaussian_matrix (shadow_pattern, 1024);
+    if (unlikely (status))
+       goto FINISH;
+
+    cairo_pattern_destroy (color_pattern);
+    color_pattern = cairo_pattern_create_for_surface (mask_surface);
+    cairo_pattern_set_matrix (color_pattern, &m);
+
+    cairo_matrix_translate (&m, -shadow->x_offset,
+                           -shadow->y_offset);
+    cairo_pattern_set_matrix (shadow_pattern, &m);
+
+    status = _cairo_surface_mask (target, op, shadow_pattern,
+                                 color_pattern, clip);
+FINISH:
+    cairo_pattern_destroy (color_pattern);
+
+    if (shadow_pattern)
+       cairo_pattern_destroy (shadow_pattern);
+
+    free (shadow_glyphs);
+
+    cairo_surface_destroy (shadow_surface);
+    cairo_surface_destroy (mask_surface);
+
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = draw_shadow_only;
+    ((cairo_pattern_t *)source)->shadow.type = shadow_type;
+    return status;
+}
+
+cairo_status_t
+_cairo_surface_shadow_glyphs (cairo_surface_t          *target,
+                             cairo_operator_t           op,
+                             const cairo_pattern_t     *source,
+                             cairo_scaled_font_t       *scaled_font,
+                             cairo_glyph_t             *glyphs,
+                             int                        num_glyphs,
+                             const cairo_clip_t        *clip,
+                             const cairo_shadow_t      *shadow)
+{
+    cairo_status_t       status;
+    cairo_pattern_union_t shadow_source;
+    cairo_rectangle_t     shadow_extents;
+    cairo_pattern_t     *shadow_pattern = NULL;
+    cairo_pattern_t     *color_pattern;
+    cairo_surface_t     *shadow_surface = NULL;
+    cairo_rectangle_int_t shadow_surface_extents;
+
+    cairo_glyph_t        *shadow_glyphs;
+    cairo_content_t       content;
+    cairo_color_t         bg_color;
+    int                   shadow_width, shadow_height;
+    int                   x_blur, y_blur;
+    cairo_shadow_t        shadow_copy = *shadow;
+
+    cairo_matrix_t       m;
+    double               x_offset = shadow->x_offset;
+    double               y_offset = shadow->y_offset;
+    cairo_bool_t         draw_shadow_only = source->shadow.draw_shadow_only;
+    cairo_shadow_type_t   shadow_type = source->shadow.type;
+
+    if (shadow->type == CAIRO_SHADOW_NONE)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->color.alpha == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->x_blur <= 0.0 && shadow->y_blur <= 0.0 &&
+       shadow->x_offset == 0.0 && shadow->y_offset == 0.0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (_cairo_clip_is_all_clipped (clip))
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shadow->type == CAIRO_SHADOW_INSET)
+       return _cairo_surface_inset_shadow_glyphs (target, op, source,
+                                                  scaled_font, glyphs,
+                                                  num_glyphs, clip,
+                                                  shadow);
+    shadow_glyphs = (cairo_glyph_t *)_cairo_malloc_ab (num_glyphs,
+                                                      sizeof (cairo_glyph_t));
+    if (shadow_glyphs == NULL)
+       return CAIRO_STATUS_NO_MEMORY;
+
+    ((cairo_pattern_t *)source)->shadow.type = CAIRO_SHADOW_NONE;
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = FALSE;
+
+    x_blur = ceil (shadow_copy.x_blur);
+    y_blur = ceil (shadow_copy.y_blur);
+
+    color_pattern = cairo_pattern_create_rgba (shadow_copy.color.red,
+                                              shadow_copy.color.green,
+                                              shadow_copy.color.blue,
+                                              shadow_copy.color.alpha);
+
+    status = _cairo_surface_glyphs_get_offset_extents (target,
+                                                      FALSE,
+                                                      x_offset, y_offset,
+                                                      source,
+                                                      scaled_font,
+                                                      glyphs,
+                                                      num_glyphs,
+                                                      clip,
+                                                      &shadow_source.base,
+                                                      shadow_glyphs,
+                                                      &shadow_extents);
+    if (unlikely (status))
+       goto FINISH;
+
+    if (shadow_extents.width == 0 && shadow_extents.height == 0)
+       goto FINISH;
+
+    x_offset = shadow_extents.x - x_blur;
+    y_offset = shadow_extents.y - y_blur;
+
+    shadow_width = ceil (shadow_extents.width + x_blur * 2);
+    shadow_height = ceil (shadow_extents.height + y_blur * 2);
+
+    if (target->backend->get_glyph_shadow_surface)
+       shadow_surface = target->backend->get_glyph_shadow_surface (target,
+                                                                   shadow_width,
+                                                                   shadow_height,
+                                                                   FALSE);
+    else {
+       content = cairo_surface_get_content (target);
+       if (content == CAIRO_CONTENT_COLOR)
+           content = CAIRO_CONTENT_COLOR_ALPHA;
+       shadow_surface = cairo_surface_create_similar (target,
+                                                      content,
+                                                      shadow_width,
+                                                      shadow_height);
+       _cairo_surface_release_device_reference (shadow_surface);
+    }
+    if (! shadow_surface || unlikely (shadow_surface->status))
+       goto FINISH;
+
+    if(! _cairo_surface_get_extents (shadow_surface, &shadow_surface_extents))
+       goto FINISH;
+
+    cairo_matrix_init_translate (&m, -x_offset, -y_offset);
+
+    /* paint with offset and scale */
+    _cairo_color_init_rgba (&bg_color, 0, 0, 0, 0);
+    status = _cairo_surface_translate_glyphs (shadow_surface,
+                                             &bg_color,
+                                             &m,
+                                             CAIRO_OPERATOR_OVER,
+                                             &shadow_source.base,
+                                             scaled_font,
+                                             shadow_glyphs,
+                                             num_glyphs,
+                                             NULL);
+
+    if (unlikely (status))
+       goto FINISH;
+
+    shadow_pattern = cairo_pattern_create_for_surface (shadow_surface);
+    cairo_pattern_set_filter (shadow_pattern, CAIRO_FILTER_GAUSSIAN);
+    cairo_pattern_set_sigma (shadow_pattern,
+                            shadow_copy.x_blur * 0.5,
+                            shadow_copy.y_blur * 0.5);
+
+    status = _cairo_pattern_create_gaussian_matrix (shadow_pattern, 1024);
+    if (unlikely (status))
+       goto FINISH;
+
+    cairo_pattern_set_matrix (shadow_pattern, &m);
+
+    status = _cairo_surface_mask (target, op, color_pattern,
+                                 shadow_pattern, NULL);
+
+FINISH:
+    cairo_pattern_destroy (color_pattern);
+
+    if (shadow_pattern)
+       cairo_pattern_destroy (shadow_pattern);
+
+    free (shadow_glyphs);
+
+    cairo_surface_destroy (shadow_surface);
+
+    ((cairo_pattern_t *)source)->shadow.draw_shadow_only = draw_shadow_only;
+    ((cairo_pattern_t *)source)->shadow.type = shadow_type;
+    return status;
+}
index 9471e47..68bf905 100644 (file)
@@ -64,15 +64,14 @@ _cairo_surface_snapshot_finish (void *abstract_surface)
 }
 
 static cairo_status_t
-_cairo_surface_snapshot_flush (void *abstract_surface)
+_cairo_surface_snapshot_flush (void *abstract_surface, unsigned flags)
 {
     cairo_surface_snapshot_t *surface = abstract_surface;
     cairo_surface_t *target;
     cairo_status_t status;
 
     target = _cairo_surface_snapshot_get_target (&surface->base);
-    cairo_surface_flush (target);
-    status = target->status;
+    status = _cairo_surface_flush (target, flags);
     cairo_surface_destroy (target);
 
     return status;
index 2bae01d..0b4915e 100644 (file)
@@ -84,23 +84,19 @@ _cairo_surface_subsurface_create_similar_image (void *other,
                                                           width, height);
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_surface_subsurface_map_to_image (void *abstract_surface,
                                        const cairo_rectangle_int_t *extents)
 {
     cairo_surface_subsurface_t *surface = abstract_surface;
     cairo_rectangle_int_t target_extents;
 
-    if (surface->target->backend->map_to_image == NULL)
-       return NULL;
-
     target_extents.x = extents->x + surface->extents.x;
     target_extents.y = extents->y + surface->extents.y;
     target_extents.width  = extents->width;
     target_extents.height = extents->height;
 
-    return surface->target->backend->map_to_image (surface->target,
-                                                  &target_extents);
+    return _cairo_surface_map_to_image (surface->target, &target_extents);
 }
 
 static cairo_int_status_t
@@ -108,11 +104,7 @@ _cairo_surface_subsurface_unmap_image (void *abstract_surface,
                                       cairo_image_surface_t *image)
 {
     cairo_surface_subsurface_t *surface = abstract_surface;
-
-    if (surface->target->backend->unmap_image == NULL)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    return surface->target->backend->unmap_image (surface->target, image);
+    return _cairo_surface_unmap_image (surface->target, image);
 }
 
 static cairo_int_status_t
@@ -230,12 +222,10 @@ _cairo_surface_subsurface_glyphs (void                    *abstract_surface,
 }
 
 static cairo_status_t
-_cairo_surface_subsurface_flush (void *abstract_surface)
+_cairo_surface_subsurface_flush (void *abstract_surface, unsigned flags)
 {
     cairo_surface_subsurface_t *surface = abstract_surface;
-
-    cairo_surface_flush (surface->target);
-    return surface->target->status;
+    return _cairo_surface_flush (surface->target, flags);
 }
 
 static cairo_status_t
@@ -321,8 +311,11 @@ _cairo_surface_subsurface_acquire_source_image (void                    *abstrac
     image = _cairo_image_surface_create_with_content (surface->base.content,
                                                      surface->extents.width,
                                                      surface->extents.height);
-    if (unlikely (image->status))
-       return image->status;
+    if (unlikely (image->status)) {
+       status = image->status;
+       cairo_surface_destroy (image);
+       return status;
+    }
 
     _cairo_pattern_init_for_surface (&pattern, surface->target);
     cairo_matrix_init_translate (&pattern.base.matrix,
old mode 100644 (file)
new mode 100755 (executable)
index 35ac391..5c6969c
@@ -48,6 +48,7 @@
 #include "cairo-image-surface-inline.h"
 #include "cairo-recording-surface-private.h"
 #include "cairo-region-private.h"
+#include "cairo-surface-inline.h"
 #include "cairo-tee-surface-private.h"
 
 /**
@@ -219,7 +220,6 @@ cairo_surface_get_type (cairo_surface_t *surface)
      * surface. */
     return surface->type;
 }
-slim_hidden_def (cairo_surface_get_type);
 
 /**
  * cairo_surface_get_content:
@@ -238,7 +238,6 @@ cairo_surface_get_content (cairo_surface_t *surface)
 {
     return surface->content;
 }
-slim_hidden_def(cairo_surface_get_content);
 
 /**
  * cairo_surface_status:
@@ -388,17 +387,13 @@ _cairo_surface_has_snapshot (cairo_surface_t *surface,
     return NULL;
 }
 
-void
+cairo_status_t
 _cairo_surface_begin_modification (cairo_surface_t *surface)
 {
     assert (surface->status == CAIRO_STATUS_SUCCESS);
     assert (! surface->finished);
 
-    _cairo_surface_detach_snapshots (surface);
-    if (surface->snapshot_of != NULL)
-       _cairo_surface_detach_snapshot (surface);
-
-    _cairo_surface_detach_mime_data (surface);
+    return _cairo_surface_flush (surface, 1);
 }
 
 void
@@ -418,6 +413,7 @@ _cairo_surface_init (cairo_surface_t                        *surface,
     surface->status = CAIRO_STATUS_SUCCESS;
     surface->unique_id = _cairo_surface_allocate_unique_id ();
     surface->finished = FALSE;
+    surface->_finishing = FALSE;
     surface->is_clear = FALSE;
     surface->serial = 0;
     surface->damage = NULL;
@@ -599,6 +595,135 @@ cairo_surface_create_similar_image (cairo_surface_t  *other,
 slim_hidden_def (cairo_surface_create_similar_image);
 
 /**
+ * _cairo_surface_map_to_image:
+ * @surface: an existing surface used to extract the image from
+ * @extents: limit the extraction to an rectangular region
+ *
+ * Returns an image surface that is the most efficient mechanism for
+ * modifying the backing store of the target surface. The region
+ * retrieved is limited to @extents.
+ *
+ * Note, the use of the original surface as a target or source whilst
+ * it is mapped is undefined. The result of mapping the surface
+ * multiple times is undefined. Calling cairo_surface_destroy() or
+ * cairo_surface_finish() on the resulting image surface results in
+ * undefined behavior. Changing the device transform of the image
+ * surface or of @surface before the image surface is unmapped results
+ * in undefined behavior.
+ *
+ * Assumes that @surface is valid (CAIRO_STATUS_SUCCESS,
+ * non-finished).
+ *
+ * Return value: a pointer to the newly allocated image surface. The
+ * caller must use _cairo_surface_unmap_image() to destroy this image
+ * surface.
+ *
+ * This function always returns a valid pointer, but it will return a
+ * pointer to a "nil" surface if @other is already in an error state
+ * or any other error occurs.
+ *
+ * The returned image might have a %CAIRO_FORMAT_INVALID format.
+ **/
+cairo_image_surface_t *
+_cairo_surface_map_to_image (cairo_surface_t  *surface,
+                            const cairo_rectangle_int_t *extents)
+{
+    cairo_image_surface_t *image = NULL;
+
+    assert (extents != NULL);
+
+    /* TODO: require map_to_image != NULL */
+    if (surface->backend->map_to_image)
+       image = surface->backend->map_to_image (surface, extents);
+
+    if (image == NULL)
+       image = _cairo_image_surface_clone_subimage (surface, extents);
+
+    return image;
+}
+
+/**
+ * _cairo_surface_unmap_image:
+ * @surface: the surface passed to _cairo_surface_map_to_image().
+ * @image: the currently mapped image
+ *
+ * Unmaps the image surface as returned from
+ * _cairo_surface_map_to_image().
+ *
+ * The content of the image will be uploaded to the target surface.
+ * Afterwards, the image is destroyed.
+ *
+ * Using an image surface which wasn't returned by
+ * _cairo_surface_map_to_image() results in undefined behavior.
+ *
+ * An image surface in error status can be passed to
+ * _cairo_surface_unmap_image().
+ *
+ * Return value: the unmap status.
+ *
+ * Even if the unmap status is not successful, @image is destroyed.
+ **/
+cairo_int_status_t
+_cairo_surface_unmap_image (cairo_surface_t       *surface,
+                           cairo_image_surface_t *image)
+{
+    cairo_surface_pattern_t pattern;
+    cairo_rectangle_int_t extents;
+    cairo_clip_t *clip;
+    cairo_int_status_t status;
+
+    /* map_to_image can return error surfaces */
+    if (unlikely (image->base.status)) {
+       status = image->base.status;
+       goto destroy;
+    }
+
+    /* If the image is untouched just skip the update */
+    if (image->base.serial == 0) {
+       status = CAIRO_STATUS_SUCCESS;
+       goto destroy;
+    }
+
+    /* TODO: require unmap_image != NULL */
+    if (surface->backend->unmap_image &&
+       ! _cairo_image_surface_is_clone (image))
+    {
+       status = surface->backend->unmap_image (surface, image);
+       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
+           return status;
+    }
+
+    _cairo_pattern_init_for_surface (&pattern, &image->base);
+    pattern.base.filter = CAIRO_FILTER_NEAREST;
+
+    /* We have to apply the translate from map_to_image's extents.x and .y */
+    cairo_matrix_init_translate (&pattern.base.matrix,
+                                image->base.device_transform.x0,
+                                image->base.device_transform.y0);
+
+    /* And we also have to clip the operation to the image's extents */
+    extents.x = image->base.device_transform_inverse.x0;
+    extents.y = image->base.device_transform_inverse.y0;
+    extents.width  = image->width;
+    extents.height = image->height;
+    clip = _cairo_clip_intersect_rectangle (NULL, &extents);
+
+    status = _cairo_surface_paint (surface,
+                                  CAIRO_OPERATOR_SOURCE,
+                                  &pattern.base,
+                                  clip);
+
+    _cairo_pattern_fini (&pattern.base);
+    _cairo_clip_destroy (clip);
+
+destroy:
+    cairo_surface_finish (&image->base);
+    cairo_surface_destroy (&image->base);
+
+    return status;
+}
+
+/**
  * cairo_surface_map_to_image:
  * @surface: an existing surface used to extract the image from
  * @extents: limit the extraction to an rectangular region
@@ -607,17 +732,22 @@ slim_hidden_def (cairo_surface_create_similar_image);
  * modifying the backing store of the target surface. The region retrieved
  * may be limited to the @extents or %NULL for the whole surface
  *
- * Note, the use of the original surface as a target or source whilst it is
- * mapped is undefined. The result of mapping the surface multiple times is
- * undefined. Calling cairo_surface_destroy() or cairo_surface_finish() on the
- * resulting image surface results in undefined behavior.
+ * Note, the use of the original surface as a target or source whilst
+ * it is mapped is undefined. The result of mapping the surface
+ * multiple times is undefined. Calling cairo_surface_destroy() or
+ * cairo_surface_finish() on the resulting image surface results in
+ * undefined behavior. Changing the device transform of the image
+ * surface or of @surface before the image surface is unmapped results
+ * in undefined behavior.
  *
  * Return value: a pointer to the newly allocated image surface. The caller
  * must use cairo_surface_unmap_image() to destroy this image surface.
  *
  * This function always returns a valid pointer, but it will return a
  * pointer to a "nil" surface if @other is already in an error state
- * or any other error occurs.
+ * or any other error occurs. If the returned pointer does not have an
+ * error status, it is guaranteed to be an image surface whose format
+ * is not %CAIRO_FORMAT_INVALID.
  *
  * Since: 1.12
  **/
@@ -626,7 +756,8 @@ cairo_surface_map_to_image (cairo_surface_t  *surface,
                            const cairo_rectangle_int_t *extents)
 {
     cairo_rectangle_int_t rect;
-    cairo_surface_t *image;
+    cairo_image_surface_t *image;
+    cairo_status_t status;
 
     if (unlikely (surface->status))
        return _cairo_surface_create_in_error (surface->status);
@@ -649,39 +780,21 @@ cairo_surface_map_to_image (cairo_surface_t  *surface,
        }
     }
 
-    image = NULL;
-    if (surface->backend->map_to_image)
-       image = surface->backend->map_to_image (surface, extents);
-
-    if (image == NULL) {
-       cairo_surface_pattern_t pattern;
-       cairo_status_t status;
+    image = _cairo_surface_map_to_image (surface, extents);
 
-       image = cairo_surface_create_similar_image (surface,
-                                                   _cairo_format_from_content (surface->content),
-                                                   extents->width,
-                                                   extents->height);
-       cairo_surface_set_device_offset (image, -extents->x, -extents->y);
-
-       _cairo_pattern_init_for_surface (&pattern, surface);
-       pattern.base.filter = CAIRO_FILTER_NEAREST;
-
-       status = _cairo_surface_paint (image,
-                                      CAIRO_OPERATOR_SOURCE,
-                                      &pattern.base,
-                                      NULL);
-
-       _cairo_pattern_fini (&pattern.base);
+    status = image->base.status;
+    if (unlikely (status)) {
+       cairo_surface_destroy (&image->base);
+       return _cairo_surface_create_in_error (status);
+    }
 
-       if (unlikely (status)) {
-           cairo_surface_destroy (image);
-           image = _cairo_surface_create_in_error (status);
-       }
+    if (image->format == CAIRO_FORMAT_INVALID) {
+       cairo_surface_destroy (&image->base);
+       image = _cairo_image_surface_clone_subimage (surface, extents);
     }
 
-    return image;
+    return &image->base;
 }
-slim_hidden_def (cairo_surface_map_to_image);
 
 /**
  * cairo_surface_unmap_image:
@@ -702,7 +815,7 @@ void
 cairo_surface_unmap_image (cairo_surface_t *surface,
                           cairo_surface_t *image)
 {
-    cairo_int_status_t status;
+    cairo_int_status_t status = CAIRO_STATUS_SUCCESS;
 
     if (unlikely (surface->status)) {
        status = surface->status;
@@ -712,7 +825,6 @@ cairo_surface_unmap_image (cairo_surface_t *surface,
        status = _cairo_error (CAIRO_STATUS_SURFACE_FINISHED);
        goto error;
     }
-
     if (unlikely (image->status)) {
        status = image->status;
        goto error;
@@ -726,52 +838,18 @@ cairo_surface_unmap_image (cairo_surface_t *surface,
        goto error;
     }
 
-    /* If the image is untouched just skip the update */
-    if (image->serial == 0) {
-       status = CAIRO_STATUS_SUCCESS;
-       goto error;
-    }
-
-    status = CAIRO_INT_STATUS_UNSUPPORTED;
-    if (surface->backend->unmap_image)
-       status = surface->backend->unmap_image (surface, (cairo_image_surface_t *) image);
-    if (status == CAIRO_INT_STATUS_UNSUPPORTED) {
-       cairo_image_surface_t *img = (cairo_image_surface_t *) image;
-       cairo_surface_pattern_t pattern;
-       cairo_clip_t *clip;
-       cairo_rectangle_int_t extents;
-
-       _cairo_pattern_init_for_surface (&pattern, image);
-       pattern.base.filter = CAIRO_FILTER_NEAREST;
-
-       /* We have to apply the translate from map_to_image's extents.x and .y */
-       cairo_matrix_init_translate (&pattern.base.matrix,
-                                    image->device_transform.x0,
-                                    image->device_transform.y0);
-
-       /* And we also have to clip the operation to the image's extents */
-       extents.x = image->device_transform_inverse.x0;
-       extents.y = image->device_transform_inverse.y0;
-       extents.width  = img->width;
-       extents.height = img->height;
-       clip = _cairo_clip_intersect_rectangle (NULL, &extents);
-
-       status = _cairo_surface_paint (surface,
-                                      CAIRO_OPERATOR_SOURCE,
-                                      &pattern.base,
-                                      clip);
+    status = _cairo_surface_unmap_image (surface,
+                                        (cairo_image_surface_t *) image);
+    if (unlikely (status))
+       _cairo_surface_set_error (surface, status);
 
-       _cairo_pattern_fini (&pattern.base);
-       _cairo_clip_destroy (clip);
-    }
+    return;
 
 error:
+    _cairo_surface_set_error (surface, status);
     cairo_surface_finish (image);
     cairo_surface_destroy (image);
-    if (status)
-       _cairo_surface_set_error (surface, status);
 }
-slim_hidden_def (cairo_surface_unmap_image);
 
 cairo_surface_t *
 _cairo_surface_create_similar_solid (cairo_surface_t    *other,
@@ -865,8 +943,6 @@ cairo_surface_destroy (cairo_surface_t *surface)
            return;
 
        _cairo_surface_finish (surface);
-       /* paranoid check that nobody took a reference whilst finishing */
-       assert (! CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&surface->ref_count));
     }
 
     if (surface->damage)
@@ -879,7 +955,9 @@ cairo_surface_destroy (cairo_surface_t *surface)
         cairo_device_destroy (surface->device);
 
     assert (surface->snapshot_of == NULL);
-    assert (!_cairo_surface_has_snapshots (surface));
+    assert (! _cairo_surface_has_snapshots (surface));
+    /* paranoid check that nobody took a reference whilst finishing */
+    assert (! CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&surface->ref_count));
 
     free (surface);
 }
@@ -909,14 +987,12 @@ cairo_surface_get_reference_count (cairo_surface_t *surface)
 static void
 _cairo_surface_finish_snapshots (cairo_surface_t *surface)
 {
-    cairo_surface_flush (surface);
+    cairo_status_t status;
 
     /* update the snapshots *before* we declare the surface as finished */
     surface->_finishing = TRUE;
-
-    _cairo_surface_detach_snapshots (surface);
-    if (surface->snapshot_of != NULL)
-       _cairo_surface_detach_snapshot (surface);
+    status = _cairo_surface_flush (surface, 0);
+    (void) status;
 }
 
 static void
@@ -1020,6 +1096,10 @@ void *
 cairo_surface_get_user_data (cairo_surface_t            *surface,
                             const cairo_user_data_key_t *key)
 {
+    /* Prevent reads of the array during teardown */
+    if (! CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&surface->ref_count))
+       return NULL;
+
     return _cairo_user_data_array_get_data (&surface->user_data, key);
 }
 
@@ -1050,6 +1130,9 @@ cairo_surface_set_user_data (cairo_surface_t               *surface,
     if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
        return surface->status;
 
+    if (! CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&surface->ref_count))
+       return _cairo_error (CAIRO_STATUS_SURFACE_FINISHED);
+
     return _cairo_user_data_array_set_data (&surface->user_data,
                                            key, user_data, destroy);
 }
@@ -1078,7 +1161,9 @@ cairo_surface_get_mime_data (cairo_surface_t              *surface,
 
     *data = NULL;
     *length = 0;
-    if (unlikely (surface->status))
+
+    /* Prevent reads of the array during teardown */
+    if (! CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&surface->ref_count))
        return;
 
     /* The number of mime-types attached to a surface is usually small,
@@ -1176,7 +1261,8 @@ _cairo_mime_data_destroy (void *ptr)
  * memory and disk space.
  *
  * The recognized MIME types are the following: %CAIRO_MIME_TYPE_JPEG,
- * %CAIRO_MIME_TYPE_PNG, %CAIRO_MIME_TYPE_JP2, %CAIRO_MIME_TYPE_URI.
+ * %CAIRO_MIME_TYPE_PNG, %CAIRO_MIME_TYPE_JP2, %CAIRO_MIME_TYPE_URI,
+ * %CAIRO_MIME_TYPE_UNIQUE_ID.
  *
  * See corresponding backend surface docs for details about which MIME
  * types it can handle. Caution: the associated MIME data will be
@@ -1199,6 +1285,12 @@ cairo_surface_set_mime_data (cairo_surface_t             *surface,
     cairo_status_t status;
     cairo_mime_data_t *mime_data;
 
+    if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
+       return surface->status;
+
+    if (! CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&surface->ref_count))
+       return _cairo_error (CAIRO_STATUS_SURFACE_FINISHED);
+
     if (unlikely (surface->status))
        return surface->status;
     if (unlikely (surface->finished))
@@ -1379,6 +1471,18 @@ cairo_surface_get_font_options (cairo_surface_t       *surface,
 }
 slim_hidden_def (cairo_surface_get_font_options);
 
+cairo_status_t
+_cairo_surface_flush (cairo_surface_t *surface, unsigned flags)
+{
+    /* update the current snapshots *before* the user updates the surface */
+    _cairo_surface_detach_snapshots (surface);
+    if (surface->snapshot_of != NULL)
+       _cairo_surface_detach_snapshot (surface);
+    _cairo_surface_detach_mime_data (surface);
+
+    return __cairo_surface_flush (surface, flags);
+}
+
 /**
  * cairo_surface_flush:
  * @surface: a #cairo_surface_t
@@ -1403,15 +1507,9 @@ cairo_surface_flush (cairo_surface_t *surface)
     if (surface->finished)
        return;
 
-    /* update the current snapshots *before* the user updates the surface */
-    _cairo_surface_detach_snapshots (surface);
-    _cairo_surface_detach_mime_data (surface);
-
-    if (surface->backend->flush) {
-       status = surface->backend->flush (surface);
-       if (unlikely (status))
-           _cairo_surface_set_error (surface, status);
-    }
+    status = _cairo_surface_flush (surface, 0);
+    if (unlikely (status))
+       _cairo_surface_set_error (surface, status);
 }
 slim_hidden_def (cairo_surface_flush);
 
@@ -1428,7 +1526,19 @@ slim_hidden_def (cairo_surface_flush);
 void
 cairo_surface_mark_dirty (cairo_surface_t *surface)
 {
-    cairo_surface_mark_dirty_rectangle (surface, 0, 0, -1, -1);
+    cairo_rectangle_int_t extents;
+
+    if (unlikely (surface->status))
+       return;
+    if (unlikely (surface->finished)) {
+       _cairo_surface_set_error (surface, _cairo_error (CAIRO_STATUS_SURFACE_FINISHED));
+       return;
+    }
+
+    _cairo_surface_get_extents (surface, &extents);
+    cairo_surface_mark_dirty_rectangle (surface,
+                                       extents.x, extents.y,
+                                       extents.width, extents.height);
 }
 slim_hidden_def (cairo_surface_mark_dirty);
 
@@ -1540,7 +1650,11 @@ _cairo_surface_set_device_scale (cairo_surface_t *surface,
        return;
     }
 
-    _cairo_surface_begin_modification (surface);
+    status = _cairo_surface_begin_modification (surface);
+    if (unlikely (status)) {
+       _cairo_surface_set_error (surface, status);
+       return;
+    }
 
     surface->device_transform.xx = sx;
     surface->device_transform.yy = sy;
@@ -1592,7 +1706,11 @@ cairo_surface_set_device_offset (cairo_surface_t *surface,
        return;
     }
 
-    _cairo_surface_begin_modification (surface);
+    status = _cairo_surface_begin_modification (surface);
+    if (unlikely (status)) {
+       _cairo_surface_set_error (surface, status);
+       return;
+    }
 
     surface->device_transform.x0 = x_offset;
     surface->device_transform.y0 = y_offset;
@@ -1667,6 +1785,8 @@ cairo_surface_set_fallback_resolution (cairo_surface_t    *surface,
                                       double            x_pixels_per_inch,
                                       double            y_pixels_per_inch)
 {
+    cairo_status_t status;
+
     if (unlikely (surface->status))
        return;
 
@@ -1685,7 +1805,11 @@ cairo_surface_set_fallback_resolution (cairo_surface_t   *surface,
        return;
     }
 
-    _cairo_surface_begin_modification (surface);
+    status = _cairo_surface_begin_modification (surface);
+    if (unlikely (status)) {
+       _cairo_surface_set_error (surface, status);
+       return;
+    }
 
     surface->x_fallback_resolution = x_pixels_per_inch;
     surface->y_fallback_resolution = y_pixels_per_inch;
@@ -1764,12 +1888,17 @@ _cairo_surface_acquire_source_image (cairo_surface_t         *surface,
 }
 
 cairo_status_t
-_cairo_surface_default_acquire_source_image (void                    *surface,
+_cairo_surface_default_acquire_source_image (void                    *_surface,
                                             cairo_image_surface_t  **image_out,
                                             void                   **image_extra)
 {
-    *image_out = (cairo_image_surface_t *)
-       cairo_surface_map_to_image (surface, NULL);
+    cairo_surface_t *surface = _surface;
+    cairo_rectangle_int_t extents;
+
+    if (unlikely (! surface->backend->get_extents (surface, &extents)))
+       return _cairo_error (CAIRO_STATUS_INVALID_SIZE);
+
+    *image_out = _cairo_surface_map_to_image (surface, &extents);
     *image_extra = NULL;
     return (*image_out)->base.status;
 }
@@ -1797,7 +1926,10 @@ _cairo_surface_default_release_source_image (void                   *surface,
                                             cairo_image_surface_t  *image,
                                             void                   *image_extra)
 {
-    cairo_surface_unmap_image (surface, &image->base);
+    cairo_status_t ignored;
+
+    ignored = _cairo_surface_unmap_image (surface, image);
+    (void)ignored;
 }
 
 
@@ -1883,7 +2015,9 @@ _cairo_surface_paint (cairo_surface_t             *surface,
     if (nothing_to_do (surface, op, source))
        return CAIRO_STATUS_SUCCESS;
 
-    _cairo_surface_begin_modification (surface);
+    status = _cairo_surface_begin_modification (surface);
+    if (unlikely (status))
+       return status;
 
     status = surface->backend->paint (surface, op, source, clip);
     if (status != CAIRO_INT_STATUS_NOTHING_TO_DO) {
@@ -1928,7 +2062,9 @@ _cairo_surface_mask (cairo_surface_t              *surface,
     if (nothing_to_do (surface, op, source))
        return CAIRO_STATUS_SUCCESS;
 
-    _cairo_surface_begin_modification (surface);
+    status = _cairo_surface_begin_modification (surface);
+    if (unlikely (status))
+       return status;
 
     status = surface->backend->mask (surface, op, source, mask, clip);
     if (status != CAIRO_INT_STATUS_NOTHING_TO_DO) {
@@ -1980,7 +2116,9 @@ _cairo_surface_fill_stroke (cairo_surface_t           *surface,
     if (unlikely (status))
        return status;
 
-    _cairo_surface_begin_modification (surface);
+    status = _cairo_surface_begin_modification (surface);
+    if (unlikely (status))
+       return status;
 
     if (surface->backend->fill_stroke) {
        cairo_matrix_t dev_ctm = *stroke_ctm;
@@ -2050,7 +2188,9 @@ _cairo_surface_stroke (cairo_surface_t                    *surface,
     if (nothing_to_do (surface, op, source))
        return CAIRO_STATUS_SUCCESS;
 
-    _cairo_surface_begin_modification (surface);
+    status = _cairo_surface_begin_modification (surface);
+    if (unlikely (status))
+       return status;
 
     status = surface->backend->stroke (surface, op, source,
                                       path, stroke_style,
@@ -2091,7 +2231,9 @@ _cairo_surface_fill (cairo_surface_t              *surface,
     if (nothing_to_do (surface, op, source))
        return CAIRO_STATUS_SUCCESS;
 
-    _cairo_surface_begin_modification (surface);
+    status = _cairo_surface_begin_modification (surface);
+    if (unlikely (status))
+       return status;
 
     status = surface->backend->fill (surface, op, source,
                                     path, fill_rule,
@@ -2155,6 +2297,8 @@ slim_hidden_def (cairo_surface_copy_page);
 void
 cairo_surface_show_page (cairo_surface_t *surface)
 {
+    cairo_status_t status;
+
     if (unlikely (surface->status))
        return;
 
@@ -2163,7 +2307,11 @@ cairo_surface_show_page (cairo_surface_t *surface)
        return;
     }
 
-    _cairo_surface_begin_modification (surface);
+    status = _cairo_surface_begin_modification (surface);
+    if (unlikely (status)) {
+       _cairo_surface_set_error (surface, status);
+       return;
+    }
 
     /* It's fine if some backends don't implement show_page */
     if (surface->backend->show_page == NULL)
@@ -2301,7 +2449,9 @@ _cairo_surface_show_text_glyphs (cairo_surface_t      *surface,
     if (nothing_to_do (surface, op, source))
        return CAIRO_STATUS_SUCCESS;
 
-    _cairo_surface_begin_modification (surface);
+    status = _cairo_surface_begin_modification (surface);
+    if (unlikely (status))
+       return status;
 
     if (_cairo_surface_has_device_transform (surface) &&
        ! _cairo_matrix_is_integer_translation (&surface->device_transform, NULL, NULL))
index 824a27d..e2d9949 100644 (file)
@@ -472,7 +472,7 @@ _cairo_svg_surface_create_for_document (cairo_svg_document_t        *document,
                                        double                   height)
 {
     cairo_svg_surface_t *surface;
-    cairo_surface_t *paginated;
+    cairo_surface_t *paginated = NULL;
     cairo_status_t status, status_ignored;
 
     surface = malloc (sizeof (cairo_svg_surface_t));
@@ -534,6 +534,7 @@ CLEANUP:
     status_ignored = _cairo_svg_document_destroy (document);
 
     free (surface);
+    cairo_surface_destroy (paginated);
 
     return _cairo_surface_create_in_error (status);
 }
@@ -801,8 +802,10 @@ _cairo_svg_document_emit_bitmap_glyph_data (cairo_svg_document_t   *document,
     image = _cairo_image_surface_coerce_to_format (scaled_glyph->surface,
                                                   CAIRO_FORMAT_A1);
     status = image->base.status;
-    if (unlikely (status))
+    if (unlikely (status)) {
+        cairo_surface_destroy (&image->base);
        return status;
+    }
 
     _cairo_output_stream_printf (document->xml_node_glyphs, "<g");
     _cairo_svg_surface_emit_transform (document->xml_node_glyphs, " transform",
@@ -1388,7 +1391,7 @@ _cairo_svg_surface_emit_recording_surface (cairo_svg_document_t      *document,
                                           cairo_recording_surface_t *source)
 {
     cairo_status_t status;
-    cairo_surface_t *paginated_surface;
+    cairo_surface_t *paginated_surface = NULL;
     cairo_svg_surface_t *svg_surface;
     cairo_array_t *page_set;
 
@@ -1404,8 +1407,11 @@ _cairo_svg_surface_emit_recording_surface (cairo_svg_document_t      *document,
                                                                source->base.content,
                                                                source->extents_pixels.width,
                                                                source->extents_pixels.height);
-    if (unlikely (paginated_surface->status))
-       return paginated_surface->status;
+    if (unlikely (paginated_surface->status)) {
+       status = paginated_surface->status;
+       cairo_surface_destroy (paginated_surface);
+       return status;
+    }
 
     svg_surface = (cairo_svg_surface_t *)
     _cairo_paginated_surface_get_target (paginated_surface);
@@ -1688,6 +1694,7 @@ _cairo_svg_surface_emit_pattern_stops (cairo_output_stream_t          *output,
        cairo_bool_t found = FALSE;
        unsigned int offset_index;
        cairo_color_stop_t offset_color_start, offset_color_stop;
+       _cairo_color_init_rgba ((cairo_color_t *) &offset_color_start, 0, 0, 0, 0);
 
        for (i = 0; i < n_stops; i++) {
            if (stops[i].offset >= -start_offset) {
@@ -2393,7 +2400,7 @@ _cairo_svg_surface_mask (void                 *abstract_surface,
 
     if (mask->type == CAIRO_PATTERN_TYPE_SURFACE) {
        const cairo_surface_pattern_t *surface_pattern = (const cairo_surface_pattern_t*) mask;
-       cairo_content_t content = cairo_surface_get_content (surface_pattern->surface);
+       cairo_content_t content = surface_pattern->surface->content;
        if (content == CAIRO_CONTENT_ALPHA)
            discard_filter = TRUE;
     }
@@ -2418,8 +2425,8 @@ _cairo_svg_surface_mask (void                 *abstract_surface,
     status = _cairo_svg_surface_emit_paint (mask_stream, surface, CAIRO_OPERATOR_OVER, mask, source, NULL);
     if (unlikely (status)) {
        cairo_status_t ignore = _cairo_output_stream_destroy (mask_stream);
-       return status;
        (void) ignore;
+       return status;
     }
 
     _cairo_output_stream_printf (mask_stream,
diff --git a/src/cairo-system.c b/src/cairo-system.c
deleted file mode 100644 (file)
index 1ff4d07..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* Cairo - a vector graphics library with display and print output
- *
- * Copyright © 2005 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * The Initial Developer of the Original Code is Red Hat, Inc.
- *
- * Contributor(s):
- *     Owen Taylor <otaylor@redhat.com>
- *     Stuart Parmenter <stuart@mozilla.com>
- *     Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-/* This file should include code that is system-specific, not
- * feature-specific.  For example, the DLL initialization/finalization
- * code on Win32 or OS/2 must live here (not in cairo-whatever-surface.c).
- * Same about possible ELF-specific code.
- *
- * And no other function should live here.
- */
-
-
-#include "cairoint.h"
-
-
-
-#if CAIRO_MUTEX_IMPL_WIN32
-#if !CAIRO_WIN32_STATIC_BUILD
-
-#define WIN32_LEAN_AND_MEAN
-/* We require Windows 2000 features such as ETO_PDY */
-#if !defined(WINVER) || (WINVER < 0x0500)
-# define WINVER 0x0500
-#endif
-#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)
-# define _WIN32_WINNT 0x0500
-#endif
-
-#include "cairo-clip-private.h"
-#include "cairo-paginated-private.h"
-#include "cairo-win32-private.h"
-#include "cairo-scaled-font-subsets-private.h"
-
-#include <windows.h>
-
-/* declare to avoid "no previous prototype for 'DllMain'" warning */
-BOOL WINAPI
-DllMain (HINSTANCE hinstDLL,
-         DWORD     fdwReason,
-         LPVOID    lpvReserved);
-
-BOOL WINAPI
-DllMain (HINSTANCE hinstDLL,
-         DWORD     fdwReason,
-         LPVOID    lpvReserved)
-{
-    switch (fdwReason) {
-        case DLL_PROCESS_ATTACH:
-            CAIRO_MUTEX_INITIALIZE ();
-            break;
-
-        case DLL_PROCESS_DETACH:
-            CAIRO_MUTEX_FINALIZE ();
-            break;
-    }
-
-    return TRUE;
-}
-
-#endif
-#endif
-
diff --git a/src/cairo-tg-allocator-private.h b/src/cairo-tg-allocator-private.h
new file mode 100644 (file)
index 0000000..f62b2e2
--- /dev/null
@@ -0,0 +1,134 @@
+#ifndef CAIRO_TG_ALLOCATOR_H
+#define CAIRO_TG_ALLOCATOR_H
+
+#include "cairoint.h"
+
+typedef struct _cairo_tg_mem_chunk cairo_tg_mem_chunk_t;
+
+struct _cairo_tg_mem_chunk
+{
+    cairo_tg_mem_chunk_t    *next;
+    uint8_t                *buffer;
+    int                            chunk_size;
+    int                            remaining_size;
+};
+
+typedef struct _cairo_tg_mono_allocator
+{
+   cairo_tg_mem_chunk_t            *chunk_head;
+   int                     chunk_size;
+} cairo_tg_mono_allocator_t;
+
+static inline cairo_tg_mem_chunk_t *
+_cairo_tg_mem_chunk_create (int chunk_size)
+{
+    cairo_tg_mem_chunk_t *chunk;
+
+    chunk = (cairo_tg_mem_chunk_t *) malloc (sizeof (cairo_tg_mem_chunk_t) + chunk_size);
+
+    if (chunk)
+    {
+       chunk->next = NULL;
+       chunk->buffer = (uint8_t *) chunk + sizeof (cairo_tg_mem_chunk_t);
+       chunk->chunk_size = chunk_size;
+       chunk->remaining_size = chunk_size;
+    }
+
+    return chunk;
+}
+
+static inline void
+_cairo_tg_mem_chunk_destroy (cairo_tg_mem_chunk_t *chunk)
+{
+    free (chunk);
+}
+
+static inline cairo_status_t
+_cairo_tg_mono_allocator_init (cairo_tg_mono_allocator_t *allocator, int chunk_size)
+{
+    cairo_tg_mem_chunk_t *chunk;
+
+    chunk = _cairo_tg_mem_chunk_create (chunk_size);
+
+    if (! chunk)
+       return CAIRO_STATUS_NO_MEMORY;
+
+    allocator->chunk_size = chunk_size;
+    allocator->chunk_head = chunk;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static inline void
+_cairo_tg_mono_allocator_fini (cairo_tg_mono_allocator_t *allocator)
+{
+    cairo_tg_mem_chunk_t *chunk = allocator->chunk_head, *next;
+
+    while (chunk != NULL)
+    {
+       next = chunk->next;
+       _cairo_tg_mem_chunk_destroy (chunk);
+       chunk = next;
+    }
+
+    allocator->chunk_head = NULL;
+}
+
+static inline void *
+_cairo_tg_mono_allocator_alloc (cairo_tg_mono_allocator_t *allocator, int size)
+{
+    cairo_tg_mem_chunk_t *chunk = allocator->chunk_head;
+    int chunk_size;
+
+    if (chunk && chunk->remaining_size >= size)
+    {
+       void *buffer = (void*)(chunk->buffer + chunk->chunk_size - chunk->remaining_size);
+       chunk->remaining_size -= size;
+       return buffer;
+    }
+
+    chunk_size = MAX (allocator->chunk_size, size);
+
+    chunk = _cairo_tg_mem_chunk_create (chunk_size);
+
+    if (chunk == NULL)
+       return NULL;
+
+    chunk->next = allocator->chunk_head;
+    chunk->buffer = (uint8_t *) chunk + sizeof (cairo_tg_mem_chunk_t);
+    chunk->chunk_size = chunk_size;
+    chunk->remaining_size = chunk_size - size;
+
+    allocator->chunk_head = chunk;
+
+    return (void *) chunk->buffer;
+}
+
+static inline void
+_cairo_tg_mono_allocator_reset (cairo_tg_mono_allocator_t *allocator)
+{
+    cairo_tg_mem_chunk_t *chunk = allocator->chunk_head, *next;
+    cairo_tg_mem_chunk_t *stock = NULL;
+
+    while (chunk != NULL)
+    {
+       next = chunk->next;
+
+       if (stock)
+           _cairo_tg_mem_chunk_destroy (chunk);
+       else
+           stock = chunk;
+
+       chunk = next;
+    }
+
+    if (stock)
+    {
+       stock->next = NULL;
+       stock->remaining_size = stock->chunk_size;
+    }
+
+    allocator->chunk_head = stock;
+}
+
+#endif /* CAIRO_TG_ALLOCATOR_H */
diff --git a/src/cairo-tg-composite-extents-private.h b/src/cairo-tg-composite-extents-private.h
new file mode 100644 (file)
index 0000000..22de139
--- /dev/null
@@ -0,0 +1,121 @@
+/*
+ * Copyright © 2012 SCore Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * Author: Taekyun Kim (podain77@gmail.com)
+ */
+
+#ifndef CAIRO_TG_COMPOSITE_EXTENTS_PRIVATE_H
+#define CAIRO_TG_COMPOSITE_EXTENTS_PRIVATE_H
+
+#include "cairoint.h"
+#include "cairo-pattern-private.h"
+#include "cairo-clip-private.h"
+#include "cairo-surface-private.h"
+
+static inline void
+_cairo_tg_approximate_paint_extents (cairo_rectangle_int_t  *extents,
+                                    cairo_operator_t       op,
+                                    const cairo_pattern_t  *source,
+                                    const cairo_clip_t     *clip)
+{
+    *extents = * (_cairo_clip_get_extents (clip));
+}
+
+static inline void
+_cairo_tg_approximate_mask_extents (cairo_rectangle_int_t   *extents,
+                                   cairo_operator_t        op,
+                                   const cairo_pattern_t   *source,
+                                   const cairo_pattern_t   *mask,
+                                   const cairo_clip_t      *clip)
+{
+    *extents = * (_cairo_clip_get_extents (clip));
+}
+
+static inline void
+_cairo_tg_approximate_stroke_extents (cairo_rectangle_int_t        *extents,
+                                     cairo_operator_t              op,
+                                     const cairo_pattern_t         *source,
+                                     const cairo_path_fixed_t      *path,
+                                     const cairo_stroke_style_t    *style,
+                                     const cairo_matrix_t          *ctm,
+                                     const cairo_matrix_t          *ctm_inverse,
+                                     double                        tolerance,
+                                     cairo_antialias_t             antialias,
+                                     const cairo_clip_t            *clip)
+{
+    cairo_rectangle_int_t   rect;
+
+    *extents = * (_cairo_clip_get_extents (clip));
+
+    if (_cairo_operator_bounded_by_either (op))
+    {
+       _cairo_path_fixed_approximate_stroke_extents (path, style, ctm, &rect);
+       _cairo_rectangle_intersect (extents, &rect);
+    }
+}
+
+static inline void
+_cairo_tg_approximate_fill_extents (cairo_rectangle_int_t      *extents,
+                                   cairo_operator_t            op,
+                                   const cairo_pattern_t       *source,
+                                   const cairo_path_fixed_t    *path,
+                                   cairo_fill_rule_t           fill_rule,
+                                   double                      tolerance,
+                                   cairo_antialias_t           antialias,
+                                    const cairo_clip_t         *clip)
+{
+    cairo_rectangle_int_t   rect;
+
+    *extents = * (_cairo_clip_get_extents (clip));
+
+    if (_cairo_operator_bounded_by_either (op))
+    {
+       _cairo_path_fixed_approximate_fill_extents (path, &rect);
+       _cairo_rectangle_intersect (extents, &rect);
+    }
+}
+
+static inline void
+_cairo_tg_approximate_glyphs_extents (cairo_rectangle_int_t *extents,
+                                     cairo_operator_t      op,
+                                     const cairo_pattern_t *source,
+                                     cairo_glyph_t         *glyphs,
+                                     int                   num_glyphs,
+                                     cairo_scaled_font_t   *scaled_font,
+                                    const cairo_clip_t     *clip)
+{
+    cairo_rectangle_int_t   rect;
+
+    *extents = * (_cairo_clip_get_extents (clip));
+
+    if (_cairo_operator_bounded_by_either (op))
+    {
+       if (_cairo_scaled_font_glyph_approximate_extents (scaled_font, glyphs, num_glyphs, &rect))
+           _cairo_rectangle_intersect (extents, &rect);
+    }
+}
+
+#endif /* CAIRO_TG_COMPOSITE_EXTENTS_PRIVATE_H */
diff --git a/src/cairo-tg-journal-private.h b/src/cairo-tg-journal-private.h
new file mode 100644 (file)
index 0000000..694f77c
--- /dev/null
@@ -0,0 +1,229 @@
+/*
+ * Copyright © 2012 SCore Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * Author: Taekyun Kim (podain77@gmail.com)
+ */
+
+#ifndef CAIRO_TG_JOURNAL_PRIVATE_H
+#define CAIRO_TG_JOURNAL_PRIVATE_H
+
+#include "cairoint.h"
+#include "cairo-pattern-private.h"
+#include "cairo-clip-private.h"
+#include "cairo-surface-private.h"
+#include "cairo-list-private.h"
+#include "cairo-list-inline.h"
+#include "cairo-tg-allocator-private.h"
+#include "cairo-mutex-private.h"
+
+typedef enum
+{
+    CAIRO_TG_JOURNAL_ENTRY_PAINT,
+    CAIRO_TG_JOURNAL_ENTRY_MASK,
+    CAIRO_TG_JOURNAL_ENTRY_FILL,
+    CAIRO_TG_JOURNAL_ENTRY_STROKE,
+    CAIRO_TG_JOURNAL_ENTRY_GLYPHS,
+} cairo_tg_journal_entry_type_t;
+
+typedef struct _cairo_tg_journal_entry cairo_tg_journal_entry_t;
+
+struct _cairo_tg_journal_entry
+{
+    cairo_list_t                   link;
+    cairo_tg_journal_entry_type_t   type;
+
+    cairo_rectangle_int_t          extents;
+
+    cairo_operator_t               op;
+    cairo_pattern_union_t          source;
+    cairo_clip_t                   *clip;
+};
+
+typedef struct _cairo_tg_journal_entry_paint
+{
+    cairo_tg_journal_entry_t base;
+} cairo_tg_journal_entry_paint_t;
+
+typedef struct _cairo_tg_journal_entry_mask
+{
+    cairo_tg_journal_entry_t   base;
+
+    cairo_pattern_union_t      mask;
+} cairo_tg_journal_entry_mask_t;
+
+typedef struct _cairo_tg_journal_entry_stroke
+{
+    cairo_tg_journal_entry_t   base;
+
+    cairo_path_fixed_t         path;
+    cairo_stroke_style_t       style;
+    cairo_matrix_t             ctm;
+    cairo_matrix_t             ctm_inverse;
+    double                     tolerance;
+    cairo_antialias_t          antialias;
+} cairo_tg_journal_entry_stroke_t;
+
+typedef struct _cairo_tg_journal_entry_fill
+{
+    cairo_tg_journal_entry_t   base;
+
+    cairo_path_fixed_t         path;
+    cairo_fill_rule_t          fill_rule;
+    double                     tolerance;
+    cairo_antialias_t          antialias;
+} cairo_tg_journal_entry_fill_t;
+
+typedef struct _cairo_tg_journal_entry_glyphs
+{
+    cairo_tg_journal_entry_t   base;
+
+    cairo_glyph_t              *glyphs;
+    int                                num_glyphs;
+    cairo_scaled_font_t                *scaled_font;
+} cairo_tg_journal_entry_glyphs_t;
+
+typedef struct _cairo_tg_journal
+{
+    cairo_rectangle_int_t      extents;
+    cairo_list_t               entry_list;
+    int                                num_entries;
+    cairo_tg_mono_allocator_t  allocator;
+    cairo_mutex_t              mutex;
+} cairo_tg_journal_t;
+
+typedef struct _cairo_tg_journal_replay_funcs
+{
+    cairo_int_status_t
+    (*paint)   (void                       *closure,
+                cairo_operator_t           op,
+                const cairo_pattern_t      *source,
+                const cairo_clip_t         *clip);
+
+    cairo_int_status_t
+    (*mask)    (void                       *closure,
+                cairo_operator_t           op,
+                const cairo_pattern_t      *source,
+                const cairo_pattern_t      *mask,
+                const cairo_clip_t         *clip);
+
+    cairo_int_status_t
+    (*stroke)  (void                       *closure,
+                cairo_operator_t           op,
+                const cairo_pattern_t      *source,
+                const cairo_path_fixed_t   *path,
+                const cairo_stroke_style_t *style,
+                const cairo_matrix_t       *ctm,
+                const cairo_matrix_t       *ctm_inverse,
+                double                     tolerance,
+                cairo_antialias_t          antialias,
+                const cairo_clip_t         *clip);
+
+    cairo_int_status_t
+    (*fill)    (void                       *closure,
+                cairo_operator_t           op,
+                const cairo_pattern_t      *source,
+                const cairo_path_fixed_t   *path,
+                cairo_fill_rule_t          fill_rule,
+                double                     tolerance,
+                cairo_antialias_t          antialias,
+                const cairo_clip_t         *clip);
+
+    cairo_int_status_t
+    (*glyphs)  (void                       *closure,
+                cairo_operator_t           op,
+                const cairo_pattern_t      *source,
+                cairo_glyph_t              *glyphs,
+                int                        num_glyphs,
+                cairo_scaled_font_t        *scaled_font,
+                const cairo_clip_t         *clip);
+} cairo_tg_journal_replay_funcs_t;
+
+cairo_int_status_t
+_cairo_tg_journal_init (cairo_tg_journal_t *journal);
+
+void
+_cairo_tg_journal_fini (cairo_tg_journal_t *journal);
+
+void
+_cairo_tg_journal_lock (cairo_tg_journal_t *journal);
+
+void
+_cairo_tg_journal_unlock (cairo_tg_journal_t *journal);
+
+cairo_int_status_t
+_cairo_tg_journal_log_paint (cairo_tg_journal_t            *journal,
+                            cairo_operator_t       op,
+                            const cairo_pattern_t  *source,
+                            const cairo_clip_t     *clip);
+
+cairo_int_status_t
+_cairo_tg_journal_log_mask (cairo_tg_journal_t     *journal,
+                           cairo_operator_t        op,
+                           const cairo_pattern_t   *source,
+                           const cairo_pattern_t   *mask,
+                           const cairo_clip_t      *clip);
+
+cairo_int_status_t
+_cairo_tg_journal_log_stroke (cairo_tg_journal_t           *journal,
+                             cairo_operator_t              op,
+                             const cairo_pattern_t         *source,
+                             const cairo_path_fixed_t      *path,
+                             const cairo_stroke_style_t    *style,
+                             const cairo_matrix_t          *ctm,
+                             const cairo_matrix_t          *ctm_inverse,
+                             double                        tolerance,
+                             cairo_antialias_t             antialias,
+                             const cairo_clip_t            *clip);
+
+cairo_int_status_t
+_cairo_tg_journal_log_fill (cairo_tg_journal_t         *journal,
+                           cairo_operator_t            op,
+                           const cairo_pattern_t       *source,
+                           const cairo_path_fixed_t    *path,
+                           cairo_fill_rule_t           fill_rule,
+                           double                      tolerance,
+                           cairo_antialias_t           antialias,
+                           const cairo_clip_t          *clip);
+
+cairo_int_status_t
+_cairo_tg_journal_log_glyphs (cairo_tg_journal_t       *journal,
+                             cairo_operator_t          op,
+                             const cairo_pattern_t     *source,
+                             cairo_glyph_t             *glyphs,
+                             int                       num_glyphs,
+                             cairo_scaled_font_t       *scaled_font,
+                             const cairo_clip_t        *clip);
+
+void
+_cairo_tg_journal_clear (cairo_tg_journal_t *journal);
+
+cairo_int_status_t
+_cairo_tg_journal_replay (const cairo_tg_journal_t             *journal,
+                         void                                  *closure,
+                         const cairo_rectangle_int_t           *extents,
+                         const cairo_tg_journal_replay_funcs_t *funcs);
+
+#endif /* CAIRO_TG_JOURNAL_PRIVATE_H */
diff --git a/src/cairo-tg-journal.c b/src/cairo-tg-journal.c
new file mode 100644 (file)
index 0000000..1d39021
--- /dev/null
@@ -0,0 +1,520 @@
+/*
+ * Copyright © 2012 SCore Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * Author: Taekyun Kim (podain77@gmail.com)
+ */
+
+#include "cairo-tg.h"
+#include "cairo-tg-private.h"
+#include "cairo-tg-journal-private.h"
+#include "cairo-tg-allocator-private.h"
+#include "cairo-tg-composite-extents-private.h"
+
+static inline cairo_int_status_t
+_cairo_tg_journal_pattern_snapshot (cairo_pattern_t        *dst,
+                                   const cairo_pattern_t   *src)
+{
+    return _cairo_pattern_init_snapshot (dst, src);
+}
+
+/* Allocator for various types of journal entries. */
+static cairo_tg_journal_entry_t *
+_cairo_tg_journal_entry_alloc (cairo_tg_mono_allocator_t *allocator,
+                              cairo_tg_journal_entry_type_t type)
+{
+    cairo_tg_journal_entry_t *entry = NULL;
+
+    switch (type)
+    {
+    case CAIRO_TG_JOURNAL_ENTRY_PAINT:
+       entry = _cairo_tg_mono_allocator_alloc (allocator,
+                                               sizeof (cairo_tg_journal_entry_paint_t));
+       break;
+    case CAIRO_TG_JOURNAL_ENTRY_MASK:
+       entry = _cairo_tg_mono_allocator_alloc (allocator,
+                                               sizeof (cairo_tg_journal_entry_mask_t));
+       break;
+    case CAIRO_TG_JOURNAL_ENTRY_STROKE:
+       entry = _cairo_tg_mono_allocator_alloc (allocator,
+                                               sizeof (cairo_tg_journal_entry_stroke_t));
+       break;
+    case CAIRO_TG_JOURNAL_ENTRY_FILL:
+       entry = _cairo_tg_mono_allocator_alloc (allocator,
+                                               sizeof (cairo_tg_journal_entry_fill_t));
+       break;
+    case CAIRO_TG_JOURNAL_ENTRY_GLYPHS:
+       entry = _cairo_tg_mono_allocator_alloc (allocator,
+                                               sizeof (cairo_tg_journal_entry_glyphs_t));
+       break;
+    default:
+       ASSERT_NOT_REACHED;
+       return NULL;
+    }
+
+    /* One should not change the type of an entry.
+     * It is determined at the moment of allocation. */
+    entry->type = type;
+
+    return entry;
+}
+
+static void
+_cairo_tg_journal_entry_fini (cairo_tg_journal_entry_t *entry)
+{
+    /* common part. */
+    _cairo_pattern_fini (&entry->source.base);
+
+    if (entry->clip)
+       _cairo_clip_destroy (entry->clip);
+
+    /* For each entry types... */
+    switch (entry->type)
+    {
+    case CAIRO_TG_JOURNAL_ENTRY_PAINT:
+       break;
+    case CAIRO_TG_JOURNAL_ENTRY_MASK:
+       {
+           cairo_tg_journal_entry_mask_t *entry_mask =
+               (cairo_tg_journal_entry_mask_t *) entry;
+
+           _cairo_pattern_fini (&entry_mask->mask.base);
+       }
+       break;
+    case CAIRO_TG_JOURNAL_ENTRY_STROKE:
+       {
+           cairo_tg_journal_entry_stroke_t *entry_stroke =
+               (cairo_tg_journal_entry_stroke_t *) entry;
+
+           _cairo_path_fixed_fini (&entry_stroke->path);
+           _cairo_stroke_style_fini (&entry_stroke->style);
+       }
+       break;
+    case CAIRO_TG_JOURNAL_ENTRY_FILL:
+       {
+           cairo_tg_journal_entry_fill_t *entry_fill =
+               (cairo_tg_journal_entry_fill_t *) entry;
+
+           _cairo_path_fixed_fini (&entry_fill->path);
+       }
+       break;
+    case CAIRO_TG_JOURNAL_ENTRY_GLYPHS:
+       {
+           cairo_tg_journal_entry_glyphs_t *entry_glyphs =
+               (cairo_tg_journal_entry_glyphs_t *) entry;
+
+           free (entry_glyphs->glyphs);
+           cairo_scaled_font_destroy (entry_glyphs->scaled_font);
+       }
+       break;
+    default:
+       ASSERT_NOT_REACHED;
+    }
+}
+
+cairo_int_status_t
+_cairo_tg_journal_init (cairo_tg_journal_t *journal)
+{
+    cairo_int_status_t status;
+
+    CAIRO_MUTEX_INIT (journal->mutex);
+    journal->num_entries = 0;
+    cairo_list_init (&journal->entry_list);
+    journal->extents = _cairo_empty_rectangle;
+
+    status =  _cairo_tg_mono_allocator_init (&journal->allocator, 4096 -
+                                            sizeof (cairo_tg_mem_chunk_t));
+
+    return status;
+}
+
+void
+_cairo_tg_journal_fini (cairo_tg_journal_t *journal)
+{
+    cairo_tg_journal_entry_t *entry;
+    cairo_tg_journal_entry_t *next;
+
+    CAIRO_MUTEX_FINI (journal->mutex);
+    cairo_list_foreach_entry_safe (entry, next, cairo_tg_journal_entry_t,
+                                  &journal->entry_list, link)
+    {
+       _cairo_tg_journal_entry_fini (entry);
+    }
+
+    _cairo_tg_mono_allocator_fini (&journal->allocator);
+}
+
+void
+_cairo_tg_journal_lock (cairo_tg_journal_t *journal)
+{
+    CAIRO_MUTEX_LOCK (journal->mutex);
+}
+
+void
+_cairo_tg_journal_unlock (cairo_tg_journal_t *journal)
+{
+    CAIRO_MUTEX_UNLOCK (journal->mutex);
+}
+
+cairo_int_status_t
+_cairo_tg_journal_log_paint (cairo_tg_journal_t            *journal,
+                            cairo_operator_t       op,
+                            const cairo_pattern_t  *source,
+                            const cairo_clip_t     *clip)
+{
+    cairo_int_status_t             status;
+    cairo_tg_journal_entry_paint_t  *entry;
+
+    entry = (cairo_tg_journal_entry_paint_t *)
+       _cairo_tg_journal_entry_alloc (&journal->allocator, CAIRO_TG_JOURNAL_ENTRY_PAINT);
+
+    if (unlikely (entry == NULL))
+       return CAIRO_INT_STATUS_NO_MEMORY;
+
+    status = _cairo_tg_journal_pattern_snapshot (&entry->base.source.base, source);
+
+    if (unlikely (status))
+       return status;
+
+    entry->base.op = op;
+    entry->base.clip = _cairo_clip_copy (clip);
+    _cairo_tg_approximate_paint_extents (&entry->base.extents, op, source, clip);
+    _cairo_rectangle_union (&journal->extents, &entry->base.extents);
+
+    cairo_list_add_tail (&entry->base.link, &journal->entry_list);
+    journal->num_entries++;
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+cairo_int_status_t
+_cairo_tg_journal_log_mask (cairo_tg_journal_t     *journal,
+                           cairo_operator_t        op,
+                           const cairo_pattern_t   *source,
+                           const cairo_pattern_t   *mask,
+                           const cairo_clip_t      *clip)
+{
+    cairo_int_status_t             status;
+    cairo_tg_journal_entry_mask_t   *entry;
+
+    entry = (cairo_tg_journal_entry_mask_t *)
+       _cairo_tg_journal_entry_alloc (&journal->allocator, CAIRO_TG_JOURNAL_ENTRY_MASK);
+
+    if (unlikely (entry == NULL))
+       return CAIRO_INT_STATUS_NO_MEMORY;
+
+    status = _cairo_tg_journal_pattern_snapshot (&entry->base.source.base, source);
+
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_tg_journal_pattern_snapshot (&entry->mask.base, mask);
+
+    if (unlikely (status))
+    {
+       _cairo_pattern_fini (&entry->base.source.base);
+       return status;
+    }
+
+    entry->base.op = op;
+    entry->base.clip = _cairo_clip_copy (clip);
+    _cairo_tg_approximate_mask_extents (&entry->base.extents, op, source, mask, clip);
+    _cairo_rectangle_union (&journal->extents, &entry->base.extents);
+
+    cairo_list_add_tail (&entry->base.link, &journal->entry_list);
+    journal->num_entries++;
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+cairo_int_status_t
+_cairo_tg_journal_log_stroke (cairo_tg_journal_t           *journal,
+                             cairo_operator_t              op,
+                             const cairo_pattern_t         *source,
+                             const cairo_path_fixed_t      *path,
+                             const cairo_stroke_style_t    *style,
+                             const cairo_matrix_t          *ctm,
+                             const cairo_matrix_t          *ctm_inverse,
+                             double                        tolerance,
+                             cairo_antialias_t             antialias,
+                             const cairo_clip_t            *clip)
+{
+    cairo_int_status_t             status;
+    cairo_tg_journal_entry_stroke_t *entry;
+
+    entry = (cairo_tg_journal_entry_stroke_t *)
+       _cairo_tg_journal_entry_alloc (&journal->allocator, CAIRO_TG_JOURNAL_ENTRY_STROKE);
+
+    if (unlikely (entry == NULL))
+       return CAIRO_INT_STATUS_NO_MEMORY;
+
+    status = _cairo_tg_journal_pattern_snapshot (&entry->base.source.base, source);
+
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_path_fixed_init_copy (&entry->path, path);
+
+    if (unlikely (status))
+    {
+       _cairo_pattern_fini (&entry->base.source.base);
+       return status;
+    }
+
+    status = _cairo_stroke_style_init_copy (&entry->style, style);
+
+    if (unlikely (status))
+    {
+       _cairo_path_fixed_fini (&entry->path);
+       _cairo_pattern_fini (&entry->base.source.base);
+       return status;
+    }
+
+    entry->base.op = op;
+    entry->base.clip = _cairo_clip_copy (clip);
+    entry->ctm = *ctm;
+    entry->ctm_inverse = *ctm_inverse;
+    entry->tolerance = tolerance;
+    entry->antialias = antialias;
+    _cairo_tg_approximate_stroke_extents (&entry->base.extents, op, source,
+                                         path, style, ctm, ctm_inverse,
+                                         tolerance, antialias, clip);
+    _cairo_rectangle_union (&journal->extents, &entry->base.extents);
+
+    cairo_list_add_tail (&entry->base.link, &journal->entry_list);
+    journal->num_entries++;
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+cairo_int_status_t
+_cairo_tg_journal_log_fill (cairo_tg_journal_t         *journal,
+                           cairo_operator_t            op,
+                           const cairo_pattern_t       *source,
+                           const cairo_path_fixed_t    *path,
+                           cairo_fill_rule_t           fill_rule,
+                           double                      tolerance,
+                           cairo_antialias_t           antialias,
+                           const cairo_clip_t          *clip)
+{
+    cairo_int_status_t             status;
+    cairo_tg_journal_entry_fill_t   *entry;
+
+    entry = (cairo_tg_journal_entry_fill_t *)
+       _cairo_tg_journal_entry_alloc (&journal->allocator, CAIRO_TG_JOURNAL_ENTRY_FILL);
+
+    if (unlikely (entry == NULL))
+       return CAIRO_INT_STATUS_NO_MEMORY;
+
+    status = _cairo_tg_journal_pattern_snapshot (&entry->base.source.base, source);
+
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_path_fixed_init_copy (&entry->path, path);
+
+    if (unlikely (status))
+    {
+       _cairo_pattern_fini (&entry->base.source.base);
+       return status;
+    }
+
+    entry->base.op = op;
+    entry->base.clip = _cairo_clip_copy (clip);
+    entry->fill_rule = fill_rule;
+    entry->tolerance = tolerance;
+    entry->antialias = antialias;
+    _cairo_tg_approximate_fill_extents (&entry->base.extents, op, source,
+                                       path, fill_rule, tolerance, antialias, clip);
+    _cairo_rectangle_union (&journal->extents, &entry->base.extents);
+
+    cairo_list_add_tail (&entry->base.link, &journal->entry_list);
+    journal->num_entries++;
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+cairo_int_status_t
+_cairo_tg_journal_log_glyphs (cairo_tg_journal_t    *journal,
+                             cairo_operator_t      op,
+                             const cairo_pattern_t *source,
+                             cairo_glyph_t         *glyphs,
+                             int                   num_glyphs,
+                             cairo_scaled_font_t   *scaled_font,
+                             const cairo_clip_t    *clip)
+{
+    cairo_int_status_t             status;
+    cairo_tg_journal_entry_glyphs_t *entry;
+
+    entry = (cairo_tg_journal_entry_glyphs_t *)
+       _cairo_tg_journal_entry_alloc (&journal->allocator, CAIRO_TG_JOURNAL_ENTRY_GLYPHS);
+
+    if (unlikely (entry == NULL))
+       return CAIRO_INT_STATUS_NO_MEMORY;
+
+    status = _cairo_tg_journal_pattern_snapshot (&entry->base.source.base, source);
+
+    if (unlikely (status))
+       return status;
+
+    entry->scaled_font = cairo_scaled_font_reference (scaled_font);
+
+    if (unlikely (entry->scaled_font == NULL))
+    {
+       _cairo_pattern_fini (&entry->base.source.base);
+       return CAIRO_INT_STATUS_NO_MEMORY;
+    }
+
+    if (num_glyphs)
+    {
+       entry->glyphs = malloc (sizeof (cairo_glyph_t) * num_glyphs);
+
+       if (unlikely (entry->glyphs == NULL))
+       {
+           cairo_scaled_font_destroy (entry->scaled_font);
+           _cairo_pattern_fini (&entry->base.source.base);
+           return CAIRO_INT_STATUS_NO_MEMORY;
+       }
+
+       memcpy (entry->glyphs, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
+    }
+    else
+    {
+       entry->glyphs = NULL;
+    }
+
+    entry->num_glyphs = num_glyphs;
+    entry->base.op = op;
+    entry->base.clip = _cairo_clip_copy (clip);
+    _cairo_tg_approximate_glyphs_extents (&entry->base.extents, op, source,
+                                         glyphs, num_glyphs, scaled_font, clip);
+    _cairo_rectangle_union (&journal->extents, &entry->base.extents);
+
+    cairo_list_add_tail (&entry->base.link, &journal->entry_list);
+    journal->num_entries++;
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+void
+_cairo_tg_journal_clear (cairo_tg_journal_t *journal)
+{
+    cairo_tg_journal_entry_t *entry;
+    cairo_tg_journal_entry_t *next;
+
+    cairo_list_foreach_entry_safe (entry, next, cairo_tg_journal_entry_t,
+                                  &journal->entry_list, link)
+    {
+       _cairo_tg_journal_entry_fini (entry);
+    }
+
+    journal->num_entries = 0;
+    cairo_list_init (&journal->entry_list);
+    _cairo_tg_mono_allocator_reset(&journal->allocator);
+    journal->extents = _cairo_empty_rectangle;
+}
+
+cairo_int_status_t
+_cairo_tg_journal_replay (const cairo_tg_journal_t             *journal,
+                         void                                  *closure,
+                         const cairo_rectangle_int_t           *extents,
+                         const cairo_tg_journal_replay_funcs_t *funcs)
+{
+    const cairo_tg_journal_entry_t  *entry;
+    const cairo_tg_journal_entry_t  *next;
+    cairo_int_status_t             status;
+
+    cairo_list_foreach_entry_safe (entry, next, cairo_tg_journal_entry_t,
+                                  &journal->entry_list, link)
+    {
+       if (extents && ! _cairo_rectangle_intersects (extents, &entry->extents))
+       {
+           continue;
+       }
+
+       switch (entry->type)
+       {
+       case CAIRO_TG_JOURNAL_ENTRY_PAINT:
+           {
+               cairo_tg_journal_entry_paint_t *e =
+                   (cairo_tg_journal_entry_paint_t *) entry;
+
+               status = funcs->paint (closure, e->base.op, &e->base.source.base,
+                                      e->base.clip);
+           }
+           break;
+       case CAIRO_TG_JOURNAL_ENTRY_MASK:
+           {
+               cairo_tg_journal_entry_mask_t *e =
+                   (cairo_tg_journal_entry_mask_t *) entry;
+
+               status = funcs->mask (closure, e->base.op, &e->base.source.base,
+                                     &e->mask.base, e->base.clip);
+           }
+           break;
+       case CAIRO_TG_JOURNAL_ENTRY_STROKE:
+           {
+               cairo_tg_journal_entry_stroke_t *e =
+                   (cairo_tg_journal_entry_stroke_t *) entry;
+
+               status = funcs->stroke (closure, e->base.op, &e->base.source.base,
+                                       &e->path, &e->style, &e->ctm, &e->ctm_inverse,
+                                       e->tolerance, e->antialias, e->base.clip);
+           }
+           break;
+       case CAIRO_TG_JOURNAL_ENTRY_FILL:
+           {
+               cairo_tg_journal_entry_fill_t *e =
+                   (cairo_tg_journal_entry_fill_t *) entry;
+
+               status = funcs->fill (closure, e->base.op, &e->base.source.base,
+                                     &e->path, e->fill_rule,
+                                     e->tolerance, e->antialias, e->base.clip);
+           }
+           break;
+       case CAIRO_TG_JOURNAL_ENTRY_GLYPHS:
+           {
+               cairo_tg_journal_entry_glyphs_t *e =
+                   (cairo_tg_journal_entry_glyphs_t *) entry;
+
+               status = funcs->glyphs (closure, e->base.op, &e->base.source.base,
+                                       e->glyphs, e->num_glyphs,
+                                       e->scaled_font, e->base.clip);
+           }
+           break;
+       default:
+           ASSERT_NOT_REACHED;
+           break;
+       }
+
+       if (unlikely (status) && status != CAIRO_INT_STATUS_NOTHING_TO_DO)
+       {
+           assert (0);
+           return status;
+       }
+    }
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
diff --git a/src/cairo-tg-private.h b/src/cairo-tg-private.h
new file mode 100644 (file)
index 0000000..6e2464e
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright © 2012 SCore Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * Author: Taekyun Kim (podain77@gmail.com)
+ */
+
+#ifndef CAIRO_TG_PRIVATE_H
+#define CAIRO_TG_PRIVATE_H
+
+#include "cairo-default-context-private.h"
+#include "cairo-surface-private.h"
+#include "cairo-tg-journal-private.h"
+#include <pixman.h>
+
+#define CAIRO_TG_NUM_MAX_TILES 8
+
+typedef struct _cairo_tg_surface
+{
+    cairo_surface_t        base;
+
+    cairo_format_t         format;
+    pixman_format_code_t    pixman_format;
+    unsigned char          *data;
+    int                            width;
+    int                            height;
+    int                            stride;
+    int                            bpp;
+
+    cairo_surface_t        *image_surface;
+    cairo_surface_t        *tile_surfaces[CAIRO_TG_NUM_MAX_TILES];
+    cairo_tg_journal_t     journal;
+} cairo_tg_surface_t;
+
+#endif /* CAIRO_TG_PRIVATE_H */
diff --git a/src/cairo-tg-surface.c b/src/cairo-tg-surface.c
new file mode 100644 (file)
index 0000000..c32799f
--- /dev/null
@@ -0,0 +1,1372 @@
+/*
+ * Copyright © 2012 SCore Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * Author: Taekyun Kim (podain77@gmail.com)
+ */
+
+#include "cairoint.h"
+#include "cairo-surface-fallback-private.h"
+#include "cairo-tg.h"
+#include "cairo-tg-private.h"
+#include "cairo-image-surface-inline.h"
+#include "cairo-surface-subsurface-inline.h"
+#include "cairo-compositor-private.h"
+#include "cairo-clip-inline.h"
+#include "cairo-recording-surface-inline.h"
+
+#if CAIRO_HAS_OPENMP
+#include <omp.h>
+#endif
+
+#define        CAIRO_TG_THREAD_POOL_BUSY_WAIT
+#define CAIRO_TG_NUM_MIN_ENTRIES_FOR_PARALLEL_FLUSH 2
+
+static inline int
+get_num_cpu_cores (void)
+{
+    static int num_cpu_cores = 0;
+
+    if (num_cpu_cores == 0)
+    {
+#if CAIRO_HAS_OPENMP
+       num_cpu_cores = omp_get_num_procs ();
+#elif defined (__WIN32)
+       SYSTEM_INFO sysinfo;
+
+       GetSystemInfo (&sysinfo);
+       num_cpu_cores = sysinfo.dwNumberOfProcessors;
+#elif defined (__linux__)
+       cpu_set_t   cs;
+       int         i;
+
+       CPU_ZERO (&cs);
+
+       if (sched_getaffinity (0, sizeof (cs), &cs) != 0)
+           num_cpu_cores = 1;
+
+       for (i = 0; i < 8; i++)
+       {
+           if (CPU_ISSET (i, &cs))
+               num_cpu_cores++;
+       }
+#else
+       num_cpu_cores = 1;
+#endif
+    }
+
+    return num_cpu_cores;
+}
+
+static inline int
+get_bpp_for_format (cairo_format_t format)
+{
+    switch (format)
+    {
+    case CAIRO_FORMAT_ARGB32:
+    case CAIRO_FORMAT_RGB24:
+    case CAIRO_FORMAT_RGB30:
+       return 32;
+    case CAIRO_FORMAT_RGB16_565:
+       return 16;
+    case CAIRO_FORMAT_A8:
+       return 8;
+    case CAIRO_FORMAT_A1:
+       return 1;
+    case CAIRO_FORMAT_INVALID:
+    default:
+       ASSERT_NOT_REACHED;
+       return 0;
+    }
+}
+
+static inline cairo_bool_t
+_cairo_surface_is_tg(const cairo_surface_t *surface)
+{
+    return surface->backend && surface->backend->type == CAIRO_SURFACE_TYPE_TG;
+}
+
+static inline cairo_bool_t
+_cairo_tg_surface_is_size_valid (int width, int height)
+{
+    if (width < 0 || height < 0)
+       return FALSE;
+
+    /* TODO: Check for upper limit of surface size. */
+
+    return TRUE;
+}
+
+static inline cairo_bool_t
+_cairo_pattern_is_self_copy (cairo_surface_t       *surface,
+                            const cairo_pattern_t  *pattern)
+{
+    if (unlikely (surface == NULL))
+       return FALSE;
+
+    if (unlikely (pattern == NULL))
+       return FALSE;
+
+    if (pattern->type == CAIRO_PATTERN_TYPE_SURFACE )
+    {
+       cairo_surface_t *pattern_surface =
+           ((cairo_surface_pattern_t *) pattern)->surface;
+
+       while (_cairo_surface_is_subsurface (pattern_surface))
+       {
+           pattern_surface =
+               _cairo_surface_subsurface_get_target (pattern_surface);
+       }
+
+       return pattern_surface == surface;
+    }
+
+    return FALSE;
+}
+
+static inline cairo_bool_t
+_cairo_pattern_is_recording (const cairo_pattern_t *pattern)
+{
+    cairo_surface_t *surface;
+
+    if (pattern->type != CAIRO_PATTERN_TYPE_SURFACE)
+       return FALSE;
+
+    surface = ((const cairo_surface_pattern_t *) pattern)->surface;
+    return _cairo_surface_is_recording (surface);
+}
+
+static inline cairo_bool_t
+_cairo_tg_surface_owns_data (cairo_tg_surface_t *surface)
+{
+    return ((cairo_image_surface_t *) surface->image_surface)->owns_data;
+}
+
+static inline cairo_int_status_t
+_cairo_tg_image_surface_paint (void                    *closure,
+                              cairo_operator_t         op,
+                              const cairo_pattern_t    *source,
+                              const cairo_clip_t       *clip)
+{
+    cairo_image_surface_t   *surface = (cairo_image_surface_t *) closure;
+    cairo_int_status_t status;
+
+    status = _cairo_surface_begin_modification (&surface->base);
+
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_compositor_paint (surface->compositor, &surface->base,
+                                     op, source, clip);
+
+    if (status != CAIRO_INT_STATUS_NOTHING_TO_DO)
+    {
+       surface->base.is_clear = op == CAIRO_OPERATOR_CLEAR && clip == NULL;
+       surface->base.serial++;
+    }
+
+    return status;
+}
+
+static inline cairo_int_status_t
+_cairo_tg_image_surface_mask (void                     *closure,
+                             cairo_operator_t          op,
+                             const cairo_pattern_t     *source,
+                             const cairo_pattern_t     *mask,
+                             const cairo_clip_t        *clip)
+{
+    cairo_image_surface_t   *surface = (cairo_image_surface_t *) closure;
+    cairo_int_status_t status;
+
+    status = _cairo_surface_begin_modification (&surface->base);
+
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_compositor_mask (surface->compositor, &surface->base,
+                                    op, source, mask, clip);
+
+    if (status != CAIRO_INT_STATUS_NOTHING_TO_DO)
+    {
+       surface->base.is_clear = FALSE;
+       surface->base.serial++;
+    }
+
+    return status;
+}
+
+static inline cairo_int_status_t
+_cairo_tg_image_surface_stroke (void                       *closure,
+                               cairo_operator_t            op,
+                               const cairo_pattern_t       *source,
+                               const cairo_path_fixed_t    *path,
+                               const cairo_stroke_style_t  *style,
+                               const cairo_matrix_t        *ctm,
+                               const cairo_matrix_t        *ctm_inverse,
+                               double                      tolerance,
+                               cairo_antialias_t           antialias,
+                               const cairo_clip_t          *clip)
+{
+    cairo_image_surface_t   *surface = (cairo_image_surface_t *) closure;
+    cairo_int_status_t status;
+
+    status = _cairo_surface_begin_modification (&surface->base);
+
+    if (unlikely (status))
+       return status;
+
+    status =  _cairo_compositor_stroke (surface->compositor, &surface->base,
+                                       op, source, path,
+                                       style, ctm, ctm_inverse,
+                                       tolerance, antialias, clip);
+
+    if (status != CAIRO_INT_STATUS_NOTHING_TO_DO)
+    {
+       surface->base.is_clear = FALSE;
+       surface->base.serial++;
+    }
+
+    return status;
+}
+
+
+static inline cairo_int_status_t
+_cairo_tg_image_surface_fill (void                     *closure,
+                             cairo_operator_t          op,
+                             const cairo_pattern_t     *source,
+                             const cairo_path_fixed_t  *path,
+                             cairo_fill_rule_t         fill_rule,
+                             double                    tolerance,
+                             cairo_antialias_t         antialias,
+                             const cairo_clip_t        *clip)
+{
+    cairo_image_surface_t   *surface = (cairo_image_surface_t *) closure;
+    cairo_int_status_t status;
+
+    status = _cairo_surface_begin_modification (&surface->base);
+
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_compositor_fill (surface->compositor, &surface->base,
+                                    op, source, path,
+                                    fill_rule, tolerance, antialias, clip);
+
+    if (status != CAIRO_INT_STATUS_NOTHING_TO_DO)
+    {
+       surface->base.is_clear = FALSE;
+       surface->base.serial++;
+    }
+
+    return status;
+}
+
+static inline cairo_int_status_t
+_cairo_tg_image_surface_glyphs (void                   *closure,
+                               cairo_operator_t        op,
+                               const cairo_pattern_t   *source,
+                               cairo_glyph_t           *glyphs,
+                               int                     num_glyphs,
+                               cairo_scaled_font_t     *scaled_font,
+                               const cairo_clip_t      *clip)
+{
+    cairo_image_surface_t   *surface = (cairo_image_surface_t *) closure;
+    cairo_int_status_t status;
+
+    status = _cairo_surface_begin_modification (&surface->base);
+
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_compositor_glyphs (surface->compositor, &surface->base,
+                                      op, source,
+                                      glyphs, num_glyphs, scaled_font,
+                                      clip);
+
+    if (status != CAIRO_INT_STATUS_NOTHING_TO_DO)
+    {
+       surface->base.is_clear = FALSE;
+       surface->base.serial++;
+    }
+
+    return status;
+}
+
+const cairo_tg_journal_replay_funcs_t replay_funcs_image_fallback =
+{
+    _cairo_tg_image_surface_paint,
+    _cairo_tg_image_surface_mask,
+    _cairo_tg_image_surface_stroke,
+    _cairo_tg_image_surface_fill,
+    _cairo_tg_image_surface_glyphs,
+};
+
+typedef struct _cairo_tg_surface_tile
+{
+    cairo_surface_t        *surface;
+    cairo_rectangle_int_t   tile_rect;
+} cairo_tg_surface_tile_t;
+
+static inline int
+_cairo_tg_surface_tiles_init (cairo_tg_surface_t           *surface,
+                             const cairo_rectangle_int_t   *extents,
+                             int                           num_tiles,
+                             cairo_tg_surface_tile_t       *tiles)
+{
+    int tile_height;
+    int i;
+
+    if (extents->height <= 0)
+       return 0;
+
+    if (extents->height <= num_tiles)
+       num_tiles = extents->height;
+
+    tile_height = extents->height / num_tiles;
+
+    for (i = 0; i < num_tiles; i++)
+    {
+       tiles[i].surface = surface->tile_surfaces[i];
+       tiles[i].tile_rect.x = extents->x;
+       tiles[i].tile_rect.y = extents->y + i * tile_height;
+       tiles[i].tile_rect.width = extents->width;
+       tiles[i].tile_rect.height = tile_height;
+    }
+
+    tiles[num_tiles - 1].tile_rect.height = extents->height - i * (num_tiles - 1);
+
+    return num_tiles;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_tile_paint (void                 *closure,
+                             cairo_operator_t      op,
+                             const cairo_pattern_t *source,
+                             const cairo_clip_t    *clip)
+{
+    cairo_tg_surface_tile_t *tile = (cairo_tg_surface_tile_t *) closure;
+    cairo_clip_t           *tile_clip;
+    cairo_int_status_t     status = CAIRO_INT_STATUS_SUCCESS;
+
+    tile_clip = _cairo_clip_copy_intersect_rectangle (clip, &tile->tile_rect);
+
+    if (! _cairo_clip_is_all_clipped (tile_clip))
+       status = _cairo_tg_image_surface_paint (tile->surface, op, source, tile_clip);
+
+    _cairo_clip_destroy (tile_clip);
+
+    return status;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_tile_mask (void                  *closure,
+                            cairo_operator_t       op,
+                            const cairo_pattern_t  *source,
+                            const cairo_pattern_t  *mask,
+                            const cairo_clip_t     *clip)
+{
+    cairo_tg_surface_tile_t *tile = (cairo_tg_surface_tile_t *) closure;
+    cairo_clip_t           *tile_clip;
+    cairo_int_status_t     status = CAIRO_INT_STATUS_SUCCESS;
+
+    tile_clip = _cairo_clip_copy_intersect_rectangle (clip, &tile->tile_rect);
+
+    if (! _cairo_clip_is_all_clipped (tile_clip))
+    {
+       status = _cairo_tg_image_surface_mask (tile->surface, op, source,
+                                              mask, tile_clip);
+    }
+
+    _cairo_clip_destroy (tile_clip);
+
+    return status;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_tile_stroke (void                        *closure,
+                              cairo_operator_t             op,
+                              const cairo_pattern_t        *source,
+                              const cairo_path_fixed_t     *path,
+                              const cairo_stroke_style_t   *style,
+                              const cairo_matrix_t         *ctm,
+                              const cairo_matrix_t         *ctm_inverse,
+                              double                       tolerance,
+                              cairo_antialias_t            antialias,
+                              const cairo_clip_t           *clip)
+{
+    cairo_tg_surface_tile_t *tile = (cairo_tg_surface_tile_t *) closure;
+    cairo_clip_t           *tile_clip;
+    cairo_int_status_t     status = CAIRO_INT_STATUS_SUCCESS;
+
+    tile_clip = _cairo_clip_copy_intersect_rectangle (clip, &tile->tile_rect);
+
+    if (! _cairo_clip_is_all_clipped (tile_clip))
+    {
+       status = _cairo_tg_image_surface_stroke (tile->surface, op, source,
+                                                path, style, ctm, ctm_inverse,
+                                                tolerance, antialias, tile_clip);
+    }
+
+    _cairo_clip_destroy (tile_clip);
+
+    return status;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_tile_fill (void                      *closure,
+                            cairo_operator_t           op,
+                            const cairo_pattern_t      *source,
+                            const cairo_path_fixed_t   *path,
+                            cairo_fill_rule_t          fill_rule,
+                            double                     tolerance,
+                            cairo_antialias_t          antialias,
+                            const cairo_clip_t         *clip)
+{
+    cairo_tg_surface_tile_t *tile = (cairo_tg_surface_tile_t *) closure;
+    cairo_clip_t           *tile_clip;
+    cairo_int_status_t     status = CAIRO_INT_STATUS_SUCCESS;
+
+    tile_clip = _cairo_clip_copy_intersect_rectangle (clip, &tile->tile_rect);
+
+    if (! _cairo_clip_is_all_clipped (tile_clip))
+    {
+       status = _cairo_tg_image_surface_fill (tile->surface, op, source,
+                                              path, fill_rule, tolerance,
+                                              antialias, tile_clip);
+    }
+
+    _cairo_clip_destroy (tile_clip);
+
+    return status;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_tile_glyphs (void                    *closure,
+                              cairo_operator_t         op,
+                              const cairo_pattern_t    *source,
+                              cairo_glyph_t            *glyphs,
+                              int                      num_glyphs,
+                              cairo_scaled_font_t      *scaled_font,
+                              const cairo_clip_t       *clip)
+{
+    cairo_tg_surface_tile_t *tile = (cairo_tg_surface_tile_t *) closure;
+    cairo_clip_t           *tile_clip;
+    cairo_int_status_t     status = CAIRO_INT_STATUS_SUCCESS;
+
+    tile_clip = _cairo_clip_copy_intersect_rectangle (clip, &tile->tile_rect);
+
+    if (! _cairo_clip_is_all_clipped (tile_clip))
+    {
+       status = _cairo_tg_image_surface_glyphs (tile->surface, op, source,
+                                                glyphs, num_glyphs, scaled_font,
+                                                tile_clip);
+    }
+
+    _cairo_clip_destroy (tile_clip);
+
+    return status;
+}
+
+const cairo_tg_journal_replay_funcs_t replay_funcs_tile =
+{
+    _cairo_tg_surface_tile_paint,
+    _cairo_tg_surface_tile_mask,
+    _cairo_tg_surface_tile_stroke,
+    _cairo_tg_surface_tile_fill,
+    _cairo_tg_surface_tile_glyphs,
+};
+
+#if ! CAIRO_HAS_OPENMP
+#define CAIRO_TG_NUM_MAX_WORKERS    CAIRO_TG_NUM_MAX_TILES
+
+typedef enum _cairo_tg_worker_status
+{
+    CAIRO_TG_WORKER_STATUS_IDLE,       /* can transit to either OCCUPIED or KILLED */
+    CAIRO_TG_WORKER_STATUS_TO_DO,      /* only can transit to IDLE state */
+    CAIRO_TG_WORKER_STATUS_KILLED,     /* worker will be no longer valid */
+} cairo_tg_worker_status_t;
+
+typedef struct _cairo_tg_worker
+{
+    cairo_tg_journal_t         *journal;
+    cairo_tg_surface_tile_t    *tile;
+
+    pthread_t                  thread;
+    pthread_mutex_t            lock;
+    pthread_cond_t             cond_wake_up;
+    cairo_tg_worker_status_t   status;
+
+#ifdef CAIRO_TG_THREAD_POOL_BUSY_WAIT
+    pthread_spinlock_t         spinlock;
+#else
+    pthread_cond_t             cond_done;
+#endif
+} cairo_tg_worker_t;
+
+cairo_tg_worker_t   workers[CAIRO_TG_NUM_MAX_WORKERS];
+
+pthread_mutex_t        workers_lock;
+cairo_bool_t   workers_occupied;
+
+static void *
+_cairo_tg_worker_mainloop (void *arg)
+{
+    cairo_tg_worker_t  *worker = (cairo_tg_worker_t *) arg;
+
+    while (1)
+    {
+       pthread_mutex_lock (&worker->lock);
+
+       while (worker->status == CAIRO_TG_WORKER_STATUS_IDLE)
+           pthread_cond_wait (&worker->cond_wake_up, &worker->lock);
+
+       /* Here, worker is kicked off to do some action. */
+
+       if (worker->status == CAIRO_TG_WORKER_STATUS_KILLED)
+       {
+           /* Worker is killed, so release mutex and exit. */
+           pthread_mutex_unlock (&worker->lock);
+           pthread_exit (NULL);
+       }
+
+       assert (worker->status == CAIRO_TG_WORKER_STATUS_TO_DO);
+
+       _cairo_tg_journal_replay (worker->journal, (void *)worker->tile,
+                                 &worker->tile->tile_rect, &replay_funcs_tile);
+
+       worker->status = CAIRO_TG_WORKER_STATUS_IDLE;
+
+#ifndef CAIRO_TG_THREAD_POOL_BUSY_WAIT
+       pthread_cond_signal (&worker->cond_done);
+#endif
+
+       pthread_mutex_unlock (&worker->lock);
+    }
+
+    return NULL;
+}
+
+static void
+_cairo_tg_workers_init (void)
+{
+    int i;
+
+    for (i = 0; i < CAIRO_TG_NUM_MAX_WORKERS; i++)
+    {
+       workers[i].status = CAIRO_TG_WORKER_STATUS_IDLE;
+
+       pthread_mutex_init (&workers[i].lock, NULL);
+       pthread_cond_init (&workers[i].cond_wake_up, NULL);
+
+#ifdef CAIRO_TG_THREAD_POOL_BUSY_WAIT
+       pthread_spin_init (&workers[i].spinlock, 0);
+#else
+       pthread_cond_init (&workers[i].cond_done, NULL);
+#endif
+
+       pthread_create (&workers[i].thread, NULL, _cairo_tg_worker_mainloop, (void *) &workers[i]);
+    }
+
+    pthread_mutex_init (&workers_lock, NULL);
+    workers_occupied = FALSE;
+}
+
+static void
+_cairo_tg_workers_fini (void)
+{
+    int i;
+
+    for (i = 0; i < CAIRO_TG_NUM_MAX_WORKERS; i++)
+    {
+       pthread_mutex_lock (&workers[i].lock);
+
+       workers[i].status = CAIRO_TG_WORKER_STATUS_KILLED;
+       pthread_cond_signal (&workers[i].cond_wake_up);
+       pthread_mutex_unlock (&workers[i].lock);
+    }
+
+    for (i = 0; i < CAIRO_TG_NUM_MAX_WORKERS; i++)
+       pthread_join (workers[i].thread, NULL);
+
+    for (i = 0; i < CAIRO_TG_NUM_MAX_WORKERS; i++)
+    {
+       pthread_mutex_destroy (&workers[i].lock);
+       pthread_cond_destroy (&workers[i].cond_wake_up);
+
+#ifdef CAIRO_TG_THREAD_POOL_BUSY_WAIT
+       pthread_spin_destroy (&workers[i].spinlock);
+#else
+       pthread_cond_destroy (&workers[i].cond_done);
+#endif
+    }
+}
+
+static void __attribute__((constructor))
+_cairo_tg_constructor (void)
+{
+    pthread_atfork (NULL, NULL, _cairo_tg_workers_init);
+    _cairo_tg_workers_init ();
+}
+
+static void __attribute__((destructor))
+_cairo_tg_destructor (void)
+{
+    _cairo_tg_workers_fini ();
+}
+
+#endif /* ! CAIRO_HAS_OPENMP */
+
+static void
+_cairo_tg_surface_prepare_flush_parallel (cairo_tg_surface_t *surface)
+{
+    const cairo_tg_journal_entry_t  *entry;
+    const cairo_tg_journal_entry_t  *next;
+
+    cairo_list_foreach_entry_safe (entry, next, cairo_tg_journal_entry_t,
+                                  &surface->journal.entry_list, link)
+    {
+       if (entry->source.base.type == CAIRO_PATTERN_TYPE_SURFACE)
+       {
+           cairo_surface_pattern_t *pattern = (cairo_surface_pattern_t *) (&entry->source.base);
+           cairo_surface_flush (pattern->surface);
+       }
+
+       if (entry->type == CAIRO_TG_JOURNAL_ENTRY_MASK)
+       {
+           cairo_tg_journal_entry_mask_t *e =
+               (cairo_tg_journal_entry_mask_t *) entry;
+
+           if (e->mask.base.type == CAIRO_PATTERN_TYPE_SURFACE)
+           {
+               cairo_surface_pattern_t *pattern = (cairo_surface_pattern_t *) (&e->mask.base);
+               cairo_surface_flush (pattern->surface);
+           }
+       }
+    }
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_flush_parallel (cairo_tg_surface_t *surface)
+{
+    int                                num_tiles, i;
+    cairo_tg_surface_tile_t    tiles[CAIRO_TG_NUM_MAX_TILES];
+    cairo_rectangle_int_t      extents;
+
+    if (surface->journal.num_entries < CAIRO_TG_NUM_MIN_ENTRIES_FOR_PARALLEL_FLUSH)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    _cairo_tg_surface_prepare_flush_parallel (surface);
+
+    extents.x = 0;
+    extents.y = 0;
+    extents.width = surface->width;
+    extents.height = surface->height;
+
+    _cairo_rectangle_intersect (&extents, &surface->journal.extents);
+
+    num_tiles = get_num_cpu_cores ();
+
+#if ! CAIRO_HAS_OPENMP
+    if (num_tiles > CAIRO_TG_NUM_MAX_WORKERS)
+       num_tiles = CAIRO_TG_NUM_MAX_WORKERS;
+#endif
+
+    num_tiles = _cairo_tg_surface_tiles_init (surface, &extents, num_tiles, &tiles[0]);
+
+#if CAIRO_HAS_OPENMP
+    #pragma omp parallel for
+    for (i = 0; i < num_tiles; i++)
+    {
+       _cairo_tg_journal_replay (&surface->journal, (void *) &tiles[i],
+                                 &tiles[i].tile_rect, &replay_funcs_tile);
+    }
+#else
+    pthread_mutex_lock (&workers_lock);
+
+    if (workers_occupied)
+    {
+       pthread_mutex_unlock (&workers_lock);
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+    }
+
+    workers_occupied = TRUE;
+    pthread_mutex_unlock (&workers_lock);
+
+    /* Kick workers to start. */
+    for (i = 0; i < num_tiles - 1; i++)
+    {
+       pthread_mutex_lock (&workers[i].lock);
+
+       workers[i].status = CAIRO_TG_WORKER_STATUS_TO_DO;
+       workers[i].journal = &surface->journal;
+       workers[i].tile = &tiles[i];
+
+       pthread_cond_signal (&workers[i].cond_wake_up);
+       pthread_mutex_unlock (&workers[i].lock);
+    }
+
+    _cairo_tg_journal_replay (&surface->journal, &tiles[num_tiles - 1],
+                             &tiles[num_tiles - 1].tile_rect, &replay_funcs_tile);
+
+    /* Wait for workers to finish. */
+    for (i = 0; i < num_tiles - 1; i++)
+    {
+#ifdef CAIRO_TG_THREAD_POOL_BUSY_WAIT
+       pthread_spin_lock (&workers[i].spinlock);
+
+       while (workers[i].status == CAIRO_TG_WORKER_STATUS_TO_DO)
+       {
+           pthread_spin_unlock (&workers[i].spinlock);
+           pthread_spin_lock (&workers[i].spinlock);
+       }
+
+       pthread_spin_unlock (&workers[i].spinlock);
+#else
+       pthread_mutex_lock (&workers[i].lock);
+
+       while (workers[i].status == CAIRO_TG_WORKER_STATUS_TO_DO)
+           pthread_cond_wait (&workers[i].cond_done, &workers[i].lock);
+
+       pthread_mutex_unlock (&workers[i].lock);
+#endif
+    }
+
+    /* Release thread pool. */
+    pthread_mutex_lock (&workers_lock);
+    workers_occupied = FALSE;
+    pthread_mutex_unlock (&workers_lock);
+#endif
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+static cairo_status_t
+_cairo_tg_surface_flush (void      *abstract_surface,
+                        unsigned   flags)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+    cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;
+
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
+    _cairo_tg_journal_lock (&surface->journal);
+
+    if (surface->journal.num_entries)
+    {
+       status = _cairo_tg_surface_flush_parallel (surface);
+
+       if (status)
+       {
+           status = _cairo_tg_journal_replay (&surface->journal,
+                                              (void *) surface->image_surface,
+                                              NULL, &replay_funcs_image_fallback);
+       }
+
+       _cairo_tg_journal_clear (&surface->journal);
+    }
+
+    _cairo_tg_journal_unlock (&surface->journal);
+
+    return status;
+}
+
+static cairo_image_surface_t *
+_cairo_tg_surface_map_to_image (void                       *abstract_surface,
+                               const cairo_rectangle_int_t *extents)
+{
+    cairo_tg_surface_t *other = abstract_surface;
+    cairo_surface_t    *surface;
+    uint8_t            *buffer;
+
+    _cairo_tg_surface_flush (other, 0);
+
+    buffer = other->data;
+    buffer += extents->y * other->stride;
+    buffer += extents->x * other->bpp / 8;
+
+    surface =
+       _cairo_image_surface_create_with_pixman_format (buffer,
+                                                       other->pixman_format,
+                                                       extents->width,
+                                                       extents->height,
+                                                       other->stride);
+
+    if (unlikely (surface == NULL))
+       return NULL;
+
+    cairo_surface_set_device_offset (surface, -extents->x, extents->y);
+
+    return (cairo_image_surface_t *) surface;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_unmap_image (void                    *abstract_surface,
+                              cairo_image_surface_t    *image)
+{
+    cairo_surface_finish (&image->base);
+    cairo_surface_destroy (&image->base);
+
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+static cairo_bool_t
+_cairo_tg_surface_get_extents (void                    *abstract_surface,
+                              cairo_rectangle_int_t    *extents)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+
+    extents->x = 0;
+    extents->y = 0;
+    extents->width = surface->width;
+    extents->height = surface->height;
+
+    return TRUE;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_paint (void                  *abstract_surface,
+                        cairo_operator_t       op,
+                        const cairo_pattern_t  *source,
+                        const cairo_clip_t     *clip)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+    cairo_int_status_t status = CAIRO_INT_STATUS_UNSUPPORTED;
+
+    if (! _cairo_pattern_is_self_copy (&surface->base, source) &&
+       ! _cairo_pattern_is_recording (source))
+       status = _cairo_tg_journal_log_paint (&surface->journal, op, source, clip);
+
+    if (status)
+    {
+       status = _cairo_tg_surface_flush (surface, 0);
+
+       if (unlikely (status))
+           return status;
+
+       status =  _cairo_tg_image_surface_paint (surface->image_surface, op, source, clip);
+    }
+
+    return status;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_mask (void                   *abstract_surface,
+                       cairo_operator_t        op,
+                       const cairo_pattern_t   *source,
+                       const cairo_pattern_t   *mask,
+                       const cairo_clip_t      *clip)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+    cairo_int_status_t status = CAIRO_INT_STATUS_UNSUPPORTED;
+
+    if (! _cairo_pattern_is_self_copy (&surface->base, source) &&
+       ! _cairo_pattern_is_self_copy (&surface->base, mask) &&
+       ! _cairo_pattern_is_recording (source))
+       status = _cairo_tg_journal_log_mask (&surface->journal, op, source, mask, clip);
+
+    if (status)
+    {
+       status = _cairo_tg_surface_flush (surface, 0);
+
+       if (unlikely (status))
+           return status;
+
+       status =  _cairo_tg_image_surface_mask (surface->image_surface, op, source,
+                                               mask, clip);
+    }
+
+    return status;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_stroke (void                         *abstract_surface,
+                         cairo_operator_t              op,
+                         const cairo_pattern_t         *source,
+                         const cairo_path_fixed_t      *path,
+                         const cairo_stroke_style_t    *style,
+                         const cairo_matrix_t          *ctm,
+                         const cairo_matrix_t          *ctm_inverse,
+                         double                        tolerance,
+                         cairo_antialias_t             antialias,
+                         const cairo_clip_t            *clip)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+    cairo_int_status_t status = CAIRO_INT_STATUS_UNSUPPORTED;
+
+    if (! _cairo_pattern_is_self_copy (&surface->base, source) &&
+       ! _cairo_pattern_is_recording (source))
+    {
+       status = _cairo_tg_journal_log_stroke (&surface->journal, op, source,
+                                              path, style, ctm, ctm_inverse,
+                                              tolerance, antialias, clip);
+    }
+
+    if (status)
+    {
+       status = _cairo_tg_surface_flush (surface, 0);
+
+       if (unlikely (status))
+           return status;
+
+       status = _cairo_tg_image_surface_stroke (surface->image_surface, op, source,
+                                                path, style, ctm, ctm_inverse,
+                                                tolerance, antialias, clip);
+    }
+
+    return status;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_fill (void                       *abstract_surface,
+                       cairo_operator_t            op,
+                       const cairo_pattern_t       *source,
+                       const cairo_path_fixed_t    *path,
+                       cairo_fill_rule_t           fill_rule,
+                       double                      tolerance,
+                       cairo_antialias_t           antialias,
+                       const cairo_clip_t          *clip)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+    cairo_int_status_t status = CAIRO_INT_STATUS_UNSUPPORTED;
+
+    if (! _cairo_pattern_is_self_copy (&surface->base, source) &&
+       ! _cairo_pattern_is_recording (source))
+    {
+       status = _cairo_tg_journal_log_fill (&surface->journal, op, source,
+                                            path, fill_rule, tolerance, antialias, clip);
+    }
+
+    if (status)
+    {
+       status = _cairo_tg_surface_flush (surface, 0);
+
+       if (unlikely (status))
+           return status;
+
+       status =  _cairo_tg_image_surface_fill (surface->image_surface, op, source,
+                                               path, fill_rule, tolerance, antialias, clip);
+    }
+
+    return status;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_glyphs (void                 *abstract_surface,
+                         cairo_operator_t      op,
+                         const cairo_pattern_t *source,
+                         cairo_glyph_t         *glyphs,
+                         int                   num_glyphs,
+                         cairo_scaled_font_t   *scaled_font,
+                         const cairo_clip_t    *clip)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+    cairo_int_status_t status = CAIRO_INT_STATUS_UNSUPPORTED;
+
+    if (! _cairo_pattern_is_self_copy (&surface->base, source) &&
+       ! _cairo_pattern_is_recording (source))
+    {
+       status = _cairo_tg_journal_log_glyphs (&surface->journal, op, source,
+                                              glyphs, num_glyphs, scaled_font, clip);
+    }
+
+    if (status)
+    {
+       status = _cairo_tg_surface_flush (surface, 0);
+
+       if (unlikely (status))
+           return status;
+
+       status = _cairo_tg_image_surface_glyphs (surface->image_surface, op, source,
+                                                glyphs, num_glyphs, scaled_font, clip);
+    }
+
+    return status;
+}
+
+static cairo_surface_t *
+_cairo_tg_surface_create_similar (void             *abstract_other,
+                                 cairo_content_t   content,
+                                 int               width,
+                                 int               height)
+{
+    cairo_tg_surface_t *other = abstract_other;
+
+    if (! _cairo_tg_surface_is_size_valid (width, height))
+       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_SIZE));
+
+    if (content == other->base.content)
+       return cairo_tg_surface_create (other->format, width, height);
+
+    return cairo_tg_surface_create (_cairo_format_from_content (content), width, height);
+}
+
+static cairo_surface_t *
+_cairo_tg_surface_source (void                 *abstract_surface,
+                         cairo_rectangle_int_t *extents)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+
+    if (extents)
+    {
+       extents->x = extents->y = 0;
+       extents->width = surface->width;
+       extents->height = surface->height;
+    }
+
+    return &surface->base;
+}
+
+static cairo_status_t
+_cairo_tg_surface_acquire_source_image (void                   *abstract_surface,
+                                       cairo_image_surface_t   **image_out,
+                                       void                    **image_extra)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+
+    _cairo_tg_surface_flush (surface, 0);
+
+    *image_out = (cairo_image_surface_t *) surface->image_surface;
+    *image_extra = NULL;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static void
+_cairo_tg_surface_release_source_image (void                   *abstract_surface,
+                                       cairo_image_surface_t   *image,
+                                       void                    *image_extra)
+{
+    /* Do nothing */
+}
+
+static cairo_surface_t *
+_cairo_tg_surface_snapshot (void *abstract_surface)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+    cairo_tg_surface_t *clone;
+
+    _cairo_tg_surface_flush (surface, 0);
+
+    if (_cairo_tg_surface_owns_data (surface) && surface->base._finishing)
+    {
+       return cairo_tg_surface_create_for_data (surface->data, surface->format,
+                                                surface->width, surface->height,
+                                                surface->stride);
+    }
+
+    clone = (cairo_tg_surface_t *)
+       cairo_tg_surface_create (surface->format, surface->width, surface->height);
+
+    if (unlikely (clone->base.status))
+       return &clone->base;
+
+    if (surface->stride == clone->stride)
+    {
+       memcpy (clone->data, surface->data, clone->stride * clone->height);
+    }
+    else
+    {
+       unsigned char *dst = clone->data;
+       unsigned char *src = surface->data;
+       int i;
+       int stride = clone->stride < surface->stride ? clone->stride : surface->stride;
+
+       for (i = 0; i < clone->height; i++)
+       {
+           memcpy (dst, src, stride);
+           dst += clone->stride;
+           src += surface->stride;
+       }
+    }
+
+    clone->base.is_clear = FALSE;
+
+    return &clone->base;
+}
+
+static cairo_int_status_t
+_cairo_tg_surface_init_tile_surfaces (cairo_tg_surface_t *surface)
+{
+    int                        i;
+    cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;
+
+    memset (&surface->tile_surfaces[0], 0x00,
+           sizeof (cairo_surface_t *) * CAIRO_TG_NUM_MAX_TILES);
+
+    for (i = 0; i < CAIRO_TG_NUM_MAX_TILES; i++)
+    {
+       surface->tile_surfaces[i] = cairo_image_surface_create_for_data (surface->data,
+                                                                        surface->format,
+                                                                        surface->width,
+                                                                        surface->height,
+                                                                        surface->stride);
+
+       if (surface->tile_surfaces[i] == NULL)
+       {
+           status = CAIRO_INT_STATUS_NO_MEMORY;
+           break;
+       }
+    }
+
+    if (unlikely (status))
+    {
+       for (i = 0; i < CAIRO_TG_NUM_MAX_TILES; i++)
+       {
+           if (surface->tile_surfaces[i])
+               cairo_surface_destroy (surface->tile_surfaces[i]);
+           else
+               break;
+       }
+    }
+
+    return status;
+}
+
+static void
+_cairo_tg_surface_fini_tile_surfaces (cairo_tg_surface_t *surface)
+{
+    int        i;
+
+    for (i = 0; i < CAIRO_TG_NUM_MAX_TILES; i++)
+    {
+       if (surface->tile_surfaces[i])
+           cairo_surface_destroy (surface->tile_surfaces[i]);
+       else
+           break;
+    }
+}
+
+static cairo_status_t
+_cairo_tg_surface_finish (void *abstract_surface)
+{
+    cairo_tg_surface_t *surface = abstract_surface;
+
+    _cairo_tg_surface_flush (surface, 0);
+    _cairo_tg_journal_fini (&surface->journal);
+    _cairo_tg_surface_fini_tile_surfaces (surface);
+    cairo_surface_destroy (surface->image_surface);
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static const cairo_surface_backend_t _cairo_tg_surface_backend =
+{
+    CAIRO_SURFACE_TYPE_TG,
+    _cairo_tg_surface_finish,
+
+    _cairo_default_context_create,
+
+    _cairo_tg_surface_create_similar,
+    NULL, /* create_similar image */
+    _cairo_tg_surface_map_to_image,
+    _cairo_tg_surface_unmap_image,
+
+    _cairo_tg_surface_source,
+    _cairo_tg_surface_acquire_source_image,
+    _cairo_tg_surface_release_source_image,
+    _cairo_tg_surface_snapshot,
+
+    NULL, /* copy_page */
+    NULL, /* show_page */
+
+    _cairo_tg_surface_get_extents,
+    NULL, /* get_font_options */
+
+    _cairo_tg_surface_flush,
+    NULL, /* mark_dirty_rectangle */
+
+    _cairo_tg_surface_paint,
+    _cairo_tg_surface_mask,
+    _cairo_tg_surface_stroke,
+    _cairo_tg_surface_fill,
+    NULL, /* fill_stroke */
+    _cairo_tg_surface_glyphs,
+};
+
+cairo_surface_t *
+cairo_tg_surface_create (cairo_format_t        format,
+                        int            width,
+                        int            height)
+{
+    cairo_tg_surface_t *surface;
+    cairo_surface_t    *image_surface;
+
+    image_surface = cairo_image_surface_create (format, width, height);
+
+    if (unlikely (image_surface == NULL))
+       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+
+    surface = malloc (sizeof (cairo_tg_surface_t));
+
+    if (unlikely (surface == NULL))
+    {
+       cairo_surface_destroy (image_surface);
+
+       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+    }
+
+    _cairo_surface_init (&surface->base,
+                        &_cairo_tg_surface_backend,
+                        NULL, image_surface->content);
+
+    surface->format = format;
+    surface->pixman_format = ((cairo_image_surface_t *) image_surface)->pixman_format;
+    surface->data = (unsigned char *) cairo_image_surface_get_data (image_surface);
+    surface->width = width;
+    surface->height = height;
+    surface->stride = cairo_image_surface_get_stride (image_surface);
+    surface->bpp = get_bpp_for_format (format);
+    surface->image_surface = image_surface;
+    surface->base.is_clear = image_surface->is_clear;
+
+    _cairo_tg_journal_init (&surface->journal);
+
+    if (_cairo_tg_surface_init_tile_surfaces (surface))
+    {
+       cairo_surface_destroy (image_surface);
+       _cairo_tg_journal_fini (&surface->journal);
+
+       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+    }
+
+    return &surface->base;
+}
+
+cairo_surface_t *
+cairo_tg_surface_create_for_data (unsigned char            *data,
+                                 cairo_format_t    format,
+                                 int               width,
+                                 int               height,
+                                 int               stride)
+{
+    cairo_tg_surface_t *surface;
+    cairo_surface_t    *image_surface;
+
+    image_surface = cairo_image_surface_create_for_data (data, format, width, height, stride);
+
+    if (unlikely (image_surface == NULL))
+       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+
+    surface = malloc (sizeof (cairo_tg_surface_t));
+
+    if (unlikely (surface == NULL))
+    {
+       cairo_surface_destroy (image_surface);
+
+       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+    }
+
+    _cairo_surface_init (&surface->base,
+                        &_cairo_tg_surface_backend,
+                        NULL, image_surface->content);
+
+    surface->format = format;
+    surface->pixman_format = ((cairo_image_surface_t *) image_surface)->pixman_format;
+    surface->data = (unsigned char *) cairo_image_surface_get_data (image_surface);
+    surface->width = width;
+    surface->height = height;
+    surface->stride = cairo_image_surface_get_stride (image_surface);
+    surface->bpp = get_bpp_for_format (format);
+    surface->image_surface = image_surface;
+    surface->base.is_clear = image_surface->is_clear;
+
+    _cairo_tg_journal_init (&surface->journal);
+
+    if (_cairo_tg_surface_init_tile_surfaces (surface))
+    {
+       cairo_surface_destroy (image_surface);
+       _cairo_tg_journal_fini (&surface->journal);
+
+       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+    }
+
+    return &surface->base;
+}
+
+unsigned char *
+cairo_tg_surface_get_data (cairo_surface_t *surface)
+{
+    cairo_tg_surface_t *tg_surface = (cairo_tg_surface_t *) surface;
+
+    if (! _cairo_surface_is_tg (surface)) {
+       _cairo_error_throw (CAIRO_STATUS_SURFACE_TYPE_MISMATCH);
+       return NULL;
+    }
+
+    return tg_surface->data;
+}
+
+cairo_format_t
+cairo_tg_surface_get_format (cairo_surface_t *surface)
+{
+    cairo_tg_surface_t *tg_surface = (cairo_tg_surface_t *) surface;
+
+    if (! _cairo_surface_is_tg (surface)) {
+       _cairo_error_throw (CAIRO_STATUS_SURFACE_TYPE_MISMATCH);
+       return CAIRO_FORMAT_INVALID;
+    }
+
+    return tg_surface->format;
+}
+
+int
+cairo_tg_surface_get_width (cairo_surface_t *surface)
+{
+    cairo_tg_surface_t *tg_surface = (cairo_tg_surface_t *) surface;
+
+    if (! _cairo_surface_is_tg (surface)) {
+       _cairo_error_throw (CAIRO_STATUS_SURFACE_TYPE_MISMATCH);
+       return 0;
+    }
+
+    return tg_surface->width;
+}
+
+int
+cairo_tg_surface_get_height (cairo_surface_t *surface)
+{
+    cairo_tg_surface_t *tg_surface = (cairo_tg_surface_t *) surface;
+
+    if (! _cairo_surface_is_tg (surface)) {
+       _cairo_error_throw (CAIRO_STATUS_SURFACE_TYPE_MISMATCH);
+       return 0;
+    }
+
+    return tg_surface->height;
+}
+
+int
+cairo_tg_surface_get_stride (cairo_surface_t *surface)
+{
+    cairo_tg_surface_t *tg_surface = (cairo_tg_surface_t *) surface;
+
+    if (! _cairo_surface_is_tg (surface)) {
+       _cairo_error_throw (CAIRO_STATUS_SURFACE_TYPE_MISMATCH);
+       return 0;
+    }
+
+    return tg_surface->stride;
+}
diff --git a/src/cairo-tg.h b/src/cairo-tg.h
new file mode 100644 (file)
index 0000000..97be601
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Copyright © 2012 SCore Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * Author: Taekyun Kim (podain77@gmail.com)
+ */
+
+#ifndef CAIRO_TG_H
+#define CAIRO_TG_H
+
+#include "cairo.h"
+
+#if CAIRO_HAS_TG_SURFACE
+
+CAIRO_BEGIN_DECLS
+
+cairo_public cairo_surface_t *
+cairo_tg_surface_create (cairo_format_t        format,
+                        int            width,
+                        int            height);
+
+cairo_public cairo_surface_t *
+cairo_tg_surface_create_for_data (unsigned char            *data,
+                                 cairo_format_t    format,
+                                 int               width,
+                                 int               height,
+                                 int               stride);
+
+cairo_public unsigned char *
+cairo_tg_surface_get_data (cairo_surface_t *surface);
+
+cairo_public cairo_format_t
+cairo_tg_surface_get_format (cairo_surface_t *surface);
+
+cairo_public int
+cairo_tg_surface_get_width (cairo_surface_t *surface);
+
+cairo_public int
+cairo_tg_surface_get_height (cairo_surface_t *surface);
+
+cairo_public int
+cairo_tg_surface_get_stride (cairo_surface_t *surface);
+
+CAIRO_END_DECLS
+
+#endif /* CAIRO_HAS_TG_SURFACE */
+
+#endif /* CAIRO_TG_H */
diff --git a/src/cairo-thread-local-private.h b/src/cairo-thread-local-private.h
new file mode 100644 (file)
index 0000000..994c049
--- /dev/null
@@ -0,0 +1,161 @@
+/*
+ * Copyright © 2012 SCore Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * Author: Taekyun Kim (podain77@gmail.com)
+ */
+
+#ifndef CAIRO_THREAD_LOCAL_PRIVATE_H
+#define CAIRO_THREAD_LOCAL_PRIVATE_H
+
+#if CAIRO_HAS_TLS || CAIRO_HAS_PTHREAD_SETSPECIFIC
+#define CAIRO_HAS_THREAD_LOCAL 1
+#endif
+
+#if CAIRO_HAS_THREAD_LOCAL
+#if defined(TLS)
+
+#   define CAIRO_DEFINE_THREAD_LOCAL(type, name)                       \
+    static TLS type name
+
+#   define CAIRO_GET_THREAD_LOCAL(name)                                        \
+    (&name)
+
+#elif defined(__MINGW32__)
+
+#   define _NO_W32_PSEUDO_MODIFIERS
+#   include <windows.h>
+
+#   define CAIRO_DEFINE_THREAD_LOCAL(type, name)                       \
+    static volatile int tls_ ## name ## _initialized = 0;              \
+    static void *tls_ ## name ## _mutex = NULL;                                \
+    static unsigned tls_ ## name ## _index;                            \
+                                                                       \
+    static type *                                                      \
+    tls_ ## name ## _alloc (void)                                      \
+    {                                                                  \
+        type *value = calloc (1, sizeof (type));                       \
+        if (value)                                                     \
+            TlsSetValue (tls_ ## name ## _index, value);               \
+        return value;                                                  \
+    }                                                                  \
+                                                                       \
+    static inline type *                                               \
+    tls_ ## name ## _get (void)                                                \
+    {                                                                  \
+       type *value;                                                    \
+       if (!tls_ ## name ## _initialized)                              \
+       {                                                               \
+           if (!tls_ ## name ## _mutex)                                \
+           {                                                           \
+               void *mutex = CreateMutexA (NULL, 0, NULL);             \
+               if (InterlockedCompareExchangePointer (                 \
+                       &tls_ ## name ## _mutex, mutex, NULL) != NULL)  \
+               {                                                       \
+                   CloseHandle (mutex);                                \
+               }                                                       \
+           }                                                           \
+           WaitForSingleObject (tls_ ## name ## _mutex, 0xFFFFFFFF);   \
+           if (!tls_ ## name ## _initialized)                          \
+           {                                                           \
+               tls_ ## name ## _index = TlsAlloc ();                   \
+               tls_ ## name ## _initialized = 1;                       \
+           }                                                           \
+           ReleaseMutex (tls_ ## name ## _mutex);                      \
+       }                                                               \
+       if (tls_ ## name ## _index == 0xFFFFFFFF)                       \
+           return NULL;                                                \
+       value = TlsGetValue (tls_ ## name ## _index);                   \
+       if (!value)                                                     \
+           value = tls_ ## name ## _alloc ();                          \
+       return value;                                                   \
+    }
+
+#   define CAIRO_GET_THREAD_LOCAL(name)                                        \
+    tls_ ## name ## _get ()
+
+#elif defined(_MSC_VER)
+
+#   define CAIRO_DEFINE_THREAD_LOCAL(type, name)                       \
+    static __declspec(thread) type name
+
+#   define CAIRO_GET_THREAD_LOCAL(name)                                        \
+    (&name)
+
+#elif defined(CAIRO_HAS_PTHREAD_SETSPECIFIC)
+
+#include <pthread.h>
+
+#  define CAIRO_DEFINE_THREAD_LOCAL(type, name)                                \
+    static pthread_once_t tls_ ## name ## _once_control = PTHREAD_ONCE_INIT; \
+    static pthread_key_t tls_ ## name ## _key;                         \
+                                                                       \
+    static void                                                                \
+    tls_ ## name ## _destroy_value (void *value)                       \
+    {                                                                  \
+       free (value);                                                   \
+    }                                                                  \
+                                                                       \
+    static void                                                                \
+    tls_ ## name ## _make_key (void)                                   \
+    {                                                                  \
+       pthread_key_create (&tls_ ## name ## _key,                      \
+                           tls_ ## name ## _destroy_value);            \
+    }                                                                  \
+                                                                       \
+    static type *                                                      \
+    tls_ ## name ## _alloc (void)                                      \
+    {                                                                  \
+       type *value = calloc (1, sizeof (type));                        \
+       if (value)                                                      \
+           pthread_setspecific (tls_ ## name ## _key, value);          \
+       return value;                                                   \
+    }                                                                  \
+                                                                       \
+    static inline type *                                               \
+    tls_ ## name ## _get (void)                                                \
+    {                                                                  \
+       type *value = NULL;                                             \
+       if (pthread_once (&tls_ ## name ## _once_control,               \
+                         tls_ ## name ## _make_key) == 0)              \
+       {                                                               \
+           value = pthread_getspecific (tls_ ## name ## _key);         \
+           if (!value)                                                 \
+               value = tls_ ## name ## _alloc ();                      \
+       }                                                               \
+       return value;                                                   \
+    }
+
+#   define CAIRO_GET_THREAD_LOCAL(name)                                        \
+    tls_ ## name ## _get ()
+
+#else
+
+#    error "Unknown thread local support for this system."
+
+#endif
+#endif /* CAIRO_HAS_THREAD_LOCAL */
+
+#endif /* CAIRO_THREAD_LOCAL_PRIVATE_H */
index 9a594e8..a0003fb 100644 (file)
@@ -103,6 +103,25 @@ _cairo_time_1s (void)
     return freq.QuadPart;
 }
 
+#ifndef HAVE_UINT64_T
+static cairo_always_inline cairo_time_t
+_cairo_time_from_large_integer (LARGE_INTEGER t)
+{
+    cairo_int64_t r;
+
+    r = _cairo_int64_lsl (_cairo_int32_to_int64 (t.HighPart), 32);
+    r = _cairo_int64_add (r, _cairo_int32_to_int64 (t.LowPart));
+
+    return r;
+}
+#else
+static cairo_always_inline cairo_time_t
+_cairo_time_from_large_integer (LARGE_INTEGER t)
+{
+    return t.QuadPart;
+}
+#endif
+
 cairo_time_t
 _cairo_time_get (void)
 {
@@ -110,7 +129,7 @@ _cairo_time_get (void)
 
     QueryPerformanceCounter (&t);
 
-    return t.QuadPart;
+    return _cairo_time_from_large_integer(t);
 }
 
 #elif defined(CAIRO_CLOCK)
index 099b50b..89ef20f 100644 (file)
@@ -1300,6 +1300,7 @@ sub_row (struct active_list *active,
                pos->next = edge;
            } else
                prev_x = edge->x.quo;
+           active->min_height = -1;
        } else {
            edge->prev->next = next;
            next->prev = edge->prev;
@@ -1318,12 +1319,13 @@ sub_row (struct active_list *active,
     }
 }
 
-inline static void dec (struct edge *e, int h)
+inline static void dec (struct active_list *a, struct edge *e, int h)
 {
     e->height_left -= h;
     if (e->height_left == 0) {
        e->prev->next = e->next;
        e->next->prev = e->prev;
+       a->min_height = -1;
     }
 }
 
@@ -1350,12 +1352,12 @@ full_row (struct active_list *active,
        struct edge *right;
        int winding;
 
-       dec (left, GRID_Y);
+       dec (active, left, GRID_Y);
 
        winding = left->dir;
        right = left->next;
        do {
-           dec (right, GRID_Y);
+           dec (active, right, GRID_Y);
 
            winding += right->dir;
            if ((winding & mask) == 0 && right->next->x.quo != right->x.quo)
@@ -1504,7 +1506,7 @@ glitter_scan_converter_add_edge (glitter_scan_converter_t *converter,
     INPUT_TO_GRID_Y (edge->line.p1.y, e.line.p1.y);
     INPUT_TO_GRID_Y (edge->line.p2.y, e.line.p2.y);
     if (e.line.p1.y == e.line.p2.y)
-       return;
+       e.line.p2.y++; /* little fudge to prevent a div-by-zero */
 
     INPUT_TO_GRID_X (edge->line.p1.x, e.line.p1.x);
     INPUT_TO_GRID_X (edge->line.p2.x, e.line.p2.x);
@@ -1525,6 +1527,7 @@ step_edges (struct active_list *active, int count)
        if (! edge->height_left) {
            edge->prev->next = edge->next;
            edge->next->prev = edge->prev;
+           active->min_height = -1;
        }
     }
 }
index 2f93030..4cec5ee 100644 (file)
@@ -248,6 +248,8 @@ typedef int grid_scaled_y_t;
 #  define  GRID_AREA_TO_ALPHA(c)  (c)
 #elif GRID_XY == 64
 #  define  GRID_AREA_TO_ALPHA(c)  (((c) << 2) | -(((c) & 0x40) >> 6))
+#elif GRID_XY == 32
+#  define  GRID_AREA_TO_ALPHA(c)  (((c) << 3) | -(((c) & 0x20) >> 5))
 #elif GRID_XY == 128
 #  define  GRID_AREA_TO_ALPHA(c)  ((((c) << 1) | -((c) >> 7)) & 255)
 #elif GRID_XY == 256
@@ -1360,7 +1362,7 @@ glitter_scan_converter_add_edge (glitter_scan_converter_t *converter,
     INPUT_TO_GRID_Y (edge->line.p1.y, e.line.p1.y);
     INPUT_TO_GRID_Y (edge->line.p2.y, e.line.p2.y);
     if (e.line.p1.y == e.line.p2.y)
-       return;
+       e.line.p2.y++; /* Fudge to prevent div-by-zero */
 
     INPUT_TO_GRID_X (edge->line.p1.x, e.line.p1.x);
     INPUT_TO_GRID_X (edge->line.p2.x, e.line.p2.x);
old mode 100644 (file)
new mode 100755 (executable)
index eeee20c..5d561f2
@@ -173,7 +173,8 @@ static cairo_int_status_t
 combine_clip_as_traps (const cairo_traps_compositor_t *compositor,
                       cairo_surface_t *mask,
                       const cairo_clip_t *clip,
-                      const cairo_rectangle_int_t *extents)
+                      const cairo_rectangle_int_t *extents,
+                      const cairo_bool_t draw_color_glyph)
 {
     cairo_polygon_t polygon;
     cairo_fill_rule_t fill_rule;
@@ -208,11 +209,18 @@ combine_clip_as_traps (const cairo_traps_compositor_t *compositor,
        return src->status;
     }
 
-    status = compositor->composite_traps (mask, CAIRO_OPERATOR_IN, src,
-                                         src_x, src_y,
+       if (draw_color_glyph)
+    status = compositor->composite_traps (mask, CAIRO_OPERATOR_IN, mask,
+                                         0, 0,
                                          extents->x, extents->y,
                                          extents,
                                          antialias, &traps);
+       else
+       status = compositor->composite_traps (mask, CAIRO_OPERATOR_IN, src,
+                                                 src_x, src_y,
+                                                 extents->x, extents->y,
+                                                 extents,
+                                                 antialias, &traps);
 
     _cairo_traps_extents (&traps, &box);
     _cairo_box_round_to_rectangle (&box, &fixup);
@@ -427,6 +435,7 @@ create_composite_mask (const cairo_traps_compositor_t *compositor,
     cairo_surface_t *surface, *src;
     cairo_int_status_t status;
     int src_x, src_y;
+       cairo_bool_t draw_color_glyph = FALSE;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
@@ -435,7 +444,12 @@ create_composite_mask (const cairo_traps_compositor_t *compositor,
                                                     extents->bounded.height);
     if (unlikely (surface->status))
        return surface;
+       /* FIXME: This is more like an ugly hack and wasteful.  Reason
+               for this code is that we don't know whether the mask surface
+               should alpha-only or argb32 before we render a glyph.
+       */
 
+       redo:
     src = compositor->pattern_to_surface (surface,
                                          &_cairo_pattern_white.base,
                                          FALSE,
@@ -489,13 +503,29 @@ create_composite_mask (const cairo_traps_compositor_t *compositor,
                        CAIRO_OPERATOR_ADD, src, src_x, src_y,
                        extents->bounded.x, extents->bounded.y,
                        &extents->bounded, NULL);
-    if (unlikely (status))
-       goto error;
+    if (unlikely (status)){
+                if (cairo_surface_get_content (surface) == CAIRO_CONTENT_COLOR_ALPHA)
+                       goto error;
+                else {
+                       compositor->release (surface);
+                       cairo_surface_destroy (surface);
+                       cairo_surface_destroy (src);
+                       surface = _cairo_surface_create_similar_scratch (dst, CAIRO_CONTENT_COLOR_ALPHA,
+                                extents->bounded.width,
+                               extents->bounded.height);
+                       if (unlikely (surface->status))
+                       return surface;
+                       /* we are drawing color glyph */
+                       draw_color_glyph = TRUE;
+                       goto redo;
+               }
+    }
 
     surface->is_clear = FALSE;
     if (extents->clip->path != NULL) {
        status = combine_clip_as_traps (compositor, surface,
-                                       extents->clip, &extents->bounded);
+                                       extents->clip, &extents->bounded,
+                                       draw_color_glyph);
        if (status == CAIRO_INT_STATUS_UNSUPPORTED) {
            status = _cairo_clip_combine_with_surface (extents->clip, surface,
                                                       extents->bounded.x,
@@ -552,21 +582,30 @@ clip_and_composite_with_mask (const cairo_traps_compositor_t *compositor,
     if (mask->is_clear)
        goto skip;
 
-    if (src != NULL || dst->content != CAIRO_CONTENT_ALPHA) {
-       compositor->composite (dst, op, src, mask,
-                              extents->bounded.x + src_x,
-                              extents->bounded.y + src_y,
-                              0, 0,
-                              extents->bounded.x,      extents->bounded.y,
-                              extents->bounded.width,  extents->bounded.height);
-    } else {
-       compositor->composite (dst, op, mask, NULL,
-                              0, 0,
-                              0, 0,
-                              extents->bounded.x,      extents->bounded.y,
-                              extents->bounded.width,  extents->bounded.height);
-    }
-
+       if (mask->content == CAIRO_CONTENT_ALPHA) {
+               /* This is real mask */
+               if (src != NULL || dst->content != CAIRO_CONTENT_ALPHA) {
+                       compositor->composite (dst, op, src, mask,
+                                       extents->bounded.x + src_x,
+                                       extents->bounded.y + src_y,
+                                       0, 0,
+                                       extents->bounded.x, extents->bounded.y,
+                                       extents->bounded.width, extents->bounded.height);
+               } else {
+                       compositor->composite (dst, op, mask, NULL,
+                                                                       0, 0,
+                                                                       0, 0,
+                                                                       extents->bounded.x,      extents->bounded.y,
+                                                                       extents->bounded.width,  extents->bounded.height);
+               }
+       } else {
+                       compositor->composite (dst, op, mask, NULL,
+                                                                       0, 0,
+                                                                        extents->bounded.x + src_x,
+                                                                       extents->bounded.y + src_y,
+                                                                       extents->bounded.x, extents->bounded.y,
+                                                                       extents->bounded.width, extents->bounded.height);
+       }
 skip:
     cairo_surface_destroy (mask);
     return CAIRO_STATUS_SUCCESS;
@@ -593,8 +632,11 @@ clip_and_composite_combine (const cairo_traps_compositor_t *compositor,
     tmp = _cairo_surface_create_similar_scratch (dst, dst->content,
                                                 extents->bounded.width,
                                                 extents->bounded.height);
-    if (unlikely (tmp->status))
-       return tmp->status;
+    if (unlikely (tmp->status)) {
+       status = tmp->status;
+       cairo_surface_destroy (tmp);
+       return status;
+    }
 
     status = compositor->acquire (tmp);
     if (unlikely (status)) {
@@ -658,7 +700,16 @@ clip_and_composite_source (const cairo_traps_compositor_t  *compositor,
                           int src_y,
                           const cairo_composite_rectangles_t   *extents)
 {
-    cairo_surface_t *mask;
+    cairo_surface_t *mask = NULL;
+       /* create a white color pattern */
+       cairo_pattern_t *white_pattern = _cairo_pattern_create_solid (CAIRO_COLOR_WHITE);
+       cairo_surface_t *white_mask =
+               compositor->pattern_to_surface (dst, white_pattern, TRUE,
+                                       &extents->bounded,
+                                       &extents->source_sample_area,
+                                       &src_x, &src_y);
+       if (unlikely (white_mask->status))
+               goto skip;
 
     TRACE ((stderr, "%s\n", __FUNCTION__));
 
@@ -679,15 +730,24 @@ clip_and_composite_source (const cairo_traps_compositor_t *compositor,
                               extents->bounded.x,      extents->bounded.y,
                               extents->bounded.width,  extents->bounded.height);
     } else {
-       compositor->lerp (dst, src, mask,
-                         extents->bounded.x + src_x, extents->bounded.y + src_y,
-                         0, 0,
-                         extents->bounded.x,     extents->bounded.y,
-                         extents->bounded.width, extents->bounded.height);
-    }
+       if (mask->content == CAIRO_CONTENT_ALPHA)
+                       compositor->lerp (dst, src, mask,
+                                         extents->bounded.x + src_x, extents->bounded.y + src_y,
+                                         0, 0,
+                                         extents->bounded.x,     extents->bounded.y,
+                                         extents->bounded.width, extents->bounded.height);
+       else
+                    compositor->lerp_color_glyph (dst, mask, white_mask,
+                                               0, 0,
+                                               extents->bounded.x + src_x, extents->bounded.y + src_y,
+                                               extents->bounded.x, extents->bounded.y,
+                                               extents->bounded.width, extents->bounded.height);
+ }
 
 skip:
     cairo_surface_destroy (mask);
+       cairo_surface_destroy (white_mask);
+    cairo_pattern_destroy (white_pattern);
 
     return CAIRO_STATUS_SUCCESS;
 }
@@ -1570,7 +1630,7 @@ clip_and_composite_polygon (const cairo_traps_compositor_t *compositor,
         * The clip will trim that overestimate to our expectations.
         */
        if (! extents->is_bounded)
-               flags |= FORCE_CLIP_REGION;
+           flags |= FORCE_CLIP_REGION;
 
        traps.antialias = antialias;
        status = clip_and_composite (compositor, extents,
@@ -1791,7 +1851,8 @@ composite_traps_as_boxes (const cairo_traps_compositor_t *compositor,
 static cairo_int_status_t
 clip_and_composite_traps (const cairo_traps_compositor_t *compositor,
                          cairo_composite_rectangles_t *extents,
-                         composite_traps_info_t *info)
+                         composite_traps_info_t *info,
+                         unsigned flags)
 {
     cairo_int_status_t status;
 
@@ -1801,10 +1862,10 @@ clip_and_composite_traps (const cairo_traps_compositor_t *compositor,
     if (unlikely (status != CAIRO_INT_STATUS_SUCCESS))
        return status;
 
-    status = composite_traps_as_boxes (compositor, extents, info);
+    status = CAIRO_INT_STATUS_UNSUPPORTED;
+    if ((flags & FORCE_CLIP_REGION) == 0)
+       status = composite_traps_as_boxes (compositor, extents, info);
     if (status == CAIRO_INT_STATUS_UNSUPPORTED) {
-       unsigned int flags = 0;
-
        /* For unbounded operations, the X11 server will estimate the
         * affected rectangle and apply the operation to that. However,
         * there are cases where this is an overestimate (e.g. the
@@ -2152,16 +2213,32 @@ _cairo_traps_compositor_stroke (const cairo_compositor_t *_compositor,
     }
 
     if (status == CAIRO_INT_STATUS_UNSUPPORTED) {
+       cairo_int_status_t (*func) (const cairo_path_fixed_t    *path,
+                                   const cairo_stroke_style_t  *stroke_style,
+                                   const cairo_matrix_t        *ctm,
+                                   const cairo_matrix_t        *ctm_inverse,
+                                   double                       tolerance,
+                                   cairo_traps_t               *traps);
        composite_traps_info_t info;
+       unsigned flags = 0;
+
+       if (antialias == CAIRO_ANTIALIAS_BEST || antialias == CAIRO_ANTIALIAS_GOOD) {
+           func = _cairo_path_fixed_stroke_polygon_to_traps;
+       } else {
+           func = _cairo_path_fixed_stroke_to_traps;
+           if (extents->clip->num_boxes > 1 ||
+               extents->mask.width  > extents->unbounded.width ||
+               extents->mask.height > extents->unbounded.height)
+           {
+               flags = NEED_CLIP_REGION | FORCE_CLIP_REGION;
+           }
+       }
 
        info.antialias = antialias;
        _cairo_traps_init_with_clip (&info.traps, extents->clip);
-       status = _cairo_path_fixed_stroke_to_traps (path, style,
-                                                   ctm, ctm_inverse,
-                                                   tolerance,
-                                                   &info.traps);
+       status = func (path, style, ctm, ctm_inverse, tolerance, &info.traps);
        if (likely (status == CAIRO_INT_STATUS_SUCCESS))
-           status = clip_and_composite_traps (compositor, extents, &info);
+           status = clip_and_composite_traps (compositor, extents, &info, flags);
        _cairo_traps_fini (&info.traps);
     }
 
@@ -2276,7 +2353,10 @@ _cairo_traps_compositor_glyphs (const cairo_compositor_t *_compositor,
     if (unlikely (status))
        return status;
 
+#if ! CAIRO_HAS_TG_SURFACE
     _cairo_scaled_font_freeze_cache (scaled_font);
+#endif
+
     status = compositor->check_composite_glyphs (extents,
                                                 scaled_font, glyphs,
                                                 &num_glyphs);
@@ -2301,7 +2381,10 @@ _cairo_traps_compositor_glyphs (const cairo_compositor_t *_compositor,
                                     need_bounded_clip (extents) |
                                     flags);
     }
+
+#if ! CAIRO_HAS_TG_SURFACE
     _cairo_scaled_font_thaw_cache (scaled_font);
+#endif
 
     return status;
 }
index 62c0fe7..7fef062 100644 (file)
@@ -47,6 +47,7 @@ CAIRO_BEGIN_DECLS
 struct _cairo_traps {
     cairo_status_t status;
 
+    cairo_box_t bounds;
     const cairo_box_t *limits;
     int num_limits;
 
@@ -89,6 +90,14 @@ _cairo_traps_fini (cairo_traps_t *traps);
 cairo_private void
 _cairo_traps_translate (cairo_traps_t *traps, int x, int y);
 
+cairo_private void
+_cairo_traps_tessellate_triangle (cairo_traps_t *traps,
+                                 const cairo_point_t t[3]);
+
+cairo_private void
+_cairo_traps_tessellate_convex_quad (cairo_traps_t *traps,
+                                    const cairo_point_t q[4]);
+
 cairo_private cairo_status_t
 _cairo_traps_tessellate_rectangle (cairo_traps_t *traps,
                                   const cairo_point_t *top_left,
index 48eaf98..8bdac45 100644 (file)
@@ -39,6 +39,7 @@
 
 #include "cairoint.h"
 
+#include "cairo-box-inline.h"
 #include "cairo-boxes-private.h"
 #include "cairo-error-private.h"
 #include "cairo-region-private.h"
@@ -64,6 +65,7 @@ _cairo_traps_init (cairo_traps_t *traps)
     traps->traps_size = ARRAY_LENGTH (traps->traps_embedded);
     traps->traps = traps->traps_embedded;
 
+    traps->limits = NULL;
     traps->num_limits = 0;
     traps->has_intersections = FALSE;
 }
@@ -73,8 +75,14 @@ _cairo_traps_limit (cairo_traps_t    *traps,
                    const cairo_box_t   *limits,
                    int                  num_limits)
 {
+    int i;
+
     traps->limits = limits;
     traps->num_limits = num_limits;
+
+    traps->bounds = limits[0];
+    for (i = 1; i < num_limits; i++)
+       _cairo_box_add_box (&traps->bounds, &limits[i]);
 }
 
 void
@@ -158,6 +166,245 @@ _cairo_traps_add_trap (cairo_traps_t *traps,
     trap->right = *right;
 }
 
+static void
+_cairo_traps_add_clipped_trap (cairo_traps_t *traps,
+                              cairo_fixed_t _top, cairo_fixed_t _bottom,
+                              cairo_line_t *_left, cairo_line_t *_right)
+{
+    /* Note: With the goofy trapezoid specification, (where an
+     * arbitrary two points on the lines can specified for the left
+     * and right edges), these limit checks would not work in
+     * general. For example, one can imagine a trapezoid entirely
+     * within the limits, but with two points used to specify the left
+     * edge entirely to the right of the limits.  Fortunately, for our
+     * purposes, cairo will never generate such a crazy
+     * trapezoid. Instead, cairo always uses for its points the
+     * extreme positions of the edge that are visible on at least some
+     * trapezoid. With this constraint, it's impossible for both
+     * points to be outside the limits while the relevant edge is
+     * entirely inside the limits.
+     */
+    if (traps->num_limits) {
+       const cairo_box_t *b = &traps->bounds;
+       cairo_fixed_t top = _top, bottom = _bottom;
+       cairo_line_t left = *_left, right = *_right;
+
+       /* Trivially reject if trapezoid is entirely to the right or
+        * to the left of the limits. */
+       if (left.p1.x >= b->p2.x && left.p2.x >= b->p2.x)
+           return;
+
+       if (right.p1.x <= b->p1.x && right.p2.x <= b->p1.x)
+           return;
+
+       /* And reject if the trapezoid is entirely above or below */
+       if (top >= b->p2.y || bottom <= b->p1.y)
+           return;
+
+       /* Otherwise, clip the trapezoid to the limits. We only clip
+        * where an edge is entirely outside the limits. If we wanted
+        * to be more clever, we could handle cases where a trapezoid
+        * edge intersects the edge of the limits, but that would
+        * require slicing this trapezoid into multiple trapezoids,
+        * and I'm not sure the effort would be worth it. */
+       if (top < b->p1.y)
+           top = b->p1.y;
+
+       if (bottom > b->p2.y)
+           bottom = b->p2.y;
+
+       if (left.p1.x <= b->p1.x && left.p2.x <= b->p1.x)
+           left.p1.x = left.p2.x = b->p1.x;
+
+       if (right.p1.x >= b->p2.x && right.p2.x >= b->p2.x)
+           right.p1.x = right.p2.x = b->p2.x;
+
+       /* Trivial discards for empty trapezoids that are likely to
+        * be produced by our tessellators (most notably convex_quad
+        * when given a simple rectangle).
+        */
+       if (top >= bottom)
+           return;
+
+       /* cheap colinearity check */
+       if (right.p1.x <= left.p1.x && right.p1.y == left.p1.y &&
+           right.p2.x <= left.p2.x && right.p2.y == left.p2.y)
+           return;
+
+       _cairo_traps_add_trap (traps, top, bottom, &left, &right);
+    } else
+       _cairo_traps_add_trap (traps, _top, _bottom, _left, _right);
+}
+
+static int
+_compare_point_fixed_by_y (const void *av, const void *bv)
+{
+    const cairo_point_t        *a = av, *b = bv;
+    int ret = a->y - b->y;
+    if (ret == 0)
+       ret = a->x - b->x;
+    return ret;
+}
+
+void
+_cairo_traps_tessellate_convex_quad (cairo_traps_t *traps,
+                                    const cairo_point_t q[4])
+{
+    int a, b, c, d;
+    int i;
+    cairo_slope_t ab, ad;
+    cairo_bool_t b_left_of_d;
+    cairo_line_t left;
+    cairo_line_t right;
+
+    /* Choose a as a point with minimal y */
+    a = 0;
+    for (i = 1; i < 4; i++)
+       if (_compare_point_fixed_by_y (&q[i], &q[a]) < 0)
+           a = i;
+
+    /* b and d are adjacent to a, while c is opposite */
+    b = (a + 1) % 4;
+    c = (a + 2) % 4;
+    d = (a + 3) % 4;
+
+    /* Choose between b and d so that b.y is less than d.y */
+    if (_compare_point_fixed_by_y (&q[d], &q[b]) < 0) {
+       b = (a + 3) % 4;
+       d = (a + 1) % 4;
+    }
+
+    /* Without freedom left to choose anything else, we have four
+     * cases to tessellate.
+     *
+     * First, we have to determine the Y-axis sort of the four
+     * vertices, (either abcd or abdc). After that we need to detemine
+     * which edges will be "left" and which will be "right" in the
+     * resulting trapezoids. This can be determined by computing a
+     * slope comparison of ab and ad to determine if b is left of d or
+     * not.
+     *
+     * Note that "left of" here is in the sense of which edges should
+     * be the left vs. right edges of the trapezoid. In particular, b
+     * left of d does *not* mean that b.x is less than d.x.
+     *
+     * This should hopefully be made clear in the lame ASCII art
+     * below. Since the same slope comparison is used in all cases, we
+     * compute it before testing for the Y-value sort. */
+
+    /* Note: If a == b then the ab slope doesn't give us any
+     * information. In that case, we can replace it with the ac (or
+     * equivalenly the bc) slope which gives us exactly the same
+     * information we need. At worst the names of the identifiers ab
+     * and b_left_of_d are inaccurate in this case, (would be ac, and
+     * c_left_of_d). */
+    if (q[a].x == q[b].x && q[a].y == q[b].y)
+       _cairo_slope_init (&ab, &q[a], &q[c]);
+    else
+       _cairo_slope_init (&ab, &q[a], &q[b]);
+
+    _cairo_slope_init (&ad, &q[a], &q[d]);
+
+    b_left_of_d = _cairo_slope_compare (&ab, &ad) > 0;
+
+    if (q[c].y <= q[d].y) {
+       if (b_left_of_d) {
+           /* Y-sort is abcd and b is left of d, (slope(ab) > slope (ad))
+            *
+            *                      top bot left right
+            *        _a  a  a
+            *      / /  /|  |\      a.y b.y  ab   ad
+            *     b /  b |  b \
+            *    / /   | |   \ \    b.y c.y  bc   ad
+            *   c /    c |    c \
+            *  | /      \|     \ \  c.y d.y  cd   ad
+            *  d         d       d
+            */
+           left.p1  = q[a]; left.p2  = q[b];
+           right.p1 = q[a]; right.p2 = q[d];
+           _cairo_traps_add_clipped_trap (traps, q[a].y, q[b].y, &left, &right);
+           left.p1  = q[b]; left.p2  = q[c];
+           _cairo_traps_add_clipped_trap (traps, q[b].y, q[c].y, &left, &right);
+           left.p1  = q[c]; left.p2  = q[d];
+           _cairo_traps_add_clipped_trap (traps, q[c].y, q[d].y, &left, &right);
+       } else {
+           /* Y-sort is abcd and b is right of d, (slope(ab) <= slope (ad))
+            *
+            *       a  a  a_
+            *      /|  |\  \ \     a.y b.y  ad  ab
+            *     / b  | b  \ b
+            *    / /   | |   \ \   b.y c.y  ad  bc
+            *   / c    | c    \ c
+            *  / /     |/      \ | c.y d.y  ad  cd
+            *  d       d         d
+            */
+           left.p1  = q[a]; left.p2  = q[d];
+           right.p1 = q[a]; right.p2 = q[b];
+           _cairo_traps_add_clipped_trap (traps, q[a].y, q[b].y, &left, &right);
+           right.p1 = q[b]; right.p2 = q[c];
+           _cairo_traps_add_clipped_trap (traps, q[b].y, q[c].y, &left, &right);
+           right.p1 = q[c]; right.p2 = q[d];
+           _cairo_traps_add_clipped_trap (traps, q[c].y, q[d].y, &left, &right);
+       }
+    } else {
+       if (b_left_of_d) {
+           /* Y-sort is abdc and b is left of d, (slope (ab) > slope (ad))
+            *
+            *        a   a     a
+            *       //  / \    |\     a.y b.y  ab  ad
+            *     /b/  b   \   b \
+            *    / /    \   \   \ \   b.y d.y  bc  ad
+            *   /d/      \   d   \ d
+            *  //         \ /     \|  d.y c.y  bc  dc
+            *  c           c       c
+            */
+           left.p1  = q[a]; left.p2  = q[b];
+           right.p1 = q[a]; right.p2 = q[d];
+           _cairo_traps_add_clipped_trap (traps, q[a].y, q[b].y, &left, &right);
+           left.p1  = q[b]; left.p2  = q[c];
+           _cairo_traps_add_clipped_trap (traps, q[b].y, q[d].y, &left, &right);
+           right.p1 = q[d]; right.p2 = q[c];
+           _cairo_traps_add_clipped_trap (traps, q[d].y, q[c].y, &left, &right);
+       } else {
+           /* Y-sort is abdc and b is right of d, (slope (ab) <= slope (ad))
+            *
+            *      a     a   a
+            *     /|    / \  \\       a.y b.y  ad  ab
+            *    / b   /   b  \b\
+            *   / /   /   /    \ \    b.y d.y  ad  bc
+            *  d /   d   /      \d\
+            *  |/     \ /         \\  d.y c.y  dc  bc
+            *  c       c          c
+            */
+           left.p1  = q[a]; left.p2  = q[d];
+           right.p1 = q[a]; right.p2 = q[b];
+           _cairo_traps_add_clipped_trap (traps, q[a].y, q[b].y, &left, &right);
+           right.p1 = q[b]; right.p2 = q[c];
+           _cairo_traps_add_clipped_trap (traps, q[b].y, q[d].y, &left, &right);
+           left.p1  = q[d]; left.p2  = q[c];
+           _cairo_traps_add_clipped_trap (traps, q[d].y, q[c].y, &left, &right);
+       }
+    }
+}
+
+/* A triangle is simply a degenerate case of a convex
+ * quadrilateral. We would not benefit from having any distinct
+ * implementation of triangle vs. quadrilateral tessellation here. */
+void
+_cairo_traps_tessellate_triangle (cairo_traps_t *traps,
+                                 const cairo_point_t t[3])
+{
+    cairo_point_t quad[4];
+
+    quad[0] = t[0];
+    quad[1] = t[0];
+    quad[2] = t[1];
+    quad[3] = t[2];
+
+    _cairo_traps_tessellate_convex_quad (traps, quad);
+}
+
+
 /**
  * _cairo_traps_init_boxes:
  * @traps: a #cairo_traps_t
@@ -240,6 +487,9 @@ _cairo_traps_tessellate_rectangle (cairo_traps_t *traps,
        cairo_bool_t reversed;
        int n;
 
+       if (top >= traps->bounds.p2.y || bottom <= traps->bounds.p1.y)
+           return CAIRO_STATUS_SUCCESS;
+
        /* support counter-clockwise winding for rectangular tessellation */
        reversed = top_left->x > bottom_right->x;
        if (reversed) {
@@ -247,6 +497,9 @@ _cairo_traps_tessellate_rectangle (cairo_traps_t *traps,
            left.p1.x = left.p2.x = bottom_right->x;
        }
 
+       if (left.p1.x >= traps->bounds.p2.x || right.p1.x <= traps->bounds.p1.x)
+           return CAIRO_STATUS_SUCCESS;
+
        for (n = 0; n < traps->num_limits; n++) {
            const cairo_box_t *limits = &traps->limits[n];
            cairo_line_t _left, _right;
index 18ee685..44d7f60 100644 (file)
@@ -926,6 +926,9 @@ cairo_truetype_font_update_entry (cairo_truetype_font_t *font,
     uint32_t *entry;
 
     entry = _cairo_array_index (&font->output, 12 + 16 * index);
+    if (entry == NULL)
+       return;
+
     entry[0] = cpu_to_be32 ((uint32_t)tag);
     entry[1] = cpu_to_be32 (cairo_truetype_font_calculate_checksum (font, start, end));
     entry[2] = cpu_to_be32 ((uint32_t)start);
@@ -978,6 +981,11 @@ cairo_truetype_font_generate (cairo_truetype_font_t  *font,
     checksum =
        0xb1b0afba - cairo_truetype_font_calculate_checksum (font, 0, end);
     checksum_location = _cairo_array_index (&font->output, font->checksum_index);
+    if (checksum_location == NULL) {
+       status = _cairo_error (CAIRO_STATUS_NULL_POINTER);
+       goto FAIL;
+    }
+
     *checksum_location = cpu_to_be32 (checksum);
 
     *data = _cairo_array_index (&font->output, 0);
index 4a65741..d7d6eae 100644 (file)
@@ -327,6 +327,9 @@ charstring_encrypt (cairo_array_t *data)
 
     r = CAIRO_TYPE1_CHARSTRING_KEY;
     d = (unsigned char *) _cairo_array_index (data, 0);
+    if (d == NULL)
+       return;
+
     end = d + _cairo_array_num_elements (data);
     while (d < end) {
        p = *d;
@@ -893,7 +896,8 @@ _cairo_type2_charstrings_fini (cairo_type2_charstrings_t *type2_subset)
     num_charstrings = _cairo_array_num_elements (&type2_subset->charstrings);
     for (i = 0; i < num_charstrings; i++) {
         charstring = _cairo_array_index (&type2_subset->charstrings, i);
-        _cairo_array_fini (charstring);
+       if (charstring)
+           _cairo_array_fini (charstring);
     }
     _cairo_array_fini (&type2_subset->charstrings);
 
index e507abe..8453cbd 100644 (file)
@@ -53,6 +53,7 @@
 #include "cairo-output-stream-private.h"
 
 #include <ctype.h>
+#include <locale.h>
 
 #define TYPE1_STACKSIZE 24 /* Defined in Type 1 Font Format */
 
@@ -114,6 +115,8 @@ typedef struct _cairo_type1_font_subset {
 
     const char *rd, *nd, *np;
 
+    int lenIV;
+
     char *type1_data;
     unsigned int type1_length;
     char *type1_end;
@@ -134,11 +137,13 @@ typedef struct _cairo_type1_font_subset {
     int hex_column;
 
     struct {
-       int stack[TYPE1_STACKSIZE], sp, top_value;
+       double stack[TYPE1_STACKSIZE];
+       int sp;
     } build_stack;
 
     struct {
-       int other_subr_args[TYPE1_STACKSIZE], num_other_subr_args, cur_other_subr_arg;
+       int stack[TYPE1_STACKSIZE];
+       int sp;
     } ps_stack;
 
 
@@ -302,8 +307,17 @@ cairo_type1_font_subset_get_matrix (cairo_type1_font_subset_t *font,
                                    double                    *d)
 {
     const char *start, *end, *segment_end;
-    int ret;
+    int ret, s_max, i, j;
     char *s;
+    struct lconv *locale_data;
+    const char *decimal_point;
+    int decimal_point_len;
+
+    locale_data = localeconv ();
+    decimal_point = locale_data->decimal_point;
+    decimal_point_len = strlen (decimal_point);
+
+    assert (decimal_point_len != 0);
 
     segment_end = font->header_segment + font->header_segment_size;
     start = find_token (font->header_segment, segment_end, name);
@@ -314,12 +328,23 @@ cairo_type1_font_subset_get_matrix (cairo_type1_font_subset_t *font,
     if (end == NULL)
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
-    s = malloc (end - start + 1);
+    s_max = end - start + 5*decimal_point_len + 1;
+    s = malloc (s_max);
     if (unlikely (s == NULL))
        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
-    strncpy (s, start, end - start);
-    s[end - start] = 0;
+    i = 0;
+    j = 0;
+    while (i < end - start && j < s_max - decimal_point_len) {
+       if (start[i] == '.') {
+           strncpy(s + j, decimal_point, decimal_point_len);
+           i++;
+           j += decimal_point_len;
+       } else {
+           s[j++] = start[i++];
+       }
+    }
+    s[j] = 0;
 
     start = strpbrk (s, "{[");
     if (!start) {
@@ -508,18 +533,17 @@ cairo_type1_font_subset_write_header (cairo_type1_font_subset_t *font,
     if (font->scaled_font_subset->is_latin) {
        for (i = 1; i < 256; i++) {
            int subset_glyph = font->scaled_font_subset->latin_to_subset_glyph_index[i];
-           int glyph_num = font->subset_index_to_glyphs[subset_glyph];
 
            if (subset_glyph > 0) {
                _cairo_output_stream_printf (font->output,
                                             "dup %d /%s put\n",
                                             i,
-                                            font->glyph_names[glyph_num]);
+                                            _cairo_winansi_to_glyphname (i));
            }
        }
     } else {
-       for (i = 1; i < font->base.num_glyphs; i++) {
-           if (font->glyphs[i].subset_index < 0)
+       for (i = 0; i < font->base.num_glyphs; i++) {
+           if (font->glyphs[i].subset_index <= 0)
                continue;
            _cairo_output_stream_printf (font->output,
                                         "dup %d /%s put\n",
@@ -719,17 +743,37 @@ use_standard_encoding_glyph (cairo_type1_font_subset_t *font, int index)
     return CAIRO_INT_STATUS_UNSUPPORTED;
 }
 
-#define TYPE1_CHARSTRING_COMMAND_ESCAPE                0x0c
-#define TYPE1_CHARSTRING_COMMAND_SEAC          0x0c06
-#define TYPE1_CHARSTRING_COMMAND_SBW           0x0c07
-#define TYPE1_CHARSTRING_COMMAND_HSBW          0x0d
-#define TYPE1_CHARSTRING_COMMAND_CALLSUBR      0x0a
-#define TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR  0x0c10
-#define TYPE1_CHARSTRING_COMMAND_POP           0x0c11
-
-
 
-/* Get glyph width and look for seac operatorParse charstring */
+#define TYPE1_CHARSTRING_COMMAND_HSTEM          0x01
+#define TYPE1_CHARSTRING_COMMAND_VSTEM          0x03
+#define TYPE1_CHARSTRING_COMMAND_VMOVETO        0x04
+#define TYPE1_CHARSTRING_COMMAND_RLINETO        0x05
+#define TYPE1_CHARSTRING_COMMAND_HLINETO        0x06
+#define TYPE1_CHARSTRING_COMMAND_VLINETO        0x07
+#define TYPE1_CHARSTRING_COMMAND_RRCURVETO      0x08
+#define TYPE1_CHARSTRING_COMMAND_CLOSEPATH      0x09
+#define TYPE1_CHARSTRING_COMMAND_CALLSUBR       0x0a
+#define TYPE1_CHARSTRING_COMMAND_RETURN                 0x0b
+#define TYPE1_CHARSTRING_COMMAND_ESCAPE                 0x0c
+#define TYPE1_CHARSTRING_COMMAND_HSBW           0x0d
+#define TYPE1_CHARSTRING_COMMAND_ENDCHAR        0x0e
+#define TYPE1_CHARSTRING_COMMAND_RMOVETO        0x15
+#define TYPE1_CHARSTRING_COMMAND_HMOVETO        0x16
+#define TYPE1_CHARSTRING_COMMAND_VHCURVETO      0x1e
+#define TYPE1_CHARSTRING_COMMAND_HVCURVETO      0x1f
+#define TYPE1_CHARSTRING_COMMAND_DOTSECTION     0x0c00
+#define TYPE1_CHARSTRING_COMMAND_VSTEM3                 0x0c01
+#define TYPE1_CHARSTRING_COMMAND_HSTEM3                 0x0c02
+#define TYPE1_CHARSTRING_COMMAND_SEAC           0x0c06
+#define TYPE1_CHARSTRING_COMMAND_SBW            0x0c07
+#define TYPE1_CHARSTRING_COMMAND_DIV            0x0c0c
+#define TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR   0x0c10
+#define TYPE1_CHARSTRING_COMMAND_POP            0x0c11
+#define TYPE1_CHARSTRING_COMMAND_SETCURRENTPOINT 0x0c21
+
+/* Parse the charstring, including recursing into subroutines. Find
+ * the glyph width, subroutines called, and glyphs required by the
+ * SEAC operator. */
 static cairo_status_t
 cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
                                          int                        glyph,
@@ -740,9 +784,7 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
     unsigned char *charstring;
     const unsigned char *end;
     const unsigned char *p;
-    cairo_bool_t last_op_was_integer;
     int command;
-    int subr_num, i;
 
     charstring = malloc (encrypted_charstring_length);
     if (unlikely (charstring == NULL))
@@ -753,45 +795,72 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
                                                encrypted_charstring_length,
                                                charstring);
     end = charstring + encrypted_charstring_length;
-
-    p = charstring + 4;
-
-    last_op_was_integer = FALSE;
-
+    p = charstring + font->lenIV;
+    status = CAIRO_STATUS_SUCCESS;
     while (p < end) {
         if (*p < 32) {
            command = *p++;
            switch (command) {
-           case TYPE1_CHARSTRING_COMMAND_HSBW:
-               if (! last_op_was_integer)
-                   return CAIRO_INT_STATUS_UNSUPPORTED;
-
-               font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em;
+           case TYPE1_CHARSTRING_COMMAND_HSTEM:
+           case TYPE1_CHARSTRING_COMMAND_VSTEM:
+           case TYPE1_CHARSTRING_COMMAND_VMOVETO:
+           case TYPE1_CHARSTRING_COMMAND_RLINETO:
+           case TYPE1_CHARSTRING_COMMAND_HLINETO:
+           case TYPE1_CHARSTRING_COMMAND_VLINETO:
+           case TYPE1_CHARSTRING_COMMAND_RRCURVETO:
+           case TYPE1_CHARSTRING_COMMAND_CLOSEPATH:
+           case TYPE1_CHARSTRING_COMMAND_RMOVETO:
+           case TYPE1_CHARSTRING_COMMAND_HMOVETO:
+           case TYPE1_CHARSTRING_COMMAND_VHCURVETO:
+           case TYPE1_CHARSTRING_COMMAND_HVCURVETO:
+           case TYPE1_CHARSTRING_COMMAND_RETURN:
+           case TYPE1_CHARSTRING_COMMAND_ENDCHAR:
+           default:
+               /* stack clearing operator */
                font->build_stack.sp = 0;
-               last_op_was_integer = FALSE;
                break;
 
            case TYPE1_CHARSTRING_COMMAND_CALLSUBR:
-               if (font->subset_subrs  &&
-                   last_op_was_integer &&
-                   font->build_stack.top_value >= 0    &&
-                   font->build_stack.top_value < font->num_subrs)
-               {
-                   subr_num = font->build_stack.top_value;
-                   font->subrs[subr_num].used = TRUE;
-                   last_op_was_integer = FALSE;
-                   status = cairo_type1_font_subset_parse_charstring (font,
-                                                                      glyph,
-                                                                      font->subrs[subr_num].subr_string,
-                                                                      font->subrs[subr_num].subr_length);
-               } else {
-                   font->subset_subrs = FALSE;
+               if (font->subset_subrs && font->build_stack.sp > 0) {
+                   double int_val;
+                   if (modf(font->build_stack.stack[--font->build_stack.sp], &int_val) == 0.0) {
+                       int subr_num = int_val;
+                       if (subr_num >= 0 && subr_num < font->num_subrs) {
+                           font->subrs[subr_num].used = TRUE;
+                           status = cairo_type1_font_subset_parse_charstring (
+                               font,
+                               glyph,
+                               font->subrs[subr_num].subr_string,
+                               font->subrs[subr_num].subr_length);
+                           break;
+                       }
+                   }
                }
+               font->subset_subrs = FALSE;
+               break;
+
+           case TYPE1_CHARSTRING_COMMAND_HSBW:
+               if (font->build_stack.sp < 2) {
+                   status = CAIRO_INT_STATUS_UNSUPPORTED;
+                   goto cleanup;
+               }
+
+               font->glyphs[glyph].width = font->build_stack.stack[1]/font->base.units_per_em;
+               font->build_stack.sp = 0;
                break;
 
            case TYPE1_CHARSTRING_COMMAND_ESCAPE:
                command = command << 8 | *p++;
                switch (command) {
+               case TYPE1_CHARSTRING_COMMAND_DOTSECTION:
+               case TYPE1_CHARSTRING_COMMAND_VSTEM3:
+               case TYPE1_CHARSTRING_COMMAND_HSTEM3:
+               case TYPE1_CHARSTRING_COMMAND_SETCURRENTPOINT:
+               default:
+                   /* stack clearing operator */
+                   font->build_stack.sp = 0;
+                   break;
+
                case TYPE1_CHARSTRING_COMMAND_SEAC:
                    /* The seac command takes five integer arguments.  The
                     * last two are glyph indices into the PS standard
@@ -799,69 +868,97 @@ cairo_type1_font_subset_parse_charstring (cairo_type1_font_subset_t *font,
                     * glyph is composed from.  All we need to do is to
                     * make sure those glyphs are present in the subset
                     * under their standard names. */
+                   if (font->build_stack.sp < 5) {
+                       status = CAIRO_INT_STATUS_UNSUPPORTED;
+                       goto cleanup;
+                   }
+
                    status = use_standard_encoding_glyph (font, font->build_stack.stack[3]);
                    if (unlikely (status))
-                       return status;
+                       goto cleanup;
 
                    status = use_standard_encoding_glyph (font, font->build_stack.stack[4]);
                    if (unlikely (status))
-                       return status;
+                       goto cleanup;
 
                    font->build_stack.sp = 0;
-                   last_op_was_integer = FALSE;
                    break;
 
                case TYPE1_CHARSTRING_COMMAND_SBW:
-                   if (! last_op_was_integer)
-                       return CAIRO_INT_STATUS_UNSUPPORTED;
+                   if (font->build_stack.sp < 4) {
+                       status = CAIRO_INT_STATUS_UNSUPPORTED;
+                       goto cleanup;
+                   }
 
                    font->glyphs[glyph].width = font->build_stack.stack[2]/font->base.units_per_em;
                    font->build_stack.sp = 0;
-                   last_op_was_integer = FALSE;
                    break;
 
-               case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR:
-                   for (i = 0; i < font->build_stack.sp; i++)
-                       font->ps_stack.other_subr_args[i] = font->build_stack.stack[i];
-                   font->ps_stack.num_other_subr_args = font->build_stack.sp;
-                   font->ps_stack.cur_other_subr_arg = 0;
-                   font->build_stack.sp = 0;
-                   last_op_was_integer = FALSE;
+               case TYPE1_CHARSTRING_COMMAND_DIV:
+                   if (font->build_stack.sp < 2) {
+                       status = CAIRO_INT_STATUS_UNSUPPORTED;
+                       goto cleanup;
+                   } else {
+                       double num1 = font->build_stack.stack[font->build_stack.sp - 2];
+                       double num2 = font->build_stack.stack[font->build_stack.sp - 1];
+                       font->build_stack.sp--;
+                       if (num2 == 0.0) {
+                           status = CAIRO_INT_STATUS_UNSUPPORTED;
+                           goto cleanup;
+                       }
+                       font->build_stack.stack[font->build_stack.sp - 1] = num1/num2;
+                   }
                    break;
 
+               case TYPE1_CHARSTRING_COMMAND_CALLOTHERSUBR:
+                   if (font->build_stack.sp < 1) {
+                       status = CAIRO_INT_STATUS_UNSUPPORTED;
+                       goto cleanup;
+                   }
+
+                   font->build_stack.sp--;
+                   font->ps_stack.sp = 0;
+                   while (font->build_stack.sp)
+                       font->ps_stack.stack[font->ps_stack.sp++] = font->build_stack.stack[--font->build_stack.sp];
+
+                    break;
+
                case TYPE1_CHARSTRING_COMMAND_POP:
-                   if (font->ps_stack.num_other_subr_args > font->ps_stack.cur_other_subr_arg) {
-                       font->build_stack.top_value = font->ps_stack.other_subr_args[font->ps_stack.cur_other_subr_arg++];
-                       last_op_was_integer = TRUE;
-                   } else {
-                       font->subset_subrs = FALSE;
+                   if (font->ps_stack.sp < 1) {
+                       status = CAIRO_INT_STATUS_UNSUPPORTED;
+                       goto cleanup;
                    }
-                   break;
 
-               default:
-                   font->build_stack.sp = 0;
-                   last_op_was_integer = FALSE;
+                   if (font->ps_stack.sp >= TYPE1_STACKSIZE) {
+                       status = CAIRO_INT_STATUS_UNSUPPORTED;
+                       goto cleanup;
+                   }
+
+                   /* T1 spec states that if the interpreter does not
+                    * support executing the callothersub, the results
+                    * must be taken from the callothersub arguments. */
+                   font->build_stack.stack[font->build_stack.sp++] = font->ps_stack.stack[--font->ps_stack.sp];
                    break;
                }
                break;
-
-           default:
-               font->build_stack.sp = 0;
-               last_op_was_integer = FALSE;
-               break;
            }
-        } else {
+       } else {
             /* integer argument */
-           p = cairo_type1_font_subset_decode_integer (p, &font->build_stack.top_value);
-           last_op_was_integer = TRUE;
-           if (font->build_stack.sp < TYPE1_STACKSIZE)
-               font->build_stack.stack[font->build_stack.sp++] = font->build_stack.top_value;
-        }
+           if (font->build_stack.sp < TYPE1_STACKSIZE) {
+               int val;
+               p = cairo_type1_font_subset_decode_integer (p, &val);
+               font->build_stack.stack[font->build_stack.sp++] = val;
+           } else {
+               status = CAIRO_INT_STATUS_UNSUPPORTED;
+               goto cleanup;
+           }
+       }
     }
 
+cleanup:
     free (charstring);
 
-    return CAIRO_STATUS_SUCCESS;
+    return status;
 }
 
 static cairo_status_t
@@ -1036,10 +1133,28 @@ write_used_glyphs (cairo_type1_font_subset_t *font,
     cairo_status_t status;
     char buffer[256];
     int length;
+    int subset_id;
+    int ch;
 
     if (font->glyphs[glyph_number].subset_index < 0)
        return CAIRO_STATUS_SUCCESS;
 
+    if (font->scaled_font_subset->is_latin) {
+       /* When using the WinAnsi encoding in PDF, the /Encoding array
+        * is ignored and instead glyphs are keyed by glyph names. To
+        * ensure correct rendering we replace the glyph name in the
+        * font with the standard name.
+         **/
+       subset_id = font->glyphs[glyph_number].subset_index;
+       if (subset_id > 0) {
+           ch = font->scaled_font_subset->to_latin_char[subset_id];
+           name = _cairo_winansi_to_glyphname (ch);
+           if (name == NULL)
+               return CAIRO_STATUS_NULL_POINTER;
+           name_length = strlen(name);
+       }
+    }
+
     length = snprintf (buffer, sizeof buffer,
                       "/%.*s %d %s ",
                       name_length, name, charstring_length, font->rd);
@@ -1137,9 +1252,9 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font,
 {
     cairo_status_t status;
     const char *p, *subrs, *charstrings, *array_start, *array_end, *dict_start, *dict_end;
-    const char *closefile_token;
-    char buffer[32], *subr_count_end, *glyph_count_end;
-    int length;
+    const char *lenIV_start, *lenIV_end, *closefile_token;
+    char buffer[32], *lenIV_str, *subr_count_end, *glyph_count_end;
+    int ret, lenIV, length;
     const cairo_scaled_font_backend_t *backend;
     unsigned int i;
     int glyph, j;
@@ -1161,6 +1276,38 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font,
      * subroutines and charstrings not required.
      */
 
+    /* Determine lenIV, the number of random characters at the start of
+       each encrypted charstring. The defaults is 4, but this can be
+       overridden in the private dict. */
+    font->lenIV = 4;
+    if ((lenIV_start = find_token (font->cleartext, font->cleartext_end, "/lenIV")) != NULL) {
+        lenIV_start += 6;
+        lenIV_end = find_token (lenIV_start, font->cleartext_end, "def");
+        if (lenIV_end == NULL)
+           return CAIRO_INT_STATUS_UNSUPPORTED;
+
+        lenIV_str = malloc (lenIV_end - lenIV_start + 1);
+        if (unlikely (lenIV_str == NULL))
+           return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+        strncpy (lenIV_str, lenIV_start, lenIV_end - lenIV_start);
+        lenIV_str[lenIV_end - lenIV_start] = 0;
+
+        ret = sscanf(lenIV_str, "%d", &lenIV);
+        free(lenIV_str);
+
+        if (unlikely (ret <= 0))
+           return CAIRO_INT_STATUS_UNSUPPORTED;
+
+        /* Apparently some fonts signal unencrypted charstrings with a negative lenIV,
+           though this is not part of the Type 1 Font Format specification.  See, e.g.
+           http://lists.gnu.org/archive/html/freetype-devel/2000-06/msg00064.html. */
+        if (unlikely (lenIV < 0))
+           return CAIRO_INT_STATUS_UNSUPPORTED;
+
+        font->lenIV = lenIV;
+    }
+
     /* Find start of Subrs */
     subrs = find_token (font->cleartext, font->cleartext_end, "/Subrs");
     if (subrs == NULL) {
@@ -1184,8 +1331,6 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font,
 
     /* look for "dup" which marks the beginning of the first subr */
     array_start = find_token (subr_count_end, font->cleartext_end, "dup");
-    if (subrs == NULL)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
 
     /* Read in the subroutines */
     status = cairo_type1_font_for_each_subr (font,
@@ -1231,7 +1376,13 @@ skip_subrs:
        return status;
 
     font->glyphs = _cairo_array_index (&font->glyphs_array, 0);
+    if (font->glyphs == NULL)
+       return _cairo_error (CAIRO_STATUS_NULL_POINTER);
+
     font->glyph_names = _cairo_array_index (&font->glyph_names_array, 0);
+    if (font->glyph_names == NULL)
+       return _cairo_error (CAIRO_STATUS_NULL_POINTER);
+
     font->base.num_glyphs = _cairo_array_num_elements (&font->glyphs_array);
     font->subset_index_to_glyphs = calloc (font->base.num_glyphs, sizeof font->subset_index_to_glyphs[0]);
     if (unlikely (font->subset_index_to_glyphs == NULL))
@@ -1265,7 +1416,7 @@ skip_subrs:
     for (j = 0; j < font->num_glyphs; j++) {
        glyph = font->subset_index_to_glyphs[j];
        font->build_stack.sp = 0;
-       font->ps_stack.num_other_subr_args = 0;
+       font->ps_stack.sp = 0;
        status = cairo_type1_font_subset_parse_charstring (font,
                                                           glyph,
                                                           font->glyphs[glyph].encrypted_charstring,
@@ -1274,6 +1425,12 @@ skip_subrs:
            return status;
     }
 
+    /* Always include the first five subroutines in case the Flex/hint mechanism is
+     * being used. */
+    for (j = 0; j < MIN (font->num_subrs, 5); j++) {
+       font->subrs[j].used = TRUE;
+    }
+
     closefile_token = find_token (dict_end, font->cleartext_end, "closefile");
     if (closefile_token == NULL)
        return CAIRO_INT_STATUS_UNSUPPORTED;
@@ -1549,6 +1706,8 @@ _cairo_type1_font_subset_fini (cairo_type1_font_subset_t *font)
 
     free (font->subset_index_to_glyphs);
 
+    free (font->cleartext);
+
     return status;
 }
 
index 5bb6bfc..dc5dbdf 100644 (file)
@@ -124,8 +124,10 @@ _cairo_type3_glyph_surface_emit_image (cairo_type3_glyph_surface_t *surface,
     /* The only image type supported by Type 3 fonts are 1-bit masks */
     image = _cairo_image_surface_coerce_to_format (image, CAIRO_FORMAT_A1);
     status = image->base.status;
-    if (unlikely (status))
+    if (unlikely (status)) {
+       cairo_surface_destroy (&image->base);
        return status;
+    }
 
     _cairo_output_stream_printf (surface->stream,
                                 "q %f %f %f %f %f %f cm\n",
@@ -425,8 +427,11 @@ _cairo_type3_glyph_surface_analyze_glyph (void                  *abstract_surface,
        return surface->base.status;
 
     null_stream = _cairo_null_stream_create ();
-    if (unlikely (null_stream->status))
-       return null_stream->status;
+    if (unlikely (null_stream->status)) {
+       status = null_stream->status;
+       _cairo_output_stream_destroy (null_stream);
+       return status;
+    }
 
     _cairo_type3_glyph_surface_set_stream (surface, null_stream);
 
@@ -530,8 +535,10 @@ _cairo_type3_glyph_surface_emit_glyph (void                     *abstract_surface,
 
        mem_stream = _cairo_memory_stream_create ();
        status = mem_stream->status;
-       if (unlikely (status))
+       if (unlikely (status)) {
+            _cairo_output_stream_destroy (mem_stream);
            goto FAIL;
+       }
 
        _cairo_type3_glyph_surface_set_stream (surface, mem_stream);
 
old mode 100644 (file)
new mode 100755 (executable)
index 3c2d21a..5050fd5
@@ -194,6 +194,7 @@ struct _cairo_font_options {
     cairo_hint_style_t hint_style;
     cairo_hint_metrics_t hint_metrics;
     cairo_round_glyph_positions_t round_glyph_positions;
+       cairo_font_color_t color;
 };
 
 struct _cairo_glyph_text_info {
@@ -424,6 +425,29 @@ typedef struct _cairo_unscaled_font {
     cairo_reference_count_t             ref_count;
     const cairo_unscaled_font_backend_t        *backend;
 } cairo_unscaled_font_t;
+
+typedef struct _cairo_shadow {
+    double x_offset;
+    double y_offset;
+    cairo_shadow_type_t type;
+    double     x_blur;
+    double     y_blur;
+    cairo_color_t color;
+    cairo_bool_t path_is_fill_with_spread;
+    cairo_bool_t  enable_cache;
+    cairo_bool_t draw_shadow_only;
+} cairo_shadow_t;
+
+typedef struct _cairo_shadow_cache {
+    cairo_surface_t *surface;
+    unsigned long    hash;
+    unsigned long    size;
+    double          x_blur;
+    double          y_blur;
+    double           scale;
+    cairo_list_t     link;
+} cairo_shadow_cache_t;
+
 CAIRO_END_DECLS
 
 #endif /* CAIRO_TYPES_PRIVATE_H */
index 4872374..31cbcfe 100644 (file)
@@ -173,6 +173,12 @@ _wgl_dummy_ctx (cairo_wgl_context_t *ctx)
     return CAIRO_STATUS_SUCCESS;
 }
 
+static cairo_gl_generic_func_t
+_cairo_wgl_get_proc_address (void *data, const char *name)
+{
+    return wglGetProcAddress (name);
+}
+
 cairo_device_t *
 cairo_wgl_device_create (HGLRC rc)
 {
@@ -200,7 +206,8 @@ cairo_wgl_device_create (HGLRC rc)
     ctx->base.destroy = _wgl_destroy;
 
     status = _cairo_gl_dispatch_init (&ctx->base.dispatch,
-                                     (cairo_gl_get_proc_addr_func_t) wglGetProcAddress);
+                                     (cairo_gl_get_proc_addr_func_t) _cairo_wgl_get_proc_address,
+                                     NULL);
     if (unlikely (status)) {
        free (ctx);
        return _cairo_gl_context_create_in_error (status);
index 4051a1d..3f5491b 100644 (file)
@@ -55,9 +55,9 @@ cairo_uquorem64_t I
 _cairo_uint64_divrem (cairo_uint64_t num, cairo_uint64_t den);
 
 cairo_uint64_t I       _cairo_double_to_uint64 (double i);
-double        I        _cairo_uint64_to_double (uint64_t i);
+double        I        _cairo_uint64_to_double (cairo_uint64_t i);
 cairo_int64_t  I       _cairo_double_to_int64 (double i);
-double        I        _cairo_int64_to_double (uint64_t i);
+double        I        _cairo_int64_to_double (cairo_uint64_t i);
 
 cairo_uint64_t I       _cairo_uint32_to_uint64 (uint32_t i);
 #define                        _cairo_uint64_to_uint32(a)  ((a).lo)
diff --git a/src/cairo-win32-font.c b/src/cairo-win32-font.c
deleted file mode 100644 (file)
index 73fc052..0000000
+++ /dev/null
@@ -1,2437 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright © 2005 Red Hat, Inc
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * The Initial Developer of the Original Code is Red Hat, Inc.
- *
- * Contributor(s):
- */
-
-#define WIN32_LEAN_AND_MEAN
-/* We require Windows 2000 features such as GetGlyphIndices */
-#if !defined(WINVER) || (WINVER < 0x0500)
-# define WINVER 0x0500
-#endif
-#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)
-# define _WIN32_WINNT 0x0500
-#endif
-
-#include "cairoint.h"
-
-#include "cairo-win32-private.h"
-
-#include "cairo-array-private.h"
-#include "cairo-error-private.h"
-#include "cairo-image-surface-private.h"
-#include "cairo-pattern-private.h"
-#include "cairo-scaled-font-subsets-private.h"
-
-#include <wchar.h>
-
-#ifndef SPI_GETFONTSMOOTHINGTYPE
-#define SPI_GETFONTSMOOTHINGTYPE 0x200a
-#endif
-#ifndef FE_FONTSMOOTHINGCLEARTYPE
-#define FE_FONTSMOOTHINGCLEARTYPE 2
-#endif
-#ifndef CLEARTYPE_QUALITY
-#define CLEARTYPE_QUALITY 5
-#endif
-#ifndef TT_PRIM_CSPLINE
-#define TT_PRIM_CSPLINE 3
-#endif
-
-#define CMAP_TAG 0x70616d63
-
-/**
- * SECTION:cairo-win32-fonts
- * @Title: Win32 Fonts
- * @Short_Description: Font support for Microsoft Windows
- * @See_Also: #cairo_font_face_t
- *
- * The Microsoft Windows font backend is primarily used to render text on
- * Microsoft Windows systems.
- */
-
-/**
- * CAIRO_HAS_WIN32_FONT:
- *
- * Defined if the Microsoft Windows font backend is available.
- * This macro can be used to conditionally compile backend-specific code.
- */
-
-const cairo_scaled_font_backend_t _cairo_win32_scaled_font_backend;
-
-typedef struct {
-    cairo_scaled_font_t base;
-
-    LOGFONTW logfont;
-
-    BYTE quality;
-
-    /* We do drawing and metrics computation in a "logical space" which
-     * is similar to font space, except that it is scaled by a factor
-     * of the (desired font size) * (WIN32_FONT_LOGICAL_SCALE). The multiplication
-     * by WIN32_FONT_LOGICAL_SCALE allows for sub-pixel precision.
-     */
-    double logical_scale;
-
-    /* The size we should actually request the font at from Windows; differs
-     * from the logical_scale because it is quantized for orthogonal
-     * transformations
-     */
-    double logical_size;
-
-    /* Transformations from device <=> logical space
-     */
-    cairo_matrix_t logical_to_device;
-    cairo_matrix_t device_to_logical;
-
-    /* We special case combinations of 90-degree-rotations, scales and
-     * flips ... that is transformations that take the axes to the
-     * axes. If preserve_axes is true, then swap_axes/swap_x/swap_y
-     * encode the 8 possibilities for orientation (4 rotation angles with
-     * and without a flip), and scale_x, scale_y the scale components.
-     */
-    cairo_bool_t preserve_axes;
-    cairo_bool_t swap_axes;
-    cairo_bool_t swap_x;
-    cairo_bool_t swap_y;
-    double x_scale;
-    double y_scale;
-
-    /* The size of the design unit of the font
-     */
-    int em_square;
-
-    HFONT scaled_hfont;
-    HFONT unscaled_hfont;
-
-    cairo_bool_t is_bitmap;
-    cairo_bool_t is_type1;
-    cairo_bool_t delete_scaled_hfont;
-    cairo_bool_t has_type1_notdef_index;
-    unsigned long type1_notdef_index;
-} cairo_win32_scaled_font_t;
-
-static cairo_status_t
-_cairo_win32_scaled_font_set_metrics (cairo_win32_scaled_font_t *scaled_font);
-
-static cairo_status_t
-_cairo_win32_scaled_font_init_glyph_metrics (cairo_win32_scaled_font_t *scaled_font,
-                                            cairo_scaled_glyph_t      *scaled_glyph);
-
-static cairo_status_t
-_cairo_win32_scaled_font_init_glyph_surface (cairo_win32_scaled_font_t *scaled_font,
-                                             cairo_scaled_glyph_t      *scaled_glyph);
-
-static cairo_status_t
-_cairo_win32_scaled_font_init_glyph_path (cairo_win32_scaled_font_t *scaled_font,
-                                         cairo_scaled_glyph_t      *scaled_glyph);
-
-static void
-_cairo_win32_font_face_destroy (void *abstract_face);
-
-
-#define NEARLY_ZERO(d) (fabs(d) < (1. / 65536.))
-
-static HDC
-_get_global_font_dc (void)
-{
-    static HDC hdc;
-
-    if (!hdc) {
-       hdc = CreateCompatibleDC (NULL);
-       if (!hdc) {
-           _cairo_win32_print_gdi_error ("_get_global_font_dc");
-           return NULL;
-       }
-
-       if (!SetGraphicsMode (hdc, GM_ADVANCED)) {
-           _cairo_win32_print_gdi_error ("_get_global_font_dc");
-           DeleteDC (hdc);
-           return NULL;
-       }
-    }
-
-    return hdc;
-}
-
-static cairo_status_t
-_compute_transform (cairo_win32_scaled_font_t *scaled_font,
-                   cairo_matrix_t            *sc)
-{
-    cairo_status_t status;
-
-    if (NEARLY_ZERO (sc->yx) && NEARLY_ZERO (sc->xy) &&
-           !NEARLY_ZERO(sc->xx) && !NEARLY_ZERO(sc->yy)) {
-       scaled_font->preserve_axes = TRUE;
-       scaled_font->x_scale = sc->xx;
-       scaled_font->swap_x = (sc->xx < 0);
-       scaled_font->y_scale = sc->yy;
-       scaled_font->swap_y = (sc->yy < 0);
-       scaled_font->swap_axes = FALSE;
-
-    } else if (NEARLY_ZERO (sc->xx) && NEARLY_ZERO (sc->yy) &&
-           !NEARLY_ZERO(sc->yx) && !NEARLY_ZERO(sc->xy)) {
-       scaled_font->preserve_axes = TRUE;
-       scaled_font->x_scale = sc->yx;
-       scaled_font->swap_x = (sc->yx < 0);
-       scaled_font->y_scale = sc->xy;
-       scaled_font->swap_y = (sc->xy < 0);
-       scaled_font->swap_axes = TRUE;
-
-    } else {
-       scaled_font->preserve_axes = FALSE;
-       scaled_font->swap_x = scaled_font->swap_y = scaled_font->swap_axes = FALSE;
-    }
-
-    if (scaled_font->preserve_axes) {
-       if (scaled_font->swap_x)
-           scaled_font->x_scale = - scaled_font->x_scale;
-       if (scaled_font->swap_y)
-           scaled_font->y_scale = - scaled_font->y_scale;
-
-       scaled_font->logical_scale = WIN32_FONT_LOGICAL_SCALE * scaled_font->y_scale;
-       scaled_font->logical_size = WIN32_FONT_LOGICAL_SCALE *
-                                    _cairo_lround (scaled_font->y_scale);
-    }
-
-    /* The font matrix has x and y "scale" components which we extract and
-     * use as character scale values.
-     */
-    cairo_matrix_init (&scaled_font->logical_to_device,
-                      sc->xx, sc->yx, sc->xy, sc->yy, 0, 0);
-
-    if (!scaled_font->preserve_axes) {
-       status = _cairo_matrix_compute_basis_scale_factors (&scaled_font->logical_to_device,
-                                                     &scaled_font->x_scale, &scaled_font->y_scale,
-                                                     TRUE);    /* XXX: Handle vertical text */
-       if (status)
-           return status;
-
-       scaled_font->logical_size = _cairo_lround (WIN32_FONT_LOGICAL_SCALE *
-                                                   scaled_font->y_scale);
-       scaled_font->logical_scale = WIN32_FONT_LOGICAL_SCALE * scaled_font->y_scale;
-    }
-
-    cairo_matrix_scale (&scaled_font->logical_to_device,
-                       1.0 / scaled_font->logical_scale, 1.0 / scaled_font->logical_scale);
-
-    scaled_font->device_to_logical = scaled_font->logical_to_device;
-
-    status = cairo_matrix_invert (&scaled_font->device_to_logical);
-    if (status)
-       cairo_matrix_init_identity (&scaled_font->device_to_logical);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_bool_t
-_have_cleartype_quality (void)
-{
-    OSVERSIONINFO version_info;
-
-    version_info.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
-
-    if (!GetVersionEx (&version_info)) {
-       _cairo_win32_print_gdi_error ("_have_cleartype_quality");
-       return FALSE;
-    }
-
-    return (version_info.dwMajorVersion > 5 ||
-           (version_info.dwMajorVersion == 5 &&
-            version_info.dwMinorVersion >= 1));        /* XP or newer */
-}
-
-static BYTE
-_get_system_quality (void)
-{
-    BOOL font_smoothing;
-    UINT smoothing_type;
-
-    if (!SystemParametersInfo (SPI_GETFONTSMOOTHING, 0, &font_smoothing, 0)) {
-       _cairo_win32_print_gdi_error ("_get_system_quality");
-       return DEFAULT_QUALITY;
-    }
-
-    if (font_smoothing) {
-       if (_have_cleartype_quality ()) {
-           if (!SystemParametersInfo (SPI_GETFONTSMOOTHINGTYPE,
-                                      0, &smoothing_type, 0)) {
-               _cairo_win32_print_gdi_error ("_get_system_quality");
-               return DEFAULT_QUALITY;
-           }
-
-           if (smoothing_type == FE_FONTSMOOTHINGCLEARTYPE)
-               return CLEARTYPE_QUALITY;
-       }
-
-       return ANTIALIASED_QUALITY;
-    } else {
-       return DEFAULT_QUALITY;
-    }
-}
-
-/* If face_hfont is non-%NULL then font_matrix must be a simple scale by some
- * factor S, ctm must be the identity, logfont->lfHeight must be -S,
- * logfont->lfWidth, logfont->lfEscapement, logfont->lfOrientation must
- * all be 0, and face_hfont is the result of calling CreateFontIndirectW on
- * logfont.
- */
-static cairo_status_t
-_win32_scaled_font_create (LOGFONTW                   *logfont,
-                          HFONT                      face_hfont,
-                          cairo_font_face_t          *font_face,
-                          const cairo_matrix_t       *font_matrix,
-                          const cairo_matrix_t       *ctm,
-                          const cairo_font_options_t *options,
-                          cairo_scaled_font_t       **font_out)
-{
-    HDC hdc;
-    cairo_win32_scaled_font_t *f;
-    cairo_matrix_t scale;
-    cairo_status_t status;
-
-    hdc = _get_global_font_dc ();
-    if (hdc == NULL)
-       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
-    f = malloc (sizeof(cairo_win32_scaled_font_t));
-    if (f == NULL)
-       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
-    f->logfont = *logfont;
-
-    /* We don't have any control over the hinting style or subpixel
-     * order in the Win32 font API, so we ignore those parts of
-     * cairo_font_options_t. We use the 'antialias' field to set
-     * the 'quality'.
-     *
-     * XXX: The other option we could pay attention to, but don't
-     *      here is the hint_metrics options.
-     */
-    if (options->antialias == CAIRO_ANTIALIAS_DEFAULT)
-       f->quality = _get_system_quality ();
-    else {
-       switch (options->antialias) {
-       case CAIRO_ANTIALIAS_NONE:
-           f->quality = NONANTIALIASED_QUALITY;
-           break;
-       case CAIRO_ANTIALIAS_GRAY:
-       case CAIRO_ANTIALIAS_FAST:
-       case CAIRO_ANTIALIAS_GOOD:
-           f->quality = ANTIALIASED_QUALITY;
-           break;
-       case CAIRO_ANTIALIAS_SUBPIXEL:
-       case CAIRO_ANTIALIAS_BEST:
-           if (_have_cleartype_quality ())
-               f->quality = CLEARTYPE_QUALITY;
-           else
-               f->quality = ANTIALIASED_QUALITY;
-           break;
-       case CAIRO_ANTIALIAS_DEFAULT:
-           ASSERT_NOT_REACHED;
-       }
-    }
-
-    f->em_square = 0;
-    f->scaled_hfont = NULL;
-    f->unscaled_hfont = NULL;
-    f->has_type1_notdef_index = FALSE;
-
-    if (f->quality == logfont->lfQuality ||
-        (logfont->lfQuality == DEFAULT_QUALITY &&
-         options->antialias == CAIRO_ANTIALIAS_DEFAULT)) {
-        /* If face_hfont is non-NULL, then we can use it to avoid creating our
-         * own --- because the constraints on face_hfont mentioned above
-         * guarantee it was created in exactly the same way that
-         * _win32_scaled_font_get_scaled_hfont would create it.
-         */
-        f->scaled_hfont = face_hfont;
-    }
-    /* don't delete the hfont if we're using the one passed in to us */
-    f->delete_scaled_hfont = !f->scaled_hfont;
-
-    cairo_matrix_multiply (&scale, font_matrix, ctm);
-    status = _compute_transform (f, &scale);
-    if (status)
-       goto FAIL;
-
-    status = _cairo_scaled_font_init (&f->base, font_face,
-                                     font_matrix, ctm, options,
-                                     &_cairo_win32_scaled_font_backend);
-    if (status)
-       goto FAIL;
-
-    status = _cairo_win32_scaled_font_set_metrics (f);
-    if (status) {
-       _cairo_scaled_font_fini (&f->base);
-       goto FAIL;
-    }
-
-    *font_out = &f->base;
-    return CAIRO_STATUS_SUCCESS;
-
- FAIL:
-    free (f);
-    return status;
-}
-
-static cairo_status_t
-_win32_scaled_font_set_world_transform (cairo_win32_scaled_font_t *scaled_font,
-                                       HDC                        hdc)
-{
-    XFORM xform;
-
-    _cairo_matrix_to_win32_xform (&scaled_font->logical_to_device, &xform);
-
-    if (!SetWorldTransform (hdc, &xform))
-       return _cairo_win32_print_gdi_error ("_win32_scaled_font_set_world_transform");
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_win32_scaled_font_set_identity_transform (HDC hdc)
-{
-    if (!ModifyWorldTransform (hdc, NULL, MWT_IDENTITY))
-       return _cairo_win32_print_gdi_error ("_win32_scaled_font_set_identity_transform");
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_win32_scaled_font_get_scaled_hfont (cairo_win32_scaled_font_t *scaled_font,
-                                    HFONT *hfont_out)
-{
-    if (!scaled_font->scaled_hfont) {
-       LOGFONTW logfont = scaled_font->logfont;
-       logfont.lfHeight = -scaled_font->logical_size;
-       logfont.lfWidth = 0;
-       logfont.lfEscapement = 0;
-       logfont.lfOrientation = 0;
-       logfont.lfQuality = scaled_font->quality;
-
-       scaled_font->scaled_hfont = CreateFontIndirectW (&logfont);
-       if (!scaled_font->scaled_hfont)
-           return _cairo_win32_print_gdi_error ("_win32_scaled_font_get_scaled_hfont");
-    }
-
-    *hfont_out = scaled_font->scaled_hfont;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_win32_scaled_font_get_unscaled_hfont (cairo_win32_scaled_font_t *scaled_font,
-                                      HDC                        hdc,
-                                      HFONT                     *hfont_out)
-{
-    if (scaled_font->unscaled_hfont == NULL) {
-       OUTLINETEXTMETRIC *otm;
-       unsigned int otm_size;
-       HFONT scaled_hfont;
-       LOGFONTW logfont;
-       cairo_status_t status;
-
-       status = _win32_scaled_font_get_scaled_hfont (scaled_font,
-                                                     &scaled_hfont);
-       if (status)
-           return status;
-
-       if (! SelectObject (hdc, scaled_hfont))
-           return _cairo_win32_print_gdi_error ("_win32_scaled_font_get_unscaled_hfont:SelectObject");
-
-       otm_size = GetOutlineTextMetrics (hdc, 0, NULL);
-       if (! otm_size)
-           return _cairo_win32_print_gdi_error ("_win32_scaled_font_get_unscaled_hfont:GetOutlineTextMetrics");
-
-       otm = malloc (otm_size);
-       if (otm == NULL)
-           return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
-       if (! GetOutlineTextMetrics (hdc, otm_size, otm)) {
-           status = _cairo_win32_print_gdi_error ("_win32_scaled_font_get_unscaled_hfont:GetOutlineTextMetrics");
-           free (otm);
-           return status;
-       }
-
-       scaled_font->em_square = otm->otmEMSquare;
-       free (otm);
-
-       logfont = scaled_font->logfont;
-       logfont.lfHeight = -scaled_font->em_square;
-       logfont.lfWidth = 0;
-       logfont.lfEscapement = 0;
-       logfont.lfOrientation = 0;
-       logfont.lfQuality = scaled_font->quality;
-
-       scaled_font->unscaled_hfont = CreateFontIndirectW (&logfont);
-       if (! scaled_font->unscaled_hfont)
-           return _cairo_win32_print_gdi_error ("_win32_scaled_font_get_unscaled_hfont:CreateIndirect");
-    }
-
-    *hfont_out = scaled_font->unscaled_hfont;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_scaled_font_select_unscaled_font (cairo_scaled_font_t *scaled_font,
-                                              HDC                  hdc)
-{
-    cairo_status_t status;
-    HFONT hfont;
-    HFONT old_hfont = NULL;
-
-    status = _win32_scaled_font_get_unscaled_hfont ((cairo_win32_scaled_font_t *)scaled_font, hdc, &hfont);
-    if (status)
-       return status;
-
-    old_hfont = SelectObject (hdc, hfont);
-    if (!old_hfont)
-       return _cairo_win32_print_gdi_error ("_cairo_win32_scaled_font_select_unscaled_font");
-
-    status = _win32_scaled_font_set_identity_transform (hdc);
-    if (status) {
-       SelectObject (hdc, old_hfont);
-       return status;
-    }
-
-    SetMapMode (hdc, MM_TEXT);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-cairo_bool_t
-_cairo_win32_scaled_font_is_type1 (cairo_scaled_font_t *scaled_font)
-{
-    cairo_win32_scaled_font_t *win32_scaled_font;
-
-    win32_scaled_font = (cairo_win32_scaled_font_t *) scaled_font;
-
-    return win32_scaled_font->is_type1;
-}
-
-cairo_bool_t
-_cairo_win32_scaled_font_is_bitmap (cairo_scaled_font_t *scaled_font)
-{
-    cairo_win32_scaled_font_t *win32_scaled_font;
-
-    win32_scaled_font = (cairo_win32_scaled_font_t *) scaled_font;
-
-    return win32_scaled_font->is_bitmap;
-}
-
-static void
-_cairo_win32_scaled_font_done_unscaled_font (cairo_scaled_font_t *scaled_font)
-{
-}
-
-/* implement the font backend interface */
-
-static cairo_status_t
-_cairo_win32_font_face_create_for_toy (cairo_toy_font_face_t   *toy_face,
-                                      cairo_font_face_t      **font_face)
-{
-    LOGFONTW logfont;
-    uint16_t *face_name;
-    int face_name_len;
-    cairo_status_t status;
-
-    status = _cairo_utf8_to_utf16 (toy_face->family, -1,
-                                  &face_name, &face_name_len);
-    if (status)
-       return status;
-
-    if (face_name_len > LF_FACESIZE - 1)
-       face_name_len = LF_FACESIZE - 1;
-
-    memcpy (logfont.lfFaceName, face_name, sizeof (uint16_t) * face_name_len);
-    logfont.lfFaceName[face_name_len] = 0;
-    free (face_name);
-
-    logfont.lfHeight = 0;      /* filled in later */
-    logfont.lfWidth = 0;       /* filled in later */
-    logfont.lfEscapement = 0;  /* filled in later */
-    logfont.lfOrientation = 0; /* filled in later */
-
-    switch (toy_face->weight) {
-    case CAIRO_FONT_WEIGHT_NORMAL:
-    default:
-       logfont.lfWeight = FW_NORMAL;
-       break;
-    case CAIRO_FONT_WEIGHT_BOLD:
-       logfont.lfWeight = FW_BOLD;
-       break;
-    }
-
-    switch (toy_face->slant) {
-    case CAIRO_FONT_SLANT_NORMAL:
-    default:
-       logfont.lfItalic = FALSE;
-       break;
-    case CAIRO_FONT_SLANT_ITALIC:
-    case CAIRO_FONT_SLANT_OBLIQUE:
-       logfont.lfItalic = TRUE;
-       break;
-    }
-
-    logfont.lfUnderline = FALSE;
-    logfont.lfStrikeOut = FALSE;
-    /* The docs for LOGFONT discourage using this, since the
-     * interpretation is locale-specific, but it's not clear what
-     * would be a better alternative.
-     */
-    logfont.lfCharSet = DEFAULT_CHARSET;
-    logfont.lfOutPrecision = OUT_DEFAULT_PRECIS;
-    logfont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
-    logfont.lfQuality = DEFAULT_QUALITY; /* filled in later */
-    logfont.lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
-
-    *font_face = cairo_win32_font_face_create_for_logfontw (&logfont);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static void
-_cairo_win32_scaled_font_fini (void *abstract_font)
-{
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-
-    if (scaled_font == NULL)
-       return;
-
-    if (scaled_font->scaled_hfont && scaled_font->delete_scaled_hfont)
-       DeleteObject (scaled_font->scaled_hfont);
-
-    if (scaled_font->unscaled_hfont)
-       DeleteObject (scaled_font->unscaled_hfont);
-}
-
-static cairo_int_status_t
-_cairo_win32_scaled_font_type1_text_to_glyphs (cairo_win32_scaled_font_t *scaled_font,
-                                              double                     x,
-                                              double                     y,
-                                              const char                *utf8,
-                                              cairo_glyph_t            **glyphs,
-                                              int                       *num_glyphs)
-{
-    uint16_t *utf16;
-    int n16;
-    int i;
-    WORD *glyph_indices = NULL;
-    cairo_status_t status;
-    double x_pos, y_pos;
-    HDC hdc = NULL;
-    cairo_matrix_t mat;
-
-    status = _cairo_utf8_to_utf16 (utf8, -1, &utf16, &n16);
-    if (status)
-       return status;
-
-    glyph_indices = _cairo_malloc_ab (n16 + 1, sizeof (WORD));
-    if (!glyph_indices) {
-       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-       goto FAIL1;
-    }
-
-    hdc = _get_global_font_dc ();
-    assert (hdc != NULL);
-
-    status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc);
-    if (status)
-       goto FAIL2;
-
-    if (GetGlyphIndicesW (hdc, utf16, n16, glyph_indices, 0) == GDI_ERROR) {
-       status = _cairo_win32_print_gdi_error ("_cairo_win32_scaled_font_type1_text_to_glyphs:GetGlyphIndicesW");
-       goto FAIL3;
-    }
-
-    *num_glyphs = n16;
-    *glyphs = _cairo_malloc_ab (n16, sizeof (cairo_glyph_t));
-    if (!*glyphs) {
-       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-       goto FAIL3;
-    }
-
-    x_pos = x;
-    y_pos = y;
-
-    mat = scaled_font->base.ctm;
-    status = cairo_matrix_invert (&mat);
-    assert (status == CAIRO_STATUS_SUCCESS);
-
-    _cairo_scaled_font_freeze_cache (&scaled_font->base);
-
-    for (i = 0; i < n16; i++) {
-       cairo_scaled_glyph_t *scaled_glyph;
-
-       (*glyphs)[i].index = glyph_indices[i];
-       (*glyphs)[i].x = x_pos;
-       (*glyphs)[i].y = y_pos;
-
-       status = _cairo_scaled_glyph_lookup (&scaled_font->base,
-                                            glyph_indices[i],
-                                            CAIRO_SCALED_GLYPH_INFO_METRICS,
-                                            &scaled_glyph);
-       if (status) {
-           free (*glyphs);
-           *glyphs = NULL;
-           break;
-       }
-
-       x = scaled_glyph->x_advance;
-       y = scaled_glyph->y_advance;
-       cairo_matrix_transform_distance (&mat, &x, &y);
-       x_pos += x;
-       y_pos += y;
-    }
-
-    _cairo_scaled_font_thaw_cache (&scaled_font->base);
-
-FAIL3:
-    cairo_win32_scaled_font_done_font (&scaled_font->base);
-FAIL2:
-    free (glyph_indices);
-FAIL1:
-    free (utf16);
-
-    return status;
-}
-
-static cairo_int_status_t
-_cairo_win32_scaled_font_text_to_glyphs (void          *abstract_font,
-                                        double         x,
-                                        double         y,
-                                        const char     *utf8,
-                                        cairo_glyph_t **glyphs,
-                                        int            *num_glyphs)
-{
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-    uint16_t *utf16;
-    int n16;
-    GCP_RESULTSW gcp_results;
-    unsigned int buffer_size, i;
-    WCHAR *glyph_indices = NULL;
-    int *dx = NULL;
-    cairo_status_t status;
-    double x_pos, y_pos;
-    double x_incr, y_incr;
-    HDC hdc = NULL;
-
-    /* GetCharacterPlacement() returns utf16 instead of glyph indices
-     * for Type 1 fonts. Use GetGlyphIndices for Type 1 fonts. */
-    if (scaled_font->is_type1)
-        return _cairo_win32_scaled_font_type1_text_to_glyphs (scaled_font,
-                                                              x,
-                                                              y,
-                                                              utf8,
-                                                              glyphs,
-                                                              num_glyphs);
-
-    /* Compute a vector in user space along the baseline of length one logical space unit */
-    x_incr = 1;
-    y_incr = 0;
-    cairo_matrix_transform_distance (&scaled_font->base.font_matrix, &x_incr, &y_incr);
-    x_incr /= scaled_font->logical_scale;
-    y_incr /= scaled_font->logical_scale;
-
-    status = _cairo_utf8_to_utf16 (utf8, -1, &utf16, &n16);
-    if (status)
-       return status;
-
-    gcp_results.lStructSize = sizeof (GCP_RESULTS);
-    gcp_results.lpOutString = NULL;
-    gcp_results.lpOrder = NULL;
-    gcp_results.lpCaretPos = NULL;
-    gcp_results.lpClass = NULL;
-
-    buffer_size = MAX (n16 * 1.2, 16);         /* Initially guess number of chars plus a few */
-    if (buffer_size > INT_MAX) {
-       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-       goto FAIL1;
-    }
-
-    hdc = _get_global_font_dc ();
-    assert (hdc != NULL);
-
-    status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc);
-    if (status)
-       goto FAIL1;
-
-    while (TRUE) {
-       free (glyph_indices);
-       glyph_indices = NULL;
-
-       free (dx);
-       dx = NULL;
-
-       glyph_indices = _cairo_malloc_ab (buffer_size, sizeof (WCHAR));
-       dx = _cairo_malloc_ab (buffer_size, sizeof (int));
-       if (!glyph_indices || !dx) {
-           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-           goto FAIL2;
-       }
-
-       gcp_results.nGlyphs = buffer_size;
-       gcp_results.lpDx = dx;
-       gcp_results.lpGlyphs = glyph_indices;
-
-       if (!GetCharacterPlacementW (hdc, utf16, n16,
-                                    0,
-                                    &gcp_results,
-                                    GCP_DIACRITIC | GCP_LIGATE | GCP_GLYPHSHAPE | GCP_REORDER)) {
-           status = _cairo_win32_print_gdi_error ("_cairo_win32_scaled_font_text_to_glyphs");
-           goto FAIL2;
-       }
-
-       if (gcp_results.lpDx && gcp_results.lpGlyphs)
-           break;
-
-       /* Too small a buffer, try again */
-
-       buffer_size += buffer_size / 2;
-       if (buffer_size > INT_MAX) {
-           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-           goto FAIL2;
-       }
-    }
-
-    *num_glyphs = gcp_results.nGlyphs;
-    *glyphs = _cairo_malloc_ab (gcp_results.nGlyphs, sizeof (cairo_glyph_t));
-    if (!*glyphs) {
-       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-       goto FAIL2;
-    }
-
-    x_pos = x;
-    y_pos = y;
-
-    for (i = 0; i < gcp_results.nGlyphs; i++) {
-       (*glyphs)[i].index = glyph_indices[i];
-       (*glyphs)[i].x = x_pos ;
-       (*glyphs)[i].y = y_pos;
-
-       x_pos += x_incr * dx[i];
-       y_pos += y_incr * dx[i];
-    }
-
- FAIL2:
-    free (glyph_indices);
-    free (dx);
-
-    cairo_win32_scaled_font_done_font (&scaled_font->base);
-
- FAIL1:
-    free (utf16);
-
-    return status;
-}
-
-static unsigned long
-_cairo_win32_scaled_font_ucs4_to_index (void           *abstract_font,
-                                       uint32_t         ucs4)
-{
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-    wchar_t unicode[2];
-    WORD glyph_index;
-    HDC hdc = NULL;
-    cairo_status_t status;
-
-    hdc = _get_global_font_dc ();
-    assert (hdc != NULL);
-
-    status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc);
-    if (status)
-       return 0;
-
-    unicode[0] = ucs4;
-    unicode[1] = 0;
-    if (GetGlyphIndicesW (hdc, unicode, 1, &glyph_index, 0) == GDI_ERROR) {
-       _cairo_win32_print_gdi_error ("_cairo_win32_scaled_font_ucs4_to_index:GetGlyphIndicesW");
-       glyph_index = 0;
-    }
-
-    cairo_win32_scaled_font_done_font (&scaled_font->base);
-
-    return glyph_index;
-}
-
-static cairo_status_t
-_cairo_win32_scaled_font_set_metrics (cairo_win32_scaled_font_t *scaled_font)
-{
-    cairo_status_t status;
-    cairo_font_extents_t extents;
-
-    TEXTMETRIC metrics;
-    HDC hdc;
-
-    hdc = _get_global_font_dc ();
-    assert (hdc != NULL);
-
-    if (scaled_font->preserve_axes || scaled_font->base.options.hint_metrics == CAIRO_HINT_METRICS_OFF) {
-       /* For 90-degree rotations (including 0), we get the metrics
-        * from the GDI in logical space, then convert back to font space
-        */
-       status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc);
-       if (status)
-           return status;
-       GetTextMetrics (hdc, &metrics);
-       cairo_win32_scaled_font_done_font (&scaled_font->base);
-
-       extents.ascent = metrics.tmAscent / scaled_font->logical_scale;
-       extents.descent = metrics.tmDescent / scaled_font->logical_scale;
-
-       extents.height = (metrics.tmHeight + metrics.tmExternalLeading) / scaled_font->logical_scale;
-       extents.max_x_advance = metrics.tmMaxCharWidth / scaled_font->logical_scale;
-       extents.max_y_advance = 0;
-
-    } else {
-       /* For all other transformations, we use the design metrics
-        * of the font. The GDI results from GetTextMetrics() on a
-        * transformed font are inexplicably large and we want to
-        * avoid them.
-        */
-       status = _cairo_win32_scaled_font_select_unscaled_font (&scaled_font->base, hdc);
-       if (status)
-           return status;
-       GetTextMetrics (hdc, &metrics);
-       _cairo_win32_scaled_font_done_unscaled_font (&scaled_font->base);
-
-       extents.ascent = (double)metrics.tmAscent / scaled_font->em_square;
-       extents.descent = (double)metrics.tmDescent / scaled_font->em_square;
-       extents.height = (double)(metrics.tmHeight + metrics.tmExternalLeading) / scaled_font->em_square;
-       extents.max_x_advance = (double)(metrics.tmMaxCharWidth) / scaled_font->em_square;
-       extents.max_y_advance = 0;
-
-    }
-
-    scaled_font->is_bitmap = !(metrics.tmPitchAndFamily & TMPF_VECTOR);
-
-    /* Need to determine if this is a Type 1 font for the special
-     * handling in _text_to_glyphs.  Unlike TrueType or OpenType,
-     * Type1 fonts do not have a "cmap" table (or any other table).
-     * However GetFontData() will retrieve a Type1 font when
-     * requesting that GetFontData() retrieve data from the start of
-     * the file. This is to distinguish Type1 from stroke fonts such
-     * as "Script" and "Modern". The TMPF_TRUETYPE test is redundant
-     * but improves performance for the most common fonts.
-     */
-    scaled_font->is_type1 = FALSE;
-    if (!(metrics.tmPitchAndFamily & TMPF_TRUETYPE) &&
-       (metrics.tmPitchAndFamily & TMPF_VECTOR))
-    {
-        if ((GetFontData (hdc, CMAP_TAG, 0, NULL, 0) == GDI_ERROR) &&
-            (GetFontData (hdc, 0, 0, NULL, 0) != GDI_ERROR))
-        {
-             scaled_font->is_type1 = TRUE;
-        }
-    }
-
-    return _cairo_scaled_font_set_metrics (&scaled_font->base, &extents);
-}
-
-static cairo_status_t
-_cairo_win32_scaled_font_init_glyph_metrics (cairo_win32_scaled_font_t *scaled_font,
-                                            cairo_scaled_glyph_t      *scaled_glyph)
-{
-    static const MAT2 matrix = { { 0, 1 }, { 0, 0 }, { 0, 0 }, { 0, 1 } };
-    GLYPHMETRICS metrics;
-    cairo_status_t status;
-    cairo_text_extents_t extents;
-    HDC hdc;
-
-    hdc = _get_global_font_dc ();
-    assert (hdc != NULL);
-
-    if (scaled_font->is_bitmap) {
-       /* GetGlyphOutline will not work. Assume that the glyph does not extend outside the font box. */
-       cairo_font_extents_t font_extents;
-       INT width = 0;
-       UINT charIndex = _cairo_scaled_glyph_index (scaled_glyph);
-
-       cairo_scaled_font_extents (&scaled_font->base, &font_extents);
-
-       status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc);
-       if (status)
-           return status;
-
-       if (!GetCharWidth32(hdc, charIndex, charIndex, &width)) {
-           status = _cairo_win32_print_gdi_error ("_cairo_win32_scaled_font_init_glyph_metrics:GetCharWidth32");
-           width = 0;
-       }
-       cairo_win32_scaled_font_done_font (&scaled_font->base);
-       if (status)
-           return status;
-
-       extents.x_bearing = 0;
-       extents.y_bearing = scaled_font->base.ctm.yy * (-font_extents.ascent / scaled_font->y_scale);
-       extents.width = width / (WIN32_FONT_LOGICAL_SCALE * scaled_font->x_scale);
-       extents.height = scaled_font->base.ctm.yy * (font_extents.ascent + font_extents.descent) / scaled_font->y_scale;
-       extents.x_advance = extents.width;
-       extents.y_advance = 0;
-    } else if (scaled_font->preserve_axes && scaled_font->base.options.hint_metrics != CAIRO_HINT_METRICS_OFF) {
-       /* If we aren't rotating / skewing the axes, then we get the metrics
-        * from the GDI in device space and convert to font space.
-        */
-       status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc);
-       if (status)
-           return status;
-
-       if (GetGlyphOutlineW (hdc, _cairo_scaled_glyph_index (scaled_glyph),
-                             GGO_METRICS | GGO_GLYPH_INDEX,
-                             &metrics, 0, NULL, &matrix) == GDI_ERROR) {
-           memset (&metrics, 0, sizeof (GLYPHMETRICS));
-       } else {
-           if (metrics.gmBlackBoxX > 0 && scaled_font->base.options.antialias != CAIRO_ANTIALIAS_NONE) {
-               /* The bounding box reported by Windows supposedly contains the glyph's "black" area;
-                * however, antialiasing (especially with ClearType) means that the actual image that
-                * needs to be rendered may "bleed" into the adjacent pixels, mainly on the right side.
-                * To avoid clipping the glyphs when drawn by _cairo_surface_fallback_show_glyphs,
-                * for example, or other code that uses glyph extents to determine the area to update,
-                * we add a pixel of "slop" to left side of the nominal "black" area returned by GDI,
-                * and two pixels to the right (as tests show some glyphs bleed into this column).
-                */
-               metrics.gmptGlyphOrigin.x -= 1;
-               metrics.gmBlackBoxX += 3;
-           }
-       }
-       cairo_win32_scaled_font_done_font (&scaled_font->base);
-
-       if (scaled_font->swap_axes) {
-           extents.x_bearing = - metrics.gmptGlyphOrigin.y / scaled_font->y_scale;
-           extents.y_bearing = metrics.gmptGlyphOrigin.x / scaled_font->x_scale;
-           extents.width = metrics.gmBlackBoxY / scaled_font->y_scale;
-           extents.height = metrics.gmBlackBoxX / scaled_font->x_scale;
-           extents.x_advance = metrics.gmCellIncY / scaled_font->x_scale;
-           extents.y_advance = metrics.gmCellIncX / scaled_font->y_scale;
-       } else {
-           extents.x_bearing = metrics.gmptGlyphOrigin.x / scaled_font->x_scale;
-           extents.y_bearing = - metrics.gmptGlyphOrigin.y / scaled_font->y_scale;
-           extents.width = metrics.gmBlackBoxX / scaled_font->x_scale;
-           extents.height = metrics.gmBlackBoxY / scaled_font->y_scale;
-           extents.x_advance = metrics.gmCellIncX / scaled_font->x_scale;
-           extents.y_advance = metrics.gmCellIncY / scaled_font->y_scale;
-       }
-
-       if (scaled_font->swap_x) {
-           extents.x_bearing = (- extents.x_bearing - extents.width);
-           extents.x_advance = - extents.x_advance;
-       }
-
-       if (scaled_font->swap_y) {
-           extents.y_bearing = (- extents.y_bearing - extents.height);
-           extents.y_advance = - extents.y_advance;
-       }
-
-    } else {
-       /* For all other transformations, we use the design metrics
-        * of the font.
-        */
-       status = _cairo_win32_scaled_font_select_unscaled_font (&scaled_font->base, hdc);
-       if (status)
-           return status;
-
-       if (GetGlyphOutlineW (hdc, _cairo_scaled_glyph_index (scaled_glyph),
-                             GGO_METRICS | GGO_GLYPH_INDEX,
-                             &metrics, 0, NULL, &matrix) == GDI_ERROR) {
-           memset (&metrics, 0, sizeof (GLYPHMETRICS));
-       }
-       _cairo_win32_scaled_font_done_unscaled_font (&scaled_font->base);
-
-       extents.x_bearing = (double)metrics.gmptGlyphOrigin.x / scaled_font->em_square;
-       extents.y_bearing = - (double)metrics.gmptGlyphOrigin.y / scaled_font->em_square;
-       extents.width = (double)metrics.gmBlackBoxX / scaled_font->em_square;
-       extents.height = (double)metrics.gmBlackBoxY / scaled_font->em_square;
-       extents.x_advance = (double)metrics.gmCellIncX / scaled_font->em_square;
-       extents.y_advance = (double)metrics.gmCellIncY / scaled_font->em_square;
-    }
-
-    _cairo_scaled_glyph_set_metrics (scaled_glyph,
-                                    &scaled_font->base,
-                                    &extents);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-/* Not currently used code, but may be useful in the future if we add
- * back the capability to the scaled font backend interface to get the
- * actual device space bbox rather than computing it from the
- * font-space metrics.
- */
-#if 0
-static cairo_status_t
-_cairo_win32_scaled_font_glyph_bbox (void               *abstract_font,
-                                    const cairo_glyph_t *glyphs,
-                                    int                  num_glyphs,
-                                    cairo_box_t         *bbox)
-{
-    static const MAT2 matrix = { { 0, 1 }, { 0, 0 }, { 0, 0 }, { 0, 1 } };
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-    int x1 = 0, x2 = 0, y1 = 0, y2 = 0;
-
-    if (num_glyphs > 0) {
-       HDC hdc;
-       GLYPHMETRICS metrics;
-       cairo_status_t status;
-       int i;
-
-       hdc = _get_global_font_dc ();
-       assert (hdc != NULL);
-
-       status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc);
-       if (status)
-           return status;
-
-       for (i = 0; i < num_glyphs; i++) {
-           int x = _cairo_lround (glyphs[i].x);
-           int y = _cairo_lround (glyphs[i].y);
-
-           GetGlyphOutlineW (hdc, glyphs[i].index, GGO_METRICS | GGO_GLYPH_INDEX,
-                            &metrics, 0, NULL, &matrix);
-
-           if (i == 0 || x1 > x + metrics.gmptGlyphOrigin.x)
-               x1 = x + metrics.gmptGlyphOrigin.x;
-           if (i == 0 || y1 > y - metrics.gmptGlyphOrigin.y)
-               y1 = y - metrics.gmptGlyphOrigin.y;
-           if (i == 0 || x2 < x + metrics.gmptGlyphOrigin.x + (int)metrics.gmBlackBoxX)
-               x2 = x + metrics.gmptGlyphOrigin.x + (int)metrics.gmBlackBoxX;
-           if (i == 0 || y2 < y - metrics.gmptGlyphOrigin.y + (int)metrics.gmBlackBoxY)
-               y2 = y - metrics.gmptGlyphOrigin.y + (int)metrics.gmBlackBoxY;
-       }
-
-       cairo_win32_scaled_font_done_font (&scaled_font->base);
-    }
-
-    bbox->p1.x = _cairo_fixed_from_int (x1);
-    bbox->p1.y = _cairo_fixed_from_int (y1);
-    bbox->p2.x = _cairo_fixed_from_int (x2);
-    bbox->p2.y = _cairo_fixed_from_int (y2);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-#endif
-
-typedef struct {
-    cairo_win32_scaled_font_t *scaled_font;
-    HDC hdc;
-
-    cairo_array_t glyphs;
-    cairo_array_t dx;
-
-    int start_x;
-    int last_x;
-    int last_y;
-} cairo_glyph_state_t;
-
-static void
-_start_glyphs (cairo_glyph_state_t        *state,
-              cairo_win32_scaled_font_t  *scaled_font,
-              HDC                         hdc)
-{
-    state->hdc = hdc;
-    state->scaled_font = scaled_font;
-
-    _cairo_array_init (&state->glyphs, sizeof (WCHAR));
-    _cairo_array_init (&state->dx, sizeof (int));
-}
-
-static cairo_status_t
-_flush_glyphs (cairo_glyph_state_t *state)
-{
-    cairo_status_t status;
-    int dx = 0;
-    WCHAR * elements;
-    int * dx_elements;
-
-    status = _cairo_array_append (&state->dx, &dx);
-    if (status)
-       return status;
-
-    elements = _cairo_array_index (&state->glyphs, 0);
-    dx_elements = _cairo_array_index (&state->dx, 0);
-    if (!ExtTextOutW (state->hdc,
-                     state->start_x, state->last_y,
-                     ETO_GLYPH_INDEX,
-                     NULL,
-                     elements,
-                     state->glyphs.num_elements,
-                     dx_elements)) {
-       return _cairo_win32_print_gdi_error ("_flush_glyphs");
-    }
-
-    _cairo_array_truncate (&state->glyphs, 0);
-    _cairo_array_truncate (&state->dx, 0);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_add_glyph (cairo_glyph_state_t *state,
-           unsigned long        index,
-           double               device_x,
-           double               device_y)
-{
-    cairo_status_t status;
-    double user_x = device_x;
-    double user_y = device_y;
-    WCHAR glyph_index = index;
-    int logical_x, logical_y;
-
-    cairo_matrix_transform_point (&state->scaled_font->device_to_logical, &user_x, &user_y);
-
-    logical_x = _cairo_lround (user_x);
-    logical_y = _cairo_lround (user_y);
-
-    if (state->glyphs.num_elements > 0) {
-       int dx;
-
-       if (logical_y != state->last_y) {
-           status = _flush_glyphs (state);
-           if (status)
-               return status;
-           state->start_x = logical_x;
-       } else {
-           dx = logical_x - state->last_x;
-           status = _cairo_array_append (&state->dx, &dx);
-           if (status)
-               return status;
-       }
-    } else {
-       state->start_x = logical_x;
-    }
-
-    state->last_x = logical_x;
-    state->last_y = logical_y;
-
-    status = _cairo_array_append (&state->glyphs, &glyph_index);
-    if (status)
-       return status;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_finish_glyphs (cairo_glyph_state_t *state)
-{
-    cairo_status_t status;
-
-    status = _flush_glyphs (state);
-
-    _cairo_array_fini (&state->glyphs);
-    _cairo_array_fini (&state->dx);
-
-    return status;
-}
-
-static cairo_status_t
-_draw_glyphs_on_surface (cairo_win32_surface_t     *surface,
-                        cairo_win32_scaled_font_t *scaled_font,
-                        COLORREF                   color,
-                        int                        x_offset,
-                        int                        y_offset,
-                        const cairo_glyph_t       *glyphs,
-                        int                        num_glyphs)
-{
-    cairo_glyph_state_t state;
-    cairo_status_t status, status2;
-    int i;
-
-    if (!SaveDC (surface->dc))
-       return _cairo_win32_print_gdi_error ("_draw_glyphs_on_surface:SaveDC");
-
-    status = cairo_win32_scaled_font_select_font (&scaled_font->base, surface->dc);
-    if (status)
-       goto FAIL1;
-
-    SetTextColor (surface->dc, color);
-    SetTextAlign (surface->dc, TA_BASELINE | TA_LEFT);
-    SetBkMode (surface->dc, TRANSPARENT);
-
-    _start_glyphs (&state, scaled_font, surface->dc);
-
-    for (i = 0; i < num_glyphs; i++) {
-       status = _add_glyph (&state, glyphs[i].index,
-                            glyphs[i].x - x_offset, glyphs[i].y - y_offset);
-       if (status)
-           goto FAIL2;
-    }
-
- FAIL2:
-    status2 = _finish_glyphs (&state);
-    if (status == CAIRO_STATUS_SUCCESS)
-       status = status2;
-
-    cairo_win32_scaled_font_done_font (&scaled_font->base);
- FAIL1:
-    RestoreDC (surface->dc, -1);
-
-    return status;
-}
-
-/* Duplicate the green channel of a 4-channel mask in the alpha channel, then
- * invert the whole mask.
- */
-static void
-_compute_argb32_mask_alpha (cairo_win32_surface_t *mask_surface)
-{
-    cairo_image_surface_t *image = (cairo_image_surface_t *)mask_surface->image;
-    int i, j;
-
-    for (i = 0; i < image->height; i++) {
-       uint32_t *p = (uint32_t *) (image->data + i * image->stride);
-       for (j = 0; j < image->width; j++) {
-           *p = 0xffffffff ^ (*p | ((*p & 0x0000ff00) << 16));
-           p++;
-       }
-    }
-}
-
-/* Invert a mask
- */
-static void
-_invert_argb32_mask (cairo_win32_surface_t *mask_surface)
-{
-    cairo_image_surface_t *image = (cairo_image_surface_t *)mask_surface->image;
-    int i, j;
-
-    for (i = 0; i < image->height; i++) {
-       uint32_t *p = (uint32_t *) (image->data + i * image->stride);
-       for (j = 0; j < image->width; j++) {
-           *p = 0xffffffff ^ *p;
-           p++;
-       }
-    }
-}
-
-/* Compute an alpha-mask from a monochrome RGB24 image
- */
-static cairo_surface_t *
-_compute_a8_mask (cairo_win32_surface_t *mask_surface)
-{
-    cairo_image_surface_t *image24 = (cairo_image_surface_t *)mask_surface->image;
-    cairo_image_surface_t *image8;
-    int i, j;
-
-    if (image24->base.status)
-       return cairo_surface_reference (&image24->base);
-
-    image8 = (cairo_image_surface_t *)cairo_image_surface_create (CAIRO_FORMAT_A8,
-                                                                 image24->width, image24->height);
-    if (image8->base.status)
-       return &image8->base;
-
-    for (i = 0; i < image24->height; i++) {
-       uint32_t *p = (uint32_t *) (image24->data + i * image24->stride);
-       unsigned char *q = (unsigned char *) (image8->data + i * image8->stride);
-
-       for (j = 0; j < image24->width; j++) {
-           *q = 255 - ((*p & 0x0000ff00) >> 8);
-           p++;
-           q++;
-       }
-    }
-
-    return &image8->base;
-}
-
-static cairo_int_status_t
-_cairo_win32_scaled_font_glyph_init (void                     *abstract_font,
-                                    cairo_scaled_glyph_t      *scaled_glyph,
-                                    cairo_scaled_glyph_info_t  info)
-{
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-    cairo_status_t status;
-
-    if ((info & CAIRO_SCALED_GLYPH_INFO_METRICS) != 0) {
-       status = _cairo_win32_scaled_font_init_glyph_metrics (scaled_font, scaled_glyph);
-       if (status)
-           return status;
-    }
-
-    if (info & CAIRO_SCALED_GLYPH_INFO_SURFACE) {
-       status = _cairo_win32_scaled_font_init_glyph_surface (scaled_font, scaled_glyph);
-       if (status)
-           return status;
-    }
-
-    if ((info & CAIRO_SCALED_GLYPH_INFO_PATH) != 0) {
-       status = _cairo_win32_scaled_font_init_glyph_path (scaled_font, scaled_glyph);
-       if (status)
-           return status;
-    }
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-#if 0
-static cairo_int_status_t
-_cairo_win32_scaled_font_show_glyphs (void                     *abstract_font,
-                                     cairo_operator_t           op,
-                                     const cairo_pattern_t     *pattern,
-                                     cairo_surface_t           *generic_surface,
-                                     int                        source_x,
-                                     int                        source_y,
-                                     int                        dest_x,
-                                     int                        dest_y,
-                                     unsigned int               width,
-                                     unsigned int               height,
-                                     cairo_glyph_t             *glyphs,
-                                     int                        num_glyphs,
-                                     cairo_region_t            *clip_region,
-                                     int                       *remaining_glyphs)
-{
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-    cairo_win32_surface_t *surface = (cairo_win32_surface_t *)generic_surface;
-    cairo_status_t status;
-
-    if (width == 0 || height == 0)
-       return CAIRO_STATUS_SUCCESS;
-
-    if (_cairo_surface_is_win32 (generic_surface) &&
-       surface->format == CAIRO_FORMAT_RGB24 &&
-       op == CAIRO_OPERATOR_OVER &&
-       _cairo_pattern_is_opaque_solid (pattern)) {
-
-       cairo_solid_pattern_t *solid_pattern = (cairo_solid_pattern_t *)pattern;
-
-       /* When compositing OVER on a GDI-understood surface, with a
-        * solid opaque color, we can just call ExtTextOut directly.
-        */
-       COLORREF new_color;
-
-       status = _cairo_win32_surface_set_clip_region (surface, clip_region);
-       if (unlikely (status))
-           return status;
-
-       new_color = RGB (((int)solid_pattern->color.red_short) >> 8,
-                        ((int)solid_pattern->color.green_short) >> 8,
-                        ((int)solid_pattern->color.blue_short) >> 8);
-
-       return _draw_glyphs_on_surface (surface, scaled_font, new_color,
-                                       0, 0,
-                                       glyphs, num_glyphs);
-    } else {
-       /* Otherwise, we need to draw using software fallbacks. We create a mask
-        * surface by drawing the the glyphs onto a DIB, black-on-white then
-        * inverting. GDI outputs gamma-corrected images so inverted black-on-white
-        * is very different from white-on-black. We favor the more common
-        * case where the final output is dark-on-light.
-        */
-       cairo_win32_surface_t *tmp_surface;
-       cairo_surface_t *mask_surface;
-       cairo_surface_pattern_t mask;
-       RECT r;
-
-       tmp_surface = (cairo_win32_surface_t *)cairo_win32_surface_create_with_dib (CAIRO_FORMAT_ARGB32, width, height);
-       if (tmp_surface->base.status)
-           return tmp_surface->base.status;
-
-       r.left = 0;
-       r.top = 0;
-       r.right = width;
-       r.bottom = height;
-       FillRect (tmp_surface->dc, &r, GetStockObject (WHITE_BRUSH));
-
-       status = _draw_glyphs_on_surface (tmp_surface,
-                                         scaled_font, RGB (0, 0, 0),
-                                         dest_x, dest_y,
-                                         glyphs, num_glyphs);
-       if (status) {
-           cairo_surface_destroy (&tmp_surface->base);
-           return status;
-       }
-
-       if (scaled_font->quality == CLEARTYPE_QUALITY) {
-           /* For ClearType, we need a 4-channel mask. If we are compositing on
-            * a surface with alpha, we need to compute the alpha channel of
-            * the mask (we just copy the green channel). But for a destination
-            * surface without alpha the alpha channel of the mask is ignored
-            */
-
-           if (surface->format != CAIRO_FORMAT_RGB24)
-               _compute_argb32_mask_alpha (tmp_surface);
-           else
-               _invert_argb32_mask (tmp_surface);
-
-           mask_surface = &tmp_surface->base;
-       } else {
-           mask_surface = _compute_a8_mask (tmp_surface);
-           cairo_surface_destroy (&tmp_surface->base);
-           status = mask_surface->status;
-           if (status)
-               return status;
-       }
-
-       /* For op == OVER, no-cleartype, a possible optimization here is to
-        * draw onto an intermediate ARGB32 surface and alpha-blend that with the
-        * destination
-        */
-       _cairo_pattern_init_for_surface (&mask, mask_surface);
-       cairo_surface_destroy (mask_surface);
-
-       if (scaled_font->quality == CLEARTYPE_QUALITY)
-           mask.base.has_component_alpha = TRUE;
-
-       status = _cairo_surface_mask (&surface->base, op, pattern, &mask.base,
-                                          clip_region);
-
-       _cairo_pattern_fini (&mask.base);
-
-       return status;
-    }
-}
-#endif
-
-static cairo_int_status_t
-_cairo_win32_scaled_font_load_truetype_table (void            *abstract_font,
-                                             unsigned long      tag,
-                                             long               offset,
-                                             unsigned char     *buffer,
-                                             unsigned long     *length)
-{
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-    HDC hdc;
-    cairo_status_t status;
-    DWORD ret;
-
-    hdc = _get_global_font_dc ();
-    assert (hdc != NULL);
-
-    tag = (tag&0x000000ff)<<24 | (tag&0x0000ff00)<<8 | (tag&0x00ff0000)>>8 | (tag&0xff000000)>>24;
-    status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc);
-    if (status)
-       return status;
-
-    ret = GetFontData (hdc, tag, offset, buffer, *length);
-    if (ret == GDI_ERROR || (buffer && ret != *length))
-        status = CAIRO_INT_STATUS_UNSUPPORTED;
-    else
-       *length = ret;
-
-    cairo_win32_scaled_font_done_font (&scaled_font->base);
-
-    return status;
-}
-
-static cairo_int_status_t
-_cairo_win32_scaled_font_index_to_ucs4 (void           *abstract_font,
-                                       unsigned long    index,
-                                       uint32_t        *ucs4)
-{
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-    GLYPHSET *glyph_set;
-    uint16_t *utf16 = NULL;
-    WORD *glyph_indices = NULL;
-    HDC hdc = NULL;
-    int res;
-    unsigned int i, j, num_glyphs;
-    cairo_status_t status;
-
-    hdc = _get_global_font_dc ();
-    assert (hdc != NULL);
-
-    status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc);
-    if (status)
-       return status;
-
-    res = GetFontUnicodeRanges(hdc, NULL);
-    if (res == 0) {
-       status = _cairo_win32_print_gdi_error (
-           "_cairo_win32_scaled_font_index_to_ucs4:GetFontUnicodeRanges");
-       goto exit1;
-    }
-
-    glyph_set = malloc (res);
-    if (glyph_set == NULL) {
-       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-       goto exit1;
-    }
-
-    res = GetFontUnicodeRanges(hdc, glyph_set);
-    if (res == 0) {
-       status = _cairo_win32_print_gdi_error (
-           "_cairo_win32_scaled_font_index_to_ucs4:GetFontUnicodeRanges");
-       goto exit1;
-    }
-
-    *ucs4 = (uint32_t) -1;
-    for (i = 0; i < glyph_set->cRanges; i++) {
-       num_glyphs = glyph_set->ranges[i].cGlyphs;
-
-       utf16 = _cairo_malloc_ab (num_glyphs + 1, sizeof (uint16_t));
-       if (utf16 == NULL) {
-           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-           goto exit1;
-       }
-
-       glyph_indices = _cairo_malloc_ab (num_glyphs + 1, sizeof (WORD));
-       if (glyph_indices == NULL) {
-           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-           goto exit2;
-       }
-
-       for (j = 0; j < num_glyphs; j++)
-           utf16[j] = glyph_set->ranges[i].wcLow + j;
-       utf16[j] = 0;
-
-       if (GetGlyphIndicesW (hdc, utf16, num_glyphs, glyph_indices, 0) == GDI_ERROR) {
-           status = _cairo_win32_print_gdi_error (
-               "_cairo_win32_scaled_font_index_to_ucs4:GetGlyphIndicesW");
-           goto exit2;
-       }
-
-       for (j = 0; j < num_glyphs; j++) {
-           if (glyph_indices[j] == index) {
-               *ucs4 = utf16[j];
-               goto exit2;
-           }
-       }
-
-       free (glyph_indices);
-       glyph_indices = NULL;
-       free (utf16);
-       utf16 = NULL;
-    }
-
-exit2:
-    free (glyph_indices);
-    free (utf16);
-    free (glyph_set);
-exit1:
-    cairo_win32_scaled_font_done_font (&scaled_font->base);
-
-    return status;
-}
-
-static cairo_bool_t
-_cairo_win32_scaled_font_is_synthetic (void           *abstract_font)
-{
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-    cairo_status_t status;
-    int        weight;
-    cairo_bool_t bold;
-    cairo_bool_t italic;
-
-    status = _cairo_truetype_get_style (&scaled_font->base,
-                                       &weight,
-                                       &bold,
-                                       &italic);
-    /* If this doesn't work assume it is not synthetic to avoid
-     * unneccessary subsetting fallbacks. */
-    if (status != CAIRO_STATUS_SUCCESS)
-       return FALSE;
-
-    if (scaled_font->logfont.lfWeight != weight ||
-       scaled_font->logfont.lfItalic != italic)
-       return TRUE;
-
-    return FALSE;
-}
-
-static cairo_int_status_t
-_cairo_win32_scaled_font_index_to_glyph_name (void             *abstract_font,
-                                             char             **glyph_names,
-                                             int                num_glyph_names,
-                                             unsigned long      glyph_index,
-                                             unsigned long     *glyph_array_index)
-{
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-    int i;
-
-    /* Windows puts .notdef at index 0 then numbers the remaining
-     * glyphs starting from 1 in the order they appear in the font. */
-
-    /* Find the position of .notdef in the list of glyph names. We
-     * only need to do this once per scaled font. */
-    if (! scaled_font->has_type1_notdef_index) {
-       for (i = 0; i < num_glyph_names; i++) {
-           if (strcmp (glyph_names[i], ".notdef") == 0) {
-               scaled_font->type1_notdef_index = i;
-               scaled_font->has_type1_notdef_index = TRUE;
-               break;
-           }
-       }
-       if (! scaled_font->has_type1_notdef_index)
-           return CAIRO_INT_STATUS_UNSUPPORTED;
-    }
-
-    /* Once we know the position of .notdef the position of any glyph
-     * in the font can easily be obtained. */
-    if (glyph_index == 0)
-       *glyph_array_index = scaled_font->type1_notdef_index;
-    else if (glyph_index <= scaled_font->type1_notdef_index)
-       *glyph_array_index = glyph_index - 1;
-    else if (glyph_index < num_glyph_names)
-       *glyph_array_index = glyph_index;
-    else
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_int_status_t
-_cairo_win32_scaled_font_load_type1_data (void             *abstract_font,
-                                         long               offset,
-                                         unsigned char     *buffer,
-                                         unsigned long     *length)
-{
-    cairo_win32_scaled_font_t *scaled_font = abstract_font;
-
-    if (! scaled_font->is_type1)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    /* Using the tag 0 retrieves the entire font file. This works with
-     * Type 1 fonts as well as TTF/OTF fonts. */
-    return _cairo_win32_scaled_font_load_truetype_table (scaled_font,
-                                                        0,
-                                                        offset,
-                                                        buffer,
-                                                        length);
-}
-
-static cairo_status_t
-_cairo_win32_scaled_font_init_glyph_surface (cairo_win32_scaled_font_t *scaled_font,
-                                             cairo_scaled_glyph_t      *scaled_glyph)
-{
-    cairo_status_t status;
-    cairo_glyph_t glyph;
-    cairo_win32_surface_t *surface;
-    cairo_t *cr;
-    cairo_surface_t *image;
-    int width, height;
-    int x1, y1, x2, y2;
-
-    x1 = _cairo_fixed_integer_floor (scaled_glyph->bbox.p1.x);
-    y1 = _cairo_fixed_integer_floor (scaled_glyph->bbox.p1.y);
-    x2 = _cairo_fixed_integer_ceil (scaled_glyph->bbox.p2.x);
-    y2 = _cairo_fixed_integer_ceil (scaled_glyph->bbox.p2.y);
-    width = x2 - x1;
-    height = y2 - y1;
-
-    surface = (cairo_win32_surface_t *)
-       cairo_win32_surface_create_with_dib (CAIRO_FORMAT_RGB24, width, height);
-
-    cr = cairo_create (&surface->base);
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    status = cairo_status (cr);
-    cairo_destroy(cr);
-    if (status)
-       goto FAIL;
-
-    glyph.index = _cairo_scaled_glyph_index (scaled_glyph);
-    glyph.x = -x1;
-    glyph.y = -y1;
-    status = _draw_glyphs_on_surface (surface, scaled_font, RGB(0,0,0),
-                                      0, 0, &glyph, 1);
-    if (status)
-       goto FAIL;
-
-    GdiFlush();
-
-    image = _compute_a8_mask (surface);
-    status = image->status;
-    if (status)
-       goto FAIL;
-
-    cairo_surface_set_device_offset (image, -x1, -y1);
-    _cairo_scaled_glyph_set_surface (scaled_glyph,
-                                     &scaled_font->base,
-                                     (cairo_image_surface_t *) image);
-
-  FAIL:
-    cairo_surface_destroy (&surface->base);
-
-    return status;
-}
-
-static void
-_cairo_win32_transform_FIXED_to_fixed (cairo_matrix_t *matrix,
-                                       FIXED Fx, FIXED Fy,
-                                       cairo_fixed_t *fx, cairo_fixed_t *fy)
-{
-    double x = Fx.value + Fx.fract / 65536.0;
-    double y = Fy.value + Fy.fract / 65536.0;
-    cairo_matrix_transform_point (matrix, &x, &y);
-    *fx = _cairo_fixed_from_double (x);
-    *fy = _cairo_fixed_from_double (y);
-}
-
-static cairo_status_t
-_cairo_win32_scaled_font_init_glyph_path (cairo_win32_scaled_font_t *scaled_font,
-                                         cairo_scaled_glyph_t      *scaled_glyph)
-{
-    static const MAT2 matrix = { { 0, 1 }, { 0, 0 }, { 0, 0 }, { 0, -1 } };
-    cairo_status_t status;
-    GLYPHMETRICS metrics;
-    HDC hdc;
-    DWORD bytesGlyph;
-    unsigned char *buffer, *ptr;
-    cairo_path_fixed_t *path;
-    cairo_matrix_t transform;
-    cairo_fixed_t x, y;
-
-    if (scaled_font->is_bitmap)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    hdc = _get_global_font_dc ();
-    assert (hdc != NULL);
-
-    path = _cairo_path_fixed_create ();
-    if (!path)
-       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
-    if (scaled_font->base.options.hint_style == CAIRO_HINT_STYLE_NONE) {
-        status = _cairo_win32_scaled_font_select_unscaled_font (&scaled_font->base, hdc);
-        transform = scaled_font->base.scale;
-        cairo_matrix_scale (&transform, 1.0/scaled_font->em_square, 1.0/scaled_font->em_square);
-    } else {
-        status = cairo_win32_scaled_font_select_font (&scaled_font->base, hdc);
-        cairo_matrix_init_identity(&transform);
-    }
-    if (status)
-        goto CLEANUP_PATH;
-
-    bytesGlyph = GetGlyphOutlineW (hdc, _cairo_scaled_glyph_index (scaled_glyph),
-                                  GGO_NATIVE | GGO_GLYPH_INDEX,
-                                  &metrics, 0, NULL, &matrix);
-
-    if (bytesGlyph == GDI_ERROR) {
-       status = _cairo_win32_print_gdi_error ("_cairo_win32_scaled_font_glyph_path");
-       goto CLEANUP_FONT;
-    }
-
-    ptr = buffer = malloc (bytesGlyph);
-    if (!buffer) {
-       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-       goto CLEANUP_FONT;
-    }
-
-    if (GetGlyphOutlineW (hdc, _cairo_scaled_glyph_index (scaled_glyph),
-                         GGO_NATIVE | GGO_GLYPH_INDEX,
-                         &metrics, bytesGlyph, buffer, &matrix) == GDI_ERROR) {
-       status = _cairo_win32_print_gdi_error ("_cairo_win32_scaled_font_glyph_path");
-       goto CLEANUP_BUFFER;
-    }
-
-    while (ptr < buffer + bytesGlyph) {
-       TTPOLYGONHEADER *header = (TTPOLYGONHEADER *)ptr;
-       unsigned char *endPoly = ptr + header->cb;
-
-       ptr += sizeof (TTPOLYGONHEADER);
-
-        _cairo_win32_transform_FIXED_to_fixed (&transform,
-                                               header->pfxStart.x,
-                                               header->pfxStart.y,
-                                               &x, &y);
-        status = _cairo_path_fixed_move_to (path, x, y);
-       if (status)
-           goto CLEANUP_BUFFER;
-
-       while (ptr < endPoly) {
-           TTPOLYCURVE *curve = (TTPOLYCURVE *)ptr;
-           POINTFX *points = curve->apfx;
-           int i;
-           switch (curve->wType) {
-           case TT_PRIM_LINE:
-               for (i = 0; i < curve->cpfx; i++) {
-                    _cairo_win32_transform_FIXED_to_fixed (&transform,
-                                                           points[i].x,
-                                                           points[i].y,
-                                                           &x, &y);
-                   status = _cairo_path_fixed_line_to (path, x, y);
-                   if (status)
-                       goto CLEANUP_BUFFER;
-               }
-               break;
-           case TT_PRIM_QSPLINE:
-               for (i = 0; i < curve->cpfx - 1; i++) {
-                   cairo_fixed_t p1x, p1y, p2x, p2y, cx, cy, c1x, c1y, c2x, c2y;
-                   if (! _cairo_path_fixed_get_current_point (path, &p1x, &p1y))
-                       goto CLEANUP_BUFFER;
-                    _cairo_win32_transform_FIXED_to_fixed (&transform,
-                                                           points[i].x,
-                                                           points[i].y,
-                                                           &cx, &cy);
-
-                   if (i + 1 == curve->cpfx - 1) {
-                        _cairo_win32_transform_FIXED_to_fixed (&transform,
-                                                               points[i + 1].x,
-                                                               points[i + 1].y,
-                                                               &p2x, &p2y);
-                   } else {
-                       /* records with more than one curve use interpolation for
-                          control points, per http://support.microsoft.com/kb/q87115/ */
-                        _cairo_win32_transform_FIXED_to_fixed (&transform,
-                                                               points[i + 1].x,
-                                                               points[i + 1].y,
-                                                               &x, &y);
-                        p2x = (cx + x) / 2;
-                       p2y = (cy + y) / 2;
-                   }
-
-                   c1x = 2 * cx / 3 + p1x / 3;
-                   c1y = 2 * cy / 3 + p1y / 3;
-                   c2x = 2 * cx / 3 + p2x / 3;
-                   c2y = 2 * cy / 3 + p2y / 3;
-
-                   status = _cairo_path_fixed_curve_to (path, c1x, c1y, c2x, c2y, p2x, p2y);
-                   if (status)
-                       goto CLEANUP_BUFFER;
-               }
-               break;
-           case TT_PRIM_CSPLINE:
-               for (i = 0; i < curve->cpfx - 2; i += 2) {
-                   cairo_fixed_t x1, y1, x2, y2;
-                    _cairo_win32_transform_FIXED_to_fixed (&transform,
-                                                           points[i].x,
-                                                           points[i].y,
-                                                           &x, &y);
-                    _cairo_win32_transform_FIXED_to_fixed (&transform,
-                                                           points[i + 1].x,
-                                                           points[i + 1].y,
-                                                           &x1, &y1);
-                    _cairo_win32_transform_FIXED_to_fixed (&transform,
-                                                           points[i + 2].x,
-                                                           points[i + 2].y,
-                                                           &x2, &y2);
-                   status = _cairo_path_fixed_curve_to (path, x, y, x1, y1, x2, y2);
-                   if (status)
-                       goto CLEANUP_BUFFER;
-               }
-               break;
-           }
-           ptr += sizeof(TTPOLYCURVE) + sizeof (POINTFX) * (curve->cpfx - 1);
-       }
-       status = _cairo_path_fixed_close_path (path);
-       if (status)
-           goto CLEANUP_BUFFER;
-    }
-
-    _cairo_scaled_glyph_set_path (scaled_glyph,
-                                 &scaled_font->base,
-                                 path);
-
- CLEANUP_BUFFER:
-    free (buffer);
-
- CLEANUP_FONT:
-    if (scaled_font->base.options.hint_style == CAIRO_HINT_STYLE_NONE)
-       _cairo_win32_scaled_font_done_unscaled_font (&scaled_font->base);
-    else
-       cairo_win32_scaled_font_done_font (&scaled_font->base);
-
- CLEANUP_PATH:
-    if (status != CAIRO_STATUS_SUCCESS)
-       _cairo_path_fixed_destroy (path);
-
-    return status;
-}
-
-const cairo_scaled_font_backend_t _cairo_win32_scaled_font_backend = {
-    CAIRO_FONT_TYPE_WIN32,
-    _cairo_win32_scaled_font_fini,
-    _cairo_win32_scaled_font_glyph_init,
-    NULL, /* _cairo_win32_scaled_font_text_to_glyphs, FIXME */
-    _cairo_win32_scaled_font_ucs4_to_index,
-    _cairo_win32_scaled_font_load_truetype_table,
-    _cairo_win32_scaled_font_index_to_ucs4,
-    _cairo_win32_scaled_font_is_synthetic,
-    _cairo_win32_scaled_font_index_to_glyph_name,
-    _cairo_win32_scaled_font_load_type1_data
-};
-
-/* #cairo_win32_font_face_t */
-
-typedef struct _cairo_win32_font_face cairo_win32_font_face_t;
-
-/* If hfont is non-%NULL then logfont->lfHeight must be -S for some S,
- * logfont->lfWidth, logfont->lfEscapement, logfont->lfOrientation must
- * all be 0, and hfont is the result of calling CreateFontIndirectW on
- * logfont.
- */
-struct _cairo_win32_font_face {
-    cairo_font_face_t base;
-    LOGFONTW logfont;
-    HFONT hfont;
-};
-
-/* implement the platform-specific interface */
-
-static cairo_bool_t
-_is_scale (const cairo_matrix_t *matrix, double scale)
-{
-    return matrix->xx == scale && matrix->yy == scale &&
-           matrix->xy == 0. && matrix->yx == 0. &&
-           matrix->x0 == 0. && matrix->y0 == 0.;
-}
-
-static cairo_status_t
-_cairo_win32_font_face_scaled_font_create (void                        *abstract_face,
-                                          const cairo_matrix_t *font_matrix,
-                                          const cairo_matrix_t *ctm,
-                                          const cairo_font_options_t *options,
-                                          cairo_scaled_font_t **font)
-{
-    HFONT hfont = NULL;
-
-    cairo_win32_font_face_t *font_face = abstract_face;
-
-    if (font_face->hfont) {
-        /* Check whether it's OK to go ahead and use the font-face's HFONT. */
-        if (_is_scale (ctm, 1.) &&
-            _is_scale (font_matrix, -font_face->logfont.lfHeight)) {
-            hfont = font_face->hfont;
-        }
-    }
-
-    return _win32_scaled_font_create (&font_face->logfont,
-                                     hfont,
-                                     &font_face->base,
-                                     font_matrix, ctm, options,
-                                     font);
-}
-
-const cairo_font_face_backend_t _cairo_win32_font_face_backend = {
-    CAIRO_FONT_TYPE_WIN32,
-    _cairo_win32_font_face_create_for_toy,
-    _cairo_win32_font_face_destroy,
-    _cairo_win32_font_face_scaled_font_create
-};
-
-/* We maintain a hash table from LOGFONT,HFONT => #cairo_font_face_t.
- * The primary purpose of this mapping is to provide unique
- * #cairo_font_face_t values so that our cache and mapping from
- * #cairo_font_face_t => #cairo_scaled_font_t works. Once the
- * corresponding #cairo_font_face_t objects fall out of downstream
- * caches, we don't need them in this hash table anymore.
- *
- * Modifications to this hash table are protected by
- * _cairo_win32_font_face_mutex.
- */
-
-static cairo_hash_table_t *cairo_win32_font_face_hash_table = NULL;
-
-static int
-_cairo_win32_font_face_keys_equal (const void *key_a,
-                                  const void *key_b);
-
-static void
-_cairo_win32_font_face_hash_table_destroy (void)
-{
-    cairo_hash_table_t *hash_table;
-
-    /* We manually acquire the lock rather than calling
-     * _cairo_win32_font_face_hash_table_lock simply to avoid creating
-     * the table only to destroy it again. */
-    CAIRO_MUTEX_LOCK (_cairo_win32_font_face_mutex);
-    hash_table = cairo_win32_font_face_hash_table;
-    cairo_win32_font_face_hash_table = NULL;
-    CAIRO_MUTEX_UNLOCK (_cairo_win32_font_face_mutex);
-
-    if (hash_table != NULL)
-       _cairo_hash_table_destroy (hash_table);
-}
-
-static cairo_hash_table_t *
-_cairo_win32_font_face_hash_table_lock (void)
-{
-    CAIRO_MUTEX_LOCK (_cairo_win32_font_face_mutex);
-
-    if (unlikely (cairo_win32_font_face_hash_table == NULL))
-    {
-       cairo_win32_font_face_hash_table =
-       _cairo_hash_table_create (_cairo_win32_font_face_keys_equal);
-
-       if (unlikely (cairo_win32_font_face_hash_table == NULL)) {
-           CAIRO_MUTEX_UNLOCK (_cairo_win32_font_face_mutex);
-           _cairo_error_throw (CAIRO_STATUS_NO_MEMORY);
-           return NULL;
-       }
-    }
-
-    return cairo_win32_font_face_hash_table;
-}
-
-static void
-_cairo_win32_font_face_hash_table_unlock (void)
-{
-    CAIRO_MUTEX_UNLOCK (_cairo_win32_font_face_mutex);
-}
-
-static void
-_cairo_win32_font_face_destroy (void *abstract_face)
-{
-    cairo_win32_font_face_t *font_face = abstract_face;
-    cairo_hash_table_t *hash_table;
-
-    hash_table = _cairo_win32_font_face_hash_table_lock ();
-    /* All created objects must have been mapped in the hash table. */
-    assert (hash_table != NULL);
-
-    if (CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&font_face->base.ref_count)) {
-       /* somebody recreated the font whilst we waited for the lock */
-       _cairo_win32_font_face_hash_table_unlock ();
-       return;
-    }
-
-    /* Font faces in SUCCESS status are guaranteed to be in the
-     * hashtable. Font faces in an error status are removed from the
-     * hashtable if they are found during a lookup, thus they should
-     * only be removed if they are in the hashtable. */
-    if (likely (font_face->base.status == CAIRO_STATUS_SUCCESS) ||
-       _cairo_hash_table_lookup (hash_table, &font_face->base.hash_entry) == font_face)
-       _cairo_hash_table_remove (hash_table, &font_face->base.hash_entry);
-
-    _cairo_win32_font_face_hash_table_unlock ();
-}
-
-static void
-_cairo_win32_font_face_init_key (cairo_win32_font_face_t *key,
-                                LOGFONTW                *logfont,
-                                HFONT                    font)
-{
-    unsigned long hash = _CAIRO_HASH_INIT_VALUE;
-
-    key->logfont = *logfont;
-    key->hfont = font;
-
-    hash = _cairo_hash_bytes (0, logfont->lfFaceName, 2*wcslen(logfont->lfFaceName));
-    hash = _cairo_hash_bytes (hash, &logfont->lfWeight, sizeof(logfont->lfWeight));
-    hash = _cairo_hash_bytes (hash, &logfont->lfItalic, sizeof(logfont->lfItalic));
-
-    key->base.hash_entry.hash = hash;
-}
-
-static int
-_cairo_win32_font_face_keys_equal (const void *key_a,
-                                  const void *key_b)
-{
-    const cairo_win32_font_face_t *face_a = key_a;
-    const cairo_win32_font_face_t *face_b = key_b;
-
-    if (face_a->logfont.lfWeight         == face_b->logfont.lfWeight &&
-       face_a->logfont.lfItalic         == face_b->logfont.lfItalic &&
-       face_a->logfont.lfUnderline      == face_b->logfont.lfUnderline &&
-       face_a->logfont.lfStrikeOut      == face_b->logfont.lfStrikeOut &&
-       face_a->logfont.lfCharSet        == face_b->logfont.lfCharSet &&
-       face_a->logfont.lfOutPrecision   == face_b->logfont.lfOutPrecision &&
-       face_a->logfont.lfClipPrecision  == face_b->logfont.lfClipPrecision &&
-       face_a->logfont.lfPitchAndFamily == face_b->logfont.lfPitchAndFamily &&
-       (wcscmp (face_a->logfont.lfFaceName, face_b->logfont.lfFaceName) == 0))
-       return TRUE;
-    else
-       return FALSE;
-}
-
-/**
- * cairo_win32_font_face_create_for_logfontw_hfont:
- * @logfont: A #LOGFONTW structure specifying the font to use.
- *   If @font is %NULL then the lfHeight, lfWidth, lfOrientation and lfEscapement
- *   fields of this structure are ignored. Otherwise lfWidth, lfOrientation and
- *   lfEscapement must be zero.
- * @font: An #HFONT that can be used when the font matrix is a scale by
- *   -lfHeight and the CTM is identity.
- *
- * Creates a new font for the Win32 font backend based on a
- * #LOGFONT. This font can then be used with
- * cairo_set_font_face() or cairo_scaled_font_create().
- * The #cairo_scaled_font_t
- * returned from cairo_scaled_font_create() is also for the Win32 backend
- * and can be used with functions such as cairo_win32_scaled_font_select_font().
- *
- * Return value: a newly created #cairo_font_face_t. Free with
- *  cairo_font_face_destroy() when you are done using it.
- **/
-cairo_font_face_t *
-cairo_win32_font_face_create_for_logfontw_hfont (LOGFONTW *logfont, HFONT font)
-{
-    cairo_win32_font_face_t *font_face, key;
-    cairo_hash_table_t *hash_table;
-    cairo_status_t status;
-
-    hash_table = _cairo_win32_font_face_hash_table_lock ();
-    if (unlikely (hash_table == NULL)) {
-        _cairo_error_throw (CAIRO_STATUS_NO_MEMORY);
-       return (cairo_font_face_t *)&_cairo_font_face_nil;
-    }
-
-    _cairo_win32_font_face_init_key (&key, logfont, font);
-
-    /* Return existing unscaled font if it exists in the hash table. */
-    font_face = _cairo_hash_table_lookup (hash_table,
-                                        &key.base.hash_entry);
-    if (font_face != NULL) {
-       if (font_face->base.status == CAIRO_STATUS_SUCCESS) {
-           cairo_font_face_reference (&font_face->base);
-           _cairo_win32_font_face_hash_table_unlock ();
-           return &font_face->base;
-       }
-
-       /* remove the bad font from the hash table */
-       _cairo_hash_table_remove (hash_table, &font_face->base.hash_entry);
-    }
-
-    /* Otherwise create it and insert into hash table. */
-    font_face = malloc (sizeof (cairo_win32_font_face_t));
-    if (!font_face) {
-        _cairo_error_throw (CAIRO_STATUS_NO_MEMORY);
-       goto FAIL;
-    }
-
-    _cairo_win32_font_face_init_key (font_face, logfont, font);
-    _cairo_font_face_init (&font_face->base, &_cairo_win32_font_face_backend);
-
-    assert (font_face->base.hash_entry.hash == key.base.hash_entry.hash);
-    status = _cairo_hash_table_insert (hash_table,
-                                      &font_face->base.hash_entry);
-    if (unlikely (status))
-       goto FAIL;
-
-    _cairo_win32_font_face_hash_table_unlock ();
-    return &font_face->base;
-
-FAIL:
-    _cairo_win32_font_face_hash_table_unlock ();
-    return (cairo_font_face_t *)&_cairo_font_face_nil;
-}
-
-/**
- * cairo_win32_font_face_create_for_logfontw:
- * @logfont: A #LOGFONTW structure specifying the font to use.
- *   The lfHeight, lfWidth, lfOrientation and lfEscapement
- *   fields of this structure are ignored.
- *
- * Creates a new font for the Win32 font backend based on a
- * #LOGFONT. This font can then be used with
- * cairo_set_font_face() or cairo_scaled_font_create().
- * The #cairo_scaled_font_t
- * returned from cairo_scaled_font_create() is also for the Win32 backend
- * and can be used with functions such as cairo_win32_scaled_font_select_font().
- *
- * Return value: a newly created #cairo_font_face_t. Free with
- *  cairo_font_face_destroy() when you are done using it.
- **/
-cairo_font_face_t *
-cairo_win32_font_face_create_for_logfontw (LOGFONTW *logfont)
-{
-    return cairo_win32_font_face_create_for_logfontw_hfont (logfont, NULL);
-}
-
-/**
- * cairo_win32_font_face_create_for_hfont:
- * @font: An #HFONT structure specifying the font to use.
- *
- * Creates a new font for the Win32 font backend based on a
- * #HFONT. This font can then be used with
- * cairo_set_font_face() or cairo_scaled_font_create().
- * The #cairo_scaled_font_t
- * returned from cairo_scaled_font_create() is also for the Win32 backend
- * and can be used with functions such as cairo_win32_scaled_font_select_font().
- *
- * Return value: a newly created #cairo_font_face_t. Free with
- *  cairo_font_face_destroy() when you are done using it.
- **/
-cairo_font_face_t *
-cairo_win32_font_face_create_for_hfont (HFONT font)
-{
-    LOGFONTW logfont;
-    GetObjectW (font, sizeof(logfont), &logfont);
-
-    if (logfont.lfEscapement != 0 || logfont.lfOrientation != 0 ||
-        logfont.lfWidth != 0) {
-        /* We can't use this font because that optimization requires that
-         * lfEscapement, lfOrientation and lfWidth be zero. */
-        font = NULL;
-    }
-
-    return cairo_win32_font_face_create_for_logfontw_hfont (&logfont, font);
-}
-
-static cairo_bool_t
-_cairo_scaled_font_is_win32 (cairo_scaled_font_t *scaled_font)
-{
-    return scaled_font->backend == &_cairo_win32_scaled_font_backend;
-}
-
-/**
- * cairo_win32_scaled_font_select_font:
- * @scaled_font: A #cairo_scaled_font_t from the Win32 font backend. Such an
- *   object can be created with cairo_win32_scaled_font_create_for_logfontw().
- * @hdc: a device context
- *
- * Selects the font into the given device context and changes the
- * map mode and world transformation of the device context to match
- * that of the font. This function is intended for use when using
- * layout APIs such as Uniscribe to do text layout with the
- * cairo font. After finishing using the device context, you must call
- * cairo_win32_scaled_font_done_font() to release any resources allocated
- * by this function.
- *
- * See cairo_win32_scaled_font_get_metrics_factor() for converting logical
- * coordinates from the device context to font space.
- *
- * Normally, calls to SaveDC() and RestoreDC() would be made around
- * the use of this function to preserve the original graphics state.
- *
- * Return value: %CAIRO_STATUS_SUCCESS if the operation succeeded.
- *   otherwise an error such as %CAIRO_STATUS_NO_MEMORY and
- *   the device context is unchanged.
- **/
-cairo_status_t
-cairo_win32_scaled_font_select_font (cairo_scaled_font_t *scaled_font,
-                                    HDC                  hdc)
-{
-    cairo_status_t status;
-    HFONT hfont;
-    HFONT old_hfont = NULL;
-    int old_mode;
-
-    if (! _cairo_scaled_font_is_win32 (scaled_font)) {
-       return _cairo_error (CAIRO_STATUS_FONT_TYPE_MISMATCH);
-    }
-
-    if (scaled_font->status)
-       return scaled_font->status;
-
-    status = _win32_scaled_font_get_scaled_hfont ((cairo_win32_scaled_font_t *)scaled_font, &hfont);
-    if (status)
-       return status;
-
-    old_hfont = SelectObject (hdc, hfont);
-    if (!old_hfont)
-       return _cairo_win32_print_gdi_error ("cairo_win32_scaled_font_select_font:SelectObject");
-
-    old_mode = SetGraphicsMode (hdc, GM_ADVANCED);
-    if (!old_mode) {
-       status = _cairo_win32_print_gdi_error ("cairo_win32_scaled_font_select_font:SetGraphicsMode");
-       SelectObject (hdc, old_hfont);
-       return status;
-    }
-
-    status = _win32_scaled_font_set_world_transform ((cairo_win32_scaled_font_t *)scaled_font, hdc);
-    if (status) {
-       SetGraphicsMode (hdc, old_mode);
-       SelectObject (hdc, old_hfont);
-       return status;
-    }
-
-    SetMapMode (hdc, MM_TEXT);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-/**
- * cairo_win32_scaled_font_done_font:
- * @scaled_font: A scaled font from the Win32 font backend.
- *
- * Releases any resources allocated by cairo_win32_scaled_font_select_font()
- **/
-void
-cairo_win32_scaled_font_done_font (cairo_scaled_font_t *scaled_font)
-{
-    if (! _cairo_scaled_font_is_win32 (scaled_font)) {
-       _cairo_error_throw (CAIRO_STATUS_FONT_TYPE_MISMATCH);
-    }
-}
-
-/**
- * cairo_win32_scaled_font_get_metrics_factor:
- * @scaled_font: a scaled font from the Win32 font backend
- *
- * Gets a scale factor between logical coordinates in the coordinate
- * space used by cairo_win32_scaled_font_select_font() (that is, the
- * coordinate system used by the Windows functions to return metrics) and
- * font space coordinates.
- *
- * Return value: factor to multiply logical units by to get font space
- *               coordinates.
- **/
-double
-cairo_win32_scaled_font_get_metrics_factor (cairo_scaled_font_t *scaled_font)
-{
-    if (! _cairo_scaled_font_is_win32 (scaled_font)) {
-       _cairo_error_throw (CAIRO_STATUS_FONT_TYPE_MISMATCH);
-       return 1.;
-    }
-    return 1. / ((cairo_win32_scaled_font_t *)scaled_font)->logical_scale;
-}
-
-/**
- * cairo_win32_scaled_font_get_logical_to_device:
- * @scaled_font: a scaled font from the Win32 font backend
- * @logical_to_device: matrix to return
- *
- * Gets the transformation mapping the logical space used by @scaled_font
- * to device space.
- *
- * Since: 1.4
- **/
-void
-cairo_win32_scaled_font_get_logical_to_device (cairo_scaled_font_t *scaled_font,
-                                              cairo_matrix_t *logical_to_device)
-{
-    cairo_win32_scaled_font_t *win_font = (cairo_win32_scaled_font_t *)scaled_font;
-    if (! _cairo_scaled_font_is_win32 (scaled_font)) {
-       _cairo_error_throw (CAIRO_STATUS_FONT_TYPE_MISMATCH);
-       cairo_matrix_init_identity (logical_to_device);
-       return;
-    }
-    *logical_to_device = win_font->logical_to_device;
-}
-
-/**
- * cairo_win32_scaled_font_get_device_to_logical:
- * @scaled_font: a scaled font from the Win32 font backend
- * @device_to_logical: matrix to return
- *
- * Gets the transformation mapping device space to the logical space
- * used by @scaled_font.
- *
- * Since: 1.4
- **/
-void
-cairo_win32_scaled_font_get_device_to_logical (cairo_scaled_font_t *scaled_font,
-                                              cairo_matrix_t *device_to_logical)
-{
-    cairo_win32_scaled_font_t *win_font = (cairo_win32_scaled_font_t *)scaled_font;
-    if (! _cairo_scaled_font_is_win32 (scaled_font)) {
-       _cairo_error_throw (CAIRO_STATUS_FONT_TYPE_MISMATCH);
-       cairo_matrix_init_identity (device_to_logical);
-       return;
-    }
-    *device_to_logical = win_font->device_to_logical;
-}
-
-void
-_cairo_win32_font_reset_static_data (void)
-{
-    _cairo_win32_font_face_hash_table_destroy ();
-}
diff --git a/src/cairo-win32-printing-surface.c b/src/cairo-win32-printing-surface.c
deleted file mode 100644 (file)
index 296e626..0000000
+++ /dev/null
@@ -1,1898 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* Cairo - a vector graphics library with display and print output
- *
- * Copyright © 2007, 2008 Adrian Johnson
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * The Initial Developer of the Original Code is Adrian Johnson.
- *
- * Contributor(s):
- *      Adrian Johnson <ajohnson@redneon.com>
- *      Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#define WIN32_LEAN_AND_MEAN
-/* We require Windows 2000 features such as ETO_PDY */
-#if !defined(WINVER) || (WINVER < 0x0500)
-# define WINVER 0x0500
-#endif
-#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)
-# define _WIN32_WINNT 0x0500
-#endif
-
-#include "cairoint.h"
-
-#include "cairo-default-context-private.h"
-#include "cairo-error-private.h"
-#include "cairo-paginated-private.h"
-
-#include "cairo-clip-private.h"
-#include "cairo-win32-private.h"
-#include "cairo-recording-surface-private.h"
-#include "cairo-scaled-font-subsets-private.h"
-#include "cairo-image-info-private.h"
-#include "cairo-image-surface-private.h"
-#include "cairo-surface-backend-private.h"
-#include "cairo-surface-clipper-private.h"
-
-#include <windows.h>
-
-#if !defined(POSTSCRIPT_IDENTIFY)
-# define POSTSCRIPT_IDENTIFY 0x1015
-#endif
-
-#if !defined(PSIDENT_GDICENTRIC)
-# define PSIDENT_GDICENTRIC 0x0000
-#endif
-
-#if !defined(GET_PS_FEATURESETTING)
-# define GET_PS_FEATURESETTING 0x1019
-#endif
-
-#if !defined(FEATURESETTING_PSLEVEL)
-# define FEATURESETTING_PSLEVEL 0x0002
-#endif
-
-#if !defined(GRADIENT_FILL_RECT_H)
-# define GRADIENT_FILL_RECT_H 0x00
-#endif
-
-#if !defined(CHECKJPEGFORMAT)
-# define CHECKJPEGFORMAT 0x1017
-#endif
-
-#if !defined(CHECKPNGFORMAT)
-# define CHECKPNGFORMAT 0x1018
-#endif
-
-#define PELS_72DPI  ((LONG)(72. / 0.0254))
-
-static const cairo_surface_backend_t cairo_win32_printing_surface_backend;
-static const cairo_paginated_surface_backend_t cairo_win32_surface_paginated_backend;
-
-static void
-_cairo_win32_printing_surface_init_ps_mode (cairo_win32_surface_t *surface)
-{
-    DWORD word;
-    INT ps_feature, ps_level;
-
-    word = PSIDENT_GDICENTRIC;
-    if (ExtEscape (surface->dc, POSTSCRIPT_IDENTIFY, sizeof(DWORD), (char *)&word, 0, (char *)NULL) <= 0)
-       return;
-
-    ps_feature = FEATURESETTING_PSLEVEL;
-    if (ExtEscape (surface->dc, GET_PS_FEATURESETTING, sizeof(INT),
-                  (char *)&ps_feature, sizeof(INT), (char *)&ps_level) <= 0)
-       return;
-
-    if (ps_level >= 3)
-       surface->flags |= CAIRO_WIN32_SURFACE_CAN_RECT_GRADIENT;
-}
-
-static void
-_cairo_win32_printing_surface_init_image_support (cairo_win32_surface_t *surface)
-{
-    DWORD word;
-
-    word = CHECKJPEGFORMAT;
-    if (ExtEscape(surface->dc, QUERYESCSUPPORT, sizeof(word), (char *)&word, 0, (char *)NULL) > 0)
-       surface->flags |= CAIRO_WIN32_SURFACE_CAN_CHECK_JPEG;
-
-    word = CHECKPNGFORMAT;
-    if (ExtEscape(surface->dc, QUERYESCSUPPORT, sizeof(word), (char *)&word, 0, (char *)NULL) > 0)
-       surface->flags |= CAIRO_WIN32_SURFACE_CAN_CHECK_PNG;
-}
-
-/* When creating an EMF file, ExtTextOut with ETO_GLYPH_INDEX does not
- * work unless the GDI function GdiInitializeLanguagePack() has been
- * called.
- *
- *   http://m-a-tech.blogspot.com/2009/04/emf-buffer-idiocracy.html
- *
- * The only information I could find on the how to use this
- * undocumented function is the use in:
- *
- * http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_process.cc?view=markup
- *
- * to solve the same problem. The above code first checks if LPK.DLL
- * is already loaded. If it is not it calls
- * GdiInitializeLanguagePack() using the prototype
- *   BOOL GdiInitializeLanguagePack (int)
- * and argument 0.
- */
-static void
-_cairo_win32_printing_surface_init_language_pack (cairo_win32_surface_t *surface)
-{
-    typedef BOOL (WINAPI *gdi_init_lang_pack_func_t)(int);
-    gdi_init_lang_pack_func_t gdi_init_lang_pack;
-    HMODULE module;
-
-    if (GetModuleHandleW (L"LPK.DLL"))
-       return;
-
-    module = GetModuleHandleW (L"GDI32.DLL");
-    if (module) {
-       gdi_init_lang_pack = (gdi_init_lang_pack_func_t)
-           GetProcAddress (module, "GdiInitializeLanguagePack");
-       if (gdi_init_lang_pack)
-           gdi_init_lang_pack (0);
-    }
-}
-
-static cairo_int_status_t
-analyze_surface_pattern_transparency (cairo_surface_pattern_t *pattern)
-{
-    cairo_image_surface_t  *image;
-    void                  *image_extra;
-    cairo_int_status_t      status;
-    cairo_image_transparency_t transparency;
-
-    status = _cairo_surface_acquire_source_image (pattern->surface,
-                                                 &image,
-                                                 &image_extra);
-    if (status)
-       return status;
-
-    transparency = _cairo_image_analyze_transparency (image);
-    switch (transparency) {
-    case CAIRO_IMAGE_UNKNOWN:
-       ASSERT_NOT_REACHED;
-    case CAIRO_IMAGE_IS_OPAQUE:
-       status = CAIRO_STATUS_SUCCESS;
-       break;
-
-    case CAIRO_IMAGE_HAS_BILEVEL_ALPHA:
-    case CAIRO_IMAGE_HAS_ALPHA:
-       status = CAIRO_INT_STATUS_FLATTEN_TRANSPARENCY;
-       break;
-    }
-
-    _cairo_surface_release_source_image (pattern->surface, image, image_extra);
-
-    return status;
-}
-
-static cairo_bool_t
-surface_pattern_supported (const cairo_surface_pattern_t *pattern)
-{
-    if (_cairo_surface_is_recording (pattern->surface))
-       return TRUE;
-
-    if (cairo_surface_get_type (pattern->surface) != CAIRO_SURFACE_TYPE_WIN32 &&
-       pattern->surface->backend->acquire_source_image == NULL)
-    {
-       return FALSE;
-    }
-
-    return TRUE;
-}
-
-static cairo_bool_t
-pattern_supported (cairo_win32_surface_t *surface, const cairo_pattern_t *pattern)
-{
-    if (pattern->type == CAIRO_PATTERN_TYPE_SOLID)
-       return TRUE;
-
-    if (pattern->type == CAIRO_PATTERN_TYPE_SURFACE)
-       return surface_pattern_supported ((const cairo_surface_pattern_t *) pattern);
-
-    if (pattern->type == CAIRO_PATTERN_TYPE_LINEAR)
-       return surface->flags & CAIRO_WIN32_SURFACE_CAN_RECT_GRADIENT;
-
-    return FALSE;
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_analyze_operation (cairo_win32_surface_t *surface,
-                                                 cairo_operator_t       op,
-                                                 const cairo_pattern_t *pattern)
-{
-    if (! pattern_supported (surface, pattern))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    if (!(op == CAIRO_OPERATOR_SOURCE ||
-         op == CAIRO_OPERATOR_OVER ||
-         op == CAIRO_OPERATOR_CLEAR))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    if (pattern->type == CAIRO_PATTERN_TYPE_SURFACE) {
-       cairo_surface_pattern_t *surface_pattern = (cairo_surface_pattern_t *) pattern;
-
-       if ( _cairo_surface_is_recording (surface_pattern->surface))
-           return CAIRO_INT_STATUS_ANALYZE_RECORDING_SURFACE_PATTERN;
-    }
-
-    if (op == CAIRO_OPERATOR_SOURCE ||
-       op == CAIRO_OPERATOR_CLEAR)
-       return CAIRO_STATUS_SUCCESS;
-
-    /* CAIRO_OPERATOR_OVER is only supported for opaque patterns. If
-     * the pattern contains transparency, we return
-     * CAIRO_INT_STATUS_FLATTEN_TRANSPARENCY to the analysis
-     * surface. If the analysis surface determines that there is
-     * anything drawn under this operation, a fallback image will be
-     * used. Otherwise the operation will be replayed during the
-     * render stage and we blend the transarency into the white
-     * background to convert the pattern to opaque.
-     */
-
-    if (pattern->type == CAIRO_PATTERN_TYPE_SURFACE) {
-       cairo_surface_pattern_t *surface_pattern = (cairo_surface_pattern_t *) pattern;
-
-       return analyze_surface_pattern_transparency (surface_pattern);
-    }
-
-    if (_cairo_pattern_is_opaque (pattern, NULL))
-       return CAIRO_STATUS_SUCCESS;
-    else
-       return CAIRO_INT_STATUS_FLATTEN_TRANSPARENCY;
-}
-
-static cairo_bool_t
-_cairo_win32_printing_surface_operation_supported (cairo_win32_surface_t *surface,
-                                                   cairo_operator_t       op,
-                                                   const cairo_pattern_t *pattern)
-{
-    if (_cairo_win32_printing_surface_analyze_operation (surface, op, pattern) != CAIRO_INT_STATUS_UNSUPPORTED)
-       return TRUE;
-    else
-       return FALSE;
-}
-
-static void
-_cairo_win32_printing_surface_init_clear_color (cairo_win32_surface_t *surface,
-                                               cairo_solid_pattern_t *color)
-{
-    if (surface->content == CAIRO_CONTENT_COLOR_ALPHA)
-       _cairo_pattern_init_solid (color, CAIRO_COLOR_WHITE);
-    else
-       _cairo_pattern_init_solid (color, CAIRO_COLOR_BLACK);
-}
-
-static COLORREF
-_cairo_win32_printing_surface_flatten_transparency (cairo_win32_surface_t *surface,
-                                                   const cairo_color_t   *color)
-{
-    COLORREF c;
-    BYTE red, green, blue;
-
-    red   = color->red_short   >> 8;
-    green = color->green_short >> 8;
-    blue  = color->blue_short  >> 8;
-
-    if (!CAIRO_COLOR_IS_OPAQUE(color)) {
-       if (surface->content == CAIRO_CONTENT_COLOR_ALPHA) {
-           /* Blend into white */
-           uint8_t one_minus_alpha = 255 - (color->alpha_short >> 8);
-
-           red   = (color->red_short   >> 8) + one_minus_alpha;
-           green = (color->green_short >> 8) + one_minus_alpha;
-           blue  = (color->blue_short  >> 8) + one_minus_alpha;
-       } else {
-           /* Blend into black */
-           red   = (color->red_short   >> 8);
-           green = (color->green_short >> 8);
-           blue  = (color->blue_short  >> 8);
-       }
-    }
-    c = RGB (red, green, blue);
-
-    return c;
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_select_solid_brush (cairo_win32_surface_t *surface,
-                                                  const cairo_pattern_t *source)
-{
-    cairo_solid_pattern_t *pattern = (cairo_solid_pattern_t *) source;
-    COLORREF color;
-
-    color = _cairo_win32_printing_surface_flatten_transparency (surface,
-                                                               &pattern->color);
-    surface->brush = CreateSolidBrush (color);
-    if (!surface->brush)
-       return _cairo_win32_print_gdi_error ("_cairo_win32_surface_select_solid_brush(CreateSolidBrush)");
-    surface->old_brush = SelectObject (surface->dc, surface->brush);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static void
-_cairo_win32_printing_surface_done_solid_brush (cairo_win32_surface_t *surface)
-{
-    if (surface->old_brush) {
-       SelectObject (surface->dc, surface->old_brush);
-       DeleteObject (surface->brush);
-       surface->old_brush = NULL;
-    }
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_get_ctm_clip_box (cairo_win32_surface_t *surface,
-                                               RECT                  *clip)
-{
-    XFORM xform;
-
-    _cairo_matrix_to_win32_xform (&surface->ctm, &xform);
-    if (!ModifyWorldTransform (surface->dc, &xform, MWT_LEFTMULTIPLY))
-       return _cairo_win32_print_gdi_error ("_cairo_win32_printing_surface_get_clip_box:ModifyWorldTransform");
-    GetClipBox (surface->dc, clip);
-
-    _cairo_matrix_to_win32_xform (&surface->gdi_ctm, &xform);
-    if (!SetWorldTransform (surface->dc, &xform))
-       return _cairo_win32_print_gdi_error ("_cairo_win32_printing_surface_get_clip_box:SetWorldTransform");
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_paint_solid_pattern (cairo_win32_surface_t *surface,
-                                                   const cairo_pattern_t *pattern)
-{
-    RECT clip;
-    cairo_status_t status;
-
-    GetClipBox (surface->dc, &clip);
-    status = _cairo_win32_printing_surface_select_solid_brush (surface, pattern);
-    if (status)
-       return status;
-
-    FillRect (surface->dc, &clip, surface->brush);
-    _cairo_win32_printing_surface_done_solid_brush (surface);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_paint_recording_pattern (cairo_win32_surface_t   *surface,
-                                                      cairo_surface_pattern_t *pattern)
-{
-    cairo_content_t old_content;
-    cairo_matrix_t old_ctm;
-    cairo_bool_t old_has_ctm;
-    cairo_rectangle_int_t recording_extents;
-    cairo_status_t status;
-    cairo_extend_t extend;
-    cairo_matrix_t p2d;
-    XFORM xform;
-    int x_tile, y_tile, left, right, top, bottom;
-    RECT clip;
-    cairo_recording_surface_t *recording_surface = (cairo_recording_surface_t *) pattern->surface;
-    cairo_box_t bbox;
-
-    extend = cairo_pattern_get_extend (&pattern->base);
-
-    p2d = pattern->base.matrix;
-    status = cairo_matrix_invert (&p2d);
-    /* _cairo_pattern_set_matrix guarantees invertibility */
-    assert (status == CAIRO_STATUS_SUCCESS);
-
-    old_ctm = surface->ctm;
-    old_has_ctm = surface->has_ctm;
-    cairo_matrix_multiply (&p2d, &p2d, &surface->ctm);
-    surface->ctm = p2d;
-    SaveDC (surface->dc);
-    _cairo_matrix_to_win32_xform (&p2d, &xform);
-
-    status = _cairo_recording_surface_get_bbox (recording_surface, &bbox, NULL);
-    if (status)
-       return status;
-
-    _cairo_box_round_to_rectangle (&bbox, &recording_extents);
-
-    status = _cairo_win32_printing_surface_get_ctm_clip_box (surface, &clip);
-    if (status)
-       return status;
-
-    if (extend == CAIRO_EXTEND_REPEAT || extend == CAIRO_EXTEND_REFLECT) {
-       left = floor (clip.left / _cairo_fixed_to_double (bbox.p2.x - bbox.p1.x));
-       right = ceil (clip.right / _cairo_fixed_to_double (bbox.p2.x - bbox.p1.x));
-       top = floor (clip.top / _cairo_fixed_to_double (bbox.p2.y - bbox.p1.y));
-       bottom = ceil (clip.bottom / _cairo_fixed_to_double (bbox.p2.y - bbox.p1.y));
-    } else {
-       left = 0;
-       right = 1;
-       top = 0;
-       bottom = 1;
-    }
-
-    old_content = surface->content;
-    if (recording_surface->base.content == CAIRO_CONTENT_COLOR) {
-       surface->content = CAIRO_CONTENT_COLOR;
-       status = _cairo_win32_printing_surface_paint_solid_pattern (surface,
-                                                                   &_cairo_pattern_black.base);
-       if (status)
-           return status;
-    }
-
-    for (y_tile = top; y_tile < bottom; y_tile++) {
-       for (x_tile = left; x_tile < right; x_tile++) {
-           cairo_matrix_t m;
-           double x, y;
-
-           SaveDC (surface->dc);
-           m = p2d;
-           cairo_matrix_translate (&m,
-                                   x_tile*recording_extents.width,
-                                   y_tile*recording_extents.height);
-           if (extend == CAIRO_EXTEND_REFLECT) {
-               if (x_tile % 2) {
-                   cairo_matrix_translate (&m, recording_extents.width, 0);
-                   cairo_matrix_scale (&m, -1, 1);
-               }
-               if (y_tile % 2) {
-                   cairo_matrix_translate (&m, 0, recording_extents.height);
-                   cairo_matrix_scale (&m, 1, -1);
-               }
-           }
-           surface->ctm = m;
-           surface->has_ctm = !_cairo_matrix_is_identity (&surface->ctm);
-
-           /* Set clip path around bbox of the pattern. */
-           BeginPath (surface->dc);
-
-           x = 0;
-           y = 0;
-           cairo_matrix_transform_point (&surface->ctm, &x, &y);
-           MoveToEx (surface->dc, (int) x, (int) y, NULL);
-
-           x = recording_extents.width;
-           y = 0;
-           cairo_matrix_transform_point (&surface->ctm, &x, &y);
-           LineTo (surface->dc, (int) x, (int) y);
-
-           x = recording_extents.width;
-           y = recording_extents.height;
-           cairo_matrix_transform_point (&surface->ctm, &x, &y);
-           LineTo (surface->dc, (int) x, (int) y);
-
-           x = 0;
-           y = recording_extents.height;
-           cairo_matrix_transform_point (&surface->ctm, &x, &y);
-           LineTo (surface->dc, (int) x, (int) y);
-
-           CloseFigure (surface->dc);
-           EndPath (surface->dc);
-           SelectClipPath (surface->dc, RGN_AND);
-
-           SaveDC (surface->dc); /* Allow clip path to be reset during replay */
-           status = _cairo_recording_surface_replay_region (&recording_surface->base, NULL,
-                                                            &surface->base,
-                                                            CAIRO_RECORDING_REGION_NATIVE);
-           assert (status != CAIRO_INT_STATUS_UNSUPPORTED);
-           /* Restore both the clip save and our earlier path SaveDC */
-           RestoreDC (surface->dc, -2);
-
-           if (status)
-               return status;
-       }
-    }
-
-    surface->content = old_content;
-    surface->ctm = old_ctm;
-    surface->has_ctm = old_has_ctm;
-    RestoreDC (surface->dc, -1);
-
-    return status;
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_check_jpeg (cairo_win32_surface_t   *surface,
-                                         cairo_surface_t         *source,
-                                         const unsigned char    **data,
-                                         unsigned long           *length,
-                                         cairo_image_info_t      *info)
-{
-    const unsigned char *mime_data;
-    unsigned long mime_data_length;
-    cairo_int_status_t status;
-    DWORD result;
-
-    if (!(surface->flags & CAIRO_WIN32_SURFACE_CAN_CHECK_JPEG))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    cairo_surface_get_mime_data (source, CAIRO_MIME_TYPE_JPEG,
-                                &mime_data, &mime_data_length);
-    if (mime_data == NULL)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    status = _cairo_image_info_get_jpeg_info (info, mime_data, mime_data_length);
-    if (status)
-       return status;
-
-    result = 0;
-    if (ExtEscape(surface->dc, CHECKJPEGFORMAT, mime_data_length, (char *) mime_data,
-                 sizeof(result), (char *) &result) <= 0)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    if (result != 1)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    *data = mime_data;
-    *length = mime_data_length;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_check_png (cairo_win32_surface_t   *surface,
-                                        cairo_surface_t         *source,
-                                        const unsigned char    **data,
-                                        unsigned long           *length,
-                                        cairo_image_info_t      *info)
-{
-    const unsigned char *mime_data;
-    unsigned long mime_data_length;
-
-    cairo_int_status_t status;
-    DWORD result;
-
-    if (!(surface->flags & CAIRO_WIN32_SURFACE_CAN_CHECK_PNG))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    cairo_surface_get_mime_data (source, CAIRO_MIME_TYPE_PNG,
-                                &mime_data, &mime_data_length);
-    if (mime_data == NULL)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    status = _cairo_image_info_get_png_info (info, mime_data, mime_data_length);
-    if (status)
-       return status;
-
-    result = 0;
-    if (ExtEscape(surface->dc, CHECKPNGFORMAT, mime_data_length, (char *) mime_data,
-                 sizeof(result), (char *) &result) <= 0)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    if (result != 1)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    *data = mime_data;
-    *length = mime_data_length;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_paint_image_pattern (cairo_win32_surface_t   *surface,
-                                                  cairo_surface_pattern_t *pattern)
-{
-    cairo_status_t status;
-    cairo_extend_t extend;
-    cairo_image_surface_t *image;
-    void *image_extra;
-    cairo_image_surface_t *opaque_image = NULL;
-    BITMAPINFO bi;
-    cairo_matrix_t m;
-    int oldmode;
-    XFORM xform;
-    int x_tile, y_tile, left, right, top, bottom;
-    RECT clip;
-    const cairo_color_t *background_color;
-    const unsigned char *mime_data;
-    unsigned long mime_size;
-    cairo_image_info_t mime_info;
-    cairo_bool_t use_mime;
-    DWORD mime_type;
-
-    /* If we can't use StretchDIBits with this surface, we can't do anything
-     * here.
-     */
-    if (!(surface->flags & CAIRO_WIN32_SURFACE_CAN_STRETCHDIB))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    if (surface->content == CAIRO_CONTENT_COLOR_ALPHA)
-       background_color = CAIRO_COLOR_WHITE;
-    else
-       background_color = CAIRO_COLOR_BLACK;
-
-    extend = cairo_pattern_get_extend (&pattern->base);
-
-    status = _cairo_surface_acquire_source_image (pattern->surface,
-                                                 &image, &image_extra);
-    if (status)
-       return status;
-
-    if (image->base.status) {
-       status = image->base.status;
-       goto CLEANUP_IMAGE;
-    }
-
-    if (image->width == 0 || image->height == 0) {
-       status = CAIRO_STATUS_SUCCESS;
-       goto CLEANUP_IMAGE;
-    }
-
-    mime_type = BI_JPEG;
-    status = _cairo_win32_printing_surface_check_jpeg (surface,
-                                                      pattern->surface,
-                                                      &mime_data,
-                                                      &mime_size,
-                                                      &mime_info);
-    if (status == CAIRO_INT_STATUS_UNSUPPORTED) {
-       mime_type = BI_PNG;
-       status = _cairo_win32_printing_surface_check_png (surface,
-                                                         pattern->surface,
-                                                         &mime_data,
-                                                         &mime_size,
-                                                         &mime_info);
-    }
-    if (_cairo_status_is_error (status))
-       return status;
-
-    use_mime = (status == CAIRO_STATUS_SUCCESS);
-
-    if (!use_mime && image->format != CAIRO_FORMAT_RGB24) {
-       cairo_surface_t *opaque_surface;
-       cairo_surface_pattern_t image_pattern;
-       cairo_solid_pattern_t background_pattern;
-
-       opaque_surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
-                                                    image->width,
-                                                    image->height);
-       if (opaque_surface->status) {
-           status = opaque_surface->status;
-           goto CLEANUP_OPAQUE_IMAGE;
-       }
-
-       _cairo_pattern_init_solid (&background_pattern,
-                                  background_color);
-       status = _cairo_surface_paint (opaque_surface,
-                                      CAIRO_OPERATOR_SOURCE,
-                                      &background_pattern.base,
-                                      NULL);
-       if (status)
-           goto CLEANUP_OPAQUE_IMAGE;
-
-       _cairo_pattern_init_for_surface (&image_pattern, &image->base);
-       status = _cairo_surface_paint (opaque_surface,
-                                      CAIRO_OPERATOR_OVER,
-                                      &image_pattern.base,
-                                      NULL);
-       _cairo_pattern_fini (&image_pattern.base);
-       if (status)
-           goto CLEANUP_OPAQUE_IMAGE;
-
-       opaque_image = (cairo_image_surface_t *) opaque_surface;
-    } else {
-       opaque_image = image;
-    }
-
-    bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
-    bi.bmiHeader.biWidth = use_mime ? mime_info.width : opaque_image->width;
-    bi.bmiHeader.biHeight = use_mime ? - mime_info.height : -opaque_image->height;
-    bi.bmiHeader.biSizeImage = use_mime ? mime_size : 0;
-    bi.bmiHeader.biXPelsPerMeter = PELS_72DPI;
-    bi.bmiHeader.biYPelsPerMeter = PELS_72DPI;
-    bi.bmiHeader.biPlanes = 1;
-    bi.bmiHeader.biBitCount = 32;
-    bi.bmiHeader.biCompression = use_mime ? mime_type : BI_RGB;
-    bi.bmiHeader.biClrUsed = 0;
-    bi.bmiHeader.biClrImportant = 0;
-
-    m = pattern->base.matrix;
-    status = cairo_matrix_invert (&m);
-    /* _cairo_pattern_set_matrix guarantees invertibility */
-    assert (status == CAIRO_STATUS_SUCCESS);
-
-    cairo_matrix_multiply (&m, &m, &surface->gdi_ctm);
-    SaveDC (surface->dc);
-    _cairo_matrix_to_win32_xform (&m, &xform);
-
-    if (! SetWorldTransform (surface->dc, &xform)) {
-       status = _cairo_win32_print_gdi_error ("_cairo_win32_printing_surface_paint_image_pattern");
-       goto CLEANUP_OPAQUE_IMAGE;
-    }
-
-    oldmode = SetStretchBltMode(surface->dc, HALFTONE);
-
-    GetClipBox (surface->dc, &clip);
-    if (extend == CAIRO_EXTEND_REPEAT || extend == CAIRO_EXTEND_REFLECT) {
-       left = floor ( clip.left / (double) opaque_image->width);
-       right = ceil (clip.right / (double) opaque_image->width);
-       top = floor (clip.top / (double) opaque_image->height);
-       bottom = ceil (clip.bottom / (double) opaque_image->height);
-    } else {
-       left = 0;
-       right = 1;
-       top = 0;
-       bottom = 1;
-    }
-
-    for (y_tile = top; y_tile < bottom; y_tile++) {
-       for (x_tile = left; x_tile < right; x_tile++) {
-           if (!StretchDIBits (surface->dc,
-                               x_tile*opaque_image->width,
-                               y_tile*opaque_image->height,
-                               opaque_image->width,
-                               opaque_image->height,
-                               0,
-                               0,
-                               use_mime ? mime_info.width : opaque_image->width,
-                               use_mime ? mime_info.height : opaque_image->height,
-                               use_mime ? mime_data : opaque_image->data,
-                               &bi,
-                               DIB_RGB_COLORS,
-                               SRCCOPY))
-           {
-               status = _cairo_win32_print_gdi_error ("_cairo_win32_printing_surface_paint(StretchDIBits)");
-               goto CLEANUP_OPAQUE_IMAGE;
-           }
-       }
-    }
-    SetStretchBltMode(surface->dc, oldmode);
-    RestoreDC (surface->dc, -1);
-
-CLEANUP_OPAQUE_IMAGE:
-    if (opaque_image != image)
-       cairo_surface_destroy (&opaque_image->base);
-CLEANUP_IMAGE:
-    _cairo_surface_release_source_image (pattern->surface, image, image_extra);
-
-    return status;
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_paint_surface_pattern (cairo_win32_surface_t   *surface,
-                                                     cairo_surface_pattern_t *pattern)
-{
-    if (_cairo_surface_is_recording (pattern->surface)) {
-       return _cairo_win32_printing_surface_paint_recording_pattern (surface,
-                                                                     pattern);
-    } else {
-       return _cairo_win32_printing_surface_paint_image_pattern (surface,
-                                                                 pattern);
-    }
-}
-
-static void
-vertex_set_color (TRIVERTEX *vert, cairo_color_stop_t *color)
-{
-    /* MSDN says that the range here is 0x0000 .. 0xff00;
-     * that may well be a typo, but just chop the low bits
-     * here. */
-    vert->Alpha = 0xff00;
-    vert->Red   = color->red_short & 0xff00;
-    vert->Green = color->green_short & 0xff00;
-    vert->Blue  = color->blue_short & 0xff00;
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_paint_linear_pattern (cairo_win32_surface_t *surface,
-                                                    cairo_linear_pattern_t *pattern)
-{
-    TRIVERTEX *vert;
-    GRADIENT_RECT *rect;
-    RECT clip;
-    XFORM xform;
-    int i, num_stops;
-    cairo_matrix_t mat, rot;
-    double p1x, p1y, p2x, p2y, xd, yd, d, sn, cs;
-    cairo_extend_t extend;
-    int range_start, range_stop, num_ranges, num_rects, stop;
-    int total_verts, total_rects;
-    cairo_status_t status;
-
-    extend = cairo_pattern_get_extend (&pattern->base.base);
-    SaveDC (surface->dc);
-
-    mat = pattern->base.base.matrix;
-    status = cairo_matrix_invert (&mat);
-    /* _cairo_pattern_set_matrix guarantees invertibility */
-    assert (status == CAIRO_STATUS_SUCCESS);
-
-    cairo_matrix_multiply (&mat, &surface->ctm, &mat);
-
-    p1x = pattern->pd1.x;
-    p1y = pattern->pd1.y;
-    p2x = pattern->pd2.x;
-    p2y = pattern->pd2.y;
-    cairo_matrix_translate (&mat, p1x, p1y);
-
-    xd = p2x - p1x;
-    yd = p2y - p1y;
-    d = sqrt (xd*xd + yd*yd);
-    sn = yd/d;
-    cs = xd/d;
-    cairo_matrix_init (&rot,
-                      cs, sn,
-                      -sn, cs,
-                       0, 0);
-    cairo_matrix_multiply (&mat, &rot, &mat);
-
-    _cairo_matrix_to_win32_xform (&mat, &xform);
-
-    if (!SetWorldTransform (surface->dc, &xform))
-       return _cairo_win32_print_gdi_error ("_win32_printing_surface_paint_linear_pattern:SetWorldTransform2");
-
-    GetClipBox (surface->dc, &clip);
-
-    if (extend == CAIRO_EXTEND_REPEAT || extend == CAIRO_EXTEND_REFLECT) {
-       range_start = floor (clip.left / d);
-       range_stop = ceil (clip.right / d);
-    } else {
-       range_start = 0;
-       range_stop = 1;
-    }
-    num_ranges = range_stop - range_start;
-    num_stops = pattern->base.n_stops;
-    num_rects = num_stops - 1;
-
-    /* Add an extra four points and two rectangles for EXTEND_PAD */
-    vert = malloc (sizeof (TRIVERTEX) * (num_rects*2*num_ranges + 4));
-    rect = malloc (sizeof (GRADIENT_RECT) * (num_rects*num_ranges + 2));
-
-    for (i = 0; i < num_ranges*num_rects; i++) {
-       vert[i*2].y = (LONG) clip.top;
-       if (i%num_rects == 0) {
-           stop = 0;
-           if (extend == CAIRO_EXTEND_REFLECT && (range_start+(i/num_rects))%2)
-               stop = num_rects;
-           vert[i*2].x = (LONG)(d*(range_start + i/num_rects));
-           vertex_set_color (&vert[i*2], &pattern->base.stops[stop].color);
-       } else {
-           vert[i*2].x = vert[i*2-1].x;
-           vert[i*2].Red = vert[i*2-1].Red;
-           vert[i*2].Green = vert[i*2-1].Green;
-           vert[i*2].Blue = vert[i*2-1].Blue;
-           vert[i*2].Alpha = vert[i*2-1].Alpha;
-       }
-
-       stop = i%num_rects + 1;
-       vert[i*2+1].x = (LONG)(d*(range_start + i/num_rects + pattern->base.stops[stop].offset));
-       vert[i*2+1].y = (LONG) clip.bottom;
-       if (extend == CAIRO_EXTEND_REFLECT && (range_start+(i/num_rects))%2)
-           stop = num_rects - stop;
-       vertex_set_color (&vert[i*2+1], &pattern->base.stops[stop].color);
-
-       rect[i].UpperLeft = i*2;
-       rect[i].LowerRight = i*2 + 1;
-    }
-    total_verts = 2*num_ranges*num_rects;
-    total_rects = num_ranges*num_rects;
-
-    if (extend == CAIRO_EXTEND_PAD) {
-       vert[i*2].x = vert[i*2-1].x;
-       vert[i*2].y = (LONG) clip.top;
-       vert[i*2].Red = vert[i*2-1].Red;
-       vert[i*2].Green = vert[i*2-1].Green;
-       vert[i*2].Blue = vert[i*2-1].Blue;
-       vert[i*2].Alpha = 0xff00;
-       vert[i*2+1].x = clip.right;
-       vert[i*2+1].y = (LONG) clip.bottom;
-       vert[i*2+1].Red = vert[i*2-1].Red;
-       vert[i*2+1].Green = vert[i*2-1].Green;
-       vert[i*2+1].Blue = vert[i*2-1].Blue;
-       vert[i*2+1].Alpha = 0xff00;
-       rect[i].UpperLeft = i*2;
-       rect[i].LowerRight = i*2 + 1;
-
-       i++;
-
-       vert[i*2].x = clip.left;
-       vert[i*2].y = (LONG) clip.top;
-       vert[i*2].Red = vert[0].Red;
-       vert[i*2].Green = vert[0].Green;
-       vert[i*2].Blue = vert[0].Blue;
-       vert[i*2].Alpha = 0xff00;
-       vert[i*2+1].x = vert[0].x;
-       vert[i*2+1].y = (LONG) clip.bottom;
-       vert[i*2+1].Red = vert[0].Red;
-       vert[i*2+1].Green = vert[0].Green;
-       vert[i*2+1].Blue = vert[0].Blue;
-       vert[i*2+1].Alpha = 0xff00;
-       rect[i].UpperLeft = i*2;
-       rect[i].LowerRight = i*2 + 1;
-
-       total_verts += 4;
-       total_rects += 2;
-    }
-
-    if (!GradientFill (surface->dc,
-                      vert, total_verts,
-                      rect, total_rects,
-                      GRADIENT_FILL_RECT_H))
-       return _cairo_win32_print_gdi_error ("_win32_printing_surface_paint_linear_pattern:GradientFill");
-
-    free (rect);
-    free (vert);
-    RestoreDC (surface->dc, -1);
-
-    return 0;
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_paint_pattern (cairo_win32_surface_t *surface,
-                                             const cairo_pattern_t *pattern)
-{
-    cairo_status_t status;
-
-    switch (pattern->type) {
-    case CAIRO_PATTERN_TYPE_SOLID:
-       status = _cairo_win32_printing_surface_paint_solid_pattern (surface, pattern);
-       if (status)
-           return status;
-       break;
-
-    case CAIRO_PATTERN_TYPE_SURFACE:
-       status = _cairo_win32_printing_surface_paint_surface_pattern (surface,
-                                                                      (cairo_surface_pattern_t *) pattern);
-       if (status)
-           return status;
-       break;
-
-    case CAIRO_PATTERN_TYPE_LINEAR:
-       status = _cairo_win32_printing_surface_paint_linear_pattern (surface, (cairo_linear_pattern_t *) pattern);
-       if (status)
-           return status;
-       break;
-
-    case CAIRO_PATTERN_TYPE_RADIAL:
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-       break;
-
-    case CAIRO_PATTERN_TYPE_MESH:
-       ASSERT_NOT_REACHED;
-    }
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-typedef struct _win32_print_path_info {
-    cairo_win32_surface_t *surface;
-} win32_path_info_t;
-
-static cairo_status_t
-_cairo_win32_printing_surface_path_move_to (void *closure,
-                                           const cairo_point_t *point)
-{
-    win32_path_info_t *path_info = closure;
-
-    if (path_info->surface->has_ctm) {
-       double x, y;
-
-       x = _cairo_fixed_to_double (point->x);
-       y = _cairo_fixed_to_double (point->y);
-       cairo_matrix_transform_point (&path_info->surface->ctm, &x, &y);
-       MoveToEx (path_info->surface->dc, (int) x, (int) y, NULL);
-    } else {
-       MoveToEx (path_info->surface->dc,
-                 _cairo_fixed_integer_part (point->x),
-                 _cairo_fixed_integer_part (point->y),
-                 NULL);
-    }
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_path_line_to (void *closure,
-                                           const cairo_point_t *point)
-{
-    win32_path_info_t *path_info = closure;
-
-    path_info->surface->path_empty = FALSE;
-    if (path_info->surface->has_ctm) {
-       double x, y;
-
-       x = _cairo_fixed_to_double (point->x);
-       y = _cairo_fixed_to_double (point->y);
-       cairo_matrix_transform_point (&path_info->surface->ctm, &x, &y);
-       LineTo (path_info->surface->dc, (int) x, (int) y);
-    } else {
-       LineTo (path_info->surface->dc,
-               _cairo_fixed_integer_part (point->x),
-               _cairo_fixed_integer_part (point->y));
-    }
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_path_curve_to (void          *closure,
-                                             const cairo_point_t *b,
-                                             const cairo_point_t *c,
-                                             const cairo_point_t *d)
-{
-    win32_path_info_t *path_info = closure;
-    POINT points[3];
-
-    path_info->surface->path_empty = FALSE;
-    if (path_info->surface->has_ctm) {
-       double x, y;
-
-       x = _cairo_fixed_to_double (b->x);
-       y = _cairo_fixed_to_double (b->y);
-       cairo_matrix_transform_point (&path_info->surface->ctm, &x, &y);
-       points[0].x = (LONG) x;
-       points[0].y = (LONG) y;
-
-       x = _cairo_fixed_to_double (c->x);
-       y = _cairo_fixed_to_double (c->y);
-       cairo_matrix_transform_point (&path_info->surface->ctm, &x, &y);
-       points[1].x = (LONG) x;
-       points[1].y = (LONG) y;
-
-       x = _cairo_fixed_to_double (d->x);
-       y = _cairo_fixed_to_double (d->y);
-       cairo_matrix_transform_point (&path_info->surface->ctm, &x, &y);
-       points[2].x = (LONG) x;
-       points[2].y = (LONG) y;
-    } else {
-       points[0].x = _cairo_fixed_integer_part (b->x);
-       points[0].y = _cairo_fixed_integer_part (b->y);
-       points[1].x = _cairo_fixed_integer_part (c->x);
-       points[1].y = _cairo_fixed_integer_part (c->y);
-       points[2].x = _cairo_fixed_integer_part (d->x);
-       points[2].y = _cairo_fixed_integer_part (d->y);
-    }
-    PolyBezierTo (path_info->surface->dc, points, 3);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_path_close_path (void *closure)
-{
-    win32_path_info_t *path_info = closure;
-
-    CloseFigure (path_info->surface->dc);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_emit_path (cairo_win32_surface_t    *surface,
-                                        const cairo_path_fixed_t *path)
-{
-    win32_path_info_t path_info;
-
-    path_info.surface = surface;
-    return _cairo_path_fixed_interpret (path,
-                                       _cairo_win32_printing_surface_path_move_to,
-                                       _cairo_win32_printing_surface_path_line_to,
-                                       _cairo_win32_printing_surface_path_curve_to,
-                                       _cairo_win32_printing_surface_path_close_path,
-                                       &path_info);
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_show_page (void *abstract_surface)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-
-    /* Undo both SaveDC's that we did in start_page */
-    RestoreDC (surface->dc, -2);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_printing_surface_clipper_intersect_clip_path (cairo_surface_clipper_t *clipper,
-                                                   cairo_path_fixed_t *path,
-                                                   cairo_fill_rule_t   fill_rule,
-                                                   double             tolerance,
-                                                   cairo_antialias_t   antialias)
-{
-    cairo_win32_surface_t *surface = cairo_container_of (clipper,
-                                                        cairo_win32_surface_t,
-                                                        clipper);
-    cairo_status_t status;
-
-    if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE)
-       return CAIRO_STATUS_SUCCESS;
-
-    if (path == NULL) {
-       RestoreDC (surface->dc, -1);
-       SaveDC (surface->dc);
-
-       return CAIRO_STATUS_SUCCESS;
-    }
-
-    BeginPath (surface->dc);
-    status = _cairo_win32_printing_surface_emit_path (surface, path);
-    EndPath (surface->dc);
-
-    switch (fill_rule) {
-    case CAIRO_FILL_RULE_WINDING:
-       SetPolyFillMode (surface->dc, WINDING);
-       break;
-    case CAIRO_FILL_RULE_EVEN_ODD:
-       SetPolyFillMode (surface->dc, ALTERNATE);
-       break;
-    default:
-       ASSERT_NOT_REACHED;
-    }
-
-    SelectClipPath (surface->dc, RGN_AND);
-
-    return status;
-}
-
-static void
-_cairo_win32_printing_surface_get_font_options (void                  *abstract_surface,
-                                                cairo_font_options_t  *options)
-{
-    _cairo_font_options_init_default (options);
-
-    cairo_font_options_set_hint_style (options, CAIRO_HINT_STYLE_NONE);
-    cairo_font_options_set_hint_metrics (options, CAIRO_HINT_METRICS_OFF);
-    cairo_font_options_set_antialias (options, CAIRO_ANTIALIAS_GRAY);
-    _cairo_font_options_set_round_glyph_positions (options, CAIRO_ROUND_GLYPH_POS_ON);
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_paint (void                      *abstract_surface,
-                                     cairo_operator_t           op,
-                                     const cairo_pattern_t     *source,
-                                    const cairo_clip_t      *clip)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-    cairo_solid_pattern_t clear;
-    cairo_status_t status;
-
-    status = _cairo_surface_clipper_set_clip (&surface->clipper, clip);
-    if (status)
-       return status;
-
-    if (op == CAIRO_OPERATOR_CLEAR) {
-       _cairo_win32_printing_surface_init_clear_color (surface, &clear);
-       source = (cairo_pattern_t*) &clear;
-       op = CAIRO_OPERATOR_SOURCE;
-    }
-
-    if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE)
-       return _cairo_win32_printing_surface_analyze_operation (surface, op, source);
-
-    assert (_cairo_win32_printing_surface_operation_supported (surface, op, source));
-
-    return _cairo_win32_printing_surface_paint_pattern (surface, source);
-}
-
-static int
-_cairo_win32_line_cap (cairo_line_cap_t cap)
-{
-    switch (cap) {
-    case CAIRO_LINE_CAP_BUTT:
-       return PS_ENDCAP_FLAT;
-    case CAIRO_LINE_CAP_ROUND:
-       return PS_ENDCAP_ROUND;
-    case CAIRO_LINE_CAP_SQUARE:
-       return PS_ENDCAP_SQUARE;
-    default:
-       ASSERT_NOT_REACHED;
-       return 0;
-    }
-}
-
-static int
-_cairo_win32_line_join (cairo_line_join_t join)
-{
-    switch (join) {
-    case CAIRO_LINE_JOIN_MITER:
-       return PS_JOIN_MITER;
-    case CAIRO_LINE_JOIN_ROUND:
-       return PS_JOIN_ROUND;
-    case CAIRO_LINE_JOIN_BEVEL:
-       return PS_JOIN_BEVEL;
-    default:
-       ASSERT_NOT_REACHED;
-       return 0;
-    }
-}
-
-static void
-_cairo_matrix_factor_out_scale (cairo_matrix_t *m, double *scale)
-{
-    double s;
-
-    s = fabs (m->xx);
-    if (fabs (m->xy) > s)
-       s = fabs (m->xy);
-    if (fabs (m->yx) > s)
-       s = fabs (m->yx);
-    if (fabs (m->yy) > s)
-       s = fabs (m->yy);
-    *scale = s;
-    s = 1.0/s;
-    cairo_matrix_scale (m, s, s);
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_stroke (void                     *abstract_surface,
-                                      cairo_operator_t          op,
-                                      const cairo_pattern_t    *source,
-                                      const cairo_path_fixed_t *path,
-                                      const cairo_stroke_style_t *style,
-                                      const cairo_matrix_t     *stroke_ctm,
-                                      const cairo_matrix_t     *stroke_ctm_inverse,
-                                      double                   tolerance,
-                                      cairo_antialias_t                antialias,
-                                     const cairo_clip_t    *clip)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-    cairo_int_status_t status;
-    HPEN pen;
-    LOGBRUSH brush;
-    COLORREF color;
-    XFORM xform;
-    DWORD pen_style;
-    DWORD *dash_array;
-    HGDIOBJ obj;
-    unsigned int i;
-    cairo_solid_pattern_t clear;
-    cairo_matrix_t mat;
-    double scale;
-
-    status = _cairo_surface_clipper_set_clip (&surface->clipper, clip);
-    if (status)
-       return status;
-
-    if (op == CAIRO_OPERATOR_CLEAR) {
-       _cairo_win32_printing_surface_init_clear_color (surface, &clear);
-       source = (cairo_pattern_t*) &clear;
-       op = CAIRO_OPERATOR_SOURCE;
-    }
-
-    if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE) {
-       /* Win32 does not support a dash offset. */
-       if (style->num_dashes > 0 && style->dash_offset != 0.0)
-           return CAIRO_INT_STATUS_UNSUPPORTED;
-
-       return _cairo_win32_printing_surface_analyze_operation (surface, op, source);
-    }
-
-    assert (_cairo_win32_printing_surface_operation_supported (surface, op, source));
-    assert (!(style->num_dashes > 0 && style->dash_offset != 0.0));
-
-    cairo_matrix_multiply (&mat, stroke_ctm, &surface->ctm);
-    _cairo_matrix_factor_out_scale (&mat, &scale);
-
-    pen_style = PS_GEOMETRIC;
-    dash_array = NULL;
-    if (style->num_dashes) {
-       pen_style |= PS_USERSTYLE;
-       dash_array = calloc (sizeof (DWORD), style->num_dashes);
-       for (i = 0; i < style->num_dashes; i++) {
-           dash_array[i] = (DWORD) (scale * style->dash[i]);
-       }
-    } else {
-       pen_style |= PS_SOLID;
-    }
-
-    SetMiterLimit (surface->dc, (FLOAT) (style->miter_limit), NULL);
-    if (source->type == CAIRO_PATTERN_TYPE_SOLID) {
-       cairo_solid_pattern_t *solid = (cairo_solid_pattern_t *) source;
-
-
-       color = _cairo_win32_printing_surface_flatten_transparency (surface,
-                                                                   &solid->color);
-    } else {
-       /* Color not used as the pen will only be used by WidenPath() */
-       color = RGB (0,0,0);
-    }
-    brush.lbStyle = BS_SOLID;
-    brush.lbColor = color;
-    brush.lbHatch = 0;
-    pen_style |= _cairo_win32_line_cap (style->line_cap);
-    pen_style |= _cairo_win32_line_join (style->line_join);
-    pen = ExtCreatePen(pen_style,
-                      scale * style->line_width,
-                      &brush,
-                      style->num_dashes,
-                      dash_array);
-    if (pen == NULL)
-       return _cairo_win32_print_gdi_error ("_win32_surface_stroke:ExtCreatePen");
-    obj = SelectObject (surface->dc, pen);
-    if (obj == NULL)
-       return _cairo_win32_print_gdi_error ("_win32_surface_stroke:SelectObject");
-
-    BeginPath (surface->dc);
-    status = _cairo_win32_printing_surface_emit_path (surface, path);
-    EndPath (surface->dc);
-    if (status)
-       return status;
-
-    /*
-     * Switch to user space to set line parameters
-     */
-    SaveDC (surface->dc);
-
-    _cairo_matrix_to_win32_xform (&mat, &xform);
-    xform.eDx = 0.0f;
-    xform.eDy = 0.0f;
-
-    if (!ModifyWorldTransform (surface->dc, &xform, MWT_LEFTMULTIPLY))
-       return _cairo_win32_print_gdi_error ("_win32_surface_stroke:SetWorldTransform");
-
-    if (source->type == CAIRO_PATTERN_TYPE_SOLID) {
-       StrokePath (surface->dc);
-    } else {
-       if (!WidenPath (surface->dc))
-           return _cairo_win32_print_gdi_error ("_win32_surface_stroke:WidenPath");
-       if (!SelectClipPath (surface->dc, RGN_AND))
-           return _cairo_win32_print_gdi_error ("_win32_surface_stroke:SelectClipPath");
-
-       /* Return to device space to paint the pattern */
-       _cairo_matrix_to_win32_xform (&surface->gdi_ctm, &xform);
-       if (!SetWorldTransform (surface->dc, &xform))
-           return _cairo_win32_print_gdi_error ("_win32_surface_stroke:ModifyWorldTransform");
-       status = _cairo_win32_printing_surface_paint_pattern (surface, source);
-    }
-    RestoreDC (surface->dc, -1);
-    DeleteObject (pen);
-    free (dash_array);
-
-    return status;
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_fill (void                       *abstract_surface,
-                                   cairo_operator_t             op,
-                                   const cairo_pattern_t       *source,
-                                   const cairo_path_fixed_t    *path,
-                                   cairo_fill_rule_t            fill_rule,
-                                   double                       tolerance,
-                                   cairo_antialias_t            antialias,
-                                   const cairo_clip_t          *clip)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-    cairo_int_status_t status;
-    cairo_solid_pattern_t clear;
-
-    status = _cairo_surface_clipper_set_clip (&surface->clipper, clip);
-    if (status)
-       return status;
-
-    if (op == CAIRO_OPERATOR_CLEAR) {
-       _cairo_win32_printing_surface_init_clear_color (surface, &clear);
-       source = (cairo_pattern_t*) &clear;
-       op = CAIRO_OPERATOR_SOURCE;
-    }
-
-    if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE)
-       return _cairo_win32_printing_surface_analyze_operation (surface, op, source);
-
-    assert (_cairo_win32_printing_surface_operation_supported (surface, op, source));
-
-    surface->path_empty = TRUE;
-    BeginPath (surface->dc);
-    status = _cairo_win32_printing_surface_emit_path (surface, path);
-    EndPath (surface->dc);
-
-    switch (fill_rule) {
-    case CAIRO_FILL_RULE_WINDING:
-       SetPolyFillMode (surface->dc, WINDING);
-       break;
-    case CAIRO_FILL_RULE_EVEN_ODD:
-       SetPolyFillMode (surface->dc, ALTERNATE);
-       break;
-    default:
-       ASSERT_NOT_REACHED;
-    }
-
-    if (source->type == CAIRO_PATTERN_TYPE_SOLID) {
-       status = _cairo_win32_printing_surface_select_solid_brush (surface, source);
-       if (status)
-           return status;
-
-       FillPath (surface->dc);
-       _cairo_win32_printing_surface_done_solid_brush (surface);
-    } else if (surface->path_empty == FALSE) {
-       SaveDC (surface->dc);
-       SelectClipPath (surface->dc, RGN_AND);
-       status = _cairo_win32_printing_surface_paint_pattern (surface, source);
-       RestoreDC (surface->dc, -1);
-    }
-
-    fflush(stderr);
-
-    return status;
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_emit_win32_glyphs (cairo_win32_surface_t         *surface,
-                                                cairo_operator_t        op,
-                                                const cairo_pattern_t  *source,
-                                                cairo_glyph_t          *glyphs,
-                                                int                     num_glyphs,
-                                                cairo_scaled_font_t    *scaled_font,
-                                                const cairo_clip_t     *clip)
-{
-    cairo_matrix_t ctm;
-    cairo_glyph_t  *unicode_glyphs;
-    cairo_scaled_font_subsets_glyph_t subset_glyph;
-    int i, first;
-    cairo_bool_t sequence_is_unicode;
-    cairo_status_t status = CAIRO_STATUS_SUCCESS;
-
-    /* Where possible reverse the glyph indices back to unicode
-     * characters. Strings of glyphs that could not be reversed to
-     * unicode will be printed with ETO_GLYPH_INDEX.
-     *
-     * As _cairo_win32_scaled_font_index_to_ucs4() is a slow
-     * operation, the font subsetting function
-     * _cairo_scaled_font_subsets_map_glyph() is used to obtain
-     * the unicode value because it caches the reverse mapping in
-     * the subsets.
-     */
-
-    if (surface->has_ctm) {
-       for (i = 0; i < num_glyphs; i++)
-           cairo_matrix_transform_point (&surface->ctm, &glyphs[i].x, &glyphs[i].y);
-       cairo_matrix_multiply (&ctm, &scaled_font->ctm, &surface->ctm);
-       scaled_font = cairo_scaled_font_create (scaled_font->font_face,
-                                               &scaled_font->font_matrix,
-                                               &ctm,
-                                               &scaled_font->options);
-    }
-
-    unicode_glyphs = _cairo_malloc_ab (num_glyphs, sizeof (cairo_glyph_t));
-    if (unicode_glyphs == NULL)
-       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
-    memcpy (unicode_glyphs, glyphs, num_glyphs * sizeof (cairo_glyph_t));
-    for (i = 0; i < num_glyphs; i++) {
-       status = _cairo_scaled_font_subsets_map_glyph (surface->font_subsets,
-                                                      scaled_font,
-                                                      glyphs[i].index,
-                                                      NULL, 0,
-                                                      &subset_glyph);
-       if (status)
-           goto fail;
-
-       unicode_glyphs[i].index = subset_glyph.unicode;
-    }
-
-    i = 0;
-    first = 0;
-    sequence_is_unicode = unicode_glyphs[0].index <= 0xffff;
-    while (i < num_glyphs) {
-       if (i == num_glyphs - 1 ||
-           ((unicode_glyphs[i + 1].index < 0xffff) != sequence_is_unicode))
-       {
-           status = _cairo_win32_surface_show_glyphs_internal (
-               surface,
-               op,
-               source,
-               sequence_is_unicode ? &unicode_glyphs[first] : &glyphs[first],
-               i - first + 1,
-               scaled_font,
-               clip,
-               ! sequence_is_unicode);
-           first = i + 1;
-           if (i < num_glyphs - 1)
-               sequence_is_unicode = unicode_glyphs[i + 1].index <= 0xffff;
-       }
-       i++;
-    }
-
-fail:
-    if (surface->has_ctm)
-       cairo_scaled_font_destroy (scaled_font);
-
-    free (unicode_glyphs);
-
-    return status;
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_show_glyphs (void                 *abstract_surface,
-                                           cairo_operator_t     op,
-                                           const cairo_pattern_t *source,
-                                           cairo_glyph_t        *glyphs,
-                                           int                  num_glyphs,
-                                           cairo_scaled_font_t  *scaled_font,
-                                          const cairo_clip_t   *clip)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-    cairo_status_t status = CAIRO_STATUS_SUCCESS;
-    cairo_scaled_glyph_t *scaled_glyph;
-    cairo_pattern_t *opaque = NULL;
-    int i;
-    cairo_matrix_t old_ctm;
-    cairo_bool_t old_has_ctm;
-    cairo_solid_pattern_t clear;
-
-    status = _cairo_surface_clipper_set_clip (&surface->clipper, clip);
-    if (status)
-       return status;
-
-    if (op == CAIRO_OPERATOR_CLEAR) {
-       _cairo_win32_printing_surface_init_clear_color (surface, &clear);
-       source = (cairo_pattern_t*) &clear;
-       op = CAIRO_OPERATOR_SOURCE;
-    }
-
-    if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE) {
-       /* When printing bitmap fonts to a printer DC, Windows may
-        * substitute an outline font for bitmap font. As the win32
-        * font backend always uses a screen DC when obtaining the
-        * font metrics the metrics of the substituted font will not
-        * match the metrics that the win32 font backend returns.
-        *
-        * If we are printing a bitmap font, use fallback images to
-        * ensure the font is not substituted.
-        */
-#if CAIRO_HAS_WIN32_FONT
-       if (cairo_scaled_font_get_type (scaled_font) == CAIRO_FONT_TYPE_WIN32) {
-           if (_cairo_win32_scaled_font_is_bitmap (scaled_font))
-               return CAIRO_INT_STATUS_UNSUPPORTED;
-           else
-               return _cairo_win32_printing_surface_analyze_operation (surface, op, source);
-       }
-#endif
-
-       /* For non win32 fonts we need to check that each glyph has a
-        * path available. If a path is not available,
-        * _cairo_scaled_glyph_lookup() will return
-        * CAIRO_INT_STATUS_UNSUPPORTED and a fallback image will be
-        * used.
-        */
-       for (i = 0; i < num_glyphs; i++) {
-           status = _cairo_scaled_glyph_lookup (scaled_font,
-                                                glyphs[i].index,
-                                                CAIRO_SCALED_GLYPH_INFO_PATH,
-                                                &scaled_glyph);
-           if (status)
-               return status;
-       }
-
-       return _cairo_win32_printing_surface_analyze_operation (surface, op, source);
-    }
-
-    if (source->type == CAIRO_PATTERN_TYPE_SOLID) {
-       cairo_solid_pattern_t *solid = (cairo_solid_pattern_t *) source;
-       COLORREF color;
-
-       color = _cairo_win32_printing_surface_flatten_transparency (surface,
-                                                                   &solid->color);
-       opaque = cairo_pattern_create_rgb (GetRValue (color) / 255.0,
-                                          GetGValue (color) / 255.0,
-                                          GetBValue (color) / 255.0);
-       if (opaque->status)
-           return opaque->status;
-       source = opaque;
-    }
-
-#if CAIRO_HAS_WIN32_FONT
-    if (cairo_scaled_font_get_type (scaled_font) == CAIRO_FONT_TYPE_WIN32 &&
-       source->type == CAIRO_PATTERN_TYPE_SOLID)
-    {
-       return _cairo_win32_printing_surface_emit_win32_glyphs (surface,
-                                                               op,
-                                                               source,
-                                                               glyphs,
-                                                               num_glyphs,
-                                                               scaled_font,
-                                                               clip);
-    }
-#endif
-
-    SaveDC (surface->dc);
-    old_ctm = surface->ctm;
-    old_has_ctm = surface->has_ctm;
-    surface->has_ctm = TRUE;
-    surface->path_empty = TRUE;
-    BeginPath (surface->dc);
-    for (i = 0; i < num_glyphs; i++) {
-       status = _cairo_scaled_glyph_lookup (scaled_font,
-                                            glyphs[i].index,
-                                            CAIRO_SCALED_GLYPH_INFO_PATH,
-                                            &scaled_glyph);
-       if (status)
-           break;
-       surface->ctm = old_ctm;
-       cairo_matrix_translate (&surface->ctm, glyphs[i].x, glyphs[i].y);
-       status = _cairo_win32_printing_surface_emit_path (surface, scaled_glyph->path);
-    }
-    EndPath (surface->dc);
-    surface->ctm = old_ctm;
-    surface->has_ctm = old_has_ctm;
-    if (status == CAIRO_STATUS_SUCCESS && surface->path_empty == FALSE) {
-       if (source->type == CAIRO_PATTERN_TYPE_SOLID) {
-           status = _cairo_win32_printing_surface_select_solid_brush (surface, source);
-           if (status)
-               return status;
-
-           SetPolyFillMode (surface->dc, WINDING);
-           FillPath (surface->dc);
-           _cairo_win32_printing_surface_done_solid_brush (surface);
-       } else {
-           SelectClipPath (surface->dc, RGN_AND);
-           status = _cairo_win32_printing_surface_paint_pattern (surface, source);
-       }
-    }
-    RestoreDC (surface->dc, -1);
-
-    if (opaque)
-       cairo_pattern_destroy (opaque);
-
-    return status;
-}
-
-static cairo_surface_t *
-_cairo_win32_printing_surface_create_similar (void             *abstract_surface,
-                                             cairo_content_t    content,
-                                             int                width,
-                                             int                height)
-{
-    cairo_rectangle_t extents;
-
-    extents.x = extents.y = 0;
-    extents.width  = width;
-    extents.height = height;
-    return cairo_recording_surface_create (content, &extents);
-}
-
-static cairo_int_status_t
-_cairo_win32_printing_surface_start_page (void *abstract_surface)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-    XFORM xform;
-    double x_res, y_res;
-    cairo_matrix_t inverse_ctm;
-    cairo_status_t status;
-
-    SaveDC (surface->dc); /* Save application context first, before doing MWT */
-
-    /* As the logical coordinates used by GDI functions (eg LineTo)
-     * are integers we need to do some additional work to prevent
-     * rounding errors. For example the obvious way to paint a recording
-     * pattern is to:
-     *
-     *   SaveDC()
-     *   transform the device context DC by the pattern to device matrix
-     *   replay the recording surface
-     *   RestoreDC()
-     *
-     * The problem here is that if the pattern to device matrix is
-     * [100 0 0 100 0 0], coordinates in the recording pattern such as
-     * (1.56, 2.23) which correspond to (156, 223) in device space
-     * will be rounded to (100, 200) due to (1.56, 2.23) being
-     * truncated to integers.
-     *
-     * This is solved by saving the current GDI CTM in surface->ctm,
-     * switch the GDI CTM to identity, and transforming all
-     * coordinates by surface->ctm before passing them to GDI. When
-     * painting a recording pattern, surface->ctm is transformed by the
-     * pattern to device matrix.
-     *
-     * For printing device contexts where 1 unit is 1 dpi, switching
-     * the GDI CTM to identity maximises the possible resolution of
-     * coordinates.
-     *
-     * If the device context is an EMF file, using an identity
-     * transform often provides insufficent resolution. The workaround
-     * is to set the GDI CTM to a scale < 1 eg [1.0/16 0 0 1/0/16 0 0]
-     * and scale the cairo CTM by [16 0 0 16 0 0]. The
-     * SetWorldTransform function call to scale the GDI CTM by 1.0/16
-     * will be recorded in the EMF followed by all the graphics
-     * functions by their coordinateds multiplied by 16.
-     *
-     * To support allowing the user to set a GDI CTM with scale < 1,
-     * we avoid switching to an identity CTM if the CTM xx and yy is < 1.
-     */
-    SetGraphicsMode (surface->dc, GM_ADVANCED);
-    GetWorldTransform(surface->dc, &xform);
-    if (xform.eM11 < 1 && xform.eM22 < 1) {
-       cairo_matrix_init_identity (&surface->ctm);
-       surface->gdi_ctm.xx = xform.eM11;
-       surface->gdi_ctm.xy = xform.eM21;
-       surface->gdi_ctm.yx = xform.eM12;
-       surface->gdi_ctm.yy = xform.eM22;
-       surface->gdi_ctm.x0 = xform.eDx;
-       surface->gdi_ctm.y0 = xform.eDy;
-    } else {
-       surface->ctm.xx = xform.eM11;
-       surface->ctm.xy = xform.eM21;
-       surface->ctm.yx = xform.eM12;
-       surface->ctm.yy = xform.eM22;
-       surface->ctm.x0 = xform.eDx;
-       surface->ctm.y0 = xform.eDy;
-       cairo_matrix_init_identity (&surface->gdi_ctm);
-       if (!ModifyWorldTransform (surface->dc, NULL, MWT_IDENTITY))
-           return _cairo_win32_print_gdi_error ("_cairo_win32_printing_surface_start_page:ModifyWorldTransform");
-    }
-
-    surface->has_ctm = !_cairo_matrix_is_identity (&surface->ctm);
-    surface->has_gdi_ctm = !_cairo_matrix_is_identity (&surface->gdi_ctm);
-    inverse_ctm = surface->ctm;
-    status = cairo_matrix_invert (&inverse_ctm);
-    if (status)
-       return status;
-
-    x_res = GetDeviceCaps (surface->dc, LOGPIXELSX);
-    y_res = GetDeviceCaps (surface->dc, LOGPIXELSY);
-    cairo_matrix_transform_distance (&inverse_ctm, &x_res, &y_res);
-    _cairo_surface_set_resolution (&surface->base, x_res, y_res);
-
-    SaveDC (surface->dc); /* Then save Cairo's known-good clip state, so the clip path can be reset */
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static void
-_cairo_win32_printing_surface_set_paginated_mode (void *abstract_surface,
-                                                  cairo_paginated_mode_t paginated_mode)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-
-    surface->paginated_mode = paginated_mode;
-}
-
-static cairo_bool_t
-_cairo_win32_printing_surface_supports_fine_grained_fallbacks (void *abstract_surface)
-{
-    return TRUE;
-}
-
-/**
- * cairo_win32_printing_surface_create:
- * @hdc: the DC to create a surface for
- *
- * Creates a cairo surface that targets the given DC.  The DC will be
- * queried for its initial clip extents, and this will be used as the
- * size of the cairo surface.  The DC should be a printing DC;
- * antialiasing will be ignored, and GDI will be used as much as
- * possible to draw to the surface.
- *
- * The returned surface will be wrapped using the paginated surface to
- * provide correct complex rendering behaviour; cairo_surface_show_page() and
- * associated methods must be used for correct output.
- *
- * Return value: the newly created surface
- *
- * Since: 1.6
- **/
-cairo_surface_t *
-cairo_win32_printing_surface_create (HDC hdc)
-{
-    cairo_win32_surface_t *surface;
-    cairo_surface_t *paginated;
-    RECT rect;
-
-    surface = malloc (sizeof (cairo_win32_surface_t));
-    if (surface == NULL)
-       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
-
-    if (_cairo_win32_save_initial_clip (hdc, surface) != CAIRO_STATUS_SUCCESS) {
-       free (surface);
-       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
-    }
-
-    _cairo_surface_clipper_init (&surface->clipper,
-                                _cairo_win32_printing_surface_clipper_intersect_clip_path);
-
-    surface->image = NULL;
-    surface->format = CAIRO_FORMAT_RGB24;
-    surface->content = CAIRO_CONTENT_COLOR_ALPHA;
-
-    surface->dc = hdc;
-    surface->bitmap = NULL;
-    surface->is_dib = FALSE;
-    surface->saved_dc_bitmap = NULL;
-    surface->brush = NULL;
-    surface->old_brush = NULL;
-    surface->font_subsets = _cairo_scaled_font_subsets_create_scaled ();
-    if (surface->font_subsets == NULL) {
-       free (surface);
-       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
-    }
-
-    GetClipBox(hdc, &rect);
-    surface->extents.x = rect.left;
-    surface->extents.y = rect.top;
-    surface->extents.width = rect.right - rect.left;
-    surface->extents.height = rect.bottom - rect.top;
-
-    surface->flags = _cairo_win32_flags_for_dc (surface->dc);
-    surface->flags |= CAIRO_WIN32_SURFACE_FOR_PRINTING;
-
-    _cairo_win32_printing_surface_init_ps_mode (surface);
-    _cairo_win32_printing_surface_init_image_support (surface);
-    _cairo_win32_printing_surface_init_language_pack (surface);
-    _cairo_surface_init (&surface->base,
-                        &cairo_win32_printing_surface_backend,
-                        NULL, /* device */
-                         CAIRO_CONTENT_COLOR_ALPHA);
-
-    paginated = _cairo_paginated_surface_create (&surface->base,
-                                                CAIRO_CONTENT_COLOR_ALPHA,
-                                                &cairo_win32_surface_paginated_backend);
-
-    /* paginated keeps the only reference to surface now, drop ours */
-    cairo_surface_destroy (&surface->base);
-
-    return paginated;
-}
-
-cairo_bool_t
-_cairo_surface_is_win32_printing (cairo_surface_t *surface)
-{
-    return surface->backend == &cairo_win32_printing_surface_backend;
-}
-
-static const cairo_surface_backend_t cairo_win32_printing_surface_backend = {
-    CAIRO_SURFACE_TYPE_WIN32_PRINTING,
-    _cairo_win32_surface_finish,
-
-    _cairo_default_context_create,
-
-    _cairo_win32_printing_surface_create_similar,
-    NULL, /* create similar image */
-    NULL, /* map to image */
-    NULL, /* unmap image */
-
-    NULL, /* acquire_source_image */
-    NULL, /* release_source_image */
-    NULL, /* snapshot */
-
-    NULL, /* copy_page */
-    _cairo_win32_printing_surface_show_page,
-
-    _cairo_win32_surface_get_extents,
-    _cairo_win32_printing_surface_get_font_options,
-
-    NULL, /* flush */
-    NULL, /* mark_dirty_rectangle */
-
-    _cairo_win32_printing_surface_paint,
-    NULL, /* mask */
-    _cairo_win32_printing_surface_stroke,
-    _cairo_win32_printing_surface_fill,
-    NULL, /* fill/stroke */
-    _cairo_win32_printing_surface_show_glyphs,
-};
-
-static const cairo_paginated_surface_backend_t cairo_win32_surface_paginated_backend = {
-    _cairo_win32_printing_surface_start_page,
-    _cairo_win32_printing_surface_set_paginated_mode,
-    NULL, /* set_bounding_box */
-    NULL, /* _cairo_win32_printing_surface_has_fallback_images, */
-    _cairo_win32_printing_surface_supports_fine_grained_fallbacks,
-};
diff --git a/src/cairo-win32-private.h b/src/cairo-win32-private.h
deleted file mode 100644 (file)
index 07830dc..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright © 2005 Red Hat, Inc
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * The Initial Developer of the Original Code is Red Hat, Inc.
- *
- * Contributor(s):
- *     Owen Taylor <otaylor@redhat.com>
- */
-
-#ifndef CAIRO_WIN32_PRIVATE_H
-#define CAIRO_WIN32_PRIVATE_H
-
-#include "cairo-win32.h"
-#include "cairoint.h"
-#include "cairo-surface-clipper-private.h"
-
-#ifndef SHADEBLENDCAPS
-#define SHADEBLENDCAPS 120
-#endif
-#ifndef SB_NONE
-#define SB_NONE 0
-#endif
-
-#define WIN32_FONT_LOGICAL_SCALE 32
-
-typedef struct _cairo_win32_surface {
-    cairo_surface_t base;
-
-    cairo_format_t format;
-
-    HDC dc;
-
-    /* We create off-screen surfaces as DIBs or DDBs, based on what we created
-     * originally*/
-    HBITMAP bitmap;
-    cairo_bool_t is_dib;
-
-    /* Used to save the initial 1x1 monochrome bitmap for the DC to
-     * select back into the DC before deleting the DC and our
-     * bitmap. For Windows XP, this doesn't seem to be necessary
-     * ... we can just delete the DC and that automatically unselects
-     * out bitmap. But it's standard practice so apparently is needed
-     * on some versions of Windows.
-     */
-    HBITMAP saved_dc_bitmap;
-
-    cairo_surface_t *image;
-
-    /* We use the x and y parts of extents for situations where
-     * we're not supposed to draw to the entire surface.
-     * For example, during a paint event a program will get
-     * a DC that has been clipped to the dirty region.
-     * A cairo surface constructed for that DC will have extents
-     * that match bounds of the clipped region.
-     *
-     * jrmuizel: I'm not sure if storing these extents instead
-     * of just using the size is better... */
-    cairo_rectangle_int_t extents;
-
-    /* Initial clip bits
-     * We need these kept around so that we maintain
-     * whatever clip was set on the original DC at creation
-     * time when cairo is asked to reset the surface clip.
-     */
-    cairo_rectangle_int_t clip_rect;
-    HRGN initial_clip_rgn;
-    cairo_bool_t had_simple_clip;
-    cairo_region_t *clip_region;
-
-    /* For path clipping to the printing-surface */
-    cairo_surface_clipper_t clipper;
-
-    /* Surface DC flags */
-    uint32_t flags;
-
-    /* printing surface bits */
-    cairo_paginated_mode_t paginated_mode;
-    cairo_content_t content;
-    cairo_bool_t path_empty;
-    cairo_bool_t has_ctm;
-    cairo_matrix_t ctm;
-    cairo_bool_t has_gdi_ctm;
-    cairo_matrix_t gdi_ctm;
-    HBRUSH brush, old_brush;
-    cairo_scaled_font_subsets_t *font_subsets;
-} cairo_win32_surface_t;
-
-/* Surface DC flag values */
-enum {
-    /* If this is a surface created for printing or not */
-    CAIRO_WIN32_SURFACE_FOR_PRINTING = (1<<0),
-
-    /* Whether the DC is a display DC or not */
-    CAIRO_WIN32_SURFACE_IS_DISPLAY = (1<<1),
-
-    /* Whether we can use BitBlt with this surface */
-    CAIRO_WIN32_SURFACE_CAN_BITBLT = (1<<2),
-
-    /* Whether we can use AlphaBlend with this surface */
-    CAIRO_WIN32_SURFACE_CAN_ALPHABLEND = (1<<3),
-
-    /* Whether we can use StretchBlt with this surface */
-    CAIRO_WIN32_SURFACE_CAN_STRETCHBLT = (1<<4),
-
-    /* Whether we can use StretchDIBits with this surface */
-    CAIRO_WIN32_SURFACE_CAN_STRETCHDIB = (1<<5),
-
-    /* Whether we can use GradientFill rectangles with this surface */
-    CAIRO_WIN32_SURFACE_CAN_RECT_GRADIENT = (1<<6),
-
-    /* Whether we can use the CHECKJPEGFORMAT escape function */
-    CAIRO_WIN32_SURFACE_CAN_CHECK_JPEG = (1<<7),
-
-    /* Whether we can use the CHECKJPEGFORMAT escape function */
-    CAIRO_WIN32_SURFACE_CAN_CHECK_PNG = (1<<8),
-};
-
-cairo_status_t
-_cairo_win32_print_gdi_error (const char *context);
-
-cairo_bool_t
-_cairo_surface_is_win32 (cairo_surface_t *surface);
-
-cairo_bool_t
-_cairo_surface_is_win32_printing (cairo_surface_t *surface);
-
-cairo_status_t
-_cairo_win32_surface_finish (void *abstract_surface);
-
-cairo_bool_t
-_cairo_win32_surface_get_extents (void                   *abstract_surface,
-                                 cairo_rectangle_int_t   *rectangle);
-
-uint32_t
-_cairo_win32_flags_for_dc (HDC dc);
-
-cairo_status_t
-_cairo_win32_surface_set_clip_region (void           *abstract_surface,
-                                     cairo_region_t *region);
-
-cairo_int_status_t
-_cairo_win32_surface_show_glyphs_internal (void                         *surface,
-                                          cairo_operator_t       op,
-                                          const cairo_pattern_t *source,
-                                          cairo_glyph_t         *glyphs,
-                                          int                    num_glyphs,
-                                          cairo_scaled_font_t   *scaled_font,
-                                          const cairo_clip_t    *clip,
-                                          cairo_bool_t           glyph_indices);
-
-cairo_int_status_t
-_cairo_win32_surface_show_glyphs (void                 *surface,
-                                 cairo_operator_t       op,
-                                 const cairo_pattern_t *source,
-                                 cairo_glyph_t         *glyphs,
-                                 int                    num_glyphs,
-                                 cairo_scaled_font_t   *scaled_font,
-                                 const cairo_clip_t    *clip);
-
-cairo_surface_t *
-_cairo_win32_surface_create_similar (void          *abstract_src,
-                                    cairo_content_t content,
-                                    int             width,
-                                    int             height);
-
-static inline void
-_cairo_matrix_to_win32_xform (const cairo_matrix_t *m,
-                              XFORM *xform)
-{
-    xform->eM11 = (FLOAT) m->xx;
-    xform->eM21 = (FLOAT) m->xy;
-    xform->eM12 = (FLOAT) m->yx;
-    xform->eM22 = (FLOAT) m->yy;
-    xform->eDx = (FLOAT) m->x0;
-    xform->eDy = (FLOAT) m->y0;
-}
-
-cairo_int_status_t
-_cairo_win32_save_initial_clip (HDC dc, cairo_win32_surface_t *surface);
-
-cairo_int_status_t
-_cairo_win32_restore_initial_clip (cairo_win32_surface_t *surface);
-
-void
-_cairo_win32_debug_dump_hrgn (HRGN rgn, char *header);
-
-cairo_bool_t
-_cairo_win32_scaled_font_is_type1 (cairo_scaled_font_t *scaled_font);
-
-cairo_bool_t
-_cairo_win32_scaled_font_is_bitmap (cairo_scaled_font_t *scaled_font);
-
-#endif /* CAIRO_WIN32_PRIVATE_H */
diff --git a/src/cairo-win32-surface.c b/src/cairo-win32-surface.c
deleted file mode 100644 (file)
index c7d3216..0000000
+++ /dev/null
@@ -1,2097 +0,0 @@
-/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
-/* Cairo - a vector graphics library with display and print output
- *
- * Copyright © 2005 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * The Initial Developer of the Original Code is Red Hat, Inc.
- *
- * Contributor(s):
- *     Owen Taylor <otaylor@redhat.com>
- *     Stuart Parmenter <stuart@mozilla.com>
- *     Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#define WIN32_LEAN_AND_MEAN
-/* We require Windows 2000 features such as ETO_PDY */
-#if !defined(WINVER) || (WINVER < 0x0500)
-# define WINVER 0x0500
-#endif
-#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)
-# define _WIN32_WINNT 0x0500
-#endif
-
-#include "cairoint.h"
-
-#include "cairo-clip-private.h"
-#include "cairo-composite-rectangles-private.h"
-#include "cairo-default-context-private.h"
-#include "cairo-error-private.h"
-#include "cairo-image-surface-private.h"
-#include "cairo-paginated-private.h"
-#include "cairo-pattern-private.h"
-#include "cairo-win32-private.h"
-#include "cairo-scaled-font-subsets-private.h"
-#include "cairo-surface-fallback-private.h"
-#include "cairo-surface-backend-private.h"
-
-#include <wchar.h>
-#include <windows.h>
-
-#if defined(__MINGW32__) && !defined(ETO_PDY)
-# define ETO_PDY 0x2000
-#endif
-
-#undef DEBUG_COMPOSITE
-
-/* for older SDKs */
-#ifndef SHADEBLENDCAPS
-#define SHADEBLENDCAPS  120
-#endif
-#ifndef SB_NONE
-#define SB_NONE         0x00000000
-#endif
-
-#define PELS_72DPI  ((LONG)(72. / 0.0254))
-
-/**
- * SECTION:cairo-win32
- * @Title: Win32 Surfaces
- * @Short_Description: Microsoft Windows surface support
- * @See_Also: #cairo_surface_t
- *
- * The Microsoft Windows surface is used to render cairo graphics to
- * Microsoft Windows windows, bitmaps, and printing device contexts.
- *
- * The surface returned by cairo_win32_printing_surface_create() is of surface
- * type %CAIRO_SURFACE_TYPE_WIN32_PRINTING and is a multi-page vector surface
- * type.
- *
- * The surface returned by the other win32 constructors is of surface type
- * %CAIRO_SURFACE_TYPE_WIN32 and is a raster surface type.
- */
-
-/**
- * CAIRO_HAS_WIN32_SURFACE:
- *
- * Defined if the Microsoft Windows surface backend is available.
- * This macro can be used to conditionally compile backend-specific code.
- */
-
-static const cairo_surface_backend_t cairo_win32_surface_backend;
-
-/**
- * _cairo_win32_print_gdi_error:
- * @context: context string to display along with the error
- *
- * Helper function to dump out a human readable form of the
- * current error code.
- *
- * Return value: A cairo status code for the error code
- **/
-cairo_status_t
-_cairo_win32_print_gdi_error (const char *context)
-{
-    void *lpMsgBuf;
-    DWORD last_error = GetLastError ();
-
-    if (!FormatMessageW (FORMAT_MESSAGE_ALLOCATE_BUFFER |
-                        FORMAT_MESSAGE_FROM_SYSTEM,
-                        NULL,
-                        last_error,
-                        MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
-                        (LPWSTR) &lpMsgBuf,
-                        0, NULL)) {
-       fprintf (stderr, "%s: Unknown GDI error", context);
-    } else {
-       fprintf (stderr, "%s: %S", context, (wchar_t *)lpMsgBuf);
-
-       LocalFree (lpMsgBuf);
-    }
-
-    fflush (stderr);
-
-    /* We should switch off of last_status, but we'd either return
-     * CAIRO_STATUS_NO_MEMORY or CAIRO_STATUS_UNKNOWN_ERROR and there
-     * is no CAIRO_STATUS_UNKNOWN_ERROR.
-     */
-
-    return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-}
-
-uint32_t
-_cairo_win32_flags_for_dc (HDC dc)
-{
-    uint32_t flags = 0;
-
-    if (GetDeviceCaps(dc, TECHNOLOGY) == DT_RASDISPLAY) {
-       flags |= CAIRO_WIN32_SURFACE_IS_DISPLAY;
-
-       /* These will always be possible, but the actual GetDeviceCaps
-        * calls will return whether they're accelerated or not.
-        * We may want to use our own (pixman) routines sometimes
-        * if they're eventually faster, but for now have GDI do
-        * everything.
-        */
-       flags |= CAIRO_WIN32_SURFACE_CAN_BITBLT;
-       flags |= CAIRO_WIN32_SURFACE_CAN_ALPHABLEND;
-       flags |= CAIRO_WIN32_SURFACE_CAN_STRETCHBLT;
-       flags |= CAIRO_WIN32_SURFACE_CAN_STRETCHDIB;
-    } else {
-       int cap;
-
-       cap = GetDeviceCaps(dc, SHADEBLENDCAPS);
-       if (cap != SB_NONE)
-           flags |= CAIRO_WIN32_SURFACE_CAN_ALPHABLEND;
-
-       cap = GetDeviceCaps(dc, RASTERCAPS);
-       if (cap & RC_BITBLT)
-           flags |= CAIRO_WIN32_SURFACE_CAN_BITBLT;
-       if (cap & RC_STRETCHBLT)
-           flags |= CAIRO_WIN32_SURFACE_CAN_STRETCHBLT;
-       if (cap & RC_STRETCHDIB)
-           flags |= CAIRO_WIN32_SURFACE_CAN_STRETCHDIB;
-    }
-
-    return flags;
-}
-
-static cairo_status_t
-_create_dc_and_bitmap (cairo_win32_surface_t *surface,
-                      HDC                    original_dc,
-                      cairo_format_t         format,
-                      int                    width,
-                      int                    height,
-                      unsigned char        **bits_out,
-                      int                   *rowstride_out)
-{
-    cairo_status_t status;
-
-    BITMAPINFO *bitmap_info = NULL;
-    struct {
-       BITMAPINFOHEADER bmiHeader;
-       RGBQUAD bmiColors[2];
-    } bmi_stack;
-    void *bits;
-
-    int num_palette = 0;       /* Quiet GCC */
-    int i;
-
-    surface->dc = NULL;
-    surface->bitmap = NULL;
-    surface->is_dib = FALSE;
-
-    switch (format) {
-    default:
-    case CAIRO_FORMAT_INVALID:
-       return _cairo_error (CAIRO_STATUS_INVALID_FORMAT);
-    case CAIRO_FORMAT_ARGB32:
-    case CAIRO_FORMAT_RGB24:
-       num_palette = 0;
-       break;
-
-    case CAIRO_FORMAT_A8:
-       num_palette = 256;
-       break;
-
-    case CAIRO_FORMAT_A1:
-       num_palette = 2;
-       break;
-    }
-
-    if (num_palette > 2) {
-       bitmap_info = _cairo_malloc_ab_plus_c (num_palette, sizeof(RGBQUAD), sizeof(BITMAPINFOHEADER));
-       if (!bitmap_info)
-           return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-    } else {
-       bitmap_info = (BITMAPINFO *)&bmi_stack;
-    }
-
-    bitmap_info->bmiHeader.biSize = sizeof (BITMAPINFOHEADER);
-    bitmap_info->bmiHeader.biWidth = width == 0 ? 1 : width;
-    bitmap_info->bmiHeader.biHeight = height == 0 ? -1 : - height; /* top-down */
-    bitmap_info->bmiHeader.biSizeImage = 0;
-    bitmap_info->bmiHeader.biXPelsPerMeter = PELS_72DPI; /* unused here */
-    bitmap_info->bmiHeader.biYPelsPerMeter = PELS_72DPI; /* unused here */
-    bitmap_info->bmiHeader.biPlanes = 1;
-
-    switch (format) {
-    /* We can't create real RGB24 bitmaps because something seems to
-     * break if we do, especially if we don't set up an image
-     * fallback.  It could be a bug with using a 24bpp pixman image
-     * (and creating one with masks).  So treat them like 32bpp.
-     * Note: This causes problems when using BitBlt/AlphaBlend/etc!
-     * see end of file.
-     */
-    case CAIRO_FORMAT_RGB24:
-    case CAIRO_FORMAT_ARGB32:
-       bitmap_info->bmiHeader.biBitCount = 32;
-       bitmap_info->bmiHeader.biCompression = BI_RGB;
-       bitmap_info->bmiHeader.biClrUsed = 0;   /* unused */
-       bitmap_info->bmiHeader.biClrImportant = 0;
-       break;
-
-    case CAIRO_FORMAT_A8:
-       bitmap_info->bmiHeader.biBitCount = 8;
-       bitmap_info->bmiHeader.biCompression = BI_RGB;
-       bitmap_info->bmiHeader.biClrUsed = 256;
-       bitmap_info->bmiHeader.biClrImportant = 0;
-
-       for (i = 0; i < 256; i++) {
-           bitmap_info->bmiColors[i].rgbBlue = i;
-           bitmap_info->bmiColors[i].rgbGreen = i;
-           bitmap_info->bmiColors[i].rgbRed = i;
-           bitmap_info->bmiColors[i].rgbReserved = 0;
-       }
-
-       break;
-
-    case CAIRO_FORMAT_A1:
-       bitmap_info->bmiHeader.biBitCount = 1;
-       bitmap_info->bmiHeader.biCompression = BI_RGB;
-       bitmap_info->bmiHeader.biClrUsed = 2;
-       bitmap_info->bmiHeader.biClrImportant = 0;
-
-       for (i = 0; i < 2; i++) {
-           bitmap_info->bmiColors[i].rgbBlue = i * 255;
-           bitmap_info->bmiColors[i].rgbGreen = i * 255;
-           bitmap_info->bmiColors[i].rgbRed = i * 255;
-           bitmap_info->bmiColors[i].rgbReserved = 0;
-       }
-
-       break;
-    }
-
-    surface->dc = CreateCompatibleDC (original_dc);
-    if (!surface->dc)
-       goto FAIL;
-
-    surface->bitmap = CreateDIBSection (surface->dc,
-                                       bitmap_info,
-                                       DIB_RGB_COLORS,
-                                       &bits,
-                                       NULL, 0);
-    if (!surface->bitmap)
-       goto FAIL;
-
-    surface->is_dib = TRUE;
-
-    GdiFlush();
-
-    surface->saved_dc_bitmap = SelectObject (surface->dc,
-                                            surface->bitmap);
-    if (!surface->saved_dc_bitmap)
-       goto FAIL;
-
-    if (bitmap_info && num_palette > 2)
-       free (bitmap_info);
-
-    if (bits_out)
-       *bits_out = bits;
-
-    if (rowstride_out) {
-       /* Windows bitmaps are padded to 32-bit (dword) boundaries */
-       switch (format) {
-       case CAIRO_FORMAT_ARGB32:
-       case CAIRO_FORMAT_RGB24:
-           *rowstride_out = 4 * width;
-           break;
-
-       case CAIRO_FORMAT_A8:
-           *rowstride_out = (width + 3) & ~3;
-           break;
-
-       case CAIRO_FORMAT_A1:
-           *rowstride_out = ((width + 31) & ~31) / 8;
-           break;
-       }
-    }
-
-    surface->flags = _cairo_win32_flags_for_dc (surface->dc);
-
-    return CAIRO_STATUS_SUCCESS;
-
- FAIL:
-    status = _cairo_win32_print_gdi_error ("_create_dc_and_bitmap");
-
-    if (bitmap_info && num_palette > 2)
-       free (bitmap_info);
-
-    if (surface->saved_dc_bitmap) {
-       SelectObject (surface->dc, surface->saved_dc_bitmap);
-       surface->saved_dc_bitmap = NULL;
-    }
-
-    if (surface->bitmap) {
-       DeleteObject (surface->bitmap);
-       surface->bitmap = NULL;
-    }
-
-    if (surface->dc) {
-       DeleteDC (surface->dc);
-       surface->dc = NULL;
-    }
-
-    return status;
-}
-
-static cairo_surface_t *
-_cairo_win32_surface_create_for_dc (HDC             original_dc,
-                                   cairo_format_t  format,
-                                   int             width,
-                                   int             height)
-{
-    cairo_status_t status;
-    cairo_win32_surface_t *surface;
-    unsigned char *bits;
-    int rowstride;
-
-    if (! CAIRO_FORMAT_VALID (format))
-       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_FORMAT));
-
-    surface = malloc (sizeof (cairo_win32_surface_t));
-    if (surface == NULL)
-       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
-
-    surface->clip_region = NULL;
-
-    status = _create_dc_and_bitmap (surface, original_dc, format,
-                                   width, height,
-                                   &bits, &rowstride);
-    if (status)
-       goto FAIL;
-
-    surface->image = cairo_image_surface_create_for_data (bits, format,
-                                                         width, height, rowstride);
-    status = surface->image->status;
-    if (status)
-       goto FAIL;
-
-    surface->format = format;
-
-    surface->clip_rect.x = 0;
-    surface->clip_rect.y = 0;
-    surface->clip_rect.width = width;
-    surface->clip_rect.height = height;
-
-    surface->initial_clip_rgn = NULL;
-    surface->had_simple_clip = FALSE;
-
-    surface->extents = surface->clip_rect;
-    surface->font_subsets = NULL;
-
-    _cairo_surface_init (&surface->base,
-                        &cairo_win32_surface_backend,
-                        NULL, /* device */
-                        _cairo_content_from_format (format));
-
-    return &surface->base;
-
- FAIL:
-    if (surface->bitmap) {
-       SelectObject (surface->dc, surface->saved_dc_bitmap);
-       DeleteObject (surface->bitmap);
-       DeleteDC (surface->dc);
-    }
-    free (surface);
-
-    return _cairo_surface_create_in_error (status);
-}
-
-static cairo_surface_t *
-_cairo_win32_surface_create_similar_internal (void         *abstract_src,
-                                             cairo_content_t content,
-                                             int            width,
-                                             int            height,
-                                             cairo_bool_t   force_dib)
-{
-    cairo_win32_surface_t *src = abstract_src;
-    cairo_format_t format = _cairo_format_from_content (content);
-    cairo_surface_t *new_surf = NULL;
-
-    /* We force a DIB always if:
-     * - we need alpha; or
-     * - the parent is a DIB; or
-     * - the parent is for printing (because we don't care about the bit depth at that point)
-     *
-     * We also might end up with a DIB even if a DDB is requested if DDB creation failed
-     * due to out of memory.
-     */
-    if (src->is_dib ||
-       (content & CAIRO_CONTENT_ALPHA) ||
-       src->base.backend->type == CAIRO_SURFACE_TYPE_WIN32_PRINTING)
-    {
-       force_dib = TRUE;
-    }
-
-    if (!force_dib) {
-       /* try to create a ddb */
-       new_surf = cairo_win32_surface_create_with_ddb (src->dc, CAIRO_FORMAT_RGB24, width, height);
-
-       if (new_surf->status != CAIRO_STATUS_SUCCESS)
-           new_surf = NULL;
-    }
-
-    if (new_surf == NULL) {
-       new_surf = _cairo_win32_surface_create_for_dc (src->dc, format, width, height);
-    }
-
-    return new_surf;
-}
-
-cairo_surface_t *
-_cairo_win32_surface_create_similar (void          *abstract_src,
-                                    cairo_content_t content,
-                                    int             width,
-                                    int             height)
-{
-    return _cairo_win32_surface_create_similar_internal (abstract_src, content, width, height, FALSE);
-}
-
-cairo_status_t
-_cairo_win32_surface_finish (void *abstract_surface)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-
-    if (surface->image)
-       cairo_surface_destroy (surface->image);
-
-    /* If we created the Bitmap and DC, destroy them */
-    if (surface->bitmap) {
-       SelectObject (surface->dc, surface->saved_dc_bitmap);
-       DeleteObject (surface->bitmap);
-       DeleteDC (surface->dc);
-    } else {
-       _cairo_win32_restore_initial_clip (surface);
-    }
-
-    if (surface->initial_clip_rgn)
-       DeleteObject (surface->initial_clip_rgn);
-
-    if (surface->font_subsets != NULL)
-       _cairo_scaled_font_subsets_destroy (surface->font_subsets);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_surface_get_subimage (cairo_win32_surface_t  *surface,
-                                  int                     x,
-                                  int                     y,
-                                  int                     width,
-                                  int                     height,
-                                  cairo_win32_surface_t **local_out)
-{
-    cairo_win32_surface_t *local;
-    cairo_int_status_t status;
-    cairo_content_t content = _cairo_content_from_format (surface->format);
-
-    local =
-       (cairo_win32_surface_t *) _cairo_win32_surface_create_similar_internal
-       (surface, content, width, height, TRUE);
-    if (local == NULL)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-    if (local->base.status)
-       return local->base.status;
-
-    status = CAIRO_INT_STATUS_UNSUPPORTED;
-
-    /* Only BitBlt if the source surface supports it. */
-    if ((surface->flags & CAIRO_WIN32_SURFACE_CAN_BITBLT) &&
-       BitBlt (local->dc,
-               0, 0,
-               width, height,
-               surface->dc,
-               x, y,
-               SRCCOPY))
-    {
-       status = CAIRO_STATUS_SUCCESS;
-    }
-
-    if (status) {
-       /* If we failed here, most likely the source or dest doesn't
-        * support BitBlt/AlphaBlend (e.g. a printer).
-        * You can't reliably get bits from a printer DC, so just fill in
-        * the surface as white (common case for printing).
-        */
-
-       RECT r;
-       r.left = r.top = 0;
-       r.right = width;
-       r.bottom = height;
-       FillRect(local->dc, &r, (HBRUSH)GetStockObject(WHITE_BRUSH));
-    }
-
-    *local_out = local;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_surface_t *
-_cairo_win32_surface_map_to_image (void                    *abstract_surface,
-                                  const cairo_rectangle_int_t   *extents)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-    cairo_win32_surface_t *local = NULL;
-    cairo_status_t status;
-
-    if (surface->image) {
-       GdiFlush();
-       return _cairo_surface_create_for_rectangle_int (surface->image,
-                                                       extents);
-    }
-
-    status = _cairo_win32_surface_get_subimage (abstract_surface,
-                                               extents->x,
-                                               extents->y,
-                                               extents->width,
-                                               extents->height,
-                                               &local);
-    if (unlikely (status))
-       return _cairo_surface_create_in_error (status);
-
-    status = cairo_surface_set_user_data (local->image,
-                                         (const cairo_user_data_key_t *)surface->image,
-                                         local, NULL);
-    if (unlikely (status)) {
-       cairo_surface_destroy (&local->base);
-       return _cairo_surface_create_in_error (status);
-    }
-
-    cairo_surface_set_device_offset (local->image, -extents->x, -extents->y);
-    return local->image;
-}
-
-static cairo_int_status_t
-_cairo_win32_surface_unmap_image (void                    *abstract_surface,
-                                 cairo_image_surface_t   *image)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-    cairo_win32_surface_t *local;
-
-    local = cairo_surface_get_user_data (&image->base,
-                                        (const cairo_user_data_key_t *) surface->image);
-    if (!local)
-       return CAIRO_INT_STATUS_SUCCESS;
-
-    if (!BitBlt (surface->dc,
-                image->base.device_transform.x0,
-                image->base.device_transform.y0,
-                image->width, image->height,
-                local->dc,
-                0, 0,
-                SRCCOPY))
-       _cairo_win32_print_gdi_error ("_cairo_win32_surface_release_dest_image");
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_cairo_win32_surface_acquire_source_image (void                    *abstract_surface,
-                                          cairo_image_surface_t  **image_out,
-                                          void                   **image_extra)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-    cairo_win32_surface_t *local;
-    cairo_status_t status;
-
-    if (surface->image) {
-       *image_out = (cairo_image_surface_t *)surface->image;
-       *image_extra = NULL;
-       return CAIRO_STATUS_SUCCESS;
-    }
-
-    status = _cairo_win32_surface_get_subimage (abstract_surface, 0, 0,
-                                               surface->extents.width,
-                                               surface->extents.height, &local);
-    if (status)
-       return status;
-
-    *image_out = (cairo_image_surface_t *)local->image;
-    *image_extra = local;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static void
-_cairo_win32_surface_release_source_image (void                   *abstract_surface,
-                                          cairo_image_surface_t  *image,
-                                          void                   *image_extra)
-{
-    cairo_win32_surface_t *local = image_extra;
-
-    if (local)
-       cairo_surface_destroy ((cairo_surface_t *)local);
-}
-
-cairo_status_t
-_cairo_win32_surface_set_clip_region (void           *abstract_surface,
-                                     cairo_region_t *region)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-    cairo_status_t status = CAIRO_STATUS_SUCCESS;
-
-    if (surface->clip_region == region)
-       return CAIRO_STATUS_SUCCESS;
-
-    cairo_region_destroy (surface->clip_region);
-    surface->clip_region = cairo_region_reference (region);
-
-    /* The semantics we want is that any clip set by cairo combines
-     * is intersected with the clip on device context that the
-     * surface was created for. To implement this, we need to
-     * save the original clip when first setting a clip on surface.
-     */
-
-    /* Clear any clip set by cairo, return to the original first */
-    status = _cairo_win32_restore_initial_clip (surface);
-
-    /* Then combine any new region with it */
-    if (region) {
-       cairo_rectangle_int_t extents;
-       int num_rects;
-       RGNDATA *data;
-       size_t data_size;
-       RECT *rects;
-       int i;
-       HRGN gdi_region;
-
-       /* Create a GDI region for the cairo region */
-
-       cairo_region_get_extents (region, &extents);
-       num_rects = cairo_region_num_rectangles (region);
-       /* XXX see notes in _cairo_win32_save_initial_clip --
-        * this code will interact badly with a HDC which had an initial
-        * world transform -- we should probably manually transform the
-        * region rects, because SelectClipRgn takes device units, not
-        * logical units (unlike IntersectClipRect).
-        */
-
-       data_size = sizeof (RGNDATAHEADER) + num_rects * sizeof (RECT);
-       data = malloc (data_size);
-       if (!data)
-           return _cairo_error(CAIRO_STATUS_NO_MEMORY);
-       rects = (RECT *)data->Buffer;
-
-       data->rdh.dwSize = sizeof (RGNDATAHEADER);
-       data->rdh.iType = RDH_RECTANGLES;
-       data->rdh.nCount = num_rects;
-       data->rdh.nRgnSize = num_rects * sizeof (RECT);
-       data->rdh.rcBound.left = extents.x;
-       data->rdh.rcBound.top = extents.y;
-       data->rdh.rcBound.right = extents.x + extents.width;
-       data->rdh.rcBound.bottom = extents.y + extents.height;
-
-       for (i = 0; i < num_rects; i++) {
-           cairo_rectangle_int_t rect;
-
-           cairo_region_get_rectangle (region, i, &rect);
-
-           rects[i].left   = rect.x;
-           rects[i].top    = rect.y;
-           rects[i].right  = rect.x + rect.width;
-           rects[i].bottom = rect.y + rect.height;
-       }
-
-       gdi_region = ExtCreateRegion (NULL, data_size, data);
-       free (data);
-
-       if (!gdi_region)
-           return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
-       /* AND the new region into our DC */
-       if (ExtSelectClipRgn (surface->dc, gdi_region, RGN_AND) == ERROR)
-           status = _cairo_win32_print_gdi_error ("_cairo_win32_surface_set_clip_region");
-
-       DeleteObject (gdi_region);
-    }
-
-    return status;
-}
-
-#if !defined(AC_SRC_OVER)
-#define AC_SRC_OVER                 0x00
-#pragma pack(1)
-typedef struct {
-    BYTE   BlendOp;
-    BYTE   BlendFlags;
-    BYTE   SourceConstantAlpha;
-    BYTE   AlphaFormat;
-}BLENDFUNCTION;
-#pragma pack()
-#endif
-
-/* for compatibility with VC++ 6 */
-#ifndef AC_SRC_ALPHA
-#define AC_SRC_ALPHA                0x01
-#endif
-
-typedef BOOL (WINAPI *cairo_alpha_blend_func_t) (HDC hdcDest,
-                                                int nXOriginDest,
-                                                int nYOriginDest,
-                                                int nWidthDest,
-                                                int hHeightDest,
-                                                HDC hdcSrc,
-                                                int nXOriginSrc,
-                                                int nYOriginSrc,
-                                                int nWidthSrc,
-                                                int nHeightSrc,
-                                                BLENDFUNCTION blendFunction);
-
-static cairo_int_status_t
-_composite_alpha_blend (cairo_win32_surface_t *dst,
-                       cairo_win32_surface_t *src,
-                       int                    alpha,
-                       int                    src_x,
-                       int                    src_y,
-                       int                    src_w,
-                       int                    src_h,
-                       int                    dst_x,
-                       int                    dst_y,
-                       int                    dst_w,
-                       int                    dst_h)
-{
-    static unsigned alpha_blend_checked = FALSE;
-    static cairo_alpha_blend_func_t alpha_blend = NULL;
-
-    BLENDFUNCTION blend_function;
-
-    /* Check for AlphaBlend dynamically to allow compiling on
-     * MSVC 6 and use on older windows versions
-     */
-    if (!alpha_blend_checked) {
-       OSVERSIONINFO os;
-
-       os.dwOSVersionInfoSize = sizeof (os);
-       GetVersionEx (&os);
-
-       /* If running on Win98, disable using AlphaBlend()
-        * to avoid Win98 AlphaBlend() bug */
-       if (VER_PLATFORM_WIN32_WINDOWS != os.dwPlatformId ||
-           os.dwMajorVersion != 4 || os.dwMinorVersion != 10)
-       {
-           HMODULE msimg32_dll = LoadLibraryW (L"msimg32");
-
-           if (msimg32_dll != NULL)
-               alpha_blend = (cairo_alpha_blend_func_t)GetProcAddress (msimg32_dll,
-                                                                       "AlphaBlend");
-       }
-
-       alpha_blend_checked = TRUE;
-    }
-
-    if (alpha_blend == NULL)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-    if (!(dst->flags & CAIRO_WIN32_SURFACE_CAN_ALPHABLEND))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-    if (src->format == CAIRO_FORMAT_RGB24 && dst->format == CAIRO_FORMAT_ARGB32)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    blend_function.BlendOp = AC_SRC_OVER;
-    blend_function.BlendFlags = 0;
-    blend_function.SourceConstantAlpha = alpha;
-    blend_function.AlphaFormat = (src->format == CAIRO_FORMAT_ARGB32) ? AC_SRC_ALPHA : 0;
-
-    if (!alpha_blend (dst->dc,
-                     dst_x, dst_y,
-                     dst_w, dst_h,
-                     src->dc,
-                     src_x, src_y,
-                     src_w, src_h,
-                     blend_function))
-       return _cairo_win32_print_gdi_error ("_cairo_win32_surface_composite(AlphaBlend)");
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_int_status_t
-_cairo_win32_surface_composite_inner (cairo_win32_surface_t *src,
-                                     cairo_image_surface_t *src_image,
-                                     cairo_win32_surface_t *dst,
-                                     cairo_rectangle_int_t src_extents,
-                                     cairo_rectangle_int_t src_r,
-                                     cairo_rectangle_int_t dst_r,
-                                     int alpha,
-                                     cairo_bool_t needs_alpha,
-                                     cairo_bool_t needs_scale)
-{
-    /* Then do BitBlt, StretchDIBits, StretchBlt, AlphaBlend, or MaskBlt */
-    if (src_image) {
-       if (needs_alpha || needs_scale)
-           return CAIRO_INT_STATUS_UNSUPPORTED;
-
-       if (dst->flags & CAIRO_WIN32_SURFACE_CAN_STRETCHBLT) {
-           BITMAPINFO bi;
-           bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
-           bi.bmiHeader.biWidth = src_image->width;
-           bi.bmiHeader.biHeight = - src_image->height;
-           bi.bmiHeader.biSizeImage = 0;
-           bi.bmiHeader.biXPelsPerMeter = PELS_72DPI;
-           bi.bmiHeader.biYPelsPerMeter = PELS_72DPI;
-           bi.bmiHeader.biPlanes = 1;
-           bi.bmiHeader.biBitCount = 32;
-           bi.bmiHeader.biCompression = BI_RGB;
-           bi.bmiHeader.biClrUsed = 0;
-           bi.bmiHeader.biClrImportant = 0;
-
-           /* StretchDIBits is broken with top-down dibs; you need to do some
-            * special munging to make the coordinate space work (basically,
-            * need to address everything based on the bottom left, instead of top left,
-            * and need to tell it to flip the resulting image.
-            *
-            * See http://blog.vlad1.com/archives/2006/10/26/134/ and comments.
-            */
-           if (!StretchDIBits (dst->dc,
-                               /* dst x,y,w,h */
-                               dst_r.x, dst_r.y + dst_r.height - 1,
-                               dst_r.width, - (int) dst_r.height,
-                               /* src x,y,w,h */
-                               src_r.x, src_extents.height - src_r.y + 1,
-                               src_r.width, - (int) src_r.height,
-                               src_image->data,
-                               &bi,
-                               DIB_RGB_COLORS,
-                               SRCCOPY))
-               return _cairo_win32_print_gdi_error ("_cairo_win32_surface_composite(StretchDIBits)");
-       }
-    } else if (!needs_alpha) {
-       /* BitBlt or StretchBlt? */
-       if (!needs_scale && (dst->flags & CAIRO_WIN32_SURFACE_CAN_BITBLT)) {
-           if (!BitBlt (dst->dc,
-                        dst_r.x, dst_r.y,
-                        dst_r.width, dst_r.height,
-                        src->dc,
-                        src_r.x, src_r.y,
-                        SRCCOPY))
-               return _cairo_win32_print_gdi_error ("_cairo_win32_surface_composite(BitBlt)");
-       } else if (dst->flags & CAIRO_WIN32_SURFACE_CAN_STRETCHBLT) {
-           /* StretchBlt? */
-           /* XXX check if we want HALFTONE, based on the src filter */
-           BOOL success;
-           int oldmode = SetStretchBltMode(dst->dc, HALFTONE);
-           success = StretchBlt(dst->dc,
-                                dst_r.x, dst_r.y,
-                                dst_r.width, dst_r.height,
-                                src->dc,
-                                src_r.x, src_r.y,
-                                src_r.width, src_r.height,
-                                SRCCOPY);
-           SetStretchBltMode(dst->dc, oldmode);
-
-           if (!success)
-               return _cairo_win32_print_gdi_error ("StretchBlt");
-       }
-    } else if (needs_alpha && !needs_scale) {
-       return _composite_alpha_blend (dst, src, alpha,
-                                      src_r.x, src_r.y, src_r.width, src_r.height,
-                                      dst_r.x, dst_r.y, dst_r.width, dst_r.height);
-    }
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-/* from pixman-private.h */
-#define MOD(a,b) ((a) < 0 ? ((b) - ((-(a) - 1) % (b))) - 1 : (a) % (b))
-
-static cairo_int_status_t
-_cairo_win32_surface_composite (cairo_operator_t       op,
-                               const cairo_pattern_t   *pattern,
-                               const cairo_pattern_t   *mask_pattern,
-                               void                    *abstract_dst,
-                               int                     src_x,
-                               int                     src_y,
-                               int                     mask_x,
-                               int                     mask_y,
-                               int                     dst_x,
-                               int                     dst_y,
-                               unsigned int            width,
-                               unsigned int            height,
-                               cairo_region_t         *clip_region)
-{
-    cairo_win32_surface_t *dst = abstract_dst;
-    cairo_win32_surface_t *src;
-    cairo_surface_pattern_t *src_surface_pattern;
-    int alpha;
-    double scalex, scaley;
-    cairo_fixed_t x0_fixed, y0_fixed;
-    cairo_int_status_t status;
-
-    cairo_bool_t needs_alpha, needs_scale, needs_repeat;
-    cairo_image_surface_t *src_image = NULL;
-
-    cairo_format_t src_format;
-    cairo_rectangle_int_t src_extents;
-
-    cairo_rectangle_int_t src_r = { src_x, src_y, width, height };
-    cairo_rectangle_int_t dst_r = { dst_x, dst_y, width, height };
-
-#ifdef DEBUG_COMPOSITE
-    fprintf (stderr, "+++ composite: %d %p %p %p [%d %d] [%d %d] [%d %d] %dx%d\n",
-            op, pattern, mask_pattern, abstract_dst, src_x, src_y, mask_x, mask_y, dst_x, dst_y, width, height);
-#endif
-
-    /* If the destination can't do any of these, then
-     * we may as well give up, since this is what we'll
-     * look to for optimization.
-     */
-    if ((dst->flags & (CAIRO_WIN32_SURFACE_CAN_BITBLT |
-                      CAIRO_WIN32_SURFACE_CAN_ALPHABLEND |
-                      CAIRO_WIN32_SURFACE_CAN_STRETCHBLT |
-                      CAIRO_WIN32_SURFACE_CAN_STRETCHDIB))
-       == 0)
-    {
-       goto UNSUPPORTED;
-    }
-
-    if (pattern->type != CAIRO_PATTERN_TYPE_SURFACE)
-       goto UNSUPPORTED;
-
-    if (pattern->extend != CAIRO_EXTEND_NONE &&
-       pattern->extend != CAIRO_EXTEND_REPEAT)
-       goto UNSUPPORTED;
-
-    if (mask_pattern) {
-       /* FIXME: When we fully support RENDER style 4-channel
-        * masks we need to check r/g/b != 1.0.
-        */
-       if (mask_pattern->type != CAIRO_PATTERN_TYPE_SOLID)
-           return CAIRO_INT_STATUS_UNSUPPORTED;
-
-       alpha = ((cairo_solid_pattern_t *)mask_pattern)->color.alpha_short >> 8;
-    } else {
-       alpha = 255;
-    }
-
-    src_surface_pattern = (cairo_surface_pattern_t *)pattern;
-    src = (cairo_win32_surface_t *)src_surface_pattern->surface;
-
-    if (src->base.type == CAIRO_SURFACE_TYPE_IMAGE &&
-       dst->flags & (CAIRO_WIN32_SURFACE_CAN_STRETCHDIB))
-    {
-       /* In some very limited cases, we can use StretchDIBits to draw
-        * an image surface directly:
-        *  - source is CAIRO_FORMAT_ARGB32
-        *  - dest is CAIRO_FORMAT_ARGB32
-        *  - alpha is 255
-        *  - operator is SOURCE or OVER
-        *  - image stride is 4*width
-        */
-       src_image = (cairo_image_surface_t*) src;
-
-       if (src_image->format != CAIRO_FORMAT_RGB24 ||
-           dst->format != CAIRO_FORMAT_RGB24 ||
-           alpha != 255 ||
-           (op != CAIRO_OPERATOR_SOURCE && op != CAIRO_OPERATOR_OVER) ||
-           src_image->stride != (src_image->width * 4))
-       {
-           goto UNSUPPORTED;
-       }
-
-       src_format = src_image->format;
-       src_extents.x = 0;
-       src_extents.y = 0;
-       src_extents.width = src_image->width;
-       src_extents.height = src_image->height;
-    } else if (src->base.backend != dst->base.backend) {
-       goto UNSUPPORTED;
-    } else {
-       src_format = src->format;
-       src_extents = src->extents;
-    }
-
-
-#ifdef DEBUG_COMPOSITE
-    fprintf (stderr, "Before check: src size: (%d %d) xy [%d %d] -> dst [%d %d %d %d] {srcmat %f %f %f %f}\n",
-            src_extents.width, src_extents.height,
-            src_x, src_y,
-            dst_x, dst_y, width, height,
-            pattern->matrix.x0, pattern->matrix.y0, pattern->matrix.xx, pattern->matrix.yy);
-#endif
-
-    /* We can only use GDI functions if the source and destination rectangles
-     * are on integer pixel boundaries.  Figure that out here.
-     */
-    x0_fixed = _cairo_fixed_from_double(pattern->matrix.x0 / pattern->matrix.xx);
-    y0_fixed = _cairo_fixed_from_double(pattern->matrix.y0 / pattern->matrix.yy);
-
-    if (pattern->matrix.yx != 0.0 ||
-       pattern->matrix.xy != 0.0 ||
-       !_cairo_fixed_is_integer(x0_fixed) ||
-       !_cairo_fixed_is_integer(y0_fixed))
-    {
-       goto UNSUPPORTED;
-    }
-
-    scalex = pattern->matrix.xx;
-    scaley = pattern->matrix.yy;
-
-    src_r.x += _cairo_fixed_integer_part(x0_fixed);
-    src_r.y += _cairo_fixed_integer_part(y0_fixed);
-
-    /* Success, right? */
-    if (scalex == 0.0 || scaley == 0.0)
-       return CAIRO_STATUS_SUCCESS;
-
-    if (scalex != 1.0 || scaley != 1.0)
-       goto UNSUPPORTED;
-
-    /* If the src coordinates are outside of the source surface bounds,
-     * we have to fix them up, because this is an error for the GDI
-     * functions.
-     */
-
-#ifdef DEBUG_COMPOSITE
-    fprintf (stderr, "before: [%d %d %d %d] -> [%d %d %d %d]\n",
-            src_r.x, src_r.y, src_r.width, src_r.height,
-            dst_r.x, dst_r.y, dst_r.width, dst_r.height);
-    fflush (stderr);
-#endif
-
-    /* If the src rectangle doesn't wholly lie within the src extents,
-     * fudge things.  We really need to do fixup on the unpainted
-     * region -- e.g. the SOURCE operator is broken for areas outside
-     * of the extents, because it won't clear that area to transparent
-     * black.
-     */
-
-    if (pattern->extend != CAIRO_EXTEND_REPEAT) {
-       needs_repeat = FALSE;
-
-       /* If the src rect and the extents of the source image don't overlap at all,
-        * we can't do anything useful here.
-        */
-       if (src_r.x > src_extents.width || src_r.y > src_extents.height ||
-           (src_r.x + src_r.width) < 0 || (src_r.y + src_r.height) < 0)
-       {
-           if (op == CAIRO_OPERATOR_OVER)
-               return CAIRO_STATUS_SUCCESS;
-           goto UNSUPPORTED;
-       }
-
-       if (src_r.x < 0) {
-           src_r.width += src_r.x;
-           src_r.x = 0;
-
-           dst_r.width += src_r.x;
-           dst_r.x -= src_r.x;
-       }
-
-       if (src_r.y < 0) {
-           src_r.height += src_r.y;
-           src_r.y = 0;
-
-           dst_r.height += dst_r.y;
-           dst_r.y -= src_r.y;
-       }
-
-       if (src_r.x + src_r.width > src_extents.width) {
-           src_r.width = src_extents.width - src_r.x;
-           dst_r.width = src_r.width;
-       }
-
-       if (src_r.y + src_r.height > src_extents.height) {
-           src_r.height = src_extents.height - src_r.y;
-           dst_r.height = src_r.height;
-       }
-    } else {
-       needs_repeat = TRUE;
-    }
-
-    /*
-     * Operations that we can do:
-     *
-     *  RGB OVER  RGB -> BitBlt (same as SOURCE)
-     *  RGB OVER ARGB -> UNSUPPORTED (AlphaBlend treats this as a BitBlt, even with SCA 255 and no AC_SRC_ALPHA)
-     * ARGB OVER ARGB -> AlphaBlend, with AC_SRC_ALPHA
-     * ARGB OVER  RGB -> AlphaBlend, with AC_SRC_ALPHA; we'll have junk in the dst A byte
-     * 
-     *  RGB OVER  RGB + mask -> AlphaBlend, no AC_SRC_ALPHA
-     *  RGB OVER ARGB + mask -> UNSUPPORTED
-     * ARGB OVER ARGB + mask -> AlphaBlend, with AC_SRC_ALPHA
-     * ARGB OVER  RGB + mask -> AlphaBlend, with AC_SRC_ALPHA; junk in the dst A byte
-     * 
-     *  RGB SOURCE  RGB -> BitBlt
-     *  RGB SOURCE ARGB -> UNSUPPORTED (AlphaBlend treats this as a BitBlt, even with SCA 255 and no AC_SRC_ALPHA)
-     * ARGB SOURCE ARGB -> BitBlt
-     * ARGB SOURCE  RGB -> BitBlt
-     * 
-     *  RGB SOURCE  RGB + mask -> unsupported
-     *  RGB SOURCE ARGB + mask -> unsupported
-     * ARGB SOURCE ARGB + mask -> unsupported
-     * ARGB SOURCE  RGB + mask -> unsupported
-     */
-
-    /*
-     * Figure out what action to take.
-     */
-    if (op == CAIRO_OPERATOR_OVER) {
-       if (alpha == 0)
-           return CAIRO_STATUS_SUCCESS;
-
-       if (src_format == dst->format) {
-           if (alpha == 255 && src_format == CAIRO_FORMAT_RGB24) {
-               needs_alpha = FALSE;
-           } else {
-               needs_alpha = TRUE;
-           }
-       } else if (src_format == CAIRO_FORMAT_ARGB32 &&
-                  dst->format == CAIRO_FORMAT_RGB24)
-       {
-           needs_alpha = TRUE;
-       } else {
-           goto UNSUPPORTED;
-       }
-    } else if (alpha == 255 && op == CAIRO_OPERATOR_SOURCE) {
-       if ((src_format == dst->format) ||
-           (src_format == CAIRO_FORMAT_ARGB32 && dst->format == CAIRO_FORMAT_RGB24))
-       {
-           needs_alpha = FALSE;
-       } else {
-           goto UNSUPPORTED;
-       }
-    } else {
-       goto UNSUPPORTED;
-    }
-
-    if (scalex == 1.0 && scaley == 1.0) {
-       needs_scale = FALSE;
-    } else {
-       /* Should never be reached until we turn StretchBlt back on */
-       needs_scale = TRUE;
-    }
-
-#ifdef DEBUG_COMPOSITE
-    fprintf (stderr, "action: [%d %d %d %d] -> [%d %d %d %d]\n",
-            src_r.x, src_r.y, src_r.width, src_r.height,
-            dst_r.x, dst_r.y, dst_r.width, dst_r.height);
-    fflush (stderr);
-#endif
-
-    status = _cairo_win32_surface_set_clip_region (dst, clip_region);
-    if (status)
-       return status;
-
-    /* If we need to repeat, we turn the repeated blit into
-     * a bunch of piece-by-piece blits.
-     */
-    if (needs_repeat) {
-       cairo_rectangle_int_t piece_src_r, piece_dst_r;
-       uint32_t rendered_width = 0, rendered_height = 0;
-       uint32_t to_render_height, to_render_width;
-       int32_t piece_x, piece_y;
-       int32_t src_start_x = MOD(src_r.x, src_extents.width);
-       int32_t src_start_y = MOD(src_r.y, src_extents.height);
-
-       if (needs_scale)
-           goto UNSUPPORTED;
-
-       /* If both the src and dest have an image, we may as well fall
-        * back, because it will be faster than our separate blits.
-        * Our blit code will be fastest when the src is a DDB and the
-        * destination is a DDB.
-        */
-       if ((src_image || src->image) && dst->image)
-           goto UNSUPPORTED;
-
-       /* If the src is not a bitmap but an on-screen (or unknown)
-        * DC, chances are that fallback will be faster.
-        */
-       if (src->bitmap == NULL)
-           goto UNSUPPORTED;
-
-       /* If we can use PatBlt, just do so */
-       if (!src_image && !needs_alpha)
-       {
-           HBRUSH brush;
-           HGDIOBJ old_brush;
-           POINT old_brush_origin;
-
-           /* Set up the brush with our bitmap */
-           brush = CreatePatternBrush (src->bitmap);
-
-           /* SetBrushOrgEx sets the coordinates in the destination DC of where the
-            * pattern should start.
-            */
-           SetBrushOrgEx (dst->dc, dst_r.x - src_start_x,
-                          dst_r.y - src_start_y, &old_brush_origin);
-
-           old_brush = SelectObject (dst->dc, brush);
-
-           PatBlt (dst->dc, dst_r.x, dst_r.y, dst_r.width, dst_r.height, PATCOPY);
-
-           /* Restore the old brush and pen */
-           SetBrushOrgEx (dst->dc, old_brush_origin.x, old_brush_origin.y, NULL);
-           SelectObject (dst->dc, old_brush);
-           DeleteObject (brush);
-
-           return CAIRO_STATUS_SUCCESS;
-       }
-
-       /* If we were not able to use PatBlt, then manually expand out the blit */
-
-       /* Arbitrary factor; we think that going through
-        * fallback will be faster if we have to do more
-        * than this amount of blits in either direction.
-        */
-       if (dst_r.width / src_extents.width > 5 ||
-           dst_r.height / src_extents.height > 5)
-           goto UNSUPPORTED;
-
-       for (rendered_height = 0;
-            rendered_height < dst_r.height;
-            rendered_height += to_render_height)
-       {
-           piece_y = (src_start_y + rendered_height) % src_extents.height;
-           to_render_height = src_extents.height - piece_y;
-
-           if (rendered_height + to_render_height > dst_r.height)
-               to_render_height = dst_r.height - rendered_height;
-
-           for (rendered_width = 0;
-                rendered_width < dst_r.width;
-                rendered_width += to_render_width)
-           {
-               piece_x = (src_start_x + rendered_width) % src_extents.width;
-               to_render_width = src_extents.width - piece_x;
-
-               if (rendered_width + to_render_width > dst_r.width)
-                   to_render_width = dst_r.width - rendered_width;
-
-               piece_src_r.x = piece_x;
-               piece_src_r.y = piece_y;
-               piece_src_r.width = to_render_width;
-               piece_src_r.height = to_render_height;
-
-               piece_dst_r.x = dst_r.x + rendered_width;
-               piece_dst_r.y = dst_r.y + rendered_height;
-               piece_dst_r.width = to_render_width;
-               piece_dst_r.height = to_render_height;
-
-               status = _cairo_win32_surface_composite_inner (src, src_image, dst,
-                                                              src_extents, piece_src_r, piece_dst_r,
-                                                              alpha, needs_alpha, needs_scale);
-               if (status != CAIRO_STATUS_SUCCESS) {
-                   /* Uh oh.  If something failed, and it's the first
-                    * piece, then we can jump to UNSUPPORTED. 
-                    * Otherwise, this is bad times, because part of the
-                    * rendering was already done. */
-                   if (rendered_width == 0 &&
-                       rendered_height == 0)
-                   {
-                       goto UNSUPPORTED;
-                   }
-
-                   return status;
-               }
-           }
-       }
-    } else {
-       status = _cairo_win32_surface_composite_inner (src, src_image, dst,
-                                                      src_extents, src_r, dst_r,
-                                                      alpha, needs_alpha, needs_scale);
-    }
-
-    if (status == CAIRO_STATUS_SUCCESS)
-       return status;
-
-UNSUPPORTED:
-    /* Fall back to image surface directly, if this is a DIB surface */
-    if (dst->image) {
-       GdiFlush();
-
-#if 0
-       return dst->image->backend->composite (op, pattern, mask_pattern,
-                                              dst->image,
-                                              src_x, src_y,
-                                              mask_x, mask_y,
-                                              dst_x, dst_y,
-                                              width, height,
-                                              clip_region);
-#endif
-    }
-
-    return CAIRO_INT_STATUS_UNSUPPORTED;
-}
-
-/* This big function tells us how to optimize operators for the
- * case of solid destination and constant-alpha source
- *
- * Note: This function needs revisiting if we add support for
- *       super-luminescent colors (a == 0, r,g,b > 0)
- */
-static enum { DO_CLEAR, DO_SOURCE, DO_NOTHING, DO_UNSUPPORTED }
-categorize_solid_dest_operator (cairo_operator_t op,
-                               unsigned short   alpha)
-{
-    enum { SOURCE_TRANSPARENT, SOURCE_LIGHT, SOURCE_SOLID, SOURCE_OTHER } source;
-
-    if (alpha >= 0xff00)
-       source = SOURCE_SOLID;
-    else if (alpha < 0x100)
-       source = SOURCE_TRANSPARENT;
-    else
-       source = SOURCE_OTHER;
-
-    switch (op) {
-    case CAIRO_OPERATOR_CLEAR:    /* 0                 0 */
-    case CAIRO_OPERATOR_OUT:      /* 1 - Ab            0 */
-       return DO_CLEAR;
-       break;
-
-    case CAIRO_OPERATOR_SOURCE:   /* 1                 0 */
-    case CAIRO_OPERATOR_IN:       /* Ab                0 */
-       return DO_SOURCE;
-       break;
-
-    case CAIRO_OPERATOR_OVER:     /* 1            1 - Aa */
-    case CAIRO_OPERATOR_ATOP:     /* Ab           1 - Aa */
-       if (source == SOURCE_SOLID)
-           return DO_SOURCE;
-       else if (source == SOURCE_TRANSPARENT)
-           return DO_NOTHING;
-       else
-           return DO_UNSUPPORTED;
-       break;
-
-    case CAIRO_OPERATOR_DEST_OUT: /* 0            1 - Aa */
-    case CAIRO_OPERATOR_XOR:      /* 1 - Ab       1 - Aa */
-       if (source == SOURCE_SOLID)
-           return DO_CLEAR;
-       else if (source == SOURCE_TRANSPARENT)
-           return DO_NOTHING;
-       else
-           return DO_UNSUPPORTED;
-       break;
-
-    case CAIRO_OPERATOR_DEST:     /* 0                 1 */
-    case CAIRO_OPERATOR_DEST_OVER:/* 1 - Ab            1 */
-    case CAIRO_OPERATOR_SATURATE: /* min(1,(1-Ab)/Aa)  1 */
-       return DO_NOTHING;
-       break;
-
-    case CAIRO_OPERATOR_DEST_IN:  /* 0                Aa */
-    case CAIRO_OPERATOR_DEST_ATOP:/* 1 - Ab           Aa */
-       if (source == SOURCE_SOLID)
-           return DO_NOTHING;
-       else if (source == SOURCE_TRANSPARENT)
-           return DO_CLEAR;
-       else
-           return DO_UNSUPPORTED;
-       break;
-
-    case CAIRO_OPERATOR_ADD:     /* 1                1 */
-       if (source == SOURCE_TRANSPARENT)
-           return DO_NOTHING;
-       else
-           return DO_UNSUPPORTED;
-       break;
-
-    case CAIRO_OPERATOR_MULTIPLY:
-    case CAIRO_OPERATOR_SCREEN:
-    case CAIRO_OPERATOR_OVERLAY:
-    case CAIRO_OPERATOR_DARKEN:
-    case CAIRO_OPERATOR_LIGHTEN:
-    case CAIRO_OPERATOR_COLOR_DODGE:
-    case CAIRO_OPERATOR_COLOR_BURN:
-    case CAIRO_OPERATOR_HARD_LIGHT:
-    case CAIRO_OPERATOR_SOFT_LIGHT:
-    case CAIRO_OPERATOR_DIFFERENCE:
-    case CAIRO_OPERATOR_EXCLUSION:
-    case CAIRO_OPERATOR_HSL_HUE:
-    case CAIRO_OPERATOR_HSL_SATURATION:
-    case CAIRO_OPERATOR_HSL_COLOR:
-    case CAIRO_OPERATOR_HSL_LUMINOSITY:
-       return DO_UNSUPPORTED;
-
-    default:
-       ASSERT_NOT_REACHED;
-       return DO_UNSUPPORTED;
-    }
-}
-
-static cairo_int_status_t
-_cairo_win32_surface_fill_rectangles (void                     *abstract_surface,
-                                     cairo_operator_t          op,
-                                     const cairo_color_t       *color,
-                                     cairo_rectangle_int_t     *rects,
-                                     int                       num_rects)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-    cairo_status_t status;
-    COLORREF new_color;
-    HBRUSH new_brush;
-    int i;
-
-    /* XXXperf If it's not RGB24, we need to do a little more checking
-     * to figure out when we can use GDI.  We don't have that checking
-     * anywhere at the moment, so just bail and use the fallback
-     * paths. */
-    if (surface->format != CAIRO_FORMAT_RGB24)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    status = _cairo_win32_surface_set_clip_region (surface, NULL);
-    if (status)
-       return status;
-
-    /* Optimize for no destination alpha (surface->pixman_image is non-NULL for all
-     * surfaces with alpha.)
-     */
-    switch (categorize_solid_dest_operator (op, color->alpha_short)) {
-    case DO_CLEAR:
-       new_color = RGB (0, 0, 0);
-       break;
-    case DO_SOURCE:
-       new_color = RGB (color->red_short >> 8, color->green_short >> 8, color->blue_short >> 8);
-       break;
-    case DO_NOTHING:
-       return CAIRO_STATUS_SUCCESS;
-    case DO_UNSUPPORTED:
-    default:
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-    }
-
-    new_brush = CreateSolidBrush (new_color);
-    if (!new_brush)
-       return _cairo_win32_print_gdi_error ("_cairo_win32_surface_fill_rectangles");
-
-    for (i = 0; i < num_rects; i++) {
-       RECT rect;
-
-       rect.left = rects[i].x;
-       rect.top = rects[i].y;
-       rect.right = rects[i].x + rects[i].width;
-       rect.bottom = rects[i].y + rects[i].height;
-
-       if (!FillRect (surface->dc, &rect, new_brush))
-           goto FAIL;
-    }
-
-    DeleteObject (new_brush);
-
-    return CAIRO_STATUS_SUCCESS;
-
- FAIL:
-    status = _cairo_win32_print_gdi_error ("_cairo_win32_surface_fill_rectangles");
-
-    DeleteObject (new_brush);
-
-    return status;
-}
-
-cairo_bool_t
-_cairo_win32_surface_get_extents (void                   *abstract_surface,
-                                 cairo_rectangle_int_t   *rectangle)
-{
-    cairo_win32_surface_t *surface = abstract_surface;
-
-    *rectangle = surface->extents;
-    return TRUE;
-}
-
-static cairo_status_t
-_cairo_win32_surface_flush (void *abstract_surface)
-{
-    return _cairo_win32_surface_set_clip_region (abstract_surface, NULL);
-}
-
-#define STACK_GLYPH_SIZE 256
-
-cairo_int_status_t
-_cairo_win32_surface_show_glyphs_internal (void                         *surface,
-                                          cairo_operator_t       op,
-                                          const cairo_pattern_t *source,
-                                          cairo_glyph_t         *glyphs,
-                                          int                    num_glyphs,
-                                          cairo_scaled_font_t   *scaled_font,
-                                          const cairo_clip_t    *clip,
-                                          cairo_bool_t           glyph_indexing)
-{
-#if CAIRO_HAS_WIN32_FONT
-    cairo_win32_surface_t *dst = surface;
-
-    WORD glyph_buf_stack[STACK_GLYPH_SIZE];
-    WORD *glyph_buf = glyph_buf_stack;
-    int dxy_buf_stack[2 * STACK_GLYPH_SIZE];
-    int *dxy_buf = dxy_buf_stack;
-
-    BOOL win_result = 0;
-    int i, j;
-
-    cairo_solid_pattern_t *solid_pattern;
-    COLORREF color;
-
-    cairo_matrix_t device_to_logical;
-
-    int start_x, start_y;
-    double user_x, user_y;
-    int logical_x, logical_y;
-    unsigned int glyph_index_option;
-
-    /* We can only handle win32 fonts */
-    if (cairo_scaled_font_get_type (scaled_font) != CAIRO_FONT_TYPE_WIN32)
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    /* We can only handle opaque solid color sources */
-    if (!_cairo_pattern_is_opaque_solid(source))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    /* We can only handle operator SOURCE or OVER with the destination
-     * having no alpha */
-    if ((op != CAIRO_OPERATOR_SOURCE && op != CAIRO_OPERATOR_OVER) ||
-       (dst->format != CAIRO_FORMAT_RGB24))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    /* If we have a fallback mask clip set on the dst, we have
-     * to go through the fallback path, but only if we're not
-     * doing this for printing */
-    if (clip != NULL) {
-       if ((dst->flags & CAIRO_WIN32_SURFACE_FOR_PRINTING) == 0) {
-           if (! _cairo_clip_is_region (clip))
-               return CAIRO_INT_STATUS_UNSUPPORTED;
-
-           _cairo_win32_surface_set_clip_region (surface,
-                                                 _cairo_clip_get_region (clip));
-       }
-    }
-
-    solid_pattern = (cairo_solid_pattern_t *)source;
-    color = RGB(((int)solid_pattern->color.red_short) >> 8,
-               ((int)solid_pattern->color.green_short) >> 8,
-               ((int)solid_pattern->color.blue_short) >> 8);
-
-    cairo_win32_scaled_font_get_device_to_logical(scaled_font, &device_to_logical);
-
-    SaveDC(dst->dc);
-
-    cairo_win32_scaled_font_select_font(scaled_font, dst->dc);
-    SetTextColor(dst->dc, color);
-    SetTextAlign(dst->dc, TA_BASELINE | TA_LEFT);
-    SetBkMode(dst->dc, TRANSPARENT);
-
-    if (num_glyphs > STACK_GLYPH_SIZE) {
-       glyph_buf = (WORD *) _cairo_malloc_ab (num_glyphs, sizeof(WORD));
-        dxy_buf = (int *) _cairo_malloc_abc (num_glyphs, sizeof(int), 2);
-    }
-
-    /* It is vital that dx values for dxy_buf are calculated from the delta of
-     * _logical_ x coordinates (not user x coordinates) or else the sum of all
-     * previous dx values may start to diverge from the current glyph's x
-     * coordinate due to accumulated rounding error. As a result strings could
-     * be painted shorter or longer than expected. */
-
-    user_x = glyphs[0].x;
-    user_y = glyphs[0].y;
-
-    cairo_matrix_transform_point(&device_to_logical,
-                                 &user_x, &user_y);
-
-    logical_x = _cairo_lround (user_x);
-    logical_y = _cairo_lround (user_y);
-
-    start_x = logical_x;
-    start_y = logical_y;
-
-    for (i = 0, j = 0; i < num_glyphs; ++i, j = 2 * i) {
-        glyph_buf[i] = (WORD) glyphs[i].index;
-        if (i == num_glyphs - 1) {
-            dxy_buf[j] = 0;
-            dxy_buf[j+1] = 0;
-        } else {
-            double next_user_x = glyphs[i+1].x;
-            double next_user_y = glyphs[i+1].y;
-            int next_logical_x, next_logical_y;
-
-            cairo_matrix_transform_point(&device_to_logical,
-                                         &next_user_x, &next_user_y);
-
-            next_logical_x = _cairo_lround (next_user_x);
-            next_logical_y = _cairo_lround (next_user_y);
-
-            dxy_buf[j] = _cairo_lround (next_logical_x - logical_x);
-            dxy_buf[j+1] = _cairo_lround (next_logical_y - logical_y);
-
-            logical_x = next_logical_x;
-            logical_y = next_logical_y;
-        }
-    }
-
-    if (glyph_indexing)
-       glyph_index_option = ETO_GLYPH_INDEX;
-    else
-       glyph_index_option = 0;
-
-    win_result = ExtTextOutW(dst->dc,
-                             start_x,
-                             start_y,
-                             glyph_index_option | ETO_PDY,
-                             NULL,
-                             glyph_buf,
-                             num_glyphs,
-                             dxy_buf);
-    if (!win_result) {
-        _cairo_win32_print_gdi_error("_cairo_win32_surface_show_glyphs(ExtTextOutW failed)");
-    }
-
-    RestoreDC(dst->dc, -1);
-
-    if (glyph_buf != glyph_buf_stack) {
-       free(glyph_buf);
-        free(dxy_buf);
-    }
-    return (win_result) ? CAIRO_STATUS_SUCCESS : CAIRO_INT_STATUS_UNSUPPORTED;
-#else
-    return CAIRO_INT_STATUS_UNSUPPORTED;
-#endif
-}
-
-#undef STACK_GLYPH_SIZE
-
-cairo_int_status_t
-_cairo_win32_surface_show_glyphs (void                 *surface,
-                                 cairo_operator_t       op,
-                                 const cairo_pattern_t *source,
-                                 cairo_glyph_t         *glyphs,
-                                 int                    num_glyphs,
-                                 cairo_scaled_font_t   *scaled_font,
-                                 const cairo_clip_t    *clip)
-{
-    return _cairo_win32_surface_show_glyphs_internal (surface,
-                                                     op,
-                                                     source,
-                                                     glyphs,
-                                                     num_glyphs,
-                                                     scaled_font,
-                                                     clip,
-                                                     TRUE);
-}
-
-
-/**
- * cairo_win32_surface_create:
- * @hdc: the DC to create a surface for
- *
- * Creates a cairo surface that targets the given DC.  The DC will be
- * queried for its initial clip extents, and this will be used as the
- * size of the cairo surface.  The resulting surface will always be of
- * format %CAIRO_FORMAT_RGB24; should you need another surface format,
- * you will need to create one through
- * cairo_win32_surface_create_with_dib().
- *
- * Return value: the newly created surface
- **/
-cairo_surface_t *
-cairo_win32_surface_create (HDC hdc)
-{
-    cairo_win32_surface_t *surface;
-
-    cairo_format_t format;
-    RECT rect;
-
-    /* Assume that everything coming in as a HDC is RGB24 */
-    format = CAIRO_FORMAT_RGB24;
-
-    surface = malloc (sizeof (cairo_win32_surface_t));
-    if (surface == NULL)
-       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
-
-    if (_cairo_win32_save_initial_clip (hdc, surface) != CAIRO_STATUS_SUCCESS) {
-       free (surface);
-       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
-    }
-
-    surface->clip_region = NULL;
-    surface->image = NULL;
-    surface->format = format;
-
-    surface->dc = hdc;
-    surface->bitmap = NULL;
-    surface->is_dib = FALSE;
-    surface->saved_dc_bitmap = NULL;
-    surface->brush = NULL;
-    surface->old_brush = NULL;
-    surface->font_subsets = NULL;
-
-    GetClipBox(hdc, &rect);
-    surface->extents.x = rect.left;
-    surface->extents.y = rect.top;
-    surface->extents.width = rect.right - rect.left;
-    surface->extents.height = rect.bottom - rect.top;
-
-    surface->flags = _cairo_win32_flags_for_dc (surface->dc);
-
-    _cairo_surface_init (&surface->base,
-                        &cairo_win32_surface_backend,
-                        NULL, /* device */
-                        _cairo_content_from_format (format));
-
-    return (cairo_surface_t *)surface;
-}
-
-/**
- * cairo_win32_surface_create_with_dib:
- * @format: format of pixels in the surface to create
- * @width: width of the surface, in pixels
- * @height: height of the surface, in pixels
- *
- * Creates a device-independent-bitmap surface not associated with
- * any particular existing surface or device context. The created
- * bitmap will be uninitialized.
- *
- * Return value: the newly created surface
- *
- * Since: 1.2
- **/
-cairo_surface_t *
-cairo_win32_surface_create_with_dib (cairo_format_t format,
-                                    int            width,
-                                    int            height)
-{
-    return _cairo_win32_surface_create_for_dc (NULL, format, width, height);
-}
-
-/**
- * cairo_win32_surface_create_with_ddb:
- * @hdc: a DC compatible with the surface to create
- * @format: format of pixels in the surface to create
- * @width: width of the surface, in pixels
- * @height: height of the surface, in pixels
- *
- * Creates a device-dependent-bitmap surface not associated with
- * any particular existing surface or device context. The created
- * bitmap will be uninitialized.
- *
- * Return value: the newly created surface
- *
- * Since: 1.4
- **/
-cairo_surface_t *
-cairo_win32_surface_create_with_ddb (HDC hdc,
-                                    cairo_format_t format,
-                                    int width,
-                                    int height)
-{
-    cairo_win32_surface_t *new_surf;
-    HBITMAP ddb;
-    HDC screen_dc, ddb_dc;
-    HBITMAP saved_dc_bitmap;
-
-    if (format != CAIRO_FORMAT_RGB24)
-       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_FORMAT));
-/* XXX handle these eventually
-       format != CAIRO_FORMAT_A8 ||
-       format != CAIRO_FORMAT_A1)
-*/
-
-    if (!hdc) {
-       screen_dc = GetDC (NULL);
-       hdc = screen_dc;
-    } else {
-       screen_dc = NULL;
-    }
-
-    ddb_dc = CreateCompatibleDC (hdc);
-    if (ddb_dc == NULL) {
-       new_surf = (cairo_win32_surface_t*) _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
-       goto FINISH;
-    }
-
-    ddb = CreateCompatibleBitmap (hdc, width, height);
-    if (ddb == NULL) {
-       DeleteDC (ddb_dc);
-
-       /* Note that if an app actually does hit this out of memory
-        * condition, it's going to have lots of other issues, as
-        * video memory is probably exhausted.  However, it can often
-        * continue using DIBs instead of DDBs.
-        */
-       new_surf = (cairo_win32_surface_t*) _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
-       goto FINISH;
-    }
-
-    saved_dc_bitmap = SelectObject (ddb_dc, ddb);
-
-    new_surf = (cairo_win32_surface_t*) cairo_win32_surface_create (ddb_dc);
-    new_surf->bitmap = ddb;
-    new_surf->saved_dc_bitmap = saved_dc_bitmap;
-    new_surf->is_dib = FALSE;
-
-FINISH:
-    if (screen_dc)
-       ReleaseDC (NULL, screen_dc);
-
-    return (cairo_surface_t*) new_surf;
-}
-
-/**
- * _cairo_surface_is_win32:
- * @surface: a #cairo_surface_t
- *
- * Checks if a surface is a win32 surface.  This will
- * return False if this is a win32 printing surface; use
- * _cairo_surface_is_win32_printing() to check for that.
- *
- * Return value: True if the surface is an win32 surface
- **/
-int
-_cairo_surface_is_win32 (cairo_surface_t *surface)
-{
-    return surface->backend == &cairo_win32_surface_backend;
-}
-
-/**
- * cairo_win32_surface_get_dc
- * @surface: a #cairo_surface_t
- *
- * Returns the HDC associated with this surface, or %NULL if none.
- * Also returns %NULL if the surface is not a win32 surface.
- *
- * A call to cairo_surface_flush() is required before using the HDC to
- * ensure that all pending drawing operations are finished and to
- * restore any temporary modification cairo has made to its state. A
- * call to cairo_surface_mark_dirty() is required after the state or
- * the content of the HDC has been modified.
- *
- * Return value: HDC or %NULL if no HDC available.
- *
- * Since: 1.2
- **/
-HDC
-cairo_win32_surface_get_dc (cairo_surface_t *surface)
-{
-    cairo_win32_surface_t *winsurf;
-
-    if (_cairo_surface_is_win32 (surface)){
-       winsurf = (cairo_win32_surface_t *) surface;
-
-       return winsurf->dc;
-    }
-
-    if (_cairo_surface_is_paginated (surface)) {
-       cairo_surface_t *target;
-
-       target = _cairo_paginated_surface_get_target (surface);
-
-       if (_cairo_surface_is_win32_printing (target)) {
-           winsurf = (cairo_win32_surface_t *) target;
-
-           return winsurf->dc;
-       }
-    }
-
-    return NULL;
-}
-
-/**
- * cairo_win32_surface_get_image
- * @surface: a #cairo_surface_t
- *
- * Returns a #cairo_surface_t image surface that refers to the same bits
- * as the DIB of the Win32 surface.  If the passed-in win32 surface
- * is not a DIB surface, %NULL is returned.
- *
- * Return value: a #cairo_surface_t (owned by the win32 #cairo_surface_t),
- * or %NULL if the win32 surface is not a DIB.
- *
- * Since: 1.4
- */
-cairo_surface_t *
-cairo_win32_surface_get_image (cairo_surface_t *surface)
-{
-    if (!_cairo_surface_is_win32(surface))
-       return NULL;
-
-    return ((cairo_win32_surface_t*)surface)->image;
-}
-
-static const cairo_surface_backend_t cairo_win32_surface_backend = {
-    CAIRO_SURFACE_TYPE_WIN32,
-    _cairo_win32_surface_finish,
-
-    _cairo_default_context_create,
-
-    _cairo_win32_surface_create_similar,
-    NULL,
-    _cairo_win32_surface_map_to_image,
-    _cairo_win32_surface_unmap_image,
-
-    _cairo_win32_surface_acquire_source_image,
-    _cairo_win32_surface_release_source_image,
-    NULL,  /* snapshot */
-
-    NULL, /* copy_page */
-    NULL, /* show_page */
-
-    _cairo_win32_surface_get_extents,
-    NULL, /* get_font_options */
-
-    _cairo_win32_surface_flush,
-    NULL, /* mark_dirty_rectangle */
-
-    NULL, /* paint */
-    NULL, /* mask */
-    NULL, /* stroke */
-    NULL, /* fill */
-    NULL, /* fill/stroke */
-    _cairo_win32_surface_show_glyphs,
-};
-
-/* Notes:
- *
- * Win32 alpha-understanding functions
- *
- * BitBlt - will copy full 32 bits from a 32bpp DIB to result
- *          (so it's safe to use for ARGB32->ARGB32 SOURCE blits)
- *          (but not safe going RGB24->ARGB32, if RGB24 is also represented
- *           as a 32bpp DIB, since the alpha isn't discarded!)
- *
- * AlphaBlend - if both the source and dest have alpha, even if AC_SRC_ALPHA isn't set,
- *              it will still copy over the src alpha, because the SCA value (255) will be
- *              multiplied by all the src components.
- */
-
-
-cairo_int_status_t
-_cairo_win32_save_initial_clip (HDC hdc, cairo_win32_surface_t *surface)
-{
-    RECT rect;
-    int clipBoxType;
-    int gm;
-    XFORM saved_xform;
-
-    /* GetClipBox/GetClipRgn and friends interact badly with a world transform
-     * set.  GetClipBox returns values in logical (transformed) coordinates;
-     * it's unclear what GetClipRgn returns, because the region is empty in the
-     * case of a SIMPLEREGION clip, but I assume device (untransformed) coordinates.
-     * Similarly, IntersectClipRect works in logical units, whereas SelectClipRgn
-     * works in device units.
-     *
-     * So, avoid the whole mess and get rid of the world transform
-     * while we store our initial data and when we restore initial coordinates.
-     *
-     * XXX we may need to modify x/y by the ViewportOrg or WindowOrg
-     * here in GM_COMPATIBLE; unclear.
-     */
-    gm = GetGraphicsMode (hdc);
-    if (gm == GM_ADVANCED) {
-       GetWorldTransform (hdc, &saved_xform);
-       ModifyWorldTransform (hdc, NULL, MWT_IDENTITY);
-    }
-
-    clipBoxType = GetClipBox (hdc, &rect);
-    if (clipBoxType == ERROR) {
-       _cairo_win32_print_gdi_error ("cairo_win32_surface_create");
-       SetGraphicsMode (hdc, gm);
-       /* XXX: Can we make a more reasonable guess at the error cause here? */
-       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-    }
-
-    surface->clip_rect.x = rect.left;
-    surface->clip_rect.y = rect.top;
-    surface->clip_rect.width = rect.right - rect.left;
-    surface->clip_rect.height = rect.bottom - rect.top;
-
-    surface->initial_clip_rgn = NULL;
-    surface->had_simple_clip = FALSE;
-
-    if (clipBoxType == COMPLEXREGION) {
-       surface->initial_clip_rgn = CreateRectRgn (0, 0, 0, 0);
-       if (GetClipRgn (hdc, surface->initial_clip_rgn) <= 0) {
-           DeleteObject(surface->initial_clip_rgn);
-           surface->initial_clip_rgn = NULL;
-       }
-    } else if (clipBoxType == SIMPLEREGION) {
-       surface->had_simple_clip = TRUE;
-    }
-
-    if (gm == GM_ADVANCED)
-       SetWorldTransform (hdc, &saved_xform);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-cairo_int_status_t
-_cairo_win32_restore_initial_clip (cairo_win32_surface_t *surface)
-{
-    cairo_int_status_t status = CAIRO_STATUS_SUCCESS;
-
-    XFORM saved_xform;
-    int gm = GetGraphicsMode (surface->dc);
-    if (gm == GM_ADVANCED) {
-       GetWorldTransform (surface->dc, &saved_xform);
-       ModifyWorldTransform (surface->dc, NULL, MWT_IDENTITY);
-    }
-
-    /* initial_clip_rgn will either be a real region or NULL (which means reset to no clip region) */
-    SelectClipRgn (surface->dc, surface->initial_clip_rgn);
-
-    if (surface->had_simple_clip) {
-       /* then if we had a simple clip, intersect */
-       IntersectClipRect (surface->dc,
-                          surface->clip_rect.x,
-                          surface->clip_rect.y,
-                          surface->clip_rect.x + surface->clip_rect.width,
-                          surface->clip_rect.y + surface->clip_rect.height);
-    }
-
-    if (gm == GM_ADVANCED)
-       SetWorldTransform (surface->dc, &saved_xform);
-
-    return status;
-}
-
-void
-_cairo_win32_debug_dump_hrgn (HRGN rgn, char *header)
-{
-    RGNDATA *rd;
-    unsigned int z;
-
-    if (header)
-       fprintf (stderr, "%s\n", header);
-
-    if (rgn == NULL) {
-       fprintf (stderr, " NULL\n");
-    }
-
-    z = GetRegionData(rgn, 0, NULL);
-    rd = (RGNDATA*) malloc(z);
-    z = GetRegionData(rgn, z, rd);
-
-    fprintf (stderr, " %ld rects, bounds: %ld %ld %ld %ld\n",
-            rd->rdh.nCount,
-            rd->rdh.rcBound.left,
-            rd->rdh.rcBound.top,
-            rd->rdh.rcBound.right - rd->rdh.rcBound.left,
-            rd->rdh.rcBound.bottom - rd->rdh.rcBound.top);
-
-    for (z = 0; z < rd->rdh.nCount; z++) {
-       RECT r = ((RECT*)rd->Buffer)[z];
-       fprintf (stderr, " [%d]: [%ld %ld %ld %ld]\n",
-                z, r.left, r.top, r.right - r.left, r.bottom - r.top);
-    }
-
-    free(rd);
-    fflush (stderr);
-}
index 0eb2b84..ae7c023 100644 (file)
@@ -159,20 +159,20 @@ _cairo_xcb_connection_put_image (cairo_xcb_connection_t *connection,
     }
 }
 
-void
-_cairo_xcb_connection_put_subimage (cairo_xcb_connection_t *connection,
-                                   xcb_drawable_t dst,
-                                   xcb_gcontext_t gc,
-                                   int16_t src_x,
-                                   int16_t src_y,
-                                   uint16_t width,
-                                   uint16_t height,
-                                   uint16_t cpp,
-                                   int stride,
-                                   int16_t dst_x,
-                                   int16_t dst_y,
-                                   uint8_t depth,
-                                   void *_data)
+static void
+_cairo_xcb_connection_do_put_subimage (cairo_xcb_connection_t *connection,
+                                      xcb_drawable_t dst,
+                                      xcb_gcontext_t gc,
+                                      int16_t src_x,
+                                      int16_t src_y,
+                                      uint16_t width,
+                                      uint16_t height,
+                                      uint16_t cpp,
+                                      int stride,
+                                      int16_t dst_x,
+                                      int16_t dst_y,
+                                      uint8_t depth,
+                                      void *_data)
 {
     xcb_protocol_request_t xcb_req = {
        0 /* count */,
@@ -239,6 +239,50 @@ _cairo_xcb_connection_put_subimage (cairo_xcb_connection_t *connection,
        free (vec);
 }
 
+void
+_cairo_xcb_connection_put_subimage (cairo_xcb_connection_t *connection,
+                                   xcb_drawable_t dst,
+                                   xcb_gcontext_t gc,
+                                   int16_t src_x,
+                                   int16_t src_y,
+                                   uint16_t width,
+                                   uint16_t height,
+                                   uint16_t cpp,
+                                   int stride,
+                                   int16_t dst_x,
+                                   int16_t dst_y,
+                                   uint8_t depth,
+                                   void *_data)
+{
+    const uint32_t req_size = sizeof(xcb_put_image_request_t);
+    uint32_t length = height * cpp * width;
+    uint32_t len = (req_size + length) >> 2;
+
+    if (len < connection->maximum_request_length) {
+       _cairo_xcb_connection_do_put_subimage (connection, dst, gc, src_x, src_y,
+                       width, height, cpp, stride, dst_x, dst_y, depth, _data);
+    } else {
+       int rows = (connection->maximum_request_length - req_size - 4) / (cpp * width);
+       if (rows > 0) {
+           do {
+               if (rows > height)
+                   rows = height;
+
+               length = rows * cpp * width;
+
+               _cairo_xcb_connection_do_put_subimage (connection, dst, gc, src_x, src_y,
+                       width, rows, cpp, stride, dst_x, dst_y, depth, _data);
+
+               height -= rows;
+               dst_y += rows;
+               _data = (char *) _data + stride * rows;
+           } while (height);
+       } else {
+           ASSERT_NOT_REACHED;
+       }
+    }
+}
+
 cairo_status_t
 _cairo_xcb_connection_get_image (cairo_xcb_connection_t *connection,
                                 xcb_drawable_t src,
index 8d95509..83f1d48 100644 (file)
@@ -43,6 +43,7 @@ _cairo_xcb_connection_render_create_picture (cairo_xcb_connection_t  *connection
                                             uint32_t                 value_mask,
                                             uint32_t                *value_list)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_create_picture (connection->xcb_connection, picture, drawable,
                               format, value_mask, value_list);
 }
@@ -53,6 +54,7 @@ _cairo_xcb_connection_render_change_picture (cairo_xcb_connection_t     *connect
                                             uint32_t              value_mask,
                                             uint32_t             *value_list)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_change_picture (connection->xcb_connection, picture,
                               value_mask, value_list);
 }
@@ -65,6 +67,7 @@ _cairo_xcb_connection_render_set_picture_clip_rectangles (cairo_xcb_connection_t
                                                          uint32_t               rectangles_len,
                                                          xcb_rectangle_t *rectangles)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_set_picture_clip_rectangles (connection->xcb_connection, picture,
                                            clip_x_origin, clip_y_origin,
                                            rectangles_len, rectangles);
@@ -74,6 +77,7 @@ void
 _cairo_xcb_connection_render_free_picture (cairo_xcb_connection_t *connection,
                                           xcb_render_picture_t  picture)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_free_picture (connection->xcb_connection, picture);
     _cairo_xcb_connection_put_xid (connection, picture);
 }
@@ -93,6 +97,7 @@ _cairo_xcb_connection_render_composite (cairo_xcb_connection_t     *connection,
                                        uint16_t              width,
                                        uint16_t              height)
 {
+    assert (connection->flags & CAIRO_XCB_RENDER_HAS_COMPOSITE);
     xcb_render_composite (connection->xcb_connection, op, src, mask, dst,
                          src_x, src_y, mask_x, mask_y, dst_x, dst_y, width, height);
 }
@@ -108,6 +113,7 @@ _cairo_xcb_connection_render_trapezoids (cairo_xcb_connection_t *connection,
                                         uint32_t                      traps_len,
                                         xcb_render_trapezoid_t *traps)
 {
+    assert (connection->flags & CAIRO_XCB_RENDER_HAS_COMPOSITE_TRAPEZOIDS);
     xcb_render_trapezoids (connection->xcb_connection, op, src, dst,
                           mask_format, src_x, src_y, traps_len, traps);
 }
@@ -117,6 +123,7 @@ _cairo_xcb_connection_render_create_glyph_set (cairo_xcb_connection_t       *connectio
                                               xcb_render_glyphset_t     id,
                                               xcb_render_pictformat_t  format)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_create_glyph_set (connection->xcb_connection, id, format);
 }
 
@@ -124,6 +131,7 @@ void
 _cairo_xcb_connection_render_free_glyph_set (cairo_xcb_connection_t      *connection,
                                             xcb_render_glyphset_t  glyphset)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_free_glyph_set (connection->xcb_connection, glyphset);
     _cairo_xcb_connection_put_xid (connection, glyphset);
 }
@@ -137,6 +145,7 @@ _cairo_xcb_connection_render_add_glyphs (cairo_xcb_connection_t             *con
                                         uint32_t                      data_len,
                                         uint8_t                *data)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_add_glyphs (connection->xcb_connection, glyphset, num_glyphs,
                                   glyphs_id, glyphs, data_len, data);
 }
@@ -147,6 +156,7 @@ _cairo_xcb_connection_render_free_glyphs (cairo_xcb_connection_t         *connec
                                          uint32_t                  num_glyphs,
                                          xcb_render_glyph_t *glyphs)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_free_glyphs (connection->xcb_connection, glyphset, num_glyphs, glyphs);
 }
 
@@ -162,6 +172,7 @@ _cairo_xcb_connection_render_composite_glyphs_8 (cairo_xcb_connection_t        *
                                                 uint32_t                 glyphcmds_len,
                                                 uint8_t           *glyphcmds)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_composite_glyphs_8 (connection->xcb_connection, op, src, dst, mask_format,
                                   glyphset, src_x, src_y, glyphcmds_len, glyphcmds);
 }
@@ -178,6 +189,7 @@ _cairo_xcb_connection_render_composite_glyphs_16 (cairo_xcb_connection_t
                                                  uint32_t                 glyphcmds_len,
                                                  uint8_t           *glyphcmds)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_composite_glyphs_16 (connection->xcb_connection, op, src, dst, mask_format,
                                    glyphset, src_x, src_y, glyphcmds_len, glyphcmds);
 }
@@ -194,6 +206,7 @@ _cairo_xcb_connection_render_composite_glyphs_32 (cairo_xcb_connection_t
                                                  uint32_t                 glyphcmds_len,
                                                  uint8_t           *glyphcmds)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_RENDER);
     xcb_render_composite_glyphs_32 (connection->xcb_connection, op, src, dst, mask_format,
                                    glyphset, src_x, src_y, glyphcmds_len, glyphcmds);
 }
@@ -206,6 +219,7 @@ _cairo_xcb_connection_render_fill_rectangles (cairo_xcb_connection_t      *conne
                                              uint32_t               num_rects,
                                              xcb_rectangle_t *rects)
 {
+    assert (connection->flags & CAIRO_XCB_RENDER_HAS_FILL_RECTANGLES);
     xcb_render_fill_rectangles (connection->xcb_connection, op, dst, color,
                                num_rects, rects);
 }
@@ -215,6 +229,7 @@ _cairo_xcb_connection_render_set_picture_transform (cairo_xcb_connection_t
                                                    xcb_render_picture_t    picture,
                                                    xcb_render_transform_t  *transform)
 {
+    assert (connection->flags & CAIRO_XCB_RENDER_HAS_PICTURE_TRANSFORM);
     xcb_render_set_picture_transform (connection->xcb_connection, picture, *transform);
 }
 
@@ -222,10 +237,13 @@ void
 _cairo_xcb_connection_render_set_picture_filter (cairo_xcb_connection_t         *connection,
                                                 xcb_render_picture_t      picture,
                                                 uint16_t                  filter_len,
-                                                char               *filter)
+                                                char               *filter,
+                                                uint32_t            values_len,
+                                                xcb_render_fixed_t *values)
 {
+    assert (connection->flags & CAIRO_XCB_RENDER_HAS_FILTERS);
     xcb_render_set_picture_filter (connection->xcb_connection, picture,
-                                  filter_len, filter, 0, NULL);
+                                  filter_len, filter, values_len, values);
 }
 
 void
@@ -233,6 +251,7 @@ _cairo_xcb_connection_render_create_solid_fill (cairo_xcb_connection_t     *conn
                                                xcb_render_picture_t  picture,
                                                xcb_render_color_t    color)
 {
+    assert (connection->flags & CAIRO_XCB_RENDER_HAS_GRADIENTS);
     xcb_render_create_solid_fill (connection->xcb_connection, picture, color);
 }
 
@@ -245,6 +264,7 @@ _cairo_xcb_connection_render_create_linear_gradient (cairo_xcb_connection_t
                                                     xcb_render_fixed_t *stops,
                                                     xcb_render_color_t *colors)
 {
+    assert (connection->flags & CAIRO_XCB_RENDER_HAS_GRADIENTS);
     xcb_render_create_linear_gradient (connection->xcb_connection, picture,
                                       p1, p2, num_stops, stops, colors);
 }
@@ -260,6 +280,7 @@ _cairo_xcb_connection_render_create_radial_gradient (cairo_xcb_connection_t
                                                     xcb_render_fixed_t *stops,
                                                     xcb_render_color_t *colors)
 {
+    assert (connection->flags & CAIRO_XCB_RENDER_HAS_GRADIENTS);
     xcb_render_create_radial_gradient (connection->xcb_connection, picture,
                                       inner, outer, inner_radius, outer_radius,
                                       num_stops, stops, colors);
@@ -274,6 +295,7 @@ _cairo_xcb_connection_render_create_conical_gradient (cairo_xcb_connection_t
                                                      xcb_render_fixed_t *stops,
                                                      xcb_render_color_t *colors)
 {
+    assert (connection->flags & CAIRO_XCB_RENDER_HAS_GRADIENTS);
     xcb_render_create_conical_gradient (connection->xcb_connection, picture,
                                       center, angle, num_stops, stops, colors);
 }
index 2ba9583..8c1d506 100644 (file)
@@ -44,6 +44,7 @@ _cairo_xcb_connection_shm_attach (cairo_xcb_connection_t *connection,
                                  cairo_bool_t readonly)
 {
     uint32_t segment = _cairo_xcb_connection_get_xid (connection);
+    assert (connection->flags & CAIRO_XCB_HAS_SHM);
     xcb_shm_attach (connection->xcb_connection, segment, id, readonly);
     return segment;
 }
@@ -64,6 +65,7 @@ _cairo_xcb_connection_shm_put_image (cairo_xcb_connection_t *connection,
                                     uint32_t shm,
                                     uint32_t offset)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_SHM);
     xcb_shm_put_image (connection->xcb_connection, dst, gc, total_width, total_height,
                       src_x, src_y, width, height, dst_x, dst_y, depth,
                       XCB_IMAGE_FORMAT_Z_PIXMAP, 0, shm, offset);
@@ -82,6 +84,7 @@ _cairo_xcb_connection_shm_get_image (cairo_xcb_connection_t *connection,
     xcb_shm_get_image_reply_t *reply;
     xcb_generic_error_t *error;
 
+    assert (connection->flags & CAIRO_XCB_HAS_SHM);
     reply = xcb_shm_get_image_reply (connection->xcb_connection,
                                     xcb_shm_get_image (connection->xcb_connection,
                                                        src,
@@ -106,6 +109,7 @@ void
 _cairo_xcb_connection_shm_detach (cairo_xcb_connection_t *connection,
                                  uint32_t segment)
 {
+    assert (connection->flags & CAIRO_XCB_HAS_SHM);
     xcb_shm_detach (connection->xcb_connection, segment);
     _cairo_xcb_connection_put_xid (connection, segment);
 }
index b48add1..78bc9a1 100644 (file)
@@ -675,6 +675,14 @@ _cairo_xcb_connection_get (xcb_connection_t *xcb_connection)
     xcb_prefetch_maximum_request_length (xcb_connection);
 
     connection->root = xcb_get_setup (xcb_connection);
+    if (connection->root == NULL) {
+       _cairo_hash_table_destroy (connection->xrender_formats);
+       CAIRO_MUTEX_FINI (connection->device.mutex);
+       _cairo_xcb_connection_destroy (connection);
+       connection = NULL;
+       goto unlock;
+    }
+
     connection->render = NULL;
     ext = xcb_get_extension_data (xcb_connection, &xcb_render_id);
     if (ext != NULL && ext->present) {
index 1df5a11..d162d73 100644 (file)
@@ -39,6 +39,8 @@
 
 #include "cairo-xcb.h"
 
+#include "cairoint.h"
+
 #include "cairo-cache-private.h"
 #include "cairo-compiler-private.h"
 #include "cairo-device-private.h"
@@ -384,93 +386,38 @@ _cairo_xcb_surface_get_extents (void *abstract_surface,
                                cairo_rectangle_int_t *extents);
 
 cairo_private cairo_int_status_t
-_cairo_xcb_surface_cairo_paint (cairo_xcb_surface_t    *surface,
-                               cairo_operator_t         op,
-                               const cairo_pattern_t   *source,
-                               const cairo_clip_t              *clip);
-
-cairo_private cairo_int_status_t
-_cairo_xcb_surface_cairo_mask (cairo_xcb_surface_t     *surface,
-                              cairo_operator_t          op,
-                              const cairo_pattern_t    *source,
-                              const cairo_pattern_t    *mask,
-                              const cairo_clip_t               *clip);
-
-cairo_private cairo_int_status_t
-_cairo_xcb_surface_cairo_stroke (cairo_xcb_surface_t   *surface,
-                                cairo_operator_t        op,
-                                const cairo_pattern_t  *source,
-                                const cairo_path_fixed_t       *path,
-                                const cairo_stroke_style_t     *style,
-                                const cairo_matrix_t           *ctm,
-                                const cairo_matrix_t           *ctm_inverse,
-                                double                  tolerance,
-                                cairo_antialias_t       antialias,
-                                const cairo_clip_t             *clip);
-
-cairo_private cairo_int_status_t
-_cairo_xcb_surface_cairo_fill (cairo_xcb_surface_t     *surface,
-                              cairo_operator_t          op,
-                              const cairo_pattern_t    *source,
-                              const cairo_path_fixed_t *path,
-                              cairo_fill_rule_t         fill_rule,
-                              double                    tolerance,
-                              cairo_antialias_t         antialias,
-                              const cairo_clip_t               *clip);
+_cairo_xcb_render_compositor_paint (const cairo_compositor_t     *compositor,
+                                   cairo_composite_rectangles_t *extents);
 
 cairo_private cairo_int_status_t
-_cairo_xcb_surface_cairo_glyphs (cairo_xcb_surface_t   *surface,
-                                cairo_operator_t                op,
-                                const cairo_pattern_t  *source,
-                                cairo_scaled_font_t    *scaled_font,
-                                cairo_glyph_t          *glyphs,
-                                int                     num_glyphs,
-                                const cairo_clip_t             *clip);
+_cairo_xcb_render_compositor_mask (const cairo_compositor_t     *compositor,
+                                  cairo_composite_rectangles_t *extents);
 
 cairo_private cairo_int_status_t
-_cairo_xcb_surface_render_paint (cairo_xcb_surface_t   *surface,
-                                cairo_operator_t        op,
-                                const cairo_pattern_t  *source,
-                                cairo_composite_rectangles_t *composite);
+_cairo_xcb_render_compositor_stroke (const cairo_compositor_t     *compositor,
+                                    cairo_composite_rectangles_t *extents,
+                                    const cairo_path_fixed_t     *path,
+                                    const cairo_stroke_style_t   *style,
+                                    const cairo_matrix_t         *ctm,
+                                    const cairo_matrix_t         *ctm_inverse,
+                                    double                        tolerance,
+                                    cairo_antialias_t             antialias);
 
 cairo_private cairo_int_status_t
-_cairo_xcb_surface_render_mask (cairo_xcb_surface_t    *surface,
-                               cairo_operator_t                 op,
-                               const cairo_pattern_t   *source,
-                               const cairo_pattern_t   *mask,
-                               cairo_composite_rectangles_t *composite);
+_cairo_xcb_render_compositor_fill (const cairo_compositor_t     *compositor,
+                                  cairo_composite_rectangles_t *extents,
+                                  const cairo_path_fixed_t     *path,
+                                  cairo_fill_rule_t             fill_rule,
+                                  double                        tolerance,
+                                  cairo_antialias_t             antialias);
 
 cairo_private cairo_int_status_t
-_cairo_xcb_surface_render_stroke (cairo_xcb_surface_t          *surface,
-                                 cairo_operator_t               op,
-                                 const cairo_pattern_t         *source,
-                                 const cairo_path_fixed_t      *path,
-                                 const cairo_stroke_style_t    *style,
-                                 const cairo_matrix_t          *ctm,
-                                 const cairo_matrix_t          *ctm_inverse,
-                                 double                         tolerance,
-                                 cairo_antialias_t              antialias,
-                                 cairo_composite_rectangles_t *composite);
-
-cairo_private cairo_int_status_t
-_cairo_xcb_surface_render_fill (cairo_xcb_surface_t    *surface,
-                               cairo_operator_t         op,
-                               const cairo_pattern_t   *source,
-                               const cairo_path_fixed_t*path,
-                               cairo_fill_rule_t        fill_rule,
-                               double                   tolerance,
-                               cairo_antialias_t        antialias,
-                               cairo_composite_rectangles_t *composite);
-
-cairo_private cairo_int_status_t
-_cairo_xcb_surface_render_glyphs (cairo_xcb_surface_t  *surface,
-                                 cairo_operator_t               op,
-                                 const cairo_pattern_t *source,
-                                 cairo_scaled_font_t   *scaled_font,
-                                 cairo_glyph_t         *glyphs,
-                                 int                    num_glyphs,
-                                 cairo_composite_rectangles_t *composite,
-                                 cairo_bool_t overlap);
+_cairo_xcb_render_compositor_glyphs (const cairo_compositor_t     *compositor,
+                                    cairo_composite_rectangles_t *extents,
+                                    cairo_scaled_font_t          *scaled_font,
+                                    cairo_glyph_t                *glyphs,
+                                    int                           num_glyphs,
+                                    cairo_bool_t                  overlap);
 cairo_private void
 _cairo_xcb_surface_scaled_font_fini (cairo_scaled_font_t *scaled_font);
 
@@ -766,7 +713,9 @@ cairo_private void
 _cairo_xcb_connection_render_set_picture_filter (cairo_xcb_connection_t         *connection,
                                                 xcb_render_picture_t      picture,
                                                 uint16_t                  filter_len,
-                                                char                     *filter);
+                                                char                     *filter,
+                                                uint32_t                  values_len,
+                                                xcb_render_fixed_t       *values);
 
 cairo_private void
 _cairo_xcb_connection_render_create_solid_fill (cairo_xcb_connection_t     *connection,
@@ -801,6 +750,12 @@ _cairo_xcb_connection_render_create_conical_gradient (cairo_xcb_connection_t
                                                      uint32_t                  num_stops,
                                                      xcb_render_fixed_t *stops,
                                                      xcb_render_color_t *colors);
+
+cairo_private cairo_xcb_picture_t *
+_cairo_xcb_gaussian_filter (cairo_xcb_surface_t *target,
+                           cairo_xcb_picture_t *orig_pict,
+                           const cairo_pattern_t *pattern);
+
 #if CAIRO_HAS_XLIB_XCB_FUNCTIONS
 slim_hidden_proto (cairo_xcb_surface_create);
 slim_hidden_proto (cairo_xcb_surface_create_for_bitmap);
index d655e62..2be2dac 100644 (file)
@@ -40,6 +40,7 @@
 
 #include "cairo-xcb-private.h"
 #include "cairo-list-inline.h"
+#include "cairo-mempool-private.h"
 
 #include <xcb/shm.h>
 #include <sys/ipc.h>
@@ -59,366 +60,24 @@ typedef enum {
     PENDING_POLL
 } shm_wait_type_t;
 
-struct _cairo_xcb_shm_mem_block {
-    unsigned int bits;
-    cairo_list_t link;
-};
-
 struct _cairo_xcb_shm_mem_pool {
     int shmid;
     uint32_t shmseg;
+    void *shm;
 
-    char *base;
-    unsigned int nBlocks;
-    cairo_xcb_shm_mem_block_t *blocks;
-    cairo_list_t free[32];
-    unsigned char *map;
-
-    unsigned int min_bits;     /* Minimum block size is 1 << min_bits */
-    unsigned int num_sizes;
-
-    size_t free_bytes;
-    size_t max_bytes;
-    unsigned int max_free_bits;
+    cairo_mempool_t mem;
 
     cairo_list_t link;
 };
 
-#define BITTEST(p, n)  ((p)->map[(n) >> 3] &   (128 >> ((n) & 7)))
-#define BITSET(p, n)   ((p)->map[(n) >> 3] |=  (128 >> ((n) & 7)))
-#define BITCLEAR(p, n) ((p)->map[(n) >> 3] &= ~(128 >> ((n) & 7)))
-
-static void
-clear_bits (cairo_xcb_shm_mem_pool_t *pi, size_t first, size_t last)
-{
-    size_t i, n = last;
-    size_t first_full = (first + 7) & ~7;
-    size_t past_full = last & ~7;
-    size_t bytes;
-
-    if (n > first_full)
-       n = first_full;
-    for (i = first; i < n; i++)
-         BITCLEAR (pi, i);
-
-    if (past_full > first_full) {
-       bytes = past_full - first_full;
-       bytes = bytes >> 3;
-       memset (pi->map + (first_full >> 3), 0, bytes);
-    }
-
-    if (past_full < n)
-       past_full = n;
-    for (i = past_full; i < last; i++)
-       BITCLEAR (pi, i);
-}
-
-static void
-free_bits (cairo_xcb_shm_mem_pool_t *pi,
-          size_t start,
-          unsigned int bits,
-          cairo_bool_t clear)
-{
-    cairo_xcb_shm_mem_block_t *block;
-
-    if (clear)
-       clear_bits (pi, start, start + (1 << bits));
-
-    block = pi->blocks + start;
-    block->bits = bits;
-
-    cairo_list_add (&block->link, &pi->free[bits]);
-
-    pi->free_bytes += 1 << (bits + pi->min_bits);
-    if (bits > pi->max_free_bits)
-       pi->max_free_bits = bits;
-}
-
-/* Add a chunk to the free list */
-static void
-free_blocks (cairo_xcb_shm_mem_pool_t *pi,
-            size_t first,
-            size_t last,
-            cairo_bool_t clear)
-{
-    size_t i;
-    size_t bits = 0;
-    size_t len = 1;
-
-    i = first;
-    while (i < last) {
-        /* To avoid cost quadratic in the number of different
-        * blocks produced from this chunk of store, we have to
-        * use the size of the previous block produced from this
-        * chunk as the starting point to work out the size of the
-        * next block we can produce. If you look at the binary
-        * representation of the starting points of the blocks
-        * produced, you can see that you first of all increase the
-        * size of the blocks produced up to some maximum as the
-        * address dealt with gets offsets added on which zap out
-        * low order bits, then decrease as the low order bits of the
-        * final block produced get added in. E.g. as you go from
-        * 001 to 0111 you generate blocks
-        * of size 001 at 001 taking you to 010
-        * of size 010 at 010 taking you to 100
-        * of size 010 at 100 taking you to 110
-        * of size 001 at 110 taking you to 111
-        * So the maximum total cost of the loops below this comment
-        * is one trip from the lowest blocksize to the highest and
-        * back again.
-        */
-       while (bits < pi->num_sizes - 1) {
-           size_t next_bits = bits + 1;
-           size_t next_len = len << 1;
-
-           if (i + next_bits > last) {
-               /* off end of chunk to be freed */
-               break;
-           }
-
-           if (i & (next_len - 1)) /* block would not be on boundary */
-               break;
-
-           bits = next_bits;
-           len = next_len;
-       }
-
-       do {
-           if (i + len > last) /* off end of chunk to be freed */
-               continue;
-
-           if (i & (len - 1)) /* block would not be on boundary */
-               continue;
-
-           /* OK */
-           break;
-
-           bits--;
-           len >>=1;
-       } while (len > 0);
-
-       if (len == 0)
-           break;
-
-       free_bits (pi, i, bits, clear);
-       i += len;
-    }
-}
-
-static cairo_status_t
-_cairo_xcb_shm_mem_pool_init (cairo_xcb_shm_mem_pool_t *pi,
-                             size_t bytes,
-                             unsigned int min_bits,
-                             unsigned int num_sizes)
-{
-    size_t setBits;
-    int i;
-
-    assert ((((unsigned long) pi->base) & ((1 << min_bits) - 1)) == 0);
-    assert (num_sizes < ARRAY_LENGTH (pi->free));
-
-    pi->free_bytes = 0;
-    pi->max_bytes = bytes;
-    pi->max_free_bits = 0;
-
-    setBits = bytes >> min_bits;
-    pi->blocks = calloc (setBits, sizeof (cairo_xcb_shm_mem_block_t));
-    if (pi->blocks == NULL)
-       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
-    pi->nBlocks = setBits;
-    pi->min_bits = min_bits;
-    pi->num_sizes = num_sizes;
-
-    for (i = 0; i < ARRAY_LENGTH (pi->free); i++)
-       cairo_list_init (&pi->free[i]);
-
-    pi->map = malloc ((setBits + 7) >> 3);
-    if (pi->map == NULL) {
-       free (pi->blocks);
-       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
-    }
-
-    memset (pi->map, -1, (setBits + 7) >> 3);
-    clear_bits (pi, 0, setBits);
-
-    /* Now add all blocks to the free list */
-    free_blocks (pi, 0, setBits, 1);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_xcb_shm_mem_block_t *
-get_buddy (cairo_xcb_shm_mem_pool_t *pi,
-          size_t offset,
-          unsigned int bits)
-{
-    cairo_xcb_shm_mem_block_t *block;
-
-    assert (offset + (1 << bits) <= pi->nBlocks);
-
-    if (BITTEST (pi, offset + (1 << bits) - 1))
-       return NULL; /* buddy is allocated */
-
-    block = pi->blocks + offset;
-    if (block->bits != bits)
-       return NULL; /* buddy is partially allocated */
-
-    return block;
-}
-
-static void
-merge_buddies (cairo_xcb_shm_mem_pool_t *pi,
-              cairo_xcb_shm_mem_block_t *block,
-              unsigned int max_bits)
-{
-    size_t block_offset = block - pi->blocks;
-    unsigned int bits = block->bits;
-
-    while (bits < max_bits - 1) {
-       /* while you can, merge two blocks and get a legal block size */
-       size_t buddy_offset = block_offset ^ (1 << bits);
-
-       block = get_buddy (pi, buddy_offset, bits);
-       if (block == NULL)
-           break;
-
-       cairo_list_del (&block->link);
-
-       /* Merged block starts at buddy */
-       if (buddy_offset < block_offset)
-           block_offset = buddy_offset;
-
-       bits++;
-    }
-
-    block = pi->blocks + block_offset;
-    block->bits = bits;
-    cairo_list_add (&block->link, &pi->free[bits]);
-
-    if (bits > pi->max_free_bits)
-       pi->max_free_bits = bits;
-}
-
-/* attempt to merge all available buddies up to a particular size */
-static unsigned int
-merge_bits (cairo_xcb_shm_mem_pool_t *pi,
-           unsigned int max_bits)
-{
-    cairo_xcb_shm_mem_block_t *block, *buddy, *next;
-    unsigned int bits;
-
-    for (bits = 0; bits < max_bits - 1; bits++) {
-       cairo_list_foreach_entry_safe (block, next,
-                                      cairo_xcb_shm_mem_block_t,
-                                      &pi->free[bits],
-                                      link)
-       {
-           size_t buddy_offset = (block - pi->blocks) ^ (1 << bits);
-
-           buddy = get_buddy (pi, buddy_offset, bits);
-           if (buddy == NULL)
-               continue;
-
-           if (buddy == next) {
-               next = cairo_container_of (buddy->link.next,
-                                          cairo_xcb_shm_mem_block_t,
-                                          link);
-           }
-
-           cairo_list_del (&block->link);
-           merge_buddies (pi, block, max_bits);
-       }
-    }
-
-    return pi->max_free_bits;
-}
-
-/* find store for 1 << bits blocks */
-static void *
-buddy_malloc (cairo_xcb_shm_mem_pool_t *pi,
-             unsigned int bits)
-{
-    unsigned int b;
-    size_t offset;
-    size_t past;
-    cairo_xcb_shm_mem_block_t *block;
-
-    if (bits > pi->max_free_bits && bits > merge_bits (pi, bits))
-       return NULL;
-
-    /* Find a list with blocks big enough on it */
-    block = NULL;
-    for (b = bits; b <= pi->max_free_bits; b++) {
-       if (! cairo_list_is_empty (&pi->free[b])) {
-           block = cairo_list_first_entry (&pi->free[b],
-                                           cairo_xcb_shm_mem_block_t,
-                                           link);
-           break;
-       }
-    }
-    assert (block != NULL);
-
-    cairo_list_del (&block->link);
-
-    while (cairo_list_is_empty (&pi->free[pi->max_free_bits])) {
-       if (--pi->max_free_bits == 0)
-           break;
-    }
-
-    /* Mark end of allocated area */
-    offset = block - pi->blocks;
-    past = offset + (1 << bits);
-    BITSET (pi, past - 1);
-    block->bits = bits;
-
-    /* If we used a larger free block than we needed, free the rest */
-    pi->free_bytes -= 1 << (b + pi->min_bits);
-    free_blocks (pi, past, offset + (1 << b), 0);
-
-    return pi->base + ((block - pi->blocks) << pi->min_bits);
-}
-
-static void *
-_cairo_xcb_shm_mem_pool_malloc (cairo_xcb_shm_mem_pool_t *pi,
-                               size_t bytes)
-{
-    unsigned int bits;
-    size_t size;
-
-    size = 1 << pi->min_bits;
-    for (bits = 0; size < bytes; bits++)
-       size <<= 1;
-    if (bits >= pi->num_sizes)
-       return NULL;
-
-    return buddy_malloc (pi, bits);
-}
-
-static void
-_cairo_xcb_shm_mem_pool_free (cairo_xcb_shm_mem_pool_t *pi,
-                             char *storage)
-{
-    size_t block_offset;
-    cairo_xcb_shm_mem_block_t *block;
-
-    block_offset = (storage - pi->base) >> pi->min_bits;
-    block = pi->blocks + block_offset;
-
-    BITCLEAR (pi, block_offset + ((1 << block->bits) - 1));
-    pi->free_bytes += 1 << (block->bits + pi->min_bits);
-
-    merge_buddies (pi, block, pi->num_sizes);
-}
-
 static void
 _cairo_xcb_shm_mem_pool_destroy (cairo_xcb_shm_mem_pool_t *pool)
 {
-    shmdt (pool->base);
     cairo_list_del (&pool->link);
 
-    free (pool->map);
-    free (pool->blocks);
+    shmdt (pool->shm);
+    _cairo_mempool_fini (&pool->mem);
+
     free (pool);
 }
 
@@ -429,7 +88,7 @@ _cairo_xcb_shm_info_finalize (cairo_xcb_shm_info_t *shm_info)
 
     assert (CAIRO_MUTEX_IS_LOCKED (connection->shm_mutex));
 
-    _cairo_xcb_shm_mem_pool_free (shm_info->pool, shm_info->mem);
+    _cairo_mempool_free (&shm_info->pool->mem, shm_info->mem);
     _cairo_freepool_free (&connection->shm_info_freelist, shm_info);
 
     /* scan for old, unused pools - hold at least one in reserve */
@@ -444,7 +103,7 @@ _cairo_xcb_shm_info_finalize (cairo_xcb_shm_info_t *shm_info)
        cairo_list_foreach_entry_safe (pool, next, cairo_xcb_shm_mem_pool_t,
                                       &connection->shm_pools, link)
        {
-           if (pool->free_bytes == pool->max_bytes) {
+           if (pool->mem.free_bytes == pool->mem.max_bytes) {
                _cairo_xcb_connection_shm_detach (connection, pool->shmseg);
                _cairo_xcb_shm_mem_pool_destroy (pool);
            }
@@ -527,8 +186,8 @@ _cairo_xcb_connection_allocate_shm_info (cairo_xcb_connection_t *connection,
     cairo_list_foreach_entry_safe (pool, next, cairo_xcb_shm_mem_pool_t,
                                   &connection->shm_pools, link)
     {
-       if (pool->free_bytes > size) {
-           mem = _cairo_xcb_shm_mem_pool_malloc (pool, size);
+       if (pool->mem.free_bytes > size) {
+           mem = _cairo_mempool_alloc (&pool->mem, size);
            if (mem != NULL) {
                /* keep the active pools towards the front */
                cairo_list_move (&pool->link, &connection->shm_pools);
@@ -536,12 +195,12 @@ _cairo_xcb_connection_allocate_shm_info (cairo_xcb_connection_t *connection,
            }
        }
        /* scan for old, unused pools */
-       if (pool->free_bytes == pool->max_bytes) {
+       if (pool->mem.free_bytes == pool->mem.max_bytes) {
            _cairo_xcb_connection_shm_detach (connection,
                                              pool->shmseg);
            _cairo_xcb_shm_mem_pool_destroy (pool);
        } else {
-           shm_allocated += pool->max_bytes;
+           shm_allocated += pool->mem.max_bytes;
        }
     }
 
@@ -581,20 +240,18 @@ _cairo_xcb_connection_allocate_shm_info (cairo_xcb_connection_t *connection,
        return CAIRO_INT_STATUS_UNSUPPORTED;
     }
 
-    pool->base = shmat (pool->shmid, NULL, 0);
-    if (unlikely (pool->base == (char *) -1)) {
+    pool->shm = shmat (pool->shmid, NULL, 0);
+    if (unlikely (pool->shm == (char *) -1)) {
        shmctl (pool->shmid, IPC_RMID, NULL);
        free (pool);
        CAIRO_MUTEX_UNLOCK (connection->shm_mutex);
        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
     }
 
-    status = _cairo_xcb_shm_mem_pool_init (pool,
-                                          bytes,
-                                          minbits,
-                                          maxbits - minbits + 1);
+    status = _cairo_mempool_init (&pool->mem, pool->shm, bytes,
+                                 minbits, maxbits - minbits + 1);
     if (unlikely (status)) {
-       shmdt (pool->base);
+       shmdt (pool->shm);
        free (pool);
        CAIRO_MUTEX_UNLOCK (connection->shm_mutex);
        return status;
@@ -604,12 +261,12 @@ _cairo_xcb_connection_allocate_shm_info (cairo_xcb_connection_t *connection,
     shmctl (pool->shmid, IPC_RMID, NULL);
 
     cairo_list_add (&pool->link, &connection->shm_pools);
-    mem = _cairo_xcb_shm_mem_pool_malloc (pool, size);
+    mem = _cairo_mempool_alloc (&pool->mem, size);
 
   allocate_shm_info:
     shm_info = _cairo_freepool_alloc (&connection->shm_info_freelist);
     if (unlikely (shm_info == NULL)) {
-       _cairo_xcb_shm_mem_pool_free (pool, mem);
+       _cairo_mempool_free (&pool->mem, mem);
        CAIRO_MUTEX_UNLOCK (connection->shm_mutex);
        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
     }
@@ -618,7 +275,7 @@ _cairo_xcb_connection_allocate_shm_info (cairo_xcb_connection_t *connection,
     shm_info->pool = pool;
     shm_info->shm = pool->shmseg;
     shm_info->size = size;
-    shm_info->offset = (char *) mem - (char *) pool->base;
+    shm_info->offset = (char *) mem - (char *) pool->shm;
     shm_info->mem = mem;
     shm_info->sync.sequence = XCB_NONE;
 
@@ -626,7 +283,7 @@ _cairo_xcb_connection_allocate_shm_info (cairo_xcb_connection_t *connection,
     cairo_list_foreach_entry_safe (pool, next, cairo_xcb_shm_mem_pool_t,
                                   &connection->shm_pools, link)
     {
-       if (pool->free_bytes == pool->max_bytes) {
+       if (pool->mem.free_bytes == pool->mem.max_bytes) {
            _cairo_xcb_connection_shm_detach (connection,
                                              pool->shmseg);
            _cairo_xcb_shm_mem_pool_destroy (pool);
diff --git a/src/cairo-xcb-surface-cairo.c b/src/cairo-xcb-surface-cairo.c
deleted file mode 100644 (file)
index 338a616..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright © 2009 Intel Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * Contributor(s):
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairoint.h"
-
-#include "cairo-clip-private.h"
-#include "cairo-xcb-private.h"
-
-cairo_int_status_t
-_cairo_xcb_surface_cairo_paint (cairo_xcb_surface_t    *surface,
-                               cairo_operator_t         op,
-                               const cairo_pattern_t   *source,
-                               const cairo_clip_t      *clip)
-{
-    return CAIRO_INT_STATUS_UNSUPPORTED;
-}
-
-cairo_int_status_t
-_cairo_xcb_surface_cairo_mask (cairo_xcb_surface_t     *surface,
-                              cairo_operator_t          op,
-                              const cairo_pattern_t    *source,
-                              const cairo_pattern_t    *mask,
-                              const cairo_clip_t       *clip)
-{
-    return CAIRO_INT_STATUS_UNSUPPORTED;
-}
-
-cairo_int_status_t
-_cairo_xcb_surface_cairo_stroke (cairo_xcb_surface_t   *surface,
-                                cairo_operator_t        op,
-                                const cairo_pattern_t  *source,
-                                const cairo_path_fixed_t       *path,
-                                const cairo_stroke_style_t     *style,
-                                const cairo_matrix_t           *ctm,
-                                const cairo_matrix_t           *ctm_inverse,
-                                double                  tolerance,
-                                cairo_antialias_t       antialias,
-                                const cairo_clip_t             *clip)
-{
-    return CAIRO_INT_STATUS_UNSUPPORTED;
-}
-
-cairo_int_status_t
-_cairo_xcb_surface_cairo_fill (cairo_xcb_surface_t     *surface,
-                              cairo_operator_t          op,
-                              const cairo_pattern_t    *source,
-                              const cairo_path_fixed_t *path,
-                              cairo_fill_rule_t         fill_rule,
-                              double                    tolerance,
-                              cairo_antialias_t         antialias,
-                              const cairo_clip_t               *clip)
-{
-    return CAIRO_INT_STATUS_UNSUPPORTED;
-}
-
-cairo_int_status_t
-_cairo_xcb_surface_cairo_glyphs (cairo_xcb_surface_t   *surface,
-                                cairo_operator_t                op,
-                                const cairo_pattern_t  *source,
-                                cairo_scaled_font_t    *scaled_font,
-                                cairo_glyph_t          *glyphs,
-                                int                     num_glyphs,
-                                const cairo_clip_t     *clip)
-{
-    return CAIRO_INT_STATUS_UNSUPPORTED;
-}
index c608c9a..db775cd 100644 (file)
@@ -176,6 +176,7 @@ _cairo_xcb_shm_image_create_shm (cairo_xcb_connection_t *connection,
                                                            stride);
     status = image->status;
     if (unlikely (status)) {
+       cairo_surface_destroy (image);
        _cairo_xcb_shm_info_destroy (shm_info);
        return status;
     }
@@ -231,8 +232,10 @@ _cairo_xcb_shm_image_create (cairo_xcb_connection_t *connection,
                                                                width, height,
                                                                0);
        status = image->status;
-       if (unlikely (status))
+       if (unlikely (status)) {
+           cairo_surface_destroy (image);
            return status;
+        }
 
        *image_out = (cairo_image_surface_t *) image;
        *shm_info_out = shm_info;
old mode 100644 (file)
new mode 100755 (executable)
index 7736ed8..c6393a8
@@ -1,6 +1,7 @@
 /* cairo - a vector graphics library with display and print output
  *
  * Copyright © 2009 Intel Corporation
+ * Copyright © 2013 Samsung Research America, Silicon Valley
  *
  * This library is free software; you can redistribute it and/or
  * modify it either under the terms of the GNU Lesser General Public
@@ -27,6 +28,7 @@
  *
  * Contributor(s):
  *     Chris Wilson <chris@chris-wilson.co.uk>
+ *     Henry Song <henry.song@samsung.com>
  */
 
 #include "cairoint.h"
@@ -46,6 +48,8 @@
 #include "cairo-traps-private.h"
 #include "cairo-recording-surface-inline.h"
 #include "cairo-paginated-private.h"
+#include "cairo-pattern-inline.h"
+#include "cairo-filters-private.h"
 
 #define PIXMAN_MAX_INT ((pixman_fixed_1 >> 1) - pixman_fixed_e) /* need to ensure deltas also fit */
 
@@ -472,7 +476,9 @@ _cairo_xcb_picture_set_matrix (cairo_xcb_picture_t *picture,
 
 static void
 _cairo_xcb_picture_set_filter (cairo_xcb_picture_t *picture,
-                              cairo_filter_t filter)
+                              cairo_filter_t filter,
+                              int values_len,
+                              xcb_render_fixed_t *values)
 {
     const char *render_filter;
     int len;
@@ -509,14 +515,21 @@ _cairo_xcb_picture_set_filter (cairo_xcb_picture_t *picture,
     default:
        ASSERT_NOT_REACHED;
     case CAIRO_FILTER_GAUSSIAN:
-       render_filter = "best";
-       len = strlen ("best");
+       if (values_len == 0 || values == NULL) {
+           render_filter = "best";
+           len = strlen ("best");
+       }
+       else {
+           render_filter = "convolution";
+           len = strlen ("convolution");
+       }
        break;
     }
 
     _cairo_xcb_connection_render_set_picture_filter (_picture_to_connection (picture),
                                                     picture->picture,
-                                                    len, (char *) render_filter);
+                                                    len, (char *) render_filter,
+                                                     values_len, values);
     picture->filter = filter;
 }
 
@@ -906,7 +919,7 @@ setup_picture:
                                   pattern->base.base.filter,
                                   extents->x + extents->width/2.,
                                   extents->y + extents->height/2.);
-    _cairo_xcb_picture_set_filter (picture, pattern->base.base.filter);
+    _cairo_xcb_picture_set_filter (picture, pattern->base.base.filter, 0, NULL);
     _cairo_xcb_picture_set_extend (picture, pattern->base.base.extend);
     _cairo_xcb_picture_set_component_alpha (picture,
                                            pattern->base.base.has_component_alpha);
@@ -984,7 +997,7 @@ setup_picture:
                                   pattern->base.base.filter,
                                   extents->x + extents->width/2.,
                                   extents->y + extents->height/2.);
-    _cairo_xcb_picture_set_filter (picture, pattern->base.base.filter);
+    _cairo_xcb_picture_set_filter (picture, pattern->base.base.filter, 0, NULL);
     _cairo_xcb_picture_set_extend (picture, pattern->base.base.extend);
     _cairo_xcb_picture_set_component_alpha (picture,
                                            pattern->base.base.has_component_alpha);
@@ -1038,7 +1051,7 @@ _cairo_xcb_surface_setup_surface_picture(cairo_xcb_picture_t *picture,
     {
        filter = CAIRO_FILTER_NEAREST;
     }
-    _cairo_xcb_picture_set_filter (picture, filter);
+    _cairo_xcb_picture_set_filter (picture, filter, 0, NULL);
 
     _cairo_xcb_picture_set_matrix (picture,
                                   &pattern->base.matrix, filter,
@@ -1060,30 +1073,57 @@ record_to_picture (cairo_surface_t *target,
     cairo_status_t status;
     cairo_matrix_t matrix;
     cairo_surface_t *tmp;
-    cairo_surface_t *source = pattern->surface;
+    cairo_surface_t *source;
+    cairo_rectangle_int_t limit;
+    cairo_extend_t extend;
 
-    /* XXX: The following is more or less copied from cairo-xlibs-ource.c,
+    /* XXX: The following was once more or less copied from cairo-xlibs-ource.c,
      * record_source() and recording_pattern_get_surface(), can we share a
      * single version?
      */
 
-    /* First get the 'real' recording surface */
-    if (_cairo_surface_is_paginated (source))
-       source = _cairo_paginated_surface_get_recording (source);
-    if (_cairo_surface_is_snapshot (source))
-       source = _cairo_surface_snapshot_get_target (source);
+    /* First get the 'real' recording surface and figure out the size for tmp */
+    source = _cairo_pattern_get_source (pattern, &limit);
     assert (_cairo_surface_is_recording (source));
 
+    if (! _cairo_matrix_is_identity (&pattern->base.matrix)) {
+       double x1, y1, x2, y2;
+
+       matrix = pattern->base.matrix;
+       status = cairo_matrix_invert (&matrix);
+       assert (status == CAIRO_STATUS_SUCCESS);
+
+       x1 = limit.x;
+       y1 = limit.y;
+       x2 = limit.x + limit.width;
+       y2 = limit.y + limit.height;
+
+       _cairo_matrix_transform_bounding_box (&matrix,
+                                             &x1, &y1, &x2, &y2, NULL);
+
+       limit.x = floor (x1);
+       limit.y = floor (y1);
+       limit.width  = ceil (x2) - limit.x;
+       limit.height = ceil (y2) - limit.y;
+    }
+    extend = pattern->base.extend;
+    if (_cairo_rectangle_contains_rectangle (&limit, extents))
+       extend = CAIRO_EXTEND_NONE;
+    if (extend == CAIRO_EXTEND_NONE && ! _cairo_rectangle_intersect (&limit, extents))
+       return _cairo_xcb_transparent_picture ((cairo_xcb_surface_t *) target);
+
     /* Now draw the recording surface to an xcb surface */
     tmp = _cairo_surface_create_similar_scratch (target,
                                                 source->content,
-                                                extents->width,
-                                                extents->height);
+                                                limit.width,
+                                                limit.height);
     if (tmp->status != CAIRO_STATUS_SUCCESS) {
        return (cairo_xcb_picture_t *) tmp;
     }
 
-    cairo_matrix_init_translate (&matrix, extents->x, extents->y);
+    cairo_matrix_init_translate (&matrix, limit.x, limit.y);
+    cairo_matrix_multiply (&matrix, &matrix, &pattern->base.matrix);
+
     status = _cairo_recording_surface_replay_with_clip (source,
                                                        &matrix, tmp,
                                                        NULL);
@@ -1095,13 +1135,7 @@ record_to_picture (cairo_surface_t *target,
     /* Now that we have drawn this to an xcb surface, try again with that */
     _cairo_pattern_init_static_copy (&tmp_pattern.base, &pattern->base);
     tmp_pattern.surface = tmp;
-
-    if (extents->x | extents->y) {
-       cairo_matrix_t *pmatrix = &tmp_pattern.base.matrix;
-
-       cairo_matrix_init_translate (&matrix, -extents->x, -extents->y);
-       cairo_matrix_multiply (pmatrix, pmatrix, &matrix);
-    }
+    cairo_matrix_init_translate (&tmp_pattern.base.matrix, -limit.x, -limit.y);
 
     picture = _copy_to_picture ((cairo_xcb_surface_t *) tmp);
     if (picture->base.status == CAIRO_STATUS_SUCCESS)
@@ -1116,7 +1150,10 @@ _cairo_xcb_surface_picture (cairo_xcb_surface_t *target,
                            const cairo_rectangle_int_t *extents)
 {
     cairo_surface_t *source = pattern->surface;
-    cairo_xcb_picture_t *picture;
+    cairo_xcb_picture_t *picture = NULL;
+    cairo_xcb_picture_t *filtered_picture;
+    cairo_bool_t is_gaussian_filter = FALSE;
+    cairo_surface_pattern_t *orig_pattern = (cairo_surface_pattern_t *)pattern;
 
     picture = (cairo_xcb_picture_t *)
        _cairo_surface_has_snapshot (source, &_cairo_xcb_picture_backend);
@@ -1124,7 +1161,38 @@ _cairo_xcb_surface_picture (cairo_xcb_surface_t *target,
        if (picture->screen == target->screen) {
            picture = (cairo_xcb_picture_t *) cairo_surface_reference (&picture->base);
            _cairo_xcb_surface_setup_surface_picture (picture, pattern, extents);
-           return picture;
+           if (pattern->base.filter == CAIRO_FILTER_GAUSSIAN) {
+               orig_pattern->base.filter = CAIRO_FILTER_NEAREST;
+               is_gaussian_filter = TRUE;
+           }
+
+           /* apply gaussian filter if pattern filter is gaussian */
+           if (is_gaussian_filter)
+               orig_pattern->base.filter = CAIRO_FILTER_GAUSSIAN;
+
+           filtered_picture = _cairo_xcb_gaussian_filter (target,
+                                                          picture,
+                                                          &pattern->base);
+
+           /* restore transform */
+           if (filtered_picture != picture) {
+               _cairo_xcb_picture_set_matrix (filtered_picture,
+                                              &pattern->base.matrix,
+                                              pattern->base.filter,
+                                              extents->x + extents->width/2.,
+                                              extents->y + extents->height/2.);
+
+               _cairo_xcb_picture_set_matrix (picture,
+                                              &pattern->base.matrix,
+                                              pattern->base.filter,
+                                              extents->x + extents->width/2.,
+                                              extents->y + extents->height/2.);
+           }
+
+           _cairo_xcb_surface_setup_surface_picture (filtered_picture, pattern, extents);
+
+           cairo_surface_destroy (&picture->base);
+           return filtered_picture;
        }
        picture = NULL;
     }
@@ -1234,6 +1302,8 @@ _cairo_xcb_surface_picture (cairo_xcb_surface_t *target,
         * only drew part of the recording surface.
         * TODO: When can we safely attach a snapshot?
         */
+
+       /* XXX: do we rely on record implementation of blur? */
        return record_to_picture(&target->base, pattern, extents);
     }
 
@@ -1277,8 +1347,36 @@ _cairo_xcb_surface_picture (cairo_xcb_surface_t *target,
                                    &picture->base,
                                    NULL);
 
-    _cairo_xcb_surface_setup_surface_picture (picture, pattern, extents);
-    return picture;
+    if (pattern->base.filter == CAIRO_FILTER_GAUSSIAN) {
+       orig_pattern->base.filter = CAIRO_FILTER_NEAREST;
+       is_gaussian_filter = TRUE;
+    }
+
+    /* apply gaussian filter if pattern filter is gaussian */
+    if (is_gaussian_filter)
+       orig_pattern->base.filter = CAIRO_FILTER_GAUSSIAN;
+
+    filtered_picture = _cairo_xcb_gaussian_filter (target, picture, &pattern->base);
+
+    /* restore transform */
+    if (filtered_picture != picture) {
+       _cairo_xcb_picture_set_matrix (filtered_picture,
+                                      &pattern->base.matrix,
+                                      pattern->base.filter,
+                                      extents->x + extents->width/2.,
+                                      extents->y + extents->height/2.);
+
+       _cairo_xcb_picture_set_matrix (picture,
+                                      &pattern->base.matrix,
+                                      pattern->base.filter,
+                                      extents->x + extents->width/2.,
+                                      extents->y + extents->height/2.);
+    }
+
+    _cairo_xcb_surface_setup_surface_picture (filtered_picture, pattern, extents);
+
+    cairo_surface_destroy (&picture->base);
+    return filtered_picture;
 }
 
 static cairo_xcb_picture_t *
@@ -1307,9 +1405,9 @@ _cairo_xcb_picture_for_pattern (cairo_xcb_surface_t *target,
                                          extents);
 
     case CAIRO_PATTERN_TYPE_SURFACE:
-       return _cairo_xcb_surface_picture (target,
-                                          (cairo_surface_pattern_t *) pattern,
+       return _cairo_xcb_surface_picture (target, (cairo_surface_pattern_t *) pattern,
                                           extents);
+
     default:
        ASSERT_NOT_REACHED;
     case CAIRO_PATTERN_TYPE_MESH:
@@ -1474,6 +1572,7 @@ _render_composite_boxes (cairo_xcb_surface_t      *dst,
 
            cairo_surface_destroy (&mask->base);
        } else {
+
            _cairo_xcb_connection_render_composite (dst->connection,
                                                    render_op,
                                                    src->picture,
@@ -1483,6 +1582,7 @@ _render_composite_boxes (cairo_xcb_surface_t      *dst,
                                                    0, 0,
                                                    extents->x, extents->y,
                                                    extents->width, extents->height);
+
        }
 
 cleanup_clip:
@@ -1874,12 +1974,16 @@ _clip_and_composite_with_mask (cairo_clip_t             *clip,
 {
     cairo_xcb_surface_t *mask;
     cairo_xcb_picture_t *src;
+    cairo_status_t status;
 
     mask = _create_composite_mask (clip,
                                   draw_func, mask_func, draw_closure,
                                   dst, extents);
-    if (unlikely (mask->base.status))
-       return mask->base.status;
+    if (unlikely (mask->base.status)) {
+       status = mask->base.status;
+       cairo_surface_destroy (&mask->base);
+       return status;
+    }
 
     if (pattern != NULL || dst->base.content != CAIRO_CONTENT_ALPHA) {
        src = _cairo_xcb_picture_for_pattern (dst, pattern, extents);
@@ -1936,8 +2040,11 @@ _clip_and_composite_combine (cairo_clip_t                *clip,
     tmp = (cairo_xcb_surface_t *)
        _cairo_xcb_surface_create_similar (dst, dst->base.content,
                                           extents->width, extents->height);
-    if (unlikely (tmp->base.status))
-       return tmp->base.status;
+    if (unlikely (tmp->base.status)) {
+       status = tmp->base.status;
+       cairo_surface_destroy (&tmp->base);
+       return status;
+    }
 
     /* create_similar() could have done a fallback to an image surface */
     assert (tmp->base.backend == &_cairo_xcb_surface_backend);
@@ -2051,13 +2158,17 @@ _clip_and_composite_source (cairo_clip_t                *clip,
 {
     cairo_xcb_surface_t *mask;
     cairo_xcb_picture_t *src;
+    cairo_status_t status;
 
     /* Create a surface that is mask IN clip */
     mask = _create_composite_mask (clip,
                                   draw_func, mask_func, draw_closure,
                                   dst, extents);
-    if (unlikely (mask->base.status))
-       return mask->base.status;
+    if (unlikely (mask->base.status)) {
+       status = mask->base.status;
+       cairo_surface_destroy (&mask->base);
+       return status;
+    }
 
     src = _cairo_xcb_picture_for_pattern (dst, pattern, extents);
     if (unlikely (src->base.status)) {
@@ -2362,10 +2473,15 @@ _cairo_xcb_surface_fixup_unbounded_boxes (cairo_xcb_surface_t *dst,
     }
 
     if (likely (status == CAIRO_STATUS_SUCCESS)) {
-       status = _render_fill_boxes (dst,
-                                    CAIRO_OPERATOR_CLEAR,
-                                    CAIRO_COLOR_TRANSPARENT,
-                                    &clear);
+       if (dst->connection->flags & CAIRO_XCB_RENDER_HAS_FILL_RECTANGLES)
+           status = _render_fill_boxes (dst,
+                                        CAIRO_OPERATOR_CLEAR,
+                                        CAIRO_COLOR_TRANSPARENT,
+                                        &clear);
+       else
+           status = _cairo_xcb_surface_core_fill_boxes (dst,
+                                                        CAIRO_COLOR_TRANSPARENT,
+                                                        &clear);
     }
 
     _cairo_boxes_fini (&clear);
@@ -2388,7 +2504,7 @@ _cairo_xcb_surface_clear (cairo_xcb_surface_t *dst)
     rect.width  = dst->width;
     rect.height = dst->height;
 
-    if (dst->connection->flags & CAIRO_XCB_RENDER_HAS_COMPOSITE) {
+    if (dst->connection->flags & CAIRO_XCB_RENDER_HAS_FILL_RECTANGLES) {
        xcb_render_color_t color;
        uint8_t op;
 
@@ -3084,7 +3200,8 @@ _clip_and_composite_boxes (cairo_xcb_surface_t *dst,
     }
 
     /* Can we reduce drawing through a clip-mask to simply drawing the clip? */
-    if (extents->clip->path != NULL && extents->is_bounded) {
+    if (dst->connection->flags & CAIRO_XCB_RENDER_HAS_COMPOSITE_TRAPEZOIDS &&
+           extents->clip->path != NULL && extents->is_bounded) {
        cairo_polygon_t polygon;
        cairo_fill_rule_t fill_rule;
        cairo_antialias_t antialias;
@@ -3483,11 +3600,12 @@ _composite_opacity_boxes (void                          *closure,
 /* high level rasteriser -> compositor */
 
 cairo_int_status_t
-_cairo_xcb_surface_render_paint (cairo_xcb_surface_t   *surface,
-                                cairo_operator_t        op,
-                                const cairo_pattern_t  *source,
-                                cairo_composite_rectangles_t *composite)
+_cairo_xcb_render_compositor_paint (const cairo_compositor_t     *compositor,
+                                   cairo_composite_rectangles_t *composite)
 {
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t *) composite->surface;
+    cairo_operator_t op = composite->op;
+    cairo_pattern_t *source = &composite->source_pattern.base;
     cairo_boxes_t boxes;
     cairo_status_t status;
 
@@ -3520,12 +3638,13 @@ _cairo_xcb_surface_render_paint (cairo_xcb_surface_t    *surface,
 }
 
 cairo_int_status_t
-_cairo_xcb_surface_render_mask (cairo_xcb_surface_t    *surface,
-                               cairo_operator_t         op,
-                               const cairo_pattern_t   *source,
-                               const cairo_pattern_t   *mask,
-                               cairo_composite_rectangles_t *composite)
+_cairo_xcb_render_compositor_mask (const cairo_compositor_t     *compositor,
+                                  cairo_composite_rectangles_t *composite)
 {
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t *) composite->surface;
+    cairo_operator_t op = composite->op;
+    cairo_pattern_t *source = &composite->source_pattern.base;
+    cairo_pattern_t *mask = &composite->mask_pattern.base;
     cairo_status_t status;
 
     if (unlikely (! _operator_is_supported (surface->connection->flags, op)))
@@ -3587,14 +3706,6 @@ _cairo_xcb_surface_render_stroke_as_polygon (cairo_xcb_surface_t *dst,
     return status;
 }
 
-static void
-_clear_image (cairo_surface_t *surface)
-{
-    cairo_image_surface_t *image = (cairo_image_surface_t *) surface;
-    memset (image->data, 0, image->stride * image->height);
-    surface->is_clear = TRUE;
-}
-
 static cairo_status_t
 _cairo_xcb_surface_render_stroke_via_mask (cairo_xcb_surface_t         *dst,
                                           cairo_operator_t              op,
@@ -3617,10 +3728,11 @@ _cairo_xcb_surface_render_stroke_via_mask (cairo_xcb_surface_t          *dst,
     image = _cairo_xcb_surface_create_similar_image (dst, CAIRO_FORMAT_A8,
                                                     extents->bounded.width,
                                                     extents->bounded.height);
-    if (unlikely (image->status))
-       return image->status;
-
-    _clear_image (image);
+    if (unlikely (image->status)) {
+       status = image->status;
+       cairo_surface_destroy (image);
+       return status;
+    }
 
     clip = _cairo_clip_copy_region (extents->clip);
     status = _cairo_surface_offset_stroke (image, x, y,
@@ -3651,17 +3763,18 @@ _cairo_xcb_surface_render_stroke_via_mask (cairo_xcb_surface_t          *dst,
 }
 
 cairo_int_status_t
-_cairo_xcb_surface_render_stroke (cairo_xcb_surface_t  *surface,
-                                 cairo_operator_t       op,
-                                 const cairo_pattern_t *source,
-                                 const cairo_path_fixed_t      *path,
-                                 const cairo_stroke_style_t    *style,
-                                 const cairo_matrix_t  *ctm,
-                                 const cairo_matrix_t  *ctm_inverse,
-                                 double                 tolerance,
-                                 cairo_antialias_t      antialias,
-                                 cairo_composite_rectangles_t *composite)
+_cairo_xcb_render_compositor_stroke (const cairo_compositor_t     *compositor,
+                                    cairo_composite_rectangles_t *composite,
+                                    const cairo_path_fixed_t     *path,
+                                    const cairo_stroke_style_t   *style,
+                                    const cairo_matrix_t         *ctm,
+                                    const cairo_matrix_t         *ctm_inverse,
+                                    double                        tolerance,
+                                    cairo_antialias_t             antialias)
 {
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t *) composite->surface;
+    cairo_operator_t op = composite->op;
+    cairo_pattern_t *source = &composite->source_pattern.base;
     cairo_int_status_t status;
 
     if (unlikely (! _operator_is_supported (surface->connection->flags, op)))
@@ -3758,10 +3871,11 @@ _cairo_xcb_surface_render_fill_via_mask (cairo_xcb_surface_t    *dst,
     image = _cairo_xcb_surface_create_similar_image (dst, CAIRO_FORMAT_A8,
                                                     extents->bounded.width,
                                                     extents->bounded.height);
-    if (unlikely (image->status))
-       return image->status;
-
-    _clear_image (image);
+    if (unlikely (image->status)) {
+       status = image->status;
+       cairo_surface_destroy (image);
+       return status;
+    }
 
     clip = _cairo_clip_copy_region (extents->clip);
     status = _cairo_surface_offset_fill (image, x, y,
@@ -3791,15 +3905,16 @@ _cairo_xcb_surface_render_fill_via_mask (cairo_xcb_surface_t    *dst,
 }
 
 cairo_int_status_t
-_cairo_xcb_surface_render_fill (cairo_xcb_surface_t    *surface,
-                              cairo_operator_t          op,
-                              const cairo_pattern_t    *source,
-                              const cairo_path_fixed_t *path,
-                              cairo_fill_rule_t         fill_rule,
-                              double                    tolerance,
-                              cairo_antialias_t         antialias,
-                              cairo_composite_rectangles_t *composite)
+_cairo_xcb_render_compositor_fill (const cairo_compositor_t     *compositor,
+                                  cairo_composite_rectangles_t *composite,
+                                  const cairo_path_fixed_t     *path,
+                                  cairo_fill_rule_t             fill_rule,
+                                  double                        tolerance,
+                                  cairo_antialias_t             antialias)
 {
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t *) composite->surface;
+    cairo_operator_t op = composite->op;
+    cairo_pattern_t *source = &composite->source_pattern.base;
     cairo_int_status_t status;
 
     if (unlikely (! _operator_is_supported (surface->connection->flags, op)))
@@ -3869,10 +3984,15 @@ _cairo_xcb_surface_render_glyphs_via_mask (cairo_xcb_surface_t          *dst,
                                                     _cairo_format_from_content (content),
                                                     extents->bounded.width,
                                                     extents->bounded.height);
-    if (unlikely (image->status))
-       return image->status;
 
-    _clear_image (image);
+    if (image == NULL)
+       return _cairo_error (CAIRO_STATUS_NULL_POINTER);
+
+    if (unlikely (image->status)) {
+       status = image->status;
+       cairo_surface_destroy (image);
+       return status;
+    }
 
     clip = _cairo_clip_copy_region (extents->clip);
     status = _cairo_surface_offset_glyphs (image, x, y,
@@ -4147,10 +4267,8 @@ _cairo_xcb_font_close (cairo_xcb_font_t *font)
 
     scaled_font = font->scaled_font;
 
-    CAIRO_MUTEX_LOCK (scaled_font->mutex);
     //scaled_font->surface_private = NULL;
     _cairo_scaled_font_reset_cache (scaled_font);
-    CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
 
     _cairo_xcb_font_destroy (font);
 }
@@ -4780,15 +4898,16 @@ _composite_glyphs (void                         *closure,
 }
 
 cairo_int_status_t
-_cairo_xcb_surface_render_glyphs (cairo_xcb_surface_t  *surface,
-                                 cairo_operator_t       op,
-                                 const cairo_pattern_t *source,
-                                 cairo_scaled_font_t   *scaled_font,
-                                 cairo_glyph_t         *glyphs,
-                                 int                    num_glyphs,
-                                 cairo_composite_rectangles_t *composite,
-                                 cairo_bool_t overlap)
+_cairo_xcb_render_compositor_glyphs (const cairo_compositor_t     *compositor,
+                                    cairo_composite_rectangles_t *composite,
+                                    cairo_scaled_font_t          *scaled_font,
+                                    cairo_glyph_t                *glyphs,
+                                    int                           num_glyphs,
+                                    cairo_bool_t                  overlap)
 {
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t *) composite->surface;
+    cairo_operator_t op = composite->op;
+    cairo_pattern_t *source = &composite->source_pattern.base;
     cairo_int_status_t status;
 
     if (unlikely (! _operator_is_supported (surface->connection->flags, op)))
@@ -4845,3 +4964,290 @@ _cairo_xcb_surface_render_glyphs (cairo_xcb_surface_t   *surface,
 
     return status;
 }
+
+static xcb_render_fixed_t *
+_create_convolution_coef (double *convolution_matrix,
+                         int col, int row, cairo_bool_t is_x_pass)
+{
+    xcb_render_fixed_t *values;
+    double v;
+    int length;
+    int i;
+    double *coef;
+
+    if (! convolution_matrix || col == 0 || row == 0)
+       return NULL;
+
+    if (is_x_pass) {
+       length = col;
+       values = _cairo_malloc_ab (length + 2, sizeof (xcb_render_fixed_t));
+       if (values == NULL)
+           return NULL;
+       v = col;
+       values[0] = _cairo_fixed_16_16_from_double (v);
+       values[1] = _cairo_fixed_16_16_from_double (1.0);
+       coef = _cairo_malloc_ab (length, sizeof (double));
+       if (coef == NULL) {
+           free (values);
+           return NULL;
+       }
+       memset (coef, 0, sizeof (double) * length);
+       compute_x_coef_to_double (convolution_matrix, row, col, coef);
+    }
+    else {
+       length = row;
+       values = _cairo_malloc_ab (length + 2, sizeof (xcb_render_fixed_t));
+       if (values == NULL)
+           return NULL;
+       values[0] = _cairo_fixed_16_16_from_double (1.0);
+       v = row;
+       values[1] = _cairo_fixed_16_16_from_double (v);
+       coef = _cairo_malloc_ab (length, sizeof (double));
+       if (coef == NULL) {
+           free (values);
+           return NULL;
+       }
+       memset (coef, 0, sizeof (double) * length);
+       compute_y_coef_to_double (convolution_matrix, row, col, coef);
+    }
+
+    for (i = 0; i < length; i++)
+       values[i+2] = _cairo_fixed_16_16_from_double (coef[i]);
+
+    free (coef);
+    return values;
+}
+
+cairo_xcb_picture_t *
+_cairo_xcb_gaussian_filter (cairo_xcb_surface_t *source,
+                           cairo_xcb_picture_t *orig_pict,
+                           const cairo_pattern_t *pattern)
+{
+    int row, col;
+    int width, height;
+    cairo_matrix_t matrix;
+    cairo_format_t format;
+
+    cairo_xcb_picture_t *shrinked_picture = NULL;
+    cairo_xcb_picture_t *scratch_pictures[] = { NULL, NULL };
+    cairo_xcb_picture_t *temp_pict;
+    cairo_xcb_picture_t *picture;
+
+    xcb_pixmap_t pixmap;
+    pixman_format_code_t pixman_format;
+    int depth;
+    xcb_render_pictformat_t xrender_format;
+
+    int src_width= orig_pict->width;
+    int src_height = orig_pict->height;
+    xcb_render_fixed_t *coef;
+    int i;
+
+    if (pattern->filter != CAIRO_FILTER_GAUSSIAN ||
+       pattern->convolution_matrix == NULL) {
+       return (cairo_xcb_picture_t *)cairo_surface_reference (&orig_pict->base);
+    }
+
+    row = pattern->y_radius * 2 + 1;
+    col = pattern->x_radius * 2 + 1;
+
+    width = src_width / pattern->shrink_factor_x;
+    height = src_height / pattern->shrink_factor_y;
+    format = _cairo_format_from_content (cairo_surface_get_content (&source->base));
+    pixman_format = _cairo_format_to_pixman_format_code (format);
+    depth = PIXMAN_FORMAT_DEPTH (pixman_format);
+    xrender_format = source->connection->standard_formats[format];
+
+    picture = _cairo_xcb_picture_create (source->screen,
+                                        pixman_format,
+                                        xrender_format,
+                                        src_width, src_height);
+    if (unlikely (picture->base.status)) {
+       cairo_surface_destroy (&picture->base);
+       picture = (cairo_xcb_picture_t *) cairo_surface_reference (&orig_pict->base);
+       return picture;
+    }
+
+    pixmap = _cairo_xcb_connection_create_pixmap (source->connection,
+                                                 depth,
+                                                 source->drawable,
+                                                 src_width, src_height);
+
+    _cairo_xcb_connection_render_create_picture (source->connection,
+                                                picture->picture,
+                                                pixmap,
+                                                xrender_format,
+                                                0, 0);
+    _cairo_xcb_connection_free_pixmap (source->connection, pixmap);
+
+    for (i = 0; i < 2; i++) {
+       scratch_pictures[i] = _cairo_xcb_picture_create (source->screen,
+                                                        pixman_format,
+                                                        xrender_format,
+                                                        width, height);
+
+       if (unlikely (scratch_pictures[i]->base.status)) {
+           cairo_surface_destroy (&picture->base);
+           picture = (cairo_xcb_picture_t *) cairo_surface_reference (&orig_pict->base);
+           goto DONE;
+       }
+
+       pixmap = _cairo_xcb_connection_create_pixmap (source->connection,
+                                                     depth,
+                                                     source->drawable,
+                                                     width, height);
+
+       _cairo_xcb_connection_render_create_picture (source->connection,
+                                                    scratch_pictures[i]->picture,
+                                                    pixmap,
+                                                    xrender_format,
+                                                    0, 0);
+       _cairo_xcb_connection_free_pixmap (source->connection, pixmap);
+    }
+
+    if (width != src_width || height != src_height) {
+       shrinked_picture = _cairo_xcb_picture_create (source->screen,
+                                                     pixman_format,
+                                                     xrender_format,
+                                                     width, height);
+
+       if (unlikely (shrinked_picture->base.status)) {
+           cairo_surface_destroy (&picture->base);
+           picture = (cairo_xcb_picture_t *) cairo_surface_reference (&orig_pict->base);
+           goto DONE;
+       }
+
+       pixmap = _cairo_xcb_connection_create_pixmap (source->connection,
+                                                     depth,
+                                                     source->drawable,
+                                                     width, height);
+
+       _cairo_xcb_connection_render_create_picture (source->connection,
+                                                    shrinked_picture->picture,
+                                                    pixmap,
+                                                    xrender_format,
+                                                    0, 0);
+
+       _cairo_xcb_connection_free_pixmap (source->connection, pixmap);
+
+       cairo_matrix_init_scale (&matrix,
+                                (double) src_width / (double) width,
+                                (double) src_height / (double) height);
+
+       _cairo_xcb_picture_set_matrix (orig_pict,
+                                      &matrix, CAIRO_FILTER_BILINEAR,
+                                      width/2, height/2);
+       _cairo_xcb_picture_set_extend (orig_pict, CAIRO_EXTEND_NONE);
+       _cairo_xcb_picture_set_component_alpha (orig_pict,
+                                               pattern->has_component_alpha);
+
+       _cairo_xcb_picture_set_filter (orig_pict, CAIRO_FILTER_NEAREST, 0, NULL);
+
+       _cairo_xcb_connection_render_composite (source->connection,
+                                               _render_operator (CAIRO_OPERATOR_SOURCE),
+                                               orig_pict->picture,
+                                               XCB_NONE,
+                                               shrinked_picture->picture,
+                                               0, 0,
+                                               0, 0,
+                                               0, 0,
+                                               width, height);
+
+       temp_pict = shrinked_picture;
+    } else
+       temp_pict = orig_pict;
+
+    /* filter with gaussian, first x pass */
+    coef = _create_convolution_coef (pattern->convolution_matrix,
+                                    col, row, TRUE);
+    if (coef == NULL) {
+       cairo_surface_destroy (&picture->base);
+       picture = (cairo_xcb_picture_t *) cairo_surface_reference (&orig_pict->base);
+       goto DONE;
+    }
+
+    cairo_matrix_init_identity (&matrix);
+
+    _cairo_xcb_picture_set_matrix (temp_pict,
+                                  &matrix, CAIRO_FILTER_NEAREST,
+                                  width/2, height/2);
+    _cairo_xcb_picture_set_extend (temp_pict, CAIRO_EXTEND_NONE);
+    _cairo_xcb_picture_set_component_alpha (temp_pict,
+                                           pattern->has_component_alpha);
+
+    _cairo_xcb_picture_set_filter (temp_pict, CAIRO_FILTER_GAUSSIAN, col+2, coef);
+    _cairo_xcb_connection_render_composite (source->connection,
+                                           _render_operator (CAIRO_OPERATOR_SOURCE),
+                                           temp_pict->picture,
+                                           XCB_NONE,
+                                           scratch_pictures[0]->picture,
+                                           0, 0,
+                                           0, 0,
+                                           0, 0,
+                                           width, height);
+
+    free (coef);
+
+    /* y pass */
+    coef = _create_convolution_coef (pattern->convolution_matrix,
+                                    col, row, FALSE);
+    if (coef == NULL) {
+       cairo_surface_destroy (&picture->base);
+       picture = (cairo_xcb_picture_t *) cairo_surface_reference (&orig_pict->base);
+       goto DONE;
+    }
+
+    cairo_matrix_init_identity (&matrix);
+
+    _cairo_xcb_picture_set_matrix (scratch_pictures[0],
+                                  &matrix, CAIRO_FILTER_NEAREST,
+                                  width/2, height/2);
+    _cairo_xcb_picture_set_extend (scratch_pictures[0], CAIRO_EXTEND_NONE);
+    _cairo_xcb_picture_set_component_alpha (scratch_pictures[0],
+                                           pattern->has_component_alpha);
+
+    _cairo_xcb_picture_set_filter (scratch_pictures[0], CAIRO_FILTER_GAUSSIAN, row+2, coef);
+    _cairo_xcb_connection_render_composite (source->connection,
+                                           _render_operator (CAIRO_OPERATOR_SOURCE),
+                                           scratch_pictures[0]->picture,
+                                           XCB_NONE,
+                                           scratch_pictures[1]->picture,
+                                           0, 0,
+                                           0, 0,
+                                           0, 0,
+                                           width, height);
+
+    free (coef);
+
+    /* enlarge back to picture */
+    cairo_matrix_init_scale (&matrix,
+                            (double) width / (double) src_width,
+                            (double) height / (double) src_height);
+
+    _cairo_xcb_picture_set_matrix (scratch_pictures[1],
+                                  &matrix, CAIRO_FILTER_BILINEAR,
+                                  src_width/2, src_height/2);
+    _cairo_xcb_picture_set_extend (scratch_pictures[1], CAIRO_EXTEND_NONE);
+    _cairo_xcb_picture_set_component_alpha (scratch_pictures[1],
+                                           pattern->has_component_alpha);
+
+    _cairo_xcb_picture_set_filter (scratch_pictures[1], CAIRO_FILTER_BILINEAR, 0, NULL);
+
+    _cairo_xcb_connection_render_composite (source->connection,
+                                           _render_operator (CAIRO_OPERATOR_SOURCE),
+                                           scratch_pictures[1]->picture,
+                                           XCB_NONE,
+                                           picture->picture,
+                                           0, 0,
+                                           0, 0,
+                                           0, 0,
+                                           src_width, src_height);
+DONE:
+    if (shrinked_picture)
+       cairo_surface_destroy (&shrinked_picture->base);
+    for (i = 0; i < 2; i++) {
+       if (scratch_pictures[i])
+           cairo_surface_destroy (&scratch_pictures[i]->base);
+    }
+    return picture;
+}
old mode 100644 (file)
new mode 100755 (executable)
index c6a1d29..7b74027
 
 #include "cairo-composite-rectangles-private.h"
 #include "cairo-default-context-private.h"
+#include "cairo-image-surface-inline.h"
 #include "cairo-list-inline.h"
-#include "cairo-image-surface-private.h"
 #include "cairo-surface-backend-private.h"
+#include "cairo-compositor-private.h"
+#include "cairo-surface-shadow-private.h"
 
 #if CAIRO_HAS_XLIB_XCB_FUNCTIONS
 slim_hidden_proto (cairo_xcb_surface_create);
@@ -179,7 +181,7 @@ _cairo_xcb_surface_create_similar_image (void                       *abstract_other,
                 height > XLIB_COORD_MAX ||
                 width  <= 0 ||
                 height <= 0))
-       return NULL;
+       return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_SIZE));
 
     pixman_format = _cairo_format_to_pixman_format_code (format);
 
@@ -189,6 +191,11 @@ _cairo_xcb_surface_create_similar_image (void                      *abstract_other,
     if (unlikely (status))
        return _cairo_surface_create_in_error (status);
 
+    if (! image->base.is_clear) {
+       memset (image->data, 0, image->stride * image->height);
+       image->base.is_clear = TRUE;
+    }
+
     return &image->base;
 }
 
@@ -326,7 +333,7 @@ _get_image (cairo_xcb_surface_t              *surface,
            int x, int y,
            int width, int height)
 {
-    cairo_surface_t *image;
+    cairo_surface_t *image = NULL;
     cairo_xcb_connection_t *connection;
     xcb_get_image_reply_t *reply;
     cairo_int_status_t status;
@@ -456,6 +463,7 @@ _get_image (cairo_xcb_surface_t              *surface,
     return image;
 
 FAIL:
+    cairo_surface_destroy (image);
     _cairo_xcb_connection_release (connection);
     return _cairo_surface_create_in_error (status);
 }
@@ -482,6 +490,7 @@ _cairo_xcb_surface_acquire_source_image (void *abstract_surface,
 {
     cairo_xcb_surface_t *surface = abstract_surface;
     cairo_surface_t *image;
+    cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;
 
     if (surface->fallback != NULL) {
        image = cairo_surface_reference (&surface->fallback->base);
@@ -496,8 +505,11 @@ _cairo_xcb_surface_acquire_source_image (void *abstract_surface,
     }
 
     image = _get_image (surface, FALSE, 0, 0, surface->width, surface->height);
-    if (unlikely (image->status))
-       return image->status;
+    if (unlikely (image->status)) {
+       status = image->status;
+       cairo_surface_destroy (image);
+       return status;
+    }
 
     _cairo_surface_attach_snapshot (&surface->base, image, NULL);
 
@@ -714,11 +726,15 @@ _put_image_boxes (cairo_xcb_surface_t    *surface,
 }
 
 static cairo_status_t
-_cairo_xcb_surface_flush (void *abstract_surface)
+_cairo_xcb_surface_flush (void *abstract_surface,
+                         unsigned flags)
 {
     cairo_xcb_surface_t *surface = abstract_surface;
     cairo_status_t status;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     if (likely (surface->fallback == NULL)) {
        status = CAIRO_STATUS_SUCCESS;
        if (! surface->base.finished && surface->deferred_clear)
@@ -728,7 +744,8 @@ _cairo_xcb_surface_flush (void *abstract_surface)
     }
 
     status = surface->base.status;
-    if (status == CAIRO_STATUS_SUCCESS && ! surface->base.finished) {
+    if (status == CAIRO_STATUS_SUCCESS &&
+       (! surface->base._finishing || ! surface->owns_pixmap)) {
        status = cairo_surface_status (&surface->fallback->base);
 
        if (status == CAIRO_STATUS_SUCCESS)
@@ -741,7 +758,7 @@ _cairo_xcb_surface_flush (void *abstract_surface)
                                       surface->fallback,
                                       &surface->fallback_damage);
 
-       if (status == CAIRO_STATUS_SUCCESS) {
+       if (status == CAIRO_STATUS_SUCCESS && ! surface->base._finishing) {
            _cairo_surface_attach_snapshot (&surface->base,
                                            &surface->fallback->base,
                                            cairo_surface_finish);
@@ -755,21 +772,25 @@ _cairo_xcb_surface_flush (void *abstract_surface)
     return status;
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_xcb_surface_map_to_image (void *abstract_surface,
                                 const cairo_rectangle_int_t *extents)
 {
     cairo_xcb_surface_t *surface = abstract_surface;
     cairo_surface_t *image;
+    cairo_status_t status;
 
     if (surface->fallback)
-       return surface->fallback->base.backend->map_to_image (&surface->fallback->base, extents);
+       return _cairo_surface_map_to_image (&surface->fallback->base, extents);
 
     image = _get_image (surface, TRUE,
                        extents->x, extents->y,
                        extents->width, extents->height);
-    if (unlikely (image->status))
-       return image;
+    status = cairo_surface_status (image);
+    if (unlikely (status)) {
+       cairo_surface_destroy(image);
+       return _cairo_image_surface_create_in_error (status);
+    }
 
     /* Do we have a deferred clear and this image surface does NOT cover the
      * whole xcb surface? Have to apply the clear in that case, else
@@ -778,16 +799,16 @@ _cairo_xcb_surface_map_to_image (void *abstract_surface,
     if (surface->deferred_clear &&
        ! (extents->width == surface->width &&
           extents->height == surface->height)) {
-       cairo_status_t status = _cairo_xcb_surface_clear (surface);
+       status = _cairo_xcb_surface_clear (surface);
        if (unlikely (status)) {
            cairo_surface_destroy(image);
-           return _cairo_surface_create_in_error (status);
+           return _cairo_image_surface_create_in_error (status);
        }
     }
     surface->deferred_clear = FALSE;
 
     cairo_surface_set_device_offset (image, -extents->x, -extents->y);
-    return image;
+    return (cairo_image_surface_t *) image;
 }
 
 static cairo_int_status_t
@@ -795,10 +816,17 @@ _cairo_xcb_surface_unmap (void *abstract_surface,
                          cairo_image_surface_t *image)
 {
     cairo_xcb_surface_t *surface = abstract_surface;
+    cairo_int_status_t status;
 
     if (surface->fallback)
-       return surface->fallback->base.backend->unmap_image (&surface->fallback->base, image);
-    return _put_image (abstract_surface, image);
+       return _cairo_surface_unmap_image (&surface->fallback->base, image);
+
+    status = _put_image (abstract_surface, image);
+
+    cairo_surface_finish (&image->base);
+    cairo_surface_destroy (&image->base);
+
+    return status;
 }
 
 static cairo_surface_t *
@@ -824,45 +852,148 @@ _cairo_xcb_surface_fallback (cairo_xcb_surface_t *surface,
        surface->deferred_clear = FALSE;
 
        surface->fallback = image;
+    } else {
+       cairo_surface_destroy (&image->base);
     }
-
     return &surface->fallback->base;
 }
 
 static cairo_int_status_t
+_cairo_xcb_fallback_compositor_paint (const cairo_compositor_t     *compositor,
+                                     cairo_composite_rectangles_t *extents)
+{
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t *) extents->surface;
+    cairo_surface_t *fallback = _cairo_xcb_surface_fallback (surface, extents);
+
+    return _cairo_surface_paint (fallback, extents->op,
+                                &extents->source_pattern.base,
+                                extents->clip);
+}
+
+static cairo_int_status_t
+_cairo_xcb_fallback_compositor_mask (const cairo_compositor_t     *compositor,
+                                    cairo_composite_rectangles_t *extents)
+{
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t *) extents->surface;
+    cairo_surface_t *fallback = _cairo_xcb_surface_fallback (surface, extents);
+
+    return _cairo_surface_mask (fallback, extents->op,
+                                &extents->source_pattern.base,
+                                &extents->mask_pattern.base,
+                                extents->clip);
+}
+
+static cairo_int_status_t
+_cairo_xcb_fallback_compositor_stroke (const cairo_compositor_t     *compositor,
+                                      cairo_composite_rectangles_t *extents,
+                                      const cairo_path_fixed_t     *path,
+                                      const cairo_stroke_style_t   *style,
+                                      const cairo_matrix_t         *ctm,
+                                      const cairo_matrix_t         *ctm_inverse,
+                                      double                        tolerance,
+                                      cairo_antialias_t             antialias)
+{
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t *) extents->surface;
+    cairo_surface_t *fallback = _cairo_xcb_surface_fallback (surface, extents);
+
+    return _cairo_surface_stroke (fallback, extents->op,
+                                 &extents->source_pattern.base,
+                                 path, style, ctm, ctm_inverse,
+                                 tolerance, antialias,
+                                 extents->clip);
+}
+
+static cairo_int_status_t
+_cairo_xcb_fallback_compositor_fill (const cairo_compositor_t     *compositor,
+                                    cairo_composite_rectangles_t *extents,
+                                    const cairo_path_fixed_t     *path,
+                                    cairo_fill_rule_t             fill_rule,
+                                    double                        tolerance,
+                                    cairo_antialias_t             antialias)
+{
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t *) extents->surface;
+    cairo_surface_t *fallback = _cairo_xcb_surface_fallback (surface, extents);
+
+    return _cairo_surface_fill (fallback, extents->op,
+                               &extents->source_pattern.base,
+                               path, fill_rule, tolerance,
+                               antialias, extents->clip);
+}
+
+static cairo_int_status_t
+_cairo_xcb_fallback_compositor_glyphs (const cairo_compositor_t     *compositor,
+                                      cairo_composite_rectangles_t *extents,
+                                      cairo_scaled_font_t          *scaled_font,
+                                      cairo_glyph_t                *glyphs,
+                                      int                           num_glyphs,
+                                      cairo_bool_t                  overlap)
+{
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t *) extents->surface;
+    cairo_surface_t *fallback = _cairo_xcb_surface_fallback (surface, extents);
+
+    return _cairo_surface_show_text_glyphs (fallback, extents->op,
+                                           &extents->source_pattern.base,
+                                           NULL, 0, glyphs, num_glyphs,
+                                           NULL, 0, 0,
+                                           scaled_font, extents->clip);
+}
+
+static const cairo_compositor_t _cairo_xcb_fallback_compositor = {
+    &__cairo_no_compositor,
+
+    _cairo_xcb_fallback_compositor_paint,
+    _cairo_xcb_fallback_compositor_mask,
+    _cairo_xcb_fallback_compositor_stroke,
+    _cairo_xcb_fallback_compositor_fill,
+    _cairo_xcb_fallback_compositor_glyphs,
+};
+
+static const cairo_compositor_t _cairo_xcb_render_compositor = {
+    &_cairo_xcb_fallback_compositor,
+
+    _cairo_xcb_render_compositor_paint,
+    _cairo_xcb_render_compositor_mask,
+    _cairo_xcb_render_compositor_stroke,
+    _cairo_xcb_render_compositor_fill,
+    _cairo_xcb_render_compositor_glyphs,
+};
+
+static inline const cairo_compositor_t *
+get_compositor (cairo_surface_t **s)
+{
+    cairo_xcb_surface_t *surface = (cairo_xcb_surface_t * )*s;
+    if (surface->fallback) {
+       *s = &surface->fallback->base;
+       return ((cairo_image_surface_t *) *s)->compositor;
+    }
+
+    return &_cairo_xcb_render_compositor;
+}
+
+static cairo_int_status_t
 _cairo_xcb_surface_paint (void                 *abstract_surface,
                          cairo_operator_t       op,
                          const cairo_pattern_t *source,
                          const cairo_clip_t    *clip)
 {
-    cairo_xcb_surface_t *surface = abstract_surface;
-    cairo_composite_rectangles_t composite;
+    cairo_surface_t *surface = abstract_surface;
+    const cairo_compositor_t *compositor = get_compositor (&surface);
     cairo_int_status_t status;
 
-    status = _cairo_composite_rectangles_init_for_paint (&composite,
-                                                        &surface->base,
-                                                        op, source,
-                                                        clip);
+    status = cairo_device_acquire (surface->device);
     if (unlikely (status))
        return status;
 
-    if (surface->fallback == NULL) {
-       status = _cairo_xcb_surface_cairo_paint (surface, op, source, clip);
-       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
-           goto done;
-
-       status = _cairo_xcb_surface_render_paint (surface, op, source,
-                                                 &composite);
-       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
-           goto done;
+    status = _cairo_surface_shadow_paint (surface, op, source, clip,
+                                         &source->shadow);
+    if (unlikely (status) ||
+       source->shadow.draw_shadow_only) {
+       cairo_device_release (surface->device);
+       return status;
     }
 
-    status = _cairo_surface_paint (_cairo_xcb_surface_fallback (surface,
-                                                               &composite),
-                                  op, source, clip);
-
-done:
-    _cairo_composite_rectangles_fini (&composite);
+    status = _cairo_compositor_paint (compositor, surface, op, source, clip);
+    cairo_device_release (surface->device);
     return status;
 }
 
@@ -873,34 +1004,24 @@ _cairo_xcb_surface_mask (void                    *abstract_surface,
                         const cairo_pattern_t  *mask,
                         const cairo_clip_t     *clip)
 {
-    cairo_xcb_surface_t *surface = abstract_surface;
-    cairo_composite_rectangles_t composite;
+    cairo_surface_t *surface = abstract_surface;
+    const cairo_compositor_t *compositor = get_compositor (&surface);
     cairo_int_status_t status;
 
-    status = _cairo_composite_rectangles_init_for_mask (&composite,
-                                                       &surface->base,
-                                                       op, source, mask, clip);
+    status = cairo_device_acquire (surface->device);
     if (unlikely (status))
        return status;
 
-    if (surface->fallback == NULL) {
-       status =  _cairo_xcb_surface_cairo_mask (surface,
-                                                op, source, mask, clip);
-       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
-           goto done;
-
-       status =  _cairo_xcb_surface_render_mask (surface,
-                                                 op, source, mask, &composite);
-       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
-           goto done;
+    status = _cairo_surface_shadow_mask (surface, op, source, mask, clip,
+                                         &source->shadow);
+    if (unlikely (status) ||
+       source->shadow.draw_shadow_only) {
+       cairo_device_release (surface->device);
+       return status;
     }
 
-    status = _cairo_surface_mask (_cairo_xcb_surface_fallback (surface,
-                                                              &composite),
-                                 op, source, mask,
-                                 clip);
-done:
-    _cairo_composite_rectangles_fini (&composite);
+    status = _cairo_compositor_mask (compositor, surface, op, source, mask, clip);
+    cairo_device_release (surface->device);
     return status;
 }
 
@@ -916,47 +1037,48 @@ _cairo_xcb_surface_stroke (void                          *abstract_surface,
                           cairo_antialias_t             antialias,
                           const cairo_clip_t           *clip)
 {
-    cairo_xcb_surface_t *surface = abstract_surface;
-    cairo_composite_rectangles_t composite;
+    cairo_surface_t *surface = abstract_surface;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
+    const cairo_compositor_t *compositor = get_compositor (&surface);
     cairo_int_status_t status;
 
-    status = _cairo_composite_rectangles_init_for_stroke (&composite,
-                                                         &surface->base,
-                                                         op, source,
-                                                         path, style, ctm,
-                                                         clip);
+    status = cairo_device_acquire (surface->device);
     if (unlikely (status))
        return status;
 
-    if (surface->fallback == NULL) {
-       status = _cairo_xcb_surface_cairo_stroke (surface, op, source,
-                                                 path, style,
-                                                 ctm, ctm_inverse,
-                                                 tolerance, antialias,
-                                                 clip);
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_stroke (surface, op, source, path,
+                                              style, ctm, ctm_inverse,
+                                              tolerance, antialias, clip,
+                                              &source->shadow);
 
-       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
-           goto done;
+    if (unlikely (status)) {
+       cairo_device_release (surface->device);
+       return status;
+    }
 
-       status = _cairo_xcb_surface_render_stroke (surface, op, source,
-                                                  path, style,
-                                                  ctm, ctm_inverse,
-                                                  tolerance, antialias,
-                                                  &composite);
+    if (shadow_type == CAIRO_SHADOW_DROP &&
+       source->shadow.draw_shadow_only) {
+       cairo_device_release (surface->device);
+       return status;
+    }
 
-       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
-           goto done;
+    if (! source->shadow.draw_shadow_only)
+       status = _cairo_compositor_stroke (compositor, surface, op, source,
+                                          path, style, ctm, ctm_inverse,
+                                          tolerance, antialias, clip);
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->device);
+       return status;
     }
 
-    status = _cairo_surface_stroke (_cairo_xcb_surface_fallback (surface,
-                                                                &composite),
-                                   op, source,
-                                   path, style,
-                                   ctm, ctm_inverse,
-                                   tolerance, antialias,
-                                   clip);
-done:
-    _cairo_composite_rectangles_fini (&composite);
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_stroke (surface, op, source, path,
+                                              style, ctm, ctm_inverse,
+                                              tolerance, antialias, clip,
+                                              &source->shadow);
+    cairo_device_release (surface->device);
     return status;
 }
 
@@ -970,41 +1092,54 @@ _cairo_xcb_surface_fill (void                    *abstract_surface,
                         cairo_antialias_t       antialias,
                         const cairo_clip_t     *clip)
 {
-    cairo_xcb_surface_t *surface = abstract_surface;
-    cairo_composite_rectangles_t composite;
+    cairo_surface_t *surface = abstract_surface;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
+    const cairo_compositor_t *compositor = get_compositor (&surface);
     cairo_int_status_t status;
 
-    status = _cairo_composite_rectangles_init_for_fill (&composite,
-                                                       &surface->base,
-                                                       op, source, path,
-                                                       clip);
+    status = cairo_device_acquire (surface->device);
     if (unlikely (status))
        return status;
 
-    if (surface->fallback == NULL) {
-       status = _cairo_xcb_surface_cairo_fill (surface, op, source,
-                                               path, fill_rule,
-                                               tolerance, antialias,
-                                               clip);
-       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
-           goto done;
-
-       status = _cairo_xcb_surface_render_fill (surface, op, source,
-                                                path, fill_rule,
-                                                tolerance, antialias,
-                                                &composite);
-       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
-           goto done;
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_fill (surface, op, source, path,
+                                            fill_rule, tolerance,
+                                            antialias, clip,
+                                            &source->shadow);
+    if (unlikely (status)) {
+       cairo_device_release (surface->device);
+       return status;
     }
 
-    status = _cairo_surface_fill (_cairo_xcb_surface_fallback (surface,
-                                                              &composite),
-                                 op, source,
-                                 path, fill_rule,
-                                 tolerance, antialias,
-                                 clip);
-done:
-    _cairo_composite_rectangles_fini (&composite);
+    if (shadow_type == CAIRO_SHADOW_DROP &&
+       source->shadow.draw_shadow_only) {
+       cairo_device_release (surface->device);
+       return status;
+    }
+
+    if (! source->shadow.draw_shadow_only) {
+       if (! source->shadow.path_is_fill_with_spread ||
+           source->shadow.type != CAIRO_SHADOW_INSET)
+           status = _cairo_compositor_fill (compositor, surface, op,
+                                            source, path, fill_rule,
+                                            tolerance, antialias, clip);
+       else
+           status = _cairo_compositor_paint (compositor, surface, op,
+                                             source, clip);
+    }
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_fill (surface, op, source, path,
+                                            fill_rule, tolerance,
+                                            antialias, clip,
+                                            &source->shadow);
+
+    cairo_device_release (surface->device);
     return status;
 }
 
@@ -1017,46 +1152,49 @@ _cairo_xcb_surface_glyphs (void                         *abstract_surface,
                           cairo_scaled_font_t          *scaled_font,
                           const cairo_clip_t           *clip)
 {
-    cairo_xcb_surface_t *surface = abstract_surface;
-    cairo_composite_rectangles_t composite;
+    cairo_surface_t *surface = abstract_surface;
+    cairo_shadow_type_t shadow_type = source->shadow.type;
+    const cairo_compositor_t *compositor = get_compositor (&surface);
     cairo_int_status_t status;
-    cairo_bool_t overlap;
-
-    status = _cairo_composite_rectangles_init_for_glyphs (&composite,
-                                                         &surface->base,
-                                                         op, source,
-                                                         scaled_font,
-                                                         glyphs, num_glyphs,
-                                                         clip, &overlap);
+
+    status = cairo_device_acquire (surface->device);
     if (unlikely (status))
        return status;
 
-    if (surface->fallback == NULL) {
-       status = _cairo_xcb_surface_cairo_glyphs (surface,
-                                                 op, source,
-                                                 scaled_font, glyphs, num_glyphs,
-                                                 clip);
-       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
-           goto done;
-
-       status = _cairo_xcb_surface_render_glyphs (surface,
-                                                  op, source,
-                                                  scaled_font, glyphs, num_glyphs,
-                                                  &composite, overlap);
-       if (status != CAIRO_INT_STATUS_UNSUPPORTED)
-           goto done;
+    if (shadow_type != CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_glyphs (surface, op, source,
+                                              scaled_font,
+                                              glyphs, num_glyphs,
+                                              clip,
+                                              &source->shadow);
+    if (unlikely (status)) {
+       cairo_device_release (surface->device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_DROP &&
+       source->shadow.draw_shadow_only) {
+       cairo_device_release (surface->device);
+       return status;
     }
 
-    status =  _cairo_surface_show_text_glyphs (_cairo_xcb_surface_fallback (surface,
-                                                                           &composite),
-                                              op, source,
-                                              NULL, 0,
-                                              glyphs, num_glyphs,
-                                              NULL, 0, 0,
+    if (! source->shadow.draw_shadow_only)
+       status = _cairo_compositor_glyphs (compositor, surface, op,
+                                          source, glyphs, num_glyphs,
+                                          scaled_font, clip);
+
+    if (unlikely (status)) {
+       cairo_device_release (surface->device);
+       return status;
+    }
+
+    if (shadow_type == CAIRO_SHADOW_INSET)
+       status = _cairo_surface_shadow_glyphs (surface, op, source,
                                               scaled_font,
-                                              clip);
-done:
-    _cairo_composite_rectangles_fini (&composite);
+                                              glyphs, num_glyphs,
+                                              clip,
+                                              &source->shadow);
+    cairo_device_release (surface->device);
     return status;
 }
 
@@ -1149,8 +1287,13 @@ _cairo_xcb_screen_from_visual (xcb_connection_t *connection,
 {
     xcb_depth_iterator_t d;
     xcb_screen_iterator_t s;
+    xcb_setup_t *set_up = NULL;
+
+    set_up = xcb_get_setup (connection);
+    if(set_up == NULL)
+       return NULL;
 
-    s = xcb_setup_roots_iterator (xcb_get_setup (connection));
+    s = xcb_setup_roots_iterator (set_up);
     for (; s.rem; xcb_screen_next (&s)) {
        if (s.data->root_visual == visual->visual_id) {
            *depth = s.data->root_depth;
@@ -1415,7 +1558,8 @@ slim_hidden_def (cairo_xcb_surface_create_with_xrender_format);
 static void
 _drawable_changed (cairo_xcb_surface_t *surface)
 {
-    _cairo_surface_begin_modification (&surface->base);
+    _cairo_surface_set_error (&surface->base,
+           _cairo_surface_begin_modification (&surface->base));
     _cairo_boxes_clear (&surface->fallback_damage);
     cairo_surface_destroy (&surface->fallback->base);
 
index aaa71d5..9398079 100644 (file)
@@ -83,6 +83,7 @@ struct _fill_box {
     Display *dpy;
     Drawable drawable;
     GC gc;
+    //cairo_surface_t *dither = NULL;
 };
 
 static cairo_bool_t fill_box (cairo_box_t *box, void *closure)
@@ -128,27 +129,25 @@ color_to_pixel (cairo_xlib_surface_t    *dst,
 }
 
 static cairo_int_status_t
-fill_boxes (cairo_xlib_surface_t    *dst,
-           const cairo_color_t     *color,
-           cairo_boxes_t           *boxes)
+_fill_box_init (struct _fill_box *fb,
+               cairo_xlib_surface_t *dst,
+               const cairo_color_t *color)
 {
-    cairo_surface_t *dither = NULL;
-    cairo_status_t status;
-    struct _fill_box fb;
+    cairo_int_status_t status;
 
-    status = _cairo_xlib_surface_get_gc (dst->display, dst, &fb.gc);
+    status = _cairo_xlib_surface_get_gc (dst->display, dst, &fb->gc);
     if (unlikely (status))
         return status;
 
-    fb.dpy = dst->display->display;
-    fb.drawable = dst->drawable;
+    fb->dpy = dst->display->display;
+    fb->drawable = dst->drawable;
 
     if (dst->visual && dst->visual->class != TrueColor && 0) {
+#if 0
        cairo_solid_pattern_t solid;
        cairo_surface_attributes_t attrs;
 
        _cairo_pattern_init_solid (&solid, color);
-#if 0
        status = _cairo_pattern_acquire_surface (&solid.base, &dst->base,
                                                 0, 0,
                                                 ARRAY_LENGTH (dither_pattern[0]),
@@ -160,27 +159,70 @@ fill_boxes (cairo_xlib_surface_t    *dst,
            _cairo_xlib_surface_put_gc (dst->display, dst, fb.gc);
            return status;
        }
-#endif
 
-       XSetTSOrigin (fb.dpy, fb.gc,
+       XSetTSOrigin (fb->dpy, fb->gc,
                      - (dst->base.device_transform.x0 + attrs.x_offset),
                      - (dst->base.device_transform.y0 + attrs.y_offset));
-       XSetTile (fb.dpy, fb.gc, ((cairo_xlib_surface_t *) dither)->drawable);
+       XSetTile (fb->dpy, fb->gc, ((cairo_xlib_surface_t *) dither)->drawable);
+#endif
     } else {
        XGCValues gcv;
 
        gcv.foreground = color_to_pixel (dst, color);
        gcv.fill_style = FillSolid;
 
-       XChangeGC (fb.dpy, fb.gc, GCFillStyle | GCForeground, &gcv);
+       XChangeGC (fb->dpy, fb->gc, GCFillStyle | GCForeground, &gcv);
     }
 
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+static void
+_fill_box_fini (struct _fill_box *fb,
+               cairo_xlib_surface_t *dst)
+{
+    _cairo_xlib_surface_put_gc (dst->display, dst, fb->gc);
+    //cairo_surface_destroy (fb->dither);
+}
+
+cairo_int_status_t
+_cairo_xlib_core_fill_boxes (cairo_xlib_surface_t    *dst,
+                            const cairo_color_t     *color,
+                            cairo_boxes_t          *boxes)
+{
+    cairo_int_status_t status;
+    struct _fill_box fb;
+
+    status = _fill_box_init (&fb, dst, color);
+    if (unlikely (status))
+        return status;
+
     _cairo_boxes_for_each_box (boxes, fill_box, &fb);
 
-    _cairo_xlib_surface_put_gc (dst->display, dst, fb.gc);
+    _fill_box_fini (&fb, dst);
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_int_status_t
+_cairo_xlib_core_fill_rectangles (cairo_xlib_surface_t    *dst,
+                                 const cairo_color_t     *color,
+                                 int num_rects,
+                                 cairo_rectangle_int_t *rects)
+{
+    cairo_int_status_t status;
+    struct _fill_box fb;
+    int i;
+
+    status = _fill_box_init (&fb, dst, color);
+    if (unlikely (status))
+        return status;
 
-    cairo_surface_destroy (dither);
+    for (i = 0; i < num_rects; i++)
+       XFillRectangle (fb.dpy, fb.drawable, fb.gc,
+                       rects[i].x, rects[i].y,
+                       rects[i].width, rects[i].height);
 
+    _fill_box_fini (&fb, dst);
     return CAIRO_STATUS_SUCCESS;
 }
 
@@ -495,9 +537,8 @@ draw_boxes (cairo_composite_rectangles_t *extents,
        return status;
 
     if (src->type == CAIRO_PATTERN_TYPE_SOLID) {
-       status = fill_boxes (dst,
-                            &((cairo_solid_pattern_t *) src)->color,
-                            boxes);
+       status = _cairo_xlib_core_fill_boxes
+           (dst, &((cairo_solid_pattern_t *) src)->color, boxes);
     } else {
        status = upload_image_inplace (dst, src, boxes);
        if (status == CAIRO_INT_STATUS_UNSUPPORTED)
old mode 100644 (file)
new mode 100755 (executable)
index e685c7c..cc82b3a
@@ -63,6 +63,8 @@ _cairo_xlib_display_finish (void *abstract_display)
     cairo_xlib_display_t *display = abstract_display;
     Display *dpy = display->display;
 
+    _cairo_xlib_display_fini_shm (display);
+
     if (! cairo_device_acquire (&display->base)) {
        cairo_xlib_error_func_t old_handler;
 
@@ -128,9 +130,10 @@ _cairo_xlib_close_display (Display *dpy, XExtCodes *codes)
     }
     CAIRO_MUTEX_UNLOCK (_cairo_xlib_display_mutex);
 
-    display->display = NULL; /* catch any later invalid access */
-    cairo_device_destroy (&display->base);
-
+    if (display) {
+       display->display = NULL; /* catch any later invalid access */
+       cairo_device_destroy (&display->base);
+    }
     /* Return value in accordance with requirements of
      * XESetCloseDisplay */
     return 0;
@@ -147,15 +150,18 @@ static const cairo_device_backend_t _cairo_xlib_device_backend = {
     _cairo_xlib_display_destroy,
 };
 
-
 static void _cairo_xlib_display_select_compositor (cairo_xlib_display_t *display)
 {
+#if 0
     if (display->render_major > 0 || display->render_minor >= 4)
        display->compositor = _cairo_xlib_traps_compositor_get ();
     else if (display->render_major > 0 || display->render_minor >= 0)
        display->compositor = _cairo_xlib_mask_compositor_get ();
     else
        display->compositor = _cairo_xlib_core_compositor_get ();
+#else
+    display->compositor = _cairo_xlib_fallback_compositor_get ();
+#endif
 }
 
 /**
@@ -208,6 +214,13 @@ _cairo_xlib_device_create (Display *dpy)
        goto UNLOCK;
     }
 
+    _cairo_device_init (&display->base, &_cairo_xlib_device_backend);
+
+    display->display = dpy;
+    cairo_list_init (&display->screens);
+    cairo_list_init (&display->fonts);
+    display->closed = FALSE;
+
     /* Xlib calls out to the extension close_display hooks in LIFO
      * order. So we have to ensure that all extensions that we depend
      * on in our close_display hook are properly initialized before we
@@ -235,23 +248,6 @@ _cairo_xlib_device_create (Display *dpy)
 
     _cairo_xlib_display_select_compositor (display);
 
-    codes = XAddExtension (dpy);
-    if (unlikely (codes == NULL)) {
-       device = _cairo_device_create_in_error (CAIRO_STATUS_NO_MEMORY);
-       free (display);
-       goto UNLOCK;
-    }
-
-    _cairo_device_init (&display->base, &_cairo_xlib_device_backend);
-
-    XESetCloseDisplay (dpy, codes->extension, _cairo_xlib_close_display);
-
-    cairo_device_reference (&display->base); /* add one for the CloseDisplay */
-    display->display = dpy;
-    cairo_list_init (&display->screens);
-    cairo_list_init (&display->fonts);
-    display->closed = FALSE;
-
     display->white = NULL;
     memset (display->alpha, 0, sizeof (display->alpha));
     memset (display->solid, 0, sizeof (display->solid));
@@ -263,6 +259,8 @@ _cairo_xlib_device_create (Display *dpy)
 
     display->force_precision = -1;
 
+    _cairo_xlib_display_init_shm (display);
+
     /* Prior to Render 0.10, there is no protocol support for gradients and
      * we call function stubs instead, which would silently consume the drawing.
      */
@@ -318,7 +316,7 @@ _cairo_xlib_device_create (Display *dpy)
      *    safest to just blacklist all old-versioning-scheme X servers,
      *    (just using VendorRelease < 70000000), as buggy_repeat=TRUE.
      */
-    if (strstr (ServerVendor (dpy), "X.Org") != NULL) {
+    if (_cairo_xlib_vendor_is_xorg (dpy)) {
        if (VendorRelease (dpy) >= 60700000) {
            if (VendorRelease (dpy) < 70000000)
                display->buggy_repeat = TRUE;
@@ -345,6 +343,17 @@ _cairo_xlib_device_create (Display *dpy)
        display->buggy_pad_reflect = TRUE;
     }
 
+    codes = XAddExtension (dpy);
+    if (unlikely (codes == NULL)) {
+       device = _cairo_device_create_in_error (CAIRO_STATUS_NO_MEMORY);
+       free (display->shm);
+       free (display);
+       goto UNLOCK;
+    }
+
+    XESetCloseDisplay (dpy, codes->extension, _cairo_xlib_close_display);
+    cairo_device_reference (&display->base); /* add one for the CloseDisplay */
+
     display->next = _cairo_xlib_display_list;
     _cairo_xlib_display_list = display;
 
@@ -365,7 +374,7 @@ _cairo_xlib_display_acquire (cairo_device_t *device, cairo_xlib_display_t **disp
         return status;
 
     *display = (cairo_xlib_display_t *) device;
-    return status;
+    return CAIRO_STATUS_SUCCESS;
 }
 
 XRenderPictFormat *
@@ -492,7 +501,7 @@ _cairo_xlib_display_get_xrender_format (cairo_xlib_display_t        *display,
 
     xrender_format = display->cached_xrender_formats[format];
     if (xrender_format == NULL) {
-       int pict_format;
+       int pict_format = PictStandardNUM;
 
        switch (format) {
        case CAIRO_FORMAT_A1:
@@ -515,9 +524,9 @@ _cairo_xlib_display_get_xrender_format (cairo_xlib_display_t        *display,
        case CAIRO_FORMAT_ARGB32:
            pict_format = PictStandardARGB32; break;
        }
-       if (!xrender_format)
-           xrender_format = XRenderFindStandardFormat (display->display,
-                                                       pict_format);
+       if (pict_format != PictStandardNUM)
+           xrender_format =
+               XRenderFindStandardFormat (display->display, pict_format);
        display->cached_xrender_formats[format] = xrender_format;
     }
 
index 7d45cd1..ed2845d 100644 (file)
 #include "cairo-xlib-private.h"
 
 #include "cairo-compositor-private.h"
+#include "cairo-image-surface-private.h"
+#include "cairo-surface-offset-private.h"
+
+static const cairo_compositor_t *
+_get_compositor (cairo_surface_t *surface)
+{
+    return ((cairo_image_surface_t *)surface)->compositor;
+}
+
+static cairo_bool_t
+unclipped (cairo_xlib_surface_t *xlib, cairo_clip_t *clip)
+{
+    cairo_rectangle_int_t r;
+
+    r.x = r.y = 0;
+    r.width = xlib->width;
+    r.height = xlib->height;
+    return _cairo_clip_contains_rectangle (clip, &r);
+}
+
+static cairo_int_status_t
+_cairo_xlib_shm_compositor_paint (const cairo_compositor_t     *_compositor,
+                                 cairo_composite_rectangles_t  *extents)
+{
+    cairo_xlib_surface_t *xlib = (cairo_xlib_surface_t *)extents->surface;
+    cairo_int_status_t status;
+    cairo_surface_t *shm;
+    cairo_bool_t overwrite;
+
+    TRACE ((stderr, "%s\n", __FUNCTION__));
+
+    overwrite =
+       extents->op <= CAIRO_OPERATOR_SOURCE && unclipped (xlib, extents->clip);
+
+    shm = _cairo_xlib_surface_get_shm (xlib, overwrite);
+    if (shm == NULL)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    status = _cairo_compositor_paint (_get_compositor (shm), shm,
+                                     extents->op,
+                                     &extents->source_pattern.base,
+                                     extents->clip);
+    if (unlikely (status))
+       return status;
+
+    xlib->base.is_clear =
+       extents->op == CAIRO_OPERATOR_CLEAR && unclipped (xlib, extents->clip);
+    xlib->base.serial++;
+    xlib->fallback++;
+    return CAIRO_INT_STATUS_NOTHING_TO_DO;
+}
+
+static cairo_int_status_t
+_cairo_xlib_shm_compositor_mask (const cairo_compositor_t      *_compositor,
+                                cairo_composite_rectangles_t   *extents)
+{
+    cairo_xlib_surface_t *xlib = (cairo_xlib_surface_t *)extents->surface;
+    cairo_int_status_t status;
+    cairo_surface_t *shm;
+
+    TRACE ((stderr, "%s\n", __FUNCTION__));
+
+    shm = _cairo_xlib_surface_get_shm (xlib, FALSE);
+    if (shm == NULL)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    status = _cairo_compositor_mask (_get_compositor (shm), shm,
+                                    extents->op,
+                                    &extents->source_pattern.base,
+                                    &extents->mask_pattern.base,
+                                    extents->clip);
+    if (unlikely (status))
+       return status;
+
+    xlib->base.is_clear = FALSE;
+    xlib->base.serial++;
+    xlib->fallback++;
+    return CAIRO_INT_STATUS_NOTHING_TO_DO;
+}
+
+static cairo_int_status_t
+_cairo_xlib_shm_compositor_stroke (const cairo_compositor_t    *_compositor,
+                                  cairo_composite_rectangles_t *extents,
+                                  const cairo_path_fixed_t     *path,
+                                  const cairo_stroke_style_t   *style,
+                                  const cairo_matrix_t         *ctm,
+                                  const cairo_matrix_t         *ctm_inverse,
+                                  double                        tolerance,
+                                  cairo_antialias_t             antialias)
+{
+    cairo_xlib_surface_t *xlib = (cairo_xlib_surface_t *)extents->surface;
+    cairo_int_status_t status;
+    cairo_surface_t *shm;
+
+    TRACE ((stderr, "%s\n", __FUNCTION__));
+
+    shm = _cairo_xlib_surface_get_shm (xlib, FALSE);
+    if (shm == NULL)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    status = _cairo_compositor_stroke (_get_compositor (shm), shm,
+                                      extents->op,
+                                      &extents->source_pattern.base,
+                                      path, style,
+                                      ctm, ctm_inverse,
+                                      tolerance,
+                                      antialias,
+                                      extents->clip);
+    if (unlikely (status))
+       return status;
+
+    xlib->base.is_clear = FALSE;
+    xlib->base.serial++;
+    xlib->fallback++;
+    return CAIRO_INT_STATUS_NOTHING_TO_DO;
+}
+
+static cairo_int_status_t
+_cairo_xlib_shm_compositor_fill (const cairo_compositor_t      *_compositor,
+                                cairo_composite_rectangles_t *extents,
+                                const cairo_path_fixed_t       *path,
+                                cairo_fill_rule_t               fill_rule,
+                                double                          tolerance,
+                                cairo_antialias_t               antialias)
+{
+    cairo_xlib_surface_t *xlib = (cairo_xlib_surface_t *)extents->surface;
+    cairo_int_status_t status;
+    cairo_surface_t *shm;
+
+    TRACE ((stderr, "%s\n", __FUNCTION__));
+
+    shm = _cairo_xlib_surface_get_shm (xlib, FALSE);
+    if (shm == NULL)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    status = _cairo_compositor_fill (_get_compositor (shm), shm,
+                                    extents->op,
+                                    &extents->source_pattern.base,
+                                    path,
+                                    fill_rule, tolerance, antialias,
+                                    extents->clip);
+    if (unlikely (status))
+       return status;
+
+    xlib->base.is_clear = FALSE;
+    xlib->base.serial++;
+    xlib->fallback++;
+    return CAIRO_INT_STATUS_NOTHING_TO_DO;
+}
+
+static cairo_int_status_t
+_cairo_xlib_shm_compositor_glyphs (const cairo_compositor_t    *_compositor,
+                                  cairo_composite_rectangles_t *extents,
+                                  cairo_scaled_font_t          *scaled_font,
+                                  cairo_glyph_t                *glyphs,
+                                  int                           num_glyphs,
+                                  cairo_bool_t                  overlap)
+{
+    cairo_xlib_surface_t *xlib = (cairo_xlib_surface_t *)extents->surface;
+    cairo_int_status_t status;
+    cairo_surface_t *shm;
+
+    TRACE ((stderr, "%s\n", __FUNCTION__));
+
+    shm = _cairo_xlib_surface_get_shm (xlib, FALSE);
+    if (shm == NULL)
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    status = _cairo_compositor_glyphs (_get_compositor (shm), shm,
+                                      extents->op,
+                                      &extents->source_pattern.base,
+                                      glyphs, num_glyphs, scaled_font,
+                                      extents->clip);
+    if (unlikely (status))
+       return status;
+
+    xlib->base.is_clear = FALSE;
+    xlib->base.serial++;
+    xlib->fallback++;
+    return CAIRO_INT_STATUS_NOTHING_TO_DO;
+}
+
+static const cairo_compositor_t _cairo_xlib_shm_compositor = {
+     &_cairo_fallback_compositor,
+
+     _cairo_xlib_shm_compositor_paint,
+     _cairo_xlib_shm_compositor_mask,
+     _cairo_xlib_shm_compositor_stroke,
+     _cairo_xlib_shm_compositor_fill,
+     _cairo_xlib_shm_compositor_glyphs,
+};
 
 const cairo_compositor_t *
 _cairo_xlib_fallback_compositor_get (void)
 {
-    /* XXX Do something interesting here to mitigate fallbacks ala xcb */
-    return &_cairo_fallback_compositor;
+    return &_cairo_xlib_shm_compositor;
 }
 
 #endif /* !CAIRO_HAS_XLIB_XCB_FUNCTIONS */
index 4522832..4fd725f 100644 (file)
 #include "cairo-surface-private.h"
 
 #include <pixman.h>
+#include <string.h>
 
 typedef struct _cairo_xlib_display cairo_xlib_display_t;
+typedef struct _cairo_xlib_shm_display cairo_xlib_shm_display_t;
 typedef struct _cairo_xlib_screen cairo_xlib_screen_t;
 typedef struct _cairo_xlib_source cairo_xlib_source_t;
+typedef struct _cairo_xlib_proxy cairo_xlib_proxy_t;
 typedef struct _cairo_xlib_surface cairo_xlib_surface_t;
 
 /* size of color cube */
@@ -72,6 +75,8 @@ struct _cairo_xlib_display {
     cairo_list_t screens;
     cairo_list_t fonts;
 
+    cairo_xlib_shm_display_t *shm;
+
     const cairo_compositor_t *compositor;
 
     int render_major;
@@ -166,15 +171,17 @@ struct _cairo_xlib_surface {
     cairo_surface_t base;
 
     Picture picture;
+    Drawable drawable;
 
     const cairo_compositor_t *compositor;
+    cairo_surface_t *shm;
+    int fallback;
 
     cairo_xlib_display_t *display;
     cairo_xlib_screen_t *screen;
     cairo_list_t link;
 
     Display *dpy; /* only valid between acquire/release */
-    Drawable drawable;
     cairo_bool_t owns_pixmap;
     Visual *visual;
 
@@ -196,6 +203,7 @@ struct _cairo_xlib_surface {
        cairo_surface_t base;
 
        Picture picture;
+       Pixmap pixmap;
        Display *dpy;
 
        unsigned int filter:3;
@@ -205,6 +213,18 @@ struct _cairo_xlib_surface {
     } embedded_source;
 };
 
+struct _cairo_xlib_proxy {
+    struct _cairo_xlib_source source;
+    cairo_surface_t *owner;
+};
+
+inline static cairo_bool_t
+_cairo_xlib_vendor_is_xorg (Display *dpy)
+{
+    const char *const vendor = ServerVendor (dpy);
+    return strstr (vendor, "X.Org") || strstr (vendor, "Xorg");
+}
+
 cairo_private cairo_status_t
 _cairo_xlib_surface_get_gc (cairo_xlib_display_t *display,
                             cairo_xlib_surface_t *surface,
@@ -213,6 +233,12 @@ _cairo_xlib_surface_get_gc (cairo_xlib_display_t *display,
 cairo_private cairo_device_t *
 _cairo_xlib_device_create (Display *display);
 
+cairo_private void
+_cairo_xlib_display_init_shm (cairo_xlib_display_t *display);
+
+cairo_private void
+_cairo_xlib_display_fini_shm (cairo_xlib_display_t *display);
+
 cairo_private cairo_xlib_screen_t *
 _cairo_xlib_display_get_screen (cairo_xlib_display_t *display,
                                Screen *screen);
@@ -370,6 +396,17 @@ _cairo_xlib_surface_same_screen (cairo_xlib_surface_t *dst,
     return dst->screen == src->screen;
 }
 
+cairo_private cairo_int_status_t
+_cairo_xlib_core_fill_boxes (cairo_xlib_surface_t    *dst,
+                            const cairo_color_t     *color,
+                            cairo_boxes_t          *boxes);
+
+cairo_private cairo_int_status_t
+_cairo_xlib_core_fill_rectangles (cairo_xlib_surface_t    *dst,
+                                 const cairo_color_t     *color,
+                                 int num_rects,
+                                 cairo_rectangle_int_t *rects);
+
 static inline void
 _cairo_xlib_surface_put_gc (cairo_xlib_display_t *display,
                             cairo_xlib_surface_t *surface,
@@ -381,4 +418,51 @@ _cairo_xlib_surface_put_gc (cairo_xlib_display_t *display,
                               gc);
 }
 
+cairo_private cairo_surface_t *
+_cairo_xlib_surface_create_similar_shm (void *surface,
+                                       cairo_format_t format,
+                                       int width, int height);
+
+cairo_private cairo_surface_t *
+_cairo_xlib_surface_get_shm (cairo_xlib_surface_t *surface,
+                            cairo_bool_t overwrite);
+
+cairo_private cairo_int_status_t
+_cairo_xlib_surface_put_shm (cairo_xlib_surface_t *surface);
+
+cairo_private cairo_surface_t *
+_cairo_xlib_surface_create_shm (cairo_xlib_surface_t *other,
+                               pixman_format_code_t format,
+                               int width, int height);
+
+cairo_private cairo_surface_t *
+_cairo_xlib_surface_create_shm__image (cairo_xlib_surface_t *surface,
+                                      pixman_format_code_t format,
+                                      int width, int height);
+
+cairo_private void
+_cairo_xlib_shm_surface_get_ximage (cairo_surface_t *surface,
+                                   XImage *ximage);
+
+cairo_private void *
+_cairo_xlib_shm_surface_get_obdata (cairo_surface_t *surface);
+
+cairo_private void
+_cairo_xlib_shm_surface_mark_active (cairo_surface_t *shm);
+
+cairo_private cairo_bool_t
+_cairo_xlib_shm_surface_is_active (cairo_surface_t *surface);
+
+cairo_private cairo_bool_t
+_cairo_xlib_shm_surface_is_idle (cairo_surface_t *surface);
+
+cairo_private Pixmap
+_cairo_xlib_shm_surface_get_pixmap (cairo_surface_t *surface);
+
+cairo_private XRenderPictFormat *
+_cairo_xlib_shm_surface_get_xrender_format (cairo_surface_t *surface);
+
+cairo_private pixman_format_code_t
+_pixman_format_for_xlib_surface (cairo_xlib_surface_t *surface);
+
 #endif /* CAIRO_XLIB_PRIVATE_H */
old mode 100644 (file)
new mode 100755 (executable)
index a892985..05cde70
@@ -47,6 +47,7 @@
 #include "cairo-xlib-private.h"
 
 #include "cairo-compositor-private.h"
+#include "cairo-damage-private.h"
 #include "cairo-image-surface-private.h"
 #include "cairo-list-inline.h"
 #include "cairo-pattern-private.h"
 #include "cairo-tristrip-private.h"
 
 static cairo_int_status_t
+check_composite (const cairo_composite_rectangles_t *extents)
+{
+    cairo_xlib_display_t *display = ((cairo_xlib_surface_t *)extents->surface)->display;
+
+    if (! CAIRO_RENDER_SUPPORTS_OPERATOR (display, extents->op))
+       return CAIRO_INT_STATUS_UNSUPPORTED;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static cairo_int_status_t
 acquire (void *abstract_dst)
 {
     cairo_xlib_surface_t *dst = abstract_dst;
@@ -125,14 +137,227 @@ set_clip_region (void *_surface,
 }
 
 static cairo_int_status_t
+copy_image_boxes (void *_dst,
+                 cairo_image_surface_t *image,
+                 cairo_boxes_t *boxes,
+                 int dx, int dy)
+{
+    cairo_xlib_surface_t *dst = _dst;
+    struct _cairo_boxes_chunk *chunk;
+    cairo_int_status_t status;
+    Pixmap src;
+    GC gc;
+    int i, j;
+
+    assert (image->depth == dst->depth);
+
+    status = acquire (dst);
+    if (unlikely (status))
+       return status;
+
+    status = _cairo_xlib_surface_get_gc (dst->display, dst, &gc);
+    if (unlikely (status)) {
+       release (dst);
+       return status;
+    }
+
+    src = _cairo_xlib_shm_surface_get_pixmap (&image->base);
+    if (boxes->num_boxes == 1) {
+       int x1 = _cairo_fixed_integer_part (boxes->chunks.base[0].p1.x);
+       int y1 = _cairo_fixed_integer_part (boxes->chunks.base[0].p1.y);
+       int x2 = _cairo_fixed_integer_part (boxes->chunks.base[0].p2.x);
+       int y2 = _cairo_fixed_integer_part (boxes->chunks.base[0].p2.y);
+
+       _cairo_xlib_shm_surface_mark_active (&image->base);
+       XCopyArea (dst->dpy, src, dst->drawable, gc,
+                  x1 + dx, y1 + dy,
+                  x2 - x1, y2 - y1,
+                  x1,      y1);
+    } else {
+       XRectangle stack_rects[CAIRO_STACK_ARRAY_LENGTH (XRectangle)];
+       XRectangle *rects = stack_rects;
+
+       if (boxes->num_boxes > ARRAY_LENGTH (stack_rects)) {
+           rects = _cairo_malloc_ab (boxes->num_boxes, sizeof (XRectangle));
+           if (unlikely (rects == NULL))
+               return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+       }
+
+       j = 0;
+       for (chunk = &boxes->chunks; chunk; chunk = chunk->next) {
+           for (i = 0; i < chunk->count; i++) {
+               int x1 = _cairo_fixed_integer_part (chunk->base[i].p1.x);
+               int y1 = _cairo_fixed_integer_part (chunk->base[i].p1.y);
+               int x2 = _cairo_fixed_integer_part (chunk->base[i].p2.x);
+               int y2 = _cairo_fixed_integer_part (chunk->base[i].p2.y);
+
+               if (x2 > x1 && y2 > y1) {
+                   rects[j].x = x1;
+                   rects[j].y = y1;
+                   rects[j].width  = x2 - x1;
+                   rects[j].height = y2 - y1;
+                   j++;
+               }
+           }
+       }
+
+       XSetClipRectangles (dst->dpy, gc, 0, 0, rects, j, Unsorted);
+       _cairo_xlib_shm_surface_mark_active (&image->base);
+       XCopyArea (dst->dpy, src, dst->drawable, gc,
+                  0, 0, image->width, image->height, -dx, -dy);
+       XSetClipMask (dst->dpy, gc, None);
+
+       if (rects != stack_rects)
+           free (rects);
+    }
+
+    _cairo_xlib_surface_put_gc (dst->display, dst, gc);
+    release (dst);
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static cairo_bool_t
+boxes_cover_surface (cairo_boxes_t *boxes,
+                    cairo_xlib_surface_t *surface)
+{
+    cairo_box_t *b;
+
+    if (boxes->num_boxes != 1)
+           return FALSE;
+
+    b = &boxes->chunks.base[0];
+
+    if (_cairo_fixed_integer_part (b->p1.x) > 0 ||
+       _cairo_fixed_integer_part (b->p1.y) > 0)
+       return FALSE;
+
+    if (_cairo_fixed_integer_part (b->p2.x) < surface->width ||
+       _cairo_fixed_integer_part (b->p2.y) < surface->height)
+       return FALSE;
+
+    return TRUE;
+}
+
+static cairo_int_status_t
 draw_image_boxes (void *_dst,
                  cairo_image_surface_t *image,
                  cairo_boxes_t *boxes,
                  int dx, int dy)
 {
+    cairo_xlib_surface_t *dst = _dst;
     struct _cairo_boxes_chunk *chunk;
+    cairo_image_surface_t *shm = NULL;
+    cairo_int_status_t status;
     int i;
 
+    if (image->base.device == dst->base.device) {
+       if (image->depth != dst->depth)
+           return CAIRO_INT_STATUS_UNSUPPORTED;
+
+       if (_cairo_xlib_shm_surface_get_pixmap (&image->base))
+           return copy_image_boxes (dst, image, boxes, dx, dy);
+
+       goto draw_image_boxes;
+    }
+
+    if (boxes_cover_surface (boxes, dst))
+       shm = (cairo_image_surface_t *) _cairo_xlib_surface_get_shm (dst, TRUE);
+    if (shm) {
+       for (chunk = &boxes->chunks; chunk; chunk = chunk->next) {
+           for (i = 0; i < chunk->count; i++) {
+               cairo_box_t *b = &chunk->base[i];
+               cairo_rectangle_int_t r;
+
+               r.x = _cairo_fixed_integer_part (b->p1.x);
+               r.y = _cairo_fixed_integer_part (b->p1.y);
+               r.width = _cairo_fixed_integer_part (b->p2.x) - r.x;
+               r.height = _cairo_fixed_integer_part (b->p2.y) - r.y;
+
+               if (shm->pixman_format != image->pixman_format ||
+                   ! pixman_blt ((uint32_t *)image->data, (uint32_t *)shm->data,
+                                 image->stride / sizeof (uint32_t),
+                                 shm->stride / sizeof (uint32_t),
+                                 PIXMAN_FORMAT_BPP (image->pixman_format),
+                                 PIXMAN_FORMAT_BPP (shm->pixman_format),
+                                 r.x + dx, r.y + dy,
+                                 r.x, r.y,
+                                 r.width, r.height))
+               {
+                   pixman_image_composite32 (PIXMAN_OP_SRC,
+                                             image->pixman_image, NULL, shm->pixman_image,
+                                             r.x + dx, r.y + dy,
+                                             0, 0,
+                                             r.x, r.y,
+                                             r.width, r.height);
+               }
+
+               shm->base.damage =
+                   _cairo_damage_add_rectangle (shm->base.damage, &r);
+           }
+       }
+       dst->base.is_clear = FALSE;
+       dst->fallback++;
+       dst->base.serial++;
+       return CAIRO_INT_STATUS_NOTHING_TO_DO;
+    }
+
+    if (image->depth == dst->depth &&
+       ((cairo_xlib_display_t *)dst->display)->shm) {
+       cairo_box_t extents;
+       cairo_rectangle_int_t r;
+
+       _cairo_boxes_extents (boxes, &extents);
+       _cairo_box_round_to_rectangle (&extents, &r);
+
+       shm = (cairo_image_surface_t *)
+           _cairo_xlib_surface_create_shm (dst, image->pixman_format,
+                                           r.width, r.height);
+       if (shm) {
+           int tx = -r.x, ty = -r.y;
+
+           assert (shm->pixman_format == image->pixman_format);
+           for (chunk = &boxes->chunks; chunk; chunk = chunk->next) {
+               for (i = 0; i < chunk->count; i++) {
+                   cairo_box_t *b = &chunk->base[i];
+
+                   r.x = _cairo_fixed_integer_part (b->p1.x);
+                   r.y = _cairo_fixed_integer_part (b->p1.y);
+                   r.width  = _cairo_fixed_integer_part (b->p2.x) - r.x;
+                   r.height = _cairo_fixed_integer_part (b->p2.y) - r.y;
+
+                   if (! pixman_blt ((uint32_t *)image->data, (uint32_t *)shm->data,
+                                     image->stride / sizeof (uint32_t),
+                                     shm->stride / sizeof (uint32_t),
+                                     PIXMAN_FORMAT_BPP (image->pixman_format),
+                                     PIXMAN_FORMAT_BPP (shm->pixman_format),
+                                     r.x + dx, r.y + dy,
+                                     r.x + tx, r.y + ty,
+                                     r.width, r.height))
+                   {
+                       pixman_image_composite32 (PIXMAN_OP_SRC,
+                                                 image->pixman_image, NULL, shm->pixman_image,
+                                                 r.x + dx, r.y + dy,
+                                                 0, 0,
+                                                 r.x + tx, r.y + ty,
+                                                 r.width, r.height);
+                   }
+               }
+           }
+
+           dx = tx;
+           dy = ty;
+           image = shm;
+
+           if (_cairo_xlib_shm_surface_get_pixmap (&image->base)) {
+               status = copy_image_boxes (dst, image, boxes, dx, dy);
+               if (status != CAIRO_INT_STATUS_UNSUPPORTED)
+                   goto out;
+           }
+       }
+    }
+
+draw_image_boxes:
+    status = CAIRO_STATUS_SUCCESS;
     for (chunk = &boxes->chunks; chunk; chunk = chunk->next) {
        for (i = 0; i < chunk->count; i++) {
            cairo_box_t *b = &chunk->base[i];
@@ -140,15 +365,19 @@ draw_image_boxes (void *_dst,
            int y1 = _cairo_fixed_integer_part (b->p1.y);
            int x2 = _cairo_fixed_integer_part (b->p2.x);
            int y2 = _cairo_fixed_integer_part (b->p2.y);
-           if ( _cairo_xlib_surface_draw_image (_dst, image,
-                                                x1 + dx, y1 + dy,
-                                                x2 - x1, y2 - y1,
-                                                x1, y1))
-               return CAIRO_INT_STATUS_UNSUPPORTED;
+           if (_cairo_xlib_surface_draw_image (dst, image,
+                                               x1 + dx, y1 + dy,
+                                               x2 - x1, y2 - y1,
+                                               x1, y1)) {
+               status = CAIRO_INT_STATUS_UNSUPPORTED;
+               goto out;
+           }
        }
     }
 
-    return CAIRO_STATUS_SUCCESS;
+out:
+    cairo_surface_destroy (&shm->base);
+    return status;
 }
 
 static cairo_int_status_t
@@ -163,6 +392,7 @@ copy_boxes (void *_dst,
     struct _cairo_boxes_chunk *chunk;
     cairo_int_status_t status;
     GC gc;
+    Drawable d;
     int i, j;
 
     if (! _cairo_xlib_surface_same_screen  (dst, src))
@@ -181,11 +411,18 @@ copy_boxes (void *_dst,
        return status;
     }
 
-    if (! src->owns_pixmap) {
-       XGCValues gcv;
+    if (src->fallback && src->shm->damage->dirty) {
+       assert (src != dst);
+       d = _cairo_xlib_shm_surface_get_pixmap (src->shm);
+       assert (d != 0);
+    } else {
+       if (! src->owns_pixmap) {
+           XGCValues gcv;
 
-       gcv.subwindow_mode = IncludeInferiors;
-       XChangeGC (dst->display->display, gc, GCSubwindowMode, &gcv);
+           gcv.subwindow_mode = IncludeInferiors;
+           XChangeGC (dst->display->display, gc, GCSubwindowMode, &gcv);
+       }
+       d = src->drawable;
     }
 
     if (boxes->num_boxes == 1) {
@@ -194,7 +431,7 @@ copy_boxes (void *_dst,
        int x2 = _cairo_fixed_integer_part (boxes->chunks.base[0].p2.x);
        int y2 = _cairo_fixed_integer_part (boxes->chunks.base[0].p2.y);
 
-       XCopyArea (dst->dpy, src->drawable, dst->drawable, gc,
+       XCopyArea (dst->dpy, d, dst->drawable, gc,
                   x1 + dx, y1 + dy,
                   x2 - x1, y2 - y1,
                   x1,      y1);
@@ -215,7 +452,7 @@ copy_boxes (void *_dst,
                    int y1 = _cairo_fixed_integer_part (chunk->base[i].p1.y);
                    int x2 = _cairo_fixed_integer_part (chunk->base[i].p2.x);
                    int y2 = _cairo_fixed_integer_part (chunk->base[i].p2.y);
-                   XCopyArea (dst->dpy, src->drawable, dst->drawable, gc,
+                   XCopyArea (dst->dpy, d, dst->drawable, gc,
                               x1 + dx, y1 + dy,
                               x2 - x1, y2 - y1,
                               x1,      y1);
@@ -250,7 +487,7 @@ copy_boxes (void *_dst,
 
            XSetClipRectangles (dst->dpy, gc, 0, 0, rects, j, Unsorted);
 
-           XCopyArea (dst->dpy, src->drawable, dst->drawable, gc,
+           XCopyArea (dst->dpy, d, dst->drawable, gc,
                       extents->x + dx, extents->y + dy,
                       extents->width,  extents->height,
                       extents->x,      extents->y);
@@ -262,7 +499,9 @@ copy_boxes (void *_dst,
        }
     }
 
-    if (! src->owns_pixmap) {
+    if (src->fallback && src->shm->damage->dirty) {
+       _cairo_xlib_shm_surface_mark_active (src->shm);
+    } else if (! src->owns_pixmap) {
        XGCValues gcv;
 
        gcv.subwindow_mode = ClipByChildren;
@@ -375,14 +614,23 @@ fill_rectangles (void                             *abstract_surface,
 
     //X_DEBUG ((display->display, "fill_rectangles (dst=%x)", (unsigned int) surface->drawable));
 
+    if (fill_reduces_to_source (op, color, dst))
+       op = CAIRO_OPERATOR_SOURCE;
+
+    if (!CAIRO_RENDER_HAS_FILL_RECTANGLES(dst->display)) {
+       cairo_int_status_t status;
+
+       status = CAIRO_INT_STATUS_UNSUPPORTED;
+       if (op == CAIRO_OPERATOR_SOURCE)
+           status = _cairo_xlib_core_fill_rectangles (dst, color, num_rects, rects);
+       return status;
+    }
+
     render_color.red   = color->red_short;
     render_color.green = color->green_short;
     render_color.blue  = color->blue_short;
     render_color.alpha = color->alpha_short;
 
-    if (fill_reduces_to_source (op, color, dst))
-       op = CAIRO_OPERATOR_SOURCE;
-
     _cairo_xlib_surface_ensure_picture (dst);
     if (num_rects == 1) {
        /* Take advantage of the protocol compaction that libXrender performs
@@ -432,14 +680,23 @@ fill_boxes (void          *abstract_surface,
     cairo_xlib_surface_t *dst = abstract_surface;
     XRenderColor render_color;
 
+    if (fill_reduces_to_source (op, color, dst))
+       op = CAIRO_OPERATOR_SOURCE;
+
+    if (!CAIRO_RENDER_HAS_FILL_RECTANGLES(dst->display)) {
+       cairo_int_status_t status;
+
+       status = CAIRO_INT_STATUS_UNSUPPORTED;
+       if (op == CAIRO_OPERATOR_SOURCE)
+           status = _cairo_xlib_core_fill_boxes (dst, color, boxes);
+       return status;
+    }
+
     render_color.red   = color->red_short;
     render_color.green = color->green_short;
     render_color.blue  = color->blue_short;
     render_color.alpha = color->alpha_short;
 
-    if (fill_reduces_to_source (op, color, dst))
-       op = CAIRO_OPERATOR_SOURCE;
-
     _cairo_xlib_surface_ensure_picture (dst);
     if (boxes->num_boxes == 1) {
        int x1 = _cairo_fixed_integer_part (boxes->chunks.base[0].p1.x);
@@ -866,6 +1123,9 @@ _cairo_xlib_font_get_glyphset_info_for_format (cairo_xlib_display_t *display,
     if (info->glyphset == None) {
        info->xrender_format =
            _cairo_xlib_display_get_xrender_format (display, info->format);
+       if (info->xrender_format == NULL)
+           return NULL;
+
        info->glyphset = XRenderCreateGlyphSet (display->display,
                                                info->xrender_format);
     }
@@ -960,6 +1220,10 @@ _cairo_xlib_surface_add_glyph (cairo_xlib_display_t *display,
 
     info = _cairo_xlib_font_get_glyphset_info_for_format (display, font,
                                                          glyph_surface->format);
+    if (info == NULL) {
+       status = _cairo_error (CAIRO_STATUS_NULL_POINTER);
+       goto BAIL;
+    }
 
 #if 0
     /* If the glyph surface has zero height or width, we create
@@ -992,8 +1256,10 @@ _cairo_xlib_surface_add_glyph (cairo_xlib_display_t *display,
                                                  glyph_surface->width,
                                                  glyph_surface->height);
        status = tmp_surface->status;
-       if (unlikely (status))
+       if (unlikely (status)) {
+           cairo_surface_destroy (tmp_surface);
            goto BAIL;
+       }
 
        tmp_surface->device_transform = glyph_surface->base.device_transform;
        tmp_surface->device_transform_inverse = glyph_surface->base.device_transform_inverse;
@@ -1267,6 +1533,8 @@ check_composite_glyphs (const cairo_composite_rectangles_t *extents,
     cairo_xlib_display_t *display = dst->display;
     int max_request_size, size;
 
+    TRACE ((stderr, "%s\n", __FUNCTION__));
+
     if (! CAIRO_RENDER_SUPPORTS_OPERATOR (display, extents->op))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
@@ -1338,6 +1606,11 @@ composite_glyphs (void                           *surface,
 
     op = _render_operator (op),
     _cairo_xlib_surface_ensure_picture (dst);
+
+#if CAIRO_HAS_TG_SURFACE
+    _cairo_scaled_font_freeze_cache(info->font);
+#endif
+
     for (i = 0; i < num_glyphs; i++) {
        int this_x, this_y;
        int old_width;
@@ -1347,7 +1620,7 @@ composite_glyphs (void                            *surface,
                                             CAIRO_SCALED_GLYPH_INFO_METRICS,
                                             &glyph);
        if (unlikely (status))
-           return status;
+           goto done;
 
        this_x = _cairo_lround (glyphs[i].d.x);
        this_y = _cairo_lround (glyphs[i].d.y);
@@ -1356,7 +1629,7 @@ composite_glyphs (void                            *surface,
        if (glyph->dev_private_key != display) {
            status = _cairo_xlib_surface_add_glyph (display, info->font, &glyph);
            if (unlikely (status))
-               return status;
+               goto done;
        }
 
        this_glyphset_info = glyph->dev_private;
@@ -1408,7 +1681,7 @@ composite_glyphs (void                            *surface,
                                         op, src, src_x, src_y,
                                         num_elts, old_width, glyphset);
            if (unlikely (status))
-               return status;
+               goto done;
 
            glyphs += i;
            num_glyphs -= i;
@@ -1453,6 +1726,11 @@ composite_glyphs (void                           *surface,
                                     num_elts, width, glyphset);
     }
 
+done:
+#if CAIRO_HAS_TG_SURFACE
+    _cairo_scaled_font_thaw_cache(info->font);
+#endif
+
     return status;
 }
 
@@ -1473,7 +1751,7 @@ _cairo_xlib_mask_compositor_get (void)
        compositor.fill_rectangles = fill_rectangles;
        compositor.fill_boxes = fill_boxes;
        compositor.copy_boxes = copy_boxes;
-       //compositor.check_composite = check_composite;
+       compositor.check_composite = check_composite;
        compositor.composite = composite;
        //compositor.check_composite_boxes = check_composite_boxes;
        compositor.composite_boxes = composite_boxes;
@@ -1704,17 +1982,6 @@ composite_tristrip (void         *abstract_dst,
     return CAIRO_STATUS_SUCCESS;
 }
 
-static cairo_int_status_t
-check_composite (const cairo_composite_rectangles_t *extents)
-{
-    cairo_xlib_display_t *display = ((cairo_xlib_surface_t *)extents->surface)->display;
-
-    if (! CAIRO_RENDER_SUPPORTS_OPERATOR (display, extents->op))
-       return CAIRO_INT_STATUS_UNSUPPORTED;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
 const cairo_compositor_t *
 _cairo_xlib_traps_compositor_get (void)
 {
@@ -1734,6 +2001,8 @@ _cairo_xlib_traps_compositor_get (void)
        compositor.check_composite = check_composite;
        compositor.composite = composite;
        compositor.lerp = lerp;
+       //FIXME:
+       compositor.lerp_color_glyph = lerp;
        //compositor.check_composite_boxes = check_composite_boxes;
        compositor.composite_boxes = composite_boxes;
        //compositor.check_composite_traps = check_composite_traps;
index 57beeaa..119603e 100644 (file)
@@ -417,6 +417,7 @@ _cairo_xlib_screen_get_visual_info (cairo_xlib_display_t *display,
 {
     cairo_xlib_visual_info_t *visual;
     cairo_status_t status;
+    int screen_number;
 
     cairo_list_foreach_entry (visual,
                               cairo_xlib_visual_info_t,
@@ -429,8 +430,12 @@ _cairo_xlib_screen_get_visual_info (cairo_xlib_display_t *display,
        }
     }
 
+    screen_number = XScreenNumberOfScreen (info->screen);
+    if (screen_number < 0)
+       return CAIRO_STATUS_NEGATIVE_COUNT;
+
     status = _cairo_xlib_visual_info_create (display->display,
-                                            XScreenNumberOfScreen (info->screen),
+                                            screen_number,
                                             v->visualid,
                                             &visual);
     if (unlikely (status))
index f8dac70..4e9babd 100644 (file)
@@ -46,7 +46,7 @@
 #include "cairo-xlib-surface-private.h"
 
 #include "cairo-error-private.h"
-#include "cairo-image-surface-private.h"
+#include "cairo-image-surface-inline.h"
 #include "cairo-paginated-private.h"
 #include "cairo-pattern-inline.h"
 #include "cairo-recording-surface-private.h"
@@ -71,26 +71,49 @@ _cairo_xlib_source_finish (void *abstract_surface)
     cairo_xlib_source_t *source = abstract_surface;
 
     XRenderFreePicture (source->dpy, source->picture);
+    if (source->pixmap)
+           XFreePixmap (source->dpy, source->pixmap);
     return CAIRO_STATUS_SUCCESS;
 }
 
 static const cairo_surface_backend_t cairo_xlib_source_backend = {
-    CAIRO_SURFACE_TYPE_IMAGE,
+    CAIRO_SURFACE_TYPE_XLIB,
     _cairo_xlib_source_finish,
     NULL, /* read-only wrapper */
 };
 
+static cairo_status_t
+_cairo_xlib_proxy_finish (void *abstract_surface)
+{
+    cairo_xlib_proxy_t *proxy = abstract_surface;
+
+    _cairo_xlib_shm_surface_mark_active (proxy->owner);
+    XRenderFreePicture (proxy->source.dpy, proxy->source.picture);
+    if (proxy->source.pixmap)
+           XFreePixmap (proxy->source.dpy, proxy->source.pixmap);
+    cairo_surface_destroy (proxy->owner);
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static const cairo_surface_backend_t cairo_xlib_proxy_backend = {
+    CAIRO_SURFACE_TYPE_XLIB,
+    _cairo_xlib_proxy_finish,
+    NULL, /* read-only wrapper */
+};
+
 static cairo_surface_t *
-source (cairo_xlib_surface_t *dst, Picture picture)
+source (cairo_xlib_surface_t *dst, Picture picture, Pixmap pixmap)
 {
     cairo_xlib_source_t *source;
 
     if (picture == None)
        return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
 
-    source = malloc (sizeof (cairo_image_surface_t));
+    source = malloc (sizeof (*source));
     if (unlikely (source == NULL)) {
        XRenderFreePicture (dst->display->display, picture);
+       if (pixmap)
+               XFreePixmap (dst->display->display, pixmap);
        return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
     }
 
@@ -101,6 +124,7 @@ source (cairo_xlib_surface_t *dst, Picture picture)
 
     /* The source exists only within an operation */
     source->picture = picture;
+    source->pixmap = pixmap;
     source->dpy = dst->display->display;
 
     return &source->base;
@@ -259,8 +283,9 @@ render_pattern (cairo_xlib_surface_t *dst,
 {
     Display *dpy = dst->display->display;
     cairo_xlib_surface_t *src;
-    cairo_surface_t *image;
+    cairo_image_surface_t *image;
     cairo_status_t status;
+    cairo_rectangle_int_t map_extents;
 
     src = (cairo_xlib_surface_t *)
        _cairo_surface_create_similar_scratch (&dst->base,
@@ -272,11 +297,20 @@ render_pattern (cairo_xlib_surface_t *dst,
        return None;
     }
 
-    image = cairo_surface_map_to_image (&src->base, NULL);
-    status = _cairo_surface_offset_paint (image, extents->x, extents->y,
+    map_extents = *extents;
+    map_extents.x = map_extents.y = 0;
+
+    image = _cairo_surface_map_to_image (&src->base, &map_extents);
+    status = _cairo_surface_offset_paint (&image->base, extents->x, extents->y,
                                          CAIRO_OPERATOR_SOURCE, pattern,
                                          NULL);
-    cairo_surface_unmap_image (&src->base, image);
+    status = _cairo_surface_unmap_image (&src->base, image);
+    if (unlikely (status)) {
+       cairo_surface_destroy (&src->base);
+       return _cairo_surface_create_in_error (status);
+    }
+
+    status = _cairo_xlib_surface_put_shm (src);
     if (unlikely (status)) {
        cairo_surface_destroy (&src->base);
        return _cairo_surface_create_in_error (status);
@@ -291,7 +325,6 @@ render_pattern (cairo_xlib_surface_t *dst,
     return &src->base;
 }
 
-
 static cairo_surface_t *
 gradient_source (cairo_xlib_surface_t *dst,
                 const cairo_gradient_pattern_t *gradient,
@@ -407,22 +440,65 @@ gradient_source (cairo_xlib_surface_t *dst,
        return render_pattern (dst, &gradient->base, is_mask, extents, src_x, src_y);
     }
 
-    return source (dst, picture);
+    return source (dst, picture, None);
 }
 
 static cairo_surface_t *
 color_source (cairo_xlib_surface_t *dst, const cairo_color_t *color)
 {
-    XRenderColor xrender_color;
+    Display *dpy = dst->display->display;
+    XRenderColor xcolor;
+    Picture picture;
+    Pixmap pixmap = None;
+
+    xcolor.red   = color->red_short;
+    xcolor.green = color->green_short;
+    xcolor.blue  = color->blue_short;
+    xcolor.alpha = color->alpha_short;
+
+    if (CAIRO_RENDER_HAS_GRADIENTS(dst->display)) {
+       picture = XRenderCreateSolidFill (dpy, &xcolor);
+    } else {
+       XRenderPictureAttributes pa;
+       int mask = 0;
+
+       pa.repeat = RepeatNormal;
+       mask |= CPRepeat;
 
-    xrender_color.red   = color->red_short;
-    xrender_color.green = color->green_short;
-    xrender_color.blue  = color->blue_short;
-    xrender_color.alpha = color->alpha_short;
+       pixmap = XCreatePixmap (dpy, dst->drawable, 1, 1, 32);
+       picture = XRenderCreatePicture (dpy, pixmap,
+                                       _cairo_xlib_display_get_xrender_format (dst->display, CAIRO_FORMAT_ARGB32),
+                                       mask, &pa);
+
+       if (CAIRO_RENDER_HAS_FILL_RECTANGLES(dst->display)) {
+           XRectangle r = { 0, 0, 1, 1};
+           XRenderFillRectangles (dpy, PictOpSrc, picture, &xcolor, &r, 1);
+       } else {
+           XGCValues gcv;
+           GC gc;
+
+           gc = _cairo_xlib_screen_get_gc (dst->display, dst->screen,
+                                           32, pixmap);
+           if (unlikely (gc == NULL)) {
+               XFreePixmap (dpy, pixmap);
+               return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
+           }
+
+           gcv.foreground = 0;
+           gcv.foreground |= color->alpha_short >> 8 << 24;
+           gcv.foreground |= color->red_short   >> 8 << 16;
+           gcv.foreground |= color->green_short >> 8 << 8;
+           gcv.foreground |= color->blue_short  >> 8 << 0;
+           gcv.fill_style = FillSolid;
+
+           XChangeGC (dpy, gc, GCFillStyle | GCForeground, &gcv);
+           XFillRectangle (dpy, pixmap, gc, 0, 0, 1, 1);
+
+           _cairo_xlib_screen_put_gc (dst->display, dst->screen, 32, gc);
+       }
+    }
 
-    return source (dst,
-                  XRenderCreateSolidFill (dst->display->display,
-                                          &xrender_color));
+    return source (dst, picture, pixmap);
 }
 
 static cairo_surface_t *
@@ -534,24 +610,15 @@ solid_source (cairo_xlib_surface_t *dst,
        return transparent_source (dst, color);
 }
 
-static cairo_surface_t *
-embedded_source (cairo_xlib_surface_t *dst,
-                const cairo_surface_pattern_t *pattern,
-                cairo_xlib_surface_t *src,
-                const cairo_rectangle_int_t *extents,
-                int *src_x, int *src_y)
+static cairo_xlib_source_t *init_source (cairo_xlib_surface_t *dst,
+                                        cairo_xlib_surface_t *src)
 {
-    cairo_xlib_source_t *source;
     Display *dpy = dst->display->display;
-    cairo_int_status_t status;
-    XTransform xtransform;
-    XRenderPictureAttributes pa;
-    unsigned mask = 0;
+    cairo_xlib_source_t *source = &src->embedded_source;
 
     /* As these are frequent and meant to be fast, we track pictures for
      * native surface and minimise update requests.
      */
-    source = &src->embedded_source;
     if (source->picture == None) {
        XRenderPictureAttributes pa;
 
@@ -572,6 +639,22 @@ embedded_source (cairo_xlib_surface_t *dst,
        source->extend = CAIRO_EXTEND_NONE;
     }
 
+    return (cairo_xlib_source_t *) cairo_surface_reference (&source->base);
+}
+
+static cairo_surface_t *
+embedded_source (cairo_xlib_surface_t *dst,
+                const cairo_surface_pattern_t *pattern,
+                const cairo_rectangle_int_t *extents,
+                int *src_x, int *src_y,
+                cairo_xlib_source_t *source)
+{
+    Display *dpy = dst->display->display;
+    cairo_int_status_t status;
+    XTransform xtransform;
+    XRenderPictureAttributes pa;
+    unsigned mask = 0;
+
     status = _cairo_matrix_to_pixman_matrix_offset (&pattern->base.matrix,
                                                    pattern->base.filter,
                                                    extents->x + extents->width / 2,
@@ -610,7 +693,7 @@ embedded_source (cairo_xlib_surface_t *dst,
     if (mask)
        XRenderChangePicture (dpy, source->picture, mask, &pa);
 
-    return cairo_surface_reference (&source->base);
+    return &source->base;
 }
 
 static cairo_surface_t *
@@ -638,6 +721,9 @@ subsurface_source (cairo_xlib_surface_t *dst,
        sample->y + sample->height <= sub->extents.height)
     {
        src = (cairo_xlib_surface_t *) sub->target;
+       status = _cairo_surface_flush (&src->base, 0);
+       if (unlikely (status))
+           return _cairo_surface_create_in_error (status);
 
        if (pattern->base.filter == CAIRO_FILTER_NEAREST &&
            _cairo_matrix_is_translation (&pattern->base.matrix))
@@ -654,8 +740,8 @@ subsurface_source (cairo_xlib_surface_t *dst,
            local_pattern.base.matrix.x0 += sub->extents.x;
            local_pattern.base.matrix.y0 += sub->extents.y;
            local_pattern.base.extend = CAIRO_EXTEND_NONE;
-           return embedded_source (dst, &local_pattern, src, extents,
-                                   src_x, src_y);
+           return embedded_source (dst, &local_pattern, extents,
+                                   src_x, src_y, init_source (dst, src));
        }
     }
 
@@ -746,7 +832,8 @@ native_source (cairo_xlib_surface_t *dst,
               const cairo_rectangle_int_t *sample,
               int *src_x, int *src_y)
 {
-    cairo_xlib_surface_t *src = (cairo_xlib_surface_t *) pattern->surface;
+    cairo_xlib_surface_t *src;
+    cairo_int_status_t status;
 
     if (_cairo_surface_is_subsurface (pattern->surface))
        return subsurface_source (dst, pattern, is_mask,
@@ -754,6 +841,9 @@ native_source (cairo_xlib_surface_t *dst,
                                  src_x, src_y);
 
     src = unwrap_source (pattern);
+    status = _cairo_surface_flush (&src->base, 0);
+    if (unlikely (status))
+       return _cairo_surface_create_in_error (status);
 
     if (pattern->base.filter == CAIRO_FILTER_NEAREST &&
        sample->x >= 0 && sample->y >= 0 &&
@@ -767,65 +857,10 @@ native_source (cairo_xlib_surface_t *dst,
        return cairo_surface_reference (&src->base);
     }
 
-    return embedded_source (dst, pattern, src, extents, src_x, src_y);
+    return embedded_source (dst, pattern, extents, src_x, src_y,
+                           init_source (dst, src));
 }
 
-#if 0
-/* It is general quicker if we let the application choose which images
- * to cache for itself and only upload the fragments required for this
- * operation.
- */
-static cairo_surface_t *
-image_source (cairo_xlib_surface_t *dst,
-             const cairo_surface_pattern_t *pattern,
-             const cairo_rectangle_int_t *extents,
-             int *src_x, int *src_y)
-{
-    cairo_image_surface_t *src = (cairo_image_surface_t *) pattern->surface;
-    cairo_xlib_surface_t *snapshot;
-    cairo_surface_pattern_t local_pattern;
-    cairo_status_t status;
-
-    snapshot = (cairo_xlib_surface_t *)
-       _cairo_surface_has_snapshot (&src->base, dst->base.backend);
-    if (snapshot == NULL || snapshot->screen != dst->screen) {
-       if (snapshot)
-           _cairo_surface_detach_snapshot (&snapshot->base);
-
-       snapshot = (cairo_xlib_surface_t *)
-           _cairo_surface_create_similar_scratch (&dst->base,
-                                                  src->base.content,
-                                                  src->width,
-                                                  src->height);
-       if (snapshot->base.type != CAIRO_SURFACE_TYPE_XLIB) {
-           cairo_surface_destroy (&snapshot->base);
-           return _cairo_surface_create_in_error (CAIRO_STATUS_NO_MEMORY);
-       }
-
-       status = _cairo_xlib_surface_draw_image (snapshot, src,
-                                                0, 0,
-                                                src->width, src->height,
-                                                0, 0);
-       if (unlikely (status)) {
-           cairo_surface_destroy (&snapshot->base);
-           return _cairo_surface_create_in_error (status);
-       }
-
-       _cairo_surface_attach_snapshot (&src->base,
-                                       &snapshot->base,
-                                       cairo_surface_finish);
-
-       /* reference remains held by the snapshot from image */
-       cairo_surface_destroy (&snapshot->base);
-    }
-
-    local_pattern = *pattern;
-    local_pattern.surface = &snapshot->base;
-
-    return native_source (dst, &local_pattern, extents, src_x, src_y);
-}
-#endif
-
 static cairo_surface_t *
 recording_pattern_get_surface (const cairo_pattern_t *pattern)
 {
@@ -908,52 +943,115 @@ surface_source (cairo_xlib_surface_t *dst,
                const cairo_rectangle_int_t *sample,
                int *src_x, int *src_y)
 {
-    cairo_xlib_surface_t *src;
-    cairo_surface_t *image;
+    cairo_surface_t *src;
+    cairo_xlib_surface_t *xsrc;
     cairo_surface_pattern_t local_pattern;
     cairo_status_t status;
     cairo_rectangle_int_t upload, limit;
-    cairo_matrix_t m;
+    XRenderPictFormat *format = NULL;
 
-    upload = *sample;
-    if (_cairo_surface_get_extents (pattern->surface, &limit) &&
-       ! _cairo_rectangle_intersect (&upload, &limit))
-    {
-       if (pattern->base.extend == CAIRO_EXTEND_NONE)
-           return alpha_source (dst, 0);
+    src = pattern->surface;
+    if (src->type == CAIRO_SURFACE_TYPE_IMAGE &&
+       src->device == dst->base.device &&
+       _cairo_xlib_shm_surface_get_pixmap (src)) {
+       cairo_xlib_proxy_t *proxy;
 
-       upload = limit;
+       proxy = malloc (sizeof(*proxy));
+       if (unlikely (proxy == NULL))
+           return _cairo_surface_create_in_error (CAIRO_STATUS_NO_MEMORY);
+
+       _cairo_surface_init (&proxy->source.base,
+                            &cairo_xlib_proxy_backend,
+                            dst->base.device,
+                            src->content);
+
+       proxy->source.dpy = dst->display->display;
+       format = _cairo_xlib_shm_surface_get_xrender_format(src);
+       if (format == NULL) {
+           free (proxy);
+           return _cairo_surface_create_in_error (CAIRO_STATUS_NULL_POINTER);
+       }
+
+       proxy->source.picture = XRenderCreatePicture (proxy->source.dpy,
+                                                     _cairo_xlib_shm_surface_get_pixmap (src),
+                                                     format,
+                                                     0, NULL);
+       proxy->source.pixmap = None;
+
+       proxy->source.has_component_alpha = 0;
+       proxy->source.has_matrix = 0;
+       proxy->source.filter = CAIRO_FILTER_NEAREST;
+       proxy->source.extend = CAIRO_EXTEND_NONE;
+       proxy->owner = cairo_surface_reference (src);
+
+       return embedded_source (dst, pattern, extents, src_x, src_y,
+                               &proxy->source);
     }
 
-    src = (cairo_xlib_surface_t *)
-       _cairo_surface_create_similar_scratch (&dst->base,
-                                              pattern->surface->content,
-                                              upload.width,
-                                              upload.height);
-    if (src->base.type != CAIRO_SURFACE_TYPE_XLIB) {
-       cairo_surface_destroy (&src->base);
-       return _cairo_surface_create_in_error (CAIRO_STATUS_NO_MEMORY);
+    upload = *sample;
+    if (_cairo_surface_get_extents (pattern->surface, &limit)) {
+       if (pattern->base.extend == CAIRO_EXTEND_NONE) {
+           if (! _cairo_rectangle_intersect (&upload, &limit))
+               return alpha_source (dst, 0);
+       } else {
+           if (upload.x < limit.x ||
+               upload.x + upload.width > limit.x + limit.width ||
+               upload.y < limit.y ||
+               upload.y + upload.height > limit.y + limit.height)
+           {
+               upload = limit;
+           }
+       }
+    }
+
+    xsrc = (cairo_xlib_surface_t *)
+           _cairo_surface_create_similar_scratch (&dst->base,
+                                                  src->content,
+                                                  upload.width,
+                                                  upload.height);
+    if (xsrc->base.type != CAIRO_SURFACE_TYPE_XLIB) {
+       cairo_surface_destroy (src);
+       cairo_surface_destroy (&xsrc->base);
+       return None;
     }
 
-    _cairo_pattern_init_for_surface (&local_pattern, pattern->surface);
-    cairo_matrix_init_translate (&local_pattern.base.matrix,
-                                upload.x, upload.y);
+    if (_cairo_surface_is_image (src)) {
+       status = _cairo_xlib_surface_draw_image (xsrc, (cairo_image_surface_t *)src,
+                                                upload.x, upload.y,
+                                                upload.width, upload.height,
+                                                0, 0);
+    } else {
+       cairo_image_surface_t *image;
+       cairo_rectangle_int_t map_extents = { 0,0, upload.width,upload.height };
 
-    image = cairo_surface_map_to_image (&src->base, NULL);
-    status = _cairo_surface_paint (image,
-                                  CAIRO_OPERATOR_SOURCE,
-                                  &local_pattern.base,
-                                  NULL);
-    cairo_surface_unmap_image (&src->base, image);
-    _cairo_pattern_fini (&local_pattern.base);
+       image = _cairo_surface_map_to_image (&xsrc->base, &map_extents);
 
-    if (unlikely (status)) {
-       cairo_surface_destroy (&src->base);
-       return _cairo_surface_create_in_error (status);
+       _cairo_pattern_init_for_surface (&local_pattern, pattern->surface);
+       cairo_matrix_init_translate (&local_pattern.base.matrix,
+                                    upload.x, upload.y);
+
+       status = _cairo_surface_paint (&image->base,
+                                      CAIRO_OPERATOR_SOURCE,
+                                      &local_pattern.base,
+                                      NULL);
+       _cairo_pattern_fini (&local_pattern.base);
+
+       status = _cairo_surface_unmap_image (&xsrc->base, image);
+       if (unlikely (status)) {
+           cairo_surface_destroy (&xsrc->base);
+           return _cairo_surface_create_in_error (status);
+       }
+
+       status = _cairo_xlib_surface_put_shm (xsrc);
+       if (unlikely (status)) {
+           cairo_surface_destroy (&xsrc->base);
+           return _cairo_surface_create_in_error (status);
+       }
     }
 
-    local_pattern.base.matrix = pattern->base.matrix;
+    _cairo_pattern_init_static_copy (&local_pattern.base, &pattern->base);
     if (upload.x | upload.y) {
+       cairo_matrix_t m;
        cairo_matrix_init_translate (&m, -upload.x, -upload.y);
        cairo_matrix_multiply (&local_pattern.base.matrix,
                               &local_pattern.base.matrix,
@@ -961,21 +1059,21 @@ surface_source (cairo_xlib_surface_t *dst,
     }
 
     *src_x = *src_y = 0;
-    _cairo_xlib_surface_ensure_picture (src);
-    if (! picture_set_properties (src->display,
-                                 src->picture,
-                                 &pattern->base,
+    _cairo_xlib_surface_ensure_picture (xsrc);
+    if (! picture_set_properties (xsrc->display,
+                                 xsrc->picture,
+                                 &local_pattern.base,
                                  &local_pattern.base.matrix,
                                  extents,
                                  src_x, src_y))
     {
-       cairo_surface_destroy (&src->base);
+       cairo_surface_destroy (&xsrc->base);
        return render_pattern (dst, &pattern->base,
                               is_mask, extents,
                               src_x, src_y);
     }
 
-    return &src->base;
+    return &xsrc->base;
 }
 
 static cairo_bool_t
@@ -1039,10 +1137,6 @@ _cairo_xlib_source_create_for_pattern (cairo_surface_t *_dst,
                return record_source (dst, spattern, is_mask,
                                      extents, sample,
                                      src_x, src_y);
-#if 0
-           if (spattern->surface->type == CAIRO_SURFACE_TYPE_IMAGE)
-               return image_source (dst, spattern, extents, src_x, src_y);
-#endif
 
            return surface_source (dst, spattern, is_mask,
                                   extents, sample,
diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c
new file mode 100644 (file)
index 0000000..fa7d3eb
--- /dev/null
@@ -0,0 +1,1459 @@
+/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright © 2012 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is University of Southern
+ * California.
+ *
+ * Contributor(s):
+ *     Chris Wilson <chris@chris-wilson.co.uk>
+ */
+
+#include "cairoint.h"
+
+#if !CAIRO_HAS_XLIB_XCB_FUNCTIONS
+
+#include "cairo-xlib-private.h"
+#include "cairo-xlib-surface-private.h"
+
+#if !HAVE_X11_EXTENSIONS_XSHM_H || !(HAVE_X11_EXTENSIONS_SHMPROTO_H || HAVE_X11_EXTENSIONS_SHMSTR_H)
+void _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) {}
+
+cairo_surface_t *
+_cairo_xlib_surface_get_shm (cairo_xlib_surface_t *surface,
+                            cairo_bool_t overwrite)
+{
+    return NULL;
+}
+
+cairo_int_status_t
+_cairo_xlib_surface_put_shm (cairo_xlib_surface_t *surface)
+{
+    assert (!surface->fallback);
+    return CAIRO_INT_STATUS_SUCCESS;
+}
+
+cairo_surface_t *
+_cairo_xlib_surface_create_shm (cairo_xlib_surface_t *other,
+                               pixman_format_code_t format,
+                               int width, int height)
+{
+    return NULL;
+}
+
+cairo_surface_t *
+_cairo_xlib_surface_create_shm__image (cairo_xlib_surface_t *surface,
+                                      pixman_format_code_t format,
+                                      int width, int height)
+{
+    return NULL;
+}
+
+cairo_surface_t *
+_cairo_xlib_surface_create_similar_shm (void *other,
+                                       cairo_format_t format,
+                                       int width, int height)
+{
+    return cairo_image_surface_create (format, width, height);
+}
+
+void
+_cairo_xlib_shm_surface_mark_active (cairo_surface_t *_shm)
+{
+    ASSERT_NOT_REACHED;
+}
+
+void
+_cairo_xlib_shm_surface_get_ximage (cairo_surface_t *surface,
+                                   XImage *ximage)
+{
+    ASSERT_NOT_REACHED;
+}
+
+void *
+_cairo_xlib_shm_surface_get_obdata (cairo_surface_t *surface)
+{
+    ASSERT_NOT_REACHED;
+    return NULL;
+}
+
+Pixmap
+_cairo_xlib_shm_surface_get_pixmap (cairo_surface_t *surface)
+{
+    ASSERT_NOT_REACHED;
+    return 0;
+}
+
+XRenderPictFormat *
+_cairo_xlib_shm_surface_get_xrender_format (cairo_surface_t *surface)
+{
+    ASSERT_NOT_REACHED;
+    return NULL;
+}
+
+cairo_bool_t
+_cairo_xlib_shm_surface_is_active (cairo_surface_t *surface)
+{
+    ASSERT_NOT_REACHED;
+    return FALSE;
+}
+
+cairo_bool_t
+_cairo_xlib_shm_surface_is_idle (cairo_surface_t *surface)
+{
+    ASSERT_NOT_REACHED;
+    return TRUE;
+}
+
+void _cairo_xlib_display_fini_shm (cairo_xlib_display_t *display) {}
+
+#else
+
+#include "cairo-damage-private.h"
+#include "cairo-default-context-private.h"
+#include "cairo-image-surface-private.h"
+#include "cairo-list-inline.h"
+#include "cairo-mempool-private.h"
+
+#include <X11/Xlibint.h>
+#include <X11/Xproto.h>
+#include <X11/extensions/XShm.h>
+#if HAVE_X11_EXTENSIONS_SHMPROTO_H
+#include <X11/extensions/shmproto.h>
+#elif HAVE_X11_EXTENSIONS_SHMSTR_H
+#include <X11/extensions/shmstr.h>
+#endif
+#include <sys/ipc.h>
+#include <sys/shm.h>
+
+#define MIN_PIXMAP_SIZE 4096
+
+#define MIN_BITS 8
+#define MIN_SIZE (1<<(MIN_BITS-1))
+
+typedef struct _cairo_xlib_shm cairo_xlib_shm_t;
+typedef struct _cairo_xlib_shm_info cairo_xlib_shm_info_t;
+typedef struct _cairo_xlib_shm_surface cairo_xlib_shm_surface_t;
+
+struct _cairo_xlib_shm {
+    cairo_mempool_t mem;
+
+    XShmSegmentInfo shm;
+    unsigned long attached;
+    cairo_list_t link;
+};
+
+struct _cairo_xlib_shm_info {
+    unsigned long last_request;
+    void *mem;
+    size_t size;
+    cairo_xlib_shm_t *pool;
+};
+
+struct _cairo_xlib_shm_surface {
+    cairo_image_surface_t image;
+
+    cairo_list_t link;
+    cairo_xlib_shm_info_t *info;
+    Pixmap pixmap;
+    unsigned long active;
+    int idle;
+};
+
+/* the parent is always given by index/2 */
+#define PQ_PARENT_INDEX(i) ((i) >> 1)
+#define PQ_FIRST_ENTRY 1
+
+/* left and right children are index * 2 and (index * 2) +1 respectively */
+#define PQ_LEFT_CHILD_INDEX(i) ((i) << 1)
+
+#define PQ_TOP(pq) ((pq)->elements[PQ_FIRST_ENTRY])
+
+struct pqueue {
+    int size, max_size;
+    cairo_xlib_shm_info_t **elements;
+};
+
+struct _cairo_xlib_shm_display {
+    int has_pixmaps;
+    int opcode;
+    int event;
+
+    Window window;
+    unsigned long last_request;
+    unsigned long last_event;
+
+    cairo_list_t surfaces;
+
+    cairo_list_t pool;
+    struct pqueue info;
+};
+
+static inline cairo_bool_t
+seqno_passed (unsigned long a, unsigned long b)
+{
+    return (long)(b - a) >= 0;
+}
+
+static inline cairo_bool_t
+seqno_before (unsigned long a, unsigned long b)
+{
+    return (long)(b - a) > 0;
+}
+
+static inline cairo_bool_t
+seqno_after (unsigned long a, unsigned long b)
+{
+    return (long)(a - b) > 0;
+}
+
+static inline cairo_status_t
+_pqueue_init (struct pqueue *pq)
+{
+    pq->max_size = 32;
+    pq->size = 0;
+
+    pq->elements = _cairo_malloc_ab (pq->max_size,
+                                    sizeof (cairo_xlib_shm_info_t *));
+    if (unlikely (pq->elements == NULL))
+       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+    PQ_TOP(pq) = NULL;
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static inline void
+_pqueue_fini (struct pqueue *pq)
+{
+    free (pq->elements);
+}
+
+static cairo_status_t
+_pqueue_grow (struct pqueue *pq)
+{
+    cairo_xlib_shm_info_t **new_elements;
+
+    new_elements = _cairo_realloc_ab (pq->elements,
+                                     2 * pq->max_size,
+                                     sizeof (cairo_xlib_shm_info_t *));
+    if (unlikely (new_elements == NULL))
+       return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+    pq->elements = new_elements;
+    pq->max_size *= 2;
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static void
+_pqueue_shrink (struct pqueue *pq, int min_size)
+{
+    cairo_xlib_shm_info_t **new_elements;
+
+    if (min_size > pq->max_size)
+       return;
+
+    new_elements = _cairo_realloc_ab (pq->elements,
+                                     min_size,
+                                     sizeof (cairo_xlib_shm_info_t *));
+    if (unlikely (new_elements == NULL))
+       return;
+
+    pq->elements = new_elements;
+    pq->max_size = min_size;
+}
+
+static inline cairo_status_t
+_pqueue_push (struct pqueue *pq, cairo_xlib_shm_info_t *info)
+{
+    cairo_xlib_shm_info_t **elements;
+    int i, parent;
+
+    if (unlikely (pq->size + 1 == pq->max_size)) {
+       cairo_status_t status;
+
+       status = _pqueue_grow (pq);
+       if (unlikely (status))
+           return status;
+    }
+
+    elements = pq->elements;
+
+    for (i = ++pq->size;
+        i != PQ_FIRST_ENTRY &&
+        info->last_request < elements[parent = PQ_PARENT_INDEX (i)]->last_request;
+        i = parent)
+    {
+       elements[i] = elements[parent];
+    }
+
+    elements[i] = info;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static inline void
+_pqueue_pop (struct pqueue *pq)
+{
+    cairo_xlib_shm_info_t **elements = pq->elements;
+    cairo_xlib_shm_info_t *tail;
+    int child, i;
+
+    tail = elements[pq->size--];
+    if (pq->size == 0) {
+       elements[PQ_FIRST_ENTRY] = NULL;
+       _pqueue_shrink (pq, 32);
+       return;
+    }
+
+    for (i = PQ_FIRST_ENTRY;
+        (child = PQ_LEFT_CHILD_INDEX (i)) <= pq->size;
+        i = child)
+    {
+       if (child != pq->size &&
+           elements[child+1]->last_request < elements[child]->last_request)
+       {
+           child++;
+       }
+
+       if (elements[child]->last_request >= tail->last_request)
+           break;
+
+       elements[i] = elements[child];
+    }
+    elements[i] = tail;
+}
+
+static cairo_bool_t _x_error_occurred;
+
+static int
+_check_error_handler (Display     *display,
+                    XErrorEvent *event)
+{
+    _x_error_occurred = TRUE;
+    return False; /* ignored */
+}
+
+static cairo_bool_t
+can_use_shm (Display *dpy, int *has_pixmap)
+{
+    XShmSegmentInfo shm;
+    int (*old_handler) (Display *display, XErrorEvent *event);
+    Status success;
+    int major, minor;
+
+    if (! XShmQueryExtension (dpy))
+       return FALSE;
+
+    XShmQueryVersion (dpy, &major, &minor, has_pixmap);
+
+    shm.shmid = shmget (IPC_PRIVATE, 0x1000, IPC_CREAT | 0600);
+    if (shm.shmid == -1)
+       return FALSE;
+
+    shm.readOnly = FALSE;
+    shm.shmaddr = shmat (shm.shmid, NULL, 0);
+    if (shm.shmaddr == (char *) -1) {
+       shmctl (shm.shmid, IPC_RMID, NULL);
+       return FALSE;
+    }
+
+    assert (CAIRO_MUTEX_IS_LOCKED (_cairo_xlib_display_mutex));
+    _x_error_occurred = FALSE;
+
+    XLockDisplay (dpy);
+    XSync (dpy, False);
+    old_handler = XSetErrorHandler (_check_error_handler);
+
+    success = XShmAttach (dpy, &shm);
+    if (success)
+       XShmDetach (dpy, &shm);
+
+    XSync (dpy, False);
+    XSetErrorHandler (old_handler);
+    XUnlockDisplay (dpy);
+
+    shmctl (shm.shmid, IPC_RMID, NULL);
+    shmdt (shm.shmaddr);
+
+    return success && ! _x_error_occurred;
+}
+
+static inline Display *
+peek_display (cairo_device_t *device)
+{
+    return ((cairo_xlib_display_t *)device)->display;
+}
+
+static inline unsigned long
+peek_processed (cairo_device_t *device)
+{
+    return LastKnownRequestProcessed (peek_display(device));
+}
+
+static void
+_cairo_xlib_display_shm_pool_destroy (cairo_xlib_display_t *display,
+                                     cairo_xlib_shm_t *pool)
+{
+    shmdt (pool->shm.shmaddr);
+    if (display->display) /* may be called after CloseDisplay */
+       XShmDetach (display->display, &pool->shm);
+
+    _cairo_mempool_fini (&pool->mem);
+
+    cairo_list_del (&pool->link);
+    free (pool);
+}
+
+static void send_event(cairo_xlib_display_t *display,
+                      cairo_xlib_shm_info_t *info,
+                      unsigned long seqno)
+{
+    XShmCompletionEvent ev;
+
+    if (! seqno_after (seqno, display->shm->last_event))
+       return;
+
+    ev.type = display->shm->event;
+    ev.send_event = 1; /* XXX or lie? */
+    ev.serial = NextRequest (display->display);
+    ev.drawable = display->shm->window;
+    ev.major_code = display->shm->opcode;
+    ev.minor_code = X_ShmPutImage;
+    ev.shmseg = info->pool->shm.shmid;
+    ev.offset = (char *)info->mem - (char *)info->pool->shm.shmaddr;
+
+    XSendEvent (display->display, ev.drawable, False, 0, (XEvent *)&ev);
+
+    display->shm->last_event = ev.serial;
+}
+
+static void sync (cairo_xlib_display_t *display)
+{
+    cairo_xlib_shm_info_t *info;
+    struct pqueue *pq = &display->shm->info;
+
+    XSync (display->display, False);
+
+    while ((info = PQ_TOP(pq))) {
+       _cairo_mempool_free (&info->pool->mem, info->mem);
+       _pqueue_pop (&display->shm->info);
+       free (info);
+    }
+}
+
+static void
+_cairo_xlib_shm_info_cleanup (cairo_xlib_display_t *display)
+{
+    cairo_xlib_shm_info_t *info;
+    Display *dpy = display->display;
+    struct pqueue *pq = &display->shm->info;
+    unsigned long processed;
+
+    if (PQ_TOP(pq) == NULL)
+       return;
+
+    XEventsQueued (dpy, QueuedAfterReading);
+    processed = LastKnownRequestProcessed (dpy);
+
+    info = PQ_TOP(pq);
+    do {
+       if (! seqno_passed (info->last_request, processed)) {
+           send_event (display, info, display->shm->last_request);
+           return;
+       }
+
+       _cairo_mempool_free (&info->pool->mem, info->mem);
+       _pqueue_pop (&display->shm->info);
+       free (info);
+    } while ((info = PQ_TOP(pq)));
+}
+
+static cairo_xlib_shm_t *
+_cairo_xlib_shm_info_find (cairo_xlib_display_t *display, size_t size,
+                          void **ptr, unsigned long *last_request)
+{
+    cairo_xlib_shm_info_t *info;
+    struct pqueue *pq = &display->shm->info;
+
+    if (PQ_TOP(pq) == NULL)
+       return NULL;
+
+    info = PQ_TOP(pq);
+    do {
+       cairo_xlib_shm_t *pool = info->pool;
+
+       *last_request = info->last_request;
+
+       _pqueue_pop (&display->shm->info);
+       _cairo_mempool_free (&pool->mem, info->mem);
+       free (info);
+
+       if (pool->mem.free_bytes >= size) {
+           void *mem = _cairo_mempool_alloc (&pool->mem, size);
+           if (mem != NULL) {
+               *ptr = mem;
+               return pool;
+           }
+       }
+    } while ((info = PQ_TOP(pq)));
+
+    return NULL;
+}
+
+static cairo_xlib_shm_t *
+_cairo_xlib_shm_pool_find (cairo_xlib_display_t *display,
+                          size_t size,
+                          void **ptr)
+{
+    cairo_xlib_shm_t *pool;
+
+    cairo_list_foreach_entry (pool, cairo_xlib_shm_t, &display->shm->pool, link) {
+       if (pool->mem.free_bytes >= size) {
+           void *mem = _cairo_mempool_alloc (&pool->mem, size);
+           if (mem != NULL) {
+               *ptr = mem;
+               return pool;
+           }
+       }
+    }
+
+    return NULL;
+}
+
+static void
+_cairo_xlib_shm_pool_cleanup (cairo_xlib_display_t *display)
+{
+    cairo_xlib_shm_t *pool, *next;
+    unsigned long processed;
+
+    processed = LastKnownRequestProcessed (display->display);
+
+    cairo_list_foreach_entry_safe (pool, next, cairo_xlib_shm_t,
+                                  &display->shm->pool, link) {
+       if (! seqno_passed (pool->attached, processed))
+           break;
+
+       if (pool->mem.free_bytes == pool->mem.max_bytes)
+           _cairo_xlib_display_shm_pool_destroy (display, pool);
+    }
+}
+
+static cairo_xlib_shm_t *
+_cairo_xlib_shm_pool_create(cairo_xlib_display_t *display,
+                           size_t size, void **ptr)
+{
+    Display *dpy = display->display;
+    cairo_xlib_shm_t *pool;
+    size_t bytes, maxbits = 16, minbits = MIN_BITS;
+    Status success;
+
+    pool = malloc (sizeof (cairo_xlib_shm_t));
+    if (pool == NULL)
+       return NULL;
+
+    bytes = 1 << maxbits;
+    while (bytes <= size)
+       bytes <<= 1, maxbits++;
+    bytes <<= 3;
+
+    minbits += (maxbits - 16) / 2;
+
+    pool->shm.shmid = shmget (IPC_PRIVATE, bytes, IPC_CREAT | 0600);
+    while (pool->shm.shmid == -1 && bytes >= 2*size) {
+       bytes >>= 1;
+       pool->shm.shmid = shmget (IPC_PRIVATE, bytes, IPC_CREAT | 0600);
+    }
+    if (pool->shm.shmid == -1)
+       goto cleanup;
+
+    pool->shm.readOnly = FALSE;
+    pool->shm.shmaddr = shmat (pool->shm.shmid, NULL, 0);
+    if (pool->shm.shmaddr == (char *) -1) {
+       shmctl (pool->shm.shmid, IPC_RMID, NULL);
+       goto cleanup;
+    }
+
+    pool->attached = NextRequest (dpy);
+    success = XShmAttach (dpy, &pool->shm);
+#if !IPC_RMID_DEFERRED_RELEASE
+    XSync (dpy, FALSE);
+#endif
+    shmctl (pool->shm.shmid, IPC_RMID, NULL);
+
+    if (! success)
+       goto cleanup_shm;
+
+    if (_cairo_mempool_init (&pool->mem, pool->shm.shmaddr, bytes,
+                            minbits, maxbits - minbits + 1))
+       goto cleanup_detach;
+
+    cairo_list_add (&pool->link, &display->shm->pool);
+
+    *ptr = _cairo_mempool_alloc (&pool->mem, size);
+    assert (*ptr != NULL);
+    return pool;
+
+cleanup_detach:
+    XShmDetach (dpy, &pool->shm);
+cleanup_shm:
+    shmdt (pool->shm.shmaddr);
+cleanup:
+    free (pool);
+    return NULL;
+}
+
+static cairo_xlib_shm_info_t *
+_cairo_xlib_shm_info_create (cairo_xlib_display_t *display,
+                            size_t size, cairo_bool_t will_sync)
+{
+    cairo_xlib_shm_info_t *info;
+    cairo_xlib_shm_t *pool;
+    unsigned long last_request = 0;
+    void *mem = NULL;
+
+    _cairo_xlib_shm_info_cleanup (display);
+    pool = _cairo_xlib_shm_pool_find (display, size, &mem);
+    _cairo_xlib_shm_pool_cleanup (display);
+
+    if (pool == NULL && will_sync)
+       pool = _cairo_xlib_shm_info_find (display, size, &mem, &last_request);
+    if (pool == NULL)
+       pool = _cairo_xlib_shm_pool_create (display, size, &mem);
+    if (pool == NULL)
+       return NULL;
+
+    assert (mem != NULL);
+
+    info = malloc (sizeof (*info));
+    if (info == NULL) {
+       _cairo_mempool_free (&pool->mem, mem);
+       return NULL;
+    }
+
+    info->pool = pool;
+    info->mem = mem;
+    info->size = size;
+    info->last_request = last_request;
+
+    return info;
+}
+
+static cairo_status_t
+_cairo_xlib_shm_surface_flush (void *abstract_surface, unsigned flags)
+{
+    cairo_xlib_shm_surface_t *shm = abstract_surface;
+    cairo_xlib_display_t *display;
+    Display *dpy;
+    cairo_status_t status;
+
+    if (shm->active == 0)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (shm->image.base._finishing)
+       return CAIRO_STATUS_SUCCESS;
+
+    if (seqno_passed (shm->active, peek_processed (shm->image.base.device))) {
+       shm->active = 0;
+       return CAIRO_STATUS_SUCCESS;
+    }
+
+    status = _cairo_xlib_display_acquire (shm->image.base.device, &display);
+    if (unlikely (status))
+       return status;
+
+    send_event (display, shm->info, shm->active);
+
+    dpy = display->display;
+    XEventsQueued (dpy, QueuedAfterReading);
+    while (! seqno_passed (shm->active, LastKnownRequestProcessed (dpy))) {
+       LockDisplay(dpy);
+       _XReadEvents(dpy);
+       UnlockDisplay(dpy);
+    }
+
+    cairo_device_release (&display->base);
+    shm->active = 0;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+static inline cairo_bool_t
+active (cairo_xlib_shm_surface_t *shm, Display *dpy)
+{
+    return (shm->active &&
+           ! seqno_passed (shm->active, LastKnownRequestProcessed (dpy)));
+}
+
+static cairo_status_t
+_cairo_xlib_shm_surface_finish (void *abstract_surface)
+{
+    cairo_xlib_shm_surface_t *shm = abstract_surface;
+    cairo_xlib_display_t *display;
+    cairo_status_t status;
+
+    if (shm->image.base.damage) {
+       _cairo_damage_destroy (shm->image.base.damage);
+       shm->image.base.damage = _cairo_damage_create_in_error (CAIRO_STATUS_SURFACE_FINISHED);
+    }
+
+    status = _cairo_xlib_display_acquire (shm->image.base.device, &display);
+    if (unlikely (status))
+       return status;
+
+    if (shm->pixmap)
+       XFreePixmap (display->display, shm->pixmap);
+
+    if (active (shm, display->display)) {
+       shm->info->last_request = shm->active;
+       _pqueue_push (&display->shm->info, shm->info);
+       if (seqno_before (display->shm->last_request, shm->active))
+           display->shm->last_request = shm->active;
+    } else {
+       _cairo_mempool_free (&shm->info->pool->mem, shm->info->mem);
+       free (shm->info);
+
+       _cairo_xlib_shm_pool_cleanup (display);
+    }
+
+    cairo_list_del (&shm->link);
+
+    cairo_device_release (&display->base);
+    return _cairo_image_surface_finish (abstract_surface);
+}
+
+static const cairo_surface_backend_t cairo_xlib_shm_surface_backend = {
+    CAIRO_SURFACE_TYPE_IMAGE,
+    _cairo_xlib_shm_surface_finish,
+
+    _cairo_default_context_create,
+
+    _cairo_image_surface_create_similar,
+    NULL, /* create similar image */
+    _cairo_image_surface_map_to_image,
+    _cairo_image_surface_unmap_image,
+
+    _cairo_image_surface_source,
+    _cairo_image_surface_acquire_source_image,
+    _cairo_image_surface_release_source_image,
+    _cairo_image_surface_snapshot,
+
+    NULL, /* copy_page */
+    NULL, /* show_page */
+
+    _cairo_image_surface_get_extents,
+    _cairo_image_surface_get_font_options,
+
+    _cairo_xlib_shm_surface_flush,
+    NULL,
+
+    _cairo_image_surface_paint,
+    _cairo_image_surface_mask,
+    _cairo_image_surface_stroke,
+    _cairo_image_surface_fill,
+    NULL, /* fill-stroke */
+    _cairo_image_surface_glyphs,
+};
+
+static cairo_bool_t
+has_shm (cairo_xlib_surface_t *surface)
+{
+    cairo_xlib_display_t *display = (cairo_xlib_display_t *)surface->base.device;
+    return display->shm != NULL;
+}
+
+static int
+has_shm_pixmaps (cairo_xlib_surface_t *surface)
+{
+    cairo_xlib_display_t *display = (cairo_xlib_display_t *)surface->base.device;
+    if (!display->shm)
+       return 0;
+
+    return display->shm->has_pixmaps;
+}
+
+static cairo_xlib_shm_surface_t *
+_cairo_xlib_shm_surface_create (cairo_xlib_surface_t *other,
+                               pixman_format_code_t format,
+                               int width, int height,
+                               cairo_bool_t will_sync,
+                               int create_pixmap)
+{
+    cairo_xlib_shm_surface_t *shm;
+    cairo_xlib_display_t *display;
+    pixman_image_t *image;
+    int stride, size;
+
+    stride = CAIRO_STRIDE_FOR_WIDTH_BPP (width, PIXMAN_FORMAT_BPP(format));
+    size = stride * height;
+    if (size < MIN_SIZE)
+       return NULL;
+
+    shm = malloc (sizeof (*shm));
+    if (unlikely (shm == NULL))
+       return (cairo_xlib_shm_surface_t *)_cairo_surface_create_in_error (CAIRO_STATUS_NO_MEMORY);
+
+    _cairo_surface_init (&shm->image.base,
+                        &cairo_xlib_shm_surface_backend,
+                        other->base.device,
+                        _cairo_content_from_pixman_format (format));
+
+    if (_cairo_xlib_display_acquire (other->base.device, &display))
+       goto cleanup_shm;
+
+    shm->info = _cairo_xlib_shm_info_create (display, size, will_sync);
+    if (shm->info == NULL)
+       goto cleanup_display;
+
+    image = pixman_image_create_bits (format, width, height,
+                                     (uint32_t *) shm->info->mem, stride);
+    if (image == NULL)
+       goto cleanup_info;
+
+    _cairo_image_surface_init (&shm->image, image, format);
+
+    shm->pixmap = 0;
+    if (create_pixmap && size >= create_pixmap) {
+       shm->pixmap = XShmCreatePixmap (display->display,
+                                       other->drawable,
+                                       shm->info->mem,
+                                       &shm->info->pool->shm,
+                                       shm->image.width,
+                                       shm->image.height,
+                                       shm->image.depth);
+    }
+    shm->active = shm->info->last_request;
+    shm->idle = -5;
+
+    assert (shm->active == 0 || will_sync);
+
+    cairo_list_add (&shm->link, &display->shm->surfaces);
+
+    cairo_device_release (&display->base);
+
+    return shm;
+
+cleanup_info:
+    _cairo_mempool_free (&shm->info->pool->mem, shm->info->mem);
+    free(shm->info);
+cleanup_display:
+    cairo_device_release (&display->base);
+cleanup_shm:
+    free (shm);
+    return NULL;
+}
+
+static void
+_cairo_xlib_surface_update_shm (cairo_xlib_surface_t *surface)
+{
+    cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *)surface->shm;
+    cairo_xlib_display_t *display;
+    cairo_damage_t *damage;
+    GC gc;
+
+    damage = _cairo_damage_reduce (surface->base.damage);
+    surface->base.damage = _cairo_damage_create();
+
+    if (_cairo_xlib_display_acquire (surface->base.device, &display))
+       goto cleanup_damage;
+
+    if (_cairo_xlib_surface_get_gc (display, surface, &gc))
+       goto cleanup_display;
+
+    if (! surface->owns_pixmap) {
+       XGCValues gcv;
+
+       gcv.subwindow_mode = IncludeInferiors;
+       XChangeGC (display->display, gc, GCSubwindowMode, &gcv);
+    }
+
+    if (damage->region) {
+       XRectangle stack_rects[CAIRO_STACK_ARRAY_LENGTH (sizeof (XRectangle))];
+       XRectangle *rects = stack_rects;
+       cairo_rectangle_int_t r;
+       int n_rects, i;
+
+       n_rects = cairo_region_num_rectangles (damage->region);
+       if (n_rects == 0) {
+       } else if (n_rects == 1) {
+           cairo_region_get_rectangle (damage->region, 0, &r);
+           XCopyArea (display->display,
+                      surface->drawable, shm->pixmap, gc,
+                      r.x, r.y,
+                      r.width, r.height,
+                      r.x, r.y);
+       } else {
+           if (n_rects > ARRAY_LENGTH (stack_rects)) {
+               rects = _cairo_malloc_ab (n_rects, sizeof (XRectangle));
+               if (unlikely (rects == NULL)) {
+                   rects = stack_rects;
+                   n_rects = ARRAY_LENGTH (stack_rects);
+               }
+           }
+           for (i = 0; i < n_rects; i++) {
+               cairo_region_get_rectangle (damage->region, i, &r);
+
+               rects[i].x = r.x;
+               rects[i].y = r.y;
+               rects[i].width  = r.width;
+               rects[i].height = r.height;
+           }
+           XSetClipRectangles (display->display, gc, 0, 0, rects, i, YXBanded);
+
+           XCopyArea (display->display,
+                      surface->drawable, shm->pixmap, gc,
+                      0, 0,
+                      shm->image.width, shm->image.height,
+                      0, 0);
+
+           if (damage->status == CAIRO_STATUS_SUCCESS && damage->region)
+               XSetClipMask (display->display, gc, None);
+       }
+    } else {
+       XCopyArea (display->display,
+                  surface->drawable, shm->pixmap, gc,
+                  0, 0,
+                  shm->image.width, shm->image.height,
+                  0, 0);
+    }
+
+    if (! surface->owns_pixmap) {
+       XGCValues gcv;
+
+       gcv.subwindow_mode = ClipByChildren;
+       XChangeGC (display->display, gc, GCSubwindowMode, &gcv);
+    }
+
+    sync (display);
+    shm->active = 0;
+    shm->idle--;
+
+    _cairo_xlib_surface_put_gc (display, surface, gc);
+cleanup_display:
+    cairo_device_release (&display->base);
+cleanup_damage:
+    _cairo_damage_destroy (damage);
+}
+
+static void
+_cairo_xlib_surface_clear_shm (cairo_xlib_surface_t *surface)
+{
+    cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *)surface->shm;
+
+    assert (shm->active == 0);
+
+    _cairo_damage_destroy (surface->base.damage);
+    surface->base.damage = _cairo_damage_create();
+
+    memset (shm->image.data, 0, shm->image.stride * shm->image.height);
+    shm->image.base.is_clear = TRUE;
+}
+
+static void inc_idle (cairo_surface_t *surface)
+{
+    cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *)surface;
+    shm->idle++;
+}
+
+static void dec_idle (cairo_surface_t *surface)
+{
+    cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *)surface;
+    shm->idle--;
+}
+
+cairo_surface_t *
+_cairo_xlib_surface_get_shm (cairo_xlib_surface_t *surface,
+                            cairo_bool_t overwrite)
+{
+    if (surface->fallback) {
+       assert (surface->base.damage);
+       assert (surface->shm);
+       assert (surface->shm->damage);
+       goto done;
+    }
+
+    if (surface->shm == NULL) {
+       pixman_format_code_t pixman_format;
+       cairo_bool_t will_sync;
+
+       if (! has_shm_pixmaps (surface))
+           return NULL;
+
+       if ((surface->width | surface->height) < 32)
+           return NULL;
+
+       pixman_format = _pixman_format_for_xlib_surface (surface);
+       if (pixman_format == 0)
+           return NULL;
+
+       will_sync = !surface->base.is_clear && !overwrite;
+
+       surface->shm =
+           &_cairo_xlib_shm_surface_create (surface, pixman_format,
+                                            surface->width, surface->height,
+                                            will_sync, 1)->image.base;
+       if (surface->shm == NULL)
+           return NULL;
+
+       assert (surface->base.damage == NULL);
+       if (surface->base.serial || !surface->owns_pixmap) {
+           cairo_rectangle_int_t rect;
+
+           rect.x = rect.y = 0;
+           rect.width = surface->width;
+           rect.height = surface->height;
+
+           surface->base.damage =
+               _cairo_damage_add_rectangle (NULL, &rect);
+       } else
+           surface->base.damage = _cairo_damage_create ();
+
+       surface->shm->damage = _cairo_damage_create ();
+    }
+
+    if (overwrite) {
+       _cairo_damage_destroy (surface->base.damage);
+       surface->base.damage = _cairo_damage_create ();
+    }
+
+    if (!surface->base.is_clear && surface->base.damage->dirty)
+       _cairo_xlib_surface_update_shm (surface);
+
+    _cairo_xlib_shm_surface_flush (surface->shm, 1);
+
+    if (surface->base.is_clear && surface->base.damage->dirty)
+       _cairo_xlib_surface_clear_shm (surface);
+
+done:
+    dec_idle(surface->shm);
+    return surface->shm;
+}
+
+cairo_int_status_t
+_cairo_xlib_surface_put_shm (cairo_xlib_surface_t *surface)
+{
+    cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;
+
+    if (!surface->fallback) {
+       if (surface->shm)
+           inc_idle (surface->shm);
+       return CAIRO_INT_STATUS_SUCCESS;
+    }
+
+    if (surface->shm->damage->dirty) {
+       cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *) surface->shm;
+       cairo_xlib_display_t *display;
+       cairo_damage_t *damage;
+       GC gc;
+
+       status = _cairo_xlib_display_acquire (surface->base.device, &display);
+       if (unlikely (status))
+           return status;
+
+       damage = _cairo_damage_reduce (shm->image.base.damage);
+       shm->image.base.damage = _cairo_damage_create ();
+
+       TRACE ((stderr, "%s: flushing damage x %d\n", __FUNCTION__,
+               damage->region ? cairo_region_num_rectangles (damage->region) : 0));
+       if (damage->status == CAIRO_STATUS_SUCCESS && damage->region) {
+           XRectangle stack_rects[CAIRO_STACK_ARRAY_LENGTH (sizeof (XRectangle))];
+           XRectangle *rects = stack_rects;
+           cairo_rectangle_int_t r;
+           int n_rects, i;
+
+           n_rects = cairo_region_num_rectangles (damage->region);
+           if (n_rects == 0)
+               goto out;
+
+           status = _cairo_xlib_surface_get_gc (display, surface, &gc);
+           if (unlikely (status))
+               goto out;
+
+           if (n_rects == 1) {
+               cairo_region_get_rectangle (damage->region, 0, &r);
+               _cairo_xlib_shm_surface_mark_active (surface->shm);
+               XCopyArea (display->display,
+                          shm->pixmap, surface->drawable, gc,
+                          r.x, r.y,
+                          r.width, r.height,
+                          r.x, r.y);
+           } else {
+               if (n_rects > ARRAY_LENGTH (stack_rects)) {
+                   rects = _cairo_malloc_ab (n_rects, sizeof (XRectangle));
+                   if (unlikely (rects == NULL)) {
+                       status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+                       _cairo_xlib_surface_put_gc (display, surface, gc);
+                       goto out;
+                   }
+               }
+               for (i = 0; i < n_rects; i++) {
+                   cairo_region_get_rectangle (damage->region, i, &r);
+
+                   rects[i].x = r.x;
+                   rects[i].y = r.y;
+                   rects[i].width  = r.width;
+                   rects[i].height = r.height;
+               }
+               XSetClipRectangles (display->display, gc, 0, 0, rects, i, YXBanded);
+
+               _cairo_xlib_shm_surface_mark_active (surface->shm);
+               XCopyArea (display->display,
+                          shm->pixmap, surface->drawable, gc,
+                          0, 0,
+                          shm->image.width, shm->image.height,
+                          0, 0);
+
+               if (damage->status == CAIRO_STATUS_SUCCESS && damage->region)
+                   XSetClipMask (display->display, gc, None);
+           }
+
+           _cairo_xlib_surface_put_gc (display, surface, gc);
+       }
+
+out:
+       _cairo_damage_destroy (damage);
+       cairo_device_release (&display->base);
+    }
+
+    return status;
+}
+
+cairo_surface_t *
+_cairo_xlib_surface_create_shm (cairo_xlib_surface_t *other,
+                               pixman_format_code_t format,
+                               int width, int height)
+{
+    cairo_surface_t *surface;
+
+    surface = NULL;
+    if (has_shm (other))
+       surface = &_cairo_xlib_shm_surface_create (other, format, width, height,
+                                                  FALSE, has_shm_pixmaps (other))->image.base;
+
+    return surface;
+}
+
+cairo_surface_t *
+_cairo_xlib_surface_create_shm__image (cairo_xlib_surface_t *surface,
+                                      pixman_format_code_t format,
+                                      int width, int height)
+{
+    if (! has_shm(surface))
+       return NULL;
+
+    return &_cairo_xlib_shm_surface_create (surface, format, width, height,
+                                           FALSE, 0)->image.base;
+}
+
+cairo_surface_t *
+_cairo_xlib_surface_create_similar_shm (void *other,
+                                       cairo_format_t format,
+                                       int width, int height)
+{
+    cairo_surface_t *surface;
+
+    surface = _cairo_xlib_surface_create_shm (other,
+                                             _cairo_format_to_pixman_format_code (format),
+                                             width, height);
+    if (surface) {
+       if (! surface->is_clear) {
+           cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *) surface;
+           assert (shm->active == 0);
+           memset (shm->image.data, 0, shm->image.stride * shm->image.height);
+           shm->image.base.is_clear = TRUE;
+       }
+    } else
+       surface = cairo_image_surface_create (format, width, height);
+
+    return surface;
+}
+
+void
+_cairo_xlib_shm_surface_mark_active (cairo_surface_t *_shm)
+{
+    cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *) _shm;
+    cairo_xlib_display_t *display = (cairo_xlib_display_t *) _shm->device;
+
+    shm->active = NextRequest (display->display);
+}
+
+void
+_cairo_xlib_shm_surface_get_ximage (cairo_surface_t *surface,
+                                   XImage *ximage)
+{
+    cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *) surface;
+    int native_byte_order = _cairo_is_little_endian () ? LSBFirst : MSBFirst;
+    cairo_format_masks_t image_masks;
+    int ret;
+
+    ret = _pixman_format_to_masks (shm->image.pixman_format, &image_masks);
+    assert (ret);
+
+    ximage->width = shm->image.width;
+    ximage->height = shm->image.height;
+    ximage->format = ZPixmap;
+    ximage->data = (char *) shm->image.data;
+    ximage->obdata = (char *)&shm->info->pool->shm;
+    ximage->byte_order = native_byte_order;
+    ximage->bitmap_unit = 32;  /* always for libpixman */
+    ximage->bitmap_bit_order = native_byte_order;
+    ximage->bitmap_pad = 32;   /* always for libpixman */
+    ximage->depth = shm->image.depth;
+    ximage->bytes_per_line = shm->image.stride;
+    ximage->bits_per_pixel = image_masks.bpp;
+    ximage->red_mask = image_masks.red_mask;
+    ximage->green_mask = image_masks.green_mask;
+    ximage->blue_mask = image_masks.blue_mask;
+    ximage->xoffset = 0;
+
+    ret = XInitImage (ximage);
+    assert (ret != 0);
+}
+
+void *
+_cairo_xlib_shm_surface_get_obdata (cairo_surface_t *surface)
+{
+    cairo_xlib_display_t *display = (cairo_xlib_display_t *) surface->device;
+    cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *) surface;
+
+    display->shm->last_event = shm->active = NextRequest (display->display);
+    return &shm->info->pool->shm;
+}
+
+Pixmap
+_cairo_xlib_shm_surface_get_pixmap (cairo_surface_t *surface)
+{
+    cairo_xlib_shm_surface_t *shm;
+
+    shm = (cairo_xlib_shm_surface_t *) surface;
+    return shm->pixmap;
+}
+
+XRenderPictFormat *
+_cairo_xlib_shm_surface_get_xrender_format (cairo_surface_t *surface)
+{
+    cairo_xlib_shm_surface_t *shm;
+
+    shm = (cairo_xlib_shm_surface_t *) surface;
+    if (shm->image.format != CAIRO_FORMAT_INVALID)
+       return _cairo_xlib_display_get_xrender_format ((cairo_xlib_display_t *)surface->device,
+                                                      shm->image.format);
+
+    return _cairo_xlib_display_get_xrender_format_for_pixman((cairo_xlib_display_t *)surface->device,
+                                                            shm->image.pixman_format);
+}
+
+cairo_bool_t
+_cairo_xlib_shm_surface_is_active (cairo_surface_t *surface)
+{
+    cairo_xlib_shm_surface_t *shm;
+
+    shm = (cairo_xlib_shm_surface_t *) surface;
+    if (shm->active == 0)
+       return FALSE;
+
+    if (seqno_passed (shm->active, peek_processed (shm->image.base.device))) {
+       shm->active = 0;
+       return FALSE;
+    }
+
+    return TRUE;
+}
+
+cairo_bool_t
+_cairo_xlib_shm_surface_is_idle (cairo_surface_t *surface)
+{
+    cairo_xlib_shm_surface_t *shm;
+
+    shm = (cairo_xlib_shm_surface_t *) surface;
+    return shm->idle > 0;
+}
+
+#define XORG_VERSION_ENCODE(major,minor,patch,snap) \
+    (((major) * 10000000) + ((minor) * 100000) + ((patch) * 1000) + snap)
+
+static cairo_bool_t
+has_broken_send_shm_event (cairo_xlib_display_t *display,
+                          cairo_xlib_shm_display_t *shm)
+{
+    Display *dpy = display->display;
+    int (*old_handler) (Display *display, XErrorEvent *event);
+    XShmCompletionEvent ev;
+    XShmSegmentInfo info;
+
+    info.shmid = shmget (IPC_PRIVATE, 0x1000, IPC_CREAT | 0600);
+    if (info.shmid == -1)
+       return TRUE;
+
+    info.readOnly = FALSE;
+    info.shmaddr = shmat (info.shmid, NULL, 0);
+    if (info.shmaddr == (char *) -1) {
+       shmctl (info.shmid, IPC_RMID, NULL);
+       return TRUE;
+    }
+
+    ev.type = shm->event;
+    ev.send_event = 1;
+    ev.serial = 1;
+    ev.drawable = shm->window;
+    ev.major_code = shm->opcode;
+    ev.minor_code = X_ShmPutImage;
+
+    ev.shmseg = info.shmid;
+    ev.offset = 0;
+
+    assert (CAIRO_MUTEX_IS_LOCKED (_cairo_xlib_display_mutex));
+    _x_error_occurred = FALSE;
+
+    XLockDisplay (dpy);
+    XSync (dpy, False);
+    old_handler = XSetErrorHandler (_check_error_handler);
+
+    XShmAttach (dpy, &info);
+    XSendEvent (dpy, ev.drawable, False, 0, (XEvent *)&ev);
+    XShmDetach (dpy, &info);
+
+    XSync (dpy, False);
+    XSetErrorHandler (old_handler);
+    XUnlockDisplay (dpy);
+
+    shmctl (info.shmid, IPC_RMID, NULL);
+    shmdt (info.shmaddr);
+
+    return _x_error_occurred;
+}
+
+static cairo_bool_t
+xorg_has_buggy_send_shm_completion_event(cairo_xlib_display_t *display,
+                                        cairo_xlib_shm_display_t *shm)
+{
+    Display *dpy = display->display;
+
+    /* As libXext sets the SEND_EVENT bit in the ShmCompletionEvent,
+     * the Xserver may crash if it does not take care when processing
+     * the event type. For instance versions of Xorg prior to 1.11.1
+     * exhibited this bug, and was fixed by:
+     *
+     * commit 2d2dce558d24eeea0eb011ec9ebaa6c5c2273c39
+     * Author: Sam Spilsbury <sam.spilsbury@canonical.com>
+     * Date:   Wed Sep 14 09:58:34 2011 +0800
+     *
+     * Remove the SendEvent bit (0x80) before doing range checks on event type.
+     */
+    if (_cairo_xlib_vendor_is_xorg (dpy) &&
+       VendorRelease (dpy) < XORG_VERSION_ENCODE(1,11,0,1))
+       return TRUE;
+
+    /* For everyone else check that no error is generated */
+    return has_broken_send_shm_event (display, shm);
+}
+
+void
+_cairo_xlib_display_init_shm (cairo_xlib_display_t *display)
+{
+    cairo_xlib_shm_display_t *shm;
+    XSetWindowAttributes attr;
+    XExtCodes *codes;
+    int has_pixmap, scr;
+
+    display->shm = NULL;
+
+    if (!can_use_shm (display->display, &has_pixmap))
+       return;
+
+    shm = malloc (sizeof (*shm));
+    if (unlikely (shm == NULL))
+       return;
+
+    codes = XInitExtension (display->display, SHMNAME);
+    if (codes == NULL) {
+       free (shm);
+       return;
+    }
+
+    shm->opcode = codes ->major_opcode;
+    shm->event = codes->first_event;
+
+    if (unlikely (_pqueue_init (&shm->info))) {
+       free (shm);
+       return;
+    }
+
+    scr = DefaultScreen (display->display);
+    attr.override_redirect = 1;
+    shm->window = XCreateWindow (display->display,
+                                DefaultRootWindow (display->display), -1, -1,
+                                1, 1, 0,
+                                DefaultDepth (display->display, scr),
+                                InputOutput,
+                                DefaultVisual (display->display, scr),
+                                CWOverrideRedirect, &attr);
+    shm->last_event = 0;
+    shm->last_request = 0;
+
+    if (xorg_has_buggy_send_shm_completion_event(display, shm))
+       has_pixmap = 0;
+
+    shm->has_pixmaps = has_pixmap ? MIN_PIXMAP_SIZE : 0;
+    cairo_list_init (&shm->pool);
+
+    cairo_list_init (&shm->surfaces);
+
+    display->shm = shm;
+}
+
+void
+_cairo_xlib_display_fini_shm (cairo_xlib_display_t *display)
+{
+    cairo_xlib_shm_display_t *shm = display->shm;
+
+    if (shm == NULL)
+       return;
+
+    while (!cairo_list_is_empty (&shm->surfaces))
+       cairo_surface_finish (&cairo_list_first_entry (&shm->surfaces,
+                                                      cairo_xlib_shm_surface_t,
+                                                      link)->image.base);
+
+    _pqueue_fini (&shm->info);
+
+    while (!cairo_list_is_empty (&shm->pool)) {
+       cairo_xlib_shm_t *pool;
+
+       pool = cairo_list_first_entry (&shm->pool, cairo_xlib_shm_t, link);
+       _cairo_xlib_display_shm_pool_destroy (display, pool);
+    }
+
+    if (display->display)
+       XDestroyWindow (display->display, shm->window);
+
+    free (shm);
+    display->shm = NULL;
+}
+#endif
+#endif
index ae2153b..2fb29e3 100644 (file)
@@ -54,6 +54,7 @@
 
 #include "cairo-compositor-private.h"
 #include "cairo-clip-private.h"
+#include "cairo-damage-private.h"
 #include "cairo-default-context-private.h"
 #include "cairo-error-private.h"
 #include "cairo-image-surface-private.h"
 
 #include <X11/Xutil.h> /* for XDestroyImage */
 
+#include <X11/extensions/XShm.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+
 #define XLIB_COORD_MAX 32767
 
 #define DEBUG 0
@@ -353,6 +358,26 @@ _cairo_xlib_surface_create_similar (void          *abstract_src,
     return &surface->base;
 }
 
+static void
+_cairo_xlib_surface_discard_shm (cairo_xlib_surface_t *surface)
+{
+    if (surface->shm == NULL)
+       return;
+
+    /* Force the flush for an external surface */
+    if (!surface->owns_pixmap)
+       cairo_surface_flush (surface->shm);
+
+    cairo_surface_finish (surface->shm);
+    cairo_surface_destroy (surface->shm);
+    surface->shm = NULL;
+
+    _cairo_damage_destroy (surface->base.damage);
+    surface->base.damage = NULL;
+
+    surface->fallback = 0;
+}
+
 static cairo_status_t
 _cairo_xlib_surface_finish (void *abstract_surface)
 {
@@ -372,6 +397,9 @@ _cairo_xlib_surface_finish (void *abstract_surface)
        XRenderFreePicture (display->display, surface->embedded_source.picture);
     if (surface->picture)
        XRenderFreePicture (display->display, surface->picture);
+
+    _cairo_xlib_surface_discard_shm (surface);
+
     if (surface->owns_pixmap)
        XFreePixmap (display->display, surface->drawable);
 
@@ -678,15 +706,32 @@ static int bits_per_pixel(cairo_xlib_surface_t *surface)
        return 1;
 }
 
+pixman_format_code_t
+_pixman_format_for_xlib_surface (cairo_xlib_surface_t *surface)
+{
+    cairo_format_masks_t masks;
+    pixman_format_code_t format;
+
+    masks.bpp = bits_per_pixel (surface);
+    masks.alpha_mask = surface->a_mask;
+    masks.red_mask = surface->r_mask;
+    masks.green_mask = surface->g_mask;
+    masks.blue_mask = surface->b_mask;
+    if (! _pixman_format_from_masks (&masks, &format))
+       return 0;
+
+    return format;
+}
+
 static cairo_surface_t *
 _get_image_surface (cairo_xlib_surface_t    *surface,
-                   const cairo_rectangle_int_t *extents)
+                   const cairo_rectangle_int_t *extents,
+                   int try_shm)
 {
     cairo_int_status_t status;
     cairo_image_surface_t *image = NULL;
     XImage *ximage;
     pixman_format_code_t pixman_format;
-    cairo_format_masks_t xlib_masks;
     cairo_xlib_display_t *display;
 
     assert (extents->x >= 0);
@@ -697,13 +742,8 @@ _get_image_surface (cairo_xlib_surface_t    *surface,
     if (surface->base.is_clear ||
        (surface->base.serial == 0 && surface->owns_pixmap))
     {
-       xlib_masks.bpp = bits_per_pixel (surface);
-       xlib_masks.alpha_mask = surface->a_mask;
-       xlib_masks.red_mask = surface->r_mask;
-       xlib_masks.green_mask = surface->g_mask;
-       xlib_masks.blue_mask = surface->b_mask;
-       if (_pixman_format_from_masks (&xlib_masks, &pixman_format) &&
-           _cairo_format_from_pixman_format (pixman_format) != CAIRO_FORMAT_INVALID)
+       pixman_format = _pixman_format_for_xlib_surface (surface);
+       if (pixman_format)
        {
            return _cairo_image_surface_create_with_pixman_format (NULL,
                                                                   pixman_format,
@@ -713,11 +753,61 @@ _get_image_surface (cairo_xlib_surface_t    *surface,
        }
     }
 
+    if (surface->shm) {
+       cairo_image_surface_t *src = (cairo_image_surface_t *) surface->shm;
+       cairo_surface_t *dst;
+       cairo_surface_pattern_t pattern;
+
+       dst = cairo_image_surface_create (src->format,
+                                         extents->width, extents->height);
+       if (unlikely (dst->status))
+           return dst;
+
+       _cairo_pattern_init_for_surface (&pattern, &src->base);
+       cairo_matrix_init_translate (&pattern.base.matrix,
+                                    extents->x, extents->y);
+       status = _cairo_surface_paint (dst, CAIRO_OPERATOR_SOURCE, &pattern.base, NULL);
+       _cairo_pattern_fini (&pattern.base);
+       if (unlikely (status)) {
+           cairo_surface_destroy (dst);
+           dst = _cairo_surface_create_in_error (status);
+       }
+
+       return dst;
+    }
+
     status = _cairo_xlib_display_acquire (surface->base.device, &display);
     if (status)
         return _cairo_surface_create_in_error (status);
 
-    /* XXX: This should try to use the XShm extension if available */
+    pixman_format = _pixman_format_for_xlib_surface (surface);
+    if (try_shm && pixman_format) {
+       image = (cairo_image_surface_t *)
+           _cairo_xlib_surface_create_shm__image (surface, pixman_format,
+                                                  extents->width, extents->height);
+       if (image && image->base.status == CAIRO_STATUS_SUCCESS) {
+           cairo_xlib_error_func_t old_handler;
+           XImage shm_image;
+           Bool success;
+
+           _cairo_xlib_shm_surface_get_ximage (&image->base, &shm_image);
+
+           old_handler = XSetErrorHandler (_noop_error_handler);
+           success = XShmGetImage (display->display,
+                                   surface->drawable,
+                                   &shm_image,
+                                   extents->x, extents->y,
+                                   AllPlanes);
+           XSetErrorHandler (old_handler);
+
+           if (success) {
+               cairo_device_release (&display->base);
+               return &image->base;
+           }
+
+           cairo_surface_destroy (&image->base);
+       }
+    }
 
     if (surface->use_pixmap == 0) {
        cairo_xlib_error_func_t old_handler;
@@ -793,19 +883,13 @@ _get_image_surface (cairo_xlib_surface_t    *surface,
 
     _swap_ximage_to_native (ximage);
 
-    xlib_masks.bpp = ximage->bits_per_pixel;
-    xlib_masks.alpha_mask = surface->a_mask;
-    xlib_masks.red_mask = surface->r_mask;
-    xlib_masks.green_mask = surface->g_mask;
-    xlib_masks.blue_mask = surface->b_mask;
-
     /* We can't use pixman to simply write to image if:
      *   (a) the pixels are not appropriately aligned,
      *   (b) pixman does not the pixel format, or
      *   (c) if the image is palettized and we need to convert.
      */
-    if (ximage->bitmap_unit == 32 && ximage->bitmap_pad == 32 &&
-       _pixman_format_from_masks (&xlib_masks, &pixman_format) &&
+    if (pixman_format &&
+       ximage->bitmap_unit == 32 && ximage->bitmap_pad == 32 &&
        (surface->visual == NULL || surface->visual->class == TrueColor))
     {
        image = (cairo_image_surface_t*)
@@ -888,6 +972,11 @@ _get_image_surface (cairo_xlib_surface_t    *surface,
            goto BAIL;
 
        data = cairo_image_surface_get_data (&image->base);
+       if (data == NULL){
+           status = CAIRO_STATUS_NULL_POINTER;
+           goto BAIL;
+       }
+
        rowstride = cairo_image_surface_get_stride (&image->base) >> 2;
        row = (uint32_t *) data;
        x0 = extents->x + surface->base.device_transform.x0;
@@ -1006,9 +1095,10 @@ _cairo_xlib_surface_draw_image (cairo_xlib_surface_t   *surface,
     XImage ximage;
     cairo_format_masks_t image_masks;
     int native_byte_order = _cairo_is_little_endian () ? LSBFirst : MSBFirst;
+    cairo_surface_t *shm_image = NULL;
     pixman_image_t *pixman_image = NULL;
     cairo_status_t status;
-    cairo_bool_t own_data;
+    cairo_bool_t own_data = FALSE;
     cairo_bool_t is_rgb_image;
     GC gc;
 
@@ -1024,6 +1114,7 @@ _cairo_xlib_surface_draw_image (cairo_xlib_surface_t   *surface,
     ximage.green_mask = surface->g_mask;
     ximage.blue_mask = surface->b_mask;
     ximage.xoffset = 0;
+    ximage.obdata = NULL;
 
     status = _cairo_xlib_display_acquire (surface->base.device, &display);
     if (unlikely (status))
@@ -1042,7 +1133,39 @@ _cairo_xlib_surface_draw_image (cairo_xlib_surface_t   *surface,
        ximage.bits_per_pixel = image_masks.bpp;
        ximage.bytes_per_line = image->stride;
        ximage.data = (char *)image->data;
-       own_data = FALSE;
+       if (image->base.device != surface->base.device) {
+           /* If PutImage will break the image up into chunks, prefer to
+            * send it all in one pass with ShmPutImage.  For larger images,
+            * it is further advantageous to reduce the number of copies,
+            * albeit at the expense of more SHM bookkeeping.
+            */
+           int max_request_size = XExtendedMaxRequestSize (display->display);
+           if (max_request_size == 0)
+               max_request_size = XMaxRequestSize (display->display);
+           if (max_request_size > 8192)
+               max_request_size = 8192;
+           if (width * height * 4 > max_request_size) {
+               shm_image = _cairo_xlib_surface_create_shm__image (surface,
+                                                                  image->pixman_format,
+                                                                  width, height);
+               if (shm_image && shm_image->status == CAIRO_STATUS_SUCCESS) {
+                   cairo_image_surface_t *clone = (cairo_image_surface_t *) shm_image;
+                   pixman_image_composite32 (PIXMAN_OP_SRC,
+                                             image->pixman_image, NULL, clone->pixman_image,
+                                             src_x, src_y,
+                                             0, 0,
+                                             0, 0,
+                                             width, height);
+                   ximage.obdata = _cairo_xlib_shm_surface_get_obdata (shm_image);
+                   ximage.data = (char *)clone->data;
+                   ximage.bytes_per_line = clone->stride;
+                   ximage.width = width;
+                   ximage.height = height;
+                   src_x = src_y = 0;
+               }
+           }
+       } else
+           ximage.obdata = _cairo_xlib_shm_surface_get_obdata (&image->base);
 
        ret = XInitImage (&ximage);
        assert (ret != 0);
@@ -1060,29 +1183,48 @@ _cairo_xlib_surface_draw_image (cairo_xlib_surface_t   *surface,
         ret = _pixman_format_from_masks (&image_masks, &intermediate_format);
         assert (ret);
 
-       own_data = FALSE;
-
-        pixman_image = pixman_image_create_bits (intermediate_format,
-                                                 width, height, NULL, 0);
-        if (pixman_image == NULL) {
-           status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-            goto BAIL;
-        }
+       shm_image = _cairo_xlib_surface_create_shm__image (surface,
+                                                          intermediate_format,
+                                                          width, height);
+       if (shm_image && shm_image->status == CAIRO_STATUS_SUCCESS) {
+           cairo_image_surface_t *clone = (cairo_image_surface_t *) shm_image;
+
+           pixman_image_composite32 (PIXMAN_OP_SRC,
+                                     image->pixman_image,
+                                     NULL,
+                                     clone->pixman_image,
+                                     src_x, src_y,
+                                     0, 0,
+                                     0, 0,
+                                     width, height);
+
+           ximage.data = (char *) clone->data;
+           ximage.obdata = _cairo_xlib_shm_surface_get_obdata (&clone->base);
+           ximage.bytes_per_line = clone->stride;
+       } else {
+           pixman_image = pixman_image_create_bits (intermediate_format,
+                                                    width, height, NULL, 0);
+           if (pixman_image == NULL) {
+               status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
+               goto BAIL;
+           }
 
-        pixman_image_composite32 (PIXMAN_OP_SRC,
-                                  image->pixman_image,
-                                  NULL,
-                                  pixman_image,
-                                  src_x, src_y,
-                                  0, 0,
-                                  0, 0,
-                                  width, height);
+           pixman_image_composite32 (PIXMAN_OP_SRC,
+                                     image->pixman_image,
+                                     NULL,
+                                     pixman_image,
+                                     src_x, src_y,
+                                     0, 0,
+                                     0, 0,
+                                     width, height);
+
+           ximage.data = (char *) pixman_image_get_data (pixman_image);
+           ximage.bytes_per_line = pixman_image_get_stride (pixman_image);
+       }
 
        ximage.width = width;
        ximage.height = height;
        ximage.bits_per_pixel = image_masks.bpp;
-       ximage.data = (char *) pixman_image_get_data (pixman_image);
-       ximage.bytes_per_line = pixman_image_get_stride (pixman_image);
 
        ret = XInitImage (&ximage);
        assert (ret != 0);
@@ -1108,7 +1250,6 @@ _cairo_xlib_surface_draw_image (cairo_xlib_surface_t   *surface,
        ximage.bytes_per_line = stride;
        ximage.data = _cairo_malloc_ab (stride, ximage.height);
        if (unlikely (ximage.data == NULL)) {
-            own_data = FALSE;
            status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
             goto BAIL;
         }
@@ -1207,17 +1348,22 @@ _cairo_xlib_surface_draw_image (cairo_xlib_surface_t   *surface,
     if (unlikely (status))
        goto BAIL;
 
-    XPutImage (display->display, surface->drawable, gc, &ximage,
-              src_x, src_y, dst_x, dst_y, width, height);
+    if (ximage.obdata)
+       XShmPutImage (display->display, surface->drawable, gc, &ximage,
+                     src_x, src_y, dst_x, dst_y, width, height, True);
+    else
+       XPutImage (display->display, surface->drawable, gc, &ximage,
+                  src_x, src_y, dst_x, dst_y, width, height);
 
     _cairo_xlib_surface_put_gc (display, surface, gc);
 
   BAIL:
-
     cairo_device_release (&display->base);
 
     if (own_data)
        free (ximage.data);
+    if (shm_image)
+       cairo_surface_destroy (shm_image);
     if (pixman_image)
         pixman_image_unref (pixman_image);
 
@@ -1247,12 +1393,18 @@ _cairo_xlib_surface_acquire_source_image (void                    *abstract_surf
     cairo_xlib_surface_t *surface = abstract_surface;
     cairo_rectangle_int_t extents;
 
+    *image_extra = NULL;
+    *image_out = (cairo_image_surface_t *)
+       _cairo_xlib_surface_get_shm (abstract_surface, FALSE);
+    if (*image_out) 
+           return (*image_out)->base.status;
+
     extents.x = extents.y = 0;
     extents.width = surface->width;
     extents.height = surface->height;
 
-    *image_extra = NULL;
-    *image_out = (cairo_image_surface_t*)_get_image_surface (surface, &extents);
+    *image_out = (cairo_image_surface_t*)
+       _get_image_surface (surface, &extents, TRUE);
     return (*image_out)->base.status;
 }
 
@@ -1266,8 +1418,7 @@ _cairo_xlib_surface_snapshot (void *abstract_surface)
     extents.width = surface->width;
     extents.height = surface->height;
 
-    /* XXX notice the duplication with acquire source */
-    return _get_image_surface (surface, &extents);
+    return _get_image_surface (surface, &extents, FALSE);
 }
 
 static void
@@ -1275,30 +1426,91 @@ _cairo_xlib_surface_release_source_image (void                   *abstract_surfa
                                          cairo_image_surface_t  *image,
                                          void                   *image_extra)
 {
+    cairo_xlib_surface_t *surface = abstract_surface;
+
+    if (&image->base == surface->shm)
+       return;
+
     cairo_surface_destroy (&image->base);
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_xlib_surface_map_to_image (void                    *abstract_surface,
                                  const cairo_rectangle_int_t   *extents)
 {
+    cairo_xlib_surface_t *surface = abstract_surface;
     cairo_surface_t *image;
 
-    image = _get_image_surface (abstract_surface, extents);
+    image = _cairo_xlib_surface_get_shm (abstract_surface, FALSE);
+    if (image) {
+       assert (surface->base.damage);
+       surface->fallback++;
+       return _cairo_image_surface_map_to_image (image, extents);
+    }
+
+    image = _get_image_surface (abstract_surface, extents, TRUE);
     cairo_surface_set_device_offset (image, -extents->x, -extents->y);
 
-    return image;
+    return (cairo_image_surface_t *) image;
 }
 
 static cairo_int_status_t
 _cairo_xlib_surface_unmap_image (void *abstract_surface,
                                 cairo_image_surface_t *image)
 {
-    return _cairo_xlib_surface_draw_image (abstract_surface, image,
-                                          0, 0,
-                                          image->width, image->height,
-                                          image->base.device_transform_inverse.x0,
-                                          image->base.device_transform_inverse.y0);
+    cairo_xlib_surface_t *surface = abstract_surface;
+    cairo_int_status_t status;
+
+    if (surface->shm) {
+       cairo_rectangle_int_t r;
+
+       assert (surface->fallback);
+       assert (surface->base.damage);
+
+       r.x = image->base.device_transform_inverse.x0;
+       r.y = image->base.device_transform_inverse.y0;
+       r.width  = image->width;
+       r.height = image->height;
+
+       TRACE ((stderr, "%s: adding damage (%d,%d)x(%d,%d)\n",
+               __FUNCTION__, r.x, r.y, r.width, r.height));
+       surface->shm->damage =
+           _cairo_damage_add_rectangle (surface->shm->damage, &r);
+
+       return _cairo_image_surface_unmap_image (surface->shm, image);
+    }
+
+    status = _cairo_xlib_surface_draw_image (abstract_surface, image,
+                                            0, 0,
+                                            image->width, image->height,
+                                            image->base.device_transform_inverse.x0,
+                                            image->base.device_transform_inverse.y0);
+
+    cairo_surface_finish (&image->base);
+    cairo_surface_destroy (&image->base);
+
+    return status;
+}
+
+static cairo_status_t
+_cairo_xlib_surface_flush (void *abstract_surface,
+                          unsigned flags)
+{
+    cairo_xlib_surface_t *surface = abstract_surface;
+    cairo_int_status_t status;
+
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
+    status = _cairo_xlib_surface_put_shm (surface);
+    if (unlikely (status))
+       return status;
+
+    surface->fallback >>= 1;
+    if (surface->shm && _cairo_xlib_shm_surface_is_idle (surface->shm))
+       _cairo_xlib_surface_discard_shm (surface);
+
+    return CAIRO_STATUS_SUCCESS;
 }
 
 static cairo_bool_t
@@ -1325,6 +1537,31 @@ _cairo_xlib_surface_get_font_options (void                  *abstract_surface,
     *options = *_cairo_xlib_screen_get_font_options (surface->screen);
 }
 
+static inline cairo_int_status_t
+get_compositor (cairo_xlib_surface_t **surface,
+               const cairo_compositor_t **compositor)
+{
+    cairo_xlib_surface_t *s = *surface;
+    cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;;
+
+    if (s->fallback) {
+       assert (s->base.damage != NULL);
+       assert (s->shm != NULL);
+       assert (s->shm->damage != NULL);
+       if (! _cairo_xlib_shm_surface_is_active (s->shm)) {
+           *surface = (cairo_xlib_surface_t *) s->shm;
+           *compositor = ((cairo_image_surface_t *) s->shm)->compositor;
+           s->fallback++;
+       } else {
+           status = _cairo_xlib_surface_put_shm (s);
+           s->fallback = 0;
+           *compositor = s->compositor;
+       }
+    } else
+       *compositor = s->compositor;
+
+    return status;
+}
 
 static cairo_int_status_t
 _cairo_xlib_surface_paint (void                                *_surface,
@@ -1333,8 +1570,15 @@ _cairo_xlib_surface_paint (void                          *_surface,
                           const cairo_clip_t           *clip)
 {
     cairo_xlib_surface_t *surface = _surface;
-    return _cairo_compositor_paint (surface->compositor,
-                                   &surface->base, op, source,
+    const cairo_compositor_t *compositor;
+    cairo_int_status_t status;
+
+    status = get_compositor (&surface, &compositor);
+    if (unlikely (status))
+       return status;
+
+    return _cairo_compositor_paint (compositor, &surface->base,
+                                   op, source,
                                    clip);
 }
 
@@ -1346,8 +1590,15 @@ _cairo_xlib_surface_mask (void                   *_surface,
                          const cairo_clip_t    *clip)
 {
     cairo_xlib_surface_t *surface = _surface;
-    return _cairo_compositor_mask (surface->compositor,
-                                  &surface->base, op, source, mask,
+    const cairo_compositor_t *compositor;
+    cairo_int_status_t status;
+
+    status = get_compositor (&surface, &compositor);
+    if (unlikely (status))
+       return status;
+
+    return _cairo_compositor_mask (compositor, &surface->base,
+                                  op, source, mask,
                                   clip);
 }
 
@@ -1364,8 +1615,15 @@ _cairo_xlib_surface_stroke (void                 *_surface,
                            const cairo_clip_t          *clip)
 {
     cairo_xlib_surface_t *surface = _surface;
-    return _cairo_compositor_stroke (surface->compositor,
-                                    &surface->base, op, source,
+    const cairo_compositor_t *compositor;
+    cairo_int_status_t status;
+
+    status = get_compositor (&surface, &compositor);
+    if (unlikely (status))
+       return status;
+
+    return _cairo_compositor_stroke (compositor, &surface->base,
+                                    op, source,
                                     path, style, ctm, ctm_inverse,
                                     tolerance, antialias,
                                     clip);
@@ -1382,8 +1640,15 @@ _cairo_xlib_surface_fill (void                           *_surface,
                          const cairo_clip_t            *clip)
 {
     cairo_xlib_surface_t *surface = _surface;
-    return _cairo_compositor_fill (surface->compositor,
-                                  &surface->base, op, source,
+    const cairo_compositor_t *compositor;
+    cairo_int_status_t status;
+
+    status = get_compositor (&surface, &compositor);
+    if (unlikely (status))
+       return status;
+
+    return _cairo_compositor_fill (compositor, &surface->base,
+                                  op, source,
                                   path, fill_rule, tolerance, antialias,
                                   clip);
 }
@@ -1398,8 +1663,15 @@ _cairo_xlib_surface_glyphs (void                 *_surface,
                            const cairo_clip_t          *clip)
 {
     cairo_xlib_surface_t *surface = _surface;
-    return _cairo_compositor_glyphs (surface->compositor,
-                                    &surface->base, op, source,
+    const cairo_compositor_t *compositor;
+    cairo_int_status_t status;
+
+    status = get_compositor (&surface, &compositor);
+    if (unlikely (status))
+       return status;
+
+    return _cairo_compositor_glyphs (compositor, &surface->base,
+                                    op, source,
                                     glyphs, num_glyphs, scaled_font,
                                     clip);
 }
@@ -1411,7 +1683,7 @@ static const cairo_surface_backend_t cairo_xlib_surface_backend = {
     _cairo_default_context_create,
 
     _cairo_xlib_surface_create_similar,
-    NULL, //_cairo_xlib_surface_create_similar_image, /* XXX shm */
+    _cairo_xlib_surface_create_similar_shm,
     _cairo_xlib_surface_map_to_image,
     _cairo_xlib_surface_unmap_image,
 
@@ -1426,7 +1698,7 @@ static const cairo_surface_backend_t cairo_xlib_surface_backend = {
     _cairo_xlib_surface_get_extents,
     _cairo_xlib_surface_get_font_options,
 
-    NULL, /* flush */
+    _cairo_xlib_surface_flush,
     NULL, /* mark_dirty_rectangle */
 
     _cairo_xlib_surface_paint,
@@ -1532,6 +1804,8 @@ found:
 
     surface->screen = screen;
     surface->compositor = display->compositor;
+    surface->shm = NULL;
+    surface->fallback = 0;
 
     surface->drawable = drawable;
     surface->owns_pixmap = FALSE;
@@ -1823,6 +2097,7 @@ cairo_xlib_surface_set_size (cairo_surface_t *abstract_surface,
                             int              height)
 {
     cairo_xlib_surface_t *surface = (cairo_xlib_surface_t *) abstract_surface;
+    cairo_status_t status;
 
     if (unlikely (abstract_surface->status))
        return;
@@ -1838,15 +2113,27 @@ cairo_xlib_surface_set_size (cairo_surface_t *abstract_surface,
        return;
     }
 
+    if (surface->width == width && surface->height == height)
+       return;
+
     if (! valid_size (width, height)) {
        _cairo_surface_set_error (abstract_surface,
                                  _cairo_error (CAIRO_STATUS_INVALID_SIZE));
        return;
     }
 
+    status = _cairo_surface_flush (abstract_surface, 0);
+    if (unlikely (status)) {
+       _cairo_surface_set_error (abstract_surface, status);
+       return;
+    }
+
+    _cairo_xlib_surface_discard_shm (surface);
+
     surface->width = width;
     surface->height = height;
 }
+
 /**
  * cairo_xlib_surface_set_drawable:
  * @surface: a #cairo_surface_t for the XLib backend
@@ -1896,6 +2183,12 @@ cairo_xlib_surface_set_drawable (cairo_surface_t   *abstract_surface,
     if (surface->owns_pixmap)
        return;
 
+    status = _cairo_surface_flush (abstract_surface, 0);
+    if (unlikely (status)) {
+       _cairo_surface_set_error (abstract_surface, status);
+       return;
+    }
+
     if (surface->drawable != drawable) {
         cairo_xlib_display_t *display;
 
@@ -1907,11 +2200,6 @@ cairo_xlib_surface_set_drawable (cairo_surface_t   *abstract_surface,
 
        if (surface->picture != None) {
            XRenderFreePicture (display->display, surface->picture);
-           if (unlikely (status)) {
-               status = _cairo_surface_set_error (&surface->base, status);
-               return;
-           }
-
            surface->picture = None;
        }
 
@@ -1919,8 +2207,13 @@ cairo_xlib_surface_set_drawable (cairo_surface_t   *abstract_surface,
 
        surface->drawable = drawable;
     }
-    surface->width = width;
-    surface->height = height;
+
+    if (surface->width != width || surface->height != height) {
+       _cairo_xlib_surface_discard_shm (surface);
+
+       surface->width = width;
+       surface->height = height;
+    }
 }
 
 /**
index caa9bd3..9c0d4b4 100644 (file)
@@ -116,12 +116,12 @@ _cairo_xlib_xcb_surface_create_similar_image (void                        *abstract_other,
     return cairo_surface_create_similar_image (&surface->xcb->base, format, width, height);
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_xlib_xcb_surface_map_to_image (void *abstract_surface,
                                      const cairo_rectangle_int_t *extents)
 {
     cairo_xlib_xcb_surface_t *surface = abstract_surface;
-    return cairo_surface_map_to_image (&surface->xcb->base, extents);
+    return _cairo_surface_map_to_image (&surface->xcb->base, extents);
 }
 
 static cairo_int_status_t
@@ -129,13 +129,7 @@ _cairo_xlib_xcb_surface_unmap (void *abstract_surface,
                               cairo_image_surface_t *image)
 {
     cairo_xlib_xcb_surface_t *surface = abstract_surface;
-
-    /* cairo_surface_unmap_image destroys the surface, so get a new reference
-     * for it to destroy.
-     */
-    cairo_surface_reference (&image->base);
-    cairo_surface_unmap_image (&surface->xcb->base, &image->base);
-    return cairo_surface_status (&surface->xcb->base);
+    return _cairo_surface_unmap_image (&surface->xcb->base, image);
 }
 
 static cairo_surface_t *
@@ -255,12 +249,11 @@ _cairo_xlib_xcb_surface_glyphs (void                      *abstract_surface,
 }
 
 static cairo_status_t
-_cairo_xlib_xcb_surface_flush (void *abstract_surface)
+_cairo_xlib_xcb_surface_flush (void *abstract_surface, unsigned flags)
 {
     cairo_xlib_xcb_surface_t *surface = abstract_surface;
     /* We have to call cairo_surface_flush() to make sure snapshots are detached */
-    cairo_surface_flush (&surface->xcb->base);
-    return CAIRO_STATUS_SUCCESS;
+    return _cairo_surface_flush (&surface->xcb->base, flags);
 }
 
 static cairo_status_t
old mode 100644 (file)
new mode 100755 (executable)
index 82396d2..3a6607b
@@ -4025,3 +4025,103 @@ cairo_status (cairo_t *cr)
     return cr->status;
 }
 slim_hidden_def (cairo_status);
+
+void
+cairo_set_shadow (cairo_t *cr, cairo_shadow_type_t shadow)
+{
+    cairo_status_t status;
+
+    if (unlikely (cr->status))
+       return;
+
+    status = cr->backend->set_shadow (cr, shadow);
+    if (unlikely (status))
+       _cairo_set_error (cr, status);
+}
+slim_hidden_def (cairo_set_shadow);
+
+void
+cairo_set_shadow_offset (cairo_t *cr, double x_offset, double y_offset)
+{
+    cairo_status_t status;
+
+    if (unlikely (cr->status))
+       return;
+
+    status = cr->backend->set_shadow_offset (cr, x_offset, y_offset);
+    if (unlikely (status))
+       _cairo_set_error (cr, status);
+}
+slim_hidden_def (cairo_set_shadow_offset);
+
+void
+cairo_set_shadow_rgb (cairo_t *cr, double red, double green, double blue)
+{
+    cairo_status_t status;
+
+    if (unlikely (cr->status))
+       return;
+
+    status = cr->backend->set_shadow_rgba (cr, red, green, blue, 1.0);
+    if (unlikely (status))
+       _cairo_set_error (cr, status);
+}
+slim_hidden_def (cairo_set_shadow_rgb);
+
+void
+cairo_set_shadow_rgba (cairo_t *cr, double red, double green,
+                      double blue, double alpha)
+{
+    cairo_status_t status;
+
+    if (unlikely (cr->status))
+       return;
+
+    status = cr->backend->set_shadow_rgba (cr, red, green, blue, alpha);
+    if (unlikely (status))
+       _cairo_set_error (cr, status);
+}
+slim_hidden_def (cairo_set_shadow_rgba);
+
+void
+cairo_set_shadow_blur (cairo_t *cr, double x_blur, double y_blur)
+{
+    cairo_status_t status;
+
+    if (unlikely (cr->status))
+       return;
+
+    status = cr->backend->set_shadow_blur (cr, x_blur, y_blur);
+    if (unlikely (status))
+       _cairo_set_error (cr, status);
+}
+slim_hidden_def (cairo_set_shadow_blur);
+
+void
+cairo_set_draw_shadow_only (cairo_t *cr, cairo_bool_t draw_shadow_only)
+{
+    if (unlikely (cr->status))
+       return;
+
+    cr->backend->set_draw_shadow_only (cr, draw_shadow_only);
+}
+slim_hidden_def (cairo_set_draw_shadow_only);
+
+void
+cairo_shadow_enable_cache (cairo_t *cr, cairo_bool_t enable)
+{
+    if (unlikely (cr->status))
+       return;
+
+    cr->backend->shadow_enable_cache (cr, enable);
+}
+slim_hidden_def (cairo_shadow_enable_cache);
+
+void
+cairo_set_path_is_inset_shadow_with_spread (cairo_t *cr,
+                                           cairo_bool_t is_spread_path)
+{
+    if (unlikely (cr->status))
+       return;
+    cr->backend->set_path_is_inset_shadow_with_spread (cr, is_spread_path);}
+slim_hidden_def (cairo_set_path_is_inset_shadow_with_spread);
old mode 100644 (file)
new mode 100755 (executable)
index a2f5aa3..2b03e77
@@ -1339,6 +1339,22 @@ typedef enum _cairo_hint_metrics {
 } cairo_hint_metrics_t;
 
 /**
+ * cairo_font_color_t:
+ * @CAIRO_FONT_COLOR_DEFAULT: default color, if the font has color,
+ *     use font's color, otherwise, use user specified, since 1.12.14
+ * @CAIRO_FONT_COLOR_USER: always uses user's color, since 1.0
+ *
+ * When rendering text, specifies whether to use user's color set
+ * by cairo_set_source_XXXX() or use glyph's builtin color
+ *
+ * Since: 1.4
+ **/
+ typedef enum _cairo_font_color {
+       CAIRO_FONT_COLOR_DEFAULT,
+       CAIRO_FONT_COLOR_USER
+ } cairo_font_color_t;
+
+ /**
  * cairo_font_options_t:
  *
  * An opaque structure holding all options that are used when
@@ -1408,6 +1424,13 @@ cairo_font_options_set_hint_metrics (cairo_font_options_t *options,
 cairo_public cairo_hint_metrics_t
 cairo_font_options_get_hint_metrics (const cairo_font_options_t *options);
 
+cairo_public void
+cairo_font_options_set_font_color (cairo_font_options_t *options,
+cairo_font_color_t  font_color);
+
+cairo_public cairo_font_color_t
+cairo_font_options_get_font_color (const cairo_font_options_t *options);
+
 /* This interface is for dealing with text as text, not caring about the
    font object inside the the cairo_t. */
 
@@ -2382,7 +2405,8 @@ typedef enum _cairo_surface_type {
     CAIRO_SURFACE_TYPE_XML,
     CAIRO_SURFACE_TYPE_SKIA,
     CAIRO_SURFACE_TYPE_SUBSURFACE,
-    CAIRO_SURFACE_TYPE_COGL
+    CAIRO_SURFACE_TYPE_COGL,
+    CAIRO_SURFACE_TYPE_TG,
 } cairo_surface_type_t;
 
 cairo_public cairo_surface_type_t
@@ -2908,6 +2932,49 @@ cairo_public cairo_filter_t
 cairo_pattern_get_filter (cairo_pattern_t *pattern);
 
 cairo_public cairo_status_t
+cairo_pattern_set_sigma (cairo_pattern_t *pattern,
+                         const double     x_sigma,
+                         const double     y_sigma);
+
+cairo_public cairo_status_t
+cairo_pattern_get_sigma (cairo_pattern_t *pattern,
+                         double          *x_sigma,
+                         double          *y_sigma);
+
+/* since 1.12.14 */
+typedef enum _cairo_shadow_type {
+    CAIRO_SHADOW_NONE = 0,
+    CAIRO_SHADOW_DROP,
+    CAIRO_SHADOW_INSET
+} cairo_shadow_type_t;
+
+cairo_public void
+cairo_set_shadow (cairo_t *cr, cairo_shadow_type_t shadow);
+
+cairo_public void
+cairo_set_shadow_offset (cairo_t *cr, double x_offset, double y_offset);
+
+cairo_public void
+cairo_set_shadow_rgb (cairo_t *cr, double red, double green, double blue);
+
+cairo_public void
+cairo_set_shadow_rgba (cairo_t *cr, double red, double green,
+                      double blue, double alpha);
+
+cairo_public void
+cairo_set_shadow_blur (cairo_t *cr, double x_blur, double y_blur);
+
+cairo_public void
+cairo_set_draw_shadow_only (cairo_t *cr, cairo_bool_t draw_shadow_only);
+
+cairo_public void
+cairo_shadow_enable_cache (cairo_t *cr, cairo_bool_t enable);
+
+cairo_public void
+cairo_set_path_is_inset_shadow_with_spread (cairo_t *cr,
+                                           cairo_bool_t is_spread_path);
+
+cairo_public cairo_status_t
 cairo_pattern_get_rgba (cairo_pattern_t *pattern,
                        double *red, double *green,
                        double *blue, double *alpha);
old mode 100644 (file)
new mode 100755 (executable)
index e23f575..e4f483a
@@ -305,6 +305,10 @@ cairo_private_no_warn cairo_bool_t
 _cairo_rectangle_intersect (cairo_rectangle_int_t *dst,
                            const cairo_rectangle_int_t *src);
 
+cairo_private_no_warn cairo_bool_t
+_cairo_rectangle_exact_intersect (cairo_rectangle_t *dst,
+                                 const cairo_rectangle_t *src);
+
 static inline cairo_bool_t
 _cairo_rectangle_intersects (const cairo_rectangle_int_t *dst,
                             const cairo_rectangle_int_t *src)
@@ -337,7 +341,7 @@ _cairo_rectangle_union (cairo_rectangle_int_t *dst,
                        const cairo_rectangle_int_t *src);
 
 cairo_private cairo_bool_t
-_cairo_box_intersects_line_segment (cairo_box_t *box,
+_cairo_box_intersects_line_segment (const cairo_box_t *box,
                                    cairo_line_t *line) cairo_pure;
 
 cairo_private cairo_bool_t
@@ -979,17 +983,33 @@ _cairo_path_fixed_approximate_fill_extents (const cairo_path_fixed_t *path,
                                            cairo_rectangle_int_t *extents);
 
 cairo_private void
+_cairo_path_fixed_approximate_fill_exact_extents (const cairo_path_fixed_t *path,
+                                                 cairo_rectangle_t *extents);
+
+cairo_private void
 _cairo_path_fixed_fill_extents (const cairo_path_fixed_t       *path,
                                cairo_fill_rule_t        fill_rule,
                                double                   tolerance,
                                cairo_rectangle_int_t   *extents);
 
 cairo_private void
+_cairo_path_fixed_fill_exact_extents (const cairo_path_fixed_t *path,
+                                     cairo_fill_rule_t  fill_rule,
+                                     double                     tolerance,
+                                     cairo_rectangle_t *extents);
+
+cairo_private void
 _cairo_path_fixed_approximate_stroke_extents (const cairo_path_fixed_t *path,
                                              const cairo_stroke_style_t *style,
                                              const cairo_matrix_t *ctm,
                                              cairo_rectangle_int_t *extents);
 
+cairo_private void
+_cairo_path_fixed_approximate_stroke_exact_extents (const cairo_path_fixed_t *path,
+                                                   const cairo_stroke_style_t *style,
+                                                   const cairo_matrix_t *ctm,
+                                                   cairo_rectangle_t *extents);
+
 cairo_private cairo_status_t
 _cairo_path_fixed_stroke_extents (const cairo_path_fixed_t *path,
                                  const cairo_stroke_style_t *style,
@@ -998,11 +1018,25 @@ _cairo_path_fixed_stroke_extents (const cairo_path_fixed_t *path,
                                  double tolerance,
                                  cairo_rectangle_int_t *extents);
 
+cairo_private cairo_status_t
+_cairo_path_fixed_stroke_exact_extents (const cairo_path_fixed_t *path,
+                                       const cairo_stroke_style_t *style,
+                                       const cairo_matrix_t *ctm,
+                                       const cairo_matrix_t *ctm_inverse,
+                                       double tolerance,
+                                       cairo_rectangle_t *extents);
+
 cairo_private void
 _cairo_path_fixed_transform (cairo_path_fixed_t        *path,
                             const cairo_matrix_t       *matrix);
 
 cairo_private cairo_bool_t
+_cairo_path_fixed_is_single_arc (const cairo_path_fixed_t *path);
+
+cairo_private cairo_bool_t
+_cairo_path_fixed_is_single_line (const cairo_path_fixed_t *path);
+
+cairo_private cairo_bool_t
 _cairo_path_fixed_is_box (const cairo_path_fixed_t *path,
                           cairo_box_t *box);
 
@@ -1046,12 +1080,6 @@ _cairo_path_fixed_fill_to_traps (const cairo_path_fixed_t   *path,
                                 double                      tolerance,
                                 cairo_traps_t              *traps);
 
-cairo_private cairo_status_t
-_cairo_path_fixed_fill_rectilinear_to_traps (const cairo_path_fixed_t *path,
-                                            cairo_fill_rule_t        fill_rule,
-                                            cairo_antialias_t        antialias,
-                                            cairo_traps_t                *traps);
-
 /* cairo-path-stroke.c */
 cairo_private cairo_status_t
 _cairo_path_fixed_stroke_to_polygon (const cairo_path_fixed_t  *path,
@@ -1092,6 +1120,14 @@ _cairo_path_fixed_stroke_to_traps (const cairo_path_fixed_t      *path,
                                   double                tolerance,
                                   cairo_traps_t        *traps);
 
+cairo_private cairo_int_status_t
+_cairo_path_fixed_stroke_polygon_to_traps (const cairo_path_fixed_t    *path,
+                                          const cairo_stroke_style_t   *stroke_style,
+                                          const cairo_matrix_t *ctm,
+                                          const cairo_matrix_t *ctm_inverse,
+                                          double                tolerance,
+                                          cairo_traps_t        *traps);
+
 cairo_private cairo_status_t
 _cairo_path_fixed_stroke_to_shaper (cairo_path_fixed_t *path,
                                   const cairo_stroke_style_t   *stroke_style,
@@ -1162,7 +1198,7 @@ _cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t       *scaled_font,
                                         cairo_rectangle_int_t   *extents,
                                         cairo_bool_t            *overlap);
 
-cairo_private void
+cairo_private cairo_bool_t
 _cairo_scaled_font_glyph_approximate_extents (cairo_scaled_font_t       *scaled_font,
                                              const cairo_glyph_t        *glyphs,
                                              int                      num_glyphs,
@@ -1238,6 +1274,17 @@ _cairo_stroke_style_max_distance_from_path (const cairo_stroke_style_t *style,
                                            const cairo_path_fixed_t *path,
                                             const cairo_matrix_t *ctm,
                                             double *dx, double *dy);
+cairo_private void
+_cairo_stroke_style_max_line_distance_from_path (const cairo_stroke_style_t *style,
+                                                const cairo_path_fixed_t *path,
+                                                const cairo_matrix_t *ctm,
+                                                double *dx, double *dy);
+
+cairo_private void
+_cairo_stroke_style_max_join_distance_from_path (const cairo_stroke_style_t *style,
+                                                const cairo_path_fixed_t *path,
+                                                const cairo_matrix_t *ctm,
+                                                double *dx, double *dy);
 
 cairo_private double
 _cairo_stroke_style_dash_period (const cairo_stroke_style_t *style);
@@ -1261,9 +1308,6 @@ _cairo_stroke_style_dash_approximate (const cairo_stroke_style_t *style,
 
 /* cairo-surface.c */
 
-cairo_private cairo_surface_t *
-_cairo_surface_create_in_error (cairo_status_t status);
-
 cairo_private cairo_status_t
 _cairo_surface_copy_mime_data (cairo_surface_t *dst,
                               cairo_surface_t *src);
@@ -1310,6 +1354,14 @@ _cairo_surface_paint (cairo_surface_t    *surface,
                      const cairo_pattern_t *source,
                      const cairo_clip_t            *clip);
 
+cairo_private cairo_image_surface_t *
+_cairo_surface_map_to_image (cairo_surface_t  *surface,
+                            const cairo_rectangle_int_t *extents);
+
+cairo_private cairo_int_status_t
+_cairo_surface_unmap_image (cairo_surface_t       *surface,
+                           cairo_image_surface_t *image);
+
 cairo_private cairo_status_t
 _cairo_surface_mask (cairo_surface_t   *surface,
                     cairo_operator_t    op,
@@ -1395,7 +1447,7 @@ _cairo_surface_has_snapshot (cairo_surface_t *surface,
 cairo_private void
 _cairo_surface_detach_snapshot (cairo_surface_t *snapshot);
 
-cairo_private void
+cairo_private cairo_status_t
 _cairo_surface_begin_modification (cairo_surface_t *surface);
 
 cairo_private_no_warn cairo_bool_t
@@ -1490,6 +1542,10 @@ _pixman_format_to_masks (pixman_format_code_t     pixman_format,
                         cairo_format_masks_t   *masks);
 
 cairo_private void
+_cairo_image_scaled_glyph_fini (cairo_scaled_font_t *scaled_font,
+                               cairo_scaled_glyph_t *scaled_glyph);
+
+cairo_private void
 _cairo_image_reset_static_data (void);
 
 cairo_private cairo_surface_t *
@@ -1521,6 +1577,11 @@ cairo_private cairo_image_color_t
 _cairo_image_analyze_color (cairo_image_surface_t      *image);
 
 /* cairo-pen.c */
+cairo_private int
+_cairo_pen_vertices_needed (double         tolerance,
+                           double          radius,
+                           const cairo_matrix_t  *matrix);
+
 cairo_private cairo_status_t
 _cairo_pen_init (cairo_pen_t   *pen,
                 double          radius,
@@ -1547,6 +1608,18 @@ cairo_private int
 _cairo_pen_find_active_ccw_vertex_index (const cairo_pen_t *pen,
                                         const cairo_slope_t *slope);
 
+cairo_private void
+_cairo_pen_find_active_cw_vertices (const cairo_pen_t *pen,
+                                    const cairo_slope_t *in,
+                                    const cairo_slope_t *out,
+                                    int *start, int *stop);
+
+cairo_private void
+_cairo_pen_find_active_ccw_vertices (const cairo_pen_t *pen,
+                                    const cairo_slope_t *in,
+                                    const cairo_slope_t *out,
+                                    int *start, int *stop);
+
 /* cairo-polygon.c */
 cairo_private void
 _cairo_polygon_init (cairo_polygon_t   *polygon,
@@ -1822,6 +1895,7 @@ slim_hidden_proto (cairo_font_options_equal);
 slim_hidden_proto (cairo_font_options_hash);
 slim_hidden_proto (cairo_font_options_merge);
 slim_hidden_proto (cairo_font_options_set_antialias);
+slim_hidden_proto (cairo_font_options_set_font_color);
 slim_hidden_proto (cairo_font_options_set_hint_metrics);
 slim_hidden_proto (cairo_font_options_set_hint_style);
 slim_hidden_proto (cairo_font_options_set_subpixel_order);
@@ -1877,6 +1951,7 @@ slim_hidden_proto (cairo_pattern_set_matrix);
 slim_hidden_proto (cairo_pop_group);
 slim_hidden_proto (cairo_push_group_with_content);
 slim_hidden_proto_no_warn (cairo_path_destroy);
+slim_hidden_proto (cairo_recording_surface_create);
 slim_hidden_proto (cairo_rel_line_to);
 slim_hidden_proto (cairo_restore);
 slim_hidden_proto (cairo_save);
@@ -1914,13 +1989,10 @@ slim_hidden_proto (cairo_surface_create_similar_image);
 slim_hidden_proto (cairo_surface_destroy);
 slim_hidden_proto (cairo_surface_finish);
 slim_hidden_proto (cairo_surface_flush);
-slim_hidden_proto (cairo_surface_get_content);
 slim_hidden_proto (cairo_surface_get_device_offset);
 slim_hidden_proto (cairo_surface_get_font_options);
 slim_hidden_proto (cairo_surface_get_mime_data);
-slim_hidden_proto (cairo_surface_get_type);
 slim_hidden_proto (cairo_surface_has_show_text_glyphs);
-slim_hidden_proto (cairo_surface_map_to_image);
 slim_hidden_proto (cairo_surface_mark_dirty);
 slim_hidden_proto (cairo_surface_mark_dirty_rectangle);
 slim_hidden_proto_no_warn (cairo_surface_reference);
@@ -1930,7 +2002,6 @@ slim_hidden_proto (cairo_surface_set_mime_data);
 slim_hidden_proto (cairo_surface_show_page);
 slim_hidden_proto (cairo_surface_status);
 slim_hidden_proto (cairo_surface_supports_mime_type);
-slim_hidden_proto (cairo_surface_unmap_image);
 slim_hidden_proto (cairo_text_cluster_allocate);
 slim_hidden_proto (cairo_text_cluster_free);
 slim_hidden_proto (cairo_toy_font_face_create);
@@ -1970,6 +2041,14 @@ slim_hidden_proto (cairo_region_union_rectangle);
 slim_hidden_proto (cairo_region_xor);
 slim_hidden_proto (cairo_region_xor_rectangle);
 
+slim_hidden_proto (cairo_set_shadow);
+slim_hidden_proto (cairo_set_shadow_offset);
+slim_hidden_proto (cairo_set_shadow_rgba);
+slim_hidden_proto (cairo_set_shadow_rgb);
+slim_hidden_proto (cairo_set_shadow_blur);
+slim_hidden_proto (cairo_set_draw_shadow_only);
+slim_hidden_proto (cairo_shadow_enable_cache);
+slim_hidden_proto (cairo_set_path_is_inset_shadow_with_spread);
 #if CAIRO_HAS_PNG_FUNCTIONS
 
 slim_hidden_proto (cairo_surface_write_to_png_stream);
@@ -2016,7 +2095,7 @@ cairo_private void
 _cairo_debug_print_clip (FILE *stream, const cairo_clip_t *clip);
 
 #if 0
-#define TRACE(x) fprintf x
+#define TRACE(x) fprintf (stderr, "%s: ", __FILE__), fprintf x
 #define TRACE_(x) x
 #else
 #define TRACE(x)
index aa3f45e..164ab03 100644 (file)
@@ -314,12 +314,16 @@ gallium_surface_release_source_image (void *abstract_surface,
 }
 
 static cairo_status_t
-gallium_surface_flush (void *abstract_surface)
+gallium_surface_flush (void *abstract_surface,
+                      unsigned flags)
 {
     gallium_surface_t *surface = abstract_surface;
     gallium_device_t *device = gallium_device (surface);
     cairo_status_t status;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     if (surface->fallback == NULL) {
        device->pipe->flush (device->pipe,
                             PIPE_FLUSH_RENDER_CACHE,
index 8b2e422..c750cf4 100644 (file)
@@ -1258,7 +1258,7 @@ i915_surface_fallback_flush (i915_surface_t *surface)
     cairo_status_t status;
 
     if (unlikely (surface->intel.drm.fallback != NULL))
-       return intel_surface_flush (&surface->intel);
+       return intel_surface_flush (&surface->intel, 0);
 
     status = CAIRO_STATUS_SUCCESS;
     if (unlikely (surface->deferred_clear))
index 0200121..c1a0452 100644 (file)
@@ -716,11 +716,15 @@ i915_surface_batch_flush (i915_surface_t *surface)
 }
 
 static cairo_status_t
-i915_surface_flush (void *abstract_surface)
+i915_surface_flush (void *abstract_surface,
+                   unsigned flags)
 {
     i915_surface_t *surface = abstract_surface;
     cairo_status_t status;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     if (surface->intel.drm.fallback == NULL) {
        if (surface->intel.drm.base.finished) {
            /* Forgo flushing on finish as the user cannot access the surface directly. */
@@ -736,7 +740,7 @@ i915_surface_flush (void *abstract_surface)
        return i915_surface_batch_flush (surface);
     }
 
-    return intel_surface_flush (abstract_surface);
+    return intel_surface_flush (abstract_surface, flags);
 }
 
 /* rasterisation */
index 5465f42..eed5f5f 100644 (file)
@@ -415,7 +415,7 @@ i965_shader_acquire_surface (i965_shader_t *shader,
                    int x;
 
                    if (s->intel.drm.fallback != NULL) {
-                       status = intel_surface_flush (s);
+                       status = intel_surface_flush (s, 0);
                        if (unlikely (status))
                            return status;
                    }
@@ -489,7 +489,7 @@ i965_shader_acquire_surface (i965_shader_t *shader,
            if (s->intel.drm.base.device == shader->target->intel.drm.base.device) {
                if (s != shader->target) {
                    if (s->intel.drm.fallback != NULL) {
-                       status = intel_surface_flush (s);
+                       status = intel_surface_flush (s, 0);
                        if (unlikely (status))
                            return status;
                    }
index 0891c95..ec7b595 100644 (file)
@@ -695,11 +695,14 @@ i965_surface_finish (void *abstract_surface)
 }
 
 static cairo_status_t
-i965_surface_flush (void *abstract_surface)
+i965_surface_flush (void *abstract_surface, unsigned flags)
 {
     i965_surface_t *surface = abstract_surface;
     cairo_status_t status = CAIRO_STATUS_SUCCESS;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     if (surface->intel.drm.fallback != NULL)
        return intel_surface_flush (abstract_surface);
 
index 7fe3623..343270a 100644 (file)
@@ -394,7 +394,8 @@ cairo_private cairo_surface_t *
 intel_surface_map_to_image (void *abstract_surface);
 
 cairo_private cairo_status_t
-intel_surface_flush (void *abstract_surface);
+intel_surface_flush (void *abstract_surface,
+                    unsigned flags);
 
 cairo_private cairo_status_t
 intel_surface_finish (void *abstract_surface);
index fe98759..88f5b8f 100644 (file)
@@ -157,11 +157,14 @@ intel_surface_map_to_image (void *abstract_surface)
 }
 
 cairo_status_t
-intel_surface_flush (void *abstract_surface)
+intel_surface_flush (void *abstract_surface, unsigned flags)
 {
     intel_surface_t *surface = abstract_surface;
     cairo_status_t status;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     if (surface->drm.fallback == NULL)
        return CAIRO_STATUS_SUCCESS;
 
index 9f46ca1..6dbddaa 100644 (file)
@@ -159,11 +159,15 @@ radeon_surface_map_to_image (radeon_surface_t *surface)
 }
 
 static cairo_status_t
-radeon_surface_flush (void *abstract_surface)
+radeon_surface_flush (void *abstract_surface,
+                     unsigned flags)
 {
     radeon_surface_t *surface = abstract_surface;
     cairo_status_t status;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     if (surface->base.fallback == NULL)
        return CAIRO_STATUS_SUCCESS;
 
index a08b3fb..bbe5507 100644 (file)
@@ -1635,6 +1635,10 @@ static const cairo_backend_t _cairo_skia_context_backend = {
     _cairo_skia_context_user_to_device_distance,
     _cairo_skia_context_device_to_user,
     _cairo_skia_context_device_to_user_distance,
+    _cairo_skia_context_user_to_device, /* XXX backend */
+    _cairo_skia_context_user_to_device_distance, /* XXX backend */
+    _cairo_skia_context_device_to_user, /* XXX backend */
+    _cairo_skia_context_device_to_user_distance, /* XXX backend */
 
     _cairo_skia_context_new_path,
     _cairo_skia_context_new_sub_path,
index 71bebb0..bb785e1 100644 (file)
@@ -90,22 +90,14 @@ _cairo_skia_surface_finish (void *asurface)
     return CAIRO_STATUS_SUCCESS;
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_skia_surface_map_to_image (void *asurface,
                                  const cairo_rectangle_int_t *extents)
 {
     cairo_skia_surface_t *surface = (cairo_skia_surface_t *) asurface;
 
     surface->bitmap->lockPixels ();
-
-    if (extents->width < surface->image.width ||
-       extents->height < surface->image.height)
-    {
-       return _cairo_surface_create_for_rectangle_int (&surface->image.base,
-                                                       extents);
-    }
-
-    return cairo_surface_reference (&surface->image.base);
+    return _cairo_image_surface_map_to_image (&surface->image, extents);
 }
 
 static cairo_int_status_t
@@ -113,9 +105,12 @@ _cairo_skia_surface_unmap_image (void *asurface,
                                 cairo_image_surface_t *image)
 {
     cairo_skia_surface_t *surface = (cairo_skia_surface_t *) asurface;
+    cairo_int_status_t status;
 
+    status = _cairo_image_surface_unmap_image (&surface->image, image);
     surface->bitmap->unlockPixels ();
-    return CAIRO_INT_STATUS_SUCCESS;
+
+    return status;
 }
 
 static cairo_status_t
index f8fa517..ff84b10 100644 (file)
@@ -662,10 +662,10 @@ base_compositor_stroke (const cairo_compositor_t *_compositor,
 
     info.antialias = antialias;
     _cairo_traps_init_with_clip (&info.traps, extents->clip);
-    status = _cairo_path_fixed_stroke_to_traps (path, style,
-                                               ctm, ctm_inverse,
-                                               tolerance,
-                                               &info.traps);
+    status = _cairo_path_fixed_stroke_polygon_to_traps (path, style,
+                                                       ctm, ctm_inverse,
+                                                       tolerance,
+                                                       &info.traps);
     if (likely (status == CAIRO_INT_STATUS_SUCCESS))
        status = trim_extents_to_traps (extents, &info.traps);
     if (likely (status == CAIRO_INT_STATUS_SUCCESS))
old mode 100644 (file)
new mode 100755 (executable)
index 2301055..4fdaac4
@@ -419,6 +419,8 @@ no_traps_compositor_get (void)
        compositor.check_composite = check_composite;
        compositor.composite = composite;
        compositor.lerp = lerp;
+       //FIXME:
+       compositor.lerp_color_glyph = lerp;
        //compositor.check_composite_boxes = check_composite_boxes;
        compositor.composite_boxes = composite_boxes;
        //compositor.check_composite_traps = check_composite_traps;
index b3ee573..741e49e 100644 (file)
@@ -106,9 +106,9 @@ static cairo_bool_t is_win98 (void)
     os.dwOSVersionInfoSize = sizeof (os);
     GetVersionEx (&os);
 
-    return (VER_PLATFORM_WIN32_WINDOWS != os.dwPlatformId &&
-           os.dwMajorVersion != 4 &&
-           os.dwMinorVersion != 10);
+    return (VER_PLATFORM_WIN32_WINDOWS == os.dwPlatformId &&
+           os.dwMajorVersion == 4 &&
+           os.dwMinorVersion == 10);
 }
 
 static void *
index 7efa7d8..ccd285d 100644 (file)
@@ -392,6 +392,7 @@ _cairo_win32_display_surface_create_similar_image (void         *abstract_other,
                                                   int       height)
 {
     cairo_win32_display_surface_t *surface = abstract_other;
+    cairo_image_surface_t *image;
 
     surface = (cairo_win32_display_surface_t *)
        _cairo_win32_display_surface_create_for_dc (surface->win32.dc,
@@ -399,7 +400,14 @@ _cairo_win32_display_surface_create_similar_image (void        *abstract_other,
     if (surface->win32.base.status)
        return &surface->win32.base;
 
-    return surface->image;
+    /* And clear in order to comply with our user API semantics */
+    image = (cairo_image_surface_t *) surface->image;
+    if (! image->base.is_clear) {
+       memset (image->data, 0, image->stride * height);
+       image->base.is_clear = TRUE;
+    }
+
+    return &image->base;
 }
 
 static cairo_status_t
@@ -427,7 +435,7 @@ _cairo_win32_display_surface_finish (void *abstract_surface)
     return CAIRO_STATUS_SUCCESS;
 }
 
-static cairo_surface_t *
+static cairo_image_surface_t *
 _cairo_win32_display_surface_map_to_image (void                    *abstract_surface,
                                           const cairo_rectangle_int_t   *extents)
 {
@@ -464,13 +472,13 @@ _cairo_win32_display_surface_map_to_image (void                    *abstract_sur
     surface = to_win32_display_surface (surface->fallback);
 done:
     GdiFlush();
-    return _cairo_image_surface_map_to_image (surface->image, extents);
+    return _cairo_surface_map_to_image (surface->image, extents);
 
 err:
     cairo_surface_destroy (surface->fallback);
     surface->fallback = NULL;
 
-    return _cairo_surface_create_in_error (status);
+    return _cairo_image_surface_create_in_error (status);
 }
 
 static cairo_int_status_t
@@ -497,17 +505,21 @@ _cairo_win32_display_surface_unmap_image (void                    *abstract_surf
                __FUNCTION__, r.x, r.y, r.width, r.height));
        surface->fallback->damage =
            _cairo_damage_add_rectangle (surface->fallback->damage, &r);
+       surface = to_win32_display_surface (surface->fallback);
     }
 
-    return CAIRO_INT_STATUS_SUCCESS;
+    return _cairo_surface_unmap_image (surface->image, image);
 }
 
 static cairo_status_t
-_cairo_win32_display_surface_flush (void *abstract_surface)
+_cairo_win32_display_surface_flush (void *abstract_surface, unsigned flags)
 {
     cairo_win32_display_surface_t *surface = abstract_surface;
     cairo_status_t status = CAIRO_STATUS_SUCCESS;
 
+    if (flags)
+       return CAIRO_STATUS_SUCCESS;
+
     TRACE ((stderr, "%s (surface=%d)\n",
            __FUNCTION__, surface->win32.base.unique_id));
     if (surface->fallback == NULL)
index 39db674..c70b0f9 100644 (file)
@@ -236,7 +236,7 @@ copy_boxes (cairo_win32_display_surface_t *dst,
     if (! _cairo_boxes_for_each_box (boxes, source_contains_box, &cb))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
-    status = _cairo_surface_flush (surface);
+    status = __cairo_surface_flush (surface, 0);
     if (status)
        return status;
 
@@ -360,7 +360,7 @@ alpha_blend_boxes (cairo_win32_display_surface_t *dst,
     if (! _cairo_boxes_for_each_box (boxes, source_contains_box, &cb))
        return CAIRO_INT_STATUS_UNSUPPORTED;
 
-    status = _cairo_surface_flush (&src->win32.base);
+    status = __cairo_surface_flush (&src->win32.base, 0);
     if (status)
        return status;
 
diff --git a/test/.gitignore b/test/.gitignore
deleted file mode 100644 (file)
index dba5877..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-TAGS
-tags
-.deps
-.libs
-output
-Makefile
-Makefile.in
-ref.hash
-ref.list
-any2ppm
-.any2ppm
-.any2ppm.pid
-.any2ppm.errors
-cairo-test-constructors.c
-cairo-test-trace
-cairo-test-suite
-pdf2png
-ps2png
-svg2png
-valgrind-log
-*.out.*
-*.pass.*
-*.fail.*
-*.diff.png
-*.manifest
-*.gcda
-*.gcno
-*.exe
-*.exe.so
-*.obj
-*.ilk
-*.pdb
-*.la
-*.lo
-*.log
-*.suo
-*.o
-*~
-.*.sw?
-make-cairo-test-constructors
diff --git a/test/.valgrind-suppressions b/test/.valgrind-suppressions
deleted file mode 100644 (file)
index f481a2f..0000000
+++ /dev/null
@@ -1,577 +0,0 @@
-{
-   in dl.so
-   Memcheck:Cond
-   fun:_dl_relocate_object
- }
-{
-   bugs in libpng/libz
-   Memcheck:Cond
-   obj:/usr/lib/libz.so.1.2.2.2
-   obj:/usr/lib/libz.so.1.2.2.2
-   fun:deflate
- }
-{
-   bugs in libpng/libz
-   Memcheck:Cond
-   obj:/usr/lib/libz.so.1.2.3
-   obj:/usr/lib/libz.so.1.2.3
-   fun:deflate
- }
-{
-   bugs in libpng/libz
-   Memcheck:Cond
-   obj:/usr/lib/libz.so.1.2.3.3
- }
-{
-   bugs in libpng/libz
-   Memcheck:Value8
-   obj:/usr/lib/libz.so.1.2.3.3
- }
-{
-   cairo's write_png triggers apparent bugs in libpng/libz
-   Memcheck:Cond
-   obj:/usr/lib/libz.so.1.2.2.2
-   obj:/usr/lib/libz.so.1.2.2.2
-   fun:deflate
-   fun:png_write_finish_row
-   fun:png_write_filtered_row
-   fun:png_write_find_filter
-   fun:png_write_row
-   fun:png_write_image
-   fun:write_png
- }
-{
-   cairo's write_png_argb32 triggers apparent bugs in libpng/libz
-   Memcheck:Cond
-   obj:/usr/lib/libz.so.1.2.3
-   obj:/usr/lib/libz.so.1.2.3
-   fun:deflate
-   obj:/usr/lib/libpng12.so.0.1.2.8
-   obj:/usr/lib/libpng12.so.0.1.2.8
-   obj:/usr/lib/libpng12.so.0.1.2.8
-   fun:png_write_row
-   fun:png_write_image
-   fun:write_png
-}
-{
-   cairo's write_png_argb32 triggers apparent bugs in libpng/libz
-   Memcheck:Cond
-   obj:/usr/lib/libz.so.1.2.2.2
-   obj:/usr/lib/libz.so.1.2.2.2
-   fun:deflate
-   fun:png_write_finish_row
-   fun:png_write_filtered_row
-   fun:png_write_find_filter
-   fun:png_write_row
-   fun:png_write_image
-   fun:write_png_argb32
- }
-{
-   cairo's _cairo_pdf_surface_paint triggers apparent bugs in libz
-   Memcheck:Cond
-   obj:/usr/lib/libz.so.1.2.3
-   obj:/usr/lib/libz.so.1.2.3
-   fun:deflate
-   fun:compress2
-   fun:compress
-   fun:compress_dup
-   fun:emit_image
-   fun:emit_surface_pattern
-   fun:emit_pattern
-   fun:_cairo_pdf_surface_paint
-}
-{
-   cairo's _cairo_pdf_surface_paint triggers apparent bugs in libz
-   Memcheck:Cond
-   obj:/usr/lib/libz.so.1.2.3
-   obj:/usr/lib/libz.so.1.2.3
-   fun:deflate
-   fun:compress2
-   fun:compress
-   fun:compress_dup
-   fun:emit_pattern
-   fun:_cairo_pdf_surface_paint
-}
-{
-   cairo's _cairo_pdf_surface_paint triggers apparent bugs in libz
-   Memcheck:Cond
-   fun:deflate_slow
-   fun:deflate
-}
-{
-   cairo's _cairo_pdf_surface_paint triggers apparent bugs in libz
-   Memcheck:Value4
-   fun:deflate_slow
-   fun:deflate
-}
-{
-   cairo's _cairo_pdf_surface_paint triggers apparent bugs in libz
-   Memcheck:Value4
-   fun:compress_block
-   fun:_tr_flush_block
-   fun:deflate_slow
-   fun:deflate
-}
-{
-   cairo's _cairo_pdf_surface_paint triggers apparent bugs in libz
-   Memcheck:Value4
-   fun:crc32
-   obj:/usr/lib/libpng12.so.0.15.0
-   fun:png_write_chunk_data
-   fun:png_write_chunk
-}
-{
-   cairo's _cairo_pdf_surface_paint triggers apparent bugs in libz
-   Memcheck:Value4
-   fun:base64_write_func
-   fun:stream_write_func
-   obj:/usr/lib/libpng12.so.0.15.0
-   fun:png_write_chunk_data
-   fun:png_write_chunk
-}
-{
-   pthread initialization strstr bug
-   Memcheck:Cond
-   fun:strstr
-   fun:__pthread_initialize_minimal
-   obj:/lib/libpthread-2.3.5.so
-   obj:/lib/libpthread-2.3.5.so
-   fun:call_init
-   fun:_dl_init
-   obj:/lib/ld-2.3.5.so
-}
-{
-   Pixman reads padding bytes that are never initialized
-   Memcheck:Cond
-   fun:fbBltOne
-   fun:fbCompositeSolidMask_nx1xn
-   fun:_cairo_pixman_composite
-   fun:_cairo_image_surface_composite
-   fun:_cairo_surface_composite
-   fun:_cairo_ft_scaled_font_show_glyphs
-   fun:_cairo_scaled_font_show_glyphs
-   fun:_cairo_gstate_show_glyphs_draw_func
-   fun:_cairo_gstate_clip_and_composite
-   fun:_cairo_gstate_show_glyphs
-   fun:cairo_show_text
-   fun:draw
-}
-{
-   XXX: I have no idea what might be causing this
-   Memcheck:Free
-   fun:free
-   fun:free_mem
-   fun:__libc_freeres
-   fun:_vgw_freeres
-   fun:exit
-   fun:__libc_start_main
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcAddCT
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-   fun:XrmGetStringDatabase
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:PutEntry
-   fun:GetDatabase
-   fun:XrmGetStringDatabase
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-   fun:XrmGetStringDatabase
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:add_codeset
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-   fun:XrmGetStringDatabase
-}
-{
-   XrmInitialize is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XrmInternalStringToQuark
-}
-{
-   XrmInitialize is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   obj:/usr/lib/libX11.so.6.2.0
-   fun:_XrmInternalStringToQuark
-   fun:XrmInitialize
-}
-{
-   XrmInitialize is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:permalloc
-   fun:_XrmInternalStringToQuark
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcSetConverter
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-   fun:XrmGetStringDatabase
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcCreateDefaultCharSet
-   fun:_XlcAddCT
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-   fun:XrmGetStringDatabase
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:realloc
-   fun:add_codeset
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-   fun:XrmGetStringDatabase
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:realloc
-   fun:add_codeset
-   fun:load_generic
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:add_codeset
-   fun:load_generic
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:load_generic
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcAddCharSet
-   fun:_XlcAddCT
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-   fun:XrmGetStringDatabase
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcCreateLocaleDataBase
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-   fun:XrmGetStringDatabase
-}
-{
-   XrmGetStringDatabase is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcSetConverter
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-   fun:XrmGetStringDatabase
-}
-{
-   pthread initialization seems to leave some memory possibly lost
-   Memcheck:Leak
-   fun:calloc
-   obj:/lib/ld-2.3.6.so
-   obj:/lib/ld-2.3.6.so
-   fun:_dl_allocate_tls
-   fun:__pthread_initialize_minimal
-   obj:/usr/lib/debug/libpthread-0.10.so
-   obj:/usr/lib/debug/libpthread-0.10.so
-   obj:/lib/ld-2.3.6.so
-   obj:/lib/ld-2.3.6.so
-   obj:/lib/ld-2.3.6.so
-}
-{
-   pthread initialization seems to leave some memory still reachable
-   Memcheck:Leak
-   fun:calloc
-   fun:_dl_tls_setup
-   fun:__pthread_initialize_minimal
-   obj:/usr/lib/debug/libpthread-0.10.so
-   obj:/usr/lib/debug/libpthread-0.10.so
-   obj:/lib/ld-2.3.6.so
-   obj:/lib/ld-2.3.6.so
-   obj:/lib/ld-2.3.6.so
-}
-{
-   pthread initialization seems to leave some memory possibly lost
-   Memcheck:Leak
-   fun:memalign
-   obj:/lib/ld-2.3.6.so
-   fun:_dl_allocate_tls
-   fun:__pthread_initialize_minimal
-   obj:/usr/lib/debug/libpthread-0.10.so
-   obj:/usr/lib/debug/libpthread-0.10.so
-   obj:/lib/ld-2.3.6.so
-   obj:/lib/ld-2.3.6.so
-   obj:/lib/ld-2.3.6.so
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcAddCT
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:PutEntry
-   fun:GetDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:add_codeset
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcAddCharSet
-   fun:_XlcAddCT
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:realloc
-   fun:add_codeset
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcCreateDefaultCharSet
-   fun:_XlcAddCT
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcCreateDefaultCharSet
-   fun:_XlcAddCT
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcAddCT
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcCreateLocaleDataBase
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcCreateDefaultCharSet
-   fun:_XlcAddCT
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcSetConverter
-   fun:_XlcInitCTInfo
-   fun:initialize
-   fun:initialize
-   fun:_XlcCreateLC
-   fun:_XlcUtf8Loader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcSetConverter
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   XrmGet*Database is fairly obnoxious about leaving reachable memory around
-   Memcheck:Leak
-   fun:malloc
-   fun:_XlcSetConverter
-   fun:_XlcAddUtf8Converters
-   fun:_XlcDefaultLoader
-   fun:_XOpenLC
-   fun:_XrmInitParseInfo
-   fun:NewDatabase
-}
-{
-   Xau chooses not to free its static data...
-   Memcheck:Leak
-   fun:malloc
-   fun:XauFileName
-}
diff --git a/test/6x13.pcf b/test/6x13.pcf
deleted file mode 100644 (file)
index 1325ae6..0000000
Binary files a/test/6x13.pcf and /dev/null differ
diff --git a/test/COPYING b/test/COPYING
deleted file mode 100644 (file)
index 3db71fb..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-Cairo is free software.
-
-These tests are mainly available under a liberal MIT license to simplify
-any use of the code for reference purposes. Please check the opening comment
-of each file for copyright and licensing information.
-
-The test suite also bundles some fonts for use by the test suite. The
-fonts included, their licenses, and why we use them in the test suite
-are as follows:
-
-       Font            License         Distinguishing feature
-       --------        -------------   ----------------------
-       6x13.pcf        Public Domain   Bitmap font
-
-
-The test suite also bundles some images for use by the test suite. The
-images included, their licenses, and why we use them in the test suite
-are as follows:
-
-       Image           License         Distinguishing feature
-       -------------   -------------   -------------------------
-       romedalen.jpg   Public Domain   Bitmap image (image/jpeg)
-       romedalen.png   Public Domain   Bitmap image (image/png)
-
-The kind contributors of the bundled files are (in alphabetical order):
-Øyvind Kolås <pippin@freedesktop.org> Author of the original romedalen shot.
diff --git a/test/Makefile.am b/test/Makefile.am
deleted file mode 100644 (file)
index 07826ff..0000000
+++ /dev/null
@@ -1,469 +0,0 @@
-include $(top_srcdir)/build/Makefile.am.common
-
-include $(top_srcdir)/test/Makefile.sources
-
-SUBDIRS=pdiff .
-
-# Then we have a collection of tests that are only run if certain
-# features are compiled into cairo
-if HAVE_REAL_PTHREAD
-test_sources += $(pthread_test_sources)
-endif
-
-if CAIRO_HAS_FT_FONT
-if CAIRO_HAS_FC_FONT
-test_sources += $(ft_font_test_sources)
-endif
-endif
-
-if CAIRO_HAS_GL_SURFACE
-test_sources += $(gl_surface_test_sources)
-endif
-
-# Need to add quartz-surface-source
-if CAIRO_HAS_QUARTZ_SURFACE
-test_sources += $(quartz_surface_test_sources)
-endif
-
-if CAIRO_HAS_PDF_SURFACE
-test_sources += $(pdf_surface_test_sources)
-endif
-
-if CAIRO_HAS_PS_SURFACE
-test_sources += $(ps_surface_test_sources)
-endif
-
-if CAIRO_HAS_SVG_SURFACE
-test_sources += $(svg_surface_test_sources)
-endif
-
-if CAIRO_HAS_TEST_SURFACES
-test_sources += $(test_fallback16_surface_test_sources)
-endif
-
-if CAIRO_HAS_XCB_SURFACE
-test_sources += $(xcb_surface_test_sources)
-endif
-
-if CAIRO_HAS_XLIB_SURFACE
-test_sources += $(xlib_surface_test_sources)
-endif
-
-if CAIRO_HAS_XLIB_XRENDER_SURFACE
-test_sources += $(xlib_xrender_surface_test_sources)
-endif
-
-if CAIRO_HAS_MULTI_PAGE_SURFACES
-test_sources += $(multi_page_surface_test_sources)
-endif
-
-# Include fallback-resolution (once!) if we have any of the vector surfaces
-if BUILD_ANY2PPM
-if CAIRO_HAS_SVG_SURFACE
-test = $(fallback_resolution_test_sources)
-endif
-if CAIRO_HAS_PDF_SURFACE
-test = $(fallback_resolution_test_sources)
-endif
-if CAIRO_HAS_PS_SURFACE
-test = $(fallback_resolution_test_sources)
-endif
-endif
-test_sources += $(test)
-
-noinst_PROGRAMS = cairo-test-suite$(EXEEXT) # always build
-
-TESTS += cairo-test-suite$(EXEEXT)
-
-cairo-test-constructors.c: Makefile $(test_sources) make-cairo-test-constructors.sh
-       (cd $(srcdir) && sh ./make-cairo-test-constructors.sh $(test_sources)) > $@
-
-cairo_test_suite_SOURCES =             \
-       $(cairo_test_suite_sources)     \
-       $(cairo_test_suite_headers)     \
-       $(test_sources)                 \
-       cairo-test-constructors.c
-cairo_test_suite_CFLAGS = $(AM_CFLAGS) $(real_pthread_CFLAGS) 
-cairo_test_suite_LDADD =                                       \
-       $(real_pthread_LIBS)                                    \
-       $(top_builddir)/test/pdiff/libpdiff.la                  \
-        $(top_builddir)/boilerplate/libcairoboilerplate.la     \
-       $(top_builddir)/src/libcairo.la                         \
-       $(CAIRO_LDADD)
-cairo_test_suite_DEPENDENCIES = \
-       $(top_builddir)/test/pdiff/libpdiff.la                  \
-        $(top_builddir)/boilerplate/libcairoboilerplate.la     \
-       $(top_builddir)/src/libcairo.la
-if BUILD_ANY2PPM
-cairo_test_suite_DEPENDENCIES += \
-       any2ppm$(EXEEXT)
-endif
-
-if HAVE_SHM
-EXTRA_PROGRAMS += cairo-test-trace
-cairo_test_trace_SOURCES =             \
-       cairo-test-trace.c              \
-       buffer-diff.c                   \
-       buffer-diff.h
-cairo_test_trace_CFLAGS = $(AM_CFLAGS) $(real_pthread_CFLAGS) 
-cairo_test_trace_LDADD =               \
-       $(real_pthread_LIBS)                                    \
-       $(top_builddir)/test/pdiff/libpdiff.la                  \
-       $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-        $(top_builddir)/boilerplate/libcairoboilerplate.la     \
-       $(top_builddir)/src/libcairo.la                         \
-       $(top_builddir)/util/cairo-missing/libcairo-missing.la  \
-       $(CAIRO_LDADD) \
-       $(SHM_LIBS)
-cairo_test_trace_DEPENDENCIES = \
-       $(top_builddir)/test/pdiff/libpdiff.la                  \
-       $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-        $(top_builddir)/boilerplate/libcairoboilerplate.la     \
-       $(top_builddir)/src/libcairo.la                         \
-       $(top_builddir)/util/cairo-missing/libcairo-missing.la  \
-       $(NULL)
-endif
-
-BUILT_SOURCES += cairo-test-constructors.c
-EXTRA_DIST += $(BUILT_SOURCES) $(noinst_SCRIPTS) COPYING make-cairo-test-constructors.sh run-cairo-test-suite.sh generate_refs.sh tiger.inc
-CLEANFILES += $(BUILT_SOURCES)
-
-EXTRA_DIST +=          \
-6x13.pcf               \
-index.html             \
-jp2.jp2                        \
-jpeg.jpg               \
-png.png                        \
-romedalen.jpg          \
-romedalen.png          \
-scarab.jpg             \
-surface-source.c       \
-testtable.js           \
-reference
-
-# Any test for which the code committed to CVS is expected to fail
-# should be listed here.
-#
-# This way, we can avoid being bothered by reports of bugs we are
-# aware of, but users can still report when tests start behaving in
-# unexpected ways on their system.
-#
-# Of course, before any "release" of cairo we should eliminate
-# everything from this list by fixing the bugs. (We don't necessarily
-# have to be that strict for "snapshots" though.)
-#
-# Analysis of XFAIL errors:
-# alpha-similar         - discrepancy between backends in applying color
-#                         components of a pure alpha surface
-# big-line              - range overflow of fixed-point
-# big-trap              - range overflow of fixed-point
-# degenerate-dash       - needs path editing in PS to convert degenerate
-#                         end-caps into the shapes as expected by cairo
-#                         (Or maybe PS is the correct behaviour?)
-# degenerate-path       - undefined behaviour in PS, needs path editing to
-#                         convert degenerate segments into circles/rectangles
-#                         as expected by cairo
-# device-offset-scale   - complication of pre-multiplying device_offset
-#                         into the pattern_matrix and then requiring further
-#                         manipulation for SVG
-# extend-pad            - lacks implementation in pixman and consequently used
-#                         as an excuse for lack of support in other backends
-# fallback-resolution   - The essential problem here is that the recording-surface
-#                         has recorded a sequence of operations with one device
-#                         transformation, and we attempt to replay it with
-#                         another (basically a scale-factor for the falback
-#                         resolution). Carl begun to look at this with his
-#                         chain-of-bugs, but the can of worms is much bigger.
-#                         It appears to be a design flaw in the recording-surface
-#                         that may spread further...
-#                         My solution would be to lock Behad and Adrian in a
-#                         room, with Carl as a moderator and not let them out
-#                         until they have come up with an interface and
-#                         semantics that actually work. :-)
-# in-fill-empty-trapezoid The cairo_in_fill () function can sometimes
-#                         produce false positives when the tessellator
-#                         produces empty trapezoids and the query
-#                         point lands exactly on a trapezoid edge.
-# long-lines            - range overflow of fixed-point
-# scale-offset-image    - loss of precision converting a cairo matrix to
-# scale-offset-similar    pixman's fixed point format.
-# self-copy-overlap     - vector surfaces take snapshot of patterns in contrast
-#                         to the raster backends which don't. One solution
-#                         would be to clone overlapping areas of dst/source, so
-#                         patterns were effectively snapshotted across all
-#                         backends.
-# self-intersecting     - incremental trapezoidation of strokes can generate
-#                         overlapping traps. Needs self-intersection analysis
-#                         on cairo_traps_t after strokes.
-#                         Test case should also be expanded to hit special-case
-#                         tessellators as well.
-# surface-pattern-big...- Strange, unexplained results for SVG/PS.
-XFAIL_TESTS =                                  \
-alpha-similar$(EXEEXT)                         \
-big-line$(EXEEXT)                              \
-big-trap$(EXEEXT)                              \
-degenerate-dash$(EXEEXT)                       \
-degenerate-path$(EXEEXT)                       \
-device-offset-scale$(EXEEXT)                   \
-extend-pad$(EXEEXT)                            \
-fallback-resolution$(EXEEXT)                   \
-in-fill-empty-trapezoid$(EXEEXT)               \
-long-lines$(EXEEXT)                            \
-self-copy-overlap$(EXEEXT)                     \
-self-intersecting$(EXEEXT)                     \
-surface-pattern-big-scale-down$(EXEEXT)                \
-$(NULL)
-
-# Any test that doesn't generate a log file goes here
-NOLOG_TESTS =                  \
-fallback-resolution            \
-font-options                   \
-multi-page                     \
-pdf-features                   \
-png                            \
-ps-eps                          \
-ps-features                    \
-svg-clip                       \
-svg-surface                    \
-toy-font-face                  \
-user-data
-
-# A target to summarise the failures
-check-summary:
-       @FAILED_TESTS=""; \
-       for t in output/*.log; do \
-           if grep -e '\<FAIL\>' $$t >/dev/null 2>&1; then \
-               FAILED_TESTS="$$FAILED_TESTS $$t"; \
-           fi; \
-       done; \
-       if test -n "$$FAILED_TESTS"; then \
-           echo "Failed tests:"; \
-           surfaces=""; \
-           for t in $$FAILED_TESTS; do \
-               name="$${t##output/}"; name="$${name%.log}"; \
-               echo -n "     $$name: "; \
-               grep -e '\<FAIL\>' $$t | sed -e 's/.*TARGET: \([^ ]*\).*/\1/' | sort | uniq | tr '\n' ' '; \
-               echo; \
-               for s in `grep -e '\<FAIL\>' $$t | sed -e 's/.*TARGET: \([^ ]*\).*/\1/' | sort | uniq`; do \
-                   ss=`echo $$s | tr '-' '_'`; \
-                   tt=`echo $$name | tr '-' '_'`; \
-                   eval $$ss=\""$${!ss} $$tt"\"; \
-                   echo $$surfaces | grep $$ss >/dev/null || surfaces="$$surfaces $$ss"; \
-               done; \
-           done; \
-           echo -n "Failures per surface - "; \
-           first=""; \
-           for s in $$surfaces; do \
-               ss=`echo $$s | tr '_' '-'`; \
-               test -n "$$first" && echo -n ", "; \
-               cnt=`echo $${!s} | wc -w`; \
-               echo -n "$$ss: $$cnt"; \
-               first="false"; \
-           done; \
-           echo "."; \
-           for s in $$surfaces; do \
-               ss=`echo $$s | tr '_' '-'`; \
-               cnt=`echo $${!s} | wc -w`; \
-               echo -n "       $$ss [$$cnt]: "; \
-               echo $${!s} | tr '_' '-'; \
-           done; \
-       fi
-
-AM_CPPFLAGS =                                  \
-       -I$(srcdir)                             \
-       -I$(srcdir)/pdiff                       \
-       -I$(top_srcdir)/boilerplate             \
-       -I$(top_srcdir)/util/cairo-missing      \
-       -I$(top_srcdir)/util/cairo-script       \
-       -I$(top_srcdir)/src                     \
-       -I$(top_builddir)/src                   \
-       $(CAIRO_CFLAGS)
-AM_LDFLAGS = $(CAIRO_LDFLAGS)
-
-$(top_builddir)/boilerplate/libcairoboilerplate.la: $(top_builddir)/src/libcairo.la
-       cd $(top_builddir)/boilerplate && $(MAKE) $(AM_MAKEFLAGS) libcairoboilerplate.la
-
-$(top_builddir)/src/libcairo.la:
-       cd $(top_builddir)/src && $(MAKE) $(AM_MAKEFLAGS) libcairo.la
-
-$(top_builddir)/test/pdiff/libpdiff.la:
-       cd $(top_builddir)/test/pdiff && $(MAKE) $(AM_MAKEFLAGS) libpdiff.la
-
-$(top_builddir)/util/cairo-script/libcairo-script-interpreter.la: $(top_builddir)/src/libcairo.la
-       cd $(top_builddir)/util/cairo-script && $(MAKE) $(AM_MAKEFLAGS) libcairo-script-interpreter.la
-
-EXTRA_PROGRAMS += imagediff png-flatten
-
-imagediff_SOURCES = \
-       imagediff.c     \
-       buffer-diff.c   \
-       buffer-diff.h
-imagediff_LDADD = \
-       $(top_builddir)/test/pdiff/libpdiff.la \
-       $(top_builddir)/src/libcairo.la
-
-png_flatten_SOURCES = png-flatten.c
-png_flatten_LDADD = $(top_builddir)/src/libcairo.la \
-                   $(CAIRO_LDADD)
-
-if BUILD_ANY2PPM
-check_PROGRAMS += any2ppm
-any2ppm_CFLAGS = $(AM_CFLAGS) $(POPPLER_CFLAGS) $(LIBRSVG_CFLAGS) $(LIBSPECTRE_CFLAGS)
-# add LDADD, so poppler/librsvg uses "our" cairo
-any2ppm_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS)
-any2ppm_LDADD = \
-               $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-               $(top_builddir)/src/libcairo.la \
-               $(CAIRO_LDADD) \
-               $(CAIROBOILERPLATE_LIBS) \
-               $(POPPLER_LIBS) \
-               $(LIBRSVG_LIBS) \
-               $(LIBSPECTRE_LIBS)
-endif
-
-if CAIRO_CAN_TEST_PDF_SURFACE
-check_PROGRAMS += pdf2png
-pdf2png_CFLAGS = $(AM_CFLAGS) $(POPPLER_CFLAGS)
-# add LDADD, so poppler uses "our" cairo
-pdf2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS)
-pdf2png_LDADD  = $(top_builddir)/src/libcairo.la \
-                $(CAIRO_LDADD) \
-                $(POPPLER_LIBS)
-endif
-
-if CAIRO_CAN_TEST_SVG_SURFACE
-check_PROGRAMS += svg2png
-svg2png_CFLAGS = $(AM_CFLAGS) $(LIBRSVG_CFLAGS)
-# add LDADD, so librsvg uses "our" cairo
-svg2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS)
-svg2png_LDADD  = $(top_builddir)/src/libcairo.la \
-                $(CAIRO_LDADD) \
-                $(LIBRSVG_LIBS)
-endif
-
-if CAIRO_HAS_SPECTRE
-check_PROGRAMS += ps2png
-ps2png_CFLAGS = $(AM_CFLAGS) $(LIBSPECTRE_CFLAGS)
-# add LDADD, so ps2png uses "our" cairo
-ps2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS)
-ps2png_LDADD  = $(top_builddir)/src/libcairo.la \
-               $(CAIRO_LDADD) \
-               $(LIBSPECTRE_LIBS)
-endif
-
-EXTRA_PROGRAMS += $(TESTS)
-
-# Do a funny transition of CAIRO_TEST_TARGET through TARGETS such that
-# one can limit tested targets both through CAIRO_TEST_TARGET env var
-# and TARGETS make var on the command line.  Same for the rest.
-TARGETS = $(CAIRO_TEST_TARGET)
-TARGETS_EXCLUDE = $(CAIRO_TEST_TARGET_EXCLUDE)
-NUM_THREADS = $(CAIRO_TEST_NUM_THREADS)
-MODE = $(CAIRO_TEST_MODE)
-
-# Same about ENV vs CAIRO_TEST_ENV.  ENV is used with "make run" only
-ENV = $(CAIRO_TEST_ENV)
-
-TESTS_ENVIRONMENT = CAIRO_TEST_MODE="$(MODE)" CAIRO_TEST_TARGET="$(TARGETS)" CAIRO_TEST_TARGET_EXCLUDE="$(TARGETS_EXCLUDE)" CAIRO_TEST_NUM_THREADS="$(NUM_THREADS)" $(ENV)
-
-EXTRA_VALGRIND_FLAGS = $(CAIRO_EXTRA_VALGRIND_FLAGS)
-VALGRIND_FLAGS = \
-       --tool=memcheck --suppressions=$(srcdir)/.valgrind-suppressions \
-       --track-origins=yes \
-       --leak-check=yes --show-reachable=yes \
-       $(EXTRA_VALGRIND_FLAGS)
-
-CLEANFILES +=                                  \
-       valgrind-log                            \
-       ref.hash                                \
-       ref.list                                \
-       png-test.png                            \
-       png.out.png                             \
-       create-for-stream.pdf                   \
-       create-for-stream.ps                    \
-       create-for-stream.svg                   \
-       svg-surface-source.out.svg              \
-       pdf-surface-source.out.pdf              \
-       ps-surface-source.out.ps                \
-       pdf-features.pdf                        \
-       pdf-mime-data.out*                      \
-       ps-features.ps                          \
-       svg-clip.svg                            \
-       svg-surface.svg                         \
-       multi-page.pdf                          \
-       multi-page.ps                           \
-       $(NULL)
-
-# This used to be a simple 'echo ${RM} *.ps *.pdf *.svg *.etc', but
-# most systems cannot handle all of our clean files together.
-# Then it became a fancy find using many GNU extensions, but then the ugly
-# reality of portability was raised and it became....
-clean-local:
-       rm -rf output
-       -${FIND} . -name '*.log'      -print | ${XARGS} ${RM}
-       -${FIND} . -name '*.[is]'     -print | ${XARGS} ${RM}
-clean-caches:
-       -${FIND} output -name '*.fail.*' -print | ${XARGS} ${RM}
-       -${FIND} output -name '*.pass.*' -print | ${XARGS} ${RM}
-
-# The following definitions both should work.
-#FAILED_TESTS = `grep -l '\<FAIL\>' $(test_sources:.c=.log) 2>/dev/null | sed -e 's/[.]log$$//' | xargs echo`
-FAILED_TESTS = `grep -l '\<FAIL\>' $(test_sources:.c=.log) 2>/dev/null | tr '\n' ' ' | sed -e 's/[.]log  */ /g; s/^ //; s/ $$//'`
-
-recheck = check CAIRO_TESTS="$(FAILED_TESTS)"
-
-# Re-checks all failed tests, i.e. tests with a log file that has a failure
-recheck:
-       @echo Re-checking failed tests
-       @$(MAKE) $(AM_MAKEFLAGS) $(recheck)
-
-# Checks tests.
-# Target doesn't fail if tests fail.
-test:
-       @$(MAKE) $(AM_MAKEFLAGS) check
-
-# Re-checks tests.
-# Target doesn't fail if tests fail.
-retest:
-       @CAIRO_TESTS="$(FAILED_TESTS)"; \
-       $(MAKE) $(AM_MAKEFLAGS) check
-
-# Run tests under a tool specified by TOOL.  For example, make run TOOL=gdb
-run:
-       $(MAKE) $(AM_MAKEFLAGS) check TESTS_ENVIRONMENT='$(TESTS_ENVIRONMENT) $(top_builddir)/libtool --mode=execute env $(TOOL)'
-
-# Check tests under valgrind.  Saves log to valgrind-log
-check-valgrind:
-       $(MAKE) $(AM_MAKEFLAGS) check TESTS_ENVIRONMENT='$(TESTS_ENVIRONMENT) CAIRO_TEST_MODE="$(MODE),foreground CAIRO_TEST_TIMEOUT=0" $(top_builddir)/libtool --mode=execute valgrind $(VALGRIND_FLAGS)' 2>&1 | tee valgrind-log
-
-#%.log: %.c cairo-test-suite
-#-./cairo-test-suite $(<:.c=)
-
-NOLOG_TESTS_LOG = $(NOLOG_TESTS:=.log)
-
-$(NOLOG_TESTS_LOG):
-       @echo dummy > $@
-
-# Identify identical reference images
-check-ref-dups:
-       @LANG=C; \
-       ( cd "$(srcdir)" && sha1sum *.ref.png | sort ) > ref.hash; \
-       join ref.hash ref.hash | grep -v -E '( .*.ref.png).*\1' | cut -d' ' -f 1-2 | sort -u
-
-results.tar:
-       @tar cf $@ index.html testtable.js *.log output/*.log; \
-       for i in output/*.fail.png ; do \
-               testname=$${i#output/} ; \
-               testname=$${testname%%.*} ; \
-               echo tar uf $@ reference/$${testname}*.ref.png $${i%fail.png}out.png $${i%fail.png}diff.png ; \
-               tar uf $@ reference/$${testname}*.ref.png $${i%fail.png}out.png $${i%fail.png}diff.png ; \
-       done
-
-results.tar.gz: results.tar
-       gzip -c $< > $@
-
-release-verify-sane-tests:
-
-.PHONY: check-valgrind test recheck retest check-ref-dups release-verify-sane-tests
-
-EXTRA_DIST += Makefile.win32
diff --git a/test/Makefile.sources b/test/Makefile.sources
deleted file mode 100644 (file)
index 4e1fb84..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-test_sources = \
-       a1-bug.c                                        \
-       a1-clip.c                                       \
-       a1-fill.c                                       \
-       a1-image-sample.c                               \
-       a1-mask.c                                       \
-       a1-mask-sample.c                                \
-       a1-sample.c                                     \
-       a1-traps-sample.c                               \
-       a1-rasterisation.c                              \
-       a8-clear.c                                      \
-       a8-mask.c                                       \
-       aliasing.c                                      \
-       alpha-similar.c                                 \
-       arc-direction.c                                 \
-       arc-infinite-loop.c                             \
-       arc-looping-dash.c                              \
-       api-special-cases.c                             \
-       big-line.c                                      \
-       big-empty-box.c                                 \
-       big-empty-triangle.c                            \
-       big-little-box.c                                \
-       big-little-triangle.c                           \
-       big-trap.c                                      \
-       bilevel-image.c                                 \
-       bug-40410.c                                     \
-       bug-bo-rectangular.c                            \
-       bug-bo-ricotz.c                                 \
-       bug-source-cu.c                                 \
-       bug-extents.c                                   \
-       bug-seams.c                                     \
-       caps.c                                          \
-       checkerboard.c                                  \
-       caps-joins.c                                    \
-       caps-joins-alpha.c                              \
-       caps-joins-curve.c                              \
-       caps-tails-curve.c                              \
-       caps-sub-paths.c                                \
-       clear.c                                         \
-       clear-source.c                                  \
-       clip-all.c                                      \
-       clip-contexts.c                                 \
-       clip-complex-shape.c                            \
-       clip-disjoint.c                                 \
-       clip-disjoint-hatching.c                        \
-       clip-device-offset.c                            \
-       clip-double-free.c                              \
-       clip-draw-unbounded.c                           \
-       clip-empty.c                                    \
-       clip-empty-group.c                              \
-       clip-empty-save.c                               \
-       clip-fill.c                                     \
-       clip-fill-no-op.c                               \
-       clip-fill-rule.c                                \
-       clip-fill-rule-pixel-aligned.c                  \
-       clip-group-shapes.c                             \
-       clip-image.c                                    \
-       clip-intersect.c                                \
-       clip-mixed-antialias.c                          \
-       clip-nesting.c                                  \
-       clip-operator.c                                 \
-       clip-push-group.c                               \
-       clip-polygons.c                                 \
-       clip-rectilinear.c                              \
-       clip-shape.c                                    \
-       clip-stroke.c                                   \
-       clip-stroke-no-op.c                             \
-       clip-text.c                                     \
-       clip-twice.c                                    \
-       clip-twice-rectangle.c                          \
-       clip-unbounded.c                                \
-       clip-zero.c                                     \
-       clipped-group.c                                 \
-       clipped-surface.c                               \
-       close-path.c                                    \
-       close-path-current-point.c                      \
-       composite-integer-translate-source.c            \
-       composite-integer-translate-over.c              \
-       composite-integer-translate-over-repeat.c       \
-       copy-disjoint.c                                 \
-       copy-path.c                                     \
-       coverage.c                                      \
-       create-for-stream.c                             \
-       create-from-png.c                               \
-       create-from-png-stream.c                        \
-       culled-glyphs.c                                 \
-       curve-to-as-line-to.c                           \
-       dash-caps-joins.c                               \
-       dash-curve.c                                    \
-       dash-infinite-loop.c                            \
-       dash-no-dash.c                                  \
-       dash-offset.c                                   \
-       dash-offset-negative.c                          \
-       dash-scale.c                                    \
-       dash-state.c                                    \
-       dash-zero-length.c                              \
-       degenerate-arc.c                                \
-       degenerate-arcs.c                               \
-       degenerate-curve-to.c                           \
-       degenerate-dash.c                               \
-       degenerate-linear-gradient.c                    \
-       degenerate-path.c                               \
-       degenerate-pen.c                                \
-       degenerate-radial-gradient.c                    \
-       degenerate-rel-curve-to.c                       \
-       degenerate-solid-dash.c                         \
-       drunkard-tails.c                                \
-       device-offset.c                                 \
-       device-offset-fractional.c                      \
-       device-offset-positive.c                        \
-       device-offset-scale.c                           \
-       error-setters.c                                 \
-       extend-pad.c                                    \
-       extend-pad-border.c                             \
-       extend-pad-similar.c                            \
-       extend-reflect.c                                \
-       extend-reflect-similar.c                        \
-       extend-repeat.c                                 \
-       extend-repeat-similar.c                         \
-       extended-blend.c                                \
-       fallback.c                                      \
-       fill-alpha.c                                    \
-       fill-alpha-pattern.c                            \
-       fill-and-stroke.c                               \
-       fill-and-stroke-alpha.c                         \
-       fill-and-stroke-alpha-add.c                     \
-       fill-degenerate-sort-order.c                    \
-       fill-disjoint.c                                 \
-       fill-empty.c                                    \
-       fill-image.c                                    \
-       fill-missed-stop.c                              \
-       fill-rule.c                                     \
-       filter-bilinear-extents.c                       \
-       filter-nearest-offset.c                         \
-       filter-nearest-transformed.c                    \
-       finer-grained-fallbacks.c                       \
-       font-face-get-type.c                            \
-       font-matrix-translation.c                       \
-       font-options.c                                  \
-       glyph-cache-pressure.c                          \
-       get-and-set.c                                   \
-       get-clip.c                                      \
-       get-group-target.c                              \
-       get-path-extents.c                              \
-       gradient-alpha.c                                \
-       gradient-constant-alpha.c                       \
-       gradient-zero-stops.c                           \
-       gradient-zero-stops-mask.c                      \
-       group-clip.c                                    \
-       group-paint.c                                   \
-       group-state.c                                   \
-       group-unaligned.c                               \
-       half-coverage.c                                 \
-       halo.c                                          \
-       hatchings.c                                     \
-       horizontal-clip.c                               \
-       huge-linear.c                                   \
-       huge-radial.c                                   \
-       image-surface-source.c                          \
-       image-bug-710072.c                              \
-       implicit-close.c                                \
-       infinite-join.c                                 \
-       in-fill-empty-trapezoid.c                       \
-       in-fill-trapezoid.c                             \
-       invalid-matrix.c                                \
-       inverse-text.c                                  \
-       inverted-clip.c                                 \
-       joins.c                                         \
-       joins-loop.c                                    \
-       joins-star.c                                    \
-       joins-retrace.c                                 \
-       large-clip.c                                    \
-       large-font.c                                    \
-       large-source.c                                  \
-       large-source-roi.c                              \
-       large-twin-antialias-mixed.c                    \
-       leaky-dash.c                                    \
-       leaky-dashed-rectangle.c                        \
-       leaky-dashed-stroke.c                           \
-       leaky-polygon.c                                 \
-       line-width.c                                    \
-       line-width-large-overlap.c                      \
-       line-width-overlap.c                            \
-       line-width-scale.c                              \
-       line-width-tolerance.c                          \
-       line-width-zero.c                               \
-       linear-gradient.c                               \
-       linear-gradient-extend.c                        \
-       linear-gradient-large.c                         \
-       linear-gradient-one-stop.c                      \
-       linear-gradient-reflect.c                       \
-       linear-gradient-subset.c                        \
-       linear-step-function.c                          \
-       linear-uniform.c                                \
-       long-dashed-lines.c                             \
-       long-lines.c                                    \
-       map-to-image.c                                  \
-       mask.c                                          \
-       mask-alpha.c                                    \
-       mask-ctm.c                                      \
-       mask-glyphs.c                                   \
-       mask-surface-ctm.c                              \
-       mask-transformed-image.c                        \
-       mask-transformed-similar.c                      \
-       mesh-pattern.c                                  \
-       mesh-pattern-accuracy.c                         \
-       mesh-pattern-conical.c                          \
-       mesh-pattern-control-points.c                   \
-       mesh-pattern-fold.c                             \
-       mesh-pattern-overlap.c                          \
-       mesh-pattern-transformed.c                      \
-       mime-data.c                                     \
-       mime-surface-api.c                              \
-       miter-precision.c                               \
-       move-to-show-surface.c                          \
-       negative-stride-image.c                         \
-       new-sub-path.c                                  \
-       nil-surface.c                                   \
-       operator.c                                      \
-       operator-alpha.c                                \
-       operator-alpha-alpha.c                          \
-       operator-clear.c                                \
-       operator-source.c                               \
-       over-above-source.c                             \
-       over-around-source.c                            \
-       over-below-source.c                             \
-       over-between-source.c                           \
-       overlapping-boxes.c                             \
-       overlapping-glyphs.c                            \
-       overlapping-dash-caps.c                         \
-       paint.c                                         \
-       paint-clip-fill.c                               \
-       paint-repeat.c                                  \
-       paint-source-alpha.c                            \
-       paint-with-alpha.c                              \
-       partial-clip-text.c                             \
-       partial-coverage.c                              \
-       pass-through.c                                  \
-       path-append.c                                   \
-       path-stroke-twice.c                             \
-       path-precision.c                                \
-       pattern-get-type.c                              \
-       pattern-getters.c                               \
-       pdf-isolated-group.c                            \
-       pixman-rotate.c                                 \
-       png.c                                           \
-       push-group.c                                    \
-       push-group-color.c                              \
-       push-group-path-offset.c                        \
-       radial-gradient.c                               \
-       radial-gradient-extend.c                        \
-       radial-outer-focus.c                            \
-       random-clips.c                  \
-       random-intersections-eo.c                       \
-       random-intersections-nonzero.c                  \
-       random-intersections-curves-eo.c                \
-       random-intersections-curves-nz.c                \
-       raster-source.c                                 \
-       record.c                                        \
-       record1414x.c                                   \
-       record2x.c                                      \
-       record90.c                                      \
-       record-extend.c                                 \
-       record-mesh.c                                   \
-       recording-surface-pattern.c                     \
-       recording-surface-extend.c                      \
-       rectangle-rounding-error.c                      \
-       rectilinear-fill.c                              \
-       rectilinear-grid.c                              \
-       rectilinear-miter-limit.c                       \
-       rectilinear-dash.c                              \
-       rectilinear-dash-scale.c                        \
-       rectilinear-stroke.c                            \
-       reflected-stroke.c                              \
-       rel-path.c                                      \
-       rgb24-ignore-alpha.c                            \
-       rotate-image-surface-paint.c                    \
-       rotated-clip.c                                  \
-       rounded-rectangle-fill.c                        \
-       rounded-rectangle-stroke.c                      \
-       scale-down-source-surface-paint.c               \
-       scale-offset-image.c                            \
-       scale-offset-similar.c                          \
-       scale-source-surface-paint.c                    \
-       scaled-font-zero-matrix.c                       \
-       stroke-ctm-caps.c                               \
-       stroke-image.c                                  \
-       stroke-open-box.c                               \
-       select-font-face.c                              \
-       select-font-no-show-text.c                      \
-       self-copy.c                                     \
-       self-copy-overlap.c                             \
-       self-intersecting.c                             \
-       set-source.c                                    \
-       show-glyphs-advance.c                           \
-       show-glyphs-many.c                              \
-       show-text-current-point.c                       \
-       shape-general-convex.c                          \
-       shape-sierpinski.c                              \
-       skew-extreme.c                                  \
-       smask.c                                         \
-       smask-fill.c                                    \
-       smask-image-mask.c                              \
-       smask-mask.c                                    \
-       smask-paint.c                                   \
-       smask-stroke.c                                  \
-       smask-text.c                                    \
-       solid-pattern-cache-stress.c                    \
-       source-clip.c                                   \
-       source-clip-scale.c                             \
-       source-surface-scale-paint.c                    \
-       spline-decomposition.c                          \
-       stride-12-image.c                               \
-       stroke-pattern.c                                \
-       subsurface.c                                    \
-       subsurface-image-repeat.c                       \
-       subsurface-repeat.c                             \
-       subsurface-reflect.c                            \
-       subsurface-pad.c                                \
-       subsurface-modify-child.c                       \
-       subsurface-modify-parent.c                      \
-       subsurface-outside-target.c                     \
-       subsurface-scale.c                              \
-       subsurface-similar-repeat.c                     \
-       surface-finish-twice.c                          \
-       surface-pattern.c                               \
-       surface-pattern-big-scale-down.c                \
-       surface-pattern-operator.c                      \
-       surface-pattern-scale-down.c                    \
-       surface-pattern-scale-down-extend.c             \
-       surface-pattern-scale-up.c                      \
-       text-antialias.c                                \
-       text-antialias-subpixel.c                       \
-       text-cache-crash.c                              \
-       text-glyph-range.c                              \
-       text-pattern.c                                  \
-       text-rotate.c                                   \
-       text-transform.c                                \
-       text-zero-len.c                                 \
-       tighten-bounds.c                                \
-       tiger.c                                         \
-       toy-font-face.c                                 \
-       transforms.c                                    \
-       translate-show-surface.c                        \
-       trap-clip.c                                     \
-       twin.c                                          \
-       twin-antialias-gray.c                           \
-       twin-antialias-mixed.c                          \
-       twin-antialias-none.c                           \
-       twin-antialias-subpixel.c                       \
-       unaligned-box.c                                 \
-       unantialiased-shapes.c                          \
-       unbounded-operator.c                            \
-       unclosed-strokes.c                              \
-       user-data.c                                     \
-       user-font.c                                     \
-       user-font-mask.c                                \
-       user-font-proxy.c                               \
-       user-font-rescale.c                             \
-       world-map.c                                     \
-       white-in-noop.c                                 \
-       xcb-huge-image-shm.c                            \
-       xcb-stress-cache.c                              \
-       xcb-snapshot-assert.c                           \
-       xcomposite-projection.c                         \
-       xlib-expose-event.c                             \
-       zero-alpha.c                                    \
-       zero-mask.c
-
-pthread_test_sources =                                 \
-       pthread-same-source.c                           \
-       pthread-show-text.c                             \
-       pthread-similar.c                               \
-       $(NULL)
-
-ft_font_test_sources = \
-       bitmap-font.c \
-       ft-font-create-for-ft-face.c \
-       ft-show-glyphs-positioning.c \
-       ft-show-glyphs-table.c \
-       ft-text-vertical-layout-type1.c \
-       ft-text-vertical-layout-type3.c \
-       ft-text-antialias-none.c
-
-gl_surface_test_sources = \
-       gl-surface-source.c
-
-quartz_surface_test_sources = quartz-surface-source.c
-
-pdf_surface_test_sources = \
-       pdf-features.c \
-       pdf-mime-data.c \
-       pdf-surface-source.c
-
-ps_surface_test_sources = \
-       ps-eps.c \
-       ps-features.c \
-       ps-surface-source.c
-
-svg_surface_test_sources = \
-       svg-surface.c \
-       svg-clip.c \
-       svg-surface-source.c
-
-xcb_surface_test_sources = \
-       xcb-surface-source.c
-
-xlib_surface_test_sources = \
-       xlib-surface.c \
-       xlib-surface-source.c
-
-xlib_xrender_surface_test_sources = get-xrender-format.c
-
-multi_page_surface_test_sources = multi-page.c
-
-fallback_resolution_test_sources = fallback-resolution.c
-
-cairo_test_suite_headers = \
-       buffer-diff.h \
-       cairo-test.h \
-       cairo-test-private.h \
-       world-map.h \
-       $(NULL)
-
-cairo_test_suite_sources = \
-       buffer-diff.c \
-       cairo-test.c \
-       cairo-test-runner.c
diff --git a/test/Makefile.win32 b/test/Makefile.win32
deleted file mode 100644 (file)
index ba8ea5b..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-top_srcdir = ..
-include $(top_srcdir)/build/Makefile.win32.common
-include $(top_srcdir)/test/Makefile.sources
-
-CFLAGS += \
-       -I$(top_srcdir)/boilerplate \
-       -I$(top_srcdir)/util/cairo-script/ \
-       -I./pdiff \
-       $(NULL)
-
-TEST_LIBS = \
-       ./pdiff/$(CFG)/pdiff.lib \
-       $(top_builddir)/boilerplate/$(CFG)/boiler.lib \
-       $(top_builddir)/src/$(CFG)/cairo-static.lib \
-       $(NULL)
-
-all: inform $(CFG)/cairo-test-suite.exe
-
-cairo-test-constructors.c: Makefile.sources Makefile.win32 $(test_sources) make-cairo-test-constructors.sh
-       sh ./make-cairo-test-constructors.sh $(test_sources) > $@
-
-SOURCES = $(cairo_test_suite_sources) $(test_sources) cairo-test-constructors.c
-
-OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(SOURCES))
-
-ANY2PPM_OBJS = \
-       $(CFG)/any2ppm-static.obj \
-       $(top_builddir)/util/cairo-script/$(CFG)/libcairo-script-interpreter.lib \
-       $(top_builddir)/src/$(CFG)/cairo-static.lib \
-       $(NULL)
-
-$(CFG)/cairo-test-suite.exe: $(OBJECTS) $(TEST_LIBS)
-       @$(LD) $(CAIRO_LDFLAGS) -OUT:$@ $(OBJECTS) $(TEST_LIBS) $(CAIRO_LIBS)
-
-$(CFG)/any2ppm.exe: $(ANY2PPM_OBJS)
-       $(LD) $(CAIRO_LDFLAGS) -OUT:$@ $^ $(CAIRO_LIBS)
-
-./pdiff/$(CFG)/pdiff.lib:
-       $(MAKE) -C pdiff -f Makefile.win32
-
-$(top_builddir)/src/$(CFG)/cairo-static.lib:
-       $(MAKE) -C $(top_srcdir)/src -f Makefile.win32
-
-$(top_builddir)/boilerplate/$(CFG)/boiler.lib:
-       $(MAKE) -C $(top_srcdir)/boilerplate -f Makefile.win32
-
-$(top_builddir)/util/cairo-script/$(CFG)/libcairo-script-interpreter.lib:
-       $(MAKE) -C $(top_srcdir)/util/cairo-script -f Makefile.win32
-
-.PHONY: check test
-
-check: inform $(CFG)/any2ppm.exe $(CFG)/cairo-test-suite.exe
-       @ANY2PPM=$(CFG)\\any2ppm.exe $(CFG)/cairo-test-suite.exe
-
-test: inform check
diff --git a/test/README b/test/README
deleted file mode 100644 (file)
index b8effea..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-Regression test suite for cairo.
-
-How to use cairo's test suite
-=============================
-Using this test should be as simple as running:
-
-       make test
-
-assuming that the cairo distribution in the directory above has been
-configured and built. The test suite here goes through some effort to
-run against the locally compiled library rather than any installed
-version, but those efforts may fall short depending on the level of your
-libtool madness.
-
-The results of the test suite run are summarized in an index.html
-file, which, when viewed in a web browser makes it quite easy to
-visually see any failed renderings alongside the corresponding
-reference image, (and a diff image as well).
-
-The test suite needs to be run before any code is committed and before
-any release. See below for hints and rules governing the use of the suite.
-
-The test suite is built as a single binary, which allows you to choose
-individual or categories of tests to run. For example, if you want to
-run all text related tests you can use:
-    ./cairo-test-suite text
-Or if you want to check the current status of known failures:
-    ./cairo-test-suite XFAIL
-This binary should be backwards-compatible with all library versions,
-allowing you to compare current versus past behaviour for any test.
-
-Tailoring tests running
------------------------
-There are some mechanisms to limit the tests run during "make test".
-These come very handy when doing development, but should not be used
-to circumvent the "pass" requirements listed below.
-
-To limit the backends that the tests are run against, use the
-TARGETS make variable, that can also be passed to make.
-It should contain a (space-, comma-, etc-separated) list of backends to test.
-To limit the tests run, use the CAIRO_TESTS environment variable, which
-should be a space-separated list of tests to run.  For example:
-
-  CAIRO_TESTS="zero-alpha" make test TARGETS=image,ps
-
-Another very handy mechanism when trying to fix bugs is:
-
-  make retest
-
-This will re-run the test suite, but only on tests that failed on the
-last run. So this is a much faster way of checking if changes actually
-fix bugs rather than running the entire test suite again.
-
-The test suite first compares the output from the current run against the
-previous in order to skip more expensive image comparisons . If you think
-this is interfering with the results, you can clear the cached results using:
-
-  make clean-caches
-
-Running tests under modified environments or tools
--------------------------------------------------
-To run tests under a tool like gdb, one can use the run target and
-the TOOL variable.  For example:
-
-  CAIRO_TESTS=user-font make run TOOL=gdb TARGETS=pdf
-
-If you want to run under valgrind, there is a specific target for that
-that also sets a bunch of useful valgrind options.  Try:
-
-  CAIRO_TESTS=user-font make check-valgrind
-
-You can run tests under a modified environment you can use the ENV
-make variable.  However, that environment will also affect the libtool
-wrapper of the tests.  To only affect the actual test binaries, pass
-such environment as TOOL:
-
-  CAIRO_TESTS=user-font make run TOOL="LD_PRELOAD=/path/to/something.so"
-
-Getting the elusive zero failures
----------------------------------
-It's generally been very difficult to achieve a test run with zero
-failures. The difficulties stem from the various versions of the many
-libraries that the test suite depends on, (it depends on a lot more
-than cairo itself), as well as fonts and other system-specific
-settings. If your system differs significantly from the system on
-which the reference images were generated, then you will likely see
-the test suite reporting "failures", (even if cairo is working just
-fine).
-
-We are constantly working to reduce the number of variables that need
-to be tweaked to get a clean run, (for example, by bundling fonts with
-the test suite itself), and also working to more carefully document
-the software configuration used to generate the reference images.
-
-Here are some of the relevant details:
-
-  * Your system must have a copy of the DejaVu font, the sha1sum of
-    the version used are listed in [...].  These are
-      "DejaVu Sans" (DejaVuSans.ttf) [1cd336329f45f241002ded61893d91e3acd04436];
-      "DejaVu Sans Mono" (DejaVuSansMono.ttf) [0458c0f0fb57f3eb8ced62f26fe7c5ed4e6a9a68];
-      "DejaVu Serif" (DejaVuSerif.ttf) [93502d0d0445d1fe1c9f51e51b3e0169266346ce];
-      [the DejaVu fonts can be installed from the ttf-dejavu 2.33-2 Debian package]
-    and also
-      "Nimbus Sans L" (n019003l.pfb)
-      [which can be found in the gsfonts Debian package].
-
-  * Currently, you must be using a build of cairo using freetype
-    (cairo-ft) as the default font backend. Otherwise all tests
-    involving text are likely to fail.
-
-  * To test the pdf backend, you will want the very latest version of
-    poppler as made available via git:
-
-       git clone git://anongit.freedesktop.org/git/poppler/poppler
-
-    As of this writing, no released version of poppler contains all
-    the fixes you will need to avoid false negatives from the test
-    suite.
-
-  * To test the ps backend, you will need ghostscript version 9.04.
-
-  * Testing the xlib backend is problematic since many X server
-    drivers have bugs that are exercised by the test suite. (Or, if
-    not actual bugs, differ slightly in their output in such a way
-    that the test suite will report errors.) This can be quite handy
-    if you want to debug an X server driver, but since most people
-    don't want to do that, another option is to run against a headless
-    X server that uses only software for all rendering. One such X
-    server is Xvfb which can be started like this:
-
-       Xvfb -screen 0 1680x1024x24 -ac -nolisten tcp :2
-
-    after which the test suite can be run against it like so:
-
-       DISPLAY=:2 make test
-
-    We have been using Xvfb for testing cairo releases and ensuring
-    that all tests behave as expected with this X server.
-
-What if I can't make my system match?
--------------------------------------
-For one reason or another, you may be unable to get a clean run of the
-test suite even if cairo is working properly, (for example, you might
-be on a system without freetype). In this case, it's still useful to
-be able to determine if code changes you make to cairo result in any
-regressions to the test suite. But it's hard to notice regressions if
-there are many failures both before and after your changes.
-
-For this scenario, you can capture the output of a run of the test
-suite before your changes, and then use the CAIRO_REF_DIR environment
-variable to use that output as the reference images for a run after
-your changes. The process looks like this:
-
-        # Before code change there may be failures we don't care about
-        make test
-
-        # Let's save those output images
-        mkdir /some/directory/
-        cp test/*-out.png /some/directory/
-
-        # hack, hack, hack
-
-        # Now to see if nothing changed:
-        CAIRO_REF_DIR=/some/directory/ make test
-
-Best practices for cairo developers
-===================================
-If we all follow the guidelines below, then both the test suite and
-cairo itself will stay much healthier, and we'll all have a lot more
-fun hacking on cairo.
-
-Before committing
------------------
-All tests should return a result of PASS or XFAIL. The XFAIL results
-indicate known bugs. The final message should be one of the following:
-
-       All XX tests behaved as expected (YY expected failures)
-       All XX tests passed
-
-If any tests have a status of FAIL, then the new code has caused a
-regression error which should be fixed before the code is committed.
-
-When a new bug is found
------------------------
-A new test case should be added by imitating the style of an existing
-test. This means adding the following files:
-
-       new-bug.c
-       new-bug-ref.png
-
-Where new-bug.c is a minimal program to demonstrate the bug, following
-the style of existing tests. The new-bug-ref.png image should contain
-the desired result of new-bug.c if the bug were fixed.
-
-Makefile.am should be edited, adding new-bug.c to both the TESTS and
-XFAIL_TESTS lists and new-bug-ref.png to EXTRA_DIST. Add new-bug to
-.gitignore, and last but not least, don't forget to "git add" the new
-files.
-
-When a new feature is added
----------------------------
-It's important for the regression suite to keep pace with development
-of the library. So a new test should be added for each new feature.
-The work involved is similar the work described above for new bugs.
-The only distinction is that the test is expected to pass so it
-should not be added to the XFAIL_TESTS list.
-
-While working on a test
------------------------
-Before a bugfix or feature is ready, it may be useful to compare
-output from different builds. For convenience, you can set
-CAIRO_REF_DIR to point at a previous test directory, relative
-to the current test directory, and any previous output will be
-used by preference as reference images.
-
-When a bug is fixed
--------------------
-The fix should be verified by running the test suite which should
-result in an "unexpected pass" for the test of interest. Rejoice as
-appropriate, then remove the relevant file name from the XFAIL_TESTS
-variable in Makefile.am.
-
-Before releasing
-----------------
-All tests should return a result of PASS for all supported (those enabled by
-default) backends, meaning all known bugs are fixed, resulting in the happy
-message:
-
-       All XX tests passed
-
-Some notes on limitations in poppler
-====================================
-One of the difficulties of our current test infrastructure is that we
-rely on external tools to convert cairo's vector output (PDF,
-PostScript, and SVG), into an image that can be used for the image
-comparison. This means that any bugs in that conversion tool will
-result in false negatives in the test suite.
-
-We've identified several such bugs in the poppler library which is
-used to convert PDF to an image. This is particularly discouraging
-because 1) poppler is free software that will be used by *many* cairo
-users, and 2) poppler calls into cairo for its rendering so it should
-be able to do a 100% faithful conversion.
-
-So we have an interest in ensuring that these poppler bugs get fixed
-sooner rather than later. As such, we're trying to be good citizens by
-reporting all such poppler bugs that we identify to the poppler
-bugzilla. Here's a tracking bug explaining the situation:
-
-       Poppler does not yet handle everything in the cairo test suite
-       https://bugs.freedesktop.org/show_bug.cgi?id=12143
-
-Here's the rule: If a cairo-pdf test reports a failure, but viewing
-the resulting PDF file with acroread suggests that the PDF itself is
-correct, then there's likely a bug in poppler. In this case, we can
-simply report the poppler bug, (making it block 12143 above), post the
-PDF result from the test suite, and list the bug in this file. Once
-we've done this, we can capture poppler's buggy output as a
-pdf-specific reference image so that the test suite will regard the
-test as passing, (and we'll ensure there is no regression).
-
-Once the poppler bug gets fixed, the test suite will start reporting a
-false negative again, and this will be easy to fix by simply removing
-the pdf-specific reference image.
-
-Here are the reported poppler bugs and the tests they affect:
-
-Poppler doesn't correctly handle gradients with transparency
-https://bugs.freedesktop.org/show_bug.cgi?id=12144
---------------------------------------------------
-fill-alpha-pattern
-gradient-alpha
-gradient-constant-alpha
-linear-gradient
-linear-gradient-reflect
-radial-gradient
-trap-clip
-
-Poppler should paint images with CAIRO_EXTEND_PAD
-https://bugs.freedesktop.org/show_bug.cgi?id=14578
---------------------------------------------------
-paint-source-alpha
-paint-with-alpha
-rotate-image-surface-paint
-scale-source-surface-paint
-
-Incorrect clipping of group object (regression?)
-https://bugs.freedesktop.org/show_bug.cgi?id=14580
---------------------------------------------------
-push-group
-
-spurious horizontal stripes in color gradients
-https://bugs.freedesktop.org/show_bug.cgi?id=10942
---------------------------------------------------
-smask 
-smask-fill 
-smask-image-mask 
-smask-mask 
-smask-paint 
-smask-stroke 
-smask-text
-
-Ghostscript does not correctly render small miters
-http://bugs.ghostscript.com/show_bug.cgi?id=690098
---------------------------------------------------
-miter-precision
diff --git a/test/a1-bug.c b/test/a1-bug.c
deleted file mode 100644 (file)
index 9166ff5..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    static const struct point {
-       double x;
-       double y;
-    } xy[] = {
-       { 627.016212, 221.749777 },
-       { 756.120787, 221.749777 },
-       { 756.120787, 557.602766 },
-       { 626.952721, 557.602766 },
-       { 626.548456, 493.315729 },
-    };
-    unsigned int i;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    for (i = 0; i < ARRAY_LENGTH (xy); i++)
-       cairo_line_to (cr, xy[i].x, xy[i].y);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill_preserve (cr);
-
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (a1_bug,
-           "Check the fidelity of the rasterisation.",
-           "a1 raster", /* keywords */
-           "target=raster", /* requirements */
-           1000, 800,
-           NULL, draw)
diff --git a/test/a1-clip.c b/test/a1-clip.c
deleted file mode 100644 (file)
index 0e84cd3..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define POINTS 10
-#define STEP   (1.0 / POINTS)
-#define PAD    1
-#define WIDTH  (PAD + POINTS * 2 + PAD)
-#define HEIGHT (WIDTH)
-
-static cairo_test_status_t
-paint (cairo_t *cr, int width, int height)
-{
-    int i, j;
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* Draw in black */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_translate (cr, PAD, PAD);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    for (i = 0; i < POINTS; i++)
-       for (j = 0; j < POINTS; j++) {
-           cairo_save (cr);
-           cairo_rectangle (cr, 2 * i + i * STEP, 2 * j + j * STEP, 1, 1);
-           cairo_clip (cr);
-           cairo_paint (cr);
-           cairo_restore (cr);
-       }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-fill_equal (cairo_t *cr, int width, int height)
-{
-    int i, j;
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* Draw in black */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_translate (cr, PAD, PAD);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    for (i = 0; i < POINTS; i++)
-       for (j = 0; j < POINTS; j++) {
-           cairo_save (cr);
-           cairo_rectangle (cr, 2 * i + i * STEP, 2 * j + j * STEP, 1, 1);
-           cairo_clip_preserve (cr);
-           cairo_fill (cr);
-           cairo_restore (cr);
-       }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-fill (cairo_t *cr, int width, int height)
-{
-    int i, j;
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* Draw in black */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_translate (cr, PAD, PAD);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    for (i = 0; i < POINTS; i++)
-       for (j = 0; j < POINTS; j++) {
-           cairo_save (cr);
-           cairo_rectangle (cr, 2 * i + i * STEP, 2 * j + j * STEP, 1, 1);
-           cairo_clip (cr);
-           cairo_rectangle (cr, 2 * i, 2 * j, 2, 2);
-           cairo_fill (cr);
-           cairo_restore (cr);
-       }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-stroke (cairo_t *cr, int width, int height)
-{
-    int i, j;
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* Draw in black */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_translate (cr, PAD, PAD);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    cairo_set_line_width (cr, 2);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-
-    for (i = 0; i < POINTS; i++)
-       for (j = 0; j < POINTS; j++) {
-           cairo_save (cr);
-           cairo_rectangle (cr, 2 * i + i * STEP, 2 * j + j * STEP, 1, 1);
-           cairo_clip (cr);
-           cairo_move_to (cr, 2 * i, 2 * j + 1);
-           cairo_line_to (cr, 2 * i + 2, 2 * j + 1);
-           cairo_stroke (cr);
-           cairo_restore (cr);
-       }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (a1_clip_paint,
-           "Test sample position when drawing trapezoids with ANTIALIAS_NONE",
-           "alpha, clip", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, paint)
-
-CAIRO_TEST (a1_clip_fill,
-           "Test sample position when drawing trapezoids with ANTIALIAS_NONE",
-           "alpha, clip", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, fill)
-
-CAIRO_TEST (a1_clip_fill_equal,
-           "Test sample position when drawing trapezoids with ANTIALIAS_NONE",
-           "alpha, clip", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, fill_equal)
-
-CAIRO_TEST (a1_clip_stroke,
-           "Test sample position when drawing trapezoids with ANTIALIAS_NONE",
-           "alpha, clip", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, stroke)
diff --git a/test/a1-fill.c b/test/a1-fill.c
deleted file mode 100644 (file)
index 8c8b8c8..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* Exercise https://bugs.freedesktop.org/show_bug.cgi?id=31604 */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *a1;
-    cairo_t *cr2;
-
-    a1 = cairo_image_surface_create (CAIRO_FORMAT_A1, 100, 100);
-    cr2 = cairo_create (a1);
-    cairo_surface_destroy (a1);
-
-    cairo_set_operator (cr2, CAIRO_OPERATOR_SOURCE);
-    cairo_rectangle (cr2, 10, 10, 80, 80);
-    cairo_set_source_rgb (cr2, 1, 1, 1);
-    cairo_fill (cr2);
-    cairo_rectangle (cr2, 20, 20, 60, 60);
-    cairo_set_source_rgb (cr2, 0, 0, 0);
-    cairo_fill (cr2);
-
-    a1 = cairo_surface_reference (cairo_get_target (cr2));
-    cairo_destroy (cr2);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_mask_surface (cr, a1, 0, 0);
-    cairo_surface_destroy (a1);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (a1_fill,
-           "Test filling of an a1-surface and use as mask",
-           "a1, alpha, fill, mask", /* keywords */
-           "target=raster", /* requirements */
-           100, 100,
-           NULL, draw)
diff --git a/test/a1-image-sample.c b/test/a1-image-sample.c
deleted file mode 100644 (file)
index 3c349af..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define POINTS 10
-#define STEP   (1.0 / POINTS)
-#define PAD    1
-#define WIDTH  (PAD + POINTS * 2 + PAD)
-#define HEIGHT (WIDTH)
-
-/* A single, black pixel */
-static const uint32_t black_pixel = 0xff000000;
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i, j;
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) &black_pixel,
-                                                  CAIRO_FORMAT_ARGB32,
-                                                  1, 1, 4);
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    for (i = 0; i < POINTS; i++)
-       for (j = 0; j < POINTS; j++) {
-           cairo_set_source_surface (cr, surface,
-                                     2 * i + i * STEP, 2 * j + j * STEP);
-           cairo_pattern_set_filter (cairo_get_source (cr),
-                                     CAIRO_FILTER_NEAREST);
-           cairo_paint (cr);
-       }
-
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (a1_image_sample,
-           "Test sample position when drawing images with FILTER_NEAREST",
-           "image, alpha", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/a1-mask-sample.c b/test/a1-mask-sample.c
deleted file mode 100644 (file)
index 4214e8f..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define POINTS 10
-#define STEP   (1.0 / POINTS)
-#define PAD    1
-#define WIDTH  (PAD + POINTS * 2 + PAD)
-#define HEIGHT (WIDTH)
-
-/* A single, opaque pixel */
-static const uint32_t black_pixel = 0xffffffff;
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *mask;
-    int i, j;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) &black_pixel,
-                                                  CAIRO_FORMAT_A8,
-                                                  1, 1, 4);
-    mask = cairo_pattern_create_for_surface (surface);
-    cairo_pattern_set_filter (mask, CAIRO_FILTER_NEAREST);
-    cairo_surface_destroy (surface);
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    for (i = 0; i < POINTS; i++) {
-       for (j = 0; j < POINTS; j++) {
-           cairo_matrix_t m;
-
-           cairo_matrix_init_translate (&m,
-                                        -(2 * i + i * STEP),
-                                        -(2 * j + j * STEP));
-           cairo_pattern_set_matrix (mask, &m);
-           cairo_mask (cr, mask);
-       }
-    }
-
-    cairo_pattern_destroy (mask);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (a1_mask_sample,
-           "Test sample position when masking with FILTER_NEAREST",
-           "image, alpha", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/a1-mask.c b/test/a1-mask.c
deleted file mode 100644 (file)
index c52aa9d..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright © Jeff Muizelaar
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * JEFF MUIZELAAR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Jeff Muizelaar <jeff@infidigm.net>
- *         Carl Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define MASK_WIDTH 10
-#define MASK_HEIGHT 8
-
-#ifdef WORDS_BIGENDIAN
-#define MASK 0x28, 0x55
-#else
-#define MASK 0x14, 0xAA
-#endif
-static unsigned char mask[(MASK_WIDTH + 7) / 8 * MASK_HEIGHT] = {
-    MASK,
-    MASK,
-    MASK,
-    MASK,
-    MASK,
-    MASK,
-    MASK,
-    MASK,
-};
-
-static cairo_test_status_t
-check_status (const cairo_test_context_t *ctx,
-             cairo_status_t status,
-             cairo_status_t expected)
-{
-    if (status == expected)
-       return CAIRO_TEST_SUCCESS;
-
-    cairo_test_log (ctx,
-                   "Error: Expected status value %d (%s), received %d (%s)\n",
-                   expected,
-                   cairo_status_to_string (expected),
-                   status,
-                   cairo_status_to_string (status));
-    return CAIRO_TEST_FAILURE;
-}
-
-static cairo_test_status_t
-test_surface_with_width_and_stride (const cairo_test_context_t *ctx,
-                                   int width, int stride,
-                                   cairo_status_t expected)
-{
-    cairo_test_status_t status;
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    int len;
-    unsigned char *data;
-
-    cairo_test_log (ctx,
-                   "Creating surface with width %d and stride %d\n",
-                   width, stride);
-
-    len = stride;
-    if (len < 0)
-       len = -len;
-    data = xmalloc (len);
-
-    surface = cairo_image_surface_create_for_data (data, CAIRO_FORMAT_A1,
-                                                  width, 1, stride);
-    cr = cairo_create (surface);
-
-    cairo_paint (cr);
-
-    status = check_status (ctx, cairo_surface_status (surface), expected);
-    if (status)
-       goto BAIL;
-
-    status = check_status (ctx, cairo_status (cr), expected);
-    if (status)
-       goto BAIL;
-
-  BAIL:
-    cairo_destroy (cr);
-    cairo_surface_destroy (surface);
-    free (data);
-    return status;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int dst_width, int dst_height)
-{
-    unsigned char *mask_aligned;
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_A1,
-                                         MASK_WIDTH,
-                                         MASK_HEIGHT);
-
-    mask_aligned = cairo_image_surface_get_data (surface);
-    if (mask_aligned != NULL) {
-       int stride = cairo_image_surface_get_stride (surface), row;
-       const unsigned char *src = mask;
-       unsigned char *dst = mask_aligned;
-       for (row = 0; row < MASK_HEIGHT; row++) {
-           memcpy (dst, src, (MASK_WIDTH + 7) / 8);
-           src += (MASK_WIDTH + 7) / 8;
-           dst += stride;
-       }
-    }
-    cairo_surface_mark_dirty (surface);
-
-    /* Paint background blue */
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-
-    /* Then paint red through our mask */
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-    cairo_mask_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_test_status_t status = CAIRO_TEST_SUCCESS;
-    int test_width;
-
-    /* first check the API strictness */
-    for (test_width = 0; test_width < 40; test_width++) {
-       int test_stride = (test_width + 7) / 8;
-       int stride = cairo_format_stride_for_width (CAIRO_FORMAT_A1,
-                                                   test_width);
-       cairo_status_t expected;
-
-       /* First create a surface using the width as the stride,
-        * (most of these should fail).
-        */
-       expected = (stride == test_stride) ?
-           CAIRO_STATUS_SUCCESS : CAIRO_STATUS_INVALID_STRIDE;
-
-       status = test_surface_with_width_and_stride (ctx,
-                                                    test_width,
-                                                    test_stride,
-                                                    expected);
-       if (status)
-           return status;
-
-       status = test_surface_with_width_and_stride (ctx,
-                                                    test_width,
-                                                    -test_stride,
-                                                    expected);
-       if (status)
-           return status;
-
-
-       /* Then create a surface using the correct stride,
-        * (should always succeed).
-        */
-       status = test_surface_with_width_and_stride (ctx,
-                                                    test_width,
-                                                    stride,
-                                                    CAIRO_STATUS_SUCCESS);
-       if (status)
-           return status;
-
-       status = test_surface_with_width_and_stride (ctx,
-                                                    test_width,
-                                                    -stride,
-                                                    CAIRO_STATUS_SUCCESS);
-       if (status)
-           return status;
-    }
-
-    return status;
-}
-
-CAIRO_TEST (a1_mask,
-            "test masks of CAIRO_FORMAT_A1",
-           "alpha, mask", /* keywords */
-           NULL, /* requirements */
-           MASK_WIDTH, MASK_HEIGHT,
-           preamble, draw)
diff --git a/test/a1-rasterisation.c b/test/a1-rasterisation.c
deleted file mode 100644 (file)
index b59090a..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/*
- * Test the fidelity of the rasterisation, paying careful attention to rounding.
- */
-
-#include "../src/cairo-fixed-type-private.h"
-#define PRECISION (int)(1 << CAIRO_FIXED_FRAC_BITS)
-
-#define WIDTH ((PRECISION/2+1)*3)
-#define HEIGHT ((PRECISION/2+1)*3)
-
-#define SUBPIXEL(v) ((v)/(double)(PRECISION/2))
-
-static cairo_test_status_t
-rectangles (cairo_t *cr, int width, int height)
-{
-    int x, y;
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    for (x = 0; x < WIDTH; x += 3) {
-       for (y = 0; y < HEIGHT; y += 3) {
-           cairo_rectangle (cr, x + SUBPIXEL (y/3) - .5, y + SUBPIXEL (x/3) - .5, .5, .5);
-       }
-    }
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-triangles (cairo_t *cr, int width, int height)
-{
-    int x, y;
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    for (x = 0; x < WIDTH; x += 3) {
-       for (y = 0; y < HEIGHT; y += 3) {
-           /* a rectangle with a diagonal to force tessellation */
-           cairo_move_to (cr, x + SUBPIXEL (y/3) - .5, y + SUBPIXEL (x/3) - .5);
-           cairo_rel_line_to (cr, .5, .5);
-           cairo_rel_line_to (cr, 0, -.5);
-           cairo_rel_line_to (cr, -.5, 0);
-           cairo_rel_line_to (cr, 0, .5);
-           cairo_rel_line_to (cr, .5, 0);
-       }
-    }
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (a1_rasterisation_rectangles,
-           "Check the fidelity of the rasterisation.",
-           "rasterisation", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, rectangles)
-
-CAIRO_TEST (a1_rasterisation_triangles,
-           "Check the fidelity of the rasterisation.",
-           "rasterisation", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, triangles)
diff --git a/test/a1-sample.c b/test/a1-sample.c
deleted file mode 100644 (file)
index 977dfc8..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH  (256) //CAIRO_FIXED_ONE
-#define HEIGHT (WIDTH)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i, j;
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    /* Only the single rectangle that covers the centre pixel should be filled*/
-    for (i = 0; i < 256; i++)
-       for (j = 0; j < 256; j++) {
-           cairo_rectangle (cr, i + i/256., j + j/256., 1/256., 1/256.);
-           cairo_fill (cr);
-       }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (a1_sample,
-           "Tests unantialiased rendering of a quantum box",
-           " alpha", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/a1-traps-sample.c b/test/a1-traps-sample.c
deleted file mode 100644 (file)
index 5bb97bb..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define POINTS 10
-#define STEP   (1.0 / POINTS)
-#define PAD    1
-#define WIDTH  (PAD + POINTS * 2 + PAD)
-#define HEIGHT (WIDTH)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i, j;
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* Draw in black */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_translate (cr, PAD, PAD);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    for (i = 0; i < POINTS; i++)
-       for (j = 0; j < POINTS; j++) {
-           cairo_rectangle (cr, 2 * i + i * STEP, 2 * j + j * STEP, 1, 1);
-           cairo_fill (cr);
-       }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (a1_traps_sample,
-           "Test sample position when drawing trapezoids with ANTIALIAS_NONE",
-           "alpha, traps", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/a8-clear.c b/test/a8-clear.c
deleted file mode 100644 (file)
index 1459f83..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- *
- * Based on a bug snippet by Jeremy Moles <jeremy@emperorlinux.com>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *mask;
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    cairo_push_group_with_content (cr, CAIRO_CONTENT_ALPHA);
-    {
-       cairo_set_source_rgb (cr, 1, 1, 1);
-       cairo_paint (cr);
-
-       cairo_move_to (cr, 0, 0);
-       cairo_line_to (cr, width, height);
-       cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
-       cairo_set_line_width (cr, 10);
-       cairo_stroke (cr);
-    }
-    mask = cairo_pop_group (cr);
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_mask (cr, mask);
-    cairo_pattern_destroy (mask);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (a8_clear,
-           "Test clear on an a8 surface",
-           "a8, clear", /* keywords */
-           NULL, /* requirements */
-           40, 40,
-           NULL, draw)
-
diff --git a/test/a8-mask.c b/test/a8-mask.c
deleted file mode 100644 (file)
index ec70812..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright © Jeff Muizelaar
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * JEFF MUIZELAAR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Jeff Muizelaar <jeff@infidigm.net>
- *         Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define MASK_WIDTH 8
-#define MASK_HEIGHT 8
-
-static unsigned char mask[MASK_WIDTH * MASK_HEIGHT] = {
-    0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0x0,
-};
-
-static cairo_test_status_t
-check_status (const cairo_test_context_t *ctx,
-             cairo_status_t status,
-             cairo_status_t expected)
-{
-    if (status == expected)
-       return CAIRO_TEST_SUCCESS;
-
-    cairo_test_log (ctx,
-                   "Error: Expected status value %d (%s), received %d (%s)\n",
-                   expected,
-                   cairo_status_to_string (expected),
-                   status,
-                   cairo_status_to_string (status));
-    return CAIRO_TEST_FAILURE;
-}
-
-static cairo_test_status_t
-test_surface_with_width_and_stride (const cairo_test_context_t *ctx,
-                                   int width, int stride,
-                                   cairo_status_t expected)
-{
-    cairo_test_status_t status;
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    int len;
-    unsigned char *data;
-
-    cairo_test_log (ctx,
-                   "Creating surface with width %d and stride %d\n",
-                   width, stride);
-
-    len = stride;
-    if (len < 0)
-       len = -len;
-    data = xmalloc (len);
-
-    surface = cairo_image_surface_create_for_data (data, CAIRO_FORMAT_A8,
-                                                  width, 1, stride);
-    cr = cairo_create (surface);
-
-    cairo_paint (cr);
-
-    status = check_status (ctx, cairo_surface_status (surface), expected);
-    if (status)
-       goto BAIL;
-
-    status = check_status (ctx, cairo_status (cr), expected);
-    if (status)
-       goto BAIL;
-
-  BAIL:
-    cairo_destroy (cr);
-    cairo_surface_destroy (surface);
-    free (data);
-    return status;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int dst_width, int dst_height)
-{
-    int stride, row;
-    unsigned char *src, *dst, *mask_aligned;
-    cairo_surface_t *surface;
-
-    /* Now test actually drawing through our mask data, allocating and
-     * copying with the proper stride. */
-    stride = cairo_format_stride_for_width (CAIRO_FORMAT_A8,
-                                           MASK_WIDTH);
-
-    mask_aligned = xmalloc (stride * MASK_HEIGHT);
-
-    src = mask;
-    dst = mask_aligned;
-    for (row = 0; row < MASK_HEIGHT; row++) {
-       memcpy (dst, src, MASK_WIDTH);
-       src += MASK_WIDTH;
-       dst += stride;
-    }
-
-    surface = cairo_image_surface_create_for_data (mask_aligned,
-                                                  CAIRO_FORMAT_A8,
-                                                  MASK_WIDTH,
-                                                  MASK_HEIGHT,
-                                                  stride);
-
-    /* Paint background blue */
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-
-    /* Then paint red through our mask */
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-    cairo_mask_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-
-    free (mask_aligned);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_test_status_t status = CAIRO_TEST_SUCCESS;
-    int test_width;
-
-    for (test_width = 0; test_width < 40; test_width++) {
-       int stride = cairo_format_stride_for_width (CAIRO_FORMAT_A8,
-                                               test_width);
-       cairo_status_t expected;
-
-       /* First create a surface using the width as the stride,
-        * (most of these should fail).
-        */
-       expected = (stride == test_width) ?
-           CAIRO_STATUS_SUCCESS : CAIRO_STATUS_INVALID_STRIDE;
-
-       status = test_surface_with_width_and_stride (ctx,
-                                                    test_width,
-                                                    test_width,
-                                                    expected);
-       if (status)
-           return status;
-
-       status = test_surface_with_width_and_stride (ctx,
-                                                    test_width,
-                                                    -test_width,
-                                                    expected);
-       if (status)
-           return status;
-
-
-       /* Then create a surface using the correct stride,
-        * (should always succeed).
-        */
-       status = test_surface_with_width_and_stride (ctx,
-                                                    test_width,
-                                                    stride,
-                                                    CAIRO_STATUS_SUCCESS);
-       if (status)
-           return status;
-
-       status = test_surface_with_width_and_stride (ctx,
-                                                    test_width,
-                                                    -stride,
-                                                    CAIRO_STATUS_SUCCESS);
-       if (status)
-           return status;
-    }
-
-    return status;
-}
-
-CAIRO_TEST (a8_mask,
-           "test masks of CAIRO_FORMAT_A8",
-           "alpha, mask", /* keywords */
-           NULL, /* requirements */
-           8, 8,
-           preamble, draw)
diff --git a/test/aliasing.c b/test/aliasing.c
deleted file mode 100644 (file)
index 73c1f1a..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* A fun little test to explore color fringing in various experimental
- * subpixel rasterisation techniques.
- */
-
-#define WIDTH 60
-#define HEIGHT 40
-
-static const  struct color {
-    double red, green, blue;
-} color[] = {
-    { 1, 1, 1 },
-    { 0, 0, 0 },
-    { 1, 0, 0 },
-    { 0, 1, 0 },
-    { 0, 0, 1 },
-    { 1, 1, 0 },
-    { 0, 1, 1 },
-    { 1, 0, 1 },
-    { .5, .5, .5 },
-};
-
-#define NUM_COLORS ARRAY_LENGTH (color)
-
-static void
-object (cairo_t *cr, const struct color *fg, const struct color *bg)
-{
-    cairo_set_source_rgb (cr, bg->red, bg->green, bg->blue);
-    cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, fg->red, fg->green, fg->blue);
-    cairo_save (cr);
-    cairo_scale (cr, WIDTH, HEIGHT);
-    cairo_arc (cr, .5, .5, .5 - 4. / MAX (WIDTH, HEIGHT), 0, 2 * M_PI);
-    cairo_fill (cr);
-    cairo_arc (cr, .5, .5, .5 - 2. / MAX (WIDTH, HEIGHT), 0, 2 * M_PI);
-    cairo_restore (cr);
-    cairo_set_line_width (cr, 1.);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, bg->red, bg->green, bg->blue);
-    cairo_set_line_width (cr, 4.);
-    cairo_move_to (cr, 4, HEIGHT-4);
-    cairo_line_to (cr, WIDTH-12, 4);
-    cairo_move_to (cr, 12, HEIGHT-4);
-    cairo_line_to (cr, WIDTH-4, 4);
-    cairo_stroke (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    unsigned int i, j;
-
-    for (i = 0; i < NUM_COLORS; i++) {
-       for (j = 0; j < NUM_COLORS; j++) {
-           cairo_save (cr);
-           cairo_translate (cr, i * WIDTH, j * HEIGHT);
-           object (cr, &color[i], &color[j]);
-           cairo_restore (cr);
-       }
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (aliasing,
-           "Check for subpixel aliasing and color fringing",
-           "rasterisation", /* keywords */
-           "target=raster", /* requirements */
-           NUM_COLORS * WIDTH, NUM_COLORS * HEIGHT,
-           NULL, draw)
diff --git a/test/alpha-similar.c b/test/alpha-similar.c
deleted file mode 100644 (file)
index a9411d1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_surface_t *
-create_source (cairo_surface_t *target, int width, int height)
-{
-    cairo_surface_t *similar;
-    cairo_t *cr;
-
-    similar = cairo_surface_create_similar (target,
-                                           CAIRO_CONTENT_ALPHA,
-                                           width, height);
-    cr = cairo_create (similar);
-    cairo_surface_destroy (similar);
-
-    cairo_set_source_rgba (cr, 1, 0, 0, .5);
-    cairo_paint (cr);
-
-    similar = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return similar;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *source;
-
-    source = create_source (cairo_get_target (cr), width, height);
-    cairo_set_source_surface (cr, source, 0, 0);
-    cairo_surface_destroy (source);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (alpha_similar,
-           "Tests creation of similar alpha surfaces"
-           "\nApplication of a pure-alpha similar source is inconsistent across backends.",
-           "alpha, similar", /* keywords */
-           NULL, /* requirements */
-           10, 10,
-           NULL, draw)
-
diff --git a/test/any2ppm.c b/test/any2ppm.c
deleted file mode 100644 (file)
index 2403347..0000000
+++ /dev/null
@@ -1,882 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- *
- * Contributor(s):
- *     Carlos Garcia Campos <carlosgc@gnome.org>
- *
- * Adapted from pdf2png.c:
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kristian Høgsberg <krh@redhat.com>
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <cairo.h>
-#include <cairo-script-interpreter.h>
-
-#if CAIRO_CAN_TEST_PDF_SURFACE
-#include <poppler.h>
-#endif
-
-#if CAIRO_CAN_TEST_SVG_SURFACE
-#include <librsvg/rsvg.h>
-#include <librsvg/rsvg-cairo.h>
-#endif
-
-#if CAIRO_HAS_SPECTRE
-#include <libspectre/spectre.h>
-#endif
-
-#include <errno.h>
-
-#if HAVE_UNISTD_H && HAVE_FCNTL_H && HAVE_SIGNAL_H && HAVE_SYS_STAT_H && HAVE_SYS_SOCKET_H && HAVE_SYS_POLL_H && HAVE_SYS_UN_H
-#include <fcntl.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <sys/poll.h>
-#include <sys/un.h>
-
-#define SOCKET_PATH "./.any2ppm"
-#define TIMEOUT 60000 /* 60 seconds */
-
-#define CAN_RUN_AS_DAEMON 1
-#endif
-
-#define ARRAY_LENGTH(A) (sizeof (A) / sizeof (A[0]))
-
-static int
-_cairo_writen (int fd, char *buf, int len)
-{
-    while (len) {
-       int ret;
-
-       ret = write (fd, buf, len);
-       if (ret == -1) {
-           int err = errno;
-           switch (err) {
-           case EINTR:
-           case EAGAIN:
-               continue;
-           default:
-               return 0;
-           }
-       }
-       len -= ret;
-       buf += ret;
-    }
-
-    return 1;
-}
-
-static int
-_cairo_write (int fd,
-       char *buf, int maxlen, int buflen,
-       const unsigned char *src, int srclen)
-{
-    if (buflen < 0)
-       return buflen;
-
-    while (srclen) {
-       int len;
-
-       len = buflen + srclen;
-       if (len > maxlen)
-           len = maxlen;
-       len -= buflen;
-
-       memcpy (buf + buflen, src, len);
-       buflen += len;
-       srclen -= len;
-       src += len;
-
-       if (buflen == maxlen) {
-           if (! _cairo_writen (fd, buf, buflen))
-               return -1;
-
-           buflen = 0;
-       }
-    }
-
-    return buflen;
-}
-
-static const char *
-write_ppm (cairo_surface_t *surface, int fd)
-{
-    char buf[4096];
-    cairo_format_t format;
-    const char *format_str;
-    const unsigned char *data;
-    int len;
-    int width, height, stride;
-    int i, j;
-
-    data = cairo_image_surface_get_data (surface);
-    height = cairo_image_surface_get_height (surface);
-    width = cairo_image_surface_get_width (surface);
-    stride = cairo_image_surface_get_stride (surface);
-    format = cairo_image_surface_get_format (surface);
-    if (format == CAIRO_FORMAT_ARGB32) {
-       /* see if we can convert to a standard ppm type and trim a few bytes */
-       const unsigned char *alpha = data;
-       for (j = height; j--; alpha += stride) {
-           for (i = 0; i < width; i++) {
-               if ((*(unsigned int *) (alpha+4*i) & 0xff000000) != 0xff000000)
-                   goto done;
-           }
-       }
-       format = CAIRO_FORMAT_RGB24;
- done: ;
-    }
-
-    switch (format) {
-    case CAIRO_FORMAT_ARGB32:
-       /* XXX need true alpha for svg */
-       format_str = "P7";
-       break;
-    case CAIRO_FORMAT_RGB24:
-       format_str = "P6";
-       break;
-    case CAIRO_FORMAT_A8:
-       format_str = "P5";
-       break;
-    case CAIRO_FORMAT_A1:
-    case CAIRO_FORMAT_RGB16_565:
-    case CAIRO_FORMAT_RGB30:
-    case CAIRO_FORMAT_INVALID:
-    default:
-       return "unhandled image format";
-    }
-
-    len = sprintf (buf, "%s %d %d 255\n", format_str, width, height);
-    for (j = 0; j < height; j++) {
-       const unsigned int *row = (unsigned int *) (data + stride * j);
-
-       switch ((int) format) {
-       case CAIRO_FORMAT_ARGB32:
-           len = _cairo_write (fd,
-                         buf, sizeof (buf), len,
-                         (unsigned char *) row, 4 * width);
-           break;
-       case CAIRO_FORMAT_RGB24:
-           for (i = 0; i < width; i++) {
-               unsigned char rgb[3];
-               unsigned int p = *row++;
-               rgb[0] = (p & 0xff0000) >> 16;
-               rgb[1] = (p & 0x00ff00) >> 8;
-               rgb[2] = (p & 0x0000ff) >> 0;
-               len = _cairo_write (fd,
-                             buf, sizeof (buf), len,
-                             rgb, 3);
-           }
-           break;
-       case CAIRO_FORMAT_A8:
-           len = _cairo_write (fd,
-                         buf, sizeof (buf), len,
-                         (unsigned char *) row, width);
-           break;
-       }
-       if (len < 0)
-           return "write failed";
-    }
-
-    if (len && ! _cairo_writen (fd, buf, len))
-       return "write failed";
-
-    return NULL;
-}
-
-static cairo_surface_t *
-_create_image (void *closure,
-              cairo_content_t content,
-              double width, double height,
-              long uid)
-{
-    cairo_surface_t **out = closure;
-    cairo_format_t format;
-    switch (content) {
-    case CAIRO_CONTENT_ALPHA:
-       format = CAIRO_FORMAT_A8;
-       break;
-    case CAIRO_CONTENT_COLOR:
-       format = CAIRO_FORMAT_RGB24;
-       break;
-    default:
-    case CAIRO_CONTENT_COLOR_ALPHA:
-       format = CAIRO_FORMAT_ARGB32;
-       break;
-    }
-    *out = cairo_image_surface_create (format, width, height);
-    return cairo_surface_reference (*out);
-}
-
-#if CAIRO_HAS_INTERPRETER
-static const char *
-_cairo_script_render_page (const char *filename,
-                          cairo_surface_t **surface_out)
-{
-    cairo_script_interpreter_t *csi;
-    cairo_surface_t *surface = NULL;
-    cairo_status_t status;
-    const cairo_script_interpreter_hooks_t hooks = {
-       &surface,
-       _create_image,
-       NULL, /* surface_destroy */
-       NULL, /* context_create */
-       NULL, /* context_destroy */
-       NULL, /* show_page */
-       NULL  /* copy_page */
-    };
-
-    csi = cairo_script_interpreter_create ();
-    cairo_script_interpreter_install_hooks (csi, &hooks);
-    status = cairo_script_interpreter_run (csi, filename);
-    if (status) {
-       cairo_surface_destroy (surface);
-       surface = NULL;
-    }
-    status = cairo_script_interpreter_destroy (csi);
-    if (surface == NULL)
-       return "cairo-script interpreter failed";
-
-    if (status == CAIRO_STATUS_SUCCESS)
-       status = cairo_surface_status (surface);
-    if (status) {
-       cairo_surface_destroy (surface);
-       return cairo_status_to_string (status);
-    }
-
-    *surface_out = surface;
-    return NULL;
-}
-
-static const char *
-cs_convert (char **argv, int fd)
-{
-    const char *err;
-    cairo_surface_t *surface = NULL; /* silence compiler warning */
-
-    err = _cairo_script_render_page (argv[0], &surface);
-    if (err != NULL)
-       return err;
-
-    err = write_ppm (surface, fd);
-    cairo_surface_destroy (surface);
-
-    return err;
-}
-#else
-static const char *
-cs_convert (char **argv, int fd)
-{
-    return "compiled without CairoScript support.";
-}
-#endif
-
-#if CAIRO_CAN_TEST_PDF_SURFACE
-/* adapted from pdf2png.c */
-static const char *
-_poppler_render_page (const char *filename,
-                     const char *page_label,
-                     cairo_surface_t **surface_out)
-{
-    PopplerDocument *document;
-    PopplerPage *page;
-    double width, height;
-    GError *error = NULL;
-    gchar *absolute, *uri;
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    cairo_status_t status;
-
-    if (g_path_is_absolute (filename)) {
-       absolute = g_strdup (filename);
-    } else {
-       gchar *dir = g_get_current_dir ();
-       absolute = g_build_filename (dir, filename, (gchar *) 0);
-       g_free (dir);
-    }
-
-    uri = g_filename_to_uri (absolute, NULL, &error);
-    g_free (absolute);
-    if (uri == NULL)
-       return error->message; /* XXX g_error_free (error) */
-
-    document = poppler_document_new_from_file (uri, NULL, &error);
-    g_free (uri);
-    if (document == NULL)
-       return error->message; /* XXX g_error_free (error) */
-
-    page = poppler_document_get_page_by_label (document, page_label);
-    g_object_unref (document);
-    if (page == NULL)
-       return "page not found";
-
-    poppler_page_get_size (page, &width, &height);
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width, height);
-    cr = cairo_create (surface);
-
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_paint (cr);
-    cairo_push_group_with_content (cr, CAIRO_CONTENT_COLOR_ALPHA);
-
-    poppler_page_render (page, cr);
-    g_object_unref (page);
-
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-
-    if (status) {
-       cairo_surface_destroy (surface);
-       return  cairo_status_to_string (status);
-    }
-
-    *surface_out = surface;
-    return NULL;
-}
-
-static const char *
-pdf_convert (char **argv, int fd)
-{
-    const char *err;
-    cairo_surface_t *surface = NULL; /* silence compiler warning */
-
-    err = _poppler_render_page (argv[0], argv[1], &surface);
-    if (err != NULL)
-       return err;
-
-    err = write_ppm (surface, fd);
-    cairo_surface_destroy (surface);
-
-    return err;
-}
-#else
-static const char *
-pdf_convert (char **argv, int fd)
-{
-    return "compiled without PDF support.";
-}
-#endif
-
-#if CAIRO_CAN_TEST_SVG_SURFACE
-static const char *
-_rsvg_render_page (const char *filename,
-                  cairo_surface_t **surface_out)
-{
-    RsvgHandle *handle;
-    RsvgDimensionData dimensions;
-    GError *error = NULL;
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    cairo_status_t status;
-
-    handle = rsvg_handle_new_from_file (filename, &error);
-    if (handle == NULL)
-       return error->message; /* XXX g_error_free */
-
-    rsvg_handle_get_dimensions (handle, &dimensions);
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                         dimensions.width,
-                                         dimensions.height);
-    cr = cairo_create (surface);
-
-    rsvg_handle_render_cairo (handle, cr);
-    g_object_unref (handle);
-
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-
-    if (status) {
-       cairo_surface_destroy (surface);
-       return  cairo_status_to_string (status);
-    }
-
-    *surface_out = surface;
-    return NULL;
-}
-
-static const char *
-svg_convert (char **argv, int fd)
-{
-    const char *err;
-    cairo_surface_t *surface = NULL; /* silence compiler warning */
-
-    err = _rsvg_render_page (argv[0], &surface);
-    if (err != NULL)
-       return err;
-
-    err = write_ppm (surface, fd);
-    cairo_surface_destroy (surface);
-
-    return err;
-}
-#else
-static const char *
-svg_convert (char **argv, int fd)
-{
-    return "compiled without SVG support.";
-}
-#endif
-
-#if CAIRO_HAS_SPECTRE
-static const char *
-_spectre_render_page (const char *filename,
-                     const char *page_label,
-                     cairo_surface_t **surface_out)
-{
-    static const cairo_user_data_key_t key;
-
-    SpectreDocument *document;
-    SpectreStatus status;
-    int width, height, stride;
-    unsigned char *pixels;
-    cairo_surface_t *surface;
-
-    document = spectre_document_new ();
-    spectre_document_load (document, filename);
-    status = spectre_document_status (document);
-    if (status) {
-       spectre_document_free (document);
-       return spectre_status_to_string (status);
-    }
-
-    if (page_label) {
-       SpectrePage *page;
-       SpectreRenderContext *rc;
-
-       page = spectre_document_get_page_by_label (document, page_label);
-       spectre_document_free (document);
-       if (page == NULL)
-           return "page not found";
-
-       spectre_page_get_size (page, &width, &height);
-       rc = spectre_render_context_new ();
-       spectre_render_context_set_page_size (rc, width, height);
-       spectre_page_render (page, rc, &pixels, &stride);
-       spectre_render_context_free (rc);
-       status = spectre_page_status (page);
-       spectre_page_free (page);
-       if (status) {
-           free (pixels);
-           return spectre_status_to_string (status);
-       }
-    } else {
-       spectre_document_get_page_size (document, &width, &height);
-       spectre_document_render (document, &pixels, &stride);
-       spectre_document_free (document);
-    }
-
-    surface = cairo_image_surface_create_for_data (pixels,
-                                                  CAIRO_FORMAT_RGB24,
-                                                  width, height,
-                                                  stride);
-    cairo_surface_set_user_data (surface, &key,
-                                pixels, (cairo_destroy_func_t) free);
-    *surface_out = surface;
-    return NULL;
-}
-
-static const char *
-ps_convert (char **argv, int fd)
-{
-    const char *err;
-    cairo_surface_t *surface = NULL; /* silence compiler warning */
-
-    err = _spectre_render_page (argv[0], argv[1], &surface);
-    if (err != NULL)
-       return err;
-
-    err = write_ppm (surface, fd);
-    cairo_surface_destroy (surface);
-
-    return err;
-}
-#else
-static const char *
-ps_convert (char **argv, int fd)
-{
-    return "compiled without PostScript support.";
-}
-#endif
-
-static const char *
-convert (char **argv, int fd)
-{
-    static const struct converter {
-       const char *type;
-       const char *(*func) (char **, int);
-    } converters[] = {
-       { "cs", cs_convert },
-       { "pdf", pdf_convert },
-       { "ps", ps_convert },
-       { "svg", svg_convert },
-       { NULL, NULL }
-    };
-    const struct converter *converter = converters;
-    char *type;
-
-    type = strrchr (argv[0], '.');
-    if (type == NULL)
-       return "no file extension";
-    type++;
-
-    while (converter->type) {
-       if (strcmp (type, converter->type) == 0)
-           return converter->func (argv, fd);
-       converter++;
-    }
-    return "no converter";
-}
-
-#if CAN_RUN_AS_DAEMON
-static int
-_getline (int fd, char **linep, size_t *lenp)
-{
-    char *line;
-    size_t len, i;
-    ssize_t ret;
-
-    line = *linep;
-    if (line == NULL) {
-       line = malloc (1024);
-       if (line == NULL)
-           return -1;
-       line[0] = '\0';
-       len = 1024;
-    } else
-       len = *lenp;
-
-    /* XXX simple, but ugly! */
-    i = 0;
-    do {
-       if (i == len - 1) {
-           char *nline;
-
-           nline = realloc (line, len + 1024);
-           if (nline == NULL)
-               goto out;
-
-           line = nline;
-           len += 1024;
-       }
-
-       ret = read (fd, line + i, 1);
-       if (ret == -1 || ret == 0)
-           goto out;
-    } while (line[i++] != '\n');
-
-out:
-    line[i] = '\0';
-    *linep = line;
-    *lenp = len;
-    return i-1;
-}
-
-static int
-split_line (char *line, char *argv[], int max_argc)
-{
-    int i = 0;
-
-    max_argc--; /* leave one spare for the trailing NULL */
-
-    argv[i++] = line;
-    while (i < max_argc && (line = strchr (line, ' ')) != NULL) {
-       *line++ = '\0';
-       argv[i++] = line;
-    }
-
-    /* chomp the newline */
-    line = strchr (argv[i-1], '\n');
-    if (line != NULL)
-       *line = '\0';
-
-    argv[i] = NULL;
-
-    return i;
-}
-
-static int
-any2ppm_daemon_exists (void)
-{
-    struct stat st;
-    int fd;
-    char buf[80];
-    int pid;
-    int ret;
-
-    if (stat (SOCKET_PATH, &st) < 0)
-       return 0;
-
-    fd = open (SOCKET_PATH ".pid", O_RDONLY);
-    if (fd < 0)
-       return 0;
-
-    pid = 0;
-    ret = read (fd, buf, sizeof (buf) - 1);
-    if (ret > 0) {
-       buf[ret] = '\0';
-       pid = atoi (buf);
-    }
-    close (fd);
-
-    return pid > 0 && kill (pid, 0) == 0;
-}
-
-static int
-write_pid_file (void)
-{
-    int fd;
-    char buf[80];
-    int ret;
-
-    fd = open (SOCKET_PATH ".pid", O_CREAT | O_TRUNC | O_WRONLY, 0666);
-    if (fd < 0)
-       return 0;
-
-    ret = sprintf (buf, "%d\n", getpid ());
-    ret = write (fd, buf, ret) == ret;
-    close (fd);
-
-    return ret;
-}
-
-static int
-open_devnull_to_fd (int want_fd, int flags)
-{
-    int error;
-    int got_fd;
-
-    close (want_fd);
-
-    got_fd = open("/dev/null", flags | O_CREAT, 0700);
-    if (got_fd == -1)
-        return -1;
-
-    error = dup2 (got_fd, want_fd);
-    close (got_fd);
-
-    return error;
-}
-
-static int
-daemonize (void)
-{
-    void (*oldhup) (int);
-
-    /* Let the parent go. */
-    switch (fork ()) {
-    case -1: return -1;
-    case 0: break;
-    default: _exit (0);
-    }
-
-    /* Become session leader. */
-    if (setsid () == -1)
-       return -1;
-
-    /* Refork to yield session leadership. */
-    oldhup = signal (SIGHUP, SIG_IGN);
-
-    switch (fork ()) {         /* refork to yield session leadership. */
-    case -1: return -1;
-    case 0: break;
-    default: _exit (0);
-    }
-
-    signal (SIGHUP, oldhup);
-
-    /* Establish stdio. */
-    if (open_devnull_to_fd (0, O_RDONLY) == -1)
-       return -1;
-    if (open_devnull_to_fd (1, O_WRONLY | O_APPEND) == -1)
-       return -1;
-    if (dup2 (1, 2) == -1)
-       return -1;
-
-    return 0;
-}
-
-static const char *
-any2ppm_daemon (void)
-{
-    int timeout = TIMEOUT;
-    struct pollfd pfd;
-    int sk, fd;
-    long flags;
-    struct sockaddr_un addr;
-    char *line = NULL;
-    size_t len = 0;
-
-#ifdef SIGPIPE
-    signal (SIGPIPE, SIG_IGN);
-#endif
-
-    /* XXX racy! */
-    if (getenv ("ANY2PPM_FORCE") == NULL && any2ppm_daemon_exists ())
-       return "any2ppm daemon already running";
-
-    unlink (SOCKET_PATH);
-
-    sk = socket (PF_UNIX, SOCK_STREAM, 0);
-    if (sk == -1)
-       return "unable to create socket";
-
-    memset (&addr, 0, sizeof (addr));
-    addr.sun_family = AF_UNIX;
-    strcpy (addr.sun_path, SOCKET_PATH);
-    if (bind (sk, (struct sockaddr *) &addr, sizeof (addr)) == -1) {
-       close (sk);
-       return "unable to bind socket";
-    }
-
-    flags = fcntl (sk, F_GETFL);
-    if (flags == -1 || fcntl (sk, F_SETFL, flags | O_NONBLOCK) == -1) {
-       close (sk);
-       return "unable to set socket to non-blocking";
-    }
-
-    if (listen (sk, 5) == -1) {
-       close (sk);
-       return "unable to listen on socket";
-    }
-
-    /* ready for client connection - detach from parent/terminal */
-    if (getenv ("ANY2PPM_NODAEMON") == NULL && daemonize () == -1) {
-       close (sk);
-       return "unable to detach from parent";
-    }
-
-    if (! write_pid_file ()) {
-       close (sk);
-       return "unable to write pid file";
-    }
-
-    if (getenv ("ANY2PPM_TIMEOUT") != NULL) {
-       timeout = atoi (getenv ("ANY2PPM_TIMEOUT"));
-       if (timeout == 0)
-           timeout = -1;
-       if (timeout > 0)
-           timeout *= 1000; /* convert env (in seconds) to milliseconds */
-    }
-
-    pfd.fd = sk;
-    pfd.events = POLLIN;
-    pfd.revents = 0; /* valgrind */
-    while (poll (&pfd, 1, timeout) > 0) {
-       while ((fd = accept (sk, NULL, NULL)) != -1) {
-           if (_getline (fd, &line, &len) != -1) {
-               char *argv[10];
-
-               if (split_line (line, argv, ARRAY_LENGTH (argv)) > 0) {
-                   const char *err;
-
-                   err = convert (argv, fd);
-                   if (err != NULL) {
-                       FILE *file = fopen (".any2ppm.errors", "a");
-                       if (file != NULL) {
-                           fprintf (file,
-                                    "Failed to convert '%s': %s\n",
-                                    argv[0], err);
-                           fclose (file);
-                       }
-                   }
-               }
-           }
-           close (fd);
-       }
-    }
-    close (sk);
-    unlink (SOCKET_PATH);
-    unlink (SOCKET_PATH ".pid");
-
-    free (line);
-    return NULL;
-}
-#else
-static const char *
-any2ppm_daemon (void)
-{
-    return "daemon not compiled in.";
-}
-#endif
-
-int
-main (int argc, char **argv)
-{
-    const char *err;
-
-#if CAIRO_CAN_TEST_PDF_SURFACE || CAIRO_CAN_TEST_SVG_SURFACE
-    g_type_init ();
-#endif
-
-#if CAIRO_CAN_TEST_SVG_SURFACE
-    rsvg_init ();
-    rsvg_set_default_dpi (72.0);
-#endif
-
-    if (argc == 1)
-       err = any2ppm_daemon ();
-    else
-       err = convert (argv + 1, 1);
-    if (err != NULL) {
-       fprintf (stderr, "Failed to run converter: %s\n", err);
-       return EXIT_FAILURE;
-    }
-
-    return EXIT_SUCCESS;
-}
diff --git a/test/api-special-cases.c b/test/api-special-cases.c
deleted file mode 100644 (file)
index 53891bd..0000000
+++ /dev/null
@@ -1,855 +0,0 @@
-/*
- * Copyright © 2010 Red Hat Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Benjamin Otte <otte@redhat.com>
- */
-
-/*
- * WHAT THIS TEST DOES
- *
- * This test tests that for all public APIs Cairo behaves correct, consistent
- * and most of all doesn't crash. It does this by calling all APIs that take
- * surfaces and calling them on specially prepared surfaces that should fail 
- * when called on this function.
- *
- * ADDING NEW FUNCTIONS
- *
- * You need (for adding the function cairo_surface_foo):
- * 1) A surface_test_func_t named test_cairo_surface_foo that gets passed the
- *    prepared surface and has the job of calling the function and checking
- *    the return value (if one exists) for correctness. The top of this file
- *    contains all these shim functions.
- * 2) Knowledge if the function behaves like a setter or like a getter. A 
- *    setter should set an error status on the surface, a getter does not
- *    modify the function.
- * 3) Knowledge if the function only works for a specific surface type and for
- *    which one.
- * 4) An entry in the tests array using the TEST() macro. It takes as arguments:
- *    - The function name
- *    - TRUE if the function modifies the surface, FALSE otherwise
- *    - the surface type for which the function is valid or -1 if it is valid
- *      for all surface types.
- *
- * FIXING FAILURES
- *
- * The test will dump failures notices into the api-special-cases.log file (when 
- * it doesn't crash). These should be pretty self-explanatory. Usually it is 
- * enough to just add a new check to the function it complained about.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <assert.h>
-#include <limits.h>
-
-#include "cairo-test.h"
-
-#if CAIRO_HAS_GL_SURFACE
-#include <cairo-gl.h>
-#endif
-#if CAIRO_HAS_OS2_SURFACE
-#include <cairo-os2.h>
-#endif
-#if CAIRO_HAS_PDF_SURFACE
-#include <cairo-pdf.h>
-#endif
-#if CAIRO_HAS_PS_SURFACE
-#include <cairo-ps.h>
-#endif
-#if CAIRO_HAS_QUARTZ_SURFACE
-#define Cursor QuartzCursor
-#include <cairo-quartz.h>
-#undef Cursor
-#endif
-#if CAIRO_HAS_SVG_SURFACE
-#include <cairo-svg.h>
-#endif
-#if CAIRO_HAS_TEE_SURFACE
-#include <cairo-tee.h>
-#endif
-#if CAIRO_HAS_XCB_SURFACE
-#include <cairo-xcb.h>
-#endif
-#if CAIRO_HAS_XLIB_SURFACE
-#define Cursor XCursor
-#include <cairo-xlib.h>
-#undef Cursor
-#endif
-
-#define surface_has_type(surface,type) (cairo_surface_get_type (surface) == (type))
-
-typedef cairo_test_status_t (* surface_test_func_t) (cairo_surface_t *surface);
-
-static cairo_test_status_t
-test_cairo_surface_create_similar (cairo_surface_t *surface)
-{
-    cairo_surface_t *similar;
-    
-    similar = cairo_surface_create_similar (surface, CAIRO_CONTENT_ALPHA, 100, 100);
-    
-    cairo_surface_destroy (similar);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_create_for_rectangle (cairo_surface_t *surface)
-{
-    cairo_surface_t *similar;
-    
-    similar = cairo_surface_create_for_rectangle (surface, 1, 1, 8, 8);
-    
-    cairo_surface_destroy (similar);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_reference (cairo_surface_t *surface)
-{
-    cairo_surface_destroy (cairo_surface_reference (surface));
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_finish (cairo_surface_t *surface)
-{
-    cairo_surface_finish (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_get_device (cairo_surface_t *surface)
-{
-    /* cairo_device_t *device = */cairo_surface_get_device (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_get_reference_count (cairo_surface_t *surface)
-{
-    unsigned int refcount = cairo_surface_get_reference_count (surface);
-    if (refcount > 0)
-        return CAIRO_TEST_SUCCESS;
-    /* inert error surfaces have a refcount of 0 */
-    return cairo_surface_status (surface) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_surface_status (cairo_surface_t *surface)
-{
-    cairo_status_t status = cairo_surface_status (surface);
-    return status < CAIRO_STATUS_LAST_STATUS ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_surface_get_type (cairo_surface_t *surface)
-{
-    /* cairo_surface_type_t type = */cairo_surface_get_type (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_get_content (cairo_surface_t *surface)
-{
-    cairo_content_t content = cairo_surface_get_content (surface);
-
-    switch (content) {
-    case CAIRO_CONTENT_COLOR:
-    case CAIRO_CONTENT_ALPHA:
-    case CAIRO_CONTENT_COLOR_ALPHA:
-        return CAIRO_TEST_SUCCESS;
-    default:
-        return CAIRO_TEST_ERROR;
-    }
-}
-
-static cairo_test_status_t
-test_cairo_surface_set_user_data (cairo_surface_t *surface)
-{
-    static cairo_user_data_key_t key;
-    cairo_status_t status;
-
-    status = cairo_surface_set_user_data (surface, &key, &key, NULL);
-    if (status == CAIRO_STATUS_NO_MEMORY)
-        return CAIRO_TEST_NO_MEMORY;
-    else if (status)
-        return CAIRO_TEST_SUCCESS;
-
-    if (cairo_surface_get_user_data (surface, &key) != &key)
-        return CAIRO_TEST_ERROR;
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_set_mime_data (cairo_surface_t *surface)
-{
-    const char *mimetype = "text/x-uri";
-    const char *data = "http://www.cairographics.org";
-    cairo_status_t status;
-
-    status = cairo_surface_set_mime_data (surface,
-                                          mimetype,
-                                          (const unsigned char *) data,
-                                         strlen (data),
-                                          NULL, NULL);
-    return status ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_surface_get_mime_data (cairo_surface_t *surface)
-{
-    const char *mimetype = "text/x-uri";
-    const unsigned char *data;
-    unsigned long length;
-
-    cairo_surface_get_mime_data (surface, mimetype, &data, &length);
-    return data == NULL && length == 0 ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_surface_get_font_options (cairo_surface_t *surface)
-{
-    cairo_font_options_t *options;
-    cairo_status_t status;
-
-    options = cairo_font_options_create ();
-    if (likely (!cairo_font_options_status (options)))
-        cairo_surface_get_font_options (surface, options);
-    status = cairo_font_options_status (options);
-    cairo_font_options_destroy (options);
-    return status ? CAIRO_TEST_ERROR : CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_flush (cairo_surface_t *surface)
-{
-    cairo_surface_flush (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_mark_dirty (cairo_surface_t *surface)
-{
-    cairo_surface_mark_dirty (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface)
-{
-    cairo_surface_mark_dirty_rectangle (surface, 1, 1, 8, 8);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_set_device_offset (cairo_surface_t *surface)
-{
-    cairo_surface_set_device_offset (surface, 5, 5);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_get_device_offset (cairo_surface_t *surface)
-{
-    double x, y;
-
-    cairo_surface_get_device_offset (surface, &x, &y);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_set_fallback_resolution (cairo_surface_t *surface)
-{
-    cairo_surface_set_fallback_resolution (surface, 42, 42);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_get_fallback_resolution (cairo_surface_t *surface)
-{
-    double x, y;
-
-    cairo_surface_get_fallback_resolution (surface, &x, &y);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_copy_page (cairo_surface_t *surface)
-{
-    cairo_surface_copy_page (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_show_page (cairo_surface_t *surface)
-{
-    cairo_surface_show_page (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_surface_has_show_text_glyphs (cairo_surface_t *surface)
-{
-    cairo_surface_has_show_text_glyphs (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_image_surface_get_data (cairo_surface_t *surface)
-{
-    unsigned char *data = cairo_image_surface_get_data (surface);
-    return data == NULL || surface_has_type (surface, CAIRO_SURFACE_TYPE_IMAGE) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_image_surface_get_format (cairo_surface_t *surface)
-{
-    cairo_format_t format = cairo_image_surface_get_format (surface);
-    return format == CAIRO_FORMAT_INVALID || surface_has_type (surface, CAIRO_SURFACE_TYPE_IMAGE) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_image_surface_get_width (cairo_surface_t *surface)
-{
-    unsigned int width = cairo_image_surface_get_width (surface);
-    return width == 0 || surface_has_type (surface, CAIRO_SURFACE_TYPE_IMAGE) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_image_surface_get_height (cairo_surface_t *surface)
-{
-    unsigned int height = cairo_image_surface_get_height (surface);
-    return height == 0 || surface_has_type (surface, CAIRO_SURFACE_TYPE_IMAGE) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_image_surface_get_stride (cairo_surface_t *surface)
-{
-    unsigned int stride = cairo_image_surface_get_stride (surface);
-    return stride == 0 || surface_has_type (surface, CAIRO_SURFACE_TYPE_IMAGE) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-#if CAIRO_HAS_PNG_FUNCTIONS
-
-static cairo_test_status_t
-test_cairo_surface_write_to_png (cairo_surface_t *surface)
-{
-    cairo_status_t status;
-
-    status = cairo_surface_write_to_png (surface, "/this/file/will/definitely/not/exist.png");
-    
-    return status ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_status_t
-write_func_that_always_fails (void *closure, const unsigned char *data, unsigned int length)
-{
-    return CAIRO_STATUS_WRITE_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_surface_write_to_png_stream (cairo_surface_t *surface)
-{
-    cairo_status_t status;
-
-    status = cairo_surface_write_to_png_stream (surface,
-                                                write_func_that_always_fails,
-                                                NULL);
-    
-    return status && status != CAIRO_STATUS_WRITE_ERROR ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-#endif /* CAIRO_HAS_PNG_FUNCTIONS */
-
-static cairo_test_status_t
-test_cairo_recording_surface_ink_extents (cairo_surface_t *surface)
-{
-    double x, y, w, h;
-
-    cairo_recording_surface_ink_extents (surface, &x, &y, &w, &h);
-    return x == 0 && y == 0 && w == 0 && h == 0 ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-#if CAIRO_HAS_TEE_SURFACE
-
-static cairo_test_status_t
-test_cairo_tee_surface_add (cairo_surface_t *surface)
-{
-    cairo_surface_t *image = cairo_image_surface_create (CAIRO_FORMAT_A8, 10, 10);
-
-    cairo_tee_surface_add (surface, image);
-    cairo_surface_destroy (image);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_tee_surface_remove (cairo_surface_t *surface)
-{
-    cairo_surface_t *image = cairo_image_surface_create (CAIRO_FORMAT_A8, 10, 10);
-
-    cairo_tee_surface_remove (surface, image);
-    cairo_surface_destroy (image);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_tee_surface_index (cairo_surface_t *surface)
-{
-    cairo_surface_t *master;
-    cairo_status_t status;
-
-    master = cairo_tee_surface_index (surface, 0);
-    status = cairo_surface_status (master);
-    cairo_surface_destroy (master);
-    return status ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-#endif /* CAIRO_HAS_TEE_SURFACE */
-
-#if CAIRO_HAS_GL_SURFACE
-
-static cairo_test_status_t
-test_cairo_gl_surface_set_size (cairo_surface_t *surface)
-{
-    cairo_gl_surface_set_size (surface, 5, 5);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_gl_surface_get_width (cairo_surface_t *surface)
-{
-    unsigned int width = cairo_gl_surface_get_width (surface);
-    return width == 0 || surface_has_type (surface, CAIRO_SURFACE_TYPE_GL) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-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;
-}
-
-static cairo_test_status_t
-test_cairo_gl_surface_swapbuffers (cairo_surface_t *surface)
-{
-    cairo_gl_surface_swapbuffers (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-#endif /* CAIRO_HAS_GL_SURFACE */
-
-#if CAIRO_HAS_PDF_SURFACE
-
-static cairo_test_status_t
-test_cairo_pdf_surface_restrict_to_version (cairo_surface_t *surface)
-{
-    cairo_pdf_surface_restrict_to_version (surface, CAIRO_PDF_VERSION_1_4);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_pdf_surface_set_size (cairo_surface_t *surface)
-{
-    cairo_pdf_surface_set_size (surface, 5, 5);
-    return CAIRO_TEST_SUCCESS;
-}
-
-#endif /* CAIRO_HAS_PDF_SURFACE */
-
-#if CAIRO_HAS_PS_SURFACE
-
-static cairo_test_status_t
-test_cairo_ps_surface_restrict_to_level (cairo_surface_t *surface)
-{
-    cairo_ps_surface_restrict_to_level (surface, CAIRO_PS_LEVEL_2);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_ps_surface_set_eps (cairo_surface_t *surface)
-{
-    cairo_ps_surface_set_eps (surface, TRUE);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_ps_surface_get_eps (cairo_surface_t *surface)
-{
-    cairo_bool_t eps = cairo_ps_surface_get_eps (surface);
-    return eps ? CAIRO_TEST_ERROR : CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_ps_surface_set_size (cairo_surface_t *surface)
-{
-    cairo_ps_surface_set_size (surface, 5, 5);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_ps_surface_dsc_comment (cairo_surface_t *surface)
-{
-    cairo_ps_surface_dsc_comment (surface, "54, 74, 90, 2010");
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_ps_surface_dsc_begin_setup (cairo_surface_t *surface)
-{
-    cairo_ps_surface_dsc_begin_setup (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_ps_surface_dsc_begin_page_setup (cairo_surface_t *surface)
-{
-    cairo_ps_surface_dsc_begin_page_setup (surface);
-    return CAIRO_TEST_SUCCESS;
-}
-
-#endif /* CAIRO_HAS_PS_SURFACE */
-
-#if CAIRO_HAS_QUARTZ_SURFACE
-
-static cairo_test_status_t
-test_cairo_quartz_surface_get_cg_context (cairo_surface_t *surface)
-{
-    CGContextRef context = cairo_quartz_surface_get_cg_context (surface);
-    return context == NULL || surface_has_type (surface, CAIRO_SURFACE_TYPE_QUARTZ) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-#endif /* CAIRO_HAS_QUARTZ_SURFACE */
-
-#if CAIRO_HAS_SVG_SURFACE
-
-static cairo_test_status_t
-test_cairo_svg_surface_restrict_to_version (cairo_surface_t *surface)
-{
-    cairo_svg_surface_restrict_to_version (surface, CAIRO_SVG_VERSION_1_1);
-    return CAIRO_TEST_SUCCESS;
-}
-
-#endif /* CAIRO_HAS_SVG_SURFACE */
-
-#if CAIRO_HAS_XCB_SURFACE
-
-static cairo_test_status_t
-test_cairo_xcb_surface_set_size (cairo_surface_t *surface)
-{
-    cairo_xcb_surface_set_size (surface, 5, 5);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_xcb_surface_set_drawable (cairo_surface_t *surface)
-{
-    cairo_xcb_surface_set_drawable (surface, 0, 5, 5);
-    return CAIRO_TEST_SUCCESS;
-}
-
-#endif
-
-#if CAIRO_HAS_XLIB_SURFACE
-
-static cairo_test_status_t
-test_cairo_xlib_surface_set_size (cairo_surface_t *surface)
-{
-    cairo_xlib_surface_set_size (surface, 5, 5);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_xlib_surface_set_drawable (cairo_surface_t *surface)
-{
-    cairo_xlib_surface_set_drawable (surface, 0, 5, 5);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-test_cairo_xlib_surface_get_display (cairo_surface_t *surface)
-{
-    Display *display = cairo_xlib_surface_get_display (surface);
-    return display == NULL || surface_has_type (surface, CAIRO_SURFACE_TYPE_XLIB) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_xlib_surface_get_screen (cairo_surface_t *surface)
-{
-    Screen *screen = cairo_xlib_surface_get_screen (surface);
-    return screen == NULL || surface_has_type (surface, CAIRO_SURFACE_TYPE_XLIB) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_xlib_surface_get_visual (cairo_surface_t *surface)
-{
-    Visual *visual = cairo_xlib_surface_get_visual (surface);
-    return visual == NULL || surface_has_type (surface, CAIRO_SURFACE_TYPE_XLIB) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_xlib_surface_get_drawable (cairo_surface_t *surface)
-{
-    Drawable drawable = cairo_xlib_surface_get_drawable (surface);
-    return drawable == 0 || surface_has_type (surface, CAIRO_SURFACE_TYPE_XLIB) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_xlib_surface_get_depth (cairo_surface_t *surface)
-{
-    int depth = cairo_xlib_surface_get_depth (surface);
-    return depth == 0 || surface_has_type (surface, CAIRO_SURFACE_TYPE_XLIB) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_xlib_surface_get_width (cairo_surface_t *surface)
-{
-    int width = cairo_xlib_surface_get_width (surface);
-    return width == 0 || surface_has_type (surface, CAIRO_SURFACE_TYPE_XLIB) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-static cairo_test_status_t
-test_cairo_xlib_surface_get_height (cairo_surface_t *surface)
-{
-    int height = cairo_xlib_surface_get_height (surface);
-    return height == 0 || surface_has_type (surface, CAIRO_SURFACE_TYPE_XLIB) ? CAIRO_TEST_SUCCESS : CAIRO_TEST_ERROR;
-}
-
-#endif
-
-
-#define TEST(name, surface_type, sets_status) { #name, test_ ## name, surface_type, sets_status }
-
-struct {
-    const char *name;
-    surface_test_func_t func;
-    int surface_type; /* cairo_surface_type_t or -1 */
-    cairo_bool_t modifies_surface;
-} tests[] = {
-    TEST (cairo_surface_create_similar, -1, FALSE),
-    TEST (cairo_surface_create_for_rectangle, -1, FALSE),
-    TEST (cairo_surface_reference, -1, FALSE),
-    TEST (cairo_surface_finish, -1, TRUE),
-    TEST (cairo_surface_get_device, -1, FALSE),
-    TEST (cairo_surface_get_reference_count, -1, FALSE),
-    TEST (cairo_surface_status, -1, FALSE),
-    TEST (cairo_surface_get_type, -1, FALSE),
-    TEST (cairo_surface_get_content, -1, FALSE),
-    TEST (cairo_surface_set_user_data, -1, FALSE),
-    TEST (cairo_surface_set_mime_data, -1, TRUE),
-    TEST (cairo_surface_get_mime_data, -1, FALSE),
-    TEST (cairo_surface_get_font_options, -1, FALSE),
-    TEST (cairo_surface_flush, -1, TRUE),
-    TEST (cairo_surface_mark_dirty, -1, TRUE),
-    TEST (cairo_surface_mark_dirty_rectangle, -1, TRUE),
-    TEST (cairo_surface_set_device_offset, -1, TRUE),
-    TEST (cairo_surface_get_device_offset, -1, FALSE),
-    TEST (cairo_surface_set_fallback_resolution, -1, TRUE),
-    TEST (cairo_surface_get_fallback_resolution, -1, FALSE),
-    TEST (cairo_surface_copy_page, -1, TRUE),
-    TEST (cairo_surface_show_page, -1, TRUE),
-    TEST (cairo_surface_has_show_text_glyphs, -1, FALSE),
-    TEST (cairo_image_surface_get_data, CAIRO_SURFACE_TYPE_IMAGE, FALSE),
-    TEST (cairo_image_surface_get_format, CAIRO_SURFACE_TYPE_IMAGE, FALSE),
-    TEST (cairo_image_surface_get_width, CAIRO_SURFACE_TYPE_IMAGE, FALSE),
-    TEST (cairo_image_surface_get_height, CAIRO_SURFACE_TYPE_IMAGE, FALSE),
-    TEST (cairo_image_surface_get_stride, CAIRO_SURFACE_TYPE_IMAGE, FALSE),
-#if CAIRO_HAS_PNG_FUNCTIONS
-    TEST (cairo_surface_write_to_png, -1, FALSE),
-    TEST (cairo_surface_write_to_png_stream, -1, FALSE),
-#endif
-    TEST (cairo_recording_surface_ink_extents, CAIRO_SURFACE_TYPE_RECORDING, FALSE),
-#if CAIRO_HAS_TEE_SURFACE
-    TEST (cairo_tee_surface_add, CAIRO_SURFACE_TYPE_TEE, TRUE),
-    TEST (cairo_tee_surface_remove, CAIRO_SURFACE_TYPE_TEE, TRUE),
-    TEST (cairo_tee_surface_index, CAIRO_SURFACE_TYPE_TEE, FALSE),
-#endif
-#if CAIRO_HAS_GL_SURFACE
-    TEST (cairo_gl_surface_set_size, CAIRO_SURFACE_TYPE_GL, TRUE),
-    TEST (cairo_gl_surface_get_width, CAIRO_SURFACE_TYPE_GL, FALSE),
-    TEST (cairo_gl_surface_get_height, CAIRO_SURFACE_TYPE_GL, FALSE),
-    TEST (cairo_gl_surface_swapbuffers, CAIRO_SURFACE_TYPE_GL, TRUE),
-#endif
-#if CAIRO_HAS_PDF_SURFACE
-    TEST (cairo_pdf_surface_restrict_to_version, CAIRO_SURFACE_TYPE_PDF, TRUE),
-    TEST (cairo_pdf_surface_set_size, CAIRO_SURFACE_TYPE_PDF, TRUE),
-#endif
-#if CAIRO_HAS_PS_SURFACE
-    TEST (cairo_ps_surface_restrict_to_level, CAIRO_SURFACE_TYPE_PS, TRUE),
-    TEST (cairo_ps_surface_set_eps, CAIRO_SURFACE_TYPE_PS, TRUE),
-    TEST (cairo_ps_surface_get_eps, CAIRO_SURFACE_TYPE_PS, FALSE),
-    TEST (cairo_ps_surface_set_size, CAIRO_SURFACE_TYPE_PS, TRUE),
-    TEST (cairo_ps_surface_dsc_comment, CAIRO_SURFACE_TYPE_PS, TRUE),
-    TEST (cairo_ps_surface_dsc_begin_setup, CAIRO_SURFACE_TYPE_PS, TRUE),
-    TEST (cairo_ps_surface_dsc_begin_page_setup, CAIRO_SURFACE_TYPE_PS, TRUE),
-#endif
-#if CAIRO_HAS_QUARTZ_SURFACE
-    TEST (cairo_quartz_surface_get_cg_context, CAIRO_SURFACE_TYPE_QUARTZ, FALSE),
-#endif
-#if CAIRO_HAS_SVG_SURFACE
-    TEST (cairo_svg_surface_restrict_to_version, CAIRO_SURFACE_TYPE_SVG, TRUE),
-#endif
-#if CAIRO_HAS_XCB_SURFACE
-    TEST (cairo_xcb_surface_set_size, CAIRO_SURFACE_TYPE_XCB, TRUE),
-    TEST (cairo_xcb_surface_set_drawable, CAIRO_SURFACE_TYPE_XCB, TRUE),
-#endif
-#if CAIRO_HAS_XLIB_SURFACE
-    TEST (cairo_xlib_surface_set_size, CAIRO_SURFACE_TYPE_XLIB, TRUE),
-    TEST (cairo_xlib_surface_set_drawable, CAIRO_SURFACE_TYPE_XLIB, TRUE),
-    TEST (cairo_xlib_surface_get_display, CAIRO_SURFACE_TYPE_XLIB, FALSE),
-    TEST (cairo_xlib_surface_get_drawable, CAIRO_SURFACE_TYPE_XLIB, FALSE),
-    TEST (cairo_xlib_surface_get_screen, CAIRO_SURFACE_TYPE_XLIB, FALSE),
-    TEST (cairo_xlib_surface_get_visual, CAIRO_SURFACE_TYPE_XLIB, FALSE),
-    TEST (cairo_xlib_surface_get_depth, CAIRO_SURFACE_TYPE_XLIB, FALSE),
-    TEST (cairo_xlib_surface_get_width, CAIRO_SURFACE_TYPE_XLIB, FALSE),
-    TEST (cairo_xlib_surface_get_height, CAIRO_SURFACE_TYPE_XLIB, FALSE),
-#endif
-};
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_surface_t *surface;
-    cairo_test_status_t test_status;
-    cairo_status_t status_before, status_after;
-    unsigned int i;
-
-    /* Test an error surface */
-    for (i = 0; i < ARRAY_LENGTH (tests); i++) {
-        surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, INT_MAX, INT_MAX);
-        status_before = cairo_surface_status (surface);
-        assert (status_before);
-
-        test_status = tests[i].func (surface);
-
-        status_after = cairo_surface_status (surface);
-        cairo_surface_destroy (surface);
-
-        if (test_status != CAIRO_TEST_SUCCESS) {
-            cairo_test_log (ctx,
-                            "Failed test %s with %d\n",
-                            tests[i].name, (int) test_status);
-            return test_status;
-        }
-
-        if (status_before != status_after) {
-            cairo_test_log (ctx,
-                            "Failed test %s: Modified surface status from %u (%s) to %u (%s)\n",
-                            tests[i].name,
-                            status_before, cairo_status_to_string (status_before),
-                            status_after, cairo_status_to_string (status_after));
-            return CAIRO_TEST_ERROR;
-        }
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *similar, *target;
-    cairo_test_status_t test_status;
-    cairo_status_t status;
-    unsigned int i;
-
-    target = cairo_get_target (cr);
-
-    /* Test a finished similar surface */
-    for (i = 0; i < ARRAY_LENGTH (tests); i++) {
-        similar = cairo_surface_create_similar (target,
-                                                cairo_surface_get_content (target),
-                                                10, 10);
-        cairo_surface_finish (similar);
-        test_status = tests[i].func (similar);
-        status = cairo_surface_status (similar);
-        cairo_surface_destroy (similar);
-
-        if (test_status != CAIRO_TEST_SUCCESS) {
-            cairo_test_log (ctx,
-                            "Failed test %s with %d\n",
-                            tests[i].name, (int) test_status);
-            return test_status;
-        }
-
-        if (tests[i].modifies_surface &&
-            strcmp (tests[i].name, "cairo_surface_finish") &&
-            strcmp (tests[i].name, "cairo_surface_flush") &&
-            status != CAIRO_STATUS_SURFACE_FINISHED) {
-            cairo_test_log (ctx,
-                            "Failed test %s: Finished surface not set into error state\n",
-                            tests[i].name);
-            return CAIRO_TEST_ERROR;
-        }
-    }
-
-    /* Test a normal surface for functions that have the wrong type */
-    for (i = 0; i < ARRAY_LENGTH (tests); i++) {
-        cairo_status_t desired_status;
-
-        if (tests[i].surface_type == -1)
-            continue;
-        similar = cairo_surface_create_similar (target,
-                                                cairo_surface_get_content (target),
-                                                10, 10);
-        if (cairo_surface_get_type (similar) == (cairo_surface_type_t) tests[i].surface_type) {
-            cairo_surface_destroy (similar);
-            continue;
-        }
-
-        test_status = tests[i].func (similar);
-        status = cairo_surface_status (similar);
-        cairo_surface_destroy (similar);
-
-        if (test_status != CAIRO_TEST_SUCCESS) {
-            cairo_test_log (ctx,
-                            "Failed test %s with %d\n",
-                            tests[i].name, (int) test_status);
-            return test_status;
-        }
-
-        desired_status = tests[i].modifies_surface ? CAIRO_STATUS_SURFACE_TYPE_MISMATCH : CAIRO_STATUS_SUCCESS;
-        if (status != desired_status) {
-            cairo_test_log (ctx,
-                            "Failed test %s: Surface status should be %u (%s), but is %u (%s)\n",
-                            tests[i].name,
-                            desired_status, cairo_status_to_string (desired_status),
-                            status, cairo_status_to_string (status));
-            return CAIRO_TEST_ERROR;
-        }
-    }
-
-    /* 565-compatible gray background */
-    cairo_set_source_rgb (cr, 0.51613, 0.55555, 0.51613);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (api_special_cases,
-           "Check surface functions properly handle wrong surface arguments",
-           "api", /* keywords */
-           NULL, /* requirements */
-           10, 10,
-           preamble, draw)
diff --git a/test/arc-direction.c b/test/arc-direction.c
deleted file mode 100644 (file)
index fddb528..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright © 2012 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE           (2 * 20)
-#define PAD            (2)
-
-static cairo_test_status_t
-draw_arcs (cairo_t *cr)
-{
-    double start = M_PI/12, stop = 2*start;
-
-    cairo_move_to (cr, SIZE/2, SIZE/2);
-    cairo_arc (cr, SIZE/2, SIZE/2, SIZE/2, start, stop);
-    cairo_fill (cr);
-
-    cairo_translate (cr, SIZE+PAD, 0);
-    cairo_move_to (cr, SIZE/2, SIZE/2);
-    cairo_arc (cr, SIZE/2, SIZE/2, SIZE/2, 2*M_PI-stop, 2*M_PI-start);
-    cairo_fill (cr);
-
-    cairo_translate (cr, 0, SIZE+PAD);
-    cairo_move_to (cr, SIZE/2, SIZE/2);
-    cairo_arc_negative (cr, SIZE/2, SIZE/2, SIZE/2, 2*M_PI-stop, 2*M_PI-start);
-    cairo_fill (cr);
-
-    cairo_translate (cr, -SIZE-PAD, 0);
-    cairo_move_to (cr, SIZE/2, SIZE/2);
-    cairo_arc_negative (cr, SIZE/2, SIZE/2, SIZE/2, start, stop);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_translate (cr, PAD, PAD);
-    draw_arcs(cr);
-    cairo_restore (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_translate (cr, 2*SIZE+3*PAD, 0);
-    cairo_save (cr);
-    cairo_translate (cr, 2*SIZE+2*PAD, PAD);
-    cairo_scale (cr, -1, 1);
-    draw_arcs(cr);
-    cairo_restore (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 1);
-    cairo_translate (cr, 0, 2*SIZE+3*PAD);
-    cairo_save (cr);
-    cairo_translate (cr, 2*SIZE+2*PAD, 2*SIZE+2*PAD);
-    cairo_scale (cr, -1, -1);
-    draw_arcs(cr);
-    cairo_restore (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_translate (cr, -(2*SIZE+3*PAD), 0);
-    cairo_save (cr);
-    cairo_translate (cr, PAD, 2*SIZE+2*PAD);
-    cairo_scale (cr, 1, -1);
-    draw_arcs(cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (arc_direction,
-           "Test drawing positive/negative arcs",
-           "arc fill", /* keywords */
-           NULL, /* requirements */
-           2*(3*PAD + 2*SIZE), 2*(3*PAD + 2*SIZE),
-           NULL, draw)
-
diff --git a/test/arc-infinite-loop.c b/test/arc-infinite-loop.c
deleted file mode 100644 (file)
index 8b469ea..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2010 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-#include <float.h>
-
-#define SIZE 8
-
-/*
-  cairo_arc can hang in an infinite loop if given huge (so big that
-  adding/subtracting 4*M_PI to them doesn't change the value because
-  of floating point rounding).
-
-  The purpose of this test is to check that cairo doesn't hang or crash.
-*/
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* Check if the code that guarantees start <= end hangs */
-    cairo_arc (cr, 0, 0, 1, 1024 / DBL_EPSILON * M_PI, 0);
-
-    /* Check if the code that handles huge angles hangs */
-    cairo_arc (cr, 0, 0, 1, 0, 1024 / DBL_EPSILON * M_PI);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (arc_infinite_loop,
-           "Test cairo_arc with huge angles",
-           "arc", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/arc-looping-dash.c b/test/arc-looping-dash.c
deleted file mode 100644 (file)
index ff5556a..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2010 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 32
-
-/*
-  When cairo_arc is used to draw an arc of more than 2pi radians
-  (i.e. a circle "looping over itself"), various different behaviors
-  are possible:
-
-  - draw exactly a circle (an arc of 2pi radians)
-
-  - draw an arc such that the current point is the expected one and
-    that does at least a complete circle (an arc of [2pi, 4pi)
-    radians)
-
-  - draw an arc with the original number of loops
-
-  This test produces different results for each of these three cases.
-*/
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double dashes[] = { 0.3, 7 };
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_save (cr);
-
-    cairo_translate (cr, SIZE * .5, SIZE * .5);
-    cairo_scale (cr, SIZE * 3 / 8., SIZE * 3 / 8.);
-
-    cairo_arc (cr, 0, 0, 1, 0, 11 * M_PI);
-
-    cairo_set_line_width (cr, 8. / SIZE);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_set_dash (cr, dashes, 2, 0);
-    cairo_stroke (cr);
-
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (arc_looping_dash,
-           "Test cairo_arc for angles describing more than a complete circle",
-           "arc", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/big-empty-box.c b/test/big-empty-box.c
deleted file mode 100644 (file)
index 4ea91a1..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/*
- * The mystery of the disappearing box, similar to big-little-box.
- *
- * The issue is that we failed to tighten the initial approximated bounds
- * after tessellating the path.
- */
-
-#include "cairo-test.h"
-
-#define SIZE 60
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 0, 1);
-    cairo_paint (cr);
-
-    /* Set an unbounded operator so that we can see how accurate the bounded
-     * extents were.
-     */
-    cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-    cairo_set_source_rgb (cr, 1, 1, 1);
-
-    /* Wind several boxes together that reduce to nothing */
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (big_empty_box,
-           "Tests that we tighten the bounds after tessellation.",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/big-empty-triangle.c b/test/big-empty-triangle.c
deleted file mode 100644 (file)
index 4c02c87..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/*
- * A variation on
- *
- * https://bugzilla.mozilla.org/show_bug.cgi?id=668921
- *
- * The issue is that we failed to tighten the initial approximated bounds
- * after tessellating the path.
- */
-
-#include "cairo-test.h"
-
-#define SIZE 60
-
-static void
-triangle (cairo_t *cr, double x, double y, double h)
-{
-    cairo_move_to (cr, x, y);
-    cairo_line_to (cr, x+h/2, y+h);
-    cairo_line_to (cr, x+h, y);
-    cairo_close_path (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 0, 1);
-    cairo_paint (cr);
-
-    /* Set an unbounded operator so that we can see how accurate the bounded
-     * extents were.
-     */
-    cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-    cairo_set_source_rgb (cr, 1, 1, 1);
-
-    /* Wind several triangles together that reduce to nothing */
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    triangle (cr, 0, 0, SIZE);
-    triangle (cr, 0, 0, SIZE);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (big_empty_triangle,
-           "Tests that we tighten the bounds after tessellation.",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/big-line.c b/test/big-line.c
deleted file mode 100644 (file)
index 6260fba..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright © 2008 Novell, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Novell, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Novell, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Larry Ewing <lewing@novell.com>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1, 1, 0);
-    cairo_move_to (cr, 50, 50);
-    cairo_rel_line_to (cr, 50000, 50000);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_move_to (cr, 50, 50);
-    cairo_rel_line_to (cr, -50000, 50000);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_move_to (cr, 50, 50);
-    cairo_rel_line_to (cr, 50000, -50000);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_move_to (cr, 50, 50);
-    cairo_rel_line_to (cr, -50000, -50000);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (big_line,
-           "Test drawing of simple lines with positive and negative coordinates > 2^16",
-           "stroke, line", /* keywords */
-           NULL, /* requirements */
-           100, 100,
-           NULL, draw)
diff --git a/test/big-little-box.c b/test/big-little-box.c
deleted file mode 100644 (file)
index 1787ee5..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/*
- * This attempts to exercise the bug found in
- *
- * https://bugzilla.mozilla.org/show_bug.cgi?id=668921
- *
- * and also identified by Taekyun Kim.
- *
- * The issue is that we failed to tighten the initial approximated bounds
- * after tessellating the path.
- */
-
-#include "cairo-test.h"
-
-#define SIZE 60
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 0, 1);
-    cairo_paint (cr);
-
-    /* Set an unbounded operator so that we can see how accurate the bounded
-     * extents were.
-     */
-    cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-    cairo_set_source_rgb (cr, 1, 1, 1);
-
-    /* Wind several boxes together that reduce to just one */
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_rectangle (cr, SIZE/2 - 20, SIZE/2 - 20, 40, 40);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (big_little_box,
-           "Tests that we tighten the bounds after tessellation.",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/big-little-triangle.c b/test/big-little-triangle.c
deleted file mode 100644 (file)
index 27eb232..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/*
- * A variation on
- *
- * https://bugzilla.mozilla.org/show_bug.cgi?id=668921
- *
- * The issue is that we failed to tighten the initial approximated bounds
- * after tessellating the path.
- */
-
-#include "cairo-test.h"
-
-#define SIZE 60
-
-static void
-triangle (cairo_t *cr, double x, double y, double h)
-{
-    cairo_move_to (cr, x, y);
-    cairo_line_to (cr, x+h/2, y+h);
-    cairo_line_to (cr, x+h, y);
-    cairo_close_path (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 0, 1);
-    cairo_paint (cr);
-
-    /* Set an unbounded operator so that we can see how accurate the bounded
-     * extents were.
-     */
-    cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-    cairo_set_source_rgb (cr, 1, 1, 1);
-
-    /* Wind several triangles together that reduce to just one */
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    triangle (cr, 0, 0, SIZE);
-    triangle (cr, 0, 0, SIZE);
-    triangle (cr, SIZE/2-20, SIZE/2 - 20, 40);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (big_little_triangle,
-           "Tests that we tighten the bounds after tessellation.",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/big-trap.c b/test/big-trap.c
deleted file mode 100644 (file)
index 507e0e5..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright © 2006 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include "cairo-test.h"
-
-/* This test was originally written to exercise a bug in pixman in
- * which it would scribble all over memory when given a particular
- * (and bogus) trapezoid. However, a recent change to
- * _cairo_fixed_from_double changed the details of the bogus trapezoid
- * (it overflows in a different way now), so the bug is being masked.
- *
- * According to Vladimir, (http://lists.freedesktop.org/archives/cairo/2006-November/008482.html):
- *
- *     Before the change, the two trapezoids that were generated were:
- *
- *     Trap[0]: T: 0x80000000 B: 0x80000003
- *        L: [(0x000a0000, 0x80000000) (0x00080000, 0x00080000)]
- *        R: [(0x01360000, 0x80000000) (0x01380000, 0x00080000)]
- *     Trap[1]: T: 0x80000003 B: 0x00080000
- *        L: [(0x000a0000, 0x80000000) (0x00080000, 0x00080000)]
- *        R: [(0x01360000, 0x80000000) (0x01380000, 0x00080000)]
- *
- *     After the change, the L/R coordinates are identical for both traps, but
- *     the top and bottom change:
- *
- *     Trap[0]: t: 0x80000000 b: 0xfda80003
- *        l: [(0x000a0000, 0x80000000) (0x00080000, 0x00080000)]
- *        r: [(0x01360000, 0x80000000) (0x01380000, 0x00080000)]
- *     Trap[1]: t: 0xfda80003 b: 0x00080000
- *        l: [(0x000a0000, 0x80000000) (0x00080000, 0x00080000)]
- *        r: [(0x01360000, 0x80000000) (0x01380000, 0x00080000)]
- *
- * I think the fix we want here is to rewrite this test to call
- * directly into pixman with the trapezoid of interest, (which will
- * require adding a new way to configure cairo for "testing" which
- * will prevent the hiding of internal library symbols.
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0,0,0);
-
-    /* Note that without the clip, this doesn't crash... */
-    cairo_new_path (cr);
-    cairo_rectangle (cr, 0, 0, width, height);
-    cairo_clip (cr);
-
-    cairo_new_path (cr);
-    cairo_line_to (cr, 8.0, 8.0);
-    cairo_line_to (cr, 312.0, 8.0);
-    cairo_line_to (cr, 310.0, 31378756.2666666666);
-    cairo_line_to (cr, 10.0, 31378756.2666666666);
-    cairo_line_to (cr, 8.0, 8.0);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (big_trap,
-           "Test oversize trapezoid with a clip region"
-           "\nTest needs to be adjusted to trigger the original bug",
-           "trap", /* keywords */
-           NULL, /* requirements */
-           100, 100,
-           NULL, draw)
diff --git a/test/bilevel-image.c b/test/bilevel-image.c
deleted file mode 100644 (file)
index 4feff0e..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define RGBx 0xffff0000, 0xff00ff00, 0xff0000ff, 0x00000000
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    uint32_t data[] = {
-       RGBx, RGBx, RGBx,
-       RGBx, RGBx, RGBx,
-       RGBx, RGBx, RGBx,
-       RGBx, RGBx, RGBx,
-    };
-    cairo_surface_t *mask;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    mask = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                               CAIRO_FORMAT_ARGB32, 12, 4, 48);
-
-    cairo_set_source_surface (cr, mask, 0, 0);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-
-    cairo_paint (cr);
-
-    cairo_surface_finish (mask); /* data goes out of scope */
-    cairo_surface_destroy (mask);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (bilevel_image,
-           "Test that PS can embed an RGB image with a bilevel alpha channel.",
-           "alpha, ps", /* keywords */
-           NULL, /* requirements */
-           12, 4,
-           NULL, draw)
diff --git a/test/bitmap-font.c b/test/bitmap-font.c
deleted file mode 100644 (file)
index 62e51ea..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include <cairo-ft.h>
-#include <fontconfig/fontconfig.h>
-#include <fontconfig/fcfreetype.h>
-
-#define FONT "6x13.pcf"
-#define TEXT_SIZE 13
-
-static cairo_bool_t
-font_extents_equal (const cairo_font_extents_t *A,
-                   const cairo_font_extents_t *B)
-{
-    return
-       CAIRO_TEST_DOUBLE_EQUALS (A->ascent,  B->ascent)  &&
-       CAIRO_TEST_DOUBLE_EQUALS (A->descent, B->descent) &&
-       CAIRO_TEST_DOUBLE_EQUALS (A->height,  B->height)  &&
-       CAIRO_TEST_DOUBLE_EQUALS (A->max_x_advance, B->max_x_advance) &&
-       CAIRO_TEST_DOUBLE_EQUALS (A->max_y_advance, B->max_y_advance);
-}
-
-static cairo_test_status_t
-check_font_extents (const cairo_test_context_t *ctx, cairo_t *cr, const char *comment)
-{
-    cairo_font_extents_t font_extents, ref_font_extents = {11, 2, 13, 6, 0};
-    cairo_status_t status;
-
-    memset (&font_extents, 0xff, sizeof (cairo_font_extents_t));
-    cairo_font_extents (cr, &font_extents);
-
-    status = cairo_status (cr);
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    if (! font_extents_equal (&font_extents, &ref_font_extents)) {
-       cairo_test_log (ctx, "Error: %s: cairo_font_extents(); extents (%g, %g, %g, %g, %g)\n",
-                       comment,
-                       font_extents.ascent, font_extents.descent,
-                       font_extents.height,
-                       font_extents.max_x_advance, font_extents.max_y_advance);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    FcPattern *pattern;
-    cairo_font_face_t *font_face;
-    cairo_font_extents_t font_extents;
-    cairo_font_options_t *font_options;
-    cairo_status_t status;
-    char *filename;
-    int face_count;
-    struct stat stat_buf;
-
-    xasprintf (&filename, "%s/%s", ctx->srcdir, FONT);
-
-    if (stat (filename, &stat_buf) || ! S_ISREG (stat_buf.st_mode)) {
-       cairo_test_log (ctx, "Error finding font: %s: file not found?\n", filename);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    pattern = FcFreeTypeQuery ((unsigned char *)filename, 0, NULL, &face_count);
-    free (filename);
-    if (! pattern) {
-       cairo_test_log (ctx, "FcFreeTypeQuery failed.\n");
-       return cairo_test_status_from_status (ctx, CAIRO_STATUS_NO_MEMORY);
-    }
-
-    font_face = cairo_ft_font_face_create_for_pattern (pattern);
-    FcPatternDestroy (pattern);
-
-    status = cairo_font_face_status (font_face);
-    if (status) {
-       cairo_test_log (ctx, "Error creating font face for %s: %s\n",
-                       filename,
-                       cairo_status_to_string (status));
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    if (cairo_font_face_get_type (font_face) != CAIRO_FONT_TYPE_FT) {
-       cairo_test_log (ctx, "Unexpected value from cairo_font_face_get_type: %d (expected %d)\n",
-                       cairo_font_face_get_type (font_face), CAIRO_FONT_TYPE_FT);
-       cairo_font_face_destroy (font_face);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    cairo_set_font_face (cr, font_face);
-    cairo_font_face_destroy (font_face);
-
-    font_options = cairo_font_options_create ();
-
-#define CHECK_FONT_EXTENTS(comment) do {\
-    cairo_test_status_t test_status; \
-    test_status = check_font_extents (ctx, cr, (comment)); \
-    if (test_status != CAIRO_TEST_SUCCESS) { \
-       cairo_font_options_destroy (font_options); \
-       return test_status; \
-    } \
-} while (0)
-
-    cairo_font_extents (cr, &font_extents);
-    CHECK_FONT_EXTENTS ("default");
-
-    cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_ON);
-    cairo_set_font_options (cr, font_options);
-
-    CHECK_FONT_EXTENTS ("HINT_METRICS_ON");
-
-    cairo_move_to (cr, 1, font_extents.ascent - 1);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); /* blue */
-
-    cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE);
-    cairo_set_font_options (cr, font_options);
-    CHECK_FONT_EXTENTS ("HINT_METRICS_ON HINT_STYLE_NONE");
-    cairo_show_text (cr, "the ");
-
-    cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_SLIGHT);
-    cairo_set_font_options (cr, font_options);
-    CHECK_FONT_EXTENTS ("HINT_METRICS_ON HINT_STYLE_SLIGHT");
-    cairo_show_text (cr, "quick ");
-
-    cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_MEDIUM);
-    cairo_set_font_options (cr, font_options);
-    CHECK_FONT_EXTENTS ("HINT_METRICS_ON HINT_STYLE_MEDIUM");
-    cairo_show_text (cr, "brown");
-
-    cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_FULL);
-    cairo_set_font_options (cr, font_options);
-    CHECK_FONT_EXTENTS ("HINT_METRICS_ON HINT_STYLE_FULL");
-    cairo_show_text (cr, " fox");
-
-    /* Switch from show_text to text_path/fill to exercise bug #7889 */
-    cairo_text_path (cr, " jumps over a lazy dog");
-    cairo_fill (cr);
-
-    /* And test it rotated as well for the sake of bug #7888 */
-
-    cairo_translate (cr, width, height);
-    cairo_rotate (cr, M_PI);
-
-    cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_DEFAULT);
-    cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_OFF);
-    cairo_set_font_options (cr, font_options);
-    CHECK_FONT_EXTENTS ("HINT_METRICS_OFF");
-
-    cairo_move_to (cr, 1, font_extents.height - font_extents.descent - 1);
-
-    cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE);
-    cairo_set_font_options (cr, font_options);
-    CHECK_FONT_EXTENTS ("HINT_METRICS_OFF HINT_STYLE_NONE");
-    cairo_show_text (cr, "the ");
-
-    cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_SLIGHT);
-    cairo_set_font_options (cr, font_options);
-    CHECK_FONT_EXTENTS ("HINT_METRICS_OFF HINT_STYLE_SLIGHT");
-    cairo_show_text (cr, "quick");
-
-    cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_MEDIUM);
-    cairo_set_font_options (cr, font_options);
-    CHECK_FONT_EXTENTS ("HINT_METRICS_OFF HINT_STYLE_MEDIUM");
-    cairo_show_text (cr, " brown");
-
-    cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_FULL);
-    cairo_set_font_options (cr, font_options);
-    CHECK_FONT_EXTENTS ("HINT_METRICS_OFF HINT_STYLE_FULL");
-    cairo_show_text (cr, " fox");
-
-    cairo_text_path (cr, " jumps over");
-    cairo_text_path (cr, " a lazy dog");
-    cairo_fill (cr);
-
-    cairo_font_options_destroy (font_options);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (bitmap_font,
-           "Test drawing with a font consisting only of bitmaps"
-           "\nThe PDF and PS backends embed a slightly distorted font for the rotated case.",
-           "text", /* keywords */
-           "ft", /* requirements */
-           246 + 1, 2 * TEXT_SIZE,
-           NULL, draw)
diff --git a/test/buffer-diff.c b/test/buffer-diff.c
deleted file mode 100644 (file)
index f3d90ca..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-/* imagediff - Compare two images
- *
- * Copyright © 2004 Richard D. Worth
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of Richard Worth
- * not be used in advertising or publicity pertaining to distribution
- * of the software without specific, written prior permission.
- * Richard Worth makes no representations about the suitability of this
- * software for any purpose.  It is provided "as is" without express
- * or implied warranty.
- *
- * RICHARD WORTH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
- * NO EVENT SHALL RICHARD WORTH BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
- * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Richard D. Worth <richard@theworths.org> */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <errno.h>
-#include <string.h>
-#include <pixman.h>
-
-#include "cairo-test.h"
-
-#include "pdiff.h"
-#include "buffer-diff.h"
-
-/* Don't allow any differences greater than this value, even if pdiff
- * claims that the images are identical */
-#define PERCEPTUAL_DIFF_THRESHOLD 256
-
-/* Compare two buffers, returning the number of pixels that are
- * different and the maximum difference of any single color channel in
- * result_ret.
- *
- * This function should be rewritten to compare all formats supported by
- * cairo_format_t instead of taking a mask as a parameter.
- */
-static void
-buffer_diff_core (const unsigned char *_buf_a, int stride_a,
-                 const unsigned char *_buf_b, int stride_b,
-                 unsigned char *_buf_diff, int stride_diff,
-                 int           width,
-                 int           height,
-                 uint32_t mask,
-                 buffer_diff_result_t *result_ret)
-{
-    const uint32_t *buf_a = (const uint32_t*) _buf_a;
-    const uint32_t *buf_b = (const uint32_t*) _buf_b;
-    uint32_t *buf_diff = (uint32_t*) _buf_diff;
-    int x, y;
-    buffer_diff_result_t result = {0, 0};
-
-    stride_a /= sizeof (uint32_t);
-    stride_b /= sizeof (uint32_t);
-    stride_diff /= sizeof (uint32_t);
-    for (y = 0; y < height; y++) {
-       const uint32_t *row_a = buf_a + y * stride_a;
-       const uint32_t *row_b = buf_b + y * stride_b;
-       uint32_t *row = buf_diff + y * stride_diff;
-
-       for (x = 0; x < width; x++) {
-           /* check if the pixels are the same */
-           if ((row_a[x] & mask) != (row_b[x] & mask)) {
-               int channel;
-               uint32_t diff_pixel = 0;
-
-               /* calculate a difference value for all 4 channels */
-               for (channel = 0; channel < 4; channel++) {
-                   int value_a = (row_a[x] >> (channel*8)) & 0xff;
-                   int value_b = (row_b[x] >> (channel*8)) & 0xff;
-                   unsigned int diff;
-                   diff = abs (value_a - value_b);
-                   if (diff > result.max_diff)
-                       result.max_diff = diff;
-                   diff *= 4;  /* emphasize */
-                   if (diff)
-                       diff += 128; /* make sure it's visible */
-                   if (diff > 255)
-                       diff = 255;
-                   diff_pixel |= diff << (channel*8);
-               }
-
-               result.pixels_changed++;
-               if ((diff_pixel & 0x00ffffff) == 0) {
-                   /* alpha only difference, convert to luminance */
-                   uint8_t alpha = diff_pixel >> 24;
-                   diff_pixel = alpha * 0x010101;
-               }
-               row[x] = diff_pixel;
-           } else {
-               row[x] = 0;
-           }
-           row[x] |= 0xff000000; /* Set ALPHA to 100% (opaque) */
-       }
-    }
-
-    *result_ret = result;
-}
-
-/* Compares two image surfaces
- *
- * Provides number of pixels changed and maximum single-channel
- * difference in result.
- *
- * Also fills in a "diff" surface intended to visually show where the
- * images differ.
- */
-static void
-compare_surfaces (const cairo_test_context_t  *ctx,
-                 cairo_surface_t       *surface_a,
-                 cairo_surface_t       *surface_b,
-                 cairo_surface_t       *surface_diff,
-                 buffer_diff_result_t  *result)
-{
-    /* These default values were taken straight from the
-     * perceptualdiff program. We'll probably want to tune these as
-     * necessary. */
-    double gamma = 2.2;
-    double luminance = 100.0;
-    double field_of_view = 45.0;
-    float pixels_changed_percentage = 0.05;
-    int discernible_pixels_changed;
-    int pixels_tolerance;
-    int width, height;
-
-    /* First, we run cairo's old buffer_diff algorithm which looks for
-     * pixel-perfect images, (we do this first since the test suite
-     * runs about 3x slower if we run pdiff_compare first).
-     */
-    buffer_diff_core (cairo_image_surface_get_data (surface_a),
-                     cairo_image_surface_get_stride (surface_a),
-                     cairo_image_surface_get_data (surface_b),
-                     cairo_image_surface_get_stride (surface_b),
-                     cairo_image_surface_get_data (surface_diff),
-                     cairo_image_surface_get_stride (surface_diff),
-                     cairo_image_surface_get_width (surface_a),
-                     cairo_image_surface_get_height (surface_a),
-                     cairo_surface_get_content (surface_a) & CAIRO_CONTENT_ALPHA ?  0xffffffff : 0x00ffffff,
-                     result);
-    if (result->pixels_changed == 0)
-       return;
-
-    cairo_test_log (ctx,
-                   "%d pixels differ (with maximum difference of %d) from reference image\n",
-                   result->pixels_changed, result->max_diff);
-
-    /* Then, if there are any different pixels, we give the pdiff code
-     * a crack at the images. If it decides that there are no visually
-     * discernible differences in any pixels, then we accept this
-     * result as good enough.
-     *
-     * Only let pdiff have a crack at the comparison if the max difference
-     * is lower than a threshold, otherwise some problems could be masked.
-     */
-    if (result->max_diff < PERCEPTUAL_DIFF_THRESHOLD) {
-       width = cairo_image_surface_get_width (surface_a);
-       height = cairo_image_surface_get_height (surface_a);
-       pixels_tolerance = width * height * pixels_changed_percentage;
-        discernible_pixels_changed = pdiff_compare (surface_a, surface_b,
-                                                    gamma, luminance, field_of_view);
-        if (discernible_pixels_changed <= pixels_tolerance) {
-            result->pixels_changed = 0;
-            cairo_test_log (ctx,
-                           "But perceptual diff finds no visually discernible difference.\n"
-                            "Accepting result.\n");
-        }
-    }
-}
-
-void
-buffer_diff_noalpha (const unsigned char *buf_a,
-                    const unsigned char *buf_b,
-                    unsigned char *buf_diff,
-                    int           width,
-                    int           height,
-                    int           stride,
-                    buffer_diff_result_t *result)
-{
-    buffer_diff_core(buf_a, stride,
-                    buf_b, stride,
-                    buf_diff, stride,
-                    width, height,
-                    0x00ffffff,
-                    result);
-}
-
-static cairo_bool_t
-same_size (cairo_surface_t *a, cairo_surface_t *b)
-{
-    unsigned int width_a, height_a;
-    unsigned int width_b, height_b;
-
-    width_a = cairo_image_surface_get_width (a);
-    height_a = cairo_image_surface_get_height (a);
-
-    width_b = cairo_image_surface_get_width (b);
-    height_b = cairo_image_surface_get_height (b);
-
-    return width_a == width_b && height_a == height_b;
-}
-
-/* Image comparison code courtesy of Richard Worth <richard@theworths.org>
- * Returns number of pixels changed, (or -1 on error).
- * Also saves a "diff" image intended to visually show where the
- * images differ.
- *
- * The return value simply indicates whether a check was successfully
- * made, (as opposed to a file-not-found condition or similar). It
- * does not indicate anything about how much the images differ. For
- * that, see result.
- *
- * One failure mode is if the two images provided do not have the same
- * dimensions. In this case, this function will return
- * CAIRO_STATUS_SURFACE_TYPE_MISMATCH (which is a bit of an abuse, but
- * oh well).
- */
-cairo_status_t
-image_diff (const cairo_test_context_t *ctx,
-           cairo_surface_t *surface_a,
-           cairo_surface_t *surface_b,
-           cairo_surface_t *surface_diff,
-           buffer_diff_result_t *result)
-{
-    if (cairo_surface_status (surface_a))
-       return cairo_surface_status (surface_a);
-
-    if (cairo_surface_status (surface_b))
-       return cairo_surface_status (surface_b);
-
-    if (cairo_surface_status (surface_diff))
-       return cairo_surface_status (surface_diff);
-
-    if (! same_size (surface_a, surface_b) ||
-       ! same_size (surface_a, surface_diff))
-    {
-       cairo_test_log (ctx, "Error: Image size mismatch\n");
-       return CAIRO_STATUS_SURFACE_TYPE_MISMATCH;
-    }
-
-    compare_surfaces (ctx, surface_a, surface_b, surface_diff, result);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-cairo_bool_t
-image_diff_is_failure (const buffer_diff_result_t *result,
-                       unsigned int                tolerance)
-{
-  return result->pixels_changed &&
-         result->max_diff > tolerance;
-}
diff --git a/test/buffer-diff.h b/test/buffer-diff.h
deleted file mode 100644 (file)
index 2cbb895..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/* imagediff - Compare two images
- *
- * Copyright © 2004 Richard D. Worth
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the authors
- * not be used in advertising or publicity pertaining to distribution
- * of the software without specific, written prior permission.
- * The authors make no representations about the suitability of this
- * software for any purpose.  It is provided "as is" without express
- * or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
- * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
- * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Richard D. Worth <richard@theworths.org>
- *         Carl Worth <cworth@cworth.org>
- */
-
-#ifndef BUFFER_DIFF_H
-#define BUFFER_DIFF_H
-
-#include "cairo-test.h"
-
-typedef struct _buffer_diff_result {
-    unsigned int pixels_changed;
-    unsigned int max_diff;
-} buffer_diff_result_t;
-
-/* Compares two image buffers ignoring the alpha channel.
- *
- * Provides number of pixels changed and maximum single-channel
- * difference in result.
- *
- * Also fills in a "diff" buffer intended to visually show where the
- * images differ.
- */
-void
-buffer_diff_noalpha (const unsigned char *buf_a,
-                    const unsigned char *buf_b,
-                    unsigned char *buf_diff,
-                    int            width,
-                    int            height,
-                    int            stride,
-                    buffer_diff_result_t *result);
-
-/* The central algorithm to compare two images, and return the differences
- * in the surface_diff.
- *
- * Provides number of pixels changed and maximum single-channel
- * difference in result.
- */
-cairo_status_t
-image_diff (const cairo_test_context_t *ctx,
-           cairo_surface_t *surface_a,
-           cairo_surface_t *surface_b,
-           cairo_surface_t *surface_diff,
-           buffer_diff_result_t *result);
-
-cairo_bool_t
-image_diff_is_failure (const buffer_diff_result_t *result,
-                       unsigned int                tolerance);
-
-#endif
diff --git a/test/bug-40410.c b/test/bug-40410.c
deleted file mode 100644 (file)
index 2d6e512..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright © 2011 Krzysztof Kosiński
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Krzysztof Kosiński <tweenk.pl@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH  300
-#define HEIGHT 100
-
-/*
- * The bug appears to be triggered if:
- * 1. There is more than one subpath
- * 2. All subpaths are axis-aligned rectangles
- * 3. Only one of the subpaths is within surface bounds
- *
- * Tweaking any of the coordinates so that there is at least one
- * non-axis-aligned segment or removing the second subpath (the one that is
- * outside the surface bounds) causes the bug to disappear.
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-
-    cairo_move_to (cr, 10.3, 10.6);
-    cairo_line_to (cr, 10.3, 150.2);
-    cairo_line_to (cr, 290.1, 150.2);
-    cairo_line_to (cr, 290.1, 10.6);
-    cairo_close_path (cr);
-
-    cairo_move_to (cr, 10.3, 180.7);
-    cairo_line_to (cr, 10.3, 230.2);
-    cairo_line_to (cr, 290.1, 230.2);
-    cairo_line_to (cr, 290.1, 180.7);
-    cairo_close_path (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (bug_40410,
-           "Exercises a bug found in 1.10.2 (and never again!)",
-           "fill", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/bug-bo-rectangular.c b/test/bug-bo-rectangular.c
deleted file mode 100644 (file)
index 08e2e49..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2010 Red Hat
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.com>
- */
-
-#include "cairo-test.h"
-
-static void
-rect (cairo_t *cr, int x1, int y1, int x2, int y2)
-{
-    cairo_rectangle (cr, x1, y1, x2 - x1, y2 - y1);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    cairo_scale (cr, 1./256, 1./256);
-
-    rect (cr, 0, 0, 29696, 7680);
-    rect (cr, 0, 0, -15360, 15360);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 1, 0.5, 0);
-    cairo_paint (cr);
-
-    rect (cr, 9984, 0, 2969, 3840);
-    rect (cr, 0, 3840, 9472, 7680);
-    cairo_clip (cr);
-
-    rect (cr, 0, 3840, 3584, 7680);
-    cairo_set_source_rgb (cr, 1, 0, 0.5);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (bug_bo_rectangular,
-           "Tests a bug found by Benjamin Otte in the rectangular tessellator",
-           "tessellator", /* keywords */
-           NULL, /* requirements */
-           300, 300,
-           NULL, draw)
diff --git a/test/bug-bo-ricotz.c b/test/bug-bo-ricotz.c
deleted file mode 100644 (file)
index 9524d20..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* An assertion failure found by Rico Tzschichholz */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_rectangle (cr, 10, 55,165, 1);
-    cairo_rectangle (cr, 174, 55,1, 413);
-    cairo_rectangle (cr, 10, 56, 1, 413);
-    cairo_rectangle (cr, 10, 469, 165, 1);
-    cairo_clip (cr);
-
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    cairo_move_to (cr, 10, 57);
-    cairo_curve_to (cr, 10, 55.894531, 10.894531, 55, 12, 55);
-    cairo_line_to (cr, 173, 55);
-    cairo_curve_to (cr, 174.105469, 55, 175, 55.894531, 175, 57);
-    cairo_line_to (cr, 175, 468);
-    cairo_curve_to (cr, 175, 469.105469, 174.105469, 470, 173, 470);
-    cairo_line_to (cr, 12, 470);
-    cairo_curve_to (cr, 10.894531, 470, 10, 469.105469, 10, 468);
-
-    cairo_move_to (cr, 11, 57);
-    cairo_curve_to (cr, 11, 56.449219, 11.449219, 56, 12, 56);
-    cairo_line_to (cr, 173, 56);
-    cairo_curve_to (cr, 173.550781, 56, 174, 56.449219, 174, 57);
-    cairo_line_to (cr, 174, 468);
-    cairo_curve_to (cr, 174, 468.550781, 173.550781, 469, 173, 469);
-    cairo_line_to (cr, 12, 469);
-    cairo_curve_to (cr, 11.449219, 469, 11, 468.550781, 11, 468);
-
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (bug_bo_ricotz,
-           "Exercises a bug discovered by Rico Tzschichholz",
-           "clip, fill", /* keywords */
-           NULL, /* requirements */
-           649, 480,
-           NULL, draw)
diff --git a/test/bug-extents.c b/test/bug-extents.c
deleted file mode 100644 (file)
index 4edb4a5..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2010 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 0, -25);
-
-    cairo_move_to  (cr,   50, 200);
-    cairo_curve_to (cr,   50, 150, 100,  50, 150,  50);
-    cairo_curve_to (cr,  200,  50, 250, 250, 200, 250);
-    cairo_curve_to (cr,  150, 250, 200,  50,  50, 100);
-    cairo_curve_to (cr, -100, 150, 200, 150, 200, 200);
-    cairo_curve_to (cr,  200, 250,  50, 250,  50, 200);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_fill_preserve (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (bug_extents,
-           "Tests a bug in the computation of approximate extents",
-           "extents", /* keywords */
-           NULL, /* requirements */
-           250, 250,
-           NULL, draw)
diff --git a/test/bug-seams.c b/test/bug-seams.c
deleted file mode 100644 (file)
index 01e84ff..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright 2010 Soeren Sandmann Pedersen
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Soeren Sandmann <sandmann@daimi.au.dk>
- */
-
-/* Exercises a case of seam appearing between two polygons in the image
- * backend but not in xlib [using pixman].
- *
- * The test case draws two abutting quads both individually on the
- * leftm combining them with operator ADD, and in one go on the right.
- * Both methods should show no signs of seaming at the common edge
- * between the two quads, but the individually drawn ones have a
- * slight seam.
- *
- * The cause of the seam is that there are slight differences in the
- * output of the analytical coverage rasterization and the
- * supersampling rasterization methods, both employed by
- * cairo-tor-scan-converter.  When drawn individually, the scan
- * converter gets a partial view of the geometry at a time, so it ends
- * up making different decisions about which scanlines it rasterizes
- * with which method, compared to when the geometry is draw all at
- * once.  Though both methods produce seamless results individually
- * (where applicable), they don't produce bit-exact identical results,
- * and hence we get seaming where they meet.
- */
-
-#include "cairo-test.h"
-
-static void
-draw_quad (cairo_t *cr,
-          double x1, double y1, double x2, double y2,
-          double x3, double y3, double x4, double y4)
-{
-    cairo_move_to (cr, x1, y1);
-    cairo_line_to (cr, x2, y2);
-    cairo_line_to (cr, x3, y3);
-    cairo_line_to (cr, x4, y4);
-    cairo_close_path (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    cairo_scale (cr, 20, 20);
-    cairo_translate (cr, 5, 1);
-
-    /* On the left side, we have two quads drawn one at a time and
-     * combined with OPERATOR_ADD.  This should be seamless, but
-     * isn't. */
-    cairo_push_group (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-
-    cairo_set_source_rgb (cr, 0, 0.6, 0);
-    draw_quad (cr,
-              1.50, 1.50,
-              2.64, 1.63,
-              1.75, 2.75,
-              0.55, 2.63);
-    cairo_fill (cr);
-    draw_quad (cr,
-              0.55, 2.63,
-              1.75, 2.75,
-              0.98, 4.11,
-              -0.35, 4.05);
-    cairo_fill (cr);
-
-    cairo_pop_group_to_source (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_paint (cr);
-
-    /* On the right side, we have the same two quads drawn both at the
-     * same time.  This is seamless. */
-    cairo_translate (cr, 10, 0);
-
-    cairo_set_source_rgb (cr, 0, 0.6, 0);
-    draw_quad (cr,
-              1.50, 1.50,
-              2.64, 1.63,
-              1.75, 2.75,
-              0.55, 2.63);
-    draw_quad (cr,
-              0.55, 2.63,
-              1.75, 2.75,
-              0.98, 4.11,
-              -0.35, 4.05);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (bug_seams,
-           "Check the fidelity of the rasterisation.",
-           "raster", /* keywords */
-           "target=raster", /* requirements */
-           500, 300,
-           NULL, draw)
diff --git a/test/bug-source-cu.c b/test/bug-source-cu.c
deleted file mode 100644 (file)
index 4c1e2bc..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "cairo-test.h"
-
-static cairo_pattern_t *
-create_pattern (cairo_surface_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *pattern;
-    cairo_t *cr;
-    cairo_matrix_t m;
-
-    surface = cairo_surface_create_similar(target,
-                                          cairo_surface_get_content (target),
-                                          1000, 600);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_paint(cr);
-
-    pattern = cairo_pattern_create_for_surface (cairo_get_target (cr));
-    cairo_destroy(cr);
-
-    cairo_matrix_init_translate (&m, 0, 0.1); // y offset must be non-integer
-    cairo_pattern_set_matrix (pattern, &m);
-    return pattern;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 10, 400.1);
-    cairo_line_to (cr, 990, 400.1);
-    cairo_line_to (cr, 990, 600);
-    cairo_line_to (cr, 10,  600);
-    cairo_close_path (cr);
-
-    pattern = create_pattern (cairo_get_target (cr));
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_fill(cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (bug_source_cu,
-           "Exercises a bug discovered in the tracking of unbounded source extents",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           1000, 600,
-           NULL, draw)
diff --git a/test/cairo-test-private.h b/test/cairo-test-private.h
deleted file mode 100644 (file)
index 3e40324..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright © 2004 Red Hat, Inc.
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#ifndef _CAIRO_TEST_PRIVATE_H_
-#define _CAIRO_TEST_PRIVATE_H_
-
-#include "cairo-test.h"
-
-/* For communication between the core components of cairo-test and not
- * for the tests themselves.
- */
-
-CAIRO_BEGIN_DECLS
-
-typedef enum {
-    DIRECT,
-    SIMILAR
-} cairo_test_similar_t;
-
-cairo_test_similar_t
-cairo_test_target_has_similar (const cairo_test_context_t *ctx,
-                              const cairo_boilerplate_target_t *target);
-
-cairo_test_status_t
-_cairo_test_context_run_for_target (cairo_test_context_t *ctx,
-                                   const cairo_boilerplate_target_t *target,
-                                   cairo_bool_t similar,
-                                   int dev_offset);
-
-void
-_cairo_test_context_init_for_test (cairo_test_context_t *ctx,
-                                  const cairo_test_context_t *parent,
-                                  const cairo_test_t *test);
-
-void
-cairo_test_init (cairo_test_context_t *ctx,
-                const char *test_name,
-                const char *output);
-
-void
-cairo_test_fini (cairo_test_context_t *ctx);
-
-void
-_cairo_test_runner_register_tests (void);
-
-CAIRO_END_DECLS
-
-#endif /* _CAIRO_TEST_PRIVATE_H_ */
diff --git a/test/cairo-test-runner.c b/test/cairo-test-runner.c
deleted file mode 100644 (file)
index a5c6705..0000000
+++ /dev/null
@@ -1,1087 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test-private.h"
-#include "cairo-boilerplate-getopt.h"
-
-/* get the "real" version info instead of dummy cairo-version.h */
-#undef CAIRO_VERSION_H
-#undef CAIRO_VERSION_MAJOR
-#undef CAIRO_VERSION_MINOR
-#undef CAIRO_VERSION_MICRO
-#include "../cairo-version.h"
-
-#include <pixman.h> /* for version information */
-
-#define SHOULD_FORK HAVE_FORK && HAVE_WAITPID
-#if SHOULD_FORK
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#if HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#include <sys/types.h>
-#include <sys/wait.h>
-#endif
-#if HAVE_LIBGEN_H
-#include <libgen.h>
-#endif
-
-#if HAVE_VALGRIND
-#include <valgrind.h>
-#else
-#define RUNNING_ON_VALGRIND 0
-#endif
-
-#ifdef _MSC_VER
-#include <crtdbg.h>
-#endif
-
-typedef struct _cairo_test_list {
-    const cairo_test_t *test;
-    struct _cairo_test_list *next;
-} cairo_test_list_t;
-
-typedef struct _cairo_test_runner {
-    cairo_test_context_t base;
-
-    unsigned int num_device_offsets;
-
-    cairo_bool_t passed;
-    int num_passed;
-    int num_skipped;
-    int num_failed;
-    int num_xfailed;
-    int num_error;
-    int num_crashed;
-
-    cairo_test_list_t *crashes_preamble;
-    cairo_test_list_t *errors_preamble;
-    cairo_test_list_t *fails_preamble;
-
-    cairo_test_list_t **crashes_per_target;
-    cairo_test_list_t **errors_per_target;
-    cairo_test_list_t **fails_per_target;
-
-    int *num_failed_per_target;
-    int *num_error_per_target;
-    int *num_crashed_per_target;
-
-    cairo_bool_t foreground;
-    cairo_bool_t exit_on_failure;
-    cairo_bool_t list_only;
-    cairo_bool_t full_test;
-    cairo_bool_t keyword_match;
-    cairo_bool_t slow;
-    cairo_bool_t force_pass;
-} cairo_test_runner_t;
-
-typedef enum {
-    GE,
-    GT
-} cairo_test_compare_op_t;
-
-static cairo_test_list_t *tests;
-
-static void CAIRO_BOILERPLATE_PRINTF_FORMAT(2,3)
-_log (cairo_test_context_t *ctx,
-      const char *fmt,
-      ...)
-{
-    va_list ap;
-
-    va_start (ap, fmt);
-    vprintf (fmt, ap);
-    va_end (ap);
-
-    va_start (ap, fmt);
-    cairo_test_logv (ctx, fmt, ap);
-    va_end (ap);
-}
-
-static cairo_test_list_t *
-_list_prepend (cairo_test_list_t *head, const cairo_test_t *test)
-{
-    cairo_test_list_t *list;
-
-    list = xmalloc (sizeof (cairo_test_list_t));
-    list->test = test;
-    list->next = head;
-    head = list;
-
-    return head;
-}
-
-static cairo_test_list_t *
-_list_reverse (cairo_test_list_t *head)
-{
-    cairo_test_list_t *list, *next;
-
-    for (list = head, head = NULL; list != NULL; list = next) {
-       next = list->next;
-       list->next = head;
-       head = list;
-    }
-
-    return head;
-}
-
-static void
-_list_free (cairo_test_list_t *list)
-{
-    while (list != NULL) {
-       cairo_test_list_t *next = list->next;
-       free (list);
-       list = next;
-    }
-}
-
-static cairo_bool_t
-is_running_under_debugger (void)
-{
-#if HAVE_UNISTD_H && HAVE_LIBGEN_H && __linux__
-    char buf[1024];
-
-    sprintf (buf, "/proc/%d/exe", getppid ());
-    if (readlink (buf, buf, sizeof (buf)) != -1 &&
-       strncmp (basename (buf), "gdb", 3) == 0)
-    {
-       return TRUE;
-    }
-#endif
-
-    if (RUNNING_ON_VALGRIND)
-       return TRUE;
-
-    return FALSE;
-}
-
-#if SHOULD_FORK
-static cairo_test_status_t
-_cairo_test_wait (pid_t pid)
-{
-    int exitcode;
-
-    if (waitpid (pid, &exitcode, 0) != pid)
-       return CAIRO_TEST_CRASHED;
-
-    if (WIFSIGNALED (exitcode)) {
-       switch (WTERMSIG (exitcode)) {
-       case SIGINT:
-#if HAVE_RAISE
-           raise (SIGINT);
-#endif
-           return CAIRO_TEST_UNTESTED;
-       default:
-           return CAIRO_TEST_CRASHED;
-       }
-    }
-
-    return WEXITSTATUS (exitcode);
-}
-#endif
-
-static cairo_test_status_t
-_cairo_test_runner_preamble (cairo_test_runner_t *runner,
-                            cairo_test_context_t *ctx)
-{
-#if SHOULD_FORK
-    if (! runner->foreground) {
-       pid_t pid;
-
-       switch ((pid = fork ())) {
-       case -1: /* error */
-           return CAIRO_TEST_UNTESTED;
-
-       case 0: /* child */
-           exit (ctx->test->preamble (ctx));
-
-       default:
-           return _cairo_test_wait (pid);
-       }
-    }
-#endif
-    return ctx->test->preamble (ctx);
-}
-
-static cairo_test_status_t
-_cairo_test_runner_draw (cairo_test_runner_t *runner,
-                        cairo_test_context_t *ctx,
-                        const cairo_boilerplate_target_t *target,
-                        cairo_bool_t similar,
-                        int device_offset)
-{
-#if SHOULD_FORK
-    if (! runner->foreground) {
-       pid_t pid;
-
-       switch ((pid = fork ())) {
-       case -1: /* error */
-           return CAIRO_TEST_UNTESTED;
-
-       case 0: /* child */
-           exit (_cairo_test_context_run_for_target (ctx, target,
-                                                     similar, device_offset));
-
-       default:
-           return _cairo_test_wait (pid);
-       }
-    }
-#endif
-    return _cairo_test_context_run_for_target (ctx, target,
-                                              similar, device_offset);
-}
-
-static void
-append_argv (int *argc, char ***argv, const char *str)
-{
-    int old_argc;
-    char **old_argv;
-    cairo_bool_t doit;
-    const char *s, *t;
-    int olen;
-    int len;
-    int i;
-    int args_to_add = 0;
-
-    if (str == NULL)
-       return;
-
-    old_argc = *argc;
-    old_argv = *argv;
-
-    doit = FALSE;
-    do {
-       if (doit)
-           *argv = xmalloc (olen);
-
-       olen = sizeof (char *) * (args_to_add + *argc);
-       for (i = 0; i < old_argc; i++) {
-           len = strlen (old_argv[i]) + 1;
-           if (doit) {
-               (*argv)[i] = (char *) *argv + olen;
-               memcpy ((*argv)[i], old_argv[i], len);
-           }
-           olen += len;
-       }
-
-       s = str;
-       while ((t = strpbrk (s, " \t,:;")) != NULL) {
-           if (t - s) {
-               len = t - s;
-               if (doit) {
-                   (*argv)[i] = (char *) *argv + olen;
-                   memcpy ((*argv)[i], s, len);
-                   (*argv)[i][len] = '\0';
-               } else {
-                   olen += sizeof (char *);
-               }
-               args_to_add++;
-               olen += len + 1;
-               i++;
-           }
-           s = t + 1;
-       }
-       if (*s != '\0') {
-           len = strlen (s) + 1;
-           if (doit) {
-               (*argv)[i] = (char *) *argv + olen;
-               memcpy ((*argv)[i], s, len);
-           } else {
-               olen += sizeof (char *);
-           }
-           args_to_add++;
-           olen += len;
-           i++;
-       }
-    } while (doit++ == FALSE);
-    *argc = i;
-}
-
-static void
-usage (const char *argv0)
-{
-    fprintf (stderr,
-            "Usage: %s [-afkxsl] [test-names|keywords ...]\n"
-            "\n"
-            "Run the cairo conformance test suite over the given tests (all by default)\n"
-            "The command-line arguments are interpreted as follows:\n"
-            "\n"
-            "  -a      all; run the full set of tests. By default the test suite\n"
-            "          skips similar surface and device offset testing.\n"
-            "  -f      foreground; do not fork\n"
-            "  -k      match tests by keyword\n"
-            "  -l      list only; just list selected test case names without executing\n"
-            "  -s      include slow, long running tests\n"
-            "  -x      exit on first failure\n"
-            "\n"
-            "If test names are given they are used as matches either to a specific\n"
-            "test case or to a keyword, so a command such as\n"
-            "\"%s -k text\" can be used to run all text test cases, and\n"
-            "\"%s text-transform\" to run the individual case.\n",
-            argv0, argv0, argv0);
-}
-
-static void
-_parse_cmdline (cairo_test_runner_t *runner, int *argc, char **argv[])
-{
-    int c;
-
-    while (1) {
-       c = _cairo_getopt (*argc, *argv, ":afklsx");
-       if (c == -1)
-           break;
-
-       switch (c) {
-       case 'a':
-           runner->full_test = TRUE;
-           break;
-       case 'f':
-           runner->foreground = TRUE;
-           break;
-       case 'k':
-           runner->keyword_match = TRUE;
-           break;
-       case 'l':
-           runner->list_only = TRUE;
-           break;
-       case 's':
-           runner->slow = TRUE;
-           break;
-       case 'x':
-           runner->exit_on_failure = TRUE;
-           break;
-       default:
-           fprintf (stderr, "Internal error: unhandled option: %c\n", c);
-           /* fall-through */
-       case '?':
-           usage ((*argv)[0]);
-           exit (1);
-       }
-    }
-
-    *argc -= optind;
-    *argv += optind;
-}
-
-static void
-_runner_init (cairo_test_runner_t *runner)
-{
-    cairo_test_init (&runner->base, "cairo-test-suite", ".");
-
-    runner->passed = TRUE;
-
-    runner->fails_preamble = NULL;
-    runner->crashes_preamble = NULL;
-    runner->errors_preamble = NULL;
-
-    runner->fails_per_target = xcalloc (sizeof (cairo_test_list_t *),
-                                       runner->base.num_targets);
-    runner->crashes_per_target = xcalloc (sizeof (cairo_test_list_t *),
-                                         runner->base.num_targets);
-    runner->errors_per_target = xcalloc (sizeof (cairo_test_list_t *),
-                                         runner->base.num_targets);
-    runner->num_failed_per_target = xcalloc (sizeof (int),
-                                            runner->base.num_targets);
-    runner->num_error_per_target = xcalloc (sizeof (int),
-                                            runner->base.num_targets);
-    runner->num_crashed_per_target = xcalloc (sizeof (int),
-                                             runner->base.num_targets);
-}
-
-static void
-_runner_print_versions (cairo_test_runner_t *runner)
-{
-    _log (&runner->base,
-        "Compiled against cairo %s, running on %s.\n",
-        CAIRO_VERSION_STRING, cairo_version_string ());
-    _log (&runner->base,
-        "Compiled against pixman %s, running on %s.\n",
-        PIXMAN_VERSION_STRING, pixman_version_string ());
-
-    fflush (runner->base.log_file);
-}
-
-static void
-_runner_print_summary (cairo_test_runner_t *runner)
-{
-    _log (&runner->base,
-         "%d Passed, %d Failed [%d crashed, %d expected], %d Skipped\n",
-         runner->num_passed,
-
-         runner->num_failed + runner->num_crashed + runner->num_xfailed,
-         runner->num_crashed,
-         runner->num_xfailed,
-
-         runner->num_skipped);
-}
-
-static void
-_runner_print_details (cairo_test_runner_t *runner)
-{
-    cairo_test_list_t *list;
-    unsigned int n;
-
-    if (runner->crashes_preamble) {
-       int count = 0;
-
-       for (list = runner->crashes_preamble; list != NULL; list = list->next)
-           count++;
-
-       _log (&runner->base, "Preamble: %d crashed! -", count);
-
-       for (list = runner->crashes_preamble; list != NULL; list = list->next) {
-           char *name = cairo_test_get_name (list->test);
-           _log (&runner->base, " %s", name);
-           free (name);
-       }
-       _log (&runner->base, "\n");
-    }
-    if (runner->errors_preamble) {
-       int count = 0;
-
-       for (list = runner->errors_preamble; list != NULL; list = list->next)
-           count++;
-
-       _log (&runner->base, "Preamble: %d error -", count);
-
-       for (list = runner->errors_preamble; list != NULL; list = list->next) {
-           char *name = cairo_test_get_name (list->test);
-           _log (&runner->base, " %s", name);
-           free (name);
-       }
-       _log (&runner->base, "\n");
-    }
-    if (runner->fails_preamble) {
-       int count = 0;
-
-       for (list = runner->fails_preamble; list != NULL; list = list->next)
-           count++;
-
-       _log (&runner->base, "Preamble: %d failed -", count);
-
-       for (list = runner->fails_preamble; list != NULL; list = list->next) {
-           char *name = cairo_test_get_name (list->test);
-           _log (&runner->base, " %s", name);
-           free (name);
-       }
-       _log (&runner->base, "\n");
-    }
-
-    for (n = 0; n < runner->base.num_targets; n++) {
-       const cairo_boilerplate_target_t *target;
-
-       target = runner->base.targets_to_test[n];
-       if (runner->num_crashed_per_target[n]) {
-           _log (&runner->base, "%s (%s): %d crashed! -",
-                 target->name,
-                 cairo_boilerplate_content_name (target->content),
-                 runner->num_crashed_per_target[n]);
-
-           for (list = runner->crashes_per_target[n];
-                list != NULL;
-                list = list->next)
-           {
-               char *name = cairo_test_get_name (list->test);
-               _log (&runner->base, " %s", name);
-               free (name);
-           }
-           _log (&runner->base, "\n");
-       }
-       if (runner->num_error_per_target[n]) {
-           _log (&runner->base, "%s (%s): %d error -",
-                 target->name,
-                 cairo_boilerplate_content_name (target->content),
-                 runner->num_error_per_target[n]);
-
-           for (list = runner->errors_per_target[n];
-                list != NULL;
-                list = list->next)
-           {
-               char *name = cairo_test_get_name (list->test);
-               _log (&runner->base, " %s", name);
-               free (name);
-           }
-           _log (&runner->base, "\n");
-       }
-
-       if (runner->num_failed_per_target[n]) {
-           _log (&runner->base, "%s (%s): %d failed -",
-                 target->name,
-                 cairo_boilerplate_content_name (target->content),
-                 runner->num_failed_per_target[n]);
-
-           for (list = runner->fails_per_target[n];
-                list != NULL;
-                list = list->next)
-           {
-               char *name = cairo_test_get_name (list->test);
-               _log (&runner->base, " %s", name);
-               free (name);
-           }
-           _log (&runner->base, "\n");
-       }
-    }
-}
-
-static void
-_runner_print_results (cairo_test_runner_t *runner)
-{
-    _runner_print_summary (runner);
-    _runner_print_details (runner);
-
-    if (! runner->passed && ! runner->num_crashed) {
-       _log (&runner->base,
-"\n"
-"Note: These failures may be due to external factors.\n"
-"Please read test/README -- \"Getting the elusive zero failures\".\n");
-    }
-}
-
-static cairo_test_status_t
-_runner_fini (cairo_test_runner_t *runner)
-{
-    unsigned int n;
-
-    _list_free (runner->crashes_preamble);
-    _list_free (runner->errors_preamble);
-    _list_free (runner->fails_preamble);
-
-    for (n = 0; n < runner->base.num_targets; n++) {
-       _list_free (runner->crashes_per_target[n]);
-       _list_free (runner->errors_per_target[n]);
-       _list_free (runner->fails_per_target[n]);
-    }
-    free (runner->crashes_per_target);
-    free (runner->errors_per_target);
-    free (runner->fails_per_target);
-
-    free (runner->num_crashed_per_target);
-    free (runner->num_error_per_target);
-    free (runner->num_failed_per_target);
-
-    cairo_test_fini (&runner->base);
-
-    if (runner->force_pass)
-       return CAIRO_TEST_SUCCESS;
-
-    return runner->num_failed + runner->num_crashed ?
-       CAIRO_TEST_FAILURE :
-       runner->num_passed + runner->num_xfailed ?
-       CAIRO_TEST_SUCCESS : CAIRO_TEST_UNTESTED;
-}
-
-static cairo_bool_t
-_version_compare (int a, cairo_test_compare_op_t op, int b)
-{
-    switch (op) {
-    case GT: return a > b;
-    case GE: return a >= b;
-    default: return FALSE;
-    }
-}
-
-
-static cairo_bool_t
-_get_required_version (const char *str,
-                      cairo_test_compare_op_t *op,
-                      int *major,
-                      int *minor,
-                      int *micro)
-{
-    while (*str == ' ')
-       str++;
-
-    if (strncmp (str, ">=", 2) == 0) {
-       *op = GE;
-       str += 2;
-    } else if (strncmp (str, ">", 1) == 0) {
-       *op = GT;
-       str += 1;
-    } else
-       return FALSE;
-
-    while (*str == ' ')
-       str++;
-
-    if (sscanf (str, "%d.%d.%d", major, minor, micro) != 3) {
-       *micro = 0;
-       if (sscanf (str, "%d.%d", major, minor) != 2)
-           return FALSE;
-    }
-
-    return TRUE;
-}
-
-static cairo_bool_t
-_has_required_cairo_version (const char *str)
-{
-    cairo_test_compare_op_t op;
-    int major, minor, micro;
-
-    if (! _get_required_version (str + 5 /* advance over "cairo" */,
-                                &op, &major, &minor, &micro))
-    {
-       fprintf (stderr, "unrecognised cairo version requirement '%s'\n", str);
-       return FALSE;
-    }
-
-    return _version_compare (cairo_version (),
-                            op,
-                            CAIRO_VERSION_ENCODE (major, minor, micro));
-}
-
-static cairo_bool_t
-_has_required_ghostscript_version (const char *str)
-{
-#if ! CAIRO_CAN_TEST_PS_SURFACE
-    return TRUE;
-#endif
-
-    str += 2; /* advance over "gs" */
-
-    return TRUE;
-}
-
-static cairo_bool_t
-_has_required_poppler_version (const char *str)
-{
-#if ! CAIRO_CAN_TEST_PDF_SURFACE
-    return TRUE;
-#endif
-
-    str += 7; /* advance over "poppler" */
-
-    return TRUE;
-}
-
-static cairo_bool_t
-_has_required_rsvg_version (const char *str)
-{
-#if ! CAIRO_CAN_TEST_SVG_SURFACE
-    return TRUE;
-#endif
-
-    str += 4; /* advance over "rsvg" */
-
-    return TRUE;
-}
-
-int
-main (int argc, char **argv)
-{
-    cairo_test_runner_t runner;
-    cairo_test_list_t *test_list;
-    cairo_test_status_t *target_status;
-    unsigned int n, m;
-    char targets[4096];
-    int len;
-    char *cairo_tests_env;
-
-#ifdef _MSC_VER
-    /* We don't want an assert dialog, we want stderr */
-    _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
-    _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
-#endif
-
-    _cairo_test_runner_register_tests ();
-    tests = _list_reverse (tests);
-
-    memset (&runner, 0, sizeof (runner));
-    runner.num_device_offsets = 1;
-
-    if (is_running_under_debugger ())
-       runner.foreground = TRUE;
-
-    if (getenv ("CAIRO_TEST_MODE")) {
-       const char *env = getenv ("CAIRO_TEST_MODE");
-
-       if (strstr (env, "full")) {
-           runner.full_test = TRUE;
-       }
-       if (strstr (env, "foreground")) {
-           runner.foreground = TRUE;
-       }
-       if (strstr (env, "exit-on-failure")) {
-           runner.exit_on_failure = TRUE;
-       }
-    }
-
-    if (getenv ("CAIRO_TEST_FORCE_PASS")) {
-       const char *env = getenv ("CAIRO_TEST_FORCE_PASS");
-
-       runner.force_pass = atoi (env);
-    }
-
-    _parse_cmdline (&runner, &argc, &argv);
-
-    cairo_tests_env = getenv("CAIRO_TESTS");
-    append_argv (&argc, &argv, cairo_tests_env);
-
-    if (runner.full_test) {
-       runner.num_device_offsets = 2;
-    }
-
-    target_status = NULL; /* silence the compiler */
-    if (! runner.list_only) {
-       _runner_init (&runner);
-       _runner_print_versions (&runner);
-       target_status = xmalloc (sizeof (cairo_test_status_t) *
-                                runner.base.num_targets);
-    }
-
-    for (test_list = tests; test_list != NULL; test_list = test_list->next) {
-       const cairo_test_t *test = test_list->test;
-       cairo_test_context_t ctx;
-       cairo_test_status_t status;
-       cairo_bool_t failed = FALSE, xfailed = FALSE, error = FALSE, crashed = FALSE, skipped = TRUE;
-       cairo_bool_t in_preamble = FALSE;
-       char *name = cairo_test_get_name (test);
-       int i;
-
-       /* check for restricted runs */
-       if (argc) {
-           cairo_bool_t found = FALSE;
-           const char *keywords = test->keywords;
-
-           for (i = 0; i < argc; i++) {
-               const char *match = argv[i];
-               cairo_bool_t invert = match[0] == '!';
-               if (invert)
-                   match++;
-
-               if (runner.keyword_match) {
-                   if (keywords != NULL && strstr (keywords, match) != NULL) {
-                       found = ! invert;
-                       break;
-                   } else if (invert) {
-                       found = TRUE;
-                   }
-               } else {
-                   /* exact match on test name */
-                   if (strcmp (name, match) == 0) {
-                       found = ! invert;
-                       break;
-                   } else if (invert) {
-                       found = TRUE;
-                   }
-               }
-           }
-
-           if (! found) {
-               free (name);
-               continue;
-           }
-       }
-
-       /* check to see if external requirements match */
-       if (test->requirements != NULL) {
-           const char *requirements = test->requirements;
-           const char *str;
-
-           str = strstr (requirements, "slow");
-           if (str != NULL && ! runner.slow) {
-               if (runner.list_only)
-                   goto TEST_NEXT;
-               else
-                   goto TEST_SKIPPED;
-           }
-
-           str = strstr (requirements, "cairo");
-           if (str != NULL && ! _has_required_cairo_version (str)) {
-               if (runner.list_only)
-                   goto TEST_NEXT;
-               else
-                   goto TEST_SKIPPED;
-           }
-
-           str = strstr (requirements, "gs");
-           if (str != NULL && ! _has_required_ghostscript_version (str)) {
-               if (runner.list_only)
-                   goto TEST_NEXT;
-               else
-                   goto TEST_SKIPPED;
-           }
-
-           str = strstr (requirements, "poppler");
-           if (str != NULL && ! _has_required_poppler_version (str)) {
-               if (runner.list_only)
-                   goto TEST_NEXT;
-               else
-                   goto TEST_SKIPPED;
-           }
-
-           str = strstr (requirements, "rsvg");
-           if (str != NULL && ! _has_required_rsvg_version (str)) {
-               if (runner.list_only)
-                   goto TEST_NEXT;
-               else
-                   goto TEST_SKIPPED;
-           }
-       }
-
-       if (runner.list_only) {
-           printf ("%s ", name);
-           goto TEST_NEXT;
-       }
-
-       _cairo_test_context_init_for_test (&ctx, &runner.base, test);
-       memset (target_status, 0,
-               sizeof (cairo_test_status_t) * ctx.num_targets);
-
-       if (ctx.test->preamble != NULL) {
-           status = _cairo_test_runner_preamble (&runner, &ctx);
-           switch (status) {
-           case CAIRO_TEST_SUCCESS:
-               in_preamble = TRUE;
-               skipped = FALSE;
-               break;
-
-           case CAIRO_TEST_XFAILURE:
-               in_preamble = TRUE;
-               xfailed = TRUE;
-               goto TEST_DONE;
-
-           case CAIRO_TEST_NEW:
-           case CAIRO_TEST_FAILURE:
-               runner.fails_preamble = _list_prepend (runner.fails_preamble,
-                                                      test);
-               in_preamble = TRUE;
-               failed = TRUE;
-               goto TEST_DONE;
-
-           case CAIRO_TEST_ERROR:
-               runner.errors_preamble = _list_prepend (runner.errors_preamble,
-                                                        test);
-               in_preamble = TRUE;
-               failed = TRUE;
-               goto TEST_DONE;
-
-           case CAIRO_TEST_NO_MEMORY:
-           case CAIRO_TEST_CRASHED:
-               runner.crashes_preamble = _list_prepend (runner.crashes_preamble,
-                                                        test);
-               in_preamble = TRUE;
-               failed = TRUE;
-               goto TEST_DONE;
-
-           case CAIRO_TEST_UNTESTED:
-               goto TEST_DONE;
-           }
-       }
-
-       if (ctx.test->draw == NULL)
-           goto TEST_DONE;
-
-       for (n = 0; n < ctx.num_targets; n++) {
-           const cairo_boilerplate_target_t *target;
-           cairo_bool_t target_failed = FALSE,
-                        target_xfailed = FALSE,
-                        target_error = FALSE,
-                        target_crashed = FALSE,
-                        target_skipped = TRUE;
-           cairo_test_similar_t has_similar;
-
-           target = ctx.targets_to_test[n];
-
-           has_similar = runner.full_test ?
-                         cairo_test_target_has_similar (&ctx, target) :
-                         DIRECT;
-           for (m = 0; m < runner.num_device_offsets; m++) {
-               int dev_offset = m * 25;
-               cairo_test_similar_t similar;
-
-               for (similar = DIRECT; similar <= has_similar; similar++) {
-                   status = _cairo_test_runner_draw (&runner, &ctx, target,
-                                                     similar, dev_offset);
-                   switch (status) {
-                   case CAIRO_TEST_SUCCESS:
-                       target_skipped = FALSE;
-                       break;
-                   case CAIRO_TEST_XFAILURE:
-                       target_xfailed = TRUE;
-                       break;
-                   case CAIRO_TEST_NEW:
-                   case CAIRO_TEST_FAILURE:
-                       target_failed = TRUE;
-                       break;
-                   case CAIRO_TEST_ERROR:
-                       target_error = TRUE;
-                       break;
-                   case CAIRO_TEST_NO_MEMORY:
-                   case CAIRO_TEST_CRASHED:
-                       target_crashed = TRUE;
-                       break;
-                   case CAIRO_TEST_UNTESTED:
-                       break;
-                   }
-               }
-           }
-
-           if (target_crashed) {
-               target_status[n] = CAIRO_TEST_CRASHED;
-               runner.num_crashed_per_target[n]++;
-               runner.crashes_per_target[n] = _list_prepend (runner.crashes_per_target[n],
-                                                             test);
-               crashed = TRUE;
-           } else if (target_error) {
-               target_status[n] = CAIRO_TEST_ERROR;
-               runner.num_error_per_target[n]++;
-               runner.errors_per_target[n] = _list_prepend (runner.errors_per_target[n],
-                                                            test);
-
-               error = TRUE;
-           } else if (target_failed) {
-               target_status[n] = CAIRO_TEST_FAILURE;
-               runner.num_failed_per_target[n]++;
-               runner.fails_per_target[n] = _list_prepend (runner.fails_per_target[n],
-                                                           test);
-
-               failed = TRUE;
-           } else if (target_xfailed) {
-               target_status[n] = CAIRO_TEST_XFAILURE;
-               xfailed = TRUE;
-           } else if (target_skipped) {
-               target_status[n] = CAIRO_TEST_UNTESTED;
-           } else {
-               target_status[n] = CAIRO_TEST_SUCCESS;
-               skipped = FALSE;
-           }
-       }
-
-  TEST_DONE:
-       cairo_test_fini (&ctx);
-  TEST_SKIPPED:
-       targets[0] = '\0';
-       if (crashed) {
-           if (! in_preamble) {
-               len = 0;
-               for (n = 0 ; n < runner.base.num_targets; n++) {
-                   if (target_status[n] == CAIRO_TEST_CRASHED) {
-                       if (strstr (targets,
-                                   runner.base.targets_to_test[n]->name) == NULL)
-                       {
-                           len += snprintf (targets + len, sizeof (targets) - len,
-                                            "%s, ",
-                                            runner.base.targets_to_test[n]->name);
-                       }
-                   }
-               }
-               targets[len-2] = '\0';
-               _log (&runner.base, "\n%s: CRASH! (%s)\n", name, targets);
-           } else {
-               _log (&runner.base, "\n%s: CRASH!\n", name);
-           }
-           runner.num_crashed++;
-           runner.passed = FALSE;
-       } else if (error) {
-           if (! in_preamble) {
-               len = 0;
-               for (n = 0 ; n < runner.base.num_targets; n++) {
-                   if (target_status[n] == CAIRO_TEST_ERROR) {
-                       if (strstr (targets,
-                                   runner.base.targets_to_test[n]->name) == NULL)
-                       {
-                           len += snprintf (targets + len,
-                                            sizeof (targets) - len,
-                                            "%s, ",
-                                            runner.base.targets_to_test[n]->name);
-                       }
-                   }
-               }
-               targets[len-2] = '\0';
-               _log (&runner.base, "%s: ERROR (%s)\n", name, targets);
-           } else {
-               _log (&runner.base, "%s: ERROR\n", name);
-           }
-           runner.num_error++;
-           runner.passed = FALSE;
-       } else if (failed) {
-           if (! in_preamble) {
-               len = 0;
-               for (n = 0 ; n < runner.base.num_targets; n++) {
-                   if (target_status[n] == CAIRO_TEST_FAILURE) {
-                       if (strstr (targets,
-                                   runner.base.targets_to_test[n]->name) == NULL)
-                       {
-                           len += snprintf (targets + len,
-                                            sizeof (targets) - len,
-                                            "%s, ",
-                                            runner.base.targets_to_test[n]->name);
-                       }
-                   }
-               }
-               targets[len-2] = '\0';
-               _log (&runner.base, "%s: FAIL (%s)\n", name, targets);
-           } else {
-               _log (&runner.base, "%s: FAIL\n", name);
-           }
-           runner.num_failed++;
-           runner.passed = FALSE;
-       } else if (xfailed) {
-           _log (&runner.base, "%s: XFAIL\n", name);
-           runner.num_xfailed++;
-       } else if (skipped) {
-           _log (&runner.base, "%s: UNTESTED\n", name);
-           runner.num_skipped++;
-       } else {
-           _log (&runner.base, "%s: PASS\n", name);
-           runner.num_passed++;
-       }
-       fflush (runner.base.log_file);
-
-  TEST_NEXT:
-       free (name);
-       if (runner.exit_on_failure && ! runner.passed)
-           break;
-
-    }
-
-    if (cairo_tests_env)
-       free(argv);
-
-    if (runner.list_only) {
-       printf ("\n");
-       return CAIRO_TEST_SUCCESS;
-    }
-
-    for (n = 0 ; n < runner.base.num_targets; n++) {
-       runner.crashes_per_target[n] = _list_reverse (runner.crashes_per_target[n]);
-       runner.errors_per_target[n] = _list_reverse (runner.errors_per_target[n]);
-       runner.fails_per_target[n] = _list_reverse (runner.fails_per_target[n]);
-    }
-
-    _runner_print_results (&runner);
-
-    free (target_status);
-    return _runner_fini (&runner);
-}
-
-void
-cairo_test_register (cairo_test_t *test)
-{
-    tests = _list_prepend (tests, test);
-}
diff --git a/test/cairo-test-trace.c b/test/cairo-test-trace.c
deleted file mode 100644 (file)
index 52d9dd9..0000000
+++ /dev/null
@@ -1,1776 +0,0 @@
-/*
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the authors not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The authors make no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/*
- * The basic idea is that we feed the trace to multiple backends in parallel
- * and compare the output at the end of each context (based on the premise
- * that contexts demarcate expose events, or their logical equivalents) with
- * that of the image[1] backend. Each backend is executed in a separate
- * process, for robustness and to isolate the global cairo state, with the
- * image data residing in shared memory and synchronising over a socket.
- *
- * [1] Should be reference implementation, currently the image backend is
- *     considered to be the reference for all other backends.
- */
-
-/* XXX Can't directly compare fills using spans versus trapezoidation,
- *     i.e. xlib vs image. Gah, kinda renders this whole scheme moot.
- *     How about reference platforms?
- *     E.g. accelerated xlib driver vs Xvfb?
- *
- *     boilerplate->create_reference_surface()?
- *     boilerplate->reference->create_surface()?
- *     So for each backend spawn two processes, a reference and xlib
- *     (obviously minimising the number of reference processes when possible)
- */
-
-/*
- * XXX Handle show-page as well as cairo_destroy()? Though arguably that is
- *     only relevant for paginated backends which is currently outside the
- *     scope of this test.
- */
-
-#define _GNU_SOURCE 1  /* getline() */
-
-#include "cairo-test.h"
-#include "buffer-diff.h"
-
-#include "cairo-boilerplate-getopt.h"
-#include <cairo-script-interpreter.h>
-#include "cairo-missing.h"
-
-#if CAIRO_HAS_SCRIPT_SURFACE
-#include <cairo-script.h>
-#endif
-
-/* For basename */
-#ifdef HAVE_LIBGEN_H
-#include <libgen.h>
-#endif
-#include <ctype.h> /* isspace() */
-
-#include <sys/types.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <sys/wait.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <sys/mman.h>
-#include <sys/poll.h>
-#include <sys/un.h>
-#include <errno.h>
-#include <assert.h>
-#if CAIRO_HAS_REAL_PTHREAD
-#include <pthread.h>
-#endif
-
-#if HAVE_FCFINI
-#include <fontconfig/fontconfig.h>
-#endif
-
-#define DEBUG 0
-
-#define ignore_image_differences 0 /* XXX make me a cmdline option! */
-#define write_results 1
-#define write_traces 1
-
-#define DATA_SIZE (256 << 20)
-#define SHM_PATH_XXX "/.shmem-cairo-trace"
-
-typedef struct _test_trace {
-    /* Options from command-line */
-    cairo_bool_t list_only;
-    char **names;
-    unsigned int num_names;
-    char **exclude_names;
-    unsigned int num_exclude_names;
-
-    /* Stuff used internally */
-    const cairo_boilerplate_target_t **targets;
-    int num_targets;
-} test_trace_t;
-
-typedef struct _test_runner {
-    const char *name;
-    cairo_surface_t *surface;
-    void *closure;
-    uint8_t *base;
-    const char *trace;
-    pid_t pid;
-    int sk;
-    cairo_bool_t is_recording;
-
-    cairo_script_interpreter_t *csi;
-    struct context_closure {
-       struct context_closure *next;
-       unsigned long id;
-       unsigned long start_line;
-       unsigned long end_line;
-       cairo_t *context;
-       cairo_surface_t *surface;
-    } *contexts;
-
-    unsigned long context_id;
-} test_runner_t;
-
-struct slave {
-    pid_t pid;
-    int fd;
-    unsigned long image_serial;
-    unsigned long image_ready;
-    unsigned long start_line;
-    unsigned long end_line;
-    cairo_surface_t *image;
-    long width, height;
-    cairo_surface_t *difference;
-    buffer_diff_result_t result;
-    const cairo_boilerplate_target_t *target;
-    const struct slave *reference;
-    cairo_bool_t is_recording;
-};
-
-struct request_image {
-    unsigned long id;
-    unsigned long start_line;
-    unsigned long end_line;
-    cairo_format_t format;
-    long width;
-    long height;
-    long stride;
-};
-
-struct surface_tag {
-    long width, height;
-};
-static const cairo_user_data_key_t surface_tag;
-
-#define TARGET_NAME(T)  ((T) ? (T)->name : "recording")
-
-#if CAIRO_HAS_REAL_PTHREAD
-#define tr_die(t) t->is_recording ? pthread_exit(NULL) : exit(1)
-#else
-#define tr_die(t) exit(1)
-#endif
-
-static cairo_bool_t
-writen (int fd, const void *ptr, int len)
-{
-#if 0
-    const uint8_t *data = ptr;
-    while (len) {
-       int ret = write (fd, data, len);
-       if (ret < 0) {
-           switch (errno) {
-           case EAGAIN:
-           case EINTR:
-               continue;
-           default:
-               return FALSE;
-           }
-       } else if (ret == 0) {
-           return FALSE;
-       } else {
-           data += ret;
-           len -= ret;
-       }
-    }
-    return TRUE;
-#else
-    int ret = send (fd, ptr, len, 0);
-    return ret == len;
-#endif
-}
-
-static cairo_bool_t
-readn (int fd, void *ptr, int len)
-{
-#if 0
-    uint8_t *data = ptr;
-    while (len) {
-       int ret = read (fd, data, len);
-       if (ret < 0) {
-           switch (errno) {
-           case EAGAIN:
-           case EINTR:
-               continue;
-           default:
-               return FALSE;
-           }
-       } else if (ret == 0) {
-           return FALSE;
-       } else {
-           data += ret;
-           len -= ret;
-       }
-    }
-    return TRUE;
-#else
-    int ret = recv (fd, ptr, len, MSG_WAITALL);
-    return ret == len;
-#endif
-}
-
-static cairo_format_t
-format_for_content (cairo_content_t content)
-{
-    switch (content) {
-    case CAIRO_CONTENT_ALPHA:
-       return CAIRO_FORMAT_A8;
-    case CAIRO_CONTENT_COLOR:
-       return CAIRO_FORMAT_RGB24;
-    default:
-    case CAIRO_CONTENT_COLOR_ALPHA:
-       return CAIRO_FORMAT_ARGB32;
-    }
-}
-
-static void
-send_recording_surface (test_runner_t *tr,
-                       int width, int height,
-                       struct context_closure *closure)
-{
-#if CAIRO_HAS_REAL_PTHREAD
-    const struct request_image rq = {
-       closure->id,
-       closure->start_line,
-       closure->end_line,
-       -1,
-       width, height,
-       (long) closure->surface,
-    };
-    unsigned long offset;
-    unsigned long serial;
-
-    if (DEBUG > 1) {
-       printf ("send-recording-surface: %lu [%lu, %lu]\n",
-               closure->id,
-               closure->start_line,
-               closure->end_line);
-    }
-    writen (tr->sk, &rq, sizeof (rq));
-    readn (tr->sk, &offset, sizeof (offset));
-
-    /* signal completion */
-    writen (tr->sk, &closure->id, sizeof (closure->id));
-
-    /* wait for image check */
-    serial = 0;
-    readn (tr->sk, &serial, sizeof (serial));
-    if (DEBUG > 1) {
-       printf ("send-recording-surface: serial: %lu\n", serial);
-    }
-    if (serial != closure->id)
-       pthread_exit (NULL);
-#else
-    exit (1);
-#endif
-}
-
-static void *
-request_image (test_runner_t *tr,
-              struct context_closure *closure,
-              cairo_format_t format,
-              int width, int height, int stride)
-{
-    const struct request_image rq = {
-       closure->id,
-       closure->start_line,
-       closure->end_line,
-       format, width, height, stride
-    };
-    unsigned long offset = -1;
-
-    assert (format != (cairo_format_t) -1);
-
-    writen (tr->sk, &rq, sizeof (rq));
-    readn (tr->sk, &offset, sizeof (offset));
-    if (offset == (unsigned long) -1)
-       return NULL;
-
-    return tr->base + offset;
-}
-
-static void
-send_surface (test_runner_t *tr,
-             struct context_closure *closure)
-{
-    cairo_surface_t *source = closure->surface;
-    cairo_surface_t *image;
-    cairo_format_t format = (cairo_format_t) -1;
-    cairo_t *cr;
-    int width, height, stride;
-    void *data;
-    unsigned long serial;
-
-    if (DEBUG > 1) {
-       printf ("send-surface: '%s', is-recording? %d\n",
-               tr->name, tr->is_recording);
-    }
-
-    if (cairo_surface_get_type (source) == CAIRO_SURFACE_TYPE_IMAGE) {
-       width = cairo_image_surface_get_width (source);
-       height = cairo_image_surface_get_height (source);
-       format = cairo_image_surface_get_format (source);
-    } else {
-       struct surface_tag *tag;
-
-       tag = cairo_surface_get_user_data (source, &surface_tag);
-       if (tag != NULL) {
-           width = tag->width;
-           height = tag->height;
-       } else {
-           double x0, x1, y0, y1;
-
-           /* presumably created using cairo_surface_create_similar() */
-           cr = cairo_create (source);
-           cairo_clip_extents (cr, &x0, &y0, &x1, &y1);
-           cairo_destroy (cr);
-
-           tag = xmalloc (sizeof (*tag));
-           width = tag->width = x1 - x0;
-           height = tag->height = y1 - y0;
-
-           if (cairo_surface_set_user_data (source, &surface_tag, tag, free))
-               tr_die (tr);
-       }
-    }
-
-    if (tr->is_recording) {
-       send_recording_surface (tr, width, height, closure);
-       return;
-    }
-
-    if (format == (cairo_format_t) -1)
-       format = format_for_content (cairo_surface_get_content (source));
-
-    stride = cairo_format_stride_for_width (format, width);
-
-    data = request_image (tr, closure, format, width, height, stride);
-    if (data == NULL)
-       tr_die (tr);
-
-    image = cairo_image_surface_create_for_data (data,
-                                                format,
-                                                width, height,
-                                                stride);
-    cr = cairo_create (image);
-    cairo_surface_destroy (image);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_surface (cr, source, 0, 0);
-    cairo_paint (cr);
-    cairo_destroy (cr);
-
-    /* signal completion */
-    writen (tr->sk, &closure->id, sizeof (closure->id));
-
-    /* wait for image check */
-    serial = 0;
-    readn (tr->sk, &serial, sizeof (serial));
-    if (serial != closure->id)
-       tr_die (tr);
-}
-
-static cairo_surface_t *
-_surface_create (void *closure,
-                cairo_content_t content,
-                double width, double height,
-                long uid)
-{
-    test_runner_t *tr = closure;
-    cairo_surface_t *surface;
-
-    surface = cairo_surface_create_similar (tr->surface,
-                                           content, width, height);
-    if (cairo_surface_get_type (surface) != CAIRO_SURFACE_TYPE_IMAGE) {
-       struct surface_tag *tag;
-
-       tag = xmalloc (sizeof (*tag));
-       tag->width = width;
-       tag->height = height;
-       if (cairo_surface_set_user_data (surface, &surface_tag, tag, free))
-           tr_die (tr);
-    }
-
-    return surface;
-}
-
-static cairo_t *
-_context_create (void *closure, cairo_surface_t *surface)
-{
-    test_runner_t *tr = closure;
-    struct context_closure *l;
-
-    if (DEBUG) {
-       fprintf (stderr, "%s: starting context %lu on line %d\n",
-                tr->name ? tr->name : "recording" ,
-                tr->context_id + 1,
-                cairo_script_interpreter_get_line_number (tr->csi));
-    }
-
-    l = xmalloc (sizeof (*l));
-    l->next = tr->contexts;
-    l->start_line = cairo_script_interpreter_get_line_number (tr->csi);
-    l->end_line = l->start_line;
-    l->context = cairo_create (surface);
-    l->surface = cairo_surface_reference (surface);
-    l->id = ++tr->context_id;
-    if (l->id == 0)
-       l->id = ++tr->context_id;
-    tr->contexts = l;
-
-    return l->context;
-}
-
-static void
-_context_destroy (void *closure, void *ptr)
-{
-    test_runner_t *tr = closure;
-    struct context_closure *l, **prev = &tr->contexts;
-
-    while ((l = *prev) != NULL) {
-       if (l->context == ptr) {
-           if (DEBUG) {
-               fprintf (stderr, "%s: context %lu complete on line %d\n",
-                        tr->name ? tr->name : "recording" ,
-                        tr->context_id,
-                        cairo_script_interpreter_get_line_number (tr->csi));
-           }
-           l->end_line =
-               cairo_script_interpreter_get_line_number (tr->csi);
-           if (cairo_surface_status (l->surface) == CAIRO_STATUS_SUCCESS) {
-               send_surface (tr, l);
-            } else {
-               fprintf (stderr, "%s: error during replay, line %lu: %s!\n",
-                        tr->name,
-                        l->end_line,
-                        cairo_status_to_string (cairo_surface_status (l->surface)));
-               tr_die (tr);
-           }
-
-            cairo_surface_destroy (l->surface);
-            *prev = l->next;
-            free (l);
-            return;
-        }
-        prev = &l->next;
-    }
-}
-
-static void
-execute (test_runner_t *tr)
-{
-    const cairo_script_interpreter_hooks_t hooks = {
-       .closure = tr,
-       .surface_create = _surface_create,
-       .context_create = _context_create,
-       .context_destroy = _context_destroy,
-    };
-    pid_t ack;
-
-    tr->csi = cairo_script_interpreter_create ();
-    cairo_script_interpreter_install_hooks (tr->csi, &hooks);
-
-    ack = -1;
-    readn (tr->sk, &ack, sizeof (ack));
-    if (ack != tr->pid)
-       tr_die (tr);
-
-    cairo_script_interpreter_run (tr->csi, tr->trace);
-
-    cairo_script_interpreter_finish (tr->csi);
-    if (cairo_script_interpreter_destroy (tr->csi))
-       tr_die (tr);
-}
-
-static int
-spawn_socket (const char *socket_path, pid_t pid)
-{
-    struct sockaddr_un addr;
-    int sk;
-
-    sk = socket (PF_UNIX, SOCK_STREAM, 0);
-    if (sk == -1)
-       return -1;
-
-    memset (&addr, 0, sizeof (addr));
-    addr.sun_family = AF_UNIX;
-    strcpy (addr.sun_path, socket_path);
-
-    if (connect (sk, (struct sockaddr *) &addr, sizeof (addr)) == -1)
-       return -1;
-
-    if (! writen (sk, &pid, sizeof (pid)))
-       return -1;
-
-    return sk;
-}
-
-static void *
-spawn_shm (const char *shm_path)
-{
-    void *base;
-    int fd;
-
-    fd = shm_open (shm_path, O_RDWR, 0);
-    if (fd == -1)
-       return MAP_FAILED;
-
-    base = mmap (NULL, DATA_SIZE,
-                PROT_READ | PROT_WRITE,
-                MAP_SHARED | MAP_NORESERVE,
-                fd, 0);
-    close (fd);
-
-    return base;
-}
-
-static int
-spawn_target (const char *socket_path,
-             const char *shm_path,
-             const cairo_boilerplate_target_t *target,
-             const char *trace)
-{
-    test_runner_t tr;
-    pid_t pid;
-
-    if (DEBUG)
-       printf ("Spawning slave '%s' for %s\n", target->name, trace);
-
-    pid = fork ();
-    if (pid != 0)
-       return pid;
-
-    tr.is_recording = FALSE;
-    tr.pid = getpid ();
-
-    tr.sk = spawn_socket (socket_path, tr.pid);
-    if (tr.sk == -1) {
-       fprintf (stderr, "%s: Failed to open socket.\n",
-                target->name);
-       exit (-1);
-    }
-
-    tr.base = spawn_shm (shm_path);
-    if (tr.base == MAP_FAILED) {
-       fprintf (stderr, "%s: Failed to map shared memory segment.\n",
-                target->name);
-       exit (-1);
-    }
-
-    tr.name = target->name;
-    tr.contexts = NULL;
-    tr.context_id = 0;
-    tr.trace = trace;
-
-    tr.surface = target->create_surface (NULL,
-                                        target->content,
-                                        1, 1,
-                                        1, 1,
-                                        CAIRO_BOILERPLATE_MODE_TEST,
-                                        &tr.closure);
-    if (tr.surface == NULL) {
-       fprintf (stderr,
-                "%s:  Failed to create target surface.\n",
-                target->name);
-       exit (-1);
-    }
-
-    execute (&tr);
-
-    cairo_surface_destroy (tr.surface);
-
-    if (target->cleanup)
-       target->cleanup (tr.closure);
-
-    close (tr.sk);
-    munmap (tr.base, DATA_SIZE);
-
-    exit (0);
-}
-
-#if CAIRO_HAS_REAL_PTHREAD
-static void
-cleanup_recorder (void *arg)
-{
-    test_runner_t *tr = arg;
-
-    cairo_surface_finish (tr->surface);
-    cairo_surface_destroy (tr->surface);
-
-    close (tr->sk);
-    free (tr);
-}
-
-static void *
-record (void *arg)
-{
-    test_runner_t *tr = arg;
-
-    pthread_cleanup_push (cleanup_recorder, tr);
-    execute (tr);
-    pthread_cleanup_pop (TRUE);
-
-    return NULL;
-}
-
-/* The recorder is special:
- * 1. It doesn't generate an image, but keeps an in-memory trace to
- *    reconstruct any surface.
- * 2. Runs in the same process, but separate thread.
- */
-static pid_t
-spawn_recorder (const char *socket_path, const char *trace, test_runner_t **out)
-{
-    test_runner_t *tr;
-    pthread_t id;
-    pthread_attr_t attr;
-    pid_t pid = getpid ();
-
-    if (DEBUG)
-       printf ("Spawning recorder for %s\n", trace);
-
-    tr = malloc (sizeof (*tr));
-    if (tr == NULL)
-       return -1;
-
-    tr->is_recording = TRUE;
-    tr->pid = pid;
-    tr->sk = spawn_socket (socket_path, tr->pid);
-    if (tr->sk == -1) {
-       free (tr);
-       return -1;
-    }
-
-    tr->base = NULL;
-    tr->name = NULL;
-    tr->contexts = NULL;
-    tr->context_id = 0;
-    tr->trace = trace;
-
-    tr->surface = cairo_recording_surface_create (CAIRO_CONTENT_COLOR_ALPHA,
-                                                 NULL);
-    if (tr->surface == NULL) {
-       cleanup_recorder (tr);
-       return -1;
-    }
-
-    pthread_attr_init (&attr);
-    pthread_attr_setdetachstate (&attr, TRUE);
-    if (pthread_create (&id, &attr, record, tr) < 0) {
-       pthread_attr_destroy (&attr);
-       cleanup_recorder (tr);
-       return -1;
-    }
-    pthread_attr_destroy (&attr);
-
-
-    *out = tr;
-    return pid;
-}
-#endif
-
-/* XXX imagediff - is the extra expense worth it? */
-static cairo_bool_t
-matches_reference (struct slave *slave)
-{
-    cairo_surface_t *a, *b;
-
-    a = slave->image;
-    b = slave->reference->image;
-
-    if (a == b)
-       return TRUE;
-
-    if (a == NULL || b == NULL)
-       return FALSE;
-
-    if (cairo_surface_status (a) || cairo_surface_status (b))
-       return FALSE;
-
-    if (cairo_surface_get_type (a) != cairo_surface_get_type (b))
-       return FALSE;
-
-    if (cairo_image_surface_get_format (a) != cairo_image_surface_get_format (b))
-       return FALSE;
-
-    if (cairo_image_surface_get_width (a) != cairo_image_surface_get_width (b))
-       return FALSE;
-
-    if (cairo_image_surface_get_height (a) != cairo_image_surface_get_height (b))
-       return FALSE;
-
-    if (cairo_image_surface_get_stride (a) != cairo_image_surface_get_stride (b))
-       return FALSE;
-
-    if (FALSE && cairo_surface_get_content (a) & CAIRO_CONTENT_COLOR) {
-       cairo_surface_t *diff;
-       int width, height, stride, size;
-       unsigned char *data;
-       cairo_status_t status;
-
-       width = cairo_image_surface_get_width (a);
-       height = cairo_image_surface_get_height (a);
-       stride = cairo_image_surface_get_stride (a);
-       size = height * stride * 4;
-       data = malloc (size);
-       if (data == NULL)
-           return FALSE;
-
-       diff = cairo_image_surface_create_for_data (data,
-                                                   cairo_image_surface_get_format (a),
-                                                   width, height, stride);
-       cairo_surface_set_user_data (diff, (cairo_user_data_key_t *) diff,
-                                    data, free);
-
-       status = image_diff (NULL, a, b, diff, &slave->result);
-       if (status) {
-           cairo_surface_destroy (diff);
-           return FALSE;
-       }
-
-       if (image_diff_is_failure (&slave->result, slave->target->error_tolerance)) {
-           slave->difference = diff;
-           return FALSE;
-       } else {
-           cairo_surface_destroy (diff);
-           return TRUE;
-       }
-    } else {
-       int width, height, stride;
-       const uint8_t *aa, *bb;
-       int x, y;
-
-       width = cairo_image_surface_get_width (a);
-       height = cairo_image_surface_get_height (a);
-       stride = cairo_image_surface_get_stride (a);
-
-       aa = cairo_image_surface_get_data (a);
-       bb = cairo_image_surface_get_data (b);
-       switch (cairo_image_surface_get_format (a)) {
-       case CAIRO_FORMAT_ARGB32:
-           for (y = 0; y < height; y++) {
-               const uint32_t *ua = (uint32_t *) aa;
-               const uint32_t *ub = (uint32_t *) bb;
-               for (x = 0; x < width; x++) {
-                   if (ua[x] != ub[x]) {
-                       int channel;
-
-                       for (channel = 0; channel < 4; channel++) {
-                           unsigned va, vb, diff;
-
-                           va = (ua[x] >> (channel*8)) & 0xff;
-                           vb = (ub[x] >> (channel*8)) & 0xff;
-                           diff = abs (va - vb);
-                           if (diff > slave->target->error_tolerance)
-                               return FALSE;
-                       }
-                   }
-               }
-               aa += stride;
-               bb += stride;
-           }
-           break;
-
-       case CAIRO_FORMAT_RGB24:
-           for (y = 0; y < height; y++) {
-               const uint32_t *ua = (uint32_t *) aa;
-               const uint32_t *ub = (uint32_t *) bb;
-               for (x = 0; x < width; x++) {
-                   if ((ua[x] & 0x00ffffff) != (ub[x] & 0x00ffffff)) {
-                       int channel;
-
-                       for (channel = 0; channel < 3; channel++) {
-                           unsigned va, vb, diff;
-
-                           va = (ua[x] >> (channel*8)) & 0xff;
-                           vb = (ub[x] >> (channel*8)) & 0xff;
-                           diff = abs (va - vb);
-                           if (diff > slave->target->error_tolerance)
-                               return FALSE;
-                       }
-                   }
-               }
-               aa += stride;
-               bb += stride;
-           }
-           break;
-
-       case CAIRO_FORMAT_A8:
-           for (y = 0; y < height; y++) {
-               for (x = 0; x < width; x++) {
-                   if (aa[x] != bb[x]) {
-                       unsigned diff = abs (aa[x] - bb[x]);
-                       if (diff > slave->target->error_tolerance)
-                           return FALSE;
-                   }
-               }
-               aa += stride;
-               bb += stride;
-           }
-           break;
-
-       case CAIRO_FORMAT_A1:
-           width /= 8;
-           for (y = 0; y < height; y++) {
-               if (memcmp (aa, bb, width))
-                   return FALSE;
-               aa += stride;
-               bb += stride;
-           }
-           break;
-
-       case CAIRO_FORMAT_RGB30:
-       case CAIRO_FORMAT_RGB16_565:
-       case CAIRO_FORMAT_INVALID:
-           assert (0);
-       }
-
-       return TRUE;
-    }
-}
-
-static cairo_bool_t
-check_images (struct slave *slaves, int num_slaves)
-{
-    int n;
-
-    if (ignore_image_differences)
-       return TRUE;
-
-    for (n = 0; n < num_slaves; n++) {
-       if (slaves[n].reference == NULL)
-           continue;
-
-       if (! matches_reference (&slaves[n]))
-           return FALSE;
-    }
-
-    return TRUE;
-}
-
-static void
-write_images (const char *trace, struct slave *slave, int num_slaves)
-{
-    while (num_slaves--) {
-       if (slave->image != NULL && ! slave->is_recording) {
-           char *filename;
-
-           xasprintf (&filename, "%s-%s-fail.png",
-                      trace, slave->target->name);
-           cairo_surface_write_to_png (slave->image, filename);
-           free (filename);
-
-           if (slave->difference) {
-               xasprintf (&filename, "%s-%s-diff.png",
-                          trace, slave->target->name);
-               cairo_surface_write_to_png (slave->difference, filename);
-               free (filename);
-           }
-       }
-
-       slave++;
-    }
-}
-
-static void
-write_result (const char *trace, struct slave *slave)
-{
-    static int index;
-    char *filename;
-
-    xasprintf (&filename, "%s-%s-pass-%d-%d-%d.png",
-              trace, slave->target->name, ++index,
-              slave->start_line, slave->end_line);
-    cairo_surface_write_to_png (slave->image, filename);
-    free (filename);
-}
-
-static void
-write_trace (const char *trace, const char *id, struct slave *slave)
-{
-#if CAIRO_HAS_SCRIPT_SURFACE
-    cairo_device_t *script;
-    char *filename;
-
-    assert (slave->is_recording);
-
-    xasprintf (&filename, "%s-%s.trace", trace, id);
-
-    script = cairo_script_create (filename);
-    cairo_script_from_recording_surface (script, slave->image);
-    cairo_device_destroy (script);
-
-    free (filename);
-#endif
-}
-
-static void
-dump_traces (test_runner_t *tr,
-            const char *trace,
-            const char *target,
-            const char *fail)
-{
-#if CAIRO_HAS_SCRIPT_SURFACE
-    struct context_closure *c;
-
-    for (c = tr->contexts; c; c = c->next) {
-       cairo_device_t *script;
-       char *filename;
-
-       xasprintf (&filename, "%s-%s-%s.%lu.trace",
-                  trace, target, fail, c->start_line);
-
-       script = cairo_script_create (filename);
-       cairo_script_from_recording_surface (script, c->surface);
-       cairo_device_destroy (script);
-
-       free (filename);
-    }
-#endif
-}
-
-static unsigned long
-allocate_image_for_slave (uint8_t *base,
-                         unsigned long offset,
-                         struct slave *slave)
-{
-    struct request_image rq;
-    int size;
-    uint8_t *data;
-
-    assert (slave->image == NULL);
-
-    readn (slave->fd, &rq, sizeof (rq));
-    slave->image_serial = rq.id;
-    slave->start_line = rq.start_line;
-    slave->end_line = rq.end_line;
-
-    slave->width = rq.width;
-    slave->height = rq.height;
-
-    if (DEBUG > 1) {
-       printf ("allocate-image-for-slave: %s %lu [%lu, %lu] %ldx%ld stride=%lu => %lu, is-recording? %d\n",
-               TARGET_NAME (slave->target),
-               slave->image_serial,
-               slave->start_line,
-               slave->end_line,
-               slave->width,
-               slave->height,
-               rq.stride,
-               offset,
-               slave->is_recording);
-    }
-
-    if (slave->is_recording) {
-       /* special communication with recording-surface thread */
-       slave->image = cairo_surface_reference ((cairo_surface_t *) rq.stride);
-    } else {
-       size = rq.height * rq.stride;
-       size = (size + 4095) & -4096;
-       data = base + offset;
-       offset += size;
-       assert (offset <= DATA_SIZE);
-
-       slave->image = cairo_image_surface_create_for_data (data, rq.format,
-                                                           rq.width, rq.height,
-                                                           rq.stride);
-    }
-
-    return offset;
-}
-
-struct error_info {
-    unsigned long context_id;
-    unsigned long start_line;
-    unsigned long end_line;
-};
-
-static cairo_bool_t
-test_run (void *base,
-         int sk,
-         const char *trace,
-         struct slave *slaves,
-         int num_slaves,
-         struct error_info *error)
-{
-    struct pollfd *pfd;
-    int npfd, cnt, n, i;
-    int completion, err = 0;
-    cairo_bool_t ret = FALSE;
-    unsigned long image;
-
-    if (DEBUG) {
-       printf ("Running trace '%s' over %d slaves\n",
-               trace, num_slaves);
-    }
-
-    pfd = xcalloc (num_slaves+1, sizeof (*pfd));
-
-    pfd[0].fd = sk;
-    pfd[0].events = POLLIN;
-    npfd = 1;
-
-    completion = 0;
-    image = 0;
-    while ((cnt = poll (pfd, npfd, -1)) > 0) {
-       if (pfd[0].revents) {
-           int fd;
-
-           while ((fd = accept (sk, NULL, NULL)) != -1) {
-               pid_t pid;
-
-               readn (fd, &pid, sizeof (pid));
-               for (n = 0; n < num_slaves; n++) {
-                   if (slaves[n].pid == pid) {
-                       slaves[n].fd = fd;
-                       break;
-                   }
-               }
-               if (n == num_slaves) {
-                   if (DEBUG)
-                       printf ("unknown slave pid\n");
-                   goto out;
-               }
-
-               pfd[npfd].fd = fd;
-               pfd[npfd].events = POLLIN;
-               npfd++;
-
-               if (! writen (fd, &pid, sizeof (pid)))
-                   goto out;
-           }
-           cnt--;
-       }
-
-       for (n = 1; n < npfd && cnt; n++) {
-           if (! pfd[n].revents)
-               continue;
-
-           if (pfd[n].revents & POLLHUP) {
-               pfd[n].events = pfd[n].revents = 0;
-               completion++;
-               continue;
-           }
-
-           for (i = 0; i < num_slaves; i++) {
-               if (slaves[i].fd == pfd[n].fd) {
-                   /* Communication with the slave is done in three phases,
-                    * and we do each pass synchronously.
-                    *
-                    * 1. The slave requests an image buffer, which we
-                    * allocate and then return to the slave the offset into
-                    * the shared memory segment.
-                    *
-                    * 2. The slave indicates that it has finished writing
-                    * into the shared image buffer. The slave now waits
-                    * for the server to collate all the image data - thereby
-                    * throttling the slaves.
-                    *
-                    * 3. After all slaves have finished writing their images,
-                    * we compare them all against the reference image and,
-                    * if satisfied, send an acknowledgement to all slaves.
-                    */
-                   if (slaves[i].image_serial == 0) {
-                       unsigned long offset;
-
-                       image =
-                           allocate_image_for_slave (base,
-                                                     offset = image,
-                                                     &slaves[i]);
-                       if (! writen (pfd[n].fd, &offset, sizeof (offset))) {
-                           pfd[n].events = pfd[n].revents = 0;
-                           err = 1;
-                           completion++;
-                           continue;
-                       }
-                   } else {
-                       readn (pfd[n].fd,
-                              &slaves[i].image_ready,
-                              sizeof (slaves[i].image_ready));
-                       if (DEBUG) {
-                           printf ("slave '%s' reports completion on %lu (expecting %lu)\n",
-                                   TARGET_NAME (slaves[i].target),
-                                   slaves[i].image_ready,
-                                   slaves[i].image_serial);
-                       }
-                       if (slaves[i].image_ready != slaves[i].image_serial) {
-                           pfd[n].events = pfd[n].revents = 0;
-                           err = 1;
-                           completion++;
-                           continue;
-                       }
-
-                       /* Can anyone spell 'P·E·D·A·N·T'? */
-                       if (! slaves[i].is_recording)
-                           cairo_surface_mark_dirty (slaves[i].image);
-                       completion++;
-                   }
-
-                   break;
-               }
-           }
-
-           cnt--;
-       }
-
-       if (completion >= num_slaves) {
-           if (err) {
-               if (DEBUG > 1)
-                   printf ("error detected\n");
-               goto out;
-           }
-
-           if (DEBUG > 1) {
-               printf ("all saves report completion\n");
-           }
-           if (slaves[0].end_line >= slaves[0].start_line &&
-               ! check_images (slaves, num_slaves)) {
-               error->context_id = slaves[0].image_serial;
-               error->start_line = slaves[0].start_line;
-               error->end_line = slaves[0].end_line;
-
-               if (DEBUG) {
-                   printf ("check_images failed: %lu, [%lu, %lu]\n",
-                           slaves[0].image_serial,
-                           slaves[0].start_line,
-                           slaves[0].end_line);
-               }
-
-               write_images (trace, slaves, num_slaves);
-
-               if (slaves[0].is_recording)
-                   write_trace (trace, "fail", &slaves[0]);
-
-               goto out;
-           }
-
-           if (write_results) write_result (trace, &slaves[1]);
-           if (write_traces && slaves[0].is_recording) {
-               char buf[80];
-               snprintf (buf, sizeof (buf), "%d", slaves[0].image_serial);
-               write_trace (trace, buf, &slaves[0]);
-           }
-
-           /* ack */
-           for (i = 0; i < num_slaves; i++) {
-               cairo_surface_destroy (slaves[i].image);
-               slaves[i].image = NULL;
-
-               if (DEBUG > 1) {
-                   printf ("sending continuation to '%s'\n",
-                           TARGET_NAME (slaves[i].target));
-               }
-               if (! writen (slaves[i].fd,
-                             &slaves[i].image_serial,
-                             sizeof (slaves[i].image_serial)))
-               {
-                   goto out;
-               }
-
-               slaves[i].image_serial = 0;
-               slaves[i].image_ready = 0;
-           }
-
-           completion = 0;
-           image = 0;
-       }
-    }
-done:
-    ret = TRUE;
-
-out:
-    if (DEBUG) {
-       printf ("run complete: %d\n", ret);
-    }
-
-    for (n = 0; n < num_slaves; n++) {
-       if (slaves[n].fd != -1)
-           close (slaves[n].fd);
-
-       if (slaves[n].image == NULL)
-           continue;
-
-       cairo_surface_destroy (slaves[n].image);
-       slaves[n].image = NULL;
-
-       cairo_surface_destroy (slaves[n].difference);
-       slaves[n].difference = NULL;
-
-       slaves[n].image_serial = 0;
-       slaves[n].image_ready = 0;
-    }
-
-    free (pfd);
-
-    return ret;
-}
-
-static int
-server_socket (const char *socket_path)
-{
-    long flags;
-    struct sockaddr_un addr;
-    int sk;
-
-    sk = socket (PF_UNIX, SOCK_STREAM, 0);
-    if (sk == -1)
-       return -1;
-
-    memset (&addr, 0, sizeof (addr));
-    addr.sun_family = AF_UNIX;
-    strcpy (addr.sun_path, socket_path);
-    if (bind (sk, (struct sockaddr *) &addr, sizeof (addr)) == -1) {
-       close (sk);
-       return -1;
-    }
-
-    flags = fcntl (sk, F_GETFL);
-    if (flags == -1 || fcntl (sk, F_SETFL, flags | O_NONBLOCK) == -1) {
-       close (sk);
-       return -1;
-    }
-
-    if (listen (sk, 5) == -1) {
-       close (sk);
-       return -1;
-    }
-
-    return sk;
-}
-
-static int
-server_shm (const char *shm_path)
-{
-    int fd;
-
-    fd = shm_open (shm_path, O_RDWR | O_EXCL | O_CREAT, 0777);
-    if (fd == -1)
-       return -1;
-
-    if (ftruncate (fd, DATA_SIZE) == -1) {
-       close (fd);
-       return -1;
-    }
-
-    return fd;
-}
-
-static cairo_bool_t
-_test_trace (test_trace_t *test,
-            const char *trace,
-            const char *name,
-            struct error_info *error)
-{
-    const char *shm_path = SHM_PATH_XXX;
-    const cairo_boilerplate_target_t *target, *image;
-    struct slave *slaves, *s;
-    test_runner_t *recorder = NULL;
-    pid_t slave;
-    char socket_dir[] = "/tmp/cairo-test-trace.XXXXXX";
-    char *socket_path;
-    int sk, fd;
-    int i, num_slaves;
-    void *base;
-    cairo_bool_t ret = FALSE;
-
-    if (DEBUG)
-       printf ("setting up trace '%s'\n", trace);
-
-    /* create a socket to control the test runners */
-    if (mkdtemp (socket_dir) == NULL) {
-       fprintf (stderr, "Unable to create temporary name for socket\n");
-       return FALSE;
-    }
-
-    xasprintf (&socket_path, "%s/socket", socket_dir);
-    sk = server_socket (socket_path);
-    if (sk == -1) {
-       fprintf (stderr, "Unable to create socket for server\n");
-       goto cleanup_paths;
-    }
-
-    /* allocate some shared memory */
-    fd = server_shm (shm_path);
-    if (fd == -1) {
-       fprintf (stderr, "Unable to create shared memory '%s': %s\n",
-                shm_path, strerror (errno));
-       goto cleanup_sk;
-    }
-
-    image = cairo_boilerplate_get_image_target (CAIRO_CONTENT_COLOR_ALPHA);
-    assert (image != NULL);
-
-    s = slaves = xcalloc (2*test->num_targets + 1, sizeof (struct slave));
-
-#if CAIRO_HAS_REAL_PTHREAD
-    /* set-up a recording-surface to reconstruct errors */
-    slave = spawn_recorder (socket_path, trace, &recorder);
-    if (slave < 0) {
-        fprintf (stderr, "Unable to create recording surface\n");
-        goto cleanup_sk;
-    }
-
-    s->pid = slave;
-    s->is_recording = TRUE;
-    s->target = NULL;
-    s->fd = -1;
-    s->reference = NULL;
-    s++;
-#endif
-
-    /* spawn slave processes to run the trace */
-    for (i = 0; i < test->num_targets; i++) {
-       const cairo_boilerplate_target_t *reference;
-       struct slave *master;
-
-       target = test->targets[i];
-
-       if (DEBUG)
-           printf ("setting up target[%d]? '%s' (image? %d, measurable? %d)\n",
-                   i, target->name, target == image, target->is_measurable);
-
-       if (target == image || ! target->is_measurable)
-           continue;
-
-       /* find a matching slave to use as a reference for this target */
-       if (target->reference_target != NULL) {
-           reference =
-               cairo_boilerplate_get_target_by_name (target->reference_target,
-                                                     target->content);
-           assert (reference != NULL);
-       } else {
-           reference = image;
-       }
-       for (master = slaves; master < s; master++) {
-           if (master->target == reference)
-               break;
-       }
-
-       if (master == s) {
-           /* no match found, spawn a slave to render the reference image */
-           slave = spawn_target (socket_path, shm_path, reference, trace);
-           if (slave < 0)
-               continue;
-
-           s->pid = slave;
-           s->target = reference;
-           s->fd = -1;
-           s->reference = NULL;
-           s++;
-       }
-
-       slave = spawn_target (socket_path, shm_path, target, trace);
-       if (slave < 0)
-           continue;
-
-       s->pid = slave;
-       s->target = target;
-       s->fd = -1;
-       s->reference = master;
-       s++;
-    }
-    num_slaves = s - slaves;
-    if (num_slaves == 1) {
-       fprintf (stderr, "No targets to test\n");
-       goto cleanup;
-    }
-
-    base = mmap (NULL, DATA_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-    if (base == MAP_FAILED) {
-       fprintf (stderr, "Unable to mmap shared memory\n");
-       goto cleanup;
-    }
-    ret = test_run (base, sk, name, slaves, num_slaves, error);
-    munmap (base, DATA_SIZE);
-
-cleanup:
-    close (fd);
-    while (s-- > slaves) {
-       int status;
-
-       if (s->fd != -1)
-           close (s->fd);
-
-       cairo_surface_destroy (s->image);
-       cairo_surface_destroy (s->difference);
-
-       if (s->is_recording) /* in-process */
-           continue;
-
-       kill (s->pid, SIGKILL);
-       waitpid (s->pid, &status, 0);
-       if (WIFSIGNALED (status) && WTERMSIG(status) != SIGKILL) {
-           fprintf (stderr, "%s crashed\n", s->target->name);
-           if (recorder)
-               dump_traces (recorder, trace, s->target->name, "crash");
-       }
-    }
-    free (slaves);
-    shm_unlink (shm_path);
-cleanup_sk:
-    close (sk);
-
-cleanup_paths:
-    remove (socket_path);
-    remove (socket_dir);
-
-    free (socket_path);
-    return ret;
-}
-
-static void
-test_trace (test_trace_t *test, const char *trace)
-{
-    char *trace_cpy, *name, *dot;
-
-    trace_cpy = xstrdup (trace);
-    name = basename (trace_cpy);
-    dot = strchr (name, '.');
-    if (dot)
-       *dot = '\0';
-
-    if (test->list_only) {
-       printf ("%s\n", name);
-    } else {
-       struct error_info error = {0};
-       cairo_bool_t ret;
-
-       printf ("%s: ", name);
-       fflush (stdout);
-
-       ret = _test_trace (test, trace, name, &error);
-       if (ret) {
-           printf ("PASS\n");
-       } else {
-           if (error.context_id) {
-               printf ("FAIL (context %lu, lines [%lu, %lu])\n",
-                       error.context_id,
-                       error.start_line,
-                       error.end_line);
-           } else {
-               printf ("FAIL\n");
-           }
-       }
-    }
-
-    free (trace_cpy);
-}
-
-static cairo_bool_t
-read_excludes (test_trace_t *test, const char *filename)
-{
-    FILE *file;
-    char *line = NULL;
-    size_t line_size = 0;
-    char *s, *t;
-
-    file = fopen (filename, "r");
-    if (file == NULL)
-       return FALSE;
-
-    while (getline (&line, &line_size, file) != -1) {
-       /* terminate the line at a comment marker '#' */
-       s = strchr (line, '#');
-       if (s)
-           *s = '\0';
-
-       /* whitespace delimits */
-       s = line;
-       while (*s != '\0' && isspace (*s))
-           s++;
-
-       t = s;
-       while (*t != '\0' && ! isspace (*t))
-           t++;
-
-       if (s != t) {
-           int i = test->num_exclude_names;
-           test->exclude_names = xrealloc (test->exclude_names,
-                                           sizeof (char *) * (i+1));
-           test->exclude_names[i] = strndup (s, t-s);
-           test->num_exclude_names++;
-       }
-    }
-    free (line);
-
-    fclose (file);
-
-    return TRUE;
-}
-
-static void
-usage (const char *argv0)
-{
-    fprintf (stderr,
-"Usage: %s [-l] [-x exclude-file] [test-names ... | traces ...]\n"
-"\n"
-"Run the cairo test suite over the given traces (all by default).\n"
-"The command-line arguments are interpreted as follows:\n"
-"\n"
-"  -l  list only; just list selected test case names without executing\n"
-"  -x  exclude; specify a file to read a list of traces to exclude\n"
-"\n"
-"If test names are given they are used as sub-string matches so a command\n"
-"such as \"%s firefox\" can be used to run all firefox traces.\n"
-"Alternatively, you can specify a list of filenames to execute.\n",
-            argv0, argv0);
-}
-
-static void
-parse_options (test_trace_t *test, int argc, char *argv[])
-{
-    int c;
-
-    test->list_only = FALSE;
-    test->names = NULL;
-    test->num_names = 0;
-    test->exclude_names = NULL;
-    test->num_exclude_names = 0;
-
-    while (1) {
-       c = _cairo_getopt (argc, argv, "lx:");
-       if (c == -1)
-           break;
-
-       switch (c) {
-       case 'l':
-           test->list_only = TRUE;
-           break;
-       case 'x':
-           if (! read_excludes (test, optarg)) {
-               fprintf (stderr, "Invalid argument for -x (not readable file): %s\n",
-                        optarg);
-               exit (1);
-           }
-           break;
-       default:
-           fprintf (stderr, "Internal error: unhandled option: %c\n", c);
-           /* fall-through */
-       case '?':
-           usage (argv[0]);
-           exit (1);
-       }
-    }
-
-    if (optind < argc) {
-       test->names = &argv[optind];
-       test->num_names = argc - optind;
-    }
-}
-
-static void
-test_reset (test_trace_t *test)
-{
-    /* XXX leaking fonts again via recording-surface? */
-#if 0
-    cairo_debug_reset_static_data ();
-#if HAVE_FCFINI
-    FcFini ();
-#endif
-#endif
-}
-
-static void
-test_fini (test_trace_t *test)
-{
-    test_reset (test);
-
-    cairo_boilerplate_free_targets (test->targets);
-    free (test->exclude_names);
-}
-
-static cairo_bool_t
-test_has_filenames (test_trace_t *test)
-{
-    unsigned int i;
-
-    if (test->num_names == 0)
-       return FALSE;
-
-    for (i = 0; i < test->num_names; i++)
-       if (access (test->names[i], R_OK) == 0)
-           return TRUE;
-
-    return FALSE;
-}
-
-static cairo_bool_t
-test_can_run (test_trace_t *test, const char *name)
-{
-    unsigned int i;
-    char *copy, *dot;
-    cairo_bool_t ret;
-
-    if (test->num_names == 0 && test->num_exclude_names == 0)
-       return TRUE;
-
-    copy = xstrdup (name);
-    dot = strrchr (copy, '.');
-    if (dot != NULL)
-       *dot = '\0';
-
-    if (test->num_names) {
-       ret = TRUE;
-       for (i = 0; i < test->num_names; i++)
-           if (strstr (copy, test->names[i]))
-               goto check_exclude;
-
-       ret = FALSE;
-       goto done;
-    }
-
-check_exclude:
-    if (test->num_exclude_names) {
-       ret = FALSE;
-       for (i = 0; i < test->num_exclude_names; i++)
-           if (strstr (copy, test->exclude_names[i]))
-               goto done;
-
-       ret = TRUE;
-       goto done;
-    }
-
-done:
-    free (copy);
-
-    return ret;
-}
-
-static void
-warn_no_traces (const char *message, const char *trace_dir)
-{
-    fprintf (stderr,
-"Error: %s '%s'.\n"
-"Have you cloned the cairo-traces repository and uncompressed the traces?\n"
-"  git clone git://anongit.freedesktop.org/cairo-traces\n"
-"  cd cairo-traces && make\n"
-"Or set the env.var CAIRO_TRACE_DIR to point to your traces?\n",
-           message, trace_dir);
-}
-
-static void
-interrupt (int sig)
-{
-    shm_unlink (SHM_PATH_XXX);
-
-    signal (sig, SIG_DFL);
-    raise (sig);
-}
-
-int
-main (int argc, char *argv[])
-{
-    test_trace_t test;
-    const char *trace_dir = "cairo-traces";
-    unsigned int n;
-
-    signal (SIGPIPE, SIG_IGN);
-    signal (SIGINT, interrupt);
-
-    parse_options (&test, argc, argv);
-
-    shm_unlink (SHM_PATH_XXX);
-
-    if (getenv ("CAIRO_TRACE_DIR") != NULL)
-       trace_dir = getenv ("CAIRO_TRACE_DIR");
-
-    test.targets = cairo_boilerplate_get_targets (&test.num_targets, NULL);
-
-    if (test_has_filenames (&test)) {
-       for (n = 0; n < test.num_names; n++) {
-           if (access (test.names[n], R_OK) == 0) {
-               test_trace (&test, test.names[n]);
-               test_reset (&test);
-           }
-       }
-    } else {
-       DIR *dir;
-       struct dirent *de;
-       int num_traces = 0;
-
-       dir = opendir (trace_dir);
-       if (dir == NULL) {
-           warn_no_traces ("Failed to open directory", trace_dir);
-           test_fini (&test);
-           return 1;
-       }
-
-       while ((de = readdir (dir)) != NULL) {
-           char *trace;
-           const char *dot;
-
-           dot = strrchr (de->d_name, '.');
-           if (dot == NULL)
-               continue;
-           if (strcmp (dot, ".trace"))
-               continue;
-
-           num_traces++;
-           if (! test_can_run (&test, de->d_name))
-               continue;
-
-           xasprintf (&trace, "%s/%s", trace_dir, de->d_name);
-           test_trace (&test, trace);
-           test_reset (&test);
-
-           free (trace);
-
-       }
-       closedir (dir);
-
-       if (num_traces == 0) {
-           warn_no_traces ("Found no traces in", trace_dir);
-           test_fini (&test);
-           return 1;
-       }
-    }
-
-    test_fini (&test);
-
-    return 0;
-}
-
-void
-cairo_test_logv (const cairo_test_context_t *ctx,
-                const char *fmt, va_list va)
-{
-#if 0
-    vfprintf (stderr, fmt, va);
-#endif
-}
-
-void
-cairo_test_log (const cairo_test_context_t *ctx, const char *fmt, ...)
-{
-#if 0
-    va_list va;
-
-    va_start (va, fmt);
-    vfprintf (stderr, fmt, va);
-    va_end (va);
-#endif
-}
diff --git a/test/cairo-test.c b/test/cairo-test.c
deleted file mode 100644 (file)
index 3f37147..0000000
+++ /dev/null
@@ -1,1797 +0,0 @@
-/*
- * Copyright © 2004 Red Hat, Inc.
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#define _GNU_SOURCE 1  /* for feenableexcept() et al */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <ctype.h>
-#if HAVE_FEENABLEEXCEPT
-#include <fenv.h>
-#endif
-#include <assert.h>
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <errno.h>
-#include <string.h>
-#if HAVE_FCFINI
-#include <fontconfig/fontconfig.h>
-#endif
-#if CAIRO_HAS_REAL_PTHREAD
-#include <pthread.h>
-#endif
-#if HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-
-#if HAVE_VALGRIND
-#include <valgrind.h>
-#else
-#define RUNNING_ON_VALGRIND 0
-#endif
-
-#if HAVE_MEMFAULT
-#include <memfault.h>
-#define MF(x) x
-#else
-#define MF(x)
-#endif
-
-#include "cairo-test-private.h"
-
-#include "buffer-diff.h"
-
-#ifdef _MSC_VER
-#include <crtdbg.h>
-#include <direct.h>
-#define F_OK 0
-#define HAVE_MKDIR 1
-#define mkdir _mkdir
-#endif
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE !FALSE
-#endif
-
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(A) (sizeof(A) / sizeof (A[0]))
-#endif
-
-#if ! HAVE_ALARM || ! defined(SIGALRM)
-#define alarm(X);
-#endif
-
-static const cairo_user_data_key_t _cairo_test_context_key;
-
-static void
-_xunlink (const cairo_test_context_t *ctx, const char *pathname);
-
-static const char *fail_face = "", *xfail_face="", *normal_face = "";
-static cairo_bool_t print_fail_on_stdout;
-static int cairo_test_timeout = 60;
-
-#define NUM_DEVICE_OFFSETS 2
-
-static cairo_bool_t
-_cairo_test_mkdir (const char *path)
-{
-#if ! HAVE_MKDIR
-    return FALSE;
-#elif HAVE_MKDIR == 1
-    if (mkdir (path) == 0)
-       return TRUE;
-#elif HAVE_MKDIR == 2
-    if (mkdir (path, 0770) == 0)
-       return TRUE;
-#else
-#error Bad value for HAVE_MKDIR
-#endif
-
-    return errno == EEXIST;
-}
-
-static char *
-_cairo_test_fixup_name (const char *original)
-{
-    char *name, *s;
-
-    s = name = xstrdup (original);
-    while ((s = strchr (s, '_')) != NULL)
-       *s++ = '-';
-
-    return name;
-}
-
-char *
-cairo_test_get_name (const cairo_test_t *test)
-{
-    return _cairo_test_fixup_name (test->name);
-}
-
-static void
-_cairo_test_init (cairo_test_context_t *ctx,
-                 const cairo_test_context_t *parent,
-                 const cairo_test_t *test,
-                 const char *test_name,
-                 const char *output)
-{
-    char *log_name;
-
-    MF (MEMFAULT_DISABLE_FAULTS ());
-
-#if HAVE_FEENABLEEXCEPT
-    feenableexcept (FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
-#endif
-
-    ctx->test = test;
-    ctx->test_name = _cairo_test_fixup_name (test_name);
-    ctx->output = output;
-
-    _cairo_test_mkdir (ctx->output);
-
-    ctx->malloc_failure = 0;
-#if HAVE_MEMFAULT
-    if (getenv ("CAIRO_TEST_MALLOC_FAILURE"))
-       ctx->malloc_failure = atoi (getenv ("CAIRO_TEST_MALLOC_FAILURE"));
-    if (ctx->malloc_failure && ! RUNNING_ON_MEMFAULT ())
-       ctx->malloc_failure = 0;
-#endif
-
-    ctx->timeout = cairo_test_timeout;
-    if (getenv ("CAIRO_TEST_TIMEOUT"))
-       ctx->timeout = atoi (getenv ("CAIRO_TEST_TIMEOUT"));
-
-    xasprintf (&log_name, "%s/%s%s", ctx->output, ctx->test_name, CAIRO_TEST_LOG_SUFFIX);
-    _xunlink (NULL, log_name);
-
-    ctx->log_file = fopen (log_name, "a");
-    if (ctx->log_file == NULL) {
-       fprintf (stderr, "Error opening log file: %s\n", log_name);
-       ctx->log_file = stderr;
-    }
-    free (log_name);
-
-    ctx->ref_name = NULL;
-    ctx->ref_image = NULL;
-    ctx->ref_image_flattened = NULL;
-
-    if (parent != NULL) {
-       ctx->targets_to_test = parent->targets_to_test;
-       ctx->num_targets = parent->num_targets;
-       ctx->limited_targets = parent->limited_targets;
-       ctx->own_targets = FALSE;
-
-       ctx->srcdir = parent->srcdir;
-       ctx->refdir = parent->refdir;
-    } else {
-       int tmp_num_targets;
-       cairo_bool_t tmp_limited_targets;
-
-       ctx->targets_to_test = cairo_boilerplate_get_targets (&tmp_num_targets, &tmp_limited_targets);
-       ctx->num_targets = tmp_num_targets;
-       ctx->limited_targets = tmp_limited_targets;
-       ctx->own_targets = TRUE;
-
-       ctx->srcdir = getenv ("srcdir");
-       if (ctx->srcdir == NULL)
-           ctx->srcdir = ".";
-
-       ctx->refdir = getenv ("CAIRO_REF_DIR");
-    }
-
-#ifdef HAVE_UNISTD_H
-    if (*fail_face == '\0' && isatty (2)) {
-       fail_face = "\033[41;37;1m";
-       xfail_face = "\033[43;37;1m";
-       normal_face = "\033[m";
-       if (isatty (1))
-           print_fail_on_stdout = FALSE;
-    }
-#endif
-
-    printf ("\nTESTING %s\n", ctx->test_name);
-}
-
-void
-_cairo_test_context_init_for_test (cairo_test_context_t *ctx,
-                                  const cairo_test_context_t *parent,
-                                  const cairo_test_t *test)
-{
-    _cairo_test_init (ctx, parent, test, test->name, CAIRO_TEST_OUTPUT_DIR);
-}
-
-void
-cairo_test_init (cairo_test_context_t *ctx,
-                const char *test_name,
-                const char *output)
-{
-    _cairo_test_init (ctx, NULL, NULL, test_name, output);
-}
-
-void
-cairo_test_fini (cairo_test_context_t *ctx)
-{
-    if (ctx->log_file == NULL)
-       return;
-
-    if (ctx->log_file != stderr)
-       fclose (ctx->log_file);
-    ctx->log_file = NULL;
-
-    free (ctx->ref_name);
-    cairo_surface_destroy (ctx->ref_image);
-    cairo_surface_destroy (ctx->ref_image_flattened);
-
-    if (ctx->test_name != NULL)
-       free ((char *) ctx->test_name);
-
-    if (ctx->own_targets)
-       cairo_boilerplate_free_targets (ctx->targets_to_test);
-
-    cairo_boilerplate_fini ();
-
-    cairo_debug_reset_static_data ();
-#if HAVE_FCFINI
-    FcFini ();
-#endif
-}
-
-void
-cairo_test_logv (const cairo_test_context_t *ctx,
-               const char *fmt, va_list va)
-{
-    FILE *file = ctx && ctx->log_file ? ctx->log_file : stderr;
-    vfprintf (file, fmt, va);
-}
-
-void
-cairo_test_log (const cairo_test_context_t *ctx, const char *fmt, ...)
-{
-    va_list va;
-
-    va_start (va, fmt);
-    cairo_test_logv (ctx, fmt, va);
-    va_end (va);
-}
-
-static void
-_xunlink (const cairo_test_context_t *ctx, const char *pathname)
-{
-    if (unlink (pathname) < 0 && errno != ENOENT) {
-       cairo_test_log (ctx, "Error: Cannot remove %s: %s\n",
-                       pathname, strerror (errno));
-       exit (1);
-    }
-}
-
-char *
-cairo_test_reference_filename (const cairo_test_context_t *ctx,
-                              const char *base_name,
-                              const char *test_name,
-                              const char *target_name,
-                              const char *base_target_name,
-                              const char *format,
-                              const char *suffix,
-                              const char *extension)
-{
-    char *ref_name = NULL;
-
-    /* First look for a previous build for comparison. */
-    if (ctx->refdir != NULL) {
-       xasprintf (&ref_name, "%s/%s%s%s",
-                  ctx->refdir,
-                  base_name,
-                  suffix,
-                  extension);
-       if (access (ref_name, F_OK) != 0)
-           free (ref_name);
-       else
-           goto done;
-    }
-
-    if (target_name != NULL) {
-       /* Next look for a target/format-specific reference image. */
-       xasprintf (&ref_name, "%s/reference/%s.%s.%s%s%s",
-                  ctx->srcdir,
-                  test_name,
-                  target_name,
-                  format,
-                  suffix,
-                  extension);
-       if (access (ref_name, F_OK) != 0)
-           free (ref_name);
-       else
-           goto done;
-
-       /* Next, look for target-specific reference image. */
-       xasprintf (&ref_name, "%s/reference/%s.%s%s%s",
-                  ctx->srcdir,
-                  test_name,
-                  target_name,
-                  suffix,
-                  extension);
-       if (access (ref_name, F_OK) != 0)
-           free (ref_name);
-       else
-           goto done;
-    }
-
-    if (base_target_name != NULL) {
-       /* Next look for a base/format-specific reference image. */
-       xasprintf (&ref_name, "%s/reference/%s.%s.%s%s%s",
-                  ctx->srcdir,
-                  test_name,
-                  base_target_name,
-                  format,
-                  suffix,
-                  extension);
-       if (access (ref_name, F_OK) != 0)
-           free (ref_name);
-       else
-           goto done;
-
-       /* Next, look for base-specific reference image. */
-       xasprintf (&ref_name, "%s/reference/%s.%s%s%s",
-                  ctx->srcdir,
-                  test_name,
-                  base_target_name,
-                  suffix,
-                  extension);
-       if (access (ref_name, F_OK) != 0)
-           free (ref_name);
-       else
-           goto done;
-    }
-
-    /* Next, look for format-specific reference image. */
-    xasprintf (&ref_name, "%s/reference/%s.%s%s%s",
-              ctx->srcdir,
-              test_name,
-              format,
-              suffix,
-              extension);
-    if (access (ref_name, F_OK) != 0)
-       free (ref_name);
-    else
-       goto done;
-
-    /* Finally, look for the standard reference image. */
-    xasprintf (&ref_name, "%s/reference/%s%s%s", ctx->srcdir,
-              test_name,
-              suffix,
-              extension);
-    if (access (ref_name, F_OK) != 0)
-       free (ref_name);
-    else
-       goto done;
-
-    ref_name = NULL;
-
-done:
-    return ref_name;
-}
-
-cairo_test_similar_t
-cairo_test_target_has_similar (const cairo_test_context_t *ctx,
-                              const cairo_boilerplate_target_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_test_similar_t has_similar;
-    cairo_t * cr;
-    cairo_surface_t *similar;
-    cairo_status_t status;
-    void *closure;
-    char *path;
-
-    /* ignore image intermediate targets */
-    if (target->expected_type == CAIRO_SURFACE_TYPE_IMAGE)
-       return DIRECT;
-
-    if (getenv ("CAIRO_TEST_IGNORE_SIMILAR"))
-       return DIRECT;
-
-    xasprintf (&path, "%s/%s",
-              _cairo_test_mkdir (ctx->output) ? ctx->output : ".",
-              ctx->test_name);
-
-    has_similar = DIRECT;
-    do {
-       do {
-           surface = (target->create_surface) (path,
-                                               target->content,
-                                               ctx->test->width,
-                                               ctx->test->height,
-                                               ctx->test->width + 25 * NUM_DEVICE_OFFSETS,
-                                               ctx->test->height + 25 * NUM_DEVICE_OFFSETS,
-                                               CAIRO_BOILERPLATE_MODE_TEST,
-                                               &closure);
-           if (surface == NULL)
-               goto out;
-       } while (cairo_test_malloc_failure (ctx, cairo_surface_status (surface)));
-
-       if (cairo_surface_status (surface))
-           goto out;
-
-       cr = cairo_create (surface);
-       cairo_push_group_with_content (cr,
-                                      cairo_boilerplate_content (target->content));
-       similar = cairo_get_group_target (cr);
-       status = cairo_surface_status (similar);
-
-       if (cairo_surface_get_type (similar) == cairo_surface_get_type (surface))
-           has_similar = SIMILAR;
-       else
-           has_similar = DIRECT;
-
-       cairo_destroy (cr);
-       cairo_surface_destroy (surface);
-
-       if (target->cleanup)
-           target->cleanup (closure);
-    } while (! has_similar && cairo_test_malloc_failure (ctx, status));
-out:
-    free (path);
-
-    return has_similar;
-}
-
-static cairo_surface_t *
-_cairo_test_flatten_reference_image (cairo_test_context_t *ctx,
-                                    cairo_bool_t flatten)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    if (! flatten)
-       return ctx->ref_image;
-
-    if (ctx->ref_image_flattened != NULL)
-       return ctx->ref_image_flattened;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                         cairo_image_surface_get_width (ctx->ref_image),
-                                         cairo_image_surface_get_height (ctx->ref_image));
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_surface (cr, ctx->ref_image, 0, 0);
-    cairo_paint (cr);
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    if (cairo_surface_status (surface) == CAIRO_STATUS_SUCCESS)
-       ctx->ref_image_flattened = surface;
-    return surface;
-}
-
-cairo_surface_t *
-cairo_test_get_reference_image (cairo_test_context_t *ctx,
-                               const char *filename,
-                               cairo_bool_t flatten)
-{
-    cairo_surface_t *surface;
-
-    if (ctx->ref_name != NULL) {
-       if (strcmp (ctx->ref_name, filename) == 0)
-           return _cairo_test_flatten_reference_image (ctx, flatten);
-
-       cairo_surface_destroy (ctx->ref_image);
-       ctx->ref_image = NULL;
-
-       cairo_surface_destroy (ctx->ref_image_flattened);
-       ctx->ref_image_flattened = NULL;
-
-       free (ctx->ref_name);
-       ctx->ref_name = NULL;
-    }
-
-    surface = cairo_image_surface_create_from_png (filename);
-    if (cairo_surface_status (surface))
-       return surface;
-
-    ctx->ref_name = xstrdup (filename);
-    ctx->ref_image = surface;
-    return _cairo_test_flatten_reference_image (ctx, flatten);
-}
-
-static cairo_bool_t
-cairo_test_file_is_older (const char *filename,
-                         char **ref_filenames,
-                         int num_ref_filenames)
-{
-#if HAVE_SYS_STAT_H
-    struct stat st;
-
-    if (stat (filename, &st) < 0)
-       return FALSE;
-
-    while (num_ref_filenames--) {
-       struct stat ref;
-       char *ref_filename = *ref_filenames++;
-
-       if (ref_filename == NULL)
-           continue;
-
-       if (stat (ref_filename++, &ref) < 0)
-           continue;
-
-       if (st.st_mtime <= ref.st_mtime)
-           return TRUE;
-    }
-#endif
-
-    return FALSE;
-}
-
-static cairo_bool_t
-cairo_test_files_equal (const char *test_filename,
-                       const char *pass_filename)
-{
-    FILE *test, *pass;
-    int t, p;
-
-    if (test_filename == NULL || pass_filename == NULL)
-       return FALSE;
-
-    test = fopen (test_filename, "rb");
-    if (test == NULL)
-       return FALSE;
-
-    pass = fopen (pass_filename, "rb");
-    if (pass == NULL) {
-       fclose (test);
-       return FALSE;
-    }
-
-    /* as simple as it gets */
-    do {
-       t = getc (test);
-       p = getc (pass);
-       if (t != p)
-           break;
-    } while (t != EOF && p != EOF);
-
-    fclose (pass);
-    fclose (test);
-
-    return t == p; /* both EOF */
-}
-
-static cairo_bool_t
-cairo_test_copy_file (const char *src_filename,
-                     const char *dst_filename)
-{
-    FILE *src, *dst;
-    int c;
-
-#if HAVE_LINK
-    if (link (src_filename, dst_filename) == 0)
-       return TRUE;
-
-    unlink (dst_filename);
-#endif
-
-    src = fopen (src_filename, "rb");
-    if (src == NULL)
-       return FALSE;
-
-    dst = fopen (dst_filename, "wb");
-    if (dst == NULL) {
-       fclose (src);
-       return FALSE;
-    }
-
-    /* as simple as it gets */
-    while ((c = getc (src)) != EOF)
-       putc (c, dst);
-
-    fclose (src);
-    fclose (dst);
-
-    return TRUE;
-}
-
-static cairo_test_status_t
-cairo_test_for_target (cairo_test_context_t             *ctx,
-                      const cairo_boilerplate_target_t  *target,
-                      int                                dev_offset,
-                      cairo_bool_t                       similar)
-{
-    cairo_test_status_t status;
-    cairo_surface_t *surface = NULL;
-    cairo_t *cr;
-    const char *empty_str = "";
-    char *offset_str;
-    char *base_name, *base_path;
-    char *out_png_path;
-    char *ref_path = NULL, *ref_png_path, *cmp_png_path = NULL;
-    char *new_path = NULL, *new_png_path;
-    char *xfail_path = NULL, *xfail_png_path;
-    char *base_ref_png_path;
-    char *base_new_png_path;
-    char *base_xfail_png_path;
-    char *diff_png_path;
-    char *test_filename = NULL, *pass_filename = NULL, *fail_filename = NULL;
-    cairo_test_status_t ret;
-    cairo_content_t expected_content;
-    cairo_font_options_t *font_options;
-    const char *format;
-    cairo_bool_t have_output = FALSE;
-    cairo_bool_t have_result = FALSE;
-    void *closure;
-    double width, height;
-    cairo_bool_t have_output_dir;
-#if HAVE_MEMFAULT
-    int malloc_failure_iterations = ctx->malloc_failure;
-    int last_fault_count = 0;
-#endif
-
-    /* Get the strings ready that we'll need. */
-    format = cairo_boilerplate_content_name (target->content);
-    if (dev_offset)
-       xasprintf (&offset_str, ".%d", dev_offset);
-    else
-       offset_str = (char *) empty_str;
-
-    xasprintf (&base_name, "%s.%s.%s%s%s",
-              ctx->test_name,
-              target->name,
-              format,
-              similar ? ".similar" : "",
-              offset_str);
-
-    if (offset_str != empty_str)
-      free (offset_str);
-
-    ref_png_path = cairo_test_reference_filename (ctx,
-                                                 base_name,
-                                                 ctx->test_name,
-                                                 target->name,
-                                                 target->basename,
-                                                 format,
-                                                 CAIRO_TEST_REF_SUFFIX,
-                                                 CAIRO_TEST_PNG_EXTENSION);
-    new_png_path = cairo_test_reference_filename (ctx,
-                                                 base_name,
-                                                 ctx->test_name,
-                                                 target->name,
-                                                 target->basename,
-                                                 format,
-                                                 CAIRO_TEST_NEW_SUFFIX,
-                                                 CAIRO_TEST_PNG_EXTENSION);
-    xfail_png_path = cairo_test_reference_filename (ctx,
-                                                   base_name,
-                                                   ctx->test_name,
-                                                   target->name,
-                                                   target->basename,
-                                                   format,
-                                                   CAIRO_TEST_XFAIL_SUFFIX,
-                                                   CAIRO_TEST_PNG_EXTENSION);
-
-    base_ref_png_path = cairo_test_reference_filename (ctx,
-                                                 base_name,
-                                                 ctx->test_name,
-                                                 NULL, NULL,
-                                                 format,
-                                                 CAIRO_TEST_REF_SUFFIX,
-                                                 CAIRO_TEST_PNG_EXTENSION);
-    base_new_png_path = cairo_test_reference_filename (ctx,
-                                                 base_name,
-                                                 ctx->test_name,
-                                                 NULL, NULL,
-                                                 format,
-                                                 CAIRO_TEST_NEW_SUFFIX,
-                                                 CAIRO_TEST_PNG_EXTENSION);
-    base_xfail_png_path = cairo_test_reference_filename (ctx,
-                                                   base_name,
-                                                   ctx->test_name,
-                                                   NULL, NULL,
-                                                   format,
-                                                   CAIRO_TEST_XFAIL_SUFFIX,
-                                                   CAIRO_TEST_PNG_EXTENSION);
-
-    if (target->file_extension != NULL) {
-       ref_path = cairo_test_reference_filename (ctx,
-                                                 base_name,
-                                                 ctx->test_name,
-                                                 target->name,
-                                                 target->basename,
-                                                 format,
-                                                 CAIRO_TEST_REF_SUFFIX,
-                                                 target->file_extension);
-       new_path = cairo_test_reference_filename (ctx,
-                                                 base_name,
-                                                 ctx->test_name,
-                                                 target->name,
-                                                 target->basename,
-                                                 format,
-                                                 CAIRO_TEST_NEW_SUFFIX,
-                                                 target->file_extension);
-       xfail_path = cairo_test_reference_filename (ctx,
-                                                   base_name,
-                                                   ctx->test_name,
-                                                   target->name,
-                                                   target->basename,
-                                                   format,
-                                                   CAIRO_TEST_XFAIL_SUFFIX,
-                                                   target->file_extension);
-    }
-
-    have_output_dir = _cairo_test_mkdir (ctx->output);
-    xasprintf (&base_path, "%s/%s",
-              have_output_dir ? ctx->output : ".",
-              base_name);
-    xasprintf (&out_png_path, "%s" CAIRO_TEST_OUT_PNG, base_path);
-    xasprintf (&diff_png_path, "%s" CAIRO_TEST_DIFF_PNG, base_path);
-
-    if (ctx->test->requirements != NULL) {
-       const char *required;
-
-       required = target->is_vector ? "target=raster" : "target=vector";
-       if (strstr (ctx->test->requirements, required) != NULL) {
-           cairo_test_log (ctx, "Error: Skipping for %s target %s\n",
-                           target->is_vector ? "vector" : "raster",
-                           target->name);
-           ret = CAIRO_TEST_UNTESTED;
-           goto UNWIND_STRINGS;
-       }
-
-       required = target->is_recording ? "target=!recording" : "target=recording";
-       if (strstr (ctx->test->requirements, required) != NULL) {
-           cairo_test_log (ctx, "Error: Skipping for %s target %s\n",
-                           target->is_recording ? "recording" : "non-recording",
-                           target->name);
-           ret = CAIRO_TEST_UNTESTED;
-           goto UNWIND_STRINGS;
-       }
-    }
-
-    width = ctx->test->width;
-    height = ctx->test->height;
-    if (width && height) {
-       width += dev_offset;
-       height += dev_offset;
-    }
-
-#if HAVE_MEMFAULT
-REPEAT:
-    MEMFAULT_CLEAR_FAULTS ();
-    MEMFAULT_RESET_LEAKS ();
-    ctx->last_fault_count = 0;
-    last_fault_count = MEMFAULT_COUNT_FAULTS ();
-
-    /* Pre-initialise fontconfig so that the configuration is loaded without
-     * malloc failures (our primary goal is to test cairo fault tolerance).
-     */
-#if HAVE_FCINIT
-    FcInit ();
-#endif
-
-    MEMFAULT_ENABLE_FAULTS ();
-#endif
-    have_output = FALSE;
-    have_result = FALSE;
-
-    /* Run the actual drawing code. */
-    ret = CAIRO_TEST_SUCCESS;
-    surface = (target->create_surface) (base_path,
-                                       target->content,
-                                       width, height,
-                                       ctx->test->width + 25 * NUM_DEVICE_OFFSETS,
-                                       ctx->test->height + 25 * NUM_DEVICE_OFFSETS,
-                                       CAIRO_BOILERPLATE_MODE_TEST,
-                                       &closure);
-    if (surface == NULL) {
-       cairo_test_log (ctx, "Error: Failed to set %s target\n", target->name);
-       ret = CAIRO_TEST_UNTESTED;
-       goto UNWIND_STRINGS;
-    }
-
-#if HAVE_MEMFAULT
-    if (ctx->malloc_failure &&
-       MEMFAULT_COUNT_FAULTS () - last_fault_count > 0 &&
-       cairo_surface_status (surface) == CAIRO_STATUS_NO_MEMORY)
-    {
-       goto REPEAT;
-    }
-#endif
-
-    if (cairo_surface_status (surface)) {
-       MF (MEMFAULT_PRINT_FAULTS ());
-       cairo_test_log (ctx, "Error: Created an error surface: %s\n",
-                       cairo_status_to_string (cairo_surface_status (surface)));
-       ret = CAIRO_TEST_FAILURE;
-       goto UNWIND_STRINGS;
-    }
-
-    /* Check that we created a surface of the expected type. */
-    if (cairo_surface_get_type (surface) != target->expected_type) {
-       MF (MEMFAULT_PRINT_FAULTS ());
-       cairo_test_log (ctx, "Error: Created surface is of type %d (expected %d)\n",
-                       cairo_surface_get_type (surface), target->expected_type);
-       ret = CAIRO_TEST_UNTESTED;
-       goto UNWIND_SURFACE;
-    }
-
-    /* Check that we created a surface of the expected content,
-     * (ignore the artificial CAIRO_TEST_CONTENT_COLOR_ALPHA_FLATTENED value).
-     */
-    expected_content = cairo_boilerplate_content (target->content);
-
-    if (cairo_surface_get_content (surface) != expected_content) {
-       MF (MEMFAULT_PRINT_FAULTS ());
-       cairo_test_log (ctx, "Error: Created surface has content %d (expected %d)\n",
-                       cairo_surface_get_content (surface), expected_content);
-       ret = CAIRO_TEST_FAILURE;
-       goto UNWIND_SURFACE;
-    }
-
-    if (cairo_surface_set_user_data (surface,
-                                    &cairo_boilerplate_output_basename_key,
-                                    base_path,
-                                    NULL))
-    {
-#if HAVE_MEMFAULT
-       cairo_surface_destroy (surface);
-
-       if (target->cleanup)
-           target->cleanup (closure);
-
-       goto REPEAT;
-#else
-       ret = CAIRO_TEST_FAILURE;
-       goto UNWIND_SURFACE;
-#endif
-    }
-
-    cairo_surface_set_device_offset (surface, dev_offset, dev_offset);
-
-    cr = cairo_create (surface);
-    if (cairo_set_user_data (cr, &_cairo_test_context_key, (void*) ctx, NULL)) {
-#if HAVE_MEMFAULT
-       cairo_destroy (cr);
-       cairo_surface_destroy (surface);
-
-       if (target->cleanup)
-           target->cleanup (closure);
-
-       goto REPEAT;
-#else
-       ret = CAIRO_TEST_FAILURE;
-       goto UNWIND_CAIRO;
-#endif
-    }
-
-    if (similar)
-       cairo_push_group_with_content (cr, expected_content);
-
-    /* Clear to transparent (or black) depending on whether the target
-     * surface supports alpha. */
-    cairo_save (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    /* Set all components of font_options to avoid backend differences
-     * and reduce number of needed reference images. */
-    font_options = cairo_font_options_create ();
-    cairo_font_options_set_hint_style (font_options, CAIRO_HINT_STYLE_NONE);
-    cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_ON);
-    cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_GRAY);
-    cairo_set_font_options (cr, font_options);
-    cairo_font_options_destroy (font_options);
-
-    cairo_save (cr);
-    alarm (ctx->timeout);
-    status = (ctx->test->draw) (cr, ctx->test->width, ctx->test->height);
-    alarm (0);
-    cairo_restore (cr);
-
-    if (similar) {
-       cairo_pop_group_to_source (cr);
-       cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-       cairo_paint (cr);
-    }
-
-#if HAVE_MEMFAULT
-    MEMFAULT_DISABLE_FAULTS ();
-
-    /* repeat test after malloc failure injection */
-    if (ctx->malloc_failure &&
-       MEMFAULT_COUNT_FAULTS () - last_fault_count > 0 &&
-       (status == CAIRO_TEST_NO_MEMORY ||
-        cairo_status (cr) == CAIRO_STATUS_NO_MEMORY ||
-        cairo_surface_status (surface) == CAIRO_STATUS_NO_MEMORY))
-    {
-       cairo_destroy (cr);
-       cairo_surface_destroy (surface);
-       if (target->cleanup)
-           target->cleanup (closure);
-       cairo_debug_reset_static_data ();
-#if HAVE_FCFINI
-       FcFini ();
-#endif
-       if (MEMFAULT_COUNT_LEAKS () > 0) {
-           MEMFAULT_PRINT_FAULTS ();
-           MEMFAULT_PRINT_LEAKS ();
-       }
-
-       goto REPEAT;
-    }
-#endif
-
-    /* Then, check all the different ways it could fail. */
-    if (status) {
-       cairo_test_log (ctx, "Error: Function under test failed\n");
-       ret = status;
-       goto UNWIND_CAIRO;
-    }
-
-#if HAVE_MEMFAULT
-    if (MEMFAULT_COUNT_FAULTS () - last_fault_count > 0 &&
-       MEMFAULT_HAS_FAULTS ())
-    {
-       VALGRIND_PRINTF ("Unreported memfaults...");
-       MEMFAULT_PRINT_FAULTS ();
-    }
-#endif
-
-    if (target->finish_surface != NULL) {
-#if HAVE_MEMFAULT
-       /* We need to re-enable faults as most recording-surface processing
-        * is done during cairo_surface_finish().
-        */
-       MEMFAULT_CLEAR_FAULTS ();
-       last_fault_count = MEMFAULT_COUNT_FAULTS ();
-       MEMFAULT_ENABLE_FAULTS ();
-#endif
-
-       /* also check for infinite loops whilst replaying */
-       alarm (ctx->timeout);
-       status = target->finish_surface (surface);
-       alarm (0);
-
-#if HAVE_MEMFAULT
-       MEMFAULT_DISABLE_FAULTS ();
-
-       if (ctx->malloc_failure &&
-           MEMFAULT_COUNT_FAULTS () - last_fault_count > 0 &&
-           status == CAIRO_STATUS_NO_MEMORY)
-       {
-           cairo_destroy (cr);
-           cairo_surface_destroy (surface);
-           if (target->cleanup)
-               target->cleanup (closure);
-           cairo_debug_reset_static_data ();
-#if HAVE_FCFINI
-           FcFini ();
-#endif
-           if (MEMFAULT_COUNT_LEAKS () > 0) {
-               MEMFAULT_PRINT_FAULTS ();
-               MEMFAULT_PRINT_LEAKS ();
-           }
-
-           goto REPEAT;
-       }
-#endif
-       if (status) {
-           cairo_test_log (ctx, "Error: Failed to finish surface: %s\n",
-                           cairo_status_to_string (status));
-           ret = CAIRO_TEST_FAILURE;
-           goto UNWIND_CAIRO;
-       }
-    }
-
-    /* Skip image check for tests with no image (width,height == 0,0) */
-    if (ctx->test->width != 0 && ctx->test->height != 0) {
-       cairo_surface_t *ref_image;
-       cairo_surface_t *test_image;
-       cairo_surface_t *diff_image;
-       buffer_diff_result_t result;
-       cairo_status_t diff_status;
-
-       if (ref_png_path == NULL) {
-           cairo_test_log (ctx, "Error: Cannot find reference image for %s\n",
-                           base_name);
-
-           /* we may be running this test to generate reference images */
-           _xunlink (ctx, out_png_path);
-           /* be more generous as we may need to use external renderers */
-           alarm (4 * ctx->timeout);
-           test_image = target->get_image_surface (surface, 0,
-                                                   ctx->test->width,
-                                                   ctx->test->height);
-           alarm (0);
-           diff_status = cairo_surface_write_to_png (test_image, out_png_path);
-           cairo_surface_destroy (test_image);
-           if (diff_status) {
-               if (cairo_surface_status (test_image) == CAIRO_STATUS_INVALID_STATUS)
-                   ret = CAIRO_TEST_CRASHED;
-               else
-                   ret = CAIRO_TEST_FAILURE;
-               cairo_test_log (ctx,
-                               "Error: Failed to write output image: %s\n",
-                               cairo_status_to_string (diff_status));
-           }
-           have_output = TRUE;
-
-           ret = CAIRO_TEST_XFAILURE;
-           goto UNWIND_CAIRO;
-       }
-
-       if (target->file_extension != NULL) { /* compare vector surfaces */
-           char *filenames[] = {
-               ref_png_path,
-               ref_path,
-               new_png_path,
-               new_path,
-               xfail_png_path,
-               xfail_path,
-               base_ref_png_path,
-               base_new_png_path,
-               base_xfail_png_path,
-           };
-
-           xasprintf (&test_filename, "%s.out%s",
-                      base_path, target->file_extension);
-           xasprintf (&pass_filename, "%s.pass%s",
-                      base_path, target->file_extension);
-           xasprintf (&fail_filename, "%s.fail%s",
-                      base_path, target->file_extension);
-
-           if (cairo_test_file_is_older (pass_filename,
-                                         filenames,
-                                         ARRAY_SIZE (filenames)))
-           {
-               _xunlink (ctx, pass_filename);
-           }
-           if (cairo_test_file_is_older (fail_filename,
-                                         filenames,
-                                         ARRAY_SIZE (filenames)))
-           {
-               _xunlink (ctx, fail_filename);
-           }
-
-           if (cairo_test_files_equal (out_png_path, ref_path)) {
-               cairo_test_log (ctx, "Vector surface matches reference.\n");
-               have_output = FALSE;
-               ret = CAIRO_TEST_SUCCESS;
-               goto UNWIND_CAIRO;
-           }
-           if (cairo_test_files_equal (out_png_path, new_path)) {
-               cairo_test_log (ctx, "Vector surface matches current failure.\n");
-               have_output = FALSE;
-               ret = CAIRO_TEST_NEW;
-               goto UNWIND_CAIRO;
-           }
-           if (cairo_test_files_equal (out_png_path, xfail_path)) {
-               cairo_test_log (ctx, "Vector surface matches known failure.\n");
-               have_output = FALSE;
-               ret = CAIRO_TEST_XFAILURE;
-               goto UNWIND_CAIRO;
-           }
-
-           if (cairo_test_files_equal (test_filename, pass_filename)) {
-               /* identical output as last known PASS */
-               cairo_test_log (ctx, "Vector surface matches last pass.\n");
-               have_output = TRUE;
-               ret = CAIRO_TEST_SUCCESS;
-               goto UNWIND_CAIRO;
-           }
-           if (cairo_test_files_equal (test_filename, fail_filename)) {
-               /* identical output as last known FAIL, fail */
-               cairo_test_log (ctx, "Vector surface matches last fail.\n");
-               have_result = TRUE; /* presume these were kept around as well */
-               have_output = TRUE;
-               ret = CAIRO_TEST_FAILURE;
-               goto UNWIND_CAIRO;
-           }
-       }
-
-       /* be more generous as we may need to use external renderers */
-       alarm (4 * ctx->timeout);
-       test_image = target->get_image_surface (surface, 0,
-                                               ctx->test->width,
-                                               ctx->test->height);
-       alarm (0);
-       if (cairo_surface_status (test_image)) {
-           cairo_test_log (ctx, "Error: Failed to extract image: %s\n",
-                           cairo_status_to_string (cairo_surface_status (test_image)));
-           if (cairo_surface_status (test_image) == CAIRO_STATUS_INVALID_STATUS)
-               ret = CAIRO_TEST_CRASHED;
-           else
-               ret = CAIRO_TEST_FAILURE;
-           cairo_surface_destroy (test_image);
-           goto UNWIND_CAIRO;
-       }
-
-       _xunlink (ctx, out_png_path);
-       diff_status = cairo_surface_write_to_png (test_image, out_png_path);
-       if (diff_status) {
-           cairo_test_log (ctx, "Error: Failed to write output image: %s\n",
-                           cairo_status_to_string (diff_status));
-           cairo_surface_destroy (test_image);
-           ret = CAIRO_TEST_FAILURE;
-           goto UNWIND_CAIRO;
-       }
-       have_output = TRUE;
-
-       /* binary compare png files (no decompression) */
-       if (target->file_extension == NULL) {
-           char *filenames[] = {
-               ref_png_path,
-               new_png_path,
-               xfail_png_path,
-               base_ref_png_path,
-               base_new_png_path,
-               base_xfail_png_path,
-           };
-
-           xasprintf (&test_filename, "%s", out_png_path);
-           xasprintf (&pass_filename, "%s.pass.png", base_path);
-           xasprintf (&fail_filename, "%s.fail.png", base_path);
-
-           if (cairo_test_file_is_older (pass_filename,
-                                         filenames,
-                                         ARRAY_SIZE (filenames)))
-           {
-               _xunlink (ctx, pass_filename);
-           }
-           if (cairo_test_file_is_older (fail_filename,
-                                         filenames,
-                                         ARRAY_SIZE (filenames)))
-           {
-               _xunlink (ctx, fail_filename);
-           }
-
-           if (cairo_test_files_equal (test_filename, pass_filename)) {
-               cairo_test_log (ctx, "PNG file exactly matches last pass.\n");
-                have_result = TRUE;
-               cairo_surface_destroy (test_image);
-               ret = CAIRO_TEST_SUCCESS;
-               goto UNWIND_CAIRO;
-           }
-           if (cairo_test_files_equal (out_png_path, ref_png_path)) {
-               cairo_test_log (ctx, "PNG file exactly matches reference image.\n");
-                have_result = TRUE;
-               cairo_surface_destroy (test_image);
-               ret = CAIRO_TEST_SUCCESS;
-               goto UNWIND_CAIRO;
-           }
-           if (cairo_test_files_equal (out_png_path, new_png_path)) {
-               cairo_test_log (ctx, "PNG file exactly matches current failure image.\n");
-                have_result = TRUE;
-               cairo_surface_destroy (test_image);
-               ret = CAIRO_TEST_NEW;
-               goto UNWIND_CAIRO;
-           }
-           if (cairo_test_files_equal (out_png_path, xfail_png_path)) {
-               cairo_test_log (ctx, "PNG file exactly matches known failure image.\n");
-                have_result = TRUE;
-               cairo_surface_destroy (test_image);
-               ret = CAIRO_TEST_XFAILURE;
-               goto UNWIND_CAIRO;
-           }
-           if (cairo_test_files_equal (test_filename, fail_filename)) {
-               cairo_test_log (ctx, "PNG file exactly matches last fail.\n");
-               have_result = TRUE; /* presume these were kept around as well */
-               cairo_surface_destroy (test_image);
-               ret = CAIRO_TEST_FAILURE;
-               goto UNWIND_CAIRO;
-           }
-       } else {
-           if (cairo_test_files_equal (out_png_path, ref_png_path)) {
-               cairo_test_log (ctx, "PNG file exactly matches reference image.\n");
-               have_result = TRUE;
-               cairo_surface_destroy (test_image);
-               ret = CAIRO_TEST_SUCCESS;
-               goto UNWIND_CAIRO;
-           }
-           if (cairo_test_files_equal (out_png_path, new_png_path)) {
-               cairo_test_log (ctx, "PNG file exactly matches current failure image.\n");
-               have_result = TRUE;
-               cairo_surface_destroy (test_image);
-               ret = CAIRO_TEST_NEW;
-               goto UNWIND_CAIRO;
-           }
-           if (cairo_test_files_equal (out_png_path, xfail_png_path)) {
-               cairo_test_log (ctx, "PNG file exactly matches known failure image.\n");
-               have_result = TRUE;
-               cairo_surface_destroy (test_image);
-               ret = CAIRO_TEST_XFAILURE;
-               goto UNWIND_CAIRO;
-           }
-       }
-
-       if (cairo_test_files_equal (out_png_path, base_ref_png_path)) {
-           cairo_test_log (ctx, "PNG file exactly reference image.\n");
-           have_result = TRUE;
-           cairo_surface_destroy (test_image);
-           ret = CAIRO_TEST_SUCCESS;
-           goto UNWIND_CAIRO;
-       }
-       if (cairo_test_files_equal (out_png_path, base_new_png_path)) {
-           cairo_test_log (ctx, "PNG file exactly current failure image.\n");
-           have_result = TRUE;
-           cairo_surface_destroy (test_image);
-           ret = CAIRO_TEST_NEW;
-           goto UNWIND_CAIRO;
-       }
-       if (cairo_test_files_equal (out_png_path, base_xfail_png_path)) {
-           cairo_test_log (ctx, "PNG file exactly known failure image.\n");
-           have_result = TRUE;
-           cairo_surface_destroy (test_image);
-           ret = CAIRO_TEST_XFAILURE;
-           goto UNWIND_CAIRO;
-       }
-
-       /* first compare against the ideal reference */
-       ref_image = cairo_test_get_reference_image (ctx, base_ref_png_path,
-                                                   target->content == CAIRO_TEST_CONTENT_COLOR_ALPHA_FLATTENED);
-       if (cairo_surface_status (ref_image)) {
-           cairo_test_log (ctx, "Error: Cannot open reference image for %s: %s\n",
-                           base_ref_png_path,
-                           cairo_status_to_string (cairo_surface_status (ref_image)));
-           cairo_surface_destroy (test_image);
-           ret = CAIRO_TEST_FAILURE;
-           goto UNWIND_CAIRO;
-       }
-
-       diff_image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                                ctx->test->width,
-                                                ctx->test->height);
-
-       cmp_png_path = base_ref_png_path;
-       diff_status = image_diff (ctx,
-                                 test_image, ref_image, diff_image,
-                                 &result);
-       _xunlink (ctx, diff_png_path);
-       if (diff_status ||
-            image_diff_is_failure (&result, target->error_tolerance))
-       {
-           /* that failed, so check against the specific backend */
-           ref_image = cairo_test_get_reference_image (ctx, ref_png_path,
-                                                       target->content == CAIRO_TEST_CONTENT_COLOR_ALPHA_FLATTENED);
-           if (cairo_surface_status (ref_image)) {
-               cairo_test_log (ctx, "Error: Cannot open reference image for %s: %s\n",
-                               ref_png_path,
-                               cairo_status_to_string (cairo_surface_status (ref_image)));
-               cairo_surface_destroy (test_image);
-               ret = CAIRO_TEST_FAILURE;
-               goto UNWIND_CAIRO;
-           }
-
-           cmp_png_path = ref_png_path;
-           diff_status = image_diff (ctx,
-                                     test_image, ref_image,
-                                     diff_image,
-                                     &result);
-           if (diff_status)
-           {
-               cairo_test_log (ctx, "Error: Failed to compare images: %s\n",
-                               cairo_status_to_string (diff_status));
-               ret = CAIRO_TEST_FAILURE;
-           }
-           else if (image_diff_is_failure (&result, target->error_tolerance))
-           {
-               ret = CAIRO_TEST_FAILURE;
-
-               diff_status = cairo_surface_write_to_png (diff_image,
-                                                         diff_png_path);
-               if (diff_status) {
-                   cairo_test_log (ctx, "Error: Failed to write differences image: %s\n",
-                                   cairo_status_to_string (diff_status));
-               } else {
-                   have_result = TRUE;
-               }
-
-               cairo_test_copy_file (test_filename, fail_filename);
-           }
-           else
-           { /* success */
-               cairo_test_copy_file (test_filename, pass_filename);
-           }
-       }
-       else
-       { /* success */
-           cairo_test_copy_file (test_filename, pass_filename);
-       }
-
-       /* If failed, compare against the current image output,
-        * and attempt to detect systematic failures.
-        */
-       if (ret == CAIRO_TEST_FAILURE) {
-           char *image_out_path;
-
-           image_out_path =
-               cairo_test_reference_filename (ctx,
-                                              base_name,
-                                              ctx->test_name,
-                                              "image",
-                                              "image",
-                                              format,
-                                              CAIRO_TEST_OUT_SUFFIX,
-                                              CAIRO_TEST_PNG_EXTENSION);
-           if (image_out_path != NULL) {
-               if (cairo_test_files_equal (out_png_path,
-                                           image_out_path))
-               {
-                   ret = CAIRO_TEST_XFAILURE;
-               }
-               else
-               {
-                   ref_image =
-                       cairo_image_surface_create_from_png (image_out_path);
-                   if (cairo_surface_status (ref_image) == CAIRO_STATUS_SUCCESS)
-                   {
-                       diff_status = image_diff (ctx,
-                                                 test_image, ref_image,
-                                                 diff_image,
-                                                 &result);
-                       if (diff_status == CAIRO_STATUS_SUCCESS &&
-                           !image_diff_is_failure (&result, target->error_tolerance))
-                       {
-                           ret = CAIRO_TEST_XFAILURE;
-                       }
-
-                       cairo_surface_destroy (ref_image);
-                   }
-               }
-
-               free (image_out_path);
-           }
-       }
-
-       cairo_surface_destroy (test_image);
-       cairo_surface_destroy (diff_image);
-    }
-
-    if (cairo_status (cr) != CAIRO_STATUS_SUCCESS) {
-       cairo_test_log (ctx, "Error: Function under test left cairo status in an error state: %s\n",
-                       cairo_status_to_string (cairo_status (cr)));
-       ret = CAIRO_TEST_ERROR;
-       goto UNWIND_CAIRO;
-    }
-
-UNWIND_CAIRO:
-    free (test_filename);
-    free (fail_filename);
-    free (pass_filename);
-
-    test_filename = fail_filename = pass_filename = NULL;
-
-#if HAVE_MEMFAULT
-    if (ret == CAIRO_TEST_FAILURE)
-       MEMFAULT_PRINT_FAULTS ();
-#endif
-    cairo_destroy (cr);
-UNWIND_SURFACE:
-    cairo_surface_destroy (surface);
-
-    if (target->cleanup)
-       target->cleanup (closure);
-
-#if HAVE_MEMFAULT
-    cairo_debug_reset_static_data ();
-
-#if HAVE_FCFINI
-    FcFini ();
-#endif
-
-    if (MEMFAULT_COUNT_LEAKS () > 0) {
-       if (ret != CAIRO_TEST_FAILURE)
-           MEMFAULT_PRINT_FAULTS ();
-       MEMFAULT_PRINT_LEAKS ();
-    }
-
-    if (ret == CAIRO_TEST_SUCCESS && --malloc_failure_iterations > 0)
-       goto REPEAT;
-#endif
-
-    if (have_output)
-       cairo_test_log (ctx, "OUTPUT: %s\n", out_png_path);
-
-    if (have_result) {
-       if (cmp_png_path == NULL) {
-           /* XXX presume we matched the normal ref last time */
-           cmp_png_path = ref_png_path;
-       }
-       cairo_test_log (ctx,
-                       "REFERENCE: %s\nDIFFERENCE: %s\n",
-                       cmp_png_path, diff_png_path);
-    }
-
-UNWIND_STRINGS:
-    free (out_png_path);
-    free (ref_png_path);
-    free (base_ref_png_path);
-    free (ref_path);
-    free (new_png_path);
-    free (base_new_png_path);
-    free (new_path);
-    free (xfail_png_path);
-    free (base_xfail_png_path);
-    free (xfail_path);
-    free (diff_png_path);
-    free (base_path);
-    free (base_name);
-
-    return ret;
-}
-
-#if defined(HAVE_SIGNAL_H) && defined(HAVE_SETJMP_H)
-#include <signal.h>
-#include <setjmp.h>
-/* Used to catch crashes in a test, so that we report it as such and
- * continue testing, although one crasher may already have corrupted memory in
- * an nonrecoverable fashion. */
-static jmp_buf jmpbuf;
-
-static void
-segfault_handler (int signal)
-{
-    longjmp (jmpbuf, signal);
-}
-#endif
-
-cairo_test_status_t
-_cairo_test_context_run_for_target (cairo_test_context_t *ctx,
-                                   const cairo_boilerplate_target_t *target,
-                                   cairo_bool_t similar,
-                                   int dev_offset)
-{
-    cairo_test_status_t status;
-
-    if (target->get_image_surface == NULL)
-       return CAIRO_TEST_UNTESTED;
-
-    if (similar && ! cairo_test_target_has_similar (ctx, target))
-       return CAIRO_TEST_UNTESTED;
-
-    cairo_test_log (ctx,
-                   "Testing %s with %s%s target (dev offset %d)\n",
-                   ctx->test_name,
-                   similar ? " (similar) " : "",
-                   target->name,
-                   dev_offset);
-
-    printf ("%s.%s.%s [%d]%s:\t", ctx->test_name, target->name,
-           cairo_boilerplate_content_name (target->content),
-           dev_offset,
-           similar ? " (similar)": "");
-    fflush (stdout);
-
-#if defined(HAVE_SIGNAL_H) && defined(HAVE_SETJMP_H)
-    if (! RUNNING_ON_VALGRIND) {
-       void (* volatile old_segfault_handler)(int);
-       void (* volatile old_segfpe_handler)(int);
-       void (* volatile old_sigpipe_handler)(int);
-       void (* volatile old_sigabrt_handler)(int);
-       void (* volatile old_sigalrm_handler)(int);
-
-       /* Set up a checkpoint to get back to in case of segfaults. */
-#ifdef SIGSEGV
-       old_segfault_handler = signal (SIGSEGV, segfault_handler);
-#endif
-#ifdef SIGFPE
-       old_segfpe_handler = signal (SIGFPE, segfault_handler);
-#endif
-#ifdef SIGPIPE
-       old_sigpipe_handler = signal (SIGPIPE, segfault_handler);
-#endif
-#ifdef SIGABRT
-       old_sigabrt_handler = signal (SIGABRT, segfault_handler);
-#endif
-#ifdef SIGALRM
-       old_sigalrm_handler = signal (SIGALRM, segfault_handler);
-#endif
-       if (0 == setjmp (jmpbuf))
-           status = cairo_test_for_target (ctx, target, dev_offset, similar);
-       else
-           status = CAIRO_TEST_CRASHED;
-#ifdef SIGSEGV
-       signal (SIGSEGV, old_segfault_handler);
-#endif
-#ifdef SIGFPE
-       signal (SIGFPE, old_segfpe_handler);
-#endif
-#ifdef SIGPIPE
-       signal (SIGPIPE, old_sigpipe_handler);
-#endif
-#ifdef SIGABRT
-       signal (SIGABRT, old_sigabrt_handler);
-#endif
-#ifdef SIGALRM
-       signal (SIGALRM, old_sigalrm_handler);
-#endif
-    } else {
-       status = cairo_test_for_target (ctx, target, dev_offset, similar);
-    }
-#else
-    status = cairo_test_for_target (ctx, target, dev_offset, similar);
-#endif
-
-    cairo_test_log (ctx,
-                   "TEST: %s TARGET: %s FORMAT: %s OFFSET: %d SIMILAR: %d RESULT: ",
-                   ctx->test_name, target->name,
-                   cairo_boilerplate_content_name (target->content),
-                   dev_offset, similar);
-    switch (status) {
-    case CAIRO_TEST_SUCCESS:
-       printf ("PASS\n");
-       cairo_test_log (ctx, "PASS\n");
-       break;
-
-    case CAIRO_TEST_UNTESTED:
-       printf ("UNTESTED\n");
-       cairo_test_log (ctx, "UNTESTED\n");
-       break;
-
-    default:
-    case CAIRO_TEST_CRASHED:
-       if (print_fail_on_stdout) {
-           printf ("!!!CRASHED!!!\n");
-       } else {
-           /* eat the test name */
-           printf ("\r");
-           fflush (stdout);
-       }
-       cairo_test_log (ctx, "CRASHED\n");
-       fprintf (stderr, "%s.%s.%s [%d]%s:\t%s!!!CRASHED!!!%s\n",
-                ctx->test_name, target->name,
-                cairo_boilerplate_content_name (target->content), dev_offset, similar ? " (similar)" : "",
-                fail_face, normal_face);
-       break;
-
-    case CAIRO_TEST_ERROR:
-       if (print_fail_on_stdout) {
-           printf ("!!!ERROR!!!\n");
-       } else {
-           /* eat the test name */
-           printf ("\r");
-           fflush (stdout);
-       }
-       cairo_test_log (ctx, "ERROR\n");
-       fprintf (stderr, "%s.%s.%s [%d]%s:\t%s!!!ERROR!!!%s\n",
-                ctx->test_name, target->name,
-                cairo_boilerplate_content_name (target->content), dev_offset, similar ? " (similar)" : "",
-                fail_face, normal_face);
-       break;
-
-    case CAIRO_TEST_XFAILURE:
-       if (print_fail_on_stdout) {
-           printf ("XFAIL\n");
-       } else {
-           /* eat the test name */
-           printf ("\r");
-           fflush (stdout);
-       }
-       fprintf (stderr, "%s.%s.%s [%d]%s:\t%sXFAIL%s\n",
-                ctx->test_name, target->name,
-                cairo_boilerplate_content_name (target->content), dev_offset, similar ? " (similar)" : "",
-                xfail_face, normal_face);
-       cairo_test_log (ctx, "XFAIL\n");
-       break;
-
-    case CAIRO_TEST_NEW:
-       if (print_fail_on_stdout) {
-           printf ("NEW\n");
-       } else {
-           /* eat the test name */
-           printf ("\r");
-           fflush (stdout);
-       }
-       fprintf (stderr, "%s.%s.%s [%d]%s:\t%sNEW%s\n",
-                ctx->test_name, target->name,
-                cairo_boilerplate_content_name (target->content), dev_offset, similar ? " (similar)" : "",
-                fail_face, normal_face);
-       cairo_test_log (ctx, "NEW\n");
-       break;
-
-    case CAIRO_TEST_NO_MEMORY:
-    case CAIRO_TEST_FAILURE:
-       if (print_fail_on_stdout) {
-           printf ("FAIL\n");
-       } else {
-           /* eat the test name */
-           printf ("\r");
-           fflush (stdout);
-       }
-       fprintf (stderr, "%s.%s.%s [%d]%s:\t%sFAIL%s\n",
-                ctx->test_name, target->name,
-                cairo_boilerplate_content_name (target->content), dev_offset, similar ? " (similar)" : "",
-                fail_face, normal_face);
-       cairo_test_log (ctx, "FAIL\n");
-       break;
-    }
-    fflush (stdout);
-
-    return status;
-}
-
-const cairo_test_context_t *
-cairo_test_get_context (cairo_t *cr)
-{
-    return cairo_get_user_data (cr, &_cairo_test_context_key);
-}
-
-cairo_surface_t *
-cairo_test_create_surface_from_png (const cairo_test_context_t *ctx,
-                                   const char *filename)
-{
-    cairo_surface_t *image;
-    cairo_status_t status;
-
-    image = cairo_image_surface_create_from_png (filename);
-    status = cairo_surface_status (image);
-    if (status == CAIRO_STATUS_FILE_NOT_FOUND) {
-        /* expect not found when running with srcdir != builddir
-         * such as when 'make distcheck' is run
-         */
-       if (ctx->srcdir) {
-           char *srcdir_filename;
-           xasprintf (&srcdir_filename, "%s/%s", ctx->srcdir, filename);
-           cairo_surface_destroy (image);
-           image = cairo_image_surface_create_from_png (srcdir_filename);
-           free (srcdir_filename);
-       }
-    }
-
-    return image;
-}
-
-cairo_pattern_t *
-cairo_test_create_pattern_from_png (const cairo_test_context_t *ctx,
-                                   const char *filename)
-{
-    cairo_surface_t *image;
-    cairo_pattern_t *pattern;
-
-    image = cairo_test_create_surface_from_png (ctx, filename);
-
-    pattern = cairo_pattern_create_for_surface (image);
-
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-
-    cairo_surface_destroy (image);
-
-    return pattern;
-}
-
-static cairo_surface_t *
-_draw_check (int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, 12, 12);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 0.75, 0.75, 0.75); /* light gray */
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0.25, 0.25, 0.25); /* dark gray */
-    cairo_rectangle (cr, width / 2,  0, width / 2, height / 2);
-    cairo_rectangle (cr, 0, height / 2, width / 2, height / 2);
-    cairo_fill (cr);
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-void
-cairo_test_paint_checkered (cairo_t *cr)
-{
-    cairo_surface_t *check;
-
-    check = _draw_check (12, 12);
-
-    cairo_save (cr);
-    cairo_set_source_surface (cr, check, 0, 0);
-    cairo_surface_destroy (check);
-
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-    cairo_paint (cr);
-
-    cairo_restore (cr);
-}
-
-cairo_bool_t
-cairo_test_is_target_enabled (const cairo_test_context_t *ctx,
-                             const char *target)
-{
-    size_t i;
-
-    for (i = 0; i < ctx->num_targets; i++) {
-       const cairo_boilerplate_target_t *t = ctx->targets_to_test[i];
-       if (strcmp (t->name, target) == 0) {
-           /* XXX ask the target whether is it possible to run?
-            * e.g. the xlib backend could check whether it is able to connect
-            * to the Display.
-            */
-           return t->get_image_surface != NULL;
-       }
-    }
-
-    return FALSE;
-}
-
-cairo_bool_t
-cairo_test_malloc_failure (const cairo_test_context_t *ctx,
-                          cairo_status_t status)
-{
-    if (! ctx->malloc_failure)
-       return FALSE;
-
-    if (status != CAIRO_STATUS_NO_MEMORY)
-       return FALSE;
-
-#if HAVE_MEMFAULT
-    {
-       int n_faults;
-
-       /* prevent infinite loops... */
-       n_faults = MEMFAULT_COUNT_FAULTS ();
-       if (n_faults == ctx->last_fault_count)
-           return FALSE;
-
-       ((cairo_test_context_t *) ctx)->last_fault_count = n_faults;
-    }
-#endif
-
-    return TRUE;
-}
-
-cairo_test_status_t
-cairo_test_status_from_status (const cairo_test_context_t *ctx,
-                              cairo_status_t status)
-{
-    if (status == CAIRO_STATUS_SUCCESS)
-       return CAIRO_TEST_SUCCESS;
-
-    if (cairo_test_malloc_failure (ctx, status))
-       return CAIRO_TEST_NO_MEMORY;
-
-    return CAIRO_TEST_FAILURE;
-}
diff --git a/test/cairo-test.h b/test/cairo-test.h
deleted file mode 100644 (file)
index d41cd29..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * Copyright © 2004 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#ifndef _CAIRO_TEST_H_
-#define _CAIRO_TEST_H_
-
-#include "cairo-boilerplate.h"
-
-#include <stdarg.h>
-
-CAIRO_BEGIN_DECLS
-
-#if   HAVE_STDINT_H
-# include <stdint.h>
-#elif HAVE_INTTYPES_H
-# include <inttypes.h>
-#elif HAVE_SYS_INT_TYPES_H
-# include <sys/int_types.h>
-#elif defined(_MSC_VER)
-typedef __int8 int8_t;
-typedef unsigned __int8 uint8_t;
-typedef __int16 int16_t;
-typedef unsigned __int16 uint16_t;
-typedef __int32 int32_t;
-typedef unsigned __int32 uint32_t;
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-# ifndef HAVE_UINT64_T
-#  define HAVE_UINT64_T 1
-# endif
-#else
-#error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t, \etc.)
-#endif
-
-#ifdef _MSC_VER
-#define _USE_MATH_DEFINES
-
-#include <float.h>
-#define isnan(x) _isnan(x)
-
-#endif
-
-#include <math.h>
-
-static inline double
-cairo_test_NaN (void)
-{
-#ifdef _MSC_VER
-    /* MSVC strtod("NaN", NULL) returns 0.0 */
-    union {
-       uint32_t i[2];
-       double d;
-    } nan = {{0xffffffff, 0x7fffffff}};
-    return nan.d;
-#else
-    return strtod("NaN", NULL);
-#endif
-}
-
-#ifndef MIN
-#define MIN(a, b) ((a) < (b) ? (a) : (b))
-#endif
-
-#ifndef MAX
-#define MAX(a, b) ((a) > (b) ? (a) : (b))
-#endif
-
-#ifndef ARRAY_LENGTH
-#define ARRAY_LENGTH(__array) ((int) (sizeof (__array) / sizeof (__array[0])))
-#endif
-
-#define CAIRO_TEST_OUTPUT_DIR "output"
-
-#define CAIRO_TEST_LOG_SUFFIX ".log"
-
-#define CAIRO_TEST_FONT_FAMILY "DejaVu"
-
-/* What is a fail and what isn't?
- * When running the test suite we want to detect unexpected output. This
- * can be caused by a change we have made to cairo itself, or a change
- * in our environment. To capture this we classify the expected output into 3
- * classes:
- *
- *   REF  -- Perfect output.
- *           Might be different for each backend, due to slight implementation
- *           differences.
- *
- *   NEW  -- A new failure. We have uncovered a bug within cairo and have
- *           recorded the current failure (along with the expected output
- *           if possible!) so we can detect any changes in our attempt to
- *           fix the bug.
- *
- *  XFAIL -- An external failure. We believe the cairo output is perfect,
- *           but an external renderer is causing gross failure.
- *           (We also use this to capture current WONTFIX issues within cairo,
- *           such as overflow in internal coordinates, so as not to distract
- *           us when regression testing.)
- *
- *  If no REF is given for a test, then it is assumed to be XFAIL.
- */
-#define CAIRO_TEST_REF_SUFFIX ".ref"
-#define CAIRO_TEST_XFAIL_SUFFIX ".xfail"
-#define CAIRO_TEST_NEW_SUFFIX ".new"
-
-#define CAIRO_TEST_OUT_SUFFIX ".out"
-#define CAIRO_TEST_DIFF_SUFFIX ".diff"
-
-#define CAIRO_TEST_PNG_EXTENSION ".png"
-#define CAIRO_TEST_OUT_PNG CAIRO_TEST_OUT_SUFFIX CAIRO_TEST_PNG_EXTENSION
-#define CAIRO_TEST_REF_PNG CAIRO_TEST_REF_SUFFIX CAIRO_TEST_PNG_EXTENSION
-#define CAIRO_TEST_DIFF_PNG CAIRO_TEST_DIFF_SUFFIX CAIRO_TEST_PNG_EXTENSION
-
-typedef enum cairo_test_status {
-    CAIRO_TEST_SUCCESS = 0,
-    CAIRO_TEST_NO_MEMORY,
-    CAIRO_TEST_FAILURE,
-    CAIRO_TEST_NEW,
-    CAIRO_TEST_XFAILURE,
-    CAIRO_TEST_ERROR,
-    CAIRO_TEST_CRASHED,
-    CAIRO_TEST_UNTESTED = 77 /* match automake's skipped exit status */
-} cairo_test_status_t;
-
-typedef struct _cairo_test_context cairo_test_context_t;
-typedef struct _cairo_test cairo_test_t;
-
-typedef cairo_test_status_t
-(cairo_test_preamble_function_t) (cairo_test_context_t *ctx);
-
-typedef cairo_test_status_t
-(cairo_test_draw_function_t) (cairo_t *cr, int width, int height);
-
-struct _cairo_test {
-    const char *name;
-    const char *description;
-    const char *keywords;
-    const char *requirements;
-    double width;
-    double height;
-    cairo_test_preamble_function_t *preamble;
-    cairo_test_draw_function_t *draw;
-};
-
-/* The standard test interface which works by examining result image.
- *
- * CAIRO_TEST() constructs a test which will be called once before (the
- * preamble callback), and then once for each testable backend (the draw
- * callback). The following checks will be performed for each backend:
- *
- * 1) If preamble() returns CAIRO_TEST_UNTESTED, the test is skipped.
- *
- * 2) If preamble() does not return CAIRO_TEST_SUCCESS, the test fails.
- *
- * 3) If draw() does not return CAIRO_TEST_SUCCESS then this backend
- *    fails.
- *
- * 4) Otherwise, if cairo_status(cr) indicates an error then this
- *    backend fails.
- *
- * 5) Otherwise, if the image size is 0, then this backend passes.
- *
- * 6) Otherwise, if every channel of every pixel exactly matches the
- *    reference image then this backend passes. If not, this backend
- *    fails.
- *
- * The overall test result is PASS if and only if there is at least
- * one backend that is tested and if all tested backend pass according
- * to the four criteria above.
- */
-#define CAIRO_TEST(name, description, keywords, requirements, width, height, preamble, draw) \
-void _register_##name (void); \
-void _register_##name (void) { \
-    static cairo_test_t test = { \
-       #name, description, \
-       keywords, requirements, \
-       width, height, \
-       preamble, draw \
-    }; \
-    cairo_test_register (&test); \
-}
-
-void
-cairo_test_register (cairo_test_t *test);
-
-/* The full context for the test.
- * For ordinary tests (using the CAIRO_TEST()->draw interface) the context
- * is passed to the draw routine via user_data on the cairo_t.
- * The reason why the context is not passed as an explicit parameter is that
- * it is rarely required by the test itself and by removing the parameter
- * we can keep the draw routines simple and serve as example code.
- *
- * In contrast, for the preamble phase the context is passed as the only
- * parameter.
- */
-struct _cairo_test_context {
-    const cairo_test_t *test;
-    const char *test_name;
-
-    FILE *log_file;
-    const char *output;
-    const char *srcdir; /* directory containing sources and input data */
-    const char *refdir; /* directory containing reference images */
-
-    char *ref_name; /* cache of the current reference image */
-    cairo_surface_t *ref_image;
-    cairo_surface_t *ref_image_flattened;
-
-    size_t num_targets;
-    cairo_bool_t limited_targets;
-    const cairo_boilerplate_target_t **targets_to_test;
-    cairo_bool_t own_targets;
-
-    int malloc_failure;
-    int last_fault_count;
-
-    int timeout;
-};
-
-/* Retrieve the test context from the cairo_t, used for logging, paths etc */
-const cairo_test_context_t *
-cairo_test_get_context (cairo_t *cr);
-
-
-/* Print a message to the log file, ala printf. */
-void
-cairo_test_log (const cairo_test_context_t *ctx,
-               const char *fmt, ...) CAIRO_BOILERPLATE_PRINTF_FORMAT(2, 3);
-void
-cairo_test_logv (const cairo_test_context_t *ctx,
-               const char *fmt, va_list ap) CAIRO_BOILERPLATE_PRINTF_FORMAT(2, 0);
-
-/* Helper functions that take care of finding source images even when
- * building in a non-srcdir manner, (i.e. the tests will be run in a
- * directory that is different from the one where the source image
- * exists). */
-cairo_surface_t *
-cairo_test_create_surface_from_png (const cairo_test_context_t *ctx,
-                                   const char *filename);
-
-cairo_pattern_t *
-cairo_test_create_pattern_from_png (const cairo_test_context_t *ctx,
-                                   const char *filename);
-
-void
-cairo_test_paint_checkered (cairo_t *cr);
-
-#define CAIRO_TEST_DOUBLE_EQUALS(a,b)  (fabs((a)-(b)) < 0.00001)
-
-cairo_bool_t
-cairo_test_is_target_enabled (const cairo_test_context_t *ctx,
-                             const char *target);
-
-char *
-cairo_test_get_name (const cairo_test_t *test);
-
-cairo_bool_t
-cairo_test_malloc_failure (const cairo_test_context_t *ctx,
-                          cairo_status_t status);
-
-cairo_test_status_t
-cairo_test_status_from_status (const cairo_test_context_t *ctx,
-                              cairo_status_t status);
-
-char *
-cairo_test_reference_filename (const cairo_test_context_t *ctx,
-                              const char *base_name,
-                              const char *test_name,
-                              const char *target_name,
-                              const char *base_target_name,
-                              const char *format,
-                              const char *suffix,
-                              const char *extension);
-
-cairo_surface_t *
-cairo_test_get_reference_image (cairo_test_context_t *ctx,
-                               const char *filename,
-                               cairo_bool_t flatten);
-
-CAIRO_END_DECLS
-
-#endif
diff --git a/test/caps-joins-alpha.c b/test/caps-joins-alpha.c
deleted file mode 100644 (file)
index bbff44e..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     10.
-#define SIZE           (5 * LINE_WIDTH)
-#define PAD            (2 * LINE_WIDTH)
-
-static void
-make_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 0., 0.);
-    cairo_rel_line_to (cr, 0., SIZE);
-    cairo_rel_line_to (cr, SIZE, 0.);
-    cairo_close_path (cr);
-
-    cairo_move_to (cr, 2 * LINE_WIDTH, 0.);
-    cairo_rel_line_to (cr, 3 * LINE_WIDTH, 0.);
-    cairo_rel_line_to (cr, 0., 3 * LINE_WIDTH);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* First draw a checkered background */
-    cairo_test_paint_checkered (cr);
-
-    /* Then draw the original caps-joins test but with a bit of alphs thrown in. */
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    cairo_set_source_rgba (cr, 1.0, 0.0, 0.0, 0.5); /* 50% red */
-    cairo_translate (cr, PAD, PAD);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgba (cr, 0.0, 1.0, 0.0, 0.5); /* 50% green */
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgba (cr, 0.0, 0.0, 1.0, 0.5); /* 50% blue */
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (caps_joins_alpha,
-           "Test caps and joins with some source alpha",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           3 * (PAD + SIZE) + PAD,
-           PAD + SIZE + PAD,
-           NULL, draw)
diff --git a/test/caps-joins-curve.c b/test/caps-joins-curve.c
deleted file mode 100644 (file)
index 1b2fc7f..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     10.
-#define SIZE           (5 * LINE_WIDTH)
-#define PAD            (3 * LINE_WIDTH)
-
-static void
-make_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 0, 0);
-    cairo_rel_curve_to (cr,
-                       -SIZE/4, SIZE/3,
-                       -SIZE/4, SIZE/3,
-                       0, SIZE);
-    cairo_rel_curve_to (cr,
-                       SIZE/3, -SIZE/4,
-                       SIZE/3, -SIZE/4,
-                       SIZE, 0);
-    cairo_close_path (cr);
-
-    cairo_move_to (cr, 5 * LINE_WIDTH, 3 * LINE_WIDTH);
-    cairo_rel_curve_to (cr,
-                       0, -3 * LINE_WIDTH,
-                       0, -3 * LINE_WIDTH,
-                       -3 * LINE_WIDTH, -3 * LINE_WIDTH);
-}
-
-static void
-draw_caps_joins (cairo_t *cr)
-{
-    cairo_save (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_stroke (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    draw_caps_joins (cr);
-
-    /* and reflect to generate the opposite vertex ordering */
-    cairo_translate (cr, 0, height);
-    cairo_scale (cr, 1, -1);
-
-    draw_caps_joins (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (caps_joins_curve,
-           "Test caps and joins on curves",
-           "stroke cap join", /* keywords */
-           NULL, /* requirements */
-           3 * (PAD + SIZE) + PAD,
-           2 * (PAD + SIZE) + PAD,
-           NULL, draw)
-
diff --git a/test/caps-joins.c b/test/caps-joins.c
deleted file mode 100644 (file)
index 9d1c2a8..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     10.
-#define SIZE           (5 * LINE_WIDTH)
-#define PAD            (2 * LINE_WIDTH)
-
-static void
-make_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 0., 0.);
-    cairo_rel_line_to (cr, 0., SIZE);
-    cairo_rel_line_to (cr, SIZE, 0.);
-    cairo_close_path (cr);
-
-    cairo_move_to (cr, 5 * LINE_WIDTH, 3 * LINE_WIDTH);
-    cairo_rel_line_to (cr, 0., -3 * LINE_WIDTH);
-    cairo_rel_line_to (cr, -3 * LINE_WIDTH, 0.);
-}
-
-static void
-draw_caps_joins (cairo_t *cr)
-{
-    cairo_save (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_stroke (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    draw_caps_joins (cr);
-
-    /* and reflect to generate the opposite vertex ordering */
-    cairo_translate (cr, 0, height);
-    cairo_scale (cr, 1, -1);
-
-    draw_caps_joins (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (caps_joins,
-           "Test caps and joins",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           3 * (PAD + SIZE) + PAD,
-           2 * (PAD + SIZE) + PAD,
-           NULL, draw)
-
diff --git a/test/caps-sub-paths.c b/test/caps-sub-paths.c
deleted file mode 100644 (file)
index 2310eb7..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-/* Test case for bug #4205:
-
-   https://bugs.freedesktop.org/show_bug.cgi?id=4205
-*/
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_set_line_width (cr, 4);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-
-    cairo_move_to (cr,  4,  4);
-    cairo_line_to (cr,  4, 16);
-
-    cairo_move_to (cr, 10,  4);
-    cairo_line_to (cr, 10, 16);
-
-    cairo_move_to (cr, 16,  4);
-    cairo_line_to (cr, 16, 16);
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (caps_sub_paths,
-           "Test that sub-paths receive caps.",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           20, 20,
-           NULL, draw)
-
diff --git a/test/caps-tails-curve.c b/test/caps-tails-curve.c
deleted file mode 100644 (file)
index 0dc8b31..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     30.
-#define SIZE           (2 * LINE_WIDTH)
-#define PAD            (2 * LINE_WIDTH)
-
-static void
-make_path (cairo_t *cr, double theta)
-{
-    double line_width = cairo_get_line_width (cr) / 4;
-
-    cairo_move_to (cr, 0, 0);
-    cairo_rel_curve_to (cr,
-                       SIZE/3, -SIZE/4,
-                       SIZE/3, -SIZE/4,
-                       SIZE, 0);
-
-    cairo_rel_line_to (cr,
-                      cos (theta) * line_width,
-                      sin (theta) * line_width);
-}
-
-static void
-draw_joins (cairo_t *cr, double theta)
-{
-    make_path (cr, theta);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr, theta);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr, theta);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-}
-
-static void
-draw_caps_joins (cairo_t *cr, double theta)
-{
-    cairo_translate (cr, PAD, 0);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    draw_joins (cr, theta);
-
-    cairo_translate (cr, PAD, 0);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    draw_joins (cr, theta);
-
-    cairo_translate (cr, PAD, 0);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-    draw_joins (cr, theta);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const double theta[] = {
-       -M_PI/2, -M_PI/4, 0, M_PI/8, M_PI/3, M_PI
-    };
-    unsigned int t;
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    for (t = 0; t < sizeof(theta)/sizeof (theta[0]); t++) {
-       cairo_save (cr);
-       cairo_translate (cr, 0, t * (SIZE + PAD) + PAD);
-       draw_caps_joins (cr, theta[t]);
-       cairo_restore (cr);
-
-       cairo_save (cr);
-       /* and reflect to generate the opposite vertex ordering */
-       cairo_translate (cr, 0, height - t * (SIZE + PAD) - PAD);
-       cairo_scale (cr, 1, -1);
-       draw_caps_joins (cr, theta[t]);
-       cairo_restore (cr);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (caps_tails_curve,
-           "Test caps and joins on short tail segments",
-           "stroke cap join", /* keywords */
-           NULL, /* requirements */
-           9 * (PAD + SIZE) + 4*PAD,
-           12 * (PAD + SIZE) + PAD,
-           NULL, draw)
-
diff --git a/test/caps.c b/test/caps.c
deleted file mode 100644 (file)
index 7f56117..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     10.
-#define SIZE           (5 * LINE_WIDTH)
-#define PAD            (2 * LINE_WIDTH)
-
-static void
-make_path (cairo_t *cr)
-{
-    int i;
-
-    cairo_save (cr);
-    for (i = 0; i <= 3; i++) {
-       cairo_new_sub_path (cr);
-       cairo_move_to (cr, -SIZE / 2, 0.);
-       cairo_line_to (cr,  SIZE / 2, 0.);
-       cairo_rotate (cr, M_PI / 4.);
-    }
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_set_line_width (cr, LINE_WIDTH);
-    cairo_translate (cr, PAD + SIZE / 2., PAD + SIZE / 2.);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    make_path (cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 0, SIZE + PAD);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    make_path (cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 0, SIZE + PAD);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    make_path (cr);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (caps,
-           "Test caps",
-           "stroke caps", /* keywords */
-           NULL, /* requirements */
-           PAD + SIZE + PAD,
-           3 * (PAD + SIZE) + PAD,
-           NULL, draw)
-
diff --git a/test/checkerboard.c b/test/checkerboard.c
deleted file mode 100644 (file)
index aeb2efe..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* Test the basic background used extensively in the test suite. */
-
-#include "cairo-test.h"
-
-#define HEIGHT 32
-#define WIDTH 32
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_test_paint_checkered (cr);
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (checkerboard,
-           "Tests the checkerboard background",
-           "paint", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
-
diff --git a/test/clear-source.c b/test/clear-source.c
deleted file mode 100644 (file)
index 5410932..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright 2009 Benjamin Otte
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-
-typedef enum {
-  CLEAR,
-  CLEARED,
-  PAINTED
-} surface_type_t;
-
-#define SIZE 10
-#define SPACE 5
-
-static cairo_surface_t *
-create_surface (cairo_t *target, cairo_content_t content, surface_type_t type)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_surface_create_similar (cairo_get_target (target),
-                                           content,
-                                           SIZE, SIZE);
-
-    if (type == CLEAR)
-       return surface;
-
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 0.75, 0, 0);
-    cairo_paint (cr);
-
-    if (type == PAINTED)
-       goto DONE;
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
-    cairo_paint (cr);
-
-DONE:
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static void
-paint (cairo_t *cr, cairo_surface_t *surface)
-{
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_paint (cr);
-}
-
-static void
-fill (cairo_t *cr, cairo_surface_t *surface)
-{
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_rectangle (cr, -SPACE, -SPACE, SIZE + 2 * SPACE, SIZE + 2 * SPACE);
-    cairo_fill (cr);
-}
-
-static void
-stroke (cairo_t *cr, cairo_surface_t *surface)
-{
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_set_line_width (cr, 2.0);
-    cairo_rectangle (cr, 1, 1, SIZE - 2, SIZE - 2);
-    cairo_stroke (cr);
-}
-
-static void
-mask (cairo_t *cr, cairo_surface_t *surface)
-{
-    cairo_set_source_rgb (cr, 0, 0, 0.75);
-    cairo_mask_surface (cr, surface, 0, 0);
-}
-
-static void
-mask_self (cairo_t *cr, cairo_surface_t *surface)
-{
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_mask_surface (cr, surface, 0, 0);
-}
-
-static void
-glyphs (cairo_t *cr, cairo_surface_t *surface)
-{
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, 16);
-    cairo_translate (cr, 0, SIZE);
-    cairo_show_text (cr, "C");
-}
-
-typedef void (* operation_t) (cairo_t *cr, cairo_surface_t *surface);
-static operation_t operations[] = {
-    paint,
-    fill,
-    stroke,
-    mask,
-    mask_self,
-    glyphs
-};
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_content_t contents[] = { CAIRO_CONTENT_COLOR_ALPHA, CAIRO_CONTENT_COLOR, CAIRO_CONTENT_ALPHA };
-    unsigned int content, type, ops;
-
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_paint (cr);
-    cairo_translate (cr, SPACE, SPACE);
-
-    for (type = 0; type <= PAINTED; type++) {
-       for (content = 0; content < ARRAY_LENGTH (contents); content++) {
-           cairo_surface_t *surface;
-
-           surface = create_surface (cr, contents[content], type);
-
-            cairo_save (cr);
-            for (ops = 0; ops < ARRAY_LENGTH (operations); ops++) {
-                cairo_save (cr);
-                operations[ops] (cr, surface);
-                cairo_restore (cr);
-                cairo_translate (cr, 0, SIZE + SPACE);
-            }
-            cairo_restore (cr);
-            cairo_translate (cr, SIZE + SPACE, 0);
-
-           cairo_surface_destroy (surface);
-        }
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clear_source,
-           "Check painting with cleared surfaces works as expected",
-           NULL, /* keywords */
-           NULL, /* requirements */
-           (SIZE + SPACE) * 9 + SPACE, ARRAY_LENGTH (operations) * (SIZE + SPACE) + SPACE,
-           NULL, draw)
diff --git a/test/clear.c b/test/clear.c
deleted file mode 100644 (file)
index 696993d..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_text_extents_t extents;
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
-
-    cairo_translate (cr, 2, 2);
-    cairo_save (cr);
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_clip (cr);
-    cairo_rectangle (cr, 5, 5, 10, 10);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, 20, 0);
-    cairo_save (cr);
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_clip (cr);
-    cairo_arc (cr, 10, 10, 8, 0, 2*M_PI);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, 0, 20);
-    cairo_save (cr);
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_clip (cr);
-    cairo_text_extents (cr, "Cairo", &extents);
-    cairo_move_to (cr,
-                  10 - (extents.width/2. + extents.x_bearing),
-                  10 - (extents.height/2. + extents.y_bearing));
-    cairo_text_path (cr, "Cairo");
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, -20, 0);
-    cairo_save (cr);
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_clip (cr);
-    cairo_move_to (cr, 10, 2);
-    cairo_line_to (cr, 18, 18);
-    cairo_line_to (cr, 2, 18);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clear,
-           "Test masked clears",
-           "paint, clear", /* keywords */
-           NULL, /* requirements */
-           44, 44,
-           NULL, draw)
-
diff --git a/test/clip-all.c b/test/clip-all.c
deleted file mode 100644 (file)
index dc216c9..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright © 2005 Novell, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Novell, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Novell, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Radek Doulík <rodo@novell.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 10
-#define CLIP_SIZE 2
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_fill (cr);
-
-    cairo_reset_clip (cr);
-    cairo_rectangle (cr, CLIP_SIZE, CLIP_SIZE, CLIP_SIZE, CLIP_SIZE);
-    cairo_clip (cr);
-    cairo_rectangle (cr, 3*CLIP_SIZE, 3*CLIP_SIZE, CLIP_SIZE, CLIP_SIZE);
-    cairo_clip (cr);
-
-    cairo_translate (cr, .5, .5);
-
-    cairo_reset_clip (cr);
-    cairo_rectangle (cr, CLIP_SIZE, CLIP_SIZE, CLIP_SIZE, CLIP_SIZE);
-    cairo_clip (cr);
-    cairo_rectangle (cr, 3*CLIP_SIZE, 3*CLIP_SIZE, CLIP_SIZE, CLIP_SIZE);
-    cairo_clip (cr);
-
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_set_source_rgb (cr, 1, 1, 0);
-    cairo_fill (cr);
-
-    /* https://bugs.freedesktop.org/show_bug.cgi?id=13084 */
-    cairo_select_font_face (cr,
-                           CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    cairo_move_to (cr, 0., SIZE);
-    cairo_show_text (cr, "cairo");
-
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_all,
-           "Test clipping with everything clipped out",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
-
diff --git a/test/clip-complex-shape.c b/test/clip-complex-shape.c
deleted file mode 100644 (file)
index d7d5301..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright 2011 SCore Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Taekyun Kim <podain77@gmail.com>
- */
-
-#include "cairo-test.h"
-
-static void
-rounded_rectangle(cairo_t *cr,
-                 double x, double y,
-                 double width, double height,
-                 double radius)
-{
-    cairo_move_to   (cr, x, y + radius);
-    cairo_line_to   (cr, x, y + height - radius);
-    cairo_curve_to  (cr, x, y + height - radius/2.0,
-                         x + radius/2.0, y + height,
-                         x + radius, y + height);
-    cairo_line_to   (cr, x + width - radius, y + height);
-    cairo_curve_to  (cr, x + width - radius/2.0, y + height,
-                         x + width, y + height - radius/2.0,
-                         x + width, y + height - radius);
-    cairo_line_to   (cr, x + width, y + radius);
-    cairo_curve_to  (cr, x + width, y + radius/2.0,
-                         x + width - radius/2.0, y,
-                         x + width - radius, y);
-    cairo_line_to   (cr, x + radius, y);
-    cairo_curve_to  (cr, x + radius/2.0, y, x, y + radius/2.0, x, y + radius);
-    cairo_close_path(cr);
-}
-
-static void
-background (cairo_t *cr)
-{
-    cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgba(cr, 1.0, 1.0, 1.0, 1.0);
-    cairo_paint(cr);
-}
-
-static void
-foreground (cairo_t *cr)
-{
-    cairo_set_source_rgba(cr, 1.0, 0.0, 0.0, 1.0);
-    cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
-    cairo_rectangle(cr, 20, 20, 60, 60);
-    cairo_fill(cr);
-}
-
-static cairo_test_status_t
-clip_eo_mono (cairo_t *cr, int width, int height)
-{
-
-    background (cr);
-
-    cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE);
-    cairo_set_fill_rule(cr, CAIRO_FILL_RULE_EVEN_ODD);
-    rounded_rectangle(cr, 0, 0, 40, 100, 10);
-    rounded_rectangle(cr, 60, 0, 40, 100, 10);
-    cairo_clip(cr);
-
-    foreground (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-clip_eo_aa (cairo_t *cr, int width, int height)
-{
-    background (cr);
-
-    cairo_set_antialias(cr, CAIRO_ANTIALIAS_DEFAULT);
-    cairo_set_fill_rule(cr, CAIRO_FILL_RULE_EVEN_ODD);
-    rounded_rectangle(cr, 0, 0, 40, 100, 10);
-    rounded_rectangle(cr, 60, 0, 40, 100, 10);
-    cairo_clip(cr);
-
-    foreground (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_complex_shape_eo_mono,
-           "Test clipping against a complex shape",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           100, 100,
-           NULL, clip_eo_mono)
-CAIRO_TEST (clip_complex_shape_eo_aa,
-           "Test clipping against a complex shape",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           100, 100,
-           NULL, clip_eo_aa)
diff --git a/test/clip-contexts.c b/test/clip-contexts.c
deleted file mode 100644 (file)
index 39d2004..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * INTEL CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/*
- * Jeff Muizelaar found a bug on Quartz with cairo-surface-clipper, which was
- * the topmost clip path from two different contexts and finding them equally
- * incorrectly concluding that the operation was a no-op.
- */
-
-#define SIZE 10
-#define CLIP_SIZE 2
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_t *cr2;
-
-    /* opaque background */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    /* first create an empty, non-overlappiny clip */
-    cr2 = cairo_create (cairo_get_target (cr));
-    cairo_rectangle (cr2, 0, 0, SIZE/2-2, SIZE/2-2);
-    cairo_clip (cr2);
-
-    cairo_rectangle (cr2, SIZE/2+2, SIZE/2+2, SIZE/2-2, SIZE/2-2);
-    cairo_clip (cr2);
-
-    /* and apply the clip onto the surface, empty nothing should be painted */
-    cairo_set_source_rgba (cr2, 1, 0, 0, .5);
-    cairo_paint (cr2);
-
-    /* switch back to the original, and set only the last clip */
-    cairo_rectangle (cr, SIZE/2+2, SIZE/2+2, SIZE/2-2, SIZE/2-2);
-    cairo_clip (cr);
-
-    cairo_set_source_rgba (cr, 0, 0, 1, .5);
-    cairo_paint (cr);
-
-    cairo_destroy (cr2);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_contexts,
-           "Test clipping with 2 separate contexts",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/clip-device-offset.c b/test/clip-device-offset.c
deleted file mode 100644 (file)
index f725b8e..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright © 2009 Benjamin Otte
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 50
-#define HEIGHT 50
-
-static cairo_pattern_t *
-create_green_source (void)
-{
-  cairo_surface_t *image;
-  cairo_pattern_t *pattern;
-  cairo_t *cr;
-
-  image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, WIDTH, HEIGHT);
-  cr = cairo_create (image);
-  cairo_surface_destroy (image);
-
-  cairo_set_source_rgb (cr, 0, 1, 0);
-  cairo_paint (cr);
-
-  pattern = cairo_pattern_create_for_surface (cairo_get_target (cr));
-  cairo_destroy (cr);
-
-  return pattern;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-  cairo_pattern_t *source;
-  double old_x, old_y;
-
-  cairo_surface_get_device_offset (cairo_get_group_target (cr), &old_x, &old_y);
-  cairo_surface_set_device_offset (cairo_get_group_target (cr), old_x+5, old_y+5);
-
-  source = create_green_source ();
-  cairo_set_source (cr, source);
-  cairo_pattern_destroy (source);
-
-  cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-  cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-  cairo_clip (cr);
-  cairo_paint (cr);
-
-  cairo_surface_set_device_offset (cairo_get_group_target (cr), old_x, old_y);
-
-  return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_device_offset,
-           "Test clipping on surfaces with device offsets",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           WIDTH+10, HEIGHT+10,
-           NULL, draw)
diff --git a/test/clip-disjoint-hatching.c b/test/clip-disjoint-hatching.c
deleted file mode 100644 (file)
index 8626e80..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define STEP   5
-#define WIDTH  100
-#define HEIGHT 100
-
-static void hatching (cairo_t *cr)
-{
-    int i;
-
-    cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-    cairo_clip (cr);
-
-    cairo_translate (cr, WIDTH/2, HEIGHT/2);
-    cairo_rotate (cr, M_PI/4);
-    cairo_translate (cr, -WIDTH/2, -HEIGHT/2);
-
-    for (i = 0; i < WIDTH; i += STEP) {
-       cairo_rectangle (cr, i, -2, 1, HEIGHT+4);
-       cairo_rectangle (cr, -2, i, WIDTH+4, 1);
-    }
-}
-
-static void background (cairo_t *cr)
-{
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-}
-
-static void clip_to_grid (cairo_t *cr)
-{
-    int i, j;
-
-    for (j = 0; j < HEIGHT; j += 2*STEP) {
-       for (i = 0; i < WIDTH; i += 2*STEP)
-           cairo_rectangle (cr, i, j, STEP, STEP);
-
-       j += 2*STEP;
-       for (i = 0; i < WIDTH; i += 2*STEP)
-           cairo_rectangle (cr, i+STEP/2, j, STEP, STEP);
-    }
-
-    cairo_clip (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    background (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-
-    cairo_save (cr); {
-       clip_to_grid (cr);
-       hatching (cr);
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       cairo_fill (cr);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, 0.25, HEIGHT+.25);
-
-    cairo_save (cr); {
-       clip_to_grid (cr);
-       hatching (cr);
-       cairo_set_source_rgb (cr, 0, 0, 1);
-       cairo_fill (cr);
-    } cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_disjoint_hatching,
-           "Test drawing through through an array of clips",
-           "clip", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, 2*HEIGHT,
-           NULL, draw)
diff --git a/test/clip-disjoint.c b/test/clip-disjoint.c
deleted file mode 100644 (file)
index 28bb963..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Soren Sandmann <sandmann@redhat.com>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 300
-#define HEIGHT 300
-
-typedef struct {
-    double x, y;
-} point_t;
-
-static void
-paint_curve (cairo_t *cr)
-{
-    const point_t points[] = {
-       { 100, 320 }, { 110, -80 },
-       { 180, 60 }, { 300, 170 },
-       { 300, -40 }
-    };
-    unsigned i;
-
-    cairo_set_line_width (cr, 2);
-    cairo_move_to (cr, points[0].x, points[0].y);
-
-    for (i = 1; i < ARRAY_LENGTH (points) - 2; i += 3) {
-       cairo_curve_to (cr,
-                       points[i].x, points[i].y,
-                       points[i + 1].x, points[i + 1].y,
-                       points[i + 2].x, points[i + 2].y);
-    }
-    cairo_set_line_width (cr, 5);
-    cairo_stroke (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Fill window with light blue */
-    cairo_set_source_rgba (cr, 0.8, 0.8, 1.9, 1.0);
-    cairo_paint (cr);
-
-    /* Paint curve in green */
-    cairo_set_source_rgba (cr, 0.6, 0.8, 0.6, 1.0);
-    paint_curve (cr);
-
-    /* Make clip region */
-    cairo_rectangle (cr, 228, 131, 50, 13);
-    cairo_rectangle (cr, 20, 99, 200, 75);
-    cairo_clip_preserve (cr);
-
-    /* Fill clip region with red */
-    cairo_set_source_rgba (cr, 1.0, 0.5, 0.5, 0.8);
-    cairo_fill (cr);
-
-    /* Paint curve again, this time in blue */
-    cairo_set_source_rgba (cr, 0, 0, 1.0, 1.0);
-    paint_curve (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_disjoint,
-           "Tests stroking through two disjoint clips.",
-           "clip, stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/clip-double-free.c b/test/clip-double-free.c
deleted file mode 100644 (file)
index 74b9a6e..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright © 2011 Uli Schlachter
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Uli Schlachter <psychon@znc.in>
- */
-
-/*
- * This test wants to hit the following double free:
- *
- * ==10517== Invalid free() / delete / delete[]
- * ==10517==    at 0x4C268FE: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- * ==10517==    by 0x87FBE80: _cairo_clip_destroy (cairo-clip.c:136)
- * ==10517==    by 0x87FE520: _cairo_clip_intersect_boxes.part.1 (cairo-clip-private.h:92)
- * ==10517==    by 0x87FE79F: _cairo_clip_intersect_rectilinear_path (cairo-clip-boxes.c:266)
- * ==10517==    by 0x87FC29B: _cairo_clip_intersect_path.part.3 (cairo-clip.c:242)
- * ==10517==    by 0x8809C3A: _cairo_gstate_clip (cairo-gstate.c:1518)
- * ==10517==    by 0x8802E40: _cairo_default_context_clip (cairo-default-context.c:1048)
- * ==10517==    by 0x87FA2C6: cairo_clip (cairo.c:2380)
- * ==10517==  Address 0x18d44cb0 is 0 bytes inside a block of size 32 free'd
- * ==10517==    at 0x4C268FE: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- * ==10517==    by 0x87FE506: _cairo_clip_intersect_boxes.part.1 (cairo-clip-boxes.c:295)
- * ==10517==    by 0x87FE79F: _cairo_clip_intersect_rectilinear_path (cairo-clip-boxes.c:266)
- * ==10517==    by 0x87FC29B: _cairo_clip_intersect_path.part.3 (cairo-clip.c:242)
- * ==10517==    by 0x8809C3A: _cairo_gstate_clip (cairo-gstate.c:1518)
- * ==10517==    by 0x8802E40: _cairo_default_context_clip (cairo-default-context.c:1048)
- * ==10517==    by 0x87FA2C6: cairo_clip (cairo.c:2380)
- *
- * _cairo_clip_intersect_boxes() is called with clip->num_boxes != 0. It then
- * calls _cairo_boxes_init_for_array (&clip_boxes, clip->boxes, clip->num_boxes)
- * and free (clip->boxes), stealing the clip's boxes, but leaving a dangling
- * pointer behind.
- * Because this code already intersected the existing boxes and the new ones, we
- * now have num_boxes == 0. This means that _cairo_clip_set_all_clipped() gets
- * called and tries to free the clip's boxes again.
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    /* To hit this bug, we first need a clip with
-     * clip->boxes != clip->embedded_boxes.
-     */
-    cairo_rectangle (cr, 0, 0, 2, 2);
-    cairo_rectangle (cr, 0, 0, 1, 1);
-    cairo_clip (cr);
-
-    /* Then we have to intersect this with a rectilinear path which results in
-     * all clipped. This path must consist of at least two boxes or we will hit
-     * a different code path.
-     */
-    cairo_rectangle (cr, 10, 10, 2, 2);
-    cairo_rectangle (cr, 10, 10, 1, 1);
-    cairo_clip (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_double_free,
-           "Test a double free bug in the clipping code",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/clip-draw-unbounded.c b/test/clip-draw-unbounded.c
deleted file mode 100644 (file)
index 6b9263b..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2009 Chris Wilson
- * Copyright 2010 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 60
-#define HEIGHT 60
-
-static void
-stroke (cairo_t *cr)
-{
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-    cairo_set_source_rgb (cr, 0, 0.7, 0);
-    cairo_arc (cr, 10, 10, 7.5, 0, 2 * M_PI);
-    cairo_move_to (cr, 0, 20);
-    cairo_line_to (cr, 20, 0);
-    cairo_stroke (cr);
-}
-
-static void
-fill (cairo_t *cr)
-{
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-    cairo_set_source_rgb (cr, 0, 0.7, 0);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, 10, 10, 8.5, 0, 2 * M_PI);
-    cairo_new_sub_path (cr);
-    cairo_arc_negative (cr, 10, 10, 6.5, 2 * M_PI, 0);
-
-    cairo_move_to (cr, -1, 19);
-    cairo_line_to (cr,  1, 21);
-    cairo_line_to (cr, 21,  1);
-    cairo_line_to (cr, 19, -1);
-    cairo_line_to (cr, -1, 19);
-
-    cairo_fill (cr);
-}
-
-static void
-clip_simple (cairo_t *cr)
-{
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_clip (cr);
-}
-
-static void
-clip_unaligned (cairo_t *cr)
-{
-    cairo_rectangle (cr, 0.5, 0.5, 20, 20);
-    cairo_clip (cr);
-}
-
-static void
-clip_aligned (cairo_t *cr)
-{
-    cairo_fill_rule_t orig_rule;
-
-    orig_rule = cairo_get_fill_rule (cr);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_rectangle (cr, 3, 3, 10, 10);
-    cairo_rectangle (cr, 7, 7, 10, 10);
-    cairo_clip (cr);
-    cairo_set_fill_rule (cr, orig_rule);
-}
-
-static void
-clip_mask (cairo_t *cr)
-{
-    cairo_arc (cr, 10, 10, 10, 0, 2 * M_PI);
-    cairo_new_sub_path (cr);
-    cairo_arc_negative (cr, 10, 10, 5, 2 * M_PI, 0);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, 10, 10, 2, 0, 2 * M_PI);
-    cairo_clip (cr);
-}
-
-static void (* const clip_funcs[])(cairo_t *cr) = {
-    clip_simple,
-    clip_unaligned,
-    clip_aligned,
-    clip_mask
-};
-
-static double translations[][2] = {
-    { 10, 10 },
-    { WIDTH, 0 },
-    { -WIDTH, HEIGHT },
-    { WIDTH, 0 }
-};
-
-static cairo_test_status_t
-draw (cairo_t *cr, void (*shapes)(cairo_t *))
-{
-    unsigned int i;
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    for (i = 0; i < ARRAY_LENGTH (clip_funcs); i++) {
-       cairo_translate (cr, translations[i][0], translations[i][1]);
-
-       cairo_save (cr);
-       cairo_scale (cr, 2, 2);
-       clip_funcs[i] (cr);
-       shapes (cr);
-       cairo_restore (cr);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_stroke (cairo_t *cr, int width, int height)
-{
-    return draw (cr, stroke);
-}
-
-static cairo_test_status_t
-draw_fill_nz (cairo_t *cr, int width, int height)
-{
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
-    return draw (cr, fill);
-}
-
-static cairo_test_status_t
-draw_fill_eo (cairo_t *cr, int width, int height)
-{
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    return draw (cr, fill);
-}
-
-CAIRO_TEST (clip_stroke_unbounded,
-           "Tests unbounded stroke through complex clips.",
-           "clip, stroke, unbounded", /* keywords */
-           NULL, /* requirements */
-           2 * WIDTH, 2 * HEIGHT,
-           NULL, draw_stroke)
-
-CAIRO_TEST (clip_fill_nz_unbounded,
-           "Tests unbounded fill through complex clips (with winding fill rule).",
-           "clip, fill, unbounded", /* keywords */
-           NULL, /* requirements */
-           2 * WIDTH, 2 * HEIGHT,
-           NULL, draw_fill_nz)
-
-CAIRO_TEST (clip_fill_eo_unbounded,
-           "Tests unbounded fill through complex clips (with even-odd fill rule).",
-           "clip, fill, unbounded", /* keywords */
-           NULL, /* requirements */
-           2 * WIDTH, 2 * HEIGHT,
-           NULL, draw_fill_eo)
diff --git a/test/clip-empty-group.c b/test/clip-empty-group.c
deleted file mode 100644 (file)
index 20e95c2..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* Test the handling of cairo_push_group() with everything clipped. */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_paint (cr); /* opaque background */
-
-    cairo_rectangle (cr,  20, 20, 0, 0);
-    cairo_clip (cr);
-
-    cairo_push_group (cr); /* => 0x0 group */
-    cairo_reset_clip (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, 0, 0, width, height);
-    cairo_set_source_rgba (cr, 0, 1, 0, .5);
-    cairo_fill (cr);
-
-    cairo_move_to (cr, 0, 20);
-    cairo_line_to (cr, width, 20);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_stroke (cr);
-
-    cairo_pop_group_to_source (cr);
-    cairo_reset_clip (cr);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_empty_group,
-           "Test handling of groups with everything clipped",
-           "clip group", /* keywords */
-           NULL, /* requirements */
-           40, 40,
-           NULL, draw)
diff --git a/test/clip-empty-save.c b/test/clip-empty-save.c
deleted file mode 100644 (file)
index 35de3cb..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright © 2007 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 10
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_reset_clip (cr);
-    cairo_clip (cr);
-
-    cairo_save (cr);
-
-    cairo_translate (cr, .5, .5);
-
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_stroke (cr);
-
-    /* https://bugs.freedesktop.org/show_bug.cgi?id=13084 */
-    cairo_select_font_face (cr,
-                           CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    cairo_move_to (cr, 0., SIZE);
-    cairo_show_text (cr, "cairo");
-
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_empty_save,
-           "Test clipping with an empty clip path",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/clip-empty.c b/test/clip-empty.c
deleted file mode 100644 (file)
index 858b69a..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2007 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 10
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_reset_clip (cr);
-    cairo_clip (cr);
-
-    cairo_translate (cr, .5, .5);
-
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_stroke (cr);
-
-    /* https://bugs.freedesktop.org/show_bug.cgi?id=13084 */
-    cairo_select_font_face (cr,
-                           CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    cairo_move_to (cr, 0., SIZE);
-    cairo_show_text (cr, "cairo");
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_empty,
-           "Test clipping with an empty clip path",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/clip-fill-no-op.c b/test/clip-fill-no-op.c
deleted file mode 100644 (file)
index b686b6e..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2009 Benjamin Otte
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 50
-#define HEIGHT 50
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Neutral gray background */
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_paint (cr);
-
-    /* remove this clip operation and everything works */
-    cairo_rectangle (cr, 10, 10, 30, 30);
-    cairo_clip (cr);
-
-    /* remove this no-op and everything works */
-    cairo_fill (cr);
-
-    /* make the y coordinates integers and everything works */
-    cairo_move_to (cr, 20, 20.101562);
-    cairo_line_to (cr, 30, 20.101562);
-
-    /* This clip operation should fail to work. But with cairo 1.9, if all the 
-     * 3 cases above happen, the clip will not work and the paint will happen.
-     */
-    cairo_save (cr); {
-       cairo_set_source_rgba (cr, 1, 0.5, 0.5, 1);
-       cairo_clip_preserve (cr);
-       cairo_paint (cr);
-    } cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_fill_no_op,
-           "Exercises a bug found by Benjamin Otte whereby a no-op clip is nullified by a stroke",
-           "clip, fill", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/clip-fill-rule-pixel-aligned.c b/test/clip-fill-rule-pixel-aligned.c
deleted file mode 100644 (file)
index 210afcb..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright © 2004 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define PAD 1
-#define SIZE 5
-
-static void
-pixel_aligned_path (cairo_t *cr)
-{
-    cairo_save (cr);
-    {
-       cairo_scale (cr, SIZE, SIZE);
-       cairo_move_to     (cr,  1,  0);
-       cairo_rel_line_to (cr,  1,  0);
-       cairo_rel_line_to (cr,  0,  3);
-       cairo_rel_line_to (cr,  1,  0);
-       cairo_rel_line_to (cr,  0, -1);
-       cairo_rel_line_to (cr, -3,  0);
-       cairo_rel_line_to (cr,  0, -1);
-       cairo_rel_line_to (cr,  4,  0);
-       cairo_rel_line_to (cr,  0,  3);
-       cairo_rel_line_to (cr, -3,  0);
-       cairo_rel_line_to (cr,  0, -4);
-       cairo_close_path (cr);
-    }
-    cairo_restore (cr);
-}
-
-/* Use clipping to draw the same path twice, once with each fill rule */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-
-    cairo_translate (cr, PAD, PAD);
-
-    cairo_save (cr);
-    {
-       pixel_aligned_path (cr);
-       cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-       cairo_clip (cr);
-       cairo_paint (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_translate (cr, SIZE*4 + PAD, 0);
-
-    cairo_save (cr);
-    {
-       pixel_aligned_path (cr);
-       cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
-       cairo_clip (cr);
-       cairo_paint (cr);
-    }
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_fill_rule_pixel_aligned,
-           "Tests interaction of clipping and cairo_set_fill_rule with a pixel-aligned path",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           PAD + (SIZE*4) + PAD + (SIZE*4) + PAD,
-           PAD + (SIZE*4) + PAD,
-           NULL, draw)
diff --git a/test/clip-fill-rule.c b/test/clip-fill-rule.c
deleted file mode 100644 (file)
index 31c3ab7..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright © 2004 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define STAR_SIZE 20
-
-static void
-star_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 10, 0);
-    cairo_rel_line_to (cr, 6, 20);
-    cairo_rel_line_to (cr, -16, -12);
-    cairo_rel_line_to (cr, 20, 0);
-    cairo_rel_line_to (cr, -16, 12);
-}
-
-/* Use clipping to draw the same path twice, once with each fill rule */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    cairo_translate (cr, 1, 1);
-    cairo_save (cr);
-    {
-       star_path (cr);
-       cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
-       cairo_clip (cr);
-       cairo_paint (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_translate (cr, STAR_SIZE + 1, 0);
-    cairo_save (cr);
-    {
-       star_path (cr);
-       cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-       cairo_clip (cr);
-       cairo_paint (cr);
-    }
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-a1_draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-    return draw (cr, width, height);
-}
-
-CAIRO_TEST (clip_fill_rule,
-           "Tests interaction of clipping with cairo_set_fill_rule",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           STAR_SIZE * 2 + 2, STAR_SIZE + 2,
-           NULL, draw)
-CAIRO_TEST (a1_clip_fill_rule,
-           "Tests interaction of clipping with cairo_set_fill_rule",
-           "clip", /* keywords */
-           "target=raster", /* requirements */
-           STAR_SIZE * 2 + 2, STAR_SIZE + 2,
-           NULL, a1_draw)
diff --git a/test/clip-fill.c b/test/clip-fill.c
deleted file mode 100644 (file)
index 331af79..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 20
-#define HEIGHT 20
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* aligned-clip */
-    cairo_save (cr);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_rectangle (cr, 3, 3, 10, 10);
-    cairo_rectangle (cr, 7, 7, 10, 10);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 0.7, 0, 0);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0.7, 0);
-    cairo_arc (cr, 10, 10, 8, 0, 2 * M_PI);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    /* force a clip-mask */
-    cairo_save (cr);
-    cairo_arc (cr, 10, 10, 10, 0, 2 * M_PI);
-    cairo_new_sub_path (cr);
-    cairo_arc_negative (cr, 10, 10, 5, 2 * M_PI, 0);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, 10, 10, 2, 0, 2 * M_PI);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0.7);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0.7, 0);
-    cairo_arc (cr, 10, 10, 7.5, 0, 2 * M_PI);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_fill,
-           "Tests filling through complex clips.",
-           "clip, fill", /* keywords */
-           NULL, /* requirements */
-           2 * WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/clip-group-shapes.c b/test/clip-group-shapes.c
deleted file mode 100644 (file)
index 88bb9b3..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (c) 2010 M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-#include "cairo-test.h"
-
-/* Tests specific clipping fast paths and their interaction with
- * groups:  It shouldn't matter if the clip is set before or after
- * pushing a group.
- *
- * There's some overlap with the following tests, but they test for
- * different things:
- *
- *  group-clip.c (tests preserving paths), clipped-group.c (tests
- *  clipping the same thing different ways), clip-push-group (tests
- *  for a specific bug).
- */
-
-#define GENERATE_REF 0
-
-/* For determining whether we establish the clip path before or after
- * pushing a group. */
-enum {
-    CLIP_OUTSIDE_GROUP,
-    CLIP_INSIDE_GROUP
-};
-
-typedef void (*clipper_t)(cairo_t *cr, int w, int h);
-
-static cairo_test_status_t
-clip_and_paint (cairo_t *cr,
-                int w, int h,
-                clipper_t do_clip,
-                int clip_where)
-{
-    cairo_save (cr); {
-        if (GENERATE_REF) {
-            do_clip (cr, w, h);
-            cairo_paint (cr);
-        } else {
-            if (clip_where == CLIP_OUTSIDE_GROUP)
-                do_clip (cr, w, h);
-            cairo_push_group (cr); {
-                if (clip_where == CLIP_INSIDE_GROUP)
-                    do_clip (cr, w, h);
-                cairo_paint (cr);
-            }
-            cairo_pop_group_to_source (cr);
-            if (clip_where == CLIP_OUTSIDE_GROUP)
-               cairo_reset_clip (cr);
-            cairo_paint (cr);
-        }
-    }
-    cairo_restore (cr);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-run_clip_test (cairo_t *cr, int w, int h, clipper_t do_clip)
-{
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 1,0,0);
-
-    /* Left. */
-    clip_and_paint (cr, w/2, h, do_clip, CLIP_OUTSIDE_GROUP);
-
-    /* Right */
-    cairo_translate(cr, w/2, 0);
-    clip_and_paint (cr, w/2, h, do_clip, CLIP_INSIDE_GROUP);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static void
-clip_aligned_rectangles (cairo_t *cr, int w, int h)
-{
-    int x1 = 0.2 * w;
-    int y1 = 0.2 * h;
-    int x2 = 0.8 * w;
-    int y2 = 0.8 * h;
-
-    cairo_rectangle (cr, x1, y1, w, h);
-    cairo_clip (cr);
-
-    cairo_rectangle (cr, x2, y2, -w, -h);
-    cairo_clip (cr);
-}
-
-static void
-clip_unaligned_rectangles (cairo_t *cr, int w, int h)
-{
-    /* This clip stresses the antialiased edges produced by an
-     * unaligned rectangular clip. The edges should be produced by
-     * compositing red on white with alpha = 0.5 on the sides, and with
-     * alpha = 0.25 in the corners. */
-    int x1 = 0.2 * w;
-    int y1 = 0.2 * h;
-    int x2 = 0.8 * w;
-    int y2 = 0.8 * h;
-
-    cairo_rectangle (cr, x1+0.5, y1+0.5, w, h);
-    cairo_clip (cr);
-
-    cairo_rectangle (cr, x2+0.5, y2+0.5, -w, -h);
-    w = x2 - x1;
-    h = y2 - y1;
-    cairo_rectangle (cr, x2, y1+1, -w+1, h-1);
-    cairo_clip (cr);
-}
-
-static void
-clip_circles (cairo_t *cr, int w, int h)
-{
-    int x1 = 0.5 * w;
-    int y1 = 0.5 * h;
-    int x2 = 0.75 * w;
-    int y2 = 0.75 * h;
-    int r = 0.4*MIN(w,h);
-
-    cairo_arc (cr, x1, y1, r, 0, 6.28);
-    cairo_close_path (cr);
-    cairo_clip (cr);
-
-    cairo_arc (cr, x2, y2, r, 0, 6.28);
-    cairo_close_path (cr);
-    cairo_clip (cr);
-}
-
-static cairo_test_status_t
-draw_aligned_rectangles (cairo_t *cr, int width, int height)
-{
-    return run_clip_test (cr, width, height, clip_aligned_rectangles);
-}
-
-static cairo_test_status_t
-draw_unaligned_rectangles (cairo_t *cr, int width, int height)
-{
-    return run_clip_test (cr, width, height, clip_unaligned_rectangles);
-}
-
-static cairo_test_status_t
-draw_circles (cairo_t *cr, int width, int height)
-{
-    return run_clip_test (cr, width, height, clip_circles);
-}
-
-CAIRO_TEST (clip_group_shapes_aligned_rectangles,
-           "Test clip and group interaction with aligned rectangle clips",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           200, 100,
-           NULL, draw_aligned_rectangles)
-
-CAIRO_TEST (clip_group_shapes_unaligned_rectangles,
-           "Test clip and group interaction with unaligned rectangle clips",
-           "clip", /* keywords */
-           "target=raster", /* requirements */
-           200, 100,
-           NULL, draw_unaligned_rectangles)
-
-CAIRO_TEST (clip_group_shapes_circles,
-           "Test clip and group interaction with circular clips",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           200, 100,
-           NULL, draw_circles)
diff --git a/test/clip-image.c b/test/clip-image.c
deleted file mode 100644 (file)
index 68ed142..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 20
-#define HEIGHT 20
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *image;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    image = cairo_test_create_surface_from_png (ctx, png_filename);
-    cairo_set_source_surface (cr, image, 0, 0);
-    cairo_surface_destroy (image);
-
-    /* simple clip */
-    cairo_save (cr);
-    cairo_rectangle (cr, 2, 2, 16, 16);
-    cairo_clip (cr);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    /* unaligned clip */
-    cairo_save (cr);
-    cairo_rectangle (cr, 2.5, 2.5, 15, 15);
-    cairo_clip (cr);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, -WIDTH, HEIGHT);
-
-    /* aligned-clip */
-    cairo_save (cr);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_rectangle (cr, 3, 3, 10, 10);
-    cairo_rectangle (cr, 7, 7, 10, 10);
-    cairo_clip (cr);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    /* force a clip-mask */
-    cairo_save (cr);
-    cairo_arc (cr, 10, 10, 10, 0, 2 * M_PI);
-    cairo_new_sub_path (cr);
-    cairo_arc_negative (cr, 10, 10, 5, 2 * M_PI, 0);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, 10, 10, 2, 0, 2 * M_PI);
-    cairo_clip (cr);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_image,
-           "Tests painting an image through complex clips.",
-           "clip, paint", /* keywords */
-           NULL, /* requirements */
-           2 * WIDTH, 2 * HEIGHT,
-           NULL, draw)
diff --git a/test/clip-intersect.c b/test/clip-intersect.c
deleted file mode 100644 (file)
index 295fbc9..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 2009 Chris Wilson
- * Copyright 2011 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 20
-#define HEIGHT 20
-
-static void clip_mask (cairo_t *cr)
-{
-    cairo_move_to (cr, 10, 0);
-    cairo_line_to (cr, 0, 10);
-    cairo_line_to (cr, 10, 20);
-    cairo_line_to (cr, 20, 10);
-    cairo_clip (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    clip_mask (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_paint (cr);
-    cairo_reset_clip (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    cairo_rectangle (cr, 0, 0, 4, 4);
-    cairo_clip (cr);
-    clip_mask (cr);
-    cairo_paint (cr);
-    cairo_reset_clip (cr);
-
-    cairo_rectangle (cr, 20, 0, -4, 4);
-    cairo_clip (cr);
-    clip_mask (cr);
-    cairo_paint (cr);
-    cairo_reset_clip (cr);
-
-    cairo_rectangle (cr, 20, 20, -4, -4);
-    cairo_clip (cr);
-    clip_mask (cr);
-    cairo_paint (cr);
-    cairo_reset_clip (cr);
-
-    cairo_rectangle (cr, 0, 20, 4, -4);
-    cairo_clip (cr);
-    clip_mask (cr);
-    cairo_paint (cr);
-    cairo_reset_clip (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-
-    cairo_rectangle (cr, 8, 8, 4, 4);
-    cairo_clip (cr);
-    clip_mask (cr);
-    cairo_paint (cr);
-    cairo_reset_clip (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_intersect,
-           "Tests intersection of a simple clip with a clip-mask",
-           "clip, paint", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/clip-mixed-antialias.c b/test/clip-mixed-antialias.c
deleted file mode 100644 (file)
index 23a55ff..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH  200
-#define HEIGHT 200
-
-/* This is an example from the wild, as silly as it is
-n 52 0 429 709 rectangle
-clip+
-//ANTIALIAS_NONE set-antialias
-n 8 0 m 952 0 l 956.417969 0 960 3.582031 960 8 c 960 1807 l 960 1811.417969 956.417969 1815 952 1815 c 8 1815 l 3.582031 1815 0 1811.417969 0 1807 c 0 8 l 0 3.582031 3.582031 0 8 0 c h
-clip+
-//EVEN_ODD set-fill-rule
-n 0 0 m 480 0 l 480 708 l 0 708 l h 8 1 m 952 1 l 955.867188 1 959 4.132812 959 8 c 959 1807 l 959 1810.867188 955.867188 1814 952 1814 c 8 1814 l 4.132812 1814 1 1810.867188 1 1807 c 1 8 l 1 4.132812 4.132812 1 8 1 c h
-clip+
-//WINDING set-fill-rule
-//ANTIALIAS_DEFAULT set-antialias
-n 960 0 m 52.5 907.5 l 52.5 1815 l 960 1815 l h
-clip+
-//ANTIALIAS_NONE set-antialias
-n 960 0 m 52.5 0 l 52.5 907.5 l 960 1815 l h
-clip+
-*/
-
-static void background (cairo_t *cr)
-{
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-}
-
-static void clip_0 (cairo_t *cr)
-{
-    cairo_rectangle (cr, 5, 5, 190, 190);
-    cairo_clip (cr);
-}
-
-static void clip_1 (cairo_t *cr)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    cairo_arc (cr, 100, 100, 125, 0, 2*M_PI);
-    cairo_clip (cr);
-
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_DEFAULT);
-}
-
-static void
-rounded_rectangle (cairo_t *cr, int x, int y, int w, int h, int r)
-{
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, x + r, y + r, r, M_PI, 3 * M_PI / 2);
-    cairo_arc (cr, x + w - r, y + r, r, 3 *M_PI / 2, 2 * M_PI);
-    cairo_arc (cr, x + w - r, y + h - r, r, 0, M_PI / 2);
-    cairo_arc (cr, x + r, y + h - r, r, M_PI / 2, M_PI);
-    cairo_close_path (cr);
-}
-
-static void clip_2 (cairo_t *cr)
-{
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    rounded_rectangle (cr, 50, 50, 100, 100, 15);
-    rounded_rectangle (cr, 60, 60, 80, 80, 5);
-    cairo_clip (cr);
-
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
-}
-
-static void clip_3 (cairo_t *cr)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    cairo_rectangle (cr, 40.25, 60.25, 120, 80);
-    cairo_rectangle (cr, 60.25, 40.25, 80, 120);
-    cairo_clip (cr);
-
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_DEFAULT);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    background (cr);
-
-    clip_0 (cr);
-    clip_1 (cr);
-    clip_2 (cr);
-    clip_3 (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_mixed_antialias,
-           "Test drawing through through an mixture of clips",
-           "clip", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/clip-nesting.c b/test/clip-nesting.c
deleted file mode 100644 (file)
index ce03b4b..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Owen Taylor <otaylor@redhat.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 100
-#define BORDER 10
-#define LINE_WIDTH 20
-
-static void
-_propagate_status (cairo_t *dst, cairo_t *src)
-{
-    cairo_path_t path;
-
-    path.status = cairo_status (src);
-    if (path.status) {
-       path.num_data = 0;
-       path.data = NULL;
-       cairo_append_path (dst, &path);
-    }
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *target_surface;
-    cairo_t *cr2, *cr3;
-
-    target_surface = cairo_get_group_target (cr);
-
-    cr2 = cairo_create (target_surface);
-
-    /* Draw a diagonal line and clip to it */
-
-    cairo_move_to (cr2, BORDER,                     BORDER);
-    cairo_line_to (cr2, BORDER + LINE_WIDTH,        BORDER);
-    cairo_line_to (cr2, SIZE - BORDER,              SIZE - BORDER);
-    cairo_line_to (cr2, SIZE - BORDER - LINE_WIDTH, SIZE - BORDER);
-
-    cairo_clip (cr2);
-    cairo_set_source_rgb (cr2, 0, 0, 1); /* Blue */
-    cairo_paint (cr2);
-
-    /* Clipping affects this cairo_t */
-
-    cairo_set_source_rgb (cr2, 1, 1, 1); /* White */
-    cairo_rectangle (cr2,
-                    SIZE / 2 - LINE_WIDTH / 2, BORDER,
-                    LINE_WIDTH,                SIZE - 2 * BORDER);
-    cairo_fill (cr2);
-
-    /* But doesn't affect another cairo_t that we create temporarily for
-     * the same surface
-     */
-    cr3 = cairo_create (target_surface);
-    cairo_set_source_rgb (cr3, 1, 1, 1); /* White */
-    cairo_rectangle (cr3,
-                    SIZE - BORDER - LINE_WIDTH, BORDER,
-                    LINE_WIDTH,                 SIZE - 2 * BORDER);
-    cairo_fill (cr3);
-
-    _propagate_status (cr, cr3);
-    cairo_destroy (cr3);
-
-    _propagate_status (cr, cr2);
-    cairo_destroy (cr2);
-
-    /* And doesn't affect anything after this cairo_t is destroyed */
-
-    cairo_set_source_rgb (cr, 1, 1, 1); /* White */
-    cairo_rectangle (cr,
-                    BORDER,     BORDER,
-                    LINE_WIDTH, SIZE - 2 * BORDER);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-
-}
-
-CAIRO_TEST (clip_nesting,
-           "Test clipping with multiple contexts for the same surface",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/clip-operator.c b/test/clip-operator.c
deleted file mode 100644 (file)
index aaa3445..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kristian Høgsberg <krh@redhat.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define WIDTH 16
-#define HEIGHT 16
-#define PAD 2
-
-static void
-draw_mask (cairo_t *cr, int x, int y)
-{
-    cairo_surface_t *mask_surface;
-    cairo_t *cr2;
-
-    double width = (int)(0.9 * WIDTH);
-    double height = (int)(0.9 * HEIGHT);
-    x += 0.05 * WIDTH;
-    y += 0.05 * HEIGHT;
-
-    mask_surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                                CAIRO_CONTENT_ALPHA,
-                                                width, height);
-    cr2 = cairo_create (mask_surface);
-    cairo_surface_destroy (mask_surface);
-
-    cairo_save (cr2);
-    cairo_set_source_rgba (cr2, 0, 0, 0, 0); /* transparent */
-    cairo_set_operator (cr2, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr2);
-    cairo_restore (cr2);
-
-    cairo_set_source_rgb (cr2, 1, 1, 1); /* white */
-
-    cairo_arc (cr2, 0.5 * width, 0.5 * height, 0.45 * height, 0, 2 * M_PI);
-    cairo_fill (cr2);
-
-    cairo_mask_surface (cr, cairo_get_target (cr2), x, y);
-    cairo_destroy (cr2);
-}
-
-static void
-draw_glyphs (cairo_t *cr, int x, int y)
-{
-    cairo_text_extents_t extents;
-
-    cairo_set_font_size (cr, 0.8 * HEIGHT);
-
-    cairo_text_extents (cr, "FG", &extents);
-    cairo_move_to (cr,
-                  x + floor ((WIDTH - extents.width) / 2 + 0.5) - extents.x_bearing,
-                  y + floor ((HEIGHT - extents.height) / 2 + 0.5) - extents.y_bearing);
-    cairo_show_text (cr, "FG");
-}
-
-static void
-draw_polygon (cairo_t *cr, int x, int y)
-{
-    double width = (int)(0.9 * WIDTH);
-    double height = (int)(0.9 * HEIGHT);
-    x += 0.05 * WIDTH;
-    y += 0.05 * HEIGHT;
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, x, y);
-    cairo_line_to (cr, x, y + height);
-    cairo_line_to (cr, x + width / 2, y + 3 * height / 4);
-    cairo_line_to (cr, x + width, y + height);
-    cairo_line_to (cr, x + width, y);
-    cairo_line_to (cr, x + width / 2, y + height / 4);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-}
-
-static void
-draw_rects (cairo_t *cr, int x, int y)
-{
-    double block_width = (int)(0.33 * WIDTH + 0.5);
-    double block_height = (int)(0.33 * HEIGHT + 0.5);
-    int i, j;
-
-    for (i = 0; i < 3; i++)
-       for (j = 0; j < 3; j++)
-           if ((i + j) % 2 == 0)
-               cairo_rectangle (cr,
-                                x + block_width * i, y + block_height * j,
-                                block_width,         block_height);
-
-    cairo_fill (cr);
-}
-
-static void (* const draw_funcs[])(cairo_t *cr, int x, int y) = {
-    draw_mask,
-    draw_glyphs,
-    draw_polygon,
-    draw_rects
-};
-
-#define N_OPERATORS (1 + CAIRO_OPERATOR_SATURATE - CAIRO_OPERATOR_CLEAR)
-
-#define IMAGE_WIDTH (N_OPERATORS * (WIDTH + PAD) + PAD)
-#define IMAGE_HEIGHT (ARRAY_LENGTH (draw_funcs) * (HEIGHT + PAD) + PAD)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    size_t j, x, y;
-    cairo_operator_t op;
-    cairo_pattern_t *pattern;
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, 0.9 * HEIGHT);
-
-    for (j = 0; j < ARRAY_LENGTH (draw_funcs); j++) {
-       for (op = CAIRO_OPERATOR_CLEAR; op < N_OPERATORS; op++) {
-           x = op * (WIDTH + PAD) + PAD;
-           y = j * (HEIGHT + PAD) + PAD;
-
-           cairo_save (cr);
-
-           pattern = cairo_pattern_create_linear (x + WIDTH, y,
-                                                  x,         y + HEIGHT);
-           cairo_pattern_add_color_stop_rgba (pattern, 0.2,
-                                              0.0, 0.0, 1.0, 1.0); /* Solid blue */
-           cairo_pattern_add_color_stop_rgba (pattern, 0.8,
-                                              0.0, 0.0, 1.0, 0.0); /* Transparent blue */
-           cairo_set_source (cr, pattern);
-           cairo_pattern_destroy (pattern);
-
-           cairo_rectangle (cr, x, y, WIDTH, HEIGHT);
-           cairo_fill (cr);
-
-           cairo_set_operator (cr, op);
-           cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-
-           cairo_move_to (cr, x, y);
-           cairo_line_to (cr, x + WIDTH, y);
-           cairo_line_to (cr, x, y + HEIGHT);
-           cairo_clip (cr);
-
-           draw_funcs[j] (cr, x, y);
-           if (cairo_status (cr))
-               cairo_test_log (ctx, "%d %d HERE!\n", op, (int)j);
-
-           cairo_restore (cr);
-       }
-    }
-
-    if (cairo_status (cr) != CAIRO_STATUS_SUCCESS)
-       cairo_test_log (ctx, "%d %d .HERE!\n", op, (int)j);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_operator,
-           "Surface clipping with different operators",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
-
diff --git a/test/clip-polygons.c b/test/clip-polygons.c
deleted file mode 100644 (file)
index 83eb4df..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define STEP   5
-#define WIDTH  100
-#define HEIGHT 100
-
-static void diamond (cairo_t *cr)
-{
-    cairo_move_to (cr, WIDTH/2, 0);
-    cairo_line_to (cr, WIDTH, HEIGHT/2);
-    cairo_line_to (cr, WIDTH/2, HEIGHT);
-    cairo_line_to (cr, 0, HEIGHT/2);
-    cairo_close_path (cr);
-}
-
-static void background (cairo_t *cr)
-{
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_rgb (cr, 0,0,0);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    background (cr);
-
-    /* completely overlapping diamonds */
-    cairo_save (cr);
-    diamond (cr);
-    cairo_clip (cr);
-    diamond (cr);
-    cairo_clip (cr);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    /* partial overlap */
-    cairo_save (cr);
-    cairo_translate (cr, -WIDTH/4, 0);
-    diamond (cr);
-    cairo_clip (cr);
-    cairo_translate (cr, WIDTH/2, 0);
-    diamond (cr);
-    cairo_clip (cr);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    /* no overlap, but the bounding boxes must */
-    cairo_save (cr);
-    cairo_translate (cr, -WIDTH/2 + 2, -2);
-    diamond (cr);
-    cairo_clip (cr);
-    cairo_translate (cr, WIDTH - 4, 4);
-    diamond (cr);
-    cairo_clip (cr);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    /* completely disjoint */
-    cairo_save (cr);
-    cairo_translate (cr, -WIDTH/2 - 1, 0);
-    diamond (cr);
-    cairo_clip (cr);
-    cairo_translate (cr, WIDTH + 2, 0);
-    diamond (cr);
-    cairo_clip (cr);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_polygons,
-           "Test drawing through through an intersection of polygons",
-           "clip", /* keywords */
-           "target=raster", /* requirements */
-           4*WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/clip-push-group.c b/test/clip-push-group.c
deleted file mode 100644 (file)
index 4effb0a..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* A test for the crash described here:
- *
- *     http://lists.freedesktop.org/archives/cairo/2006-August/007698.html
- *
- * The triggering condition for this bug should be setting a
- * surface-based clip and then calling cairo_push_group.
- */
-
-#include "cairo-test.h"
-
-#define SIZE 10
-#define PAD 2
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* An overly complex way of drawing a blue circle onto a red
-     * background, to trigger the bug. */
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-    cairo_paint (cr);
-
-    cairo_arc (cr,
-              SIZE / 2, SIZE / 2,
-              SIZE / 2 - PAD,
-              0, 2 * M_PI);
-    cairo_clip (cr);
-
-    cairo_push_group (cr);
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_push_group,
-           "Test that push_group doesn't crash after setting a surface-based clip",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/clip-rectilinear.c b/test/clip-rectilinear.c
deleted file mode 100644 (file)
index 98db4a2..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 120
-
-static void L(cairo_t *cr, int w, int h)
-{
-       cairo_move_to (cr, 0, 0);
-       cairo_line_to (cr, 0, h);
-       cairo_line_to (cr, w, h);
-       cairo_line_to (cr, w, h/2);
-       cairo_line_to (cr, w/2, h/2);
-       cairo_line_to (cr, w/2, 0);
-       cairo_close_path (cr);
-}
-
-static void LL(cairo_t *cr, int w, int h)
-{
-    cairo_save (cr);
-
-    /* aligned */
-    cairo_rectangle (cr, 0, 0, w, h);
-    cairo_clip (cr);
-    L (cr, w, h);
-    cairo_clip (cr);
-    cairo_paint (cr);
-    cairo_reset_clip (cr);
-
-    /* unaligned */
-    cairo_translate (cr, w+.25, .25);
-    cairo_rectangle (cr, 0, 0, w, h);
-    cairo_clip (cr);
-    L (cr, w, h);
-    cairo_clip (cr);
-    cairo_paint (cr);
-    cairo_reset_clip (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int w = SIZE/2, h = SIZE/2;
-
-    cairo_paint (cr); /* opaque background */
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    LL (cr, w, h);
-
-    cairo_translate (cr, 0, h);
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    LL (cr, w, h);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_rectilinear,
-           "Test handling of rectilinear clipping",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/clip-shape.c b/test/clip-shape.c
deleted file mode 100644 (file)
index 6a74a6e..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* Adapted from a bug report by <cairouser@yahoo.com> */
-
-#include "cairo-test.h"
-
-static const struct xy {
-   double x;
-   double y;
-} gp[] = {
-    { 100, 250 },
-    { 100, 100 },
-    { 150, 230 },
-    { 239, 100 },
-    { 239, 250 },
-};
-
-static const double vp[3] = { 100, 144, 238.5 };
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_paint (cr); /* opaque background */
-
-    for (i = 0; i < 5; ++i)
-       cairo_line_to (cr, gp[i].x, gp[i].y);
-    cairo_close_path (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_set_line_width (cr, 1.5);
-    cairo_stroke_preserve (cr);
-    cairo_clip (cr);
-
-    for (i = 1; i < 3; ++i) {
-       double x1 = vp[i - 1];
-       double x2 = vp[i];
-
-       cairo_move_to (cr, x1, 0);
-       cairo_line_to (cr, x1, height);
-       cairo_line_to (cr, x2, height);
-       cairo_line_to (cr, x2, 0);
-       cairo_close_path (cr);
-
-       if (i & 1)
-           cairo_set_source_rgb (cr, 0, 1, 0);
-       else
-           cairo_set_source_rgb (cr, 1, 1, 0);
-
-       cairo_fill (cr);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_shape,
-           "Test handling of clipping with a non-aligned shape",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           400, 300,
-           NULL, draw)
diff --git a/test/clip-stroke-no-op.c b/test/clip-stroke-no-op.c
deleted file mode 100644 (file)
index 8eb9171..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2009 Benjamin Otte
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 50
-#define HEIGHT 50
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Neutral gray background */
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_paint (cr);
-
-    /* remove this clip operation and everything works */
-    cairo_rectangle (cr, 10, 10, 30, 30);
-    cairo_clip (cr);
-
-    /* remove this no-op and everything works */
-    cairo_stroke (cr);
-
-    /* make the y coordinates integers and everything works */
-    cairo_move_to (cr, 20, 20.101562);
-    cairo_line_to (cr, 30, 20.101562);
-
-    /* This clip operation should fail to work. But with cairo 1.9, if all the 
-     * 3 cases above happen, the clip will not work and the paint will happen.
-     */
-    cairo_save (cr); {
-       cairo_set_source_rgba (cr, 1, 0.5, 0.5, 1);
-       cairo_clip_preserve (cr);
-       cairo_paint (cr);
-    } cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_stroke_no_op,
-           "Exercises a bug found by Benjamin Otte whereby a no-op clip is nullified by a stroke",
-           "clip, stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/clip-stroke.c b/test/clip-stroke.c
deleted file mode 100644 (file)
index 9714dd0..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 40
-#define HEIGHT 40
-
-static void
-shapes (cairo_t *cr)
-{
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0.7, 0);
-    cairo_arc (cr, 10, 10, 7.5, 0, 2 * M_PI);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 0, 0.7, 0.7);
-    cairo_arc (cr, 10, 10, 25, 0, 2 * M_PI);
-    cairo_stroke (cr);
-    cairo_rectangle (cr, -5, -5, 30, 30);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 0.7, 0.7, 0);
-    cairo_save (cr);
-    cairo_translate (cr, 10, 10);
-    cairo_rotate (cr, M_PI/4);
-    cairo_translate (cr, -10, -10);
-    cairo_rectangle (cr, -5, -5, 30, 30);
-    cairo_stroke (cr);
-    cairo_restore (cr);
-
-    cairo_set_source_rgb (cr, 0.7, 0.0, 0.7);
-    cairo_move_to (cr, 15, -10);
-    cairo_line_to (cr, 30, 10);
-    cairo_line_to (cr, 15, 30);
-    cairo_stroke (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 10, 10);
-
-    /* simple clip */
-    cairo_save (cr);
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_clip (cr);
-    shapes (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    /* unaligned clip */
-    cairo_save (cr);
-    cairo_rectangle (cr, 0.5, 0.5, 20, 20);
-    cairo_clip (cr);
-    shapes (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, -WIDTH, HEIGHT);
-
-    /* aligned-clip */
-    cairo_save (cr);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_rectangle (cr, 3, 3, 10, 10);
-    cairo_rectangle (cr, 7, 7, 10, 10);
-    cairo_clip (cr);
-    shapes (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    /* force a clip-mask */
-    cairo_save (cr);
-    cairo_arc (cr, 10, 10, 10, 0, 2 * M_PI);
-    cairo_new_sub_path (cr);
-    cairo_arc_negative (cr, 10, 10, 5, 2 * M_PI, 0);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, 10, 10, 2, 0, 2 * M_PI);
-    cairo_clip (cr);
-    shapes (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_stroke,
-           "Tests stroke through complex clips.",
-           "clip, stroke", /* keywords */
-           NULL, /* requirements */
-           2 * WIDTH, 2* HEIGHT,
-           NULL, draw)
-
diff --git a/test/clip-text.c b/test/clip-text.c
deleted file mode 100644 (file)
index ed8e107..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 20
-#define HEIGHT 20
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const char *cairo = "Cairo";
-    cairo_text_extents_t extents;
-    double x0, y0;
-
-    cairo_text_extents (cr, cairo, &extents);
-    x0 = WIDTH/2. - (extents.width/2. + extents.x_bearing);
-    y0 = HEIGHT/2. - (extents.height/2. + extents.y_bearing);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* aligned-clip */
-    cairo_save (cr);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_rectangle (cr, 0, 0, 20, 20);
-    cairo_rectangle (cr, 3, 3, 10, 10);
-    cairo_rectangle (cr, 7, 7, 10, 10);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 0.7, 0, 0);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_move_to (cr, x0, y0);
-    cairo_show_text (cr, cairo);
-    cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    /* force a clip-mask */
-    cairo_save (cr);
-    cairo_arc (cr, 10, 10, 10, 0, 2 * M_PI);
-    cairo_new_sub_path (cr);
-    cairo_arc_negative (cr, 10, 10, 5, 2 * M_PI, 0);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, 10, 10, 2, 0, 2 * M_PI);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0.7);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_move_to (cr, x0, y0);
-    cairo_show_text (cr, cairo);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_text,
-           "Tests drawing text through complex clips.",
-           "clip, text", /* keywords */
-           NULL, /* requirements */
-           2 * WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/clip-twice-rectangle.c b/test/clip-twice-rectangle.c
deleted file mode 100644 (file)
index 28f16ec..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*\r
- * Copyright © 2010 Mozilla Corporation\r
- * Copyright © 2010 Intel Corporation\r
- *\r
- * Permission is hereby granted, free of charge, to any person\r
- * obtaining a copy of this software and associated documentation\r
- * files (the "Software"), to deal in the Software without\r
- * restriction, including without limitation the rights to use, copy,\r
- * modify, merge, publish, distribute, sublicense, and/or sell copies\r
- * of the Software, and to permit persons to whom the Software is\r
- * furnished to do so, subject to the following conditions:\r
- *\r
- * The above copyright notice and this permission notice shall be\r
- * included in all copies or substantial portions of the Software.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
- * SOFTWARE.\r
- *\r
- * Author: Chris Wilson <chris@chris-wilson.co.uk>\r
- */\r
-\r
-#include "cairo-test.h"\r
-\r
-static cairo_test_status_t\r
-draw (cairo_t *cr, int width, int height)\r
-{\r
-    cairo_surface_t *mask;\r
-    cairo_t *cr2;\r
-\r
-    cairo_set_source_rgb (cr, 0, 1, 0);\r
-    cairo_paint (cr);\r
-\r
-    /* clip twice, note that the intersection is smaller then the extents */\r
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);\r
-    cairo_rectangle (cr, 10, 10, 80, 80);\r
-    cairo_rectangle (cr, 20, 20, 60, 60);\r
-    cairo_clip (cr);\r
-\r
-    cairo_rectangle (cr, 0, 40, 40, 30);\r
-    cairo_clip (cr);\r
-\r
-    /* and exercise the bug found by Jeff Muizelaar */\r
-    mask = cairo_surface_create_similar (cairo_get_target (cr),\r
-                                        CAIRO_CONTENT_ALPHA,\r
-                                        width-20, height-20);\r
-    cr2 = cairo_create (mask);\r
-    cairo_surface_destroy (mask);\r
-\r
-    cairo_set_source_rgba (cr2, 1, 1, 1, 1);\r
-    cairo_paint (cr2);\r
-\r
-    cairo_set_source_rgb (cr, 1, 0, 0);\r
-    cairo_mask_surface (cr, cairo_get_target (cr2), 0, 0);\r
-    cairo_destroy (cr2);\r
-\r
-    return CAIRO_TEST_SUCCESS;\r
-}\r
-\r
-CAIRO_TEST (clip_twice_rectangle,\r
-           "Tests clipping twice using rectangles",\r
-           "clip", /* keywords */\r
-           NULL, /* requirements */\r
-           100, 100,\r
-           NULL, draw)\r
diff --git a/test/clip-twice.c b/test/clip-twice.c
deleted file mode 100644 (file)
index 641b551..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kristian Høgsberg <krh@redhat.com>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 64
-#define HEIGHT 64
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_new_path (cr);
-    cairo_arc (cr, WIDTH / 2, HEIGHT / 2, WIDTH / 3, 0, 2 * M_PI);
-    cairo_clip (cr);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, WIDTH / 4, HEIGHT / 2);
-    cairo_line_to (cr, 0, HEIGHT);
-    cairo_line_to (cr, WIDTH, HEIGHT);
-    cairo_line_to (cr, 3 * WIDTH / 4, HEIGHT / 2);
-    cairo_line_to (cr, WIDTH, 0);
-    cairo_close_path (cr);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0.6);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, 0, HEIGHT);
-    cairo_line_to (cr, WIDTH / 2, 3 * HEIGHT / 4);
-    cairo_line_to (cr, WIDTH, HEIGHT);
-    cairo_line_to (cr, WIDTH, 0);
-    cairo_line_to (cr, WIDTH / 2, HEIGHT / 4);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-
-    cairo_new_path (cr);
-    cairo_arc (cr, WIDTH / 2, HEIGHT / 2, WIDTH / 5, 0, 2 * M_PI);
-    cairo_clip (cr);
-    cairo_set_source_rgb (cr, 1, 1, 0);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_twice,
-           "Verifies that the clip mask is updated correctly when it constructed by setting the clip path twice.",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/clip-unbounded.c b/test/clip-unbounded.c
deleted file mode 100644 (file)
index cd1c602..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 10
-
-static cairo_surface_t *
-create_source (cairo_surface_t *target)
-{
-    cairo_surface_t *similar;
-    cairo_t *cr;
-
-    similar = cairo_surface_create_similar (target,
-                                           CAIRO_CONTENT_COLOR, SIZE/2, SIZE);
-    cr = cairo_create (similar);
-    cairo_surface_destroy (similar);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    similar = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return similar;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *source;
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, 0, 0, SIZE/2, SIZE);
-    cairo_clip (cr);
-
-    /* Draw a source rectangle outside the image, the effect should be to
-     * clear only within the clip region.
-     */
-    source = create_source (cairo_get_target (cr));
-    cairo_set_source_surface (cr, source, SIZE/2, 0);
-    cairo_surface_destroy (source);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_unbounded,
-           "Test handling of an unbounded fill outside the clip region",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
-
diff --git a/test/clip-zero.c b/test/clip-zero.c
deleted file mode 100644 (file)
index 5afd1b5..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright © 2007 Mozilla Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pat;
-    cairo_surface_t *surf;
-
-    cairo_new_path (cr);
-    cairo_rectangle (cr, 0, 0, 0, 0);
-    cairo_clip (cr);
-
-    cairo_push_group (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    cairo_new_path (cr);
-    cairo_rectangle (cr, -10, 10, 20, 20);
-    cairo_fill_preserve (cr);
-    cairo_stroke_preserve (cr);
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr, "sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, "ABC");
-
-    cairo_mask (cr, cairo_get_source (cr));
-
-    surf = cairo_surface_create_similar (cairo_get_group_target (cr), CAIRO_CONTENT_COLOR_ALPHA, 0, 0);
-    pat = cairo_pattern_create_for_surface (surf);
-    cairo_surface_destroy (surf);
-
-    cairo_mask (cr, pat);
-    cairo_pattern_destroy (pat);
-
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clip_zero,
-           "Verifies that 0x0 surfaces or clips don't cause problems.",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/clipped-group.c b/test/clipped-group.c
deleted file mode 100644 (file)
index a66f357..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright © 2008 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Jeff Muizelaar
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 60
-#define HEIGHT 70
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* fill with black so we don't need an rgb test case */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    /* setting a scale will ensure that the device offset is transformed */
-    cairo_scale (cr, 2.1, 2.8);
-    cairo_set_source_rgb (cr, 1, .5,.4);
-
-    /* all rectangles should look the same */
-
-    /* plain rectangle */
-    cairo_rectangle (cr, 4, 4, 8, 8);
-    cairo_fill (cr);
-
-    cairo_translate (cr, 10, 0);
-
-    /* clipped rectangle */
-    cairo_save (cr);
-    cairo_rectangle (cr, 3, 3, 9, 9);
-    cairo_clip (cr);
-    cairo_rectangle (cr, 4, 4, 8, 8);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, 0, 10);
-
-    /* clipped and grouped rectangle */
-    cairo_save (cr);
-    cairo_rectangle (cr, 3, 3, 9, 9);
-    cairo_clip (cr);
-    cairo_push_group (cr);
-    cairo_rectangle (cr, 4, 4, 8, 8);
-    cairo_fill (cr);
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, -10, 0);
-
-    /* grouped rectangle */
-    cairo_push_group (cr);
-    cairo_rectangle (cr, 4, 4, 8, 8);
-    cairo_fill (cr);
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clipped_group,
-           "Test that a clipped group ends up in the right place",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/clipped-surface.c b/test/clipped-surface.c
deleted file mode 100644 (file)
index a10652d..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/*
- * Michael Natterer (mitch) reported a bad regression with post-1.8 trunk
- * with artifacts drawn whilst repainting exposed areas.
- */
-
-#include "cairo-test.h"
-
-static const char png_filename[] = "romedalen.png";
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *image;
-
-    image = cairo_test_create_surface_from_png (ctx, png_filename);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, 20, 20, 10, 10);
-    cairo_clip (cr);
-
-    cairo_set_source_surface (cr, image, 10, 10);
-    cairo_surface_destroy (image);
-
-    cairo_rectangle (cr, 10, 10, 20, 20);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clipped_surface,
-           "Tests application of a clip to a source surface",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           40, 40,
-           NULL, draw)
diff --git a/test/clipped-trapezoids-ref.png b/test/clipped-trapezoids-ref.png
deleted file mode 100644 (file)
index 3fd300c..0000000
Binary files a/test/clipped-trapezoids-ref.png and /dev/null differ
diff --git a/test/clipped-trapezoids.c b/test/clipped-trapezoids.c
deleted file mode 100644 (file)
index 1f96daa..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double dash[2] = { 8, 4 };
-    double radius;
-
-    radius = width;
-    if (height > radius)
-       radius = height;
-
-    /* fill the background using a big circle */
-    cairo_arc (cr, 0, 0, 4 * radius, 0, 2 * M_PI);
-    cairo_fill (cr);
-
-    /* a rotated square - overlapping the corners */
-    cairo_save (cr);
-    cairo_save (cr);
-    cairo_translate (cr, width/2, height/2);
-    cairo_rotate (cr, M_PI/4);
-    cairo_scale (cr, M_SQRT2, M_SQRT2);
-    cairo_rectangle (cr, -width/2, -height/2, width, height);
-    cairo_restore (cr);
-    cairo_set_source_rgba (cr, 0, 1, 0, .5);
-    cairo_set_line_width (cr, radius/2);
-    cairo_stroke (cr);
-    cairo_restore (cr);
-
-    /* and put some circles in the corners */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, 0, 0, radius/4, 0, 2 * M_PI);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, width, 0, radius/4, 0, 2 * M_PI);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, width, height, radius/4, 0, 2 * M_PI);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, 0, height, radius/4, 0, 2 * M_PI);
-    cairo_fill (cr);
-
-    /* a couple of pixel-aligned lines */
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_move_to (cr, width/2, -height);
-    cairo_rel_line_to (cr, 0, 3*height);
-    cairo_move_to (cr, -width, height/2);
-    cairo_rel_line_to (cr, 3*width, 0);
-    cairo_stroke (cr);
-
-    /* a couple of dashed diagonals */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_set_dash (cr, dash, 2, 0);
-    cairo_set_line_width (cr, 4.);
-    cairo_move_to (cr, -width, -height);
-    cairo_line_to (cr, width+width, height+height);
-    cairo_move_to (cr, width+width, -height);
-    cairo_line_to (cr, -width, height+height);
-    cairo_stroke (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (clipped_trapezoids,
-           "Tests clipping of trapezoids larger than the surface",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           40, 40,
-           NULL, draw)
diff --git a/test/close-path-current-point.c b/test/close-path-current-point.c
deleted file mode 100644 (file)
index 35f8d42..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright © 2009 Nis Martensen
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear in
- * supporting documentation, and that the name of the copyright holder
- * not be used in advertising or publicity pertaining to distribution of
- * the software without specific, written prior permission. The
- * copyright holder makes no representations about the suitability of
- * this software for any purpose. It is provided "as is" without
- * express or implied warranty.
- *
- * THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
- * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Nis Martensen <nis.martensen@web.de>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 20
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    /* subpath starts with cairo_move_to */
-    cairo_new_sub_path (cr);
-    cairo_move_to (cr, SIZE, SIZE);
-    cairo_rel_line_to (cr, SIZE, 0);
-    cairo_rel_line_to (cr, 0, SIZE);
-    cairo_close_path (cr);
-    cairo_rel_line_to (cr, 0.5 * SIZE, SIZE);
-
-    /* subpath starts with cairo_line_to */
-    cairo_new_sub_path (cr);
-    cairo_line_to (cr, SIZE, 3 * SIZE);
-    cairo_rel_line_to (cr, SIZE, 0);
-    cairo_rel_line_to (cr, 0, SIZE);
-    cairo_close_path (cr);
-    cairo_rel_line_to (cr, 0, SIZE);
-
-    /* subpath starts with cairo_curve_to */
-    cairo_new_sub_path (cr);
-    cairo_curve_to (cr,
-                   SIZE, 5 * SIZE,
-                   1.5 * SIZE, 6 * SIZE,
-                   2 * SIZE, 5 * SIZE);
-    cairo_rel_line_to (cr, 0, SIZE);
-    cairo_close_path (cr);
-    cairo_rel_line_to (cr, -0.5 * SIZE, SIZE);
-
-    /* subpath starts with cairo_arc */
-    cairo_new_sub_path (cr);
-    cairo_arc (cr,
-              1.5 * SIZE, 7 * SIZE,
-              0.5 * SIZE,
-              M_PI, 2 * M_PI);
-    cairo_rel_line_to (cr, 0, SIZE);
-    cairo_close_path (cr);
-    cairo_rel_line_to (cr, -0.7 * SIZE, 0.7 * SIZE);
-
-    /* subpath starts with cairo_arc_negative */
-    cairo_new_sub_path (cr);
-    cairo_arc_negative (cr,
-                       1.5 * SIZE, 9 * SIZE,
-                       0.5 * SIZE,
-                       M_PI, 2 * M_PI);
-    cairo_rel_line_to (cr, 0, SIZE);
-    cairo_close_path (cr);
-    cairo_rel_line_to (cr, -0.8 * SIZE, 0.3 * SIZE);
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (close_path_current_point,
-           "Test some corner cases related to cairo path operations and the current point",
-           "path", /* keywords */
-           NULL, /* requirements */
-           3 * SIZE, 11 * SIZE,
-           NULL, draw)
diff --git a/test/close-path.c b/test/close-path.c
deleted file mode 100644 (file)
index 41b237e..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include <stdlib.h>
-#include "cairo-test.h"
-
-static cairo_test_draw_function_t draw;
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_path_t *path;
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    /* This curious approach for drawing a circle (starting with a
-     * closed arc) exercises a bug in which the "last move point" was
-     * not being set so the close_path closes to (0,0). */
-    cairo_arc (cr, 8, 8, 4, 0, M_PI);
-    cairo_close_path (cr);
-    cairo_arc (cr, 8, 8, 4, M_PI, 2 * M_PI);
-
-    cairo_fill (cr);
-
-    cairo_translate (cr, 16, 0);
-
-    /* Here a curve immediately after a close_to will begin from (0,0)
-     * when the path is obtained with cairo_copy_path_flat. */
-    cairo_move_to (cr, 8, 4);
-    cairo_arc_negative (cr, 8, 8, 4, 3 * M_PI / 2.0, M_PI / 2.0);
-    cairo_close_path (cr);
-    cairo_curve_to (cr,
-                   12, 4,
-                   12, 12,
-                   8, 12);
-
-    path = cairo_copy_path_flat (cr);
-    cairo_new_path (cr);
-    cairo_append_path (cr, path);
-    cairo_path_destroy (path);
-
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (close_path,
-           "Test some corner cases related to cairo_close_path",
-           "path", /* keywords */
-           NULL, /* requirements */
-           32, 16,
-           NULL, draw)
diff --git a/test/composite-integer-translate-over-repeat.c b/test/composite-integer-translate-over-repeat.c
deleted file mode 100644 (file)
index 9a60d9a..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright © 2007 Mozilla Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 100
-#define SIZE2 20
-#define OFFSET 10
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *image;
-    cairo_pattern_t *pat;
-    cairo_t *cr2;
-
-    image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, SIZE2, SIZE2);
-    cr2 = cairo_create (image);
-    cairo_surface_destroy (image);
-
-    cairo_set_source_rgba (cr2, 1, 0, 0, 1);
-    cairo_rectangle (cr2, 0, 0, SIZE2/2, SIZE2/2);
-    cairo_fill (cr2);
-    cairo_set_source_rgba (cr2, 0, 1, 0, 1);
-    cairo_rectangle (cr2, SIZE2/2, 0, SIZE2/2, SIZE2/2);
-    cairo_fill (cr2);
-    cairo_set_source_rgba (cr2, 0, 0, 1, 1);
-    cairo_rectangle (cr2, 0, SIZE2/2, SIZE2/2, SIZE2/2);
-    cairo_fill (cr2);
-    cairo_set_source_rgba (cr2, 1, 1, 0, 1);
-    cairo_rectangle (cr2, SIZE2/2, SIZE2/2, SIZE2/2, SIZE2/2);
-    cairo_fill (cr2);
-
-    pat = cairo_pattern_create_for_surface (cairo_get_target (cr2));
-    cairo_destroy (cr2);
-
-    cairo_pattern_set_extend (pat, CAIRO_EXTEND_REPEAT);
-
-    cairo_set_source_rgba (cr, 0, 0, 0, 1);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_fill (cr);
-
-    cairo_translate (cr, OFFSET, OFFSET);
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source (cr, pat);
-    cairo_rectangle (cr, 0, 0, SIZE - OFFSET, SIZE - OFFSET);
-    cairo_fill (cr);
-
-    cairo_pattern_destroy (pat);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (composite_integer_translate_over_repeat,
-           "Test simple compositing: integer-translation 32->32 OVER, with repeat",
-           "composite", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/composite-integer-translate-over.c b/test/composite-integer-translate-over.c
deleted file mode 100644 (file)
index 8c6b9c2..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright © 2006 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 100
-#define OFFSET 10
-static const char *png_filename = "romedalen.png";
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *image;
-
-    image = cairo_test_create_surface_from_png (ctx, png_filename);
-
-    cairo_set_source_rgba (cr, 0, 0, 0, 1);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_fill (cr);
-
-    cairo_translate (cr, OFFSET, OFFSET);
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_surface (cr, image, 0, 0);
-    cairo_rectangle (cr, 0, 0, (SIZE-OFFSET), (SIZE-OFFSET));
-    cairo_fill (cr);
-
-    cairo_surface_destroy (image);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (composite_integer_translate_over,
-           "Test simple compositing: integer-translation 32->32 OVER",
-           "composite", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/composite-integer-translate-source.c b/test/composite-integer-translate-source.c
deleted file mode 100644 (file)
index a05133c..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2007 Mozilla Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 100
-#define OFFSET 10
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *image;
-
-    image = cairo_test_create_surface_from_png (ctx, png_filename);
-
-    cairo_set_source_rgba (cr, 0, 0, 0, 1);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_fill (cr);
-
-    cairo_translate (cr, OFFSET, OFFSET);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_surface (cr, image, 0, 0);
-    cairo_rectangle (cr, 0, 0, SIZE - OFFSET, SIZE - OFFSET);
-    cairo_fill (cr);
-
-    cairo_surface_destroy (image);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (composite_integer_translate_source,
-           "Test simple compositing: integer-translation 32->32 SOURCE",
-           "composite", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/copy-disjoint.c b/test/copy-disjoint.c
deleted file mode 100644 (file)
index 1ddfd5a..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* The goal is exercise a bug that existed in the xlib backend, where
- * it assumed the rectangles generated by rectangular tessallator had
- * any sorting guarantees.
- */
-
-#define WIDTH 300
-#define HEIGHT 300
-
-static cairo_surface_t *
-create_source (cairo_surface_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_surface_create_similar (target,
-                                           CAIRO_CONTENT_COLOR,
-                                           WIDTH, HEIGHT);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *white;
-    int x;
-
-    /* black background */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    /* white rectangles */
-    white = create_source (cairo_get_target (cr));
-    cairo_set_source_surface (cr, white, 0, 0);
-    cairo_surface_destroy (white);
-
-    /* blit a set of rectangles that the rectangular tessellator
-     * will not emit sorted. */
-    for (x = 0; x < WIDTH - 10; x += 15)
-       cairo_rectangle (cr, x, x, 10, HEIGHT - 2*x);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (copy_disjoint,
-           "Tests copying unsorted rectangles.",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/copy-path.c b/test/copy-path.c
deleted file mode 100644 (file)
index c5f9398..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include <stdlib.h>
-#include "cairo-test.h"
-
-static void
-scale_by_two (double *x, double *y)
-{
-    *x = *x * 2.0;
-    *y = *y * 2.0;
-}
-
-typedef void (*munge_func_t) (double *x, double *y);
-
-static void
-munge_and_set_path (cairo_t     *cr,
-                   cairo_path_t *path,
-                   munge_func_t  munge)
-{
-    int i;
-    cairo_path_data_t *p;
-    double x1, y1, x2, y2, x3, y3;
-
-    if (path->status) {
-       cairo_append_path (cr, path);
-       return;
-    }
-
-    for (i=0; i < path->num_data; i += path->data[i].header.length) {
-       p = &path->data[i];
-       switch (p->header.type) {
-       case CAIRO_PATH_MOVE_TO:
-           x1 = p[1].point.x; y1 = p[1].point.y;
-           (munge) (&x1, &y1);
-           cairo_move_to (cr, x1, y1);
-           break;
-       case CAIRO_PATH_LINE_TO:
-           x1 = p[1].point.x; y1 = p[1].point.y;
-           (munge) (&x1, &y1);
-           cairo_line_to (cr, x1, y1);
-           break;
-       case CAIRO_PATH_CURVE_TO:
-           x1 = p[1].point.x; y1 = p[1].point.y;
-           x2 = p[2].point.x; y2 = p[2].point.y;
-           x3 = p[3].point.x; y3 = p[3].point.y;
-           (munge) (&x1, &y1);
-           (munge) (&x2, &y2);
-           (munge) (&x3, &y3);
-           cairo_curve_to (cr,
-                           x1, y1,
-                           x2, y2,
-                           x3, y3);
-           break;
-       case CAIRO_PATH_CLOSE_PATH:
-           cairo_close_path (cr);
-           break;
-       }
-    }
-}
-
-static void
-make_path (cairo_t *cr)
-{
-    cairo_rectangle (cr, 0, 0, 5, 5);
-    cairo_move_to (cr, 15, 2.5);
-    cairo_arc (cr, 12.5, 2.5, 2.5, 0, 2 * M_PI);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_path_t *path;
-    cairo_t *cr_error;
-
-    /* Ensure that calling cairo_copy_path on an in-error cairo_t will
-     * propagate the error. */
-    cr_error = cairo_create (NULL);
-    path = cairo_copy_path (cr_error);
-    if (path->status != CAIRO_STATUS_NULL_POINTER) {
-       cairo_test_log (ctx,
-                       "Error: cairo_copy_path returned status of %s rather than propagating %s\n",
-                       cairo_status_to_string (path->status),
-                       cairo_status_to_string (CAIRO_STATUS_NULL_POINTER));
-       cairo_path_destroy (path);
-       cairo_destroy (cr_error);
-       return CAIRO_TEST_FAILURE;
-    }
-    cairo_path_destroy (path);
-
-    path = cairo_copy_path_flat (cr_error);
-    if (path->status != CAIRO_STATUS_NULL_POINTER) {
-       cairo_test_log (ctx,
-                       "Error: cairo_copy_path_flat returned status of %s rather than propagating %s\n",
-                       cairo_status_to_string (path->status),
-                       cairo_status_to_string (CAIRO_STATUS_NULL_POINTER));
-       cairo_path_destroy (path);
-       cairo_destroy (cr_error);
-       return CAIRO_TEST_FAILURE;
-    }
-    cairo_path_destroy (path);
-
-    cairo_destroy (cr_error);
-
-    /* first check that we can copy an empty path */
-    cairo_new_path (cr);
-    path = cairo_copy_path (cr);
-    if (path->status != CAIRO_STATUS_SUCCESS) {
-       cairo_status_t status = path->status;
-       cairo_test_log (ctx,
-                       "Error: cairo_copy_path returned status of %s\n",
-                       cairo_status_to_string (status));
-       cairo_path_destroy (path);
-       return cairo_test_status_from_status (ctx, status);
-    }
-    if (path->num_data != 0) {
-       cairo_test_log (ctx,
-                       "Error: cairo_copy_path did not copy an empty path, returned path contains %d elements\n",
-                       path->num_data);
-       cairo_path_destroy (path);
-       return CAIRO_TEST_FAILURE;
-    }
-    cairo_append_path (cr, path);
-    cairo_path_destroy (path);
-    if (cairo_status (cr) != CAIRO_STATUS_SUCCESS) {
-       cairo_test_log (ctx,
-                       "Error: cairo_append_path failed with a copy of an empty path, returned status of %s\n",
-                       cairo_status_to_string (cairo_status (cr)));
-       return cairo_test_status_from_status (ctx, cairo_status (cr));
-    }
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    /* copy path, munge, and fill */
-    cairo_translate (cr, 5, 5);
-    make_path (cr);
-    path = cairo_copy_path (cr);
-
-    cairo_new_path (cr);
-    munge_and_set_path (cr, path, scale_by_two);
-    cairo_path_destroy (path);
-    cairo_fill (cr);
-
-    /* copy flattened path, munge, and fill */
-    cairo_translate (cr, 0, 15);
-    make_path (cr);
-    path = cairo_copy_path_flat (cr);
-
-    cairo_new_path (cr);
-    munge_and_set_path (cr, path, scale_by_two);
-    cairo_path_destroy (path);
-    cairo_fill (cr);
-
-    /* append two copies of path, and fill */
-    cairo_translate (cr, 0, 15);
-    cairo_scale (cr, 2.0, 2.0);
-    make_path (cr);
-    path = cairo_copy_path (cr);
-
-    cairo_new_path (cr);
-    cairo_append_path (cr, path);
-    cairo_translate (cr, 2.5, 2.5);
-    cairo_append_path (cr, path);
-
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_fill (cr);
-
-    cairo_path_destroy (path);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_t *cr;
-    cairo_path_data_t data;
-    cairo_path_t path;
-    cairo_surface_t *surface;
-    cairo_status_t status;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1);
-    status = cairo_surface_status (surface);
-    if (status) {
-       cairo_surface_destroy (surface);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    /* Test a few error cases for cairo_append_path_data */
-#define CAIRO_CREATE() do {\
-    cr = cairo_create (surface); \
-    status = cairo_status (cr); \
-    if (status) { \
-       cairo_destroy (cr); \
-       cairo_surface_destroy (surface); \
-       return cairo_test_status_from_status (ctx, status); \
-    } \
-} while (0)
-    CAIRO_CREATE ();
-    cairo_append_path (cr, NULL);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-    if (status != CAIRO_STATUS_NULL_POINTER) {
-       cairo_surface_destroy (surface);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    CAIRO_CREATE ();
-    path.status = -1;
-    cairo_append_path (cr, &path);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-    if (status != CAIRO_STATUS_INVALID_STATUS) {
-       cairo_surface_destroy (surface);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    CAIRO_CREATE ();
-    path.status = CAIRO_STATUS_NO_MEMORY;
-    cairo_append_path (cr, &path);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-    if (status != CAIRO_STATUS_NO_MEMORY) {
-       cairo_surface_destroy (surface);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    CAIRO_CREATE ();
-    path.data = NULL;
-    path.num_data = 0;
-    path.status = CAIRO_STATUS_SUCCESS;
-    cairo_append_path (cr, &path);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-    if (status != CAIRO_STATUS_SUCCESS) {
-       cairo_surface_destroy (surface);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    CAIRO_CREATE ();
-    path.data = NULL;
-    path.num_data = 1;
-    path.status = CAIRO_STATUS_SUCCESS;
-    cairo_append_path (cr, &path);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-    if (status != CAIRO_STATUS_NULL_POINTER) {
-       cairo_surface_destroy (surface);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    CAIRO_CREATE ();
-    /* Intentionally insert bogus header.length value (otherwise would be 2) */
-    data.header.type = CAIRO_PATH_MOVE_TO;
-    data.header.length = 1;
-    path.data = &data;
-    path.num_data = 1;
-    cairo_append_path (cr, &path);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-    if (status != CAIRO_STATUS_INVALID_PATH_DATA) {
-       cairo_surface_destroy (surface);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    /* And test the degnerate case */
-    CAIRO_CREATE ();
-    path.num_data = 0;
-    cairo_append_path (cr, &path);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-    if (status != CAIRO_STATUS_SUCCESS) {
-       cairo_surface_destroy (surface);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (copy_path,
-           "Tests calls to path_data functions: cairo_copy_path, cairo_copy_path_flat, and cairo_append_path",
-           "path", /* keywords */
-           NULL, /* requirements */
-           45, 53,
-           preamble, draw)
diff --git a/test/coverage.c b/test/coverage.c
deleted file mode 100644 (file)
index 2c037eb..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-/*
- * Copyright 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* Test the fidelity of the rasterisation, because Cairo is my favourite
- * driver test suite.
- */
-
-#define GENERATE_REFERENCE 0
-
-#define WIDTH 256
-#define HEIGHT 40
-
-#include "../src/cairo-fixed-type-private.h"
-#define PRECISION (1 << CAIRO_FIXED_FRAC_BITS)
-
-/* XXX beware multithreading! */
-static uint32_t state;
-
-static uint32_t
-hars_petruska_f54_1_random (void)
-{
-#define rol(x,k) ((x << k) | (x >> (32-k)))
-    return state = (state ^ rol (state, 5) ^ rol (state, 24)) + 0x37798849;
-#undef rol
-}
-
-static double
-random_offset (int range, int precise)
-{
-    double x = hars_petruska_f54_1_random() / (double) UINT32_MAX * range / WIDTH;
-    if (precise)
-       x = floor (x * PRECISION) / PRECISION;
-    return x;
-}
-
-static cairo_test_status_t
-rectangles (cairo_t *cr, int width, int height)
-{
-    int x, y, channel;
-
-    state = 0x12345678;
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-#if GENERATE_REFERENCE
-    for (x = 0; x < WIDTH; x++) {
-       cairo_set_source_rgba (cr, 1, 1, 1, x * x * 1.0 / (WIDTH * WIDTH));
-       cairo_rectangle (cr, x, 0, 1, HEIGHT);
-       cairo_fill (cr);
-    }
-#else
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (x = 0; x < WIDTH; x++) {
-           for (y = 0; y < HEIGHT; y++) {
-               double dx = random_offset (WIDTH - x, TRUE);
-               double dy = random_offset (WIDTH - x, TRUE);
-               cairo_rectangle (cr, x + dx, y + dy, x / (double) WIDTH, x / (double) WIDTH);
-           }
-       }
-       cairo_fill (cr);
-    }
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-intersecting_quads (cairo_t *cr, int width, int height)
-{
-    int x, y, channel;
-
-    state = 0x12345678;
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-#if GENERATE_REFERENCE
-    for (x = 0; x < WIDTH; x++) {
-       cairo_set_source_rgba (cr, 1, 1, 1, x * x * 0.5 / (WIDTH * WIDTH));
-       cairo_rectangle (cr, x, 0, 1, HEIGHT);
-       cairo_fill (cr);
-    }
-#else
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (x = 0; x < WIDTH; x++) {
-           double step = x / (double) WIDTH;
-           for (y = 0; y < HEIGHT; y++) {
-               double dx = random_offset (WIDTH - x, TRUE);
-               double dy = random_offset (WIDTH - x, TRUE);
-               cairo_move_to (cr, x + dx, y + dy);
-               cairo_rel_line_to (cr, step, step);
-               cairo_rel_line_to (cr, 0, -step);
-               cairo_rel_line_to (cr, -step, step);
-               cairo_close_path (cr);
-           }
-       }
-       cairo_fill (cr);
-    }
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-intersecting_triangles (cairo_t *cr, int width, int height)
-{
-    int x, y, channel;
-
-    state = 0x12345678;
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-#if GENERATE_REFERENCE
-    for (x = 0; x < WIDTH; x++) {
-       cairo_set_source_rgba (cr, 1, 1, 1, x * 0.75 / WIDTH);
-       cairo_rectangle (cr, x, 0, 1, HEIGHT);
-       cairo_fill (cr);
-    }
-#else
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (x = 0; x < WIDTH; x++) {
-           double step = x / (double) WIDTH;
-           for (y = 0; y < HEIGHT; y++) {
-               double dx = random_offset (WIDTH - x, TRUE);
-               double dy = random_offset (WIDTH - x, TRUE);
-
-               /* left */
-               cairo_move_to (cr, x + dx, y + dy);
-               cairo_rel_line_to (cr, 0, step);
-               cairo_rel_line_to (cr, step, 0);
-               cairo_close_path (cr);
-
-               /* right, mirrored */
-               cairo_move_to (cr, x + dx + step, y + dy + step);
-               cairo_rel_line_to (cr, 0, -step);
-               cairo_rel_line_to (cr, -step, step);
-               cairo_close_path (cr);
-           }
-       }
-       cairo_fill (cr);
-    }
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-triangles (cairo_t *cr, int width, int height)
-{
-    int x, y, channel;
-
-    state = 0x12345678;
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-#if GENERATE_REFERENCE
-    for (x = 0; x < WIDTH; x++) {
-       cairo_set_source_rgba (cr, 1, 1, 1, x * x * 0.5 / (WIDTH * WIDTH));
-       cairo_rectangle (cr, x, 0, 1, HEIGHT);
-       cairo_fill (cr);
-    }
-#else
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (x = 0; x < WIDTH; x++) {
-           for (y = 0; y < HEIGHT; y++) {
-               double dx = random_offset (WIDTH - x, TRUE);
-               double dy = random_offset (WIDTH - x, TRUE);
-               cairo_move_to (cr, x + dx, y + dy);
-               cairo_rel_line_to (cr, x / (double) WIDTH, 0);
-               cairo_rel_line_to (cr, 0, x / (double) WIDTH);
-               cairo_close_path (cr);
-           }
-       }
-       cairo_fill (cr);
-    }
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-column_triangles (cairo_t *cr, int width, int height)
-{
-    int x, y, i, channel;
-
-    state = 0x12345678;
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-#if GENERATE_REFERENCE
-    for (x = 0; x < WIDTH; x++) {
-       cairo_set_source_rgba (cr, 1, 1, 1, x * 0.5 / WIDTH);
-       cairo_rectangle (cr, x, 0, 1, HEIGHT);
-       cairo_fill (cr);
-    }
-#else
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (x = 0; x < WIDTH; x++) {
-           double step = x / (double) (2 * WIDTH);
-           for (y = 0; y < HEIGHT; y++) {
-               for (i = 0; i < PRECISION; i++) {
-                   double dy = random_offset (WIDTH - x, FALSE);
-
-                   /*
-                    * We want to test some sharing of edges to further
-                    * stress the rasterisers, so instead of using one
-                    * tall triangle, it is split into two, with vertical
-                    * edges on either side that may co-align with their
-                    * neighbours:
-                    *
-                    *  s ---  .      ---
-                    *  t  |   |\      |
-                    *  e  |   | \     |
-                    *  p ---  ....    |  2 * step = x / WIDTH
-                    *          \ |    |
-                    *           \|    |
-                    *            .   ---
-                    *        |---|
-                    *     1 / PRECISION
-                    *
-                    * Each column contains two triangles of width one quantum and
-                    * total height of (x / WIDTH), thus the total area covered by all
-                    * columns in each pixel is .5 * (x / WIDTH).
-                    */
-
-                   cairo_move_to (cr, x + i / (double) PRECISION, y + dy);
-                   cairo_rel_line_to (cr, 0, step);
-                   cairo_rel_line_to (cr, 1 / (double) PRECISION, step);
-                   cairo_rel_line_to (cr, 0, -step);
-                   cairo_close_path (cr);
-               }
-               cairo_fill (cr); /* do these per-pixel due to the extra volume of edges */
-           }
-       }
-    }
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-row_triangles (cairo_t *cr, int width, int height)
-{
-    int x, y, i, channel;
-
-    state = 0x12345678;
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-#if GENERATE_REFERENCE
-    for (x = 0; x < WIDTH; x++) {
-       cairo_set_source_rgba (cr, 1, 1, 1, x * 0.5 / WIDTH);
-       cairo_rectangle (cr, x, 0, 1, HEIGHT);
-       cairo_fill (cr);
-    }
-#else
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (x = 0; x < WIDTH; x++) {
-           double step = x / (double) (2 * WIDTH);
-           for (y = 0; y < HEIGHT; y++) {
-               for (i = 0; i < PRECISION; i++) {
-                   double dx = random_offset (WIDTH - x, FALSE);
-
-                   /* See column_triangles() for a transposed description
-                    * of this geometry.
-                    */
-
-                   cairo_move_to (cr, x + dx, y + i / (double) PRECISION);
-                   cairo_rel_line_to (cr,  step, 0);
-                   cairo_rel_line_to (cr,  step, 1 / (double) PRECISION);
-                   cairo_rel_line_to (cr, -step, 0);
-                   cairo_close_path (cr);
-               }
-               cairo_fill (cr); /* do these per-pixel due to the extra volume of edges */
-           }
-       }
-    }
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (coverage_rectangles,
-           "Check the fidelity of the rasterisation.",
-           NULL, /* keywords */
-           "target=raster slow", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, rectangles)
-
-CAIRO_TEST (coverage_intersecting_quads,
-           "Check the fidelity of the rasterisation.",
-           NULL, /* keywords */
-           "target=raster slow", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, intersecting_quads)
-
-CAIRO_TEST (coverage_intersecting_triangles,
-           "Check the fidelity of the rasterisation.",
-           NULL, /* keywords */
-           "target=raster slow", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, intersecting_triangles)
-CAIRO_TEST (coverage_row_triangles,
-           "Check the fidelity of the rasterisation.",
-           NULL, /* keywords */
-           "target=raster slow", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, row_triangles)
-CAIRO_TEST (coverage_column_triangles,
-           "Check the fidelity of the rasterisation.",
-           NULL, /* keywords */
-           "target=raster slow", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, column_triangles)
-CAIRO_TEST (coverage_triangles,
-           "Check the fidelity of the rasterisation.",
-           NULL, /* keywords */
-           "target=raster slow", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, triangles)
diff --git a/test/create-for-stream.c b/test/create-for-stream.c
deleted file mode 100644 (file)
index 3dde378..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kristian Høgsberg <krh@redhat.com>
- */
-
-#include "cairo-test.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-
-#if CAIRO_HAS_PS_SURFACE
-#include <cairo-ps.h>
-#endif
-
-#if CAIRO_HAS_PDF_SURFACE
-#include <cairo-pdf.h>
-#endif
-
-#if CAIRO_HAS_SVG_SURFACE
-#include <cairo-svg.h>
-#endif
-
-#include "cairo-test.h"
-
-/* The main test suite doesn't test the *_create_for_stream
- * constructors for the PDF, PS and SVG surface, so we do that here.
- * We draw to an in-memory buffer using the stream constructor and
- * compare the output to the contents of a file written using the
- * file constructor.
- */
-
-#define MAX_OUTPUT_SIZE 4096
-
-#define WIDTH_IN_INCHES  3
-#define HEIGHT_IN_INCHES 3
-#define WIDTH_IN_POINTS  (WIDTH_IN_INCHES  * 72.0)
-#define HEIGHT_IN_POINTS (HEIGHT_IN_INCHES * 72.0)
-
-#define BASENAME "create-for-stream.out"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Just draw a rectangle. */
-
-    cairo_rectangle (cr, width / 10., height /10.,
-                    width - 2 * width / 10.,
-                    height - 2 * height /10.);
-    cairo_fill (cr);
-
-    cairo_show_page (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static void
-draw_to (cairo_surface_t *surface)
-{
-    cairo_t *cr;
-
-    cr = cairo_create (surface);
-
-    draw (cr, WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
-
-    cairo_destroy (cr);
-}
-
-typedef struct _write_closure {
-    const cairo_test_context_t *ctx;
-    char buffer[MAX_OUTPUT_SIZE];
-    size_t index;
-    cairo_test_status_t status;
-} write_closure_t;
-
-static cairo_status_t
-bad_write (void                *closure,
-          const unsigned char  *data,
-          unsigned int  length)
-{
-    return CAIRO_STATUS_WRITE_ERROR;
-}
-
-static cairo_status_t
-test_write (void               *closure,
-           const unsigned char *data,
-           unsigned int         length)
-{
-    write_closure_t *wc = closure;
-
-    if (wc->index + length >= sizeof wc->buffer) {
-       cairo_test_log (wc->ctx, "Error: out of bounds in write callback\n");
-       wc->status = CAIRO_TEST_FAILURE;
-       return CAIRO_STATUS_SUCCESS;
-    }
-
-    memcpy (&wc->buffer[wc->index], data, length);
-    wc->index += length;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-
-typedef cairo_surface_t *
-(*file_constructor_t) (const char             *filename,
-                      double                   width_in_points,
-                      double                   height_in_points);
-
-typedef cairo_surface_t *
-(*stream_constructor_t) (cairo_write_func_t    write_func,
-                        void                  *closure,
-                        double                 width_in_points,
-                        double                 height_in_points);
-
-static cairo_test_status_t
-test_surface (const cairo_test_context_t *ctx,
-             const char                 *backend,
-             const char                 *filename,
-             file_constructor_t         file_constructor,
-             stream_constructor_t       stream_constructor)
-{
-    cairo_surface_t *surface;
-    write_closure_t wc;
-    char file_contents[MAX_OUTPUT_SIZE];
-    cairo_status_t status;
-    FILE *fp;
-
-    /* test propagation of user errors */
-    surface = stream_constructor (bad_write, &wc,
-                                 WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
-
-    status = cairo_surface_status (surface);
-    if (status) {
-       cairo_test_log (ctx,
-                       "%s: Failed to create surface for stream.\n",
-                       backend);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    draw_to (surface);
-
-    cairo_surface_finish (surface);
-    status = cairo_surface_status (surface);
-    cairo_surface_destroy (surface);
-
-    if (status != CAIRO_STATUS_WRITE_ERROR) {
-       cairo_test_log (ctx,
-                       "%s: Error: expected \"write error\", but received \"%s\".\n",
-                       backend, cairo_status_to_string (status));
-       return CAIRO_TEST_FAILURE;
-    }
-
-    /* construct the real surface */
-    wc.ctx = ctx;
-    wc.status = CAIRO_TEST_SUCCESS;
-    wc.index = 0;
-
-    surface = stream_constructor (test_write, &wc,
-                                 WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
-
-    status = cairo_surface_status (surface);
-    if (status) {
-       cairo_test_log (ctx,
-                       "%s: Failed to create surface for stream.\n", backend);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    draw_to (surface);
-
-    cairo_surface_destroy (surface);
-
-    if (wc.status != CAIRO_TEST_SUCCESS) {
-       /* Error already reported. */
-       return wc.status;
-    }
-
-    surface = file_constructor (filename,
-                               WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
-
-    status = cairo_surface_status (surface);
-    if (status) {
-       cairo_test_log (ctx, "%s: Failed to create surface for file %s: %s.\n",
-                       backend, filename, cairo_status_to_string (status));
-       return CAIRO_TEST_FAILURE;
-    }
-
-    draw_to (surface);
-
-    cairo_surface_destroy (surface);
-
-    fp = fopen (filename, "r");
-    if (fp == NULL) {
-       cairo_test_log (ctx, "%s: Failed to open %s for reading: %s.\n",
-                       backend, filename, strerror (errno));
-       return CAIRO_TEST_FAILURE;
-    }
-
-    if (fread (file_contents, 1, wc.index, fp) != wc.index) {
-       cairo_test_log (ctx, "%s: Failed to read %s: %s.\n",
-                       backend, filename, strerror (errno));
-       fclose (fp);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    if (memcmp (file_contents, wc.buffer, wc.index) != 0) {
-       cairo_test_log (ctx, "%s: Stream based output differ from file output for %s.\n",
-                       backend, filename);
-       fclose (fp);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    fclose (fp);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_test_status_t status = CAIRO_TEST_UNTESTED;
-    cairo_test_status_t test_status;
-
-#if CAIRO_HAS_PS_SURFACE
-    if (cairo_test_is_target_enabled (ctx, "ps2") ||
-       cairo_test_is_target_enabled (ctx, "ps3"))
-    {
-       if (status == CAIRO_TEST_UNTESTED)
-           status = CAIRO_TEST_SUCCESS;
-
-       test_status = test_surface (ctx, "ps", BASENAME ".ps",
-                                   cairo_ps_surface_create,
-                                   cairo_ps_surface_create_for_stream);
-       cairo_test_log (ctx, "TEST: %s TARGET: %s RESULT: %s\n",
-                       ctx->test->name, "ps",
-                       test_status ? "FAIL" : "PASS");
-       if (status == CAIRO_TEST_SUCCESS)
-           status = test_status;
-    }
-#endif
-
-#if CAIRO_HAS_PDF_SURFACE
-    if (cairo_test_is_target_enabled (ctx, "pdf")) {
-       if (status == CAIRO_TEST_UNTESTED)
-           status = CAIRO_TEST_SUCCESS;
-
-       test_status = test_surface (ctx, "pdf", BASENAME ".pdf",
-                                   cairo_pdf_surface_create,
-                                   cairo_pdf_surface_create_for_stream);
-       cairo_test_log (ctx, "TEST: %s TARGET: %s RESULT: %s\n",
-                       ctx->test->name, "pdf",
-                       test_status ? "FAIL" : "PASS");
-       if (status == CAIRO_TEST_SUCCESS)
-           status = test_status;
-    }
-#endif
-
-#if CAIRO_HAS_SVG_SURFACE
-    if (cairo_test_is_target_enabled (ctx, "svg11") ||
-       cairo_test_is_target_enabled (ctx, "svg12"))
-    {
-       if (status == CAIRO_TEST_UNTESTED)
-           status = CAIRO_TEST_SUCCESS;
-
-       test_status = test_surface (ctx, "svg", BASENAME ".svg",
-                                   cairo_svg_surface_create,
-                                   cairo_svg_surface_create_for_stream);
-       cairo_test_log (ctx, "TEST: %s TARGET: %s RESULT: %s\n",
-                       ctx->test->name, "svg",
-                       test_status ? "FAIL" : "PASS");
-       if (status == CAIRO_TEST_SUCCESS)
-           status = test_status;
-    }
-#endif
-
-    return status;
-}
-
-CAIRO_TEST (create_for_stream,
-           "Checks creating vector surfaces with user defined I/O\n",
-           "stream", /* keywords */
-           "target=vector", /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/create-from-png-stream.c b/test/create-from-png-stream.c
deleted file mode 100644 (file)
index 2e9eeee..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-
-#define WIDTH 2
-#define HEIGHT 2
-
-static cairo_status_t
-read_png_from_file (void *closure, unsigned char *data, unsigned int length)
-{
-    FILE *file = closure;
-    size_t bytes_read;
-
-    bytes_read = fread (data, 1, length, file);
-    if (bytes_read != length)
-       return CAIRO_STATUS_READ_ERROR;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    char *filename;
-    FILE *file;
-    cairo_surface_t *surface;
-    cairo_status_t status;
-
-    xasprintf (&filename, "%s/reference/%s", ctx->srcdir,
-              "create-from-png-stream.ref.png");
-
-    file = fopen (filename, "rb");
-    if (file == NULL) {
-       cairo_test_status_t ret;
-
-       ret = CAIRO_TEST_FAILURE;
-       if (errno == ENOMEM)
-           ret = cairo_test_status_from_status (ctx, CAIRO_STATUS_NO_MEMORY);
-
-       if (ret != CAIRO_TEST_NO_MEMORY)
-           cairo_test_log (ctx, "Error: failed to open file: %s\n", filename);
-
-       free (filename);
-       return ret;
-    }
-
-    surface = cairo_image_surface_create_from_png_stream (read_png_from_file,
-                                                         file);
-
-    fclose (file);
-
-    status = cairo_surface_status (surface);
-    if (status) {
-       cairo_test_status_t ret;
-
-       cairo_surface_destroy (surface);
-
-       ret = cairo_test_status_from_status (ctx, status);
-       if (ret != CAIRO_TEST_NO_MEMORY) {
-           cairo_test_log (ctx,
-                           "Error: failed to create surface from PNG: %s - %s\n",
-                           filename,
-                           cairo_status_to_string (status));
-       }
-
-       free (filename);
-
-       return ret;
-    }
-
-    free (filename);
-
-    /* Pretend we modify the surface data (which detaches the PNG mime data) */
-    cairo_surface_flush (surface);
-    cairo_surface_mark_dirty (surface);
-
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint (cr);
-
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (create_from_png_stream,
-           "Tests the creation of an image surface from a PNG using a FILE *",
-           "png", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/create-from-png.c b/test/create-from-png.c
deleted file mode 100644 (file)
index f620956..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#include <stdlib.h>
-
-#define WIDTH 2
-#define HEIGHT 2
-
-static cairo_status_t
-no_memory_error (void *closure, unsigned char *data, unsigned int size)
-{
-    return CAIRO_STATUS_NO_MEMORY;
-}
-
-static cairo_status_t
-read_error (void *closure, unsigned char *data, unsigned int size)
-{
-    return CAIRO_STATUS_READ_ERROR;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    char *filename;
-    cairo_surface_t *surface;
-
-    xasprintf (&filename, "%s/reference/%s",
-              ctx->srcdir, "create-from-png.ref.png");
-
-    surface = cairo_image_surface_create_from_png (filename);
-    if (cairo_surface_status (surface)) {
-       cairo_test_status_t result;
-
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error reading PNG image %s: %s\n",
-                           filename,
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-
-       free (filename);
-       return result;
-    }
-
-    /* Pretend we modify the surface data (which detaches the PNG mime data) */
-    cairo_surface_flush (surface);
-    cairo_surface_mark_dirty (surface);
-
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint (cr);
-
-    cairo_surface_destroy (surface);
-
-    free (filename);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    char *filename;
-    char *path;
-    cairo_surface_t *surface;
-    cairo_status_t status;
-    cairo_test_status_t result = CAIRO_TEST_SUCCESS;
-
-    surface = cairo_image_surface_create_from_png ("___THIS_FILE_DOES_NOT_EXIST___");
-    if (cairo_surface_status (surface) != CAIRO_STATUS_FILE_NOT_FOUND) {
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error: expected \"file not found\", but got: %s\n",
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-    }
-    cairo_surface_destroy (surface);
-    if (result != CAIRO_TEST_SUCCESS)
-       return result;
-
-    surface = cairo_image_surface_create_from_png_stream (no_memory_error, NULL);
-    if (cairo_surface_status (surface) != CAIRO_STATUS_NO_MEMORY) {
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error: expected \"out of memory\", but got: %s\n",
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-    }
-    cairo_surface_destroy (surface);
-    if (result != CAIRO_TEST_SUCCESS)
-       return result;
-
-    surface = cairo_image_surface_create_from_png_stream (read_error, NULL);
-    if (cairo_surface_status (surface) != CAIRO_STATUS_READ_ERROR) {
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error: expected \"read error\", but got: %s\n",
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-    }
-    cairo_surface_destroy (surface);
-    if (result != CAIRO_TEST_SUCCESS)
-       return result;
-
-    /* cheekily test error propagation from the user write funcs as well ... */
-    xasprintf (&path, "%s/reference", ctx->srcdir);
-    xasprintf (&filename, "%s/%s", path, "create-from-png.ref.png");
-
-    surface = cairo_image_surface_create_from_png (filename);
-    if (cairo_surface_status (surface)) {
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error reading PNG image %s: %s\n",
-                           filename,
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-    } else {
-       status = cairo_surface_write_to_png_stream (surface,
-                                              (cairo_write_func_t) no_memory_error,
-                                              NULL);
-       if (status != CAIRO_STATUS_NO_MEMORY) {
-           result = cairo_test_status_from_status (ctx, status);
-           if (result == CAIRO_TEST_FAILURE) {
-               cairo_test_log (ctx, "Error: expected \"out of memory\", but got: %s\n",
-                               cairo_status_to_string (status));
-           }
-       }
-
-       status = cairo_surface_write_to_png_stream (surface,
-                                                   (cairo_write_func_t) read_error,
-                                                   NULL);
-       if (status != CAIRO_STATUS_READ_ERROR) {
-           result = cairo_test_status_from_status (ctx, status);
-           if (result == CAIRO_TEST_FAILURE) {
-               cairo_test_log (ctx, "Error: expected \"read error\", but got: %s\n",
-                               cairo_status_to_string (status));
-           }
-       }
-
-       /* and check that error has not propagated to the surface */
-       if (cairo_surface_status (surface)) {
-           result = cairo_test_status_from_status (ctx,
-                                                   cairo_surface_status (surface));
-           if (result == CAIRO_TEST_FAILURE) {
-               cairo_test_log (ctx, "Error: user write error propagated to surface: %s",
-                               cairo_status_to_string (cairo_surface_status (surface)));
-           }
-       }
-    }
-    cairo_surface_destroy (surface);
-    free (filename);
-    if (result != CAIRO_TEST_SUCCESS)
-       return result;
-
-    /* check that loading alpha/opaque PNGs generate the correct surfaces */
-    xasprintf (&filename, "%s/%s", path, "create-from-png.alpha.ref.png");
-    surface = cairo_image_surface_create_from_png (filename);
-    if (cairo_surface_status (surface)) {
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error reading PNG image %s: %s\n",
-                           filename,
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-    } else if (cairo_image_surface_get_format (surface) != CAIRO_FORMAT_ARGB32) {
-       cairo_test_log (ctx, "Error reading PNG image %s: did not create an ARGB32 image\n",
-                       filename);
-       result = CAIRO_TEST_FAILURE;
-    }
-    free (filename);
-    cairo_surface_destroy (surface);
-    if (result != CAIRO_TEST_SUCCESS)
-       return result;
-
-    xasprintf (&filename, "%s/%s", path, "create-from-png.ref.png");
-    surface = cairo_image_surface_create_from_png (filename);
-    if (cairo_surface_status (surface)) {
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error reading PNG image %s: %s\n",
-                           filename,
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-    } else if (cairo_image_surface_get_format (surface) != CAIRO_FORMAT_RGB24) {
-       cairo_test_log (ctx, "Error reading PNG image %s: did not create an RGB24 image\n",
-                       filename);
-       result = CAIRO_TEST_FAILURE;
-    }
-    free (filename);
-    cairo_surface_destroy (surface);
-    if (result != CAIRO_TEST_SUCCESS)
-       return result;
-
-    /* check paletted PNGs */
-    xasprintf (&filename, "%s/%s", path, "create-from-png.indexed-alpha.ref.png");
-    surface = cairo_image_surface_create_from_png (filename);
-    if (cairo_surface_status (surface)) {
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error reading PNG image %s: %s\n",
-                           filename,
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-    } else if (cairo_image_surface_get_format (surface) != CAIRO_FORMAT_ARGB32) {
-       cairo_test_log (ctx, "Error reading PNG image %s: did not create an ARGB32 image\n",
-                       filename);
-       result = CAIRO_TEST_FAILURE;
-    }
-    free (filename);
-    cairo_surface_destroy (surface);
-    if (result != CAIRO_TEST_SUCCESS)
-       return result;
-
-    xasprintf (&filename, "%s/%s", path, "create-from-png.indexed.ref.png");
-    surface = cairo_image_surface_create_from_png (filename);
-    if (cairo_surface_status (surface)) {
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error reading PNG image %s: %s\n",
-                           filename,
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-    } else if (cairo_image_surface_get_format (surface) != CAIRO_FORMAT_RGB24) {
-       cairo_test_log (ctx, "Error reading PNG image %s: did not create an RGB24 image\n",
-                       filename);
-       result = CAIRO_TEST_FAILURE;
-    }
-    free (filename);
-    cairo_surface_destroy (surface);
-    if (result != CAIRO_TEST_SUCCESS)
-       return result;
-
-    /* check grayscale PNGs */
-    xasprintf (&filename, "%s/%s", path, "create-from-png.gray-alpha.ref.png");
-    surface = cairo_image_surface_create_from_png (filename);
-    if (cairo_surface_status (surface)) {
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error reading PNG image %s: %s\n",
-                           filename,
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-    } else if (cairo_image_surface_get_format (surface) != CAIRO_FORMAT_ARGB32) {
-       cairo_test_log (ctx, "Error reading PNG image %s: did not create an ARGB32 image\n",
-                       filename);
-       result = CAIRO_TEST_FAILURE;
-    }
-    free (filename);
-    cairo_surface_destroy (surface);
-    if (result != CAIRO_TEST_SUCCESS)
-       return result;
-
-    xasprintf (&filename, "%s/%s", path, "create-from-png.gray.ref.png");
-    surface = cairo_image_surface_create_from_png (filename);
-    if (cairo_surface_status (surface)) {
-       result = cairo_test_status_from_status (ctx,
-                                               cairo_surface_status (surface));
-       if (result == CAIRO_TEST_FAILURE) {
-           cairo_test_log (ctx, "Error reading PNG image %s: %s\n",
-                           filename,
-                           cairo_status_to_string (cairo_surface_status (surface)));
-       }
-    } else if (cairo_image_surface_get_format (surface) != CAIRO_FORMAT_RGB24) {
-       cairo_test_log (ctx, "Error reading PNG image %s: did not create an RGB24 image\n",
-                       filename);
-       result = CAIRO_TEST_FAILURE;
-    }
-    free (filename);
-    cairo_surface_destroy (surface);
-
-    free (path);
-
-    return result;
-}
-
-CAIRO_TEST (create_from_png,
-           "Tests the creation of an image surface from a PNG file",
-           "png", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           preamble, draw)
diff --git a/test/culled-glyphs.c b/test/culled-glyphs.c
deleted file mode 100644 (file)
index 28bee7e..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const char *text =
-"This needs to be a very long string, wider than the surface, and yet wider."
-"Ideally it should overflow the stack buffers, but do you really want to read "
-"a message that long. No. So we compromise with around 300 glyphs that is "
-"long enough to trigger the conditions as stated in "
-"http://lists.cairographics.org/archives/cairo/2008-December/015976.html. "
-"Happy now?";
-    cairo_text_extents_t extents;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_set_font_size (cr, 16);
-    cairo_text_extents (cr, text, &extents);
-    cairo_move_to (cr, -extents.width/2, 18);
-    cairo_show_text (cr, text);
-
-    /* XXX we should exercise cairo_show_text_glyphs() as well,
-     * and CAIRO_TEXT_CLUSTER_BACKWARDS
-     */
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (culled_glyphs,
-           "Tests culling of glyphs and text clusters",
-           "glyphs", /* keywords */
-           NULL, /* requirements */
-           20, 20,
-           NULL, draw)
-
diff --git a/test/curve-to-as-line-to.c b/test/curve-to-as-line-to.c
deleted file mode 100644 (file)
index 07eb005..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 30
-
-/* At one point, an optimization was proposed for cairo in which a
- * curve_to would be optimized as a line_to. The initial (buggy)
- * implementation verified that the slopes of several segments of the
- * spline's control polygon were identical, but left open the
- * possibility of an anti-parallel slope for one segment.
- *
- * For example, given a spline with collinear control points (A,B,C,D)
- * positioned as follows:
- *
- *     C--A--B--D
- *
- * The code verified identical slopes for AB, CD, and AD. The missing
- * check for the BC segment allowed it to be anti-parallel to the
- * others as above, and hence invalid to replace this spline with the
- * AD line segment.
- */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-
-    cairo_translate (cr, 0, 1.0);
-
-    /* The CABD spline as described above. We ensure that the spline
-     * folds over on itself outside the bounds of the image to avoid
-     * the reference image having the curved portion of that fold,
-     * (which would just be harder to match in all the backends than
-     * we really want). */
-    cairo_move_to (cr,
-                    10.5, 0.5);
-    cairo_curve_to (cr,
-                    11.5, 0.5,
-                   -25.0, 0.5,
-                    31.0, 0.5);
-
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 0, 2.0);
-
-    /* A reflected version: DBAC */
-    cairo_move_to (cr,
-                   19.5, 0.5);
-
-    cairo_curve_to (cr,
-                   18.5, 0.5,
-                   55.0, 0.5,
-                   -1.0, 0.5);
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (curve_to_as_line_to,
-           "Test optimization treating curve_to as line_to",
-           "path", /* keywords */
-           NULL, /* requirements */
-           30,
-           5,
-           NULL, draw)
diff --git a/test/dash-caps-joins.c b/test/dash-caps-joins.c
deleted file mode 100644 (file)
index ace27e9..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Test case for bug #4409:
- *
- *     Dashes are missing initial caps
- *     https://bugs.freedesktop.org/show_bug.cgi?id=4409
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     10.
-#define SIZE           (5 * LINE_WIDTH)
-#define PAD            (2 * LINE_WIDTH)
-
-static void
-make_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 0., 0.);
-    cairo_rel_line_to (cr, 0., SIZE);
-    cairo_rel_line_to (cr, SIZE, 0.);
-    cairo_close_path (cr);
-
-    cairo_move_to (cr, 2 * LINE_WIDTH, 0.);
-    cairo_rel_line_to (cr, 3 * LINE_WIDTH, 0.);
-    cairo_rel_line_to (cr, 0., 3 * LINE_WIDTH);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double dash[] = {LINE_WIDTH, 1.5 * LINE_WIDTH};
-    double dash_offset = -2 * LINE_WIDTH;
-    int i;
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    for (i=0; i<2; i++) {
-       cairo_save (cr);
-       cairo_set_line_width (cr, LINE_WIDTH);
-       cairo_set_dash (cr, dash, ARRAY_LENGTH (dash), dash_offset);
-
-       cairo_translate (cr, PAD, PAD);
-
-       make_path (cr);
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-       cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-       cairo_stroke (cr);
-
-       cairo_translate (cr, SIZE + PAD, 0.);
-
-       make_path (cr);
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-       cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-       cairo_stroke (cr);
-
-       cairo_translate (cr, SIZE + PAD, 0.);
-
-       make_path (cr);
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-       cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-       cairo_stroke (cr);
-
-       cairo_restore (cr);
-       cairo_translate (cr, 0., SIZE + PAD);
-       dash_offset = 0;
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (dash_caps_joins,
-           "Test caps and joins when dashing",
-           "dash, stroke", /* keywords */
-           NULL, /* requirements */
-           3 * (PAD + SIZE) + PAD,
-           PAD + SIZE + PAD + SIZE + PAD,
-           NULL, draw)
diff --git a/test/dash-curve.c b/test/dash-curve.c
deleted file mode 100644 (file)
index c319980..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright © 2007 Jeff Smith
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Jeff Smith not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Jeff Smith makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * JEFF SMITH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL JEFF SMITH BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Jeff Smith <whydoubt@yahoo.com>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double dashes[2] = {20, 20};
-    int a=0, b=0, c=0;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    for (a=0; a<4; a++)
-    for (b=0; b<5; b++)
-    for (c=0; c<5; c++) {
-       cairo_move_to (cr, ((b*5)+c)*60+10, a*60+10);
-       cairo_rel_curve_to (cr,
-                           0,      b*10,
-                           0,      b*10,
-                           c*10,   b*10);
-
-       cairo_set_source_rgb (cr, 1, 1, 1);
-       cairo_set_line_width (cr, 8);
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-       cairo_set_dash (cr, dashes, 2, a*10);
-       cairo_stroke_preserve (cr);
-
-       cairo_set_source_rgb (cr, 0, 0.5, 1);
-       cairo_set_line_width (cr, 2);
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-       cairo_set_dash (cr, 0, 0, 0);
-       cairo_stroke (cr);
-    }
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (dash_curve,
-           "Tries to explore the state space of the dashing code along curves",
-           "dash, stroke", /* keywords */
-           NULL, /* requirements */
-           25*60, 4*60,
-           NULL, draw)
diff --git a/test/dash-infinite-loop.c b/test/dash-infinite-loop.c
deleted file mode 100644 (file)
index a3d7544..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright © 2009 M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-
-#include "cairo-test.h"
-
-/* When faced with very small dash lengths the stroker is liable to
- * get stuck in an infinite loop when advancing the dash offset.  This
- * test attempts to hit each of the locations in the stroker code
- * where the dash offset is advanced in a loop.
- *
- * Reported to the cairo mailing list by Hans Breuer.
- * http://lists.cairographics.org/archives/cairo/2009-June/017506.html
- */
-
-#define EPS 1e-30
-/* This should be comfortably smaller than the unit epsilon of the
- * floating point type used to advance the dashing, yet not small
- * enough that it underflows to zero.  1e-30 works to foil up to 80
- * bit extended precision arithmetic.  We want to avoid zero dash
- * lengths because those trigger special processing in the stroker. */
-
-static void
-do_dash (cairo_t *cr, double dx, double dy, double offset)
-{
-    /* Set the dash pattern to be predominantly ON so that we can
-     * create a reference image by just ignoring the dashing. */
-    static double dash[] = { EPS, EPS/512 };
-    cairo_set_dash (cr, dash, 2, offset);
-    cairo_move_to (cr, 10, 10);
-    cairo_rel_line_to (cr, dx, dy);
-    cairo_stroke (cr);
-    cairo_translate (cr, dx, dy);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    (void)width; (void)height;
-
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0,0,0);
-
-    cairo_set_line_width (cr, 10);
-
-    /* The following calls will wedge in various places that try
-     * to advance the dashing in a loop inside the stroker. */
-    do_dash (cr, 30, 30, 0); /* _cairo_stroker_line_to_dashed */
-    do_dash (cr, 30,  0, 0); /* _cairo_rectilinear_stroker_line_to_dashed */
-    do_dash (cr, 30, 30, 1); /* _cairo_stroker_dash_start */
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (dash_infinite_loop,
-            "Test dashing with extremely small dash lengths.",
-            "dash",
-            NULL,
-            100, 100,
-            NULL, draw);
diff --git a/test/dash-no-dash.c b/test/dash-no-dash.c
deleted file mode 100644 (file)
index e03094a..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-#include <stdlib.h>
-
-#define PAD            1
-#define LINE_WIDTH     2
-#define HEIGHT         (PAD + 4 * (LINE_WIDTH + PAD))
-#define WIDTH          16
-
-static void
-line (cairo_t *cr)
-{
-    cairo_move_to (cr, PAD, 0.0);
-    cairo_line_to (cr, WIDTH - PAD, 0.0);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double dash = 2.0;
-
-    /* We draw in black, so paint white first. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-
-    cairo_translate (cr, 0.0, PAD + LINE_WIDTH / 2);
-
-    /* First draw a solid line... */
-    line (cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 0.0, LINE_WIDTH + PAD);
-
-    /* then a dashed line... */
-    cairo_set_dash (cr, &dash, 1, 0.0);
-    line (cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 0.0, LINE_WIDTH + PAD);
-
-    /* back to solid... */
-    cairo_set_dash (cr, NULL, 0, 0.0);
-    line (cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 0.0, LINE_WIDTH + PAD);
-
-    /* and finally, back to dashed. */
-    cairo_set_dash (cr, &dash, 1, 0.0);
-    line (cr);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (dash_no_dash,
-           "Tests that we can actually turn dashing on and off again",
-           "dash, stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/dash-offset-negative.c b/test/dash-offset-negative.c
deleted file mode 100644 (file)
index 8766cc5..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Owen Taylor <otaylor@redhat.com>
- */
-
-#include "cairo-test.h"
-
-#define IMAGE_WIDTH 19
-#define IMAGE_HEIGHT 19
-
-/* Basic test of dashed strokes, including a test for the negative
- * dash offset bug:
- *
- *     https://bugs.freedesktop.org/show_bug.cgi?id=2729
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double dashes[] = { 1 };
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_set_line_width (cr, 2);
-
-    /* Basic 1-1 dash pattern */
-    cairo_set_dash (cr, dashes, 1, 0.);
-
-    cairo_move_to (cr,  1, 2);
-    cairo_line_to (cr, 18, 2);
-    cairo_stroke (cr);
-
-    /* Adjust path by 0.5. Ideally this would give a constant 50%
-     * gray, (but does not due to the location of the regular sample
-     * grid points. */
-    cairo_move_to (cr, 1.5, 5);
-    cairo_line_to (cr, 18., 5);
-    cairo_stroke (cr);
-
-    /* Offset dash by 0.5, rather than the path */
-    cairo_set_dash (cr, dashes, 1, 0.5);
-
-    cairo_move_to (cr,  1, 8);
-    cairo_line_to (cr, 18, 8);
-    cairo_stroke (cr);
-
-    /* Now, similar tests with negative dash offsets. */
-
-    /* Basic 1-1 dash pattern dashing */
-    cairo_set_dash (cr, dashes, 1, -4);
-
-    cairo_move_to (cr,  1, 11);
-    cairo_line_to (cr, 18, 11);
-    cairo_stroke (cr);
-
-    /* Adjust path by 0.5 */
-    cairo_move_to (cr, 1.5, 14);
-    cairo_line_to (cr, 18., 14);
-    cairo_stroke (cr);
-
-    /* Offset dash by 0.5 */
-    cairo_set_dash (cr, dashes, 1, -3.5);
-
-    cairo_move_to (cr,  1, 17);
-    cairo_line_to (cr, 18, 17);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (dash_offset_negative,
-           "Tests cairo_set_dash with a negative offset",
-           "dash, stroke", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/dash-offset.c b/test/dash-offset.c
deleted file mode 100644 (file)
index f4269ee..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2009 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-/* Lengths of the dashes of the dash patterns */
-static const double dashes[] = { 2, 2, 4, 4 };
-/* Dash offset in userspace units
- * They always grow by 2, so the dash pattern is
- * should be shifted by the same amount each time */
-static const double frac_offset[] = { 0, 2, 4, 6 };
-/* Dash offset relative to the whole dash pattern
- * This corresponds to the non-inverted part only if
- * the dash pattern has odd length, so the expected result
- * is the same for every int_offset if the pattern has
- * even length, and inverted each time (or shifted by half
- * period, which is the same) if the pattern has odd length. */
-static const double int_offset[] = { -2, -1, 0, 1, 2 };
-
-#define PAD 6
-#define STROKE_LENGTH 32
-#define IMAGE_WIDTH (PAD + (STROKE_LENGTH + PAD) * ARRAY_LENGTH (dashes))
-#define IMAGE_HEIGHT (PAD + PAD * ARRAY_LENGTH (int_offset) + PAD * ARRAY_LENGTH (frac_offset) * ARRAY_LENGTH (int_offset))
-
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double total;
-    size_t i, j, k;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_set_line_width (cr, 2);
-
-    total = 0.0;
-    for (k = 0; k < ARRAY_LENGTH (dashes); ++k) {
-       total += dashes[k];
-       for (i = 0; i < ARRAY_LENGTH (frac_offset); ++i) {
-           for (j = 0; j < ARRAY_LENGTH (int_offset); ++j) {
-               cairo_set_dash (cr, dashes, k + 1, frac_offset[i] + total * int_offset[j]);
-               cairo_move_to (cr, (STROKE_LENGTH + PAD) * k + PAD, PAD * (i + j + ARRAY_LENGTH (frac_offset) * j + 1));
-               cairo_line_to (cr, (STROKE_LENGTH + PAD) * (k + 1), PAD * (i + j + ARRAY_LENGTH (frac_offset) * j + 1));
-               cairo_stroke (cr);
-           }
-       }
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (dash_offset,
-           "Tests dashes of different length with various offsets",
-           "stroke, dash", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/dash-scale.c b/test/dash-scale.c
deleted file mode 100644 (file)
index fd51702..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     8.
-#define SIZE           (5 * LINE_WIDTH)
-#define PAD            (2 * LINE_WIDTH)
-
-static void
-make_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 0., 0.);
-    cairo_rel_line_to (cr, 0., SIZE);
-    cairo_rel_line_to (cr, SIZE, 0.);
-    cairo_close_path (cr);
-
-    cairo_move_to (cr, 2 * LINE_WIDTH, 0.);
-    cairo_rel_line_to (cr, 3 * LINE_WIDTH, 0.);
-    cairo_rel_line_to (cr, 0., 3 * LINE_WIDTH);
-}
-
-static void
-draw_three_shapes (cairo_t *cr)
-{
-    cairo_save (cr);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_stroke (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double dash[] = {1.5 * LINE_WIDTH};
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    cairo_set_dash (cr, dash, ARRAY_LENGTH (dash), - 2 * LINE_WIDTH);
-    cairo_set_line_width (cr, LINE_WIDTH);
-    draw_three_shapes (cr);
-
-    cairo_translate (cr, 0, SIZE + 2 * PAD);
-
-    cairo_save (cr);
-    {
-       cairo_set_dash (cr, dash, ARRAY_LENGTH (dash), - 2 * LINE_WIDTH);
-       cairo_set_line_width (cr, LINE_WIDTH);
-       cairo_scale (cr, 1, 2);
-       draw_three_shapes (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_translate (cr, 0, 2 * (SIZE + PAD));
-
-    cairo_save (cr);
-    {
-       cairo_scale (cr, 1, 2);
-       cairo_set_dash (cr, dash, ARRAY_LENGTH (dash), - 2 * LINE_WIDTH);
-       cairo_set_line_width (cr, LINE_WIDTH);
-       draw_three_shapes (cr);
-    }
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (dash_scale,
-           "Test interactions of cairo_set_dash and cairo_scale, (in particular with a non-uniformly scaled pen)",
-           "dash, stroke, transform", /* keywords */
-           NULL, /* requirements */
-           3 * (PAD + SIZE) + PAD,
-           PAD + 5 * SIZE + 2 * (2 * PAD) + PAD,
-           NULL, draw)
diff --git a/test/dash-state.c b/test/dash-state.c
deleted file mode 100644 (file)
index 5276aea..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2007 Jeff Smith
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Jeff Smith not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Jeff Smith makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * JEFF SMITH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL JEFF SMITH BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Jeff Smith <whydoubt@yahoo.com>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double dashes[2] = {20, 20};
-    int a=0, b=0, c=0;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    for (a=0; a<4; a++)
-    for (b=0; b<5; b++)
-    for (c=0; c<5; c++) {
-       cairo_move_to (cr, ((b*5)+c)*60+10, a*60+10);
-       cairo_rel_line_to (cr, 0, b*10);
-       cairo_rel_line_to (cr, c*10, 0);
-
-       cairo_set_source_rgb (cr, 1, 1, 1);
-       cairo_set_line_width (cr, 8);
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-       cairo_set_dash (cr, dashes, 2, a*10);
-       cairo_stroke_preserve (cr);
-
-       cairo_set_source_rgb (cr, 0, 0.5, 1);
-       cairo_set_line_width (cr, 2);
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-       cairo_set_dash (cr, 0, 0, 0);
-       cairo_stroke (cr);
-    }
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (dash_state,
-           "Tries to explore the state space of the dashing code",
-           "dash, stroke", /* keywords */
-           NULL, /* requirements */
-           25*60, 4*60,
-           NULL, draw)
diff --git a/test/dash-zero-length.c b/test/dash-zero-length.c
deleted file mode 100644 (file)
index 5ab944b..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright © 2006 Jeff Muizelaar
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Jeff Muizelaar. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Jeff Muizelaar. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * JEFF MUIZELAAR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL JEFF MUIZELAAR BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Jeff Muizelaar <jeff@infidigm.net>
- */
-
-#include "cairo-test.h"
-
-#define IMAGE_WIDTH 19
-#define IMAGE_HEIGHT 61
-
-/* A test of the two extremes of dashing: a solid line
- * and an invisible one. Also test that capping works
- * on invisible lines.
- */
-
-static void
-draw_dash (cairo_t *cr, double *dash, int num_dashes)
-{
-    cairo_set_dash (cr, dash, num_dashes, 0.0);
-    cairo_move_to (cr,  1, 2);
-    cairo_line_to (cr, 18, 2);
-    cairo_stroke (cr);
-    cairo_translate (cr, 0, 3);
-}
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    static double solid_line[] = { 4, 0 };
-    static double invisible_line[] = { 0, 4 };
-    static double dotted_line[] = { 0, 6 };
-    static double zero_1_of_3[] = { 0, 2, 3 };
-    static double zero_2_of_3[] = { 1, 0, 3 };
-    static double zero_3_of_3[] = { 1, 2, 0 };
-    static double zero_1_of_4[] = { 0, 2, 3, 4 };
-    static double zero_2_of_4[] = { 1, 0, 3, 4 };
-    static double zero_3_of_4[] = { 1, 2, 0, 4 };
-    static double zero_4_of_4[] = { 1, 2, 3, 0 };
-    static double zero_1_2_of_4[] = { 0, 0, 3, 4 };
-    static double zero_1_3_of_4[] = { 0, 2, 0, 4 };
-/* Clearly it would be nice to draw this one as well, but it seems to trigger a bug in ghostscript. */
-#if BUG_FIXED_IN_GHOSTSCRIPT
-    static double zero_1_4_of_4[] = { 0, 2, 3, 0 };
-#endif
-    static double zero_2_3_of_4[] = { 1, 0, 0, 4 };
-    static double zero_2_4_of_4[] = { 1, 0, 3, 0 };
-    static double zero_3_4_of_4[] = { 1, 2, 0, 0 };
-    static double zero_1_2_3_of_4[] = { 0, 0, 0, 4 };
-    static double zero_1_2_4_of_4[] = { 0, 0, 3, 0 };
-    static double zero_1_3_4_of_4[] = { 0, 2, 0, 0 };
-    static double zero_2_3_4_of_4[] = { 1, 0, 0, 0 };
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_set_line_width (cr, 2);
-
-    draw_dash (cr, solid_line, 2);
-    draw_dash (cr, invisible_line, 2);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    draw_dash (cr, dotted_line, 2);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-
-    draw_dash (cr, zero_1_of_3, 3);
-    draw_dash (cr, zero_2_of_3, 3);
-    draw_dash (cr, zero_3_of_3, 3);
-    draw_dash (cr, zero_1_of_4, 4);
-    draw_dash (cr, zero_2_of_4, 4);
-    draw_dash (cr, zero_3_of_4, 4);
-    draw_dash (cr, zero_4_of_4, 4);
-    draw_dash (cr, zero_1_2_of_4, 4);
-    draw_dash (cr, zero_1_3_of_4, 4);
-#if BUG_FIXED_IN_GHOSTSCRIPT
-    draw_dash (cr, zero_1_4_of_4, 4);
-#endif
-    draw_dash (cr, zero_2_3_of_4, 4);
-    draw_dash (cr, zero_2_4_of_4, 4);
-    draw_dash (cr, zero_3_4_of_4, 4);
-    draw_dash (cr, zero_1_2_3_of_4, 4);
-    draw_dash (cr, zero_1_2_4_of_4, 4);
-    draw_dash (cr, zero_1_3_4_of_4, 4);
-    draw_dash (cr, zero_2_3_4_of_4, 4);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (dash_zero_length,
-           "Tests cairo_set_dash with zero length",
-           "dash, stroke", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/degenerate-arc.c b/test/degenerate-arc.c
deleted file mode 100644 (file)
index ab65774..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* This test case exercises a "Potential division by zero in cairo_arc"
- * reported by Luiz Americo Pereira Camara <luizmed@oi.com.br>,
- * http://lists.cairographics.org/archives/cairo/2008-May/014054.html.
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int n;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-
-    cairo_set_line_width (cr, 5);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    for (n = 0; n < 8; n++) {
-       double theta = n * 2 * M_PI / 8;
-       cairo_new_sub_path (cr);
-       cairo_arc (cr, 20, 20, 15, theta, theta);
-       cairo_close_path (cr);
-    }
-    cairo_stroke (cr);
-
-    cairo_set_line_width (cr, 2);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    for (n = 0; n < 8; n++) {
-       double theta = n * 2 * M_PI / 8;
-       cairo_move_to (cr, 20, 20);
-       cairo_arc (cr, 20, 20, 15, theta, theta);
-    }
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_arc (cr, 20, 20, 2, 0, 2*M_PI);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (degenerate_arc,
-           "Tests the behaviour of degenerate arcs",
-           "degenerate", /* keywords */
-           NULL, /* requirements */
-           40, 40,
-           NULL, draw)
diff --git a/test/degenerate-arcs.c b/test/degenerate-arcs.c
deleted file mode 100644 (file)
index 2470828..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2010 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 20
-#define HEIGHT 20
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0.3, 0.4, 0.5);
-
-    /* This should be equivalent to a simple rectangle, such as may be
-     * constructed for a rounded-rectangle with corner radii of 0...
-     */
-    cairo_arc (cr, 5, 5, 0, M_PI, 3*M_PI/2);
-    cairo_arc (cr, 15, 5, 0, 3*M_PI/2, 2*M_PI);
-    cairo_arc (cr, 15, 15, 0, 0, M_PI/2);
-    cairo_arc (cr, 5, 15, 0, M_PI/2, M_PI);
-
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (degenerate_arcs,
-           "Tests path construction using a series of degenerate (radius=0) arcs",
-           "arc, fill", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/degenerate-curve-to.c b/test/degenerate-curve-to.c
deleted file mode 100644 (file)
index a081a3b..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 30
-
-/* Another attempt at avoiding unnecessary splines was made, where
- * a curve-to that ended on the same point as it began were discarded.
- */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-
-    /* entirely degenerate */
-    cairo_move_to (cr,
-                   2.5, 2.5);
-    cairo_curve_to (cr,
-                   2.5, 2.5,
-                   2.5, 2.5,
-                   2.5, 2.5);
-    cairo_stroke (cr);
-
-    /* horizontal */
-    cairo_move_to (cr,
-                    5.5, 2.5);
-    cairo_curve_to (cr,
-                   22.0, 2.5,
-                   -0.5, 2.5,
-                    5.5, 2.5);
-    cairo_stroke (cr);
-
-    /* vertical */
-    cairo_move_to (cr,
-                   7.5,  0.0);
-    cairo_curve_to (cr,
-                   7.5, 11.0,
-                   7.5,  0.0,
-                   7.5,  0.0);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 15, 0);
-
-    /* horizontal/vertical */
-    cairo_move_to (cr,
-                    5.5,  0.5);
-    cairo_curve_to (cr,
-                   -0.5,  0.5,
-                    5.5, 10.5,
-                    5.5,  0.5);
-
-    cairo_translate (cr, 10, 0);
-
-    /* vertical/horizontal */
-    cairo_move_to (cr,
-                    5.5,  0.0);
-    cairo_curve_to (cr,
-                    5.5, 11.0,
-                   10.5,  0.0,
-                    5.5,  0.0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (degenerate_curve_to,
-           "Test optimization treating degenerate curve_to as line_to",
-           "path", /* keywords */
-           NULL, /* requirements */
-           40,
-           5,
-           NULL, draw)
diff --git a/test/degenerate-dash.c b/test/degenerate-dash.c
deleted file mode 100644 (file)
index c13792f..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- *
- * Based on an original test case by M Joonas Pihlaja.
- */
-
-#include "cairo-test.h"
-
-#define PAD 5
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const double dashes[] = { 25, 25 };
-    cairo_line_join_t joins[] = {
-       CAIRO_LINE_JOIN_ROUND,
-       CAIRO_LINE_JOIN_MITER,
-       CAIRO_LINE_JOIN_BEVEL
-    };
-    cairo_line_cap_t caps[] = {
-       CAIRO_LINE_CAP_ROUND,
-       CAIRO_LINE_CAP_SQUARE,
-       CAIRO_LINE_CAP_BUTT,
-    };
-    int i, j;
-
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    cairo_set_dash (cr, dashes, 2, 0.);
-    cairo_set_line_width (cr, 10);
-
-    cairo_translate (cr, 5 + PAD, 5 + PAD);
-
-    for (i = 0; i < ARRAY_LENGTH (joins); i++) {
-       cairo_set_line_join (cr, joins[i]);
-       cairo_save (cr);
-
-       for (j = 0; j < ARRAY_LENGTH (caps); j++) {
-           cairo_set_line_cap (cr, caps[j]);
-
-           cairo_move_to (cr,  0, 0);
-           cairo_line_to (cr, 50, 0);
-           cairo_line_to (cr, 50,50);
-           cairo_stroke (cr);
-
-           cairo_translate (cr, 75, 0);
-       }
-       cairo_restore (cr);
-
-       cairo_translate (cr, 0, 75);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (degenerate_dash,
-           "Tests the behaviour of dashed segments that end on a off-on transition",
-           "dash, degenerate", /* keywords */
-           NULL, /* requirementts */
-           210 + 2*PAD, 210 + 2*PAD,
-           NULL, draw)
diff --git a/test/degenerate-linear-gradient.c b/test/degenerate-linear-gradient.c
deleted file mode 100644 (file)
index 0d174fc..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2010 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define NUM_EXTEND 4
-#define HEIGHT 16
-#define WIDTH 16
-#define PAD 3
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    unsigned int j;
-
-    cairo_extend_t extend[NUM_EXTEND] = {
-       CAIRO_EXTEND_NONE,
-       CAIRO_EXTEND_REPEAT,
-       CAIRO_EXTEND_REFLECT,
-       CAIRO_EXTEND_PAD
-    };
-
-    cairo_test_paint_checkered (cr);
-
-    pattern = cairo_pattern_create_linear (WIDTH/2, HEIGHT/2, WIDTH/2, HEIGHT/2);
-
-    cairo_pattern_add_color_stop_rgba (pattern, 0, 1, 0, 0, 1);
-    cairo_pattern_add_color_stop_rgba (pattern, sqrt (1.0 / 2.0), 0, 1, 0, 0);
-    cairo_pattern_add_color_stop_rgba (pattern, 1, 0, 0, 1, 0.5);
-
-    cairo_translate (cr, PAD, PAD);
-
-    for (j = 0; j < NUM_EXTEND; j++) {
-       cairo_reset_clip (cr);
-       cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-       cairo_clip (cr);
-       
-       cairo_pattern_set_extend (pattern, extend[j]);
-       
-       cairo_set_source (cr, pattern);
-       cairo_paint (cr);
-       
-       cairo_translate (cr, WIDTH+PAD, 0);
-    }
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (degenerate_linear_gradient,
-           "Tests degenerate linear gradients",
-           "linear, pattern, extend", /* keywords */
-           NULL, /* requirements */
-           (WIDTH+PAD) * NUM_EXTEND + PAD, 1*(HEIGHT + PAD) + PAD,
-           NULL, draw)
diff --git a/test/degenerate-path.c b/test/degenerate-path.c
deleted file mode 100644 (file)
index c690730..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright © 2006 Jeff Muizelaar
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Jeff Muizelaar not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Jeff Muizelaar makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * JEFF MUIZELAAR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL JEFF MUIZELAAR BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Jeff Muizelaar <jeff@infidigm.net>
- */
-
-#include "cairo-test.h"
-
-#define PAD 3.0
-#define LINE_WIDTH 6.0
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_line_cap_t cap[] = { CAIRO_LINE_CAP_ROUND, CAIRO_LINE_CAP_SQUARE, CAIRO_LINE_CAP_BUTT };
-    size_t i;
-    double dash[] = {2, 2};
-    double dash_long[] = {6, 6};
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    for (i = 0; i < ARRAY_LENGTH (cap); i++) {
-       cairo_save (cr);
-
-       cairo_set_line_cap (cr, cap[i]);
-
-       /* simple degenerate paths */
-       cairo_set_line_width (cr, LINE_WIDTH);
-       cairo_move_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_line_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_stroke (cr);
-
-       cairo_translate (cr, 0, 3*PAD);
-       cairo_move_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_close_path (cr);
-       cairo_stroke (cr);
-
-       /* degenerate paths starting with dash on */
-       cairo_set_dash (cr, dash, 2, 0.);
-
-       cairo_translate (cr, 0, 3*PAD);
-       cairo_move_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_line_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_stroke (cr);
-
-       cairo_translate (cr, 0, 3*PAD);
-       cairo_move_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_close_path (cr);
-       cairo_stroke (cr);
-
-       /* degenerate paths starting with dash off */
-       /* these should not draw anything */
-       cairo_set_dash (cr, dash, 2, 2.);
-
-       cairo_translate (cr, 0, 3*PAD);
-       cairo_move_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_line_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_stroke (cr);
-
-       cairo_translate (cr, 0, 3*PAD);
-       cairo_move_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_close_path (cr);
-       cairo_stroke (cr);
-
-       /* this should draw a single degenerate sub-path
-        * at the end of the path */
-       cairo_set_dash (cr, dash_long, 2, 6.);
-
-       cairo_translate (cr, 0, 3*PAD);
-       cairo_move_to (cr, LINE_WIDTH + 6.0, LINE_WIDTH);
-       cairo_line_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_stroke (cr);
-
-       /* this should draw a single degenerate sub-path
-        * at the end of the path. The difference between this
-        * and the above is that this ends with a degenerate sub-path*/
-       cairo_set_dash (cr, dash_long, 2, 6.);
-
-       cairo_translate (cr, 0, 3*PAD);
-       cairo_move_to (cr, LINE_WIDTH + 6.0, LINE_WIDTH);
-       cairo_line_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_line_to (cr, LINE_WIDTH, LINE_WIDTH);
-       cairo_stroke (cr);
-
-       cairo_restore (cr);
-
-       cairo_translate (cr, PAD+LINE_WIDTH+PAD, 0);
-    }
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (degenerate_path,
-           "Tests the behaviour of degenerate paths with different cap types",
-           "degenerate", /* keywords */
-           NULL, /* requirements */
-           3*(PAD+LINE_WIDTH+PAD), 8*(LINE_WIDTH+PAD) + PAD,
-           NULL, draw)
diff --git a/test/degenerate-pen.c b/test/degenerate-pen.c
deleted file mode 100644 (file)
index ec8bd19..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE   20
-#define PAD    5
-#define WIDTH  (PAD + 3 * (PAD + SIZE) + PAD)
-#define HEIGHT (PAD + SIZE + PAD)
-
-/* We're demonstrating here a bug originally reported by Benjamin Otte
- * on the cairo mailing list here, (after he ran into this problem
- * with various flash animations):
- *
- *     [cairo] Assertion `i < pen->num_vertices' failed in 1.4.10
- *     http://lists.cairographics.org/archives/cairo/2007-August/011282.html
- *
- * The problem shows up with an extreme transformation matrix that
- * collapses the pen to a single line, (which means that
- * _cairo_slope_compare cannot handle adjacent vertices in the pen
- * since they have parallel slope).
- *
- * This test case tests degenerate pens in several directions and uses
- * round caps to force the stroking code to attempt to walk around the
- * pen doing slope comparisons.
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-
-    cairo_translate (cr, PAD, PAD);
-
-    /* First compress the pen to a vertical line. */
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_curve_to (cr, SIZE / 2, 0, SIZE, SIZE / 2, SIZE, SIZE);
-    cairo_save (cr);
-    {
-       cairo_scale (cr, 0.000001, 1.0);
-       cairo_stroke (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_translate (cr, PAD + SIZE, 0);
-
-    /* Then compress the pen to a horizontal line. */
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_curve_to (cr, SIZE / 2, 0, SIZE, SIZE / 2, SIZE, SIZE);
-    cairo_save (cr);
-    {
-       cairo_scale (cr, 1.0, 0.000001);
-       cairo_stroke (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_translate (cr, PAD + SIZE, 0);
-
-    /* Finally a line at an angle. */
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_curve_to (cr, SIZE / 2, 0, SIZE, SIZE / 2, SIZE, SIZE);
-    cairo_save (cr);
-    {
-       cairo_rotate (cr, M_PI / 4.0);
-       cairo_scale (cr, 0.000001, 1.0);
-       cairo_stroke (cr);
-    }
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (degenerate_pen,
-           "Test round joins with a pen that's transformed to a line",
-           "degenerate", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/degenerate-radial-gradient.c b/test/degenerate-radial-gradient.c
deleted file mode 100644 (file)
index 1466645..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2010 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define NUM_EXTEND 4
-#define HEIGHT 32
-#define WIDTH 32
-#define PAD 6
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    unsigned int i, j;
-
-    cairo_extend_t extend[NUM_EXTEND] = {
-       CAIRO_EXTEND_NONE,
-       CAIRO_EXTEND_REPEAT,
-       CAIRO_EXTEND_REFLECT,
-       CAIRO_EXTEND_PAD
-    };
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    for (i = 0; i < 3; i++) {
-        cairo_save (cr);
-       
-       for (j = 0; j < NUM_EXTEND; j++) {
-           cairo_reset_clip (cr);
-           cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-           cairo_clip (cr);
-
-           if (i == 0)
-               pattern = cairo_pattern_create_radial (WIDTH/2, HEIGHT/2, 0, WIDTH/2, HEIGHT/2, 0);
-           else if (i == 1)
-               pattern = cairo_pattern_create_radial (WIDTH/2, HEIGHT/2, 2*PAD, WIDTH/2, HEIGHT/2, 2*PAD);
-           else if (i == 2)
-               pattern = cairo_pattern_create_radial (PAD, PAD, 0, WIDTH-PAD, HEIGHT-PAD, 0);
-
-           cairo_pattern_add_color_stop_rgba (pattern, 0, 1, 0, 0, 1);
-           cairo_pattern_add_color_stop_rgba (pattern, sqrt (1.0 / 2.0), 0, 1, 0, 0);
-           cairo_pattern_add_color_stop_rgba (pattern, 1, 0, 0, 1, 0.5);
-
-           cairo_pattern_set_extend (pattern, extend[j]);
-
-           cairo_set_source (cr, pattern);
-           cairo_paint (cr);
-
-           cairo_pattern_destroy (pattern);
-
-           cairo_translate (cr, WIDTH+PAD, 0);
-       }
-
-       cairo_restore (cr);
-       cairo_translate (cr, 0, HEIGHT+PAD);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (degenerate_radial_gradient,
-           "Tests degenerate radial gradients",
-           "radial, pattern, extend", /* keywords */
-           NULL, /* requirements */
-           (WIDTH+PAD) * NUM_EXTEND + PAD, 3*(HEIGHT + PAD) + PAD,
-           NULL, draw)
diff --git a/test/degenerate-rel-curve-to.c b/test/degenerate-rel-curve-to.c
deleted file mode 100644 (file)
index d7c0523..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 30
-
-/* Another attempt at avoiding unnecessary splines was made, where
- * a curve-to that ended on the same point as it began were discarded.
- * The same bug was made to rel-curve-to as well, hence this test.
- */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-
-    /* entirely degenerate */
-    cairo_move_to (cr, 2.5, 2.5);
-    cairo_rel_curve_to (cr,
-                       0., 0.,
-                       0., 0.,
-                       0., 0.);
-    cairo_stroke (cr);
-
-    /* horizontal */
-    cairo_move_to (cr, 5.5, 2.5);
-    cairo_rel_curve_to (cr,
-                        10., 0.,
-                       -10., 0.,
-                        0., 0.);
-    cairo_stroke (cr);
-
-    /* vertical */
-    cairo_move_to (cr, 5.5, 2.5);
-    cairo_rel_curve_to (cr,
-                       0.,  10.,
-                       0., -10.,
-                       0.,   0.);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 15, 0);
-
-    /* horizontal/vertical */
-    cairo_move_to (cr, 5.5, 0.5);
-    cairo_rel_curve_to (cr,
-                       -6.,  0.,
-                        0., 10.,
-                        0.,  0.);
-
-    cairo_translate (cr, 10, 0);
-
-    /* vertical/horizontal */
-    cairo_move_to (cr, 5.5, 0.0);
-    cairo_rel_curve_to (cr,
-                       0., 11.,
-                       5.,  0.,
-                       0.,  0.);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (degenerate_rel_curve_to,
-           "Test optimization treating degenerate rel-curve-to as line-to",
-           "path", /* keywords */
-           NULL, /* requirements */
-           40,
-           5,
-           NULL, draw)
diff --git a/test/degenerate-solid-dash.c b/test/degenerate-solid-dash.c
deleted file mode 100644 (file)
index 293a808..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright © 2012 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const double dashes_1[] = { 10, 0 };
-    const double dashes_2[] = { 10, 0, 10, 10};
-    const double dashes_3[] = { 10, 0, 10, 0};
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_set_line_width (cr, 6);
-
-    cairo_set_dash (cr, NULL, 0, 0);
-    cairo_rectangle (cr, 10, 10, 30, 30);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 50, 0);
-    cairo_set_dash (cr, dashes_1, 2, 0);
-    cairo_rectangle (cr, 10, 10, 30, 30);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 0, 50);
-    cairo_set_dash (cr, dashes_2, 4, 0);
-    cairo_rectangle (cr, 10, 10, 30, 30);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, -50, 0);
-    cairo_set_dash (cr, dashes_3, 4, 0);
-    cairo_rectangle (cr, 10, 10, 30, 30);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (degenerate_solid_dash,
-           "Exercises degenerate dash ellison",
-           "stroke, dash", /* keywords */
-           NULL, /* requirements */
-           100, 100,
-           NULL, draw)
diff --git a/test/device-offset-fractional.c b/test/device-offset-fractional.c
deleted file mode 100644 (file)
index adc2116..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 10
-#define PAD 4
-#define COUNT 4
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr2;
-    int i,j;
-
-    /* Fill the background */
-    cairo_set_source_rgb (cr, 1, 1, 1); /* white */
-    cairo_paint (cr);
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, SIZE, SIZE);
-    cr2 = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr2, 0, 0, 1); /* blue */
-    cairo_paint (cr2);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    for (i = 0; i < COUNT; i++) {
-       for (j = 0; j < COUNT; j++) {
-           cairo_surface_set_device_offset (surface,
-                                            -i*(SIZE+PAD+.5)-PAD,
-                                            -j*(SIZE+PAD+.5)-PAD);
-           cairo_paint (cr);
-       }
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (device_offset_fractional,
-           "Test using image surfaces with fractional device-offsets as sources.",
-           "device-offset", /* keywords */
-           NULL, /* requirements */
-           COUNT*(SIZE+PAD+.5)+PAD, COUNT*(SIZE+PAD+.5)+PAD,
-           NULL, draw)
diff --git a/test/device-offset-positive.c b/test/device-offset-positive.c
deleted file mode 100644 (file)
index 5afe973..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-#include <stddef.h>
-
-#define SIZE 10
-#define PAD 2
-
-static void
-draw_square (cairo_t *cr)
-{
-    cairo_rectangle (cr,
-                    PAD, PAD,
-                    SIZE - 2 * PAD,
-                    SIZE - 2 * PAD);
-    cairo_fill (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface, *target;
-    cairo_t *cr2;
-
-    /* First draw a shape in blue on the original destination. */
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    draw_square (cr);
-
-    /* Then, create an offset surface and repeat the drawing in red. */
-    target = cairo_get_group_target (cr);
-    surface = cairo_surface_create_similar (target,
-                                           cairo_surface_get_content (target),
-                                           SIZE / 2, SIZE / 2);
-    cr2 = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr2, 1, 0, 0); /* red */
-    draw_square (cr2);
-
-    /* Finally, copy the offset surface to the original destination.
-     * The final result should be a blue square with the upper-left
-     * quarter red. */
-    surface = cairo_surface_reference (cairo_get_target (cr2));
-    cairo_destroy (cr2);
-    cairo_surface_set_device_offset (surface, + SIZE / 2, + SIZE / 2);
-    cairo_set_source_surface (cr, surface, SIZE / 2, SIZE / 2);
-    cairo_surface_destroy (surface);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (device_offset_positive,
-           "Simple test using a surface with a positive device-offset as a source.",
-           "device-offset", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/device-offset-scale.c b/test/device-offset-scale.c
deleted file mode 100644 (file)
index 3df3d38..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright © 2008 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Michael Ventnor, Jeff Muizelaar
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 20
-#define HEIGHT 20
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *second;
-    cairo_t *second_cr;
-
-    /* fill with black so we don't need an rgb test case */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    cairo_scale (cr, 0.5, 0.5);
-
-    /* draw the first rectangle */
-    cairo_set_source_rgb (cr, 0, 0, 0.4);
-    cairo_rectangle (cr, 6, 6, 10, 10);
-    cairo_fill (cr);
-
-    /* adjust the offset so that the second rectangle will fit on the surface */
-    second = cairo_image_surface_create (CAIRO_FORMAT_A8, 10, 10);
-    cairo_surface_set_device_offset (second, -6, -6);
-
-    /* draw the second rectangle:
-     * this rectangle should end up in the same place as the rectangle above
-     * independent of the device offset of the surface it is painted on*/
-    second_cr = cairo_create (second);
-    cairo_surface_destroy (second);
-    cairo_rectangle (second_cr, 6, 6, 10, 10);
-    cairo_fill (second_cr);
-
-    /* paint the second rectangle on top of the first rectangle */
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0);
-    cairo_mask_surface (cr, cairo_get_target (second_cr), 0, 0);
-    cairo_destroy (second_cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (device_offset_scale,
-           "Test that the device-offset transform is transformed by the ctm.",
-           "device-offset", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/device-offset.c b/test/device-offset.c
deleted file mode 100644 (file)
index 1bf5283..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-#include <stddef.h>
-
-#define SIZE 10
-#define PAD 2
-
-static void
-draw_square (cairo_t *cr)
-{
-    cairo_rectangle (cr,
-                    PAD, PAD,
-                    SIZE - 2 * PAD,
-                    SIZE - 2 * PAD);
-    cairo_fill (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface, *target;
-    cairo_t *cr2;
-
-    /* First draw a shape in blue on the original destination. */
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    draw_square (cr);
-
-    /* Then, create an offset surface and repeat the drawing in red. */
-    target = cairo_get_group_target (cr);
-    surface = cairo_surface_create_similar (target,
-                                           cairo_surface_get_content (target),
-                                           SIZE / 2, SIZE / 2);
-    cairo_surface_set_device_offset (surface, - SIZE / 2, - SIZE / 2);
-    cr2 = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr2, 1, 0, 0); /* red */
-    draw_square (cr2);
-
-
-    /* Finally, copy the offset surface to the original destination.
-    * The final result should be a blue square with the lower-right
-    * quarter red. */
-    cairo_set_source_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    cairo_paint (cr);
-
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (device_offset,
-           "Simple test using a surface with a negative device-offset as a source.",
-           "device-offset", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/drunkard-tails.c b/test/drunkard-tails.c
deleted file mode 100644 (file)
index 3d3e09a..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     10.
-#define SIZE           (5 * LINE_WIDTH)
-#define PAD            (3 * LINE_WIDTH)
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static void
-make_path (cairo_t *cr)
-{
-    int i;
-
-    state = 0xdeadbeef;
-
-    cairo_move_to (cr, SIZE/2, SIZE/2);
-    for (i = 0; i < 200; i++) {
-       double theta = uniform_random (-M_PI, M_PI);
-       cairo_rel_line_to (cr,
-                          cos (theta) * LINE_WIDTH / 4,
-                          sin (theta) * LINE_WIDTH / 4);
-    }
-}
-
-static void
-draw_caps_joins (cairo_t *cr)
-{
-    cairo_save (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    cairo_reset_clip (cr);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_clip (cr);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    cairo_reset_clip (cr);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_clip (cr);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    cairo_reset_clip (cr);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_clip (cr);
-
-    make_path (cr);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_stroke (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    draw_caps_joins (cr);
-
-    cairo_save (cr);
-    /* and reflect to generate the opposite vertex ordering */
-    cairo_translate (cr, 0, height);
-    cairo_scale (cr, 1, -1);
-
-    draw_caps_joins (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, 0, SIZE + PAD);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (drunkard_tails,
-           "Test caps and joins on short tail segments",
-           "stroke cap join", /* keywords */
-           NULL, /* requirements */
-           3 * (PAD + SIZE) + PAD,
-           2 * (PAD + SIZE) + PAD,
-           NULL, draw)
-
diff --git a/test/error-setters.c b/test/error-setters.c
deleted file mode 100644 (file)
index ff65ad4..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright © 2010 Red Hat Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Benjamin Otte <otte@redhat.com>
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <limits.h>
-
-#include "cairo-test.h"
-
-#if CAIRO_HAS_GL_SURFACE
-#include <cairo-gl.h>
-#endif
-#if CAIRO_HAS_OS2_SURFACE
-#include <cairo-os2.h>
-#endif
-#if CAIRO_HAS_PDF_SURFACE
-#include <cairo-pdf.h>
-#endif
-#if CAIRO_HAS_PS_SURFACE
-#include <cairo-ps.h>
-#endif
-#if CAIRO_HAS_XCB_SURFACE
-#include <cairo-xcb.h>
-#endif
-#if CAIRO_HAS_XLIB_SURFACE
-#include <cairo-xlib.h>
-#endif
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_surface_t *surface;
-
-    /* get the error surface */
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, INT_MAX, INT_MAX);
-
-#if CAIRO_HAS_GL_SURFACE
-    cairo_gl_surface_set_size (surface, 0, 0);
-    cairo_gl_surface_swapbuffers (surface);
-#endif
-
-#if CAIRO_HAS_OS2_SURFACE
-    cairo_os2_surface_set_hwnd (surface, 0);
-    cairo_os2_surface_set_size (surface, 0, 0, 0);
-    cairo_os2_surface_set_manual_window_refresh (surface, FALSE);
-#endif
-
-#if CAIRO_HAS_PDF_SURFACE
-    cairo_pdf_surface_restrict_to_version (surface, CAIRO_PDF_VERSION_1_4);
-    cairo_pdf_surface_set_size (surface, 0, 0);
-#endif
-
-#if CAIRO_HAS_PS_SURFACE
-    cairo_ps_surface_set_eps (surface, FALSE);
-    cairo_ps_surface_set_size (surface, 0, 0);
-    cairo_ps_surface_restrict_to_level (surface, CAIRO_PS_LEVEL_2);
-    cairo_ps_surface_dsc_comment (surface, NULL);
-    cairo_ps_surface_dsc_begin_setup (surface);
-    cairo_ps_surface_dsc_begin_page_setup (surface);
-#endif
-
-#if CAIRO_HAS_XCB_SURFACE
-    cairo_xcb_surface_set_size (surface, 0, 0);
-#endif
-
-#if CAIRO_HAS_XLIB_SURFACE
-    cairo_xlib_surface_set_size (surface, 0, 0);
-    cairo_xlib_surface_set_drawable (surface, 0, 0, 0);
-#endif
-
-    cairo_surface_set_mime_data (surface, NULL, NULL, 0, NULL, 0);
-    cairo_surface_set_device_offset (surface, 0, 0);
-    cairo_surface_set_fallback_resolution (surface, 0, 0);
-
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (error_setters,
-           "Check setters properly error out on read-only error surfaces",
-           NULL, /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/extend-pad-border.c b/test/extend-pad-border.c
deleted file mode 100644 (file)
index de8105c..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Behdad Esfahbod <behdad@behdad.org>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 90
-
-/* Check the border-pixels of an EXTEND_PAD image pattern */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t * cr_surface;
-    int surface_size = (SIZE - 30) / 10;
-
-    cairo_set_source_rgba (cr, 0, 0, 0, 1);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_fill (cr);
-
-    /* Create an image surface with my favorite four colors in each
-     * quadrant. */
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
-                                         surface_size, surface_size);
-    cr_surface = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr_surface, 1, 1, 1);
-    cairo_rectangle (cr_surface,
-                    0, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 1, 0, 0);
-    cairo_rectangle (cr_surface,
-                    surface_size / 2, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 0, 1, 0);
-    cairo_rectangle (cr_surface,
-                    0, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 0, 0, 1);
-    cairo_rectangle (cr_surface,
-                    surface_size / 2, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-
-    cairo_scale (cr, 10, 10);
-    cairo_set_source_surface (cr, cairo_get_target (cr_surface), 1.5, 1.5);
-    cairo_destroy (cr_surface);
-
-    /* Using EXTEND_REFLECT makes this test pass for image and xlib backends */
-    /*cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REFLECT);*/
-
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_PAD);
-    cairo_rectangle (cr, 1.5, 1.5, 6, 6);
-    cairo_clip (cr);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (extend_pad_border,
-           "Test CAIRO_EXTEND_PAD for surface patterns",
-           "extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/extend-pad-similar.c b/test/extend-pad-similar.c
deleted file mode 100644 (file)
index 357252a..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Behdad Esfahbod <behdad@behdad.org>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 90
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr_surface;
-
-    /* Create a 4-pixel similar surface with my favorite four colors in each
-     * quadrant. */
-    surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                           CAIRO_CONTENT_COLOR, 2, 2);
-    cr_surface = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    /* upper-left = white */
-    cairo_set_source_rgb (cr_surface, 1, 1, 1);
-    cairo_rectangle (cr_surface, 0, 0, 1, 1);
-    cairo_fill (cr_surface);
-
-    /* upper-right = red */
-    cairo_set_source_rgb (cr_surface, 1, 0, 0);
-    cairo_rectangle (cr_surface, 1, 0, 1, 1);
-    cairo_fill (cr_surface);
-
-    /* lower-left = green */
-    cairo_set_source_rgb (cr_surface, 0, 1, 0);
-    cairo_rectangle (cr_surface, 0, 1, 1, 1);
-    cairo_fill (cr_surface);
-
-    /* lower-right = blue */
-    cairo_set_source_rgb (cr_surface, 0, 0, 1);
-    cairo_rectangle (cr_surface, 1, 1, 1, 1);
-    cairo_fill (cr_surface);
-
-    /* Now use extend pad to cover the entire surface with those 4 colors */
-    cairo_set_source_surface (cr, cairo_get_target (cr_surface),
-                             width/2  - 1,
-                             height/2 - 1);
-    cairo_destroy (cr_surface);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_PAD);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (extend_pad_similar,
-           "Test CAIRO_EXTEND_PAD for similar surface patterns",
-           "extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/extend-pad.c b/test/extend-pad.c
deleted file mode 100644 (file)
index 15a2079..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Behdad Esfahbod <behdad@behdad.org>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 90
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr_surface;
-
-    /* Create a 4-pixel image surface with my favorite four colors in each
-     * quadrant. */
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, 2, 2);
-    cr_surface = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    /* upper-left = white */
-    cairo_set_source_rgb (cr_surface, 1, 1, 1);
-    cairo_rectangle (cr_surface, 0, 0, 1, 1);
-    cairo_fill (cr_surface);
-
-    /* upper-right = red */
-    cairo_set_source_rgb (cr_surface, 1, 0, 0);
-    cairo_rectangle (cr_surface, 1, 0, 1, 1);
-    cairo_fill (cr_surface);
-
-    /* lower-left = green */
-    cairo_set_source_rgb (cr_surface, 0, 1, 0);
-    cairo_rectangle (cr_surface, 0, 1, 1, 1);
-    cairo_fill (cr_surface);
-
-    /* lower-right = blue */
-    cairo_set_source_rgb (cr_surface, 0, 0, 1);
-    cairo_rectangle (cr_surface, 1, 1, 1, 1);
-    cairo_fill (cr_surface);
-
-    /* Now use extend pad to cover the entire surface with those 4 colors */
-    cairo_set_source_surface (cr, cairo_get_target (cr_surface),
-                             width/2  - 1,
-                             height/2 - 1);
-    cairo_destroy (cr_surface);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_PAD);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (extend_pad,
-           "Test CAIRO_EXTEND_PAD for surface patterns",
-           "extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/extend-reflect-similar.c b/test/extend-reflect-similar.c
deleted file mode 100644 (file)
index fa376a7..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#include "cairo-test.h"
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_surface_t *
-clone_similar_surface (cairo_surface_t * target, cairo_surface_t *surface)
-{
-    cairo_t *cr;
-    cairo_surface_t *similar;
-
-    similar = cairo_surface_create_similar (target,
-                                     cairo_surface_get_content (surface),
-                                     cairo_image_surface_get_width (surface),
-                                     cairo_image_surface_get_height (surface));
-    cr = cairo_create (similar);
-    cairo_surface_destroy (similar);
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-    similar = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return similar;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *surface;
-    cairo_surface_t *similar;
-
-    surface = cairo_test_create_surface_from_png (ctx, png_filename);
-    similar = clone_similar_surface (cairo_get_group_target (cr), surface);
-    cairo_set_source_surface (cr, similar, 32, 32);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REFLECT);
-
-    cairo_paint (cr);
-
-    cairo_surface_destroy (similar);
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (extend_reflect_similar,
-           "Test CAIRO_EXTEND_REFLECT for surface patterns",
-           "extend", /* keywords */
-           NULL, /* requirements */
-           256 + 32*2, 192 + 32*2,
-           NULL, draw)
diff --git a/test/extend-reflect.c b/test/extend-reflect.c
deleted file mode 100644 (file)
index 16b08c1..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *surface;
-
-    surface = cairo_test_create_surface_from_png (ctx, png_filename);
-    cairo_set_source_surface (cr, surface, 32, 32);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REFLECT);
-
-    cairo_paint (cr);
-
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (extend_reflect,
-           "Test CAIRO_EXTEND_REFLECT for surface patterns",
-           "extend", /* keywords */
-           NULL, /* requirements */
-           256 + 32*2, 192 + 32*2,
-           NULL, draw)
diff --git a/test/extend-repeat-similar.c b/test/extend-repeat-similar.c
deleted file mode 100644 (file)
index 08cfd29..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#include "cairo-test.h"
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_surface_t *
-clone_similar_surface (cairo_surface_t * target, cairo_surface_t *surface)
-{
-    cairo_t *cr;
-    cairo_surface_t *similar;
-
-    similar = cairo_surface_create_similar (target,
-                                     cairo_surface_get_content (surface),
-                                     cairo_image_surface_get_width (surface),
-                                     cairo_image_surface_get_height (surface));
-    cr = cairo_create (similar);
-    cairo_surface_destroy (similar);
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-    similar = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return similar;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *surface;
-    cairo_surface_t *similar;
-
-    surface = cairo_test_create_surface_from_png (ctx, png_filename);
-    similar = clone_similar_surface (cairo_get_group_target (cr), surface);
-    cairo_set_source_surface (cr, similar, 32, 32);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-
-    cairo_paint (cr);
-
-    cairo_surface_destroy (similar);
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (extend_repeat_similar,
-           "Test CAIRO_EXTEND_REPEAT for surface patterns",
-           "extend", /* keywords */
-           NULL, /* requirements */
-           256 + 32*2, 192 + 32*2,
-           NULL, draw)
diff --git a/test/extend-repeat.c b/test/extend-repeat.c
deleted file mode 100644 (file)
index e6c0bcc..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#include "cairo-test.h"
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *surface;
-
-    surface = cairo_test_create_surface_from_png (ctx, png_filename);
-    cairo_set_source_surface (cr, surface, 32, 32);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-
-    cairo_paint (cr);
-
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (extend_repeat,
-           "Test CAIRO_EXTEND_REPEAT for surface patterns",
-           "extend", /* keywords */
-           NULL, /* requirements */
-           256 + 32*2, 192 + 32*2,
-           NULL, draw)
diff --git a/test/extended-blend.c b/test/extended-blend.c
deleted file mode 100644 (file)
index a45ddc9..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2007 Emmanuel Pacaud
- * Copyright © 2008 Benjamin Otte
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Owen Taylor <otaylor@redhat.com>
- *          Kristian Høgsberg <krh@redhat.com>
- *          Emmanuel Pacaud <emmanuel.pacaud@lapp.in2p3.fr>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define STEPS 16
-#define START_OPERATOR CAIRO_OPERATOR_MULTIPLY
-#define STOP_OPERATOR  CAIRO_OPERATOR_HSL_LUMINOSITY
-
-#define SIZE 5
-#define COUNT 4
-#define FULL_WIDTH  ((STEPS + 1) * COUNT - 1)
-#define FULL_HEIGHT ((COUNT + STOP_OPERATOR - START_OPERATOR) / COUNT) * (STEPS + 1)
-
-static void
-set_solid_pattern (cairo_t *cr,
-                  int step,
-                  cairo_bool_t bg,
-                  cairo_bool_t alpha)
-{
-    double c, a;
-
-    a = ((double) step) / (STEPS - 1);
-    if (alpha) {
-       c = 1;
-    } else {
-       c = a;
-       a = 1;
-    }
-
-    if (bg) /* draw a yellow background fading in using discrete steps */
-       cairo_set_source_rgba (cr, c, c, 0, a);
-    else /* draw a teal foreground pattern fading in using discrete steps */
-       cairo_set_source_rgba (cr, 0, c, c, a);
-}
-
-/* expects a STEP*STEP pixel rectangle */
-static void
-do_blend_solid (cairo_t *cr, cairo_operator_t op, cairo_bool_t alpha)
-{
-    int x;
-
-    cairo_save (cr);
-    cairo_scale (cr, SIZE, SIZE);
-
-    /* not using CAIRO_OPERATOR_SOURCE here, it triggers a librsvg bug */
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    for (x = 0; x < STEPS; x++) {
-       /* draw the background using discrete steps */
-       set_solid_pattern (cr, x, TRUE, alpha);
-       cairo_rectangle (cr, x, 0, 1, STEPS);
-       cairo_fill (cr);
-    }
-
-    cairo_set_operator (cr, op);
-    for (x = 0; x < STEPS; x++) {
-       /* draw an orthogonal foreground pattern using discrete steps */
-       set_solid_pattern (cr, x, FALSE, alpha);
-       cairo_rectangle (cr, 0, x, STEPS, 1);
-       cairo_fill (cr);
-    }
-
-    cairo_restore (cr);
-}
-
-static void
-create_patterns (cairo_t *cr,
-                cairo_surface_t **bg,
-                cairo_surface_t **fg,
-                cairo_bool_t alpha)
-{
-    cairo_t *bgcr, *fgcr;
-
-    *bg = cairo_surface_create_similar (cairo_get_target (cr),
-                                       CAIRO_CONTENT_COLOR_ALPHA,
-                                       SIZE * STEPS,
-                                       SIZE * STEPS);
-    *fg = cairo_surface_create_similar (cairo_get_target (cr),
-                                       CAIRO_CONTENT_COLOR_ALPHA,
-                                       SIZE * STEPS,
-                                       SIZE * STEPS);
-
-    bgcr = cairo_create (*bg);
-    fgcr = cairo_create (*fg);
-
-    do_blend_solid (bgcr, CAIRO_OPERATOR_DEST, alpha);
-    do_blend_solid (fgcr, CAIRO_OPERATOR_SOURCE, alpha);
-
-    cairo_destroy (bgcr);
-    cairo_destroy (fgcr);
-}
-
-/* expects a STEP*STEP pixel rectangle */
-static void
-do_blend (cairo_t *cr, cairo_operator_t op, cairo_bool_t alpha)
-{
-    cairo_surface_t *bg, *fg;
-
-    create_patterns (cr, &bg, &fg, alpha);
-
-    /* not using CAIRO_OPERATOR_SOURCE here, it triggers a librsvg bug */
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_surface (cr, bg, 0, 0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, op);
-    cairo_set_source_surface (cr, fg, 0, 0);
-    cairo_paint (cr);
-
-    cairo_surface_destroy (fg);
-    cairo_surface_destroy (bg);
-}
-
-static void
-do_blend_mask (cairo_t *cr, cairo_operator_t op, cairo_bool_t alpha)
-{
-    cairo_surface_t *bg, *fg;
-
-    create_patterns (cr, &bg, &fg, alpha);
-
-    /* not using CAIRO_OPERATOR_SOURCE here, it triggers a librsvg bug */
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_surface (cr, bg, 0, 0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, op);
-    cairo_set_source_surface (cr, fg, 0, 0);
-    cairo_paint_with_alpha (cr, .5);
-
-    cairo_surface_destroy (fg);
-    cairo_surface_destroy (bg);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, cairo_bool_t alpha,
-      void (*blend)(cairo_t *, cairo_operator_t, cairo_bool_t))
-{
-    size_t i = 0;
-    cairo_operator_t op;
-
-    for (op = START_OPERATOR; op <= STOP_OPERATOR; op++, i++) {
-       cairo_save (cr);
-       cairo_translate (cr,
-               SIZE * (STEPS + 1) * (i % COUNT),
-               SIZE * (STEPS + 1) * (i / COUNT));
-       blend (cr, op, alpha);
-       cairo_restore (cr);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_extended_blend (cairo_t *cr, int width, int height)
-{
-    return draw (cr, FALSE, do_blend);
-}
-
-static cairo_test_status_t
-draw_extended_blend_alpha (cairo_t *cr, int width, int height)
-{
-    return draw (cr, TRUE, do_blend);
-}
-
-static cairo_test_status_t
-draw_extended_blend_solid (cairo_t *cr, int width, int height)
-{
-    return draw (cr, FALSE, do_blend_solid);
-}
-
-static cairo_test_status_t
-draw_extended_blend_solid_alpha (cairo_t *cr, int width, int height)
-{
-    return draw (cr, TRUE, do_blend_solid);
-}
-
-static cairo_test_status_t
-draw_extended_blend_mask (cairo_t *cr, int width, int height)
-{
-    return draw (cr, FALSE, do_blend_mask);
-}
-static cairo_test_status_t
-draw_extended_blend_alpha_mask (cairo_t *cr, int width, int height)
-{
-    return draw (cr, TRUE, do_blend_mask);
-}
-
-CAIRO_TEST (extended_blend,
-           "Tests extended blend modes without alpha",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           FULL_WIDTH * SIZE, FULL_HEIGHT * SIZE,
-           NULL, draw_extended_blend)
-
-CAIRO_TEST (extended_blend_alpha,
-           "Tests extended blend modes with alpha",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           FULL_WIDTH * SIZE, FULL_HEIGHT * SIZE,
-           NULL, draw_extended_blend_alpha)
-
-CAIRO_TEST (extended_blend_mask,
-           "Tests extended blend modes with an alpha mask",
-           "operator,mask", /* keywords */
-           NULL, /* requirements */
-           FULL_WIDTH * SIZE, FULL_HEIGHT * SIZE,
-           NULL, draw_extended_blend_mask)
-CAIRO_TEST (extended_blend_alpha_mask,
-           "Tests extended blend modes with an alpha mask",
-           "operator,mask", /* keywords */
-           NULL, /* requirements */
-           FULL_WIDTH * SIZE, FULL_HEIGHT * SIZE,
-           NULL, draw_extended_blend_alpha_mask)
-
-
-CAIRO_TEST (extended_blend_solid,
-           "Tests extended blend modes on solid patterns without alpha",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           FULL_WIDTH * SIZE, FULL_HEIGHT * SIZE,
-           NULL, draw_extended_blend_solid)
-
-CAIRO_TEST (extended_blend_solid_alpha,
-           "Tests extended blend modes on solid patterns with alpha",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           FULL_WIDTH * SIZE, FULL_HEIGHT * SIZE,
-           NULL, draw_extended_blend_solid_alpha)
diff --git a/test/fallback-resolution.c b/test/fallback-resolution.c
deleted file mode 100644 (file)
index bf83e31..0000000
+++ /dev/null
@@ -1,529 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <cairo.h>
-#include <cairo-pdf.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#include <errno.h>
-#endif
-#if HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-
-#include "cairo-test.h"
-#include "buffer-diff.h"
-
-/* This test exists to test cairo_surface_set_fallback_resolution
- *
- * <behdad> one more thing.
- *          if you can somehow incorporate cairo_show_page stuff in the
- *          test suite.  such that fallback-resolution can actually be
- *          automated..
- *          if we could get a callback on surface when that function is
- *          called, we could do cool stuff like making other backends
- *          draw a long strip of images, one for each page...
- */
-
-#define INCHES_TO_POINTS(in) ((in) * 72.0)
-#define SIZE INCHES_TO_POINTS(2)
-
-/* cairo_set_tolerance() is not respected by the PS/PDF backends currently */
-#define SET_TOLERANCE 0
-
-#define GENERATE_REFERENCE 0
-
-static void
-draw (cairo_t *cr, double width, double height)
-{
-    const char *text = "cairo";
-    cairo_text_extents_t extents;
-    const double dash[2] = { 8, 16 };
-    cairo_pattern_t *pattern;
-
-    cairo_save (cr);
-
-    cairo_new_path (cr);
-
-    cairo_set_line_width (cr, .05 * SIZE / 2.0);
-
-    cairo_arc (cr, SIZE / 2.0, SIZE / 2.0,
-              0.875 * SIZE / 2.0,
-              0, 2.0 * M_PI);
-    cairo_stroke (cr);
-
-    /* use dashes to demonstrate bugs:
-     *  https://bugs.freedesktop.org/show_bug.cgi?id=9189
-     *  https://bugs.freedesktop.org/show_bug.cgi?id=17223
-     */
-    cairo_save (cr);
-    cairo_set_dash (cr, dash, 2, 0);
-    cairo_arc (cr, SIZE / 2.0, SIZE / 2.0,
-              0.75 * SIZE / 2.0,
-              0, 2.0 * M_PI);
-    cairo_stroke (cr);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_rectangle (cr, 0, 0, SIZE/2, SIZE);
-    cairo_clip (cr);
-    cairo_arc (cr, SIZE / 2.0, SIZE / 2.0,
-              0.6 * SIZE / 2.0,
-              0, 2.0 * M_PI);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    /* use a pattern to exercise bug:
-     *   https://bugs.launchpad.net/inkscape/+bug/234546
-     */
-    cairo_save (cr);
-    cairo_rectangle (cr, SIZE/2, 0, SIZE/2, SIZE);
-    cairo_clip (cr);
-    pattern = cairo_pattern_create_linear (SIZE/2, 0, SIZE, 0);
-    cairo_pattern_add_color_stop_rgba (pattern, 0, 0, 0, 0, 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 1, 0, 0, 0, 0.);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-    cairo_arc (cr, SIZE / 2.0, SIZE / 2.0,
-              0.6 * SIZE / 2.0,
-              0, 2.0 * M_PI);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    cairo_set_source_rgb (cr, 1, 1, 1); /* white */
-    cairo_set_font_size (cr, .25 * SIZE / 2.0);
-    cairo_text_extents (cr, text, &extents);
-    cairo_move_to (cr, (SIZE-extents.width)/2.0-extents.x_bearing,
-                      (SIZE-extents.height)/2.0-extents.y_bearing);
-    cairo_show_text (cr, text);
-
-    cairo_restore (cr);
-}
-
-static void
-_xunlink (const cairo_test_context_t *ctx, const char *pathname)
-{
-    if (unlink (pathname) < 0 && errno != ENOENT) {
-       cairo_test_log (ctx, "Error: Cannot remove %s: %s\n",
-                       pathname, strerror (errno));
-       exit (1);
-    }
-}
-
-static cairo_bool_t
-check_result (cairo_test_context_t *ctx,
-             const cairo_boilerplate_target_t *target,
-             const char *test_name,
-             const char *base_name,
-             cairo_surface_t *surface)
-{
-    const char *format;
-    char *ref_name;
-    char *png_name;
-    char *diff_name;
-    cairo_surface_t *test_image, *ref_image, *diff_image;
-    buffer_diff_result_t result;
-    cairo_status_t status;
-    cairo_bool_t ret;
-
-    /* XXX log target, OUTPUT, REFERENCE, DIFFERENCE for index.html */
-
-    if (target->finish_surface != NULL) {
-       status = target->finish_surface (surface);
-       if (status) {
-           cairo_test_log (ctx, "Error: Failed to finish surface: %s\n",
-                   cairo_status_to_string (status));
-           cairo_surface_destroy (surface);
-           return FALSE;
-       }
-    }
-
-    xasprintf (&png_name,  "%s.out.png", base_name);
-    xasprintf (&diff_name, "%s.diff.png", base_name);
-
-    test_image = target->get_image_surface (surface, 0, SIZE, SIZE);
-    if (cairo_surface_status (test_image)) {
-       cairo_test_log (ctx, "Error: Failed to extract page: %s\n",
-                       cairo_status_to_string (cairo_surface_status (test_image)));
-       cairo_surface_destroy (test_image);
-       free (png_name);
-       free (diff_name);
-       return FALSE;
-    }
-
-    _xunlink (ctx, png_name);
-    status = cairo_surface_write_to_png (test_image, png_name);
-    if (status) {
-       cairo_test_log (ctx, "Error: Failed to write output image: %s\n",
-               cairo_status_to_string (status));
-       cairo_surface_destroy (test_image);
-       free (png_name);
-       free (diff_name);
-       return FALSE;
-    }
-
-    format = cairo_boilerplate_content_name (target->content);
-    ref_name = cairo_test_reference_filename (ctx,
-                                             base_name,
-                                             test_name,
-                                             target->name,
-                                             target->basename,
-                                             format,
-                                             CAIRO_TEST_REF_SUFFIX,
-                                             CAIRO_TEST_PNG_EXTENSION);
-    if (ref_name == NULL) {
-       cairo_test_log (ctx, "Error: Cannot find reference image for %s\n",
-                       base_name);
-       cairo_surface_destroy (test_image);
-       free (png_name);
-       free (diff_name);
-       return FALSE;
-    }
-
-
-    ref_image = cairo_test_get_reference_image (ctx, ref_name,
-           target->content == CAIRO_TEST_CONTENT_COLOR_ALPHA_FLATTENED);
-    if (cairo_surface_status (ref_image)) {
-       cairo_test_log (ctx, "Error: Cannot open reference image for %s: %s\n",
-                       ref_name,
-               cairo_status_to_string (cairo_surface_status (ref_image)));
-       cairo_surface_destroy (ref_image);
-       cairo_surface_destroy (test_image);
-       free (png_name);
-       free (diff_name);
-       free (ref_name);
-       return FALSE;
-    }
-
-    diff_image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-           SIZE, SIZE);
-
-    ret = TRUE;
-    status = image_diff (ctx,
-           test_image, ref_image, diff_image,
-           &result);
-    _xunlink (ctx, diff_name);
-    if (status) {
-       cairo_test_log (ctx, "Error: Failed to compare images: %s\n",
-                       cairo_status_to_string (status));
-       ret = FALSE;
-    } else if (image_diff_is_failure (&result, target->error_tolerance))
-    {
-       ret = FALSE;
-
-       status = cairo_surface_write_to_png (diff_image, diff_name);
-       if (status) {
-           cairo_test_log (ctx, "Error: Failed to write differences image: %s\n",
-                   cairo_status_to_string (status));
-       }
-    }
-
-    cairo_surface_destroy (test_image);
-    cairo_surface_destroy (diff_image);
-    free (png_name);
-    free (diff_name);
-    free (ref_name);
-
-    return ret;
-}
-
-#if GENERATE_REFERENCE
-static void
-generate_reference (double ppi_x, double ppi_y, const char *filename)
-{
-    cairo_surface_t *surface, *target;
-    cairo_t *cr;
-    cairo_status_t status;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
-                                         SIZE*ppi_x/72, SIZE*ppi_y/72);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    /* As we wish to mimic a PDF surface, copy across the default font options
-     * from the PDF backend.
-     */
-    {
-       cairo_surface_t *pdf;
-       cairo_font_options_t *options;
-
-       options = cairo_font_options_create ();
-
-       pdf = cairo_pdf_surface_create ("tmp.pdf", 1, 1);
-       cairo_surface_get_font_options (pdf, options);
-       cairo_surface_destroy (pdf);
-
-       cairo_set_font_options (cr, options);
-       cairo_font_options_destroy (options);
-    }
-
-#if SET_TOLERANCE
-    cairo_set_tolerance (cr, 3.0);
-#endif
-
-    cairo_save (cr); {
-       cairo_set_source_rgb (cr, 1, 1, 1);
-       cairo_paint (cr);
-    } cairo_restore (cr);
-
-    cairo_scale (cr, ppi_x/72., ppi_y/72.);
-    draw (cr, SIZE, SIZE);
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    target = cairo_image_surface_create (CAIRO_FORMAT_RGB24, SIZE, SIZE);
-    cr = cairo_create (target);
-    cairo_scale (cr, 72./ppi_x, 72./ppi_y);
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_paint (cr);
-
-    status = cairo_surface_write_to_png (cairo_get_target (cr), filename);
-    cairo_destroy (cr);
-
-    if (status) {
-       fprintf (stderr, "Failed to generate reference image '%s': %s\n",
-                filename, cairo_status_to_string (status));
-       exit (1);
-    }
-}
-#endif
-
-static cairo_bool_t
-_cairo_test_mkdir (const char *path)
-{
-#if ! HAVE_MKDIR
-    return FALSE;
-#elif HAVE_MKDIR == 1
-    if (mkdir (path) == 0)
-       return TRUE;
-#elif HAVE_MKDIR == 2
-    if (mkdir (path, 0770) == 0)
-       return TRUE;
-#else
-#error Bad value for HAVE_MKDIR
-#endif
-
-    return errno == EEXIST;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_t *cr;
-    cairo_test_status_t ret = CAIRO_TEST_UNTESTED;
-    struct {
-       double x, y;
-    } ppi[] = {
-       { 576, 576 },
-       { 576, 72 },
-
-       { 288, 288 },
-       { 288, 72 },
-
-       { 144, 144 },
-       { 144, 72 },
-
-       { 72, 576 },
-       { 72, 288 },
-       { 72, 144 },
-       { 72, 72 },
-    };
-    unsigned int i;
-    int n, num_ppi;
-    const char *path = _cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
-
-    num_ppi = ARRAY_LENGTH (ppi);
-
-#if GENERATE_REFERENCE
-    for (n = 0; n < num_ppi; n++) {
-       char *ref_name;
-       xasprintf (&ref_name, "reference/fallback-resolution.ppi%gx%g.ref.png",
-                  ppi[n].x, ppi[n].y);
-       generate_reference (ppi[n].x, ppi[n].y, ref_name);
-       free (ref_name);
-    }
-#endif
-
-    for (i = 0; i < ctx->num_targets; i++) {
-       const cairo_boilerplate_target_t *target = ctx->targets_to_test[i];
-       cairo_surface_t *surface = NULL;
-       char *base_name;
-       void *closure;
-       const char *format;
-       cairo_status_t status;
-
-       if (! target->is_vector)
-           continue;
-
-       if (! cairo_test_is_target_enabled (ctx, target->name))
-           continue;
-
-       format = cairo_boilerplate_content_name (target->content);
-       xasprintf (&base_name, "%s/fallback-resolution.%s.%s",
-                  path, target->name,
-                  format);
-
-       surface = (target->create_surface) (base_name,
-                                           target->content,
-                                           SIZE, SIZE,
-                                           SIZE, SIZE,
-                                           CAIRO_BOILERPLATE_MODE_TEST,
-                                           &closure);
-
-       if (surface == NULL) {
-           free (base_name);
-           continue;
-       }
-
-       if (ret == CAIRO_TEST_UNTESTED)
-           ret = CAIRO_TEST_SUCCESS;
-
-       cairo_surface_destroy (surface);
-       if (target->cleanup)
-           target->cleanup (closure);
-       free (base_name);
-
-       /* we need to recreate the surface for each resolution as we include
-        * SVG in testing which does not support the paginated interface.
-        */
-       for (n = 0; n < num_ppi; n++) {
-           char *test_name;
-           cairo_bool_t pass;
-
-           xasprintf (&test_name, "fallback-resolution.ppi%gx%g",
-                      ppi[n].x, ppi[n].y);
-           xasprintf (&base_name, "%s/%s.%s.%s",
-                      path, test_name,
-                      target->name,
-                      format);
-
-           surface = (target->create_surface) (base_name,
-                                               target->content,
-                                               SIZE + 25, SIZE + 25,
-                                               SIZE + 25, SIZE + 25,
-                                               CAIRO_BOILERPLATE_MODE_TEST,
-                                               &closure);
-           if (surface == NULL || cairo_surface_status (surface)) {
-               cairo_test_log (ctx, "Failed to generate surface: %s.%s\n",
-                               target->name,
-                               format);
-               free (base_name);
-               free (test_name);
-               ret = CAIRO_TEST_FAILURE;
-               continue;
-           }
-
-           cairo_test_log (ctx,
-                           "Testing fallback-resolution %gx%g with %s target\n",
-                           ppi[n].x, ppi[n].y, target->name);
-           printf ("%s:\t", base_name);
-           fflush (stdout);
-
-           if (target->force_fallbacks != NULL)
-               target->force_fallbacks (surface, ppi[n].x, ppi[n].y);
-           cr = cairo_create (surface);
-#if SET_TOLERANCE
-           cairo_set_tolerance (cr, 3.0);
-#endif
-
-           cairo_surface_set_device_offset (surface, 25, 25);
-
-           cairo_save (cr); {
-               cairo_set_source_rgb (cr, 1, 1, 1);
-               cairo_paint (cr);
-           } cairo_restore (cr);
-
-           /* First draw the top half in a conventional way. */
-           cairo_save (cr); {
-               cairo_rectangle (cr, 0, 0, SIZE, SIZE / 2.0);
-               cairo_clip (cr);
-
-               draw (cr, SIZE, SIZE);
-           } cairo_restore (cr);
-
-           /* Then draw the bottom half in a separate group,
-            * (exposing a bug in 1.6.4 with the group not being
-            * rendered with the correct fallback resolution). */
-           cairo_save (cr); {
-               cairo_rectangle (cr, 0, SIZE / 2.0, SIZE, SIZE / 2.0);
-               cairo_clip (cr);
-
-               cairo_push_group (cr); {
-                   draw (cr, SIZE, SIZE);
-               } cairo_pop_group_to_source (cr);
-
-               cairo_paint (cr);
-           } cairo_restore (cr);
-
-           status = cairo_status (cr);
-           cairo_destroy (cr);
-
-           pass = FALSE;
-           if (status) {
-               cairo_test_log (ctx, "Error: Failed to create target surface: %s\n",
-                               cairo_status_to_string (status));
-               ret = CAIRO_TEST_FAILURE;
-           } else {
-               /* extract the image and compare it to our reference */
-               if (! check_result (ctx, target, test_name, base_name, surface))
-                   ret = CAIRO_TEST_FAILURE;
-               else
-                   pass = TRUE;
-           }
-           cairo_surface_destroy (surface);
-           if (target->cleanup)
-               target->cleanup (closure);
-
-           free (base_name);
-           free (test_name);
-
-           if (pass) {
-               printf ("PASS\n");
-           } else {
-               printf ("FAIL\n");
-           }
-           fflush (stdout);
-       }
-    }
-
-    return ret;
-}
-
-CAIRO_TEST (fallback_resolution,
-           "Check handling of fallback resolutions",
-           "fallback", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/fallback.c b/test/fallback.c
deleted file mode 100644 (file)
index a3cfc40..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright © 2012 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 40
-#define WIDTH (7*SIZE)
-#define HEIGHT (5*SIZE)
-
-#define FALLBACK_RES_X 300
-#define FALLBACK_RES_Y 150
-
-static void
-rectangles (cairo_t *cr)
-{
-    cairo_save (cr);
-
-    cairo_rotate (cr, M_PI/8);
-    cairo_translate (cr, 2*SIZE, SIZE/16);
-    cairo_scale (cr, 1.5, 1.5);
-
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_set_source_rgba (cr, 1, 0, 0, 0.5);
-    cairo_fill (cr);
-
-    /* Select an operator not supported by PDF/PS/SVG to trigger fallback */
-    cairo_set_operator (cr, CAIRO_OPERATOR_SATURATE);
-
-    cairo_rectangle (cr, SIZE/2, SIZE/2, SIZE, SIZE);
-    cairo_set_source_rgba (cr, 0, 1, 0, 0.5);
-    cairo_fill (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_set_fallback_resolution (cairo_get_target (cr), FALLBACK_RES_X, FALLBACK_RES_Y);
-
-    rectangles (cr);
-    cairo_translate (cr, 3*SIZE, 0);
-    cairo_push_group (cr);
-    rectangles (cr);
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fallback,
-           "Check that fallback images are correct when fallback resolution is not 72ppi",
-           "fallback", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/fill-alpha-pattern.c b/test/fill-alpha-pattern.c
deleted file mode 100644 (file)
index 3698779..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 60 /* needs to be big to check large area effects (dithering) */
-#define PAD 2
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const double alpha = 1./3;
-    cairo_pattern_t *pattern;
-    int n;
-
-    /* draw a simple pattern behind */
-    pattern = cairo_pattern_create_linear (0, 0, width, height);
-    cairo_pattern_add_color_stop_rgb (pattern, 0, 1, 1, 0);
-    cairo_pattern_add_color_stop_rgb (pattern, 1, 1, 1, 1);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-    cairo_paint (cr);
-
-    /* square */
-    cairo_rectangle (cr, PAD, PAD, SIZE, SIZE);
-    cairo_set_source_rgba (cr, 1, 0, 0, alpha);
-    cairo_fill (cr);
-
-    /* circle */
-    cairo_translate (cr, SIZE + 2 * PAD, 0);
-    cairo_arc (cr, PAD + SIZE / 2., PAD + SIZE / 2., SIZE / 2., 0, 2 * M_PI);
-    cairo_set_source_rgba (cr, 0, 1, 0, alpha);
-    cairo_fill (cr);
-
-    /* triangle */
-    cairo_translate (cr, 0, SIZE + 2 * PAD);
-    cairo_move_to (cr, PAD + SIZE / 2, PAD);
-    cairo_line_to (cr, PAD + SIZE, PAD + SIZE);
-    cairo_line_to (cr, PAD, PAD + SIZE);
-    cairo_set_source_rgba (cr, 0, 0, 1, alpha);
-    cairo_fill (cr);
-
-    /* star */
-    cairo_translate (cr, -(SIZE + 2 * PAD) + SIZE/2., SIZE/2.);
-    for (n = 0; n < 5; n++) {
-       cairo_line_to (cr,
-                      SIZE/2 * cos (2*n * 2*M_PI / 10),
-                      SIZE/2 * sin (2*n * 2*M_PI / 10));
-
-       cairo_line_to (cr,
-                      SIZE/4 * cos ((2*n+1)*2*M_PI / 10),
-                      SIZE/4 * sin ((2*n+1)*2*M_PI / 10));
-    }
-    cairo_set_source_rgba (cr, 0, 0, 0, alpha);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_alpha_pattern,
-           "Tests using set_rgba();fill() over a linear gradient",
-           "fill, alpha", /* keywords */
-           NULL, /* requirements */
-           2*SIZE + 4*PAD, 2*SIZE + 4*PAD,
-           NULL, draw)
diff --git a/test/fill-alpha.c b/test/fill-alpha.c
deleted file mode 100644 (file)
index 6c2948d..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 60 /* needs to be big to check large area effects (dithering) */
-#define PAD 2
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const double alpha = 1./3;
-    int n;
-
-    /* flatten to white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* square */
-    cairo_rectangle (cr, PAD, PAD, SIZE, SIZE);
-    cairo_set_source_rgba (cr, 1, 0, 0, alpha);
-    cairo_fill (cr);
-
-    /* circle */
-    cairo_translate (cr, SIZE + 2 * PAD, 0);
-    cairo_arc (cr, PAD + SIZE / 2., PAD + SIZE / 2., SIZE / 2., 0, 2 * M_PI);
-    cairo_set_source_rgba (cr, 0, 1, 0, alpha);
-    cairo_fill (cr);
-
-    /* triangle */
-    cairo_translate (cr, 0, SIZE + 2 * PAD);
-    cairo_move_to (cr, PAD + SIZE / 2, PAD);
-    cairo_line_to (cr, PAD + SIZE, PAD + SIZE);
-    cairo_line_to (cr, PAD, PAD + SIZE);
-    cairo_set_source_rgba (cr, 0, 0, 1, alpha);
-    cairo_fill (cr);
-
-    /* star */
-    cairo_translate (cr, -(SIZE + 2 * PAD) + SIZE/2., SIZE/2.);
-    for (n = 0; n < 5; n++) {
-       cairo_line_to (cr,
-                      SIZE/2 * cos (2*n * 2*M_PI / 10),
-                      SIZE/2 * sin (2*n * 2*M_PI / 10));
-
-       cairo_line_to (cr,
-                      SIZE/4 * cos ((2*n+1)*2*M_PI / 10),
-                      SIZE/4 * sin ((2*n+1)*2*M_PI / 10));
-    }
-    cairo_set_source_rgba (cr, 0, 0, 0, alpha);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_alpha,
-           "Tests using set_rgba();fill()",
-           "fill, alpha", /* keywords */
-           NULL, /* requirements */
-           2*SIZE + 4*PAD, 2*SIZE + 4*PAD,
-           NULL, draw)
diff --git a/test/fill-and-stroke-alpha-add.c b/test/fill-and-stroke-alpha-add.c
deleted file mode 100644 (file)
index 55cd4c6..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define PAD 2
-#define SIZE 10
-
-typedef void (*path_func_t) (cairo_t *cr);
-
-static void
-rectangle (cairo_t *cr)
-{
-    cairo_rectangle (cr, PAD, PAD, SIZE, SIZE);
-}
-
-static void
-circle (cairo_t *cr)
-{
-    cairo_arc (cr,
-              PAD + SIZE / 2, PAD + SIZE / 2,
-              SIZE / 2,
-              0, 2 * M_PI);
-}
-
-/* Given a path-generating function and two possibly translucent
- * patterns, fill and stroke the path with the patterns (to an
- * offscreen group), then blend the result into the destination.
- */
-static void
-fill_and_stroke (cairo_t               *cr,
-                path_func_t             path_func,
-                cairo_pattern_t        *fill_pattern,
-                cairo_pattern_t        *stroke_pattern)
-{
-    cairo_push_group (cr);
-    {
-       (path_func) (cr);
-       cairo_set_source (cr, fill_pattern);
-       cairo_fill_preserve (cr);
-
-       /* Use DEST_OUT to subtract stroke from fill. */
-       cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-       cairo_set_operator (cr, CAIRO_OPERATOR_DEST_OUT);
-       cairo_stroke_preserve (cr);
-
-       /* Then use ADD to draw the stroke without a seam. */
-       cairo_set_source (cr, stroke_pattern);
-       cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-       cairo_stroke (cr);
-    }
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *blue;
-    cairo_pattern_t *red;
-
-    blue = cairo_pattern_create_rgba (0.0, 0.0, 1.0, 0.8);
-    red = cairo_pattern_create_rgba (1.0, 0.0, 0.0, 0.2);
-
-    cairo_test_paint_checkered (cr);
-
-    fill_and_stroke (cr, rectangle, blue, red);
-
-    cairo_translate (cr, SIZE + 2 * PAD, 0);
-
-    fill_and_stroke (cr, circle, red, blue);
-
-    cairo_pattern_destroy (blue);
-    cairo_pattern_destroy (red);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_and_stroke_alpha_add,
-           "Use a group to fill/stroke a path (each with different alpha) using DEST_OUT and ADD to combine",
-           "fill-and-stroke, fill, stroke", /* keywords */
-           NULL, /* requirements */
-           2 * SIZE + 4 * PAD, SIZE + 2 * PAD,
-           NULL, draw)
diff --git a/test/fill-and-stroke-alpha.c b/test/fill-and-stroke-alpha.c
deleted file mode 100644 (file)
index c6d7c00..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define PAD 2
-#define SIZE 10
-
-typedef void (*path_func_t) (cairo_t *cr);
-
-static void
-rectangle (cairo_t *cr)
-{
-    cairo_rectangle (cr, PAD, PAD, SIZE, SIZE);
-}
-
-static void
-circle (cairo_t *cr)
-{
-    cairo_arc (cr,
-              PAD + SIZE / 2, PAD + SIZE / 2,
-              SIZE / 2,
-              0, 2 * M_PI);
-}
-
-/* Given a path-generating function and two opaque patterns, fill and
- * stroke the path with the patterns (to an offscreen group), then
- * blend the result into the destination with the given alpha
- * value.
- */
-static void
-fill_and_stroke_alpha (cairo_t         *cr,
-                      path_func_t       path_func,
-                      cairo_pattern_t  *fill_pattern,
-                      cairo_pattern_t  *stroke_pattern,
-                      double            alpha)
-{
-    cairo_push_group (cr);
-    {
-       (path_func) (cr);
-       cairo_set_source (cr, fill_pattern);
-       cairo_fill_preserve (cr);
-       cairo_set_source (cr, stroke_pattern);
-       cairo_stroke (cr);
-    }
-    cairo_pop_group_to_source (cr);
-    cairo_paint_with_alpha (cr, alpha);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *blue;
-    cairo_pattern_t *red;
-
-    blue = cairo_pattern_create_rgb (0.0, 0.0, 1.0);
-    red = cairo_pattern_create_rgb (1.0, 0.0, 0.0);
-
-    cairo_test_paint_checkered (cr);
-
-    fill_and_stroke_alpha (cr, rectangle, blue, red, 0.5);
-
-    cairo_translate (cr, SIZE + 2 * PAD, 0);
-
-    fill_and_stroke_alpha (cr, circle, red, blue, 0.5);
-
-    cairo_pattern_destroy (blue);
-    cairo_pattern_destroy (red);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_and_stroke_alpha,
-           "Use a group to fill/stroke a path then blend the result with alpha onto the destination",
-           "fill-and-stroke, fill, stroke", /* keywords */
-           NULL, /* requirements */
-           2 * SIZE + 4 * PAD, SIZE + 2 * PAD,
-           NULL, draw)
diff --git a/test/fill-and-stroke.c b/test/fill-and-stroke.c
deleted file mode 100644 (file)
index c983c32..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define PAD 2
-#define SIZE 10
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_rectangle (cr, PAD, PAD, SIZE, SIZE);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, SIZE + 2 * PAD, 0);
-
-    cairo_arc (cr,
-              PAD + SIZE / 2, PAD + SIZE / 2,
-              SIZE / 2,
-              0, 2 * M_PI);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_and_stroke,
-           "Tests using cairo_fill_preserve/cairo_stroke to fill/stroke the same path",
-           "fill-and-stroke, fill, stroke", /* keywords */
-           NULL, /* requirements */
-           2 * SIZE + 4 * PAD, SIZE + 2 * PAD,
-           NULL, draw)
diff --git a/test/fill-degenerate-sort-order.c b/test/fill-degenerate-sort-order.c
deleted file mode 100644 (file)
index d934810..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright © 2006 M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-
-/* Bug history
- *
- * 2006-12-05  M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- *
- *   There's currently a regression bug in the tessellation code from
- *   switching to the "new tessellator".  The bug is caused by
- *   confusion in the comparator used to order events when there are
- *   degenerate edges.
- */
-
-#include "cairo-test.h"
-
-/* Derived from zrusin's "another" polygon in the performance suite. */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    /* The polygon uses (43,103) as its "base point".  Closed
-     * subpaths are simulated by going from the base point to the
-     * subpath's first point, doing the subpath, and returning to the
-     * base point.  The moving to and from the base point causes
-     * degenerate edges which shouldn't result in anything visible. */
-    cairo_move_to (cr, 43, 103);
-
-    /* First subpath. */
-    cairo_line_to (cr, 91, 101);
-    cairo_line_to (cr, 0, 112);
-    cairo_line_to (cr, 60, 0);
-    cairo_line_to (cr, 91, 101);
-
-    cairo_line_to (cr, 43, 103);
-
-    /* Second subpath. */
-    cairo_line_to (cr, 176, 110);
-    cairo_line_to (cr, 116, 100);
-    cairo_line_to (cr, 176, 0);
-    cairo_line_to (cr, 176, 110);
-
-    cairo_close_path (cr);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_degenerate_sort_order,
-           "Tests the tessellator's event comparator with degenerate input",
-           "degenerate, fill", /* keywords */
-           NULL, /* requirements */
-           190, 120,
-           NULL, draw)
diff --git a/test/fill-disjoint.c b/test/fill-disjoint.c
deleted file mode 100644 (file)
index ea2c14f..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* The goal is exercise a bug that existed in the xlib backend, where
- * it assumed the rectangles generated by rectangular tessallator had
- * any sorting guarantees.
- */
-
-#define WIDTH 300
-#define HEIGHT 300
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int x;
-
-    /* black background */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    /* white rectangles */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-
-    /* fill with a set of rectangles that the rectangular tessellator
-     * will not emit sorted. */
-    for (x = 0; x < WIDTH - 10; x += 15)
-       cairo_rectangle (cr, x, x, 10, HEIGHT - 2*x);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_disjoint,
-           "Tests filling unsorted rectangles.",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/fill-empty.c b/test/fill-empty.c
deleted file mode 100644 (file)
index 0594e57..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 10
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    /* first drawn an ordinary empty path */
-    cairo_save (cr);
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE/2);
-    cairo_clip (cr);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    /* and then an unbounded empty path */
-    cairo_save (cr);
-    cairo_rectangle (cr, 0, SIZE/2, SIZE, SIZE/2);
-    cairo_clip (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_DEST_IN);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_empty,
-           "Test filling with an empty path",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
-
diff --git a/test/fill-image.c b/test/fill-image.c
deleted file mode 100644 (file)
index 24ee031..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright © 2006 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include "cairo-test.h"
-
-#define PAD 10
-#define SIZE 100
-#define IMAGE_SIZE (SIZE-PAD*2)
-#define LINE_WIDTH 10
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *image;
-    cairo_t *cr_image;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    image = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
-                                       IMAGE_SIZE, IMAGE_SIZE);
-    cr_image = cairo_create (image);
-    cairo_surface_destroy (image);
-
-    /* Create the image */
-    cairo_set_source_rgb (cr_image, 0, 0, 0);
-    cairo_paint (cr_image);
-
-    cairo_set_source_rgb (cr_image, 0, 1, 0);
-    cairo_new_sub_path (cr_image);
-    cairo_arc (cr_image, IMAGE_SIZE/2, IMAGE_SIZE/2, IMAGE_SIZE/2 - LINE_WIDTH, 0, M_PI * 2.0);
-    cairo_close_path (cr_image);
-    cairo_new_sub_path (cr_image);
-    cairo_arc_negative (cr_image, IMAGE_SIZE/2, IMAGE_SIZE/2, IMAGE_SIZE/2, 0, -M_PI * 2.0);
-    cairo_close_path (cr_image);
-    cairo_fill (cr_image);
-
-    /* Now stroke^Wfill with it */
-    cairo_translate (cr, PAD, PAD);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr_image), 0, 0);
-    cairo_destroy (cr_image);
-
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, IMAGE_SIZE/2, IMAGE_SIZE/2, IMAGE_SIZE/2 - LINE_WIDTH, 0, M_PI * 2.0);
-    cairo_close_path (cr);
-    cairo_new_sub_path (cr);
-    cairo_arc_negative (cr, IMAGE_SIZE/2, IMAGE_SIZE/2, IMAGE_SIZE/2, 0, -M_PI * 2.0);
-    cairo_close_path (cr);
-
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_image,
-           "Test filling with an image source, with a non-identity CTM",
-           "fill, image, transform", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/fill-missed-stop.c b/test/fill-missed-stop.c
deleted file mode 100644 (file)
index 5589337..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright © 2006 M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-
-/* Bug history
- *
- * 2006-12-05  M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- *
- *  The tessellator has a regression where a trapezoid may continue
- *  below the end of a polygon edge (i.e. the bottom of the trapezoid
- *  is miscomputed.)  This can only happen if the right edge of a
- *  trapezoid stops earlier than the left edge and there is no start
- *  event at the end point of the right edge.
- */
-
-#include "cairo-test.h"
-
-#define SIZE 50
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    cairo_translate (cr, 1, 1);
-
-    /* What it should look like, with # marking the filled areas:
-     *
-     * |\    |\
-     * |#\   |#\
-     * |##\__|##\
-     *     \#|
-     *      \|
-     *
-     * What it looke like with the bug, when the rightmost edge's end
-     * is missed:
-     *
-     * |\    |\
-     * |#\   |#\
-     * |##\__|##\
-     *     \#####|
-     *      \####|
-     */
-
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, SIZE/2, SIZE);
-    cairo_line_to (cr, SIZE/2, 0);
-    cairo_line_to (cr, SIZE, SIZE/2);
-    cairo_line_to (cr, 0, SIZE/2);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_missed_stop,
-           "Tests that the tessellator doesn't miss stop events when generating trapezoids",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           SIZE+3, SIZE+3,
-           NULL, draw)
diff --git a/test/fill-rule.c b/test/fill-rule.c
deleted file mode 100644 (file)
index 66f19b7..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright © 2004 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Bug history
- *
- * 2004-10-27  Carl Worth  <cworth@cworth.org>
- *
- *   There's currently a regression bug in the tessellation code. This
- *   causes each of these simple star shapes to be filled incorrectly.
- *
- *   It looks like right now we can get this test to pass by doing:
- *
- *       cvs update -r 1.16 src/cairo_traps.c
- *
- *   But we don't want to revert that change permanently since it
- *   really does correct some bugs. It must be that the old version of
- *   the code is masking some other bugs in the tessellation code. My
- *   current plan is to back this revision up for the next snapshot,
- *   but not to list the test as an expected failure since I'm
- *   planning on doing the new tessellator which should fix this
- *   problem.
- *
- * 2005-01-11 Carl Worth <cworth@cworth.org>
- *
- *   Keith committed some fixes that fix the original size-20
- *   star_path:
- *
- *     * src/cairo_wideint.c: (_cairo_int32x32_64_mul),
- *     (_cairo_int64x64_128_mul):
- *     * src/cairo_wideint.h:
- *     int32x32_64_mul and int64x64_128_mul are different from their
- *     unsigned compatriots
- *
- * 2005-01-12 Carl Worth <cworth@cworth.org>
- *
- *   Going back to the SVG test suite, however, the original star
- *   shape is still broken. Adding both shapes now as little_star_path
- *   and big_star_path.
- *
- */
-
-#include "cairo-test.h"
-
-#define LITTLE_STAR_SIZE 20
-#define BIG_STAR_SIZE    80
-
-/* The SVG start trimmed down, but still showing the bug (originally) */
-static void
-little_star_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 10, 0);
-    cairo_rel_line_to (cr, 6, 20);
-    cairo_rel_line_to (cr, -16, -12);
-    cairo_rel_line_to (cr, 20, 0);
-    cairo_rel_line_to (cr, -16, 12);
-}
-
-/* The star shape from the SVG test suite. This was is still buggy even after
-   we got little_star_path working. */
-static void
-big_star_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 40, 0);
-    cairo_rel_line_to (cr, 25, 80);
-    cairo_rel_line_to (cr, -65, -50);
-    cairo_rel_line_to (cr, 80, 0);
-    cairo_rel_line_to (cr, -65, 50);
-    cairo_close_path (cr);
-}
-
-/* Fill the same path twice, once with each fill rule */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    cairo_translate (cr, 1, 1);
-    little_star_path (cr);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
-    cairo_fill (cr);
-
-    cairo_translate (cr, LITTLE_STAR_SIZE + 1, 0);
-    little_star_path (cr);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_fill (cr);
-
-    cairo_translate (cr, -(LITTLE_STAR_SIZE + 1), LITTLE_STAR_SIZE + 1);
-    big_star_path (cr);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
-    cairo_fill (cr);
-
-    cairo_translate (cr, BIG_STAR_SIZE + 1, 0);
-    big_star_path (cr);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (fill_rule,
-           "Tests cairo_set_fill_rule with some star shapes",
-           "fill, path", /* keywords */
-           NULL, /* requirements */
-           BIG_STAR_SIZE * 2 + 3, BIG_STAR_SIZE + LITTLE_STAR_SIZE + 3,
-           NULL, draw)
diff --git a/test/filter-bilinear-extents.c b/test/filter-bilinear-extents.c
deleted file mode 100644 (file)
index 79d36f6..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Authors: Carl D. Worth <cworth@cworth.org>
- *         Owen Taylor <otaylor@redhat.com>
- */
-
-#include "cairo-test.h"
-
-/* This test exercises code that computes the extents of a surface
- * pattern with CAIRO_FILTER_BILINEAR, (where the filtering
- * effectively increases the extents of the pattern).
- *
- * The original bug was reported by Owen Taylor here:
- *
- *     bad clipping with EXTEND_NONE
- *     http://bugs.freedesktop.org/show_bug.cgi?id=15349
- */
-
-#define SCALE  10
-#define PAD    3
-#define WIDTH  (PAD + 3 * SCALE + PAD)
-#define HEIGHT WIDTH
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *image;
-    cairo_t *cr2;
-
-    image = cairo_image_surface_create (CAIRO_FORMAT_RGB24, 2, 2);
-
-    /* Fill with an opaque background to avoid a separate rgb24 ref image */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    /* First check handling of pattern extents > surface extents */
-    cairo_save (cr);
-    cairo_scale (cr, width/2., height/2.);
-
-    /* Create a solid black source to merge with the background */
-    cr2 = cairo_create (image);
-    cairo_set_source_rgb (cr2, 0, 0 ,0);
-    cairo_paint (cr2);
-    cairo_set_source_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_BILINEAR);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    /* Then scale to smaller so we can see the full bilinear extents */
-    cairo_save (cr);
-    cairo_translate (cr, PAD, PAD);
-    cairo_scale (cr, SCALE, SCALE);
-    cairo_translate (cr, 0.5, 0.5);
-
-    /* Create a 2x2 blue+red checkerboard source */
-    cr2 = cairo_create (image);
-    cairo_set_source_rgb (cr2, 1, 0 ,0); /* red */
-    cairo_paint (cr2);
-    cairo_set_source_rgb (cr2, 0, 0, 1); /* blue */
-    cairo_rectangle (cr2, 0, 1, 1, 1);
-    cairo_rectangle (cr2, 1, 0, 1, 1);
-    cairo_fill (cr2);
-    cairo_set_source_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_BILINEAR);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_surface_destroy (image);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (filter_bilinear_extents,
-           "Test that pattern extents are properly computed for CAIRO_FILTER_BILINEAR",
-           "extents", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/filter-nearest-offset.c b/test/filter-nearest-offset.c
deleted file mode 100644 (file)
index 4df6097..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define STAMP_WIDTH  4
-#define STAMP_HEIGHT 4
-#define PAD          1
-
-#define STEPS       10
-
-#define IMAGE_WIDTH  (PAD + STEPS * (STAMP_WIDTH  + PAD) + PAD)
-#define IMAGE_HEIGHT (PAD + STEPS * (STAMP_HEIGHT + PAD) + PAD)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    uint32_t data[STAMP_WIDTH * STAMP_HEIGHT] = {
-       0xffffffff, 0xffffffff,         0xffff0000, 0xffff0000,
-       0xffffffff, 0xffffffff,         0xffff0000, 0xffff0000,
-
-       0xff00ff00, 0xff00ff00,         0xff0000ff, 0xff0000ff,
-       0xff00ff00, 0xff00ff00,         0xff0000ff, 0xff0000ff
-    };
-    int i, j;
-
-    /* fill with off-white to avoid a separate rgb24 ref image */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, .7, .7, .7);
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    /* Draw reference lines where the jump should be. */
-    cairo_move_to (cr, PAD + STEPS / 2 * (STAMP_WIDTH + PAD), 0);
-    cairo_rel_line_to (cr, 0, IMAGE_HEIGHT);
-    cairo_move_to (cr, 0, PAD + STEPS / 2 * (STAMP_HEIGHT + PAD));
-    cairo_rel_line_to (cr, IMAGE_WIDTH, 0);
-    cairo_set_line_width (cr, 2.0);
-    cairo_stroke (cr);
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24,
-                                                  STAMP_WIDTH,
-                                                  STAMP_HEIGHT,
-                                                  STAMP_WIDTH * 4);
-
-    for (j=0; j < STEPS; j++) {
-       double j_step;
-
-       for (i=0; i < STEPS; i++) {
-           double i_step;
-
-#define GENERATE_REFERENCE_IMAGE 0
-#if GENERATE_REFERENCE_IMAGE
-           i_step = i >= STEPS / 2 ? 1 : 0;
-           j_step = j >= STEPS / 2 ? 1 : 0;
-#else
-           i_step = i * 1.0 / STEPS;
-           j_step = j * 1.0 / STEPS;
-#endif
-
-           cairo_save (cr);
-
-           cairo_set_source_surface (cr, surface,
-                                     PAD + i * (STAMP_WIDTH  + PAD) + i_step,
-                                     PAD + j * (STAMP_HEIGHT + PAD) + j_step);
-           cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-           cairo_paint (cr);
-
-           cairo_restore (cr);
-       }
-    }
-
-    cairo_surface_finish (surface); /* data goes out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (filter_nearest_offset,
-           "Test sampling offset of CAIRO_FILTER_NEAREST"
-           "\nwrong sampling location for nearest-neighbor filter in libpixman and Render",
-           "filter", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/filter-nearest-transformed.c b/test/filter-nearest-transformed.c
deleted file mode 100644 (file)
index ba56f7c..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/*
- * We wish to check the optimization away of non-fractional translations
- * for NEAREST surface patterns under a few transformations.
- */
-
-static const char png_filename[] = "romedalen.png";
-
-/* A single, black pixel */
-static const uint32_t black_pixel = 0xff000000;
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    unsigned int i, j, k;
-    cairo_surface_t *surface;
-    cairo_pattern_t *pattern;
-    const cairo_matrix_t transform[] = {
-       {  1, 0, 0,  1,  0, 0 },
-       { -1, 0, 0,  1,  8, 0 },
-       {  1, 0, 0, -1,  0, 8 },
-       { -1, 0, 0, -1,  8, 8 },
-    };
-    const cairo_matrix_t ctx_transform[] = {
-       {  1, 0, 0,  1,   0,  0 },
-       { -1, 0, 0,  1,  14,  0 },
-       {  1, 0, 0, -1,   0, 14 },
-       { -1, 0, 0, -1,  14, 14 },
-    };
-    const double colour[][3] = {
-       {0, 0, 0},
-       {1, 0, 0},
-       {0, 1, 0},
-       {0, 0, 1},
-    };
-    cairo_matrix_t m;
-
-    surface = cairo_image_surface_create_for_data ((uint8_t *) &black_pixel,
-                                                  CAIRO_FORMAT_ARGB32,
-                                                  1, 1, 4);
-    pattern = cairo_pattern_create_for_surface (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_pattern_set_filter (pattern, CAIRO_FILTER_NEAREST);
-
-    surface = cairo_test_create_surface_from_png (ctx, png_filename);
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    for (k = 0; k < ARRAY_LENGTH (transform); k++) {
-       /* draw a "large" section from an image */
-       cairo_save (cr); {
-           cairo_set_matrix(cr, &ctx_transform[k]);
-           cairo_rectangle (cr, 0, 0, 7, 7);
-           cairo_clip (cr);
-
-           cairo_set_source_surface (cr, surface,
-                                     -cairo_image_surface_get_width (surface)/2.,
-                                     -cairo_image_surface_get_height (surface)/2.);
-           cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-           cairo_paint (cr);
-       } cairo_restore (cr);
-
-       cairo_set_source_rgb (cr, colour[k][0], colour[k][1], colour[k][2]);
-       for (j = 4; j <= 6; j++) {
-           for (i = 4; i <= 6; i++) {
-               cairo_matrix_init_translate (&m,
-                                            -(2*(i-4) + .1*i),
-                                            -(2*(j-4) + .1*j));
-               cairo_matrix_multiply (&m, &m, &transform[k]);
-               cairo_pattern_set_matrix (pattern, &m);
-               cairo_mask (cr, pattern);
-           }
-       }
-    }
-
-    cairo_pattern_destroy (pattern);
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (filter_nearest_transformed,
-           "Test sample position when drawing transformed images with FILTER_NEAREST",
-           "filter, nearest", /* keywords */
-           NULL,
-           14, 14,
-           NULL, draw)
diff --git a/test/finer-grained-fallbacks.c b/test/finer-grained-fallbacks.c
deleted file mode 100644 (file)
index fa16f72..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright © 2008 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define CIRCLE_SIZE 10
-#define PAD 2
-#define WIDTH (CIRCLE_SIZE*6.5 + PAD)
-#define HEIGHT (CIRCLE_SIZE*7.0 + PAD)
-
-static void
-draw_circle (cairo_t *cr, double x, double y)
-{
-    cairo_save (cr);
-    cairo_translate (cr, x, y);
-    cairo_arc (cr, 0, 0, CIRCLE_SIZE / 2, 0., 2. * M_PI);
-    cairo_fill (cr);
-    cairo_restore (cr);
-}
-
-static void
-draw_image_circle (cairo_t *cr, cairo_surface_t *source, double x, double y)
-{
-    cairo_save (cr);
-
-    cairo_set_source_surface (cr, source, x, y);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REFLECT);
-    cairo_rectangle (cr, x, y, CIRCLE_SIZE, CIRCLE_SIZE);
-    cairo_fill (cr);
-
-    cairo_restore (cr);
-}
-
-static void
-draw_circles (cairo_t *cr)
-{
-    draw_circle (cr, 0,               -CIRCLE_SIZE*0.1);
-    draw_circle (cr, CIRCLE_SIZE*0.4,  CIRCLE_SIZE*0.25);
-
-    draw_circle (cr, CIRCLE_SIZE*2, 0);
-    draw_circle (cr, CIRCLE_SIZE*4, 0);
-    draw_circle (cr, CIRCLE_SIZE*6, 0);
-}
-
-static void
-draw_image_circles (cairo_t *cr, cairo_surface_t *source)
-{
-    draw_image_circle (cr, source, 0,               -CIRCLE_SIZE*0.1);
-    draw_image_circle (cr, source, CIRCLE_SIZE*0.4,  CIRCLE_SIZE*0.25);
-
-    draw_image_circle (cr, source, CIRCLE_SIZE*2, 0);
-    draw_image_circle (cr, source, CIRCLE_SIZE*4, 0);
-    draw_image_circle (cr, source, CIRCLE_SIZE*6, 0);
-}
-
-/* For each of circle and fallback_circle we draw:
- *  - two overlapping
- *  - one isolated
- *  - one off the page
- *  - one overlapping the edge of the page.
- *
- * We also draw a circle and fallback_circle overlapping each other.
- *
- * Circles are drawn in green. An opaque color and CAIRO_OPERATOR_OVER
- * is used to ensure they will be emitted as a vectors in PS/PDF.
- *
- * Fallback circles are drawn in red. CAIRO_OPERATOR_ADD is used to
- * ensure they will be emitted as a fallback image in PS/PDF.
- *
- * In order to trigger a fallback for SVG, we need to use a surface with
- * REFLECT.
- */
-static cairo_surface_t *
-surface_create (cairo_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_surface_create_similar (cairo_get_target (target),
-                                           CAIRO_CONTENT_COLOR_ALPHA,
-                                           CIRCLE_SIZE, CIRCLE_SIZE);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-    draw_circle (cr, CIRCLE_SIZE/2, CIRCLE_SIZE/2);
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-
-    cairo_translate (cr, PAD, PAD);
-
-    cairo_save (cr);
-
-    /* Draw overlapping circle and fallback circle */
-    cairo_set_source_rgb (cr, 0.0, 1.0, 0.0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    draw_circle (cr, CIRCLE_SIZE*0.5,  CIRCLE_SIZE*1.5);
-
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    draw_circle (cr, CIRCLE_SIZE*0.75, CIRCLE_SIZE*1.75);
-
-    /* Draw circles */
-    cairo_set_source_rgb (cr, 0.0, 1.0, 0.0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_translate (cr, CIRCLE_SIZE*2.5, CIRCLE_SIZE*0.6);
-    draw_circles (cr);
-
-    /* Draw fallback circles */
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    cairo_translate (cr, 0, CIRCLE_SIZE*2);
-    draw_circles (cr);
-
-    cairo_restore (cr);
-    cairo_translate (cr, 0, CIRCLE_SIZE * 3.5);
-
-    /* Draw using fallback surface */
-    surface = surface_create (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 1.0, 0.0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    draw_circle (cr, CIRCLE_SIZE*0.5,  CIRCLE_SIZE*1.5);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    draw_image_circle (cr, surface, CIRCLE_SIZE/4, CIRCLE_SIZE + CIRCLE_SIZE/4);
-
-    /* Draw circles */
-    cairo_set_source_rgb (cr, 0.0, 1.0, 0.0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_translate (cr, CIRCLE_SIZE*2.5, CIRCLE_SIZE*0.6);
-    draw_circles (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    cairo_translate (cr, -CIRCLE_SIZE/2, CIRCLE_SIZE*1.5);
-    draw_image_circles (cr, surface);
-
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (finer_grained_fallbacks,
-           "Test that multiple PS/PDF fallback images in various locations are correct",
-           "fallbacks", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/font-face-get-type.c b/test/font-face-get-type.c
deleted file mode 100644 (file)
index afbb739..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_test_status_t status = CAIRO_TEST_SUCCESS;
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    cairo_font_face_t *font_face;
-    cairo_scaled_font_t *scaled_font;
-
-    cairo_test_log (ctx, "Creating cairo context and obtaining a font face\n");
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1);
-    cr = cairo_create (surface);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    cairo_test_log (ctx, "Testing return value of cairo_font_face_get_type\n");
-
-    font_face = cairo_get_font_face (cr);
-
-    if (cairo_font_face_get_type (font_face) != CAIRO_FONT_TYPE_TOY) {
-       cairo_test_log (ctx, "Unexpected value %d from cairo_font_face_get_type (expected %d)\n",
-                       cairo_font_face_get_type (font_face), CAIRO_FONT_TYPE_TOY);
-       status = CAIRO_TEST_FAILURE;
-       goto done;
-    }
-
-    cairo_test_log (ctx, "Testing return value of cairo_get_scaled_font\n");
-
-    scaled_font = cairo_get_scaled_font (cr);
-
-    if (cairo_scaled_font_get_font_face (scaled_font) != font_face) {
-       cairo_test_log (ctx, "Font face returned from the scaled font is different from that returned by the context\n");
-       status = CAIRO_TEST_FAILURE;
-       goto done;
-    }
-
-done:
-    cairo_destroy (cr);
-    cairo_surface_destroy (surface);
-
-    return status;
-}
-
-CAIRO_TEST (font_face_get_type,
-           "Check the returned type from cairo_select_font_face.",
-           "font", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/font-matrix-translation.c b/test/font-matrix-translation.c
deleted file mode 100644 (file)
index 465ac7c..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define TEXT_SIZE 12
-#define PAD 4
-#define TEXT "text"
-
-static cairo_bool_t
-text_extents_equal (const cairo_text_extents_t *A,
-                   const cairo_text_extents_t *B)
-{
-    return A->x_bearing == B->x_bearing &&
-          A->y_bearing == B->y_bearing &&
-          A->width     == B->width     &&
-          A->height    == B->height    &&
-          A->x_advance == B->x_advance &&
-          A->y_advance == B->y_advance;
-}
-
-static cairo_test_status_t
-box_text (const cairo_test_context_t *ctx, cairo_t *cr,
-         const char *utf8,
-         double x, double y)
-{
-    double line_width;
-    cairo_text_extents_t extents = {0}, scaled_extents = {0};
-    cairo_scaled_font_t *scaled_font;
-    cairo_status_t status;
-
-    cairo_save (cr);
-
-    cairo_text_extents (cr, utf8, &extents);
-
-    scaled_font = cairo_get_scaled_font (cr);
-    cairo_scaled_font_text_extents (scaled_font, TEXT, &scaled_extents);
-    status = cairo_scaled_font_status (scaled_font);
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    if (! text_extents_equal (&extents, &scaled_extents)) {
-        cairo_test_log (ctx,
-                       "Error: extents differ when they shouldn't:\n"
-                       "cairo_text_extents(); extents (%g, %g, %g, %g, %g, %g)\n"
-                       "cairo_scaled_font_text_extents(); extents (%g, %g, %g, %g, %g, %g)\n",
-                       extents.x_bearing, extents.y_bearing,
-                       extents.width, extents.height,
-                       extents.x_advance, extents.y_advance,
-                       scaled_extents.x_bearing, scaled_extents.y_bearing,
-                       scaled_extents.width, scaled_extents.height,
-                       scaled_extents.x_advance, scaled_extents.y_advance);
-        return CAIRO_TEST_FAILURE;
-    }
-
-    line_width = cairo_get_line_width (cr);
-    cairo_rectangle (cr,
-                    x + extents.x_bearing - line_width / 2,
-                    y + extents.y_bearing - line_width / 2,
-                    extents.width  + line_width,
-                    extents.height + line_width);
-    cairo_stroke (cr);
-
-    cairo_move_to (cr, x, y);
-    cairo_show_text (cr, utf8);
-
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_test_status_t status;
-    cairo_text_extents_t extents;
-    cairo_matrix_t matrix;
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    cairo_translate (cr, PAD, PAD);
-    cairo_set_line_width (cr, 1.0);
-
-    cairo_text_extents (cr, TEXT, &extents);
-
-    /* Draw text and bounding box */
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-    status = box_text (ctx, cr, TEXT, 0, - extents.y_bearing);
-    if (status)
-       return status;
-
-    /* Then draw again with the same coordinates, but with a font
-     * matrix to position the text below and shifted a bit to the
-     * right. */
-    cairo_matrix_init_translate (&matrix, TEXT_SIZE / 2, TEXT_SIZE + PAD);
-    cairo_matrix_scale (&matrix, TEXT_SIZE, TEXT_SIZE);
-    cairo_set_font_matrix (cr, &matrix);
-
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    status = box_text (ctx, cr, TEXT, 0, - extents.y_bearing);
-    if (status)
-       return status;
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (font_matrix_translation,
-           "Test that translation in a font matrix can be used to offset a string",
-           "font", /* keywords */
-           NULL, /* requirements */
-           38, 34,
-           NULL, draw)
diff --git a/test/font-options.c b/test/font-options.c
deleted file mode 100644 (file)
index 873a5c3..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#include <assert.h>
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_font_options_t *default_options;
-    cairo_font_options_t *nil_options;
-    cairo_surface_t *surface;
-    cairo_matrix_t identity;
-    cairo_t *cr;
-    cairo_scaled_font_t *scaled_font;
-
-    /* first check NULL handling of cairo_font_options_t */
-    default_options = cairo_font_options_create ();
-    assert (cairo_font_options_status (default_options) == CAIRO_STATUS_SUCCESS);
-    nil_options = cairo_font_options_copy (NULL);
-    assert (cairo_font_options_status (nil_options) == CAIRO_STATUS_NO_MEMORY);
-
-    assert (cairo_font_options_equal (default_options, default_options));
-    assert (! cairo_font_options_equal (default_options, nil_options));
-    assert (! cairo_font_options_equal (NULL, nil_options));
-    assert (! cairo_font_options_equal (nil_options, nil_options));
-    assert (! cairo_font_options_equal (default_options, NULL));
-    assert (! cairo_font_options_equal (NULL, default_options));
-
-    assert (cairo_font_options_hash (default_options) == cairo_font_options_hash (nil_options));
-    assert (cairo_font_options_hash (NULL) == cairo_font_options_hash (nil_options));
-    assert (cairo_font_options_hash (default_options) == cairo_font_options_hash (NULL));
-
-    cairo_font_options_merge (NULL, NULL);
-    cairo_font_options_merge (default_options, NULL);
-    cairo_font_options_merge (default_options, nil_options);
-
-    cairo_font_options_set_antialias (NULL, CAIRO_ANTIALIAS_DEFAULT);
-    cairo_font_options_get_antialias (NULL);
-    assert (cairo_font_options_get_antialias (default_options) == CAIRO_ANTIALIAS_DEFAULT);
-
-    cairo_font_options_set_subpixel_order (NULL, CAIRO_SUBPIXEL_ORDER_DEFAULT);
-    cairo_font_options_get_subpixel_order (NULL);
-    assert (cairo_font_options_get_subpixel_order (default_options) == CAIRO_SUBPIXEL_ORDER_DEFAULT);
-
-    cairo_font_options_set_hint_style (NULL, CAIRO_HINT_STYLE_DEFAULT);
-    cairo_font_options_get_hint_style (NULL);
-    assert (cairo_font_options_get_hint_style (default_options) == CAIRO_HINT_STYLE_DEFAULT);
-
-    cairo_font_options_set_hint_metrics (NULL, CAIRO_HINT_METRICS_DEFAULT);
-    cairo_font_options_get_hint_metrics (NULL);
-    assert (cairo_font_options_get_hint_metrics (default_options) == CAIRO_HINT_METRICS_DEFAULT);
-
-    cairo_font_options_destroy (NULL);
-    cairo_font_options_destroy (default_options);
-    cairo_font_options_destroy (nil_options);
-
-
-    /* Now try creating fonts with NULLs */
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, 0, 0);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_matrix_init_identity (&identity);
-    scaled_font = cairo_scaled_font_create (cairo_get_font_face (cr),
-                                           &identity, &identity,
-                                           NULL);
-    assert (cairo_scaled_font_status (scaled_font) == CAIRO_STATUS_NULL_POINTER);
-    cairo_scaled_font_get_font_options (scaled_font, NULL);
-    cairo_scaled_font_destroy (scaled_font);
-
-    assert (cairo_status (cr) == CAIRO_STATUS_SUCCESS);
-    cairo_get_font_options (cr, NULL);
-    cairo_set_font_options (cr, NULL);
-    assert (cairo_status (cr) == CAIRO_STATUS_NULL_POINTER);
-
-    cairo_destroy (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (font_options,
-           "Check setters and getters on cairo_font_options_t.",
-           "font, api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/ft-font-create-for-ft-face.c b/test/ft-font-create-for-ft-face.c
deleted file mode 100644 (file)
index 52c838d..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-#include <cairo-ft.h>
-
-static void
-_stress_font_cache (FT_Face ft_face, cairo_t *cr, int lvl);
-
-static cairo_font_face_t *
-_load_font (FT_Face ft_face, int flags, cairo_t *cr, int lvl)
-{
-    cairo_font_face_t *font_face;
-    cairo_font_extents_t font_extents;
-
-    _stress_font_cache (ft_face, cr, lvl+1);
-
-    font_face = cairo_ft_font_face_create_for_ft_face (ft_face, flags);
-
-    cairo_set_font_face (cr, font_face);
-    cairo_font_extents (cr, &font_extents);
-
-    _stress_font_cache (ft_face, cr, lvl+1);
-
-    return font_face;
-}
-
-static void
-_stress_font_cache (FT_Face ft_face, cairo_t *cr, int lvl)
-{
-#define A _load_font (ft_face, 0, cr, lvl)
-#define B _load_font (ft_face, FT_LOAD_NO_BITMAP, cr, lvl)
-#define C _load_font (ft_face, FT_LOAD_NO_RECURSE, cr, lvl)
-#define D _load_font (ft_face, FT_LOAD_FORCE_AUTOHINT, cr, lvl)
-
-    cairo_font_face_t *font_face[4];
-
-    while (lvl++ < 5) {
-       font_face[0] = A; font_face[1] = A;
-       font_face[2] = A; font_face[3] = A;
-       cairo_font_face_destroy (font_face[0]);
-       cairo_font_face_destroy (font_face[1]);
-       cairo_font_face_destroy (font_face[2]);
-       cairo_font_face_destroy (font_face[3]);
-
-       font_face[0] = A; font_face[1] = B;
-       font_face[2] = C; font_face[3] = D;
-       cairo_font_face_destroy (font_face[0]);
-       cairo_font_face_destroy (font_face[1]);
-       cairo_font_face_destroy (font_face[2]);
-       cairo_font_face_destroy (font_face[3]);
-
-       font_face[0] = A; font_face[1] = B;
-       font_face[2] = C; font_face[3] = D;
-       cairo_font_face_destroy (font_face[3]);
-       cairo_font_face_destroy (font_face[2]);
-       cairo_font_face_destroy (font_face[1]);
-       cairo_font_face_destroy (font_face[0]);
-
-       font_face[0] = A;
-       font_face[1] = A;
-       cairo_font_face_destroy (font_face[0]);
-       font_face[2] = A;
-       cairo_font_face_destroy (font_face[1]);
-       font_face[3] = A;
-       cairo_font_face_destroy (font_face[2]);
-       cairo_font_face_destroy (font_face[3]);
-
-       font_face[0] = A;
-       font_face[1] = B;
-       cairo_font_face_destroy (font_face[0]);
-       font_face[2] = C;
-       cairo_font_face_destroy (font_face[1]);
-       font_face[3] = D;
-       cairo_font_face_destroy (font_face[2]);
-       cairo_font_face_destroy (font_face[3]);
-    }
-
-#undef A
-#undef B
-#undef C
-#undef D
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    FcPattern *pattern, *resolved;
-    FcResult result;
-    cairo_font_face_t *font_face;
-    cairo_scaled_font_t *scaled_font;
-    cairo_font_options_t *font_options;
-    cairo_font_extents_t font_extents;
-    cairo_matrix_t font_matrix, ctm;
-    FT_Face ft_face;
-
-    /* We're trying here to get our hands on _some_ FT_Face but we do
-     * not at all care which one. So we start with an empty pattern
-     * and do the minimal substitution on it in order to get a valid
-     * pattern.
-     *
-     * Do not use this in production code! */
-    pattern = FcPatternCreate ();
-    if (! pattern) {
-       cairo_test_log (ctx, "FcPatternCreate failed.\n");
-       return cairo_test_status_from_status (ctx, CAIRO_STATUS_NO_MEMORY);
-    }
-
-    FcConfigSubstitute (NULL, pattern, FcMatchPattern);
-    FcDefaultSubstitute (pattern);
-    resolved = FcFontMatch (NULL, pattern, &result);
-    if (! resolved) {
-       FcPatternDestroy (pattern);
-       cairo_test_log (ctx, "FcFontMatch failed.\n");
-       return cairo_test_status_from_status (ctx, CAIRO_STATUS_NO_MEMORY);
-    }
-
-    font_face = cairo_ft_font_face_create_for_pattern (resolved);
-    if (cairo_font_face_status (font_face)) {
-       FcPatternDestroy (resolved);
-       FcPatternDestroy (pattern);
-       return cairo_test_status_from_status (ctx, cairo_font_face_status (font_face));
-    }
-
-    if (cairo_font_face_get_type (font_face) != CAIRO_FONT_TYPE_FT) {
-       cairo_test_log (ctx, "Unexpected value from cairo_font_face_get_type: %d (expected %d)\n",
-                       cairo_font_face_get_type (font_face), CAIRO_FONT_TYPE_FT);
-       cairo_font_face_destroy (font_face);
-       FcPatternDestroy (resolved);
-       FcPatternDestroy (pattern);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    cairo_matrix_init_identity (&font_matrix);
-
-    cairo_get_matrix (cr, &ctm);
-
-    font_options = cairo_font_options_create ();
-
-    cairo_get_font_options (cr, font_options);
-
-    scaled_font = cairo_scaled_font_create (font_face,
-                                           &font_matrix,
-                                           &ctm,
-                                           font_options);
-
-    cairo_font_options_destroy (font_options);
-    cairo_font_face_destroy (font_face);
-    FcPatternDestroy (pattern);
-    FcPatternDestroy (resolved);
-
-    if (cairo_scaled_font_status (scaled_font)) {
-       return cairo_test_status_from_status (ctx,
-                                             cairo_scaled_font_status (scaled_font));
-    }
-
-    if (cairo_scaled_font_get_type (scaled_font) != CAIRO_FONT_TYPE_FT) {
-       cairo_test_log (ctx, "Unexpected value from cairo_scaled_font_get_type: %d (expected %d)\n",
-                       cairo_scaled_font_get_type (scaled_font), CAIRO_FONT_TYPE_FT);
-       cairo_scaled_font_destroy (scaled_font);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    ft_face = cairo_ft_scaled_font_lock_face (scaled_font);
-    if (ft_face == NULL) {
-       cairo_test_log (ctx, "Failed to get an ft_face with cairo_ft_scaled_font_lock_face\n");
-       cairo_scaled_font_destroy (scaled_font);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    /* phew, that was a lot of work. But at least we didn't ever have
-     * to call freetype directly, nor did we have to make many (any?)
-     * assumptions about the current system.
-     *
-     * Now, on to the simple thing we actually want to test.
-     */
-
-    cairo_save (cr);
-
-    /* First we want to test caching behaviour */
-    _stress_font_cache (ft_face, cr, 0);
-
-    /* Set the font_face and force cairo to actually use it for
-     * something. */
-    font_face = cairo_ft_font_face_create_for_ft_face (ft_face, 0);
-    cairo_set_font_face (cr, font_face);
-    cairo_font_extents (cr, &font_extents);
-
-    cairo_restore (cr);
-
-    /* Finally, even more cleanup */
-    cairo_font_face_destroy (font_face);
-    cairo_ft_scaled_font_unlock_face (scaled_font);
-    cairo_scaled_font_destroy (scaled_font);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (ft_font_create_for_ft_face,
-           "Simple test to verify that cairo_ft_font_create_for_ft_face doesn't crash.",
-           "ft, font", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
-
diff --git a/test/ft-show-glyphs-positioning.c b/test/ft-show-glyphs-positioning.c
deleted file mode 100644 (file)
index 449f8eb..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright © 2008 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-#include <cairo-ft.h>
-
-#define TEXT_SIZE 12
-
-typedef struct {
-    cairo_glyph_t glyph_list[100];
-    int num_glyphs;
-    double x;
-    double y;
-} glyph_array_t;
-
-static void
-glyph_array_init (glyph_array_t *glyphs, double x, double y)
-{
-    glyphs->num_glyphs = 0;
-    glyphs->x = x;
-    glyphs->y = y;
-}
-
-static void
-glyph_array_rel_move_to (glyph_array_t *glyphs, double x, double y)
-{
-    glyphs->x += x;
-    glyphs->y += y;
-}
-
-static void
-glyph_array_show (glyph_array_t *glyphs, cairo_t *cr)
-{
-    cairo_show_glyphs (cr, glyphs->glyph_list, glyphs->num_glyphs);
-}
-
-#define DOUBLE_FROM_26_6(t) ((double)(t) / 64.0)
-
-static cairo_status_t
-glyph_array_add_text(glyph_array_t *glyphs, cairo_t *cr, const char *s, double spacing)
-{
-    cairo_scaled_font_t *scaled_font;
-    cairo_status_t status;
-    FT_Face face;
-    unsigned long charcode;
-    unsigned int index;
-    cairo_text_extents_t extents;
-    const char *p;
-    FT_Vector kerning;
-    double kern_x;
-    int first = TRUE;
-
-    scaled_font = cairo_get_scaled_font (cr);
-    status = cairo_scaled_font_status (scaled_font);
-    if (status)
-       return status;
-
-    face = cairo_ft_scaled_font_lock_face (scaled_font);
-    if (face == NULL)
-       return CAIRO_STATUS_FONT_TYPE_MISMATCH;
-
-    p = s;
-    while (*p)
-    {
-        charcode = *p;
-        index = FT_Get_Char_Index (face, charcode);
-        glyphs->glyph_list[glyphs->num_glyphs].index = index;
-        if (first) {
-            first = FALSE;
-            glyphs->glyph_list[glyphs->num_glyphs].x = glyphs->x;
-            glyphs->glyph_list[glyphs->num_glyphs].y = glyphs->y;
-        } else {
-            cairo_glyph_extents (cr, &glyphs->glyph_list[glyphs->num_glyphs - 1], 1, &extents);
-            FT_Get_Kerning (face,
-                            glyphs->glyph_list[glyphs->num_glyphs - 1].index,
-                            glyphs->glyph_list[glyphs->num_glyphs].index,
-                            FT_KERNING_UNSCALED,
-                            &kerning);
-            kern_x = DOUBLE_FROM_26_6(kerning.x);
-            glyphs->glyph_list[glyphs->num_glyphs].x =
-               glyphs->glyph_list[glyphs->num_glyphs - 1].x + extents.x_advance + kern_x + spacing;
-            glyphs->glyph_list[glyphs->num_glyphs].y =
-               glyphs->glyph_list[glyphs->num_glyphs - 1].y + extents.y_advance;
-       }
-
-       cairo_glyph_extents (cr, &glyphs->glyph_list[glyphs->num_glyphs], 1, &extents);
-       glyphs->x = glyphs->glyph_list[glyphs->num_glyphs].x + extents.x_advance + spacing;
-       glyphs->y = glyphs->glyph_list[glyphs->num_glyphs].y + extents.y_advance;
-       p++;
-        glyphs->num_glyphs++;
-    }
-
-    cairo_ft_scaled_font_unlock_face (scaled_font);
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    glyph_array_t glyphs;
-    cairo_font_options_t *font_options;
-    cairo_status_t status;
-
-    /* paint white so we don't need separate ref images for
-     * RGB24 and ARGB32 */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    font_options = cairo_font_options_create ();
-    cairo_get_font_options (cr, font_options);
-    cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_OFF);
-    cairo_set_font_options (cr, font_options);
-    cairo_font_options_destroy (font_options);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-
-    glyph_array_init (&glyphs, 1, TEXT_SIZE);
-
-    status = glyph_array_add_text(&glyphs, cr, "AWAY again", 0.0);
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    glyph_array_rel_move_to (&glyphs, TEXT_SIZE*1, 0.0);
-    status = glyph_array_add_text(&glyphs, cr, "character space", TEXT_SIZE*0.3);
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    glyph_array_show (&glyphs, cr);
-
-
-    glyph_array_init (&glyphs, 1, TEXT_SIZE*2 + 4);
-
-    status = glyph_array_add_text(&glyphs, cr, "Increasing", 0.0);
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    glyph_array_rel_move_to (&glyphs, TEXT_SIZE*0.5, 0.0);
-    status = glyph_array_add_text(&glyphs, cr, "space", 0.0);
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    glyph_array_rel_move_to (&glyphs, TEXT_SIZE*1.0, 0.0);
-    status = glyph_array_add_text(&glyphs, cr, "between", 0.0);
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    glyph_array_rel_move_to (&glyphs, TEXT_SIZE*1.5, 0.0);
-    status = glyph_array_add_text(&glyphs, cr, "words", 0.0);
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    glyph_array_show (&glyphs, cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (ft_show_glyphs_positioning,
-           "Test that the PS/PDF glyph positioning optimizations are correct",
-           "ft, text", /* keywords */
-           NULL, /* requirements */
-           235, (TEXT_SIZE + 4)*2,
-           NULL, draw)
diff --git a/test/ft-show-glyphs-table.c b/test/ft-show-glyphs-table.c
deleted file mode 100644 (file)
index 344392f..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Authors: Eugeniy Meshcheryakov <eugen@debian.org>
- *         Adrian Johnson <ajohnson@redneon.com>
- *         Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-#include <cairo-ft.h>
-
-#define TEXT_SIZE      20
-#define PAD            10
-#define GRID_SIZE      30
-#define GRID_ROWS      10
-#define GRID_COLS      4
-#define NUM_GLYPHS     (GRID_ROWS * GRID_COLS)
-#define WIDTH          (PAD + GRID_COLS * GRID_SIZE + PAD)
-#define HEIGHT         (PAD + GRID_ROWS * GRID_SIZE + PAD)
-
-/* This test was originally inspired by this bug report:
- *
- * Error when creating pdf charts for new FreeSerifItalic.ttf
- * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%23474136
- *
- * The original assertion failure was fairly boring, but the later
- * glyph mispositiing was quite interesting. And it turns out that the
- * _cairo_pdf_operators_show_glyphs code is fairly convoluted with a
- * code path that wasn't being exercised at all by the test suite.
- *
- * So this is an attempt to exercise that code path. Apparently laying
- * glyphs out vertically in a table like this, (so that there's a
- * large change in Y position from one glyph to the next), exercises
- * the code well.
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_font_options_t *font_options;
-    cairo_scaled_font_t *scaled_font;
-    FT_Face face;
-    FT_ULong charcode;
-    FT_UInt idx;
-    int i = 0;
-    cairo_glyph_t glyphs[NUM_GLYPHS];
-
-    /* paint white so we don't need separate ref images for
-     * RGB24 and ARGB32 */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    font_options = cairo_font_options_create ();
-    cairo_get_font_options (cr, font_options);
-    cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_OFF);
-    cairo_set_font_options (cr, font_options);
-    cairo_font_options_destroy (font_options);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-
-    scaled_font = cairo_get_scaled_font (cr);
-    face = cairo_ft_scaled_font_lock_face (scaled_font);
-    {
-       charcode = FT_Get_First_Char(face, &idx);
-       while (idx && (i < NUM_GLYPHS)) {
-           glyphs[i] = (cairo_glyph_t) {idx, PAD + GRID_SIZE * (i/GRID_ROWS), PAD + TEXT_SIZE + GRID_SIZE * (i%GRID_ROWS)};
-           i++;
-           charcode = FT_Get_Next_Char(face, charcode, &idx);
-       }
-    }
-    cairo_ft_scaled_font_unlock_face (scaled_font);
-
-    cairo_show_glyphs(cr, glyphs, i);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (ft_show_glyphs_table,
-           "Test cairo_show_glyphs with cairo-ft backend and glyphs laid out in a table",
-           "ft, text", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
-
diff --git a/test/ft-text-antialias-none.c b/test/ft-text-antialias-none.c
deleted file mode 100644 (file)
index 64eea64..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright © 2006 Jinghua Luo
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * JINGHUA LUO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Jinghua Luo <sunmoon1997@gmail.com>
- * Derived from:
- *  text-antialias-none.c,
- *  ft-font-create-for-ft-face.c.
- * Original Author: Carl D. Worth <cworth@cworth.org>
- */
-#include "cairo-test.h"
-#include <cairo-ft.h>
-
-#define WIDTH  40
-#define HEIGHT 30
-#define TEXT_SIZE 12
-
-static cairo_status_t
-create_scaled_font (cairo_t * cr,
-                   cairo_scaled_font_t **out)
-{
-    FcPattern *pattern, *resolved;
-    FcResult result;
-    cairo_font_face_t *font_face;
-    cairo_scaled_font_t *scaled_font;
-    cairo_font_options_t *font_options;
-    cairo_matrix_t font_matrix, ctm;
-    cairo_status_t status;
-    double pixel_size;
-
-    font_options = cairo_font_options_create ();
-
-    cairo_get_font_options (cr, font_options);
-
-    pattern = FcPatternCreate ();
-    if (pattern == NULL)
-       return CAIRO_STATUS_NO_MEMORY;
-
-    FcPatternAddString (pattern, FC_FAMILY, (FcChar8 *) CAIRO_TEST_FONT_FAMILY " Sans");
-    FcPatternAddDouble (pattern, FC_SIZE, TEXT_SIZE);
-    FcConfigSubstitute (NULL, pattern, FcMatchPattern);
-
-    cairo_ft_font_options_substitute (font_options, pattern);
-
-    FcDefaultSubstitute (pattern);
-    resolved = FcFontMatch (NULL, pattern, &result);
-    if (resolved == NULL) {
-       FcPatternDestroy (pattern);
-       return CAIRO_STATUS_NO_MEMORY;
-    }
-
-    /* turn antialiasing off */
-    FcPatternDel (resolved, FC_ANTIALIAS);
-    FcPatternAddBool (resolved, FC_ANTIALIAS, FcFalse);
-
-    FcPatternGetDouble (resolved, FC_PIXEL_SIZE, 0, &pixel_size);
-
-    font_face = cairo_ft_font_face_create_for_pattern (resolved);
-
-    cairo_matrix_init_identity (&font_matrix);
-    cairo_matrix_scale (&font_matrix, pixel_size, pixel_size);
-
-    cairo_get_matrix (cr, &ctm);
-
-    scaled_font = cairo_scaled_font_create (font_face,
-                                           &font_matrix,
-                                           &ctm,
-                                           font_options);
-
-    cairo_font_options_destroy (font_options);
-    cairo_font_face_destroy (font_face);
-    FcPatternDestroy (pattern);
-    FcPatternDestroy (resolved);
-
-    status = cairo_scaled_font_status (scaled_font);
-    if (status) {
-       cairo_scaled_font_destroy (scaled_font);
-       return status;
-    }
-
-    *out = scaled_font;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_text_extents_t extents;
-    cairo_scaled_font_t *scaled_font;
-    cairo_status_t status;
-    const char black[] = "black", blue[] = "blue";
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    status = create_scaled_font (cr, &scaled_font);
-    if (status) {
-       return cairo_test_status_from_status (cairo_test_get_context (cr),
-                                             status);
-    }
-
-    cairo_set_scaled_font (cr, scaled_font);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-    cairo_text_extents (cr, black, &extents);
-    cairo_move_to (cr, -extents.x_bearing, -extents.y_bearing);
-    cairo_show_text (cr, black);
-    cairo_translate (cr, 0, -extents.y_bearing + 1);
-
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_text_extents (cr, blue, &extents);
-    cairo_move_to (cr, -extents.x_bearing, -extents.y_bearing);
-    cairo_show_text (cr, blue);
-
-    cairo_scaled_font_destroy (scaled_font);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (ft_text_antialias_none,
-           "Tests text rendering with no antialiasing",
-           "ft, text", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/ft-text-vertical-layout-type1.c b/test/ft-text-vertical-layout-type1.c
deleted file mode 100644 (file)
index c6f26a6..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright © 2006 Jinghua Luo
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * JINGHUA LUO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Jinghua Luo <sunmoon1997@gmail.com>
- * Derived from:
- *  text-antialias-none.c,
- *  ft-font-create-for-ft-face.c.
- * Original Author: Carl D. Worth <cworth@cworth.org>
- */
-#include "cairo-test.h"
-#include <cairo-ft.h>
-
-#define WIDTH  80
-#define HEIGHT 240
-#define TEXT_SIZE 30
-
-static cairo_status_t
-create_scaled_font (cairo_t * cr,
-                   cairo_scaled_font_t **out)
-{
-    FcPattern *pattern, *resolved;
-    FcResult result;
-    cairo_font_face_t *font_face;
-    cairo_scaled_font_t *scaled_font;
-    cairo_font_options_t *font_options;
-    cairo_matrix_t font_matrix, ctm;
-    cairo_status_t status;
-    double pixel_size;
-
-    font_options = cairo_font_options_create ();
-
-    cairo_get_font_options (cr, font_options);
-
-    pattern = FcPatternCreate ();
-    if (pattern == NULL)
-       return CAIRO_STATUS_NO_MEMORY;
-
-    FcPatternAddString (pattern, FC_FAMILY, (FcChar8 *)"Nimbus Sans L");
-    FcPatternAddDouble (pattern, FC_PIXEL_SIZE, TEXT_SIZE);
-    FcConfigSubstitute (NULL, pattern, FcMatchPattern);
-
-    cairo_ft_font_options_substitute (font_options, pattern);
-
-    FcDefaultSubstitute (pattern);
-    resolved = FcFontMatch (NULL, pattern, &result);
-    if (resolved == NULL) {
-       FcPatternDestroy (pattern);
-       return CAIRO_STATUS_NO_MEMORY;
-    }
-
-    /* set layout to vertical */
-    FcPatternDel (resolved, FC_VERTICAL_LAYOUT);
-    FcPatternAddBool (resolved, FC_VERTICAL_LAYOUT, FcTrue);
-
-    FcPatternGetDouble (resolved, FC_PIXEL_SIZE, 0, &pixel_size);
-
-    font_face = cairo_ft_font_face_create_for_pattern (resolved);
-
-    cairo_matrix_init_translate (&font_matrix, 10, 30);
-    cairo_matrix_rotate (&font_matrix, M_PI_2/3);
-    cairo_matrix_scale (&font_matrix, pixel_size, pixel_size);
-
-    cairo_get_matrix (cr, &ctm);
-
-    scaled_font = cairo_scaled_font_create (font_face,
-                                           &font_matrix,
-                                           &ctm,
-                                           font_options);
-
-    cairo_font_options_destroy (font_options);
-    cairo_font_face_destroy (font_face);
-    FcPatternDestroy (pattern);
-    FcPatternDestroy (resolved);
-
-    status = cairo_scaled_font_status (scaled_font);
-    if (status) {
-       cairo_scaled_font_destroy (scaled_font);
-       return status;
-    }
-
-    *out = scaled_font;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_text_extents_t extents;
-    cairo_scaled_font_t *scaled_font;
-    cairo_status_t status;
-    const char text[] = "i-W";
-    double line_width, x, y;
-
-    line_width = cairo_get_line_width (cr);
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    status = create_scaled_font (cr, &scaled_font);
-    if (status) {
-       return cairo_test_status_from_status (cairo_test_get_context (cr),
-                                             status);
-    }
-
-    cairo_set_scaled_font (cr, scaled_font);
-    cairo_scaled_font_destroy (scaled_font);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-    cairo_text_extents (cr, text, &extents);
-    x = width  - (extents.width  + extents.x_bearing) - 5;
-    y = height - (extents.height + extents.y_bearing) - 5;
-    cairo_move_to (cr, x, y);
-    cairo_show_text (cr, text);
-    cairo_rectangle (cr,
-                    x + extents.x_bearing - line_width / 2,
-                    y + extents.y_bearing - line_width / 2,
-                    extents.width  + line_width,
-                    extents.height + line_width);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_text_extents (cr, text, &extents);
-    x = -extents.x_bearing + 5;
-    y = -extents.y_bearing + 5;
-    cairo_move_to (cr, x, y);
-    cairo_text_path (cr, text);
-    cairo_fill (cr);
-    cairo_rectangle (cr,
-                    x + extents.x_bearing - line_width / 2,
-                    y + extents.y_bearing - line_width / 2,
-                    extents.width  + line_width,
-                    extents.height + line_width);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (ft_text_vertical_layout_type1,
-           "Tests text rendering for vertical layout with Type1 fonts"
-           "\nCan fail if an incorrect font is loaded---need to bundle the desired font",
-           "ft, fc, text", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/ft-text-vertical-layout-type3.c b/test/ft-text-vertical-layout-type3.c
deleted file mode 100644 (file)
index 0cea9dd..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright © 2006 Jinghua Luo
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * JINGHUA LUO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Jinghua Luo <sunmoon1997@gmail.com>
- * Derived from:
- *  text-antialias-none.c,
- *  ft-font-create-for-ft-face.c.
- * Original Author: Carl D. Worth <cworth@cworth.org>
- */
-#include "cairo-test.h"
-#include <cairo-ft.h>
-
-#define WIDTH  80
-#define HEIGHT 200
-#define TEXT_SIZE 30
-
-static cairo_status_t
-create_scaled_font (cairo_t * cr,
-                   cairo_scaled_font_t **out)
-{
-    FcPattern *pattern, *resolved;
-    FcResult result;
-    cairo_font_face_t *font_face;
-    cairo_scaled_font_t *scaled_font;
-    cairo_font_options_t *font_options;
-    cairo_matrix_t font_matrix, ctm;
-    cairo_status_t status;
-    double pixel_size;
-
-    font_options = cairo_font_options_create ();
-
-    cairo_get_font_options (cr, font_options);
-
-    pattern = FcPatternCreate ();
-    if (pattern == NULL)
-       return CAIRO_STATUS_NO_MEMORY;
-
-    FcPatternAddString (pattern, FC_FAMILY, (FcChar8 *)CAIRO_TEST_FONT_FAMILY " Sans");
-    FcPatternAddDouble (pattern, FC_PIXEL_SIZE, TEXT_SIZE);
-    FcConfigSubstitute (NULL, pattern, FcMatchPattern);
-
-    cairo_ft_font_options_substitute (font_options, pattern);
-
-    FcDefaultSubstitute (pattern);
-    resolved = FcFontMatch (NULL, pattern, &result);
-    if (resolved == NULL) {
-       FcPatternDestroy (pattern);
-       return CAIRO_STATUS_NO_MEMORY;
-    }
-
-    /* set layout to vertical */
-    FcPatternDel (resolved, FC_VERTICAL_LAYOUT);
-    FcPatternAddBool (resolved, FC_VERTICAL_LAYOUT, FcTrue);
-
-    FcPatternGetDouble (resolved, FC_PIXEL_SIZE, 0, &pixel_size);
-
-    font_face = cairo_ft_font_face_create_for_pattern (resolved);
-
-    cairo_matrix_init_translate (&font_matrix, 10, 30);
-    cairo_matrix_rotate (&font_matrix, M_PI_2/3);
-    cairo_matrix_scale (&font_matrix, pixel_size, pixel_size);
-
-    cairo_get_matrix (cr, &ctm);
-
-    scaled_font = cairo_scaled_font_create (font_face,
-                                           &font_matrix,
-                                           &ctm,
-                                           font_options);
-
-    cairo_font_options_destroy (font_options);
-    cairo_font_face_destroy (font_face);
-    FcPatternDestroy (pattern);
-    FcPatternDestroy (resolved);
-
-    status = cairo_scaled_font_status (scaled_font);
-    if (status) {
-       cairo_scaled_font_destroy (scaled_font);
-       return status;
-    }
-
-    *out = scaled_font;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_text_extents_t extents;
-    cairo_scaled_font_t *scaled_font;
-    cairo_status_t status;
-    const char text[] = "i-W";
-    double line_width, x, y;
-
-    line_width = cairo_get_line_width (cr);
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    status = create_scaled_font (cr, &scaled_font);
-    if (status) {
-       return cairo_test_status_from_status (cairo_test_get_context (cr),
-                                             status);
-    }
-
-    cairo_set_scaled_font (cr, scaled_font);
-    cairo_scaled_font_destroy (scaled_font);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-    cairo_text_extents (cr, text, &extents);
-    x = width  - (extents.width  + extents.x_bearing) - 5;
-    y = height - (extents.height + extents.y_bearing) - 5;
-    cairo_move_to (cr, x, y);
-    cairo_show_text (cr, text);
-    cairo_rectangle (cr,
-                    x + extents.x_bearing - line_width / 2,
-                    y + extents.y_bearing - line_width / 2,
-                    extents.width  + line_width,
-                    extents.height + line_width);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_text_extents (cr, text, &extents);
-    x = -extents.x_bearing + 5;
-    y = -extents.y_bearing + 5;
-    cairo_move_to (cr, x, y);
-    cairo_text_path (cr, text);
-    cairo_fill (cr);
-    cairo_rectangle (cr,
-                    x + extents.x_bearing - line_width / 2,
-                    y + extents.y_bearing - line_width / 2,
-                    extents.width  + line_width,
-                    extents.height + line_width);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (ft_text_vertical_layout_type3,
-           "Tests text rendering for vertical layout with TrueType fonts",
-           "ft, fc, text", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/generate_refs.sh b/test/generate_refs.sh
deleted file mode 100755 (executable)
index e22aa25..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-# A very simple script. But sufficient, hopefully, for our current purposes.
-
-cat <<EOF
-# Note REFERENCE_IMAGES must be in lexicographical order.
-# Use generate_refs.sh on a git checkout with updated images.
-REFERENCE_IMAGES = \\
-EOF
-
-git ls-files 'reference/*.ref.png' '*.xfail.png' | sed 's/\(.*\)/      \1 \\/'
-echo ' $(NULL)'
diff --git a/test/get-and-set.c b/test/get-and-set.c
deleted file mode 100644 (file)
index 6a395d6..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-typedef struct {
-    cairo_operator_t op;
-    double tolerance;
-    cairo_fill_rule_t fill_rule;
-    double line_width;
-    cairo_line_cap_t line_cap;
-    cairo_line_join_t line_join;
-    double miter_limit;
-    cairo_matrix_t matrix;
-    double dash[5];
-    double dash_offset;
-} settings_t;
-
-/* Two sets of settings, no defaults */
-static const settings_t settings[] = {
-    {
-       CAIRO_OPERATOR_IN,
-       2.0,
-       CAIRO_FILL_RULE_EVEN_ODD,
-       7.7,
-       CAIRO_LINE_CAP_SQUARE,
-       CAIRO_LINE_JOIN_ROUND,
-       3.14,
-       {2.0, 0.0, 0.0, 2.0, 5.0, 5.0},
-       {0.1, 0.2, 0.3, 0.4, 0.5},
-       2.0
-    },
-    {
-       CAIRO_OPERATOR_ATOP,
-       5.25,
-       CAIRO_FILL_RULE_WINDING,
-       2.17,
-       CAIRO_LINE_CAP_ROUND,
-       CAIRO_LINE_JOIN_BEVEL,
-       1000.0,
-       {-3.0, 1.0, 1.0, -3.0, -4, -4},
-       {1.0, 2.0, 3.0, 4.0, 5.0},
-       3.0
-    }
-};
-
-static void
-settings_set (cairo_t *cr, const settings_t *settings)
-{
-    cairo_set_operator (cr, settings->op);
-    cairo_set_tolerance (cr, settings->tolerance);
-    cairo_set_fill_rule (cr, settings->fill_rule);
-    cairo_set_line_width (cr, settings->line_width);
-    cairo_set_line_cap (cr, settings->line_cap);
-    cairo_set_line_join (cr, settings->line_join);
-    cairo_set_miter_limit (cr, settings->miter_limit);
-    cairo_set_matrix (cr, &settings->matrix);
-    cairo_set_dash (cr, settings->dash, 5, settings->dash_offset);
-}
-
-static int
-settings_get (cairo_t *cr, settings_t *settings)
-{
-    int count;
-
-    settings->op = cairo_get_operator (cr);
-    settings->tolerance = cairo_get_tolerance (cr);
-    settings->fill_rule = cairo_get_fill_rule (cr);
-    settings->line_width = cairo_get_line_width (cr);
-    settings->line_cap = cairo_get_line_cap (cr);
-    settings->line_join = cairo_get_line_join (cr);
-    settings->miter_limit = cairo_get_miter_limit (cr);
-    cairo_get_matrix (cr, &settings->matrix);
-
-    count = cairo_get_dash_count (cr);
-    if (count != 5)
-       return -1;
-
-    cairo_get_dash (cr, settings->dash, &settings->dash_offset);
-
-    return 0;
-}
-
-static int
-settings_equal (const settings_t *a, const settings_t *b)
-{
-    return (a->op == b->op &&
-           a->tolerance == b->tolerance &&
-           a->fill_rule == b->fill_rule &&
-           a->line_width == b->line_width &&
-           a->line_cap == b->line_cap &&
-           a->line_join == b->line_join &&
-           a->miter_limit == b->miter_limit &&
-           a->matrix.xx == b->matrix.xx &&
-           a->matrix.xy == b->matrix.xy &&
-           a->matrix.x0 == b->matrix.x0 &&
-           a->matrix.yx == b->matrix.yx &&
-           a->matrix.yy == b->matrix.yy &&
-           a->matrix.y0 == b->matrix.y0 &&
-           memcmp(a->dash, b->dash, sizeof(a->dash)) == 0 &&
-           a->dash_offset == b->dash_offset);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    settings_t check;
-
-    settings_set (cr, &settings[0]);
-
-    cairo_save (cr);
-    {
-       settings_set (cr, &settings[1]);
-       if (settings_get (cr, &check))
-           return CAIRO_TEST_FAILURE;
-
-       if (!settings_equal (&settings[1], &check))
-           return CAIRO_TEST_FAILURE;
-    }
-    cairo_restore (cr);
-
-    if (settings_get (cr, &check))
-       return CAIRO_TEST_FAILURE;
-
-    if (!settings_equal (&settings[0], &check))
-       return CAIRO_TEST_FAILURE;
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (get_and_set,
-           "Tests calls to the most trivial cairo_get and cairo_set functions",
-           "api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/get-clip.c b/test/get-clip.c
deleted file mode 100644 (file)
index f97db3f..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Copyright © 2006 Novell, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Novell, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Novell, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Robert O'Callahan <rocallahan@novell.com>
- */
-
-#include "cairo-test.h"
-#include <stddef.h>
-
-static cairo_bool_t
-check_count (const cairo_test_context_t *ctx,
-            const char *message,
-             cairo_rectangle_list_t *list, int expected)
-{
-    if (list->status != CAIRO_STATUS_SUCCESS) {
-        cairo_test_log (ctx, "Error: %s; cairo_copy_clip_rectangle_list failed with \"%s\"\n",
-                        message, cairo_status_to_string(list->status));
-        return 0;
-    }
-
-    if (list->num_rectangles == expected)
-        return 1;
-    cairo_test_log (ctx, "Error: %s; expected %d rectangles, got %d\n", message,
-                    expected, list->num_rectangles);
-    return 0;
-}
-
-static cairo_bool_t
-check_unrepresentable (const cairo_test_context_t *ctx, const char *message, cairo_rectangle_list_t *list)
-{
-    if (list->status != CAIRO_STATUS_CLIP_NOT_REPRESENTABLE) {
-        cairo_test_log (ctx, "Error: %s; cairo_copy_clip_rectangle_list got unexpected result \"%s\"\n"
-                        " (we expected CAIRO_STATUS_CLIP_NOT_REPRESENTABLE)",
-                        message, cairo_status_to_string(list->status));
-        return 0;
-    }
-    return 1;
-}
-
-static cairo_bool_t
-check_rectangles_contain (const cairo_test_context_t *ctx,
-                         const char *message,
-                          cairo_rectangle_list_t *list,
-                          double x, double y, double width, double height)
-{
-    int i;
-
-    for (i = 0; i < list->num_rectangles; ++i) {
-        if (list->rectangles[i].x == x && list->rectangles[i].y == y &&
-            list->rectangles[i].width == width && list->rectangles[i].height == height)
-            return 1;
-    }
-    cairo_test_log (ctx, "Error: %s; rectangle list does not contain rectangle %f,%f,%f,%f\n",
-                    message, x, y, width, height);
-    return 0;
-}
-
-static cairo_bool_t
-check_clip_extents (const cairo_test_context_t *ctx,
-                   const char *message, cairo_t *cr,
-                    double x, double y, double width, double height)
-{
-    double ext_x1, ext_y1, ext_x2, ext_y2;
-    cairo_clip_extents (cr, &ext_x1, &ext_y1, &ext_x2, &ext_y2);
-    if (ext_x1 == x && ext_y1 == y && ext_x2 == x + width && ext_y2 == y + height)
-        return 1;
-    if (width == 0.0 && height == 0.0 && ext_x1 == ext_x2 && ext_y1 == ext_y2)
-        return 1;
-    cairo_test_log (ctx, "Error: %s; clip extents %f,%f,%f,%f should be %f,%f,%f,%f\n",
-                    message, ext_x1, ext_y1, ext_x2 - ext_x1, ext_y2 - ext_y1,
-                    x, y, width, height);
-    return 0;
-}
-
-#define SIZE 100
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_surface_t        *surface;
-    cairo_t                *cr;
-    cairo_rectangle_list_t *rectangle_list;
-    const char             *phase;
-    cairo_bool_t            completed = 0;
-    cairo_status_t          status;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, SIZE, SIZE);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-
-    /* first, test basic stuff. This should not be clipped, it should
-       return the surface rectangle. */
-    phase = "No clip set";
-    rectangle_list = cairo_copy_clip_rectangle_list (cr);
-    if (! check_count (ctx, phase, rectangle_list, 1) ||
-        ! check_clip_extents (ctx, phase, cr, 0, 0, SIZE, SIZE) ||
-        ! check_rectangles_contain (ctx, phase, rectangle_list, 0, 0, SIZE, SIZE))
-    {
-       goto FAIL;
-    }
-    cairo_rectangle_list_destroy (rectangle_list);
-
-    /* We should get the same results after applying a clip that contains the
-       existing clip. */
-    phase = "Clip beyond surface extents";
-    cairo_save (cr);
-    cairo_rectangle (cr, -10, -10, SIZE + 20 , SIZE + 20);
-    cairo_clip (cr);
-    rectangle_list = cairo_copy_clip_rectangle_list (cr);
-    if (! check_count (ctx, phase, rectangle_list, 1) ||
-        ! check_clip_extents (ctx, phase, cr, 0, 0, SIZE, SIZE) ||
-        ! check_rectangles_contain (ctx, phase, rectangle_list, 0, 0, SIZE, SIZE))
-    {
-       goto FAIL;
-    }
-    cairo_rectangle_list_destroy (rectangle_list);
-    cairo_restore (cr);
-
-    /* Test simple clip rect. */
-    phase = "Simple clip rect";
-    cairo_save (cr);
-    cairo_rectangle (cr, 10, 10, 80, 80);
-    cairo_clip (cr);
-    rectangle_list = cairo_copy_clip_rectangle_list (cr);
-    if (! check_count (ctx, phase, rectangle_list, 1) ||
-        ! check_clip_extents (ctx, phase, cr, 10, 10, 80, 80) ||
-        ! check_rectangles_contain (ctx, phase, rectangle_list, 10, 10, 80, 80))
-    {
-       goto FAIL;
-    }
-    cairo_rectangle_list_destroy (rectangle_list);
-    cairo_restore (cr);
-
-    /* Test everything clipped out. */
-    phase = "All clipped out";
-    cairo_save (cr);
-    cairo_clip (cr);
-    rectangle_list = cairo_copy_clip_rectangle_list (cr);
-    if (! check_count (ctx, phase, rectangle_list, 0) ||
-        ! check_clip_extents (ctx, phase, cr, 0, 0, 0, 0))
-    {
-       goto FAIL;
-    }
-    cairo_rectangle_list_destroy (rectangle_list);
-    cairo_restore (cr);
-
-    /* test two clip rects */
-    phase = "Two clip rects";
-    cairo_save (cr);
-    cairo_rectangle (cr, 10, 10, 10, 10);
-    cairo_rectangle (cr, 20, 20, 10, 10);
-    cairo_clip (cr);
-    cairo_rectangle (cr, 15, 15, 10, 10);
-    cairo_clip (cr);
-    rectangle_list = cairo_copy_clip_rectangle_list (cr);
-    if (! check_count (ctx, phase, rectangle_list, 2) ||
-        ! check_clip_extents (ctx, phase, cr, 15, 15, 10, 10) ||
-        ! check_rectangles_contain (ctx, phase, rectangle_list, 15, 15, 5, 5) ||
-        ! check_rectangles_contain (ctx, phase, rectangle_list, 20, 20, 5, 5))
-    {
-       goto FAIL;
-    }
-    cairo_rectangle_list_destroy (rectangle_list);
-    cairo_restore (cr);
-
-    /* test non-rectangular clip */
-    phase = "Nonrectangular clip";
-    cairo_save (cr);
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, 100, 100);
-    cairo_line_to (cr, 100, 0);
-    cairo_close_path (cr);
-    cairo_clip (cr);
-    rectangle_list = cairo_copy_clip_rectangle_list (cr);
-     /* can't get this in one tight user-space rectangle */
-    if (! check_unrepresentable (ctx, phase, rectangle_list) ||
-        ! check_clip_extents (ctx, phase, cr, 0, 0, 100, 100))
-    {
-       goto FAIL;
-    }
-    cairo_rectangle_list_destroy (rectangle_list);
-    cairo_restore (cr);
-
-    phase = "User space, simple scale, getting clip with same transform";
-    cairo_save (cr);
-    cairo_scale (cr, 2, 2);
-    cairo_rectangle (cr, 5, 5, 40, 40);
-    cairo_clip (cr);
-    rectangle_list = cairo_copy_clip_rectangle_list (cr);
-    if (! check_count (ctx, phase, rectangle_list, 1) ||
-        ! check_clip_extents (ctx, phase, cr, 5, 5, 40, 40) ||
-        ! check_rectangles_contain (ctx, phase, rectangle_list, 5, 5, 40, 40))
-    {
-       goto FAIL;
-    }
-    cairo_rectangle_list_destroy (rectangle_list);
-    cairo_restore (cr);
-
-    phase = "User space, simple scale, getting clip with no transform";
-    cairo_save (cr);
-    cairo_save (cr);
-    cairo_scale (cr, 2, 2);
-    cairo_rectangle (cr, 5, 5, 40, 40);
-    cairo_restore (cr);
-    cairo_clip (cr);
-    rectangle_list = cairo_copy_clip_rectangle_list (cr);
-    if (! check_count (ctx, phase, rectangle_list, 1) ||
-        ! check_clip_extents (ctx, phase, cr, 10, 10, 80, 80) ||
-        ! check_rectangles_contain (ctx, phase, rectangle_list, 10, 10, 80, 80))
-    {
-       goto FAIL;
-    }
-    cairo_rectangle_list_destroy (rectangle_list);
-    cairo_restore (cr);
-
-    phase = "User space, rotation, getting clip with no transform";
-    cairo_save (cr);
-    cairo_save (cr);
-    cairo_rotate (cr, 12);
-    cairo_rectangle (cr, 5, 5, 40, 40);
-    cairo_restore (cr);
-    cairo_clip (cr);
-    rectangle_list = cairo_copy_clip_rectangle_list (cr);
-    if (! check_unrepresentable (ctx, phase, rectangle_list))
-       goto FAIL;
-
-    completed = 1;
-FAIL:
-    cairo_rectangle_list_destroy (rectangle_list);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-
-    if (!completed)
-        return CAIRO_TEST_FAILURE;
-
-    return cairo_test_status_from_status (ctx, status);
-}
-
-CAIRO_TEST (get_clip,
-           "Test cairo_copy_clip_rectangle_list and cairo_clip_extents",
-           "clip, extents", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/get-group-target.c b/test/get-group-target.c
deleted file mode 100644 (file)
index 5aff19b..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 8
-#define PAD 2
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *group;
-    double x, y;
-
-    /* First paint background in blue. */
-    cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);
-    cairo_paint (cr);
-
-    /* Then clip so that the group surface ends up smaller than the
-     * original surface. */
-    cairo_rectangle (cr, PAD, PAD, width - 2 * PAD, height - 2 * PAD);
-    cairo_clip (cr);
-
-    /* Paint the clipped region in red (which should all be overwritten later). */
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    /* Redirect to a new group and get that surface. */
-    cairo_push_group (cr);
-    group = cairo_get_group_target (cr);
-
-    /* Then paint in green what we query the group surface size to be. */
-    cairo_set_source_rgb (cr, 0.0, 1.0, 0.0);
-    cairo_surface_get_device_offset (group, &x, &y);
-    /* Or rather, we calculate the group surface size based on the
-     * only thing we can query which is the device offset. Ideally,
-     * the size would always be the minimal (width - 2 * PAD, height -
-     * 2 * PAD) based on the clip. But currently, group targets are
-     * created oversized for paginated surfaces, so we only subtract
-     * anything from the size if there is a non-zero device offfset.
-     *
-     * The calculation below might also be less confusing if the sign
-     * convention on the device offset were reversed, but it is what
-     * it is. Oh well. */
-    cairo_rectangle (cr,
-                    -x, -y,
-                    width + 2 * x,
-                    height + 2 * y);
-    cairo_fill (cr);
-
-    /* Finish up the group painting. */
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (get_group_target,
-           "Test of both cairo_get_group_target and cairo_surface_get_device_offset",
-           "api", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/get-path-extents.c b/test/get-path-extents.c
deleted file mode 100644 (file)
index 4123ddb..0000000
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
- * Copyright © 2006 Novell, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Novell, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Novell, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Robert O'Callahan <rocallahan@novell.com>
- */
-
-#include "cairo-test.h"
-#include <stddef.h>
-#include <math.h>
-
-enum ExtentsType { FILL, STROKE, PATH };
-
-enum Relation { EQUALS, APPROX_EQUALS, CONTAINS };
-
-static cairo_bool_t
-check_extents (const cairo_test_context_t *ctx,
-              const char *message, cairo_t *cr, enum ExtentsType type,
-               enum Relation relation,
-               double x, double y, double width, double height)
-{
-    double ext_x1, ext_y1, ext_x2, ext_y2;
-    const char *type_string;
-    const char *relation_string;
-
-    switch (type) {
-    default:
-    case FILL:
-        type_string = "fill";
-        cairo_fill_extents (cr, &ext_x1, &ext_y1, &ext_x2, &ext_y2);
-        break;
-    case STROKE:
-        type_string = "stroke";
-        cairo_stroke_extents (cr, &ext_x1, &ext_y1, &ext_x2, &ext_y2);
-        break;
-    case PATH:
-        type_string = "path";
-        cairo_path_extents (cr, &ext_x1, &ext_y1, &ext_x2, &ext_y2);
-        break;
-    }
-
-    /* ignore results after an error occurs */
-    if (cairo_status (cr))
-       return 1;
-
-    switch (relation) {
-    default:
-    case EQUALS:
-        relation_string = "equal";
-        if (ext_x1 == x && ext_y1 == y && ext_x2 == x + width && ext_y2 == y + height)
-            return 1;
-        break;
-    case APPROX_EQUALS:
-        relation_string = "approx. equal";
-        if (fabs (ext_x1 - x) < 1. &&
-           fabs (ext_y1 - y) < 1. &&
-           fabs (ext_x2 - (x + width))  < 1. &&
-           fabs (ext_y2 - (y + height)) < 1.)
-       {
-            return 1;
-       }
-        break;
-    case CONTAINS:
-        relation_string = "contain";
-        if (width == 0 || height == 0) {
-            /* odd test that doesn't really test anything... */
-            return 1;
-        }
-        if (ext_x1 <= x && ext_y1 <= y && ext_x2 >= x + width && ext_y2 >= y + height)
-            return 1;
-        break;
-    }
-
-    cairo_test_log (ctx, "Error: %s; %s extents (%g, %g) x (%g, %g) should %s (%g, %g) x (%g, %g)\n",
-                    message, type_string,
-                    ext_x1, ext_y1, ext_x2 - ext_x1, ext_y2 - ext_y1,
-                    relation_string,
-                    x, y, width, height);
-    return 0;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *surface;
-    cairo_t         *cr2;
-    const char      *phase;
-    const char      string[] = "The quick brown fox jumps over the lazy dog.";
-    cairo_text_extents_t extents, scaled_font_extents;
-    cairo_status_t   status;
-    int              errors = 0;
-
-    surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                            CAIRO_CONTENT_COLOR, 100, 100);
-    /* don't use cr accidentally */
-    cr = NULL;
-    cr2 = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_line_width (cr2, 10);
-    cairo_set_line_join (cr2, CAIRO_LINE_JOIN_MITER);
-    cairo_set_miter_limit (cr2, 100);
-
-    phase = "No path";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 0, 0, 0, 0);
-
-    cairo_save (cr2);
-
-    cairo_new_path (cr2);
-    cairo_move_to (cr2, 200, 400);
-    cairo_rel_line_to (cr2, 0., 0.);
-    phase = "Degenerate line";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 200, 400, 0, 0);
-
-    cairo_new_path (cr2);
-    cairo_move_to (cr2, 200, 400);
-    cairo_rel_curve_to (cr2, 0., 0., 0., 0., 0., 0.);
-    phase = "Degenerate curve";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 200, 400, 0, 0);
-
-    cairo_new_path (cr2);
-    cairo_arc (cr2, 200, 400, 0., 0, 2 * M_PI);
-    phase = "Degenerate arc (R=0)";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 200, 400, 0, 0);
-
-    cairo_new_path (cr2);
-    cairo_arc_negative (cr2, 200, 400, 0., 0, 2 * M_PI);
-    phase = "Degenerate negative arc (R=0)";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 200, 400, 0, 0);
-
-    cairo_new_path (cr2);
-    cairo_arc (cr2, 200, 400, 10., 0, 0);
-    phase = "Degenerate arc (Θ=0)";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 210, 400, 0, 0);
-
-    cairo_new_path (cr2);
-    cairo_arc_negative (cr2, 200, 400, 10., 0, 0);
-    phase = "Degenerate negative arc (Θ=0)";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 210, 400, 0, 0);
-
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    /* Test that with CAIRO_LINE_CAP_ROUND, we get "dots" from
-     * cairo_move_to; cairo_rel_line_to(0,0) */
-    cairo_save (cr2);
-
-    cairo_set_line_cap (cr2, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_width (cr2, 20);
-
-    cairo_move_to (cr2, 200, 400);
-    cairo_rel_line_to (cr2, 0, 0);
-    phase = "Single 'dot'";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 190, 390, 20, 20);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 200, 400, 0, 0);
-
-    /* Add another dot without starting a new path */
-    cairo_move_to (cr2, 100, 500);
-    cairo_rel_line_to (cr2, 0, 0);
-    phase = "Multiple 'dots'";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 90, 390, 120, 120);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 100, 400, 100, 100);
-
-    cairo_new_path (cr2);
-
-    cairo_restore (cr2);
-
-    /* http://bugs.freedesktop.org/show_bug.cgi?id=7965 */
-    phase = "A horizontal, open path";
-    cairo_save (cr2);
-    cairo_set_line_cap (cr2, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr2, CAIRO_LINE_JOIN_ROUND);
-    cairo_move_to (cr2, 0, 180);
-    cairo_line_to (cr2, 750, 180);
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, -5, 175, 760, 10);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 0, 180, 750, 0);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    phase = "A vertical, open path";
-    cairo_save (cr2);
-    cairo_set_line_cap (cr2, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr2, CAIRO_LINE_JOIN_ROUND);
-    cairo_new_path (cr2);
-    cairo_move_to (cr2, 180, 0);
-    cairo_line_to (cr2, 180, 750);
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 175, -5, 10, 760);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 180, 0, 0, 750);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    phase = "A degenerate open path";
-    cairo_save (cr2);
-    cairo_set_line_cap (cr2, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr2, CAIRO_LINE_JOIN_ROUND);
-    cairo_new_path (cr2);
-    cairo_move_to (cr2, 180, 0);
-    cairo_line_to (cr2, 180, 0);
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 0, 0, 0, 0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 175, -5, 10, 10);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 180, 0, 0, 0);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    phase = "Simple rect";
-    cairo_save (cr2);
-    cairo_rectangle (cr2, 10, 10, 80, 80);
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 10, 10, 80, 80);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 5, 5, 90, 90);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 10, 10, 80, 80);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    phase = "Two rects";
-    cairo_save (cr2);
-    cairo_rectangle (cr2, 10, 10, 10, 10);
-    cairo_rectangle (cr2, 20, 20, 10, 10);
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 10, 10, 20, 20);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 5, 5, 30, 30);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 10, 10, 20, 20);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    phase = "Triangle";
-    cairo_save (cr2);
-    cairo_move_to (cr2, 10, 10);
-    cairo_line_to (cr2, 90, 90);
-    cairo_line_to (cr2, 90, 10);
-    cairo_close_path (cr2);
-    /* miter joins protrude 5*(1+sqrt(2)) above the top-left corner and to
-       the right of the bottom-right corner */
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 10, 10, 80, 80);
-    errors += !check_extents (ctx, phase, cr2, STROKE, CONTAINS, 0, 5, 95, 95);
-    errors += !check_extents (ctx, phase, cr2, PATH, CONTAINS, 10, 10, 80, 80);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    cairo_save (cr2);
-
-    cairo_set_line_width (cr2, 4);
-
-    cairo_rectangle (cr2, 10, 10, 30, 30);
-    cairo_rectangle (cr2, 25, 10, 15, 30);
-
-    cairo_set_fill_rule (cr2, CAIRO_FILL_RULE_EVEN_ODD);
-    phase = "EVEN_ODD overlapping rectangles";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 10, 10, 15, 30);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 8, 8, 34, 34);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 10, 10, 30, 30);
-
-    /* Test other fill rule with the same path. */
-
-    cairo_set_fill_rule (cr2, CAIRO_FILL_RULE_WINDING);
-    phase = "WINDING overlapping rectangles";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 10, 10, 30, 30);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 8, 8, 34, 34);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 10, 10, 30, 30);
-
-    /* Now, change the direction of the second rectangle and test both
-     * fill rules again. */
-    cairo_new_path (cr2);
-    cairo_rectangle (cr2, 10, 10, 30, 30);
-    cairo_rectangle (cr2, 25, 40, 15, -30);
-
-    cairo_set_fill_rule (cr2, CAIRO_FILL_RULE_EVEN_ODD);
-    phase = "EVEN_ODD overlapping rectangles";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 10, 10, 15, 30);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 8, 8, 34, 34);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 10, 10, 30, 30);
-
-    /* Test other fill rule with the same path. */
-
-    cairo_set_fill_rule (cr2, CAIRO_FILL_RULE_WINDING);
-    phase = "WINDING overlapping rectangles";
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 10, 10, 15, 30);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 8, 8, 34, 34);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 10, 10, 30, 30);
-
-    cairo_new_path (cr2);
-
-    cairo_restore (cr2);
-
-    /* http://bugs.freedesktop.org/show_bug.cgi?id=7245 */
-    phase = "Arc";
-    cairo_save (cr2);
-    cairo_arc (cr2, 250.0, 250.0, 157.0, 5.147, 3.432);
-    cairo_set_line_width (cr2, 154.0);
-    errors += !check_extents (ctx, phase, cr2, STROKE, APPROX_EQUALS, 16, 38, 468, 446);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    phase = "Text";
-    cairo_save (cr2);
-    cairo_select_font_face (cr2, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr2, 12);
-    cairo_text_extents (cr2, string, &extents);
-    /* double check that the two methods of measuring the text agree... */
-    cairo_scaled_font_text_extents (cairo_get_scaled_font (cr2),
-                                   string,
-                                   &scaled_font_extents);
-    if (memcmp (&extents, &scaled_font_extents, sizeof (extents))) {
-       cairo_test_log (ctx, "Error: cairo_text_extents() does not match cairo_scaled_font_text_extents() - font extents (%f, %f) x (%f, %f) should be (%f, %f) x (%f, %f)\n",
-                       scaled_font_extents.x_bearing,
-                       scaled_font_extents.y_bearing,
-                       scaled_font_extents.width,
-                       scaled_font_extents.height,
-                       extents.x_bearing,
-                       extents.y_bearing,
-                       extents.width,
-                       extents.height);
-       errors++;
-    }
-
-    cairo_move_to (cr2, -extents.x_bearing, -extents.y_bearing);
-    cairo_text_path (cr2, string);
-    cairo_set_line_width (cr2, 2.0);
-    /* XXX: We'd like to be able to use EQUALS here, but currently
-     * when hinting is enabled freetype returns integer extents. See
-     * http://cairographics.org/todo */
-    errors += !check_extents (ctx, phase, cr2, FILL, APPROX_EQUALS,
-                             0, 0, extents.width, extents.height);
-    errors += !check_extents (ctx, phase, cr2, STROKE, APPROX_EQUALS,
-                             -1, -1, extents.width+2, extents.height+2);
-    errors += !check_extents (ctx, phase, cr2, PATH, APPROX_EQUALS,
-                             0, 0, extents.width, extents.height);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    phase = "User space, simple scale, getting extents with same transform";
-    cairo_save (cr2);
-    cairo_scale (cr2, 2, 2);
-    cairo_rectangle (cr2, 5, 5, 40, 40);
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 5, 5, 40, 40);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 0, 0, 50, 50);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 5, 5, 40, 40);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    phase = "User space, simple scale, getting extents with no transform";
-    cairo_save (cr2);
-    cairo_save (cr2);
-    cairo_scale (cr2, 2, 2);
-    cairo_rectangle (cr2, 5, 5, 40, 40);
-    cairo_restore (cr2);
-    errors += !check_extents (ctx, phase, cr2, FILL, EQUALS, 10, 10, 80, 80);
-    errors += !check_extents (ctx, phase, cr2, STROKE, EQUALS, 5, 5, 90, 90);
-    errors += !check_extents (ctx, phase, cr2, PATH, EQUALS, 10, 10, 80, 80);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    phase = "User space, rotation, getting extents with transform";
-    cairo_save (cr2);
-    cairo_rectangle (cr2, -50, -50, 50, 50);
-    cairo_rotate (cr2, -M_PI/4);
-    /* the path in user space is now (nearly) the square rotated by
-       45 degrees about the origin. Thus its x1 and x2 are both nearly 0.
-       This should show any bugs where we just transform device-space
-       x1,y1 and x2,y2 to get the extents. */
-    /* The largest axis-aligned square inside the rotated path has
-       side lengths 50*sqrt(2), so a bit over 35 on either side of
-       the axes. With the stroke width added to the rotated path,
-       the largest axis-aligned square is a bit over 38 on either side of
-       the axes. */
-    errors += !check_extents (ctx, phase, cr2, FILL, CONTAINS, -35, -35, 35, 35);
-    errors += !check_extents (ctx, phase, cr2, STROKE, CONTAINS, -38, -38, 38, 38);
-    errors += !check_extents (ctx, phase, cr2, PATH, CONTAINS, -35, -35, 35, 35);
-    cairo_new_path (cr2);
-    cairo_restore (cr2);
-
-    status = cairo_status (cr2);
-    cairo_destroy (cr2);
-
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    return errors == 0 ? CAIRO_TEST_SUCCESS : CAIRO_TEST_FAILURE;
-}
-
-CAIRO_TEST (get_path_extents,
-           "Test cairo_fill_extents and cairo_stroke_extents",
-           "extents, path", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/get-xrender-format.c b/test/get-xrender-format.c
deleted file mode 100644 (file)
index 3228d57..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#include "cairo-xlib.h"
-#include "cairo-xlib-xrender.h"
-
-#include "cairo-boilerplate-xlib.h"
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    Display *dpy;
-    XRenderPictFormat *orig_format, *format;
-    cairo_surface_t *surface;
-    Pixmap pixmap;
-    int screen;
-    cairo_test_status_t result;
-
-    result = CAIRO_TEST_UNTESTED;
-
-    if (! cairo_test_is_target_enabled (ctx, "xlib"))
-       goto CLEANUP_TEST;
-
-    dpy = XOpenDisplay (NULL);
-    if (! dpy) {
-       cairo_test_log (ctx, "Error: Cannot open display: %s, skipping.\n",
-                       XDisplayName (NULL));
-       goto CLEANUP_TEST;
-    }
-
-    result = CAIRO_TEST_FAILURE;
-
-    screen = DefaultScreen (dpy);
-
-    cairo_test_log (ctx, "Testing with image surface.\n");
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1);
-
-    format = cairo_xlib_surface_get_xrender_format (surface);
-    if (format != NULL) {
-       cairo_test_log (ctx, "Error: expected NULL for image surface\n");
-       goto CLEANUP_SURFACE;
-    }
-
-    cairo_surface_destroy (surface);
-
-    cairo_test_log (ctx, "Testing with non-xrender xlib surface.\n");
-
-    pixmap = XCreatePixmap (dpy, DefaultRootWindow (dpy),
-                           1, 1, DefaultDepth (dpy, screen));
-    surface = cairo_xlib_surface_create (dpy, pixmap,
-                                        DefaultVisual (dpy, screen),
-                                        1, 1);
-    orig_format = XRenderFindVisualFormat (dpy, DefaultVisual (dpy, screen));
-    format = cairo_xlib_surface_get_xrender_format (surface);
-    if (format != orig_format) {
-       cairo_test_log (ctx, "Error: did not receive the same format as XRenderFindVisualFormat\n");
-       goto CLEANUP_PIXMAP;
-    }
-    cairo_surface_destroy (surface);
-    XFreePixmap (dpy, pixmap);
-
-    cairo_test_log (ctx, "Testing with xlib xrender surface.\n");
-
-    orig_format = XRenderFindStandardFormat (dpy, PictStandardARGB32);
-    pixmap = XCreatePixmap (dpy, DefaultRootWindow (dpy),
-                           1, 1, 32);
-    surface = cairo_xlib_surface_create_with_xrender_format (dpy,
-                                                            pixmap,
-                                                            DefaultScreenOfDisplay (dpy),
-                                                            orig_format,
-                                                            1, 1);
-    format = cairo_xlib_surface_get_xrender_format (surface);
-    if (format != orig_format) {
-       cairo_test_log (ctx, "Error: did not receive the same format originally set\n");
-       goto CLEANUP_PIXMAP;
-    }
-
-    result = CAIRO_TEST_SUCCESS;
-
-  CLEANUP_PIXMAP:
-    XFreePixmap (dpy, pixmap);
-  CLEANUP_SURFACE:
-    cairo_surface_destroy (surface);
-
-    XCloseDisplay (dpy);
-
-  CLEANUP_TEST:
-    return result;
-}
-
-CAIRO_TEST (get_xrender_format,
-           "Check XRender specific API",
-           "xrender, api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/gl-surface-source.c b/test/gl-surface-source.c
deleted file mode 100644 (file)
index 09d4d9c..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- * Copyright © 2010 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-#include <cairo-gl.h>
-
-#include "surface-source.c"
-
-struct closure {
-    Display *dpy;
-    GLXContext ctx;
-};
-
-static void
-cleanup (void *data)
-{
-    struct closure *arg = data;
-
-    glXDestroyContext (arg->dpy, arg->ctx);
-    XCloseDisplay (arg->dpy);
-
-    free (arg);
-}
-
-static cairo_surface_t *
-create_source_surface (int size)
-{
-    int rgba_attribs[] = {
-       GLX_RGBA,
-       GLX_RED_SIZE, 1,
-       GLX_GREEN_SIZE, 1,
-       GLX_BLUE_SIZE, 1,
-       GLX_ALPHA_SIZE, 1,
-       GLX_DOUBLEBUFFER,
-       None
-    };
-    XVisualInfo *visinfo;
-    GLXContext ctx;
-    struct closure *arg;
-    cairo_device_t *device;
-    cairo_surface_t *surface;
-    Display *dpy;
-
-    dpy = XOpenDisplay (NULL);
-    if (dpy == NULL)
-       return NULL;
-
-    visinfo = glXChooseVisual (dpy, DefaultScreen (dpy), rgba_attribs);
-    if (visinfo == NULL) {
-       XCloseDisplay (dpy);
-       return NULL;
-    }
-
-    ctx = glXCreateContext (dpy, visinfo, NULL, True);
-    XFree (visinfo);
-
-    if (ctx == NULL) {
-       XCloseDisplay (dpy);
-       return NULL;
-    }
-
-    arg = xmalloc (sizeof (struct closure));
-    arg->dpy = dpy;
-    arg->ctx = ctx;
-    device = cairo_glx_device_create (dpy, ctx);
-    if (cairo_device_set_user_data (device,
-                                   (cairo_user_data_key_t *) cleanup,
-                                   arg,
-                                   cleanup))
-    {
-       cleanup (arg);
-       return NULL;
-    }
-
-    surface = cairo_gl_surface_create (device,
-                                      CAIRO_CONTENT_COLOR_ALPHA,
-                                      size, size);
-    cairo_device_destroy (device);
-
-    return surface;
-}
-
-CAIRO_TEST (gl_surface_source,
-           "Test using a GL surface as the source",
-           "source", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           preamble, draw)
diff --git a/test/glyph-cache-pressure.c b/test/glyph-cache-pressure.c
deleted file mode 100644 (file)
index eb4f7c5..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-#include "cairo-boilerplate-scaled-font.h"
-
-#define TEXT_SIZE 12
-
-/* Bug history
- *
- * 2006-06-22  Carl Worth  <cworth@cworth.org>
- *
- *   This is a test case to demonstrate the following bug in the xlib backend:
- *
- *     Some characters aren't displayed when using xlib (cache usage missing freeze/thaw)
- *     https://bugs.freedesktop.org/show_bug.cgi?id=6955
- *
- *   We replicate this bug by using the cairo_scaled_font_set_max_glyphs_per_font
- *   function to artificially induce cache pressure. (This function was added
- *   for this very purpose.)
- *
- * 2006-06-22  Carl Worth  <cworth@cworth.org>
- *
- *   Bug was simple enough to solve by just adding a freeze/thaw pair
- *   around the scaled_font's glyph cache in
- *   _cairo_xlib_surface_show_glyphs, (I went ahead and added
- *   _cairo_sacled_font_freeze/thaw_cache functions for this).
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-
-    cairo_boilerplate_scaled_font_set_max_glyphs_cached (cairo_get_scaled_font (cr), 1);
-
-    cairo_move_to (cr, 1, TEXT_SIZE);
-    cairo_show_text (cr, "the five boxing wizards jump quickly");
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (glyph_cache_pressure,
-           "Ensure that all backends behave well under artificial glyph cache pressure",
-           "stress", /* keywords */
-           NULL, /* requirements */
-           223, TEXT_SIZE + 4,
-           NULL, draw)
diff --git a/test/gradient-alpha.c b/test/gradient-alpha.c
deleted file mode 100644 (file)
index 24cd324..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *gradient;
-
-    gradient = cairo_pattern_create_linear (0, -height,
-                                           0, height);
-    cairo_pattern_add_color_stop_rgba (gradient, 0.0,
-                                      1.0, 0.0, 0.0,
-                                      1.0);
-    cairo_pattern_add_color_stop_rgba (gradient, 1.0,
-                                      0.0, 0.0, 1.0,
-                                      0.5);
-
-    cairo_set_source (cr, gradient);
-
-    cairo_paint (cr);
-
-    cairo_pattern_destroy (gradient);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (gradient_alpha,
-           "Tests drawing of a gradient with various alpha values in the color stops",
-           "gradient, alpha", /* keywords */
-           NULL, /* requirements */
-           10, 10,
-           NULL, draw)
diff --git a/test/gradient-constant-alpha.c b/test/gradient-constant-alpha.c
deleted file mode 100644 (file)
index 7640b6e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *gradient;
-
-    gradient = cairo_pattern_create_linear (0, 0,
-                                           0, height);
-    cairo_pattern_add_color_stop_rgba (gradient, 0.0,
-                                      1.0, 0.0, 0.0,
-                                      0.5);
-    cairo_pattern_add_color_stop_rgba (gradient, 0.0,
-                                      0.0, 1.0, 0.0,
-                                      0.5);
-    cairo_pattern_add_color_stop_rgba (gradient, 1.0,
-                                      0.0, 0.0, 1.0,
-                                      0.5);
-
-    cairo_set_source (cr, gradient);
-
-    cairo_paint (cr);
-
-    cairo_pattern_destroy (gradient);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (gradient_constant_alpha,
-           "Tests drawing of a gradient with constant alpha values in the color stops",
-           "gradient, alpha", /* keywords */
-           NULL,
-           10, 10,
-           NULL, draw)
diff --git a/test/gradient-zero-stops-mask.c b/test/gradient-zero-stops-mask.c
deleted file mode 100644 (file)
index b2a10ec..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright © 2007 Brian Ewins
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Brian Ewins <Brian.Ewins@gmail.com>
- * Contributor(s):
- *      Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-/* This test case is designed to exercise the opaque test for
- * gradients with no stop.
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pat;
-
-    cairo_set_source_rgb (cr, 1., 0., 0.);
-
-    pat = cairo_pattern_create_linear (0., 0., 1., 1.);
-    cairo_mask (cr, pat);
-    cairo_pattern_destroy (pat);
-
-    pat = cairo_pattern_create_radial (0., 0., 0., 1., 1., 1.);
-    cairo_mask (cr, pat);
-    cairo_pattern_destroy (pat);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (gradient_zero_stops_mask,
-           "Verifies that gradients with no stops are considered clear.",
-           "gradient", /* keywords */
-           NULL, /* requirements */
-           2, 2,
-           NULL, draw)
diff --git a/test/gradient-zero-stops.c b/test/gradient-zero-stops.c
deleted file mode 100644 (file)
index 57a91c5..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright © 2007 Brian Ewins
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Brian Ewins <Brian.Ewins@gmail.com>
- */
-
-#include "cairo-test.h"
-
-/* This test case is designed to exercise the following bug:
- *
- *      Crash when trying to paint gradient with no stops
- *      https://bugzilla.mozilla.org/show_bug.cgi?id=407104
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pat;
-
-    pat = cairo_pattern_create_linear (0., 0., 1., 1.);
-    cairo_set_source (cr, pat);
-    cairo_paint (cr);
-    cairo_pattern_destroy (pat);
-
-    pat = cairo_pattern_create_radial (0., 0., 0., 1., 1., 1.);
-    cairo_set_source (cr, pat);
-    cairo_paint (cr);
-    cairo_pattern_destroy (pat);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (gradient_zero_stops,
-           "Verifies that gradients with no stops don't cause problems.",
-           "gradient", /* keywords */
-           NULL, /* requirements */
-           2, 2,
-           NULL, draw)
diff --git a/test/group-clip.c b/test/group-clip.c
deleted file mode 100644 (file)
index b99d861..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright © Chris Wilson, 2008
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Chris Wilson <chris@chris-wilson.co.uk>
- *          Larry Ewing <lewing@novell.com>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, 25, 25, width, height);
-    cairo_clip_preserve (cr);
-    cairo_push_group (cr);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_fill (cr);
-    cairo_rectangle (cr, 0, 0, width, height);
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-
-    cairo_reset_clip (cr);
-    cairo_clip_preserve (cr);
-    cairo_set_source_rgba (cr, 1, 0, 0, .5);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (group_clip,
-           "test preserving paths across groups",
-           "group", /* keywords */
-           NULL, /* requirements */
-           40 + 25, 40 + 25,
-           NULL, draw)
diff --git a/test/group-paint.c b/test/group-paint.c
deleted file mode 100644 (file)
index 3854485..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright © Chris Wilson, 2008
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_push_group (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_pop_group_to_source (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (group_paint,
-           "test push_group(); pop_group_to_source(); set_operator(SOURCE); paint();",
-           "group", /* keywords */
-           NULL, /* requirements */
-           10, 10,
-           NULL, draw)
diff --git a/test/group-state.c b/test/group-state.c
deleted file mode 100644 (file)
index a96b2e3..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2011 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define CHECK_STATUS(status)                                           \
-    do {                                                               \
-       if (cairo_status (cr) != (status)) {                            \
-           cairo_test_log (ctx, "Expected status: %s\n",               \
-                           cairo_status_to_string (status));           \
-           cairo_test_log (ctx, "Actual status: %s\n",                 \
-                           cairo_status_to_string (cairo_status (cr))); \
-           result = CAIRO_TEST_FAILURE;                                \
-       }                                                               \
-    } while (0)
-
-static void
-reinit_cairo (cairo_t **cr)
-{
-    if (*cr)
-       cairo_destroy (*cr);
-
-    *cr = cairo_create (cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1));
-    cairo_surface_destroy (cairo_get_target (*cr));
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_t *cr;
-    cairo_test_status_t result = CAIRO_TEST_SUCCESS;
-
-    cr = NULL;
-
-    reinit_cairo (&cr);
-
-    /* cairo_restore() must fail with CAIRO_STATUS_INVALID_RESTORE if
-     * no matching cairo_save() call has been performed. */
-    cairo_test_log (ctx, "Checking save(); push(); restore();\n");
-    cairo_save (cr);
-    CHECK_STATUS (CAIRO_STATUS_SUCCESS);
-    cairo_push_group (cr);
-    CHECK_STATUS (CAIRO_STATUS_SUCCESS);
-    cairo_restore (cr);
-    CHECK_STATUS (CAIRO_STATUS_INVALID_RESTORE);
-
-
-    reinit_cairo (&cr);
-
-    /* cairo_restore() must fail with CAIRO_STATUS_INVALID_RESTORE if
-     * no matching cairo_save() call has been performed. */
-    cairo_test_log (ctx, "Checking push(); save(); pop();\n");
-    cairo_push_group (cr);
-    CHECK_STATUS (CAIRO_STATUS_SUCCESS);
-    cairo_save (cr);
-    CHECK_STATUS (CAIRO_STATUS_SUCCESS);
-    cairo_pop_group_to_source (cr);
-    CHECK_STATUS (CAIRO_STATUS_INVALID_POP_GROUP);
-
-
-    cairo_destroy (cr);
-
-    return result;
-}
-
-CAIRO_TEST (group_state,
-           "Tests the interaction between state (cairo_save, cairo_restore) "
-           "and group (cairo_push_group/cairo_pop_group) API",
-           "api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/group-unaligned.c b/test/group-unaligned.c
deleted file mode 100644 (file)
index 9124a03..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright © Chris Wilson, 2008
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Chris Wilson <chris@chris-wilson.co.uk>
- *          Stefan Röllin <stefan.roellin@gmx.ch>
- */
-
-#include "cairo-test.h"
-
-static void
-circle (cairo_t* cr, double xc, double yc, double radius)
-{
-    cairo_arc (cr, xc, yc, radius, 0.0, 2*M_PI);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    circle (cr, 12.5, 12.5, 10.);
-    cairo_fill (cr);
-
-    cairo_push_group (cr);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    circle (cr, 12.5, 12.5, 10.);
-    cairo_fill (cr);
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (group_unaligned,
-           "test non-integer sized sub-surface",
-           "group", /* keywords */
-           NULL, /* requirements */
-           35.5, 35.5,
-           NULL, draw)
diff --git a/test/half-coverage.c b/test/half-coverage.c
deleted file mode 100644 (file)
index 38cafda..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* Test the fidelity of the rasterisation, because Cairo is my favourite
- * driver test suite.
- */
-
-#define SIZE 256
-#define WIDTH 2
-#define HEIGHT 10
-
-static cairo_test_status_t
-rectangles (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-
-    for (i = 1; i <= SIZE; i++) {
-       int x, y;
-
-       cairo_save (cr);
-       cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-       cairo_clip (cr);
-
-       cairo_scale (cr, 1./SIZE, 1./SIZE);
-       for (x = -i; x < SIZE*WIDTH; x += 2*i) {
-           for (y = -i; y < SIZE*HEIGHT; y += 2*i) {
-               /* Add a little tile composed of two non-overlapping squares
-                *   +--+
-                *   |  |
-                *   |__|__
-                *      |  |
-                *      |  |
-                *      +--+
-                */
-               cairo_rectangle (cr, x, y, i, i);
-               cairo_rectangle (cr, x+i, y+i, i, i);
-           }
-       }
-       cairo_fill (cr);
-       cairo_restore (cr);
-
-       cairo_translate (cr, WIDTH, 0);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-triangles (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-
-    for (i = 1; i <= SIZE; i++) {
-       int x, y;
-
-       cairo_save (cr);
-       cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-       cairo_clip (cr);
-
-       cairo_scale (cr, 1./SIZE, 1./SIZE);
-       for (x = -i; x < SIZE*WIDTH; x += 2*i) {
-           for (y = -i; y < SIZE*HEIGHT; y += 2*i) {
-               /* Add a tile composed of four non-overlapping
-                * triangles.  The plus and minus signs inside the
-                * triangles denote the orientation of the triangle's
-                * edges: + for clockwise and - for anticlockwise.
-                *
-                *   +-----+
-                *    \-|+/
-                *     \|/
-                *     /|\
-                *    /-|-\
-                *   +-----+
-                */
-
-               /* top left triangle */
-               cairo_move_to (cr, x, y);
-               cairo_line_to (cr, x+i, y+i);
-               cairo_line_to (cr, x+i, y);
-               cairo_close_path (cr);
-
-               /* top right triangle */
-               cairo_move_to (cr, x+i, y);
-               cairo_line_to (cr, x+2*i, y);
-               cairo_line_to (cr, x+i, y+i);
-               cairo_close_path (cr);
-
-               /* bottom left triangle */
-               cairo_move_to (cr, x+i, y+i);
-               cairo_line_to (cr, x, y+2*i);
-               cairo_line_to (cr, x+i, y+2*i);
-               cairo_close_path (cr);
-
-               /* bottom right triangle */
-               cairo_move_to (cr, x+i, y+i);
-               cairo_line_to (cr, x+i, y+2*i);
-               cairo_line_to (cr, x+2*i, y+2*i);
-               cairo_close_path (cr);
-           }
-       }
-       cairo_fill (cr);
-       cairo_restore (cr);
-
-       cairo_translate (cr, WIDTH, 0);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (half_coverage_rectangles,
-           "Check the fidelity of the rasterisation.",
-           NULL, /* keywords */
-           "target=raster slow", /* requirements */
-           WIDTH * SIZE, HEIGHT,
-           NULL, rectangles)
-
-CAIRO_TEST (half_coverage_triangles,
-           "Check the fidelity of the rasterisation.",
-           NULL, /* keywords */
-           "target=raster slow", /* requirements */
-           WIDTH * SIZE, HEIGHT,
-           NULL, triangles)
diff --git a/test/halo.c b/test/halo.c
deleted file mode 100644 (file)
index 30064e5..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* Try to replicate the misbehaviour of show_glyphs() versus glyph_path()
- * in the PDF backend reported by Ian Britten.
- */
-
-static void
-halo_around_path (cairo_t *cr, const char *str)
-{
-    cairo_text_path (cr, str);
-
-    cairo_set_source_rgb (cr, 0, .5, 1);
-    cairo_stroke_preserve (cr);
-    cairo_set_source_rgb (cr, 1, .5, 0);
-    cairo_fill (cr);
-}
-
-static void
-halo_around_text (cairo_t *cr, const char *str)
-{
-    double x, y;
-
-    cairo_get_current_point (cr, &x, &y);
-    cairo_text_path (cr, str);
-
-    cairo_set_source_rgb (cr, 0, .5, 1);
-    cairo_stroke(cr);
-
-    cairo_set_source_rgb (cr, 1, .5, 0);
-    cairo_move_to (cr, x, y);
-    cairo_show_text  (cr, str);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const char *string = "0123456789";
-    cairo_text_extents_t extents;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_text_extents (cr, string, &extents);
-
-    cairo_set_font_size (cr, 12);
-    cairo_set_line_width (cr, 3);
-    cairo_move_to (cr, 9, 4 + extents.height);
-    halo_around_path (cr, string);
-
-    cairo_move_to (cr, 109, 4 + extents.height);
-    halo_around_text (cr, string);
-
-    cairo_set_font_size (cr, 6);
-    cairo_set_line_width (cr, 3);
-    cairo_move_to (cr, 19 + extents.width, 20 + extents.height);
-    halo_around_path (cr, "0");
-
-    cairo_move_to (cr, 119 + extents.width, 20 + extents.height);
-    halo_around_text (cr, "0");
-
-    cairo_set_font_size (cr, 64);
-    cairo_set_line_width (cr, 10);
-    cairo_move_to (cr, 8, 70);
-    halo_around_path (cr, "6");
-    cairo_move_to (cr, 32, 90);
-    halo_around_path (cr, "7");
-
-    cairo_move_to (cr, 108, 70);
-    halo_around_text (cr, "6");
-    cairo_move_to (cr, 132, 90);
-    halo_around_text (cr, "7");
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_transform (cairo_t *cr, int width, int height)
-{
-    const char *string = "0123456789";
-    cairo_text_extents_t extents;
-
-    cairo_translate (cr, 50, 50);
-    cairo_scale (cr, M_SQRT2, M_SQRT2);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_text_extents (cr, string, &extents);
-
-    cairo_set_line_width (cr, 3);
-    cairo_move_to (cr, 9, 4 + extents.height);
-    halo_around_path (cr, string);
-
-    cairo_move_to (cr, 109, 4 + extents.height);
-    halo_around_text (cr, string);
-
-    cairo_set_font_size (cr, 6);
-    cairo_set_line_width (cr, 3);
-    cairo_move_to (cr, 19 + extents.width, 20 + extents.height);
-    halo_around_path (cr, "0");
-
-    cairo_move_to (cr, 119 + extents.width, 20 + extents.height);
-    halo_around_text (cr, "0");
-
-    cairo_set_font_size (cr, 64);
-    cairo_set_line_width (cr, 10);
-    cairo_move_to (cr, 8, 70);
-    halo_around_path (cr, "6");
-    cairo_move_to (cr, 32, 90);
-    halo_around_path (cr, "7");
-
-    cairo_move_to (cr, 108, 70);
-    halo_around_text (cr, "6");
-    cairo_move_to (cr, 132, 90);
-    halo_around_text (cr, "7");
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (halo,
-           "Check the show_glyphs() vs glyph_path()",
-           "text", /* keywords */
-           NULL, /* requirements */
-           200, 100,
-           NULL, draw)
-
-CAIRO_TEST (halo_transform,
-           "Check the show_glyphs() vs glyph_path()",
-           "text", /* keywords */
-           NULL, /* requirements */
-           400, 200,
-           NULL, draw_transform)
diff --git a/test/hatchings.c b/test/hatchings.c
deleted file mode 100644 (file)
index ca3f2c6..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define STEP   5
-#define WIDTH  100
-#define HEIGHT 100
-
-static void hatching (cairo_t *cr)
-{
-    int i;
-
-    cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-    cairo_clip (cr);
-
-    for (i = 0; i < WIDTH; i += STEP) {
-       cairo_rectangle (cr, i-1, -2, 2, HEIGHT+4);
-       cairo_rectangle (cr, -2, i-1, WIDTH+4, 2);
-    }
-}
-
-static void background (cairo_t *cr)
-{
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-}
-
-static void clip_to_quadrant (cairo_t *cr)
-{
-    cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-    cairo_clip (cr);
-}
-
-static void draw_hatching (cairo_t *cr, void (*func) (cairo_t *))
-{
-    cairo_save (cr); {
-       clip_to_quadrant (cr);
-       hatching (cr);
-       func (cr);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    cairo_save (cr); {
-       clip_to_quadrant (cr);
-       cairo_translate (cr, 0.25, 0.25);
-       hatching (cr);
-       func (cr);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-
-    cairo_save (cr); {
-       clip_to_quadrant (cr);
-       cairo_translate (cr, WIDTH/2, HEIGHT/2);
-       cairo_rotate (cr, M_PI/4);
-       cairo_translate (cr, -WIDTH/2, -HEIGHT/2);
-       hatching (cr);
-       func (cr);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, WIDTH, 0);
-}
-
-static void do_clip (cairo_t *cr)
-{
-    cairo_clip (cr);
-    cairo_paint (cr);
-}
-
-static void do_clip_alpha (cairo_t *cr)
-{
-    cairo_clip (cr);
-    cairo_paint_with_alpha (cr, .5);
-}
-
-static void hatchings (cairo_t *cr, void (*func) (cairo_t *))
-{
-    cairo_save (cr); {
-       cairo_set_source_rgb(cr, 1, 0, 0);
-       cairo_set_antialias (cr, CAIRO_ANTIALIAS_DEFAULT);
-       draw_hatching (cr, func);
-       cairo_set_source_rgb(cr, 0, 0, 1);
-       cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-       draw_hatching (cr, func);
-    } cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    background (cr);
-
-
-    /* aligned, misaligned, diagonal; mono repeat
-     * x fill
-     * x clip; paint
-     * x clip; paint-alpha
-     * repeated, for over/source
-     */
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-
-    hatchings (cr, cairo_fill);
-    cairo_translate (cr, 0, HEIGHT);
-    hatchings (cr, do_clip);
-    cairo_translate (cr, 0, HEIGHT);
-    hatchings (cr, do_clip_alpha);
-    cairo_translate (cr, 0, HEIGHT);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-
-    hatchings (cr, cairo_fill);
-    cairo_translate (cr, 0, HEIGHT);
-    hatchings (cr, do_clip);
-    cairo_translate (cr, 0, HEIGHT);
-    hatchings (cr, do_clip_alpha);
-    cairo_translate (cr, 0, HEIGHT);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (hatchings,
-           "Test drawing through various aligned/unaliged clips",
-           "clip, alpha", /* keywords */
-           "target=raster", /* requirements */
-           6*WIDTH, 6*HEIGHT,
-           NULL, draw)
diff --git a/test/horizontal-clip.c b/test/horizontal-clip.c
deleted file mode 100644 (file)
index 93127a7..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2011 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* Exercises a bug spotted by Andrea Canciani where the polygon clipping
- * code was hopeless broken with horizontal edges.
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 16
-#define HEIGHT 26
-
-#define BUGY 1
-#define BUGX (4 * BUGY * WIDTH * 256)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_move_to (cr,       - BUGX, 6 - BUGY);
-    cairo_line_to (cr,       + BUGX, 6 + BUGY);
-    cairo_line_to (cr, WIDTH + BUGX, 2 - BUGY);
-    cairo_line_to (cr, WIDTH - BUGX, 2 + BUGY);
-    cairo_fill (cr);
-
-    cairo_move_to (cr, WIDTH + BUGX, 8  - BUGY);
-    cairo_line_to (cr, WIDTH - BUGX, 8  + BUGY);
-    cairo_line_to (cr,       - BUGX, 12 - BUGY);
-    cairo_line_to (cr,       + BUGX, 12 + BUGY);
-    cairo_fill (cr);
-
-    cairo_move_to (cr,       - BUGX, 14 - BUGY);
-    cairo_line_to (cr,       + BUGX, 14 + BUGY);
-    cairo_line_to (cr, WIDTH + BUGX, 18 - BUGY);
-    cairo_line_to (cr, WIDTH - BUGX, 18 + BUGY);
-    cairo_fill (cr);
-
-    cairo_move_to (cr, WIDTH + BUGX, 24 - BUGY);
-    cairo_line_to (cr, WIDTH - BUGX, 24 + BUGY);
-    cairo_line_to (cr,       - BUGX, 20 - BUGY);
-    cairo_line_to (cr,       + BUGX, 20 + BUGY);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (horizontal_clip,
-           "Tests intersection of a nearly horizontal lines with a clipped polygon",
-           "clip, fill", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/huge-linear.c b/test/huge-linear.c
deleted file mode 100644 (file)
index f84b4ea..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright © 2006 Benjamin Otte
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-
-/* set this to 0.1 to make this test work */
-#define FACTOR 1.e6
-
-/* XXX poppler-cairo doesn't handle gradients very well... */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    cairo_matrix_t mat = {
-       0, -4.5254285714285709 * FACTOR,
-       -2.6398333333333333 * FACTOR, 0,
-       0, 0
-    };
-
-    pattern = cairo_pattern_create_linear (-16384 * FACTOR, 0,
-                                           16384 * FACTOR, 0);
-    cairo_pattern_add_color_stop_rgba (pattern,
-                                      0, 0.376471, 0.533333, 0.27451, 1);
-    cairo_pattern_add_color_stop_rgba (pattern, 1, 1, 1, 1, 1);
-    cairo_pattern_set_matrix (pattern, &mat);
-
-    cairo_scale (cr, 0.05, 0.05);
-    cairo_translate (cr, 6000, 3500);
-
-    cairo_set_source (cr, pattern);
-    cairo_rectangle (cr, -6000, -3500, 12000, 7000);
-    cairo_pattern_destroy (pattern);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (huge_linear,
-           "Test huge linear patterns",
-           "gradient, linear", /* keywords */
-           NULL, /* requirements */
-           600, 350,
-           NULL, draw)
diff --git a/test/huge-radial.c b/test/huge-radial.c
deleted file mode 100644 (file)
index 21524b7..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright © 2006 Benjamin Otte
- * Copyright © 2009 Chris Wilson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* set this to 0.1 to make this test work */
-#define FACTOR 1.e6
-
-/* XXX poppler-cairo doesn't handle gradients very well... */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    cairo_matrix_t mat = {
-       0, -4.5254285714285709 * FACTOR,
-       -2.6398333333333333 * FACTOR, 0,
-       0, 0
-    };
-
-    pattern = cairo_pattern_create_radial (0, 0, 0,
-                                          0, 0, 16384 * FACTOR);
-    cairo_pattern_add_color_stop_rgba (pattern,
-                                      0, 0.376471, 0.533333, 0.27451, 1);
-    cairo_pattern_add_color_stop_rgba (pattern, 1, 1, 1, 1, 1);
-    cairo_pattern_set_matrix (pattern, &mat);
-
-    cairo_scale (cr, 0.05, 0.05);
-    cairo_translate (cr, 6000, 3500);
-
-    cairo_set_source (cr, pattern);
-    cairo_rectangle (cr, -6000, -3500, 12000, 7000);
-    cairo_pattern_destroy (pattern);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (huge_radial,
-           "Test huge radial patterns",
-           "gradient, radial", /* keywords */
-           NULL, /* requirements */
-           600, 350,
-           NULL, draw)
diff --git a/test/image-bug-710072.c b/test/image-bug-710072.c
deleted file mode 100644 (file)
index 0c9cd8a..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/*
- * This test case aims to reproduce the misbehaviour exhibited in
- * https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/710072
- * i.e. out of bounds rendering with the rectangular span compositor.
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw_aligned (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, -10, -10, 20, 20);
-    cairo_rectangle (cr, 5, 5, 20, 20);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgba (cr, 1, 0, 0, .5);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_unaligned (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, -10.5, -10.5, 20, 20);
-    cairo_rectangle (cr, 5.5, 5.5, 20, 20);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgba (cr, 1, 0, 0, .5);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (image_bug_710072_aligned,
-           "Tests a bug where we may compute spans greater than bounded extents",
-           "extents,fill,stroke", /* keywords */
-           NULL, /* requirements */
-           15, 15,
-           NULL, draw_aligned)
-
-CAIRO_TEST (image_bug_710072_unaligned,
-           "Tests a bug where we may compute spans greater than bounded extents",
-           "extents,fill,stroke", /* keywords */
-           NULL, /* requirements */
-           15, 15,
-           NULL, draw_unaligned)
diff --git a/test/image-surface-source.c b/test/image-surface-source.c
deleted file mode 100644 (file)
index c7c1fdc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#include "surface-source.c"
-
-static cairo_surface_t *
-create_source_surface (int size)
-{
-    return cairo_image_surface_create (CAIRO_FORMAT_ARGB32, size, size);
-}
-
-CAIRO_TEST (image_surface_source,
-           "Test using a image surface as the source",
-           "source", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           preamble, draw)
diff --git a/test/imagediff.c b/test/imagediff.c
deleted file mode 100644 (file)
index 6ebbcfc..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-/* imagediff - Compare two images
- *
- * Copyright © 2004 Richard D. Worth
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of Richard Worth
- * not be used in advertising or publicity pertaining to distribution
- * of the software without specific, written prior permission.
- * Richard Worth makes no representations about the suitability of this
- * software for any purpose.  It is provided "as is" without express
- * or implied warranty.
- *
- * RICHARD WORTH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
- * NO EVENT SHALL RICHARD WORTH BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
- * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Richard D. Worth <richard@theworths.org> */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <errno.h>
-
-#include "buffer-diff.h"
-
-static void
-_xunlink (const char *pathname)
-{
-    if (unlink (pathname) < 0 && errno != ENOENT) {
-       fprintf (stderr, "  Error: Cannot remove %s: %s\n",
-                       pathname, strerror (errno));
-       exit (1);
-    }
-}
-
-void
-cairo_test_logv (const cairo_test_context_t *ctx,
-                const char *fmt, va_list va)
-{
-    vfprintf (stderr, fmt, va);
-}
-
-void
-cairo_test_log (const cairo_test_context_t *ctx, const char *fmt, ...)
-{
-    va_list va;
-
-    va_start (va, fmt);
-    vfprintf (stderr, fmt, va);
-    va_end (va);
-}
-
-/* Flatten an ARGB surface by blending it over white. The resulting
- * surface, (still in ARGB32 format, but with only alpha==1.0
- * everywhere) is returned in the same surface pointer.
- *
- * The original surface will be destroyed.
- *
- * The (x,y) value specify an origin of interest for the original
- * image. The flattened image will be generated only from the box
- * extending from (x,y) to (width,height).
- */
-static void
-flatten_surface (cairo_surface_t **surface, int x, int y)
-{
-    cairo_surface_t *flat;
-    cairo_t *cr;
-
-    flat = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                      cairo_image_surface_get_width (*surface) - x,
-                                      cairo_image_surface_get_height (*surface) - y);
-    cairo_surface_set_device_offset (flat, -x, -y);
-
-    cr = cairo_create (flat);
-    cairo_surface_destroy (flat);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_surface (cr, *surface, 0, 0);
-    cairo_surface_destroy (*surface);
-    cairo_paint (cr);
-
-    *surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-}
-
-/* Given an image surface, create a new surface that has the same
- * contents as the sub-surface with its origin at x,y.
- *
- * The original surface will be destroyed.
- */
-static void
-extract_sub_surface (cairo_surface_t **surface, int x, int y)
-{
-    cairo_surface_t *sub;
-    cairo_t *cr;
-
-    sub = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                     cairo_image_surface_get_width (*surface) - x,
-                                     cairo_image_surface_get_height (*surface) - y);
-
-    /* We don't use a device offset like flatten_surface. That's not
-     * for any important reason, (the results should be
-     * identical). This style just seemed more natural to me this
-     * time, so I'm leaving both here so I can look at both to see
-     * which I like better. */
-    cr = cairo_create (sub);
-    cairo_surface_destroy (sub);
-
-    cairo_set_source_surface (cr, *surface, -x, -y);
-    cairo_surface_destroy (*surface);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-
-    *surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-}
-
-static cairo_status_t
-stdio_write_func (void *closure, const unsigned char *data, unsigned int length)
-{
-    FILE *file = closure;
-
-    if (fwrite (data, 1, length, file) != length)
-       return CAIRO_STATUS_WRITE_ERROR;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-write_png (cairo_surface_t *surface, const char *filename)
-{
-    cairo_status_t status;
-    FILE *png_file;
-
-    if (filename != NULL) {
-       png_file = fopen (filename, "wb");
-       if (png_file == NULL) {
-           switch (errno) {
-           case ENOMEM:
-               return CAIRO_STATUS_NO_MEMORY;
-           default:
-               return CAIRO_STATUS_WRITE_ERROR;
-           }
-       }
-    } else
-       png_file = stdout;
-
-    status = cairo_surface_write_to_png_stream (surface,
-                                               stdio_write_func,
-                                               png_file);
-
-    if (png_file != stdout)
-       fclose (png_file);
-
-    return status;
-}
-
-static cairo_status_t
-png_diff (const char *filename_a,
-         const char *filename_b,
-         const char *filename_diff,
-         int           ax,
-         int           ay,
-         int           bx,
-         int           by,
-         buffer_diff_result_t *result)
-{
-    cairo_surface_t *surface_a;
-    cairo_surface_t *surface_b;
-    cairo_surface_t *surface_diff;
-    cairo_status_t status;
-
-    surface_a = cairo_image_surface_create_from_png (filename_a);
-    status = cairo_surface_status (surface_a);
-    if (status) {
-       fprintf (stderr, "Error: Failed to create surface from %s: %s\n",
-                filename_a, cairo_status_to_string (status));
-       return status;
-    }
-
-    surface_b = cairo_image_surface_create_from_png (filename_b);
-    status = cairo_surface_status (surface_b);
-    if (status) {
-       fprintf (stderr, "Error: Failed to create surface from %s: %s\n",
-                filename_b, cairo_status_to_string (status));
-       cairo_surface_destroy (surface_a);
-       return status;
-    }
-
-    if (ax || ay) {
-       extract_sub_surface (&surface_a, ax, ay);
-       ax = ay = 0;
-    }
-
-    if (bx || by) {
-       extract_sub_surface (&surface_b, bx, by);
-       bx = by = 0;
-    }
-
-    status = cairo_surface_status (surface_a);
-    if (status) {
-       fprintf (stderr, "Error: Failed to extract surface from %s: %s\n",
-                filename_a, cairo_status_to_string (status));
-       cairo_surface_destroy (surface_a);
-       cairo_surface_destroy (surface_b);
-       return status;
-    }
-    status = cairo_surface_status (surface_b);
-    if (status) {
-       fprintf (stderr, "Error: Failed to extract surface from %s: %s\n",
-                filename_b, cairo_status_to_string (status));
-       cairo_surface_destroy (surface_a);
-       cairo_surface_destroy (surface_b);
-       return status;
-    }
-
-    surface_diff = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                              cairo_image_surface_get_width (surface_a),
-                                              cairo_image_surface_get_height (surface_a));
-    status = cairo_surface_status (surface_diff);
-    if (status) {
-       fprintf (stderr,
-                "Error: Failed to allocate surface to hold differences\n");
-       cairo_surface_destroy (surface_a);
-       cairo_surface_destroy (surface_b);
-       return CAIRO_STATUS_NO_MEMORY;
-    }
-
-    status = image_diff (NULL,
-                        surface_a, surface_b, surface_diff,
-                        result);
-
-    if (filename_diff)
-       _xunlink (filename_diff);
-
-    if (status == CAIRO_STATUS_SUCCESS &&
-       result->pixels_changed)
-    {
-       status = write_png (surface_diff, filename_diff);
-    }
-
-    cairo_surface_destroy (surface_a);
-    cairo_surface_destroy (surface_b);
-    cairo_surface_destroy (surface_diff);
-
-    return status;
-}
-
-int
-main (int argc, char *argv[])
-{
-    buffer_diff_result_t result;
-    cairo_status_t status;
-
-    unsigned int ax, ay, bx, by;
-
-    if (argc != 3 && argc != 7) {
-       fprintf (stderr, "Usage: %s image1.png image2.png [ax ay bx by]\n", argv[0]);
-       fprintf (stderr, "Computes an output image designed to present a \"visual diff\" such that even\n");
-       fprintf (stderr, "small errors in single pixels are readily apparent in the output.\n");
-       fprintf (stderr, "The output image is written on stdout.\n");
-       exit (1);
-    }
-
-    if (argc == 7) {
-       ax = strtoul (argv[3], NULL, 0);
-       ay = strtoul (argv[4], NULL, 0);
-       bx = strtoul (argv[5], NULL, 0);
-       by = strtoul (argv[6], NULL, 0);
-    } else {
-       ax = ay = bx = by = 0;
-    }
-
-    status = png_diff (argv[1], argv[2], NULL, ax, ay, bx, by, &result);
-
-    if (status) {
-       fprintf (stderr, "Error comparing images: %s\n",
-                cairo_status_to_string (status));
-       return 1;
-    }
-
-    if (result.pixels_changed)
-       fprintf (stderr, "Total pixels changed: %d with a maximum channel difference of %d.\n",
-                result.pixels_changed,
-                result.max_diff);
-
-    return (result.pixels_changed != 0);
-}
diff --git a/test/implicit-close.c b/test/implicit-close.c
deleted file mode 100644 (file)
index 2529bb0..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 40
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_move_to (cr, SIZE,    0);
-    cairo_rel_line_to (cr, 0, SIZE);
-    cairo_rel_line_to (cr, -SIZE,    0);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_fill_preserve (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (implicit_close,
-           "Test implicitly closing paths",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/in-fill-empty-trapezoid.c b/test/in-fill-empty-trapezoid.c
deleted file mode 100644 (file)
index 2b345cb..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright © 2006 M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-
-/* Bug history
- *
- * 2006-12-05  M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- *
- *  The cairo_in_fill () function can sometimes produce false
- *  positives when the tessellator produces empty trapezoids
- *  and the query point lands exactly on a trapezoid edge.
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    int x,y;
-    int width = 10;
-    int height = 10;
-    cairo_surface_t *surf;
-    cairo_t *cr;
-    int false_positive_count = 0;
-    cairo_status_t status;
-    cairo_test_status_t ret;
-
-    surf = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
-    cr = cairo_create (surf);
-    cairo_surface_destroy (surf);
-
-    /* Empty horizontal trapezoid. */
-    cairo_move_to (cr, 0, height/3);
-    cairo_line_to (cr, width, height/3);
-    cairo_close_path (cr);
-
-    /* Empty non-horizontal trapezoid #1. */
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, width, height/2);
-    cairo_close_path (cr);
-
-    /* Empty non-horizontal trapezoid #2 intersecting #1. */
-    cairo_move_to (cr, 0, height/2);
-    cairo_line_to (cr, width, 0);
-    cairo_close_path (cr);
-
-    status = cairo_status (cr);
-
-    /* Point sample the tessellated path. */
-    for (y = 0; y < height; y++) {
-       for (x = 0; x < width; x++) {
-           if (cairo_in_fill (cr, x, y)) {
-               false_positive_count++;
-           }
-       }
-    }
-    cairo_destroy (cr);
-
-    /* Check that everything went well. */
-    ret = CAIRO_TEST_SUCCESS;
-    if (CAIRO_STATUS_SUCCESS != status) {
-       cairo_test_log (ctx, "Failed to create a test surface and path: %s\n",
-                       cairo_status_to_string (status));
-       ret = CAIRO_TEST_XFAILURE;
-    }
-
-    if (0 != false_positive_count) {
-       cairo_test_log (ctx, "Point sampling found %d false positives "
-                       "from cairo_in_fill()\n",
-                       false_positive_count);
-       ret = CAIRO_TEST_XFAILURE;
-    }
-
-    return ret;
-}
-
-CAIRO_TEST (in_fill_empty_trapezoid,
-           "Test that the tessellator isn't producing obviously empty trapezoids",
-           "in, trap", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/in-fill-trapezoid.c b/test/in-fill-trapezoid.c
deleted file mode 100644 (file)
index 84b323a..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_test_status_t ret = CAIRO_TEST_SUCCESS;
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 0, 0);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    /* simple rectangle */
-    cairo_new_path (cr);
-    cairo_rectangle (cr, -10, -10, 20, 20);
-    if (! cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Failed to find point inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* rectangular boundary tests */
-    if (! cairo_in_fill (cr, -10, -10)) {
-       cairo_test_log (ctx, "Error: Failed to find top-left vertex inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (! cairo_in_fill (cr, -10, 10)) {
-       cairo_test_log (ctx, "Error: Failed to find bottom-left vertex inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (! cairo_in_fill (cr, 10, -10)) {
-       cairo_test_log (ctx, "Error: Failed to find top-right vertex inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (! cairo_in_fill (cr, 10, 10)) {
-       cairo_test_log (ctx, "Error: Failed to find bottom-right vertex inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (! cairo_in_fill (cr, -10, 0)) {
-       cairo_test_log (ctx, "Error: Failed to find left edge inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (! cairo_in_fill (cr, 0, -10)) {
-       cairo_test_log (ctx, "Error: Failed to find top edge inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (! cairo_in_fill (cr, 10, 0)) {
-       cairo_test_log (ctx, "Error: Failed to find right edge inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (! cairo_in_fill (cr, 0, 10)) {
-       cairo_test_log (ctx, "Error: Failed to find bottom edge inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* simple circle */
-    cairo_new_path (cr);
-    cairo_arc (cr, 0, 0, 10, 0, 2 * M_PI);
-    if (! cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Failed to find point inside circle [even-odd]\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* holey rectangle */
-    cairo_new_path (cr);
-    cairo_rectangle (cr, -10, -10, 20, 20);
-    cairo_rectangle (cr, -5, -5, 10, 10);
-    if (cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Found an unexpected point inside rectangular eo-hole\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* holey circle */
-    cairo_new_path (cr);
-    cairo_arc (cr, 0, 0, 10, 0, 2 * M_PI);
-    cairo_arc (cr, 0, 0, 5, 0, 2 * M_PI);
-    if (cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Found an unexpected point inside circular eo-hole\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
-
-    /* simple rectangle */
-    cairo_new_path (cr);
-    cairo_rectangle (cr, -10, -10, 20, 20);
-    if (! cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Failed to find point inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* simple circle */
-    cairo_new_path (cr);
-    cairo_arc (cr, 0, 0, 10, 0, 2 * M_PI);
-    if (! cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Failed to find point inside circle [nonzero]\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* overlapping circle/rectangle */
-    cairo_new_path (cr);
-    cairo_rectangle (cr, -10, -10, 20, 20);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, 0, 0, 10, 0, 2 * M_PI);
-    if (! cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Failed to find point inside circle+rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* holey rectangle */
-    cairo_new_path (cr);
-    cairo_rectangle (cr, -10, -10, 20, 20);
-    cairo_rectangle (cr, 5, -5, -10, 10);
-    if (cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Found an unexpected point inside rectangular non-zero-hole\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* holey circle */
-    cairo_new_path (cr);
-    cairo_arc (cr, 0, 0, 10, 0, 2 * M_PI);
-    cairo_arc_negative (cr, 0, 0, 5, 0, -2 * M_PI);
-    if (cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Found an unexpected point inside circular non-zero-hole\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* not a holey circle */
-    cairo_new_path (cr);
-    cairo_arc (cr, 0, 0, 10, 0, 2 * M_PI);
-    cairo_arc (cr, 0, 0, 5, 0, 2 * M_PI);
-    if (! cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Failed to find point inside two circles\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* check off-centre */
-    cairo_new_path (cr);
-    cairo_arc (cr, 7.5, 0, 10, 0, 2 * M_PI);
-    cairo_arc_negative (cr, 7.5, 0, 5, 0, -2 * M_PI);
-    if (cairo_in_fill (cr, 7.5, 0)) {
-       cairo_test_log (ctx, "Error: Found an unexpected point inside off-centre-x circular non-zero-hole\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    cairo_new_path (cr);
-    cairo_arc (cr, 0, 7.5, 10, 0, 2 * M_PI);
-    cairo_arc_negative (cr, 0, 7.5, 5, 0, -2 * M_PI);
-    if (cairo_in_fill (cr, 0, 7.5)) {
-       cairo_test_log (ctx, "Error: Found an unexpected point inside off-centre-y circular non-zero-hole\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    cairo_new_path (cr);
-    cairo_arc (cr, 15, 0, 10, 0, 2 * M_PI);
-    if (! cairo_in_fill (cr, 15, 0)) {
-       cairo_test_log (ctx, "Error: Failed to find point inside off-centre-x circle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    cairo_new_path (cr);
-    cairo_arc (cr, 0, 15, 10, 0, 2 * M_PI);
-    if (! cairo_in_fill (cr, 0, 15)) {
-       cairo_test_log (ctx, "Error: Failed to find point inside off-centre-y circle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* simple rectangle */
-    cairo_new_path (cr);
-    cairo_rectangle (cr, 10, 0, 5, 5);
-    if (cairo_in_fill (cr, 0, 0)) {
-       cairo_test_log (ctx, "Error: Found an unexpected point outside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (cairo_in_fill (cr, 20, 20)) {
-       cairo_test_log (ctx, "Error: Found an unexpected point outside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (! cairo_in_fill (cr, 12.5, 2.5)) {
-       cairo_test_log (ctx, "Error: Failed to find point inside rectangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    /* off-centre triangle */
-    cairo_new_path (cr);
-    cairo_move_to (cr, 10, 0);
-    cairo_line_to (cr, 15, 5);
-    cairo_line_to (cr, 5, 5);
-    cairo_close_path (cr);
-    if (cairo_in_fill (cr, 0, 0) ||
-       cairo_in_fill (cr, 5, 0) ||
-       cairo_in_fill (cr, 15, 0) ||
-       cairo_in_fill (cr, 20, 0) ||
-       cairo_in_fill (cr, 0, 10) ||
-       cairo_in_fill (cr, 10, 10) ||
-       cairo_in_fill (cr, 20, 10) ||
-       cairo_in_fill (cr, 7, 2.5) ||
-       cairo_in_fill (cr, 13, 2.5))
-    {
-       cairo_test_log (ctx,
-                       "Error: Found an unexpected point outside triangle\n"
-                       "\t(0, 0) -> %s\n"
-                       "\t(5, 0) -> %s\n"
-                       "\t(15, 0) -> %s\n"
-                       "\t(20, 0) -> %s\n"
-                       "\t(0, 10) -> %s\n"
-                       "\t(10, 10) -> %s\n"
-                       "\t(20, 10) -> %s\n"
-                       "\t(7, 2.5) -> %s\n"
-                       "\t(13, 2.5) -> %s\n",
-                       cairo_in_fill (cr, 0, 0) ? "inside" : "outside",
-                       cairo_in_fill (cr, 5, 0) ? "inside" : "outside",
-                       cairo_in_fill (cr, 15, 0) ? "inside" : "outside",
-                       cairo_in_fill (cr, 20, 0) ? "inside" : "outside",
-                       cairo_in_fill (cr, 0, 10) ? "inside" : "outside",
-                       cairo_in_fill (cr, 10, 10) ? "inside" : "outside",
-                       cairo_in_fill (cr, 20, 10) ? "inside" : "outside",
-                       cairo_in_fill (cr, 7, 2.5) ? "inside" : "outside",
-                       cairo_in_fill (cr, 13, 2.5) ? "inside" : "outside");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (! cairo_in_fill (cr, 7.5, 2.5) ||
-       ! cairo_in_fill (cr, 12.5, 2.5) ||
-       ! cairo_in_fill (cr, 10, 5))
-    {
-       cairo_test_log (ctx,
-                       "Error: Failed to find point on triangle edge\n"
-                       "\t(7.5, 2.5) -> %s\n"
-                       "\t(12.5, 2.5) -> %s\n"
-                       "\t(10, 5) -> %s\n",
-                       cairo_in_fill (cr, 7.5, 2.5) ? "inside" : "outside",
-                       cairo_in_fill (cr, 12.5, 2.5) ? "inside" : "outside",
-                       cairo_in_fill (cr, 10, 5) ? "inside" : "outside");
-       ret = CAIRO_TEST_FAILURE;
-    }
-    if (! cairo_in_fill (cr, 8, 2.5) ||
-       ! cairo_in_fill (cr, 12, 2.5))
-    {
-       cairo_test_log (ctx, "Error: Failed to find point inside triangle\n");
-       ret = CAIRO_TEST_FAILURE;
-    }
-
-    cairo_destroy (cr);
-
-    return ret;
-}
-
-CAIRO_TEST (in_fill_trapezoid,
-           "Test cairo_in_fill",
-           "in, trap", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/index.html b/test/index.html
deleted file mode 100644 (file)
index 54c65cd..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<html><head>
-<title>Cairo Test Results</title>
-<style type="text/css">
-#HcolHeader { text-align: center; }
-
-img { max-width: 15em; min-width: 3em; min-height: 3em; margin: 3px; }
-a img { border: solid 1px #FFF; }
-
-td { vertical-align: top; }
-span { cursor: pointer; }
-
-td.PASS { background-color: #0B0; min-width: 1em; }
-span.PASS { color: #0B0; }
-
-td.NEW { background-color: #B70; }
-span.NEW { color: #B70; }
-
-td.FAIL { background-color: #B00; }
-span.FAIL { color: #D00; }
-
-td.XFAIL { background-color: #BB0; }
-span.XFAIL { color: #BB0; }
-
-td.UNTESTED { background-color: #555; }
-span.UNTESTED { color: #555; }
-
-td.CRASHED { background-color: #F00; color: #FF0; }
-span.CRASHED { color: #F00; }
-
-.test { }
-.target { }
-.format { }
-.offset { }
-.similar { }
-
-</style>
-<script language="JavaScript" src="testtable.js"></script>
-</head>
-<body oncontextmenu='ignoreEvent (event)' onmouseup='noDrag (event)'>
-<table id="testTable" border="1"></table>
-</body>
-</html>
diff --git a/test/infinite-join.c b/test/infinite-join.c
deleted file mode 100644 (file)
index a573f56..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Test case for bug #8379:
- *
- *     infinite loop when stroking
- *     https://bugs.freedesktop.org/show_bug.cgi?id=8379
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Paint white, then draw in black. */
-    cairo_set_source_rgb (cr, 1, 1, 1); /* white */
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-
-    /* scaling 2 times causes a slight rounding error in the ctm.
-     * Without that, the bug doesn't happen. */
-    cairo_scale (cr, 20 / 100., 20 / 100.);
-    cairo_scale (cr, 1. / 20, 1. / 20);
-
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_set_line_width (cr, 20);
-
-    cairo_translate (cr, -18300, -13200);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 18928, 13843);
-    cairo_line_to (cr, 18500, 13843);
-    cairo_line_to (cr, 18500, 13400);
-    cairo_line_to (cr, 18928, 13400);
-    cairo_line_to (cr, 18928, 13843);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (infinite_join,
-           "Test case for infinite loop when stroking with round joins",
-           "stroke", /* keywords */
-           NULL,
-           8, 8,
-           NULL, draw)
diff --git a/test/invalid-matrix.c b/test/invalid-matrix.c
deleted file mode 100644 (file)
index 6cfaedf..0000000
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl Worth <cworth@cworth.org>
- */
-
-#define _ISOC99_SOURCE /* for INFINITY */
-#define _GNU_SOURCE 1  /* for fedisableeexcept() et al */
-
-#include "cairo-test.h"
-
-#if !defined(INFINITY)
-#define INFINITY HUGE_VAL
-#endif
-
-#if HAVE_FENV_H
-# include <fenv.h>
-#endif
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_status_t status;
-    cairo_surface_t *target;
-    cairo_font_face_t *font_face;
-    cairo_font_options_t *font_options;
-    cairo_scaled_font_t *scaled_font;
-    cairo_pattern_t *pattern;
-    cairo_t *cr2;
-    cairo_matrix_t identity, bogus, inf, invalid = {
-       4.0, 4.0,
-       4.0, 4.0,
-       4.0, 4.0
-    };
-
-#define CHECK_STATUS(status, function_name)                                            \
-if ((status) == CAIRO_STATUS_SUCCESS) {                                                        \
-    cairo_test_log (ctx, "Error: %s with invalid matrix passed\n",                             \
-                   (function_name));                                                   \
-    return CAIRO_TEST_FAILURE;                                                         \
-} else if ((status) != CAIRO_STATUS_INVALID_MATRIX) {                                  \
-    cairo_test_log (ctx, "Error: %s with invalid matrix returned unexpected status "   \
-                   "(%d): %s\n",                                                       \
-                   (function_name),                                                    \
-                   status,                                                             \
-                   cairo_status_to_string (status));                                   \
-    return CAIRO_TEST_FAILURE;                                                         \
-}
-
-    /* clear floating point exceptions (added by cairo_test_init()) */
-#if HAVE_FEDISABLEEXCEPT
-    fedisableexcept (FE_INVALID);
-#endif
-
-    /* create a bogus matrix and check results of attempted inversion */
-    bogus.x0 = bogus.xy = bogus.xx = cairo_test_NaN ();
-    bogus.y0 = bogus.yx = bogus.yy = bogus.xx;
-    status = cairo_matrix_invert (&bogus);
-    CHECK_STATUS (status, "cairo_matrix_invert(NaN)");
-
-    inf.x0 = inf.xy = inf.xx = INFINITY;
-    inf.y0 = inf.yx = inf.yy = inf.xx;
-    status = cairo_matrix_invert (&inf);
-    CHECK_STATUS (status, "cairo_matrix_invert(infinity)");
-
-    /* test cairo_matrix_invert with invalid matrix */
-    status = cairo_matrix_invert (&invalid);
-    CHECK_STATUS (status, "cairo_matrix_invert(invalid)");
-
-
-    cairo_matrix_init_identity (&identity);
-
-    target = cairo_get_group_target (cr);
-
-    /* test cairo_transform with invalid matrix */
-    cr2 = cairo_create (target);
-    cairo_transform (cr2, &invalid);
-
-    status = cairo_status (cr2);
-    cairo_destroy (cr2);
-    CHECK_STATUS (status, "cairo_transform(invalid)");
-
-    /* test cairo_transform with bogus matrix */
-    cr2 = cairo_create (target);
-    cairo_transform (cr2, &bogus);
-
-    status = cairo_status (cr2);
-    cairo_destroy (cr2);
-    CHECK_STATUS (status, "cairo_transform(NaN)");
-
-    /* test cairo_transform with ∞ matrix */
-    cr2 = cairo_create (target);
-    cairo_transform (cr2, &inf);
-
-    status = cairo_status (cr2);
-    cairo_destroy (cr2);
-    CHECK_STATUS (status, "cairo_transform(infinity)");
-
-
-    /* test cairo_set_matrix with invalid matrix */
-    cr2 = cairo_create (target);
-    cairo_set_matrix (cr2, &invalid);
-
-    status = cairo_status (cr2);
-    cairo_destroy (cr2);
-    CHECK_STATUS (status, "cairo_set_matrix(invalid)");
-
-    /* test cairo_set_matrix with bogus matrix */
-    cr2 = cairo_create (target);
-    cairo_set_matrix (cr2, &bogus);
-
-    status = cairo_status (cr2);
-    cairo_destroy (cr2);
-    CHECK_STATUS (status, "cairo_set_matrix(NaN)");
-
-    /* test cairo_set_matrix with ∞ matrix */
-    cr2 = cairo_create (target);
-    cairo_set_matrix (cr2, &inf);
-
-    status = cairo_status (cr2);
-    cairo_destroy (cr2);
-    CHECK_STATUS (status, "cairo_set_matrix(infinity)");
-
-
-    /* test cairo_set_font_matrix with invalid matrix */
-    cr2 = cairo_create (target);
-    cairo_set_font_matrix (cr2, &invalid);
-
-    /* draw some text to force the font to be resolved */
-    cairo_show_text (cr2, "hello");
-
-    status = cairo_status (cr2);
-    cairo_destroy (cr2);
-    CHECK_STATUS (status, "cairo_set_font_matrix(invalid)");
-
-    /* test cairo_set_font_matrix with bogus matrix */
-    cr2 = cairo_create (target);
-    cairo_set_font_matrix (cr2, &bogus);
-
-    /* draw some text to force the font to be resolved */
-    cairo_show_text (cr2, "hello");
-
-    status = cairo_status (cr2);
-    cairo_destroy (cr2);
-    CHECK_STATUS (status, "cairo_set_font_matrix(NaN)");
-
-    /* test cairo_set_font_matrix with ∞ matrix */
-    cr2 = cairo_create (target);
-    cairo_set_font_matrix (cr2, &inf);
-
-    /* draw some text to force the font to be resolved */
-    cairo_show_text (cr2, "hello");
-
-    status = cairo_status (cr2);
-    cairo_destroy (cr2);
-    CHECK_STATUS (status, "cairo_set_font_matrix(infinity)");
-
-
-    /* test cairo_scaled_font_create with invalid matrix */
-    cr2 = cairo_create (target);
-    font_face = cairo_get_font_face (cr2);
-    font_options = cairo_font_options_create ();
-    cairo_get_font_options (cr, font_options);
-    scaled_font = cairo_scaled_font_create (font_face,
-                                           &invalid,
-                                           &identity,
-                                           font_options);
-    status = cairo_scaled_font_status (scaled_font);
-    CHECK_STATUS (status, "cairo_scaled_font_create(invalid)");
-
-    cairo_scaled_font_destroy (scaled_font);
-
-    scaled_font = cairo_scaled_font_create (font_face,
-                                           &identity,
-                                           &invalid,
-                                           font_options);
-    status = cairo_scaled_font_status (scaled_font);
-    CHECK_STATUS (status, "cairo_scaled_font_create(invalid)");
-
-    cairo_scaled_font_destroy (scaled_font);
-    cairo_font_options_destroy (font_options);
-    cairo_destroy (cr2);
-
-    /* test cairo_scaled_font_create with bogus matrix */
-    cr2 = cairo_create (target);
-    font_face = cairo_get_font_face (cr2);
-    font_options = cairo_font_options_create ();
-    cairo_get_font_options (cr, font_options);
-    scaled_font = cairo_scaled_font_create (font_face,
-                                           &bogus,
-                                           &identity,
-                                           font_options);
-    status = cairo_scaled_font_status (scaled_font);
-    CHECK_STATUS (status, "cairo_scaled_font_create(NaN)");
-
-    cairo_scaled_font_destroy (scaled_font);
-
-    scaled_font = cairo_scaled_font_create (font_face,
-                                           &identity,
-                                           &bogus,
-                                           font_options);
-    status = cairo_scaled_font_status (scaled_font);
-    CHECK_STATUS (status, "cairo_scaled_font_create(NaN)");
-
-    cairo_scaled_font_destroy (scaled_font);
-    cairo_font_options_destroy (font_options);
-    cairo_destroy (cr2);
-
-    /* test cairo_scaled_font_create with ∞ matrix */
-    cr2 = cairo_create (target);
-    font_face = cairo_get_font_face (cr2);
-    font_options = cairo_font_options_create ();
-    cairo_get_font_options (cr, font_options);
-    scaled_font = cairo_scaled_font_create (font_face,
-                                           &inf,
-                                           &identity,
-                                           font_options);
-    status = cairo_scaled_font_status (scaled_font);
-    CHECK_STATUS (status, "cairo_scaled_font_create(infinity)");
-
-    cairo_scaled_font_destroy (scaled_font);
-
-    scaled_font = cairo_scaled_font_create (font_face,
-                                           &identity,
-                                           &inf,
-                                           font_options);
-    status = cairo_scaled_font_status (scaled_font);
-    CHECK_STATUS (status, "cairo_scaled_font_create(infinity)");
-
-    cairo_scaled_font_destroy (scaled_font);
-    cairo_font_options_destroy (font_options);
-    cairo_destroy (cr2);
-
-
-    /* test cairo_pattern_set_matrix with invalid matrix */
-    pattern = cairo_pattern_create_rgb (1.0, 1.0, 1.0);
-    cairo_pattern_set_matrix (pattern, &invalid);
-    status = cairo_pattern_status (pattern);
-    CHECK_STATUS (status, "cairo_pattern_set_matrix(invalid)");
-    cairo_pattern_destroy (pattern);
-
-    /* test cairo_pattern_set_matrix with bogus matrix */
-    pattern = cairo_pattern_create_rgb (1.0, 1.0, 1.0);
-    cairo_pattern_set_matrix (pattern, &bogus);
-    status = cairo_pattern_status (pattern);
-    CHECK_STATUS (status, "cairo_pattern_set_matrix(NaN)");
-    cairo_pattern_destroy (pattern);
-
-    /* test cairo_pattern_set_matrix with ∞ matrix */
-    pattern = cairo_pattern_create_rgb (1.0, 1.0, 1.0);
-    cairo_pattern_set_matrix (pattern, &inf);
-    status = cairo_pattern_status (pattern);
-    CHECK_STATUS (status, "cairo_pattern_set_matrix(infinity)");
-    cairo_pattern_destroy (pattern);
-
-
-    /* test invalid transformations */
-    cr2 = cairo_create (target);
-    cairo_translate (cr2, bogus.xx, bogus.yy);
-    CHECK_STATUS (status, "cairo_translate(NaN, NaN)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_translate (cr2, 0, bogus.yy);
-    CHECK_STATUS (status, "cairo_translate(0, NaN)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_translate (cr2, bogus.xx, 0);
-    CHECK_STATUS (status, "cairo_translate(NaN, 0)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_translate (cr2, inf.xx, inf.yy);
-    CHECK_STATUS (status, "cairo_translate(∞, ∞)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_translate (cr2, 0, inf.yy);
-    CHECK_STATUS (status, "cairo_translate(0, ∞)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_translate (cr2, inf.xx, 0);
-    CHECK_STATUS (status, "cairo_translate(∞, 0)");
-    cairo_destroy (cr2);
-
-
-    cr2 = cairo_create (target);
-    cairo_scale (cr2, bogus.xx, bogus.yy);
-    CHECK_STATUS (status, "cairo_scale(NaN, NaN)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_scale (cr2, 1, bogus.yy);
-    CHECK_STATUS (status, "cairo_scale(1, NaN)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_scale (cr2, bogus.xx, 1);
-    CHECK_STATUS (status, "cairo_scale(NaN, 1)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_scale (cr2, inf.xx, inf.yy);
-    CHECK_STATUS (status, "cairo_scale(∞, ∞)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_scale (cr2, 1, inf.yy);
-    CHECK_STATUS (status, "cairo_scale(1, ∞)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_scale (cr2, inf.xx, 1);
-    CHECK_STATUS (status, "cairo_scale(∞, 1)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_scale (cr2, bogus.xx, bogus.yy);
-    CHECK_STATUS (status, "cairo_scale(0, 0)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_scale (cr2, 1, bogus.yy);
-    CHECK_STATUS (status, "cairo_scale(1, 0)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_scale (cr2, bogus.xx, 1);
-    CHECK_STATUS (status, "cairo_scale(0, 1)");
-    cairo_destroy (cr2);
-
-
-    cr2 = cairo_create (target);
-    cairo_rotate (cr2, bogus.xx);
-    CHECK_STATUS (status, "cairo_rotate(NaN)");
-    cairo_destroy (cr2);
-
-    cr2 = cairo_create (target);
-    cairo_rotate (cr2, inf.xx);
-    CHECK_STATUS (status, "cairo_rotate(∞)");
-    cairo_destroy (cr2);
-
-#if HAVE_FECLEAREXCEPT
-    feclearexcept (FE_INVALID);
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (invalid_matrix,
-           "Test that all relevant public functions return CAIRO_STATUS_INVALID_MATRIX as appropriate",
-           "api, matrix", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/inverse-text.c b/test/inverse-text.c
deleted file mode 100644 (file)
index c8d7aea..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2010 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define TEXT_SIZE 12
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* This is just the inverse of select-font-face.c */
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-
-    cairo_set_font_size (cr, TEXT_SIZE);
-    cairo_move_to (cr, 0, TEXT_SIZE);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Serif",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, "i-am-serif");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-sans");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans Mono",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-mono");
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (inverse_text,
-           "Tests rendering of inverse text (white-on-black)",
-           "font, text", /* keywords */
-           NULL, /* requirements */
-           192, TEXT_SIZE + 4,
-           NULL, draw)
diff --git a/test/inverted-clip.c b/test/inverted-clip.c
deleted file mode 100644 (file)
index b05dd6b..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* An assertion failure found by Rico Tzschichholz */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-
-    cairo_arc (cr, 50, 50, 40, 0, 2 * M_PI);
-    cairo_clip_preserve (cr);
-
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, 0, 0, 100, 100);
-    cairo_reset_clip (cr);
-    cairo_clip (cr);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (inverted_clip,
-           "Clip + InvertedClip should be opaque",
-           "clip, paint", /* keywords */
-           "target=raster", /* requirements */
-           100, 100,
-           NULL, draw)
diff --git a/test/joins-loop.c b/test/joins-loop.c
deleted file mode 100644 (file)
index f0b7bc1..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     10.
-#define SIZE           (8 * LINE_WIDTH)
-#define PAD            (1 * LINE_WIDTH)
-
-
-static void
-make_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 0, 0);
-    cairo_rel_curve_to (cr,
-                       SIZE, 0,
-                       0, SIZE,
-                       SIZE, SIZE);
-    cairo_rel_line_to (cr, -SIZE, 0);
-    cairo_rel_curve_to (cr,
-                       SIZE, 0,
-                       0, -SIZE,
-                       SIZE, -SIZE);
-    cairo_close_path (cr);
-}
-
-static void
-draw_joins (cairo_t *cr)
-{
-    cairo_save (cr);
-    cairo_translate (cr, PAD, PAD);
-
-    make_path (cr);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_stroke (cr);
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_stroke (cr);
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_stroke (cr);
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    draw_joins (cr);
-
-    /* and reflect to generate the opposite vertex ordering */
-    cairo_translate (cr, 0, height);
-    cairo_scale (cr, 1, -1);
-
-    draw_joins (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (joins_loop,
-           "A loopy concave shape",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           3*(SIZE+PAD)+PAD, 2*(SIZE+PAD)+2*PAD,
-           NULL, draw)
-
diff --git a/test/joins-retrace.c b/test/joins-retrace.c
deleted file mode 100644 (file)
index 9a2cf70..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     10.
-#define SIZE           (8 * LINE_WIDTH)
-#define PAD            (1 * LINE_WIDTH)
-
-
-static void
-make_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 0, SIZE/2 + LINE_WIDTH);
-    cairo_rel_line_to (cr, SIZE, 0);
-    cairo_rel_line_to (cr, -SIZE, 0);
-    cairo_close_path (cr);
-
-    cairo_move_to (cr, 3*SIZE/4, 0);
-    cairo_rel_line_to (cr, -SIZE/2, SIZE);
-    cairo_rel_line_to (cr, SIZE/2, -SIZE);
-    cairo_close_path (cr);
-
-    cairo_move_to (cr, 0, SIZE/2-LINE_WIDTH);
-    cairo_rel_curve_to (cr,
-                       SIZE/2, -2*LINE_WIDTH,
-                       SIZE/2, 2*LINE_WIDTH,
-                       SIZE, 0);
-    cairo_rel_curve_to (cr,
-                       -SIZE/2, 2*LINE_WIDTH,
-                       -SIZE/2, -2*LINE_WIDTH,
-                       -SIZE, 0);
-    cairo_close_path (cr);
-}
-
-static void
-draw_joins (cairo_t *cr)
-{
-    cairo_save (cr);
-    cairo_translate (cr, PAD, PAD);
-
-    make_path (cr);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_stroke (cr);
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_stroke (cr);
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_stroke (cr);
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    draw_joins (cr);
-
-    /* and reflect to generate the opposite vertex ordering */
-    cairo_translate (cr, 0, height);
-    cairo_scale (cr, 1, -1);
-
-    draw_joins (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (joins_retrace,
-           "A shape that repeats upon itself",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           3*(SIZE+PAD)+PAD, 2*(SIZE+PAD)+2*PAD,
-           NULL, draw)
-
diff --git a/test/joins-star.c b/test/joins-star.c
deleted file mode 100644 (file)
index 17c1b4e..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     10.
-#define SIZE           (8 * LINE_WIDTH)
-#define PAD            (1 * LINE_WIDTH)
-
-
-static void
-make_path (cairo_t *cr)
-{
-#define PROTRUSION 20
-    cairo_move_to (cr, SIZE/2-PROTRUSION, LINE_WIDTH);
-    cairo_line_to (cr, SIZE-LINE_WIDTH, SIZE/2+PROTRUSION);
-    cairo_line_to (cr, SIZE-LINE_WIDTH, SIZE/2-PROTRUSION);
-    cairo_line_to (cr, SIZE/2-PROTRUSION, SIZE-LINE_WIDTH);
-    cairo_line_to (cr, SIZE/2+PROTRUSION, SIZE-LINE_WIDTH);
-    cairo_line_to (cr, LINE_WIDTH, SIZE/2-PROTRUSION);
-    cairo_line_to (cr, LINE_WIDTH, SIZE/2+PROTRUSION);
-    cairo_line_to (cr, SIZE/2+PROTRUSION, LINE_WIDTH);
-    cairo_close_path (cr);
-}
-
-static void
-draw_joins (cairo_t *cr)
-{
-    cairo_save (cr);
-    cairo_translate (cr, PAD, PAD);
-
-    make_path (cr);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_stroke (cr);
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_stroke (cr);
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    make_path (cr);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_stroke (cr);
-    cairo_translate (cr, SIZE + PAD, 0.);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    draw_joins (cr);
-
-    /* and reflect to generate the opposite vertex ordering */
-    cairo_translate (cr, 0, height);
-    cairo_scale (cr, 1, -1);
-
-    draw_joins (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (joins_star,
-           "A nice and simple concave shape",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           3*(SIZE+PAD)+PAD, 2*(SIZE+PAD)+PAD,
-           NULL, draw)
-
diff --git a/test/joins.c b/test/joins.c
deleted file mode 100644 (file)
index 66847dc..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     12.
-#define SIZE           (5 * LINE_WIDTH)
-#define PAD            (2 * LINE_WIDTH)
-
-static void
-make_path (cairo_t *cr)
-{
-    const struct {
-       double x, y;
-    } scales[] = {
-       {  1,  1 },
-       { -1,  1 },
-       {  1, -1 },
-       { -1, -1 },
-    };
-    unsigned int i, j;
-
-    for (j = 0; j < ARRAY_LENGTH (scales); j++) {
-       cairo_save (cr);
-       /* include reflections to flip the orientation of the join */
-       cairo_scale (cr, scales[j].x, scales[j].y);
-       for (i = 0; i < 3; i++) {
-           cairo_new_sub_path (cr);
-           cairo_move_to (cr, 0, -9*LINE_WIDTH/4 - 2);
-           cairo_line_to (cr,  0, -2*LINE_WIDTH - 2);
-           cairo_line_to (cr,  LINE_WIDTH/4, -2*LINE_WIDTH - 2);
-           cairo_rotate (cr, M_PI / 4.);
-       }
-       cairo_restore (cr);
-    }
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_line_join_t join;
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_set_line_width (cr, LINE_WIDTH);
-    cairo_translate (cr, PAD + SIZE / 2., PAD + SIZE / 2.);
-
-    for (join = CAIRO_LINE_JOIN_MITER; join <= CAIRO_LINE_JOIN_BEVEL; join++) {
-       cairo_save (cr);
-
-       cairo_set_line_join (cr, join);
-
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-       make_path (cr);
-       cairo_stroke (cr);
-
-       cairo_translate (cr, 0, SIZE + PAD);
-
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-       make_path (cr);
-       cairo_stroke (cr);
-
-       cairo_translate (cr, 0, SIZE + PAD);
-
-       cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-       make_path (cr);
-       cairo_stroke (cr);
-
-       cairo_restore (cr);
-
-       cairo_translate (cr, SIZE + PAD, 0);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (joins,
-           "Test joins",
-           "stroke joins", /* keywords */
-           NULL, /* requirements */
-           3 * (PAD + SIZE) + PAD,
-           3 * (PAD + SIZE) + PAD,
-           NULL, draw)
-
diff --git a/test/jp2.jp2 b/test/jp2.jp2
deleted file mode 100644 (file)
index fe8dd6e..0000000
Binary files a/test/jp2.jp2 and /dev/null differ
diff --git a/test/jpeg.jpg b/test/jpeg.jpg
deleted file mode 100644 (file)
index a1bac1c..0000000
Binary files a/test/jpeg.jpg and /dev/null differ
diff --git a/test/large-clip.c b/test/large-clip.c
deleted file mode 100644 (file)
index d2380de..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Soren Sandmann <sandmann@redhat.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 100
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, 0, 0, 65536 + 25, 65536 + 25);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (large_clip,
-           "Incorrect clipping when the clip rectangle doesn't fit in 16 bits signed",
-           "clip, stress", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/large-font.c b/test/large-font.c
deleted file mode 100644 (file)
index 0a13944..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Bug history:
- *
- * 2008-05-23: Caolan McNamara noticed a bug in OpenOffice.org where,
- *             when using a very large font, space would be left for a
- *            glyph but it would actually be rendered in the wrong
- *            place. He wrote a minimal test case and posted the bug
- *            here:
- *
- *                     corrupt glyph positions with large font
- *                     https://bugzilla.redhat.com/show_bug.cgi?id=448104
- *
- * 2008-05-23: Carl Worth wrote this test for the cairo test suite to
- *             exercise the bug.
- */
-
-#include "cairo-test.h"
-
-#define WIDTH  800
-#define HEIGHT 800
-#define TEXT_SIZE 10000
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* paint white so we don't need separate ref images for
-     * RGB24 and ARGB32 */
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_move_to (cr, -TEXT_SIZE / 2, TEXT_SIZE / 2);
-    cairo_show_text (cr, "xW");
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (large_font,
-           "Draws a very large font to exercise a glyph-positioning bug",
-           "stress, font", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/large-source-roi.c b/test/large-source-roi.c
deleted file mode 100644 (file)
index dfd3554..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright © 2009 Joonas Pihlaja
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting documentation, and
- * that the name of the copyright holders not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  The copyright holders make no representations
- * about the suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include "cairo-test.h"
-
-/* This test attempts to trigger failures in those clone_similar
- * backend methods that have size restrictions. */
-
-static cairo_surface_t *
-create_large_source (int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width, height);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 1,0,0); /* red */
-    cairo_paint (cr);
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *source;
-    /* Since 1cc750ed92a936d84b47cac696aaffd226e1c02e pixman will not
-     * paint on the source surface if source_width > 30582. */
-    double source_width = 30000.0;
-
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-
-    /* Create an excessively wide source image, all red. */
-    source = create_large_source (source_width, height);
-
-    /* Set a transform so that the source is scaled down to fit in the
-     * destination horizontally and then paint the entire source to
-     * the context. */
-    cairo_scale (cr, width/source_width, 1.0);
-    cairo_set_source_surface (cr, source, 0, 0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-
-    cairo_surface_destroy (source);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (large_source_roi,
-           "Uses a all of a large source image.",
-           "stress, source", /* keywords */
-           NULL, /* requirements */
-           7, 7,
-           NULL, draw)
diff --git a/test/large-source.c b/test/large-source.c
deleted file mode 100644 (file)
index 2b6b84f..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright © Chris Wilson, 2008
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* This is a test case for the following bug:
- *
- *     crafted gif file will crash firefox
- *     [XError: 'BadAlloc (insufficient resources for operation)']
- *     https://bugzilla.mozilla.org/show_bug.cgi?id=424333
- */
-
-#ifdef WORDS_BIGENDIAN
-#define RED_MASK 0xA0
-#define GREEN_MASK 0xA
-#else
-#define RED_MASK 0x5
-#define GREEN_MASK 0x50
-#endif
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    unsigned char *data;
-
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_paint (cr);
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_A1, 32000, 20);
-    data = cairo_image_surface_get_data (surface);
-    if (data != NULL) {
-       int stride = cairo_image_surface_get_stride (surface);
-       int width  = cairo_image_surface_get_width  (surface);
-       int height = cairo_image_surface_get_height (surface);
-       int x, y;
-
-       for (y = 0; y < height; y++) {
-           for (x = 0; x < (width + 7) / 8; x++)
-               data[x] = RED_MASK;
-           data += stride;
-       }
-        cairo_surface_mark_dirty (surface);
-    }
-
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-    cairo_mask_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_A1, 20, 32000);
-    data = cairo_image_surface_get_data (surface);
-    if (data != NULL) {
-       int stride = cairo_image_surface_get_stride (surface);
-       int width  = cairo_image_surface_get_width  (surface);
-       int height = cairo_image_surface_get_height (surface);
-       int x, y;
-
-       for (y = 0; y < height; y++) {
-           for (x = 0; x < (width + 7) / 8; x++)
-               data[x] = GREEN_MASK;
-           data += stride;
-       }
-        cairo_surface_mark_dirty (surface);
-    }
-
-    cairo_set_source_rgb (cr, 0, 1, 0); /* green */
-    cairo_mask_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (large_source,
-           "Exercises mozilla bug 424333 - handling of massive images",
-           "stress, source", /* keywords */
-           NULL, /* requirements */
-           20, 20,
-           NULL, draw)
diff --git a/test/large-twin-antialias-mixed.c b/test/large-twin-antialias-mixed.c
deleted file mode 100644 (file)
index 9626a9d..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_scaled_font_t *
-create_twin (cairo_t *cr, cairo_antialias_t antialias)
-{
-    cairo_font_options_t *options;
-
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    options = cairo_font_options_create ();
-    cairo_font_options_set_antialias (options, antialias);
-    cairo_set_font_options (cr, options);
-    cairo_font_options_destroy (options);
-
-    return cairo_scaled_font_reference (cairo_get_scaled_font (cr));
-}
-
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_scaled_font_t *subpixel, *gray, *none;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_set_font_size (cr, 64);
-    subpixel = create_twin (cr, CAIRO_ANTIALIAS_SUBPIXEL);
-    gray = create_twin (cr, CAIRO_ANTIALIAS_GRAY);
-    none = create_twin (cr, CAIRO_ANTIALIAS_NONE);
-
-    cairo_move_to (cr, 4, 64);
-    cairo_set_scaled_font (cr, subpixel);
-    cairo_show_text (cr, "Is cairo's");
-    cairo_set_scaled_font (cr, gray);
-    cairo_show_text (cr, " twin");
-    cairo_set_scaled_font (cr, none);
-    cairo_show_text (cr, " giza?");
-
-    cairo_move_to (cr, 4, 128+16);
-    cairo_set_scaled_font (cr, gray);
-    cairo_show_text (cr, "Is cairo's");
-    cairo_set_scaled_font (cr, none);
-    cairo_show_text (cr, " twin");
-    cairo_set_scaled_font (cr, subpixel);
-    cairo_show_text (cr, " giza?");
-
-    cairo_move_to (cr, 4, 192+32);
-    cairo_set_scaled_font (cr, none);
-    cairo_show_text (cr, "Is cairo's");
-    cairo_set_scaled_font (cr, gray);
-    cairo_show_text (cr, " twin");
-    cairo_set_scaled_font (cr, subpixel);
-    cairo_show_text (cr, " giza?");
-
-    cairo_scaled_font_destroy (none);
-    cairo_scaled_font_destroy (gray);
-    cairo_scaled_font_destroy (subpixel);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (large_twin_antialias_mixed,
-           "Tests the internal font (with intermixed antialiasing)",
-           "twin, font", /* keywords */
-           "target=raster", /* requirements */
-           524, 240,
-           NULL, draw)
diff --git a/test/leaky-dash.c b/test/leaky-dash.c
deleted file mode 100644 (file)
index 12e91ac..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Test case for bug #4863:
- *
- *     stroking problems with wide dashed lines
- *     https://bugs.freedesktop.org/show_bug.cgi?id=4863
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 71
-#define HEIGHT 28
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double dash[2];
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-
-    cairo_set_line_width (cr, 2);
-    dash[0] = 8.0;
-    dash[1] = 2.0;
-
-    cairo_rectangle (cr, 2.0, 2.0, 67.0, 24.0);
-
-    cairo_set_dash (cr, dash, 2, 9.0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (leaky_dash,
-           "Exercises bug #4863 in which a dashed stroke leaks into half the rectangle being filled"
-           "\nknown bug (#4863) which has existed since the 1.0 release",
-           "dash, stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/leaky-dashed-rectangle.c b/test/leaky-dashed-rectangle.c
deleted file mode 100644 (file)
index 25f5674..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- *         Franz Schmid <Franz.Schmid@altmuehlnet.de>
- */
-
-/* Test case for bug reported by Franz Schmid <Franz.Schmid@altmuehlnet.de>
- * http://lists.cairographics.org/archives/cairo/2008-April/013912.html
- *
- * See also: http://bugs.freedesktop.org/show_bug.cgi?id=17177
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 60
-#define HEIGHT 60
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const double dash[2] = {4, 2};
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0., 0., 0);
-
-    cairo_translate (cr, 0.5, .5);
-    cairo_set_line_width (cr, 1); /* This is vital to reproduce the bug. */
-
-    /* First check simple rectangles */
-    cairo_set_source_rgb (cr, 0., 0., 0);
-    cairo_rectangle (cr, -WIDTH/4, -HEIGHT/4, WIDTH, HEIGHT);
-    cairo_stroke (cr);
-    cairo_rectangle (cr, WIDTH+WIDTH/4, -HEIGHT/4, -WIDTH, HEIGHT);
-    cairo_stroke (cr);
-    cairo_rectangle (cr, -WIDTH/4, HEIGHT+HEIGHT/4, WIDTH, -HEIGHT);
-    cairo_stroke (cr);
-    cairo_rectangle (cr, WIDTH+WIDTH/4, HEIGHT+HEIGHT/4, -WIDTH, -HEIGHT);
-    cairo_stroke (cr);
-
-    cairo_set_dash (cr, dash, 2, 0);
-
-    /* And now dashed. */
-    cairo_set_source_rgb (cr, 1., 0., 0);
-    cairo_rectangle (cr, -WIDTH/4, -HEIGHT/4, WIDTH, HEIGHT);
-    cairo_stroke (cr);
-    cairo_set_source_rgb (cr, 0., 1., 0);
-    cairo_rectangle (cr, WIDTH+WIDTH/4, -HEIGHT/4, -WIDTH, HEIGHT);
-    cairo_stroke (cr);
-    cairo_set_source_rgb (cr, 0., 0., 1);
-    cairo_rectangle (cr, -WIDTH/4, HEIGHT+HEIGHT/4, WIDTH, -HEIGHT);
-    cairo_stroke (cr);
-    cairo_set_source_rgb (cr, 1., 1., 0);
-    cairo_rectangle (cr, WIDTH+WIDTH/4, HEIGHT+HEIGHT/4, -WIDTH, -HEIGHT);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (leaky_dashed_rectangle,
-           "Exercises bug in which a dashed stroke leaks in from outside the surface",
-           "dash, stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/leaky-dashed-stroke.c b/test/leaky-dashed-stroke.c
deleted file mode 100644 (file)
index 457d7ce..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* Extracted from a test case reported by Jeff Muizelaar found whilst running
- * firefox http://people.mozilla.com/~jmuizelaar/BerlinDistricts-check.svg
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 205
-#define HEIGHT 260
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const double dash[2] = {.5, .5};
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1., 0., 0);
-
-    /* By adjusting the miter limit, we can see variations on the artifact.
-     * cairo_set_miter_limit (cr, 4.);
-     */
-
-    cairo_translate (cr, -720, -484);
-    cairo_scale (cr, 2.5, 2.5);
-
-    cairo_set_dash (cr, dash, 2, 0);
-
-    cairo_move_to (cr, 293.622, 330);
-    cairo_line_to (cr, 293.703, 337.028);
-    cairo_line_to (cr, 297.45, 336.851);
-    cairo_line_to (cr, 308.88, 342.609);
-    cairo_line_to (cr, 309.736, 346.107);
-    cairo_line_to (cr, 312.972, 348.128);
-    cairo_line_to (cr, 312.977, 353.478);
-    cairo_line_to (cr, 322.486, 359.355);
-    cairo_line_to (cr, 320.831, 363.642);
-    cairo_line_to (cr, 315.175, 367.171);
-    cairo_line_to (cr, 308.987, 365.715);
-    cairo_line_to (cr, 301.3, 365.964);
-    cairo_line_to (cr, 304.712, 368.852);
-    cairo_line_to (cr, 305.349, 373.022);
-    cairo_line_to (cr, 303.211, 376.551);
-    cairo_line_to (cr, 304.915, 382.855);
-    cairo_line_to (cr, 323.715, 400.475);
-    cairo_line_to (cr, 355.323, 424.072);
-    cairo_line_to (cr, 443.078, 426.534);
-    cairo_line_to (cr, 455.26, 400.603);
-    cairo_line_to (cr, 471.924, 392.604);
-    cairo_line_to (cr, 478.556, 390.797);
-    cairo_line_to (cr, 477.715, 386);
-    cairo_line_to (cr, 456.807, 376.507);
-    cairo_line_to (cr, 449.134, 368.722);
-    cairo_line_to (cr, 449.147, 365.847);
-    cairo_line_to (cr, 439.981, 361.692);
-    cairo_line_to (cr, 439.994, 358.603);
-    cairo_line_to (cr, 454.645, 336.128);
-    cairo_line_to (cr, 434.995, 324.005);
-    cairo_line_to (cr, 423.884, 319.354);
-    cairo_line_to (cr, 421.098, 312.569);
-    cairo_line_to (cr, 424.291, 305.997);
-    cairo_line_to (cr, 431.308, 305.069);
-    cairo_line_to (cr, 437.257, 296.882);
-    cairo_line_to (cr, 448.544, 296.808);
-    cairo_line_to (cr, 452.113, 290.651);
-    cairo_line_to (cr, 448.469, 285.483);
-    cairo_line_to (cr, 442.903, 282.877);
-    cairo_line_to (cr, 447.798, 281.124);
-    cairo_line_to (cr, 454.622, 274.911);
-    cairo_line_to (cr, 449.491, 269.978);
-    cairo_line_to (cr, 443.666, 253.148);
-    cairo_line_to (cr, 445.741, 250.834);
-    cairo_line_to (cr, 441.87, 247.131);
-    cairo_line_to (cr, 436.932, 246.203);
-    cairo_line_to (cr, 430.5, 251.252);
-    cairo_line_to (cr, 427.483, 250.751);
-    cairo_line_to (cr, 427.26, 253.572);
-    cairo_line_to (cr, 423.621, 255.539);
-    cairo_line_to (cr, 423.824, 257.933);
-    cairo_line_to (cr, 425.239, 259.582);
-    cairo_line_to (cr, 422.385, 261.443);
-    cairo_line_to (cr, 421.665, 260.53);
-    cairo_line_to (cr, 419.238, 262.819);
-    cairo_line_to (cr, 418.731, 257.849);
-    cairo_line_to (cr, 419.72, 255.227);
-    cairo_line_to (cr, 418.786, 250.258);
-    cairo_line_to (cr, 405.685, 235.254);
-    cairo_line_to (cr, 427.167, 215.127);
-    cairo_line_to (cr, 413.852, 196.281);
-    cairo_line_to (cr, 420.177, 192.379);
-    cairo_line_to (cr, 419.885, 185.701);
-    cairo_line_to (cr, 413.401, 185.428);
-    cairo_line_to (cr, 407.985, 186.863);
-    cairo_line_to (cr, 397.11, 189.112);
-    cairo_line_to (cr, 390.505, 186.664);
-    cairo_line_to (cr, 388.527, 183.694);
-    cairo_line_to (cr, 336.503, 221.048);
-    cairo_line_to (cr, 367.028, 241.656);
-    cairo_line_to (cr, 365.103, 244.117);
-    cairo_line_to (cr, 364.886, 246.792);
-    cairo_line_to (cr, 361.467, 247.119);
-    cairo_line_to (cr, 360.396, 245.525);
-    cairo_line_to (cr, 356.336, 245.638);
-    cairo_line_to (cr, 353.344, 242.122);
-    cairo_line_to (cr, 347.149, 242.876);
-    cairo_line_to (cr, 341.809, 256.652);
-    cairo_line_to (cr, 342.232, 268.72);
-    cairo_line_to (cr, 329.579, 269.095);
-    cairo_line_to (cr, 327.001, 271.009);
-    cairo_line_to (cr, 325.579, 275.598);
-    cairo_line_to (cr, 318.941, 277.313);
-    cairo_line_to (cr, 306.048, 277.231);
-    cairo_line_to (cr, 304.071, 276.27);
-    cairo_line_to (cr, 301.153, 277.175);
-    cairo_line_to (cr, 293.52, 277.529);
-    cairo_line_to (cr, 290.682, 281.947);
-    cairo_line_to (cr, 293.911, 286.63);
-    cairo_line_to (cr, 302.417, 290.547);
-    cairo_line_to (cr, 303.521, 294.73);
-    cairo_line_to (cr, 307.787, 298.088);
-    cairo_line_to (cr, 311.718, 299.126);
-    cairo_line_to (cr, 313.255, 302.146);
-    cairo_line_to (cr, 314.6, 306.206);
-    cairo_line_to (cr, 322.603, 308.96);
-    cairo_line_to (cr, 321.718, 314.477);
-    cairo_line_to (cr, 319.596, 320.341);
-    cairo_line_to (cr, 300.689, 323.69);
-    cairo_line_to (cr, 301.232, 326.789);
-    cairo_line_to (cr, 293.622, 330);
-    cairo_close_path (cr);
-
-    cairo_stroke (cr);
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (leaky_dashed_stroke,
-           "Exercises bug in which a dashed stroke leaks in from outside the surface",
-           "dash, stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/leaky-polygon.c b/test/leaky-polygon.c
deleted file mode 100644 (file)
index 0ea7094..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Bug history
- *
- * 2005-01-07 Carl Worth <cworth@cworth.org>
- *
- *   Bug reported:
- *
- *     From: Chris <fltk@functionalfuture.com>
- *     Subject: [cairo] Render to image buffer artifacts
- *     To: cairo@cairographics.org
- *     Date: Fri, 07 Jan 2005 02:22:28 -0500
- *
- *     I've attached the code and image that shows this off.  Scaling at
- *     different levels seems to change the corruption.
- *
- *     For some reason there are artifacts in the alpha channel.  I don't know
- *     if that's the only place, but the alpha channel looks bad.
- *
- *     If you run the code and parse the attached image, directing stdout to a
- *     file, you can see in the lower left corner there are alpha values where
- *     it should be transparent.
- *     [...]
- *
- * 2005-01-11 Carl Worth <cworth@cworth.org>
- *
- *   I trimmed the original test case down to the code that appears here.
- *
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 21
-#define HEIGHT 21
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_scale (cr, 1.0/(1<<16), 1.0/(1<<16));
-
-    cairo_move_to (cr, 131072,39321);
-    cairo_line_to (cr, 1103072,1288088);
-    cairo_line_to (cr, 1179648,1294990);
-    cairo_close_path (cr);
-
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (leaky_polygon,
-           "Exercises a corner case in the trapezoid rasterization in which pixels outside the trapezoids received a non-zero alpha",
-           "fill, trap", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/line-width-large-overlap.c b/test/line-width-large-overlap.c
deleted file mode 100644 (file)
index 767734f..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2011 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@redhat.com>
- */
-
-/*
- * Test case taken from the WebKit test suite, failure originally reported
- * by Zan Dobersek <zandobersek@gmail.com>. WebKit test is
- * LayoutTests/canvas/philip/tests/2d.path.rect.selfintersect.html
- */
-
-#include "cairo-test.h"
-
-#include <math.h>
-
-#define LINE_WIDTH 120
-#define SIZE 100
-#define RECT_SIZE 10
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* fill with green so RGB and RGBA tests can share the ref image */
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_paint (cr);
-
-    /* red to see eventual bugs immediately */
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    /* big line width */
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    /* rectangle that is smaller than the line width in center of image */
-    cairo_rectangle (cr,
-                     (SIZE - RECT_SIZE) / 2,
-                     (SIZE - RECT_SIZE) / 2,
-                     RECT_SIZE,
-                     RECT_SIZE);
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-/* and again slightly offset to trigger another path */
-static cairo_test_status_t
-draw_offset (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, .5, .5);
-    return draw (cr, width, height);
-}
-
-static cairo_test_status_t
-draw_rotated (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, SIZE/2, SIZE/2);
-    cairo_rotate (cr, M_PI/4);
-    cairo_translate (cr, -SIZE/2, -SIZE/2);
-
-    return draw (cr, width, height);
-}
-
-static cairo_test_status_t
-draw_flipped (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, SIZE/2, SIZE/2);
-    cairo_scale (cr, -1, 1);
-    cairo_translate (cr, -SIZE/2, -SIZE/2);
-
-    return draw (cr, width, height);
-}
-
-static cairo_test_status_t
-draw_flopped (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, SIZE/2, SIZE/2);
-    cairo_scale (cr, 1, -1);
-    cairo_translate (cr, -SIZE/2, -SIZE/2);
-
-    return draw (cr, width, height);
-}
-
-static cairo_test_status_t
-draw_dashed (cairo_t *cr, int width, int height)
-{
-    const double dashes[] = { 4 };
-    cairo_set_dash (cr, dashes, 1, 0);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    return draw (cr, width, height);
-}
-
-CAIRO_TEST (line_width_large_overlap,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
-CAIRO_TEST (line_width_large_overlap_offset,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_offset)
-CAIRO_TEST (line_width_large_overlap_rotated,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_rotated)
-CAIRO_TEST (line_width_large_overlap_flipped,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_flipped)
-CAIRO_TEST (line_width_large_overlap_flopped,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_flopped)
-CAIRO_TEST (line_width_large_overlap_dashed,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_dashed)
diff --git a/test/line-width-overlap.c b/test/line-width-overlap.c
deleted file mode 100644 (file)
index ac8c234..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2011 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@redhat.com>
- */
-
-/*
- * Test case taken from the WebKit test suite, failure originally reported
- * by Zan Dobersek <zandobersek@gmail.com>. WebKit test is
- * LayoutTests/canvas/philip/tests/2d.path.rect.selfintersect.html
- */
-
-#include "cairo-test.h"
-
-#include <math.h>
-
-#define LINE_WIDTH 60
-#define SIZE 100
-#define RECT_SIZE 10
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* fill with green so RGB and RGBA tests can share the ref image */
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_paint (cr);
-
-    /* red to see eventual bugs immediately */
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    /* big line width */
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    /* rectangle that is smaller than the line width in center of image */
-    cairo_rectangle (cr,
-                     (SIZE - RECT_SIZE) / 2,
-                     (SIZE - RECT_SIZE) / 2,
-                     RECT_SIZE,
-                     RECT_SIZE);
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-/* and again slightly offset to trigger another path */
-static cairo_test_status_t
-draw_offset (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, .5, .5);
-    return draw (cr, width, height);
-}
-
-static cairo_test_status_t
-draw_rotated (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, SIZE/2, SIZE/2);
-    cairo_rotate (cr, M_PI/4);
-    cairo_translate (cr, -SIZE/2, -SIZE/2);
-
-    return draw (cr, width, height);
-}
-
-static cairo_test_status_t
-draw_flipped (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, SIZE/2, SIZE/2);
-    cairo_scale (cr, -1, 1);
-    cairo_translate (cr, -SIZE/2, -SIZE/2);
-
-    return draw (cr, width, height);
-}
-
-static cairo_test_status_t
-draw_flopped (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, SIZE/2, SIZE/2);
-    cairo_scale (cr, 1, -1);
-    cairo_translate (cr, -SIZE/2, -SIZE/2);
-
-    return draw (cr, width, height);
-}
-
-static cairo_test_status_t
-draw_dashed (cairo_t *cr, int width, int height)
-{
-    const double dashes[] = { 4 };
-    cairo_set_dash (cr, dashes, 1, 0);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    return draw (cr, width, height);
-}
-
-CAIRO_TEST (line_width_overlap,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
-CAIRO_TEST (line_width_overlap_offset,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_offset)
-CAIRO_TEST (line_width_overlap_rotated,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_rotated)
-CAIRO_TEST (line_width_overlap_flipped,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_flipped)
-CAIRO_TEST (line_width_overlap_flopped,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_flopped)
-CAIRO_TEST (line_width_overlap_dashed,
-           "Test overlapping lines due to large line width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_dashed)
diff --git a/test/line-width-scale.c b/test/line-width-scale.c
deleted file mode 100644 (file)
index 037b887..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-/* This test exercises the various interactions between
- * cairo_set_line_width and cairo_scale. Specifically it shows how
- * separate transformations can affect the pen for stroking compared
- * to the path itself.
- *
- * This was inspired by an image by Maxim Shemanarev demonstrating the
- * flexible-pipeline nature of his Antigrain Geometry project:
- *
- *     http://antigrain.com/tips/line_alignment/conv_order.gif
- *
- * It also uncovered some behavior in cairo that I found surprising.
- * Namely, cairo_set_line_width was not transforming the width
- * according the the current CTM, but instead delaying that
- * transformation until the time of cairo_stroke.
- *
- * This delayed behavior was released in cairo 1.0 so we're going to
- * document this as the way cairo_set_line_width works rather than
- * considering this a bug.
- */
-
-#define LINE_WIDTH 13
-#define SPLINE 50.0
-#define XSCALE  0.5
-#define YSCALE  2.0
-#define WIDTH (XSCALE * SPLINE * 6.0)
-#define HEIGHT (YSCALE * SPLINE * 2.0)
-
-static void
-spline_path (cairo_t *cr)
-{
-    cairo_save (cr);
-    {
-       cairo_move_to (cr,
-                      - SPLINE, 0);
-       cairo_curve_to (cr,
-                       - SPLINE / 4, - SPLINE,
-                         SPLINE / 4,   SPLINE,
-                         SPLINE, 0);
-    }
-    cairo_restore (cr);
-}
-
-/* If we scale before setting the line width or creating the path,
- * then obviously both will be scaled. */
-static void
-scale_then_set_line_width_and_stroke (cairo_t *cr)
-{
-    cairo_scale (cr, XSCALE, YSCALE);
-    cairo_set_line_width (cr, LINE_WIDTH);
-    spline_path (cr);
-    cairo_stroke (cr);
-}
-
-/* This is used to verify the results of
- * scale_then_set_line_width_and_stroke.
- *
- * It uses save/restore pairs to isolate the scaling of the path and
- * line_width and ensures that both are scaled.
- */
-static void
-scale_path_and_line_width (cairo_t *cr)
-{
-    cairo_save (cr);
-    {
-       cairo_scale (cr, XSCALE, YSCALE);
-       spline_path (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    {
-       cairo_scale (cr, XSCALE, YSCALE);
-       cairo_set_line_width (cr, LINE_WIDTH);
-       cairo_stroke (cr);
-    }
-    cairo_restore (cr);
-}
-
-/* This is the case that was surprising.
- *
- * Setting the line width before scaling doesn't change anything. The
- * line width will be interpreted under the CTM in effect at the time
- * of cairo_stroke, so the line width will be scaled as well as the
- * path here.
- */
-static void
-set_line_width_then_scale_and_stroke (cairo_t *cr)
-{
-    cairo_set_line_width (cr, LINE_WIDTH);
-    cairo_scale (cr, XSCALE, YSCALE);
-    spline_path (cr);
-    cairo_stroke (cr);
-}
-
-/* Here then is the way to achieve the alternate result.
- *
- * This uses save/restore pairs to isolate the scaling of the path and
- * line_width and ensures that the path is scaled while the line width
- * is not.
- */
-static void
-scale_path_not_line_width (cairo_t *cr)
-{
-    cairo_save (cr);
-    {
-       cairo_scale (cr, XSCALE, YSCALE);
-       spline_path (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    {
-       cairo_set_line_width (cr, LINE_WIDTH);
-       cairo_stroke (cr);
-    }
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-    void (* const figures[4]) (cairo_t *cr) = {
-       scale_then_set_line_width_and_stroke,
-       scale_path_and_line_width,
-       set_line_width_then_scale_and_stroke,
-       scale_path_not_line_width
-    };
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-
-    for (i = 0; i < 4; i++) {
-       cairo_save (cr);
-       cairo_translate (cr,
-                        WIDTH/4  + (i % 2) * WIDTH/2,
-                        HEIGHT/4 + (i / 2) * HEIGHT/2);
-       (figures[i]) (cr);
-       cairo_restore (cr);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (line_width_scale,
-           "Tests interaction of cairo_set_line_width with cairo_scale",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/line-width-tolerance.c b/test/line-width-tolerance.c
deleted file mode 100644 (file)
index 5a581ca..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2011 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@redhat.com>
- */
-
-/*
- * Test case taken from the WebKit test suite, failure originally reported
- * by Zan Dobersek <zandobersek@gmail.com> at
- * https://bugs.webkit.org/show_bug.cgi?id=54471
- */
-
-#include "cairo-test.h"
-
-#include <math.h>
-
-#define RADIUS 50
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* fill with green so RGB and RGBA tests can share the ref image */
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_paint (cr);
-
-    /* red to see eventual bugs immediately */
-    cairo_set_source_rgb (cr, 1, 0, 0);
-
-    /* stroke 3/4 of a circle where the last quarter would be this
-     * reference image. Keep just a 1 pixel border. Use a huge line
-     * width (twice the circle's radius to get it filled completely).
-     */
-    cairo_set_line_width (cr, 2 * RADIUS);
-    cairo_arc (cr, 1, RADIUS - 1, RADIUS, 0, - M_PI / 2.0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (line_width_tolerance,
-           "Test interaction of line width and tolerance when stroking arcs",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           RADIUS, RADIUS,
-           NULL, draw)
diff --git a/test/line-width-zero.c b/test/line-width-zero.c
deleted file mode 100644 (file)
index c7ac8a0..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-/* This is a test case for the following bug:
- *
- *     Crash in cairo_stroke_extents whe line width is 0 and line cap is ROUND
- *     (_cairo_pen_find_active_cw_vertex_index)
- *     https://bugs.freedesktop.org/show_bug.cgi?id=10231
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double x1, y1, x2, y2;
-
-    cairo_move_to (cr, 0.0, 0.0);
-    cairo_line_to (cr, 100.0, 100.0);
-    cairo_set_line_width (cr, 0.0);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_stroke_extents (cr, &x1, &y1, &x2, &y2);
-    cairo_in_stroke (cr, 50, 50);
-    cairo_stroke_preserve (cr);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_stroke_extents (cr, &x1, &y1, &x2, &y2);
-    cairo_in_stroke (cr, 50, 50);
-    cairo_stroke_preserve (cr);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_stroke_extents (cr, &x1, &y1, &x2, &y2);
-    cairo_in_stroke (cr, 50, 50);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (line_width_zero,
-           "Test all stroke operations and all cap,join styles with line width of zero",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/line-width.c b/test/line-width.c
deleted file mode 100644 (file)
index 315ebc3..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright © 2004 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define LINES 5
-#define LINE_LENGTH 10
-#define IMAGE_WIDTH 2 * LINE_LENGTH + 6
-#define IMAGE_HEIGHT ((LINES+4)*LINES)/2 + 2
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    /* We draw in black, so paint white first. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_translate (cr, 2, 2);
-
-    for (i=0; i < LINES; i++) {
-       cairo_set_line_width (cr, i+1);
-       cairo_move_to (cr, 0, 0);
-       cairo_rel_line_to (cr, LINE_LENGTH, 0);
-       cairo_stroke (cr);
-       cairo_move_to (cr, LINE_LENGTH + 2, 0.5);
-       cairo_rel_line_to (cr, LINE_LENGTH, 0);
-       cairo_stroke (cr);
-       cairo_translate (cr, 0, i+3);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_a1 (cairo_t *cr, int width, int height)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-    return draw (cr, width, height);
-}
-
-CAIRO_TEST (line_width,
-           "Tests cairo_set_line_width",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
-CAIRO_TEST (a1_line_width,
-           "Tests cairo_set_line_width",
-           "stroke", /* keywords */
-           "target=raster", /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw_a1)
diff --git a/test/linear-gradient-extend.c b/test/linear-gradient-extend.c
deleted file mode 100644 (file)
index b1328b4..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2010 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define NUM_EXTEND 4
-#define HEIGHT 16
-#define WIDTH 16
-#define PAD 3
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    unsigned int i, j;
-
-    cairo_extend_t extend[NUM_EXTEND] = {
-       CAIRO_EXTEND_NONE,
-       CAIRO_EXTEND_REPEAT,
-       CAIRO_EXTEND_REFLECT,
-       CAIRO_EXTEND_PAD
-    };
-
-    cairo_test_paint_checkered (cr);
-
-    pattern = cairo_pattern_create_linear (0, 2*PAD, 0, HEIGHT - 2*PAD);
-
-    cairo_pattern_add_color_stop_rgb (pattern, 0, 0, 0, 1);
-    cairo_pattern_add_color_stop_rgb (pattern, 1, 0, 0, 1);
-
-    cairo_translate (cr, PAD, PAD);
-
-    for (i = 0; i < 2; i++) {
-        cairo_save (cr);
-       
-       for (j = 0; j < NUM_EXTEND; j++) {
-           cairo_pattern_set_extend (pattern, extend[j]);
-
-           cairo_reset_clip (cr);
-           cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-           cairo_clip (cr);
-
-           if (i & 1) {
-               cairo_set_source_rgb (cr, 0, 1, 0);
-               cairo_mask (cr, pattern);
-           } else {
-               cairo_set_source (cr, pattern);
-               cairo_paint (cr);
-           }
-
-           cairo_translate (cr, WIDTH+PAD, 0);
-       }
-
-       cairo_restore (cr);
-       cairo_translate (cr, 0, HEIGHT+PAD);
-    }
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (linear_gradient_extend,
-           "Tests gradient to solid reduction of linear gradients",
-           "linear, pattern, extend", /* keywords */
-           NULL, /* requirements */
-           (WIDTH+PAD) * NUM_EXTEND + PAD, 2*(HEIGHT + PAD) + PAD,
-           NULL, draw)
diff --git a/test/linear-gradient-large.c b/test/linear-gradient-large.c
deleted file mode 100644 (file)
index 5646aa4..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2010 Krzysztof Kosiński
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Krzysztof Kosiński <tweenk.pl@gmail.com>
- */
-
-#include "cairo-test.h"
-
-/* originally reported in https://bugs.freedesktop.org/show_bug.cgi?id=29470 */
-
-#define OFFSET 50
-#define SIZE 1000
-
-static void mark_point(cairo_t *ct, double x, double y)
-{
-    cairo_rectangle(ct, x-2, y-2, 4, 4);
-    cairo_set_source_rgb(ct, 1,0,0);
-    cairo_fill(ct);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *gr = cairo_pattern_create_linear (SIZE - OFFSET, OFFSET,
-                                                       OFFSET, SIZE - OFFSET);
-
-    cairo_pattern_add_color_stop_rgb (gr, 0.0, 1, 1, 1);
-    cairo_pattern_add_color_stop_rgb (gr, 0.0, 0, 0, 0);
-    cairo_pattern_add_color_stop_rgb (gr, 1.0, 0, 0, 0);
-    cairo_pattern_add_color_stop_rgb (gr, 1.0, 1, 1, 1);
-
-    cairo_set_source (cr, gr);
-    cairo_pattern_destroy (gr);
-    cairo_paint (cr);
-
-    mark_point(cr, SIZE - OFFSET, OFFSET);
-    mark_point(cr, OFFSET, SIZE - OFFSET);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (linear_gradient_large,
-           "Tests that large linear gradients get rendered at the correct place",
-           "linear, pattern", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/linear-gradient-one-stop.c b/test/linear-gradient-one-stop.c
deleted file mode 100644 (file)
index 09c4b9d..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2010 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define NUM_EXTEND 4
-#define HEIGHT 16
-#define WIDTH 16
-#define PAD 3
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    unsigned int i, j;
-
-    cairo_extend_t extend[NUM_EXTEND] = {
-       CAIRO_EXTEND_NONE,
-       CAIRO_EXTEND_REPEAT,
-       CAIRO_EXTEND_REFLECT,
-       CAIRO_EXTEND_PAD
-    };
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-
-    cairo_translate (cr, PAD, PAD);
-
-    for (i = 0; i < 3; i++) {
-        cairo_save (cr);
-       
-       for (j = 0; j < NUM_EXTEND; j++) {
-           cairo_reset_clip (cr);
-           cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-           cairo_clip (cr);
-
-           if (i == 0)
-               pattern = cairo_pattern_create_linear (0, 2*PAD, 0, HEIGHT - 2*PAD);
-           else if (i == 1)
-               pattern = cairo_pattern_create_linear (2*PAD, 2*PAD, HEIGHT - 2*PAD, HEIGHT - 2*PAD);
-           else if (i == 2)
-               pattern = cairo_pattern_create_linear (2*PAD, 0, HEIGHT - 2*PAD, 0);
-
-           cairo_pattern_add_color_stop_rgb (pattern, 0.25, 0, 0, 1);
-           cairo_pattern_set_extend (pattern, extend[j]);
-
-           cairo_set_source (cr, pattern);
-           cairo_paint (cr);
-
-           cairo_pattern_destroy (pattern);
-
-           cairo_translate (cr, WIDTH+PAD, 0);
-       }
-
-       cairo_restore (cr);
-       cairo_translate (cr, 0, HEIGHT+PAD);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (linear_gradient_one_stop,
-           "Tests linear gradients with a single stop",
-           "gradient,linear,", /* keywords */
-           NULL, /* requirements */
-           (WIDTH+PAD) * NUM_EXTEND + PAD, 3*(HEIGHT + PAD) + PAD,
-           NULL, draw)
diff --git a/test/linear-gradient-reflect.c b/test/linear-gradient-reflect.c
deleted file mode 100644 (file)
index 8adb587..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright © 2007 Tim Rowley
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Tim Rowley
- */
-
-#include "cairo-test.h"
-#include "stdio.h"
-
-#define WIDTH  50
-#define HEIGHT 50
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_paint (cr);
-
-    cairo_save (cr);
-
-    pattern = cairo_pattern_create_linear (0, 0, 10.0, 0);
-
-    cairo_pattern_add_color_stop_rgb (pattern, 0.0,
-                                     0.0, 0.0, 1.0);
-    cairo_pattern_add_color_stop_rgb (pattern, 1.0,
-                                     1.0, 0.0, 0.0);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REFLECT);
-
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-    cairo_rectangle (cr, 0.0, 0.0, WIDTH, HEIGHT);
-    cairo_fill (cr);
-
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (linear_gradient_reflect,
-           "Tests the drawing of linear gradient with reflect",
-           "gradient", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
-
diff --git a/test/linear-gradient-subset.c b/test/linear-gradient-subset.c
deleted file mode 100644 (file)
index ce05e6e..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Owen Taylor <otaylor@redhat.com>
- */
-
-#include "cairo-test.h"
-#include "stdio.h"
-
-/* The test matrix is
- *
- * A) Horizontal   B) 5°          C) 45°          D) Vertical
- * 1) Rotated 0°   2) Rotated 45° C) Rotated 90°
- * a) 2 stop       b) 3 stop
- *
- *  A1a   B1a  C1a  D1a
- *  A2a   B2a  C2a  D2a
- *  A3a   B3a  C3a  D3a
- *  A1b   B1b  C1b  D1b
- *  A2b   B2b  C2b  D2b
- *  A3b   B3b  C3b  D3b
- */
-
-static const double gradient_angles[] = { 0, 45, 90 };
-#define N_GRADIENT_ANGLES 3
-static const double rotate_angles[] = { 0, 45, 90 };
-#define N_ROTATE_ANGLES 3
-static const int n_stops[] = { 2, 3 };
-#define N_N_STOPS 2
-
-#define UNIT_SIZE 6
-#define UNIT_SIZE 6
-#define PAD 1
-
-#define WIDTH  N_GRADIENT_ANGLES * UNIT_SIZE + (N_GRADIENT_ANGLES + 1) * PAD
-#define HEIGHT N_N_STOPS * N_ROTATE_ANGLES * UNIT_SIZE + (N_N_STOPS * N_ROTATE_ANGLES + 1) * PAD
-
-static void
-draw_unit (cairo_t *cr,
-          double   gradient_angle,
-          double   rotate_angle,
-          int      n_stops)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_rectangle (cr, 0, 0, 1, 1);
-    cairo_clip (cr);
-    cairo_new_path(cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_rectangle (cr, 0, 0, 1, 1);
-    cairo_fill (cr);
-
-    cairo_translate (cr, 0.5, 0.5);
-    cairo_scale (cr, 1 / 1.5, 1 / 1.5);
-    cairo_rotate (cr, rotate_angle);
-
-    pattern = cairo_pattern_create_linear (-0.5 * cos (gradient_angle),  -0.5 * sin (gradient_angle),
-                                           0.5 * cos (gradient_angle),   0.5 * sin (gradient_angle));
-
-    if (n_stops == 2) {
-       cairo_pattern_add_color_stop_rgb (pattern, 0.2, 0.3, 0.3, 0.3);
-       cairo_pattern_add_color_stop_rgb (pattern, 0.8, 1.0, 1.0, 1.0);
-    } else {
-       cairo_pattern_add_color_stop_rgb (pattern, 0.2, 1.0, 0.0, 0.0);
-       cairo_pattern_add_color_stop_rgb (pattern, 0.5, 1.0, 1.0, 1.0);
-       cairo_pattern_add_color_stop_rgb (pattern, 0.8, 0.0, 0.0, 1.0);
-    }
-
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-    cairo_rectangle (cr, -0.5, -0.5, 1, 1);
-    cairo_fill (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i, j, k;
-
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_paint (cr);
-
-    for (i = 0; i < N_GRADIENT_ANGLES; i++)
-       for (j = 0; j < N_ROTATE_ANGLES; j++)
-         for (k = 0; k < N_N_STOPS; k++) {
-               cairo_save (cr);
-               cairo_translate (cr,
-                                PAD + (PAD + UNIT_SIZE) * i,
-                                PAD + (PAD + UNIT_SIZE) * (N_ROTATE_ANGLES * k + j));
-               cairo_scale (cr, UNIT_SIZE, UNIT_SIZE);
-
-               draw_unit (cr,
-                          gradient_angles[i] * M_PI / 180.,
-                          rotate_angles[j] * M_PI / 180.,
-                          n_stops[k]);
-               cairo_restore (cr);
-           }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (linear_gradient_subset,
-           "Tests the drawing of linear gradients",
-           "gradient", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/linear-gradient.c b/test/linear-gradient.c
deleted file mode 100644 (file)
index 054d6ab..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Owen Taylor <otaylor@redhat.com>
- */
-
-#include "cairo-test.h"
-#include "stdio.h"
-
-/* The test matrix is
- *
- * A) Horizontal   B) 5°          C) 45°          D) Vertical
- * 1) Rotated 0°   2) Rotated 45° C) Rotated 90°
- * a) 2 stop       b) 3 stop
- *
- *  A1a   B1a  C1a  D1a
- *  A2a   B2a  C2a  D2a
- *  A3a   B3a  C3a  D3a
- *  A1b   B1b  C1b  D1b
- *  A2b   B2b  C2b  D2b
- *  A3b   B3b  C3b  D3b
- */
-
-static const double gradient_angles[] = { 0, 45, 90 };
-#define N_GRADIENT_ANGLES 3
-static const double rotate_angles[] = { 0, 45, 90 };
-#define N_ROTATE_ANGLES 3
-static const int n_stops[] = { 2, 3 };
-#define N_N_STOPS 2
-
-#define UNIT_SIZE 6
-#define UNIT_SIZE 6
-#define PAD 1
-
-#define WIDTH  N_GRADIENT_ANGLES * UNIT_SIZE + (N_GRADIENT_ANGLES + 1) * PAD
-#define HEIGHT N_N_STOPS * N_ROTATE_ANGLES * UNIT_SIZE + (N_N_STOPS * N_ROTATE_ANGLES + 1) * PAD
-
-static void
-draw_unit (cairo_t *cr,
-          double   gradient_angle,
-          double   rotate_angle,
-          int      n_stops)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_rectangle (cr, 0, 0, 1, 1);
-    cairo_clip (cr);
-    cairo_new_path(cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_rectangle (cr, 0, 0, 1, 1);
-    cairo_fill (cr);
-
-    cairo_translate (cr, 0.5, 0.5);
-    cairo_scale (cr, 1 / 1.5, 1 / 1.5);
-    cairo_rotate (cr, rotate_angle);
-
-    pattern = cairo_pattern_create_linear (-0.5 * cos (gradient_angle),  -0.5 * sin (gradient_angle),
-                                           0.5 * cos (gradient_angle),   0.5 * sin (gradient_angle));
-
-    if (n_stops == 2) {
-       cairo_pattern_add_color_stop_rgb (pattern, 0.,
-                                         0.3, 0.3, 0.3);
-       cairo_pattern_add_color_stop_rgb (pattern, 1.,
-                                         1.0, 1.0, 1.0);
-    } else {
-       cairo_pattern_add_color_stop_rgb (pattern, 0.,
-                                         1.0, 0.0, 0.0);
-       cairo_pattern_add_color_stop_rgb (pattern, 0.5,
-                                         1.0, 1.0, 1.0);
-       cairo_pattern_add_color_stop_rgb (pattern, 1.,
-                                         0.0, 0.0, 1.0);
-    }
-
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-    cairo_rectangle (cr, -0.5, -0.5, 1, 1);
-    cairo_fill (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i, j, k;
-
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_paint (cr);
-
-    for (i = 0; i < N_GRADIENT_ANGLES; i++)
-       for (j = 0; j < N_ROTATE_ANGLES; j++)
-         for (k = 0; k < N_N_STOPS; k++) {
-               cairo_save (cr);
-               cairo_translate (cr,
-                                PAD + (PAD + UNIT_SIZE) * i,
-                                PAD + (PAD + UNIT_SIZE) * (N_ROTATE_ANGLES * k + j));
-               cairo_scale (cr, UNIT_SIZE, UNIT_SIZE);
-
-               draw_unit (cr,
-                          gradient_angles[i] * M_PI / 180.,
-                          rotate_angles[j] * M_PI / 180.,
-                          n_stops[k]);
-               cairo_restore (cr);
-           }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (linear_gradient,
-           "Tests the drawing of linear gradients",
-           "gradient", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/linear-step-function.c b/test/linear-step-function.c
deleted file mode 100644 (file)
index da7e8ca..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    pattern = cairo_pattern_create_linear (width/2, 0, width/2, 0);
-    cairo_pattern_add_color_stop_rgb (pattern, 0, 1, 0, 0);
-    cairo_pattern_add_color_stop_rgb (pattern, 1, 0, 0, 1);
-    cairo_set_source (cr, pattern);
-
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_NONE); /* nothing */
-    cairo_rectangle (cr, 0, 0, width, height/2);
-    cairo_fill (cr);
-
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_PAD); /* step */
-    cairo_rectangle (cr, 0, height/2, width, height/2);
-    cairo_fill (cr);
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (linear_step_function,
-           "Tests creating a step function using a linear gradient",
-           "gradient, linear", /* keywords */
-           NULL, /* requirements */
-           40, 40,
-           NULL, draw)
diff --git a/test/linear-uniform.c b/test/linear-uniform.c
deleted file mode 100644 (file)
index 2f65535..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    /* with alpha */
-    pattern = cairo_pattern_create_linear (0, 0, 0, height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0, 1, 1, 1, .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 1, 1, 1, 1, .5);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-    cairo_rectangle (cr, 0, 0, width/2, height);
-    cairo_fill (cr);
-
-    /* without alpha */
-    pattern = cairo_pattern_create_linear (0, 0, 0, height);
-    cairo_pattern_add_color_stop_rgb (pattern, 0, 1, 1, 1);
-    cairo_pattern_add_color_stop_rgb (pattern, 1, 1, 1, 1);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-    cairo_rectangle (cr, width/2, 0, width/2, height);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (linear_uniform,
-           "Tests handling of \"solid\" linear gradients",
-           "gradient, linear", /* keywords */
-           NULL, /* requirements */
-           40, 40,
-           NULL, draw)
diff --git a/test/long-dashed-lines.c b/test/long-dashed-lines.c
deleted file mode 100644 (file)
index 215bd91..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the author not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The author makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHOR. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-    double dashes[] = {6, 3};
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* partially visible rectangle... */
-    cairo_rectangle (cr, -0.5, -0.5, 61, 61);
-
-    /* rectangles with intersecting segments... */
-    cairo_save (cr);
-    cairo_translate (cr, 30, 30);
-    for (i = 0; i < 4; i++) {
-       cairo_rotate (cr, M_PI / 4);
-       cairo_rectangle (cr, -37, -15, 74, 30);
-    }
-    cairo_restore (cr);
-
-    /* completely invisible rectangle */
-    cairo_rectangle (cr, -5, -5, 70, 70);
-
-    cairo_set_dash (cr, dashes, ARRAY_LENGTH (dashes), 0.);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (long_dashed_lines,
-           "Exercises _cairo_box_intersects_line_segment()",
-           "dash, stroke, stress", /* keywords */
-           NULL, /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/long-lines.c b/test/long-lines.c
deleted file mode 100644 (file)
index 79fc98f..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Carl D. Worth <cworth@cworth.org>
- *         Emmanuel Pacaud <emmanuel.pacaud@lapp.in2p3.fr>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     1.
-#define SIZE           10
-#define LINE_NBR       6
-
-struct {
-    double length;
-    double red, green, blue;
-} lines[LINE_NBR] = {
-    {       100.0, 1.0, 0.0, 0.0 },
-    {     10000.0, 0.0, 1.0, 0.0 },
-    {    100000.0, 0.0, 0.0, 1.0 },
-    {   1000000.0, 1.0, 1.0, 0.0 },
-    {  10000000.0, 0.0, 1.0, 1.0 },
-    { 100000000.0, 1.0, 0.0, 1.0 }
-};
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double pos;
-    int i;
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    pos = SIZE + .5;
-    for (i = 0; i < LINE_NBR; i++) {
-       cairo_move_to (cr, pos, -lines[i].length);
-       cairo_line_to (cr, pos, +lines[i].length);
-       cairo_set_source_rgb (cr, lines[i].red, lines[i].green, lines[i].blue);
-       cairo_stroke (cr);
-       pos += SIZE;
-    }
-
-    /* This should display a perfect vertically centered black line */
-    cairo_move_to (cr, 0.5, -1e100);
-    cairo_line_to (cr, pos,  1e100);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (long_lines,
-           "Test long lines"
-           "\nLong lines are not drawn due to the limitations of the internal 16.16 fixed-point coordinates",
-           "stroke, stress", /* keywords */
-           NULL, /* requirements */
-           SIZE * (LINE_NBR + 1), SIZE * (LINE_NBR + 1),
-           NULL, draw)
-
diff --git a/test/make-cairo-test-constructors.sh b/test/make-cairo-test-constructors.sh
deleted file mode 100644 (file)
index cb1391e..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /bin/sh
-
-if test $# -eq 0; then
-    echo "$0: no input files." >&2
-    exit 0
-fi
-
-cat <<HERE
-/* WARNING: Autogenerated file - see $0! */
-
-#include "cairo-test-private.h"
-
-void _cairo_test_runner_register_tests (void);
-
-HERE
-
-cat "$@" |  sed '/^CAIRO_TEST/!d; s/CAIRO_TEST.*(\(.*\),.*/extern void _register_\1 (void);/'
-cat <<HERE
-
-void
-_cairo_test_runner_register_tests (void)
-{
-HERE
-
-cat "$@" |  sed '/^CAIRO_TEST/!d; s/CAIRO_TEST.*(\(.*\),.*/    _register_\1 ();/'
-
-echo "}"
-
-
diff --git a/test/map-to-image.c b/test/map-to-image.c
deleted file mode 100644 (file)
index 0262245..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH  3
-#define HEIGHT 3
-
-/* A single, black pixel */
-static const uint32_t black_pixel_argb = 0xff000000;
-static const uint32_t black_pixel      = 0x00000000;
-
-static cairo_bool_t
-set_pixel_black(uint8_t *data, int stride,
-         cairo_format_t format, int x, int y)
-{
-    switch (format) {
-    case CAIRO_FORMAT_ARGB32:
-    case CAIRO_FORMAT_RGB24:
-       *(uint32_t *)(data + y * stride + 4*x) = black_pixel_argb;
-       break;
-    case CAIRO_FORMAT_RGB16_565:
-       *(uint16_t *)(data + y * stride + 2*x) = black_pixel;
-       break;
-    case CAIRO_FORMAT_RGB30:
-    case CAIRO_FORMAT_A8:
-    case CAIRO_FORMAT_A1:
-    case CAIRO_FORMAT_INVALID:
-    default:
-       return FALSE;
-    }
-    return TRUE;
-}
-
-static cairo_test_status_t
-all (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    uint8_t *data;
-    int stride;
-    cairo_format_t format;
-    int i, j;
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    surface = cairo_surface_map_to_image (cairo_get_target (cr), NULL);
-    cairo_surface_flush (surface);
-    format = cairo_image_surface_get_format (surface);
-    stride = cairo_image_surface_get_stride (surface);
-    data = cairo_image_surface_get_data (surface);
-    if (data) {
-       for (j = 0; j < HEIGHT; j++)
-           for (i = 0; i < WIDTH; i++)
-               if (! set_pixel_black (data, stride, format, i, j))
-                   return CAIRO_TEST_FAILURE;
-    }
-    cairo_surface_mark_dirty (surface);
-    cairo_surface_unmap_image (cairo_get_target (cr), surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-bit (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_rectangle_int_t extents;
-    cairo_format_t format;
-    uint8_t *data;
-
-    extents.x = extents.y = extents.width = extents.height = 1;
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    surface = cairo_surface_map_to_image (cairo_get_target (cr), &extents);
-    cairo_surface_flush (surface);
-    data = cairo_image_surface_get_data (surface);
-    format = cairo_image_surface_get_format (surface);
-    if (data) {
-       if (! set_pixel_black (data, 0, format, 0, 0))
-           return CAIRO_TEST_FAILURE;
-    }
-    cairo_surface_mark_dirty (surface);
-    cairo_surface_unmap_image (cairo_get_target (cr), surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-fill (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_rectangle_int_t extents;
-    cairo_t *cr2;
-
-    extents.x = extents.y = extents.width = extents.height = 1;
-
-    /* Fill background white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    surface = cairo_surface_map_to_image (cairo_get_target (cr), &extents);
-    cr2 = cairo_create (surface);
-    cairo_set_source_rgb (cr2, 1, 0, 0);
-    cairo_paint (cr2);
-    cairo_destroy (cr2);
-    cairo_surface_unmap_image (cairo_get_target (cr), surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (map_all_to_image,
-           "Test maping a surface to an image and modifying it externally",
-           "image", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, all)
-CAIRO_TEST (map_bit_to_image,
-           "Test maping a surface to an image and modifying it externally",
-           "image", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, bit)
-CAIRO_TEST (map_to_image_fill,
-           "Test maping a surface to an image and modifying it externally",
-           "image", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, fill)
diff --git a/test/mask-alpha.c b/test/mask-alpha.c
deleted file mode 100644 (file)
index d66e0ac..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright © 2007 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 40
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-/* This test is designed to test that PDF viewers use the correct
- * alpha values in an Alpha SMasks. Some viewers use the color values
- * instead of the alpha. The test draws a triangle and rectangle in a
- * group then draws the group using cairo_mask(). The mask consists of
- * a circle with the rgba (0.4, 0.4, 0.4, 0.8) and the background rgba
- * (0.8, 0.8, 0.8, 0.4).
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_translate (cr, PAD, PAD);
-
-    /* mask */
-    cairo_push_group (cr);
-    cairo_set_source_rgba (cr, 0.8, 0.8, 0.8, 0.4);
-    cairo_paint (cr);
-    cairo_arc (cr, SIZE / 2, SIZE / 2, SIZE / 6, 0., 2. * M_PI);
-    cairo_set_source_rgba (cr, 0.4, 0.4, 0.4, 0.8);
-    cairo_fill (cr);
-    pattern = cairo_pop_group (cr);
-
-    /* source */
-    cairo_push_group (cr);
-    cairo_rectangle (cr, 0.3 * SIZE, 0.2 * SIZE, 0.5 * SIZE, 0.5 * SIZE);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_fill (cr);
-    cairo_move_to     (cr,   0.0,          0.8 * SIZE);
-    cairo_rel_line_to (cr,   0.7 * SIZE,   0.0);
-    cairo_rel_line_to (cr, -0.375 * SIZE, -0.6 * SIZE);
-    cairo_close_path (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_fill (cr);
-    cairo_pop_group_to_source (cr);
-
-    cairo_mask (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mask_alpha,
-           "A simple test painting a group through a circle mask",
-           "mask, alpha", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/mask-ctm.c b/test/mask-ctm.c
deleted file mode 100644 (file)
index 205ab06..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *mask_surface;
-    cairo_pattern_t *mask;
-    uint32_t data[] = {
-       0x80000000, 0x80000000,
-       0x80000000, 0x80000000,
-    };
-    cairo_matrix_t matrix;
-
-    mask_surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                       CAIRO_FORMAT_ARGB32, 2, 2, 8);
-    mask = cairo_pattern_create_for_surface (mask_surface);
-
-    cairo_set_source_rgb (cr, 1.0, 0, 0);
-
-    /* We can translate with the CTM, with the pattern matrix, or with
-     * both. */
-
-    /* 1. CTM alone. */
-    cairo_save (cr);
-    {
-       cairo_translate (cr, 2, 2);
-       cairo_mask (cr, mask);
-    }
-    cairo_restore (cr);
-
-    /* 2. Pattern matrix alone. */
-    cairo_matrix_init_translate (&matrix, -4, -4);
-    cairo_pattern_set_matrix (mask, &matrix);
-
-    cairo_mask (cr, mask);
-
-    /* 3. CTM + pattern matrix */
-    cairo_translate (cr, 2, 2);
-    cairo_mask (cr, mask);
-
-    cairo_pattern_destroy (mask);
-
-    cairo_surface_finish (mask_surface); /* data goes out of scope */
-    cairo_surface_destroy (mask_surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mask_ctm,
-           "Test that cairo_mask is affected properly by the CTM",
-           "mask", /* keywords */
-           NULL, /* requirements */
-           10, 10,
-           NULL, draw)
-
diff --git a/test/mask-glyphs.c b/test/mask-glyphs.c
deleted file mode 100644 (file)
index 2e7b703..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#include <assert.h>
-
-static const char *png_filename = "romedalen.png";
-
-#define WIDTH 800
-#define HEIGHT 600
-
-static cairo_status_t
-_image_to_glyphs (cairo_surface_t *image,
-                 int channel,
-                 int level,
-                 cairo_scaled_font_t *scaled_font,
-                 double tx, double ty,
-                 cairo_glyph_t *glyphs,
-                 int *num_glyphs)
-{
-    int width, height, stride;
-    const unsigned char *data;
-    int x, y, z, n;
-
-    width = cairo_image_surface_get_width (image);
-    height = cairo_image_surface_get_height (image);
-    stride = cairo_image_surface_get_stride (image);
-    data = cairo_image_surface_get_data (image);
-
-    n = 0;
-    for (y = 0; y < height; y++) {
-       const uint32_t *row = (uint32_t *) (data + y * stride);
-
-       for (x = 0; x < width; x++) {
-           z = (row[x] >> channel) & 0xff;
-           if (z == level) {
-               double xx, yy, zz;
-               char c = n % 26 + 'a';
-               int count = 1;
-               cairo_glyph_t *glyphs_p = &glyphs[n];
-               cairo_status_t status;
-
-               xx = 4 * (x - width/2.) + width/2.;
-               yy = 4 * (y - height/2.) + height/2.;
-
-               zz = z / 1000.;
-               xx = xx + zz*(width/2. - xx);
-               yy = yy + zz*(height/2. - yy);
-
-               cairo_scaled_font_text_to_glyphs (scaled_font,
-                                                 tx + xx, ty + yy,
-                                                 &c, 1,
-                                                 &glyphs_p, &count,
-                                                 NULL, NULL,
-                                                 NULL);
-               status = cairo_scaled_font_status (scaled_font);
-               if (status)
-                   return status;
-
-               assert (glyphs_p == &glyphs[n]);
-               assert (count == 1);
-               n++;
-           }
-       }
-    }
-
-    *num_glyphs = n;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_render_image (cairo_t *cr,
-              int width, int height,
-              cairo_surface_t *image)
-{
-    int ww, hh;
-    cairo_glyph_t *glyphs;
-    cairo_pattern_t *mask;
-    cairo_scaled_font_t *scaled_font;
-    double tx, ty;
-    const struct {
-       int shift;
-       double red;
-       double green;
-       double blue;
-    } channel[3] = {
-       {  0, 0.9, 0.3, 0.4 },
-       {  8, 0.4, 0.9, 0.3 },
-       { 16, 0.3, 0.4, 0.9 },
-    };
-    unsigned int n, i;
-
-    ww = cairo_image_surface_get_width (image);
-    hh = cairo_image_surface_get_height (image);
-
-    glyphs = cairo_glyph_allocate (ww * hh);
-    if (glyphs == NULL)
-       return CAIRO_STATUS_NO_MEMORY;
-
-    tx = (width - ww) / 2.;
-    ty = (height - hh) / 2.;
-
-    cairo_set_font_size (cr, 5);
-    scaled_font = cairo_get_scaled_font (cr);
-
-    for (i = 0; i < ARRAY_LENGTH (channel); i++) {
-       cairo_push_group_with_content (cr, CAIRO_CONTENT_ALPHA);
-       for (n = 0; n < 256; n++) {
-           cairo_status_t status;
-           int num_glyphs;
-
-           status = _image_to_glyphs (image, channel[i].shift, n,
-                                      scaled_font,
-                                      tx, ty, glyphs, &num_glyphs);
-           if (status) {
-               cairo_glyph_free (glyphs);
-               return status;
-           }
-
-           cairo_set_source_rgba (cr,
-                                  0, 0, 0,
-                                  .15 + .85 * n / 255.);
-           cairo_show_glyphs (cr, glyphs, num_glyphs);
-       }
-       mask = cairo_pop_group (cr);
-       cairo_set_source_rgb (cr,
-                             channel[i].red,
-                             channel[i].green,
-                             channel[i].blue);
-       cairo_mask (cr, mask);
-       cairo_pattern_destroy (mask);
-    }
-
-    cairo_glyph_free (glyphs);
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *image;
-    cairo_status_t status;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    image = cairo_test_create_surface_from_png (ctx, png_filename);
-    status = cairo_surface_status (image);
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    status = _render_image (cr, width, height, image);
-    cairo_surface_destroy (image);
-
-    return cairo_test_status_from_status (ctx, status);
-}
-
-CAIRO_TEST (mask_glyphs,
-           "Creates a mask using a distorted array of overlapping glyphs",
-           "mask, glyphs", /* keywords */
-           "slow", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/mask-surface-ctm.c b/test/mask-surface-ctm.c
deleted file mode 100644 (file)
index 064de3c..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *mask;
-    uint32_t data[] = {
-       0x80000000, 0x80000000,
-       0x80000000, 0x80000000,
-    };
-
-    mask = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                               CAIRO_FORMAT_ARGB32, 2, 2, 8);
-
-    cairo_set_source_rgb (cr, 1.0, 0, 0);
-
-    /* We can translate with the CTM, with the mask_surface offset, or
-     * with both. */
-
-    /* 1. CTM alone. */
-    cairo_save (cr);
-    {
-       cairo_translate (cr, 2, 2);
-       cairo_mask_surface (cr, mask, 0, 0);
-    }
-    cairo_restore (cr);
-
-    /* 2. Offset alone. */
-    cairo_mask_surface (cr, mask, 4, 4);
-
-    /* 3. CTM + offset */
-    cairo_translate (cr, 2, 2);
-    cairo_mask_surface (cr, mask, 4, 4);
-
-    cairo_surface_finish (mask); /* data goes out of scope */
-    cairo_surface_destroy (mask);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mask_surface_ctm,
-           "Test that cairo_mask_surface is affected properly by the CTM",
-           "mask", /* keywords */
-           NULL, /* requirements */
-           10, 10,
-           NULL, draw)
diff --git a/test/mask-transformed-image.c b/test/mask-transformed-image.c
deleted file mode 100644 (file)
index 13c8fe7..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright 2008 Kai-Uwe Behrmann
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Kai-Uwe Behrmann not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Kai-Uwe Behrmann makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * KAI_UWE BEHRMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL KAI_UWE BEHRMANN BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kai-Uwe Behrmann <ku.b@gmx.de>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static const char png_filename[] = "romedalen.png";
-
-static cairo_surface_t *
-create_mask (cairo_t *dst, int width, int height)
-{
-    cairo_surface_t *mask;
-    cairo_t *cr;
-
-    mask = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
-    cr = cairo_create (mask);
-    cairo_surface_destroy (mask);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_rectangle (cr, width/4, height/4, width/2, height/2);
-    cairo_fill (cr);
-
-    mask = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return mask;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *image, *mask;
-
-    image = cairo_test_create_surface_from_png (ctx, png_filename);
-    mask = create_mask (cr, 40, 40);
-
-    /* opaque background */
-    cairo_paint (cr);
-
-    /* center */
-    cairo_translate (cr,
-                    (width - cairo_image_surface_get_width (image)) / 2.,
-                    (height - cairo_image_surface_get_height (image)) / 2.);
-
-    /* rotate 30 degree around the center */
-    cairo_translate (cr, width/2., height/2.);
-    cairo_rotate (cr, -30 * 2 * M_PI / 360);
-    cairo_translate (cr, -width/2., -height/2.);
-
-    /* place the image on our surface */
-    cairo_set_source_surface (cr, image, 0, 0);
-
-    /* reset the drawing matrix */
-    cairo_identity_matrix (cr);
-
-    /* fill nicely */
-    cairo_scale (cr, width / 40., height / 40.);
-
-    /* apply the mask */
-    cairo_mask_surface (cr, mask, 0, 0);
-
-    cairo_surface_destroy (mask);
-    cairo_surface_destroy (image);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mask_transformed_image,
-           "Test that cairo_mask() is affected properly by the CTM and not the image",
-           "mask", /* keywords */
-           NULL, /* requirements */
-           80, 80,
-           NULL, draw)
diff --git a/test/mask-transformed-similar.c b/test/mask-transformed-similar.c
deleted file mode 100644 (file)
index c37deb2..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2008 Kai-Uwe Behrmann
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Kai-Uwe Behrmann not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Kai-Uwe Behrmann makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * KAI_UWE BEHRMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL KAI_UWE BEHRMANN BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kai-Uwe Behrmann <ku.b@gmx.de>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static const char png_filename[] = "romedalen.png";
-
-static cairo_surface_t *
-create_mask (cairo_t *dst, int width, int height)
-{
-    cairo_surface_t *mask;
-    cairo_t *cr;
-
-    mask = cairo_surface_create_similar (cairo_get_target (dst),
-                                        CAIRO_CONTENT_ALPHA,
-                                        width, height);
-    cr = cairo_create (mask);
-    cairo_surface_destroy (mask);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_rectangle (cr, width/4, height/4, width/2, height/2);
-    cairo_fill (cr);
-
-    mask = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return mask;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *image, *mask;
-
-    image = cairo_test_create_surface_from_png (ctx, png_filename);
-    mask = create_mask (cr, 40, 40);
-
-    /* opaque background */
-    cairo_paint (cr);
-
-    /* center */
-    cairo_translate (cr,
-                    (width - cairo_image_surface_get_width (image)) / 2.,
-                    (height - cairo_image_surface_get_height (image)) / 2.);
-
-    /* rotate 30 degree around the center */
-    cairo_translate (cr, width/2., height/2.);
-    cairo_rotate (cr, -30 * 2 * M_PI / 360);
-    cairo_translate (cr, -width/2., -height/2.);
-
-    /* place the image on our surface */
-    cairo_set_source_surface (cr, image, 0, 0);
-
-    /* reset the drawing matrix */
-    cairo_identity_matrix (cr);
-
-    /* fill nicely */
-    cairo_scale (cr, width / 40., height / 40.);
-
-    /* apply the mask */
-    cairo_mask_surface (cr, mask, 0, 0);
-
-    cairo_surface_destroy (mask);
-    cairo_surface_destroy (image);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mask_transformed_similar,
-           "Test that cairo_mask() is affected properly by the CTM and not the image",
-           "mask", /* keywords */
-           NULL, /* requirements */
-           80, 80,
-           NULL, draw)
diff --git a/test/mask.c b/test/mask.c
deleted file mode 100644 (file)
index cc722d3..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Owen Taylor <otaylor@redhat.com>
- *          Kristian Høgsberg <krh@redhat.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define WIDTH 16
-#define HEIGHT 16
-#define PAD 2
-
-static const char *png_filename = "romedalen.png";
-static cairo_surface_t *image;
-
-static void
-set_solid_pattern (const cairo_test_context_t *ctx, cairo_t *cr, int x, int y)
-{
-    cairo_set_source_rgb (cr, 0, 0, 0.6);
-}
-
-static void
-set_translucent_pattern (const cairo_test_context_t *ctx, cairo_t *cr, int x, int y)
-{
-    cairo_set_source_rgba (cr, 0, 0, 0.6, 0.5);
-}
-
-static void
-set_gradient_pattern (const cairo_test_context_t *ctx, cairo_t *cr, int x, int y)
-{
-    cairo_pattern_t *pattern;
-
-    pattern =
-       cairo_pattern_create_linear (x, y, x + WIDTH, y + HEIGHT);
-    cairo_pattern_add_color_stop_rgba (pattern, 0, 1, 1, 1, 1);
-    cairo_pattern_add_color_stop_rgba (pattern, 1, 0, 0, 0.4, 1);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-}
-
-static void
-set_image_pattern (const cairo_test_context_t *ctx, cairo_t *cr, int x, int y)
-{
-    cairo_pattern_t *pattern;
-
-    if (image == NULL || cairo_surface_status (image)) {
-       cairo_surface_destroy (image);
-       image = cairo_test_create_surface_from_png (ctx, png_filename);
-    }
-
-    pattern = cairo_pattern_create_for_surface (image);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-}
-
-static void
-mask_polygon (cairo_t *cr, int x, int y)
-{
-    cairo_surface_t *mask_surface;
-    cairo_t *cr2;
-
-    mask_surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                                CAIRO_CONTENT_ALPHA,
-                                                WIDTH, HEIGHT);
-    cr2 = cairo_create (mask_surface);
-    cairo_surface_destroy (mask_surface);
-
-    cairo_save (cr2);
-    cairo_set_operator (cr2, CAIRO_OPERATOR_CLEAR);
-    cairo_paint (cr2);
-    cairo_restore (cr2);
-
-    cairo_set_source_rgb (cr2, 1, 1, 1); /* white */
-
-    cairo_new_path (cr2);
-    cairo_move_to (cr2, 0, 0);
-    cairo_line_to (cr2, 0, HEIGHT);
-    cairo_line_to (cr2, WIDTH / 2, 3 * HEIGHT / 4);
-    cairo_line_to (cr2, WIDTH, HEIGHT);
-    cairo_line_to (cr2, WIDTH, 0);
-    cairo_line_to (cr2, WIDTH / 2, HEIGHT / 4);
-    cairo_close_path (cr2);
-    cairo_fill (cr2);
-
-    cairo_mask_surface (cr, cairo_get_target (cr2), x, y);
-    cairo_destroy (cr2);
-}
-
-static void
-mask_alpha (cairo_t *cr, int x, int y)
-{
-    cairo_paint_with_alpha (cr, 0.75);
-}
-
-static void
-mask_gradient (cairo_t *cr, int x, int y)
-{
-    cairo_pattern_t *pattern;
-
-    pattern = cairo_pattern_create_linear (x, y,
-                                          x + WIDTH, y + HEIGHT);
-
-    cairo_pattern_add_color_stop_rgba (pattern,
-                                      0,
-                                      1, 1, 1, 1);
-    cairo_pattern_add_color_stop_rgba (pattern,
-                                      1,
-                                      1, 1, 1, 0);
-
-    cairo_mask (cr, pattern);
-
-    cairo_pattern_destroy (pattern);
-}
-
-static void
-clip_none (cairo_t *cr, int x, int y)
-{
-}
-
-static void
-clip_rects (cairo_t *cr, int x, int y)
-{
-    int height = HEIGHT / 3;
-
-    cairo_new_path (cr);
-    cairo_rectangle (cr, x, y, WIDTH, height);
-    cairo_rectangle (cr, x, y + 2 * height, WIDTH, height);
-    cairo_clip (cr);
-}
-
-static void
-clip_circle (cairo_t *cr, int x, int y)
-{
-    cairo_new_path (cr);
-    cairo_arc (cr, x + WIDTH / 2, y + HEIGHT / 2,
-              WIDTH / 2, 0, 2 * M_PI);
-    cairo_clip (cr);
-    cairo_new_path (cr);
-}
-
-static void (* const pattern_funcs[])(const cairo_test_context_t *ctx, cairo_t *cr, int x, int y) = {
-    set_solid_pattern,
-    set_translucent_pattern,
-    set_gradient_pattern,
-    set_image_pattern,
-};
-
-static void (* const mask_funcs[])(cairo_t *cr, int x, int y) = {
-    mask_alpha,
-    mask_gradient,
-    mask_polygon,
-};
-
-static void (* const clip_funcs[])(cairo_t *cr, int x, int y) = {
-    clip_none,
-    clip_rects,
-    clip_circle,
-};
-
-#define IMAGE_WIDTH (ARRAY_LENGTH (pattern_funcs) * (WIDTH + PAD) + PAD)
-#define IMAGE_HEIGHT (ARRAY_LENGTH (mask_funcs) * ARRAY_LENGTH (clip_funcs) * (HEIGHT + PAD) + PAD)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *tmp_surface;
-    size_t i, j, k;
-    cairo_t *cr2;
-
-    /* Some of our drawing is unbounded, so we draw each test to
-     * a temporary surface and copy over.
-     */
-    tmp_surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                               CAIRO_CONTENT_COLOR_ALPHA,
-                                               IMAGE_WIDTH, IMAGE_HEIGHT);
-    cr2 = cairo_create (tmp_surface);
-    cairo_surface_destroy (tmp_surface);
-
-    for (k = 0; k < ARRAY_LENGTH (clip_funcs); k++) {
-       for (j = 0; j < ARRAY_LENGTH (mask_funcs); j++) {
-           for (i = 0; i < ARRAY_LENGTH (pattern_funcs); i++) {
-               int x = i * (WIDTH + PAD) + PAD;
-               int y = (ARRAY_LENGTH (mask_funcs) * k + j) * (HEIGHT + PAD) + PAD;
-
-               /* Clear intermediate surface we are going to be drawing onto */
-               cairo_save (cr2);
-               cairo_set_operator (cr2, CAIRO_OPERATOR_CLEAR);
-               cairo_paint (cr2);
-               cairo_restore (cr2);
-
-               /* draw */
-               cairo_save (cr2);
-
-               clip_funcs[k] (cr2, x, y);
-               pattern_funcs[i] (ctx, cr2, x, y);
-               mask_funcs[j] (cr2, x, y);
-
-               cairo_restore (cr2);
-
-               /* Copy back to the main pixmap */
-               cairo_set_source_surface (cr, cairo_get_target (cr2), 0, 0);
-               cairo_rectangle (cr, x, y, WIDTH, HEIGHT);
-               cairo_fill (cr);
-           }
-       }
-    }
-
-    cairo_destroy (cr2);
-
-    cairo_surface_destroy (image);
-    image = NULL;
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mask,
-           "Tests of cairo_mask",
-           "mask", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
-
diff --git a/test/mesh-pattern-accuracy.c b/test/mesh-pattern-accuracy.c
deleted file mode 100644 (file)
index 92e1523..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright © 2009 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-#include <float.h>
-
-#define SIZE 256
-
-/* This test is designed to test the accuracy of the rendering of mesh
- * patterns.
- *
- * Color accuracy is tested by a square patch covering the whole
- * surface with black and white corners.
- *
- * Extents accuracy is checked by a small red square patch at the
- * center of the surface which should measure 2x2 pixels.
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    double offset;
-
-    cairo_test_paint_checkered (cr);
-
-    pattern = cairo_pattern_create_mesh ();
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern, 0, 0);
-    cairo_mesh_pattern_line_to (pattern, 1, 0);
-    cairo_mesh_pattern_line_to (pattern, 1, 1);
-    cairo_mesh_pattern_line_to (pattern, 0, 1);
-
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 0, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 1, 1, 1);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 1, 1, 1);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    /* A small 1x1 red patch, that should be rendered as a 2x2 red
-     * square in the center of the image */
-
-    offset = 0.5 / SIZE;
-
-    cairo_mesh_pattern_move_to (pattern, 0.5 + offset, 0.5 + offset);
-    cairo_mesh_pattern_line_to (pattern, 0.5 + offset, 0.5 - offset);
-    cairo_mesh_pattern_line_to (pattern, 0.5 - offset, 0.5 - offset);
-    cairo_mesh_pattern_line_to (pattern, 0.5 - offset, 0.5 + offset);
-
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 1, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 1, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 1, 0, 0);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_scale (cr, SIZE, SIZE);
-
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mesh_pattern_accuracy,
-           "Paint mesh pattern",
-           "mesh,pattern", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/mesh-pattern-conical.c b/test/mesh-pattern-conical.c
deleted file mode 100644 (file)
index 8138884..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright © 2009 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-#include <math.h>
-
-#define PAT_WIDTH  100
-#define PAT_HEIGHT 100
-#define SIZE PAT_WIDTH
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-
-/*
- * This test is designed to paint a mesh pattern which contains 8
- * circular sectors approximating a conical gradient.
- */
-
-#define CENTER_X 50
-#define CENTER_Y 50
-#define RADIUS   50
-
-static void
-sector_patch (cairo_pattern_t *pattern,
-             double angle_A,
-             double A_r, double A_g, double A_b,
-             double angle_B,
-             double B_r, double B_g, double B_b)
-{
-    double r_sin_A, r_cos_A;
-    double r_sin_B, r_cos_B;
-    double h;
-
-    r_sin_A = RADIUS * sin (angle_A);
-    r_cos_A = RADIUS * cos (angle_A);
-    r_sin_B = RADIUS * sin (angle_B);
-    r_cos_B = RADIUS * cos (angle_B);
-
-    h = 4.0/3.0 * tan ((angle_B - angle_A) / 4.0);
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern, CENTER_X, CENTER_Y);
-    cairo_mesh_pattern_line_to (pattern,
-                               CENTER_X + r_cos_A,
-                               CENTER_Y + r_sin_A);
-
-    cairo_mesh_pattern_curve_to (pattern,
-                                CENTER_X + r_cos_A - h * r_sin_A,
-                                CENTER_Y + r_sin_A + h * r_cos_A,
-                                CENTER_X + r_cos_B + h * r_sin_B,
-                                CENTER_Y + r_sin_B - h * r_cos_B,
-                                CENTER_X + r_cos_B,
-                                CENTER_Y + r_sin_B);
-
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 1, 1);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, A_r, A_g, A_b);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, B_r, B_g, B_b);
-
-    cairo_mesh_pattern_end_patch (pattern);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    pattern = cairo_pattern_create_mesh ();
-    sector_patch (pattern,
-                 0,         1, 0, 0,
-                 M_PI/4,    1, 1, 0);
-    sector_patch (pattern,
-                 M_PI/4,    0, 1, 0,
-                 M_PI/2,    0, 1, 1);
-    sector_patch (pattern,
-                 M_PI/2,    0, 0, 1,
-                 3*M_PI/4,  1, 0, 1);
-    sector_patch (pattern,
-                 3*M_PI/4,  1, 0, 0,
-                 M_PI,      1, 1, 0);
-    sector_patch (pattern,
-                 -M_PI,     1, 1, 0,
-                 -3*M_PI/4, 0, 1, 0);
-    sector_patch (pattern,
-                 -3*M_PI/4, 0, 1, 0,
-                 -M_PI/2,   0, 1, 1);
-    sector_patch (pattern,
-                 -M_PI/2,   0, 1, 1,
-                 -M_PI/4,   0, 0, 1);
-    sector_patch (pattern,
-                 -M_PI/4,   0, 0, 1,
-                 0,         1, 0, 0);
-
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mesh_pattern_conical,
-           "Paint a conical pattern using a mesh pattern",
-           "conical,mesh,pattern", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/mesh-pattern-control-points.c b/test/mesh-pattern-control-points.c
deleted file mode 100644 (file)
index 4d59495..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright © 2009 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 90
-#define PAD 10
-#define WIDTH (PAD + 2 * (SIZE + PAD))
-#define HEIGHT (PAD + SIZE + PAD)
-
-
-/*
- * This test is designed to paint a two mesh patches. One with default
- * control points and one with a control point at a no default
- * location.  The control points of both of them are drawn as squares
- * to make them visible.
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    unsigned int i, j;
-    unsigned int num_patches;
-    double x, y;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    pattern = cairo_pattern_create_mesh ();
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern,    0,    0);
-    cairo_mesh_pattern_line_to (pattern, SIZE,    0);
-    cairo_mesh_pattern_line_to (pattern, SIZE, SIZE);
-    cairo_mesh_pattern_line_to (pattern,    0, SIZE);
-
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 1, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 1);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 1, 1, 0);
-
-    cairo_mesh_pattern_set_control_point (pattern, 0, SIZE * .7, SIZE * .7);
-    cairo_mesh_pattern_set_control_point (pattern, 1, SIZE * .9, SIZE * .7);
-    cairo_mesh_pattern_set_control_point (pattern, 2, SIZE * .9, SIZE * .9);
-    cairo_mesh_pattern_set_control_point (pattern, 3, SIZE * .7, SIZE * .9);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern,   SIZE + PAD,    0);
-    cairo_mesh_pattern_line_to (pattern, 2*SIZE + PAD,    0);
-    cairo_mesh_pattern_line_to (pattern, 2*SIZE + PAD, SIZE);
-    cairo_mesh_pattern_line_to (pattern,   SIZE + PAD, SIZE);
-
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 1, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 1);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 1, 1, 0);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-
-    /* mark the location of the control points */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_mesh_pattern_get_patch_count (pattern, &num_patches);
-    for (i = 0; i < num_patches; i++) {
-       for (j = 0; j < 4; j++) {
-           cairo_mesh_pattern_get_control_point (pattern, i, j, &x, &y);
-           cairo_rectangle (cr, x - 5, y - 5, 10, 10);
-           cairo_fill (cr);
-       }
-    }
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-
-CAIRO_TEST (mesh_pattern_control_points,
-           "Paint mesh pattern with non default control points",
-           "mesh,pattern", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/mesh-pattern-fold.c b/test/mesh-pattern-fold.c
deleted file mode 100644 (file)
index 4872bc0..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright © 2009 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 100
-#define PAD 15
-#define WIDTH (5*SIZE)
-#define HEIGHT (5*SIZE)
-
-
-/* This test is designed to paint a mesh pattern which folds along
- * both parameters. */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_test_paint_checkered (cr);
-
-    pattern = cairo_pattern_create_mesh ();
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern, 1, 1);
-
-    cairo_mesh_pattern_curve_to (pattern, 6, 0, -1, 0, 4, 1);
-    cairo_mesh_pattern_curve_to (pattern, 5, 6, 5, -1, 4, 4);
-    cairo_mesh_pattern_curve_to (pattern, -1, 3, 6, 3, 1, 4);
-    cairo_mesh_pattern_curve_to (pattern, 2, -1, 2, 6, 1, 1);
-
-    cairo_mesh_pattern_set_control_point (pattern, 0, 2, 3);
-    cairo_mesh_pattern_set_control_point (pattern, 1, 3, 3);
-    cairo_mesh_pattern_set_control_point (pattern, 2, 3, 2);
-    cairo_mesh_pattern_set_control_point (pattern, 3, 2, 2);
-
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 0, 1);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 0, 1, 0);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_scale (cr, SIZE, SIZE);
-
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mesh_pattern_fold,
-           "Paint a mesh pattern with complex folds",
-           "mesh,pattern", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/mesh-pattern-overlap.c b/test/mesh-pattern-overlap.c
deleted file mode 100644 (file)
index 5ecbf9f..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright © 2009 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 100
-#define PAD 15
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-
-/* This test is designed to paint a mesh pattern with a simple
- * fold. */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    pattern = cairo_pattern_create_mesh ();
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern, 0, 0);
-    cairo_mesh_pattern_curve_to (pattern,  30, -30, 60,  30, 100, 0);
-    cairo_mesh_pattern_curve_to (pattern, 130, 140, 60, -40, 100, 100);
-    cairo_mesh_pattern_curve_to (pattern,  60,  70, 30, 130,   0, 100);
-    cairo_mesh_pattern_curve_to (pattern, -30, -40, 30, 140,   0, 0);
-
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 1, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 1);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 1, 1, 0);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mesh_pattern_overlap,
-           "Paint a mesh pattern with a simple fold",
-           "mesh,pattern", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/mesh-pattern-transformed.c b/test/mesh-pattern-transformed.c
deleted file mode 100644 (file)
index a5c20e7..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright © 2009 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define PAT_WIDTH  170
-#define PAT_HEIGHT 170
-#define SIZE PAT_WIDTH
-#define PAD 10
-#define WIDTH 190
-#define HEIGHT 140
-
-
-/* This test is designed to paint a mesh pattern containing two
- * overlapping patches transformed in different ways. */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    pattern = cairo_pattern_create_mesh ();
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern, 0, 0);
-    cairo_mesh_pattern_curve_to (pattern, 30, -30,  60,  30, 100, 0);
-    cairo_mesh_pattern_curve_to (pattern, 60,  30, 130,  60, 100, 100);
-    cairo_mesh_pattern_curve_to (pattern, 60,  70,  30, 130,   0, 100);
-    cairo_mesh_pattern_curve_to (pattern, 30,  70, -30,  30,   0, 0);
-
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 1, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 1);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 1, 1, 0);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern, 50, 50);
-    cairo_mesh_pattern_curve_to (pattern, 80, 20, 110, 80, 150, 50);
-
-    cairo_mesh_pattern_curve_to (pattern, 110, 80, 180, 110, 150, 150);
-
-    cairo_mesh_pattern_curve_to (pattern, 110, 120, 80, 180, 50, 150);
-
-    cairo_mesh_pattern_curve_to (pattern, 80, 120, 20, 80, 50, 50);
-
-    cairo_mesh_pattern_set_corner_color_rgba (pattern, 0, 1, 0, 0, 0.3);
-    cairo_mesh_pattern_set_corner_color_rgb  (pattern, 1, 0, 1, 0);
-    cairo_mesh_pattern_set_corner_color_rgba (pattern, 2, 0, 0, 1, 0.3);
-    cairo_mesh_pattern_set_corner_color_rgb  (pattern, 3, 1, 1, 0);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_scale (cr, .5, .5);
-
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-
-    cairo_translate (cr, PAT_WIDTH, PAT_HEIGHT);
-    cairo_translate (cr, PAT_WIDTH/2, PAT_HEIGHT/2);
-    cairo_rotate (cr, M_PI/4);
-    cairo_translate (cr, -PAT_WIDTH, -PAT_HEIGHT);
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mesh_pattern_transformed,
-           "Paint mesh pattern with a transformation",
-           "mesh,pattern", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
-
diff --git a/test/mesh-pattern.c b/test/mesh-pattern.c
deleted file mode 100644 (file)
index 68f1830..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright © 2009 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define PAT_WIDTH  170
-#define PAT_HEIGHT 170
-#define SIZE PAT_WIDTH
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-
-/* This test is designed to paint a mesh pattern. The mesh contains
- * two overlapping patches */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_translate (cr, PAD, PAD);
-    cairo_translate (cr, 10, 10);
-
-    pattern = cairo_pattern_create_mesh ();
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern, 0, 0);
-    cairo_mesh_pattern_curve_to (pattern, 30, -30,  60,  30, 100, 0);
-    cairo_mesh_pattern_curve_to (pattern, 60,  30, 130,  60, 100, 100);
-    cairo_mesh_pattern_curve_to (pattern, 60,  70,  30, 130,   0, 100);
-    cairo_mesh_pattern_curve_to (pattern, 30,  70, -30,  30,   0, 0);
-
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 1, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 1);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 1, 1, 0);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern, 50, 50);
-    cairo_mesh_pattern_curve_to (pattern,  80,  20, 110,  80, 150, 50);
-    cairo_mesh_pattern_curve_to (pattern, 110,  80, 180, 110, 150, 150);
-    cairo_mesh_pattern_curve_to (pattern, 110, 120,  80, 180,  50, 150);
-    cairo_mesh_pattern_curve_to (pattern,  80, 120,  20,  80,  50, 50);
-
-    cairo_mesh_pattern_set_corner_color_rgba (pattern, 0, 1, 0, 0, 0.3);
-    cairo_mesh_pattern_set_corner_color_rgb  (pattern, 1, 0, 1, 0);
-    cairo_mesh_pattern_set_corner_color_rgba (pattern, 2, 0, 0, 1, 0.3);
-    cairo_mesh_pattern_set_corner_color_rgb  (pattern, 3, 1, 1, 0);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mesh_pattern,
-           "Paint mesh pattern",
-           "mesh,pattern", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/mime-data.c b/test/mime-data.c
deleted file mode 100644 (file)
index b1074cd..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#include <stdio.h>
-#include <errno.h>
-
-/* Basic test to exercise the new mime-data embedding. */
-
-static cairo_status_t
-read_file (const cairo_test_context_t *ctx,
-          const char *filename,
-          unsigned char **data_out,
-          unsigned int *length_out)
-{
-    FILE *file;
-    unsigned char *buf;
-    unsigned int len;
-
-    file = fopen (filename, "rb");
-    if (file == NULL) {
-       char path[4096];
-
-       if (errno == ENOMEM)
-           return CAIRO_STATUS_NO_MEMORY;
-
-       /* try again with srcdir */
-       snprintf (path, sizeof (path),
-                 "%s/%s", ctx->srcdir, filename);
-       file = fopen (path, "rb");
-    }
-    if (file == NULL) {
-       switch (errno) {
-       case ENOMEM:
-           return CAIRO_STATUS_NO_MEMORY;
-       default:
-           return CAIRO_STATUS_FILE_NOT_FOUND;
-       }
-    }
-
-    fseek (file, 0, SEEK_END);
-    len = ftell (file);
-    fseek (file, 0, SEEK_SET);
-
-    buf = xmalloc (len);
-    *length_out = fread (buf, 1, len, file);
-    fclose (file);
-    if (*length_out != len) {
-       free (buf);
-       return CAIRO_STATUS_READ_ERROR;
-    }
-
-    *data_out = buf;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-paint_file (cairo_t *cr,
-           const char *filename, const char *mime_type,
-           int x, int y)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *image;
-    unsigned char *mime_data;
-    unsigned int mime_length;
-    cairo_status_t status;
-
-    /* Deliberately use a non-matching MIME images, so that we can identify
-     * when the MIME representation is used in preference to the plain image
-     * surface.
-     */
-    status = read_file (ctx, filename, &mime_data, &mime_length);
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    image = cairo_image_surface_create (CAIRO_FORMAT_RGB24, 200, 50);
-
-    status = cairo_surface_set_mime_data (image, mime_type,
-                                         mime_data, mime_length,
-                                         free, mime_data);
-    if (status) {
-       cairo_surface_destroy (image);
-       free (mime_data);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    cairo_set_source_surface (cr, image, x, y);
-    cairo_surface_destroy (image);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const char jpg_filename[] = "jpeg.jpg";
-    const char png_filename[] = "png.png";
-    const char jp2_filename[] = "jp2.jp2";
-    cairo_test_status_t status;
-
-    status = paint_file (cr, jpg_filename, CAIRO_MIME_TYPE_JPEG, 0, 0);
-    if (status)
-       return status;
-
-    status = paint_file (cr, png_filename, CAIRO_MIME_TYPE_PNG, 0, 50);
-    if (status)
-       return status;
-
-    status = paint_file (cr, jp2_filename, CAIRO_MIME_TYPE_JP2, 0, 100);
-    if (status)
-       return status;
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mime_data,
-           "Check that the mime-data embedding works",
-           "jpeg, api", /* keywords */
-           NULL, /* requirements */
-           200, 150,
-           NULL, draw)
diff --git a/test/mime-surface-api.c b/test/mime-surface-api.c
deleted file mode 100644 (file)
index ce12653..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright © 2011 Uli Schlachter
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Uli Schlachter <psychon@znc.in>
- */
-
-#include "cairo-test.h"
-
-static void
-mime_data_destroy_func (void *data)
-{
-    cairo_bool_t *called = data;
-    *called = TRUE;
-}
-
-static cairo_test_status_t
-check_mime_data (cairo_test_context_t *ctx, cairo_surface_t *surface,
-                const char *mimetype, const unsigned char *data,
-                unsigned long length)
-{
-    const unsigned char *data_ret;
-    unsigned long length_ret;
-
-    cairo_surface_get_mime_data (surface, mimetype, &data_ret, &length_ret);
-    if (data_ret != data || length_ret != length) {
-       cairo_test_log (ctx,
-                       "Surface has mime data %p with length %lu, "
-                       "but expected %p with length %lu\n",
-                       data_ret, length_ret, data, length);
-       return CAIRO_TEST_ERROR;
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-set_and_check_mime_data (cairo_test_context_t *ctx, cairo_surface_t *surface,
-                        const char *mimetype, const unsigned char *data,
-                        unsigned long length, cairo_bool_t *destroy_called)
-{
-    cairo_status_t status;
-
-    status = cairo_surface_set_mime_data (surface, mimetype,
-                                         data, length,
-                                         mime_data_destroy_func,
-                                         destroy_called);
-    if (status) {
-       cairo_test_log (ctx, "Could not set mime data to %s: %s\n",
-                       data, cairo_status_to_string(status));
-       return CAIRO_TEST_ERROR;
-    }
-
-    return check_mime_data (ctx, surface, mimetype, data, length);
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    const char *mimetype = "text/x-uri";
-    const char *data1 = "http://www.cairographics.org";
-    const char *data2 = "http://cairographics.org/examples/";
-    cairo_bool_t destroy1_called = FALSE;
-    cairo_bool_t destroy2_called = FALSE;
-    cairo_surface_t *surface;
-    cairo_test_status_t test_status = CAIRO_TEST_SUCCESS;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 0, 0);
-    if (cairo_surface_status (surface)) {
-       cairo_test_log (ctx, "Could not create image surface\n");
-       test_status = CAIRO_TEST_ERROR;
-       goto out;
-    }
-
-    test_status = check_mime_data (ctx, surface, mimetype, NULL, 0);
-    if (test_status)
-       goto out;
-
-    test_status = set_and_check_mime_data (ctx, surface, mimetype,
-                                          (const unsigned char *) data1,
-                                          strlen (data1),
-                                          &destroy1_called);
-    if (test_status)
-       goto out;
-
-    if (destroy1_called) {
-       cairo_test_log (ctx, "MIME data 1 destroyed too early\n");
-       test_status = CAIRO_TEST_ERROR;
-       goto out;
-    }
-
-    test_status = set_and_check_mime_data (ctx, surface, mimetype,
-                                          (const unsigned char *) data2,
-                                          strlen (data2),
-                                          &destroy2_called);
-    if (test_status)
-       goto out;
-
-    if (!destroy1_called) {
-       cairo_test_log (ctx, "MIME data 1 destroy callback not called\n");
-       test_status = CAIRO_TEST_ERROR;
-       goto out;
-    }
-    if (destroy2_called) {
-       cairo_test_log (ctx, "MIME data 2 destroyed too early\n");
-       test_status = CAIRO_TEST_ERROR;
-       goto out;
-    }
-
-    test_status = set_and_check_mime_data (ctx, surface, mimetype,
-                                          NULL, 0, NULL);
-    if (test_status)
-       goto out;
-
-    if (!destroy2_called) {
-       cairo_test_log (ctx, "MIME data destroy callback not called\n");
-       test_status = CAIRO_TEST_ERROR;
-       goto out;
-    }
-
-out:
-    cairo_surface_destroy (surface);
-
-    return test_status;
-}
-
-CAIRO_TEST (mime_surface_api,
-           "Check the mime data API",
-           "api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/mime-surface.c b/test/mime-surface.c
deleted file mode 100644 (file)
index d59112f..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#include <stdio.h>
-#include <errno.h>
-
-/* Basic test to exercise the new mime-surface callback. */
-
-#define WIDTH 200
-#define HEIGHT 80
-
-/* Lazy way of determining PNG dimensions... */
-static void
-png_dimensions (const char *filename,
-               cairo_content_t *content, int *width, int *height)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_from_png (filename);
-    *content = cairo_surface_get_content (surface);
-    *width = cairo_image_surface_get_width (surface);
-    *height = cairo_image_surface_get_height (surface);
-    cairo_surface_destroy (surface);
-}
-
-static cairo_surface_t *
-png_acquire (cairo_surface_t *mime_surface, void *closure,
-            cairo_surface_t *target, const cairo_rectangle_int_t *roi,
-            cairo_rectangle_int_t *extents)
-{
-    cairo_surface_t *image;
-
-    image = cairo_image_surface_create_from_png (closure);
-    extents->x = extents->y = 0;
-    extents->width = cairo_image_surface_get_width (image);
-    extents->height = cairo_image_surface_get_height (image);
-    return image;
-}
-
-static cairo_surface_t *
-red_acquire (cairo_surface_t *mime_surface, void *closure,
-            cairo_surface_t *target, const cairo_rectangle_int_t *roi,
-            cairo_rectangle_int_t *extents)
-{
-    cairo_surface_t *image;
-    cairo_t *cr;
-
-    image = cairo_surface_create_similar_image (target,
-                                               CAIRO_FORMAT_RGB24,
-                                               roi->width, roi->height);
-    cr = cairo_create (image);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-    cairo_destroy (cr);
-
-    *extents = *roi;
-    return image;
-}
-
-static void
-release (cairo_surface_t *mime_surface, void *closure, cairo_surface_t *image)
-{
-    cairo_surface_destroy (image);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const char *png_filename = "png.png";
-    cairo_surface_t *png, *red;
-    cairo_content_t content;
-    int png_width, png_height;
-    int i, j;
-
-    png_dimensions (png_filename, &content, &png_width, &png_height);
-
-    png = cairo_mime_surface_create ((void*)png_filename, content, png_width, png_height);
-    cairo_mime_surface_set_acquire (png, png_acquire, release);
-
-    red = cairo_mime_surface_create (NULL, CAIRO_CONTENT_COLOR, WIDTH, HEIGHT);
-    cairo_mime_surface_set_acquire (red, red_acquire, release);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 0, (HEIGHT-png_height)/2);
-    for (i = 0; i < 4; i++) {
-       for (j = 0; j < 4; j++) {
-           cairo_surface_t *source;
-           if ((i ^ j) & 1)
-               source = red;
-           else
-               source = png;
-           cairo_set_source_surface (cr, source, 0, 0);
-           cairo_rectangle (cr, i * WIDTH/4, j * png_height/4, WIDTH/4, png_height/4);
-           cairo_fill (cr);
-       }
-    }
-
-    cairo_surface_destroy (red);
-    cairo_surface_destroy (png);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-check_status (const cairo_test_context_t *ctx,
-             cairo_status_t status,
-             cairo_status_t expected)
-{
-    if (status == expected)
-       return CAIRO_TEST_SUCCESS;
-
-    cairo_test_log (ctx,
-                   "Error: Expected status value %d (%s), received %d (%s)\n",
-                   expected,
-                   cairo_status_to_string (expected),
-                   status,
-                   cairo_status_to_string (status));
-    return CAIRO_TEST_FAILURE;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_surface_t *mime;
-    cairo_status_t status;
-    cairo_t *cr;
-
-    /* drawing to a mime-surface is verboten */
-
-    mime = cairo_mime_surface_create (NULL, CAIRO_CONTENT_COLOR, 0, 0);
-    cr = cairo_create (mime);
-    cairo_surface_destroy (mime);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-    status = check_status (ctx, status, CAIRO_STATUS_WRITE_ERROR);
-    if (status)
-       return status;
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (mime_surface,
-           "Check that the mime-surface embedding works",
-           "api", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           preamble, draw)
diff --git a/test/miter-precision.c b/test/miter-precision.c
deleted file mode 100644 (file)
index 3bcdde0..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright © 2007 Keith Packard
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * The Initial Developer of the Original Code is Keith Packard
- *
- * Contributor(s):
- *      Keith Packard <keithp@keithp.com>
- */
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double  xscale, yscale;
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_set_miter_limit (cr, 100000);
-    for (xscale = 1; xscale <= 1000; xscale += 999)
-       for (yscale = 1; yscale <= 1000; yscale += 999)
-       {
-           double  max_scale = xscale > yscale ? xscale : yscale;
-           cairo_save (cr);
-           if (xscale > 1)
-               cairo_translate (cr, 50, 0);
-           if (yscale > 1)
-               cairo_translate (cr, 0, 50);
-           cairo_scale (cr, xscale, yscale);
-           cairo_set_line_width (cr, 10.0 / max_scale);
-           cairo_move_to (cr, 10.0 / xscale, 10.0 / yscale);
-           cairo_line_to (cr, 40.0 / xscale, 10.0 / yscale);
-           cairo_line_to (cr, 10.0 / xscale, 30.0 / yscale);
-           cairo_stroke (cr);
-           cairo_restore (cr);
-       }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (miter_precision,
-           "test how cairo deals with small miters"
-           "\ncurrent code draws inappropriate bevels at times",
-           "stoke, stress", /* keywords */
-           NULL, /* requirements */
-           120, 100,
-           NULL, draw)
diff --git a/test/move-to-show-surface.c b/test/move-to-show-surface.c
deleted file mode 100644 (file)
index a52b468..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright © 2004 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Bug history
- *
- * 2004-10-25  Carl Worth  <cworth@cworth.org>
- *
- *   It looks like cairo_show_surface has no effect if it follows a
- *   call to cairo_move_to to any coordinate other than 0,0. A little
- *   bit of poking around suggests this isn't a regression, (at least
- *   not since the last pixman snapshot).
- *
- * 2005-04-02  Carl Worth <cworth@cworth.org>
- *
- *   Status: RESOLVED
- *
- *   Inside cairo_show_surface the current point was being used as
- *   both source and destination offsets. After fixing that to use 0,0
- *   as the source offset and the current point as the destination
- *   offset, the bug seems to be gone.
- *
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    uint32_t colors[4] = {
-       0xffffffff, 0xffff0000,
-       0xff00ff00, 0xff0000ff
-    };
-    int i;
-
-    for (i=0; i < 4; i++) {
-       surface = cairo_image_surface_create_for_data ((unsigned char *) &colors[i],
-                                                      CAIRO_FORMAT_RGB24,
-                                                      1, 1, 4);
-       cairo_set_source_surface (cr, surface,
-                                 i % 2, i / 2);
-       cairo_paint (cr);
-
-       cairo_surface_finish (surface); /* colors will go out of scope */
-       cairo_surface_destroy (surface);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (move_to_show_surface,
-           "Tests calls to cairo_show_surface after cairo_move_to",
-           "transform", /* keywords */
-           NULL, /* requirements */
-           2, 2,
-           NULL, draw)
diff --git a/test/multi-page.c b/test/multi-page.c
deleted file mode 100644 (file)
index 0b73902..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include <stdio.h>
-
-#include <cairo.h>
-
-#if CAIRO_HAS_PS_SURFACE
-#include <cairo-ps.h>
-#endif
-
-#if CAIRO_HAS_PDF_SURFACE
-#include <cairo-pdf.h>
-#endif
-
-#include "cairo-test.h"
-
-/* The PostScript and PDF backends are now integrated into the main
- * test suite, so we are getting good verification of most things
- * there.
- *
- * One thing that isn't supported there yet is multi-page output. So,
- * for now we have this one-off test. There's no automatic
- * verififcation here yet, but you can manually view the output to
- * make sure it looks happy.
- */
-
-#define WIDTH_IN_INCHES  3
-#define HEIGHT_IN_INCHES 3
-#define WIDTH_IN_POINTS  (WIDTH_IN_INCHES  * 72.0)
-#define HEIGHT_IN_POINTS (HEIGHT_IN_INCHES * 72.0)
-
-static void
-draw_smiley (cairo_t *cr, double width, double height, double smile_ratio)
-{
-#define STROKE_WIDTH .04
-    double size;
-
-    double theta = M_PI / 4 * smile_ratio;
-    double dx = sqrt (0.005) * cos (theta);
-    double dy = sqrt (0.005) * sin (theta);
-
-    cairo_save (cr);
-
-    if (width > height)
-       size = height;
-    else
-       size = width;
-
-    cairo_translate (cr, (width - size) / 2.0, (height - size) / 2.0);
-    cairo_scale (cr, size, size);
-
-    /* Fill face */
-    cairo_arc (cr, 0.5, 0.5, 0.5 - STROKE_WIDTH, 0, 2 * M_PI);
-    cairo_set_source_rgb (cr, 1, 1, 0);
-    cairo_fill_preserve (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    /* Stroke face */
-    cairo_set_line_width (cr, STROKE_WIDTH / 2.0);
-    cairo_stroke (cr);
-
-    /* Eyes */
-    cairo_set_line_width (cr, STROKE_WIDTH);
-    cairo_arc (cr, 0.3, 0.4, STROKE_WIDTH, 0, 2 * M_PI);
-    cairo_fill (cr);
-    cairo_arc (cr, 0.7, 0.4, STROKE_WIDTH, 0, 2 * M_PI);
-    cairo_fill (cr);
-
-    /* Mouth */
-    cairo_move_to (cr,
-                  0.35 - dx, 0.75 - dy);
-    cairo_curve_to (cr,
-                   0.35 + dx, 0.75 + dy,
-                   0.65 - dx, 0.75 + dy,
-                   0.65 + dx, 0.75 - dy);
-    cairo_stroke (cr);
-
-    cairo_restore (cr);
-}
-
-static void
-draw_some_pages (cairo_surface_t *surface)
-{
-    cairo_t *cr;
-    int i;
-
-    cr = cairo_create (surface);
-
-#define NUM_FRAMES 5
-    for (i=0; i < NUM_FRAMES; i++) {
-       draw_smiley (cr, WIDTH_IN_POINTS, HEIGHT_IN_POINTS,
-                    (double) i / (NUM_FRAMES - 1));
-
-       /* Duplicate the last frame onto another page. (This is just a
-        * way to sneak cairo_copy_page into the test).
-        */
-       if (i == (NUM_FRAMES - 1))
-           cairo_copy_page (cr);
-
-       cairo_show_page (cr);
-    }
-
-    cairo_destroy (cr);
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_surface_t *surface;
-    cairo_status_t status;
-    const char *filename;
-    cairo_test_status_t result = CAIRO_TEST_UNTESTED;
-
-#if CAIRO_HAS_PS_SURFACE
-    if (cairo_test_is_target_enabled (ctx, "ps2") ||
-        cairo_test_is_target_enabled (ctx, "ps3"))
-    {
-       if (result == CAIRO_TEST_UNTESTED)
-           result = CAIRO_TEST_SUCCESS;
-
-       filename = "multi-page.out.ps";
-       surface = cairo_ps_surface_create (filename,
-                                          WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
-       status = cairo_surface_status (surface);
-       if (status) {
-           cairo_test_log (ctx, "Failed to create ps surface for file %s: %s\n",
-                           filename, cairo_status_to_string (status));
-           result = CAIRO_TEST_FAILURE;
-       }
-
-       draw_some_pages (surface);
-
-       cairo_surface_destroy (surface);
-
-       printf ("multi-page: Please check %s to ensure it looks happy.\n", filename);
-    }
-#endif
-
-#if CAIRO_HAS_PDF_SURFACE
-    if (cairo_test_is_target_enabled (ctx, "pdf")) {
-       if (result == CAIRO_TEST_UNTESTED)
-           result = CAIRO_TEST_SUCCESS;
-
-       filename = "multi-page.out.pdf";
-       surface = cairo_pdf_surface_create (filename,
-                                           WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
-       status = cairo_surface_status (surface);
-       if (status) {
-           cairo_test_log (ctx, "Failed to create pdf surface for file %s: %s\n",
-                           filename, cairo_status_to_string (status));
-           result = CAIRO_TEST_FAILURE;
-       }
-
-       draw_some_pages (surface);
-
-       cairo_surface_destroy (surface);
-
-       printf ("multi-page: Please check %s to ensure it looks happy.\n", filename);
-    }
-#endif
-
-    return result;
-}
-
-CAIRO_TEST (multi_page,
-           "Check the paginated surfaces handle multiple pages.",
-           "paginated", /* keywords */
-           "target=vector", /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/negative-stride-image.c b/test/negative-stride-image.c
deleted file mode 100644 (file)
index a407b8c..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2012 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_format_t format = CAIRO_FORMAT_ARGB32;
-    cairo_t *cr_inv;
-    cairo_surface_t *png, *inv;
-    uint8_t *data;
-    int stride;
-
-    png = cairo_test_create_surface_from_png (ctx, png_filename);
-
-    stride = cairo_format_stride_for_width (format, width);
-    data = calloc (stride, height);
-    inv = cairo_image_surface_create_for_data (data + stride * (height - 1),
-                                              format, width, height, -stride);
-
-    cr_inv = cairo_create (inv);
-    cairo_set_source_surface (cr_inv, png, 0, 0);
-    cairo_paint (cr_inv);
-    cairo_destroy (cr_inv);
-
-    cairo_set_source_surface (cr, inv, 0, 0);
-    cairo_paint (cr);
-
-    cairo_surface_destroy (png);
-
-    cairo_surface_finish (inv);
-    cairo_surface_destroy (inv);
-
-    free (data);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (negative_stride_image,
-           "Test that images with a negative stride are handled correctly.",
-           "stride, image", /* keywords */
-           NULL, /* requirements */
-           256, 192,
-           NULL, draw)
diff --git a/test/new-sub-path.c b/test/new-sub-path.c
deleted file mode 100644 (file)
index f8f6bbe..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 10
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); /* blue */
-
-    /* Test cairo_new_sub_path followed by several different
-     * path-modification functions in turn...
-     */
-
-    /* ... cairo_move_to */
-    cairo_new_sub_path (cr);
-    cairo_move_to (cr, SIZE, SIZE);
-    cairo_line_to (cr, SIZE, 2 * SIZE);
-
-    /* ... cairo_line_to */
-    cairo_new_sub_path (cr);
-    cairo_line_to (cr, 2 * SIZE, 1.5 * SIZE);
-    cairo_line_to (cr, 3 * SIZE, 1.5 * SIZE);
-
-    /* ... cairo_curve_to */
-    cairo_new_sub_path (cr);
-    cairo_curve_to (cr,
-                   4.0 * SIZE, 1.5 * SIZE,
-                   4.5 * SIZE, 1.0 * SIZE,
-                   5.0 * SIZE, 1.5 * SIZE);
-
-    /* ... cairo_arc */
-    cairo_new_sub_path (cr);
-    cairo_arc (cr,
-              6.5 * SIZE, 1.5 * SIZE,
-              0.5 * SIZE,
-              0.0, 2.0 * M_PI);
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (new_sub_path,
-           "Test the cairo_new_sub_path call",
-           "path", /* keywords */
-           NULL, /* requirements */
-           8 * SIZE,
-           3 * SIZE,
-           NULL, draw)
diff --git a/test/nil-surface.c b/test/nil-surface.c
deleted file mode 100644 (file)
index 30a1f97..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-#include <stddef.h>
-
-/* Test to verify fixes for the following similar bugs:
- *
- *     https://bugs.freedesktop.org/show_bug.cgi?id=4088
- *     https://bugs.freedesktop.org/show_bug.cgi?id=3915
- *     https://bugs.freedesktop.org/show_bug.cgi?id=9906
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *surface;
-    cairo_pattern_t *pattern;
-    cairo_t *cr2;
-
-    /*
-     * 1. Test file-not-found from surface->pattern->cairo_t
-     */
-
-    /* Make a custom context to not interfere with the one passed in. */
-    cr2 = cairo_create (cairo_get_target (cr));
-
-    /* First, let's make a nil surface. */
-    surface = cairo_image_surface_create_from_png ("___THIS_FILE_DOES_NOT_EXIST___");
-
-    /* Let the error propagate into a nil pattern. */
-    pattern = cairo_pattern_create_for_surface (surface);
-
-    /* Then let it propagate into the cairo_t. */
-    cairo_set_source (cr2, pattern);
-    cairo_paint (cr2);
-
-    cairo_pattern_destroy (pattern);
-    cairo_surface_destroy (surface);
-
-    /* Check that the error made it all that way. */
-    if (cairo_status (cr2) != CAIRO_STATUS_FILE_NOT_FOUND) {
-       cairo_test_log (ctx, "Error: Received status of \"%s\" rather than expected \"%s\"\n",
-                       cairo_status_to_string (cairo_status (cr2)),
-                       cairo_status_to_string (CAIRO_STATUS_FILE_NOT_FOUND));
-       cairo_destroy (cr2);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    cairo_destroy (cr2);
-
-    /*
-     * 2. Test NULL pointer pattern->cairo_t
-     */
-    cr2 = cairo_create (cairo_get_target (cr));
-
-    /* First, trigger the NULL pointer status. */
-    pattern = cairo_pattern_create_for_surface (NULL);
-
-    /* Then let it propagate into the cairo_t. */
-    cairo_set_source (cr2, pattern);
-    cairo_paint (cr2);
-
-    cairo_pattern_destroy (pattern);
-
-    /* Check that the error made it all that way. */
-    if (cairo_status (cr2) != CAIRO_STATUS_NULL_POINTER) {
-       cairo_test_log (ctx, "Error: Received status of \"%s\" rather than expected \"%s\"\n",
-                       cairo_status_to_string (cairo_status (cr2)),
-                       cairo_status_to_string (CAIRO_STATUS_NULL_POINTER));
-       cairo_destroy (cr2);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    cairo_destroy (cr2);
-
-    /*
-     * 3. Test that cairo_surface_finish can accept NULL or a nil
-     *    surface without crashing.
-     */
-
-    cairo_surface_finish (NULL);
-
-    surface = cairo_image_surface_create_from_png ("___THIS_FILE_DOES_NOT_EXIST___");
-    cairo_surface_finish (surface);
-    cairo_surface_destroy (surface);
-
-    /*
-     * 4. OK, we're straying from the original name, but it's still a
-     * similar kind of testing of error paths. Here we're making sure
-     * we can still call a cairo_get_* function after triggering an
-     * INVALID_RESTORE error.
-     */
-    cr2 = cairo_create (cairo_get_target (cr));
-
-    /* Trigger invalid restore. */
-    cairo_restore (cr2);
-    if (cairo_status (cr2) != CAIRO_STATUS_INVALID_RESTORE) {
-       cairo_test_log (ctx, "Error: Received status of \"%s\" rather than expected \"%s\"\n",
-                       cairo_status_to_string (cairo_status (cr2)),
-                       cairo_status_to_string (CAIRO_STATUS_INVALID_RESTORE));
-       cairo_destroy (cr2);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    /* Test that we can still call cairo_get_fill_rule without crashing. */
-    cairo_get_fill_rule (cr2);
-
-    cairo_destroy (cr2);
-
-    /*
-     * 5. Create a cairo_t for the NULL surface.
-     */
-    cr2 = cairo_create (NULL);
-
-    if (cairo_status (cr2) != CAIRO_STATUS_NULL_POINTER) {
-       cairo_test_log (ctx, "Error: Received status of \"%s\" rather than expected \"%s\"\n",
-                       cairo_status_to_string (cairo_status (cr2)),
-                       cairo_status_to_string (CAIRO_STATUS_NULL_POINTER));
-       cairo_destroy (cr2);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    /* Test that get_target returns something valid */
-    if (cairo_get_target (cr2) == NULL) {
-       cairo_test_log (ctx, "Error: cairo_get_target() returned NULL\n");
-       cairo_destroy (cr2);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    /* Test that push_group doesn't crash */
-    cairo_push_group (cr2);
-    cairo_stroke (cr2);
-    pattern = cairo_pop_group (cr2);
-    cairo_pattern_destroy (pattern);
-
-    cairo_destroy (cr2);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (nil_surface,
-           "Test that nil surfaces do not make cairo crash.",
-           "api", /* keywords */
-           NULL, /* requirements */
-           1, 1,
-           NULL, draw)
diff --git a/test/operator-alpha-alpha.c b/test/operator-alpha-alpha.c
deleted file mode 100644 (file)
index 2cef858..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright 2002 University of Southern California
- * Copyright 2005 Red Hat, Inc.
- * Copyright 2007 Emmanuel Pacaud
- * Copyright 2008 Benjamin Otte
- * Copyright 2008 Chris Wilson
- *
- * This library is free software; you can redistribute it and/or
- * modify it either under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation
- * (the "LGPL") or, at your option, under the terms of the Mozilla
- * Public License Version 1.1 (the "MPL"). If you do not alter this
- * notice, a recipient may use your version of this file under either
- * the MPL or the LGPL.
- *
- * You should have received a copy of the LGPL along with this library
- * in the file COPYING-LGPL-2.1; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
- * You should have received a copy of the MPL along with this library
- * in the file COPYING-MPL-1.1
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
- * OF ANY KIND, either express or implied. See the LGPL or the MPL for
- * the specific language governing rights and limitations.
- *
- * The Original Code is the cairo graphics library.
- *
- * The Initial Developer of the Original Code is University of Southern
- * California.
- *
- * Contributor(s):
- *      Owen Taylor <otaylor@redhat.com>
- *      Kristian Høgsberg <krh@redhat.com>
- *      Emmanuel Pacaud <emmanuel.pacaud@lapp.in2p3.fr>
- *      Chris Wilson <chris@chris-wilson.co.uk>
- *      Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define STEPS 16
-#define START_OPERATOR CAIRO_OPERATOR_CLEAR
-#define STOP_OPERATOR  CAIRO_OPERATOR_HSL_LUMINOSITY
-
-#define SIZE 3
-#define COUNT 6
-#define FULL_WIDTH  ((STEPS + 1) * COUNT - 1)
-#define FULL_HEIGHT ((COUNT + STOP_OPERATOR - START_OPERATOR) / COUNT) * (STEPS + 1)
-
-static void
-create_patterns (cairo_t *bg, cairo_t *fg)
-{
-    int x;
-
-    for (x = 0; x < STEPS; x++) {
-       double i = (double) x / (STEPS - 1);
-       cairo_set_source_rgba (bg, 0, 0, 0, i);
-       cairo_rectangle (bg, x, 0, 1, STEPS);
-       cairo_fill (bg);
-
-       cairo_set_source_rgba (fg, 0, 0, 0, i);
-       cairo_rectangle (fg, 0, x, STEPS, 1);
-       cairo_fill (fg);
-    }
-}
-
-/* expects a STEP*STEP pixel rectangle */
-static void
-do_composite (cairo_t *cr, cairo_operator_t op, cairo_surface_t *bg, cairo_surface_t *fg)
-{
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_surface (cr, bg, 0, 0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, op);
-    cairo_set_source_surface (cr, fg, 0, 0);
-    cairo_paint (cr);
-}
-
-static void
-subdraw (cairo_t *cr, int width, int height)
-{
-    size_t i = 0;
-    cairo_operator_t op;
-    cairo_t *bgcr, *fgcr;
-    cairo_surface_t *bg, *fg;
-
-    bg = cairo_surface_create_similar (cairo_get_target (cr),
-           CAIRO_CONTENT_ALPHA, SIZE * STEPS, SIZE * STEPS);
-    fg = cairo_surface_create_similar (cairo_get_target (cr),
-           CAIRO_CONTENT_ALPHA, SIZE * STEPS, SIZE * STEPS);
-    bgcr = cairo_create (bg);
-    fgcr = cairo_create (fg);
-    cairo_scale (bgcr, SIZE, SIZE);
-    cairo_scale (fgcr, SIZE, SIZE);
-    create_patterns (bgcr, fgcr);
-    cairo_destroy (bgcr);
-    cairo_destroy (fgcr);
-
-    for (op = START_OPERATOR; op <= STOP_OPERATOR; op++, i++) {
-       cairo_save (cr);
-       cairo_translate (cr,
-               SIZE * (STEPS + 1) * (i % COUNT),
-               SIZE * (STEPS + 1) * (i / COUNT));
-       cairo_rectangle (cr, 0, 0, SIZE * (STEPS + 1), SIZE * (STEPS+1));
-       cairo_clip (cr);
-       do_composite (cr, op, bg, fg);
-       cairo_restore (cr);
-    }
-
-    cairo_surface_destroy (fg);
-    cairo_surface_destroy (bg);
-}
-
-
-static cairo_surface_t *
-create_source (cairo_surface_t *target, int width, int height)
-{
-    cairo_surface_t *similar;
-    cairo_t *cr;
-
-    similar = cairo_surface_create_similar (target,
-                                           CAIRO_CONTENT_ALPHA,
-                                           width, height);
-    cr = cairo_create (similar);
-    cairo_surface_destroy (similar);
-
-    subdraw (cr, width, height);
-
-    similar = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return similar;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *source;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    source = create_source (cairo_get_target (cr), width, height);
-    cairo_set_source_surface (cr, source, 0, 0);
-    cairo_surface_destroy (source);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (operator_alpha_alpha,
-           "Tests result of compositing pure-alpha surfaces"
-           "\nCompositing of pure-alpha sources is inconsistent across backends.",
-           "alpha, similar, operator", /* keywords */
-           NULL, /* requirements */
-           FULL_WIDTH * SIZE, FULL_HEIGHT * SIZE,
-           NULL, draw)
diff --git a/test/operator-alpha.c b/test/operator-alpha.c
deleted file mode 100644 (file)
index 1ce4ecd..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define N_OPERATORS (CAIRO_OPERATOR_SATURATE + 1)
-#define SIZE 10
-#define PAD 3
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    unsigned int n;
-
-    cairo_translate (cr, PAD, PAD);
-
-    for (n = 0; n < N_OPERATORS; n++) {
-       cairo_reset_clip (cr);
-       cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-       cairo_clip (cr);
-
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-       cairo_rectangle (cr, 0, 0, SIZE-PAD, SIZE-PAD);
-       cairo_fill (cr);
-
-       cairo_set_source_rgba (cr, 0, 0, 1, .33);
-       cairo_set_operator (cr, n);
-       cairo_rectangle (cr, PAD, PAD, SIZE-PAD, SIZE-PAD);
-       cairo_fill (cr);
-
-       cairo_translate (cr, SIZE+PAD, 0);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (operator_alpha,
-           "Tests using set_operator() with an non-opaque source",
-           "operator, alpha", /* keywords */
-           NULL, /* requirements */
-           (SIZE+PAD) * N_OPERATORS + PAD, SIZE + 2*PAD,
-           NULL, draw)
diff --git a/test/operator-clear.c b/test/operator-clear.c
deleted file mode 100644 (file)
index aac39f3..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Kristian Høgsberg <krh@redhat.com>
- *          Owen Taylor <otaylor@redhat.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define WIDTH 16
-#define HEIGHT 16
-#define PAD 2
-
-static void
-set_solid_pattern (cairo_t *cr, int x, int y)
-{
-    cairo_set_source_rgb (cr, 1.0, 0, 0.0);
-}
-
-static void
-set_gradient_pattern (cairo_t *cr, int x, int y)
-{
-    cairo_pattern_t *pattern;
-
-    pattern = cairo_pattern_create_linear (x, y, x + WIDTH, y + HEIGHT);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.2, 1, 0, 0, 1);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.8, 1, 0, 0, 0.0);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-}
-
-static void
-draw_mask (cairo_t *cr, int x, int y)
-{
-    cairo_surface_t *mask_surface;
-    cairo_t *cr2;
-
-    double width = (int)(0.9 * WIDTH);
-    double height = (int)(0.9 * HEIGHT);
-    x += 0.05 * WIDTH;
-    y += 0.05 * HEIGHT;
-
-    mask_surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                                CAIRO_CONTENT_ALPHA,
-                                                width, height);
-    cr2 = cairo_create (mask_surface);
-    cairo_surface_destroy (mask_surface);
-
-    cairo_set_source_rgb (cr2, 1, 1, 1); /* white */
-
-    cairo_arc (cr2, 0.5 * width, 0.5 * height, 0.45 * height, 0, 2 * M_PI);
-    cairo_fill (cr2);
-
-    cairo_mask_surface (cr, cairo_get_target (cr2), x, y);
-    cairo_destroy (cr2);
-}
-
-static void
-draw_glyphs (cairo_t *cr, int x, int y)
-{
-    cairo_text_extents_t extents;
-
-    cairo_set_font_size (cr, 0.8 * HEIGHT);
-
-    cairo_text_extents (cr, "FG", &extents);
-    cairo_move_to (cr,
-                  x + floor ((WIDTH - extents.width) / 2 + 0.5) - extents.x_bearing,
-                  y + floor ((HEIGHT - extents.height) / 2 + 0.5) - extents.y_bearing);
-    cairo_show_text (cr, "FG");
-}
-
-static void
-draw_polygon (cairo_t *cr, int x, int y)
-{
-    double width = (int)(0.9 * WIDTH);
-    double height = (int)(0.9 * HEIGHT);
-    x += 0.05 * WIDTH;
-    y += 0.05 * HEIGHT;
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, x, y);
-    cairo_line_to (cr, x, y + height);
-    cairo_line_to (cr, x + width / 2, y + 3 * height / 4);
-    cairo_line_to (cr, x + width, y + height);
-    cairo_line_to (cr, x + width, y);
-    cairo_line_to (cr, x + width / 2, y + height / 4);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-}
-
-static void
-draw_rects (cairo_t *cr, int x, int y)
-{
-    double block_width = (int)(0.33 * WIDTH + 0.5);
-    double block_height = (int)(0.33 * HEIGHT + 0.5);
-    int i, j;
-
-    for (i = 0; i < 3; i++)
-       for (j = 0; j < 3; j++)
-           if ((i + j) % 2 == 0)
-               cairo_rectangle (cr,
-                                x + block_width * i, y + block_height * j,
-                                block_width,         block_height);
-
-    cairo_fill (cr);
-}
-
-static void (* const pattern_funcs[])(cairo_t *cr, int x, int y) = {
-    set_solid_pattern,
-    set_gradient_pattern,
-};
-
-static void (* const draw_funcs[])(cairo_t *cr, int x, int y) = {
-    draw_mask,
-    draw_glyphs,
-    draw_polygon,
-    draw_rects
-};
-
-#define IMAGE_WIDTH (ARRAY_LENGTH (pattern_funcs) * (WIDTH + PAD) + PAD)
-#define IMAGE_HEIGHT (ARRAY_LENGTH (draw_funcs) * (HEIGHT + PAD) + PAD)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    size_t i, j, x, y;
-    cairo_pattern_t *pattern;
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    for (j = 0; j < ARRAY_LENGTH (draw_funcs); j++) {
-       for (i = 0; i < ARRAY_LENGTH (pattern_funcs); i++) {
-           x = i * (WIDTH + PAD) + PAD;
-           y = j * (HEIGHT + PAD) + PAD;
-
-           cairo_save (cr);
-
-           pattern = cairo_pattern_create_linear (x + WIDTH, y,
-                                                  x,         y + HEIGHT);
-           cairo_pattern_add_color_stop_rgba (pattern, 0.2,
-                                              0.0, 0.0, 1.0, 1.0); /* Solid blue */
-           cairo_pattern_add_color_stop_rgba (pattern, 0.8,
-                                              0.0, 0.0, 1.0, 0.0); /* Transparent blue */
-           cairo_set_source (cr, pattern);
-           cairo_pattern_destroy (pattern);
-
-           cairo_rectangle (cr, x, y, WIDTH, HEIGHT);
-           cairo_fill_preserve (cr);
-           cairo_clip (cr);
-
-           cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
-           pattern_funcs[i] (cr, x, y);
-           draw_funcs[j] (cr, x, y);
-           if (cairo_status (cr))
-               cairo_test_log (ctx, "%d %d HERE!\n", (int)i, (int)j);
-
-           cairo_restore (cr);
-       }
-    }
-
-    if (cairo_status (cr) != CAIRO_STATUS_SUCCESS)
-       cairo_test_log (ctx, "%d %d .HERE!\n", (int)i, (int)j);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (operator_clear,
-           "Test of CAIRO_OPERATOR_CLEAR",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/operator-source.c b/test/operator-source.c
deleted file mode 100644 (file)
index 3dee570..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Kristian Høgsberg <krh@redhat.com>
- *          Owen Taylor <otaylor@redhat.com>
- *          Uli Schlachter <psychon@znc.in>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define WIDTH 16
-#define HEIGHT 16
-#define PAD 2
-
-static void
-set_solid_pattern (cairo_t *cr, int x, int y)
-{
-    cairo_set_source_rgb (cr, 1.0, 0, 0.0);
-}
-
-static void
-set_translucent_pattern (cairo_t *cr, int x, int y)
-{
-    cairo_set_source_rgba (cr, 1, 0, 0, 0.5);
-}
-
-static void
-set_gradient_pattern (cairo_t *cr, int x, int y)
-{
-    cairo_pattern_t *pattern;
-
-    pattern = cairo_pattern_create_linear (x, y, x + WIDTH, y + HEIGHT);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.2, 1, 0, 0, 1);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.8, 1, 0, 0, 0.0);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-}
-
-static void
-set_surface_pattern (cairo_t *cr, int x, int y)
-{
-    cairo_surface_t *source_surface;
-    cairo_t *cr2;
-
-    double width = (int)(0.6 * WIDTH);
-    double height = (int)(0.6 * HEIGHT);
-    x += 0.2 * WIDTH;
-    y += 0.2 * HEIGHT;
-
-    source_surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                                  CAIRO_CONTENT_COLOR_ALPHA,
-                                                  width, height);
-    cr2 = cairo_create (source_surface);
-    cairo_surface_destroy (source_surface);
-
-    cairo_set_source_rgb (cr2, 1, 0, 0); /* red */
-    cairo_paint (cr2);
-
-    cairo_set_source_rgb (cr2, 1, 1, 1); /* white */
-
-    cairo_arc (cr2, 0.5 * width, 0.5 * height, 0.5 * height, 0, 2 * M_PI);
-    cairo_fill (cr2);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr2), x, y);
-    cairo_destroy (cr2);
-}
-
-static void
-draw_mask (cairo_t *cr, int x, int y)
-{
-    cairo_surface_t *mask_surface;
-    cairo_t *cr2;
-
-    double width = (int)(0.9 * WIDTH);
-    double height = (int)(0.9 * HEIGHT);
-    x += 0.05 * WIDTH;
-    y += 0.05 * HEIGHT;
-
-    mask_surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                                CAIRO_CONTENT_ALPHA,
-                                                width, height);
-    cr2 = cairo_create (mask_surface);
-    cairo_surface_destroy (mask_surface);
-
-    cairo_set_source_rgb (cr2, 1, 1, 1); /* white */
-
-    cairo_arc (cr2, 0.5 * width, 0.5 * height, 0.45 * height, 0, 2 * M_PI);
-    cairo_fill (cr2);
-
-    cairo_mask_surface (cr, cairo_get_target (cr2), x, y);
-    cairo_destroy (cr2);
-}
-
-static void
-draw_glyphs (cairo_t *cr, int x, int y)
-{
-    cairo_text_extents_t extents;
-
-    cairo_set_font_size (cr, 0.8 * HEIGHT);
-
-    cairo_text_extents (cr, "FG", &extents);
-    cairo_move_to (cr,
-                  x + floor ((WIDTH - extents.width) / 2 + 0.5) - extents.x_bearing,
-                  y + floor ((HEIGHT - extents.height) / 2 + 0.5) - extents.y_bearing);
-    cairo_show_text (cr, "FG");
-}
-
-static void
-draw_polygon (cairo_t *cr, int x, int y)
-{
-    double width = (int)(0.9 * WIDTH);
-    double height = (int)(0.9 * HEIGHT);
-    x += 0.05 * WIDTH;
-    y += 0.05 * HEIGHT;
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, x, y);
-    cairo_line_to (cr, x, y + height);
-    cairo_line_to (cr, x + width / 2, y + 3 * height / 4);
-    cairo_line_to (cr, x + width, y + height);
-    cairo_line_to (cr, x + width, y);
-    cairo_line_to (cr, x + width / 2, y + height / 4);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-}
-
-static void
-draw_rects (cairo_t *cr, int x, int y, double offset)
-{
-    double block_width = (int)(0.33 * WIDTH + 0.5) - offset/3;
-    double block_height = (int)(0.33 * HEIGHT + 0.5) - offset/3;
-    int i, j;
-
-    x += offset/2;
-    y += offset/2;
-
-    for (i = 0; i < 3; i++)
-       for (j = 0; j < 3; j++)
-           if ((i + j) % 2 == 0)
-               cairo_rectangle (cr,
-                                x + block_width * i, y + block_height * j,
-                                block_width,         block_height);
-
-    cairo_fill (cr);
-}
-
-static void
-draw_aligned_rects (cairo_t *cr, int x, int y)
-{
-    draw_rects (cr, x, y, 0);
-}
-
-static void
-draw_unaligned_rects (cairo_t *cr, int x, int y)
-{
-    draw_rects (cr, x, y, 2.1);
-}
-
-static void (* const pattern_funcs[])(cairo_t *cr, int x, int y) = {
-    set_solid_pattern,
-    set_translucent_pattern,
-    set_gradient_pattern,
-    set_surface_pattern,
-};
-
-static void (* const draw_funcs[])(cairo_t *cr, int x, int y) = {
-    draw_mask,
-    draw_glyphs,
-    draw_polygon,
-    draw_aligned_rects,
-    draw_unaligned_rects
-};
-
-#define IMAGE_WIDTH (ARRAY_LENGTH (pattern_funcs) * (WIDTH + PAD) + PAD)
-#define IMAGE_HEIGHT (ARRAY_LENGTH (draw_funcs) * (HEIGHT + PAD) + PAD)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    size_t i, j, x, y;
-    cairo_pattern_t *pattern;
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    for (j = 0; j < ARRAY_LENGTH (draw_funcs); j++) {
-       for (i = 0; i < ARRAY_LENGTH (pattern_funcs); i++) {
-           x = i * (WIDTH + PAD) + PAD;
-           y = j * (HEIGHT + PAD) + PAD;
-
-           cairo_save (cr);
-
-           pattern = cairo_pattern_create_linear (x + WIDTH, y,
-                                                  x,         y + HEIGHT);
-           cairo_pattern_add_color_stop_rgba (pattern, 0.2,
-                                              0.0, 0.0, 1.0, 1.0); /* Solid blue */
-           cairo_pattern_add_color_stop_rgba (pattern, 0.8,
-                                              0.0, 0.0, 1.0, 0.0); /* Transparent blue */
-           cairo_set_source (cr, pattern);
-           cairo_pattern_destroy (pattern);
-
-           cairo_rectangle (cr, x, y, WIDTH, HEIGHT);
-           cairo_fill_preserve (cr);
-           cairo_clip (cr);
-
-           cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-           pattern_funcs[i] (cr, x, y);
-           draw_funcs[j] (cr, x, y);
-           if (cairo_status (cr))
-               cairo_test_log (ctx, "%d %d HERE!\n", (int)i, (int)j);
-
-           cairo_restore (cr);
-       }
-    }
-
-    if (cairo_status (cr) != CAIRO_STATUS_SUCCESS)
-       cairo_test_log (ctx, "%d %d .HERE!\n", (int)i, (int)j);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (operator_source,
-           "Test of CAIRO_OPERATOR_SOURCE",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/operator.c b/test/operator.c
deleted file mode 100644 (file)
index 666fcaf..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define N_OPERATORS (CAIRO_OPERATOR_SATURATE + 1)
-#define SIZE 10
-#define PAD 3
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    unsigned int n;
-
-    cairo_translate (cr, PAD, PAD);
-
-    for (n = 0; n < N_OPERATORS; n++) {
-       cairo_reset_clip (cr);
-       cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-       cairo_clip (cr);
-
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-       cairo_rectangle (cr, 0, 0, SIZE-PAD, SIZE-PAD);
-       cairo_fill (cr);
-
-       cairo_set_source_rgb (cr, 0, 0, 1);
-       cairo_set_operator (cr, n);
-       cairo_rectangle (cr, PAD, PAD, SIZE-PAD, SIZE-PAD);
-       cairo_fill (cr);
-
-       cairo_translate (cr, SIZE+PAD, 0);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (operator,
-           "Tests using set_operator()",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           (SIZE+PAD) * N_OPERATORS + PAD, SIZE + 2*PAD,
-           NULL, draw)
diff --git a/test/over-above-source.c b/test/over-above-source.c
deleted file mode 100644 (file)
index 7191c8d..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 40
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-/* This test is designed to explore the interactions of "native" and
- * "fallback" objects. For the ps surface, OVER with non-1.0 opacity
- * will be a fallback while SOURCE will be native. For the pdf
- * surface, it's the reverse where OVER is native while SOURCE is a
- * fallback. */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, PAD, PAD);
-
-    /* A red triangle with SOURCE */
-    cairo_move_to     (cr,  SIZE / 2, SIZE / 2);
-    cairo_rel_line_to (cr,  SIZE / 2, 0);
-    cairo_rel_line_to (cr, -SIZE / 2, SIZE / 2);
-    cairo_close_path (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgba (cr, 1., 0., 0., 0.5); /* 50% red */
-
-    cairo_fill (cr);
-
-    /* A green circle with OVER */
-    cairo_arc (cr, SIZE / 2, SIZE / 2, SIZE / 4, 0., 2. * M_PI);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_rgba (cr, 0., 1., 0., 0.5); /* 50% green */
-
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (over_above_source,
-           "A simple test drawing a circle with OVER after a triangle drawn with SOURCE",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/over-around-source.c b/test/over-around-source.c
deleted file mode 100644 (file)
index 531eda8..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 40
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-/* This test is designed to explore the interactions of "native" and
- * "fallback" objects. For the ps surface, OVER with non-1.0 opacity
- * will be a fallback while SOURCE will be native. For the pdf
- * surface, it's the reverse where OVER is native while SOURCE is a
- * fallback. */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, PAD, PAD);
-
-    /* A green triangle with OVER */
-    cairo_move_to     (cr,  SIZE / 5, SIZE / 5);
-    cairo_rel_line_to (cr,  SIZE / 2, 0);
-    cairo_rel_line_to (cr, -SIZE / 2, SIZE / 2);
-    cairo_close_path (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_rgba (cr, 0., 1., 0., 0.5); /* 50% green */
-
-    cairo_fill (cr);
-
-    /* A red circle with SOURCE */
-    cairo_arc (cr, SIZE / 2, SIZE / 2, SIZE / 4, 0., 2. * M_PI);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgba (cr, 1., 0., 0., 0.5); /* 50% red */
-
-    cairo_fill (cr);
-
-    /* Another green triangle with OVER */
-    cairo_move_to     (cr,  SIZE / 2, SIZE / 2);
-    cairo_rel_line_to (cr,  SIZE / 2, 0);
-    cairo_rel_line_to (cr, -SIZE / 2, SIZE / 2);
-    cairo_close_path (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_rgba (cr, 0., 1., 0., 0.5); /* 50% green */
-
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (over_around_source,
-           "A simple test drawing a triangle with SOURCE between two circles drawn with OVER",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/over-below-source.c b/test/over-below-source.c
deleted file mode 100644 (file)
index 7fe5bd8..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 40
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-/* This test is designed to explore the interactions of "native" and
- * "fallback" objects. For the ps surface, OVER with non-1.0 opacity
- * will be a fallback while SOURCE will be native. For the pdf
- * surface, it's the reverse where OVER is native while SOURCE is a
- * fallback. */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, PAD, PAD);
-
-    /* A green circle with OVER */
-    cairo_arc (cr, SIZE / 2, SIZE / 2, SIZE / 4, 0., 2. * M_PI);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_rgba (cr, 0., 1., 0., 0.5); /* 50% green */
-
-    cairo_fill (cr);
-
-    /* A red triangle with SOURCE */
-    cairo_move_to (cr, SIZE / 2, SIZE / 2);
-    cairo_line_to (cr, SIZE,     SIZE / 2);
-    cairo_line_to (cr, SIZE / 2, SIZE);
-    cairo_close_path (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgba (cr, 1., 0., 0., 0.5); /* 50% red */
-
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (over_below_source,
-           "A simple test drawing a circle with OVER before a triangle drawn with SOURCE",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/over-between-source.c b/test/over-between-source.c
deleted file mode 100644 (file)
index ffb6572..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 40
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-/* This test is designed to explore the interactions of "native" and
- * "fallback" objects. For the ps surface, OVER with non-1.0 opacity
- * will be a fallback while SOURCE will be native. For the pdf
- * surface, it's the reverse where OVER is native while SOURCE is a
- * fallback. */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, PAD, PAD);
-
-    /* A red triangle with SOURCE */
-    cairo_move_to     (cr,  SIZE / 5, SIZE / 5);
-    cairo_rel_line_to (cr,  SIZE / 2, 0);
-    cairo_rel_line_to (cr, -SIZE / 2, SIZE / 2);
-    cairo_close_path (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgba (cr, 1., 0., 0., 0.5); /* 50% red */
-
-    cairo_fill (cr);
-
-    /* A green circle with OVER */
-    cairo_arc (cr, SIZE / 2, SIZE / 2, SIZE / 4, 0., 2. * M_PI);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_rgba (cr, 0., 1., 0., 0.5); /* 50% green */
-
-    cairo_fill (cr);
-
-    /* Another red triangle with SOURCE */
-    cairo_move_to     (cr,  SIZE / 2, SIZE / 2);
-    cairo_rel_line_to (cr,  SIZE / 2, 0);
-    cairo_rel_line_to (cr, -SIZE / 2, SIZE / 2);
-    cairo_close_path (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgba (cr, 1., 0., 0., 0.5); /* 50% red */
-
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (over_between_source,
-           "A simple test drawing a circle with OVER between two triangles drawn with SOURCE",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/overlapping-boxes.c b/test/overlapping-boxes.c
deleted file mode 100644 (file)
index 92211ee..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* Not strictly overlapping, but it does highlight the error in
- * an optimisation of fill-box handling that I frequently am
- * tempted to write.
- */
-
-#include "cairo-test.h"
-
-#define WIDTH          (20)
-#define HEIGHT         (20)
-
-static void
-border (cairo_t *cr)
-{
-    cairo_rectangle (cr, 1, 1, 8, 8);
-    cairo_rectangle (cr, 1.25, 1.25, 7.5, 7.5);
-    cairo_rectangle (cr, 1.75, 1.75, 6.5, 6.5);
-    cairo_rectangle (cr, 2, 2, 6, 6);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    border (cr);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_fill (cr);
-
-    cairo_translate (cr, 10, 0);
-
-    border (cr);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_fill (cr);
-
-    cairo_translate (cr, 0, 10);
-
-    cairo_rectangle (cr, 0, 0, 10, 10);
-    cairo_clip (cr);
-
-    border (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-    cairo_fill (cr);
-
-    cairo_reset_clip (cr);
-
-    cairo_translate (cr, -10, 0);
-
-    cairo_rectangle (cr, 0, 0, 10, 10);
-    cairo_clip (cr);
-
-    border (cr);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (overlapping_boxes,
-           "A sub-pixel double border to highlight the danger in an easy optimisation",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/overlapping-dash-caps.c b/test/overlapping-dash-caps.c
deleted file mode 100644 (file)
index f7ba248..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 100
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    double dashes1[] = {20, 10};
-    double dashes2[] = {10, 1};
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_line_width (cr, 15);
-
-    cairo_set_dash (cr, dashes1, 2, 0);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, SIZE/2, SIZE/2, SIZE/2-10, 0, 2*M_PI);
-
-    cairo_set_source_rgba (cr, 1, 0, 0, 0.5);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_stroke (cr);
-
-    cairo_set_dash (cr, dashes2, 2, 0);
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, SIZE/2, SIZE/2, SIZE/4-5, 0, 2*M_PI);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-    cairo_set_source_rgba (cr, 0, 1, 0, 0.5);
-    cairo_stroke (cr);
-
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (overlapping_dash_caps,
-           "Test intersections between neighbouring dash segments",
-           "overlap, dash", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/overlapping-glyphs.c b/test/overlapping-glyphs.c
deleted file mode 100644 (file)
index 93067ab..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#include <assert.h>
-
-#define TEXT_SIZE 12
-#define HEIGHT (TEXT_SIZE + 4)
-#define WIDTH 50
-
-#define MAX_GLYPHS 80
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_glyph_t glyphs_stack[MAX_GLYPHS], *glyphs;
-    const char *cairo = "Cairo";
-    const char *giza = "Giza";
-    cairo_text_extents_t cairo_extents;
-    cairo_text_extents_t giza_extents;
-    int count, num_glyphs;
-    double x0, y0;
-
-    /* We draw in the default black, so paint white first. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    /* We want to overlap two strings, so compute overlapping glyphs.  */
-
-    cairo_text_extents (cr, cairo, &cairo_extents);
-    cairo_text_extents (cr, giza, &giza_extents);
-
-    x0 = WIDTH/2. - (cairo_extents.width/2. + cairo_extents.x_bearing);
-    y0 = HEIGHT/2. - (cairo_extents.height/2. + cairo_extents.y_bearing);
-    glyphs = glyphs_stack;
-    count = MAX_GLYPHS;
-    cairo_scaled_font_text_to_glyphs (cairo_get_scaled_font (cr),
-                                     x0, y0,
-                                     cairo, strlen (cairo),
-                                     &glyphs, &count,
-                                     NULL, NULL,
-                                     NULL);
-    assert (glyphs == glyphs_stack);
-    num_glyphs = count;
-
-    x0 = WIDTH/2. - (giza_extents.width/2. + giza_extents.x_bearing);
-    y0 = HEIGHT/2. - (giza_extents.height/2. + giza_extents.y_bearing);
-    glyphs = glyphs_stack + count;
-    count = MAX_GLYPHS - count;
-    cairo_scaled_font_text_to_glyphs (cairo_get_scaled_font (cr),
-                                     x0, y0,
-                                     giza, strlen (giza),
-                                     &glyphs, &count,
-                                     NULL, NULL,
-                                     NULL);
-    assert (glyphs == glyphs_stack + num_glyphs);
-    glyphs = glyphs_stack;
-    num_glyphs += count;
-
-    cairo_set_source_rgba (cr, 0, 0, 0, .5); /* translucent black, gray! */
-    cairo_show_glyphs (cr, glyphs, num_glyphs);
-
-    /* and compare with filling */
-    cairo_translate (cr, 0, HEIGHT);
-    cairo_glyph_path (cr, glyphs, num_glyphs);
-    cairo_fill (cr);
-
-    /* switch to using an unbounded operator for added complexity */
-    cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-
-    cairo_translate (cr, WIDTH, -HEIGHT);
-    cairo_save (cr);
-    cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-    cairo_clip (cr);
-    cairo_show_glyphs (cr, glyphs, num_glyphs);
-    cairo_restore (cr);
-
-    cairo_translate (cr, 0, HEIGHT);
-    cairo_save (cr);
-    cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-    cairo_clip (cr);
-    cairo_glyph_path (cr, glyphs, num_glyphs);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (overlapping_glyphs,
-           "Test handing of overlapping glyphs",
-           "text, glyphs", /* keywords */
-           NULL, /* requirements */
-           2 * WIDTH, 2 * HEIGHT,
-           NULL, draw)
-
diff --git a/test/paint-clip-fill.c b/test/paint-clip-fill.c
deleted file mode 100644 (file)
index 5a9e24f..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright 2011 SCore Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Taekyun Kim <podain77@gmail.com>
- */
-
-#include "cairo-test.h"
-
-static void
-rounded_rectangle(cairo_t *cr,
-                 double x, double y,
-                 double width, double height,
-                 double radius)
-{
-    cairo_move_to   (cr, x, y + radius);
-    cairo_line_to   (cr, x, y + height - radius);
-    cairo_curve_to  (cr, x, y + height - radius/2.0,
-                         x + radius/2.0, y + height,
-                         x + radius, y + height);
-    cairo_line_to   (cr, x + width - radius, y + height);
-    cairo_curve_to  (cr, x + width - radius/2.0, y + height,
-                         x + width, y + height - radius/2.0,
-                         x + width, y + height - radius);
-    cairo_line_to   (cr, x + width, y + radius);
-    cairo_curve_to  (cr, x + width, y + radius/2.0,
-                         x + width - radius/2.0, y,
-                         x + width - radius, y);
-    cairo_line_to   (cr, x + radius, y);
-    cairo_curve_to  (cr, x + radius/2.0, y, x, y + radius/2.0, x, y + radius);
-    cairo_close_path(cr);
-}
-
-static cairo_test_status_t
-draw_mono (cairo_t *cr, int width, int height)
-{
-    cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE);
-    cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgba(cr, 1.0, 1.0, 1.0, 1.0);
-    cairo_paint(cr);
-
-    cairo_rectangle(cr, 20, 20, 60, 60);
-    cairo_clip(cr);
-
-    rounded_rectangle(cr, 0, 0, 100, 100, 10);
-    cairo_clip(cr);
-
-    cairo_set_source_rgba(cr, 1.0, 0.0, 0.0, 1.0);
-    cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
-    cairo_paint(cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_aa (cairo_t *cr, int width, int height)
-{
-    cairo_set_antialias(cr, CAIRO_ANTIALIAS_DEFAULT);
-    cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgba(cr, 1.0, 1.0, 1.0, 1.0);
-    cairo_paint(cr);
-
-    cairo_rectangle(cr, 20, 20, 60, 60);
-    cairo_clip(cr);
-
-    rounded_rectangle(cr, 0, 0, 100, 100, 10);
-    cairo_clip(cr);
-
-    cairo_set_source_rgba(cr, 1.0, 0.0, 0.0, 1.0);
-    cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
-    cairo_paint(cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (paint_clip_fill_mono,
-           "Test reduction of a paint with a clip",
-           "paint, clip", /* keywords */
-           NULL, /* requirements */
-           100, 100,
-           NULL, draw_mono)
-CAIRO_TEST (paint_clip_fill_aa,
-           "Test reduction of a paint with a clip",
-           "paint, clip", /* keywords */
-           NULL, /* requirements */
-           100, 100,
-           NULL, draw_aa)
diff --git a/test/paint-repeat.c b/test/paint-repeat.c
deleted file mode 100644 (file)
index c48d84c..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    uint32_t data[16] = {
-       0xffffffff, 0xffffffff,         0xffff0000, 0xffff0000,
-       0xffffffff, 0xffffffff,         0xffff0000, 0xffff0000,
-
-       0xff00ff00, 0xff00ff00,         0xff0000ff, 0xff0000ff,
-       0xff00ff00, 0xff00ff00,         0xff0000ff, 0xff0000ff
-    };
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    /* We use a non-zero offset larger than the source surface size to
-     * stress cairo out a bit more. */
-    cairo_set_source_surface (cr, surface, 10, 10);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-    cairo_paint (cr);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (paint_repeat,
-           "Test calls to cairo_paint with a repeating source surface pattern",
-           "paint", /* keywords */
-           NULL, /* requirements */
-           8, 8,
-           NULL, draw)
diff --git a/test/paint-source-alpha.c b/test/paint-source-alpha.c
deleted file mode 100644 (file)
index cb2d488..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    uint32_t data[16] = {
-       0x80808080, 0x80808080,         0x80800000, 0x80800000,
-       0x80808080, 0x80808080,         0x80800000, 0x80800000,
-
-       0x80008000, 0x80008000,         0x80000080, 0x80000080,
-       0x80008000, 0x80008000,         0x80000080, 0x80000080
-    };
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_ARGB32, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint (cr);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (paint_source_alpha,
-           "Simple test of cairo_paint with a source surface with non-opaque alpha",
-           "paint, alpha", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, draw)
diff --git a/test/paint-with-alpha.c b/test/paint-with-alpha.c
deleted file mode 100644 (file)
index 8daa935..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static uint32_t data[16] = {
-    0xffffffff, 0xffffffff,            0xffff0000, 0xffff0000,
-    0xffffffff, 0xffffffff,            0xffff0000, 0xffff0000,
-
-    0xff00ff00, 0xff00ff00,            0xff0000ff, 0xff0000ff,
-    0xff00ff00, 0xff00ff00,            0xff0000ff, 0xff0000ff
-};
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_solid_clip (cairo_t *cr, int width, int height)
-{
-    cairo_test_paint_checkered (cr);
-
-    cairo_rectangle (cr, 2.5, 2.5, 27, 27);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 1., 0.,0.);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_clip (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_rectangle (cr, 10.5, 10.5, 11, 11);
-    cairo_clip (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_clip_mask (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_move_to (cr, 16, 5);
-    cairo_line_to (cr, 5, 16);
-    cairo_line_to (cr, 16, 27);
-    cairo_line_to (cr, 27, 16);
-    cairo_clip (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (paint_with_alpha,
-           "Simple test of cairo_paint_with_alpha",
-           "paint, alpha", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, draw)
-CAIRO_TEST (paint_with_alpha_solid_clip,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, draw_solid_clip)
-CAIRO_TEST (paint_with_alpha_clip,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, draw_clip)
-CAIRO_TEST (paint_with_alpha_clip_mask,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, draw_clip_mask)
diff --git a/test/paint.c b/test/paint.c
deleted file mode 100644 (file)
index c5fd648..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 2, 2);
-    cairo_scale (cr, 0.5, 0.5);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (paint,
-           "Test calls to cairo_paint",
-           "paint", /* keywords */
-           NULL, /* requirements */
-           8, 8,
-           NULL, draw)
diff --git a/test/partial-clip-text.c b/test/partial-clip-text.c
deleted file mode 100644 (file)
index 4d8bae0..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright 2010 Igor Nikitin
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Igor Nikitin <igor_nikitin@valentina-db.com>
- */
-
-#include "cairo-test.h"
-
-#define HEIGHT 15
-#define WIDTH 40
-
-static void background (cairo_t *cr)
-{
-     cairo_set_source_rgb( cr, 0, 0, 0 );
-     cairo_paint (cr);
-}
-
-static void text (cairo_t *cr)
-{
-     cairo_move_to (cr, 0, 12);
-     cairo_set_source_rgb (cr, 1, 1, 1);
-     cairo_show_text (cr, "CAIRO");
-}
-
-static cairo_test_status_t
-top (cairo_t *cr, int width, int height)
-{
-     background (cr);
-
-     cairo_rectangle (cr, 0, 0, WIDTH, 5);
-     cairo_clip (cr);
-
-     text (cr);
-
-     return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-bottom (cairo_t *cr, int width, int height)
-{
-     background (cr);
-
-     cairo_rectangle (cr, 0, HEIGHT-5, WIDTH, 5);
-     cairo_clip (cr);
-
-     text (cr);
-
-     return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-left (cairo_t *cr, int width, int height)
-{
-     background (cr);
-
-     cairo_rectangle (cr, 0, 0, 10, HEIGHT);
-     cairo_clip (cr);
-
-     text (cr);
-
-     return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-right (cairo_t *cr, int width, int height)
-{
-     background (cr);
-
-     cairo_rectangle (cr, WIDTH-10, 0, 10, HEIGHT);
-     cairo_clip (cr);
-
-     text (cr);
-
-     return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (partial_clip_text_top,
-           "Tests drawing text through a single, partial clip.",
-           "clip, text", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, top)
-CAIRO_TEST (partial_clip_text_bottom,
-           "Tests drawing text through a single, partial clip.",
-           "clip, text", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, bottom)
-CAIRO_TEST (partial_clip_text_left,
-           "Tests drawing text through a single, partial clip.",
-           "clip, text", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, left)
-CAIRO_TEST (partial_clip_text_right,
-           "Tests drawing text through a single, partial clip.",
-           "clip, text", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, right)
diff --git a/test/partial-coverage.c b/test/partial-coverage.c
deleted file mode 100644 (file)
index 0b5cbdc..0000000
+++ /dev/null
@@ -1,680 +0,0 @@
-/*
- * Copyright 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* Test the sampling stratagems of the rasterisers by creating pixels
- * containing minute holes and seeing how close to the expected
- * coverage each rasteriser approaches.
- */
-
-#define SIZE 64
-
-#include "../src/cairo-fixed-type-private.h"
-#define SAMPLE (1 << CAIRO_FIXED_FRAC_BITS)
-
-static uint32_t state;
-
-static uint32_t
-hars_petruska_f54_1_random (void)
-{
-#define rol(x,k) ((x << k) | (x >> (32-k)))
-    return state = (state ^ rol (state, 5) ^ rol (state, 24)) + 0x37798849;
-#undef rol
-}
-
-static double
-uniform_random (void)
-{
-    return hars_petruska_f54_1_random() / (double) UINT32_MAX;
-}
-
-/* coverage is given in [0,sample] */
-static void
-compute_occupancy (uint8_t *occupancy, int coverage, int sample)
-{
-    int i, c;
-
-    if (coverage < sample/2) {
-       memset (occupancy, 0, sample);
-       if (coverage == 0)
-           return;
-
-       for (i = c = 0; i < sample; i++) {
-           if ((sample - i) * uniform_random() < coverage - c) {
-               occupancy[i] = 0xff;
-               if (++c == coverage)
-                   return;
-           }
-       }
-    } else {
-       coverage = sample - coverage;
-       memset (occupancy, 0xff, sample);
-       if (coverage == 0)
-           return;
-
-       for (i = c = 0; i < sample; i++) {
-           if ((sample - i) * uniform_random() < coverage - c) {
-               occupancy[i] = 0;
-               if (++c == coverage)
-                   return;
-           }
-       }
-    }
-}
-
-static cairo_test_status_t
-reference (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    for (i = 0; i < SIZE*SIZE; i++) {
-       cairo_set_source_rgba (cr, 1., 1., 1.,
-                              i / (double) (SIZE * SIZE));
-       cairo_rectangle (cr, i % SIZE, i / SIZE, 1, 1);
-       cairo_fill (cr);
-    }
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-three_quarter_reference (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    for (i = 0; i < SIZE*SIZE; i++) {
-       cairo_set_source_rgba (cr, 1., 1., 1.,
-                              .75 * i / (double) (SIZE * SIZE));
-       cairo_rectangle (cr, i % SIZE, i / SIZE, 1, 1);
-       cairo_fill (cr);
-    }
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-half_reference (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    for (i = 0; i < SIZE*SIZE; i++) {
-       cairo_set_source_rgba (cr, 1., 1., 1.,
-                              .5 * i / (double) (SIZE * SIZE));
-       cairo_rectangle (cr, i % SIZE, i / SIZE, 1, 1);
-       cairo_fill (cr);
-    }
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-rectangles (cairo_t *cr, int width, int height)
-{
-    uint8_t *occupancy;
-    int i, j, channel;
-
-    state = 0x12345678;
-    occupancy = xmalloc (SAMPLE*SAMPLE);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (i = 0; i < SIZE*SIZE; i++) {
-           int xs, ys;
-
-           compute_occupancy (occupancy, SAMPLE*SAMPLE * i / (SIZE * SIZE), SAMPLE*SAMPLE);
-
-           xs = i % SIZE * SAMPLE;
-           ys = i / SIZE * SAMPLE;
-           for (j = 0; j < SAMPLE*SAMPLE; j++) {
-               if (occupancy[j]) {
-                   cairo_rectangle (cr,
-                                    (j % SAMPLE + xs) / (double) SAMPLE,
-                                    (j / SAMPLE + ys) / (double) SAMPLE,
-                                    1 / (double) SAMPLE,
-                                    1 / (double) SAMPLE);
-               }
-           }
-           cairo_fill (cr);
-       }
-    }
-
-    free (occupancy);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-intersecting_quads (cairo_t *cr, int width, int height)
-{
-    uint8_t *occupancy;
-    int i, j, channel;
-
-    state = 0x12345678;
-    occupancy = xmalloc (SAMPLE*SAMPLE);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (i = 0; i < SIZE*SIZE; i++) {
-           int xs, ys;
-
-           compute_occupancy (occupancy, SAMPLE*SAMPLE * i / (SIZE * SIZE), SAMPLE*SAMPLE);
-
-           xs = i % SIZE * SAMPLE;
-           ys = i / SIZE * SAMPLE;
-           for (j = 0; j < SAMPLE*SAMPLE; j++) {
-               if (occupancy[j]) {
-                   cairo_move_to (cr,
-                                    (j % SAMPLE + xs) / (double) SAMPLE,
-                                    (j / SAMPLE + ys) / (double) SAMPLE);
-                   cairo_rel_line_to (cr, 1 / (double) SAMPLE, 1 / (double) SAMPLE);
-                   cairo_rel_line_to (cr, 0, -1 / (double) SAMPLE);
-                   cairo_rel_line_to (cr, -1 / (double) SAMPLE, 1 / (double) SAMPLE);
-                   cairo_close_path (cr);
-               }
-           }
-           cairo_fill (cr);
-       }
-    }
-
-    free (occupancy);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-half_triangles (cairo_t *cr, int width, int height)
-{
-    uint8_t *occupancy;
-    int i, j, channel;
-
-    state = 0x12345678;
-    occupancy = xmalloc (SAMPLE*SAMPLE);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (i = 0; i < SIZE*SIZE; i++) {
-           int xs, ys;
-
-           compute_occupancy (occupancy, SAMPLE*SAMPLE * i / (SIZE * SIZE), SAMPLE*SAMPLE);
-
-           xs = i % SIZE * SAMPLE;
-           ys = i / SIZE * SAMPLE;
-           for (j = 0; j < SAMPLE*SAMPLE; j++) {
-               if (occupancy[j]) {
-                   int x = j % SAMPLE + xs;
-                   int y = j / SAMPLE + ys;
-                   cairo_move_to (cr, x / (double) SAMPLE, y / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE, (y+1) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE, y / (double) SAMPLE);
-                   cairo_close_path (cr);
-               }
-           }
-           cairo_fill (cr);
-       }
-    }
-
-    free (occupancy);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-overlap_half_triangles (cairo_t *cr, int width, int height)
-{
-    uint8_t *occupancy;
-    int i, j, channel;
-
-    state = 0x12345678;
-    occupancy = xmalloc (SAMPLE*SAMPLE);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (i = 0; i < SIZE*SIZE; i++) {
-           int xs, ys;
-
-           compute_occupancy (occupancy, SAMPLE/2*SAMPLE/2 * i / (SIZE * SIZE), SAMPLE/2*SAMPLE/2);
-
-           xs = i % SIZE * SAMPLE;
-           ys = i / SIZE * SAMPLE;
-           for (j = 0; j < SAMPLE/2*SAMPLE/2; j++) {
-               if (occupancy[j]) {
-                   int x = 2 * (j % (SAMPLE/2)) + xs;
-                   int y = 2 * (j / (SAMPLE/2)) + ys;
-
-                   /* Add a 4-tile composed of two overlapping triangles.
-                    *   .__.__.
-                    *   |\   /|
-                    *   | \ / |
-                    *   .  x  |
-                    *   | / \ |
-                    *   |/   \|
-                    *   .     .
-                    *
-                    * Coverage should be computable as 50% (due to counter-winding).
-                    */
-
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x) / (double) SAMPLE,   (y+2) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+2) / (double) SAMPLE, (y) / (double) SAMPLE);
-                   cairo_close_path (cr);
-
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+2) / (double) SAMPLE, (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+2) / (double) SAMPLE, (y+2) / (double) SAMPLE);
-                   cairo_close_path (cr);
-               }
-           }
-           cairo_fill (cr);
-       }
-    }
-
-    free (occupancy);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-overlap_half_triangles_eo (cairo_t *cr, int width, int height)
-{
-    uint8_t *occupancy;
-    int i, j, channel;
-
-    state = 0x12345678;
-    occupancy = xmalloc (SAMPLE*SAMPLE);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (i = 0; i < SIZE*SIZE; i++) {
-           int xs, ys;
-
-           compute_occupancy (occupancy, SAMPLE/2*SAMPLE/2 * i / (SIZE * SIZE), SAMPLE/2*SAMPLE/2);
-
-           xs = i % SIZE * SAMPLE;
-           ys = i / SIZE * SAMPLE;
-           for (j = 0; j < SAMPLE/2*SAMPLE/2; j++) {
-               if (occupancy[j]) {
-                   int x = 2 * (j % (SAMPLE/2)) + xs;
-                   int y = 2 * (j / (SAMPLE/2)) + ys;
-
-                   /* Add a 4-tile composed of two overlapping triangles.
-                    *   .__.__.
-                    *   |\   /|
-                    *   | \ / |
-                    *   .  x  |
-                    *   | / \ |
-                    *   |/   \|
-                    *   .     .
-                    *
-                    * Coverage should be computable as 50%, due to even-odd fill rule.
-                    */
-
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x) / (double) SAMPLE,   (y+2) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+2) / (double) SAMPLE, (y) / (double) SAMPLE);
-                   cairo_close_path (cr);
-
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+2) / (double) SAMPLE, (y+2) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+2) / (double) SAMPLE, (y) / (double) SAMPLE);
-                   cairo_close_path (cr);
-               }
-           }
-           cairo_fill (cr);
-       }
-    }
-
-    free (occupancy);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-overlap_three_quarter_triangles (cairo_t *cr, int width, int height)
-{
-    uint8_t *occupancy;
-    int i, j, channel;
-
-    state = 0x12345678;
-    occupancy = xmalloc (SAMPLE*SAMPLE);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (i = 0; i < SIZE*SIZE; i++) {
-           int xs, ys;
-
-           compute_occupancy (occupancy, SAMPLE/2*SAMPLE/2 * i / (SIZE * SIZE), SAMPLE/2*SAMPLE/2);
-
-           xs = i % SIZE * SAMPLE;
-           ys = i / SIZE * SAMPLE;
-           for (j = 0; j < SAMPLE/2*SAMPLE/2; j++) {
-               if (occupancy[j]) {
-                   int x = 2 * (j % (SAMPLE/2)) + xs;
-                   int y = 2 * (j / (SAMPLE/2)) + ys;
-
-                   /* Add a 4-tile composed of two overlapping triangles.
-                    *   .__.__.
-                    *   |\   /|
-                    *   | \ / |
-                    *   .  x  |
-                    *   | / \ |
-                    *   |/   \|
-                    *   .     .
-                    *
-                    * Coverage should be computable as 75%.
-                    */
-
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x) / (double) SAMPLE,   (y+2) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+2) / (double) SAMPLE, (y) / (double) SAMPLE);
-                   cairo_close_path (cr);
-
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+2) / (double) SAMPLE, (y+2) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+2) / (double) SAMPLE, (y) / (double) SAMPLE);
-                   cairo_close_path (cr);
-               }
-           }
-           cairo_fill (cr);
-       }
-    }
-
-    free (occupancy);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-triangles (cairo_t *cr, int width, int height)
-{
-    uint8_t *occupancy;
-    int i, j, channel;
-
-    state = 0x12345678;
-    occupancy = xmalloc (SAMPLE*SAMPLE);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (i = 0; i < SIZE*SIZE; i++) {
-           int xs, ys;
-
-           compute_occupancy (occupancy, SAMPLE*SAMPLE * i / (SIZE * SIZE), SAMPLE*SAMPLE);
-
-           xs = i % SIZE * SAMPLE;
-           ys = i / SIZE * SAMPLE;
-           for (j = 0; j < SAMPLE*SAMPLE; j++) {
-               if (occupancy[j]) {
-                   /* Add a tile composed of two non-overlapping triangles.
-                    *   .__.
-                    *   | /|
-                    *   |/ |
-                    *   .--.
-                    */
-                   int x = j % SAMPLE + xs;
-                   int y = j / SAMPLE + ys;
-
-                   /* top-left triangle */
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE, (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x) / (double) SAMPLE,   (y+1) / (double) SAMPLE);
-                   cairo_close_path (cr);
-
-                   /* bottom-right triangle */
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y+1) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE, (y+1) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE, (y) / (double) SAMPLE);
-                   cairo_close_path (cr);
-               }
-           }
-           cairo_fill (cr);
-       }
-    }
-
-    free (occupancy);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-intersecting_triangles (cairo_t *cr, int width, int height)
-{
-    uint8_t *occupancy;
-    int i, j, channel;
-
-    state = 0x12345678;
-    occupancy = xmalloc (SAMPLE*SAMPLE);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_ADD);
-    for (channel = 0; channel < 3; channel++) {
-       switch (channel) {
-       default:
-       case 0: cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); break;
-       case 1: cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); break;
-       case 2: cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); break;
-       }
-
-       for (i = 0; i < SIZE*SIZE; i++) {
-           int xs, ys;
-
-           compute_occupancy (occupancy, SAMPLE*SAMPLE * i / (SIZE * SIZE), SAMPLE*SAMPLE);
-
-           xs = i % SIZE * SAMPLE;
-           ys = i / SIZE * SAMPLE;
-           for (j = 0; j < SAMPLE*SAMPLE; j++) {
-               if (occupancy[j]) {
-                   /* Add 2 overlapping tiles in a single cell, each composed
-                    * of two non-overlapping triangles.
-                    *   .--.   .--.
-                    *   | /|   |\ |
-                    *   |/ | + | \|
-                    *   .--.   .--.
-                    */
-                   int x = j % SAMPLE + xs;
-                   int y = j / SAMPLE + ys;
-
-                   /* first pair of triangles, diagonal bottom-left to top-right */
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE, (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x) / (double) SAMPLE,   (y+1) / (double) SAMPLE);
-                   cairo_close_path (cr);
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y+1) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE, (y+1) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE, (y) / (double) SAMPLE);
-                   cairo_close_path (cr);
-
-                   /* second pair of triangles, diagonal top-left to bottom-right */
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE, (y+1) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_close_path (cr);
-                   cairo_move_to (cr, (x) / (double) SAMPLE,   (y) / (double) SAMPLE);
-                   cairo_line_to (cr, (x+1) / (double) SAMPLE, (y+1) / (double) SAMPLE);
-                   cairo_line_to (cr, (x) / (double) SAMPLE, (y+1) / (double) SAMPLE);
-                   cairo_close_path (cr);
-               }
-           }
-           cairo_fill (cr);
-       }
-    }
-
-    free (occupancy);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (partial_coverage_rectangles,
-           "Check the fidelity of the rasterisation.",
-           "coverage raster", /* keywords */
-           "target=raster slow", /* requirements */
-           SIZE, SIZE,
-           NULL, rectangles)
-
-CAIRO_TEST (partial_coverage_intersecting_quads,
-           "Check the fidelity of the rasterisation.",
-           "coverage raster", /* keywords */
-           "target=raster slow", /* requirements */
-           SIZE, SIZE,
-           NULL, intersecting_quads)
-
-CAIRO_TEST (partial_coverage_intersecting_triangles,
-           "Check the fidelity of the rasterisation.",
-           "coverage raster", /* keywords */
-           "target=raster slow", /* requirements */
-           SIZE, SIZE,
-           NULL, intersecting_triangles)
-CAIRO_TEST (partial_coverage_triangles,
-           "Check the fidelity of the rasterisation.",
-           "coverage raster", /* keywords */
-           "target=raster slow", /* requirements */
-           SIZE, SIZE,
-           NULL, triangles)
-CAIRO_TEST (partial_coverage_overlap_three_quarter_triangles,
-           "Check the fidelity of the rasterisation.",
-           "coverage raster", /* keywords */
-           "target=raster slow", /* requirements */
-           SIZE, SIZE,
-           NULL, overlap_three_quarter_triangles)
-CAIRO_TEST (partial_coverage_overlap_half_triangles_eo,
-           "Check the fidelity of the rasterisation.",
-           "coverage raster", /* keywords */
-           "target=raster slow", /* requirements */
-           SIZE, SIZE,
-           NULL, overlap_half_triangles_eo)
-CAIRO_TEST (partial_coverage_overlap_half_triangles,
-           "Check the fidelity of the rasterisation.",
-           "coverage raster", /* keywords */
-           "target=raster slow", /* requirements */
-           SIZE, SIZE,
-           NULL, overlap_half_triangles)
-CAIRO_TEST (partial_coverage_half_triangles,
-           "Check the fidelity of the rasterisation.",
-           "coverage raster", /* keywords */
-           "target=raster slow", /* requirements */
-           SIZE, SIZE,
-           NULL, half_triangles)
-
-CAIRO_TEST (partial_coverage_reference,
-           "Check the fidelity of this test.",
-           "coverage raster", /* keywords */
-           "target=raster", /* requirements */
-           SIZE, SIZE,
-           NULL, reference)
-CAIRO_TEST (partial_coverage_three_quarter_reference,
-           "Check the fidelity of this test.",
-           "coverage raster", /* keywords */
-           "target=raster", /* requirements */
-           SIZE, SIZE,
-           NULL, three_quarter_reference)
-CAIRO_TEST (partial_coverage_half_reference,
-           "Check the fidelity of this test.",
-           "coverage raster", /* keywords */
-           "target=raster", /* requirements */
-           SIZE, SIZE,
-           NULL, half_reference)
diff --git a/test/pass-through.c b/test/pass-through.c
deleted file mode 100644 (file)
index 17a38db..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int n;
-
-    for (n = 0; n < 256; n++) {
-       cairo_set_source_rgba (cr, 1, 1, 1, n / 255.);
-       cairo_rectangle (cr, 0, n, 2, 1);
-       cairo_fill (cr);
-    }
-    for (n = 0; n < 256; n++) {
-       cairo_set_source_rgb (cr, n / 255., n / 255., n / 255.);
-       cairo_rectangle (cr, 2, n, 2, 1);
-       cairo_fill (cr);
-    }
-
-    cairo_translate (cr, 4, 0);
-
-    for (n = 0; n < 256; n++) {
-       cairo_set_source_rgba (cr, 1, 0, 0, n / 255.);
-       cairo_rectangle (cr, 0, n, 2, 1);
-       cairo_fill (cr);
-    }
-    for (n = 0; n < 256; n++) {
-       cairo_set_source_rgb (cr, n / 255., 0, 0);
-       cairo_rectangle (cr, 2, n, 2, 1);
-       cairo_fill (cr);
-    }
-
-    cairo_translate (cr, 4, 0);
-
-    for (n = 0; n < 256; n++) {
-       cairo_set_source_rgba (cr, 0, 1, 0, n / 255.);
-       cairo_rectangle (cr, 0, n, 2, 1);
-       cairo_fill (cr);
-    }
-    for (n = 0; n < 256; n++) {
-       cairo_set_source_rgb (cr, 0, n / 255., 0);
-       cairo_rectangle (cr, 2, n, 2, 1);
-       cairo_fill (cr);
-    }
-
-    cairo_translate (cr, 4, 0);
-
-    for (n = 0; n < 256; n++) {
-       cairo_set_source_rgba (cr, 0, 0, 1, n / 255.);
-       cairo_rectangle (cr, 0, n, 2, 1);
-       cairo_fill (cr);
-    }
-    for (n = 0; n < 256; n++) {
-       cairo_set_source_rgb (cr, 0, 0, n / 255.);
-       cairo_rectangle (cr, 2, n, 2, 1);
-       cairo_fill (cr);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (pass_through,
-           "tests pixel values",
-           "color", /* keywords */
-           NULL, /* requirements */
-           16, 256,
-           NULL, draw)
diff --git a/test/path-append.c b/test/path-append.c
deleted file mode 100644 (file)
index bcd282d..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright © 2009 Jeff Muizelaar
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting documentation, and
- * that the name of the copyright holders not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  The copyright holders make no representations
- * about the suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- */
-
-#include <stdlib.h>
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_matrix_t m;
-    int xoffset = 50;
-    int yoffset = 50;
-
-    cairo_surface_t *shadow;
-    cairo_t *shadow_cr;
-    cairo_path_t *path;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 130, 130);
-    cairo_rotate (cr, .5);//2*M_PI*angle/360);
-    cairo_rectangle (cr, 0, 0, 50, 100);
-    cairo_get_matrix (cr, &m);
-
-    shadow = cairo_surface_create_similar (cairo_get_target (cr),
-                                          CAIRO_CONTENT_COLOR_ALPHA,
-                                          600 - xoffset,
-                                          600 - yoffset);
-    cairo_surface_set_device_offset (shadow, xoffset, yoffset);
-    shadow_cr = cairo_create (shadow);
-    cairo_surface_destroy (shadow);
-
-    cairo_set_source_rgb (shadow_cr, 0, 1, 0);
-    cairo_set_matrix (shadow_cr, &m);
-
-    path = cairo_copy_path (cr);
-    cairo_new_path (shadow_cr);
-    cairo_append_path (shadow_cr, path);
-    cairo_fill (shadow_cr);
-    cairo_path_destroy (path);
-
-    cairo_identity_matrix (cr);
-    cairo_translate (cr, 10, 50);
-    cairo_set_source_surface (cr, cairo_get_target (shadow_cr), 0, 0);
-    cairo_paint (cr);
-    cairo_set_matrix (cr, &m);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill (cr);
-
-    cairo_destroy (shadow_cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (path_append,
-           "Test appending path to a context, in particular to exercise a regression in 005436",
-           "path", /* keywords */
-           NULL, /* requirements */
-           600, 600,
-           NULL, draw)
diff --git a/test/path-precision.c b/test/path-precision.c
deleted file mode 100644 (file)
index 3a7fb11..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- *
- * Based on an example by Dirk "krit" Schulze found during WebKit integration.
- */
-
-#include "cairo-test.h"
-
-/* we know that this is an inherent limitation in cairo */
-#define FAIL CAIRO_TEST_XFAILURE
-
-/* Test the idempotency of path construction and copying */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_path_data_t path_data[] = {
-       { { CAIRO_PATH_MOVE_TO, 2 }, },
-       { { 95.000000, 40.000000 }, },
-
-       { { CAIRO_PATH_LINE_TO, 2 }, },
-       { { 94.960533, 41.255810 }, },
-
-       { { CAIRO_PATH_LINE_TO, 2 }, },
-       { { 94.842293, 42.50666 }, },
-
-       { { CAIRO_PATH_LINE_TO, 2 }, },
-       { { 94.645744, 43.747627 }, },
-
-       { { CAIRO_PATH_LINE_TO, 2 }, },
-       { { 94.371666, 44.973797 }, },
-    };
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_path_t path, *path_copy;
-    int i, j, n;
-    cairo_test_status_t result = CAIRO_TEST_SUCCESS;
-
-    path.status = CAIRO_STATUS_SUCCESS;
-    path.num_data = ARRAY_LENGTH (path_data);
-    path.data = path_data;
-
-    cairo_new_path (cr);
-    cairo_append_path (cr, &path);
-    path_copy = cairo_copy_path (cr);
-
-    if (path_copy->status)
-       return cairo_test_status_from_status (ctx, path_copy->status);
-
-    for (i = j = n = 0;
-        i < path.num_data && j < path_copy->num_data;
-        i += path.data[i].header.length,
-        j += path_copy->data[j].header.length,
-        n++)
-    {
-       const cairo_path_data_t *src, *dst;
-
-       src = &path.data[i];
-       dst = &path_copy->data[j];
-
-       if (src->header.type != dst->header.type) {
-           cairo_test_log (ctx,
-                           "Paths differ in header type after %d operations.\n"
-                           "Expected path operation %d, found %d.\n",
-                           n, src->header.type, dst->header.type);
-           result = FAIL;
-           break;
-       }
-
-       if (memcmp (&src[1].point, &dst[1].point, sizeof (src->point))) {
-           cairo_test_log (ctx,
-                           "Paths differ in coordinates after %d operations.\n"
-                           "Expected point (%f, %f), found (%f, %f).\n",
-                           n,
-                           src[1].point.x, src[1].point.y,
-                           dst[1].point.x, dst[1].point.y);
-           result = FAIL;
-           break;
-       }
-    }
-
-    cairo_path_destroy (path_copy);
-    return result;
-}
-
-CAIRO_TEST (path_precision,
-           "Check that the path append/copy is idempotent.",
-           "api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/path-stroke-twice.c b/test/path-stroke-twice.c
deleted file mode 100644 (file)
index 10bbbf8..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2010 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-/* Exercises a bug found by alois@astro.ch:
- *   http://bugs.freedesktop.org/show_bug.cgi?id=26010
- *   cairo_line_to optimizes away path segment
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_move_to (cr, 10, 10);
-    cairo_line_to (cr, 10, 20);
-    cairo_line_to (cr, 20, 30);
-    cairo_line_to (cr, 10, 20);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (path_stroke_twice,
-           "Tests stroking of a path containing a segment drawn twice",
-           "path, stroke", /* keywords */
-           NULL, /* requirements */
-           40, 40,
-           NULL, draw)
diff --git a/test/pattern-get-type.c b/test/pattern-get-type.c
deleted file mode 100644 (file)
index c807b14..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *Ctx)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *solid_rgb, *solid_rgba, *surface_pattern, *linear, *radial, *mesh;
-    cairo_test_status_t result = CAIRO_TEST_SUCCESS;
-
-    solid_rgb = cairo_pattern_create_rgb (0.0, 0.1, 0.2);
-    solid_rgba = cairo_pattern_create_rgba (0.3, 0.4, 0.5, 0.6);
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                         1, 1);
-    surface_pattern = cairo_pattern_create_for_surface (surface);
-    linear = cairo_pattern_create_linear (0.0, 0.0, 10.0, 10.0);
-    radial = cairo_pattern_create_radial (10.0, 10.0, 0.1,
-                                         10.0, 10.0, 1.0);
-    mesh = cairo_pattern_create_mesh ();
-
-    if (cairo_pattern_get_type (solid_rgb) != CAIRO_PATTERN_TYPE_SOLID)
-       result = CAIRO_TEST_FAILURE;
-
-    if (cairo_pattern_get_type (solid_rgba) != CAIRO_PATTERN_TYPE_SOLID)
-       result = CAIRO_TEST_FAILURE;
-
-    if (cairo_pattern_get_type (surface_pattern) != CAIRO_PATTERN_TYPE_SURFACE)
-       result = CAIRO_TEST_FAILURE;
-
-    if (cairo_pattern_get_type (linear) != CAIRO_PATTERN_TYPE_LINEAR)
-       result = CAIRO_TEST_FAILURE;
-
-    if (cairo_pattern_get_type (radial) != CAIRO_PATTERN_TYPE_RADIAL)
-       result = CAIRO_TEST_FAILURE;
-
-    if (cairo_pattern_get_type (mesh) != CAIRO_PATTERN_TYPE_MESH)
-       result = CAIRO_TEST_FAILURE;
-
-    cairo_pattern_destroy (solid_rgb);
-    cairo_pattern_destroy (solid_rgba);
-    cairo_pattern_destroy (surface_pattern);
-    cairo_surface_destroy (surface);
-    cairo_pattern_destroy (linear);
-    cairo_pattern_destroy (radial);
-    cairo_pattern_destroy (mesh);
-
-    return result;
-}
-
-CAIRO_TEST (pattern_get_type,
-           "Creating patterns of all types",
-           "pattern, api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/pattern-getters.c b/test/pattern-getters.c
deleted file mode 100644 (file)
index 28bc1f9..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright © 2005 Mozilla Corporation, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include <stdlib.h>
-#include "cairo-test.h"
-
-#define CHECK_SUCCESS do { \
-    if (status) { \
-       cairo_pattern_destroy (pat); \
-       return cairo_test_status_from_status (ctx, status); \
-    } \
-} while (0)
-
-static int
-double_buf_equal (const cairo_test_context_t *ctx, double *a, double *b, int nc)
-{
-    int i;
-    for (i = 0; i < nc; i++) {
-       if (!CAIRO_TEST_DOUBLE_EQUALS(a[i],b[i])) {
-           cairo_test_log (ctx, "Error: doubles not equal: %g, %g\n",
-                           a[i], b[i]);
-           return 0;
-       }
-    }
-    return 1;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_status_t status;
-    cairo_pattern_t *pat;
-
-    /* Test pattern_get_rgba */
-    {
-       double r, g, b, a;
-       pat = cairo_pattern_create_rgba (0.2, 0.3, 0.4, 0.5);
-
-       status = cairo_pattern_get_rgba (pat, &r, &g, &b, &a);
-       CHECK_SUCCESS;
-
-       if (!CAIRO_TEST_DOUBLE_EQUALS(r,0.2) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(g,0.3) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(b,0.4) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(a,0.5)) {
-           cairo_test_log (ctx, "Error: cairo_pattern_get_rgba returned unexepcted results: %g, %g, %g, %g\n",
-                           r, g, b, a);
-           cairo_pattern_destroy (pat);
-           return CAIRO_TEST_FAILURE;
-       }
-
-       cairo_pattern_destroy (pat);
-    }
-
-    /* Test pattern_get_surface */
-    {
-       cairo_surface_t *surf;
-
-       pat = cairo_pattern_create_for_surface (cairo_get_target (cr));
-
-       status = cairo_pattern_get_surface (pat, &surf);
-       CHECK_SUCCESS;
-
-       if (surf != cairo_get_target (cr)) {
-           cairo_test_log (ctx, "Error: cairo_pattern_get_resurface returned wrong surface\n");
-           cairo_pattern_destroy (pat);
-           return CAIRO_TEST_FAILURE;
-       }
-
-       cairo_pattern_destroy (pat);
-    }
-
-    /* Test get_color_stops & linear_get_points */
-    {
-       int i;
-       double x0, y0, x1, y1;
-       double expected_values[15] = { 0.0, 0.2, 0.4, 0.2, 1.0,
-                                      0.5, 0.4, 0.5, 0.2, 0.5,
-                                      1.0, 0.2, 0.4, 0.5, 0.2 };
-       double new_buf[15];
-
-       pat = cairo_pattern_create_linear (1.0, 2.0, 3.0, 4.0);
-
-       for (i = 0; i < 3; i++) {
-           cairo_pattern_add_color_stop_rgba (pat,
-                                              expected_values[i*5+0],
-                                              expected_values[i*5+1],
-                                              expected_values[i*5+2],
-                                              expected_values[i*5+3],
-                                              expected_values[i*5+4]);
-       }
-
-       status = cairo_pattern_get_linear_points (pat, &x0, &y0, &x1, &y1);
-       CHECK_SUCCESS;
-
-       if (!CAIRO_TEST_DOUBLE_EQUALS(x0,1.0) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(y0,2.0) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(x1,3.0) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(y1,4.0))
-       {
-           cairo_pattern_destroy (pat);
-           return CAIRO_TEST_FAILURE;
-       }
-
-       status = cairo_pattern_get_color_stop_count (pat, &i);
-       CHECK_SUCCESS;
-
-       if (i != 3) {
-           cairo_pattern_destroy (pat);
-           return CAIRO_TEST_FAILURE;
-       }
-
-       for (i = 0; i < 3; i++) {
-           status = cairo_pattern_get_color_stop_rgba (pat, i,
-                                                       &new_buf[i*5+0],
-                                                       &new_buf[i*5+1],
-                                                       &new_buf[i*5+2],
-                                                       &new_buf[i*5+3],
-                                                       &new_buf[i*5+4]);
-           CHECK_SUCCESS;
-       }
-
-       status = cairo_pattern_get_color_stop_rgba (pat, 5, NULL, NULL, NULL, NULL, NULL);
-       if (status != CAIRO_STATUS_INVALID_INDEX) {
-           cairo_pattern_destroy (pat);
-           return CAIRO_TEST_FAILURE;
-       }
-
-       if (!double_buf_equal (ctx, new_buf, expected_values,
-                              ARRAY_LENGTH (expected_values)) != 0)
-       {
-           cairo_pattern_destroy (pat);
-           return CAIRO_TEST_FAILURE;
-       }
-
-       cairo_pattern_destroy (pat);
-    }
-
-    /* Test radial_get_circles */
-    {
-       double a, b, c, d, e, f;
-       pat = cairo_pattern_create_radial (1, 2, 3,
-                                          4, 5, 6);
-
-       status = cairo_pattern_get_radial_circles (pat, &a, &b, &c, &d, &e, &f);
-       CHECK_SUCCESS;
-
-       if (!CAIRO_TEST_DOUBLE_EQUALS(a,1.0) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(b,2.0) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(c,3.0) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(d,4.0) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(e,5.0) ||
-           !CAIRO_TEST_DOUBLE_EQUALS(f,6.0))
-       {
-           cairo_pattern_destroy (pat);
-           return CAIRO_TEST_FAILURE;
-       }
-
-       cairo_pattern_destroy (pat);
-    }
-
-    /* Test mesh getters */
-    {
-       unsigned int count;
-       int i;
-       pat = cairo_pattern_create_mesh ();
-
-       status = cairo_mesh_pattern_get_patch_count (pat, &count);
-       CHECK_SUCCESS;
-
-       if (count != 0) {
-           cairo_pattern_destroy (pat);
-           return CAIRO_TEST_FAILURE;
-       }
-
-       cairo_mesh_pattern_begin_patch (pat);
-       cairo_mesh_pattern_move_to (pat, 0, 0);
-       cairo_mesh_pattern_line_to (pat, 0, 3);
-       cairo_mesh_pattern_line_to (pat, 3, 3);
-       cairo_mesh_pattern_line_to (pat, 3, 0);
-
-       status = cairo_mesh_pattern_get_patch_count (pat, &count);
-       CHECK_SUCCESS;
-
-       if (count != 0) {
-           cairo_pattern_destroy (pat);
-           return CAIRO_TEST_FAILURE;
-       }
-
-       cairo_mesh_pattern_end_patch (pat);
-
-       status = cairo_mesh_pattern_get_patch_count (pat, &count);
-       CHECK_SUCCESS;
-
-       if (count != 1) {
-           cairo_pattern_destroy (pat);
-           return CAIRO_TEST_FAILURE;
-       }
-
-       for (i = 0; i < 4; i++) {
-           double cp_x[4] = { 1, 1, 2, 2 };
-           double cp_y[4] = { 1, 2, 2, 1 };
-           double x, y;
-
-           status = cairo_mesh_pattern_get_control_point (pat, 0, i, &x, &y);
-           CHECK_SUCCESS;
-
-           if (!CAIRO_TEST_DOUBLE_EQUALS(x,cp_x[i]) ||
-               !CAIRO_TEST_DOUBLE_EQUALS(y,cp_y[i]))
-           {
-               cairo_pattern_destroy (pat);
-               return CAIRO_TEST_FAILURE;
-           }
-       }
-
-       cairo_mesh_pattern_begin_patch (pat);
-       cairo_mesh_pattern_move_to (pat, 0, 0);
-       cairo_mesh_pattern_line_to (pat, 1, 0);
-       cairo_mesh_pattern_line_to (pat, 1, 1);
-       cairo_mesh_pattern_set_corner_color_rgb (pat, 0, 1, 1, 1);
-       cairo_mesh_pattern_end_patch (pat);
-
-       for (i = 0; i < 4; i++) {
-           double corner_color[4] = { 1, 0, 0, 1 };
-           double a, r, g, b;
-
-           status = cairo_mesh_pattern_get_corner_color_rgba (pat, 1, i,
-                                                              &r, &g, &b, &a);
-           CHECK_SUCCESS;
-
-           if (!CAIRO_TEST_DOUBLE_EQUALS(a,corner_color[i]) ||
-               !CAIRO_TEST_DOUBLE_EQUALS(r,corner_color[i]) ||
-               !CAIRO_TEST_DOUBLE_EQUALS(g,corner_color[i]) ||
-               !CAIRO_TEST_DOUBLE_EQUALS(b,corner_color[i]))
-           {
-               cairo_pattern_destroy (pat);
-               return CAIRO_TEST_FAILURE;
-           }
-       }
-
-       cairo_pattern_destroy (pat);
-    }
-
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (pattern_getters,
-           "Tests calls to pattern getter functions",
-           "pattern, api", /* keywords */
-           NULL, /* requirements */
-           1, 1,
-           NULL, draw)
diff --git a/test/pdf-features.c b/test/pdf-features.c
deleted file mode 100644 (file)
index f8850c4..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include <stdio.h>
-#include <cairo.h>
-#include <cairo-pdf.h>
-
-#include "cairo-test.h"
-
-/* This test exists to test the various features of cairo-pdf.h.
- *
- * Currently, this test exercises the following function calls:
- *
- *     cairo_pdf_surface_set_size
- */
-
-#define INCHES_TO_POINTS(in) ((in) * 72.0)
-#define MM_TO_POINTS(mm) ((mm) / 25.4 * 72.0)
-#define TEXT_SIZE 12
-
-static struct {
-    const char *page_size;
-    const char *page_size_alias;
-    const char *orientation;
-    double width_in_points;
-    double height_in_points;
-} pages[] = {
-    {"na_letter_8.5x11in", "letter", "portrait",
-     INCHES_TO_POINTS(8.5), INCHES_TO_POINTS(11)},
-    {"na_letter_8.5x11in", "letter", "landscape",
-     INCHES_TO_POINTS(11), INCHES_TO_POINTS(8.5)},
-    {"iso_a4_210x297mm", "a4", "portrait",
-     MM_TO_POINTS(210), MM_TO_POINTS(297)},
-    {"iso_a4_210x297mm", "a4", "landscape",
-     MM_TO_POINTS(297), MM_TO_POINTS(210)},
-    {"iso_a5_148x210mm", "a5", "portrait",
-     MM_TO_POINTS(148), MM_TO_POINTS(210)},
-    {"iso_a5_148x210mm", "a5", "landscape",
-     MM_TO_POINTS(210), MM_TO_POINTS(148)},
-    {"iso_a6_105x148mm", "a6", "portrait",
-     MM_TO_POINTS(105), MM_TO_POINTS(148)},
-    {"iso_a6_105x148mm", "a6", "landscape",
-     MM_TO_POINTS(148), MM_TO_POINTS(105)},
-    {"iso_a7_74x105mm", "a7", "portrait",
-     MM_TO_POINTS(74), MM_TO_POINTS(105)},
-    {"iso_a7_74x105mm", "a7", "landscape",
-     MM_TO_POINTS(105), MM_TO_POINTS(74)},
-    {"iso_a8_52x74mm", "a8", "portrait",
-     MM_TO_POINTS(52), MM_TO_POINTS(74)},
-    {"iso_a8_52x74mm", "a8", "landscape",
-     MM_TO_POINTS(74), MM_TO_POINTS(52)},
-    {"iso_a9_37x52mm", "a9", "portrait",
-     MM_TO_POINTS(37), MM_TO_POINTS(52)},
-    {"iso_a9_37x52mm", "a9", "landscape",
-     MM_TO_POINTS(52), MM_TO_POINTS(37)},
-    {"iso_a10_26x37mm", "a10", "portrait",
-     MM_TO_POINTS(26), MM_TO_POINTS(37)},
-    {"iso_a10_26x37mm", "a10", "landscape",
-     MM_TO_POINTS(37), MM_TO_POINTS(26)}
-};
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    const char *filename = "pdf-features.out.pdf";
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    cairo_status_t status;
-    size_t i;
-
-    if (! cairo_test_is_target_enabled (ctx, "pdf"))
-       return CAIRO_TEST_UNTESTED;
-
-    /* The initial size passed here is the default size that will be
-     * inheritable by each page. That is, any page for which this
-     * initial size applies will not have its own /MediaBox entry in
-     * its dictionary. */
-    surface = cairo_pdf_surface_create (filename,
-                                       INCHES_TO_POINTS(8.5),
-                                       INCHES_TO_POINTS(11));
-
-    cr = cairo_create (surface);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    for (i = 0; i < ARRAY_LENGTH (pages); i++) {
-       cairo_pdf_surface_set_size (surface,
-                                  pages[i].width_in_points,
-                                  pages[i].height_in_points);
-
-       cairo_move_to (cr, TEXT_SIZE, TEXT_SIZE);
-       cairo_show_text (cr, pages[i].page_size);
-       cairo_show_text (cr, " - ");
-       cairo_show_text (cr, pages[i].orientation);
-       cairo_show_page (cr);
-    }
-
-    status = cairo_status (cr);
-
-    cairo_destroy (cr);
-    cairo_surface_destroy (surface);
-
-    if (status) {
-       cairo_test_log (ctx, "Failed to create pdf surface for file %s: %s\n",
-                       filename, cairo_status_to_string (status));
-       return CAIRO_TEST_FAILURE;
-    }
-
-    printf ("pdf-features: Please check %s to ensure it looks/prints correctly.\n", filename);
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (pdf_features,
-           "Check PDF specific API",
-           "pdf", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/pdf-isolated-group.c b/test/pdf-isolated-group.c
deleted file mode 100644 (file)
index e74a346..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright © 2012 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 60
-#define WIDTH  SIZE
-#define HEIGHT SIZE
-
-
-/* PDF transparency groups can be isolated or non-isolated. This test
- * checks that the PDF output is using isolated groups. If the group
- * is non-isolated the bottom half of the inner rectangle will be
- * red. Note poppler-cairo currently ignores the isolated flag and
- * treats the group as isolated.
- *
- * Refer to http://www.pdfvt.com/PDFVT_TransparencyGuide.html for an
- * explanation isolated vs non-isolated.
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1, 0.5, 0);
-    cairo_rectangle (cr, 0, SIZE/2, SIZE, SIZE/2);
-    cairo_fill (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_MULTIPLY);
-
-    cairo_push_group (cr);
-
-    cairo_set_source_rgb (cr, 0.7, 0.7, 0.7);
-    cairo_rectangle (cr, SIZE/4, SIZE/4, SIZE/2, SIZE/2);
-    cairo_fill (cr);
-
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (pdf_isolated_group,
-           "Check that transparency groups in PDF output are isolated",
-           "group, operator", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/pdf-mime-data.c b/test/pdf-mime-data.c
deleted file mode 100644 (file)
index 00cde9d..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright © 2008 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#include <stdio.h>
-#include <errno.h>
-#include <cairo.h>
-#include <cairo-pdf.h>
-
-/* This test checks that the mime data is correctly used by the PDF
- * surface when embedding images..
- */
-
-/* Both a *.png and *.jpg file with this name is required since we
- * are not using a jpeg library */
-#define IMAGE_FILE "romedalen"
-
-
-static cairo_test_status_t
-read_file (const cairo_test_context_t *ctx,
-          const char *file,
-          unsigned char **data,
-          unsigned int *len)
-{
-    FILE *fp;
-
-    fp = fopen (file, "rb");
-    if (file == NULL) {
-       char filename[4096];
-
-       /* try again with srcdir */
-       snprintf (filename, sizeof (filename),
-                 "%s/%s", ctx->srcdir, file);
-       fp = fopen (filename, "rb");
-    }
-    if (fp == NULL) {
-       switch (errno) {
-       case ENOMEM:
-           return CAIRO_TEST_NO_MEMORY;
-       default:
-           return CAIRO_TEST_FAILURE;
-       }
-    }
-
-    fseek (fp, 0, SEEK_END);
-    *len = ftell(fp);
-    fseek (fp, 0, SEEK_SET);
-    *data = malloc (*len);
-    if (*data == NULL)
-       return CAIRO_TEST_NO_MEMORY;
-
-    if (fread(*data, *len, 1, fp) != 1)
-       return CAIRO_TEST_FAILURE;
-
-    fclose(fp);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    const char *filename = "pdf-mime-data.out.pdf";
-    cairo_surface_t *image;
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    cairo_status_t status, status2;
-    cairo_test_status_t test_status;
-    int width, height;
-    unsigned char *data;
-    unsigned char *out_data;
-    unsigned int len, out_len;
-    char command[4096];
-    int exit_status;
-
-    if (! cairo_test_is_target_enabled (ctx, "pdf"))
-       return CAIRO_TEST_UNTESTED;
-
-    image = cairo_image_surface_create_from_png (IMAGE_FILE ".png");
-    test_status = read_file (ctx, IMAGE_FILE ".jpg", &data, &len);
-    if (test_status) {
-       cairo_test_log (ctx, "Could not read input jpeg file %s\n", IMAGE_FILE ".jpg");
-       return test_status;
-    }
-
-    cairo_surface_set_mime_data (image, CAIRO_MIME_TYPE_JPEG,
-                                data, len,
-                                free, data);
-    width = cairo_image_surface_get_width (image);
-    height = cairo_image_surface_get_height (image);
-
-    surface = cairo_pdf_surface_create (filename, width + 20, height + 20);
-    cr = cairo_create (surface);
-    cairo_translate (cr, 10, 10);
-    cairo_set_source_surface (cr, image, 0, 0);
-    cairo_paint (cr);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-    cairo_surface_finish (surface);
-    status2 = cairo_surface_status (surface);
-    if (status != CAIRO_STATUS_SUCCESS)
-       status = status2;
-    cairo_surface_destroy (surface);
-    cairo_surface_destroy (image);
-
-    if (status) {
-       cairo_test_log (ctx, "Failed to create pdf surface for file %s: %s\n",
-                       filename, cairo_status_to_string (status));
-       return CAIRO_TEST_FAILURE;
-    }
-
-    printf ("pdf-mime-data: Please check %s to ensure it looks/prints correctly.\n", filename);
-
-    sprintf (command, "pdfimages -j %s pdf-mime-data.out", filename);
-    exit_status = system (command);
-    if (exit_status) {
-       cairo_test_log (ctx, "pdfimages failed with exit status %d\n", exit_status);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    test_status = read_file (ctx, IMAGE_FILE ".jpg", &data, &len);
-    if (test_status) {
-       cairo_test_log (ctx, "Could not read input jpeg file %s\n", IMAGE_FILE ".jpg");
-       return test_status;
-    }
-
-    test_status = read_file (ctx, "pdf-mime-data.out-000.jpg", &out_data, &out_len);
-    if (test_status) {
-       free (data);
-       cairo_test_log (ctx,
-                       "Could not read input jpeg file %s\n",
-                       "pdf-mime-data.out-000.jpg");
-       return test_status;
-    }
-
-    if (len != out_len || memcmp(data, out_data, len) != 0) {
-       free (data);
-       free (out_data);
-       cairo_test_log (ctx, "output mime data does not match source mime data\n");
-       return CAIRO_TEST_FAILURE;
-    }
-
-    free (data);
-    free (out_data);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (pdf_mime_data,
-           "Check mime data correctly used by PDF surface",
-           "pdf, mime-data", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/pdf-surface-source.c b/test/pdf-surface-source.c
deleted file mode 100644 (file)
index 078af3a..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-#include <cairo-pdf.h>
-
-#include "surface-source.c"
-
-static cairo_surface_t *
-create_source_surface (int size)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_pdf_surface_create ("pdf-surface-source.out.pdf", size, size);
-    cairo_surface_set_fallback_resolution (surface, 72., 72.);
-
-    return surface;
-}
-
-CAIRO_TEST (pdf_surface_source,
-           "Test using a PDF surface as the source",
-           "source", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           preamble, draw)
diff --git a/test/pdf2png.c b/test/pdf2png.c
deleted file mode 100644 (file)
index 06fa05b..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kristian Høgsberg <krh@redhat.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <poppler.h>
-
-#define FAIL(msg)                                                      \
-    do { fprintf (stderr, "FAIL: %s\n", msg); exit (-1); } while (0)
-
-#define PIXELS_PER_POINT 1
-
-int main (int argc, char *argv[])
-{
-    PopplerDocument *document;
-    PopplerPage *page;
-    double width, height;
-    const char *filename = argv[1];
-    const char *output_filename = argv[2];
-    const char *page_label = argv[3];
-    gchar *absolute, *uri;
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    cairo_status_t status;
-    GError *error = NULL;
-
-    if (argc != 4)
-       FAIL ("usage: pdf2png input_file.pdf output_file.png page");
-
-    g_type_init ();
-
-    if (g_path_is_absolute(filename)) {
-       absolute = g_strdup (filename);
-    } else {
-       gchar *dir = g_get_current_dir ();
-       absolute = g_build_filename (dir, filename, (gchar *) 0);
-       g_free (dir);
-    }
-
-    uri = g_filename_to_uri (absolute, NULL, &error);
-    g_free (absolute);
-    if (uri == NULL)
-       FAIL (error->message);
-
-    document = poppler_document_new_from_file (uri, NULL, &error);
-    if (document == NULL)
-       FAIL (error->message);
-
-    page = poppler_document_get_page_by_label (document, page_label);
-    if (page == NULL)
-       FAIL ("page not found");
-
-    poppler_page_get_size (page, &width, &height);
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width, height);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-    cairo_push_group_with_content (cr, CAIRO_CONTENT_COLOR_ALPHA);
-
-    poppler_page_render (page, cr);
-    g_object_unref (page);
-
-    cairo_pop_group_to_source (cr);
-    cairo_paint (cr);
-
-    status = cairo_surface_write_to_png (cairo_get_target (cr),
-                                        output_filename);
-    cairo_destroy (cr);
-
-    if (status)
-       FAIL (cairo_status_to_string (status));
-
-    return 0;
-}
diff --git a/test/pdiff/.gitignore b/test/pdiff/.gitignore
deleted file mode 100644 (file)
index f44ed65..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-TAGS
-tags
-perceptualdiff
diff --git a/test/pdiff/CMakeLists.txt b/test/pdiff/CMakeLists.txt
deleted file mode 100644 (file)
index 6e4fa7a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-PROJECT (PerceptualDiff)
-SET(DIFF_SRC PerceptualDiff.cpp LPyramid.cpp RGBAImage.cpp
-CompareArgs.cpp Metric.cpp)
-
-ADD_EXECUTABLE (perceptualdiff ${DIFF_SRC})
-
-# look for libtiff
-FIND_PATH(TIFF_INCLUDE_DIR tiff.h
-  /usr/local/include
-  /usr/include
-  /opt/local/include
-)
-
-FIND_LIBRARY(TIFF_LIBRARY tiff
-  /usr/lib
-  /usr/local/lib
-  /opt/local/lib
-)
-
-IF(TIFF_INCLUDE_DIR)
-  IF(TIFF_LIBRARY)
-    SET( TIFF_FOUND "YES" )
-    SET( TIFF_LIBRARIES ${TIFF_LIBRARY} )
-  ENDIF(TIFF_LIBRARY)
-ENDIF(TIFF_INCLUDE_DIR)
-
-IF(TIFF_FOUND)
-  INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
-  TARGET_LINK_LIBRARIES(perceptualdiff ${TIFF_LIBRARY})
-ENDIF(TIFF_FOUND)
-
-# look for libpng
-FIND_PATH(PNG_INCLUDE_DIR png.h
-  /usr/local/include
-  /usr/include
-  /opt/local/include
-)
-
-FIND_LIBRARY(PNG_LIBRARY png
-  /usr/lib
-  /usr/local/lib
-  /opt/local/lib
-)
-
-IF(PNG_INCLUDE_DIR)
-  IF(PNG_LIBRARY)
-    SET( PNG_FOUND "YES" )
-    SET( PNG_LIBRARIES ${PNG_LIBRARY} )
-  ENDIF(PNG_LIBRARY)
-ENDIF(PNG_INCLUDE_DIR)
-
-IF(PNG_FOUND)
-  INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
-  TARGET_LINK_LIBRARIES(perceptualdiff ${PNG_LIBRARY})
-ENDIF(PNG_FOUND)
\ No newline at end of file
diff --git a/test/pdiff/Makefile.am b/test/pdiff/Makefile.am
deleted file mode 100644 (file)
index 73098da..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-include $(top_srcdir)/build/Makefile.am.common
-
-EXTRA_PROGRAMS += perceptualdiff
-EXTRA_DIST += gpl.txt
-
-noinst_LTLIBRARIES = libpdiff.la
-libpdiff_la_SOURCES =          \
-       pdiff.h                 \
-       lpyramid.c              \
-       lpyramid.h              \
-       pdiff.c
-
-perceptualdiff_SOURCES =       \
-       args.c                  \
-       args.h                  \
-       perceptualdiff.c
-
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_builddir)/src $(CAIRO_CFLAGS)
-LDADD = libpdiff.la $(top_builddir)/src/libcairo.la
diff --git a/test/pdiff/Makefile.win32 b/test/pdiff/Makefile.win32
deleted file mode 100644 (file)
index 3d64676..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-top_srcdir = ../..
-include $(top_srcdir)/build/Makefile.win32.common
-
-SOURCES = \
-       lpyramid.c \
-       pdiff.c \
-       $(NULL)
-
-OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(SOURCES))
-
-all: $(CFG)/pdiff.lib
-
-$(CFG)/pdiff.lib: $(OBJECTS)
-       @$(AR) $(CAIRO_ARFLAGS) -OUT:$@ $(OBJECTS)
diff --git a/test/pdiff/README.txt b/test/pdiff/README.txt
deleted file mode 100644 (file)
index 922ddaf..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-pdiff - a program that compares two images using
-a perceptually based image metric.
-Copyright (C) 2006 Yangli Hector Yee
-yeehector@users.sourceforge.net
-http://pdiff.sourceforge.net/
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2 of the License,
-or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-or FITNESS FOR A PARTICULAR PURPOSE.
-See the GNU General Public License for more details in the file gpl.txt.
-
-Build Instructions
-1. Download cross platform make from http://www.cmake.org
-2. Download libtiff from http://www.libtiff.org. Download libpng from http://www.libpng.org
-3. Edit CMakeLists.txt to tell it where to find your tiff library
-4. Type cmake .
-5. Type make . (or on Windows systems cmake makes a Visual Studio
-Project file)
-6. To specify the install directory, use make install DESTDIR="/home/me/mydist"
-
-Usage
-
-pdiff image1.(tif | png) image2.(tif | png) [options]
--verbose : Turns on verbose mode
--fov deg: field of view, deg, in degrees. Usually between 10.0 to 85.0. 
-This controls how much of the screen the oberserver is seeing. Front row of 
-a theatre has a field of view of around 25 degrees. Back row has a field of
- view of around 60 degrees.
--threshold p : Sets the number of pixels, p, to reject. For example if p is
- 100, then the test fails if 100 or more pixels are perceptably different.
--gamma g : The gamma to use to convert to RGB linear space. Default is 2.2
--luminance l: The luminance of the display the observer is seeing. Default
- is 100 candela per meter squared
-
-Credits
-
-Hector Yee, project administrator and originator - hectorgon.blogspot.com
-Scott Corley, for png file IO code
-Mick Weiss, Linux build and release & QA
-Carl Worth, Rewrite as library, depend on cairo, and port to C
\ No newline at end of file
diff --git a/test/pdiff/args.c b/test/pdiff/args.c
deleted file mode 100644 (file)
index ac3aa83..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
-  Comapre Args
-  Copyright (C) 2006 Yangli Hector Yee
-
-  This program is free software; you can redistribute it and/or modify it under the terms of the
-  GNU General Public License as published by the Free Software Foundation; either version 2 of the License,
-  or (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  See the GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License along with this program;
-  if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
-*/
-
-#include "args.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-static const char* copyright =
-"PerceptualDiff version 1.0, Copyright (C) 2006 Yangli Hector Yee\n\
-PerceptualDiff comes with ABSOLUTELY NO WARRANTY;\n\
-This is free software, and you are welcome\n\
-to redistribute it under certain conditions;\n\
-See the GPL page for details: http://www.gnu.org/copyleft/gpl.html\n\n";
-
-static const char *usage =
-"PeceptualDiff image1.tif image2.tif\n\n\
-   Compares image1.tif and image2.tif using a perceptually based image metric\n\
-   Options:\n\
-\t-verbose       : Turns on verbose mode\n\
-\t-fov deg       : Field of view in degrees (0.1 to 89.9)\n\
-\t-threshold p  : #pixels p below which differences are ignored\n\
-\t-gamma g       : Value to convert rgb into linear space (default 2.2)\n\
-\t-luminance l   : White luminance (default 100.0 cdm^-2)\n\
-\n\
-\n Note: Input files can also be in the PNG format\
-\n";
-
-void
-args_init (args_t *args)
-{
-    args->surface_a = NULL;
-    args->surface_b = NULL;
-    args->Verbose = false;
-    args->FieldOfView = 45.0f;
-    args->Gamma = 2.2f;
-    args->ThresholdPixels = 100;
-    args->Luminance = 100.0f;
-}
-
-void
-args_fini (args_t *args)
-{
-    cairo_surface_destroy (args->surface_a);
-    cairo_surface_destroy (args->surface_b);
-}
-
-bool
-args_parse (args_t *args, int argc, char **argv)
-{
-    int i;
-    if (argc < 3) {
-       fprintf (stderr, "%s", copyright);
-       fprintf (stderr, "%s", usage);
-       return false;
-    }
-    for (i = 0; i < argc; i++) {
-       if (i == 1) {
-           args->surface_a = cairo_image_surface_create_from_png (argv[1]);
-           if (cairo_surface_status (args->surface_a))
-           {
-               fprintf (stderr, "FAIL: Cannot open %s: %s\n",
-                        argv[1], cairo_status_to_string (cairo_surface_status (args->surface_a)));
-               return false;
-           }
-       } else if (i == 2) {
-           args->surface_b = cairo_image_surface_create_from_png (argv[2]);
-           if (cairo_surface_status (args->surface_b))
-           {
-               fprintf (stderr, "FAIL: Cannot open %s: %s\n",
-                        argv[2], cairo_status_to_string (cairo_surface_status (args->surface_b)));
-               return false;
-           }
-       } else {
-           if (strstr(argv[i], "-fov")) {
-               if (i + 1 < argc) {
-                   args->FieldOfView = (float) atof(argv[i + 1]);
-               }
-           } else if (strstr(argv[i], "-verbose")) {
-               args->Verbose = true;
-           } else      if (strstr(argv[i], "-threshold")) {
-               if (i + 1 < argc) {
-                   args->ThresholdPixels = atoi(argv[i + 1]);
-               }
-           } else      if (strstr(argv[i], "-gamma")) {
-               if (i + 1 < argc) {
-                   args->Gamma = (float) atof(argv[i + 1]);
-               }
-           }else       if (strstr(argv[i], "-luminance")) {
-               if (i + 1 < argc) {
-                   args->Luminance = (float) atof(argv[i + 1]);
-               }
-           }
-       }
-    } /* i */
-    return true;
-}
-
-void
-args_print (args_t *args)
-{
-    printf("Field of view is %f degrees\n", args->FieldOfView);
-    printf("Threshold pixels is %d pixels\n", args->ThresholdPixels);
-    printf("The Gamma is %f\n", args->Gamma);
-    printf("The Display's luminance is %f candela per meter squared\n", args->Luminance);
-}
diff --git a/test/pdiff/args.h b/test/pdiff/args.h
deleted file mode 100644 (file)
index 5020239..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-  Comapre Args
-  Copyright (C) 2006 Yangli Hector Yee
-
-  This program is free software; you can redistribute it and/or modify it under the terms of the
-  GNU General Public License as published by the Free Software Foundation; either version 2 of the License,
-  or (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  See the GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License along with this program;
-  if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
-*/
-
-#ifndef _ARGS_H
-#define _ARGS_H
-
-#include "pdiff.h"
-
-/* Args to pass into the comparison function */
-typedef struct _args
-{
-    cairo_surface_t    *surface_a;             /* Image A */
-    cairo_surface_t    *surface_b;             /* Image B */
-    bool               Verbose;                /* Print lots of text or not */
-    float              FieldOfView;            /* Field of view in degrees */
-    float              Gamma;                  /* The gamma to convert to linear color space */
-    float              Luminance;              /* the display's luminance */
-    unsigned int       ThresholdPixels;        /* How many pixels different to ignore */
-} args_t;
-
-void
-args_init (args_t *args);
-
-void
-args_fini (args_t *args);
-
-bool
-args_parse (args_t *args, int argc, char **argv);
-
-void
-args_print (args_t *args);
-
-#endif
diff --git a/test/pdiff/gpl.txt b/test/pdiff/gpl.txt
deleted file mode 100644 (file)
index f90922e..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/test/pdiff/lpyramid.c b/test/pdiff/lpyramid.c
deleted file mode 100644 (file)
index aa57ca2..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
-  Laplacian Pyramid
-  Copyright (C) 2006 Yangli Hector Yee
-
-  This program is free software; you can redistribute it and/or modify it under the terms of the
-  GNU General Public License as published by the Free Software Foundation; either version 2 of the License,
-  or (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  See the GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License along with this program;
-  if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
-*/
-
-#include "lpyramid.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-struct _lpyramid {
-    /* Successively blurred versions of the original image */
-    float *levels[MAX_PYR_LEVELS];
-
-    int width;
-    int height;
-};
-
-static void
-convolve (lpyramid_t *pyramid, float *a, const float *b)
-/* convolves image b with the filter kernel and stores it in a */
-{
-    int y,x,i,j;
-    const float Kernel[] = {0.05f, 0.25f, 0.4f, 0.25f, 0.05f};
-    int width = pyramid->width;
-    int height = pyramid->height;
-
-    for (y=0; y<height; y++) {
-       for (x=0; x<width; x++) {
-           float sum = 0.f;
-           for (j=-2; j<=2; j++) {
-               float sum_i = 0.f;
-               int ny=y+j;
-               if (ny<0) ny=-ny;
-               if (ny>=height) ny=2*height - ny - 1;
-               ny *= width;
-               for (i=-2; i<=2; i++) {
-                   int nx=x+i;
-                   if (nx<0) nx=-nx;
-                   if (nx>=width) nx=2*width - nx - 1;
-                   sum_i += Kernel[i+2] * b[ny + nx];
-               }
-               sum += sum_i * Kernel[j+2];
-           }
-           *a++ = sum;
-       }
-    }
-}
-
-/*
- * Construction/Destruction
- */
-
-lpyramid_t *
-lpyramid_create (float *image, int width, int height)
-{
-    lpyramid_t *pyramid;
-    int i;
-
-    pyramid = malloc (sizeof (lpyramid_t));
-    if (pyramid == NULL) {
-       fprintf (stderr, "Out of memory.\n");
-       exit (1);
-    }
-    pyramid->width = width;
-    pyramid->height = height;
-
-    /* Make the Laplacian pyramid by successively
-     * copying the earlier levels and blurring them */
-    for (i=0; i<MAX_PYR_LEVELS; i++) {
-       pyramid->levels[i] = malloc (width * height * sizeof (float));
-       if (pyramid->levels[i] == NULL) {
-           fprintf (stderr, "Out of memory.\n");
-           exit (1);
-       }
-       if (i == 0) {
-           memcpy (pyramid->levels[i], image, width * height * sizeof (float));
-       } else {
-           convolve(pyramid, pyramid->levels[i], pyramid->levels[i - 1]);
-       }
-    }
-
-    return pyramid;
-}
-
-void
-lpyramid_destroy (lpyramid_t *pyramid)
-{
-    int i;
-
-    for (i=0; i<MAX_PYR_LEVELS; i++)
-       free (pyramid->levels[i]);
-
-    free (pyramid);
-}
-
-float
-lpyramid_get_value (lpyramid_t *pyramid, int x, int y, int level)
-{
-    int index = x + y * pyramid->width;
-    int l = level;
-    if (l > MAX_PYR_LEVELS)
-       l = MAX_PYR_LEVELS;
-    return pyramid->levels[level][index];
-}
diff --git a/test/pdiff/lpyramid.h b/test/pdiff/lpyramid.h
deleted file mode 100644 (file)
index e47a66e..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-  Laplacian Pyramid
-  Copyright (C) 2006 Yangli Hector Yee
-
-  This program is free software; you can redistribute it and/or modify it under the terms of the
-  GNU General Public License as published by the Free Software Foundation; either version 2 of the License,
-  or (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  See the GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License along with this program;
-  if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
-*/
-#ifndef _LPYRAMID_H
-#define _LPYRAMID_H
-
-#define MAX_PYR_LEVELS 8
-
-typedef struct _lpyramid lpyramid_t;
-
-lpyramid_t *
-lpyramid_create (float *image, int width, int height);
-
-void
-lpyramid_destroy (lpyramid_t *pyramid);
-
-float
-lpyramid_get_value (lpyramid_t *pyramid, int x, int y, int level);
-
-#endif /* _LPYRAMID_H */
diff --git a/test/pdiff/pdiff.c b/test/pdiff/pdiff.c
deleted file mode 100644 (file)
index eb5f156..0000000
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
-  Metric
-  Copyright (C) 2006 Yangli Hector Yee
-
-  This program is free software; you can redistribute it and/or modify it under the terms of the
-  GNU General Public License as published by the Free Software Foundation; either version 2 of the License,
-  or (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  See the GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License along with this program;
-  if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
-*/
-
-#define _GNU_SOURCE
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "lpyramid.h"
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#if   HAVE_STDINT_H
-# include <stdint.h>
-#elif HAVE_INTTYPES_H
-# include <inttypes.h>
-#elif HAVE_SYS_INT_TYPES_H
-# include <sys/int_types.h>
-#elif defined(_MSC_VER)
-  typedef __int8 int8_t;
-  typedef unsigned __int8 uint8_t;
-  typedef __int16 int16_t;
-  typedef unsigned __int16 uint16_t;
-  typedef __int32 int32_t;
-  typedef unsigned __int32 uint32_t;
-  typedef __int64 int64_t;
-  typedef unsigned __int64 uint64_t;
-# ifndef HAVE_UINT64_T
-#  define HAVE_UINT64_T 1
-# endif
-# ifndef INT16_MIN
-#  define INT16_MIN    (-32767-1)
-# endif
-# ifndef INT16_MAX
-#  define INT16_MAX    (32767)
-# endif
-# ifndef UINT16_MAX
-#  define UINT16_MAX   (65535)
-# endif
-#else
-#error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t, etc.)
-#endif
-
-#include "pdiff.h"
-
-#ifndef M_PI
-#define M_PI 3.14159265f
-#endif
-
-#ifndef __USE_ISOC99
-#define expf   exp
-#define powf   pow
-#define fabsf  fabs
-#define sqrtf  sqrt
-#define log10f log10
-#endif
-
-/*
- * Given the adaptation luminance, this function returns the
- * threshold of visibility in cd per m^2
- * TVI means Threshold vs Intensity function
- * This version comes from Ward Larson Siggraph 1997
- */
-static float
-tvi (float adaptation_luminance)
-{
-    /* returns the threshold luminance given the adaptation luminance
-       units are candelas per meter squared
-    */
-    float log_a, r, result;
-    log_a = log10f(adaptation_luminance);
-
-    if (log_a < -3.94f) {
-       r = -2.86f;
-    } else if (log_a < -1.44f) {
-       r = powf(0.405f * log_a + 1.6f , 2.18f) - 2.86f;
-    } else if (log_a < -0.0184f) {
-       r = log_a - 0.395f;
-    } else if (log_a < 1.9f) {
-       r = powf(0.249f * log_a + 0.65f, 2.7f) - 0.72f;
-    } else {
-       r = log_a - 1.255f;
-    }
-
-    result = powf(10.0f , r);
-
-    return result;
-}
-
-/* computes the contrast sensitivity function (Barten SPIE 1989)
- * given the cycles per degree (cpd) and luminance (lum)
- */
-static float
-csf (float cpd, float lum)
-{
-    float a, b, result;
-
-    a = 440.0f * powf((1.0f + 0.7f / lum), -0.2f);
-    b = 0.3f * powf((1.0f + 100.0f / lum), 0.15f);
-
-    result = a * cpd * expf(-b * cpd) * sqrtf(1.0f + 0.06f * expf(b * cpd));
-
-    return result;
-}
-
-/*
- * Visual Masking Function
- * from Daly 1993
- */
-static float
-mask (float contrast)
-{
-    float a, b, result;
-    a = powf(392.498f * contrast,  0.7f);
-    b = powf(0.0153f * a, 4.0f);
-    result = powf(1.0f + b, 0.25f);
-
-    return result;
-}
-
-/* convert Adobe RGB (1998) with reference white D65 to XYZ */
-static void
-AdobeRGBToXYZ (float r, float g, float b, float *x, float *y, float *z)
-{
-    /* matrix is from http://www.brucelindbloom.com/ */
-    *x = r * 0.576700f + g * 0.185556f + b * 0.188212f;
-    *y = r * 0.297361f + g * 0.627355f + b * 0.0752847f;
-    *z = r * 0.0270328f + g * 0.0706879f + b * 0.991248f;
-}
-
-static void
-XYZToLAB (float x, float y, float z, float *L, float *A, float *B)
-{
-    static float xw = -1;
-    static float yw;
-    static float zw;
-    const float epsilon  = 216.0f / 24389.0f;
-    const float kappa = 24389.0f / 27.0f;
-    float f[3];
-    float r[3];
-    int i;
-
-    /* reference white */
-    if (xw < 0) {
-       AdobeRGBToXYZ(1, 1, 1, &xw, &yw, &zw);
-    }
-    r[0] = x / xw;
-    r[1] = y / yw;
-    r[2] = z / zw;
-    for (i = 0; i < 3; i++) {
-       if (r[i] > epsilon) {
-           f[i] = powf(r[i], 1.0f / 3.0f);
-       } else {
-           f[i] = (kappa * r[i] + 16.0f) / 116.0f;
-       }
-    }
-    *L = 116.0f * f[1] - 16.0f;
-    *A = 500.0f * (f[0] - f[1]);
-    *B = 200.0f * (f[1] - f[2]);
-}
-
-static uint32_t
-_get_pixel (const uint32_t *data, int i)
-{
-    return data[i];
-}
-
-static unsigned char
-_get_red (const uint32_t *data, int i)
-{
-    uint32_t pixel;
-    uint8_t alpha;
-
-    pixel = _get_pixel (data, i);
-    alpha = (pixel & 0xff000000) >> 24;
-    if (alpha == 0)
-       return 0;
-    else
-       return (((pixel & 0x00ff0000) >> 16) * 255 + alpha / 2) / alpha;
-}
-
-static unsigned char
-_get_green (const uint32_t *data, int i)
-{
-    uint32_t pixel;
-    uint8_t alpha;
-
-    pixel = _get_pixel (data, i);
-    alpha = (pixel & 0xff000000) >> 24;
-    if (alpha == 0)
-       return 0;
-    else
-       return (((pixel & 0x0000ff00) >> 8) * 255 + alpha / 2) / alpha;
-}
-
-static unsigned char
-_get_blue (const uint32_t *data, int i)
-{
-    uint32_t pixel;
-    uint8_t alpha;
-
-    pixel = _get_pixel (data, i);
-    alpha = (pixel & 0xff000000) >> 24;
-    if (alpha == 0)
-       return 0;
-    else
-       return (((pixel & 0x000000ff) >> 0) * 255 + alpha / 2) / alpha;
-}
-
-static void *
-xmalloc (size_t size)
-{
-    void *buf;
-
-    buf = malloc (size);
-    if (buf == NULL) {
-       fprintf (stderr, "Out of memory.\n");
-       exit (1);
-    }
-
-    return buf;
-}
-
-int
-pdiff_compare (cairo_surface_t *surface_a,
-              cairo_surface_t *surface_b,
-              double gamma,
-              double luminance,
-              double field_of_view)
-{
-    unsigned int dim = (cairo_image_surface_get_width (surface_a)
-                       * cairo_image_surface_get_height (surface_a));
-    unsigned int i;
-
-    /* assuming colorspaces are in Adobe RGB (1998) convert to XYZ */
-    float *aX;
-    float *aY;
-    float *aZ;
-    float *bX;
-    float *bY;
-    float *bZ;
-    float *aLum;
-    float *bLum;
-
-    float *aA;
-    float *bA;
-    float *aB;
-    float *bB;
-
-    unsigned int x, y, w, h;
-
-    lpyramid_t *la, *lb;
-
-    float num_one_degree_pixels, pixels_per_degree, num_pixels;
-    unsigned int adaptation_level;
-
-    float cpd[MAX_PYR_LEVELS];
-    float F_freq[MAX_PYR_LEVELS - 2];
-    float csf_max;
-    const uint32_t *data_a, *data_b;
-
-    unsigned int pixels_failed;
-
-    w = cairo_image_surface_get_width (surface_a);
-    h = cairo_image_surface_get_height (surface_a);
-    if (w < 3 || h < 3) /* too small for the Laplacian convolution */
-       return -1;
-
-    aX = xmalloc (dim * sizeof (float));
-    aY = xmalloc (dim * sizeof (float));
-    aZ = xmalloc (dim * sizeof (float));
-    bX = xmalloc (dim * sizeof (float));
-    bY = xmalloc (dim * sizeof (float));
-    bZ = xmalloc (dim * sizeof (float));
-    aLum = xmalloc (dim * sizeof (float));
-    bLum = xmalloc (dim * sizeof (float));
-
-    aA = xmalloc (dim * sizeof (float));
-    bA = xmalloc (dim * sizeof (float));
-    aB = xmalloc (dim * sizeof (float));
-    bB = xmalloc (dim * sizeof (float));
-
-    data_a = (uint32_t *) cairo_image_surface_get_data (surface_a);
-    data_b = (uint32_t *) cairo_image_surface_get_data (surface_b);
-    for (y = 0; y < h; y++) {
-       for (x = 0; x < w; x++) {
-           float r, g, b, l;
-           i = x + y * w;
-           r = powf(_get_red (data_a, i) / 255.0f, gamma);
-           g = powf(_get_green (data_a, i) / 255.0f, gamma);
-           b = powf(_get_blue (data_a, i) / 255.0f, gamma);
-
-           AdobeRGBToXYZ(r,g,b,&aX[i],&aY[i],&aZ[i]);
-           XYZToLAB(aX[i], aY[i], aZ[i], &l, &aA[i], &aB[i]);
-           r = powf(_get_red (data_b, i) / 255.0f, gamma);
-           g = powf(_get_green (data_b, i) / 255.0f, gamma);
-           b = powf(_get_blue (data_b, i) / 255.0f, gamma);
-
-           AdobeRGBToXYZ(r,g,b,&bX[i],&bY[i],&bZ[i]);
-           XYZToLAB(bX[i], bY[i], bZ[i], &l, &bA[i], &bB[i]);
-           aLum[i] = aY[i] * luminance;
-           bLum[i] = bY[i] * luminance;
-       }
-    }
-
-    la = lpyramid_create (aLum, w, h);
-    lb = lpyramid_create (bLum, w, h);
-
-    num_one_degree_pixels = (float) (2 * tan(field_of_view * 0.5 * M_PI / 180) * 180 / M_PI);
-    pixels_per_degree = w / num_one_degree_pixels;
-
-    num_pixels = 1;
-    adaptation_level = 0;
-    for (i = 0; i < MAX_PYR_LEVELS; i++) {
-       adaptation_level = i;
-       if (num_pixels > num_one_degree_pixels) break;
-       num_pixels *= 2;
-    }
-
-    cpd[0] = 0.5f * pixels_per_degree;
-    for (i = 1; i < MAX_PYR_LEVELS; i++) cpd[i] = 0.5f * cpd[i - 1];
-    csf_max = csf(3.248f, 100.0f);
-
-    for (i = 0; i < MAX_PYR_LEVELS - 2; i++) F_freq[i] = csf_max / csf( cpd[i], 100.0f);
-
-    pixels_failed = 0;
-    for (y = 0; y < h; y++) {
-       for (x = 0; x < w; x++) {
-           int index = x + y * w;
-           float contrast[MAX_PYR_LEVELS - 2];
-           float F_mask[MAX_PYR_LEVELS - 2];
-           float factor;
-           float delta;
-           float adapt;
-           bool pass;
-           float sum_contrast = 0;
-           for (i = 0; i < MAX_PYR_LEVELS - 2; i++) {
-               float n1 = fabsf(lpyramid_get_value (la,x,y,i) - lpyramid_get_value (la,x,y,i + 1));
-               float n2 = fabsf(lpyramid_get_value (lb,x,y,i) - lpyramid_get_value (lb,x,y,i + 1));
-               float numerator = (n1 > n2) ? n1 : n2;
-               float d1 = fabsf(lpyramid_get_value(la,x,y,i+2));
-               float d2 = fabsf(lpyramid_get_value(lb,x,y,i+2));
-               float denominator = (d1 > d2) ? d1 : d2;
-               if (denominator < 1e-5f) denominator = 1e-5f;
-               contrast[i] = numerator / denominator;
-               sum_contrast += contrast[i];
-           }
-           if (sum_contrast < 1e-5) sum_contrast = 1e-5f;
-           adapt = lpyramid_get_value(la,x,y,adaptation_level) + lpyramid_get_value(lb,x,y,adaptation_level);
-           adapt *= 0.5f;
-           if (adapt < 1e-5) adapt = 1e-5f;
-           for (i = 0; i < MAX_PYR_LEVELS - 2; i++) {
-               F_mask[i] = mask(contrast[i] * csf(cpd[i], adapt));
-           }
-           factor = 0;
-           for (i = 0; i < MAX_PYR_LEVELS - 2; i++) {
-               factor += contrast[i] * F_freq[i] * F_mask[i] / sum_contrast;
-           }
-           if (factor < 1) factor = 1;
-           if (factor > 10) factor = 10;
-           delta = fabsf(lpyramid_get_value(la,x,y,0) - lpyramid_get_value(lb,x,y,0));
-           pass = true;
-           /* pure luminance test */
-           if (delta > factor * tvi(adapt)) {
-               pass = false;
-           } else {
-               /* CIE delta E test with modifications */
-               float color_scale = 1.0f;
-               float da = aA[index] - bA[index];
-               float db = aB[index] - bB[index];
-               float delta_e;
-               /* ramp down the color test in scotopic regions */
-               if (adapt < 10.0f) {
-                   color_scale = 1.0f - (10.0f - color_scale) / 10.0f;
-                   color_scale = color_scale * color_scale;
-               }
-               da = da * da;
-               db = db * db;
-               delta_e = (da + db) * color_scale;
-               if (delta_e > factor) {
-                   pass = false;
-               }
-           }
-           if (!pass)
-               pixels_failed++;
-       }
-    }
-
-    free (aX);
-    free (aY);
-    free (aZ);
-    free (bX);
-    free (bY);
-    free (bZ);
-    free (aLum);
-    free (bLum);
-    lpyramid_destroy (la);
-    lpyramid_destroy (lb);
-    free (aA);
-    free (bA);
-    free (aB);
-    free (bB);
-
-    return pixels_failed;
-}
diff --git a/test/pdiff/pdiff.h b/test/pdiff/pdiff.h
deleted file mode 100644 (file)
index 30fec06..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-  Copyright (C) 2006 Yangli Hector Yee
-  Copyright (C) 2006 Red Hat, Inc.
-
-  This program is free software; you can redistribute it and/or modify it under the terms of the
-  GNU General Public License as published by the Free Software Foundation; either version 2 of the License,
-  or (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  See the GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License along with this program;
-  if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
-*/
-
-#ifndef _PDIFF_H
-#define _PDIFF_H
-
-#include <cairo.h>
-
-typedef int bool;
-#ifndef true
-#define true 1
-#endif
-#ifndef false
-#define false 0
-#endif
-
-/* Image comparison metric using Yee's method (and a cairo interface)
- * References: A Perceptual Metric for Production Testing, Hector Yee, Journal of Graphics Tools 2004
- */
-int
-pdiff_compare (cairo_surface_t *surface_a,
-              cairo_surface_t *surface_b,
-              double gamma,
-              double luminance,
-              double field_of_view);
-
-#endif
diff --git a/test/pdiff/perceptualdiff.c b/test/pdiff/perceptualdiff.c
deleted file mode 100644 (file)
index a3a6e80..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-  PerceptualDiff - a program that compares two images using a perceptual metric
-  based on the paper :
-  A perceptual metric for production testing. Journal of graphics tools, 9(4):33-40, 2004, Hector Yee
-  Copyright (C) 2006 Yangli Hector Yee
-
-  This program is free software; you can redistribute it and/or modify it under the terms of the
-  GNU General Public License as published by the Free Software Foundation; either version 2 of the License,
-  or (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  See the GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License along with this program;
-  if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
-*/
-
-#include <stdio.h>
-#include <stdint.h>
-#include <string.h>
-#include <math.h>
-#include "lpyramid.h"
-#include "args.h"
-#include "pdiff.h"
-
-static bool Yee_Compare(args_t *args)
-{
-    int width_a, height_a, stride_a;
-    unsigned char *data_a, *row_a;
-    uint32_t *pixel_a;
-    int width_b, height_b, stride_b;
-    unsigned char *data_b, *row_b;
-    uint32_t *pixel_b;
-    unsigned int x, y, dim, pixels_failed;
-    bool identical = true;
-
-    width_a = cairo_image_surface_get_width (args->surface_a);
-    height_a = cairo_image_surface_get_height (args->surface_a);
-    stride_a = cairo_image_surface_get_stride (args->surface_a);
-    data_a = cairo_image_surface_get_data (args->surface_a);
-
-    width_b = cairo_image_surface_get_width (args->surface_b);
-    height_b = cairo_image_surface_get_height (args->surface_b);
-    stride_b = cairo_image_surface_get_stride (args->surface_b);
-    data_b = cairo_image_surface_get_data (args->surface_b);
-
-    if ((width_a != width_b) || (height_a != height_b)) {
-       printf ("FAIL: Image dimensions do not match\n");
-       return false;
-    }
-
-    identical = true;
-
-    for (y = 0; y < height_a; y++) {
-       row_a = data_a + y * stride_a;
-       row_b = data_b + y * stride_b;
-       pixel_a = (uint32_t *) row_a;
-       pixel_b = (uint32_t *) row_b;
-       for (x = 0; x < width_a; x++) {
-           if (*pixel_a != *pixel_b) {
-               identical = false;
-           }
-           pixel_a++;
-           pixel_b++;
-       }
-    }
-    if (identical) {
-       printf ("PASS: Images are binary identical\n");
-       return true;
-    }
-
-    pixels_failed = pdiff_compare (args->surface_a, args->surface_b,
-                                  args->Gamma, args->Luminance,
-                                  args->FieldOfView);
-
-    if (pixels_failed < args->ThresholdPixels) {
-       printf ("PASS: Images are perceptually indistinguishable\n");
-       return true;
-    }
-
-    printf("FAIL: Images are visibly different\n"
-          "%d pixels are different\n", pixels_failed);
-
-    return false;
-}
-
-int main(int argc, char **argv)
-{
-    args_t args;
-
-    args_init (&args);
-
-    if (!args_parse (&args, argc, argv)) {
-       return -1;
-    } else {
-       if (args.Verbose)
-           args_print (&args);
-    }
-    return ! Yee_Compare(&args);
-}
diff --git a/test/pixman-rotate.c b/test/pixman-rotate.c
deleted file mode 100644 (file)
index f412ce6..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Kristian Høgsberg <krh@redhat.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-
-#include <cairo.h>
-
-#include "cairo-test.h"
-
-#define WIDTH  32
-#define HEIGHT WIDTH
-
-#define IMAGE_WIDTH    (3 * WIDTH)
-#define IMAGE_HEIGHT   IMAGE_WIDTH
-
-/* Draw the word cairo at NUM_TEXT different angles */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *stamp;
-    cairo_t *cr2;
-
-    /* Draw a translucent rectangle for reference where the rotated
-     * image should be. */
-    cairo_new_path (cr);
-    cairo_rectangle (cr, WIDTH, HEIGHT, WIDTH, HEIGHT);
-    cairo_set_source_rgba (cr, 1, 1, 0, 0.3);
-    cairo_fill (cr);
-
-#if 1 /* Set to 0 to generate reference image */
-    cairo_translate (cr, 2 * WIDTH, 2 * HEIGHT);
-    cairo_rotate (cr, M_PI);
-#else
-    cairo_translate (cr, WIDTH, HEIGHT);
-#endif
-
-    stamp = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                         CAIRO_CONTENT_COLOR_ALPHA,
-                                         WIDTH, HEIGHT);
-    cr2 = cairo_create (stamp);
-    cairo_surface_destroy (stamp);
-    {
-       cairo_new_path (cr2);
-       cairo_rectangle (cr2, WIDTH / 4, HEIGHT / 4, WIDTH / 2, HEIGHT / 2);
-       cairo_set_source_rgba (cr2, 1, 0, 0, 0.8);
-       cairo_fill (cr2);
-
-       cairo_rectangle (cr2, 0, 0, WIDTH, HEIGHT);
-       cairo_set_line_width (cr2, 2);
-       cairo_set_source_rgb (cr2, 0, 0, 0);
-       cairo_stroke (cr2);
-    }
-    cairo_set_source_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (pixman_rotate,
-           "Exposes pixman off-by-one error when rotating",
-           "image, transform", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/png-flatten.c b/test/png-flatten.c
deleted file mode 100644 (file)
index 2ce804e..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl Worth <cworth@cworth.org>
- */
-
-#include <stdio.h>
-
-#include <cairo.h>
-
-int
-main (int argc, char *argv[])
-{
-    cairo_t *cr;
-    cairo_surface_t *argb, *rgb24;
-    cairo_status_t status;
-    const char *input, *output;
-
-    if (argc != 3) {
-       fprintf (stderr, "usage: %s input.png output.png", argv[0]);
-       fprintf (stderr, "Loads a PNG image (potentially with alpha) and writes out a flattened (no alpha)\nPNG image by first blending over white.\n");
-       return 1;
-    }
-
-    input = argv[1];
-    output = argv[2];
-
-    argb = cairo_image_surface_create_from_png (input);
-    status = cairo_surface_status (argb);
-    if (status) {
-       fprintf (stderr, "%s: Error: Failed to load %s: %s\n",
-                argv[0], input, cairo_status_to_string (status));
-       return 1;
-    }
-
-    rgb24 = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
-                                       cairo_image_surface_get_width (argb),
-                                       cairo_image_surface_get_height (argb));
-
-    cr = cairo_create (rgb24);
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_source_surface (cr, argb, 0, 0);
-    cairo_paint (cr);
-
-    cairo_destroy (cr);
-
-    status = cairo_surface_write_to_png (rgb24, output);
-    if (status) {
-       fprintf (stderr, "%s: Error: Failed to write %s: %s\n",
-                argv[0], output, cairo_status_to_string (status));
-       return 1;
-    }
-
-    return 0;
-}
diff --git a/test/png.c b/test/png.c
deleted file mode 100644 (file)
index e90ac66..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#include <assert.h>
-
-/* Test the idempotency of write_png->read_png */
-
-#define RGB_MASK 0x00ffffff
-
-static cairo_bool_t
-image_surface_equals (cairo_surface_t *A, cairo_surface_t *B)
-{
-    if (cairo_image_surface_get_format (A) !=
-       cairo_image_surface_get_format (B))
-       return 0;
-
-    if (cairo_image_surface_get_width (A) !=
-       cairo_image_surface_get_width (B))
-       return 0;
-
-    if (cairo_image_surface_get_height (A) !=
-       cairo_image_surface_get_height (B))
-       return 0;
-
-    return 1;
-}
-
-static const char *
-format_to_string (cairo_format_t format)
-{
-    switch (format) {
-    case CAIRO_FORMAT_A1:     return "a1";
-    case CAIRO_FORMAT_A8:     return "a8";
-    case CAIRO_FORMAT_RGB16_565:  return "rgb16";
-    case CAIRO_FORMAT_RGB24:  return "rgb24";
-    case CAIRO_FORMAT_ARGB32: return "argb32";
-    case CAIRO_FORMAT_INVALID:
-    default: return "???";
-    }
-}
-
-static void
-print_surface (const cairo_test_context_t *ctx, cairo_surface_t *surface)
-{
-    cairo_test_log (ctx,
-                   "%s (%dx%d)\n",
-                   format_to_string (cairo_image_surface_get_format (surface)),
-                   cairo_image_surface_get_width (surface),
-                   cairo_image_surface_get_height (surface));
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    const char *filename = "png.out.png";
-    cairo_surface_t *surface0, *surface1;
-    cairo_status_t status;
-    uint32_t argb32 = 0xdeadbede;
-
-    surface0 = cairo_image_surface_create_for_data ((unsigned char *) &argb32,
-                                                   CAIRO_FORMAT_ARGB32,
-                                                   1, 1, 4);
-    status = cairo_surface_write_to_png (surface0, filename);
-    if (status) {
-       cairo_test_log (ctx, "Error writing '%s': %s\n",
-                       filename, cairo_status_to_string (status));
-
-       cairo_surface_destroy (surface0);
-       return cairo_test_status_from_status (ctx, status);
-    }
-    surface1 = cairo_image_surface_create_from_png (filename);
-    status = cairo_surface_status (surface1);
-    if (status) {
-       cairo_test_log (ctx, "Error reading '%s': %s\n",
-                       filename, cairo_status_to_string (status));
-
-       cairo_surface_destroy (surface1);
-       cairo_surface_destroy (surface0);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    if (! image_surface_equals (surface0, surface1)) {
-       cairo_test_log (ctx, "Error surface mismatch.\n");
-       cairo_test_log (ctx, "to png: "); print_surface (ctx, surface0);
-       cairo_test_log (ctx, "from png: "); print_surface (ctx, surface1);
-
-       cairo_surface_destroy (surface0);
-       cairo_surface_destroy (surface1);
-       return CAIRO_TEST_FAILURE;
-    }
-    assert (*(uint32_t *) cairo_image_surface_get_data (surface1) == argb32);
-
-    cairo_surface_destroy (surface0);
-    cairo_surface_destroy (surface1);
-
-    surface0 = cairo_image_surface_create_for_data ((unsigned char *) &argb32,
-                                                   CAIRO_FORMAT_RGB24,
-                                                   1, 1, 4);
-    status = cairo_surface_write_to_png (surface0, filename);
-    if (status) {
-       cairo_test_log (ctx, "Error writing '%s': %s\n",
-                       filename, cairo_status_to_string (status));
-       cairo_surface_destroy (surface0);
-       return cairo_test_status_from_status (ctx, status);
-    }
-    surface1 = cairo_image_surface_create_from_png (filename);
-    status = cairo_surface_status (surface1);
-    if (status) {
-       cairo_test_log (ctx, "Error reading '%s': %s\n",
-                       filename, cairo_status_to_string (status));
-
-       cairo_surface_destroy (surface1);
-       cairo_surface_destroy (surface0);
-       return cairo_test_status_from_status (ctx, status);
-    }
-
-    if (! image_surface_equals (surface0, surface1)) {
-       cairo_test_log (ctx, "Error surface mismatch.\n");
-       cairo_test_log (ctx, "to png: "); print_surface (ctx, surface0);
-       cairo_test_log (ctx, "from png: "); print_surface (ctx, surface1);
-
-       cairo_surface_destroy (surface0);
-       cairo_surface_destroy (surface1);
-       return CAIRO_TEST_FAILURE;
-    }
-    assert ((*(uint32_t *) cairo_image_surface_get_data (surface1) & RGB_MASK)
-           == (argb32 & RGB_MASK));
-
-    cairo_surface_destroy (surface0);
-    cairo_surface_destroy (surface1);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (png,
-           "Check that the png export/import is idempotent.",
-           "png, api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/png.png b/test/png.png
deleted file mode 100644 (file)
index 56c428e..0000000
Binary files a/test/png.png and /dev/null differ
diff --git a/test/ps-eps.c b/test/ps-eps.c
deleted file mode 100644 (file)
index 1961463..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2009 Adrian Johnson
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Adrian Johnson <ajohnson@redneon.com>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <cairo.h>
-#include <cairo-ps.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#include <errno.h>
-#endif
-#if HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-
-#include "cairo-test.h"
-#include "buffer-diff.h"
-
-/* Test EPS output.
- */
-
-#define WIDTH 595
-#define HEIGHT 842
-
-/* Reference Bounding Box */
-#define LLX  95
-#define LLY 687
-#define URX 155
-#define URY 747
-
-static void
-_xunlink (const cairo_test_context_t *ctx, const char *pathname)
-{
-    if (unlink (pathname) < 0 && errno != ENOENT) {
-       cairo_test_log (ctx, "Error: Cannot remove %s: %s\n",
-                       pathname, strerror (errno));
-       exit (1);
-    }
-}
-
-static cairo_bool_t
-check_result (cairo_test_context_t *ctx,
-             const cairo_boilerplate_target_t *target,
-             const char *test_name,
-             const char *base_name,
-             cairo_surface_t *surface)
-{
-    const char *format;
-    char *ref_name;
-    char *png_name;
-    char *diff_name;
-    cairo_surface_t *test_image, *ref_image, *diff_image;
-    buffer_diff_result_t result;
-    cairo_status_t status;
-    cairo_bool_t ret;
-
-    /* XXX log target, OUTPUT, REFERENCE, DIFFERENCE for index.html */
-
-    if (target->finish_surface != NULL) {
-       status = target->finish_surface (surface);
-       if (status) {
-           cairo_test_log (ctx, "Error: Failed to finish surface: %s\n",
-                   cairo_status_to_string (status));
-           cairo_surface_destroy (surface);
-           return FALSE;
-       }
-    }
-
-    xasprintf (&png_name,  "%s.out.png", base_name);
-    xasprintf (&diff_name, "%s.diff.png", base_name);
-
-    test_image = target->get_image_surface (surface, 0, WIDTH, HEIGHT);
-    if (cairo_surface_status (test_image)) {
-       cairo_test_log (ctx, "Error: Failed to extract page: %s\n",
-                       cairo_status_to_string (cairo_surface_status (test_image)));
-       cairo_surface_destroy (test_image);
-       free (png_name);
-       free (diff_name);
-       return FALSE;
-    }
-
-    _xunlink (ctx, png_name);
-    status = cairo_surface_write_to_png (test_image, png_name);
-    if (status) {
-       cairo_test_log (ctx, "Error: Failed to write output image: %s\n",
-               cairo_status_to_string (status));
-       cairo_surface_destroy (test_image);
-       free (png_name);
-       free (diff_name);
-       return FALSE;
-    }
-
-    format = cairo_boilerplate_content_name (target->content);
-    ref_name = cairo_test_reference_filename (ctx,
-                                             base_name,
-                                             test_name,
-                                             target->name,
-                                             target->basename,
-                                             format,
-                                             CAIRO_TEST_REF_SUFFIX,
-                                             CAIRO_TEST_PNG_EXTENSION);
-    if (ref_name == NULL) {
-       cairo_test_log (ctx, "Error: Cannot find reference image for %s\n",
-                       base_name);
-       cairo_surface_destroy (test_image);
-       free (png_name);
-       free (diff_name);
-       return FALSE;
-    }
-
-    ref_image = cairo_test_get_reference_image (ctx, ref_name,
-           target->content == CAIRO_TEST_CONTENT_COLOR_ALPHA_FLATTENED);
-    if (cairo_surface_status (ref_image)) {
-       cairo_test_log (ctx, "Error: Cannot open reference image for %s: %s\n",
-                       ref_name,
-               cairo_status_to_string (cairo_surface_status (ref_image)));
-       cairo_surface_destroy (ref_image);
-       cairo_surface_destroy (test_image);
-       free (png_name);
-       free (diff_name);
-       free (ref_name);
-       return FALSE;
-    }
-
-    diff_image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-           WIDTH, HEIGHT);
-
-    ret = TRUE;
-    status = image_diff (ctx,
-           test_image, ref_image, diff_image,
-           &result);
-    _xunlink (ctx, diff_name);
-    if (status) {
-       cairo_test_log (ctx, "Error: Failed to compare images: %s\n",
-                       cairo_status_to_string (status));
-       ret = FALSE;
-    } else if (image_diff_is_failure (&result, target->error_tolerance))
-    {
-       ret = FALSE;
-
-       status = cairo_surface_write_to_png (diff_image, diff_name);
-       if (status) {
-           cairo_test_log (ctx, "Error: Failed to write differences image: %s\n",
-                   cairo_status_to_string (status));
-       }
-    }
-
-    cairo_surface_destroy (test_image);
-    cairo_surface_destroy (diff_image);
-    free (png_name);
-    free (diff_name);
-    free (ref_name);
-
-    return ret;
-}
-
-
-#define DOCUMENT_BBOX  "%%BoundingBox:"
-#define PAGE_BBOX      "%%PageBoundingBox:"
-
-static cairo_bool_t
-check_bbox (cairo_test_context_t *ctx,
-           const char *base_name)
-{
-    char *filename;
-    FILE *f;
-    char buf[256];
-    cairo_bool_t bbox_pass, page_bbox_pass;
-    int llx, lly, urx, ury;
-    int ret;
-
-    xasprintf (&filename,  "%s.out.ps", base_name);
-    f = fopen (filename, "r");
-    if (!f) {
-       cairo_test_log (ctx, "Error: Cannot open EPS output: %s\n",
-                       base_name);
-       free (filename);
-       return FALSE;
-    }
-
-    bbox_pass = FALSE;
-    page_bbox_pass = FALSE;
-    while (!feof(f)) {
-       fgets (buf, sizeof(buf), f);
-
-       if (strncmp (buf, DOCUMENT_BBOX, strlen (DOCUMENT_BBOX)) == 0) {
-           ret = sscanf (buf+strlen (DOCUMENT_BBOX), "%d %d %d %d", &llx, &lly, &urx, &ury);
-           if (ret == 4 && llx == LLX && lly == LLY && urx == URX && ury == URY)
-               bbox_pass = TRUE;
-       }
-
-       if (strncmp (buf, PAGE_BBOX, strlen (PAGE_BBOX)) == 0) {
-           ret = sscanf (buf+strlen (PAGE_BBOX), "%d %d %d %d", &llx, &lly, &urx, &ury);
-           if (ret == 4 && llx == LLX && lly == LLY && urx == URX && ury == URY)
-               page_bbox_pass = TRUE;
-       }
-    }
-    fclose (f);
-
-    if (!bbox_pass || !page_bbox_pass) {
-       cairo_test_log (ctx, "Error: EPS Bounding Box does not match reference Bounding Box\n");
-       return FALSE;
-    }
-
-    free (filename);
-
-    return TRUE;
-}
-
-static cairo_bool_t
-_cairo_test_mkdir (const char *path)
-{
-#if ! HAVE_MKDIR
-    return FALSE;
-#elif HAVE_MKDIR == 1
-    if (mkdir (path) == 0)
-       return TRUE;
-#elif HAVE_MKDIR == 2
-    if (mkdir (path, 0770) == 0)
-       return TRUE;
-#else
-#error Bad value for HAVE_MKDIR
-#endif
-
-    return errno == EEXIST;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_t *cr;
-    cairo_test_status_t ret = CAIRO_TEST_UNTESTED;
-    const char *path = _cairo_test_mkdir (CAIRO_TEST_OUTPUT_DIR) ? CAIRO_TEST_OUTPUT_DIR : ".";
-    unsigned int i;
-
-    for (i = 0; i < ctx->num_targets; i++) {
-       const cairo_boilerplate_target_t *target = ctx->targets_to_test[i];
-       cairo_surface_t *surface = NULL;
-       char *base_name;
-       void *closure;
-       const char *format;
-       cairo_status_t status;
-       cairo_bool_t pass;
-       char *test_name;
-
-       if (! cairo_test_is_target_enabled (ctx, target->name))
-           continue;
-
-       format = cairo_boilerplate_content_name (target->content);
-       xasprintf (&test_name, "ps-eps");
-       xasprintf (&base_name, "%s/ps-eps.%s.%s",
-                  path, target->name, format);
-
-       surface = (target->create_surface) (base_name,
-                                           target->content,
-                                           WIDTH, HEIGHT,
-                                           WIDTH, HEIGHT,
-                                           CAIRO_BOILERPLATE_MODE_TEST,
-                                           &closure);
-
-       if (surface == NULL) {
-           free (base_name);
-           free (test_name);
-           continue;
-       }
-
-       cairo_ps_surface_set_eps (surface, TRUE);
-       if (!cairo_ps_surface_get_eps (surface)) {
-           cairo_surface_destroy (surface);
-           if (target->cleanup)
-               target->cleanup (closure);
-
-           free (base_name);
-           free (test_name);
-           continue;
-       }
-       
-       cairo_test_log (ctx,
-                       "Testing ps-eps with %s target\n",
-                       target->name);
-       printf ("%s:\t", base_name);
-       fflush (stdout);
-
-       cairo_surface_set_device_offset (surface, 25, 25);
-       cr = cairo_create (surface);
-
-       cairo_new_sub_path (cr);
-       cairo_arc (cr, 100, 100, 25, 0, 2*M_PI);
-       cairo_set_line_width (cr, 10);
-       cairo_stroke (cr);
-
-       cairo_show_page (cr);
-
-       status = cairo_status (cr);
-       cairo_destroy (cr);
-
-       if (status) {
-           cairo_test_log (ctx, "Error: Failed to create target surface: %s\n",
-                           cairo_status_to_string (status));
-           pass = FALSE;
-       } else {
-           pass = TRUE;
-           /* extract the image and compare it to our reference */
-           if (! check_result (ctx, target, test_name, base_name, surface))
-               pass = FALSE;
-
-           /* check the bounding box of the EPS file and compare it to our reference */
-           if (! check_bbox (ctx, base_name))
-               pass = FALSE;
-       }
-       cairo_surface_destroy (surface);
-       if (target->cleanup)
-           target->cleanup (closure);
-
-       free (base_name);
-       free (test_name);
-
-       if (pass) {
-           printf ("PASS\n");
-           ret = CAIRO_TEST_SUCCESS;
-       } else {
-           printf ("FAIL\n");
-           ret = CAIRO_TEST_FAILURE;
-       }
-       fflush (stdout);
-    }
-
-    return ret;
-}
-
-CAIRO_TEST (ps_eps,
-           "Check EPS output from PS surface",
-           "ps, api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/ps-features.c b/test/ps-features.c
deleted file mode 100644 (file)
index e3cf9b4..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include <stdio.h>
-#include <cairo.h>
-#include <cairo-ps.h>
-
-#include "cairo-test.h"
-
-/* This test exists to test the various features of cairo-ps.h.
- *
- * Currently, this test exercises the following function calls:
- *
- *     cairo_ps_surface_set_size
- *     cairo_ps_surface_dsc_comment
- *     cairo_ps_surface_dsc_begin_setup
- *     cairo_ps_surface_dsc_begin_page_setup
- */
-
-#define INCHES_TO_POINTS(in) ((in) * 72.0)
-#define MM_TO_POINTS(mm) ((mm) / 25.4 * 72.0)
-#define TEXT_SIZE 12
-
-static struct {
-    const char *page_size;
-    const char *page_size_alias;
-    const char *orientation;
-    double width_in_points;
-    double height_in_points;
-} pages[] = {
-    {"na_letter_8.5x11in", "letter", "portrait",
-     INCHES_TO_POINTS(8.5), INCHES_TO_POINTS(11)},
-    {"na_letter_8.5x11in", "letter", "landscape",
-     INCHES_TO_POINTS(11), INCHES_TO_POINTS(8.5)},
-    {"iso_a4_210x297mm", "a4", "portrait",
-     MM_TO_POINTS(210), MM_TO_POINTS(297)},
-    {"iso_a4_210x297mm", "a4", "landscape",
-     MM_TO_POINTS(297), MM_TO_POINTS(210)},
-    {"iso_a5_148x210mm", "a5", "portrait",
-     MM_TO_POINTS(148), MM_TO_POINTS(210)},
-    {"iso_a5_148x210mm", "a5", "landscape",
-     MM_TO_POINTS(210), MM_TO_POINTS(148)},
-    {"iso_a6_105x148mm", "a6", "portrait",
-     MM_TO_POINTS(105), MM_TO_POINTS(148)},
-    {"iso_a6_105x148mm", "a6", "landscape",
-     MM_TO_POINTS(148), MM_TO_POINTS(105)},
-    {"iso_a7_74x105mm", "a7", "portrait",
-     MM_TO_POINTS(74), MM_TO_POINTS(105)},
-    {"iso_a7_74x105mm", "a7", "landscape",
-     MM_TO_POINTS(105), MM_TO_POINTS(74)},
-    {"iso_a8_52x74mm", "a8", "portrait",
-     MM_TO_POINTS(52), MM_TO_POINTS(74)},
-    {"iso_a8_52x74mm", "a8", "landscape",
-     MM_TO_POINTS(74), MM_TO_POINTS(52)},
-    {"iso_a9_37x52mm", "a9", "portrait",
-     MM_TO_POINTS(37), MM_TO_POINTS(52)},
-    {"iso_a9_37x52mm", "a9", "landscape",
-     MM_TO_POINTS(52), MM_TO_POINTS(37)},
-    {"iso_a10_26x37mm", "a10", "portrait",
-     MM_TO_POINTS(26), MM_TO_POINTS(37)},
-    {"iso_a10_26x37mm", "a10", "landscape",
-     MM_TO_POINTS(37), MM_TO_POINTS(26)}
-};
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-    cairo_status_t status;
-    const char *filename;
-    size_t i;
-    char dsc[255];
-
-    if (! (cairo_test_is_target_enabled (ctx, "ps2") ||
-          cairo_test_is_target_enabled (ctx, "ps3")))
-    {
-       return CAIRO_TEST_UNTESTED;
-    }
-
-    filename = "ps-features.out.ps";
-
-    /* We demonstrate that the initial size doesn't matter (we're
-     * passing 0,0), if we use cairo_ps_surface_set_size on the first
-     * page. */
-    surface = cairo_ps_surface_create (filename, 0, 0);
-
-    cairo_ps_surface_dsc_comment (surface, "%%Title: ps-features");
-    cairo_ps_surface_dsc_comment (surface, "%%Copyright: Copyright (C) 2006 Red Hat, Inc.");
-
-    cairo_ps_surface_dsc_begin_setup (surface);
-    cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *PageSize letter");
-    cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *MediaColor White");
-
-    cr = cairo_create (surface);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    for (i = 0; i < ARRAY_LENGTH (pages); i++) {
-       cairo_ps_surface_set_size (surface,
-                                  pages[i].width_in_points,
-                                  pages[i].height_in_points);
-       cairo_ps_surface_dsc_begin_page_setup (surface);
-       snprintf (dsc, 255, "%%IncludeFeature: *PageSize %s", pages[i].page_size_alias);
-       cairo_ps_surface_dsc_comment (surface, dsc);
-       if (i % 2) {
-           snprintf (dsc, 255, "%%IncludeFeature: *MediaType Glossy");
-           cairo_ps_surface_dsc_comment (surface, dsc);
-       }
-
-       cairo_move_to (cr, TEXT_SIZE, TEXT_SIZE);
-       cairo_show_text (cr, pages[i].page_size);
-       cairo_show_text (cr, " - ");
-       cairo_show_text (cr, pages[i].orientation);
-       cairo_show_page (cr);
-    }
-
-    status = cairo_status (cr);
-
-    cairo_destroy (cr);
-    cairo_surface_destroy (surface);
-
-    if (status) {
-       cairo_test_log (ctx, "Failed to create ps surface for file %s: %s\n",
-                       filename, cairo_status_to_string (status));
-       return CAIRO_TEST_FAILURE;
-    }
-
-    printf ("ps-features: Please check %s to ensure it looks/prints correctly.\n", filename);
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (ps_features,
-           "Check PS specific API",
-           "ps, api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/ps-surface-source.c b/test/ps-surface-source.c
deleted file mode 100644 (file)
index 37f57ee..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-#include <cairo-ps.h>
-
-#include "surface-source.c"
-
-static cairo_surface_t *
-create_source_surface (int size)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_ps_surface_create ("ps-surface-source.out.ps", size, size);
-    cairo_surface_set_fallback_resolution (surface, 72., 72.);
-
-    return surface;
-}
-
-CAIRO_TEST (ps_surface_source,
-           "Test using a PS surface as the source",
-           "source", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           preamble, draw)
diff --git a/test/ps2png.c b/test/ps2png.c
deleted file mode 100644 (file)
index cf98aed..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright © 2008 Carlos Garcia Campos
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carlos Garcia Campos <carlosgc@gnome.org>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <cairo.h>
-#include <libspectre/spectre.h>
-
-#define FAIL(msg)                                                        \
-    do { fprintf (stderr, "FAIL: %s\n", msg); exit (-1); } while (0)
-
-static const char *
-_spectre_render_page (const char *filename,
-                     const char *page_label,
-                     cairo_surface_t **surface_out)
-{
-    static const cairo_user_data_key_t key;
-
-    SpectreDocument *document;
-    SpectreStatus status;
-    int width, height, stride;
-    unsigned char *pixels;
-    cairo_surface_t *surface;
-
-    document = spectre_document_new ();
-    spectre_document_load (document, filename);
-    status = spectre_document_status (document);
-    if (status) {
-       spectre_document_free (document);
-       return spectre_status_to_string (status);
-    }
-
-    if (page_label) {
-       SpectrePage *page;
-       SpectreRenderContext *rc;
-
-       page = spectre_document_get_page_by_label (document, page_label);
-       spectre_document_free (document);
-       if (page == NULL)
-           return "page not found";
-
-       spectre_page_get_size (page, &width, &height);
-       rc = spectre_render_context_new ();
-       spectre_render_context_set_page_size (rc, width, height);
-       spectre_page_render (page, rc, &pixels, &stride);
-       spectre_render_context_free (rc);
-       status = spectre_page_status (page);
-       spectre_page_free (page);
-       if (status) {
-           free (pixels);
-           return spectre_status_to_string (status);
-       }
-    } else {
-       spectre_document_get_page_size (document, &width, &height);
-       spectre_document_render (document, &pixels, &stride);
-       spectre_document_free (document);
-    }
-
-    surface = cairo_image_surface_create_for_data (pixels,
-                                                  CAIRO_FORMAT_RGB24,
-                                                  width, height,
-                                                  stride);
-    cairo_surface_set_user_data (surface, &key,
-                                pixels, (cairo_destroy_func_t) free);
-    *surface_out = surface;
-    return NULL;
-}
-
-int main
-(int argc, char *argv[])
-{
-    const char *err;
-    cairo_surface_t *surface = NULL; /* silence compiler warning */
-    cairo_status_t status;
-
-    if (argc < 3 || argc > 4)
-        FAIL ("usage: ps2png input_file.ps output_file.png [page]");
-
-    err = _spectre_render_page (argv[1], argv[3], &surface);
-    if (err != NULL)
-        FAIL (err);
-
-    status = cairo_surface_write_to_png (surface, argv[2]);
-    cairo_surface_destroy (surface);
-
-    if (status != CAIRO_STATUS_SUCCESS)
-        FAIL (cairo_status_to_string (status));
-
-    return 0;
-}
diff --git a/test/pthread-same-source.c b/test/pthread-same-source.c
deleted file mode 100644 (file)
index d0eda4a..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright 2009 Benjamin Otte
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-#include <pthread.h>
-
-#define N_THREADS 8
-
-#define WIDTH 64
-#define HEIGHT 8
-
-typedef struct {
-  cairo_surface_t *target;
-  cairo_surface_t *source;
-  int id;
-} thread_data_t;
-
-static void *
-draw_thread (void *arg)
-{
-    thread_data_t *thread_data = arg;
-    cairo_surface_t *surface;
-    cairo_pattern_t *pattern;
-    cairo_matrix_t pattern_matrix = { 2, 0, 0, 2, 0, 0 };
-    cairo_t *cr;
-    int x, y;
-
-    cr = cairo_create (thread_data->target);
-    cairo_surface_destroy (thread_data->target);
-
-    pattern = cairo_pattern_create_for_surface (thread_data->source);
-    cairo_surface_destroy (thread_data->source);
-    cairo_pattern_set_extend (pattern, thread_data->id % 4);
-    cairo_pattern_set_filter (pattern, thread_data->id >= 4 ? CAIRO_FILTER_BILINEAR : CAIRO_FILTER_NEAREST);
-    cairo_pattern_set_matrix (pattern, &pattern_matrix);
-
-    for (y = 0; y < HEIGHT; y++) {
-        for (x = 0; x < WIDTH; x++) {
-            cairo_save (cr);
-            cairo_translate (cr, 4 * x + 1, 4 * y + 1);
-            cairo_rectangle (cr, 0, 0, 2, 2);
-            cairo_set_source (cr, pattern);
-            cairo_fill (cr);
-            cairo_restore (cr);
-        }
-    }
-    cairo_pattern_destroy (pattern);
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_surface_t *
-create_source (cairo_surface_t *similar)
-{
-    cairo_surface_t *source;
-    cairo_t *cr;
-    double colors[4][3] = {
-      { 0.75, 0,    0    },
-      { 0,    0.75, 0    },
-      { 0,    0,    0.75 },
-      { 0.75, 0.75, 0    }
-    };
-    int i;
-
-    source = cairo_surface_create_similar (similar,
-                                           CAIRO_CONTENT_COLOR_ALPHA,
-                                           2, 2);
-
-    cr = cairo_create (source);
-    cairo_surface_destroy (source);
-
-    for (i = 0; i < 4; i++) {
-      cairo_set_source_rgb (cr, colors[i][0], colors[i][1], colors[i][2]);
-      cairo_rectangle (cr, i % 2, i / 2, 1, 1);
-      cairo_fill (cr);
-    }
-
-    source = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return source;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    pthread_t threads[N_THREADS];
-    thread_data_t thread_data[N_THREADS];
-    cairo_test_status_t test_status = CAIRO_TEST_SUCCESS;
-    cairo_surface_t *source;
-    cairo_status_t status;
-    int i;
-
-    source = create_source (cairo_get_target (cr));
-    status = cairo_surface_status (source);
-    if (status) {
-       cairo_surface_destroy (source);
-       return cairo_test_status_from_status (cairo_test_get_context (cr),
-                                             status);
-    }
-
-    for (i = 0; i < N_THREADS; i++) {
-        thread_data[i].target = cairo_surface_create_similar (cairo_get_target (cr),
-                                                              CAIRO_CONTENT_COLOR_ALPHA,
-                                                              4 * WIDTH, 4 * HEIGHT);
-        thread_data[i].source = cairo_surface_reference (source);
-        thread_data[i].id = i;
-        if (pthread_create (&threads[i], NULL, draw_thread, &thread_data[i]) != 0) {
-           threads[i] = pthread_self (); /* to indicate error */
-            cairo_surface_destroy (thread_data[i].target);
-            cairo_surface_destroy (thread_data[i].source);
-            test_status = CAIRO_TEST_FAILURE;
-           break;
-        }
-    }
-
-    cairo_surface_destroy (source);
-
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_paint (cr);
-
-    for (i = 0; i < N_THREADS; i++) {
-       void *surface;
-
-        if (pthread_equal (threads[i], pthread_self ()))
-            break;
-
-        if (pthread_join (threads[i], &surface) == 0) {
-           cairo_set_source_surface (cr, surface, 0, 0);
-           cairo_surface_destroy (surface);
-           cairo_paint (cr);
-
-           cairo_translate (cr, 0, 4 * HEIGHT);
-       } else {
-            test_status = CAIRO_TEST_FAILURE;
-       }
-    }
-
-    return test_status;
-}
-
-CAIRO_TEST (pthread_same_source,
-           "Use the same source for drawing in different threads",
-           "threads", /* keywords */
-           NULL, /* requirements */
-           4 * WIDTH, 4 * HEIGHT * N_THREADS,
-           NULL, draw)
diff --git a/test/pthread-show-text.c b/test/pthread-show-text.c
deleted file mode 100644 (file)
index 0e070b7..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Test case for bug #4299:
-
-   Assertion fails in "cairo-font.c" when using multithreads
-   https://bugs.freedesktop.org/show_bug.cgi?id=4299
-*/
-
-#include "cairo-test.h"
-
-#include <string.h>
-#include <stdlib.h>
-#include <pthread.h>
-
-#define N_THREADS 8
-#define NUM_ITERATIONS 40
-
-#define WIDTH 400
-#define HEIGHT 42
-
-typedef struct {
-  cairo_surface_t *target;
-  int id;
-} thread_data_t;
-
-static void *
-draw_thread (void *arg)
-{
-    const char *text = "Hello world. ";
-    thread_data_t *thread_data = arg;
-    cairo_surface_t *surface;
-    cairo_font_extents_t extents;
-    cairo_t *cr;
-    int i;
-
-    cr = cairo_create (thread_data->target);
-    cairo_surface_destroy (thread_data->target);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_select_font_face (cr, "serif",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, NUM_ITERATIONS);
-    cairo_font_extents (cr, &extents);
-
-    cairo_move_to (cr, 1, HEIGHT - extents.descent - 1);
-
-    for (i = 0; i < NUM_ITERATIONS; i++) {
-       char buf[2];
-
-        cairo_select_font_face (cr, "serif",
-                               CAIRO_FONT_SLANT_NORMAL,
-                               CAIRO_FONT_WEIGHT_NORMAL);
-       cairo_set_font_size (cr, i);
-
-       buf[0] = text[i%strlen(text)];
-       buf[1] = '\0';
-       cairo_show_text (cr, buf);
-    }
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    pthread_t threads[N_THREADS];
-    thread_data_t thread_data[N_THREADS];
-    cairo_test_status_t test_status = CAIRO_TEST_SUCCESS;
-    int i;
-
-    for (i = 0; i < N_THREADS; i++) {
-        thread_data[i].target = cairo_surface_create_similar (cairo_get_target (cr),
-                                                             cairo_surface_get_content (cairo_get_target (cr)),
-                                                             WIDTH, HEIGHT);
-        thread_data[i].id = i;
-        if (pthread_create (&threads[i], NULL, draw_thread, &thread_data[i]) != 0) {
-           threads[i] = pthread_self (); /* to indicate error */
-            cairo_surface_destroy (thread_data[i].target);
-            test_status = CAIRO_TEST_FAILURE;
-           break;
-        }
-    }
-
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_paint (cr);
-
-    for (i = 0; i < N_THREADS; i++) {
-       void *surface;
-
-        if (pthread_equal (threads[i], pthread_self ()))
-            break;
-
-        if (pthread_join (threads[i], &surface) == 0) {
-           cairo_set_source_surface (cr, surface, 0, 0);
-           cairo_surface_destroy (surface);
-           cairo_paint (cr);
-
-           cairo_translate (cr, 0, HEIGHT);
-       } else {
-            test_status = CAIRO_TEST_FAILURE;
-       }
-    }
-
-    return test_status;
-}
-
-CAIRO_TEST (pthread_show_text,
-           "Concurrent stress test of the cairo_show_text().",
-           "thread, text", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT * N_THREADS,
-           NULL, draw)
diff --git a/test/pthread-similar.c b/test/pthread-similar.c
deleted file mode 100644 (file)
index a5f5e3b..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright 2009 Benjamin Otte
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-#include <pthread.h>
-
-#define N_THREADS 8
-
-#define WIDTH 64
-#define HEIGHT 8
-
-static void *
-draw_thread (void *arg)
-{
-    cairo_surface_t *surface = arg;
-    cairo_t *cr;
-    int x, y;
-
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    for (y = 0; y < HEIGHT; y++) {
-        for (x = 0; x < WIDTH; x++) {
-            cairo_rectangle (cr, x, y, 1, 1);
-            cairo_set_source_rgba (cr, 0, 0.75, 0.75, (double) x / WIDTH);
-            cairo_fill (cr);
-        }
-    }
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    pthread_t threads[N_THREADS];
-    cairo_test_status_t test_status = CAIRO_TEST_SUCCESS;
-    int i;
-
-    for (i = 0; i < N_THREADS; i++) {
-       cairo_surface_t *surface;
-
-        surface = cairo_surface_create_similar (cairo_get_target (cr),
-                                               CAIRO_CONTENT_COLOR,
-                                               WIDTH, HEIGHT);
-        if (pthread_create (&threads[i], NULL, draw_thread, surface) != 0) {
-           threads[i] = pthread_self ();
-            test_status = cairo_test_status_from_status (cairo_test_get_context (cr),
-                                                        cairo_surface_status (surface));
-            cairo_surface_destroy (surface);
-           break;
-        }
-    }
-
-    for (i = 0; i < N_THREADS; i++) {
-       void *surface;
-
-        if (pthread_equal (threads[i], pthread_self ()))
-            break;
-
-        if (pthread_join (threads[i], &surface) == 0) {
-           cairo_set_source_surface (cr, surface, 0, 0);
-           cairo_surface_destroy (surface);
-           cairo_paint (cr);
-
-           cairo_translate (cr, 0, HEIGHT);
-       } else {
-            test_status = CAIRO_TEST_FAILURE;
-       }
-    }
-
-    return test_status;
-}
-
-CAIRO_TEST (pthread_similar,
-           "Draw lots of 1x1 rectangles on similar surfaces in lots of threads",
-           "threads", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT * N_THREADS,
-           NULL, draw)
diff --git a/test/push-group-color.c b/test/push-group-color.c
deleted file mode 100644 (file)
index 1bc5bca..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright © 2005 Mozilla Corporation
- * Copyright © 2009 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define UNIT_SIZE 100
-#define PAD 5
-#define INNER_PAD 10
-
-#define WIDTH (UNIT_SIZE + PAD) + PAD
-#define HEIGHT (UNIT_SIZE + PAD) + PAD
-
-static cairo_pattern_t *
-argb32_source (void)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *pattern;
-    cairo_t *cr;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 16, 16);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_rectangle (cr, 8, 0, 8, 8);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_rectangle (cr, 0, 8, 8, 8);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_rectangle (cr, 8, 8, 8, 8);
-    cairo_fill (cr);
-
-    pattern = cairo_pattern_create_for_surface (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return pattern;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *gradient, *image;
-
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    /* clip to the unit size */
-    cairo_rectangle (cr, 0, 0,
-                    UNIT_SIZE, UNIT_SIZE);
-    cairo_clip (cr);
-
-    cairo_rectangle (cr, 0, 0,
-                    UNIT_SIZE, UNIT_SIZE);
-    cairo_set_source_rgba (cr, 0, 0, 0, 1);
-    cairo_set_line_width (cr, 2);
-    cairo_stroke (cr);
-
-    /* start a group */
-    cairo_push_group_with_content (cr, CAIRO_CONTENT_COLOR);
-
-    /* draw a gradient background */
-    cairo_save (cr);
-    cairo_translate (cr, INNER_PAD, INNER_PAD);
-    cairo_new_path (cr);
-    cairo_rectangle (cr, 0, 0,
-                    UNIT_SIZE - (INNER_PAD*2), UNIT_SIZE - (INNER_PAD*2));
-    gradient = cairo_pattern_create_linear (UNIT_SIZE - (INNER_PAD*2), 0,
-                                            UNIT_SIZE - (INNER_PAD*2), UNIT_SIZE - (INNER_PAD*2));
-    cairo_pattern_add_color_stop_rgba (gradient, 0.0, 0.3, 0.3, 0.3, 1.0);
-    cairo_pattern_add_color_stop_rgba (gradient, 1.0, 1.0, 1.0, 1.0, 1.0);
-    cairo_set_source (cr, gradient);
-    cairo_pattern_destroy (gradient);
-    cairo_fill (cr);
-    cairo_restore (cr);
-
-    /* draw diamond */
-    cairo_move_to (cr, UNIT_SIZE / 2, 0);
-    cairo_line_to (cr, UNIT_SIZE    , UNIT_SIZE / 2);
-    cairo_line_to (cr, UNIT_SIZE / 2, UNIT_SIZE);
-    cairo_line_to (cr, 0            , UNIT_SIZE / 2);
-    cairo_close_path (cr);
-    cairo_set_source_rgba (cr, 0, 0, 1, 1);
-    cairo_fill (cr);
-
-    /* draw circle */
-    cairo_arc (cr,
-              UNIT_SIZE / 2, UNIT_SIZE / 2,
-              UNIT_SIZE / 3.5,
-              0, M_PI * 2);
-    cairo_set_source_rgba (cr, 1, 0, 0, 1);
-    cairo_fill (cr);
-
-    /* and put the image on top */
-    cairo_translate (cr, UNIT_SIZE/2 - 8, UNIT_SIZE/2 - 8);
-    image = argb32_source ();
-    cairo_set_source (cr, image);
-    cairo_pattern_destroy (image);
-    cairo_paint (cr);
-
-    cairo_pop_group_to_source (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (push_group_color,
-           "Verify that cairo_push_group_with_content works.",
-           "group", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/push-group-path-offset.c b/test/push-group-path-offset.c
deleted file mode 100644 (file)
index 6b73ca4..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2010 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-
-#define CLIP_OFFSET 15
-#define CLIP_SIZE 20
-
-#define WIDTH 50
-#define HEIGHT 50
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Neutral gray background */
-    cairo_set_source_rgb (cr, 0.51613, 0.55555, 0.51613);
-    cairo_paint (cr);
-
-    /* the rest uses CAIRO_OPERATOR_SOURCE so we see better when something goes wrong */
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-
-    /* add a rectangle */
-    cairo_rectangle (cr, CLIP_OFFSET, CLIP_OFFSET, CLIP_SIZE, CLIP_SIZE);
-
-    /* clip to the rectangle */
-    cairo_clip_preserve (cr);
-
-    /* push a group. We now have a device offset. */
-    cairo_push_group (cr);
-
-    /* push a group again. This is where the bug used to happen. */
-    cairo_push_group (cr);
-
-    /* draw something */
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill_preserve (cr);
-
-    /* make sure the stuff we drew ends up on the output */
-    cairo_pop_group_to_source (cr);
-    cairo_fill_preserve (cr);
-
-    cairo_pop_group_to_source (cr);
-    cairo_fill_preserve (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (push_group_path_offset,
-           "Exercises a bug in Cairo 1.9 where existing paths applied the target's"
-            " device offset twice when cairo_push_group() was called.",
-           "group, path", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/push-group.c b/test/push-group.c
deleted file mode 100644 (file)
index 8e6ce19..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright © 2005 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include "cairo-test.h"
-
-#define UNIT_SIZE 100
-#define PAD 5
-#define INNER_PAD 10
-
-#define WIDTH (UNIT_SIZE + PAD) + PAD
-#define HEIGHT (UNIT_SIZE + PAD) + PAD
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *gradient;
-    int i, j;
-
-    gradient = cairo_pattern_create_linear (UNIT_SIZE - (INNER_PAD*2), 0,
-                                            UNIT_SIZE - (INNER_PAD*2), UNIT_SIZE - (INNER_PAD*2));
-    cairo_pattern_add_color_stop_rgba (gradient, 0.0, 0.3, 0.3, 0.3, 1.0);
-    cairo_pattern_add_color_stop_rgba (gradient, 1.0, 1.0, 1.0, 1.0, 1.0);
-
-    for (j = 0; j < 1; j++) {
-        for (i = 0; i < 1; i++) {
-            double x = (i * UNIT_SIZE) + (i + 1) * PAD;
-            double y = (j * UNIT_SIZE) + (j + 1) * PAD;
-
-            cairo_save (cr);
-
-            cairo_translate (cr, x, y);
-
-            /* draw a gradient background */
-            cairo_save (cr);
-            cairo_translate (cr, INNER_PAD, INNER_PAD);
-            cairo_new_path (cr);
-            cairo_rectangle (cr, 0, 0,
-                             UNIT_SIZE - (INNER_PAD*2), UNIT_SIZE - (INNER_PAD*2));
-            cairo_set_source (cr, gradient);
-            cairo_fill (cr);
-            cairo_restore (cr);
-
-            /* clip to the unit size */
-            cairo_rectangle (cr, 0, 0,
-                             UNIT_SIZE, UNIT_SIZE);
-            cairo_clip (cr);
-
-            cairo_rectangle (cr, 0, 0,
-                             UNIT_SIZE, UNIT_SIZE);
-            cairo_set_source_rgba (cr, 0, 0, 0, 1);
-            cairo_set_line_width (cr, 2);
-            cairo_stroke (cr);
-
-            /* start a group */
-            cairo_push_group (cr);
-
-            /* draw diamond */
-            cairo_move_to (cr, UNIT_SIZE / 2, 0);
-            cairo_line_to (cr, UNIT_SIZE    , UNIT_SIZE / 2);
-            cairo_line_to (cr, UNIT_SIZE / 2, UNIT_SIZE);
-            cairo_line_to (cr, 0            , UNIT_SIZE / 2);
-            cairo_close_path (cr);
-            cairo_set_source_rgba (cr, 0, 0, 1, 1);
-            cairo_fill (cr);
-
-            /* draw circle */
-            cairo_arc (cr,
-                       UNIT_SIZE / 2, UNIT_SIZE / 2,
-                       UNIT_SIZE / 3.5,
-                       0, M_PI * 2);
-            cairo_set_source_rgba (cr, 1, 0, 0, 1);
-            cairo_fill (cr);
-
-            cairo_pop_group_to_source (cr);
-            cairo_paint_with_alpha (cr, 0.5);
-
-            cairo_restore (cr);
-        }
-    }
-
-    cairo_pattern_destroy (gradient);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (push_group,
-           "Verify that cairo_push_group works.",
-           "group", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/quartz-surface-source.c b/test/quartz-surface-source.c
deleted file mode 100644 (file)
index b0c86d0..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-#include "cairo-quartz.h"
-
-#include "surface-source.c"
-
-static cairo_surface_t *
-create_source_surface (int size)
-{
-    return cairo_quartz_surface_create (CAIRO_FORMAT_ARGB32, size, size);
-}
-
-CAIRO_TEST (quartz_surface_source,
-           "Test using a Quartz surface as the source",
-           "source", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           preamble, draw)
diff --git a/test/radial-gradient-extend.c b/test/radial-gradient-extend.c
deleted file mode 100644 (file)
index c32a2c3..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2010 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define NUM_EXTEND 4
-#define HEIGHT 16
-#define WIDTH 16
-#define PAD 3
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    unsigned int i, j;
-
-    cairo_extend_t extend[NUM_EXTEND] = {
-       CAIRO_EXTEND_NONE,
-       CAIRO_EXTEND_REPEAT,
-       CAIRO_EXTEND_REFLECT,
-       CAIRO_EXTEND_PAD
-    };
-
-    cairo_test_paint_checkered (cr);
-
-    pattern = cairo_pattern_create_radial (WIDTH / 2, HEIGHT / 2, 0, WIDTH / 2, HEIGHT / 2, 2 * PAD);
-
-    cairo_pattern_add_color_stop_rgb (pattern, 0, 0, 0, 1);
-    cairo_pattern_add_color_stop_rgb (pattern, 1, 0, 0, 1);
-
-    cairo_translate (cr, PAD, PAD);
-
-    for (i = 0; i < 2; i++) {
-        cairo_save (cr);
-       
-       for (j = 0; j < NUM_EXTEND; j++) {
-           cairo_pattern_set_extend (pattern, extend[j]);
-
-           cairo_reset_clip (cr);
-           cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-           cairo_clip (cr);
-
-           if (i & 1) {
-               cairo_set_source_rgb (cr, 0, 1, 0);
-               cairo_mask (cr, pattern);
-           } else {
-               cairo_set_source (cr, pattern);
-               cairo_paint (cr);
-           }
-
-           cairo_translate (cr, WIDTH+PAD, 0);
-       }
-
-       cairo_restore (cr);
-       cairo_translate (cr, 0, HEIGHT+PAD);
-    }
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (radial_gradient_extend,
-           "Tests gradient to solid reduction of radial gradients",
-           "radial, pattern, extend", /* keywords */
-           NULL, /* requirements */
-           (WIDTH+PAD) * NUM_EXTEND + PAD, 2*(HEIGHT + PAD) + PAD,
-           NULL, draw)
diff --git a/test/radial-gradient.c b/test/radial-gradient.c
deleted file mode 100644 (file)
index 026876b..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright © 2005, 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define NUM_GRADIENTS 7
-#define NUM_EXTEND 4
-#define SIZE 120
-#define WIDTH (SIZE * NUM_GRADIENTS)
-#define HEIGHT (SIZE * NUM_EXTEND)
-
-typedef void (*composite_t)(cairo_t *cr, cairo_pattern_t *pattern);
-typedef void (*add_stops_t)(cairo_pattern_t *pattern);
-
-/*
- * We want to test all the possible relative positions of the start
- * and end circle:
- *
- *  - The start circle can be smaller/equal/bigger than the end
- *    circle. A radial gradient can be classified in one of these
- *    three cases depending on the sign of dr.
- *
- *  - The smaller circle can be completely inside/internally
- *    tangent/outside (at least in part) of the bigger circle. This
- *    classification is the same as the one which can be computed by
- *    examining the sign of a = (dx^2 + dy^2 - dr^2).
- *
- *  - If the two circles have the same size, neither can be inside or
- *    internally tangent
- *
- * This test draws radial gradients whose circles always have the same
- * centers (0, 0) and (1, 0), but with different radiuses. From left
- * to right:
- *
- * - Small start circle completely inside the end circle
- *     0.25 -> 1.75; dr =  1.5 > 0; a = 1 - 1.50^2 < 0
- *
- * - Small start circle internally tangent to the end circle
- *     0.50 -> 1.50; dr =  1.0 > 0; a = 1 - 1.00^2 = 0
- *
- * - Small start circle outside of the end circle
- *     0.50 -> 1.00; dr =  0.5 > 0; a = 1 - 0.50^2 > 0
- *
- * - Start circle with the same size as the end circle
- *     1.00 -> 1.00; dr =  0.0 = 0; a = 1 - 0.00^2 > 0
- *
- * - Small end circle outside of the start circle
- *     1.00 -> 0.50; dr = -0.5 > 0; a = 1 - 0.50^2 > 0
- *
- * - Small end circle internally tangent to the start circle
- *     1.50 -> 0.50; dr = -1.0 > 0; a = 1 - 1.00^2 = 0
- *
- * - Small end circle completely inside the start circle
- *     1.75 -> 0.25; dr = -1.5 > 0; a = 1 - 1.50^2 < 0
- *
- */
-
-static const double radiuses[NUM_GRADIENTS] = {
-    0.25,
-    0.50,
-    0.50,
-    1.00,
-    1.00,
-    1.50,
-    1.75
-};
-
-static cairo_pattern_t *
-create_pattern (int index)
-{
-    double x0, x1, radius0, radius1, left, right, center;
-
-    x0 = 0;
-    x1 = 1;
-    radius0 = radiuses[index];
-    radius1 = radiuses[NUM_GRADIENTS - index - 1];
-
-    /* center the gradient */
-    left = MIN (x0 - radius0, x1 - radius1);
-    right = MAX (x0 + radius0, x1 + radius1);
-    center = (left + right) * 0.5;
-    x0 -= center;
-    x1 -= center;
-
-    /* scale to make it fit within a 1x1 rect centered in (0,0) */
-    x0 *= 0.25;
-    x1 *= 0.25;
-    radius0 *= 0.25;
-    radius1 *= 0.25;
-
-    return cairo_pattern_create_radial (x0, 0, radius0, x1, 0, radius1);
-}
-
-static void
-pattern_add_stops (cairo_pattern_t *pattern)
-{
-    cairo_pattern_add_color_stop_rgba (pattern, 0.0,        1, 0, 0, 0.75);
-    cairo_pattern_add_color_stop_rgba (pattern, sqrt (0.5), 0, 1, 0, 0);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.0,        0, 0, 1, 1);
-}
-
-static void
-pattern_add_single_stop (cairo_pattern_t *pattern)
-{
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1, 0, 0, 1);
-}
-
-
-static cairo_test_status_t
-draw (cairo_t *cr, add_stops_t add_stops, composite_t composite)
-{
-    int i, j;
-    cairo_extend_t extend[NUM_EXTEND] = {
-       CAIRO_EXTEND_NONE,
-       CAIRO_EXTEND_REPEAT,
-       CAIRO_EXTEND_REFLECT,
-       CAIRO_EXTEND_PAD
-    };
-
-    cairo_scale (cr, SIZE, SIZE);
-    cairo_translate (cr, 0.5, 0.5);
-
-    for (j = 0; j < NUM_EXTEND; j++) {
-       cairo_save (cr);
-       for (i = 0; i < NUM_GRADIENTS; i++) {
-           cairo_pattern_t *pattern;
-
-           pattern = create_pattern (i);
-           add_stops (pattern);
-           cairo_pattern_set_extend (pattern, extend[j]);
-
-           cairo_save (cr);
-           cairo_rectangle (cr, -0.5, -0.5, 1, 1);
-           cairo_clip (cr);
-           composite (cr, pattern);
-           cairo_restore (cr);
-           cairo_pattern_destroy (pattern);
-
-           cairo_translate (cr, 1, 0);
-       }
-       cairo_restore (cr);
-       cairo_translate (cr, 0, 1);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-
-static void
-composite_simple (cairo_t *cr, cairo_pattern_t *pattern)
-{
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-}
-
-static void
-composite_mask (cairo_t *cr, cairo_pattern_t *pattern)
-{
-    cairo_set_source_rgb (cr, 1, 0, 1);
-    cairo_mask (cr, pattern);
-}
-
-
-static cairo_test_status_t
-draw_simple (cairo_t *cr, int width, int height)
-{
-    cairo_test_paint_checkered (cr);
-    return draw (cr, pattern_add_stops, composite_simple);
-}
-
-static cairo_test_status_t
-draw_mask (cairo_t *cr, int width, int height)
-{
-    cairo_test_paint_checkered (cr);
-    return draw (cr, pattern_add_stops, composite_mask);
-}
-
-static cairo_test_status_t
-draw_source (cairo_t *cr, int width, int height)
-{
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    return draw (cr, pattern_add_stops, composite_simple);
-}
-
-
-static cairo_test_status_t
-draw_mask_source (cairo_t *cr, int width, int height)
-{
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    return draw (cr, pattern_add_stops, composite_mask);
-}
-
-static cairo_test_status_t
-draw_one_stop (cairo_t *cr, int width, int height)
-{
-    cairo_test_paint_checkered (cr);
-    return draw (cr, pattern_add_single_stop, composite_simple);
-}
-
-CAIRO_TEST (radial_gradient,
-           "Simple test of radial gradients",
-           "gradient", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_simple)
-
-CAIRO_TEST (radial_gradient_mask,
-           "Simple test of radial gradients using a MASK",
-           "gradient,mask", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_mask)
-
-CAIRO_TEST (radial_gradient_source,
-           "Simple test of radial gradients using the SOURCE operator",
-           "gradient,source", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_source)
-
-CAIRO_TEST (radial_gradient_mask_source,
-           "Simple test of radial gradients using a MASK with a SOURCE operator",
-           "gradient,mask,source", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_mask_source)
-
-CAIRO_TEST (radial_gradient_one_stop,
-           "Tests radial gradients with a single stop",
-           "gradient,radial", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_one_stop)
diff --git a/test/radial-outer-focus.c b/test/radial-outer-focus.c
deleted file mode 100644 (file)
index e038947..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Krzysztof Kosi\u0144ski <tweenk.pl@gmail.com>
- */
-
-/* Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40918 */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *radial;
-    double angle;
-    int i, j;
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    angle = 0.0;
-
-    for (i = 0; i < 4; i++) {
-       for (j = 0; j < 4; j++) {
-           cairo_save (cr);
-           cairo_rectangle (cr, 100*i, 100*j, 100, 100);
-           cairo_clip (cr);
-
-           radial = cairo_pattern_create_radial (cos (angle), sin (angle), 0,
-                                                 0, 0, 1);
-           cairo_pattern_add_color_stop_rgb (radial, 0.0, 1, 0, 0);
-           cairo_pattern_add_color_stop_rgb (radial, 1.0, 0, 1, 0);
-
-           cairo_translate (cr, 100*i+50, 100*j+50);
-           cairo_scale (cr, 50, -50);
-           cairo_set_source (cr, radial);
-           cairo_pattern_destroy (radial);
-
-           cairo_paint(cr);
-           cairo_restore (cr);
-
-           angle += M_PI/17;
-       }
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (radial_outer_focus,
-           "Exercises the condition of rendering a radial gradial on its outer focus",
-           "radial", /* keywords */
-           NULL, /* requirements */
-           400, 400,
-           NULL, draw)
diff --git a/test/random-clips.c b/test/random-clips.c
deleted file mode 100644 (file)
index 31d7d6d..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Copyright © 2006 M Joonas Pihlaja
- * Copyright © 2011 Chris Wilson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Authors:
- *   M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- *   Chris Wilson <chris@chris-wilson.co.uk>
- */
-#include "cairo-test.h"
-
-#define SIZE 512
-#define STEP (512+2)
-#define NUM_SEGMENTS 128
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static void nz_path (cairo_t *cr)
-{
-    int i;
-
-    state = 0xc0ffee;
-
-    cairo_move_to (cr, 0, 0);
-    for (i = 0; i < NUM_SEGMENTS; i++) {
-       double x = uniform_random (0, SIZE);
-       double y = uniform_random (0, SIZE);
-       cairo_line_to (cr, x, y);
-    }
-    cairo_close_path (cr);
-}
-
-static void region_path (cairo_t *cr)
-{
-    int i;
-
-    state = 0xc0ffee;
-
-    for (i = 0; i < NUM_SEGMENTS; i++) {
-       int x = uniform_random (0, SIZE);
-       int y = uniform_random (0, SIZE);
-       int w = uniform_random (0, 40);
-       int h = uniform_random (0, 40);
-       cairo_rectangle (cr, x, y, w, h);
-    }
-}
-
-static void rectangle_path (cairo_t *cr)
-{
-    int i;
-
-    state = 0xc0ffee;
-
-    for (i = 0; i < NUM_SEGMENTS; i++) {
-       double x = uniform_random (0, SIZE);
-       double y = uniform_random (0, SIZE);
-       double w = uniform_random (0, 40);
-       double h = uniform_random (0, 40);
-       cairo_rectangle (cr, x, y, w, h);
-    }
-}
-
-static void arc_path (cairo_t *cr)
-{
-    int i;
-
-    state = 0xc0ffee;
-
-    for (i = 0; i < NUM_SEGMENTS; i++) {
-       double x = uniform_random (0, SIZE);
-       double y = uniform_random (0, SIZE);
-       double r = uniform_random (0, 20);
-       cairo_new_sub_path (cr);
-       cairo_arc (cr, x, y, r, 0, 2*M_PI);
-    }
-}
-
-
-static void nz_fill_stroke (cairo_t *cr)
-{
-    nz_path (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_set_line_width (cr, 1.0);
-    cairo_stroke (cr);
-}
-
-static void clip_to_quadrant (cairo_t *cr)
-{
-    cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-    cairo_clip (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
-
-    state = 0xc0ffee;
-    cairo_translate (cr, 1, 1);
-
-    /* no clipping */
-    cairo_save (cr); {
-       clip_to_quadrant (cr);
-
-       nz_fill_stroke (cr);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, STEP, 0);
-
-    /* random clipping */
-    cairo_save (cr); {
-       clip_to_quadrant (cr);
-
-       nz_path (cr);
-       cairo_clip (cr);
-
-       nz_fill_stroke (cr);
-
-       cairo_set_source_rgba (cr, 1, 1, 1, 0.5);
-       cairo_paint (cr);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, STEP, 0);
-
-    /* regional clipping */
-    cairo_save (cr); {
-       clip_to_quadrant (cr);
-
-       region_path (cr);
-       cairo_clip (cr);
-
-       nz_fill_stroke (cr);
-
-       cairo_set_source_rgba (cr, 1, 1, 1, 0.5);
-       cairo_paint (cr);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, -2*STEP, STEP);
-
-    /* rectangular clipping */
-    cairo_save (cr); {
-       clip_to_quadrant (cr);
-
-       rectangle_path (cr);
-       cairo_clip (cr);
-
-       nz_fill_stroke (cr);
-
-       cairo_set_source_rgba (cr, 1, 1, 1, 0.5);
-       cairo_paint (cr);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, STEP, 0);
-
-    /* circular clipping */
-    cairo_save (cr); {
-       clip_to_quadrant (cr);
-
-       arc_path (cr);
-       cairo_clip (cr);
-
-       nz_fill_stroke (cr);
-
-       cairo_set_source_rgba (cr, 1, 1, 1, 0.5);
-       cairo_paint (cr);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, STEP, 0);
-
-    /* all-of-the-above clipping */
-    cairo_save (cr); {
-       clip_to_quadrant (cr);
-
-       nz_path (cr);
-       cairo_clip (cr);
-       region_path (cr);
-       cairo_clip (cr);
-       rectangle_path (cr);
-       cairo_clip (cr);
-       arc_path (cr);
-       cairo_clip (cr);
-
-       nz_fill_stroke (cr);
-
-       cairo_set_source_rgba (cr, 1, 1, 1, 0.5);
-       cairo_paint (cr);
-    } cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (random_clip,
-           "Tests the clip generation and intersection computation",
-           "trap, clip", /* keywords */
-           NULL, /* requirements */
-           3*STEP+2, 2*STEP+2,
-           NULL, draw)
diff --git a/test/random-intersections-curves-eo.c b/test/random-intersections-curves-eo.c
deleted file mode 100644 (file)
index 84e9a75..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright © 2006 M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-#include "cairo-test.h"
-
-#define SIZE 512
-#define NUM_SEGMENTS 128
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    state = 0x12345678;
-    cairo_translate (cr, 1, 1);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    cairo_move_to (cr, 0, 0);
-    for (i = 0; i < NUM_SEGMENTS; i++) {
-        double y3 = uniform_random (0, SIZE);
-        double x3 = uniform_random (0, SIZE);
-        double y2 = uniform_random (-SIZE, SIZE);
-        double x2 = uniform_random (-SIZE, SIZE);
-        double y1 = uniform_random (-SIZE, SIZE);
-        double x1 = uniform_random (-SIZE, SIZE);
-        cairo_curve_to (cr,
-                        x1, y1,
-                        x2, y2,
-                        x3, y3);
-    }
-    cairo_close_path (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_set_line_width (cr, 0.5);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (random_intersections_curves_eo,
-           "Tests the tessellator trapezoid generation and intersection computation",
-           "trap", /* keywords */
-           NULL, /* requirements */
-           SIZE+3, SIZE+3,
-           NULL, draw)
diff --git a/test/random-intersections-curves-nz.c b/test/random-intersections-curves-nz.c
deleted file mode 100644 (file)
index 5265e4a..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright © 2006 M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-#include "cairo-test.h"
-
-#define SIZE 512
-#define NUM_SEGMENTS 128
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    state = 0x12345678;
-    cairo_translate (cr, 1, 1);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
-
-    cairo_move_to (cr, 0, 0);
-    for (i = 0; i < NUM_SEGMENTS; i++) {
-        double y3 = uniform_random (0, SIZE);
-        double x3 = uniform_random (0, SIZE);
-        double y2 = uniform_random (-SIZE, SIZE);
-        double x2 = uniform_random (-SIZE, SIZE);
-        double y1 = uniform_random (-SIZE, SIZE);
-        double x1 = uniform_random (-SIZE, SIZE);
-        cairo_curve_to (cr,
-                        x1, y1,
-                        x2, y2,
-                        x3, y3);
-    }
-    cairo_close_path (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_set_line_width (cr, 0.5);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (random_intersections_curves_nz,
-           "Tests the tessellator trapezoid generation and intersection computation",
-           "trap", /* keywords */
-           NULL, /* requirements */
-           SIZE+3, SIZE+3,
-           NULL, draw)
-
diff --git a/test/random-intersections-eo.c b/test/random-intersections-eo.c
deleted file mode 100644 (file)
index d35894f..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright © 2006 M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-#include "cairo-test.h"
-
-#define SIZE 512
-#define NUM_SEGMENTS 128
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    state = 0x12345678;
-    cairo_translate (cr, 1, 1);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    cairo_move_to (cr, 0, 0);
-    for (i = 0; i < NUM_SEGMENTS; i++) {
-       double x = uniform_random (0, width);
-       double y = uniform_random (0, height);
-       cairo_line_to (cr, x, y);
-    }
-    cairo_close_path (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_set_line_width (cr, 0.5);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (random_intersections_eo,
-           "Tests the tessellator trapezoid generation and intersection computation",
-           "trap", /* keywords */
-           NULL, /* requirements */
-           SIZE+3, SIZE+3,
-           NULL, draw)
-
diff --git a/test/random-intersections-nonzero.c b/test/random-intersections-nonzero.c
deleted file mode 100644 (file)
index cad047e..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright © 2006 M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-#include "cairo-test.h"
-
-#define SIZE 512
-#define NUM_SEGMENTS 128
-
-static uint32_t state;
-
-static double
-uniform_random (double minval, double maxval)
-{
-    static uint32_t const poly = 0x9a795537U;
-    uint32_t n = 32;
-    while (n-->0)
-       state = 2*state < state ? (2*state ^ poly) : 2*state;
-    return minval + state * (maxval - minval) / 4294967296.0;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    state = 0x12345678;
-    cairo_translate (cr, 1, 1);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_WINDING);
-
-    cairo_move_to (cr, 0, 0);
-    for (i = 0; i < NUM_SEGMENTS; i++) {
-       double x = uniform_random (0, width);
-       double y = uniform_random (0, height);
-       cairo_line_to (cr, x, y);
-    }
-    cairo_close_path (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill_preserve (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_set_line_width (cr, 0.5);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (random_intersections_nonzero,
-           "Tests the tessellator trapezoid generation and intersection computation",
-           "trap", /* keywords */
-           NULL, /* requirements */
-           SIZE+3, SIZE+3,
-           NULL, draw)
-
-
diff --git a/test/raster-source.c b/test/raster-source.c
deleted file mode 100644 (file)
index 5a7646e..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#include <stdio.h>
-#include <errno.h>
-
-/* Basic test to exercise the new mime-surface callback. */
-
-#define WIDTH 200
-#define HEIGHT 80
-
-/* Lazy way of determining PNG dimensions... */
-static void
-png_dimensions (const char *filename,
-               cairo_content_t *content, int *width, int *height)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_from_png (filename);
-    *content = cairo_surface_get_content (surface);
-    *width = cairo_image_surface_get_width (surface);
-    *height = cairo_image_surface_get_height (surface);
-    cairo_surface_destroy (surface);
-}
-
-static cairo_surface_t *
-png_acquire (cairo_pattern_t *pattern, void *closure,
-            cairo_surface_t *target,
-            const cairo_rectangle_int_t *extents)
-{
-    return cairo_image_surface_create_from_png (closure);
-}
-
-static cairo_surface_t *
-red_acquire (cairo_pattern_t *pattern, void *closure,
-            cairo_surface_t *target,
-            const cairo_rectangle_int_t *extents)
-{
-    cairo_surface_t *image;
-    cairo_t *cr;
-
-    image = cairo_surface_create_similar_image (target,
-                                               CAIRO_FORMAT_RGB24,
-                                               extents->width,
-                                               extents->height);
-    cairo_surface_set_device_offset (image, extents->x, extents->y);
-
-    cr = cairo_create (image);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-    cairo_destroy (cr);
-
-    return image;
-}
-
-static void
-release (cairo_pattern_t *pattern, void *closure, cairo_surface_t *image)
-{
-    cairo_surface_destroy (image);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const char *png_filename = "png.png";
-    cairo_pattern_t *png, *red;
-    cairo_content_t content;
-    int png_width, png_height;
-    int i, j;
-
-    png_dimensions (png_filename, &content, &png_width, &png_height);
-
-    png = cairo_pattern_create_raster_source ((void*)png_filename,
-                                             content, png_width, png_height);
-    cairo_raster_source_pattern_set_acquire (png, png_acquire, release);
-
-    red = cairo_pattern_create_raster_source (NULL,
-                                             CAIRO_CONTENT_COLOR, WIDTH, HEIGHT);
-    cairo_raster_source_pattern_set_acquire (red, red_acquire, release);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 0, (HEIGHT-png_height)/2);
-    for (i = 0; i < 4; i++) {
-       for (j = 0; j < 4; j++) {
-           cairo_pattern_t *source;
-           if ((i ^ j) & 1)
-               source = red;
-           else
-               source = png;
-           cairo_set_source (cr, source);
-           cairo_rectangle (cr, i * WIDTH/4, j * png_height/4, WIDTH/4, png_height/4);
-           cairo_fill (cr);
-       }
-    }
-
-    cairo_pattern_destroy (red);
-    cairo_pattern_destroy (png);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (raster_source,
-           "Check that the mime-surface embedding works",
-           "api", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/record-extend.c b/test/record-extend.c
deleted file mode 100644 (file)
index 5ecef44..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Authors:
- *     Behdad Esfahbod <behdad@behdad.org>
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 90
-
-/* This is written using clip+paint to exercise a bug that once was in the
- * recording surface.
- */
-
-static cairo_surface_t *
-source (cairo_surface_t *surface)
-{
-    cairo_t *cr;
-
-    /* Create a 4-pixel image surface with my favorite four colors in each
-     * quadrant. */
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    /* upper-left = white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_rectangle (cr, 0, 0, 1, 1);
-    cairo_fill (cr);
-
-    /* upper-right = red */
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_rectangle (cr, 1, 0, 1, 1);
-    cairo_fill (cr);
-
-    /* lower-left = green */
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_rectangle (cr, 0, 1, 1, 1);
-    cairo_fill (cr);
-
-    /* lower-right = blue */
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_rectangle (cr, 1, 1, 1, 1);
-    cairo_fill (cr);
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_surface_t *
-image (cairo_t *cr)
-{
-    return source (cairo_image_surface_create (CAIRO_FORMAT_RGB24, 2, 2));
-}
-
-static cairo_surface_t *
-similar (cairo_t *cr)
-{
-    return source (cairo_surface_create_similar (cairo_get_target (cr),
-                                                CAIRO_CONTENT_COLOR, 2, 2));
-}
-
-static cairo_t *
-extend (cairo_t *cr, cairo_surface_t *(*surface)(cairo_t *), cairo_extend_t mode)
-{
-    cairo_surface_t *s;
-
-    cairo_set_source_rgb (cr, 0, 1, 1);
-    cairo_paint (cr);
-
-    /* Now use extend modes to cover most of the surface with those 4 colors */
-    s = surface (cr);
-    cairo_set_source_surface (cr, s, SIZE/2 - 1, SIZE/2 - 1);
-    cairo_surface_destroy (s);
-
-    cairo_pattern_set_extend (cairo_get_source (cr), mode);
-
-    cairo_rectangle (cr, 10, 10, SIZE-20, SIZE-20);
-    cairo_clip (cr);
-    cairo_paint (cr);
-
-    return cr;
-}
-
-static cairo_t *
-extend_none (cairo_t *cr,
-            cairo_surface_t *(*pattern)(cairo_t *))
-{
-    return extend (cr, pattern, CAIRO_EXTEND_NONE);
-}
-
-static cairo_t *
-extend_pad (cairo_t *cr,
-           cairo_surface_t *(*pattern)(cairo_t *))
-{
-    return extend (cr, pattern, CAIRO_EXTEND_PAD);
-}
-
-static cairo_t *
-extend_repeat (cairo_t *cr,
-              cairo_surface_t *(*pattern)(cairo_t *))
-{
-    return extend (cr, pattern, CAIRO_EXTEND_REPEAT);
-}
-
-static cairo_t *
-extend_reflect (cairo_t *cr,
-              cairo_surface_t *(*pattern)(cairo_t *))
-{
-    return extend (cr, pattern, CAIRO_EXTEND_REFLECT);
-}
-
-static cairo_t *
-record_create (cairo_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_recording_surface_create (cairo_surface_get_content (cairo_get_target (target)), NULL);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_surface_t *
-record_get (cairo_t *target)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_surface_reference (cairo_get_target (target));
-    cairo_destroy (target);
-
-    return surface;
-}
-
-static cairo_test_status_t
-record_replay (cairo_t *cr,
-              cairo_t *(*func)(cairo_t *,
-                               cairo_surface_t *(*pattern)(cairo_t *)),
-              cairo_surface_t *(*pattern)(cairo_t *),
-              int width, int height)
-{
-    cairo_surface_t *surface;
-    int x, y;
-
-    surface = record_get (func (record_create (cr), pattern));
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_NONE);
-
-    for (y = 0; y < height; y += 2) {
-       for (x = 0; x < width; x += 2) {
-           cairo_rectangle (cr, x, y, 2, 2);
-           cairo_clip (cr);
-           cairo_paint (cr);
-           cairo_reset_clip (cr);
-       }
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-record_extend_none (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, extend_none, image, width, height);
-}
-
-static cairo_test_status_t
-record_extend_pad (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, extend_pad, image, width, height);
-}
-
-static cairo_test_status_t
-record_extend_repeat (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, extend_repeat, image, width, height);
-}
-
-static cairo_test_status_t
-record_extend_reflect (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, extend_reflect, image, width, height);
-}
-
-static cairo_test_status_t
-record_extend_none_similar (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, extend_none, similar, width, height);
-}
-
-static cairo_test_status_t
-record_extend_pad_similar (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, extend_pad, similar, width, height);
-}
-
-static cairo_test_status_t
-record_extend_repeat_similar (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, extend_repeat, similar, width, height);
-}
-
-static cairo_test_status_t
-record_extend_reflect_similar (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, extend_reflect, similar, width, height);
-}
-
-CAIRO_TEST (record_extend_none,
-           "Test CAIRO_EXTEND_NONE for recorded surface patterns",
-           "record, extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, record_extend_none)
-CAIRO_TEST (record_extend_pad,
-           "Test CAIRO_EXTEND_PAD for recorded surface patterns",
-           "record, extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, record_extend_pad)
-CAIRO_TEST (record_extend_repeat,
-           "Test CAIRO_EXTEND_REPEAT for recorded surface patterns",
-           "record, extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, record_extend_repeat)
-CAIRO_TEST (record_extend_reflect,
-           "Test CAIRO_EXTEND_REFLECT for recorded surface patterns",
-           "record, extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, record_extend_reflect)
-
-CAIRO_TEST (record_extend_none_similar,
-           "Test CAIRO_EXTEND_NONE for recorded surface patterns",
-           "record, extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, record_extend_none_similar)
-CAIRO_TEST (record_extend_pad_similar,
-           "Test CAIRO_EXTEND_PAD for recorded surface patterns",
-           "record, extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, record_extend_pad_similar)
-CAIRO_TEST (record_extend_repeat_similar,
-           "Test CAIRO_EXTEND_REPEAT for recorded surface patterns",
-           "record, extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, record_extend_repeat_similar)
-CAIRO_TEST (record_extend_reflect_similar,
-           "Test CAIRO_EXTEND_REFLECT for recorded surface patterns",
-           "record, extend", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, record_extend_reflect_similar)
diff --git a/test/record-mesh.c b/test/record-mesh.c
deleted file mode 100644 (file)
index 2581ce7..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- * Copyright © 2009 Adrian Johnson
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Authors:
- *     Behdad Esfahbod <behdad@behdad.org>
- *     Adrian Johnson <ajohnson@redneon.com>
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define PAT_WIDTH  170
-#define PAT_HEIGHT 170
-#define SIZE PAT_WIDTH
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-/* This test is designed to paint a mesh pattern. The mesh contains
- * two overlapping patches */
-
-static cairo_pattern_t *
-mesh (void)
-{
-    cairo_pattern_t *pattern;
-
-    pattern = cairo_pattern_create_mesh ();
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern, 0, 0);
-    cairo_mesh_pattern_curve_to (pattern, 30, -30,  60,  30, 100, 0);
-    cairo_mesh_pattern_curve_to (pattern, 60,  30, 130,  60, 100, 100);
-    cairo_mesh_pattern_curve_to (pattern, 60,  70,  30, 130,   0, 100);
-    cairo_mesh_pattern_curve_to (pattern, 30,  70, -30,  30,   0, 0);
-
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 1, 0);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 1);
-    cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 1, 1, 0);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    cairo_mesh_pattern_begin_patch (pattern);
-
-    cairo_mesh_pattern_move_to (pattern, 50, 50);
-    cairo_mesh_pattern_curve_to (pattern,  80,  20, 110,  80, 150, 50);
-    cairo_mesh_pattern_curve_to (pattern, 110,  80, 180, 110, 150, 150);
-    cairo_mesh_pattern_curve_to (pattern, 110, 120,  80, 180,  50, 150);
-    cairo_mesh_pattern_curve_to (pattern,  80, 120,  20,  80,  50, 50);
-
-    cairo_mesh_pattern_set_corner_color_rgba (pattern, 0, 1, 0, 0, 0.3);
-    cairo_mesh_pattern_set_corner_color_rgb  (pattern, 1, 0, 1, 0);
-    cairo_mesh_pattern_set_corner_color_rgba (pattern, 2, 0, 0, 1, 0.3);
-    cairo_mesh_pattern_set_corner_color_rgb  (pattern, 3, 1, 1, 0);
-
-    cairo_mesh_pattern_end_patch (pattern);
-
-    return pattern;
-}
-
-static cairo_t *
-draw (cairo_t *cr)
-{
-    cairo_pattern_t *source;
-
-    cairo_set_source_rgb (cr, 0, 1, 1);
-    cairo_paint (cr);
-
-    source = mesh ();
-    cairo_set_source (cr, source);
-    cairo_pattern_destroy (source);
-
-    cairo_rectangle (cr, 10, 10, SIZE-20, SIZE-20);
-    cairo_clip (cr);
-    cairo_paint (cr);
-
-    return cr;
-}
-
-static cairo_t *
-record_create (cairo_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_recording_surface_create (cairo_surface_get_content (cairo_get_target (target)), NULL);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_surface_t *
-record_get (cairo_t *target)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_surface_reference (cairo_get_target (target));
-    cairo_destroy (target);
-
-    return surface;
-}
-
-static cairo_test_status_t
-record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t *), int width, int height)
-{
-    cairo_surface_t *surface;
-    int x, y;
-
-    surface = record_get (func (record_create (cr)));
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_NONE);
-
-    for (y = 0; y < height; y += 2) {
-       for (x = 0; x < width; x += 2) {
-           cairo_rectangle (cr, x, y, 2, 2);
-           cairo_clip (cr);
-           cairo_paint (cr);
-           cairo_reset_clip (cr);
-       }
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-record_mesh (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, draw, width, height);
-}
-
-CAIRO_TEST (record_mesh,
-           "Paint mesh pattern through a recording surface",
-           "record,mesh,pattern", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, record_mesh)
-
diff --git a/test/record.c b/test/record.c
deleted file mode 100644 (file)
index b1baada..0000000
+++ /dev/null
@@ -1,491 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2011 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors:
- *     Carl D. Worth <cworth@cworth.org>
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define TEXT_SIZE 12
-#define SIZE 60 /* needs to be big to check large area effects (dithering) */
-#define PAD 2
-
-#define TT_SIZE 100
-#define TT_PAD 5
-#define TT_FONT_SIZE 32.0
-
-#define GENERATE_REF 0
-
-static uint32_t data[16] = {
-    0xffffffff, 0xffffffff,            0xffff0000, 0xffff0000,
-    0xffffffff, 0xffffffff,            0xffff0000, 0xffff0000,
-
-    0xff00ff00, 0xff00ff00,            0xff0000ff, 0xff0000ff,
-    0xff00ff00, 0xff00ff00,            0xff0000ff, 0xff0000ff
-};
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_t *
-paint (cairo_t *cr)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 2, 2);
-    cairo_scale (cr, 0.5, 0.5);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_solid_clip (cairo_t *cr)
-{
-    cairo_test_paint_checkered (cr);
-
-    cairo_rectangle (cr, 2.5, 2.5, 27, 27);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 1., 0.,0.);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_clip (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_rectangle (cr, 10.5, 10.5, 11, 11);
-    cairo_clip (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_clip_mask (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_move_to (cr, 16, 5);
-    cairo_line_to (cr, 5, 16);
-    cairo_line_to (cr, 16, 27);
-    cairo_line_to (cr, 27, 16);
-    cairo_clip (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-select_font_face (cairo_t *cr)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-
-    cairo_set_font_size (cr, TEXT_SIZE);
-    cairo_move_to (cr, 0, TEXT_SIZE);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Serif",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, "i-am-serif");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-sans");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans Mono",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-mono");
-
-    return cr;
-}
-
-static cairo_t *
-fill_alpha (cairo_t *cr)
-{
-    const double alpha = 1./3;
-    int n;
-
-    /* flatten to white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* square */
-    cairo_rectangle (cr, PAD, PAD, SIZE, SIZE);
-    cairo_set_source_rgba (cr, 1, 0, 0, alpha);
-    cairo_fill (cr);
-
-    /* circle */
-    cairo_translate (cr, SIZE + 2 * PAD, 0);
-    cairo_arc (cr, PAD + SIZE / 2., PAD + SIZE / 2., SIZE / 2., 0, 2 * M_PI);
-    cairo_set_source_rgba (cr, 0, 1, 0, alpha);
-    cairo_fill (cr);
-
-    /* triangle */
-    cairo_translate (cr, 0, SIZE + 2 * PAD);
-    cairo_move_to (cr, PAD + SIZE / 2, PAD);
-    cairo_line_to (cr, PAD + SIZE, PAD + SIZE);
-    cairo_line_to (cr, PAD, PAD + SIZE);
-    cairo_set_source_rgba (cr, 0, 0, 1, alpha);
-    cairo_fill (cr);
-
-    /* star */
-    cairo_translate (cr, -(SIZE + 2 * PAD) + SIZE/2., SIZE/2.);
-    for (n = 0; n < 5; n++) {
-       cairo_line_to (cr,
-                      SIZE/2 * cos (2*n * 2*M_PI / 10),
-                      SIZE/2 * sin (2*n * 2*M_PI / 10));
-
-       cairo_line_to (cr,
-                      SIZE/4 * cos ((2*n+1)*2*M_PI / 10),
-                      SIZE/4 * sin ((2*n+1)*2*M_PI / 10));
-    }
-    cairo_set_source_rgba (cr, 0, 0, 0, alpha);
-    cairo_fill (cr);
-
-    return cr;
-}
-
-static cairo_t *
-self_intersecting (cairo_t *cr)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 1.0, 1.0);
-
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-
-    /* First draw the desired shape with a fill */
-    cairo_rectangle (cr, 0.5, 0.5,  4.0, 4.0);
-    cairo_rectangle (cr, 3.5, 3.5,  4.0, 4.0);
-    cairo_rectangle (cr, 3.5, 1.5, -2.0, 2.0);
-    cairo_rectangle (cr, 6.5, 4.5, -2.0, 2.0);
-
-    cairo_fill (cr);
-
-    /* Then try the same thing with a stroke */
-    cairo_translate (cr, 0, 10);
-    cairo_move_to (cr, 1.0, 1.0);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-    cairo_rel_line_to (cr,  0.0,  6.0);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-    cairo_rel_line_to (cr,  0.0, -3.0);
-    cairo_rel_line_to (cr, -6.0,  0.0);
-    cairo_close_path (cr);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_stroke (cr);
-
-    return cr;
-}
-
-static void
-draw_text_transform (cairo_t *cr)
-{
-    cairo_matrix_t tm;
-
-    /* skew */
-    cairo_matrix_init (&tm, 1, 0,
-                       -0.25, 1,
-                       0, 0);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE, TT_FONT_SIZE);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 50, TT_SIZE-TT_PAD);
-    cairo_show_text (cr, "A");
-
-    /* rotate and scale */
-    cairo_matrix_init_rotate (&tm, M_PI / 2);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE, TT_FONT_SIZE * 2.0);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, TT_PAD, TT_PAD + 25);
-    cairo_show_text (cr, "A");
-
-    cairo_matrix_init_rotate (&tm, M_PI / 2);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE * 2.0, TT_FONT_SIZE);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, TT_PAD, TT_PAD + 50);
-    cairo_show_text (cr, "A");
-}
-
-static cairo_t *
-text_transform (cairo_t *cr)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_pattern_t *pattern;
-
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0., 0., 0.);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    draw_text_transform (cr);
-
-    cairo_translate (cr, TT_SIZE, TT_SIZE);
-    cairo_rotate (cr, M_PI);
-
-    pattern = cairo_test_create_pattern_from_png (ctx, png_filename);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    draw_text_transform (cr);
-
-    return cr;
-}
-
-/* And here begins the recording and replaying... */
-
-static cairo_t *
-record_create (cairo_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_recording_surface_create (cairo_surface_get_content (cairo_get_target (target)), NULL);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_surface_t *
-record_get (cairo_t *target)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_surface_reference (cairo_get_target (target));
-    cairo_destroy (target);
-
-    return surface;
-}
-
-static cairo_test_status_t
-record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t *), int width, int height)
-{
-    cairo_surface_t *surface;
-    int x, y;
-
-#if GENERATE_REF
-    func(cr);
-#else
-    surface = record_get (func (record_create (cr)));
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_NONE);
-
-    for (y = 0; y < height; y += 2) {
-       for (x = 0; x < width; x += 2) {
-           cairo_rectangle (cr, x, y, 2, 2);
-           cairo_clip (cr);
-           cairo_paint (cr);
-           cairo_reset_clip (cr);
-       }
-    }
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-record_paint (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_solid_clip (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_solid_clip, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_clip (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_clip, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_clip_mask (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_clip_mask, width, height);
-}
-
-static cairo_test_status_t
-record_fill_alpha (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, fill_alpha, width, height);
-}
-
-static cairo_test_status_t
-record_self_intersecting (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, self_intersecting, width, height);
-}
-
-static cairo_test_status_t
-record_select_font_face (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, select_font_face, width, height);
-}
-
-static cairo_test_status_t
-record_text_transform (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, text_transform, width, height);
-}
-
-CAIRO_TEST (record_paint,
-           "Test replayed calls to cairo_paint",
-           "paint,record", /* keywords */
-           NULL, /* requirements */
-           8, 8,
-           NULL, record_paint)
-CAIRO_TEST (record_paint_alpha,
-           "Simple test of cairo_paint_with_alpha",
-           "record, paint, alpha", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, record_paint_alpha)
-CAIRO_TEST (record_paint_alpha_solid_clip,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, record_paint_alpha_solid_clip)
-CAIRO_TEST (record_paint_alpha_clip,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, record_paint_alpha_clip)
-CAIRO_TEST (record_paint_alpha_clip_mask,
-           "Simple test of cairo_paint_with_alpha+triangular clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, record_paint_alpha_clip_mask)
-CAIRO_TEST (record_fill_alpha,
-           "Tests using set_rgba();fill()",
-           "record,fill, alpha", /* keywords */
-           NULL, /* requirements */
-           2*SIZE + 4*PAD, 2*SIZE + 4*PAD,
-           NULL, record_fill_alpha)
-CAIRO_TEST (record_select_font_face,
-           "Tests using cairo_select_font_face to draw text in different faces",
-           "record, font", /* keywords */
-           NULL, /* requirements */
-           192, TEXT_SIZE + 4,
-           NULL, record_select_font_face)
-CAIRO_TEST (record_self_intersecting,
-           "Test strokes of self-intersecting paths",
-           "record, stroke, trap", /* keywords */
-           NULL, /* requirements */
-           10, 20,
-           NULL, record_self_intersecting)
-CAIRO_TEST (record_text_transform,
-           "Test various applications of the font matrix",
-           "record, text, transform", /* keywords */
-           NULL, /* requirements */
-           TT_SIZE, TT_SIZE,
-           NULL, record_text_transform)
diff --git a/test/record1414x.c b/test/record1414x.c
deleted file mode 100644 (file)
index b8adb86..0000000
+++ /dev/null
@@ -1,498 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2011 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors:
- *     Carl D. Worth <cworth@cworth.org>
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#ifndef M_SQRT2
-#define M_SQRT2 1.41421345623730951
-#endif
-
-#define TEXT_SIZE 12
-#define SIZE 60 /* needs to be big to check large area effects (dithering) */
-#define PAD 2
-
-#define TT_SIZE 100
-#define TT_PAD 5
-#define TT_FONT_SIZE 32.0
-
-#define GENERATE_REF 0
-
-static uint32_t data[16] = {
-    0xffffffff, 0xffffffff,            0xffff0000, 0xffff0000,
-    0xffffffff, 0xffffffff,            0xffff0000, 0xffff0000,
-
-    0xff00ff00, 0xff00ff00,            0xff0000ff, 0xff0000ff,
-    0xff00ff00, 0xff00ff00,            0xff0000ff, 0xff0000ff
-};
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_t *
-paint (cairo_t *cr)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 2, 2);
-    cairo_scale (cr, 0.5, 0.5);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_solid_clip (cairo_t *cr)
-{
-    cairo_test_paint_checkered (cr);
-
-    cairo_rectangle (cr, 2.5, 2.5, 27, 27);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 1., 0.,0.);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_clip (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_rectangle (cr, 10.5, 10.5, 11, 11);
-    cairo_clip (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_clip_mask (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_move_to (cr, 16, 5);
-    cairo_line_to (cr, 5, 16);
-    cairo_line_to (cr, 16, 27);
-    cairo_line_to (cr, 27, 16);
-    cairo_clip (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-select_font_face (cairo_t *cr)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-
-    cairo_set_font_size (cr, TEXT_SIZE);
-    cairo_move_to (cr, 0, TEXT_SIZE);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Serif",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, "i-am-serif");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-sans");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans Mono",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-mono");
-
-    return cr;
-}
-
-static cairo_t *
-fill_alpha (cairo_t *cr)
-{
-    const double alpha = 1./3;
-    int n;
-
-    /* flatten to white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* square */
-    cairo_rectangle (cr, PAD, PAD, SIZE, SIZE);
-    cairo_set_source_rgba (cr, 1, 0, 0, alpha);
-    cairo_fill (cr);
-
-    /* circle */
-    cairo_translate (cr, SIZE + 2 * PAD, 0);
-    cairo_arc (cr, PAD + SIZE / 2., PAD + SIZE / 2., SIZE / 2., 0, 2 * M_PI);
-    cairo_set_source_rgba (cr, 0, 1, 0, alpha);
-    cairo_fill (cr);
-
-    /* triangle */
-    cairo_translate (cr, 0, SIZE + 2 * PAD);
-    cairo_move_to (cr, PAD + SIZE / 2, PAD);
-    cairo_line_to (cr, PAD + SIZE, PAD + SIZE);
-    cairo_line_to (cr, PAD, PAD + SIZE);
-    cairo_set_source_rgba (cr, 0, 0, 1, alpha);
-    cairo_fill (cr);
-
-    /* star */
-    cairo_translate (cr, -(SIZE + 2 * PAD) + SIZE/2., SIZE/2.);
-    for (n = 0; n < 5; n++) {
-       cairo_line_to (cr,
-                      SIZE/2 * cos (2*n * 2*M_PI / 10),
-                      SIZE/2 * sin (2*n * 2*M_PI / 10));
-
-       cairo_line_to (cr,
-                      SIZE/4 * cos ((2*n+1)*2*M_PI / 10),
-                      SIZE/4 * sin ((2*n+1)*2*M_PI / 10));
-    }
-    cairo_set_source_rgba (cr, 0, 0, 0, alpha);
-    cairo_fill (cr);
-
-    return cr;
-}
-
-static cairo_t *
-self_intersecting (cairo_t *cr)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 1.0, 1.0);
-
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-
-    /* First draw the desired shape with a fill */
-    cairo_rectangle (cr, 0.5, 0.5,  4.0, 4.0);
-    cairo_rectangle (cr, 3.5, 3.5,  4.0, 4.0);
-    cairo_rectangle (cr, 3.5, 1.5, -2.0, 2.0);
-    cairo_rectangle (cr, 6.5, 4.5, -2.0, 2.0);
-
-    cairo_fill (cr);
-
-    /* Then try the same thing with a stroke */
-    cairo_translate (cr, 0, 10);
-    cairo_move_to (cr, 1.0, 1.0);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-    cairo_rel_line_to (cr,  0.0,  6.0);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-    cairo_rel_line_to (cr,  0.0, -3.0);
-    cairo_rel_line_to (cr, -6.0,  0.0);
-    cairo_close_path (cr);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_stroke (cr);
-
-    return cr;
-}
-
-static void
-draw_text_transform (cairo_t *cr)
-{
-    cairo_matrix_t tm;
-
-    /* skew */
-    cairo_matrix_init (&tm, 1, 0,
-                       -0.25, 1,
-                       0, 0);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE, TT_FONT_SIZE);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 50, TT_SIZE-TT_PAD);
-    cairo_show_text (cr, "A");
-
-    /* rotate and scale */
-    cairo_matrix_init_rotate (&tm, M_PI / 2);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE, TT_FONT_SIZE * 2.0);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, TT_PAD, TT_PAD + 25);
-    cairo_show_text (cr, "A");
-
-    cairo_matrix_init_rotate (&tm, M_PI / 2);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE * 2.0, TT_FONT_SIZE);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, TT_PAD, TT_PAD + 50);
-    cairo_show_text (cr, "A");
-}
-
-static cairo_t *
-text_transform (cairo_t *cr)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_pattern_t *pattern;
-
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0., 0., 0.);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    draw_text_transform (cr);
-
-    cairo_translate (cr, TT_SIZE, TT_SIZE);
-    cairo_rotate (cr, M_PI);
-
-    pattern = cairo_test_create_pattern_from_png (ctx, png_filename);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    draw_text_transform (cr);
-
-    return cr;
-}
-
-/* And here begins the recording and replaying... */
-
-static cairo_t *
-record_create (cairo_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_recording_surface_create (cairo_surface_get_content (cairo_get_target (target)), NULL);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_surface_t *
-record_get (cairo_t *target)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_surface_reference (cairo_get_target (target));
-    cairo_destroy (target);
-
-    return surface;
-}
-
-static cairo_test_status_t
-record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t *), int width, int height)
-{
-    cairo_surface_t *surface;
-    int x, y;
-
-#if GENERATE_REF
-    cairo_scale (cr, M_SQRT2, M_SQRT2);
-    func (cr);
-#else
-    surface = record_get (func (record_create (cr)));
-
-    cairo_scale (cr, M_SQRT2, M_SQRT2);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_NONE);
-
-    cairo_identity_matrix (cr); /* make sure the clip is pixel-aligned */
-    for (y = 0; y < height; y += 2) {
-       for (x = 0; x < width; x += 2) {
-           cairo_rectangle (cr, x, y, 2, 2);
-           cairo_clip (cr);
-           cairo_paint (cr);
-           cairo_reset_clip (cr);
-       }
-    }
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-record_paint (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_solid_clip (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_solid_clip, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_clip (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_clip, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_clip_mask (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_clip_mask, width, height);
-}
-
-static cairo_test_status_t
-record_fill_alpha (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, fill_alpha, width, height);
-}
-
-static cairo_test_status_t
-record_self_intersecting (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, self_intersecting, width, height);
-}
-
-static cairo_test_status_t
-record_select_font_face (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, select_font_face, width, height);
-}
-
-static cairo_test_status_t
-record_text_transform (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, text_transform, width, height);
-}
-
-CAIRO_TEST (record1414x_paint,
-           "Test replayed calls to cairo_paint",
-           "paint,record", /* keywords */
-           NULL, /* requirements */
-           M_SQRT2*8, M_SQRT2*8,
-           NULL, record_paint)
-CAIRO_TEST (record1414x_paint_alpha,
-           "Simple test of cairo_paint_with_alpha",
-           "record, paint, alpha", /* keywords */
-           NULL, /* requirements */
-           M_SQRT2*32, M_SQRT2*32,
-           NULL, record_paint_alpha)
-CAIRO_TEST (record1414x_paint_alpha_solid_clip,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           M_SQRT2*32, M_SQRT2*32,
-           NULL, record_paint_alpha_solid_clip)
-CAIRO_TEST (record1414x_paint_alpha_clip,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           M_SQRT2*32, M_SQRT2*32,
-           NULL, record_paint_alpha_clip)
-CAIRO_TEST (record1414x_paint_alpha_clip_mask,
-           "Simple test of cairo_paint_with_alpha+triangular clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           M_SQRT2*32, M_SQRT2*32,
-           NULL, record_paint_alpha_clip_mask)
-CAIRO_TEST (record1414x_fill_alpha,
-           "Tests using set_rgba();fill()",
-           "record,fill, alpha", /* keywords */
-           NULL, /* requirements */
-           M_SQRT2*(2*SIZE + 4*PAD), M_SQRT2*(2*SIZE + 4*PAD),
-           NULL, record_fill_alpha)
-CAIRO_TEST (record1414x_select_font_face,
-           "Tests using cairo_select_font_face to draw text in different faces",
-           "record, font", /* keywords */
-           NULL, /* requirements */
-           M_SQRT2*192, M_SQRT2*(TEXT_SIZE + 4),
-           NULL, record_select_font_face)
-CAIRO_TEST (record1414x_self_intersecting,
-           "Test strokes of self-intersecting paths",
-           "record, stroke, trap", /* keywords */
-           NULL, /* requirements */
-           M_SQRT2*10, M_SQRT2*20,
-           NULL, record_self_intersecting)
-CAIRO_TEST (record1414x_text_transform,
-           "Test various applications of the font matrix",
-           "record, text, transform", /* keywords */
-           NULL, /* requirements */
-           M_SQRT2*TT_SIZE, M_SQRT2*TT_SIZE,
-           NULL, record_text_transform)
diff --git a/test/record2x.c b/test/record2x.c
deleted file mode 100644 (file)
index 7fe0377..0000000
+++ /dev/null
@@ -1,493 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2011 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors:
- *     Carl D. Worth <cworth@cworth.org>
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define TEXT_SIZE 12
-#define SIZE 60 /* needs to be big to check large area effects (dithering) */
-#define PAD 2
-
-#define TT_SIZE 100
-#define TT_PAD 5
-#define TT_FONT_SIZE 32.0
-
-#define GENERATE_REF 0
-
-static uint32_t data[16] = {
-    0xffffffff, 0xffffffff,            0xffff0000, 0xffff0000,
-    0xffffffff, 0xffffffff,            0xffff0000, 0xffff0000,
-
-    0xff00ff00, 0xff00ff00,            0xff0000ff, 0xff0000ff,
-    0xff00ff00, 0xff00ff00,            0xff0000ff, 0xff0000ff
-};
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_t *
-paint (cairo_t *cr)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 2, 2);
-    cairo_scale (cr, 0.5, 0.5);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_solid_clip (cairo_t *cr)
-{
-    cairo_test_paint_checkered (cr);
-
-    cairo_rectangle (cr, 2.5, 2.5, 27, 27);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 1., 0.,0.);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_clip (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_rectangle (cr, 10.5, 10.5, 11, 11);
-    cairo_clip (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_clip_mask (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_move_to (cr, 16, 5);
-    cairo_line_to (cr, 5, 16);
-    cairo_line_to (cr, 16, 27);
-    cairo_line_to (cr, 27, 16);
-    cairo_clip (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-select_font_face (cairo_t *cr)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-
-    cairo_set_font_size (cr, TEXT_SIZE);
-    cairo_move_to (cr, 0, TEXT_SIZE);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Serif",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, "i-am-serif");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-sans");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans Mono",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-mono");
-
-    return cr;
-}
-
-static cairo_t *
-fill_alpha (cairo_t *cr)
-{
-    const double alpha = 1./3;
-    int n;
-
-    /* flatten to white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* square */
-    cairo_rectangle (cr, PAD, PAD, SIZE, SIZE);
-    cairo_set_source_rgba (cr, 1, 0, 0, alpha);
-    cairo_fill (cr);
-
-    /* circle */
-    cairo_translate (cr, SIZE + 2 * PAD, 0);
-    cairo_arc (cr, PAD + SIZE / 2., PAD + SIZE / 2., SIZE / 2., 0, 2 * M_PI);
-    cairo_set_source_rgba (cr, 0, 1, 0, alpha);
-    cairo_fill (cr);
-
-    /* triangle */
-    cairo_translate (cr, 0, SIZE + 2 * PAD);
-    cairo_move_to (cr, PAD + SIZE / 2, PAD);
-    cairo_line_to (cr, PAD + SIZE, PAD + SIZE);
-    cairo_line_to (cr, PAD, PAD + SIZE);
-    cairo_set_source_rgba (cr, 0, 0, 1, alpha);
-    cairo_fill (cr);
-
-    /* star */
-    cairo_translate (cr, -(SIZE + 2 * PAD) + SIZE/2., SIZE/2.);
-    for (n = 0; n < 5; n++) {
-       cairo_line_to (cr,
-                      SIZE/2 * cos (2*n * 2*M_PI / 10),
-                      SIZE/2 * sin (2*n * 2*M_PI / 10));
-
-       cairo_line_to (cr,
-                      SIZE/4 * cos ((2*n+1)*2*M_PI / 10),
-                      SIZE/4 * sin ((2*n+1)*2*M_PI / 10));
-    }
-    cairo_set_source_rgba (cr, 0, 0, 0, alpha);
-    cairo_fill (cr);
-
-    return cr;
-}
-
-static cairo_t *
-self_intersecting (cairo_t *cr)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 1.0, 1.0);
-
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-
-    /* First draw the desired shape with a fill */
-    cairo_rectangle (cr, 0.5, 0.5,  4.0, 4.0);
-    cairo_rectangle (cr, 3.5, 3.5,  4.0, 4.0);
-    cairo_rectangle (cr, 3.5, 1.5, -2.0, 2.0);
-    cairo_rectangle (cr, 6.5, 4.5, -2.0, 2.0);
-
-    cairo_fill (cr);
-
-    /* Then try the same thing with a stroke */
-    cairo_translate (cr, 0, 10);
-    cairo_move_to (cr, 1.0, 1.0);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-    cairo_rel_line_to (cr,  0.0,  6.0);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-    cairo_rel_line_to (cr,  0.0, -3.0);
-    cairo_rel_line_to (cr, -6.0,  0.0);
-    cairo_close_path (cr);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_stroke (cr);
-
-    return cr;
-}
-
-static void
-draw_text_transform (cairo_t *cr)
-{
-    cairo_matrix_t tm;
-
-    /* skew */
-    cairo_matrix_init (&tm, 1, 0,
-                       -0.25, 1,
-                       0, 0);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE, TT_FONT_SIZE);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 50, TT_SIZE-TT_PAD);
-    cairo_show_text (cr, "A");
-
-    /* rotate and scale */
-    cairo_matrix_init_rotate (&tm, M_PI / 2);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE, TT_FONT_SIZE * 2.0);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, TT_PAD, TT_PAD + 25);
-    cairo_show_text (cr, "A");
-
-    cairo_matrix_init_rotate (&tm, M_PI / 2);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE * 2.0, TT_FONT_SIZE);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, TT_PAD, TT_PAD + 50);
-    cairo_show_text (cr, "A");
-}
-
-static cairo_t *
-text_transform (cairo_t *cr)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_pattern_t *pattern;
-
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0., 0., 0.);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    draw_text_transform (cr);
-
-    cairo_translate (cr, TT_SIZE, TT_SIZE);
-    cairo_rotate (cr, M_PI);
-
-    pattern = cairo_test_create_pattern_from_png (ctx, png_filename);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    draw_text_transform (cr);
-
-    return cr;
-}
-
-/* And here begins the recording and replaying... */
-
-static cairo_t *
-record_create (cairo_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_recording_surface_create (cairo_surface_get_content (cairo_get_target (target)), NULL);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_surface_t *
-record_get (cairo_t *target)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_surface_reference (cairo_get_target (target));
-    cairo_destroy (target);
-
-    return surface;
-}
-
-static cairo_test_status_t
-record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t *), int width, int height)
-{
-    cairo_surface_t *surface;
-    int x, y;
-
-#if GENERATE_REF
-    cairo_scale (cr, 2, 2);
-    func(cr);
-#else
-    surface = record_get (func (record_create (cr)));
-
-    cairo_scale (cr, 2, 2);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_NONE);
-
-    for (y = 0; y < height; y += 2) {
-       for (x = 0; x < width; x += 2) {
-           cairo_rectangle (cr, x, y, 2, 2);
-           cairo_clip (cr);
-           cairo_paint (cr);
-           cairo_reset_clip (cr);
-       }
-    }
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-record_paint (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_solid_clip (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_solid_clip, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_clip (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_clip, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_clip_mask (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_clip_mask, width, height);
-}
-
-static cairo_test_status_t
-record_fill_alpha (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, fill_alpha, width, height);
-}
-
-static cairo_test_status_t
-record_self_intersecting (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, self_intersecting, width, height);
-}
-
-static cairo_test_status_t
-record_select_font_face (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, select_font_face, width, height);
-}
-
-static cairo_test_status_t
-record_text_transform (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, text_transform, width, height);
-}
-
-CAIRO_TEST (record2x_paint,
-           "Test replayed calls to cairo_paint",
-           "paint,record", /* keywords */
-           NULL, /* requirements */
-           2*8, 2*8,
-           NULL, record_paint)
-CAIRO_TEST (record2x_paint_alpha,
-           "Simple test of cairo_paint_with_alpha",
-           "record, paint, alpha", /* keywords */
-           NULL, /* requirements */
-           2*32, 2*32,
-           NULL, record_paint_alpha)
-CAIRO_TEST (record2x_paint_alpha_solid_clip,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           2*32, 2*32,
-           NULL, record_paint_alpha_solid_clip)
-CAIRO_TEST (record2x_paint_alpha_clip,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           2*32, 2*32,
-           NULL, record_paint_alpha_clip)
-CAIRO_TEST (record2x_paint_alpha_clip_mask,
-           "Simple test of cairo_paint_with_alpha+triangular clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           2*32, 2*32,
-           NULL, record_paint_alpha_clip_mask)
-CAIRO_TEST (record2x_fill_alpha,
-           "Tests using set_rgba();fill()",
-           "record,fill, alpha", /* keywords */
-           NULL, /* requirements */
-           2*(2*SIZE + 4*PAD), 2*(2*SIZE + 4*PAD),
-           NULL, record_fill_alpha)
-CAIRO_TEST (record2x_select_font_face,
-           "Tests using cairo_select_font_face to draw text in different faces",
-           "record, font", /* keywords */
-           NULL, /* requirements */
-           2*192, 2*(TEXT_SIZE + 4),
-           NULL, record_select_font_face)
-CAIRO_TEST (record2x_self_intersecting,
-           "Test strokes of self-intersecting paths",
-           "record, stroke, trap", /* keywords */
-           NULL, /* requirements */
-           2*10, 2*20,
-           NULL, record_self_intersecting)
-CAIRO_TEST (record2x_text_transform,
-           "Test various applications of the font matrix",
-           "record, text, transform", /* keywords */
-           NULL, /* requirements */
-           2*TT_SIZE, 2*TT_SIZE,
-           NULL, record_text_transform)
diff --git a/test/record90.c b/test/record90.c
deleted file mode 100644 (file)
index 3c28a9a..0000000
+++ /dev/null
@@ -1,495 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2011 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors:
- *     Carl D. Worth <cworth@cworth.org>
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define TEXT_SIZE 12
-#define SIZE 60 /* needs to be big to check large area effects (dithering) */
-#define PAD 2
-
-#define TT_SIZE 100
-#define TT_PAD 5
-#define TT_FONT_SIZE 32.0
-
-#define GENERATE_REF 0
-
-static uint32_t data[16] = {
-    0xffffffff, 0xffffffff,            0xffff0000, 0xffff0000,
-    0xffffffff, 0xffffffff,            0xffff0000, 0xffff0000,
-
-    0xff00ff00, 0xff00ff00,            0xff0000ff, 0xff0000ff,
-    0xff00ff00, 0xff00ff00,            0xff0000ff, 0xff0000ff
-};
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_t *
-paint (cairo_t *cr)
-{
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 2, 2);
-    cairo_scale (cr, 0.5, 0.5);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_solid_clip (cairo_t *cr)
-{
-    cairo_test_paint_checkered (cr);
-
-    cairo_rectangle (cr, 2.5, 2.5, 27, 27);
-    cairo_clip (cr);
-
-    cairo_set_source_rgb (cr, 1., 0.,0.);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_clip (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_rectangle (cr, 10.5, 10.5, 11, 11);
-    cairo_clip (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-paint_alpha_clip_mask (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_move_to (cr, 16, 5);
-    cairo_line_to (cr, 5, 16);
-    cairo_line_to (cr, 16, 27);
-    cairo_line_to (cr, 27, 16);
-    cairo_clip (cr);
-
-    cairo_scale (cr, 4, 4);
-
-    cairo_set_source_surface (cr, surface, 2 , 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint_with_alpha (cr, 0.5);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_t *
-select_font_face (cairo_t *cr)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-
-    cairo_set_font_size (cr, TEXT_SIZE);
-    cairo_move_to (cr, 0, TEXT_SIZE);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Serif",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, "i-am-serif");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-sans");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans Mono",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-mono");
-
-    return cr;
-}
-
-static cairo_t *
-fill_alpha (cairo_t *cr)
-{
-    const double alpha = 1./3;
-    int n;
-
-    /* flatten to white */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* square */
-    cairo_rectangle (cr, PAD, PAD, SIZE, SIZE);
-    cairo_set_source_rgba (cr, 1, 0, 0, alpha);
-    cairo_fill (cr);
-
-    /* circle */
-    cairo_translate (cr, SIZE + 2 * PAD, 0);
-    cairo_arc (cr, PAD + SIZE / 2., PAD + SIZE / 2., SIZE / 2., 0, 2 * M_PI);
-    cairo_set_source_rgba (cr, 0, 1, 0, alpha);
-    cairo_fill (cr);
-
-    /* triangle */
-    cairo_translate (cr, 0, SIZE + 2 * PAD);
-    cairo_move_to (cr, PAD + SIZE / 2, PAD);
-    cairo_line_to (cr, PAD + SIZE, PAD + SIZE);
-    cairo_line_to (cr, PAD, PAD + SIZE);
-    cairo_set_source_rgba (cr, 0, 0, 1, alpha);
-    cairo_fill (cr);
-
-    /* star */
-    cairo_translate (cr, -(SIZE + 2 * PAD) + SIZE/2., SIZE/2.);
-    for (n = 0; n < 5; n++) {
-       cairo_line_to (cr,
-                      SIZE/2 * cos (2*n * 2*M_PI / 10),
-                      SIZE/2 * sin (2*n * 2*M_PI / 10));
-
-       cairo_line_to (cr,
-                      SIZE/4 * cos ((2*n+1)*2*M_PI / 10),
-                      SIZE/4 * sin ((2*n+1)*2*M_PI / 10));
-    }
-    cairo_set_source_rgba (cr, 0, 0, 0, alpha);
-    cairo_fill (cr);
-
-    return cr;
-}
-
-static cairo_t *
-self_intersecting (cairo_t *cr)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 1.0, 1.0);
-
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-
-    /* First draw the desired shape with a fill */
-    cairo_rectangle (cr, 0.5, 0.5,  4.0, 4.0);
-    cairo_rectangle (cr, 3.5, 3.5,  4.0, 4.0);
-    cairo_rectangle (cr, 3.5, 1.5, -2.0, 2.0);
-    cairo_rectangle (cr, 6.5, 4.5, -2.0, 2.0);
-
-    cairo_fill (cr);
-
-    /* Then try the same thing with a stroke */
-    cairo_translate (cr, 0, 10);
-    cairo_move_to (cr, 1.0, 1.0);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-    cairo_rel_line_to (cr,  0.0,  6.0);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-    cairo_rel_line_to (cr,  0.0, -3.0);
-    cairo_rel_line_to (cr, -6.0,  0.0);
-    cairo_close_path (cr);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_stroke (cr);
-
-    return cr;
-}
-
-static void
-draw_text_transform (cairo_t *cr)
-{
-    cairo_matrix_t tm;
-
-    /* skew */
-    cairo_matrix_init (&tm, 1, 0,
-                       -0.25, 1,
-                       0, 0);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE, TT_FONT_SIZE);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 50, TT_SIZE-TT_PAD);
-    cairo_show_text (cr, "A");
-
-    /* rotate and scale */
-    cairo_matrix_init_rotate (&tm, M_PI / 2);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE, TT_FONT_SIZE * 2.0);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, TT_PAD, TT_PAD + 25);
-    cairo_show_text (cr, "A");
-
-    cairo_matrix_init_rotate (&tm, M_PI / 2);
-    cairo_matrix_scale (&tm, TT_FONT_SIZE * 2.0, TT_FONT_SIZE);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, TT_PAD, TT_PAD + 50);
-    cairo_show_text (cr, "A");
-}
-
-static cairo_t *
-text_transform (cairo_t *cr)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_pattern_t *pattern;
-
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0., 0., 0.);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    draw_text_transform (cr);
-
-    cairo_translate (cr, TT_SIZE, TT_SIZE);
-    cairo_rotate (cr, M_PI);
-
-    pattern = cairo_test_create_pattern_from_png (ctx, png_filename);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    draw_text_transform (cr);
-
-    return cr;
-}
-
-/* And here begins the recording and replaying... */
-
-static cairo_t *
-record_create (cairo_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_recording_surface_create (cairo_surface_get_content (cairo_get_target (target)), NULL);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    return cr;
-}
-
-static cairo_surface_t *
-record_get (cairo_t *target)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_surface_reference (cairo_get_target (target));
-    cairo_destroy (target);
-
-    return surface;
-}
-
-static cairo_test_status_t
-record_replay (cairo_t *cr, cairo_t *(*func)(cairo_t *), int width, int height)
-{
-    cairo_surface_t *surface;
-    int x, y;
-
-#if GENERATE_REF
-    cairo_translate(cr, width, 0);
-    cairo_rotate (cr, M_PI/2);
-    func(cr);
-#else
-    surface = record_get (func (record_create (cr)));
-
-    cairo_translate(cr, width, 0);
-    cairo_rotate (cr, M_PI/2);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_NONE);
-
-    for (y = 0; y < width; y += 2) {
-       for (x = 0; x < height; x += 2) {
-           cairo_rectangle (cr, x, y, 2, 2);
-           cairo_clip (cr);
-           cairo_paint (cr);
-           cairo_reset_clip (cr);
-       }
-    }
-#endif
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-record_paint (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_solid_clip (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_solid_clip, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_clip (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_clip, width, height);
-}
-
-static cairo_test_status_t
-record_paint_alpha_clip_mask (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, paint_alpha_clip_mask, width, height);
-}
-
-static cairo_test_status_t
-record_fill_alpha (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, fill_alpha, width, height);
-}
-
-static cairo_test_status_t
-record_self_intersecting (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, self_intersecting, width, height);
-}
-
-static cairo_test_status_t
-record_select_font_face (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, select_font_face, width, height);
-}
-
-static cairo_test_status_t
-record_text_transform (cairo_t *cr, int width, int height)
-{
-    return record_replay (cr, text_transform, width, height);
-}
-
-CAIRO_TEST (record90_paint,
-           "Test replayed calls to cairo_paint",
-           "paint,record", /* keywords */
-           NULL, /* requirements */
-           8, 8,
-           NULL, record_paint)
-CAIRO_TEST (record90_paint_alpha,
-           "Simple test of cairo_paint_with_alpha",
-           "record, paint, alpha", /* keywords */
-           NULL, /* requirements */
-           2, 32,
-           NULL, record_paint_alpha)
-CAIRO_TEST (record90_paint_alpha_solid_clip,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, record_paint_alpha_solid_clip)
-CAIRO_TEST (record90_paint_alpha_clip,
-           "Simple test of cairo_paint_with_alpha+unaligned clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, record_paint_alpha_clip)
-CAIRO_TEST (record90_paint_alpha_clip_mask,
-           "Simple test of cairo_paint_with_alpha+triangular clip",
-           "record, paint, alpha, clip", /* keywords */
-           NULL, /* requirements */
-           32, 32,
-           NULL, record_paint_alpha_clip_mask)
-CAIRO_TEST (record90_fill_alpha,
-           "Tests using set_rgba();fill()",
-           "record,fill, alpha", /* keywords */
-           NULL, /* requirements */
-           2*SIZE + 4*PAD, 2*SIZE + 4*PAD,
-           NULL, record_fill_alpha)
-CAIRO_TEST (record90_select_font_face,
-           "Tests using cairo_select_font_face to draw text in different faces",
-           "record, font", /* keywords */
-           NULL, /* requirements */
-           TEXT_SIZE + 4, 192,
-           NULL, record_select_font_face)
-CAIRO_TEST (record90_self_intersecting,
-           "Test strokes of self-intersecting paths",
-           "record, stroke, trap", /* keywords */
-           NULL, /* requirements */
-           10, 20,
-           NULL, record_self_intersecting)
-CAIRO_TEST (record90_text_transform,
-           "Test various applications of the font matrix",
-           "record, text, transform", /* keywords */
-           NULL, /* requirements */
-           TT_SIZE, TT_SIZE,
-           NULL, record_text_transform)
diff --git a/test/recording-surface-extend.c b/test/recording-surface-extend.c
deleted file mode 100644 (file)
index 0566545..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright © 2007 Adrian Johnson
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Authors:
- *     Adrian Johnson <ajohnson@redneon.com>
- *     Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define PAT_WIDTH  120
-#define PAT_HEIGHT 120
-#define SIZE (PAT_WIDTH*2)
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-
-/* This test is designed to test painting a recording surface pattern with
- * CAIRO_EXTEND_NONE and a non identity pattern matrix.
- */
-static cairo_pattern_t *create_pattern (cairo_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *pattern;
-    cairo_t *cr;
-
-    surface = cairo_surface_create_similar (cairo_get_group_target (target),
-                                           CAIRO_CONTENT_COLOR_ALPHA,
-                                           PAT_WIDTH, PAT_HEIGHT);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgba (cr, 1, 0, 1, 0.5);
-    cairo_rectangle (cr, PAT_WIDTH/6.0, PAT_HEIGHT/6.0, PAT_WIDTH/4.0, PAT_HEIGHT/4.0);
-    cairo_fill (cr);
-
-    cairo_set_source_rgba (cr, 0, 1, 1, 0.5);
-    cairo_rectangle (cr, PAT_WIDTH/2.0, PAT_HEIGHT/2.0, PAT_WIDTH/4.0, PAT_HEIGHT/4.0);
-    cairo_fill (cr);
-
-    cairo_set_line_width (cr, 1);
-    cairo_move_to (cr, PAT_WIDTH/6.0, 0);
-    cairo_line_to (cr, 0, 0);
-    cairo_line_to (cr, 0, PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_stroke (cr);
-    cairo_move_to (cr, PAT_WIDTH/6.0, PAT_HEIGHT);
-    cairo_line_to (cr, 0, PAT_HEIGHT);
-    cairo_line_to (cr, 0, 5*PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_stroke (cr);
-    cairo_move_to (cr, 5*PAT_WIDTH/6.0, 0);
-    cairo_line_to (cr, PAT_WIDTH, 0);
-    cairo_line_to (cr, PAT_WIDTH, PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_stroke (cr);
-    cairo_move_to (cr, 5*PAT_WIDTH/6.0, PAT_HEIGHT);
-    cairo_line_to (cr, PAT_WIDTH, PAT_HEIGHT);
-    cairo_line_to (cr, PAT_WIDTH, 5*PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 1, 1, 0);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_set_line_width (cr, PAT_WIDTH/10.0);
-
-    cairo_move_to (cr, 0,         PAT_HEIGHT/4.0);
-    cairo_line_to (cr, PAT_WIDTH, PAT_HEIGHT/4.0);
-    cairo_stroke (cr);
-
-    cairo_move_to (cr, PAT_WIDTH/4.0,         0);
-    cairo_line_to (cr, PAT_WIDTH/4.0, PAT_WIDTH);
-    cairo_stroke (cr);
-
-    pattern = cairo_pattern_create_for_surface (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return pattern;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, cairo_extend_t extend)
-{
-    cairo_pattern_t *pattern;
-    cairo_matrix_t   mat;
-
-    cairo_translate (cr, PAD, PAD);
-
-    pattern = create_pattern (cr);
-
-    cairo_matrix_init_identity (&mat);
-    cairo_matrix_scale (&mat, 2, 1.5);
-    cairo_matrix_rotate (&mat, 1);
-    cairo_matrix_translate (&mat, -PAT_WIDTH/4.0, -PAT_WIDTH/2.0);
-    cairo_pattern_set_matrix (pattern, &mat);
-    cairo_pattern_set_extend (pattern, extend);
-
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-none (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_EXTEND_NONE);
-}
-
-static cairo_test_status_t
-repeat (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_EXTEND_REPEAT);
-}
-
-static cairo_test_status_t
-reflect (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_EXTEND_REFLECT);
-}
-
-static cairo_test_status_t
-pad (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_EXTEND_PAD);
-}
-
-CAIRO_TEST (recording_surface_extend_none,
-           "Paint recording surface pattern with extend modes",
-           "recording, extend", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, none)
-CAIRO_TEST (recording_surface_extend_repeat,
-           "Paint recording surface pattern with extend modes",
-           "recording, extend", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, repeat)
-CAIRO_TEST (recording_surface_extend_reflect,
-           "Paint recording surface pattern with extend modes",
-           "recording, extend", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, reflect)
-CAIRO_TEST (recording_surface_extend_pad,
-           "Paint recording surface pattern with extend modes",
-           "recording, extend", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, pad)
diff --git a/test/recording-surface-pattern.c b/test/recording-surface-pattern.c
deleted file mode 100644 (file)
index 5a5fee2..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright © 2007 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define PAT_WIDTH  120
-#define PAT_HEIGHT 120
-#define SIZE (PAT_WIDTH*2)
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-
-/* This test is designed to test painting a recording surface pattern with
- * CAIRO_EXTEND_NONE and a non identity pattern matrix.
- */
-static cairo_pattern_t *create_pattern (cairo_t *target)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *pattern;
-    cairo_t *cr;
-
-    surface = cairo_surface_create_similar (cairo_get_group_target (target),
-                                           CAIRO_CONTENT_COLOR_ALPHA,
-                                           PAT_WIDTH, PAT_HEIGHT);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgba (cr, 1, 0, 1, 0.5);
-    cairo_rectangle (cr, PAT_WIDTH/6.0, PAT_HEIGHT/6.0, PAT_WIDTH/4.0, PAT_HEIGHT/4.0);
-    cairo_fill (cr);
-
-    cairo_set_source_rgba (cr, 0, 1, 1, 0.5);
-    cairo_rectangle (cr, PAT_WIDTH/2.0, PAT_HEIGHT/2.0, PAT_WIDTH/4.0, PAT_HEIGHT/4.0);
-    cairo_fill (cr);
-
-    cairo_set_line_width (cr, 1);
-    cairo_move_to (cr, PAT_WIDTH/6.0, 0);
-    cairo_line_to (cr, 0, 0);
-    cairo_line_to (cr, 0, PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_stroke (cr);
-    cairo_move_to (cr, PAT_WIDTH/6.0, PAT_HEIGHT);
-    cairo_line_to (cr, 0, PAT_HEIGHT);
-    cairo_line_to (cr, 0, 5*PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_stroke (cr);
-    cairo_move_to (cr, 5*PAT_WIDTH/6.0, 0);
-    cairo_line_to (cr, PAT_WIDTH, 0);
-    cairo_line_to (cr, PAT_WIDTH, PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_stroke (cr);
-    cairo_move_to (cr, 5*PAT_WIDTH/6.0, PAT_HEIGHT);
-    cairo_line_to (cr, PAT_WIDTH, PAT_HEIGHT);
-    cairo_line_to (cr, PAT_WIDTH, 5*PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 1, 1, 0);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_set_line_width (cr, PAT_WIDTH/10.0);
-
-    cairo_move_to (cr, 0,         PAT_HEIGHT/4.0);
-    cairo_line_to (cr, PAT_WIDTH, PAT_HEIGHT/4.0);
-    cairo_stroke (cr);
-
-    cairo_move_to (cr, PAT_WIDTH/4.0,         0);
-    cairo_line_to (cr, PAT_WIDTH/4.0, PAT_WIDTH);
-    cairo_stroke (cr);
-
-    pattern = cairo_pattern_create_for_surface (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return pattern;
-}
-
-static cairo_test_status_t
-over (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    cairo_matrix_t   mat;
-
-    cairo_translate (cr, PAD, PAD);
-
-    pattern = create_pattern (cr);
-
-    cairo_matrix_init_identity (&mat);
-    cairo_matrix_scale (&mat, 2, 1.5);
-    cairo_matrix_rotate (&mat, 1);
-    cairo_matrix_translate (&mat, -PAT_WIDTH/4.0, -PAT_WIDTH/2.0);
-    cairo_pattern_set_matrix (pattern, &mat);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_NONE);
-
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-source (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    cairo_matrix_t   mat;
-
-    cairo_translate (cr, PAD, PAD);
-
-    pattern = create_pattern (cr);
-
-    cairo_matrix_init_identity (&mat);
-    cairo_matrix_scale (&mat, 2, 1.5);
-    cairo_matrix_rotate (&mat, 1);
-    cairo_matrix_translate (&mat, -PAT_WIDTH/4.0, -PAT_WIDTH/2.0);
-    cairo_pattern_set_matrix (pattern, &mat);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_NONE);
-
-    cairo_set_source (cr, pattern);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (recording_surface_over,
-           "Paint recording surface pattern with non identity pattern matrix",
-           "recording", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, over)
-
-CAIRO_TEST (recording_surface_source,
-           "Paint recording surface pattern with non identity pattern matrix",
-           "recording", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, source)
diff --git a/test/rectangle-rounding-error.c b/test/rectangle-rounding-error.c
deleted file mode 100644 (file)
index 6ad99ae..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2005 Bertram Felgenhauer
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the author not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The author makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHOR. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Bertram Felgenhauer <int-e@gmx.de>
- */
-
-#include "cairo-test.h"
-
-/* Test case for:
- *
- *      https://bugs.freedesktop.org/show_bug.cgi?id=4137
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_translate(cr, -300, -300);
-    cairo_scale(cr, 677.0/26, 677.0/26);
-    cairo_translate(cr, 1, 1);
-
-    /* this should draw a seamless 2x2 rectangle */
-    cairo_rectangle(cr, 11, 11, 1, 1);
-    cairo_rectangle(cr, 11, 12, 1, 1);
-    cairo_rectangle(cr, 12, 11, 1, 1);
-    cairo_rectangle(cr, 12, 12, 1, 1);
-
-    cairo_set_source_rgb(cr, 0, 0, 0);
-    cairo_fill(cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rectangle_rounding_error,
-           "This demonstrates (or not) a rounding error that causes a gap between "
-           "two neighbouring rectangles.",
-           "trap", /* keywords */
-           "target=raster", /* requirements */
-           76, 76,
-           NULL, draw)
diff --git a/test/rectilinear-dash-scale.c b/test/rectilinear-dash-scale.c
deleted file mode 100644 (file)
index 1b69516..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2008 Chris Wilson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- *
- * Based on the original test/rectilinear-stroke.c by Carl D. Worth.
- */
-
-#include "cairo-test.h"
-
-#define SIZE 50
-
-static void
-draw_dashes (cairo_t *cr)
-{
-    const double dash_square[4] = {4, 2, 2, 2};
-    const double dash_butt[4] = {5, 1, 3, 1};
-
-    cairo_save (cr);
-
-    cairo_set_dash (cr, dash_square, 4, 0);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_translate (cr, 1, 1);
-
-    /* Draw everything first with square caps. */
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-
-    /* Draw horizontal and vertical segments, each in both
-     * directions. */
-    cairo_move_to     (cr,  4.5,  0.5);
-    cairo_rel_line_to (cr,  2.0,  0.0);
-
-    cairo_move_to     (cr, 10.5,  4.5);
-    cairo_rel_line_to (cr,  0.0,  2.0);
-
-    cairo_move_to     (cr,  6.5, 10.5);
-    cairo_rel_line_to (cr, -2.0,  0.0);
-
-    cairo_move_to     (cr,  0.5,  6.5);
-    cairo_rel_line_to (cr,  0.0, -2.0);
-
-    /* Draw right angle turns in four directions. */
-    cairo_move_to     (cr,  0.5,  2.5);
-    cairo_rel_line_to (cr,  0.0, -2.0);
-    cairo_rel_line_to (cr,  2.0,  0.0);
-
-    cairo_move_to     (cr,  8.5,  0.5);
-    cairo_rel_line_to (cr,  2.0,  0.0);
-    cairo_rel_line_to (cr,  0.0,  2.0);
-
-    cairo_move_to     (cr, 10.5,  8.5);
-    cairo_rel_line_to (cr,  0.0,  2.0);
-    cairo_rel_line_to (cr, -2.0,  0.0);
-
-    cairo_move_to     (cr,  2.5, 10.5);
-    cairo_rel_line_to (cr, -2.0,  0.0);
-    cairo_rel_line_to (cr,  0.0, -2.0);
-
-    cairo_stroke (cr);
-
-    /* Draw a closed-path rectangle */
-    cairo_rectangle (cr, 0.5, 12.5, 10.0, 10.0);
-    cairo_set_dash (cr, dash_square, 4, 2);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 12, 0);
-
-    /* Now draw the same results, but with butt caps. */
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_dash (cr, dash_butt, 4, 0.0);
-
-    /* Draw horizontal and vertical segments, each in both
-     * directions. */
-    cairo_move_to     (cr,  4.0,  0.5);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-
-    cairo_move_to     (cr, 10.5,  4.0);
-    cairo_rel_line_to (cr,  0.0,  3.0);
-
-    cairo_move_to     (cr,  7.0, 10.5);
-    cairo_rel_line_to (cr, -3.0,  0.0);
-
-    cairo_move_to     (cr,  0.5,  7.0);
-    cairo_rel_line_to (cr,  0.0, -3.0);
-
-    /* Draw right angle turns in four directions. */
-    cairo_move_to     (cr,  0.5,  3.0);
-    cairo_rel_line_to (cr,  0.0, -2.5);
-    cairo_rel_line_to (cr,  2.5,  0.0);
-
-    cairo_move_to     (cr,  8.0,  0.5);
-    cairo_rel_line_to (cr,  2.5,  0.0);
-    cairo_rel_line_to (cr,  0.0,  2.5);
-
-    cairo_move_to     (cr, 10.5,  8.0);
-    cairo_rel_line_to (cr,  0.0,  2.5);
-    cairo_rel_line_to (cr, -2.5,  0.0);
-
-    cairo_move_to     (cr,  3.0, 10.5);
-    cairo_rel_line_to (cr, -2.5,  0.0);
-    cairo_rel_line_to (cr,  0.0, -2.5);
-
-    cairo_stroke (cr);
-
-    /* Draw a closed-path rectangle */
-    cairo_set_dash (cr, dash_butt, 4, 2.5);
-    cairo_rectangle (cr, 0.5, 12.5, 10.0, 10.0);
-    cairo_stroke (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-dashes (cairo_t *cr)
-{
-    /* Paint background white, then draw in black. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    draw_dashes (cr);
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-    cairo_translate (cr, 0, SIZE);
-    cairo_scale (cr, 1, -1);
-    draw_dashes (cr);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 0.0, 1.0, 0.0);
-    cairo_translate (cr, SIZE, 0);
-    cairo_scale (cr, -1, 1);
-    draw_dashes (cr);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);
-    cairo_translate (cr, SIZE, SIZE);
-    cairo_scale (cr, -1, -1);
-    draw_dashes (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-aligned (cairo_t *cr, int width, int height)
-{
-    cairo_scale (cr, 4, 2);
-    return dashes(cr);
-}
-
-static cairo_test_status_t
-unaligned (cairo_t *cr, int width, int height)
-{
-    cairo_scale (cr, 3.9, 1.9);
-    return dashes(cr);
-}
-
-CAIRO_TEST (rectilinear_dash_scale,
-           "Test dashed rectilinear stroke operations (covering only whole pixels) after scaling",
-           "stroke dash", /* keywords */
-           NULL, /* requirements */
-           4*SIZE, 2*SIZE,
-           NULL, aligned)
-
-CAIRO_TEST (rectilinear_dash_scale_unaligned,
-           "Test dashed rectilinear stroke operations (covering partial pixels) after scaling",
-           "stroke dash", /* keywords */
-           NULL, /* requirements */
-           4*SIZE, 2*SIZE,
-           NULL, unaligned)
diff --git a/test/rectilinear-dash.c b/test/rectilinear-dash.c
deleted file mode 100644 (file)
index fe998bb..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2008 Chris Wilson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- *
- * Based on the original test/rectilinear-stroke.c by Carl D. Worth.
- */
-
-#include "cairo-test.h"
-
-#define SIZE 50
-
-static void
-draw_dashes (cairo_t *cr)
-{
-    const double dash_square[4] = {4, 2, 2, 2};
-    const double dash_butt[4] = {5, 1, 3, 1};
-
-    cairo_save (cr);
-
-    cairo_set_dash (cr, dash_square, 4, 0);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_translate (cr, 1, 1);
-
-    /* Draw everything first with square caps. */
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-
-    /* Draw horizontal and vertical segments, each in both
-     * directions. */
-    cairo_move_to     (cr,  4.5,  0.5);
-    cairo_rel_line_to (cr,  2.0,  0.0);
-
-    cairo_move_to     (cr, 10.5,  4.5);
-    cairo_rel_line_to (cr,  0.0,  2.0);
-
-    cairo_move_to     (cr,  6.5, 10.5);
-    cairo_rel_line_to (cr, -2.0,  0.0);
-
-    cairo_move_to     (cr,  0.5,  6.5);
-    cairo_rel_line_to (cr,  0.0, -2.0);
-
-    /* Draw right angle turns in four directions. */
-    cairo_move_to     (cr,  0.5,  2.5);
-    cairo_rel_line_to (cr,  0.0, -2.0);
-    cairo_rel_line_to (cr,  2.0,  0.0);
-
-    cairo_move_to     (cr,  8.5,  0.5);
-    cairo_rel_line_to (cr,  2.0,  0.0);
-    cairo_rel_line_to (cr,  0.0,  2.0);
-
-    cairo_move_to     (cr, 10.5,  8.5);
-    cairo_rel_line_to (cr,  0.0,  2.0);
-    cairo_rel_line_to (cr, -2.0,  0.0);
-
-    cairo_move_to     (cr,  2.5, 10.5);
-    cairo_rel_line_to (cr, -2.0,  0.0);
-    cairo_rel_line_to (cr,  0.0, -2.0);
-
-    cairo_stroke (cr);
-
-    /* Draw a closed-path rectangle */
-    cairo_rectangle (cr, 0.5, 12.5, 10.0, 10.0);
-    cairo_set_dash (cr, dash_square, 4, 2);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 12, 0);
-
-    /* Now draw the same results, but with butt caps. */
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_dash (cr, dash_butt, 4, 0.0);
-
-    /* Draw horizontal and vertical segments, each in both
-     * directions. */
-    cairo_move_to     (cr,  4.0,  0.5);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-
-    cairo_move_to     (cr, 10.5,  4.0);
-    cairo_rel_line_to (cr,  0.0,  3.0);
-
-    cairo_move_to     (cr,  7.0, 10.5);
-    cairo_rel_line_to (cr, -3.0,  0.0);
-
-    cairo_move_to     (cr,  0.5,  7.0);
-    cairo_rel_line_to (cr,  0.0, -3.0);
-
-    /* Draw right angle turns in four directions. */
-    cairo_move_to     (cr,  0.5,  3.0);
-    cairo_rel_line_to (cr,  0.0, -2.5);
-    cairo_rel_line_to (cr,  2.5,  0.0);
-
-    cairo_move_to     (cr,  8.0,  0.5);
-    cairo_rel_line_to (cr,  2.5,  0.0);
-    cairo_rel_line_to (cr,  0.0,  2.5);
-
-    cairo_move_to     (cr, 10.5,  8.0);
-    cairo_rel_line_to (cr,  0.0,  2.5);
-    cairo_rel_line_to (cr, -2.5,  0.0);
-
-    cairo_move_to     (cr,  3.0, 10.5);
-    cairo_rel_line_to (cr, -2.5,  0.0);
-    cairo_rel_line_to (cr,  0.0, -2.5);
-
-    cairo_stroke (cr);
-
-    /* Draw a closed-path rectangle */
-    cairo_set_dash (cr, dash_butt, 4, 2.5);
-    cairo_rectangle (cr, 0.5, 12.5, 10.0, 10.0);
-    cairo_stroke (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Paint background white, then draw in black. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    draw_dashes (cr);
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-    cairo_translate (cr, 0, height);
-    cairo_scale (cr, 1, -1);
-    draw_dashes (cr);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 0.0, 1.0, 0.0);
-    cairo_translate (cr, width, 0);
-    cairo_scale (cr, -1, 1);
-    draw_dashes (cr);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);
-    cairo_translate (cr, width, height);
-    cairo_scale (cr, -1, -1);
-    draw_dashes (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rectilinear_dash,
-           "Test dashed rectilinear stroke operations (covering only whole pixels)",
-           "stroke dash", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
-
diff --git a/test/rectilinear-fill.c b/test/rectilinear-fill.c
deleted file mode 100644 (file)
index 3678379..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 24
-
-static void
-draw_rectangles (cairo_t *cr)
-{
-    cairo_save (cr);
-
-    /* test constructing single rectangles */
-    cairo_rectangle (cr, 0, 0, SIZE/2, 2);
-    cairo_fill (cr);
-
-    cairo_rectangle (cr, 0, 5, SIZE/2, -2);
-    cairo_fill (cr);
-
-    cairo_rectangle (cr, SIZE/2, 6, -SIZE/2, 2);
-    cairo_fill (cr);
-
-    cairo_rectangle (cr, SIZE/2, 11, -SIZE/2, -2);
-    cairo_fill (cr);
-
-    /* test constructing multiple rectangles */
-    cairo_translate (cr, 0, 12);
-    cairo_rectangle (cr, 0, 0, SIZE/2, 2);
-    cairo_rectangle (cr, 0, 5, SIZE/2, -2);
-    cairo_rectangle (cr, SIZE/2, 6, -SIZE/2, 2);
-    cairo_rectangle (cr, SIZE/2, 11, -SIZE/2, -2);
-    cairo_fill (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Paint background white, then draw in black. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-
-    draw_rectangles (cr);
-
-    /* and check using cw winding */
-    cairo_translate (cr, SIZE, SIZE);
-    cairo_scale (cr, -1, 1);
-
-    draw_rectangles (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rectilinear_fill,
-           "Test rectilinear fill operations (covering only whole pixels)",
-           "fill, rectilinear", /* keywords */
-           NULL, /* requirements */
-           SIZE, 2 * SIZE,
-           NULL, draw)
diff --git a/test/rectilinear-grid.c b/test/rectilinear-grid.c
deleted file mode 100644 (file)
index 6d37c6b..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2010 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 52
-#define OFFSET 5
-#define DISTANCE 10.25
-
-/*
-  This test checks that boxes not aligned to pixels are drawn
-  correctly.
-
-  In particular the corners of the boxes are drawn incorrectly by
-  cairo-image in cairo 1.10.0, because overlapping boxes are passed to
-  a span converter which assumes disjoint boxes as input.
-
-  This results in corners to be drawn with the wrong shade.
-*/
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_set_line_width (cr, 4);
-    cairo_translate (cr, 2*OFFSET, 2*OFFSET);
-
-    for (i = 0; i < 4; i++) {
-       double x = i * DISTANCE;
-
-       cairo_move_to (cr, x, -OFFSET-0.75);
-       cairo_line_to (cr, x, SIZE-3*OFFSET-0.25);
-
-       cairo_move_to (cr, -OFFSET-0.75, x);
-       cairo_line_to (cr, SIZE-3*OFFSET-0.25, x);
-    }
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-aligned (cairo_t *cr, int width, int height)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-    return draw (cr, width, height);
-}
-
-CAIRO_TEST (rectilinear_grid,
-           "Test rectilinear rasterizer (covering partial pixels)",
-           "rectilinear", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
-
-CAIRO_TEST (a1_rectilinear_grid,
-           "Test rectilinear rasterizer (covering whole pixels)",
-           "rectilinear", /* keywords */
-           "target=raster", /* requirements */
-           SIZE, SIZE,
-           NULL, aligned)
diff --git a/test/rectilinear-miter-limit.c b/test/rectilinear-miter-limit.c
deleted file mode 100644 (file)
index 581d98b..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright © 2008 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH  10
-#define PAD        2
-#define WIDTH      (PAD + LINE_WIDTH + PAD)
-#define HEIGHT     (WIDTH)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_translate (cr, PAD, PAD);
-
-    /* Paint background white, then draw in black. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_width (cr, LINE_WIDTH);
-
-    /* The default miter limit value of 10.0 guarantees that
-     * right-angle turns, (in fact, any angle greater than 11
-     * degrees), gets a miter rather than a bevel join. The
-     * rectilinear stroke optimization was originally written in a
-     * buggy way that did not respect the miter limit, (that is,
-     * inappropriately drawing miter joins when the miter limit would
-     * turn them into bevels). So we draw here with a miter limit of
-     * 1.0 to force all miter joins into bevels. */
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    cairo_set_miter_limit (cr, 1.0);
-
-    cairo_move_to (cr, LINE_WIDTH / 2.0, LINE_WIDTH);
-    cairo_rel_line_to (cr, 0, - LINE_WIDTH / 2.0);
-    cairo_rel_line_to (cr, LINE_WIDTH / 2.0, 0);
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rectilinear_miter_limit,
-           "Test that the rectilinear stroke optimization doesn't break cairo_set_miter_limit",
-           "miter, stroke, stress", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/rectilinear-stroke.c b/test/rectilinear-stroke.c
deleted file mode 100644 (file)
index e05ff8c..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 25
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Paint background white, then draw in black. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_translate (cr, 1, 1);
-
-    /* Draw everything first with square caps. */
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-
-    /* Draw horizontal and vertical segments, each in both
-     * directions. */
-    cairo_move_to     (cr,  4.5,  0.5);
-    cairo_rel_line_to (cr,  2.0,  0.0);
-
-    cairo_move_to     (cr, 10.5,  4.5);
-    cairo_rel_line_to (cr,  0.0,  2.0);
-
-    cairo_move_to     (cr,  6.5, 10.5);
-    cairo_rel_line_to (cr, -2.0,  0.0);
-
-    cairo_move_to     (cr,  0.5,  6.5);
-    cairo_rel_line_to (cr,  0.0, -2.0);
-
-    /* Draw right angle turns in four directions. */
-    cairo_move_to     (cr,  0.5,  2.5);
-    cairo_rel_line_to (cr,  0.0, -2.0);
-    cairo_rel_line_to (cr,  2.0,  0.0);
-
-    cairo_move_to     (cr,  8.5,  0.5);
-    cairo_rel_line_to (cr,  2.0,  0.0);
-    cairo_rel_line_to (cr,  0.0,  2.0);
-
-    cairo_move_to     (cr, 10.5,  8.5);
-    cairo_rel_line_to (cr,  0.0,  2.0);
-    cairo_rel_line_to (cr, -2.0,  0.0);
-
-    cairo_move_to     (cr,  2.5, 10.5);
-    cairo_rel_line_to (cr, -2.0,  0.0);
-    cairo_rel_line_to (cr,  0.0, -2.0);
-
-    /* Draw a closed-path rectangle */
-    cairo_rectangle   (cr, 0.5, 12.5, 10.0, 10.0);
-
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 12, 0);
-
-    /* Now draw the same results, but with butt caps. */
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-
-    /* Draw horizontal and vertical segments, each in both
-     * directions. */
-    cairo_move_to     (cr,  4.0,  0.5);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-
-    cairo_move_to     (cr, 10.5,  4.0);
-    cairo_rel_line_to (cr,  0.0,  3.0);
-
-    cairo_move_to     (cr,  7.0, 10.5);
-    cairo_rel_line_to (cr, -3.0,  0.0);
-
-    cairo_move_to     (cr,  0.5,  7.0);
-    cairo_rel_line_to (cr,  0.0, -3.0);
-
-    /* Draw right angle turns in four directions. */
-    cairo_move_to     (cr,  0.5,  3.0);
-    cairo_rel_line_to (cr,  0.0, -2.5);
-    cairo_rel_line_to (cr,  2.5,  0.0);
-
-    cairo_move_to     (cr,  8.0,  0.5);
-    cairo_rel_line_to (cr,  2.5,  0.0);
-    cairo_rel_line_to (cr,  0.0,  2.5);
-
-    cairo_move_to     (cr, 10.5,  8.0);
-    cairo_rel_line_to (cr,  0.0,  2.5);
-    cairo_rel_line_to (cr, -2.5,  0.0);
-
-    cairo_move_to     (cr,  3.0, 10.5);
-    cairo_rel_line_to (cr, -2.5,  0.0);
-    cairo_rel_line_to (cr,  0.0, -2.5);
-
-    /* Draw a closed-path rectangle */
-    cairo_rectangle   (cr, 0.5, 12.5, 10.0, 10.0);
-
-    /* Draw a path that is rectilinear initially, but not completely */
-    /* We draw this out of the target window.  The bug that caused this
-     * addition was leaks if part of the path was rectilinear but not
-     * completely */
-    cairo_move_to     (cr,  3.0, 30.5);
-    cairo_rel_line_to (cr, -2.5,  0.0);
-    cairo_rel_line_to (cr, +2.5, +2.5);
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rectilinear_stroke,
-           "Test rectilinear stroke operations (covering only whole pixels)",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
-
diff --git a/test/reference/a1-bug.base.argb32.ref.png b/test/reference/a1-bug.base.argb32.ref.png
deleted file mode 100644 (file)
index 4b08e06..0000000
Binary files a/test/reference/a1-bug.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-bug.base.rgb24.ref.png b/test/reference/a1-bug.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4b08e06..0000000
Binary files a/test/reference/a1-bug.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-bug.egl.argb32.ref.png b/test/reference/a1-bug.egl.argb32.ref.png
deleted file mode 100644 (file)
index dc6ff93..0000000
Binary files a/test/reference/a1-bug.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-bug.image16.ref.png b/test/reference/a1-bug.image16.ref.png
deleted file mode 100644 (file)
index 48ce4b6..0000000
Binary files a/test/reference/a1-bug.image16.ref.png and /dev/null differ
diff --git a/test/reference/a1-bug.mask.argb32.ref.png b/test/reference/a1-bug.mask.argb32.ref.png
deleted file mode 100644 (file)
index f9ae8a8..0000000
Binary files a/test/reference/a1-bug.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-bug.mask.rgb24.ref.png b/test/reference/a1-bug.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f9ae8a8..0000000
Binary files a/test/reference/a1-bug.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-bug.quartz.xfail.png b/test/reference/a1-bug.quartz.xfail.png
deleted file mode 100644 (file)
index 4ed3793..0000000
Binary files a/test/reference/a1-bug.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/a1-bug.ref.png b/test/reference/a1-bug.ref.png
deleted file mode 100644 (file)
index dc6ff93..0000000
Binary files a/test/reference/a1-bug.ref.png and /dev/null differ
diff --git a/test/reference/a1-bug.traps.argb32.ref.png b/test/reference/a1-bug.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4b08e06..0000000
Binary files a/test/reference/a1-bug.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-bug.traps.rgb24.ref.png b/test/reference/a1-bug.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4b08e06..0000000
Binary files a/test/reference/a1-bug.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-equal.argb32.ref.png b/test/reference/a1-clip-fill-equal.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill-equal.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-equal.base.argb32.ref.png b/test/reference/a1-clip-fill-equal.base.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill-equal.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-equal.base.rgb24.ref.png b/test/reference/a1-clip-fill-equal.base.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill-equal.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-equal.egl.argb32.ref.png b/test/reference/a1-clip-fill-equal.egl.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill-equal.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-equal.mask.argb32.ref.png b/test/reference/a1-clip-fill-equal.mask.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill-equal.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-equal.mask.rgb24.ref.png b/test/reference/a1-clip-fill-equal.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill-equal.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-equal.ref.png b/test/reference/a1-clip-fill-equal.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill-equal.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-equal.rgb24.ref.png b/test/reference/a1-clip-fill-equal.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill-equal.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-equal.traps.argb32.ref.png b/test/reference/a1-clip-fill-equal.traps.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill-equal.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-equal.traps.rgb24.ref.png b/test/reference/a1-clip-fill-equal.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill-equal.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-rule.argb32.ref.png b/test/reference/a1-clip-fill-rule.argb32.ref.png
deleted file mode 100644 (file)
index c3ba9dd..0000000
Binary files a/test/reference/a1-clip-fill-rule.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-rule.base.argb32.ref.png b/test/reference/a1-clip-fill-rule.base.argb32.ref.png
deleted file mode 100644 (file)
index c3ba9dd..0000000
Binary files a/test/reference/a1-clip-fill-rule.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-rule.base.rgb24.ref.png b/test/reference/a1-clip-fill-rule.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6fe9346..0000000
Binary files a/test/reference/a1-clip-fill-rule.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-rule.egl.argb32.ref.png b/test/reference/a1-clip-fill-rule.egl.argb32.ref.png
deleted file mode 100644 (file)
index c3ba9dd..0000000
Binary files a/test/reference/a1-clip-fill-rule.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-rule.mask.argb32.ref.png b/test/reference/a1-clip-fill-rule.mask.argb32.ref.png
deleted file mode 100644 (file)
index c3ba9dd..0000000
Binary files a/test/reference/a1-clip-fill-rule.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-rule.mask.rgb24.ref.png b/test/reference/a1-clip-fill-rule.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6fe9346..0000000
Binary files a/test/reference/a1-clip-fill-rule.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-rule.rgb24.ref.png b/test/reference/a1-clip-fill-rule.rgb24.ref.png
deleted file mode 100644 (file)
index 6fe9346..0000000
Binary files a/test/reference/a1-clip-fill-rule.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-rule.traps.argb32.ref.png b/test/reference/a1-clip-fill-rule.traps.argb32.ref.png
deleted file mode 100644 (file)
index c3ba9dd..0000000
Binary files a/test/reference/a1-clip-fill-rule.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill-rule.traps.rgb24.ref.png b/test/reference/a1-clip-fill-rule.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6fe9346..0000000
Binary files a/test/reference/a1-clip-fill-rule.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill.argb32.ref.png b/test/reference/a1-clip-fill.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill.base.argb32.ref.png b/test/reference/a1-clip-fill.base.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill.base.rgb24.ref.png b/test/reference/a1-clip-fill.base.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill.egl.argb32.ref.png b/test/reference/a1-clip-fill.egl.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill.mask.argb32.ref.png b/test/reference/a1-clip-fill.mask.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill.mask.rgb24.ref.png b/test/reference/a1-clip-fill.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill.ref.png b/test/reference/a1-clip-fill.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill.rgb24.ref.png b/test/reference/a1-clip-fill.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill.traps.argb32.ref.png b/test/reference/a1-clip-fill.traps.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-fill.traps.rgb24.ref.png b/test/reference/a1-clip-fill.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-fill.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-paint.argb32.ref.png b/test/reference/a1-clip-paint.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-paint.base.argb32.ref.png b/test/reference/a1-clip-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-paint.base.rgb24.ref.png b/test/reference/a1-clip-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-paint.egl.argb32.ref.png b/test/reference/a1-clip-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-paint.mask.argb32.ref.png b/test/reference/a1-clip-paint.mask.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-paint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-paint.mask.rgb24.ref.png b/test/reference/a1-clip-paint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-paint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-paint.ref.png b/test/reference/a1-clip-paint.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-paint.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-paint.rgb24.ref.png b/test/reference/a1-clip-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-paint.traps.argb32.ref.png b/test/reference/a1-clip-paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-paint.traps.rgb24.ref.png b/test/reference/a1-clip-paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-stroke.argb32.ref.png b/test/reference/a1-clip-stroke.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-stroke.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-stroke.base.argb32.ref.png b/test/reference/a1-clip-stroke.base.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-stroke.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-stroke.base.rgb24.ref.png b/test/reference/a1-clip-stroke.base.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-stroke.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-stroke.egl.argb32.ref.png b/test/reference/a1-clip-stroke.egl.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-stroke.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-stroke.mask.argb32.ref.png b/test/reference/a1-clip-stroke.mask.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-stroke.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-stroke.mask.rgb24.ref.png b/test/reference/a1-clip-stroke.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-stroke.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-stroke.ref.png b/test/reference/a1-clip-stroke.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-stroke.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-stroke.rgb24.ref.png b/test/reference/a1-clip-stroke.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-stroke.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-stroke.traps.argb32.ref.png b/test/reference/a1-clip-stroke.traps.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-stroke.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-clip-stroke.traps.rgb24.ref.png b/test/reference/a1-clip-stroke.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-clip-stroke.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.argb32.ref.png b/test/reference/a1-fill.argb32.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.base.argb32.ref.png b/test/reference/a1-fill.base.argb32.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.base.ref.png b/test/reference/a1-fill.base.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.base.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.base.rgb24.ref.png b/test/reference/a1-fill.base.rgb24.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.egl.argb32.ref.png b/test/reference/a1-fill.egl.argb32.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.mask.argb32.ref.png b/test/reference/a1-fill.mask.argb32.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.mask.rgb24.ref.png b/test/reference/a1-fill.mask.rgb24.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.ref.png b/test/reference/a1-fill.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.rgb24.ref.png b/test/reference/a1-fill.rgb24.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.traps.argb32.ref.png b/test/reference/a1-fill.traps.argb32.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.traps.ref.png b/test/reference/a1-fill.traps.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.traps.ref.png and /dev/null differ
diff --git a/test/reference/a1-fill.traps.rgb24.ref.png b/test/reference/a1-fill.traps.rgb24.ref.png
deleted file mode 100644 (file)
index e40202b..0000000
Binary files a/test/reference/a1-fill.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.argb32.ref.png b/test/reference/a1-image-sample.argb32.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.base.argb32.ref.png b/test/reference/a1-image-sample.base.argb32.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.base.rgb24.ref.png b/test/reference/a1-image-sample.base.rgb24.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.egl.argb32.ref.png b/test/reference/a1-image-sample.egl.argb32.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.gl.xfail.png b/test/reference/a1-image-sample.gl.xfail.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-image-sample.gl.xfail.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.mask.argb32.ref.png b/test/reference/a1-image-sample.mask.argb32.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.mask.rgb24.ref.png b/test/reference/a1-image-sample.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.ref.png b/test/reference/a1-image-sample.ref.png
deleted file mode 100644 (file)
index b4e81eb..0000000
Binary files a/test/reference/a1-image-sample.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.rgb24.ref.png b/test/reference/a1-image-sample.rgb24.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.traps.argb32.ref.png b/test/reference/a1-image-sample.traps.argb32.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.traps.rgb24.ref.png b/test/reference/a1-image-sample.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.xlib-fallback.rgb24.ref.png b/test/reference/a1-image-sample.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-image-sample.xlib-window.rgb24.ref.png b/test/reference/a1-image-sample.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-image-sample.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.argb32.ref.png b/test/reference/a1-line-width.argb32.ref.png
deleted file mode 100644 (file)
index 35d9cad..0000000
Binary files a/test/reference/a1-line-width.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.base.argb32.ref.png b/test/reference/a1-line-width.base.argb32.ref.png
deleted file mode 100644 (file)
index 35d9cad..0000000
Binary files a/test/reference/a1-line-width.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.base.rgb24.ref.png b/test/reference/a1-line-width.base.rgb24.ref.png
deleted file mode 100644 (file)
index 35d9cad..0000000
Binary files a/test/reference/a1-line-width.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.egl.argb32.ref.png b/test/reference/a1-line-width.egl.argb32.ref.png
deleted file mode 100644 (file)
index 35d9cad..0000000
Binary files a/test/reference/a1-line-width.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.mask.argb32.ref.png b/test/reference/a1-line-width.mask.argb32.ref.png
deleted file mode 100644 (file)
index 35d9cad..0000000
Binary files a/test/reference/a1-line-width.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.mask.rgb24.ref.png b/test/reference/a1-line-width.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 35d9cad..0000000
Binary files a/test/reference/a1-line-width.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.pdf.ref.png b/test/reference/a1-line-width.pdf.ref.png
deleted file mode 100644 (file)
index 41a06e7..0000000
Binary files a/test/reference/a1-line-width.pdf.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.ps.ref.png b/test/reference/a1-line-width.ps.ref.png
deleted file mode 100644 (file)
index c52f8d8..0000000
Binary files a/test/reference/a1-line-width.ps.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.ref.png b/test/reference/a1-line-width.ref.png
deleted file mode 100644 (file)
index 35d9cad..0000000
Binary files a/test/reference/a1-line-width.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.rgb24.ref.png b/test/reference/a1-line-width.rgb24.ref.png
deleted file mode 100644 (file)
index 35d9cad..0000000
Binary files a/test/reference/a1-line-width.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.traps.argb32.ref.png b/test/reference/a1-line-width.traps.argb32.ref.png
deleted file mode 100644 (file)
index 35d9cad..0000000
Binary files a/test/reference/a1-line-width.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-line-width.traps.rgb24.ref.png b/test/reference/a1-line-width.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 35d9cad..0000000
Binary files a/test/reference/a1-line-width.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask-sample.argb32.ref.png b/test/reference/a1-mask-sample.argb32.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-mask-sample.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask-sample.base.argb32.ref.png b/test/reference/a1-mask-sample.base.argb32.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-mask-sample.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask-sample.base.rgb24.ref.png b/test/reference/a1-mask-sample.base.rgb24.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-mask-sample.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask-sample.egl.argb32.ref.png b/test/reference/a1-mask-sample.egl.argb32.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-mask-sample.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask-sample.mask.argb32.ref.png b/test/reference/a1-mask-sample.mask.argb32.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-mask-sample.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask-sample.mask.rgb24.ref.png b/test/reference/a1-mask-sample.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-mask-sample.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask-sample.ref.png b/test/reference/a1-mask-sample.ref.png
deleted file mode 100644 (file)
index b4e81eb..0000000
Binary files a/test/reference/a1-mask-sample.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask-sample.rgb24.ref.png b/test/reference/a1-mask-sample.rgb24.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-mask-sample.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask-sample.traps.argb32.ref.png b/test/reference/a1-mask-sample.traps.argb32.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-mask-sample.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask-sample.traps.rgb24.ref.png b/test/reference/a1-mask-sample.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b8fd457..0000000
Binary files a/test/reference/a1-mask-sample.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.argb32.ref.png b/test/reference/a1-mask.argb32.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.base.argb32.ref.png b/test/reference/a1-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.base.rgb24.ref.png b/test/reference/a1-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.egl.argb32.ref.png b/test/reference/a1-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.mask.argb32.ref.png b/test/reference/a1-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.mask.rgb24.ref.png b/test/reference/a1-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.pdf.ref.png b/test/reference/a1-mask.pdf.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.pdf.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.ps.ref.png b/test/reference/a1-mask.ps.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.ps.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.ref.png b/test/reference/a1-mask.ref.png
deleted file mode 100644 (file)
index ac4d97a..0000000
Binary files a/test/reference/a1-mask.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.rgb24.ref.png b/test/reference/a1-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.traps.argb32.ref.png b/test/reference/a1-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-mask.traps.rgb24.ref.png b/test/reference/a1-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 864fc10..0000000
Binary files a/test/reference/a1-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.argb32.ref.png b/test/reference/a1-rasterisation-rectangles.argb32.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.base.argb32.ref.png b/test/reference/a1-rasterisation-rectangles.base.argb32.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.base.rgb24.ref.png b/test/reference/a1-rasterisation-rectangles.base.rgb24.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.egl.argb32.ref.png b/test/reference/a1-rasterisation-rectangles.egl.argb32.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.mask.argb32.ref.png b/test/reference/a1-rasterisation-rectangles.mask.argb32.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.mask.rgb24.ref.png b/test/reference/a1-rasterisation-rectangles.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.quartz.xfail.png b/test/reference/a1-rasterisation-rectangles.quartz.xfail.png
deleted file mode 100644 (file)
index f8f3bf8..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.ref.png b/test/reference/a1-rasterisation-rectangles.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.rgb24.ref.png b/test/reference/a1-rasterisation-rectangles.rgb24.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.traps.argb32.ref.png b/test/reference/a1-rasterisation-rectangles.traps.argb32.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-rectangles.traps.rgb24.ref.png b/test/reference/a1-rasterisation-rectangles.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-rectangles.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.argb32.ref.png b/test/reference/a1-rasterisation-triangles.argb32.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-triangles.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.base.argb32.ref.png b/test/reference/a1-rasterisation-triangles.base.argb32.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-triangles.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.base.rgb24.ref.png b/test/reference/a1-rasterisation-triangles.base.rgb24.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-triangles.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.egl.argb32.ref.png b/test/reference/a1-rasterisation-triangles.egl.argb32.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-triangles.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.mask.argb32.ref.png b/test/reference/a1-rasterisation-triangles.mask.argb32.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-triangles.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.mask.rgb24.ref.png b/test/reference/a1-rasterisation-triangles.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-triangles.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.quartz.xfail.png b/test/reference/a1-rasterisation-triangles.quartz.xfail.png
deleted file mode 100644 (file)
index f8f3bf8..0000000
Binary files a/test/reference/a1-rasterisation-triangles.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.ref.png b/test/reference/a1-rasterisation-triangles.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-triangles.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.rgb24.ref.png b/test/reference/a1-rasterisation-triangles.rgb24.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-triangles.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.traps.argb32.ref.png b/test/reference/a1-rasterisation-triangles.traps.argb32.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-triangles.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rasterisation-triangles.traps.rgb24.ref.png b/test/reference/a1-rasterisation-triangles.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 784cf87..0000000
Binary files a/test/reference/a1-rasterisation-triangles.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rectilinear-grid.argb32.ref.png b/test/reference/a1-rectilinear-grid.argb32.ref.png
deleted file mode 100644 (file)
index 2dfb85e..0000000
Binary files a/test/reference/a1-rectilinear-grid.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rectilinear-grid.base.argb32.ref.png b/test/reference/a1-rectilinear-grid.base.argb32.ref.png
deleted file mode 100644 (file)
index 2dfb85e..0000000
Binary files a/test/reference/a1-rectilinear-grid.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rectilinear-grid.base.rgb24.ref.png b/test/reference/a1-rectilinear-grid.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2dfb85e..0000000
Binary files a/test/reference/a1-rectilinear-grid.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rectilinear-grid.egl.argb32.ref.png b/test/reference/a1-rectilinear-grid.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2dfb85e..0000000
Binary files a/test/reference/a1-rectilinear-grid.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rectilinear-grid.mask.argb32.ref.png b/test/reference/a1-rectilinear-grid.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2dfb85e..0000000
Binary files a/test/reference/a1-rectilinear-grid.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rectilinear-grid.mask.rgb24.ref.png b/test/reference/a1-rectilinear-grid.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2dfb85e..0000000
Binary files a/test/reference/a1-rectilinear-grid.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rectilinear-grid.ref.png b/test/reference/a1-rectilinear-grid.ref.png
deleted file mode 100644 (file)
index 2dfb85e..0000000
Binary files a/test/reference/a1-rectilinear-grid.ref.png and /dev/null differ
diff --git a/test/reference/a1-rectilinear-grid.rgb24.ref.png b/test/reference/a1-rectilinear-grid.rgb24.ref.png
deleted file mode 100644 (file)
index 2dfb85e..0000000
Binary files a/test/reference/a1-rectilinear-grid.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-rectilinear-grid.traps.argb32.ref.png b/test/reference/a1-rectilinear-grid.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2dfb85e..0000000
Binary files a/test/reference/a1-rectilinear-grid.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-rectilinear-grid.traps.rgb24.ref.png b/test/reference/a1-rectilinear-grid.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2dfb85e..0000000
Binary files a/test/reference/a1-rectilinear-grid.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-sample.argb32.ref.png b/test/reference/a1-sample.argb32.ref.png
deleted file mode 100644 (file)
index 4c6131c..0000000
Binary files a/test/reference/a1-sample.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-sample.base.argb32.ref.png b/test/reference/a1-sample.base.argb32.ref.png
deleted file mode 100644 (file)
index 4c6131c..0000000
Binary files a/test/reference/a1-sample.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-sample.base.rgb24.ref.png b/test/reference/a1-sample.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4c6131c..0000000
Binary files a/test/reference/a1-sample.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-sample.egl.argb32.ref.png b/test/reference/a1-sample.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4c6131c..0000000
Binary files a/test/reference/a1-sample.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-sample.mask.argb32.ref.png b/test/reference/a1-sample.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4c6131c..0000000
Binary files a/test/reference/a1-sample.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-sample.mask.rgb24.ref.png b/test/reference/a1-sample.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4c6131c..0000000
Binary files a/test/reference/a1-sample.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-sample.ref.png b/test/reference/a1-sample.ref.png
deleted file mode 100644 (file)
index 4c6131c..0000000
Binary files a/test/reference/a1-sample.ref.png and /dev/null differ
diff --git a/test/reference/a1-sample.rgb24.ref.png b/test/reference/a1-sample.rgb24.ref.png
deleted file mode 100644 (file)
index 4c6131c..0000000
Binary files a/test/reference/a1-sample.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-sample.traps.argb32.ref.png b/test/reference/a1-sample.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4c6131c..0000000
Binary files a/test/reference/a1-sample.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-sample.traps.rgb24.ref.png b/test/reference/a1-sample.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4c6131c..0000000
Binary files a/test/reference/a1-sample.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-tiger.base.argb32.ref.png b/test/reference/a1-tiger.base.argb32.ref.png
deleted file mode 100644 (file)
index 3847282..0000000
Binary files a/test/reference/a1-tiger.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-tiger.base.rgb24.ref.png b/test/reference/a1-tiger.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3847282..0000000
Binary files a/test/reference/a1-tiger.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-tiger.egl.argb32.ref.png b/test/reference/a1-tiger.egl.argb32.ref.png
deleted file mode 100644 (file)
index 42772bf..0000000
Binary files a/test/reference/a1-tiger.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-tiger.mask.argb32.ref.png b/test/reference/a1-tiger.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9a62af7..0000000
Binary files a/test/reference/a1-tiger.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-tiger.mask.rgb24.ref.png b/test/reference/a1-tiger.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9a62af7..0000000
Binary files a/test/reference/a1-tiger.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-tiger.ref.png b/test/reference/a1-tiger.ref.png
deleted file mode 100644 (file)
index cc641e2..0000000
Binary files a/test/reference/a1-tiger.ref.png and /dev/null differ
diff --git a/test/reference/a1-tiger.traps.argb32.ref.png b/test/reference/a1-tiger.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3847282..0000000
Binary files a/test/reference/a1-tiger.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-tiger.traps.rgb24.ref.png b/test/reference/a1-tiger.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3847282..0000000
Binary files a/test/reference/a1-tiger.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.argb32.ref.png b/test/reference/a1-traps-sample.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-traps-sample.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.base.argb32.ref.png b/test/reference/a1-traps-sample.base.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-traps-sample.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.base.rgb24.ref.png b/test/reference/a1-traps-sample.base.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-traps-sample.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.egl.argb32.ref.png b/test/reference/a1-traps-sample.egl.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-traps-sample.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.mask.argb32.ref.png b/test/reference/a1-traps-sample.mask.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-traps-sample.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.mask.rgb24.ref.png b/test/reference/a1-traps-sample.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-traps-sample.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.quartz.xfail.png b/test/reference/a1-traps-sample.quartz.xfail.png
deleted file mode 100644 (file)
index c89f4fe..0000000
Binary files a/test/reference/a1-traps-sample.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.ref.png b/test/reference/a1-traps-sample.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-traps-sample.ref.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.rgb24.ref.png b/test/reference/a1-traps-sample.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-traps-sample.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.traps.argb32.ref.png b/test/reference/a1-traps-sample.traps.argb32.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-traps-sample.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a1-traps-sample.traps.rgb24.ref.png b/test/reference/a1-traps-sample.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 384ba4a..0000000
Binary files a/test/reference/a1-traps-sample.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.argb32.ref.png b/test/reference/a8-clear.argb32.ref.png
deleted file mode 100644 (file)
index 98a624e..0000000
Binary files a/test/reference/a8-clear.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.base.argb32.ref.png b/test/reference/a8-clear.base.argb32.ref.png
deleted file mode 100644 (file)
index 5201080..0000000
Binary files a/test/reference/a8-clear.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.base.rgb24.ref.png b/test/reference/a8-clear.base.rgb24.ref.png
deleted file mode 100644 (file)
index 5201080..0000000
Binary files a/test/reference/a8-clear.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.egl.argb32.ref.png b/test/reference/a8-clear.egl.argb32.ref.png
deleted file mode 100644 (file)
index 98a624e..0000000
Binary files a/test/reference/a8-clear.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.mask.argb32.ref.png b/test/reference/a8-clear.mask.argb32.ref.png
deleted file mode 100644 (file)
index 98a624e..0000000
Binary files a/test/reference/a8-clear.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.mask.rgb24.ref.png b/test/reference/a8-clear.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 98a624e..0000000
Binary files a/test/reference/a8-clear.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.quartz.ref.png b/test/reference/a8-clear.quartz.ref.png
deleted file mode 100644 (file)
index 5b7c67f..0000000
Binary files a/test/reference/a8-clear.quartz.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.ref.png b/test/reference/a8-clear.ref.png
deleted file mode 100644 (file)
index 23260c4..0000000
Binary files a/test/reference/a8-clear.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.rgb24.ref.png b/test/reference/a8-clear.rgb24.ref.png
deleted file mode 100644 (file)
index 98a624e..0000000
Binary files a/test/reference/a8-clear.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.traps.argb32.ref.png b/test/reference/a8-clear.traps.argb32.ref.png
deleted file mode 100644 (file)
index 5201080..0000000
Binary files a/test/reference/a8-clear.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a8-clear.traps.rgb24.ref.png b/test/reference/a8-clear.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 5201080..0000000
Binary files a/test/reference/a8-clear.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a8-mask.argb32.ref.png b/test/reference/a8-mask.argb32.ref.png
deleted file mode 100644 (file)
index e0503d9..0000000
Binary files a/test/reference/a8-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a8-mask.base.argb32.ref.png b/test/reference/a8-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index e0503d9..0000000
Binary files a/test/reference/a8-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a8-mask.base.rgb24.ref.png b/test/reference/a8-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index e0503d9..0000000
Binary files a/test/reference/a8-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a8-mask.egl.argb32.ref.png b/test/reference/a8-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index e0503d9..0000000
Binary files a/test/reference/a8-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a8-mask.mask.argb32.ref.png b/test/reference/a8-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index e0503d9..0000000
Binary files a/test/reference/a8-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a8-mask.mask.rgb24.ref.png b/test/reference/a8-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index e0503d9..0000000
Binary files a/test/reference/a8-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a8-mask.ref.png b/test/reference/a8-mask.ref.png
deleted file mode 100644 (file)
index 3855615..0000000
Binary files a/test/reference/a8-mask.ref.png and /dev/null differ
diff --git a/test/reference/a8-mask.rgb24.ref.png b/test/reference/a8-mask.rgb24.ref.png
deleted file mode 100644 (file)
index e0503d9..0000000
Binary files a/test/reference/a8-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/a8-mask.traps.argb32.ref.png b/test/reference/a8-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index e0503d9..0000000
Binary files a/test/reference/a8-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/a8-mask.traps.rgb24.ref.png b/test/reference/a8-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index e0503d9..0000000
Binary files a/test/reference/a8-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.argb32.ref.png b/test/reference/aliasing.argb32.ref.png
deleted file mode 100644 (file)
index c11eb67..0000000
Binary files a/test/reference/aliasing.argb32.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.base.argb32.ref.png b/test/reference/aliasing.base.argb32.ref.png
deleted file mode 100644 (file)
index a88dbe2..0000000
Binary files a/test/reference/aliasing.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.base.rgb24.ref.png b/test/reference/aliasing.base.rgb24.ref.png
deleted file mode 100644 (file)
index a88dbe2..0000000
Binary files a/test/reference/aliasing.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.egl.argb32.ref.png b/test/reference/aliasing.egl.argb32.ref.png
deleted file mode 100644 (file)
index e20211a..0000000
Binary files a/test/reference/aliasing.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.image16.ref.png b/test/reference/aliasing.image16.ref.png
deleted file mode 100644 (file)
index c763333..0000000
Binary files a/test/reference/aliasing.image16.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.mask.argb32.ref.png b/test/reference/aliasing.mask.argb32.ref.png
deleted file mode 100644 (file)
index c11eb67..0000000
Binary files a/test/reference/aliasing.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.mask.rgb24.ref.png b/test/reference/aliasing.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c11eb67..0000000
Binary files a/test/reference/aliasing.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.quartz.ref.png b/test/reference/aliasing.quartz.ref.png
deleted file mode 100644 (file)
index f4b6e22..0000000
Binary files a/test/reference/aliasing.quartz.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.ref.png b/test/reference/aliasing.ref.png
deleted file mode 100644 (file)
index 16f563e..0000000
Binary files a/test/reference/aliasing.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.rgb24.ref.png b/test/reference/aliasing.rgb24.ref.png
deleted file mode 100644 (file)
index c11eb67..0000000
Binary files a/test/reference/aliasing.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.traps.argb32.ref.png b/test/reference/aliasing.traps.argb32.ref.png
deleted file mode 100644 (file)
index a88dbe2..0000000
Binary files a/test/reference/aliasing.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.traps.rgb24.ref.png b/test/reference/aliasing.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a88dbe2..0000000
Binary files a/test/reference/aliasing.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/alpha-similar.argb32.ref.png b/test/reference/alpha-similar.argb32.ref.png
deleted file mode 100644 (file)
index 9e1bfaa..0000000
Binary files a/test/reference/alpha-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/alpha-similar.base.argb32.ref.png b/test/reference/alpha-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index 9e1bfaa..0000000
Binary files a/test/reference/alpha-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/alpha-similar.base.rgb24.ref.png b/test/reference/alpha-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index a1f5280..0000000
Binary files a/test/reference/alpha-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/alpha-similar.egl.argb32.ref.png b/test/reference/alpha-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index ef34fb3..0000000
Binary files a/test/reference/alpha-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/alpha-similar.gl.argb32.xfail.png b/test/reference/alpha-similar.gl.argb32.xfail.png
deleted file mode 100644 (file)
index 579aae1..0000000
Binary files a/test/reference/alpha-similar.gl.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/alpha-similar.gl.rgb24.xfail.png b/test/reference/alpha-similar.gl.rgb24.xfail.png
deleted file mode 100644 (file)
index 86366d2..0000000
Binary files a/test/reference/alpha-similar.gl.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/alpha-similar.mask.argb32.ref.png b/test/reference/alpha-similar.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9e1bfaa..0000000
Binary files a/test/reference/alpha-similar.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/alpha-similar.mask.rgb24.ref.png b/test/reference/alpha-similar.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a1f5280..0000000
Binary files a/test/reference/alpha-similar.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/alpha-similar.pdf.argb32.xfail.png b/test/reference/alpha-similar.pdf.argb32.xfail.png
deleted file mode 100644 (file)
index 75aa600..0000000
Binary files a/test/reference/alpha-similar.pdf.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/alpha-similar.pdf.rgb24.xfail.png b/test/reference/alpha-similar.pdf.rgb24.xfail.png
deleted file mode 100644 (file)
index 86366d2..0000000
Binary files a/test/reference/alpha-similar.pdf.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/alpha-similar.ps.argb32.xfail.png b/test/reference/alpha-similar.ps.argb32.xfail.png
deleted file mode 100644 (file)
index 75aa600..0000000
Binary files a/test/reference/alpha-similar.ps.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/alpha-similar.ps.rgb24.xfail.png b/test/reference/alpha-similar.ps.rgb24.xfail.png
deleted file mode 100644 (file)
index 15a6aa1..0000000
Binary files a/test/reference/alpha-similar.ps.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/alpha-similar.ref.png b/test/reference/alpha-similar.ref.png
deleted file mode 100644 (file)
index 9e1bfaa..0000000
Binary files a/test/reference/alpha-similar.ref.png and /dev/null differ
diff --git a/test/reference/alpha-similar.rgb24.ref.png b/test/reference/alpha-similar.rgb24.ref.png
deleted file mode 100644 (file)
index a1f5280..0000000
Binary files a/test/reference/alpha-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/alpha-similar.svg.argb32.xfail.png b/test/reference/alpha-similar.svg.argb32.xfail.png
deleted file mode 100644 (file)
index 2ade632..0000000
Binary files a/test/reference/alpha-similar.svg.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/alpha-similar.svg.rgb24.xfail.png b/test/reference/alpha-similar.svg.rgb24.xfail.png
deleted file mode 100644 (file)
index c236898..0000000
Binary files a/test/reference/alpha-similar.svg.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/alpha-similar.traps.argb32.ref.png b/test/reference/alpha-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9e1bfaa..0000000
Binary files a/test/reference/alpha-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/alpha-similar.traps.rgb24.ref.png b/test/reference/alpha-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a1f5280..0000000
Binary files a/test/reference/alpha-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/api-special-cases.argb32.ref.png b/test/reference/api-special-cases.argb32.ref.png
deleted file mode 100644 (file)
index 56b88a9..0000000
Binary files a/test/reference/api-special-cases.argb32.ref.png and /dev/null differ
diff --git a/test/reference/api-special-cases.base.argb32.ref.png b/test/reference/api-special-cases.base.argb32.ref.png
deleted file mode 100644 (file)
index 56b88a9..0000000
Binary files a/test/reference/api-special-cases.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/api-special-cases.base.rgb24.ref.png b/test/reference/api-special-cases.base.rgb24.ref.png
deleted file mode 100644 (file)
index 56b88a9..0000000
Binary files a/test/reference/api-special-cases.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/api-special-cases.egl.argb32.ref.png b/test/reference/api-special-cases.egl.argb32.ref.png
deleted file mode 100644 (file)
index de1dea9..0000000
Binary files a/test/reference/api-special-cases.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/api-special-cases.mask.argb32.ref.png b/test/reference/api-special-cases.mask.argb32.ref.png
deleted file mode 100644 (file)
index 56b88a9..0000000
Binary files a/test/reference/api-special-cases.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/api-special-cases.mask.rgb24.ref.png b/test/reference/api-special-cases.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 56b88a9..0000000
Binary files a/test/reference/api-special-cases.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/api-special-cases.ref.png b/test/reference/api-special-cases.ref.png
deleted file mode 100644 (file)
index 56b88a9..0000000
Binary files a/test/reference/api-special-cases.ref.png and /dev/null differ
diff --git a/test/reference/api-special-cases.rgb24.ref.png b/test/reference/api-special-cases.rgb24.ref.png
deleted file mode 100644 (file)
index 56b88a9..0000000
Binary files a/test/reference/api-special-cases.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/api-special-cases.traps.argb32.ref.png b/test/reference/api-special-cases.traps.argb32.ref.png
deleted file mode 100644 (file)
index 56b88a9..0000000
Binary files a/test/reference/api-special-cases.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/api-special-cases.traps.rgb24.ref.png b/test/reference/api-special-cases.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 56b88a9..0000000
Binary files a/test/reference/api-special-cases.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.argb32.ref.png b/test/reference/arc-direction.argb32.ref.png
deleted file mode 100644 (file)
index 280c09b..0000000
Binary files a/test/reference/arc-direction.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.base.argb32.ref.png b/test/reference/arc-direction.base.argb32.ref.png
deleted file mode 100644 (file)
index 2790a2b..0000000
Binary files a/test/reference/arc-direction.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.base.ref.png b/test/reference/arc-direction.base.ref.png
deleted file mode 100644 (file)
index 2790a2b..0000000
Binary files a/test/reference/arc-direction.base.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.base.rgb24.ref.png b/test/reference/arc-direction.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2790a2b..0000000
Binary files a/test/reference/arc-direction.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.egl.argb32.ref.png b/test/reference/arc-direction.egl.argb32.ref.png
deleted file mode 100644 (file)
index 04c356f..0000000
Binary files a/test/reference/arc-direction.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.mask.argb32.ref.png b/test/reference/arc-direction.mask.argb32.ref.png
deleted file mode 100644 (file)
index 280c09b..0000000
Binary files a/test/reference/arc-direction.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.mask.rgb24.ref.png b/test/reference/arc-direction.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 280c09b..0000000
Binary files a/test/reference/arc-direction.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.ps.ref.png b/test/reference/arc-direction.ps.ref.png
deleted file mode 100644 (file)
index 902ab45..0000000
Binary files a/test/reference/arc-direction.ps.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.ref.png b/test/reference/arc-direction.ref.png
deleted file mode 100644 (file)
index 78be3e9..0000000
Binary files a/test/reference/arc-direction.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.rgb24.ref.png b/test/reference/arc-direction.rgb24.ref.png
deleted file mode 100644 (file)
index 280c09b..0000000
Binary files a/test/reference/arc-direction.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.traps.argb32.ref.png b/test/reference/arc-direction.traps.argb32.ref.png
deleted file mode 100644 (file)
index 280c09b..0000000
Binary files a/test/reference/arc-direction.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.traps.ref.png b/test/reference/arc-direction.traps.ref.png
deleted file mode 100644 (file)
index 2790a2b..0000000
Binary files a/test/reference/arc-direction.traps.ref.png and /dev/null differ
diff --git a/test/reference/arc-direction.traps.rgb24.ref.png b/test/reference/arc-direction.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 280c09b..0000000
Binary files a/test/reference/arc-direction.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-infinite-loop.argb32.ref.png b/test/reference/arc-infinite-loop.argb32.ref.png
deleted file mode 100644 (file)
index 82d645f..0000000
Binary files a/test/reference/arc-infinite-loop.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-infinite-loop.base.argb32.ref.png b/test/reference/arc-infinite-loop.base.argb32.ref.png
deleted file mode 100644 (file)
index 82d645f..0000000
Binary files a/test/reference/arc-infinite-loop.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-infinite-loop.base.rgb24.ref.png b/test/reference/arc-infinite-loop.base.rgb24.ref.png
deleted file mode 100644 (file)
index 82d645f..0000000
Binary files a/test/reference/arc-infinite-loop.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-infinite-loop.egl.argb32.ref.png b/test/reference/arc-infinite-loop.egl.argb32.ref.png
deleted file mode 100644 (file)
index 82d645f..0000000
Binary files a/test/reference/arc-infinite-loop.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-infinite-loop.mask.argb32.ref.png b/test/reference/arc-infinite-loop.mask.argb32.ref.png
deleted file mode 100644 (file)
index 82d645f..0000000
Binary files a/test/reference/arc-infinite-loop.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-infinite-loop.mask.rgb24.ref.png b/test/reference/arc-infinite-loop.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 82d645f..0000000
Binary files a/test/reference/arc-infinite-loop.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-infinite-loop.ref.png b/test/reference/arc-infinite-loop.ref.png
deleted file mode 100644 (file)
index 82d645f..0000000
Binary files a/test/reference/arc-infinite-loop.ref.png and /dev/null differ
diff --git a/test/reference/arc-infinite-loop.rgb24.ref.png b/test/reference/arc-infinite-loop.rgb24.ref.png
deleted file mode 100644 (file)
index 82d645f..0000000
Binary files a/test/reference/arc-infinite-loop.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-infinite-loop.traps.argb32.ref.png b/test/reference/arc-infinite-loop.traps.argb32.ref.png
deleted file mode 100644 (file)
index 82d645f..0000000
Binary files a/test/reference/arc-infinite-loop.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-infinite-loop.traps.rgb24.ref.png b/test/reference/arc-infinite-loop.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 82d645f..0000000
Binary files a/test/reference/arc-infinite-loop.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.argb32.ref.png b/test/reference/arc-looping-dash.argb32.ref.png
deleted file mode 100644 (file)
index 516e66c..0000000
Binary files a/test/reference/arc-looping-dash.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.base.argb32.ref.png b/test/reference/arc-looping-dash.base.argb32.ref.png
deleted file mode 100644 (file)
index 9b717b8..0000000
Binary files a/test/reference/arc-looping-dash.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.base.rgb24.ref.png b/test/reference/arc-looping-dash.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9b717b8..0000000
Binary files a/test/reference/arc-looping-dash.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.egl.argb32.ref.png b/test/reference/arc-looping-dash.egl.argb32.ref.png
deleted file mode 100644 (file)
index ea28611..0000000
Binary files a/test/reference/arc-looping-dash.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.image16.ref.png b/test/reference/arc-looping-dash.image16.ref.png
deleted file mode 100644 (file)
index addc93c..0000000
Binary files a/test/reference/arc-looping-dash.image16.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.mask.argb32.ref.png b/test/reference/arc-looping-dash.mask.argb32.ref.png
deleted file mode 100644 (file)
index 516e66c..0000000
Binary files a/test/reference/arc-looping-dash.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.mask.rgb24.ref.png b/test/reference/arc-looping-dash.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 516e66c..0000000
Binary files a/test/reference/arc-looping-dash.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.ps.ref.png b/test/reference/arc-looping-dash.ps.ref.png
deleted file mode 100644 (file)
index ab19b19..0000000
Binary files a/test/reference/arc-looping-dash.ps.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.quartz.ref.png b/test/reference/arc-looping-dash.quartz.ref.png
deleted file mode 100644 (file)
index 70304ca..0000000
Binary files a/test/reference/arc-looping-dash.quartz.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.ref.png b/test/reference/arc-looping-dash.ref.png
deleted file mode 100644 (file)
index 27acfc3..0000000
Binary files a/test/reference/arc-looping-dash.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.rgb24.ref.png b/test/reference/arc-looping-dash.rgb24.ref.png
deleted file mode 100644 (file)
index 516e66c..0000000
Binary files a/test/reference/arc-looping-dash.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.traps.argb32.ref.png b/test/reference/arc-looping-dash.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9b717b8..0000000
Binary files a/test/reference/arc-looping-dash.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/arc-looping-dash.traps.rgb24.ref.png b/test/reference/arc-looping-dash.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 9b717b8..0000000
Binary files a/test/reference/arc-looping-dash.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-box.argb32.ref.png b/test/reference/big-empty-box.argb32.ref.png
deleted file mode 100644 (file)
index a88d3b6..0000000
Binary files a/test/reference/big-empty-box.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-box.base.argb32.ref.png b/test/reference/big-empty-box.base.argb32.ref.png
deleted file mode 100644 (file)
index a88d3b6..0000000
Binary files a/test/reference/big-empty-box.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-box.base.rgb24.ref.png b/test/reference/big-empty-box.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6c2ca32..0000000
Binary files a/test/reference/big-empty-box.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-box.egl.argb32.ref.png b/test/reference/big-empty-box.egl.argb32.ref.png
deleted file mode 100644 (file)
index a88d3b6..0000000
Binary files a/test/reference/big-empty-box.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-box.rgb24.ref.png b/test/reference/big-empty-box.rgb24.ref.png
deleted file mode 100644 (file)
index 6c2ca32..0000000
Binary files a/test/reference/big-empty-box.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-box.traps.argb32.ref.png b/test/reference/big-empty-box.traps.argb32.ref.png
deleted file mode 100644 (file)
index a88d3b6..0000000
Binary files a/test/reference/big-empty-box.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-box.traps.rgb24.ref.png b/test/reference/big-empty-box.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6c2ca32..0000000
Binary files a/test/reference/big-empty-box.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-triangle.argb32.ref.png b/test/reference/big-empty-triangle.argb32.ref.png
deleted file mode 100644 (file)
index a88d3b6..0000000
Binary files a/test/reference/big-empty-triangle.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-triangle.base.argb32.ref.png b/test/reference/big-empty-triangle.base.argb32.ref.png
deleted file mode 100644 (file)
index a88d3b6..0000000
Binary files a/test/reference/big-empty-triangle.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-triangle.base.rgb24.ref.png b/test/reference/big-empty-triangle.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6c2ca32..0000000
Binary files a/test/reference/big-empty-triangle.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-triangle.egl.argb32.ref.png b/test/reference/big-empty-triangle.egl.argb32.ref.png
deleted file mode 100644 (file)
index a88d3b6..0000000
Binary files a/test/reference/big-empty-triangle.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-triangle.mask.argb32.ref.png b/test/reference/big-empty-triangle.mask.argb32.ref.png
deleted file mode 100644 (file)
index a88d3b6..0000000
Binary files a/test/reference/big-empty-triangle.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-triangle.mask.rgb24.ref.png b/test/reference/big-empty-triangle.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6c2ca32..0000000
Binary files a/test/reference/big-empty-triangle.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-triangle.rgb24.ref.png b/test/reference/big-empty-triangle.rgb24.ref.png
deleted file mode 100644 (file)
index 6c2ca32..0000000
Binary files a/test/reference/big-empty-triangle.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-triangle.traps.argb32.ref.png b/test/reference/big-empty-triangle.traps.argb32.ref.png
deleted file mode 100644 (file)
index a88d3b6..0000000
Binary files a/test/reference/big-empty-triangle.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-empty-triangle.traps.rgb24.ref.png b/test/reference/big-empty-triangle.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6c2ca32..0000000
Binary files a/test/reference/big-empty-triangle.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-line.argb32.ref.png b/test/reference/big-line.argb32.ref.png
deleted file mode 100644 (file)
index 1bcde8f..0000000
Binary files a/test/reference/big-line.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-line.base.argb32.ref.png b/test/reference/big-line.base.argb32.ref.png
deleted file mode 100644 (file)
index 35d2e36..0000000
Binary files a/test/reference/big-line.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-line.base.rgb24.ref.png b/test/reference/big-line.base.rgb24.ref.png
deleted file mode 100644 (file)
index 35d2e36..0000000
Binary files a/test/reference/big-line.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-line.egl.argb32.ref.png b/test/reference/big-line.egl.argb32.ref.png
deleted file mode 100644 (file)
index a272132..0000000
Binary files a/test/reference/big-line.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-line.image16.ref.png b/test/reference/big-line.image16.ref.png
deleted file mode 100644 (file)
index 47e33b8..0000000
Binary files a/test/reference/big-line.image16.ref.png and /dev/null differ
diff --git a/test/reference/big-line.mask.argb32.ref.png b/test/reference/big-line.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1bcde8f..0000000
Binary files a/test/reference/big-line.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-line.mask.rgb24.ref.png b/test/reference/big-line.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1bcde8f..0000000
Binary files a/test/reference/big-line.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-line.ps.ref.png b/test/reference/big-line.ps.ref.png
deleted file mode 100644 (file)
index 7b7e875..0000000
Binary files a/test/reference/big-line.ps.ref.png and /dev/null differ
diff --git a/test/reference/big-line.quartz.ref.png b/test/reference/big-line.quartz.ref.png
deleted file mode 100644 (file)
index a6f7240..0000000
Binary files a/test/reference/big-line.quartz.ref.png and /dev/null differ
diff --git a/test/reference/big-line.ref.png b/test/reference/big-line.ref.png
deleted file mode 100644 (file)
index d86725d..0000000
Binary files a/test/reference/big-line.ref.png and /dev/null differ
diff --git a/test/reference/big-line.rgb24.ref.png b/test/reference/big-line.rgb24.ref.png
deleted file mode 100644 (file)
index 1bcde8f..0000000
Binary files a/test/reference/big-line.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-line.traps.argb32.ref.png b/test/reference/big-line.traps.argb32.ref.png
deleted file mode 100644 (file)
index 35d2e36..0000000
Binary files a/test/reference/big-line.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-line.traps.rgb24.ref.png b/test/reference/big-line.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 35d2e36..0000000
Binary files a/test/reference/big-line.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-little-box.argb32.ref.png b/test/reference/big-little-box.argb32.ref.png
deleted file mode 100644 (file)
index 928c5e6..0000000
Binary files a/test/reference/big-little-box.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-little-box.base.argb32.ref.png b/test/reference/big-little-box.base.argb32.ref.png
deleted file mode 100644 (file)
index 928c5e6..0000000
Binary files a/test/reference/big-little-box.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-little-box.base.rgb24.ref.png b/test/reference/big-little-box.base.rgb24.ref.png
deleted file mode 100644 (file)
index c069d6f..0000000
Binary files a/test/reference/big-little-box.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-little-box.egl.argb32.ref.png b/test/reference/big-little-box.egl.argb32.ref.png
deleted file mode 100644 (file)
index 928c5e6..0000000
Binary files a/test/reference/big-little-box.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-little-box.mask.argb32.ref.png b/test/reference/big-little-box.mask.argb32.ref.png
deleted file mode 100644 (file)
index 928c5e6..0000000
Binary files a/test/reference/big-little-box.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-little-box.mask.rgb24.ref.png b/test/reference/big-little-box.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c069d6f..0000000
Binary files a/test/reference/big-little-box.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-little-box.rgb24.ref.png b/test/reference/big-little-box.rgb24.ref.png
deleted file mode 100644 (file)
index c069d6f..0000000
Binary files a/test/reference/big-little-box.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-little-box.traps.argb32.ref.png b/test/reference/big-little-box.traps.argb32.ref.png
deleted file mode 100644 (file)
index 928c5e6..0000000
Binary files a/test/reference/big-little-box.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-little-box.traps.rgb24.ref.png b/test/reference/big-little-box.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c069d6f..0000000
Binary files a/test/reference/big-little-box.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-little-triangle.argb32.ref.png b/test/reference/big-little-triangle.argb32.ref.png
deleted file mode 100644 (file)
index 1c2522f..0000000
Binary files a/test/reference/big-little-triangle.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-little-triangle.base.argb32.ref.png b/test/reference/big-little-triangle.base.argb32.ref.png
deleted file mode 100644 (file)
index 5308cce..0000000
Binary files a/test/reference/big-little-triangle.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-little-triangle.base.rgb24.ref.png b/test/reference/big-little-triangle.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9e4773b..0000000
Binary files a/test/reference/big-little-triangle.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-little-triangle.egl.argb32.ref.png b/test/reference/big-little-triangle.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1c2522f..0000000
Binary files a/test/reference/big-little-triangle.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-little-triangle.mask.argb32.ref.png b/test/reference/big-little-triangle.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1c2522f..0000000
Binary files a/test/reference/big-little-triangle.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-little-triangle.mask.rgb24.ref.png b/test/reference/big-little-triangle.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 24fc472..0000000
Binary files a/test/reference/big-little-triangle.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-little-triangle.rgb24.ref.png b/test/reference/big-little-triangle.rgb24.ref.png
deleted file mode 100644 (file)
index 24fc472..0000000
Binary files a/test/reference/big-little-triangle.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-little-triangle.traps.argb32.ref.png b/test/reference/big-little-triangle.traps.argb32.ref.png
deleted file mode 100644 (file)
index 5308cce..0000000
Binary files a/test/reference/big-little-triangle.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-little-triangle.traps.rgb24.ref.png b/test/reference/big-little-triangle.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 9e4773b..0000000
Binary files a/test/reference/big-little-triangle.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-trap.base.argb32.ref.png b/test/reference/big-trap.base.argb32.ref.png
deleted file mode 100644 (file)
index c0975c9..0000000
Binary files a/test/reference/big-trap.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-trap.base.rgb24.ref.png b/test/reference/big-trap.base.rgb24.ref.png
deleted file mode 100644 (file)
index c0975c9..0000000
Binary files a/test/reference/big-trap.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-trap.egl.argb32.ref.png b/test/reference/big-trap.egl.argb32.ref.png
deleted file mode 100644 (file)
index c0975c9..0000000
Binary files a/test/reference/big-trap.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-trap.mask.argb32.ref.png b/test/reference/big-trap.mask.argb32.ref.png
deleted file mode 100644 (file)
index c0975c9..0000000
Binary files a/test/reference/big-trap.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-trap.mask.rgb24.ref.png b/test/reference/big-trap.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c0975c9..0000000
Binary files a/test/reference/big-trap.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/big-trap.traps.argb32.ref.png b/test/reference/big-trap.traps.argb32.ref.png
deleted file mode 100644 (file)
index c0975c9..0000000
Binary files a/test/reference/big-trap.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/big-trap.traps.rgb24.ref.png b/test/reference/big-trap.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c0975c9..0000000
Binary files a/test/reference/big-trap.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-image.argb32.ref.png b/test/reference/bilevel-image.argb32.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-image.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-image.base.argb32.ref.png b/test/reference/bilevel-image.base.argb32.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-image.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-image.base.rgb24.ref.png b/test/reference/bilevel-image.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-image.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-image.egl.argb32.ref.png b/test/reference/bilevel-image.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-image.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-image.mask.argb32.ref.png b/test/reference/bilevel-image.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-image.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-image.mask.rgb24.ref.png b/test/reference/bilevel-image.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-image.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-image.ref.png b/test/reference/bilevel-image.ref.png
deleted file mode 100644 (file)
index cae76d6..0000000
Binary files a/test/reference/bilevel-image.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-image.rgb24.ref.png b/test/reference/bilevel-image.rgb24.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-image.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-image.traps.argb32.ref.png b/test/reference/bilevel-image.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-image.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-image.traps.rgb24.ref.png b/test/reference/bilevel-image.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-image.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-xlib-fallback.rgb24.ref.png b/test/reference/bilevel-xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-xlib-window.rgb24.ref.png b/test/reference/bilevel-xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-xlib.argb32.ref.png b/test/reference/bilevel-xlib.argb32.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bilevel-xlib.rgb24.ref.png b/test/reference/bilevel-xlib.rgb24.ref.png
deleted file mode 100644 (file)
index 3fb25c2..0000000
Binary files a/test/reference/bilevel-xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bitmap-font.argb32.ref.png b/test/reference/bitmap-font.argb32.ref.png
deleted file mode 100644 (file)
index bc2bc52..0000000
Binary files a/test/reference/bitmap-font.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bitmap-font.base.argb32.ref.png b/test/reference/bitmap-font.base.argb32.ref.png
deleted file mode 100644 (file)
index bc2bc52..0000000
Binary files a/test/reference/bitmap-font.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bitmap-font.base.rgb24.ref.png b/test/reference/bitmap-font.base.rgb24.ref.png
deleted file mode 100644 (file)
index 285d742..0000000
Binary files a/test/reference/bitmap-font.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bitmap-font.egl.argb32.ref.png b/test/reference/bitmap-font.egl.argb32.ref.png
deleted file mode 100644 (file)
index bc2bc52..0000000
Binary files a/test/reference/bitmap-font.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bitmap-font.mask.argb32.ref.png b/test/reference/bitmap-font.mask.argb32.ref.png
deleted file mode 100644 (file)
index bc2bc52..0000000
Binary files a/test/reference/bitmap-font.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bitmap-font.mask.rgb24.ref.png b/test/reference/bitmap-font.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 285d742..0000000
Binary files a/test/reference/bitmap-font.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bitmap-font.ref.png b/test/reference/bitmap-font.ref.png
deleted file mode 100644 (file)
index 0718bf9..0000000
Binary files a/test/reference/bitmap-font.ref.png and /dev/null differ
diff --git a/test/reference/bitmap-font.rgb24.ref.png b/test/reference/bitmap-font.rgb24.ref.png
deleted file mode 100644 (file)
index 285d742..0000000
Binary files a/test/reference/bitmap-font.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bitmap-font.traps.argb32.ref.png b/test/reference/bitmap-font.traps.argb32.ref.png
deleted file mode 100644 (file)
index bc2bc52..0000000
Binary files a/test/reference/bitmap-font.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bitmap-font.traps.rgb24.ref.png b/test/reference/bitmap-font.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 285d742..0000000
Binary files a/test/reference/bitmap-font.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-40410.argb32.ref.png b/test/reference/bug-40410.argb32.ref.png
deleted file mode 100644 (file)
index ae4420a..0000000
Binary files a/test/reference/bug-40410.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-40410.base.argb32.ref.png b/test/reference/bug-40410.base.argb32.ref.png
deleted file mode 100644 (file)
index a315935..0000000
Binary files a/test/reference/bug-40410.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-40410.base.rgb24.ref.png b/test/reference/bug-40410.base.rgb24.ref.png
deleted file mode 100644 (file)
index a315935..0000000
Binary files a/test/reference/bug-40410.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-40410.egl.argb32.ref.png b/test/reference/bug-40410.egl.argb32.ref.png
deleted file mode 100644 (file)
index ae4420a..0000000
Binary files a/test/reference/bug-40410.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-40410.mask.argb32.ref.png b/test/reference/bug-40410.mask.argb32.ref.png
deleted file mode 100644 (file)
index ae4420a..0000000
Binary files a/test/reference/bug-40410.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-40410.mask.rgb24.ref.png b/test/reference/bug-40410.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ae4420a..0000000
Binary files a/test/reference/bug-40410.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-40410.ref.png b/test/reference/bug-40410.ref.png
deleted file mode 100644 (file)
index a315935..0000000
Binary files a/test/reference/bug-40410.ref.png and /dev/null differ
diff --git a/test/reference/bug-40410.rgb24.ref.png b/test/reference/bug-40410.rgb24.ref.png
deleted file mode 100644 (file)
index ae4420a..0000000
Binary files a/test/reference/bug-40410.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-40410.traps.argb32.ref.png b/test/reference/bug-40410.traps.argb32.ref.png
deleted file mode 100644 (file)
index a315935..0000000
Binary files a/test/reference/bug-40410.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-40410.traps.rgb24.ref.png b/test/reference/bug-40410.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a315935..0000000
Binary files a/test/reference/bug-40410.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.argb32.ref.png b/test/reference/bug-bo-rectangular.argb32.ref.png
deleted file mode 100644 (file)
index ffa4ede..0000000
Binary files a/test/reference/bug-bo-rectangular.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.base.argb32.ref.png b/test/reference/bug-bo-rectangular.base.argb32.ref.png
deleted file mode 100644 (file)
index ffa4ede..0000000
Binary files a/test/reference/bug-bo-rectangular.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.base.rgb24.ref.png b/test/reference/bug-bo-rectangular.base.rgb24.ref.png
deleted file mode 100644 (file)
index ffa4ede..0000000
Binary files a/test/reference/bug-bo-rectangular.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.egl.argb32.ref.png b/test/reference/bug-bo-rectangular.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6118dff..0000000
Binary files a/test/reference/bug-bo-rectangular.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.image16.ref.png b/test/reference/bug-bo-rectangular.image16.ref.png
deleted file mode 100644 (file)
index d468d59..0000000
Binary files a/test/reference/bug-bo-rectangular.image16.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.mask.argb32.ref.png b/test/reference/bug-bo-rectangular.mask.argb32.ref.png
deleted file mode 100644 (file)
index ffa4ede..0000000
Binary files a/test/reference/bug-bo-rectangular.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.mask.rgb24.ref.png b/test/reference/bug-bo-rectangular.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ffa4ede..0000000
Binary files a/test/reference/bug-bo-rectangular.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.ps.xfail.png b/test/reference/bug-bo-rectangular.ps.xfail.png
deleted file mode 100644 (file)
index 44b8c03..0000000
Binary files a/test/reference/bug-bo-rectangular.ps.xfail.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.ref.png b/test/reference/bug-bo-rectangular.ref.png
deleted file mode 100644 (file)
index ffa4ede..0000000
Binary files a/test/reference/bug-bo-rectangular.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.rgb24.ref.png b/test/reference/bug-bo-rectangular.rgb24.ref.png
deleted file mode 100644 (file)
index ffa4ede..0000000
Binary files a/test/reference/bug-bo-rectangular.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.traps.argb32.ref.png b/test/reference/bug-bo-rectangular.traps.argb32.ref.png
deleted file mode 100644 (file)
index ffa4ede..0000000
Binary files a/test/reference/bug-bo-rectangular.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-rectangular.traps.rgb24.ref.png b/test/reference/bug-bo-rectangular.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ffa4ede..0000000
Binary files a/test/reference/bug-bo-rectangular.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.argb32.ref.png b/test/reference/bug-bo-ricotz.argb32.ref.png
deleted file mode 100644 (file)
index 0e52b24..0000000
Binary files a/test/reference/bug-bo-ricotz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.base.argb32.ref.png b/test/reference/bug-bo-ricotz.base.argb32.ref.png
deleted file mode 100644 (file)
index ff7a552..0000000
Binary files a/test/reference/bug-bo-ricotz.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.base.ref.png b/test/reference/bug-bo-ricotz.base.ref.png
deleted file mode 100644 (file)
index ff7a552..0000000
Binary files a/test/reference/bug-bo-ricotz.base.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.base.rgb24.ref.png b/test/reference/bug-bo-ricotz.base.rgb24.ref.png
deleted file mode 100644 (file)
index ff7a552..0000000
Binary files a/test/reference/bug-bo-ricotz.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.egl.argb32.ref.png b/test/reference/bug-bo-ricotz.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8de674d..0000000
Binary files a/test/reference/bug-bo-ricotz.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.mask.argb32.ref.png b/test/reference/bug-bo-ricotz.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0e52b24..0000000
Binary files a/test/reference/bug-bo-ricotz.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.mask.rgb24.ref.png b/test/reference/bug-bo-ricotz.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0e52b24..0000000
Binary files a/test/reference/bug-bo-ricotz.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.ref.png b/test/reference/bug-bo-ricotz.ref.png
deleted file mode 100644 (file)
index 51c7ccb..0000000
Binary files a/test/reference/bug-bo-ricotz.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.rgb24.ref.png b/test/reference/bug-bo-ricotz.rgb24.ref.png
deleted file mode 100644 (file)
index 0e52b24..0000000
Binary files a/test/reference/bug-bo-ricotz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.traps.argb32.ref.png b/test/reference/bug-bo-ricotz.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0e52b24..0000000
Binary files a/test/reference/bug-bo-ricotz.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.traps.ref.png b/test/reference/bug-bo-ricotz.traps.ref.png
deleted file mode 100644 (file)
index ff7a552..0000000
Binary files a/test/reference/bug-bo-ricotz.traps.ref.png and /dev/null differ
diff --git a/test/reference/bug-bo-ricotz.traps.rgb24.ref.png b/test/reference/bug-bo-ricotz.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0e52b24..0000000
Binary files a/test/reference/bug-bo-ricotz.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.argb32.ref.png b/test/reference/bug-extents.argb32.ref.png
deleted file mode 100644 (file)
index 2c6875e..0000000
Binary files a/test/reference/bug-extents.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.base.argb32.ref.png b/test/reference/bug-extents.base.argb32.ref.png
deleted file mode 100644 (file)
index e07f8aa..0000000
Binary files a/test/reference/bug-extents.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.base.rgb24.ref.png b/test/reference/bug-extents.base.rgb24.ref.png
deleted file mode 100644 (file)
index e07f8aa..0000000
Binary files a/test/reference/bug-extents.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.egl.argb32.ref.png b/test/reference/bug-extents.egl.argb32.ref.png
deleted file mode 100644 (file)
index d019efa..0000000
Binary files a/test/reference/bug-extents.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.image16.ref.png b/test/reference/bug-extents.image16.ref.png
deleted file mode 100644 (file)
index 8eb3d4b..0000000
Binary files a/test/reference/bug-extents.image16.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.mask.argb32.ref.png b/test/reference/bug-extents.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2c6875e..0000000
Binary files a/test/reference/bug-extents.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.mask.rgb24.ref.png b/test/reference/bug-extents.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2c6875e..0000000
Binary files a/test/reference/bug-extents.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.ps.ref.png b/test/reference/bug-extents.ps.ref.png
deleted file mode 100644 (file)
index 2d55405..0000000
Binary files a/test/reference/bug-extents.ps.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.quartz.ref.png b/test/reference/bug-extents.quartz.ref.png
deleted file mode 100644 (file)
index 2973448..0000000
Binary files a/test/reference/bug-extents.quartz.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.ref.png b/test/reference/bug-extents.ref.png
deleted file mode 100644 (file)
index 47d6d36..0000000
Binary files a/test/reference/bug-extents.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.rgb24.ref.png b/test/reference/bug-extents.rgb24.ref.png
deleted file mode 100644 (file)
index 2c6875e..0000000
Binary files a/test/reference/bug-extents.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.traps.argb32.ref.png b/test/reference/bug-extents.traps.argb32.ref.png
deleted file mode 100644 (file)
index e07f8aa..0000000
Binary files a/test/reference/bug-extents.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.traps.rgb24.ref.png b/test/reference/bug-extents.traps.rgb24.ref.png
deleted file mode 100644 (file)
index e07f8aa..0000000
Binary files a/test/reference/bug-extents.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.argb32.ref.png b/test/reference/bug-seams.argb32.ref.png
deleted file mode 100644 (file)
index 99098db..0000000
Binary files a/test/reference/bug-seams.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.base.argb32.ref.png b/test/reference/bug-seams.base.argb32.ref.png
deleted file mode 100644 (file)
index ac80651..0000000
Binary files a/test/reference/bug-seams.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.base.rgb24.ref.png b/test/reference/bug-seams.base.rgb24.ref.png
deleted file mode 100644 (file)
index ac80651..0000000
Binary files a/test/reference/bug-seams.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.egl.argb32.ref.png b/test/reference/bug-seams.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6b95d48..0000000
Binary files a/test/reference/bug-seams.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.mask.argb32.ref.png b/test/reference/bug-seams.mask.argb32.ref.png
deleted file mode 100644 (file)
index 99098db..0000000
Binary files a/test/reference/bug-seams.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.mask.rgb24.ref.png b/test/reference/bug-seams.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 99098db..0000000
Binary files a/test/reference/bug-seams.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.ref.png b/test/reference/bug-seams.ref.png
deleted file mode 100644 (file)
index 0665e06..0000000
Binary files a/test/reference/bug-seams.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.rgb24.ref.png b/test/reference/bug-seams.rgb24.ref.png
deleted file mode 100644 (file)
index 99098db..0000000
Binary files a/test/reference/bug-seams.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.traps.argb32.ref.png b/test/reference/bug-seams.traps.argb32.ref.png
deleted file mode 100644 (file)
index ac80651..0000000
Binary files a/test/reference/bug-seams.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.traps.rgb24.ref.png b/test/reference/bug-seams.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ac80651..0000000
Binary files a/test/reference/bug-seams.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.xlib-fallback.ref.png b/test/reference/bug-seams.xlib-fallback.ref.png
deleted file mode 100644 (file)
index e81fc6c..0000000
Binary files a/test/reference/bug-seams.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/bug-source-cu.argb32.ref.png b/test/reference/bug-source-cu.argb32.ref.png
deleted file mode 100644 (file)
index 808feb5..0000000
Binary files a/test/reference/bug-source-cu.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-source-cu.egl.argb32.ref.png b/test/reference/bug-source-cu.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1349391..0000000
Binary files a/test/reference/bug-source-cu.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-source-cu.rgb24.ref.png b/test/reference/bug-source-cu.rgb24.ref.png
deleted file mode 100644 (file)
index 6cf2b1a..0000000
Binary files a/test/reference/bug-source-cu.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/bug-source-cu.traps.argb32.ref.png b/test/reference/bug-source-cu.traps.argb32.ref.png
deleted file mode 100644 (file)
index d8837c3..0000000
Binary files a/test/reference/bug-source-cu.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/bug-source-cu.traps.rgb24.ref.png b/test/reference/bug-source-cu.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 75e3b32..0000000
Binary files a/test/reference/bug-source-cu.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.argb32.ref.png b/test/reference/caps-joins-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 964a70f..0000000
Binary files a/test/reference/caps-joins-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.base.argb32.ref.png b/test/reference/caps-joins-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 288a500..0000000
Binary files a/test/reference/caps-joins-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.base.rgb24.ref.png b/test/reference/caps-joins-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 288a500..0000000
Binary files a/test/reference/caps-joins-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.egl.argb32.ref.png b/test/reference/caps-joins-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 48d9f5e..0000000
Binary files a/test/reference/caps-joins-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.image16.ref.png b/test/reference/caps-joins-alpha.image16.ref.png
deleted file mode 100644 (file)
index ddefea8..0000000
Binary files a/test/reference/caps-joins-alpha.image16.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.mask.argb32.ref.png b/test/reference/caps-joins-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 964a70f..0000000
Binary files a/test/reference/caps-joins-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.mask.rgb24.ref.png b/test/reference/caps-joins-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 964a70f..0000000
Binary files a/test/reference/caps-joins-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.quartz.ref.png b/test/reference/caps-joins-alpha.quartz.ref.png
deleted file mode 100644 (file)
index 190c1e9..0000000
Binary files a/test/reference/caps-joins-alpha.quartz.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.ref.png b/test/reference/caps-joins-alpha.ref.png
deleted file mode 100644 (file)
index 338c809..0000000
Binary files a/test/reference/caps-joins-alpha.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.rgb24.ref.png b/test/reference/caps-joins-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 964a70f..0000000
Binary files a/test/reference/caps-joins-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.traps.argb32.ref.png b/test/reference/caps-joins-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 288a500..0000000
Binary files a/test/reference/caps-joins-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.traps.rgb24.ref.png b/test/reference/caps-joins-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 288a500..0000000
Binary files a/test/reference/caps-joins-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.argb32.ref.png b/test/reference/caps-joins-curve.argb32.ref.png
deleted file mode 100644 (file)
index 3595900..0000000
Binary files a/test/reference/caps-joins-curve.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.base.argb32.ref.png b/test/reference/caps-joins-curve.base.argb32.ref.png
deleted file mode 100644 (file)
index 13f877c..0000000
Binary files a/test/reference/caps-joins-curve.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.base.rgb24.ref.png b/test/reference/caps-joins-curve.base.rgb24.ref.png
deleted file mode 100644 (file)
index 13f877c..0000000
Binary files a/test/reference/caps-joins-curve.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.egl.argb32.ref.png b/test/reference/caps-joins-curve.egl.argb32.ref.png
deleted file mode 100644 (file)
index 985d866..0000000
Binary files a/test/reference/caps-joins-curve.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.image16.ref.png b/test/reference/caps-joins-curve.image16.ref.png
deleted file mode 100644 (file)
index 060b3dc..0000000
Binary files a/test/reference/caps-joins-curve.image16.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.mask.argb32.ref.png b/test/reference/caps-joins-curve.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3595900..0000000
Binary files a/test/reference/caps-joins-curve.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.mask.rgb24.ref.png b/test/reference/caps-joins-curve.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3595900..0000000
Binary files a/test/reference/caps-joins-curve.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.ps.ref.png b/test/reference/caps-joins-curve.ps.ref.png
deleted file mode 100644 (file)
index 7fbb826..0000000
Binary files a/test/reference/caps-joins-curve.ps.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.quartz.ref.png b/test/reference/caps-joins-curve.quartz.ref.png
deleted file mode 100644 (file)
index ec3d307..0000000
Binary files a/test/reference/caps-joins-curve.quartz.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.ref.png b/test/reference/caps-joins-curve.ref.png
deleted file mode 100644 (file)
index f4398d7..0000000
Binary files a/test/reference/caps-joins-curve.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.rgb24.ref.png b/test/reference/caps-joins-curve.rgb24.ref.png
deleted file mode 100644 (file)
index 3595900..0000000
Binary files a/test/reference/caps-joins-curve.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.traps.argb32.ref.png b/test/reference/caps-joins-curve.traps.argb32.ref.png
deleted file mode 100644 (file)
index 13f877c..0000000
Binary files a/test/reference/caps-joins-curve.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.traps.rgb24.ref.png b/test/reference/caps-joins-curve.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 13f877c..0000000
Binary files a/test/reference/caps-joins-curve.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.argb32.ref.png b/test/reference/caps-joins.argb32.ref.png
deleted file mode 100644 (file)
index 4983c02..0000000
Binary files a/test/reference/caps-joins.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.base.argb32.ref.png b/test/reference/caps-joins.base.argb32.ref.png
deleted file mode 100644 (file)
index 831cba4..0000000
Binary files a/test/reference/caps-joins.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.base.rgb24.ref.png b/test/reference/caps-joins.base.rgb24.ref.png
deleted file mode 100644 (file)
index 831cba4..0000000
Binary files a/test/reference/caps-joins.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.egl.argb32.ref.png b/test/reference/caps-joins.egl.argb32.ref.png
deleted file mode 100644 (file)
index a5a198f..0000000
Binary files a/test/reference/caps-joins.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.image16.ref.png b/test/reference/caps-joins.image16.ref.png
deleted file mode 100644 (file)
index 0c452f2..0000000
Binary files a/test/reference/caps-joins.image16.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.mask.argb32.ref.png b/test/reference/caps-joins.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4983c02..0000000
Binary files a/test/reference/caps-joins.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.mask.rgb24.ref.png b/test/reference/caps-joins.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4983c02..0000000
Binary files a/test/reference/caps-joins.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.ps.ref.png b/test/reference/caps-joins.ps.ref.png
deleted file mode 100644 (file)
index f6c85ce..0000000
Binary files a/test/reference/caps-joins.ps.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.ref.png b/test/reference/caps-joins.ref.png
deleted file mode 100644 (file)
index b9b5ad4..0000000
Binary files a/test/reference/caps-joins.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.rgb24.ref.png b/test/reference/caps-joins.rgb24.ref.png
deleted file mode 100644 (file)
index 4983c02..0000000
Binary files a/test/reference/caps-joins.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.traps.argb32.ref.png b/test/reference/caps-joins.traps.argb32.ref.png
deleted file mode 100644 (file)
index 831cba4..0000000
Binary files a/test/reference/caps-joins.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins.traps.rgb24.ref.png b/test/reference/caps-joins.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 831cba4..0000000
Binary files a/test/reference/caps-joins.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.argb32.ref.png b/test/reference/caps-sub-paths.argb32.ref.png
deleted file mode 100644 (file)
index 7443389..0000000
Binary files a/test/reference/caps-sub-paths.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.base.argb32.ref.png b/test/reference/caps-sub-paths.base.argb32.ref.png
deleted file mode 100644 (file)
index 1ffb2d9..0000000
Binary files a/test/reference/caps-sub-paths.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.base.rgb24.ref.png b/test/reference/caps-sub-paths.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1ffb2d9..0000000
Binary files a/test/reference/caps-sub-paths.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.egl.argb32.ref.png b/test/reference/caps-sub-paths.egl.argb32.ref.png
deleted file mode 100644 (file)
index b2196a2..0000000
Binary files a/test/reference/caps-sub-paths.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.image16.ref.png b/test/reference/caps-sub-paths.image16.ref.png
deleted file mode 100644 (file)
index c0cc4d7..0000000
Binary files a/test/reference/caps-sub-paths.image16.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.mask.argb32.ref.png b/test/reference/caps-sub-paths.mask.argb32.ref.png
deleted file mode 100644 (file)
index 7443389..0000000
Binary files a/test/reference/caps-sub-paths.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.mask.rgb24.ref.png b/test/reference/caps-sub-paths.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 7443389..0000000
Binary files a/test/reference/caps-sub-paths.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.ps.ref.png b/test/reference/caps-sub-paths.ps.ref.png
deleted file mode 100644 (file)
index 197b443..0000000
Binary files a/test/reference/caps-sub-paths.ps.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.ref.png b/test/reference/caps-sub-paths.ref.png
deleted file mode 100644 (file)
index 1829fc5..0000000
Binary files a/test/reference/caps-sub-paths.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.rgb24.ref.png b/test/reference/caps-sub-paths.rgb24.ref.png
deleted file mode 100644 (file)
index 7443389..0000000
Binary files a/test/reference/caps-sub-paths.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.traps.argb32.ref.png b/test/reference/caps-sub-paths.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1ffb2d9..0000000
Binary files a/test/reference/caps-sub-paths.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-sub-paths.traps.rgb24.ref.png b/test/reference/caps-sub-paths.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1ffb2d9..0000000
Binary files a/test/reference/caps-sub-paths.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.argb32.ref.png b/test/reference/caps-tails-curve.argb32.ref.png
deleted file mode 100644 (file)
index b0f477d..0000000
Binary files a/test/reference/caps-tails-curve.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.base.argb32.ref.png b/test/reference/caps-tails-curve.base.argb32.ref.png
deleted file mode 100644 (file)
index ccb8d65..0000000
Binary files a/test/reference/caps-tails-curve.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.base.rgb24.ref.png b/test/reference/caps-tails-curve.base.rgb24.ref.png
deleted file mode 100644 (file)
index ccb8d65..0000000
Binary files a/test/reference/caps-tails-curve.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.egl.argb32.ref.png b/test/reference/caps-tails-curve.egl.argb32.ref.png
deleted file mode 100644 (file)
index 93172b2..0000000
Binary files a/test/reference/caps-tails-curve.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.mask.argb32.ref.png b/test/reference/caps-tails-curve.mask.argb32.ref.png
deleted file mode 100644 (file)
index b0f477d..0000000
Binary files a/test/reference/caps-tails-curve.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.mask.rgb24.ref.png b/test/reference/caps-tails-curve.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b0f477d..0000000
Binary files a/test/reference/caps-tails-curve.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.ps.ref.png b/test/reference/caps-tails-curve.ps.ref.png
deleted file mode 100644 (file)
index fca77c3..0000000
Binary files a/test/reference/caps-tails-curve.ps.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.ref.png b/test/reference/caps-tails-curve.ref.png
deleted file mode 100644 (file)
index 6ed8905..0000000
Binary files a/test/reference/caps-tails-curve.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.rgb24.ref.png b/test/reference/caps-tails-curve.rgb24.ref.png
deleted file mode 100644 (file)
index b0f477d..0000000
Binary files a/test/reference/caps-tails-curve.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.traps.argb32.ref.png b/test/reference/caps-tails-curve.traps.argb32.ref.png
deleted file mode 100644 (file)
index ccb8d65..0000000
Binary files a/test/reference/caps-tails-curve.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps-tails-curve.traps.rgb24.ref.png b/test/reference/caps-tails-curve.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ccb8d65..0000000
Binary files a/test/reference/caps-tails-curve.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps.argb32.ref.png b/test/reference/caps.argb32.ref.png
deleted file mode 100644 (file)
index bf784fd..0000000
Binary files a/test/reference/caps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps.base.argb32.ref.png b/test/reference/caps.base.argb32.ref.png
deleted file mode 100644 (file)
index a46e036..0000000
Binary files a/test/reference/caps.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps.base.rgb24.ref.png b/test/reference/caps.base.rgb24.ref.png
deleted file mode 100644 (file)
index a46e036..0000000
Binary files a/test/reference/caps.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps.egl.argb32.ref.png b/test/reference/caps.egl.argb32.ref.png
deleted file mode 100644 (file)
index 68cae51..0000000
Binary files a/test/reference/caps.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps.image16.ref.png b/test/reference/caps.image16.ref.png
deleted file mode 100644 (file)
index a33a5ef..0000000
Binary files a/test/reference/caps.image16.ref.png and /dev/null differ
diff --git a/test/reference/caps.mask.argb32.ref.png b/test/reference/caps.mask.argb32.ref.png
deleted file mode 100644 (file)
index bf784fd..0000000
Binary files a/test/reference/caps.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps.mask.rgb24.ref.png b/test/reference/caps.mask.rgb24.ref.png
deleted file mode 100644 (file)
index bf784fd..0000000
Binary files a/test/reference/caps.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps.ps.ref.png b/test/reference/caps.ps.ref.png
deleted file mode 100644 (file)
index c91b8aa..0000000
Binary files a/test/reference/caps.ps.ref.png and /dev/null differ
diff --git a/test/reference/caps.ref.png b/test/reference/caps.ref.png
deleted file mode 100644 (file)
index 37ed2bb..0000000
Binary files a/test/reference/caps.ref.png and /dev/null differ
diff --git a/test/reference/caps.rgb24.ref.png b/test/reference/caps.rgb24.ref.png
deleted file mode 100644 (file)
index bf784fd..0000000
Binary files a/test/reference/caps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/caps.traps.argb32.ref.png b/test/reference/caps.traps.argb32.ref.png
deleted file mode 100644 (file)
index a46e036..0000000
Binary files a/test/reference/caps.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/caps.traps.rgb24.ref.png b/test/reference/caps.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a46e036..0000000
Binary files a/test/reference/caps.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/checkerboard.argb32.ref.png b/test/reference/checkerboard.argb32.ref.png
deleted file mode 100644 (file)
index 1444bc4..0000000
Binary files a/test/reference/checkerboard.argb32.ref.png and /dev/null differ
diff --git a/test/reference/checkerboard.base.argb32.ref.png b/test/reference/checkerboard.base.argb32.ref.png
deleted file mode 100644 (file)
index 1444bc4..0000000
Binary files a/test/reference/checkerboard.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/checkerboard.base.rgb24.ref.png b/test/reference/checkerboard.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1444bc4..0000000
Binary files a/test/reference/checkerboard.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/checkerboard.egl.argb32.ref.png b/test/reference/checkerboard.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1444bc4..0000000
Binary files a/test/reference/checkerboard.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/checkerboard.mask.argb32.ref.png b/test/reference/checkerboard.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1444bc4..0000000
Binary files a/test/reference/checkerboard.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/checkerboard.mask.rgb24.ref.png b/test/reference/checkerboard.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1444bc4..0000000
Binary files a/test/reference/checkerboard.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/checkerboard.ref.png b/test/reference/checkerboard.ref.png
deleted file mode 100644 (file)
index 1444bc4..0000000
Binary files a/test/reference/checkerboard.ref.png and /dev/null differ
diff --git a/test/reference/checkerboard.rgb24.ref.png b/test/reference/checkerboard.rgb24.ref.png
deleted file mode 100644 (file)
index 1444bc4..0000000
Binary files a/test/reference/checkerboard.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/checkerboard.traps.argb32.ref.png b/test/reference/checkerboard.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1444bc4..0000000
Binary files a/test/reference/checkerboard.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/checkerboard.traps.rgb24.ref.png b/test/reference/checkerboard.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1444bc4..0000000
Binary files a/test/reference/checkerboard.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.argb32.ref.png b/test/reference/clear-source.argb32.ref.png
deleted file mode 100644 (file)
index 352bf45..0000000
Binary files a/test/reference/clear-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.base.argb32.ref.png b/test/reference/clear-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 352bf45..0000000
Binary files a/test/reference/clear-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.base.rgb24.ref.png b/test/reference/clear-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 352bf45..0000000
Binary files a/test/reference/clear-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.egl.argb32.ref.png b/test/reference/clear-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0714bef..0000000
Binary files a/test/reference/clear-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.image16.ref.png b/test/reference/clear-source.image16.ref.png
deleted file mode 100644 (file)
index 4055b95..0000000
Binary files a/test/reference/clear-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.mask.argb32.ref.png b/test/reference/clear-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 352bf45..0000000
Binary files a/test/reference/clear-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.mask.rgb24.ref.png b/test/reference/clear-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 352bf45..0000000
Binary files a/test/reference/clear-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.pdf.xfail.png b/test/reference/clear-source.pdf.xfail.png
deleted file mode 100644 (file)
index 8e1bdd7..0000000
Binary files a/test/reference/clear-source.pdf.xfail.png and /dev/null differ
diff --git a/test/reference/clear-source.ps.xfail.png b/test/reference/clear-source.ps.xfail.png
deleted file mode 100644 (file)
index b515751..0000000
Binary files a/test/reference/clear-source.ps.xfail.png and /dev/null differ
diff --git a/test/reference/clear-source.ref.png b/test/reference/clear-source.ref.png
deleted file mode 100644 (file)
index b7e8025..0000000
Binary files a/test/reference/clear-source.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.rgb24.ref.png b/test/reference/clear-source.rgb24.ref.png
deleted file mode 100644 (file)
index 352bf45..0000000
Binary files a/test/reference/clear-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.traps.argb32.ref.png b/test/reference/clear-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 352bf45..0000000
Binary files a/test/reference/clear-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear-source.traps.rgb24.ref.png b/test/reference/clear-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 352bf45..0000000
Binary files a/test/reference/clear-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clear.argb32.ref.png b/test/reference/clear.argb32.ref.png
deleted file mode 100644 (file)
index 102ac3d..0000000
Binary files a/test/reference/clear.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear.base.argb32.ref.png b/test/reference/clear.base.argb32.ref.png
deleted file mode 100644 (file)
index 1caca6d..0000000
Binary files a/test/reference/clear.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear.base.rgb24.ref.png b/test/reference/clear.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7d789b0..0000000
Binary files a/test/reference/clear.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clear.mask.argb32.ref.png b/test/reference/clear.mask.argb32.ref.png
deleted file mode 100644 (file)
index 102ac3d..0000000
Binary files a/test/reference/clear.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear.mask.rgb24.ref.png b/test/reference/clear.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3267aff..0000000
Binary files a/test/reference/clear.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clear.pdf.argb32.ref.png b/test/reference/clear.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 0960f48..0000000
Binary files a/test/reference/clear.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear.ps.argb32.ref.png b/test/reference/clear.ps.argb32.ref.png
deleted file mode 100644 (file)
index 0960f48..0000000
Binary files a/test/reference/clear.ps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear.quartz.argb32.ref.png b/test/reference/clear.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 12e6043..0000000
Binary files a/test/reference/clear.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear.quartz.rgb24.ref.png b/test/reference/clear.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 6ea4490..0000000
Binary files a/test/reference/clear.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clear.rgb24.ref.png b/test/reference/clear.rgb24.ref.png
deleted file mode 100644 (file)
index 3267aff..0000000
Binary files a/test/reference/clear.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clear.svg12.argb32.xfail.png b/test/reference/clear.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index cb25bcb..0000000
Binary files a/test/reference/clear.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/clear.svg12.rgb24.xfail.png b/test/reference/clear.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index cb25bcb..0000000
Binary files a/test/reference/clear.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/clear.traps.argb32.ref.png b/test/reference/clear.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1caca6d..0000000
Binary files a/test/reference/clear.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clear.traps.rgb24.ref.png b/test/reference/clear.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 7d789b0..0000000
Binary files a/test/reference/clear.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-all.argb32.ref.png b/test/reference/clip-all.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-all.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-all.base.argb32.ref.png b/test/reference/clip-all.base.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-all.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-all.base.rgb24.ref.png b/test/reference/clip-all.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-all.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-all.egl.argb32.ref.png b/test/reference/clip-all.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-all.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-all.mask.argb32.ref.png b/test/reference/clip-all.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-all.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-all.mask.rgb24.ref.png b/test/reference/clip-all.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-all.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-all.ref.png b/test/reference/clip-all.ref.png
deleted file mode 100644 (file)
index 6c14df5..0000000
Binary files a/test/reference/clip-all.ref.png and /dev/null differ
diff --git a/test/reference/clip-all.rgb24.ref.png b/test/reference/clip-all.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-all.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-all.traps.argb32.ref.png b/test/reference/clip-all.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-all.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-all.traps.rgb24.ref.png b/test/reference/clip-all.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-all.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-aa.argb32.ref.png b/test/reference/clip-complex-shape-eo-aa.argb32.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-aa.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-aa.base.argb32.ref.png b/test/reference/clip-complex-shape-eo-aa.base.argb32.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-aa.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-aa.base.rgb24.ref.png b/test/reference/clip-complex-shape-eo-aa.base.rgb24.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-aa.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-aa.egl.argb32.ref.png b/test/reference/clip-complex-shape-eo-aa.egl.argb32.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-aa.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-aa.mask.argb32.ref.png b/test/reference/clip-complex-shape-eo-aa.mask.argb32.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-aa.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-aa.mask.rgb24.ref.png b/test/reference/clip-complex-shape-eo-aa.mask.rgb24.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-aa.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-aa.ref.png b/test/reference/clip-complex-shape-eo-aa.ref.png
deleted file mode 100644 (file)
index d575aa9..0000000
Binary files a/test/reference/clip-complex-shape-eo-aa.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-aa.rgb24.ref.png b/test/reference/clip-complex-shape-eo-aa.rgb24.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-aa.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-aa.traps.argb32.ref.png b/test/reference/clip-complex-shape-eo-aa.traps.argb32.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-aa.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-aa.traps.rgb24.ref.png b/test/reference/clip-complex-shape-eo-aa.traps.rgb24.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-aa.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-mono.argb32.ref.png b/test/reference/clip-complex-shape-eo-mono.argb32.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-mono.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-mono.base.argb32.ref.png b/test/reference/clip-complex-shape-eo-mono.base.argb32.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-mono.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-mono.base.rgb24.ref.png b/test/reference/clip-complex-shape-eo-mono.base.rgb24.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-mono.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-mono.egl.argb32.ref.png b/test/reference/clip-complex-shape-eo-mono.egl.argb32.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-mono.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-mono.mask.argb32.ref.png b/test/reference/clip-complex-shape-eo-mono.mask.argb32.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-mono.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-mono.mask.rgb24.ref.png b/test/reference/clip-complex-shape-eo-mono.mask.rgb24.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-mono.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-mono.ref.png b/test/reference/clip-complex-shape-eo-mono.ref.png
deleted file mode 100644 (file)
index d575aa9..0000000
Binary files a/test/reference/clip-complex-shape-eo-mono.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-mono.rgb24.ref.png b/test/reference/clip-complex-shape-eo-mono.rgb24.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-mono.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-mono.traps.argb32.ref.png b/test/reference/clip-complex-shape-eo-mono.traps.argb32.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-mono.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-complex-shape-eo-mono.traps.rgb24.ref.png b/test/reference/clip-complex-shape-eo-mono.traps.rgb24.ref.png
deleted file mode 100644 (file)
index bafbb8a..0000000
Binary files a/test/reference/clip-complex-shape-eo-mono.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-contexts.argb32.ref.png b/test/reference/clip-contexts.argb32.ref.png
deleted file mode 100644 (file)
index 0d575a6..0000000
Binary files a/test/reference/clip-contexts.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-contexts.base.argb32.ref.png b/test/reference/clip-contexts.base.argb32.ref.png
deleted file mode 100644 (file)
index 0d575a6..0000000
Binary files a/test/reference/clip-contexts.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-contexts.base.rgb24.ref.png b/test/reference/clip-contexts.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0d575a6..0000000
Binary files a/test/reference/clip-contexts.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-contexts.egl.argb32.ref.png b/test/reference/clip-contexts.egl.argb32.ref.png
deleted file mode 100644 (file)
index b47c079..0000000
Binary files a/test/reference/clip-contexts.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-contexts.mask.argb32.ref.png b/test/reference/clip-contexts.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0d575a6..0000000
Binary files a/test/reference/clip-contexts.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-contexts.mask.rgb24.ref.png b/test/reference/clip-contexts.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0d575a6..0000000
Binary files a/test/reference/clip-contexts.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-contexts.ref.png b/test/reference/clip-contexts.ref.png
deleted file mode 100644 (file)
index 0d575a6..0000000
Binary files a/test/reference/clip-contexts.ref.png and /dev/null differ
diff --git a/test/reference/clip-contexts.rgb24.ref.png b/test/reference/clip-contexts.rgb24.ref.png
deleted file mode 100644 (file)
index 0d575a6..0000000
Binary files a/test/reference/clip-contexts.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-contexts.traps.argb32.ref.png b/test/reference/clip-contexts.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0d575a6..0000000
Binary files a/test/reference/clip-contexts.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-contexts.traps.rgb24.ref.png b/test/reference/clip-contexts.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0d575a6..0000000
Binary files a/test/reference/clip-contexts.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-device-offset.argb32.ref.png b/test/reference/clip-device-offset.argb32.ref.png
deleted file mode 100644 (file)
index 06be985..0000000
Binary files a/test/reference/clip-device-offset.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-device-offset.base.argb32.ref.png b/test/reference/clip-device-offset.base.argb32.ref.png
deleted file mode 100644 (file)
index 06be985..0000000
Binary files a/test/reference/clip-device-offset.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-device-offset.base.rgb24.ref.png b/test/reference/clip-device-offset.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2419384..0000000
Binary files a/test/reference/clip-device-offset.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-device-offset.egl.argb32.ref.png b/test/reference/clip-device-offset.egl.argb32.ref.png
deleted file mode 100644 (file)
index a88d3b6..0000000
Binary files a/test/reference/clip-device-offset.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-device-offset.mask.argb32.ref.png b/test/reference/clip-device-offset.mask.argb32.ref.png
deleted file mode 100644 (file)
index 06be985..0000000
Binary files a/test/reference/clip-device-offset.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-device-offset.mask.rgb24.ref.png b/test/reference/clip-device-offset.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2419384..0000000
Binary files a/test/reference/clip-device-offset.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-device-offset.rgb24.ref.png b/test/reference/clip-device-offset.rgb24.ref.png
deleted file mode 100644 (file)
index 2419384..0000000
Binary files a/test/reference/clip-device-offset.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-device-offset.traps.argb32.ref.png b/test/reference/clip-device-offset.traps.argb32.ref.png
deleted file mode 100644 (file)
index 06be985..0000000
Binary files a/test/reference/clip-device-offset.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-device-offset.traps.rgb24.ref.png b/test/reference/clip-device-offset.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2419384..0000000
Binary files a/test/reference/clip-device-offset.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint-hatching.argb32.ref.png b/test/reference/clip-disjoint-hatching.argb32.ref.png
deleted file mode 100644 (file)
index 6b22544..0000000
Binary files a/test/reference/clip-disjoint-hatching.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint-hatching.base.argb32.ref.png b/test/reference/clip-disjoint-hatching.base.argb32.ref.png
deleted file mode 100644 (file)
index 55f26d0..0000000
Binary files a/test/reference/clip-disjoint-hatching.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint-hatching.base.rgb24.ref.png b/test/reference/clip-disjoint-hatching.base.rgb24.ref.png
deleted file mode 100644 (file)
index 55f26d0..0000000
Binary files a/test/reference/clip-disjoint-hatching.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint-hatching.egl.argb32.ref.png b/test/reference/clip-disjoint-hatching.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6d4a927..0000000
Binary files a/test/reference/clip-disjoint-hatching.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint-hatching.mask.argb32.ref.png b/test/reference/clip-disjoint-hatching.mask.argb32.ref.png
deleted file mode 100644 (file)
index a29f04a..0000000
Binary files a/test/reference/clip-disjoint-hatching.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint-hatching.mask.rgb24.ref.png b/test/reference/clip-disjoint-hatching.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a29f04a..0000000
Binary files a/test/reference/clip-disjoint-hatching.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint-hatching.ref.png b/test/reference/clip-disjoint-hatching.ref.png
deleted file mode 100644 (file)
index 115875b..0000000
Binary files a/test/reference/clip-disjoint-hatching.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint-hatching.rgb24.ref.png b/test/reference/clip-disjoint-hatching.rgb24.ref.png
deleted file mode 100644 (file)
index 6b22544..0000000
Binary files a/test/reference/clip-disjoint-hatching.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint-hatching.traps.argb32.ref.png b/test/reference/clip-disjoint-hatching.traps.argb32.ref.png
deleted file mode 100644 (file)
index 6226d93..0000000
Binary files a/test/reference/clip-disjoint-hatching.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint-hatching.traps.rgb24.ref.png b/test/reference/clip-disjoint-hatching.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6226d93..0000000
Binary files a/test/reference/clip-disjoint-hatching.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.base.argb32.ref.png b/test/reference/clip-disjoint.base.argb32.ref.png
deleted file mode 100644 (file)
index 74ae9d8..0000000
Binary files a/test/reference/clip-disjoint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.base.rgb24.ref.png b/test/reference/clip-disjoint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 74ae9d8..0000000
Binary files a/test/reference/clip-disjoint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.egl.argb32.ref.png b/test/reference/clip-disjoint.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0ba35b5..0000000
Binary files a/test/reference/clip-disjoint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.image16.ref.png b/test/reference/clip-disjoint.image16.ref.png
deleted file mode 100644 (file)
index 79aaf71..0000000
Binary files a/test/reference/clip-disjoint.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.mask.argb32.ref.png b/test/reference/clip-disjoint.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4e18b7c..0000000
Binary files a/test/reference/clip-disjoint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.mask.rgb24.ref.png b/test/reference/clip-disjoint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4e18b7c..0000000
Binary files a/test/reference/clip-disjoint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.ps.ref.png b/test/reference/clip-disjoint.ps.ref.png
deleted file mode 100644 (file)
index 5410d0a..0000000
Binary files a/test/reference/clip-disjoint.ps.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.quartz.ref.png b/test/reference/clip-disjoint.quartz.ref.png
deleted file mode 100644 (file)
index 1006815..0000000
Binary files a/test/reference/clip-disjoint.quartz.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.ref.png b/test/reference/clip-disjoint.ref.png
deleted file mode 100644 (file)
index 6577a08..0000000
Binary files a/test/reference/clip-disjoint.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.traps.argb32.ref.png b/test/reference/clip-disjoint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 74ae9d8..0000000
Binary files a/test/reference/clip-disjoint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.traps.rgb24.ref.png b/test/reference/clip-disjoint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 74ae9d8..0000000
Binary files a/test/reference/clip-disjoint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-group.argb32.ref.png b/test/reference/clip-empty-group.argb32.ref.png
deleted file mode 100644 (file)
index a59ca47..0000000
Binary files a/test/reference/clip-empty-group.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-group.base.argb32.ref.png b/test/reference/clip-empty-group.base.argb32.ref.png
deleted file mode 100644 (file)
index a59ca47..0000000
Binary files a/test/reference/clip-empty-group.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-group.base.rgb24.ref.png b/test/reference/clip-empty-group.base.rgb24.ref.png
deleted file mode 100644 (file)
index a59ca47..0000000
Binary files a/test/reference/clip-empty-group.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-group.egl.argb32.ref.png b/test/reference/clip-empty-group.egl.argb32.ref.png
deleted file mode 100644 (file)
index a59ca47..0000000
Binary files a/test/reference/clip-empty-group.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-group.mask.argb32.ref.png b/test/reference/clip-empty-group.mask.argb32.ref.png
deleted file mode 100644 (file)
index a59ca47..0000000
Binary files a/test/reference/clip-empty-group.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-group.mask.rgb24.ref.png b/test/reference/clip-empty-group.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a59ca47..0000000
Binary files a/test/reference/clip-empty-group.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-group.ref.png b/test/reference/clip-empty-group.ref.png
deleted file mode 100644 (file)
index a59ca47..0000000
Binary files a/test/reference/clip-empty-group.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-group.rgb24.ref.png b/test/reference/clip-empty-group.rgb24.ref.png
deleted file mode 100644 (file)
index a59ca47..0000000
Binary files a/test/reference/clip-empty-group.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-group.traps.argb32.ref.png b/test/reference/clip-empty-group.traps.argb32.ref.png
deleted file mode 100644 (file)
index a59ca47..0000000
Binary files a/test/reference/clip-empty-group.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-group.traps.rgb24.ref.png b/test/reference/clip-empty-group.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a59ca47..0000000
Binary files a/test/reference/clip-empty-group.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-save.argb32.ref.png b/test/reference/clip-empty-save.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty-save.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-save.base.argb32.ref.png b/test/reference/clip-empty-save.base.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty-save.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-save.base.rgb24.ref.png b/test/reference/clip-empty-save.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty-save.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-save.egl.argb32.ref.png b/test/reference/clip-empty-save.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty-save.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-save.mask.argb32.ref.png b/test/reference/clip-empty-save.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty-save.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-save.mask.rgb24.ref.png b/test/reference/clip-empty-save.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty-save.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-save.ref.png b/test/reference/clip-empty-save.ref.png
deleted file mode 100644 (file)
index 6c14df5..0000000
Binary files a/test/reference/clip-empty-save.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-save.rgb24.ref.png b/test/reference/clip-empty-save.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty-save.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-save.traps.argb32.ref.png b/test/reference/clip-empty-save.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty-save.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty-save.traps.rgb24.ref.png b/test/reference/clip-empty-save.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty-save.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty.argb32.ref.png b/test/reference/clip-empty.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty.base.argb32.ref.png b/test/reference/clip-empty.base.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty.base.rgb24.ref.png b/test/reference/clip-empty.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty.egl.argb32.ref.png b/test/reference/clip-empty.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty.mask.argb32.ref.png b/test/reference/clip-empty.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty.mask.rgb24.ref.png b/test/reference/clip-empty.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty.ref.png b/test/reference/clip-empty.ref.png
deleted file mode 100644 (file)
index 6c14df5..0000000
Binary files a/test/reference/clip-empty.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty.rgb24.ref.png b/test/reference/clip-empty.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty.traps.argb32.ref.png b/test/reference/clip-empty.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-empty.traps.rgb24.ref.png b/test/reference/clip-empty.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-empty.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.argb32.ref.png b/test/reference/clip-fill-eo-unbounded.argb32.ref.png
deleted file mode 100644 (file)
index e86177c..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.base.argb32.ref.png b/test/reference/clip-fill-eo-unbounded.base.argb32.ref.png
deleted file mode 100644 (file)
index 81ecfb9..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.base.rgb24.ref.png b/test/reference/clip-fill-eo-unbounded.base.rgb24.ref.png
deleted file mode 100644 (file)
index d6a5939..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.image16.ref.png b/test/reference/clip-fill-eo-unbounded.image16.ref.png
deleted file mode 100644 (file)
index e0e66ff..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.mask.argb32.ref.png b/test/reference/clip-fill-eo-unbounded.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2340bdf..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.mask.rgb24.ref.png b/test/reference/clip-fill-eo-unbounded.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 299bd72..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.quartz.argb32.ref.png b/test/reference/clip-fill-eo-unbounded.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 3423000..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.quartz.rgb24.ref.png b/test/reference/clip-fill-eo-unbounded.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 1612801..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.rgb24.ref.png b/test/reference/clip-fill-eo-unbounded.rgb24.ref.png
deleted file mode 100644 (file)
index cd0c9b7..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.svg12.rgb24.xfail.png b/test/reference/clip-fill-eo-unbounded.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index f949de1..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.traps.argb32.ref.png b/test/reference/clip-fill-eo-unbounded.traps.argb32.ref.png
deleted file mode 100644 (file)
index 19b9f09..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.traps.rgb24.ref.png b/test/reference/clip-fill-eo-unbounded.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1ad0b17..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.xlib-fallback.rgb24.ref.png b/test/reference/clip-fill-eo-unbounded.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index ec25896..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.argb32.ref.png b/test/reference/clip-fill-no-op.argb32.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-fill-no-op.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.base.argb32.ref.png b/test/reference/clip-fill-no-op.base.argb32.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-fill-no-op.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.base.rgb24.ref.png b/test/reference/clip-fill-no-op.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-fill-no-op.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.egl.argb32.ref.png b/test/reference/clip-fill-no-op.egl.argb32.ref.png
deleted file mode 100644 (file)
index 11442ad..0000000
Binary files a/test/reference/clip-fill-no-op.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.image16.ref.png b/test/reference/clip-fill-no-op.image16.ref.png
deleted file mode 100644 (file)
index cf0c74a..0000000
Binary files a/test/reference/clip-fill-no-op.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.mask.argb32.ref.png b/test/reference/clip-fill-no-op.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-fill-no-op.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.mask.rgb24.ref.png b/test/reference/clip-fill-no-op.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-fill-no-op.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.ref.png b/test/reference/clip-fill-no-op.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-fill-no-op.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.rgb24.ref.png b/test/reference/clip-fill-no-op.rgb24.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-fill-no-op.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.traps.argb32.ref.png b/test/reference/clip-fill-no-op.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-fill-no-op.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-no-op.traps.rgb24.ref.png b/test/reference/clip-fill-no-op.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-fill-no-op.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.argb32.ref.png b/test/reference/clip-fill-nz-unbounded.argb32.ref.png
deleted file mode 100644 (file)
index e86177c..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.base.argb32.ref.png b/test/reference/clip-fill-nz-unbounded.base.argb32.ref.png
deleted file mode 100644 (file)
index 81ecfb9..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.base.rgb24.ref.png b/test/reference/clip-fill-nz-unbounded.base.rgb24.ref.png
deleted file mode 100644 (file)
index d6a5939..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.image16.ref.png b/test/reference/clip-fill-nz-unbounded.image16.ref.png
deleted file mode 100644 (file)
index e0e66ff..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.mask.argb32.ref.png b/test/reference/clip-fill-nz-unbounded.mask.argb32.ref.png
deleted file mode 100644 (file)
index 05b2628..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.mask.rgb24.ref.png b/test/reference/clip-fill-nz-unbounded.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9ce760b..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.quartz.argb32.ref.png b/test/reference/clip-fill-nz-unbounded.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 3423000..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.quartz.rgb24.ref.png b/test/reference/clip-fill-nz-unbounded.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 1612801..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.rgb24.ref.png b/test/reference/clip-fill-nz-unbounded.rgb24.ref.png
deleted file mode 100644 (file)
index cd0c9b7..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.svg12.rgb24.xfail.png b/test/reference/clip-fill-nz-unbounded.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index f949de1..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.traps.argb32.ref.png b/test/reference/clip-fill-nz-unbounded.traps.argb32.ref.png
deleted file mode 100644 (file)
index 19b9f09..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.traps.rgb24.ref.png b/test/reference/clip-fill-nz-unbounded.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1ad0b17..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.xlib-fallback.rgb24.ref.png b/test/reference/clip-fill-nz-unbounded.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index ec25896..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.argb32.ref.png b/test/reference/clip-fill-rule-pixel-aligned.argb32.ref.png
deleted file mode 100644 (file)
index 9b82c4b..0000000
Binary files a/test/reference/clip-fill-rule-pixel-aligned.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.base.argb32.ref.png b/test/reference/clip-fill-rule-pixel-aligned.base.argb32.ref.png
deleted file mode 100644 (file)
index 9b82c4b..0000000
Binary files a/test/reference/clip-fill-rule-pixel-aligned.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.base.rgb24.ref.png b/test/reference/clip-fill-rule-pixel-aligned.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0b4f068..0000000
Binary files a/test/reference/clip-fill-rule-pixel-aligned.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.egl.argb32.ref.png b/test/reference/clip-fill-rule-pixel-aligned.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9b82c4b..0000000
Binary files a/test/reference/clip-fill-rule-pixel-aligned.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.mask.argb32.ref.png b/test/reference/clip-fill-rule-pixel-aligned.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9b82c4b..0000000
Binary files a/test/reference/clip-fill-rule-pixel-aligned.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.mask.rgb24.ref.png b/test/reference/clip-fill-rule-pixel-aligned.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0b4f068..0000000
Binary files a/test/reference/clip-fill-rule-pixel-aligned.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.ref.png b/test/reference/clip-fill-rule-pixel-aligned.ref.png
deleted file mode 100644 (file)
index 66eb685..0000000
Binary files a/test/reference/clip-fill-rule-pixel-aligned.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.rgb24.ref.png b/test/reference/clip-fill-rule-pixel-aligned.rgb24.ref.png
deleted file mode 100644 (file)
index 0b4f068..0000000
Binary files a/test/reference/clip-fill-rule-pixel-aligned.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.traps.argb32.ref.png b/test/reference/clip-fill-rule-pixel-aligned.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9b82c4b..0000000
Binary files a/test/reference/clip-fill-rule-pixel-aligned.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.traps.rgb24.ref.png b/test/reference/clip-fill-rule-pixel-aligned.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0b4f068..0000000
Binary files a/test/reference/clip-fill-rule-pixel-aligned.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.argb32.ref.png b/test/reference/clip-fill-rule.argb32.ref.png
deleted file mode 100644 (file)
index cb23ea6..0000000
Binary files a/test/reference/clip-fill-rule.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.base.argb32.ref.png b/test/reference/clip-fill-rule.base.argb32.ref.png
deleted file mode 100644 (file)
index cb23ea6..0000000
Binary files a/test/reference/clip-fill-rule.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.base.rgb24.ref.png b/test/reference/clip-fill-rule.base.rgb24.ref.png
deleted file mode 100644 (file)
index 5265dde..0000000
Binary files a/test/reference/clip-fill-rule.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.egl.argb32.ref.png b/test/reference/clip-fill-rule.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2da4f3c..0000000
Binary files a/test/reference/clip-fill-rule.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.image16.ref.png b/test/reference/clip-fill-rule.image16.ref.png
deleted file mode 100644 (file)
index 101449d..0000000
Binary files a/test/reference/clip-fill-rule.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.mask.argb32.ref.png b/test/reference/clip-fill-rule.mask.argb32.ref.png
deleted file mode 100644 (file)
index cb23ea6..0000000
Binary files a/test/reference/clip-fill-rule.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.mask.rgb24.ref.png b/test/reference/clip-fill-rule.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5265dde..0000000
Binary files a/test/reference/clip-fill-rule.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.pdf.argb32.ref.png b/test/reference/clip-fill-rule.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 0d9938e..0000000
Binary files a/test/reference/clip-fill-rule.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.ps.argb32.ref.png b/test/reference/clip-fill-rule.ps.argb32.ref.png
deleted file mode 100644 (file)
index 1b89434..0000000
Binary files a/test/reference/clip-fill-rule.ps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.ps.rgb24.ref.png b/test/reference/clip-fill-rule.ps.rgb24.ref.png
deleted file mode 100644 (file)
index 1b061b7..0000000
Binary files a/test/reference/clip-fill-rule.ps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.quartz.rgb24.ref.png b/test/reference/clip-fill-rule.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index c95f290..0000000
Binary files a/test/reference/clip-fill-rule.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.rgb24.ref.png b/test/reference/clip-fill-rule.rgb24.ref.png
deleted file mode 100644 (file)
index 5265dde..0000000
Binary files a/test/reference/clip-fill-rule.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.test-paginated.rgb24.ref.png b/test/reference/clip-fill-rule.test-paginated.rgb24.ref.png
deleted file mode 100644 (file)
index d21472d..0000000
Binary files a/test/reference/clip-fill-rule.test-paginated.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.traps.argb32.ref.png b/test/reference/clip-fill-rule.traps.argb32.ref.png
deleted file mode 100644 (file)
index 6b083a7..0000000
Binary files a/test/reference/clip-fill-rule.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.traps.rgb24.ref.png b/test/reference/clip-fill-rule.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d21472d..0000000
Binary files a/test/reference/clip-fill-rule.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.argb32.ref.png b/test/reference/clip-fill.argb32.ref.png
deleted file mode 100644 (file)
index da091b9..0000000
Binary files a/test/reference/clip-fill.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.base.argb32.ref.png b/test/reference/clip-fill.base.argb32.ref.png
deleted file mode 100644 (file)
index 72dc229..0000000
Binary files a/test/reference/clip-fill.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.base.rgb24.ref.png b/test/reference/clip-fill.base.rgb24.ref.png
deleted file mode 100644 (file)
index 72dc229..0000000
Binary files a/test/reference/clip-fill.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.egl.argb32.ref.png b/test/reference/clip-fill.egl.argb32.ref.png
deleted file mode 100644 (file)
index f2f8bce..0000000
Binary files a/test/reference/clip-fill.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.image16.ref.png b/test/reference/clip-fill.image16.ref.png
deleted file mode 100644 (file)
index 24595ba..0000000
Binary files a/test/reference/clip-fill.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.mask.argb32.ref.png b/test/reference/clip-fill.mask.argb32.ref.png
deleted file mode 100644 (file)
index c3f2700..0000000
Binary files a/test/reference/clip-fill.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.mask.rgb24.ref.png b/test/reference/clip-fill.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c3f2700..0000000
Binary files a/test/reference/clip-fill.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.ps.xfail.png b/test/reference/clip-fill.ps.xfail.png
deleted file mode 100644 (file)
index d0aeaf1..0000000
Binary files a/test/reference/clip-fill.ps.xfail.png and /dev/null differ
diff --git a/test/reference/clip-fill.quartz.ref.png b/test/reference/clip-fill.quartz.ref.png
deleted file mode 100644 (file)
index 4f235b4..0000000
Binary files a/test/reference/clip-fill.quartz.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.ref.png b/test/reference/clip-fill.ref.png
deleted file mode 100644 (file)
index 7f894e9..0000000
Binary files a/test/reference/clip-fill.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.rgb24.ref.png b/test/reference/clip-fill.rgb24.ref.png
deleted file mode 100644 (file)
index da091b9..0000000
Binary files a/test/reference/clip-fill.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.traps.argb32.ref.png b/test/reference/clip-fill.traps.argb32.ref.png
deleted file mode 100644 (file)
index d6e84a3..0000000
Binary files a/test/reference/clip-fill.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.traps.rgb24.ref.png b/test/reference/clip-fill.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d6e84a3..0000000
Binary files a/test/reference/clip-fill.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.xlib-fallback.ref.png b/test/reference/clip-fill.xlib-fallback.ref.png
deleted file mode 100644 (file)
index 064b0cf..0000000
Binary files a/test/reference/clip-fill.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.argb32.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.argb32.ref.png
deleted file mode 100644 (file)
index cba7507..0000000
Binary files a/test/reference/clip-group-shapes-aligned-rectangles.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.base.argb32.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.base.argb32.ref.png
deleted file mode 100644 (file)
index cba7507..0000000
Binary files a/test/reference/clip-group-shapes-aligned-rectangles.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.base.rgb24.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.base.rgb24.ref.png
deleted file mode 100644 (file)
index cba7507..0000000
Binary files a/test/reference/clip-group-shapes-aligned-rectangles.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.egl.argb32.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.egl.argb32.ref.png
deleted file mode 100644 (file)
index cba7507..0000000
Binary files a/test/reference/clip-group-shapes-aligned-rectangles.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.mask.argb32.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.mask.argb32.ref.png
deleted file mode 100644 (file)
index cba7507..0000000
Binary files a/test/reference/clip-group-shapes-aligned-rectangles.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.mask.rgb24.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.mask.rgb24.ref.png
deleted file mode 100644 (file)
index cba7507..0000000
Binary files a/test/reference/clip-group-shapes-aligned-rectangles.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.ref.png
deleted file mode 100644 (file)
index cba7507..0000000
Binary files a/test/reference/clip-group-shapes-aligned-rectangles.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.rgb24.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.rgb24.ref.png
deleted file mode 100644 (file)
index cba7507..0000000
Binary files a/test/reference/clip-group-shapes-aligned-rectangles.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.traps.argb32.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.traps.argb32.ref.png
deleted file mode 100644 (file)
index cba7507..0000000
Binary files a/test/reference/clip-group-shapes-aligned-rectangles.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.traps.rgb24.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.traps.rgb24.ref.png
deleted file mode 100644 (file)
index cba7507..0000000
Binary files a/test/reference/clip-group-shapes-aligned-rectangles.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.argb32.ref.png b/test/reference/clip-group-shapes-circles.argb32.ref.png
deleted file mode 100644 (file)
index 31219b2..0000000
Binary files a/test/reference/clip-group-shapes-circles.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.base.argb32.ref.png b/test/reference/clip-group-shapes-circles.base.argb32.ref.png
deleted file mode 100644 (file)
index 7dd6a83..0000000
Binary files a/test/reference/clip-group-shapes-circles.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.base.rgb24.ref.png b/test/reference/clip-group-shapes-circles.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7dd6a83..0000000
Binary files a/test/reference/clip-group-shapes-circles.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.egl.argb32.ref.png b/test/reference/clip-group-shapes-circles.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9c4aa47..0000000
Binary files a/test/reference/clip-group-shapes-circles.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.mask.argb32.ref.png b/test/reference/clip-group-shapes-circles.mask.argb32.ref.png
deleted file mode 100644 (file)
index 7dd6a83..0000000
Binary files a/test/reference/clip-group-shapes-circles.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.mask.rgb24.ref.png b/test/reference/clip-group-shapes-circles.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 7dd6a83..0000000
Binary files a/test/reference/clip-group-shapes-circles.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.ps.ref.png b/test/reference/clip-group-shapes-circles.ps.ref.png
deleted file mode 100644 (file)
index be6203f..0000000
Binary files a/test/reference/clip-group-shapes-circles.ps.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.quartz.ref.png b/test/reference/clip-group-shapes-circles.quartz.ref.png
deleted file mode 100644 (file)
index c2ac9ea..0000000
Binary files a/test/reference/clip-group-shapes-circles.quartz.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.ref.png b/test/reference/clip-group-shapes-circles.ref.png
deleted file mode 100644 (file)
index f9710c2..0000000
Binary files a/test/reference/clip-group-shapes-circles.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.rgb24.ref.png b/test/reference/clip-group-shapes-circles.rgb24.ref.png
deleted file mode 100644 (file)
index 31219b2..0000000
Binary files a/test/reference/clip-group-shapes-circles.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.traps.argb32.ref.png b/test/reference/clip-group-shapes-circles.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3b81146..0000000
Binary files a/test/reference/clip-group-shapes-circles.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.traps.rgb24.ref.png b/test/reference/clip-group-shapes-circles.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3b81146..0000000
Binary files a/test/reference/clip-group-shapes-circles.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.argb32.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.argb32.ref.png
deleted file mode 100644 (file)
index 2ad4118..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.base.argb32.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.base.argb32.ref.png
deleted file mode 100644 (file)
index 2ad4118..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.base.rgb24.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2ad4118..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.egl.argb32.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2ad4118..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.mask.argb32.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.mask.argb32.ref.png
deleted file mode 100644 (file)
index 877e78b..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.mask.rgb24.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 877e78b..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.ref.png
deleted file mode 100644 (file)
index 2ad4118..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.rgb24.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.rgb24.ref.png
deleted file mode 100644 (file)
index 2ad4118..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.traps.argb32.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.traps.argb32.ref.png
deleted file mode 100644 (file)
index 877e78b..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.traps.rgb24.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 877e78b..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.argb32.ref.png b/test/reference/clip-image.argb32.ref.png
deleted file mode 100644 (file)
index 0f71f73..0000000
Binary files a/test/reference/clip-image.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.base.argb32.ref.png b/test/reference/clip-image.base.argb32.ref.png
deleted file mode 100644 (file)
index 0f71f73..0000000
Binary files a/test/reference/clip-image.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.base.rgb24.ref.png b/test/reference/clip-image.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0f71f73..0000000
Binary files a/test/reference/clip-image.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.egl.argb32.ref.png b/test/reference/clip-image.egl.argb32.ref.png
deleted file mode 100644 (file)
index dd53444..0000000
Binary files a/test/reference/clip-image.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.image16.ref.png b/test/reference/clip-image.image16.ref.png
deleted file mode 100644 (file)
index 770891a..0000000
Binary files a/test/reference/clip-image.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.mask.argb32.ref.png b/test/reference/clip-image.mask.argb32.ref.png
deleted file mode 100644 (file)
index 86c28af..0000000
Binary files a/test/reference/clip-image.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.mask.rgb24.ref.png b/test/reference/clip-image.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 86c28af..0000000
Binary files a/test/reference/clip-image.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.ps.ref.png b/test/reference/clip-image.ps.ref.png
deleted file mode 100644 (file)
index b242249..0000000
Binary files a/test/reference/clip-image.ps.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.ref.png b/test/reference/clip-image.ref.png
deleted file mode 100644 (file)
index bf8ee72..0000000
Binary files a/test/reference/clip-image.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.rgb24.ref.png b/test/reference/clip-image.rgb24.ref.png
deleted file mode 100644 (file)
index 0f71f73..0000000
Binary files a/test/reference/clip-image.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.traps.argb32.ref.png b/test/reference/clip-image.traps.argb32.ref.png
deleted file mode 100644 (file)
index 062c721..0000000
Binary files a/test/reference/clip-image.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-image.traps.rgb24.ref.png b/test/reference/clip-image.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 062c721..0000000
Binary files a/test/reference/clip-image.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-intersect.argb32.ref.png b/test/reference/clip-intersect.argb32.ref.png
deleted file mode 100644 (file)
index 6627b3a..0000000
Binary files a/test/reference/clip-intersect.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-intersect.base.argb32.ref.png b/test/reference/clip-intersect.base.argb32.ref.png
deleted file mode 100644 (file)
index 6627b3a..0000000
Binary files a/test/reference/clip-intersect.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-intersect.base.rgb24.ref.png b/test/reference/clip-intersect.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6627b3a..0000000
Binary files a/test/reference/clip-intersect.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-intersect.egl.argb32.ref.png b/test/reference/clip-intersect.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6627b3a..0000000
Binary files a/test/reference/clip-intersect.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-intersect.mask.argb32.ref.png b/test/reference/clip-intersect.mask.argb32.ref.png
deleted file mode 100644 (file)
index 6627b3a..0000000
Binary files a/test/reference/clip-intersect.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-intersect.mask.rgb24.ref.png b/test/reference/clip-intersect.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6627b3a..0000000
Binary files a/test/reference/clip-intersect.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-intersect.ref.png b/test/reference/clip-intersect.ref.png
deleted file mode 100644 (file)
index 96f9b08..0000000
Binary files a/test/reference/clip-intersect.ref.png and /dev/null differ
diff --git a/test/reference/clip-intersect.rgb24.ref.png b/test/reference/clip-intersect.rgb24.ref.png
deleted file mode 100644 (file)
index 6627b3a..0000000
Binary files a/test/reference/clip-intersect.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-intersect.traps.argb32.ref.png b/test/reference/clip-intersect.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2e97b54..0000000
Binary files a/test/reference/clip-intersect.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-intersect.traps.rgb24.ref.png b/test/reference/clip-intersect.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2e97b54..0000000
Binary files a/test/reference/clip-intersect.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-mixed-antialias.argb32.ref.png b/test/reference/clip-mixed-antialias.argb32.ref.png
deleted file mode 100644 (file)
index 243c4dd..0000000
Binary files a/test/reference/clip-mixed-antialias.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-mixed-antialias.base.argb32.ref.png b/test/reference/clip-mixed-antialias.base.argb32.ref.png
deleted file mode 100644 (file)
index 982530c..0000000
Binary files a/test/reference/clip-mixed-antialias.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-mixed-antialias.base.rgb24.ref.png b/test/reference/clip-mixed-antialias.base.rgb24.ref.png
deleted file mode 100644 (file)
index 982530c..0000000
Binary files a/test/reference/clip-mixed-antialias.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-mixed-antialias.egl.argb32.ref.png b/test/reference/clip-mixed-antialias.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1a8a6b0..0000000
Binary files a/test/reference/clip-mixed-antialias.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-mixed-antialias.mask.argb32.ref.png b/test/reference/clip-mixed-antialias.mask.argb32.ref.png
deleted file mode 100644 (file)
index 243c4dd..0000000
Binary files a/test/reference/clip-mixed-antialias.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-mixed-antialias.mask.rgb24.ref.png b/test/reference/clip-mixed-antialias.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 243c4dd..0000000
Binary files a/test/reference/clip-mixed-antialias.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-mixed-antialias.ref.png b/test/reference/clip-mixed-antialias.ref.png
deleted file mode 100644 (file)
index 108cb46..0000000
Binary files a/test/reference/clip-mixed-antialias.ref.png and /dev/null differ
diff --git a/test/reference/clip-mixed-antialias.rgb24.ref.png b/test/reference/clip-mixed-antialias.rgb24.ref.png
deleted file mode 100644 (file)
index 243c4dd..0000000
Binary files a/test/reference/clip-mixed-antialias.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-mixed-antialias.traps.argb32.ref.png b/test/reference/clip-mixed-antialias.traps.argb32.ref.png
deleted file mode 100644 (file)
index 982530c..0000000
Binary files a/test/reference/clip-mixed-antialias.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-mixed-antialias.traps.rgb24.ref.png b/test/reference/clip-mixed-antialias.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 982530c..0000000
Binary files a/test/reference/clip-mixed-antialias.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.argb32.ref.png b/test/reference/clip-nesting.argb32.ref.png
deleted file mode 100644 (file)
index ce0cc0d..0000000
Binary files a/test/reference/clip-nesting.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.base.argb32.ref.png b/test/reference/clip-nesting.base.argb32.ref.png
deleted file mode 100644 (file)
index ce0cc0d..0000000
Binary files a/test/reference/clip-nesting.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.base.rgb24.ref.png b/test/reference/clip-nesting.base.rgb24.ref.png
deleted file mode 100644 (file)
index 5247843..0000000
Binary files a/test/reference/clip-nesting.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.egl.argb32.ref.png b/test/reference/clip-nesting.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3a4e4e6..0000000
Binary files a/test/reference/clip-nesting.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.mask.argb32.ref.png b/test/reference/clip-nesting.mask.argb32.ref.png
deleted file mode 100644 (file)
index ce0cc0d..0000000
Binary files a/test/reference/clip-nesting.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.mask.rgb24.ref.png b/test/reference/clip-nesting.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5247843..0000000
Binary files a/test/reference/clip-nesting.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.pdf.argb32.ref.png b/test/reference/clip-nesting.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 78ae6e0..0000000
Binary files a/test/reference/clip-nesting.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.ps.argb32.ref.png b/test/reference/clip-nesting.ps.argb32.ref.png
deleted file mode 100644 (file)
index 8a0239b..0000000
Binary files a/test/reference/clip-nesting.ps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.ps.rgb24.ref.png b/test/reference/clip-nesting.ps.rgb24.ref.png
deleted file mode 100644 (file)
index f9e1ac9..0000000
Binary files a/test/reference/clip-nesting.ps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.quartz.argb32.ref.png b/test/reference/clip-nesting.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 7bc187c..0000000
Binary files a/test/reference/clip-nesting.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.quartz.rgb24.ref.png b/test/reference/clip-nesting.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 926f5f5..0000000
Binary files a/test/reference/clip-nesting.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.rgb24.ref.png b/test/reference/clip-nesting.rgb24.ref.png
deleted file mode 100644 (file)
index 5247843..0000000
Binary files a/test/reference/clip-nesting.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.test-paginated.rgb24.ref.png b/test/reference/clip-nesting.test-paginated.rgb24.ref.png
deleted file mode 100644 (file)
index d087ab6..0000000
Binary files a/test/reference/clip-nesting.test-paginated.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.traps.argb32.ref.png b/test/reference/clip-nesting.traps.argb32.ref.png
deleted file mode 100644 (file)
index 01168df..0000000
Binary files a/test/reference/clip-nesting.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.traps.rgb24.ref.png b/test/reference/clip-nesting.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d087ab6..0000000
Binary files a/test/reference/clip-nesting.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.argb32.ref.png b/test/reference/clip-operator.argb32.ref.png
deleted file mode 100644 (file)
index 9c90984..0000000
Binary files a/test/reference/clip-operator.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.base.argb32.ref.png b/test/reference/clip-operator.base.argb32.ref.png
deleted file mode 100644 (file)
index 39a92b0..0000000
Binary files a/test/reference/clip-operator.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.base.rgb24.ref.png b/test/reference/clip-operator.base.rgb24.ref.png
deleted file mode 100644 (file)
index eed3469..0000000
Binary files a/test/reference/clip-operator.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.gl.argb32.ref.png b/test/reference/clip-operator.gl.argb32.ref.png
deleted file mode 100644 (file)
index 92d8b75..0000000
Binary files a/test/reference/clip-operator.gl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.image16.ref.png b/test/reference/clip-operator.image16.ref.png
deleted file mode 100644 (file)
index ab8cd9b..0000000
Binary files a/test/reference/clip-operator.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.mask.argb32.ref.png b/test/reference/clip-operator.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8db1a07..0000000
Binary files a/test/reference/clip-operator.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.mask.rgb24.ref.png b/test/reference/clip-operator.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ddd1ec3..0000000
Binary files a/test/reference/clip-operator.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.pdf.argb32.ref.png b/test/reference/clip-operator.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 7f8c93e..0000000
Binary files a/test/reference/clip-operator.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.pdf.rgb24.ref.png b/test/reference/clip-operator.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index fc4f431..0000000
Binary files a/test/reference/clip-operator.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.ps2.rgb24.ref.png b/test/reference/clip-operator.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index 5245299..0000000
Binary files a/test/reference/clip-operator.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.ps3.argb32.ref.png b/test/reference/clip-operator.ps3.argb32.ref.png
deleted file mode 100644 (file)
index cd207d9..0000000
Binary files a/test/reference/clip-operator.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.ps3.ref.png b/test/reference/clip-operator.ps3.ref.png
deleted file mode 100644 (file)
index dee12ca..0000000
Binary files a/test/reference/clip-operator.ps3.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.ps3.rgb24.ref.png b/test/reference/clip-operator.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index 5245299..0000000
Binary files a/test/reference/clip-operator.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.quartz.argb32.ref.png b/test/reference/clip-operator.quartz.argb32.ref.png
deleted file mode 100644 (file)
index ecf6ee2..0000000
Binary files a/test/reference/clip-operator.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.quartz.rgb24.ref.png b/test/reference/clip-operator.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 67c628f..0000000
Binary files a/test/reference/clip-operator.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.rgb24.ref.png b/test/reference/clip-operator.rgb24.ref.png
deleted file mode 100644 (file)
index 63a0758..0000000
Binary files a/test/reference/clip-operator.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.svg12.argb32.xfail.png b/test/reference/clip-operator.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index a1b8072..0000000
Binary files a/test/reference/clip-operator.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/clip-operator.svg12.rgb24.xfail.png b/test/reference/clip-operator.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 9522770..0000000
Binary files a/test/reference/clip-operator.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/clip-operator.test-paginated.argb32.ref.png b/test/reference/clip-operator.test-paginated.argb32.ref.png
deleted file mode 100644 (file)
index 0203b1d..0000000
Binary files a/test/reference/clip-operator.test-paginated.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.traps.argb32.ref.png b/test/reference/clip-operator.traps.argb32.ref.png
deleted file mode 100644 (file)
index a4179d2..0000000
Binary files a/test/reference/clip-operator.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.traps.rgb24.ref.png b/test/reference/clip-operator.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f35c9d5..0000000
Binary files a/test/reference/clip-operator.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.xlib-fallback.ref.png b/test/reference/clip-operator.xlib-fallback.ref.png
deleted file mode 100644 (file)
index 9ef8637..0000000
Binary files a/test/reference/clip-operator.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.argb32.ref.png b/test/reference/clip-polygons.argb32.ref.png
deleted file mode 100644 (file)
index 1b76cd0..0000000
Binary files a/test/reference/clip-polygons.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.base.argb32.ref.png b/test/reference/clip-polygons.base.argb32.ref.png
deleted file mode 100644 (file)
index e139ef3..0000000
Binary files a/test/reference/clip-polygons.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.base.ref.png b/test/reference/clip-polygons.base.ref.png
deleted file mode 100644 (file)
index e1f294c..0000000
Binary files a/test/reference/clip-polygons.base.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.base.rgb24.ref.png b/test/reference/clip-polygons.base.rgb24.ref.png
deleted file mode 100644 (file)
index e139ef3..0000000
Binary files a/test/reference/clip-polygons.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.egl.argb32.ref.png b/test/reference/clip-polygons.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1b76cd0..0000000
Binary files a/test/reference/clip-polygons.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.mask.argb32.ref.png b/test/reference/clip-polygons.mask.argb32.ref.png
deleted file mode 100644 (file)
index e139ef3..0000000
Binary files a/test/reference/clip-polygons.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.mask.rgb24.ref.png b/test/reference/clip-polygons.mask.rgb24.ref.png
deleted file mode 100644 (file)
index e139ef3..0000000
Binary files a/test/reference/clip-polygons.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.ref.png b/test/reference/clip-polygons.ref.png
deleted file mode 100644 (file)
index df93d88..0000000
Binary files a/test/reference/clip-polygons.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.rgb24.ref.png b/test/reference/clip-polygons.rgb24.ref.png
deleted file mode 100644 (file)
index 1b76cd0..0000000
Binary files a/test/reference/clip-polygons.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.traps.argb32.ref.png b/test/reference/clip-polygons.traps.argb32.ref.png
deleted file mode 100644 (file)
index e139ef3..0000000
Binary files a/test/reference/clip-polygons.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.traps.ref.png b/test/reference/clip-polygons.traps.ref.png
deleted file mode 100644 (file)
index a8c5734..0000000
Binary files a/test/reference/clip-polygons.traps.ref.png and /dev/null differ
diff --git a/test/reference/clip-polygons.traps.rgb24.ref.png b/test/reference/clip-polygons.traps.rgb24.ref.png
deleted file mode 100644 (file)
index e139ef3..0000000
Binary files a/test/reference/clip-polygons.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.argb32.ref.png b/test/reference/clip-push-group.argb32.ref.png
deleted file mode 100644 (file)
index 86724a2..0000000
Binary files a/test/reference/clip-push-group.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.base.argb32.ref.png b/test/reference/clip-push-group.base.argb32.ref.png
deleted file mode 100644 (file)
index 86724a2..0000000
Binary files a/test/reference/clip-push-group.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.base.rgb24.ref.png b/test/reference/clip-push-group.base.rgb24.ref.png
deleted file mode 100644 (file)
index 86724a2..0000000
Binary files a/test/reference/clip-push-group.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.egl.argb32.ref.png b/test/reference/clip-push-group.egl.argb32.ref.png
deleted file mode 100644 (file)
index 276a082..0000000
Binary files a/test/reference/clip-push-group.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.image16.ref.png b/test/reference/clip-push-group.image16.ref.png
deleted file mode 100644 (file)
index 24f4424..0000000
Binary files a/test/reference/clip-push-group.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.mask.argb32.ref.png b/test/reference/clip-push-group.mask.argb32.ref.png
deleted file mode 100644 (file)
index 86724a2..0000000
Binary files a/test/reference/clip-push-group.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.mask.rgb24.ref.png b/test/reference/clip-push-group.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 86724a2..0000000
Binary files a/test/reference/clip-push-group.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.pdf.ref.png b/test/reference/clip-push-group.pdf.ref.png
deleted file mode 100644 (file)
index 37b58c5..0000000
Binary files a/test/reference/clip-push-group.pdf.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.ps.ref.png b/test/reference/clip-push-group.ps.ref.png
deleted file mode 100644 (file)
index 7af9fe5..0000000
Binary files a/test/reference/clip-push-group.ps.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.quartz.ref.png b/test/reference/clip-push-group.quartz.ref.png
deleted file mode 100644 (file)
index 22e1525..0000000
Binary files a/test/reference/clip-push-group.quartz.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.ref.png b/test/reference/clip-push-group.ref.png
deleted file mode 100644 (file)
index f57e7d2..0000000
Binary files a/test/reference/clip-push-group.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.rgb24.ref.png b/test/reference/clip-push-group.rgb24.ref.png
deleted file mode 100644 (file)
index 86724a2..0000000
Binary files a/test/reference/clip-push-group.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.svg.ref.png b/test/reference/clip-push-group.svg.ref.png
deleted file mode 100644 (file)
index 291b473..0000000
Binary files a/test/reference/clip-push-group.svg.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.traps.argb32.ref.png b/test/reference/clip-push-group.traps.argb32.ref.png
deleted file mode 100644 (file)
index de6ac63..0000000
Binary files a/test/reference/clip-push-group.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.traps.rgb24.ref.png b/test/reference/clip-push-group.traps.rgb24.ref.png
deleted file mode 100644 (file)
index de6ac63..0000000
Binary files a/test/reference/clip-push-group.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.argb32.ref.png b/test/reference/clip-rectilinear.argb32.ref.png
deleted file mode 100644 (file)
index 9d910db..0000000
Binary files a/test/reference/clip-rectilinear.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.base.argb32.ref.png b/test/reference/clip-rectilinear.base.argb32.ref.png
deleted file mode 100644 (file)
index 9d910db..0000000
Binary files a/test/reference/clip-rectilinear.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.base.ref.png b/test/reference/clip-rectilinear.base.ref.png
deleted file mode 100644 (file)
index 2a27bec..0000000
Binary files a/test/reference/clip-rectilinear.base.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.base.rgb24.ref.png b/test/reference/clip-rectilinear.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9d910db..0000000
Binary files a/test/reference/clip-rectilinear.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.egl.argb32.ref.png b/test/reference/clip-rectilinear.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9d910db..0000000
Binary files a/test/reference/clip-rectilinear.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.mask.argb32.ref.png b/test/reference/clip-rectilinear.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2a27bec..0000000
Binary files a/test/reference/clip-rectilinear.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.mask.rgb24.ref.png b/test/reference/clip-rectilinear.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2a27bec..0000000
Binary files a/test/reference/clip-rectilinear.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.ref.png b/test/reference/clip-rectilinear.ref.png
deleted file mode 100644 (file)
index 9d910db..0000000
Binary files a/test/reference/clip-rectilinear.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.rgb24.ref.png b/test/reference/clip-rectilinear.rgb24.ref.png
deleted file mode 100644 (file)
index 9d910db..0000000
Binary files a/test/reference/clip-rectilinear.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.traps.argb32.ref.png b/test/reference/clip-rectilinear.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2a27bec..0000000
Binary files a/test/reference/clip-rectilinear.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.traps.ref.png b/test/reference/clip-rectilinear.traps.ref.png
deleted file mode 100644 (file)
index 2a27bec..0000000
Binary files a/test/reference/clip-rectilinear.traps.ref.png and /dev/null differ
diff --git a/test/reference/clip-rectilinear.traps.rgb24.ref.png b/test/reference/clip-rectilinear.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2a27bec..0000000
Binary files a/test/reference/clip-rectilinear.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.argb32.ref.png b/test/reference/clip-rotate-image-surface-paint.argb32.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.base.argb32.ref.png b/test/reference/clip-rotate-image-surface-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.base.rgb24.ref.png b/test/reference/clip-rotate-image-surface-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.egl.argb32.ref.png b/test/reference/clip-rotate-image-surface-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index 7913870..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.mask.argb32.ref.png b/test/reference/clip-rotate-image-surface-paint.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.mask.rgb24.ref.png b/test/reference/clip-rotate-image-surface-paint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.ref.png b/test/reference/clip-rotate-image-surface-paint.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.rgb24.ref.png b/test/reference/clip-rotate-image-surface-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.traps.argb32.ref.png b/test/reference/clip-rotate-image-surface-paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.traps.rgb24.ref.png b/test/reference/clip-rotate-image-surface-paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.xlib-fallback.rgb24.ref.png b/test/reference/clip-rotate-image-surface-paint.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-rotate-image-surface-paint.xlib-window.rgb24.ref.png b/test/reference/clip-rotate-image-surface-paint.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 1093804..0000000
Binary files a/test/reference/clip-rotate-image-surface-paint.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.argb32.ref.png b/test/reference/clip-shape.argb32.ref.png
deleted file mode 100644 (file)
index 8f71b25..0000000
Binary files a/test/reference/clip-shape.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.base.argb32.ref.png b/test/reference/clip-shape.base.argb32.ref.png
deleted file mode 100644 (file)
index 5d79521..0000000
Binary files a/test/reference/clip-shape.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.base.rgb24.ref.png b/test/reference/clip-shape.base.rgb24.ref.png
deleted file mode 100644 (file)
index 5d79521..0000000
Binary files a/test/reference/clip-shape.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.egl.argb32.ref.png b/test/reference/clip-shape.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9a669b3..0000000
Binary files a/test/reference/clip-shape.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.image16.ref.png b/test/reference/clip-shape.image16.ref.png
deleted file mode 100644 (file)
index 0ef06b2..0000000
Binary files a/test/reference/clip-shape.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.mask.argb32.ref.png b/test/reference/clip-shape.mask.argb32.ref.png
deleted file mode 100644 (file)
index 03edf68..0000000
Binary files a/test/reference/clip-shape.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.mask.rgb24.ref.png b/test/reference/clip-shape.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 03edf68..0000000
Binary files a/test/reference/clip-shape.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.ps.ref.png b/test/reference/clip-shape.ps.ref.png
deleted file mode 100644 (file)
index 1125fb5..0000000
Binary files a/test/reference/clip-shape.ps.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.quartz.ref.png b/test/reference/clip-shape.quartz.ref.png
deleted file mode 100644 (file)
index 2923406..0000000
Binary files a/test/reference/clip-shape.quartz.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.ref.png b/test/reference/clip-shape.ref.png
deleted file mode 100644 (file)
index 892a4aa..0000000
Binary files a/test/reference/clip-shape.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.rgb24.ref.png b/test/reference/clip-shape.rgb24.ref.png
deleted file mode 100644 (file)
index 8f71b25..0000000
Binary files a/test/reference/clip-shape.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.traps.argb32.ref.png b/test/reference/clip-shape.traps.argb32.ref.png
deleted file mode 100644 (file)
index 362f24f..0000000
Binary files a/test/reference/clip-shape.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.traps.rgb24.ref.png b/test/reference/clip-shape.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 362f24f..0000000
Binary files a/test/reference/clip-shape.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.xlib-fallback.ref.png b/test/reference/clip-shape.xlib-fallback.ref.png
deleted file mode 100644 (file)
index e9aa947..0000000
Binary files a/test/reference/clip-shape.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.argb32.ref.png b/test/reference/clip-stroke-no-op.argb32.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-stroke-no-op.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.base.argb32.ref.png b/test/reference/clip-stroke-no-op.base.argb32.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-stroke-no-op.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.base.rgb24.ref.png b/test/reference/clip-stroke-no-op.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-stroke-no-op.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.egl.argb32.ref.png b/test/reference/clip-stroke-no-op.egl.argb32.ref.png
deleted file mode 100644 (file)
index 11442ad..0000000
Binary files a/test/reference/clip-stroke-no-op.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.image16.ref.png b/test/reference/clip-stroke-no-op.image16.ref.png
deleted file mode 100644 (file)
index cf0c74a..0000000
Binary files a/test/reference/clip-stroke-no-op.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.mask.argb32.ref.png b/test/reference/clip-stroke-no-op.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-stroke-no-op.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.mask.rgb24.ref.png b/test/reference/clip-stroke-no-op.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-stroke-no-op.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.ref.png b/test/reference/clip-stroke-no-op.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-stroke-no-op.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.rgb24.ref.png b/test/reference/clip-stroke-no-op.rgb24.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-stroke-no-op.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.traps.argb32.ref.png b/test/reference/clip-stroke-no-op.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-stroke-no-op.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-no-op.traps.rgb24.ref.png b/test/reference/clip-stroke-no-op.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2256461..0000000
Binary files a/test/reference/clip-stroke-no-op.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.argb32.ref.png b/test/reference/clip-stroke-unbounded.argb32.ref.png
deleted file mode 100644 (file)
index 8bf64c1..0000000
Binary files a/test/reference/clip-stroke-unbounded.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.base.argb32.ref.png b/test/reference/clip-stroke-unbounded.base.argb32.ref.png
deleted file mode 100644 (file)
index de0d589..0000000
Binary files a/test/reference/clip-stroke-unbounded.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.base.rgb24.ref.png b/test/reference/clip-stroke-unbounded.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7d204ee..0000000
Binary files a/test/reference/clip-stroke-unbounded.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.image16.rgb24.ref.png b/test/reference/clip-stroke-unbounded.image16.rgb24.ref.png
deleted file mode 100644 (file)
index 2dfd48b..0000000
Binary files a/test/reference/clip-stroke-unbounded.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.mask.argb32.ref.png b/test/reference/clip-stroke-unbounded.mask.argb32.ref.png
deleted file mode 100644 (file)
index 274feb6..0000000
Binary files a/test/reference/clip-stroke-unbounded.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.mask.rgb24.ref.png b/test/reference/clip-stroke-unbounded.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a9a8f7b..0000000
Binary files a/test/reference/clip-stroke-unbounded.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.quartz.argb32.ref.png b/test/reference/clip-stroke-unbounded.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 8bd5b36..0000000
Binary files a/test/reference/clip-stroke-unbounded.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.quartz.rgb24.ref.png b/test/reference/clip-stroke-unbounded.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 5349f84..0000000
Binary files a/test/reference/clip-stroke-unbounded.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.rgb24.ref.png b/test/reference/clip-stroke-unbounded.rgb24.ref.png
deleted file mode 100644 (file)
index 2dbe36b..0000000
Binary files a/test/reference/clip-stroke-unbounded.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.svg12.rgb24.xfail.png b/test/reference/clip-stroke-unbounded.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index c35fc83..0000000
Binary files a/test/reference/clip-stroke-unbounded.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.traps.argb32.ref.png b/test/reference/clip-stroke-unbounded.traps.argb32.ref.png
deleted file mode 100644 (file)
index aea8cba..0000000
Binary files a/test/reference/clip-stroke-unbounded.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.traps.rgb24.ref.png b/test/reference/clip-stroke-unbounded.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 70cddac..0000000
Binary files a/test/reference/clip-stroke-unbounded.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.xlib-fallback.rgb24.ref.png b/test/reference/clip-stroke-unbounded.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 20ebfe4..0000000
Binary files a/test/reference/clip-stroke-unbounded.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.base.argb32.ref.png b/test/reference/clip-stroke.base.argb32.ref.png
deleted file mode 100644 (file)
index 31ed15e..0000000
Binary files a/test/reference/clip-stroke.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.base.rgb24.ref.png b/test/reference/clip-stroke.base.rgb24.ref.png
deleted file mode 100644 (file)
index 31ed15e..0000000
Binary files a/test/reference/clip-stroke.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.egl.argb32.ref.png b/test/reference/clip-stroke.egl.argb32.ref.png
deleted file mode 100644 (file)
index fd23b28..0000000
Binary files a/test/reference/clip-stroke.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.image16.ref.png b/test/reference/clip-stroke.image16.ref.png
deleted file mode 100644 (file)
index ad62af4..0000000
Binary files a/test/reference/clip-stroke.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.mask.argb32.ref.png b/test/reference/clip-stroke.mask.argb32.ref.png
deleted file mode 100644 (file)
index afa7fc0..0000000
Binary files a/test/reference/clip-stroke.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.mask.rgb24.ref.png b/test/reference/clip-stroke.mask.rgb24.ref.png
deleted file mode 100644 (file)
index afa7fc0..0000000
Binary files a/test/reference/clip-stroke.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.ps.xfail.png b/test/reference/clip-stroke.ps.xfail.png
deleted file mode 100644 (file)
index cc67b08..0000000
Binary files a/test/reference/clip-stroke.ps.xfail.png and /dev/null differ
diff --git a/test/reference/clip-stroke.quartz.ref.png b/test/reference/clip-stroke.quartz.ref.png
deleted file mode 100644 (file)
index 994e317..0000000
Binary files a/test/reference/clip-stroke.quartz.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.ref.png b/test/reference/clip-stroke.ref.png
deleted file mode 100644 (file)
index bf6d888..0000000
Binary files a/test/reference/clip-stroke.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.traps.argb32.ref.png b/test/reference/clip-stroke.traps.argb32.ref.png
deleted file mode 100644 (file)
index 36b113a..0000000
Binary files a/test/reference/clip-stroke.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.traps.rgb24.ref.png b/test/reference/clip-stroke.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 36b113a..0000000
Binary files a/test/reference/clip-stroke.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.xlib-fallback.ref.png b/test/reference/clip-stroke.xlib-fallback.ref.png
deleted file mode 100644 (file)
index cef5000..0000000
Binary files a/test/reference/clip-stroke.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.argb32.ref.png b/test/reference/clip-text.argb32.ref.png
deleted file mode 100644 (file)
index c4b013d..0000000
Binary files a/test/reference/clip-text.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.base.argb32.ref.png b/test/reference/clip-text.base.argb32.ref.png
deleted file mode 100644 (file)
index e2b2ca7..0000000
Binary files a/test/reference/clip-text.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.base.rgb24.ref.png b/test/reference/clip-text.base.rgb24.ref.png
deleted file mode 100644 (file)
index e2b2ca7..0000000
Binary files a/test/reference/clip-text.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.image16.ref.png b/test/reference/clip-text.image16.ref.png
deleted file mode 100644 (file)
index 2122954..0000000
Binary files a/test/reference/clip-text.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.mask.argb32.ref.png b/test/reference/clip-text.mask.argb32.ref.png
deleted file mode 100644 (file)
index 98484cd..0000000
Binary files a/test/reference/clip-text.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.mask.rgb24.ref.png b/test/reference/clip-text.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 98484cd..0000000
Binary files a/test/reference/clip-text.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.ps.xfail.png b/test/reference/clip-text.ps.xfail.png
deleted file mode 100644 (file)
index b50217d..0000000
Binary files a/test/reference/clip-text.ps.xfail.png and /dev/null differ
diff --git a/test/reference/clip-text.quartz.ref.png b/test/reference/clip-text.quartz.ref.png
deleted file mode 100644 (file)
index d251bfa..0000000
Binary files a/test/reference/clip-text.quartz.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.ref.png b/test/reference/clip-text.ref.png
deleted file mode 100644 (file)
index d65a8f6..0000000
Binary files a/test/reference/clip-text.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.rgb24.ref.png b/test/reference/clip-text.rgb24.ref.png
deleted file mode 100644 (file)
index c4b013d..0000000
Binary files a/test/reference/clip-text.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.svg.ref.png b/test/reference/clip-text.svg.ref.png
deleted file mode 100644 (file)
index a113b14..0000000
Binary files a/test/reference/clip-text.svg.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.traps.argb32.ref.png b/test/reference/clip-text.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2a68298..0000000
Binary files a/test/reference/clip-text.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.traps.rgb24.ref.png b/test/reference/clip-text.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2a68298..0000000
Binary files a/test/reference/clip-text.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice-rectangle.argb32.ref.png b/test/reference/clip-twice-rectangle.argb32.ref.png
deleted file mode 100644 (file)
index d0e65ea..0000000
Binary files a/test/reference/clip-twice-rectangle.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice-rectangle.base.argb32.ref.png b/test/reference/clip-twice-rectangle.base.argb32.ref.png
deleted file mode 100644 (file)
index d0e65ea..0000000
Binary files a/test/reference/clip-twice-rectangle.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice-rectangle.base.rgb24.ref.png b/test/reference/clip-twice-rectangle.base.rgb24.ref.png
deleted file mode 100644 (file)
index d0e65ea..0000000
Binary files a/test/reference/clip-twice-rectangle.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice-rectangle.egl.argb32.ref.png b/test/reference/clip-twice-rectangle.egl.argb32.ref.png
deleted file mode 100644 (file)
index d0e65ea..0000000
Binary files a/test/reference/clip-twice-rectangle.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice-rectangle.mask.argb32.ref.png b/test/reference/clip-twice-rectangle.mask.argb32.ref.png
deleted file mode 100644 (file)
index d0e65ea..0000000
Binary files a/test/reference/clip-twice-rectangle.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice-rectangle.mask.rgb24.ref.png b/test/reference/clip-twice-rectangle.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d0e65ea..0000000
Binary files a/test/reference/clip-twice-rectangle.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice-rectangle.ref.png b/test/reference/clip-twice-rectangle.ref.png
deleted file mode 100644 (file)
index d0e65ea..0000000
Binary files a/test/reference/clip-twice-rectangle.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice-rectangle.rgb24.ref.png b/test/reference/clip-twice-rectangle.rgb24.ref.png
deleted file mode 100644 (file)
index d0e65ea..0000000
Binary files a/test/reference/clip-twice-rectangle.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice-rectangle.traps.argb32.ref.png b/test/reference/clip-twice-rectangle.traps.argb32.ref.png
deleted file mode 100644 (file)
index d0e65ea..0000000
Binary files a/test/reference/clip-twice-rectangle.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice-rectangle.traps.rgb24.ref.png b/test/reference/clip-twice-rectangle.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d0e65ea..0000000
Binary files a/test/reference/clip-twice-rectangle.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.argb32.ref.png b/test/reference/clip-twice.argb32.ref.png
deleted file mode 100644 (file)
index 877e3db..0000000
Binary files a/test/reference/clip-twice.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.base.argb32.ref.png b/test/reference/clip-twice.base.argb32.ref.png
deleted file mode 100644 (file)
index a3dcca4..0000000
Binary files a/test/reference/clip-twice.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.base.rgb24.ref.png b/test/reference/clip-twice.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0c4aaba..0000000
Binary files a/test/reference/clip-twice.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.egl.argb32.ref.png b/test/reference/clip-twice.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8bebef5..0000000
Binary files a/test/reference/clip-twice.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.image16.ref.png b/test/reference/clip-twice.image16.ref.png
deleted file mode 100644 (file)
index d5a3f45..0000000
Binary files a/test/reference/clip-twice.image16.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.mask.argb32.ref.png b/test/reference/clip-twice.mask.argb32.ref.png
deleted file mode 100644 (file)
index 828dd23..0000000
Binary files a/test/reference/clip-twice.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.mask.rgb24.ref.png b/test/reference/clip-twice.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8b6baed..0000000
Binary files a/test/reference/clip-twice.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.pdf.argb32.ref.png b/test/reference/clip-twice.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 2a7541f..0000000
Binary files a/test/reference/clip-twice.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.ps.argb32.ref.png b/test/reference/clip-twice.ps.argb32.ref.png
deleted file mode 100644 (file)
index 5d29d17..0000000
Binary files a/test/reference/clip-twice.ps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.ps.rgb24.ref.png b/test/reference/clip-twice.ps.rgb24.ref.png
deleted file mode 100644 (file)
index 85eb890..0000000
Binary files a/test/reference/clip-twice.ps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.quartz.argb32.ref.png b/test/reference/clip-twice.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 04b588d..0000000
Binary files a/test/reference/clip-twice.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.quartz.rgb24.ref.png b/test/reference/clip-twice.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index eb4f62c..0000000
Binary files a/test/reference/clip-twice.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.rgb24.ref.png b/test/reference/clip-twice.rgb24.ref.png
deleted file mode 100644 (file)
index 325fdff..0000000
Binary files a/test/reference/clip-twice.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.test-paginated.argb32.ref.png b/test/reference/clip-twice.test-paginated.argb32.ref.png
deleted file mode 100644 (file)
index ffd59aa..0000000
Binary files a/test/reference/clip-twice.test-paginated.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.test-paginated.rgb24.ref.png b/test/reference/clip-twice.test-paginated.rgb24.ref.png
deleted file mode 100644 (file)
index e3d0ae4..0000000
Binary files a/test/reference/clip-twice.test-paginated.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.traps.argb32.ref.png b/test/reference/clip-twice.traps.argb32.ref.png
deleted file mode 100644 (file)
index 057fc31..0000000
Binary files a/test/reference/clip-twice.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.traps.rgb24.ref.png b/test/reference/clip-twice.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6002d34..0000000
Binary files a/test/reference/clip-twice.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.argb32.ref.png b/test/reference/clip-unbounded.argb32.ref.png
deleted file mode 100644 (file)
index 0b65905..0000000
Binary files a/test/reference/clip-unbounded.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.base.argb32.ref.png b/test/reference/clip-unbounded.base.argb32.ref.png
deleted file mode 100644 (file)
index 0b65905..0000000
Binary files a/test/reference/clip-unbounded.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.base.rgb24.ref.png b/test/reference/clip-unbounded.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2baf9f4..0000000
Binary files a/test/reference/clip-unbounded.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.egl.argb32.ref.png b/test/reference/clip-unbounded.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0b65905..0000000
Binary files a/test/reference/clip-unbounded.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.mask.argb32.ref.png b/test/reference/clip-unbounded.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0b65905..0000000
Binary files a/test/reference/clip-unbounded.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.mask.rgb24.ref.png b/test/reference/clip-unbounded.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2baf9f4..0000000
Binary files a/test/reference/clip-unbounded.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.pdf.argb32.xfail.png b/test/reference/clip-unbounded.pdf.argb32.xfail.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-unbounded.pdf.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.pdf.rgb24.xfail.png b/test/reference/clip-unbounded.pdf.rgb24.xfail.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/clip-unbounded.pdf.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.ref.png b/test/reference/clip-unbounded.ref.png
deleted file mode 100644 (file)
index 0b65905..0000000
Binary files a/test/reference/clip-unbounded.ref.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.rgb24.ref.png b/test/reference/clip-unbounded.rgb24.ref.png
deleted file mode 100644 (file)
index 2baf9f4..0000000
Binary files a/test/reference/clip-unbounded.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.svg12.rgb24.xfail.png b/test/reference/clip-unbounded.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 0b65905..0000000
Binary files a/test/reference/clip-unbounded.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.traps.argb32.ref.png b/test/reference/clip-unbounded.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0b65905..0000000
Binary files a/test/reference/clip-unbounded.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-unbounded.traps.rgb24.ref.png b/test/reference/clip-unbounded.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2baf9f4..0000000
Binary files a/test/reference/clip-unbounded.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-xlib-fallback.rgb24.ref.png b/test/reference/clip-xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 062c721..0000000
Binary files a/test/reference/clip-xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-xlib-window.rgb24.ref.png b/test/reference/clip-xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 062c721..0000000
Binary files a/test/reference/clip-xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-xlib.argb32.ref.png b/test/reference/clip-xlib.argb32.ref.png
deleted file mode 100644 (file)
index 062c721..0000000
Binary files a/test/reference/clip-xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-xlib.rgb24.ref.png b/test/reference/clip-xlib.rgb24.ref.png
deleted file mode 100644 (file)
index 062c721..0000000
Binary files a/test/reference/clip-xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.argb32.ref.png b/test/reference/clipped-group.argb32.ref.png
deleted file mode 100644 (file)
index 1ab8773..0000000
Binary files a/test/reference/clipped-group.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.base.argb32.ref.png b/test/reference/clipped-group.base.argb32.ref.png
deleted file mode 100644 (file)
index bea4c75..0000000
Binary files a/test/reference/clipped-group.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.base.rgb24.ref.png b/test/reference/clipped-group.base.rgb24.ref.png
deleted file mode 100644 (file)
index bea4c75..0000000
Binary files a/test/reference/clipped-group.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.egl.argb32.ref.png b/test/reference/clipped-group.egl.argb32.ref.png
deleted file mode 100644 (file)
index 032ff2f..0000000
Binary files a/test/reference/clipped-group.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.image16.ref.png b/test/reference/clipped-group.image16.ref.png
deleted file mode 100644 (file)
index bf419f6..0000000
Binary files a/test/reference/clipped-group.image16.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.mask.argb32.ref.png b/test/reference/clipped-group.mask.argb32.ref.png
deleted file mode 100644 (file)
index 53b149f..0000000
Binary files a/test/reference/clipped-group.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.mask.rgb24.ref.png b/test/reference/clipped-group.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 53b149f..0000000
Binary files a/test/reference/clipped-group.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.pdf.ref.png b/test/reference/clipped-group.pdf.ref.png
deleted file mode 100644 (file)
index 23db5a4..0000000
Binary files a/test/reference/clipped-group.pdf.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.ps2.ref.png b/test/reference/clipped-group.ps2.ref.png
deleted file mode 100644 (file)
index 7a0f45c..0000000
Binary files a/test/reference/clipped-group.ps2.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.ps3.ref.png b/test/reference/clipped-group.ps3.ref.png
deleted file mode 100644 (file)
index 7a0f45c..0000000
Binary files a/test/reference/clipped-group.ps3.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.quartz.ref.png b/test/reference/clipped-group.quartz.ref.png
deleted file mode 100644 (file)
index 10e22f7..0000000
Binary files a/test/reference/clipped-group.quartz.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.ref.png b/test/reference/clipped-group.ref.png
deleted file mode 100644 (file)
index fe9b8dc..0000000
Binary files a/test/reference/clipped-group.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.rgb24.ref.png b/test/reference/clipped-group.rgb24.ref.png
deleted file mode 100644 (file)
index 1ab8773..0000000
Binary files a/test/reference/clipped-group.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.svg.ref.png b/test/reference/clipped-group.svg.ref.png
deleted file mode 100644 (file)
index 196aec0..0000000
Binary files a/test/reference/clipped-group.svg.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.traps.argb32.ref.png b/test/reference/clipped-group.traps.argb32.ref.png
deleted file mode 100644 (file)
index b25c9f4..0000000
Binary files a/test/reference/clipped-group.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.traps.rgb24.ref.png b/test/reference/clipped-group.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b25c9f4..0000000
Binary files a/test/reference/clipped-group.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.xlib-fallback.ref.png b/test/reference/clipped-group.xlib-fallback.ref.png
deleted file mode 100644 (file)
index e0a5dc0..0000000
Binary files a/test/reference/clipped-group.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.argb32.ref.png b/test/reference/clipped-surface.argb32.ref.png
deleted file mode 100644 (file)
index 8e8b008..0000000
Binary files a/test/reference/clipped-surface.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.base.argb32.ref.png b/test/reference/clipped-surface.base.argb32.ref.png
deleted file mode 100644 (file)
index 8e8b008..0000000
Binary files a/test/reference/clipped-surface.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.base.rgb24.ref.png b/test/reference/clipped-surface.base.rgb24.ref.png
deleted file mode 100644 (file)
index 8e8b008..0000000
Binary files a/test/reference/clipped-surface.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.egl.argb32.ref.png b/test/reference/clipped-surface.egl.argb32.ref.png
deleted file mode 100644 (file)
index d1ee90b..0000000
Binary files a/test/reference/clipped-surface.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.image16.ref.png b/test/reference/clipped-surface.image16.ref.png
deleted file mode 100644 (file)
index e9ad572..0000000
Binary files a/test/reference/clipped-surface.image16.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.mask.argb32.ref.png b/test/reference/clipped-surface.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8e8b008..0000000
Binary files a/test/reference/clipped-surface.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.mask.rgb24.ref.png b/test/reference/clipped-surface.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8e8b008..0000000
Binary files a/test/reference/clipped-surface.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.ref.png b/test/reference/clipped-surface.ref.png
deleted file mode 100644 (file)
index 7fed5a3..0000000
Binary files a/test/reference/clipped-surface.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.rgb24.ref.png b/test/reference/clipped-surface.rgb24.ref.png
deleted file mode 100644 (file)
index 8e8b008..0000000
Binary files a/test/reference/clipped-surface.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.traps.argb32.ref.png b/test/reference/clipped-surface.traps.argb32.ref.png
deleted file mode 100644 (file)
index 8e8b008..0000000
Binary files a/test/reference/clipped-surface.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clipped-surface.traps.rgb24.ref.png b/test/reference/clipped-surface.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 8e8b008..0000000
Binary files a/test/reference/clipped-surface.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clipped-trapezoids.ref.png b/test/reference/clipped-trapezoids.ref.png
deleted file mode 100644 (file)
index 975a692..0000000
Binary files a/test/reference/clipped-trapezoids.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.argb32.ref.png b/test/reference/close-path-current-point.argb32.ref.png
deleted file mode 100644 (file)
index ab3124b..0000000
Binary files a/test/reference/close-path-current-point.argb32.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.base.argb32.ref.png b/test/reference/close-path-current-point.base.argb32.ref.png
deleted file mode 100644 (file)
index f07aeba..0000000
Binary files a/test/reference/close-path-current-point.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.base.rgb24.ref.png b/test/reference/close-path-current-point.base.rgb24.ref.png
deleted file mode 100644 (file)
index f07aeba..0000000
Binary files a/test/reference/close-path-current-point.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.egl.argb32.ref.png b/test/reference/close-path-current-point.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2e5f3da..0000000
Binary files a/test/reference/close-path-current-point.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.image16.ref.png b/test/reference/close-path-current-point.image16.ref.png
deleted file mode 100644 (file)
index 6aacf3e..0000000
Binary files a/test/reference/close-path-current-point.image16.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.mask.argb32.ref.png b/test/reference/close-path-current-point.mask.argb32.ref.png
deleted file mode 100644 (file)
index ab3124b..0000000
Binary files a/test/reference/close-path-current-point.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.mask.rgb24.ref.png b/test/reference/close-path-current-point.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ab3124b..0000000
Binary files a/test/reference/close-path-current-point.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.ps.ref.png b/test/reference/close-path-current-point.ps.ref.png
deleted file mode 100644 (file)
index 1442f01..0000000
Binary files a/test/reference/close-path-current-point.ps.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.ref.png b/test/reference/close-path-current-point.ref.png
deleted file mode 100644 (file)
index 9d3fd24..0000000
Binary files a/test/reference/close-path-current-point.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.rgb24.ref.png b/test/reference/close-path-current-point.rgb24.ref.png
deleted file mode 100644 (file)
index ab3124b..0000000
Binary files a/test/reference/close-path-current-point.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.traps.argb32.ref.png b/test/reference/close-path-current-point.traps.argb32.ref.png
deleted file mode 100644 (file)
index f07aeba..0000000
Binary files a/test/reference/close-path-current-point.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/close-path-current-point.traps.rgb24.ref.png b/test/reference/close-path-current-point.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f07aeba..0000000
Binary files a/test/reference/close-path-current-point.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/close-path.argb32.ref.png b/test/reference/close-path.argb32.ref.png
deleted file mode 100644 (file)
index 5506ff8..0000000
Binary files a/test/reference/close-path.argb32.ref.png and /dev/null differ
diff --git a/test/reference/close-path.base.argb32.ref.png b/test/reference/close-path.base.argb32.ref.png
deleted file mode 100644 (file)
index b53fab2..0000000
Binary files a/test/reference/close-path.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/close-path.base.rgb24.ref.png b/test/reference/close-path.base.rgb24.ref.png
deleted file mode 100644 (file)
index b53fab2..0000000
Binary files a/test/reference/close-path.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/close-path.egl.argb32.ref.png b/test/reference/close-path.egl.argb32.ref.png
deleted file mode 100644 (file)
index b61675a..0000000
Binary files a/test/reference/close-path.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/close-path.mask.argb32.ref.png b/test/reference/close-path.mask.argb32.ref.png
deleted file mode 100644 (file)
index 5506ff8..0000000
Binary files a/test/reference/close-path.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/close-path.mask.rgb24.ref.png b/test/reference/close-path.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5506ff8..0000000
Binary files a/test/reference/close-path.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/close-path.ps2.ref.png b/test/reference/close-path.ps2.ref.png
deleted file mode 100644 (file)
index e43821c..0000000
Binary files a/test/reference/close-path.ps2.ref.png and /dev/null differ
diff --git a/test/reference/close-path.ps3.ref.png b/test/reference/close-path.ps3.ref.png
deleted file mode 100644 (file)
index e43821c..0000000
Binary files a/test/reference/close-path.ps3.ref.png and /dev/null differ
diff --git a/test/reference/close-path.ref.png b/test/reference/close-path.ref.png
deleted file mode 100644 (file)
index 117c1ae..0000000
Binary files a/test/reference/close-path.ref.png and /dev/null differ
diff --git a/test/reference/close-path.rgb24.ref.png b/test/reference/close-path.rgb24.ref.png
deleted file mode 100644 (file)
index 5506ff8..0000000
Binary files a/test/reference/close-path.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/close-path.traps.argb32.ref.png b/test/reference/close-path.traps.argb32.ref.png
deleted file mode 100644 (file)
index b53fab2..0000000
Binary files a/test/reference/close-path.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/close-path.traps.rgb24.ref.png b/test/reference/close-path.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b53fab2..0000000
Binary files a/test/reference/close-path.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.argb32.ref.png b/test/reference/composite-integer-translate-over-repeat.argb32.ref.png
deleted file mode 100644 (file)
index c425749..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.base.argb32.ref.png b/test/reference/composite-integer-translate-over-repeat.base.argb32.ref.png
deleted file mode 100644 (file)
index c425749..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.base.rgb24.ref.png b/test/reference/composite-integer-translate-over-repeat.base.rgb24.ref.png
deleted file mode 100644 (file)
index c425749..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.egl.argb32.ref.png b/test/reference/composite-integer-translate-over-repeat.egl.argb32.ref.png
deleted file mode 100644 (file)
index c425749..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.mask.argb32.ref.png b/test/reference/composite-integer-translate-over-repeat.mask.argb32.ref.png
deleted file mode 100644 (file)
index c425749..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.mask.rgb24.ref.png b/test/reference/composite-integer-translate-over-repeat.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c425749..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.ps2.ref.png b/test/reference/composite-integer-translate-over-repeat.ps2.ref.png
deleted file mode 100644 (file)
index f0e7b84..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.ps2.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.ps3.ref.png b/test/reference/composite-integer-translate-over-repeat.ps3.ref.png
deleted file mode 100644 (file)
index f0e7b84..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.ps3.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.ref.png b/test/reference/composite-integer-translate-over-repeat.ref.png
deleted file mode 100644 (file)
index c04db26..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.rgb24.ref.png b/test/reference/composite-integer-translate-over-repeat.rgb24.ref.png
deleted file mode 100644 (file)
index c425749..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.traps.argb32.ref.png b/test/reference/composite-integer-translate-over-repeat.traps.argb32.ref.png
deleted file mode 100644 (file)
index c425749..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over-repeat.traps.rgb24.ref.png b/test/reference/composite-integer-translate-over-repeat.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c425749..0000000
Binary files a/test/reference/composite-integer-translate-over-repeat.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.argb32.ref.png b/test/reference/composite-integer-translate-over.argb32.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-over.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.base.argb32.ref.png b/test/reference/composite-integer-translate-over.base.argb32.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-over.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.base.rgb24.ref.png b/test/reference/composite-integer-translate-over.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-over.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.egl.argb32.ref.png b/test/reference/composite-integer-translate-over.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0efd275..0000000
Binary files a/test/reference/composite-integer-translate-over.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.image16.ref.png b/test/reference/composite-integer-translate-over.image16.ref.png
deleted file mode 100644 (file)
index acb0917..0000000
Binary files a/test/reference/composite-integer-translate-over.image16.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.mask.argb32.ref.png b/test/reference/composite-integer-translate-over.mask.argb32.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-over.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.mask.rgb24.ref.png b/test/reference/composite-integer-translate-over.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-over.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.ps2.ref.png b/test/reference/composite-integer-translate-over.ps2.ref.png
deleted file mode 100644 (file)
index 8c8cc0d..0000000
Binary files a/test/reference/composite-integer-translate-over.ps2.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.ps3.ref.png b/test/reference/composite-integer-translate-over.ps3.ref.png
deleted file mode 100644 (file)
index 8c8cc0d..0000000
Binary files a/test/reference/composite-integer-translate-over.ps3.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.ref.png b/test/reference/composite-integer-translate-over.ref.png
deleted file mode 100644 (file)
index 630d993..0000000
Binary files a/test/reference/composite-integer-translate-over.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.rgb24.ref.png b/test/reference/composite-integer-translate-over.rgb24.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-over.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.traps.argb32.ref.png b/test/reference/composite-integer-translate-over.traps.argb32.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-over.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-over.traps.rgb24.ref.png b/test/reference/composite-integer-translate-over.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-over.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.argb32.ref.png b/test/reference/composite-integer-translate-source.argb32.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.base.argb32.ref.png b/test/reference/composite-integer-translate-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.base.rgb24.ref.png b/test/reference/composite-integer-translate-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.egl.argb32.ref.png b/test/reference/composite-integer-translate-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0efd275..0000000
Binary files a/test/reference/composite-integer-translate-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.image16.ref.png b/test/reference/composite-integer-translate-source.image16.ref.png
deleted file mode 100644 (file)
index acb0917..0000000
Binary files a/test/reference/composite-integer-translate-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.mask.argb32.ref.png b/test/reference/composite-integer-translate-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.mask.rgb24.ref.png b/test/reference/composite-integer-translate-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.ps2.ref.png b/test/reference/composite-integer-translate-source.ps2.ref.png
deleted file mode 100644 (file)
index 8c8cc0d..0000000
Binary files a/test/reference/composite-integer-translate-source.ps2.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.ps3.ref.png b/test/reference/composite-integer-translate-source.ps3.ref.png
deleted file mode 100644 (file)
index 8c8cc0d..0000000
Binary files a/test/reference/composite-integer-translate-source.ps3.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.ref.png b/test/reference/composite-integer-translate-source.ref.png
deleted file mode 100644 (file)
index da9a398..0000000
Binary files a/test/reference/composite-integer-translate-source.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.rgb24.ref.png b/test/reference/composite-integer-translate-source.rgb24.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.svg12.argb32.xfail.png b/test/reference/composite-integer-translate-source.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index c4f3197..0000000
Binary files a/test/reference/composite-integer-translate-source.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.svg12.rgb24.xfail.png b/test/reference/composite-integer-translate-source.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index c4f3197..0000000
Binary files a/test/reference/composite-integer-translate-source.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.traps.argb32.ref.png b/test/reference/composite-integer-translate-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/composite-integer-translate-source.traps.rgb24.ref.png b/test/reference/composite-integer-translate-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 7ac3ddf..0000000
Binary files a/test/reference/composite-integer-translate-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/copy-disjoint.argb32.ref.png b/test/reference/copy-disjoint.argb32.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/copy-disjoint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/copy-disjoint.base.argb32.ref.png b/test/reference/copy-disjoint.base.argb32.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/copy-disjoint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/copy-disjoint.base.rgb24.ref.png b/test/reference/copy-disjoint.base.rgb24.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/copy-disjoint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/copy-disjoint.egl.argb32.ref.png b/test/reference/copy-disjoint.egl.argb32.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/copy-disjoint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/copy-disjoint.mask.argb32.ref.png b/test/reference/copy-disjoint.mask.argb32.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/copy-disjoint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/copy-disjoint.mask.rgb24.ref.png b/test/reference/copy-disjoint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/copy-disjoint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/copy-disjoint.ref.png b/test/reference/copy-disjoint.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/copy-disjoint.ref.png and /dev/null differ
diff --git a/test/reference/copy-disjoint.rgb24.ref.png b/test/reference/copy-disjoint.rgb24.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/copy-disjoint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/copy-disjoint.traps.argb32.ref.png b/test/reference/copy-disjoint.traps.argb32.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/copy-disjoint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/copy-disjoint.traps.rgb24.ref.png b/test/reference/copy-disjoint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/copy-disjoint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.argb32.ref.png b/test/reference/copy-path.argb32.ref.png
deleted file mode 100644 (file)
index b50e9e4..0000000
Binary files a/test/reference/copy-path.argb32.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.base.argb32.ref.png b/test/reference/copy-path.base.argb32.ref.png
deleted file mode 100644 (file)
index 6ca6f48..0000000
Binary files a/test/reference/copy-path.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.base.rgb24.ref.png b/test/reference/copy-path.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6ca6f48..0000000
Binary files a/test/reference/copy-path.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.egl.argb32.ref.png b/test/reference/copy-path.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1b98fa7..0000000
Binary files a/test/reference/copy-path.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.image16.ref.png b/test/reference/copy-path.image16.ref.png
deleted file mode 100644 (file)
index 1b3cabc..0000000
Binary files a/test/reference/copy-path.image16.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.mask.argb32.ref.png b/test/reference/copy-path.mask.argb32.ref.png
deleted file mode 100644 (file)
index b50e9e4..0000000
Binary files a/test/reference/copy-path.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.mask.rgb24.ref.png b/test/reference/copy-path.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b50e9e4..0000000
Binary files a/test/reference/copy-path.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.ps.ref.png b/test/reference/copy-path.ps.ref.png
deleted file mode 100644 (file)
index 41423a0..0000000
Binary files a/test/reference/copy-path.ps.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.ref.png b/test/reference/copy-path.ref.png
deleted file mode 100644 (file)
index 588d56c..0000000
Binary files a/test/reference/copy-path.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.rgb24.ref.png b/test/reference/copy-path.rgb24.ref.png
deleted file mode 100644 (file)
index b50e9e4..0000000
Binary files a/test/reference/copy-path.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.traps.argb32.ref.png b/test/reference/copy-path.traps.argb32.ref.png
deleted file mode 100644 (file)
index 6ca6f48..0000000
Binary files a/test/reference/copy-path.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/copy-path.traps.rgb24.ref.png b/test/reference/copy-path.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6ca6f48..0000000
Binary files a/test/reference/copy-path.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/coverage-column-triangles.ref.png b/test/reference/coverage-column-triangles.ref.png
deleted file mode 100644 (file)
index aa61031..0000000
Binary files a/test/reference/coverage-column-triangles.ref.png and /dev/null differ
diff --git a/test/reference/coverage-column-triangles.xlib.xfail.png b/test/reference/coverage-column-triangles.xlib.xfail.png
deleted file mode 100644 (file)
index f433b7a..0000000
Binary files a/test/reference/coverage-column-triangles.xlib.xfail.png and /dev/null differ
diff --git a/test/reference/coverage-intersecting-quads.ref.png b/test/reference/coverage-intersecting-quads.ref.png
deleted file mode 100644 (file)
index f56cb55..0000000
Binary files a/test/reference/coverage-intersecting-quads.ref.png and /dev/null differ
diff --git a/test/reference/coverage-intersecting-quads.xlib.xfail.png b/test/reference/coverage-intersecting-quads.xlib.xfail.png
deleted file mode 100644 (file)
index d6b8c2e..0000000
Binary files a/test/reference/coverage-intersecting-quads.xlib.xfail.png and /dev/null differ
diff --git a/test/reference/coverage-intersecting-triangles.ref.png b/test/reference/coverage-intersecting-triangles.ref.png
deleted file mode 100644 (file)
index 40a48c1..0000000
Binary files a/test/reference/coverage-intersecting-triangles.ref.png and /dev/null differ
diff --git a/test/reference/coverage-intersecting-triangles.xlib.xfail.png b/test/reference/coverage-intersecting-triangles.xlib.xfail.png
deleted file mode 100644 (file)
index e64cd47..0000000
Binary files a/test/reference/coverage-intersecting-triangles.xlib.xfail.png and /dev/null differ
diff --git a/test/reference/coverage-rectangles.ref.png b/test/reference/coverage-rectangles.ref.png
deleted file mode 100644 (file)
index cc1d31c..0000000
Binary files a/test/reference/coverage-rectangles.ref.png and /dev/null differ
diff --git a/test/reference/coverage-rectangles.xlib.xfail.png b/test/reference/coverage-rectangles.xlib.xfail.png
deleted file mode 100644 (file)
index 622c2d7..0000000
Binary files a/test/reference/coverage-rectangles.xlib.xfail.png and /dev/null differ
diff --git a/test/reference/coverage-row-triangles.ref.png b/test/reference/coverage-row-triangles.ref.png
deleted file mode 100644 (file)
index aa61031..0000000
Binary files a/test/reference/coverage-row-triangles.ref.png and /dev/null differ
diff --git a/test/reference/coverage-row-triangles.xlib.xfail.png b/test/reference/coverage-row-triangles.xlib.xfail.png
deleted file mode 100644 (file)
index f8582fb..0000000
Binary files a/test/reference/coverage-row-triangles.xlib.xfail.png and /dev/null differ
diff --git a/test/reference/coverage-triangles.ref.png b/test/reference/coverage-triangles.ref.png
deleted file mode 100644 (file)
index f56cb55..0000000
Binary files a/test/reference/coverage-triangles.ref.png and /dev/null differ
diff --git a/test/reference/coverage-triangles.xlib.xfail.png b/test/reference/coverage-triangles.xlib.xfail.png
deleted file mode 100644 (file)
index 133fd33..0000000
Binary files a/test/reference/coverage-triangles.xlib.xfail.png and /dev/null differ
diff --git a/test/reference/create-from-png-stream.argb32.ref.png b/test/reference/create-from-png-stream.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png-stream.argb32.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png-stream.base.argb32.ref.png b/test/reference/create-from-png-stream.base.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png-stream.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png-stream.base.rgb24.ref.png b/test/reference/create-from-png-stream.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png-stream.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png-stream.egl.argb32.ref.png b/test/reference/create-from-png-stream.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/create-from-png-stream.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png-stream.mask.argb32.ref.png b/test/reference/create-from-png-stream.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png-stream.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png-stream.mask.rgb24.ref.png b/test/reference/create-from-png-stream.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png-stream.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png-stream.ref.png b/test/reference/create-from-png-stream.ref.png
deleted file mode 100644 (file)
index 765adc4..0000000
Binary files a/test/reference/create-from-png-stream.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png-stream.rgb24.ref.png b/test/reference/create-from-png-stream.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png-stream.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png-stream.traps.argb32.ref.png b/test/reference/create-from-png-stream.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png-stream.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png-stream.traps.rgb24.ref.png b/test/reference/create-from-png-stream.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png-stream.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.alpha.ref.png b/test/reference/create-from-png.alpha.ref.png
deleted file mode 100644 (file)
index a5175a1..0000000
Binary files a/test/reference/create-from-png.alpha.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.argb32.ref.png b/test/reference/create-from-png.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png.argb32.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.base.argb32.ref.png b/test/reference/create-from-png.base.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.base.rgb24.ref.png b/test/reference/create-from-png.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.egl.argb32.ref.png b/test/reference/create-from-png.egl.argb32.ref.png
deleted file mode 100644 (file)
index 21465ce..0000000
Binary files a/test/reference/create-from-png.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.gray-alpha.ref.png b/test/reference/create-from-png.gray-alpha.ref.png
deleted file mode 100644 (file)
index f5d47dc..0000000
Binary files a/test/reference/create-from-png.gray-alpha.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.gray.ref.png b/test/reference/create-from-png.gray.ref.png
deleted file mode 100644 (file)
index 12dc90b..0000000
Binary files a/test/reference/create-from-png.gray.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.indexed-alpha.ref.png b/test/reference/create-from-png.indexed-alpha.ref.png
deleted file mode 100644 (file)
index 9f32c69..0000000
Binary files a/test/reference/create-from-png.indexed-alpha.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.indexed.ref.png b/test/reference/create-from-png.indexed.ref.png
deleted file mode 100644 (file)
index 6b1d713..0000000
Binary files a/test/reference/create-from-png.indexed.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.mask.argb32.ref.png b/test/reference/create-from-png.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.mask.rgb24.ref.png b/test/reference/create-from-png.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.ref.png b/test/reference/create-from-png.ref.png
deleted file mode 100644 (file)
index 5753560..0000000
Binary files a/test/reference/create-from-png.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.rgb24.ref.png b/test/reference/create-from-png.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.traps.argb32.ref.png b/test/reference/create-from-png.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/create-from-png.traps.rgb24.ref.png b/test/reference/create-from-png.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/create-from-png.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.argb32.ref.png b/test/reference/culled-glyphs.argb32.ref.png
deleted file mode 100644 (file)
index 6701295..0000000
Binary files a/test/reference/culled-glyphs.argb32.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.base.argb32.ref.png b/test/reference/culled-glyphs.base.argb32.ref.png
deleted file mode 100644 (file)
index 6701295..0000000
Binary files a/test/reference/culled-glyphs.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.base.rgb24.ref.png b/test/reference/culled-glyphs.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6701295..0000000
Binary files a/test/reference/culled-glyphs.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.image16.ref.png b/test/reference/culled-glyphs.image16.ref.png
deleted file mode 100644 (file)
index 724cb8f..0000000
Binary files a/test/reference/culled-glyphs.image16.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.mask.argb32.ref.png b/test/reference/culled-glyphs.mask.argb32.ref.png
deleted file mode 100644 (file)
index 6701295..0000000
Binary files a/test/reference/culled-glyphs.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.mask.rgb24.ref.png b/test/reference/culled-glyphs.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6701295..0000000
Binary files a/test/reference/culled-glyphs.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.ps.ref.png b/test/reference/culled-glyphs.ps.ref.png
deleted file mode 100644 (file)
index f34fb95..0000000
Binary files a/test/reference/culled-glyphs.ps.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.quartz.ref.png b/test/reference/culled-glyphs.quartz.ref.png
deleted file mode 100644 (file)
index 1aa2342..0000000
Binary files a/test/reference/culled-glyphs.quartz.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.ref.png b/test/reference/culled-glyphs.ref.png
deleted file mode 100644 (file)
index 753ed46..0000000
Binary files a/test/reference/culled-glyphs.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.rgb24.ref.png b/test/reference/culled-glyphs.rgb24.ref.png
deleted file mode 100644 (file)
index 6701295..0000000
Binary files a/test/reference/culled-glyphs.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.traps.argb32.ref.png b/test/reference/culled-glyphs.traps.argb32.ref.png
deleted file mode 100644 (file)
index 6701295..0000000
Binary files a/test/reference/culled-glyphs.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/culled-glyphs.traps.rgb24.ref.png b/test/reference/culled-glyphs.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6701295..0000000
Binary files a/test/reference/culled-glyphs.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.argb32.ref.png b/test/reference/curve-to-as-line-to.argb32.ref.png
deleted file mode 100644 (file)
index d241183..0000000
Binary files a/test/reference/curve-to-as-line-to.argb32.ref.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.base.argb32.ref.png b/test/reference/curve-to-as-line-to.base.argb32.ref.png
deleted file mode 100644 (file)
index d3cf32e..0000000
Binary files a/test/reference/curve-to-as-line-to.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.base.rgb24.ref.png b/test/reference/curve-to-as-line-to.base.rgb24.ref.png
deleted file mode 100644 (file)
index d3cf32e..0000000
Binary files a/test/reference/curve-to-as-line-to.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.egl.argb32.ref.png b/test/reference/curve-to-as-line-to.egl.argb32.ref.png
deleted file mode 100644 (file)
index d241183..0000000
Binary files a/test/reference/curve-to-as-line-to.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.mask.argb32.ref.png b/test/reference/curve-to-as-line-to.mask.argb32.ref.png
deleted file mode 100644 (file)
index d241183..0000000
Binary files a/test/reference/curve-to-as-line-to.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.mask.rgb24.ref.png b/test/reference/curve-to-as-line-to.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d241183..0000000
Binary files a/test/reference/curve-to-as-line-to.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.ps.xfail.png b/test/reference/curve-to-as-line-to.ps.xfail.png
deleted file mode 100644 (file)
index 3f31058..0000000
Binary files a/test/reference/curve-to-as-line-to.ps.xfail.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.ref.png b/test/reference/curve-to-as-line-to.ref.png
deleted file mode 100644 (file)
index 15589db..0000000
Binary files a/test/reference/curve-to-as-line-to.ref.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.rgb24.ref.png b/test/reference/curve-to-as-line-to.rgb24.ref.png
deleted file mode 100644 (file)
index d241183..0000000
Binary files a/test/reference/curve-to-as-line-to.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.traps.argb32.ref.png b/test/reference/curve-to-as-line-to.traps.argb32.ref.png
deleted file mode 100644 (file)
index d3cf32e..0000000
Binary files a/test/reference/curve-to-as-line-to.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/curve-to-as-line-to.traps.rgb24.ref.png b/test/reference/curve-to-as-line-to.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d3cf32e..0000000
Binary files a/test/reference/curve-to-as-line-to.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.argb32.ref.png b/test/reference/dash-caps-joins.argb32.ref.png
deleted file mode 100644 (file)
index b09b86f..0000000
Binary files a/test/reference/dash-caps-joins.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.base.argb32.ref.png b/test/reference/dash-caps-joins.base.argb32.ref.png
deleted file mode 100644 (file)
index 94f72e3..0000000
Binary files a/test/reference/dash-caps-joins.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.base.rgb24.ref.png b/test/reference/dash-caps-joins.base.rgb24.ref.png
deleted file mode 100644 (file)
index 94f72e3..0000000
Binary files a/test/reference/dash-caps-joins.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.egl.argb32.ref.png b/test/reference/dash-caps-joins.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0bc97c7..0000000
Binary files a/test/reference/dash-caps-joins.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.image16.ref.png b/test/reference/dash-caps-joins.image16.ref.png
deleted file mode 100644 (file)
index 1f8d048..0000000
Binary files a/test/reference/dash-caps-joins.image16.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.mask.argb32.ref.png b/test/reference/dash-caps-joins.mask.argb32.ref.png
deleted file mode 100644 (file)
index b09b86f..0000000
Binary files a/test/reference/dash-caps-joins.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.mask.rgb24.ref.png b/test/reference/dash-caps-joins.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b09b86f..0000000
Binary files a/test/reference/dash-caps-joins.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.ps.ref.png b/test/reference/dash-caps-joins.ps.ref.png
deleted file mode 100644 (file)
index 466bc62..0000000
Binary files a/test/reference/dash-caps-joins.ps.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.quartz.xfail.png b/test/reference/dash-caps-joins.quartz.xfail.png
deleted file mode 100644 (file)
index 0dc5433..0000000
Binary files a/test/reference/dash-caps-joins.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.ref.png b/test/reference/dash-caps-joins.ref.png
deleted file mode 100644 (file)
index db8822a..0000000
Binary files a/test/reference/dash-caps-joins.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.rgb24.ref.png b/test/reference/dash-caps-joins.rgb24.ref.png
deleted file mode 100644 (file)
index b09b86f..0000000
Binary files a/test/reference/dash-caps-joins.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.traps.argb32.ref.png b/test/reference/dash-caps-joins.traps.argb32.ref.png
deleted file mode 100644 (file)
index 94f72e3..0000000
Binary files a/test/reference/dash-caps-joins.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-caps-joins.traps.rgb24.ref.png b/test/reference/dash-caps-joins.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 94f72e3..0000000
Binary files a/test/reference/dash-caps-joins.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.argb32.ref.png b/test/reference/dash-curve.argb32.ref.png
deleted file mode 100644 (file)
index 8bebde2..0000000
Binary files a/test/reference/dash-curve.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.base.argb32.ref.png b/test/reference/dash-curve.base.argb32.ref.png
deleted file mode 100644 (file)
index 53976b7..0000000
Binary files a/test/reference/dash-curve.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.base.rgb24.ref.png b/test/reference/dash-curve.base.rgb24.ref.png
deleted file mode 100644 (file)
index 53976b7..0000000
Binary files a/test/reference/dash-curve.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.egl.argb32.ref.png b/test/reference/dash-curve.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9a4659f..0000000
Binary files a/test/reference/dash-curve.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.image16.ref.png b/test/reference/dash-curve.image16.ref.png
deleted file mode 100644 (file)
index d89ceda..0000000
Binary files a/test/reference/dash-curve.image16.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.mask.argb32.ref.png b/test/reference/dash-curve.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8bebde2..0000000
Binary files a/test/reference/dash-curve.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.mask.rgb24.ref.png b/test/reference/dash-curve.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8bebde2..0000000
Binary files a/test/reference/dash-curve.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.ps2.ref.png b/test/reference/dash-curve.ps2.ref.png
deleted file mode 100644 (file)
index ffb402f..0000000
Binary files a/test/reference/dash-curve.ps2.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.ps3.ref.png b/test/reference/dash-curve.ps3.ref.png
deleted file mode 100644 (file)
index ffb402f..0000000
Binary files a/test/reference/dash-curve.ps3.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.quartz.xfail.png b/test/reference/dash-curve.quartz.xfail.png
deleted file mode 100644 (file)
index b68d7a7..0000000
Binary files a/test/reference/dash-curve.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/dash-curve.ref.png b/test/reference/dash-curve.ref.png
deleted file mode 100644 (file)
index b98c118..0000000
Binary files a/test/reference/dash-curve.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.rgb24.ref.png b/test/reference/dash-curve.rgb24.ref.png
deleted file mode 100644 (file)
index 8bebde2..0000000
Binary files a/test/reference/dash-curve.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.traps.argb32.ref.png b/test/reference/dash-curve.traps.argb32.ref.png
deleted file mode 100644 (file)
index 53976b7..0000000
Binary files a/test/reference/dash-curve.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.traps.rgb24.ref.png b/test/reference/dash-curve.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 53976b7..0000000
Binary files a/test/reference/dash-curve.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.argb32.ref.png b/test/reference/dash-infinite-loop.argb32.ref.png
deleted file mode 100644 (file)
index 2ae1717..0000000
Binary files a/test/reference/dash-infinite-loop.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.base.argb32.ref.png b/test/reference/dash-infinite-loop.base.argb32.ref.png
deleted file mode 100644 (file)
index a12aa94..0000000
Binary files a/test/reference/dash-infinite-loop.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.base.rgb24.ref.png b/test/reference/dash-infinite-loop.base.rgb24.ref.png
deleted file mode 100644 (file)
index a12aa94..0000000
Binary files a/test/reference/dash-infinite-loop.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.egl.argb32.ref.png b/test/reference/dash-infinite-loop.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4e6973d..0000000
Binary files a/test/reference/dash-infinite-loop.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.mask.argb32.ref.png b/test/reference/dash-infinite-loop.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2ae1717..0000000
Binary files a/test/reference/dash-infinite-loop.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.mask.rgb24.ref.png b/test/reference/dash-infinite-loop.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2ae1717..0000000
Binary files a/test/reference/dash-infinite-loop.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.ps.ref.png b/test/reference/dash-infinite-loop.ps.ref.png
deleted file mode 100644 (file)
index bab313a..0000000
Binary files a/test/reference/dash-infinite-loop.ps.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.ref.png b/test/reference/dash-infinite-loop.ref.png
deleted file mode 100644 (file)
index 4a44e22..0000000
Binary files a/test/reference/dash-infinite-loop.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.rgb24.ref.png b/test/reference/dash-infinite-loop.rgb24.ref.png
deleted file mode 100644 (file)
index 2ae1717..0000000
Binary files a/test/reference/dash-infinite-loop.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.traps.argb32.ref.png b/test/reference/dash-infinite-loop.traps.argb32.ref.png
deleted file mode 100644 (file)
index a12aa94..0000000
Binary files a/test/reference/dash-infinite-loop.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-infinite-loop.traps.rgb24.ref.png b/test/reference/dash-infinite-loop.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a12aa94..0000000
Binary files a/test/reference/dash-infinite-loop.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-no-dash.argb32.ref.png b/test/reference/dash-no-dash.argb32.ref.png
deleted file mode 100644 (file)
index c150a4f..0000000
Binary files a/test/reference/dash-no-dash.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-no-dash.base.argb32.ref.png b/test/reference/dash-no-dash.base.argb32.ref.png
deleted file mode 100644 (file)
index c150a4f..0000000
Binary files a/test/reference/dash-no-dash.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-no-dash.base.rgb24.ref.png b/test/reference/dash-no-dash.base.rgb24.ref.png
deleted file mode 100644 (file)
index c150a4f..0000000
Binary files a/test/reference/dash-no-dash.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-no-dash.egl.argb32.ref.png b/test/reference/dash-no-dash.egl.argb32.ref.png
deleted file mode 100644 (file)
index c150a4f..0000000
Binary files a/test/reference/dash-no-dash.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-no-dash.mask.argb32.ref.png b/test/reference/dash-no-dash.mask.argb32.ref.png
deleted file mode 100644 (file)
index c150a4f..0000000
Binary files a/test/reference/dash-no-dash.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-no-dash.mask.rgb24.ref.png b/test/reference/dash-no-dash.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c150a4f..0000000
Binary files a/test/reference/dash-no-dash.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-no-dash.ref.png b/test/reference/dash-no-dash.ref.png
deleted file mode 100644 (file)
index 9afd045..0000000
Binary files a/test/reference/dash-no-dash.ref.png and /dev/null differ
diff --git a/test/reference/dash-no-dash.rgb24.ref.png b/test/reference/dash-no-dash.rgb24.ref.png
deleted file mode 100644 (file)
index c150a4f..0000000
Binary files a/test/reference/dash-no-dash.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-no-dash.traps.argb32.ref.png b/test/reference/dash-no-dash.traps.argb32.ref.png
deleted file mode 100644 (file)
index c150a4f..0000000
Binary files a/test/reference/dash-no-dash.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-no-dash.traps.rgb24.ref.png b/test/reference/dash-no-dash.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c150a4f..0000000
Binary files a/test/reference/dash-no-dash.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.argb32.ref.png b/test/reference/dash-offset-negative.argb32.ref.png
deleted file mode 100644 (file)
index df22d08..0000000
Binary files a/test/reference/dash-offset-negative.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.base.argb32.ref.png b/test/reference/dash-offset-negative.base.argb32.ref.png
deleted file mode 100644 (file)
index 77b9291..0000000
Binary files a/test/reference/dash-offset-negative.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.base.rgb24.ref.png b/test/reference/dash-offset-negative.base.rgb24.ref.png
deleted file mode 100644 (file)
index 77b9291..0000000
Binary files a/test/reference/dash-offset-negative.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.egl.argb32.ref.png b/test/reference/dash-offset-negative.egl.argb32.ref.png
deleted file mode 100644 (file)
index df22d08..0000000
Binary files a/test/reference/dash-offset-negative.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.mask.argb32.ref.png b/test/reference/dash-offset-negative.mask.argb32.ref.png
deleted file mode 100644 (file)
index df22d08..0000000
Binary files a/test/reference/dash-offset-negative.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.mask.rgb24.ref.png b/test/reference/dash-offset-negative.mask.rgb24.ref.png
deleted file mode 100644 (file)
index df22d08..0000000
Binary files a/test/reference/dash-offset-negative.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.pdf.ref.png b/test/reference/dash-offset-negative.pdf.ref.png
deleted file mode 100644 (file)
index df22d08..0000000
Binary files a/test/reference/dash-offset-negative.pdf.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.ref.png b/test/reference/dash-offset-negative.ref.png
deleted file mode 100644 (file)
index f2b8007..0000000
Binary files a/test/reference/dash-offset-negative.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.rgb24.ref.png b/test/reference/dash-offset-negative.rgb24.ref.png
deleted file mode 100644 (file)
index df22d08..0000000
Binary files a/test/reference/dash-offset-negative.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.traps.argb32.ref.png b/test/reference/dash-offset-negative.traps.argb32.ref.png
deleted file mode 100644 (file)
index 77b9291..0000000
Binary files a/test/reference/dash-offset-negative.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset-negative.traps.rgb24.ref.png b/test/reference/dash-offset-negative.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 77b9291..0000000
Binary files a/test/reference/dash-offset-negative.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset.argb32.ref.png b/test/reference/dash-offset.argb32.ref.png
deleted file mode 100644 (file)
index 52600c4..0000000
Binary files a/test/reference/dash-offset.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset.base.argb32.ref.png b/test/reference/dash-offset.base.argb32.ref.png
deleted file mode 100644 (file)
index 52600c4..0000000
Binary files a/test/reference/dash-offset.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset.base.rgb24.ref.png b/test/reference/dash-offset.base.rgb24.ref.png
deleted file mode 100644 (file)
index 52600c4..0000000
Binary files a/test/reference/dash-offset.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset.egl.argb32.ref.png b/test/reference/dash-offset.egl.argb32.ref.png
deleted file mode 100644 (file)
index 52600c4..0000000
Binary files a/test/reference/dash-offset.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset.mask.argb32.ref.png b/test/reference/dash-offset.mask.argb32.ref.png
deleted file mode 100644 (file)
index 52600c4..0000000
Binary files a/test/reference/dash-offset.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset.mask.rgb24.ref.png b/test/reference/dash-offset.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 52600c4..0000000
Binary files a/test/reference/dash-offset.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset.ref.png b/test/reference/dash-offset.ref.png
deleted file mode 100644 (file)
index 52600c4..0000000
Binary files a/test/reference/dash-offset.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset.rgb24.ref.png b/test/reference/dash-offset.rgb24.ref.png
deleted file mode 100644 (file)
index 52600c4..0000000
Binary files a/test/reference/dash-offset.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset.traps.argb32.ref.png b/test/reference/dash-offset.traps.argb32.ref.png
deleted file mode 100644 (file)
index 52600c4..0000000
Binary files a/test/reference/dash-offset.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-offset.traps.rgb24.ref.png b/test/reference/dash-offset.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 52600c4..0000000
Binary files a/test/reference/dash-offset.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.argb32.ref.png b/test/reference/dash-scale.argb32.ref.png
deleted file mode 100644 (file)
index deef9dc..0000000
Binary files a/test/reference/dash-scale.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.base.argb32.ref.png b/test/reference/dash-scale.base.argb32.ref.png
deleted file mode 100644 (file)
index 46fe785..0000000
Binary files a/test/reference/dash-scale.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.base.rgb24.ref.png b/test/reference/dash-scale.base.rgb24.ref.png
deleted file mode 100644 (file)
index 46fe785..0000000
Binary files a/test/reference/dash-scale.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.egl.argb32.ref.png b/test/reference/dash-scale.egl.argb32.ref.png
deleted file mode 100644 (file)
index 61d7bb8..0000000
Binary files a/test/reference/dash-scale.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.image16.ref.png b/test/reference/dash-scale.image16.ref.png
deleted file mode 100644 (file)
index 2b4fca5..0000000
Binary files a/test/reference/dash-scale.image16.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.mask.argb32.ref.png b/test/reference/dash-scale.mask.argb32.ref.png
deleted file mode 100644 (file)
index deef9dc..0000000
Binary files a/test/reference/dash-scale.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.mask.rgb24.ref.png b/test/reference/dash-scale.mask.rgb24.ref.png
deleted file mode 100644 (file)
index deef9dc..0000000
Binary files a/test/reference/dash-scale.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.ps.ref.png b/test/reference/dash-scale.ps.ref.png
deleted file mode 100644 (file)
index f8c2527..0000000
Binary files a/test/reference/dash-scale.ps.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.quartz.ref.png b/test/reference/dash-scale.quartz.ref.png
deleted file mode 100644 (file)
index 62ccdf5..0000000
Binary files a/test/reference/dash-scale.quartz.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.ref.png b/test/reference/dash-scale.ref.png
deleted file mode 100644 (file)
index e2a2538..0000000
Binary files a/test/reference/dash-scale.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.rgb24.ref.png b/test/reference/dash-scale.rgb24.ref.png
deleted file mode 100644 (file)
index deef9dc..0000000
Binary files a/test/reference/dash-scale.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.traps.argb32.ref.png b/test/reference/dash-scale.traps.argb32.ref.png
deleted file mode 100644 (file)
index 46fe785..0000000
Binary files a/test/reference/dash-scale.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-scale.traps.rgb24.ref.png b/test/reference/dash-scale.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 46fe785..0000000
Binary files a/test/reference/dash-scale.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.argb32.ref.png b/test/reference/dash-state.argb32.ref.png
deleted file mode 100644 (file)
index 31551cf..0000000
Binary files a/test/reference/dash-state.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.base.argb32.ref.png b/test/reference/dash-state.base.argb32.ref.png
deleted file mode 100644 (file)
index 04c2eb0..0000000
Binary files a/test/reference/dash-state.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.base.rgb24.ref.png b/test/reference/dash-state.base.rgb24.ref.png
deleted file mode 100644 (file)
index 04c2eb0..0000000
Binary files a/test/reference/dash-state.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.egl.argb32.ref.png b/test/reference/dash-state.egl.argb32.ref.png
deleted file mode 100644 (file)
index de99b14..0000000
Binary files a/test/reference/dash-state.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.image16.ref.png b/test/reference/dash-state.image16.ref.png
deleted file mode 100644 (file)
index 07c77da..0000000
Binary files a/test/reference/dash-state.image16.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.mask.argb32.ref.png b/test/reference/dash-state.mask.argb32.ref.png
deleted file mode 100644 (file)
index 31551cf..0000000
Binary files a/test/reference/dash-state.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.mask.rgb24.ref.png b/test/reference/dash-state.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 31551cf..0000000
Binary files a/test/reference/dash-state.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.ps2.ref.png b/test/reference/dash-state.ps2.ref.png
deleted file mode 100644 (file)
index 88e208c..0000000
Binary files a/test/reference/dash-state.ps2.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.ps3.ref.png b/test/reference/dash-state.ps3.ref.png
deleted file mode 100644 (file)
index 88e208c..0000000
Binary files a/test/reference/dash-state.ps3.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.quartz.xfail.png b/test/reference/dash-state.quartz.xfail.png
deleted file mode 100644 (file)
index 993498c..0000000
Binary files a/test/reference/dash-state.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/dash-state.ref.png b/test/reference/dash-state.ref.png
deleted file mode 100644 (file)
index 06c8bbc..0000000
Binary files a/test/reference/dash-state.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.rgb24.ref.png b/test/reference/dash-state.rgb24.ref.png
deleted file mode 100644 (file)
index 31551cf..0000000
Binary files a/test/reference/dash-state.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.traps.argb32.ref.png b/test/reference/dash-state.traps.argb32.ref.png
deleted file mode 100644 (file)
index 04c2eb0..0000000
Binary files a/test/reference/dash-state.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-state.traps.rgb24.ref.png b/test/reference/dash-state.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 04c2eb0..0000000
Binary files a/test/reference/dash-state.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.argb32.ref.png b/test/reference/dash-zero-length.argb32.ref.png
deleted file mode 100644 (file)
index fdc5f5e..0000000
Binary files a/test/reference/dash-zero-length.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.base.argb32.ref.png b/test/reference/dash-zero-length.base.argb32.ref.png
deleted file mode 100644 (file)
index 3ed0c85..0000000
Binary files a/test/reference/dash-zero-length.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.base.rgb24.ref.png b/test/reference/dash-zero-length.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0aae369..0000000
Binary files a/test/reference/dash-zero-length.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.egl.argb32.ref.png b/test/reference/dash-zero-length.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4d61657..0000000
Binary files a/test/reference/dash-zero-length.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.mask.argb32.ref.png b/test/reference/dash-zero-length.mask.argb32.ref.png
deleted file mode 100644 (file)
index fdc5f5e..0000000
Binary files a/test/reference/dash-zero-length.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.mask.rgb24.ref.png b/test/reference/dash-zero-length.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b14bd8d..0000000
Binary files a/test/reference/dash-zero-length.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.ps2.ref.png b/test/reference/dash-zero-length.ps2.ref.png
deleted file mode 100644 (file)
index 68fd3fb..0000000
Binary files a/test/reference/dash-zero-length.ps2.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.ps2.rgb24.ref.png b/test/reference/dash-zero-length.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index 8a4a40f..0000000
Binary files a/test/reference/dash-zero-length.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.ps3.ref.png b/test/reference/dash-zero-length.ps3.ref.png
deleted file mode 100644 (file)
index 68fd3fb..0000000
Binary files a/test/reference/dash-zero-length.ps3.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.ps3.rgb24.ref.png b/test/reference/dash-zero-length.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index 8a4a40f..0000000
Binary files a/test/reference/dash-zero-length.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.ref.png b/test/reference/dash-zero-length.ref.png
deleted file mode 100644 (file)
index 9ddd40f..0000000
Binary files a/test/reference/dash-zero-length.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.rgb24.ref.png b/test/reference/dash-zero-length.rgb24.ref.png
deleted file mode 100644 (file)
index b14bd8d..0000000
Binary files a/test/reference/dash-zero-length.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.traps.argb32.ref.png b/test/reference/dash-zero-length.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3ed0c85..0000000
Binary files a/test/reference/dash-zero-length.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/dash-zero-length.traps.rgb24.ref.png b/test/reference/dash-zero-length.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0aae369..0000000
Binary files a/test/reference/dash-zero-length.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.base.argb32.ref.png b/test/reference/degenerate-arc.base.argb32.ref.png
deleted file mode 100644 (file)
index 73d41af..0000000
Binary files a/test/reference/degenerate-arc.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.base.rgb24.ref.png b/test/reference/degenerate-arc.base.rgb24.ref.png
deleted file mode 100644 (file)
index 73d41af..0000000
Binary files a/test/reference/degenerate-arc.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.egl.argb32.ref.png b/test/reference/degenerate-arc.egl.argb32.ref.png
deleted file mode 100644 (file)
index bb425ff..0000000
Binary files a/test/reference/degenerate-arc.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.image16.ref.png b/test/reference/degenerate-arc.image16.ref.png
deleted file mode 100644 (file)
index 690e4a4..0000000
Binary files a/test/reference/degenerate-arc.image16.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.mask.argb32.ref.png b/test/reference/degenerate-arc.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4da4fd6..0000000
Binary files a/test/reference/degenerate-arc.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.mask.rgb24.ref.png b/test/reference/degenerate-arc.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4da4fd6..0000000
Binary files a/test/reference/degenerate-arc.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.ps2.ref.png b/test/reference/degenerate-arc.ps2.ref.png
deleted file mode 100644 (file)
index f6d9134..0000000
Binary files a/test/reference/degenerate-arc.ps2.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.ps3.ref.png b/test/reference/degenerate-arc.ps3.ref.png
deleted file mode 100644 (file)
index f6d9134..0000000
Binary files a/test/reference/degenerate-arc.ps3.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.quartz.ref.png b/test/reference/degenerate-arc.quartz.ref.png
deleted file mode 100644 (file)
index a43f6c9..0000000
Binary files a/test/reference/degenerate-arc.quartz.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.ref.png b/test/reference/degenerate-arc.ref.png
deleted file mode 100644 (file)
index d83e2c7..0000000
Binary files a/test/reference/degenerate-arc.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.traps.argb32.ref.png b/test/reference/degenerate-arc.traps.argb32.ref.png
deleted file mode 100644 (file)
index 73d41af..0000000
Binary files a/test/reference/degenerate-arc.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.traps.rgb24.ref.png b/test/reference/degenerate-arc.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 73d41af..0000000
Binary files a/test/reference/degenerate-arc.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.argb32.ref.png b/test/reference/degenerate-arcs.argb32.ref.png
deleted file mode 100644 (file)
index fc1869d..0000000
Binary files a/test/reference/degenerate-arcs.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.base.argb32.ref.png b/test/reference/degenerate-arcs.base.argb32.ref.png
deleted file mode 100644 (file)
index fc1869d..0000000
Binary files a/test/reference/degenerate-arcs.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.base.rgb24.ref.png b/test/reference/degenerate-arcs.base.rgb24.ref.png
deleted file mode 100644 (file)
index fc1869d..0000000
Binary files a/test/reference/degenerate-arcs.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.egl.argb32.ref.png b/test/reference/degenerate-arcs.egl.argb32.ref.png
deleted file mode 100644 (file)
index a80a3ef..0000000
Binary files a/test/reference/degenerate-arcs.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.image16.ref.png b/test/reference/degenerate-arcs.image16.ref.png
deleted file mode 100644 (file)
index 595cb7b..0000000
Binary files a/test/reference/degenerate-arcs.image16.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.mask.argb32.ref.png b/test/reference/degenerate-arcs.mask.argb32.ref.png
deleted file mode 100644 (file)
index fc1869d..0000000
Binary files a/test/reference/degenerate-arcs.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.mask.rgb24.ref.png b/test/reference/degenerate-arcs.mask.rgb24.ref.png
deleted file mode 100644 (file)
index fc1869d..0000000
Binary files a/test/reference/degenerate-arcs.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.ref.png b/test/reference/degenerate-arcs.ref.png
deleted file mode 100644 (file)
index fc1869d..0000000
Binary files a/test/reference/degenerate-arcs.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.rgb24.ref.png b/test/reference/degenerate-arcs.rgb24.ref.png
deleted file mode 100644 (file)
index fc1869d..0000000
Binary files a/test/reference/degenerate-arcs.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.traps.argb32.ref.png b/test/reference/degenerate-arcs.traps.argb32.ref.png
deleted file mode 100644 (file)
index fc1869d..0000000
Binary files a/test/reference/degenerate-arcs.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arcs.traps.rgb24.ref.png b/test/reference/degenerate-arcs.traps.rgb24.ref.png
deleted file mode 100644 (file)
index fc1869d..0000000
Binary files a/test/reference/degenerate-arcs.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.argb32.ref.png b/test/reference/degenerate-curve-to.argb32.ref.png
deleted file mode 100644 (file)
index 18ab11e..0000000
Binary files a/test/reference/degenerate-curve-to.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.base.argb32.ref.png b/test/reference/degenerate-curve-to.base.argb32.ref.png
deleted file mode 100644 (file)
index fc26b00..0000000
Binary files a/test/reference/degenerate-curve-to.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.base.rgb24.ref.png b/test/reference/degenerate-curve-to.base.rgb24.ref.png
deleted file mode 100644 (file)
index fc26b00..0000000
Binary files a/test/reference/degenerate-curve-to.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.egl.argb32.ref.png b/test/reference/degenerate-curve-to.egl.argb32.ref.png
deleted file mode 100644 (file)
index 18ab11e..0000000
Binary files a/test/reference/degenerate-curve-to.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.image16.ref.png b/test/reference/degenerate-curve-to.image16.ref.png
deleted file mode 100644 (file)
index 8036d0f..0000000
Binary files a/test/reference/degenerate-curve-to.image16.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.mask.argb32.ref.png b/test/reference/degenerate-curve-to.mask.argb32.ref.png
deleted file mode 100644 (file)
index 18ab11e..0000000
Binary files a/test/reference/degenerate-curve-to.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.mask.rgb24.ref.png b/test/reference/degenerate-curve-to.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 18ab11e..0000000
Binary files a/test/reference/degenerate-curve-to.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.ps.xfail.png b/test/reference/degenerate-curve-to.ps.xfail.png
deleted file mode 100644 (file)
index 1c07965..0000000
Binary files a/test/reference/degenerate-curve-to.ps.xfail.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.quartz.ref.png b/test/reference/degenerate-curve-to.quartz.ref.png
deleted file mode 100644 (file)
index 0448343..0000000
Binary files a/test/reference/degenerate-curve-to.quartz.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.ref.png b/test/reference/degenerate-curve-to.ref.png
deleted file mode 100644 (file)
index 57a36c3..0000000
Binary files a/test/reference/degenerate-curve-to.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.rgb24.ref.png b/test/reference/degenerate-curve-to.rgb24.ref.png
deleted file mode 100644 (file)
index 18ab11e..0000000
Binary files a/test/reference/degenerate-curve-to.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.traps.argb32.ref.png b/test/reference/degenerate-curve-to.traps.argb32.ref.png
deleted file mode 100644 (file)
index fc26b00..0000000
Binary files a/test/reference/degenerate-curve-to.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-curve-to.traps.rgb24.ref.png b/test/reference/degenerate-curve-to.traps.rgb24.ref.png
deleted file mode 100644 (file)
index fc26b00..0000000
Binary files a/test/reference/degenerate-curve-to.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.argb32.ref.png b/test/reference/degenerate-dash.argb32.ref.png
deleted file mode 100644 (file)
index 2ddfc8b..0000000
Binary files a/test/reference/degenerate-dash.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.base.argb32.ref.png b/test/reference/degenerate-dash.base.argb32.ref.png
deleted file mode 100644 (file)
index 4f9a5a0..0000000
Binary files a/test/reference/degenerate-dash.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.base.rgb24.ref.png b/test/reference/degenerate-dash.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4f9a5a0..0000000
Binary files a/test/reference/degenerate-dash.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.egl.argb32.ref.png b/test/reference/degenerate-dash.egl.argb32.ref.png
deleted file mode 100644 (file)
index eba9966..0000000
Binary files a/test/reference/degenerate-dash.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.mask.argb32.ref.png b/test/reference/degenerate-dash.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2ddfc8b..0000000
Binary files a/test/reference/degenerate-dash.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.mask.rgb24.ref.png b/test/reference/degenerate-dash.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2ddfc8b..0000000
Binary files a/test/reference/degenerate-dash.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.ps.xfail.png b/test/reference/degenerate-dash.ps.xfail.png
deleted file mode 100644 (file)
index d5f8884..0000000
Binary files a/test/reference/degenerate-dash.ps.xfail.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.quartz.xfail.png b/test/reference/degenerate-dash.quartz.xfail.png
deleted file mode 100644 (file)
index 594437c..0000000
Binary files a/test/reference/degenerate-dash.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.ref.png b/test/reference/degenerate-dash.ref.png
deleted file mode 100644 (file)
index 523eb1a..0000000
Binary files a/test/reference/degenerate-dash.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.rgb24.ref.png b/test/reference/degenerate-dash.rgb24.ref.png
deleted file mode 100644 (file)
index 2ddfc8b..0000000
Binary files a/test/reference/degenerate-dash.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.traps.argb32.ref.png b/test/reference/degenerate-dash.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4f9a5a0..0000000
Binary files a/test/reference/degenerate-dash.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.traps.rgb24.ref.png b/test/reference/degenerate-dash.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4f9a5a0..0000000
Binary files a/test/reference/degenerate-dash.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-linear-gradient.argb32.ref.png b/test/reference/degenerate-linear-gradient.argb32.ref.png
deleted file mode 100644 (file)
index ceed48a..0000000
Binary files a/test/reference/degenerate-linear-gradient.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-linear-gradient.base.argb32.ref.png b/test/reference/degenerate-linear-gradient.base.argb32.ref.png
deleted file mode 100644 (file)
index ceed48a..0000000
Binary files a/test/reference/degenerate-linear-gradient.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-linear-gradient.base.rgb24.ref.png b/test/reference/degenerate-linear-gradient.base.rgb24.ref.png
deleted file mode 100644 (file)
index ceed48a..0000000
Binary files a/test/reference/degenerate-linear-gradient.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-linear-gradient.egl.argb32.ref.png b/test/reference/degenerate-linear-gradient.egl.argb32.ref.png
deleted file mode 100644 (file)
index d0a838c..0000000
Binary files a/test/reference/degenerate-linear-gradient.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-linear-gradient.mask.argb32.ref.png b/test/reference/degenerate-linear-gradient.mask.argb32.ref.png
deleted file mode 100644 (file)
index ceed48a..0000000
Binary files a/test/reference/degenerate-linear-gradient.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-linear-gradient.mask.rgb24.ref.png b/test/reference/degenerate-linear-gradient.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ceed48a..0000000
Binary files a/test/reference/degenerate-linear-gradient.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-linear-gradient.ref.png b/test/reference/degenerate-linear-gradient.ref.png
deleted file mode 100644 (file)
index 1de7ca6..0000000
Binary files a/test/reference/degenerate-linear-gradient.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-linear-gradient.rgb24.ref.png b/test/reference/degenerate-linear-gradient.rgb24.ref.png
deleted file mode 100644 (file)
index ceed48a..0000000
Binary files a/test/reference/degenerate-linear-gradient.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-linear-gradient.traps.argb32.ref.png b/test/reference/degenerate-linear-gradient.traps.argb32.ref.png
deleted file mode 100644 (file)
index ceed48a..0000000
Binary files a/test/reference/degenerate-linear-gradient.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-linear-gradient.traps.rgb24.ref.png b/test/reference/degenerate-linear-gradient.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ceed48a..0000000
Binary files a/test/reference/degenerate-linear-gradient.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-path.argb32.ref.png b/test/reference/degenerate-path.argb32.ref.png
deleted file mode 100644 (file)
index 0459397..0000000
Binary files a/test/reference/degenerate-path.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-path.base.argb32.ref.png b/test/reference/degenerate-path.base.argb32.ref.png
deleted file mode 100644 (file)
index 42363ea..0000000
Binary files a/test/reference/degenerate-path.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-path.base.rgb24.ref.png b/test/reference/degenerate-path.base.rgb24.ref.png
deleted file mode 100644 (file)
index 45497d7..0000000
Binary files a/test/reference/degenerate-path.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-path.egl.argb32.ref.png b/test/reference/degenerate-path.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0459397..0000000
Binary files a/test/reference/degenerate-path.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-path.mask.argb32.ref.png b/test/reference/degenerate-path.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0459397..0000000
Binary files a/test/reference/degenerate-path.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-path.mask.rgb24.ref.png b/test/reference/degenerate-path.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 07fda63..0000000
Binary files a/test/reference/degenerate-path.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-path.ps.argb32.xfail.png b/test/reference/degenerate-path.ps.argb32.xfail.png
deleted file mode 100644 (file)
index 33d713c..0000000
Binary files a/test/reference/degenerate-path.ps.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/degenerate-path.ps.rgb24.xfail.png b/test/reference/degenerate-path.ps.rgb24.xfail.png
deleted file mode 100644 (file)
index e73f314..0000000
Binary files a/test/reference/degenerate-path.ps.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/degenerate-path.quartz.argb32.xfail.png b/test/reference/degenerate-path.quartz.argb32.xfail.png
deleted file mode 100644 (file)
index d655e27..0000000
Binary files a/test/reference/degenerate-path.quartz.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/degenerate-path.quartz.rgb24.xfail.png b/test/reference/degenerate-path.quartz.rgb24.xfail.png
deleted file mode 100644 (file)
index 5256951..0000000
Binary files a/test/reference/degenerate-path.quartz.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/degenerate-path.rgb24.ref.png b/test/reference/degenerate-path.rgb24.ref.png
deleted file mode 100644 (file)
index 07fda63..0000000
Binary files a/test/reference/degenerate-path.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-path.traps.argb32.ref.png b/test/reference/degenerate-path.traps.argb32.ref.png
deleted file mode 100644 (file)
index 42363ea..0000000
Binary files a/test/reference/degenerate-path.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-path.traps.rgb24.ref.png b/test/reference/degenerate-path.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 45497d7..0000000
Binary files a/test/reference/degenerate-path.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.argb32.ref.png b/test/reference/degenerate-pen.argb32.ref.png
deleted file mode 100644 (file)
index ea65d22..0000000
Binary files a/test/reference/degenerate-pen.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.base.argb32.ref.png b/test/reference/degenerate-pen.base.argb32.ref.png
deleted file mode 100644 (file)
index 103b858..0000000
Binary files a/test/reference/degenerate-pen.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.base.rgb24.ref.png b/test/reference/degenerate-pen.base.rgb24.ref.png
deleted file mode 100644 (file)
index 103b858..0000000
Binary files a/test/reference/degenerate-pen.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.egl.argb32.ref.png b/test/reference/degenerate-pen.egl.argb32.ref.png
deleted file mode 100644 (file)
index 84b3b4e..0000000
Binary files a/test/reference/degenerate-pen.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.image16.ref.png b/test/reference/degenerate-pen.image16.ref.png
deleted file mode 100644 (file)
index 5501127..0000000
Binary files a/test/reference/degenerate-pen.image16.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.mask.argb32.ref.png b/test/reference/degenerate-pen.mask.argb32.ref.png
deleted file mode 100644 (file)
index ea65d22..0000000
Binary files a/test/reference/degenerate-pen.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.mask.rgb24.ref.png b/test/reference/degenerate-pen.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ea65d22..0000000
Binary files a/test/reference/degenerate-pen.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.ps.ref.png b/test/reference/degenerate-pen.ps.ref.png
deleted file mode 100644 (file)
index 34d173b..0000000
Binary files a/test/reference/degenerate-pen.ps.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.ref.png b/test/reference/degenerate-pen.ref.png
deleted file mode 100644 (file)
index 0a28436..0000000
Binary files a/test/reference/degenerate-pen.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.rgb24.ref.png b/test/reference/degenerate-pen.rgb24.ref.png
deleted file mode 100644 (file)
index ea65d22..0000000
Binary files a/test/reference/degenerate-pen.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.traps.argb32.ref.png b/test/reference/degenerate-pen.traps.argb32.ref.png
deleted file mode 100644 (file)
index 103b858..0000000
Binary files a/test/reference/degenerate-pen.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.traps.rgb24.ref.png b/test/reference/degenerate-pen.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 103b858..0000000
Binary files a/test/reference/degenerate-pen.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-radial-gradient.argb32.ref.png b/test/reference/degenerate-radial-gradient.argb32.ref.png
deleted file mode 100644 (file)
index 9a5213b..0000000
Binary files a/test/reference/degenerate-radial-gradient.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-radial-gradient.base.argb32.ref.png b/test/reference/degenerate-radial-gradient.base.argb32.ref.png
deleted file mode 100644 (file)
index 9a5213b..0000000
Binary files a/test/reference/degenerate-radial-gradient.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-radial-gradient.base.rgb24.ref.png b/test/reference/degenerate-radial-gradient.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9a5213b..0000000
Binary files a/test/reference/degenerate-radial-gradient.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-radial-gradient.egl.argb32.ref.png b/test/reference/degenerate-radial-gradient.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9a5213b..0000000
Binary files a/test/reference/degenerate-radial-gradient.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-radial-gradient.mask.argb32.ref.png b/test/reference/degenerate-radial-gradient.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9a5213b..0000000
Binary files a/test/reference/degenerate-radial-gradient.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-radial-gradient.mask.rgb24.ref.png b/test/reference/degenerate-radial-gradient.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9a5213b..0000000
Binary files a/test/reference/degenerate-radial-gradient.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-radial-gradient.ref.png b/test/reference/degenerate-radial-gradient.ref.png
deleted file mode 100644 (file)
index 9a5213b..0000000
Binary files a/test/reference/degenerate-radial-gradient.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-radial-gradient.rgb24.ref.png b/test/reference/degenerate-radial-gradient.rgb24.ref.png
deleted file mode 100644 (file)
index 9a5213b..0000000
Binary files a/test/reference/degenerate-radial-gradient.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-radial-gradient.traps.argb32.ref.png b/test/reference/degenerate-radial-gradient.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9a5213b..0000000
Binary files a/test/reference/degenerate-radial-gradient.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-radial-gradient.traps.rgb24.ref.png b/test/reference/degenerate-radial-gradient.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 9a5213b..0000000
Binary files a/test/reference/degenerate-radial-gradient.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.argb32.ref.png b/test/reference/degenerate-rel-curve-to.argb32.ref.png
deleted file mode 100644 (file)
index c4293ad..0000000
Binary files a/test/reference/degenerate-rel-curve-to.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.base.argb32.ref.png b/test/reference/degenerate-rel-curve-to.base.argb32.ref.png
deleted file mode 100644 (file)
index 73ad25c..0000000
Binary files a/test/reference/degenerate-rel-curve-to.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.base.rgb24.ref.png b/test/reference/degenerate-rel-curve-to.base.rgb24.ref.png
deleted file mode 100644 (file)
index 73ad25c..0000000
Binary files a/test/reference/degenerate-rel-curve-to.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.egl.argb32.ref.png b/test/reference/degenerate-rel-curve-to.egl.argb32.ref.png
deleted file mode 100644 (file)
index c4293ad..0000000
Binary files a/test/reference/degenerate-rel-curve-to.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.image16.ref.png b/test/reference/degenerate-rel-curve-to.image16.ref.png
deleted file mode 100644 (file)
index ece8943..0000000
Binary files a/test/reference/degenerate-rel-curve-to.image16.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.mask.argb32.ref.png b/test/reference/degenerate-rel-curve-to.mask.argb32.ref.png
deleted file mode 100644 (file)
index c4293ad..0000000
Binary files a/test/reference/degenerate-rel-curve-to.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.mask.rgb24.ref.png b/test/reference/degenerate-rel-curve-to.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c4293ad..0000000
Binary files a/test/reference/degenerate-rel-curve-to.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.ps.ref.png b/test/reference/degenerate-rel-curve-to.ps.ref.png
deleted file mode 100644 (file)
index 98a1fc9..0000000
Binary files a/test/reference/degenerate-rel-curve-to.ps.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.quartz.ref.png b/test/reference/degenerate-rel-curve-to.quartz.ref.png
deleted file mode 100644 (file)
index 2d21e04..0000000
Binary files a/test/reference/degenerate-rel-curve-to.quartz.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.ref.png b/test/reference/degenerate-rel-curve-to.ref.png
deleted file mode 100644 (file)
index 31b0eb4..0000000
Binary files a/test/reference/degenerate-rel-curve-to.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.rgb24.ref.png b/test/reference/degenerate-rel-curve-to.rgb24.ref.png
deleted file mode 100644 (file)
index c4293ad..0000000
Binary files a/test/reference/degenerate-rel-curve-to.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.traps.argb32.ref.png b/test/reference/degenerate-rel-curve-to.traps.argb32.ref.png
deleted file mode 100644 (file)
index 73ad25c..0000000
Binary files a/test/reference/degenerate-rel-curve-to.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-rel-curve-to.traps.rgb24.ref.png b/test/reference/degenerate-rel-curve-to.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 73ad25c..0000000
Binary files a/test/reference/degenerate-rel-curve-to.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-solid-dash.ref.png b/test/reference/degenerate-solid-dash.ref.png
deleted file mode 100644 (file)
index 9511289..0000000
Binary files a/test/reference/degenerate-solid-dash.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.argb32.ref.png b/test/reference/device-offset-fractional.argb32.ref.png
deleted file mode 100644 (file)
index b1eef5f..0000000
Binary files a/test/reference/device-offset-fractional.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.base.argb32.ref.png b/test/reference/device-offset-fractional.base.argb32.ref.png
deleted file mode 100644 (file)
index b1eef5f..0000000
Binary files a/test/reference/device-offset-fractional.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.base.rgb24.ref.png b/test/reference/device-offset-fractional.base.rgb24.ref.png
deleted file mode 100644 (file)
index b1eef5f..0000000
Binary files a/test/reference/device-offset-fractional.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.egl.argb32.ref.png b/test/reference/device-offset-fractional.egl.argb32.ref.png
deleted file mode 100644 (file)
index 62ca7f6..0000000
Binary files a/test/reference/device-offset-fractional.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.gl.xfail.png b/test/reference/device-offset-fractional.gl.xfail.png
deleted file mode 100644 (file)
index 96b0a6a..0000000
Binary files a/test/reference/device-offset-fractional.gl.xfail.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.mask.argb32.ref.png b/test/reference/device-offset-fractional.mask.argb32.ref.png
deleted file mode 100644 (file)
index b1eef5f..0000000
Binary files a/test/reference/device-offset-fractional.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.mask.rgb24.ref.png b/test/reference/device-offset-fractional.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b1eef5f..0000000
Binary files a/test/reference/device-offset-fractional.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.pdf.xfail.png b/test/reference/device-offset-fractional.pdf.xfail.png
deleted file mode 100644 (file)
index 50bbd34..0000000
Binary files a/test/reference/device-offset-fractional.pdf.xfail.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.ps2.ref.png b/test/reference/device-offset-fractional.ps2.ref.png
deleted file mode 100644 (file)
index 5b44082..0000000
Binary files a/test/reference/device-offset-fractional.ps2.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.ps3.ref.png b/test/reference/device-offset-fractional.ps3.ref.png
deleted file mode 100644 (file)
index 5b44082..0000000
Binary files a/test/reference/device-offset-fractional.ps3.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.ref.png b/test/reference/device-offset-fractional.ref.png
deleted file mode 100644 (file)
index 9250d33..0000000
Binary files a/test/reference/device-offset-fractional.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.rgb24.ref.png b/test/reference/device-offset-fractional.rgb24.ref.png
deleted file mode 100644 (file)
index b1eef5f..0000000
Binary files a/test/reference/device-offset-fractional.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.traps.argb32.ref.png b/test/reference/device-offset-fractional.traps.argb32.ref.png
deleted file mode 100644 (file)
index b1eef5f..0000000
Binary files a/test/reference/device-offset-fractional.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-fractional.traps.rgb24.ref.png b/test/reference/device-offset-fractional.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b1eef5f..0000000
Binary files a/test/reference/device-offset-fractional.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-positive.argb32.ref.png b/test/reference/device-offset-positive.argb32.ref.png
deleted file mode 100644 (file)
index 1115bca..0000000
Binary files a/test/reference/device-offset-positive.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-positive.base.argb32.ref.png b/test/reference/device-offset-positive.base.argb32.ref.png
deleted file mode 100644 (file)
index 1115bca..0000000
Binary files a/test/reference/device-offset-positive.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-positive.base.rgb24.ref.png b/test/reference/device-offset-positive.base.rgb24.ref.png
deleted file mode 100644 (file)
index dcdd332..0000000
Binary files a/test/reference/device-offset-positive.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-positive.egl.argb32.ref.png b/test/reference/device-offset-positive.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1115bca..0000000
Binary files a/test/reference/device-offset-positive.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-positive.mask.argb32.ref.png b/test/reference/device-offset-positive.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1115bca..0000000
Binary files a/test/reference/device-offset-positive.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-positive.mask.rgb24.ref.png b/test/reference/device-offset-positive.mask.rgb24.ref.png
deleted file mode 100644 (file)
index dcdd332..0000000
Binary files a/test/reference/device-offset-positive.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-positive.ref.png b/test/reference/device-offset-positive.ref.png
deleted file mode 100644 (file)
index bdf63af..0000000
Binary files a/test/reference/device-offset-positive.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-positive.rgb24.ref.png b/test/reference/device-offset-positive.rgb24.ref.png
deleted file mode 100644 (file)
index dcdd332..0000000
Binary files a/test/reference/device-offset-positive.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-positive.traps.argb32.ref.png b/test/reference/device-offset-positive.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1115bca..0000000
Binary files a/test/reference/device-offset-positive.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-positive.traps.rgb24.ref.png b/test/reference/device-offset-positive.traps.rgb24.ref.png
deleted file mode 100644 (file)
index dcdd332..0000000
Binary files a/test/reference/device-offset-positive.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.argb32.ref.png b/test/reference/device-offset-scale.argb32.ref.png
deleted file mode 100644 (file)
index fdffbf3..0000000
Binary files a/test/reference/device-offset-scale.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.base.argb32.ref.png b/test/reference/device-offset-scale.base.argb32.ref.png
deleted file mode 100644 (file)
index fdffbf3..0000000
Binary files a/test/reference/device-offset-scale.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.base.rgb24.ref.png b/test/reference/device-offset-scale.base.rgb24.ref.png
deleted file mode 100644 (file)
index fdffbf3..0000000
Binary files a/test/reference/device-offset-scale.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.egl.argb32.ref.png b/test/reference/device-offset-scale.egl.argb32.ref.png
deleted file mode 100644 (file)
index 30b0075..0000000
Binary files a/test/reference/device-offset-scale.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.mask.argb32.ref.png b/test/reference/device-offset-scale.mask.argb32.ref.png
deleted file mode 100644 (file)
index fdffbf3..0000000
Binary files a/test/reference/device-offset-scale.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.mask.rgb24.ref.png b/test/reference/device-offset-scale.mask.rgb24.ref.png
deleted file mode 100644 (file)
index fdffbf3..0000000
Binary files a/test/reference/device-offset-scale.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.ref.png b/test/reference/device-offset-scale.ref.png
deleted file mode 100644 (file)
index 66b2973..0000000
Binary files a/test/reference/device-offset-scale.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.rgb24.ref.png b/test/reference/device-offset-scale.rgb24.ref.png
deleted file mode 100644 (file)
index fdffbf3..0000000
Binary files a/test/reference/device-offset-scale.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.svg.xfail.png b/test/reference/device-offset-scale.svg.xfail.png
deleted file mode 100644 (file)
index 58a82d6..0000000
Binary files a/test/reference/device-offset-scale.svg.xfail.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.traps.argb32.ref.png b/test/reference/device-offset-scale.traps.argb32.ref.png
deleted file mode 100644 (file)
index fdffbf3..0000000
Binary files a/test/reference/device-offset-scale.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset-scale.traps.rgb24.ref.png b/test/reference/device-offset-scale.traps.rgb24.ref.png
deleted file mode 100644 (file)
index fdffbf3..0000000
Binary files a/test/reference/device-offset-scale.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset.argb32.ref.png b/test/reference/device-offset.argb32.ref.png
deleted file mode 100644 (file)
index 43ced46..0000000
Binary files a/test/reference/device-offset.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset.base.argb32.ref.png b/test/reference/device-offset.base.argb32.ref.png
deleted file mode 100644 (file)
index 43ced46..0000000
Binary files a/test/reference/device-offset.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset.base.rgb24.ref.png b/test/reference/device-offset.base.rgb24.ref.png
deleted file mode 100644 (file)
index f19acba..0000000
Binary files a/test/reference/device-offset.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset.egl.argb32.ref.png b/test/reference/device-offset.egl.argb32.ref.png
deleted file mode 100644 (file)
index 43ced46..0000000
Binary files a/test/reference/device-offset.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset.mask.argb32.ref.png b/test/reference/device-offset.mask.argb32.ref.png
deleted file mode 100644 (file)
index 43ced46..0000000
Binary files a/test/reference/device-offset.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset.mask.rgb24.ref.png b/test/reference/device-offset.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f19acba..0000000
Binary files a/test/reference/device-offset.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset.ref.png b/test/reference/device-offset.ref.png
deleted file mode 100644 (file)
index 22cbfb4..0000000
Binary files a/test/reference/device-offset.ref.png and /dev/null differ
diff --git a/test/reference/device-offset.rgb24.ref.png b/test/reference/device-offset.rgb24.ref.png
deleted file mode 100644 (file)
index f19acba..0000000
Binary files a/test/reference/device-offset.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/device-offset.traps.argb32.ref.png b/test/reference/device-offset.traps.argb32.ref.png
deleted file mode 100644 (file)
index 43ced46..0000000
Binary files a/test/reference/device-offset.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/device-offset.traps.rgb24.ref.png b/test/reference/device-offset.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f19acba..0000000
Binary files a/test/reference/device-offset.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.argb32.ref.png b/test/reference/drunkard-tails.argb32.ref.png
deleted file mode 100644 (file)
index 053e470..0000000
Binary files a/test/reference/drunkard-tails.argb32.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.base.argb32.ref.png b/test/reference/drunkard-tails.base.argb32.ref.png
deleted file mode 100644 (file)
index 71cb9af..0000000
Binary files a/test/reference/drunkard-tails.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.base.rgb24.ref.png b/test/reference/drunkard-tails.base.rgb24.ref.png
deleted file mode 100644 (file)
index 71cb9af..0000000
Binary files a/test/reference/drunkard-tails.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.egl.argb32.ref.png b/test/reference/drunkard-tails.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6061af7..0000000
Binary files a/test/reference/drunkard-tails.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.mask.argb32.ref.png b/test/reference/drunkard-tails.mask.argb32.ref.png
deleted file mode 100644 (file)
index 053e470..0000000
Binary files a/test/reference/drunkard-tails.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.mask.rgb24.ref.png b/test/reference/drunkard-tails.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 053e470..0000000
Binary files a/test/reference/drunkard-tails.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.ps.ref.png b/test/reference/drunkard-tails.ps.ref.png
deleted file mode 100644 (file)
index f68c8b5..0000000
Binary files a/test/reference/drunkard-tails.ps.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.ref.png b/test/reference/drunkard-tails.ref.png
deleted file mode 100644 (file)
index 9cd2314..0000000
Binary files a/test/reference/drunkard-tails.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.rgb24.ref.png b/test/reference/drunkard-tails.rgb24.ref.png
deleted file mode 100644 (file)
index 053e470..0000000
Binary files a/test/reference/drunkard-tails.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.traps.argb32.ref.png b/test/reference/drunkard-tails.traps.argb32.ref.png
deleted file mode 100644 (file)
index 71cb9af..0000000
Binary files a/test/reference/drunkard-tails.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/drunkard-tails.traps.rgb24.ref.png b/test/reference/drunkard-tails.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 71cb9af..0000000
Binary files a/test/reference/drunkard-tails.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.argb32.ref.png b/test/reference/extend-pad-border.argb32.ref.png
deleted file mode 100644 (file)
index f4fc524..0000000
Binary files a/test/reference/extend-pad-border.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.base.argb32.ref.png b/test/reference/extend-pad-border.base.argb32.ref.png
deleted file mode 100644 (file)
index f4fc524..0000000
Binary files a/test/reference/extend-pad-border.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.base.rgb24.ref.png b/test/reference/extend-pad-border.base.rgb24.ref.png
deleted file mode 100644 (file)
index f4fc524..0000000
Binary files a/test/reference/extend-pad-border.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.egl.argb32.ref.png b/test/reference/extend-pad-border.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4c39d9a..0000000
Binary files a/test/reference/extend-pad-border.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.image16.ref.png b/test/reference/extend-pad-border.image16.ref.png
deleted file mode 100644 (file)
index 2a1efd4..0000000
Binary files a/test/reference/extend-pad-border.image16.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.mask.argb32.ref.png b/test/reference/extend-pad-border.mask.argb32.ref.png
deleted file mode 100644 (file)
index f4fc524..0000000
Binary files a/test/reference/extend-pad-border.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.mask.rgb24.ref.png b/test/reference/extend-pad-border.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f4fc524..0000000
Binary files a/test/reference/extend-pad-border.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.pdf.ref.png b/test/reference/extend-pad-border.pdf.ref.png
deleted file mode 100644 (file)
index f4fc524..0000000
Binary files a/test/reference/extend-pad-border.pdf.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.ps.ref.png b/test/reference/extend-pad-border.ps.ref.png
deleted file mode 100644 (file)
index b1f4c40..0000000
Binary files a/test/reference/extend-pad-border.ps.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.quartz.ref.png b/test/reference/extend-pad-border.quartz.ref.png
deleted file mode 100644 (file)
index 4ad67a1..0000000
Binary files a/test/reference/extend-pad-border.quartz.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.ref.png b/test/reference/extend-pad-border.ref.png
deleted file mode 100644 (file)
index 9292f8b..0000000
Binary files a/test/reference/extend-pad-border.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.rgb24.ref.png b/test/reference/extend-pad-border.rgb24.ref.png
deleted file mode 100644 (file)
index f4fc524..0000000
Binary files a/test/reference/extend-pad-border.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.svg.xfail.png b/test/reference/extend-pad-border.svg.xfail.png
deleted file mode 100644 (file)
index 0fde36d..0000000
Binary files a/test/reference/extend-pad-border.svg.xfail.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.traps.argb32.ref.png b/test/reference/extend-pad-border.traps.argb32.ref.png
deleted file mode 100644 (file)
index f4fc524..0000000
Binary files a/test/reference/extend-pad-border.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-border.traps.rgb24.ref.png b/test/reference/extend-pad-border.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f4fc524..0000000
Binary files a/test/reference/extend-pad-border.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.argb32.ref.png b/test/reference/extend-pad-similar.argb32.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.base.argb32.ref.png b/test/reference/extend-pad-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.base.rgb24.ref.png b/test/reference/extend-pad-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.egl.argb32.ref.png b/test/reference/extend-pad-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.mask.argb32.ref.png b/test/reference/extend-pad-similar.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad-similar.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.mask.rgb24.ref.png b/test/reference/extend-pad-similar.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad-similar.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.quartz.xfail.png b/test/reference/extend-pad-similar.quartz.xfail.png
deleted file mode 100644 (file)
index a2cf353..0000000
Binary files a/test/reference/extend-pad-similar.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.ref.png b/test/reference/extend-pad-similar.ref.png
deleted file mode 100644 (file)
index 82da7b6..0000000
Binary files a/test/reference/extend-pad-similar.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.rgb24.ref.png b/test/reference/extend-pad-similar.rgb24.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.svg.xfail.png b/test/reference/extend-pad-similar.svg.xfail.png
deleted file mode 100644 (file)
index a2cf353..0000000
Binary files a/test/reference/extend-pad-similar.svg.xfail.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.traps.argb32.ref.png b/test/reference/extend-pad-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad-similar.traps.rgb24.ref.png b/test/reference/extend-pad-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.argb32.ref.png b/test/reference/extend-pad.argb32.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.base.argb32.ref.png b/test/reference/extend-pad.base.argb32.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.base.rgb24.ref.png b/test/reference/extend-pad.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.egl.argb32.ref.png b/test/reference/extend-pad.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.mask.argb32.ref.png b/test/reference/extend-pad.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.mask.rgb24.ref.png b/test/reference/extend-pad.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.ps.ref.png b/test/reference/extend-pad.ps.ref.png
deleted file mode 100644 (file)
index a249ee2..0000000
Binary files a/test/reference/extend-pad.ps.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.quartz.xfail.png b/test/reference/extend-pad.quartz.xfail.png
deleted file mode 100644 (file)
index a2cf353..0000000
Binary files a/test/reference/extend-pad.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/extend-pad.ref.png b/test/reference/extend-pad.ref.png
deleted file mode 100644 (file)
index 82da7b6..0000000
Binary files a/test/reference/extend-pad.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.rgb24.ref.png b/test/reference/extend-pad.rgb24.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.svg.xfail.png b/test/reference/extend-pad.svg.xfail.png
deleted file mode 100644 (file)
index a2cf353..0000000
Binary files a/test/reference/extend-pad.svg.xfail.png and /dev/null differ
diff --git a/test/reference/extend-pad.traps.argb32.ref.png b/test/reference/extend-pad.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-pad.traps.rgb24.ref.png b/test/reference/extend-pad.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 9345221..0000000
Binary files a/test/reference/extend-pad.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.argb32.ref.png b/test/reference/extend-reflect-similar.argb32.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.base.argb32.ref.png b/test/reference/extend-reflect-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.base.rgb24.ref.png b/test/reference/extend-reflect-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.egl.argb32.ref.png b/test/reference/extend-reflect-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index c6ece9a..0000000
Binary files a/test/reference/extend-reflect-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.image16.ref.png b/test/reference/extend-reflect-similar.image16.ref.png
deleted file mode 100644 (file)
index 27c6594..0000000
Binary files a/test/reference/extend-reflect-similar.image16.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.mask.argb32.ref.png b/test/reference/extend-reflect-similar.mask.argb32.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect-similar.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.mask.rgb24.ref.png b/test/reference/extend-reflect-similar.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect-similar.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.ps2.ref.png b/test/reference/extend-reflect-similar.ps2.ref.png
deleted file mode 100644 (file)
index acaee1b..0000000
Binary files a/test/reference/extend-reflect-similar.ps2.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.ps3.ref.png b/test/reference/extend-reflect-similar.ps3.ref.png
deleted file mode 100644 (file)
index acaee1b..0000000
Binary files a/test/reference/extend-reflect-similar.ps3.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.ref.png b/test/reference/extend-reflect-similar.ref.png
deleted file mode 100644 (file)
index 93a8b00..0000000
Binary files a/test/reference/extend-reflect-similar.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.rgb24.ref.png b/test/reference/extend-reflect-similar.rgb24.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.traps.argb32.ref.png b/test/reference/extend-reflect-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect-similar.traps.rgb24.ref.png b/test/reference/extend-reflect-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.argb32.ref.png b/test/reference/extend-reflect.argb32.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.base.argb32.ref.png b/test/reference/extend-reflect.base.argb32.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.base.rgb24.ref.png b/test/reference/extend-reflect.base.rgb24.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.egl.argb32.ref.png b/test/reference/extend-reflect.egl.argb32.ref.png
deleted file mode 100644 (file)
index f308426..0000000
Binary files a/test/reference/extend-reflect.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.image16.ref.png b/test/reference/extend-reflect.image16.ref.png
deleted file mode 100644 (file)
index 27c6594..0000000
Binary files a/test/reference/extend-reflect.image16.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.mask.argb32.ref.png b/test/reference/extend-reflect.mask.argb32.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.mask.rgb24.ref.png b/test/reference/extend-reflect.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.ps2.ref.png b/test/reference/extend-reflect.ps2.ref.png
deleted file mode 100644 (file)
index acaee1b..0000000
Binary files a/test/reference/extend-reflect.ps2.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.ps3.ref.png b/test/reference/extend-reflect.ps3.ref.png
deleted file mode 100644 (file)
index acaee1b..0000000
Binary files a/test/reference/extend-reflect.ps3.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.ref.png b/test/reference/extend-reflect.ref.png
deleted file mode 100644 (file)
index 93a8b00..0000000
Binary files a/test/reference/extend-reflect.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.rgb24.ref.png b/test/reference/extend-reflect.rgb24.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.traps.argb32.ref.png b/test/reference/extend-reflect.traps.argb32.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-reflect.traps.rgb24.ref.png b/test/reference/extend-reflect.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 5fc3448..0000000
Binary files a/test/reference/extend-reflect.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.argb32.ref.png b/test/reference/extend-repeat-similar.argb32.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.base.argb32.ref.png b/test/reference/extend-repeat-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.base.rgb24.ref.png b/test/reference/extend-repeat-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.egl.argb32.ref.png b/test/reference/extend-repeat-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index c6ece9a..0000000
Binary files a/test/reference/extend-repeat-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.image16.ref.png b/test/reference/extend-repeat-similar.image16.ref.png
deleted file mode 100644 (file)
index cdc742a..0000000
Binary files a/test/reference/extend-repeat-similar.image16.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.mask.argb32.ref.png b/test/reference/extend-repeat-similar.mask.argb32.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat-similar.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.mask.rgb24.ref.png b/test/reference/extend-repeat-similar.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat-similar.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.ps2.ref.png b/test/reference/extend-repeat-similar.ps2.ref.png
deleted file mode 100644 (file)
index 8218211..0000000
Binary files a/test/reference/extend-repeat-similar.ps2.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.ps3.ref.png b/test/reference/extend-repeat-similar.ps3.ref.png
deleted file mode 100644 (file)
index 8218211..0000000
Binary files a/test/reference/extend-repeat-similar.ps3.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.ref.png b/test/reference/extend-repeat-similar.ref.png
deleted file mode 100644 (file)
index ee2527f..0000000
Binary files a/test/reference/extend-repeat-similar.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.rgb24.ref.png b/test/reference/extend-repeat-similar.rgb24.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.traps.argb32.ref.png b/test/reference/extend-repeat-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat-similar.traps.rgb24.ref.png b/test/reference/extend-repeat-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.argb32.ref.png b/test/reference/extend-repeat.argb32.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.base.argb32.ref.png b/test/reference/extend-repeat.base.argb32.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.base.rgb24.ref.png b/test/reference/extend-repeat.base.rgb24.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.egl.argb32.ref.png b/test/reference/extend-repeat.egl.argb32.ref.png
deleted file mode 100644 (file)
index b4cc92e..0000000
Binary files a/test/reference/extend-repeat.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.image16.ref.png b/test/reference/extend-repeat.image16.ref.png
deleted file mode 100644 (file)
index cdc742a..0000000
Binary files a/test/reference/extend-repeat.image16.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.mask.argb32.ref.png b/test/reference/extend-repeat.mask.argb32.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.mask.rgb24.ref.png b/test/reference/extend-repeat.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.ps2.ref.png b/test/reference/extend-repeat.ps2.ref.png
deleted file mode 100644 (file)
index 8218211..0000000
Binary files a/test/reference/extend-repeat.ps2.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.ps3.ref.png b/test/reference/extend-repeat.ps3.ref.png
deleted file mode 100644 (file)
index 8218211..0000000
Binary files a/test/reference/extend-repeat.ps3.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.ref.png b/test/reference/extend-repeat.ref.png
deleted file mode 100644 (file)
index ee2527f..0000000
Binary files a/test/reference/extend-repeat.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.rgb24.ref.png b/test/reference/extend-repeat.rgb24.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.traps.argb32.ref.png b/test/reference/extend-repeat.traps.argb32.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extend-repeat.traps.rgb24.ref.png b/test/reference/extend-repeat.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 81f0503..0000000
Binary files a/test/reference/extend-repeat.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha-mask.argb32.ref.png b/test/reference/extended-blend-alpha-mask.argb32.ref.png
deleted file mode 100644 (file)
index a1dd2a9..0000000
Binary files a/test/reference/extended-blend-alpha-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha-mask.base.argb32.ref.png b/test/reference/extended-blend-alpha-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index a1dd2a9..0000000
Binary files a/test/reference/extended-blend-alpha-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha-mask.base.rgb24.ref.png b/test/reference/extended-blend-alpha-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index b5f12f1..0000000
Binary files a/test/reference/extended-blend-alpha-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha-mask.egl.argb32.ref.png b/test/reference/extended-blend-alpha-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index b3ff319..0000000
Binary files a/test/reference/extended-blend-alpha-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha-mask.mask.argb32.ref.png b/test/reference/extended-blend-alpha-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index a1dd2a9..0000000
Binary files a/test/reference/extended-blend-alpha-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha-mask.mask.rgb24.ref.png b/test/reference/extended-blend-alpha-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b5f12f1..0000000
Binary files a/test/reference/extended-blend-alpha-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha-mask.rgb24.ref.png b/test/reference/extended-blend-alpha-mask.rgb24.ref.png
deleted file mode 100644 (file)
index b5f12f1..0000000
Binary files a/test/reference/extended-blend-alpha-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha-mask.traps.argb32.ref.png b/test/reference/extended-blend-alpha-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index a1dd2a9..0000000
Binary files a/test/reference/extended-blend-alpha-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha-mask.traps.rgb24.ref.png b/test/reference/extended-blend-alpha-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b5f12f1..0000000
Binary files a/test/reference/extended-blend-alpha-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.argb32.ref.png b/test/reference/extended-blend-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 4d56a21..0000000
Binary files a/test/reference/extended-blend-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.base.argb32.ref.png b/test/reference/extended-blend-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 4d56a21..0000000
Binary files a/test/reference/extended-blend-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.base.rgb24.ref.png b/test/reference/extended-blend-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 86d0e2d..0000000
Binary files a/test/reference/extended-blend-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.egl.argb32.ref.png b/test/reference/extended-blend-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index cc8bf77..0000000
Binary files a/test/reference/extended-blend-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.image16.ref.png b/test/reference/extended-blend-alpha.image16.ref.png
deleted file mode 100644 (file)
index df96469..0000000
Binary files a/test/reference/extended-blend-alpha.image16.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.mask.argb32.ref.png b/test/reference/extended-blend-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4d56a21..0000000
Binary files a/test/reference/extended-blend-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.mask.rgb24.ref.png b/test/reference/extended-blend-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 86d0e2d..0000000
Binary files a/test/reference/extended-blend-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.quartz.argb32.ref.png b/test/reference/extended-blend-alpha.quartz.argb32.ref.png
deleted file mode 100644 (file)
index e5701a6..0000000
Binary files a/test/reference/extended-blend-alpha.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.quartz.rgb24.ref.png b/test/reference/extended-blend-alpha.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 477d346..0000000
Binary files a/test/reference/extended-blend-alpha.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.rgb24.ref.png b/test/reference/extended-blend-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 86d0e2d..0000000
Binary files a/test/reference/extended-blend-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.svg12.argb32.xfail.png b/test/reference/extended-blend-alpha.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index cc34416..0000000
Binary files a/test/reference/extended-blend-alpha.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.svg12.rgb24.xfail.png b/test/reference/extended-blend-alpha.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index f80569e..0000000
Binary files a/test/reference/extended-blend-alpha.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.traps.argb32.ref.png b/test/reference/extended-blend-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4d56a21..0000000
Binary files a/test/reference/extended-blend-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-alpha.traps.rgb24.ref.png b/test/reference/extended-blend-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 86d0e2d..0000000
Binary files a/test/reference/extended-blend-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-mask.argb32.ref.png b/test/reference/extended-blend-mask.argb32.ref.png
deleted file mode 100644 (file)
index 5fa78e4..0000000
Binary files a/test/reference/extended-blend-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-mask.base.argb32.ref.png b/test/reference/extended-blend-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 5fa78e4..0000000
Binary files a/test/reference/extended-blend-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-mask.base.rgb24.ref.png b/test/reference/extended-blend-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1c85474..0000000
Binary files a/test/reference/extended-blend-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-mask.egl.argb32.ref.png b/test/reference/extended-blend-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index b575e9c..0000000
Binary files a/test/reference/extended-blend-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-mask.mask.argb32.ref.png b/test/reference/extended-blend-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index 5fa78e4..0000000
Binary files a/test/reference/extended-blend-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-mask.mask.rgb24.ref.png b/test/reference/extended-blend-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1c85474..0000000
Binary files a/test/reference/extended-blend-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-mask.rgb24.ref.png b/test/reference/extended-blend-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1c85474..0000000
Binary files a/test/reference/extended-blend-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-mask.traps.argb32.ref.png b/test/reference/extended-blend-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 5fa78e4..0000000
Binary files a/test/reference/extended-blend-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-mask.traps.rgb24.ref.png b/test/reference/extended-blend-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1c85474..0000000
Binary files a/test/reference/extended-blend-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid-alpha.argb32.ref.png b/test/reference/extended-blend-solid-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 4d56a21..0000000
Binary files a/test/reference/extended-blend-solid-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid-alpha.base.argb32.ref.png b/test/reference/extended-blend-solid-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 4d56a21..0000000
Binary files a/test/reference/extended-blend-solid-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid-alpha.base.rgb24.ref.png b/test/reference/extended-blend-solid-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 86d0e2d..0000000
Binary files a/test/reference/extended-blend-solid-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid-alpha.egl.argb32.ref.png b/test/reference/extended-blend-solid-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3b1a381..0000000
Binary files a/test/reference/extended-blend-solid-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid-alpha.image16.ref.png b/test/reference/extended-blend-solid-alpha.image16.ref.png
deleted file mode 100644 (file)
index df96469..0000000
Binary files a/test/reference/extended-blend-solid-alpha.image16.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid-alpha.mask.argb32.ref.png b/test/reference/extended-blend-solid-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4d56a21..0000000
Binary files a/test/reference/extended-blend-solid-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid-alpha.mask.rgb24.ref.png b/test/reference/extended-blend-solid-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 86d0e2d..0000000
Binary files a/test/reference/extended-blend-solid-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid-alpha.rgb24.ref.png b/test/reference/extended-blend-solid-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 86d0e2d..0000000
Binary files a/test/reference/extended-blend-solid-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid-alpha.traps.argb32.ref.png b/test/reference/extended-blend-solid-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4d56a21..0000000
Binary files a/test/reference/extended-blend-solid-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid-alpha.traps.rgb24.ref.png b/test/reference/extended-blend-solid-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 86d0e2d..0000000
Binary files a/test/reference/extended-blend-solid-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid.argb32.ref.png b/test/reference/extended-blend-solid.argb32.ref.png
deleted file mode 100644 (file)
index 902ef88..0000000
Binary files a/test/reference/extended-blend-solid.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid.base.argb32.ref.png b/test/reference/extended-blend-solid.base.argb32.ref.png
deleted file mode 100644 (file)
index 902ef88..0000000
Binary files a/test/reference/extended-blend-solid.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid.base.rgb24.ref.png b/test/reference/extended-blend-solid.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4580e0d..0000000
Binary files a/test/reference/extended-blend-solid.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid.egl.argb32.ref.png b/test/reference/extended-blend-solid.egl.argb32.ref.png
deleted file mode 100644 (file)
index 5ecd73f..0000000
Binary files a/test/reference/extended-blend-solid.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid.image16.ref.png b/test/reference/extended-blend-solid.image16.ref.png
deleted file mode 100644 (file)
index 2052ea7..0000000
Binary files a/test/reference/extended-blend-solid.image16.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid.mask.argb32.ref.png b/test/reference/extended-blend-solid.mask.argb32.ref.png
deleted file mode 100644 (file)
index 902ef88..0000000
Binary files a/test/reference/extended-blend-solid.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid.mask.rgb24.ref.png b/test/reference/extended-blend-solid.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4580e0d..0000000
Binary files a/test/reference/extended-blend-solid.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid.rgb24.ref.png b/test/reference/extended-blend-solid.rgb24.ref.png
deleted file mode 100644 (file)
index 4580e0d..0000000
Binary files a/test/reference/extended-blend-solid.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid.traps.argb32.ref.png b/test/reference/extended-blend-solid.traps.argb32.ref.png
deleted file mode 100644 (file)
index 902ef88..0000000
Binary files a/test/reference/extended-blend-solid.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend-solid.traps.rgb24.ref.png b/test/reference/extended-blend-solid.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4580e0d..0000000
Binary files a/test/reference/extended-blend-solid.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.argb32.ref.png b/test/reference/extended-blend.argb32.ref.png
deleted file mode 100644 (file)
index 902ef88..0000000
Binary files a/test/reference/extended-blend.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.base.argb32.ref.png b/test/reference/extended-blend.base.argb32.ref.png
deleted file mode 100644 (file)
index 902ef88..0000000
Binary files a/test/reference/extended-blend.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.base.rgb24.ref.png b/test/reference/extended-blend.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4580e0d..0000000
Binary files a/test/reference/extended-blend.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.egl.argb32.ref.png b/test/reference/extended-blend.egl.argb32.ref.png
deleted file mode 100644 (file)
index a8bf1f4..0000000
Binary files a/test/reference/extended-blend.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.image16.ref.png b/test/reference/extended-blend.image16.ref.png
deleted file mode 100644 (file)
index 2052ea7..0000000
Binary files a/test/reference/extended-blend.image16.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.mask.argb32.ref.png b/test/reference/extended-blend.mask.argb32.ref.png
deleted file mode 100644 (file)
index 902ef88..0000000
Binary files a/test/reference/extended-blend.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.mask.rgb24.ref.png b/test/reference/extended-blend.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4580e0d..0000000
Binary files a/test/reference/extended-blend.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.quartz.argb32.ref.png b/test/reference/extended-blend.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 173c6e2..0000000
Binary files a/test/reference/extended-blend.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.quartz.rgb24.ref.png b/test/reference/extended-blend.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 56a1214..0000000
Binary files a/test/reference/extended-blend.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.rgb24.ref.png b/test/reference/extended-blend.rgb24.ref.png
deleted file mode 100644 (file)
index 4580e0d..0000000
Binary files a/test/reference/extended-blend.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.svg12.argb32.xfail.png b/test/reference/extended-blend.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index 93297a5..0000000
Binary files a/test/reference/extended-blend.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/extended-blend.svg12.rgb24.xfail.png b/test/reference/extended-blend.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 8db02c5..0000000
Binary files a/test/reference/extended-blend.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/extended-blend.traps.argb32.ref.png b/test/reference/extended-blend.traps.argb32.ref.png
deleted file mode 100644 (file)
index 902ef88..0000000
Binary files a/test/reference/extended-blend.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/extended-blend.traps.rgb24.ref.png b/test/reference/extended-blend.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4580e0d..0000000
Binary files a/test/reference/extended-blend.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi144x144.ps.ref.png b/test/reference/fallback-resolution.ppi144x144.ps.ref.png
deleted file mode 100644 (file)
index 0922f03..0000000
Binary files a/test/reference/fallback-resolution.ppi144x144.ps.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi144x144.ref.png b/test/reference/fallback-resolution.ppi144x144.ref.png
deleted file mode 100644 (file)
index fd0666a..0000000
Binary files a/test/reference/fallback-resolution.ppi144x144.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi144x72.ps.ref.png b/test/reference/fallback-resolution.ppi144x72.ps.ref.png
deleted file mode 100644 (file)
index 2f8d82d..0000000
Binary files a/test/reference/fallback-resolution.ppi144x72.ps.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi144x72.ref.png b/test/reference/fallback-resolution.ppi144x72.ref.png
deleted file mode 100644 (file)
index ec6685c..0000000
Binary files a/test/reference/fallback-resolution.ppi144x72.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi288x288.pdf.ref.png b/test/reference/fallback-resolution.ppi288x288.pdf.ref.png
deleted file mode 100644 (file)
index 181e110..0000000
Binary files a/test/reference/fallback-resolution.ppi288x288.pdf.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi288x288.ps.ref.png b/test/reference/fallback-resolution.ppi288x288.ps.ref.png
deleted file mode 100644 (file)
index 99bccef..0000000
Binary files a/test/reference/fallback-resolution.ppi288x288.ps.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi288x288.svg.ref.png b/test/reference/fallback-resolution.ppi288x288.svg.ref.png
deleted file mode 100644 (file)
index e71ff81..0000000
Binary files a/test/reference/fallback-resolution.ppi288x288.svg.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi288x72.ps.ref.png b/test/reference/fallback-resolution.ppi288x72.ps.ref.png
deleted file mode 100644 (file)
index 89b9c51..0000000
Binary files a/test/reference/fallback-resolution.ppi288x72.ps.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi288x72.ref.png b/test/reference/fallback-resolution.ppi288x72.ref.png
deleted file mode 100644 (file)
index 969c04f..0000000
Binary files a/test/reference/fallback-resolution.ppi288x72.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi576x576.pdf.ref.png b/test/reference/fallback-resolution.ppi576x576.pdf.ref.png
deleted file mode 100644 (file)
index 5b37619..0000000
Binary files a/test/reference/fallback-resolution.ppi576x576.pdf.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi576x576.ps.ref.png b/test/reference/fallback-resolution.ppi576x576.ps.ref.png
deleted file mode 100644 (file)
index 9dc4735..0000000
Binary files a/test/reference/fallback-resolution.ppi576x576.ps.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi576x576.svg.ref.png b/test/reference/fallback-resolution.ppi576x576.svg.ref.png
deleted file mode 100644 (file)
index b5a97e3..0000000
Binary files a/test/reference/fallback-resolution.ppi576x576.svg.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi576x72.ps.ref.png b/test/reference/fallback-resolution.ppi576x72.ps.ref.png
deleted file mode 100644 (file)
index 9ac6be4..0000000
Binary files a/test/reference/fallback-resolution.ppi576x72.ps.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi576x72.ref.png b/test/reference/fallback-resolution.ppi576x72.ref.png
deleted file mode 100644 (file)
index bbab065..0000000
Binary files a/test/reference/fallback-resolution.ppi576x72.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi72x144.ps.ref.png b/test/reference/fallback-resolution.ppi72x144.ps.ref.png
deleted file mode 100644 (file)
index 50b5a99..0000000
Binary files a/test/reference/fallback-resolution.ppi72x144.ps.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi72x144.ref.png b/test/reference/fallback-resolution.ppi72x144.ref.png
deleted file mode 100644 (file)
index 3f55629..0000000
Binary files a/test/reference/fallback-resolution.ppi72x144.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi72x288.ps.ref.png b/test/reference/fallback-resolution.ppi72x288.ps.ref.png
deleted file mode 100644 (file)
index b4ff82d..0000000
Binary files a/test/reference/fallback-resolution.ppi72x288.ps.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi72x288.ref.png b/test/reference/fallback-resolution.ppi72x288.ref.png
deleted file mode 100644 (file)
index 9d50b64..0000000
Binary files a/test/reference/fallback-resolution.ppi72x288.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi72x576.ps.ref.png b/test/reference/fallback-resolution.ppi72x576.ps.ref.png
deleted file mode 100644 (file)
index 6a3ddcb..0000000
Binary files a/test/reference/fallback-resolution.ppi72x576.ps.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi72x576.ref.png b/test/reference/fallback-resolution.ppi72x576.ref.png
deleted file mode 100644 (file)
index 7b4d62e..0000000
Binary files a/test/reference/fallback-resolution.ppi72x576.ref.png and /dev/null differ
diff --git a/test/reference/fallback-resolution.ppi72x72.ref.png b/test/reference/fallback-resolution.ppi72x72.ref.png
deleted file mode 100644 (file)
index 690c0af..0000000
Binary files a/test/reference/fallback-resolution.ppi72x72.ref.png and /dev/null differ
diff --git a/test/reference/fallback.argb32.ref.png b/test/reference/fallback.argb32.ref.png
deleted file mode 100644 (file)
index 32386d5..0000000
Binary files a/test/reference/fallback.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fallback.base.argb32.ref.png b/test/reference/fallback.base.argb32.ref.png
deleted file mode 100644 (file)
index c0c5f46..0000000
Binary files a/test/reference/fallback.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fallback.base.rgb24.ref.png b/test/reference/fallback.base.rgb24.ref.png
deleted file mode 100644 (file)
index 18b6a7c..0000000
Binary files a/test/reference/fallback.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fallback.egl.argb32.ref.png b/test/reference/fallback.egl.argb32.ref.png
deleted file mode 100644 (file)
index c3deb80..0000000
Binary files a/test/reference/fallback.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fallback.image16.rgb24.ref.png b/test/reference/fallback.image16.rgb24.ref.png
deleted file mode 100644 (file)
index d90ab0e..0000000
Binary files a/test/reference/fallback.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fallback.mask.argb32.ref.png b/test/reference/fallback.mask.argb32.ref.png
deleted file mode 100644 (file)
index b7ce573..0000000
Binary files a/test/reference/fallback.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fallback.mask.rgb24.ref.png b/test/reference/fallback.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 16d3c14..0000000
Binary files a/test/reference/fallback.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fallback.rgb24.ref.png b/test/reference/fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 6d728ab..0000000
Binary files a/test/reference/fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fallback.traps.argb32.ref.png b/test/reference/fallback.traps.argb32.ref.png
deleted file mode 100644 (file)
index b7ce573..0000000
Binary files a/test/reference/fallback.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fallback.traps.rgb24.ref.png b/test/reference/fallback.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 16d3c14..0000000
Binary files a/test/reference/fallback.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.argb32.ref.png b/test/reference/fill-alpha-pattern.argb32.ref.png
deleted file mode 100644 (file)
index 4344f23..0000000
Binary files a/test/reference/fill-alpha-pattern.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.base.argb32.ref.png b/test/reference/fill-alpha-pattern.base.argb32.ref.png
deleted file mode 100644 (file)
index 4dafb83..0000000
Binary files a/test/reference/fill-alpha-pattern.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.base.rgb24.ref.png b/test/reference/fill-alpha-pattern.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4dafb83..0000000
Binary files a/test/reference/fill-alpha-pattern.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.egl.argb32.ref.png b/test/reference/fill-alpha-pattern.egl.argb32.ref.png
deleted file mode 100644 (file)
index 845614a..0000000
Binary files a/test/reference/fill-alpha-pattern.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.image16.ref.png b/test/reference/fill-alpha-pattern.image16.ref.png
deleted file mode 100644 (file)
index f323c10..0000000
Binary files a/test/reference/fill-alpha-pattern.image16.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.mask.argb32.ref.png b/test/reference/fill-alpha-pattern.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4344f23..0000000
Binary files a/test/reference/fill-alpha-pattern.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.mask.rgb24.ref.png b/test/reference/fill-alpha-pattern.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4344f23..0000000
Binary files a/test/reference/fill-alpha-pattern.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.pdf.ref.png b/test/reference/fill-alpha-pattern.pdf.ref.png
deleted file mode 100644 (file)
index ed7f404..0000000
Binary files a/test/reference/fill-alpha-pattern.pdf.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.ps3.argb32.ref.png b/test/reference/fill-alpha-pattern.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 28689a3..0000000
Binary files a/test/reference/fill-alpha-pattern.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.quartz.ref.png b/test/reference/fill-alpha-pattern.quartz.ref.png
deleted file mode 100644 (file)
index b612e7a..0000000
Binary files a/test/reference/fill-alpha-pattern.quartz.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.ref.png b/test/reference/fill-alpha-pattern.ref.png
deleted file mode 100644 (file)
index 13f2a72..0000000
Binary files a/test/reference/fill-alpha-pattern.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.rgb24.ref.png b/test/reference/fill-alpha-pattern.rgb24.ref.png
deleted file mode 100644 (file)
index 4344f23..0000000
Binary files a/test/reference/fill-alpha-pattern.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.traps.argb32.ref.png b/test/reference/fill-alpha-pattern.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4dafb83..0000000
Binary files a/test/reference/fill-alpha-pattern.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.traps.rgb24.ref.png b/test/reference/fill-alpha-pattern.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4dafb83..0000000
Binary files a/test/reference/fill-alpha-pattern.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.argb32.ref.png b/test/reference/fill-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 9de7b50..0000000
Binary files a/test/reference/fill-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.base.argb32.ref.png b/test/reference/fill-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 85df919..0000000
Binary files a/test/reference/fill-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.base.rgb24.ref.png b/test/reference/fill-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 85df919..0000000
Binary files a/test/reference/fill-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.egl.argb32.ref.png b/test/reference/fill-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index aef4325..0000000
Binary files a/test/reference/fill-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.image16.ref.png b/test/reference/fill-alpha.image16.ref.png
deleted file mode 100644 (file)
index 08252b6..0000000
Binary files a/test/reference/fill-alpha.image16.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.mask.argb32.ref.png b/test/reference/fill-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9de7b50..0000000
Binary files a/test/reference/fill-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.mask.rgb24.ref.png b/test/reference/fill-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9de7b50..0000000
Binary files a/test/reference/fill-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.ps.argb32.ref.png b/test/reference/fill-alpha.ps.argb32.ref.png
deleted file mode 100644 (file)
index 8d70d53..0000000
Binary files a/test/reference/fill-alpha.ps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.quartz.ref.png b/test/reference/fill-alpha.quartz.ref.png
deleted file mode 100644 (file)
index 81cee81..0000000
Binary files a/test/reference/fill-alpha.quartz.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.ref.png b/test/reference/fill-alpha.ref.png
deleted file mode 100644 (file)
index 7ab149d..0000000
Binary files a/test/reference/fill-alpha.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.rgb24.ref.png b/test/reference/fill-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 9de7b50..0000000
Binary files a/test/reference/fill-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.traps.argb32.ref.png b/test/reference/fill-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 85df919..0000000
Binary files a/test/reference/fill-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.traps.rgb24.ref.png b/test/reference/fill-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 85df919..0000000
Binary files a/test/reference/fill-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.argb32.ref.png b/test/reference/fill-and-stroke-alpha-add.argb32.ref.png
deleted file mode 100644 (file)
index c804c7a..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.base.argb32.ref.png b/test/reference/fill-and-stroke-alpha-add.base.argb32.ref.png
deleted file mode 100644 (file)
index 71d2b22..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.base.rgb24.ref.png b/test/reference/fill-and-stroke-alpha-add.base.rgb24.ref.png
deleted file mode 100644 (file)
index 71d2b22..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.egl.argb32.ref.png b/test/reference/fill-and-stroke-alpha-add.egl.argb32.ref.png
deleted file mode 100644 (file)
index 7edcb4f..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.image16.ref.png b/test/reference/fill-and-stroke-alpha-add.image16.ref.png
deleted file mode 100644 (file)
index 3162c81..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.image16.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.mask.argb32.ref.png b/test/reference/fill-and-stroke-alpha-add.mask.argb32.ref.png
deleted file mode 100644 (file)
index c804c7a..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.mask.rgb24.ref.png b/test/reference/fill-and-stroke-alpha-add.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c804c7a..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.quartz.ref.png b/test/reference/fill-and-stroke-alpha-add.quartz.ref.png
deleted file mode 100644 (file)
index 1d89752..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.quartz.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.ref.png b/test/reference/fill-and-stroke-alpha-add.ref.png
deleted file mode 100644 (file)
index f2731b9..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.rgb24.ref.png b/test/reference/fill-and-stroke-alpha-add.rgb24.ref.png
deleted file mode 100644 (file)
index c804c7a..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.svg12.xfail.png b/test/reference/fill-and-stroke-alpha-add.svg12.xfail.png
deleted file mode 100644 (file)
index c1d7d6f..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.svg12.xfail.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.traps.argb32.ref.png b/test/reference/fill-and-stroke-alpha-add.traps.argb32.ref.png
deleted file mode 100644 (file)
index 71d2b22..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha-add.traps.rgb24.ref.png b/test/reference/fill-and-stroke-alpha-add.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 71d2b22..0000000
Binary files a/test/reference/fill-and-stroke-alpha-add.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.argb32.ref.png b/test/reference/fill-and-stroke-alpha.argb32.ref.png
deleted file mode 100644 (file)
index e22ebf9..0000000
Binary files a/test/reference/fill-and-stroke-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.base.argb32.ref.png b/test/reference/fill-and-stroke-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index c85b933..0000000
Binary files a/test/reference/fill-and-stroke-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.base.rgb24.ref.png b/test/reference/fill-and-stroke-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index c85b933..0000000
Binary files a/test/reference/fill-and-stroke-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.egl.argb32.ref.png b/test/reference/fill-and-stroke-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index cf00822..0000000
Binary files a/test/reference/fill-and-stroke-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.image16.ref.png b/test/reference/fill-and-stroke-alpha.image16.ref.png
deleted file mode 100644 (file)
index cde5bd9..0000000
Binary files a/test/reference/fill-and-stroke-alpha.image16.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.mask.argb32.ref.png b/test/reference/fill-and-stroke-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index e22ebf9..0000000
Binary files a/test/reference/fill-and-stroke-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.mask.rgb24.ref.png b/test/reference/fill-and-stroke-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index e22ebf9..0000000
Binary files a/test/reference/fill-and-stroke-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.ref.png b/test/reference/fill-and-stroke-alpha.ref.png
deleted file mode 100644 (file)
index 70f4763..0000000
Binary files a/test/reference/fill-and-stroke-alpha.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.rgb24.ref.png b/test/reference/fill-and-stroke-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index e22ebf9..0000000
Binary files a/test/reference/fill-and-stroke-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.traps.argb32.ref.png b/test/reference/fill-and-stroke-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index c85b933..0000000
Binary files a/test/reference/fill-and-stroke-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke-alpha.traps.rgb24.ref.png b/test/reference/fill-and-stroke-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c85b933..0000000
Binary files a/test/reference/fill-and-stroke-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.argb32.ref.png b/test/reference/fill-and-stroke.argb32.ref.png
deleted file mode 100644 (file)
index b51f4b0..0000000
Binary files a/test/reference/fill-and-stroke.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.base.argb32.ref.png b/test/reference/fill-and-stroke.base.argb32.ref.png
deleted file mode 100644 (file)
index 3f32060..0000000
Binary files a/test/reference/fill-and-stroke.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.base.rgb24.ref.png b/test/reference/fill-and-stroke.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2797921..0000000
Binary files a/test/reference/fill-and-stroke.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.egl.argb32.ref.png b/test/reference/fill-and-stroke.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0544c26..0000000
Binary files a/test/reference/fill-and-stroke.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.image16.ref.png b/test/reference/fill-and-stroke.image16.ref.png
deleted file mode 100644 (file)
index f562509..0000000
Binary files a/test/reference/fill-and-stroke.image16.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.mask.argb32.ref.png b/test/reference/fill-and-stroke.mask.argb32.ref.png
deleted file mode 100644 (file)
index b51f4b0..0000000
Binary files a/test/reference/fill-and-stroke.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.mask.rgb24.ref.png b/test/reference/fill-and-stroke.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4017293..0000000
Binary files a/test/reference/fill-and-stroke.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.ps.argb32.ref.png b/test/reference/fill-and-stroke.ps.argb32.ref.png
deleted file mode 100644 (file)
index 8cf8d9c..0000000
Binary files a/test/reference/fill-and-stroke.ps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.ps.rgb24.ref.png b/test/reference/fill-and-stroke.ps.rgb24.ref.png
deleted file mode 100644 (file)
index fceda26..0000000
Binary files a/test/reference/fill-and-stroke.ps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.quartz.argb32.ref.png b/test/reference/fill-and-stroke.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 9440719..0000000
Binary files a/test/reference/fill-and-stroke.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.quartz.rgb24.ref.png b/test/reference/fill-and-stroke.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 5ba2197..0000000
Binary files a/test/reference/fill-and-stroke.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.rgb24.ref.png b/test/reference/fill-and-stroke.rgb24.ref.png
deleted file mode 100644 (file)
index 4017293..0000000
Binary files a/test/reference/fill-and-stroke.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.traps.argb32.ref.png b/test/reference/fill-and-stroke.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3f32060..0000000
Binary files a/test/reference/fill-and-stroke.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.traps.rgb24.ref.png b/test/reference/fill-and-stroke.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2797921..0000000
Binary files a/test/reference/fill-and-stroke.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.argb32.ref.png b/test/reference/fill-degenerate-sort-order.argb32.ref.png
deleted file mode 100644 (file)
index 38bb1a0..0000000
Binary files a/test/reference/fill-degenerate-sort-order.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.base.argb32.ref.png b/test/reference/fill-degenerate-sort-order.base.argb32.ref.png
deleted file mode 100644 (file)
index 860ee1b..0000000
Binary files a/test/reference/fill-degenerate-sort-order.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.base.rgb24.ref.png b/test/reference/fill-degenerate-sort-order.base.rgb24.ref.png
deleted file mode 100644 (file)
index 18b08fc..0000000
Binary files a/test/reference/fill-degenerate-sort-order.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.egl.argb32.ref.png b/test/reference/fill-degenerate-sort-order.egl.argb32.ref.png
deleted file mode 100644 (file)
index 383b8f2..0000000
Binary files a/test/reference/fill-degenerate-sort-order.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.image16.ref.png b/test/reference/fill-degenerate-sort-order.image16.ref.png
deleted file mode 100644 (file)
index 6dc2078..0000000
Binary files a/test/reference/fill-degenerate-sort-order.image16.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.mask.argb32.ref.png b/test/reference/fill-degenerate-sort-order.mask.argb32.ref.png
deleted file mode 100644 (file)
index 38bb1a0..0000000
Binary files a/test/reference/fill-degenerate-sort-order.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.mask.rgb24.ref.png b/test/reference/fill-degenerate-sort-order.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c392c21..0000000
Binary files a/test/reference/fill-degenerate-sort-order.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.ps.argb32.xfail.png b/test/reference/fill-degenerate-sort-order.ps.argb32.xfail.png
deleted file mode 100644 (file)
index 79ea630..0000000
Binary files a/test/reference/fill-degenerate-sort-order.ps.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.ps.rgb24.xfail.png b/test/reference/fill-degenerate-sort-order.ps.rgb24.xfail.png
deleted file mode 100644 (file)
index b4c45f9..0000000
Binary files a/test/reference/fill-degenerate-sort-order.ps.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.quartz.argb32.ref.png b/test/reference/fill-degenerate-sort-order.quartz.argb32.ref.png
deleted file mode 100644 (file)
index a8b9f15..0000000
Binary files a/test/reference/fill-degenerate-sort-order.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.quartz.rgb24.ref.png b/test/reference/fill-degenerate-sort-order.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 703467c..0000000
Binary files a/test/reference/fill-degenerate-sort-order.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.rgb24.ref.png b/test/reference/fill-degenerate-sort-order.rgb24.ref.png
deleted file mode 100644 (file)
index c392c21..0000000
Binary files a/test/reference/fill-degenerate-sort-order.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.traps.argb32.ref.png b/test/reference/fill-degenerate-sort-order.traps.argb32.ref.png
deleted file mode 100644 (file)
index 860ee1b..0000000
Binary files a/test/reference/fill-degenerate-sort-order.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.traps.rgb24.ref.png b/test/reference/fill-degenerate-sort-order.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 18b08fc..0000000
Binary files a/test/reference/fill-degenerate-sort-order.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-disjoint.argb32.ref.png b/test/reference/fill-disjoint.argb32.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/fill-disjoint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-disjoint.base.argb32.ref.png b/test/reference/fill-disjoint.base.argb32.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/fill-disjoint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-disjoint.base.rgb24.ref.png b/test/reference/fill-disjoint.base.rgb24.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/fill-disjoint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-disjoint.egl.argb32.ref.png b/test/reference/fill-disjoint.egl.argb32.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/fill-disjoint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-disjoint.mask.argb32.ref.png b/test/reference/fill-disjoint.mask.argb32.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/fill-disjoint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-disjoint.mask.rgb24.ref.png b/test/reference/fill-disjoint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/fill-disjoint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-disjoint.ref.png b/test/reference/fill-disjoint.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/fill-disjoint.ref.png and /dev/null differ
diff --git a/test/reference/fill-disjoint.rgb24.ref.png b/test/reference/fill-disjoint.rgb24.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/fill-disjoint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-disjoint.traps.argb32.ref.png b/test/reference/fill-disjoint.traps.argb32.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/fill-disjoint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-disjoint.traps.rgb24.ref.png b/test/reference/fill-disjoint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index da9a3b1..0000000
Binary files a/test/reference/fill-disjoint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-empty.argb32.ref.png b/test/reference/fill-empty.argb32.ref.png
deleted file mode 100644 (file)
index 8c26f7e..0000000
Binary files a/test/reference/fill-empty.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-empty.base.argb32.ref.png b/test/reference/fill-empty.base.argb32.ref.png
deleted file mode 100644 (file)
index 8c26f7e..0000000
Binary files a/test/reference/fill-empty.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-empty.base.rgb24.ref.png b/test/reference/fill-empty.base.rgb24.ref.png
deleted file mode 100644 (file)
index dc7a8a0..0000000
Binary files a/test/reference/fill-empty.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-empty.egl.argb32.ref.png b/test/reference/fill-empty.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8c26f7e..0000000
Binary files a/test/reference/fill-empty.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-empty.mask.argb32.ref.png b/test/reference/fill-empty.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8c26f7e..0000000
Binary files a/test/reference/fill-empty.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-empty.mask.rgb24.ref.png b/test/reference/fill-empty.mask.rgb24.ref.png
deleted file mode 100644 (file)
index dc7a8a0..0000000
Binary files a/test/reference/fill-empty.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-empty.rgb24.ref.png b/test/reference/fill-empty.rgb24.ref.png
deleted file mode 100644 (file)
index dc7a8a0..0000000
Binary files a/test/reference/fill-empty.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-empty.svg12.rgb24.xfail.png b/test/reference/fill-empty.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 8c26f7e..0000000
Binary files a/test/reference/fill-empty.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/fill-empty.traps.argb32.ref.png b/test/reference/fill-empty.traps.argb32.ref.png
deleted file mode 100644 (file)
index 8c26f7e..0000000
Binary files a/test/reference/fill-empty.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-empty.traps.rgb24.ref.png b/test/reference/fill-empty.traps.rgb24.ref.png
deleted file mode 100644 (file)
index dc7a8a0..0000000
Binary files a/test/reference/fill-empty.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.argb32.ref.png b/test/reference/fill-image.argb32.ref.png
deleted file mode 100644 (file)
index 068fbb7..0000000
Binary files a/test/reference/fill-image.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.base.argb32.ref.png b/test/reference/fill-image.base.argb32.ref.png
deleted file mode 100644 (file)
index 1e67073..0000000
Binary files a/test/reference/fill-image.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.base.rgb24.ref.png b/test/reference/fill-image.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1e67073..0000000
Binary files a/test/reference/fill-image.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.egl.argb32.ref.png b/test/reference/fill-image.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3db91ef..0000000
Binary files a/test/reference/fill-image.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.image16.ref.png b/test/reference/fill-image.image16.ref.png
deleted file mode 100644 (file)
index 3a9b7c7..0000000
Binary files a/test/reference/fill-image.image16.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.mask.argb32.ref.png b/test/reference/fill-image.mask.argb32.ref.png
deleted file mode 100644 (file)
index 068fbb7..0000000
Binary files a/test/reference/fill-image.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.mask.rgb24.ref.png b/test/reference/fill-image.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 068fbb7..0000000
Binary files a/test/reference/fill-image.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.ps.ref.png b/test/reference/fill-image.ps.ref.png
deleted file mode 100644 (file)
index 9713701..0000000
Binary files a/test/reference/fill-image.ps.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.quartz.ref.png b/test/reference/fill-image.quartz.ref.png
deleted file mode 100644 (file)
index bb205a7..0000000
Binary files a/test/reference/fill-image.quartz.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.ref.png b/test/reference/fill-image.ref.png
deleted file mode 100644 (file)
index 899c159..0000000
Binary files a/test/reference/fill-image.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.rgb24.ref.png b/test/reference/fill-image.rgb24.ref.png
deleted file mode 100644 (file)
index 068fbb7..0000000
Binary files a/test/reference/fill-image.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.traps.argb32.ref.png b/test/reference/fill-image.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1e67073..0000000
Binary files a/test/reference/fill-image.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.traps.rgb24.ref.png b/test/reference/fill-image.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1e67073..0000000
Binary files a/test/reference/fill-image.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.argb32.ref.png b/test/reference/fill-missed-stop.argb32.ref.png
deleted file mode 100644 (file)
index 477eec9..0000000
Binary files a/test/reference/fill-missed-stop.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.base.argb32.ref.png b/test/reference/fill-missed-stop.base.argb32.ref.png
deleted file mode 100644 (file)
index 223fb36..0000000
Binary files a/test/reference/fill-missed-stop.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.base.rgb24.ref.png b/test/reference/fill-missed-stop.base.rgb24.ref.png
deleted file mode 100644 (file)
index f56b4b2..0000000
Binary files a/test/reference/fill-missed-stop.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.egl.argb32.ref.png b/test/reference/fill-missed-stop.egl.argb32.ref.png
deleted file mode 100644 (file)
index 7083e6e..0000000
Binary files a/test/reference/fill-missed-stop.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.mask.argb32.ref.png b/test/reference/fill-missed-stop.mask.argb32.ref.png
deleted file mode 100644 (file)
index 477eec9..0000000
Binary files a/test/reference/fill-missed-stop.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.mask.rgb24.ref.png b/test/reference/fill-missed-stop.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2e663f0..0000000
Binary files a/test/reference/fill-missed-stop.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.pdf.argb32.ref.png b/test/reference/fill-missed-stop.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 7d56e3e..0000000
Binary files a/test/reference/fill-missed-stop.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.ps2.argb32.ref.png b/test/reference/fill-missed-stop.ps2.argb32.ref.png
deleted file mode 100644 (file)
index b94a708..0000000
Binary files a/test/reference/fill-missed-stop.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.ps2.rgb24.ref.png b/test/reference/fill-missed-stop.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index fd54c7b..0000000
Binary files a/test/reference/fill-missed-stop.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.ps3.argb32.ref.png b/test/reference/fill-missed-stop.ps3.argb32.ref.png
deleted file mode 100644 (file)
index b94a708..0000000
Binary files a/test/reference/fill-missed-stop.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.ps3.rgb24.ref.png b/test/reference/fill-missed-stop.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index fd54c7b..0000000
Binary files a/test/reference/fill-missed-stop.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.ref.png b/test/reference/fill-missed-stop.ref.png
deleted file mode 100644 (file)
index 7c5a4ed..0000000
Binary files a/test/reference/fill-missed-stop.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.rgb24.ref.png b/test/reference/fill-missed-stop.rgb24.ref.png
deleted file mode 100644 (file)
index 2e663f0..0000000
Binary files a/test/reference/fill-missed-stop.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.traps.argb32.ref.png b/test/reference/fill-missed-stop.traps.argb32.ref.png
deleted file mode 100644 (file)
index 223fb36..0000000
Binary files a/test/reference/fill-missed-stop.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-missed-stop.traps.rgb24.ref.png b/test/reference/fill-missed-stop.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f56b4b2..0000000
Binary files a/test/reference/fill-missed-stop.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.argb32.ref.png b/test/reference/fill-rule.argb32.ref.png
deleted file mode 100644 (file)
index 23e0a3a..0000000
Binary files a/test/reference/fill-rule.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.base.argb32.ref.png b/test/reference/fill-rule.base.argb32.ref.png
deleted file mode 100644 (file)
index e2e10d4..0000000
Binary files a/test/reference/fill-rule.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.base.rgb24.ref.png b/test/reference/fill-rule.base.rgb24.ref.png
deleted file mode 100644 (file)
index 49fb39c..0000000
Binary files a/test/reference/fill-rule.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.egl.argb32.ref.png b/test/reference/fill-rule.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3683f7d..0000000
Binary files a/test/reference/fill-rule.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.image16.ref.png b/test/reference/fill-rule.image16.ref.png
deleted file mode 100644 (file)
index 27613f7..0000000
Binary files a/test/reference/fill-rule.image16.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.mask.argb32.ref.png b/test/reference/fill-rule.mask.argb32.ref.png
deleted file mode 100644 (file)
index 23e0a3a..0000000
Binary files a/test/reference/fill-rule.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.mask.rgb24.ref.png b/test/reference/fill-rule.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 55486e6..0000000
Binary files a/test/reference/fill-rule.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.ps2.argb32.ref.png b/test/reference/fill-rule.ps2.argb32.ref.png
deleted file mode 100644 (file)
index c9bdf90..0000000
Binary files a/test/reference/fill-rule.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.ps2.rgb24.ref.png b/test/reference/fill-rule.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index 617a20b..0000000
Binary files a/test/reference/fill-rule.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.ps3.argb32.ref.png b/test/reference/fill-rule.ps3.argb32.ref.png
deleted file mode 100644 (file)
index c9bdf90..0000000
Binary files a/test/reference/fill-rule.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.ps3.rgb24.ref.png b/test/reference/fill-rule.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index 617a20b..0000000
Binary files a/test/reference/fill-rule.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.quartz.argb32.ref.png b/test/reference/fill-rule.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 2ac5340..0000000
Binary files a/test/reference/fill-rule.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.quartz.rgb24.ref.png b/test/reference/fill-rule.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index bd671d6..0000000
Binary files a/test/reference/fill-rule.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.ref.png b/test/reference/fill-rule.ref.png
deleted file mode 100644 (file)
index ed18bf8..0000000
Binary files a/test/reference/fill-rule.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.rgb24.ref.png b/test/reference/fill-rule.rgb24.ref.png
deleted file mode 100644 (file)
index 55486e6..0000000
Binary files a/test/reference/fill-rule.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.traps.argb32.ref.png b/test/reference/fill-rule.traps.argb32.ref.png
deleted file mode 100644 (file)
index e2e10d4..0000000
Binary files a/test/reference/fill-rule.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.traps.rgb24.ref.png b/test/reference/fill-rule.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 49fb39c..0000000
Binary files a/test/reference/fill-rule.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-xlib-fallback.rgb24.ref.png b/test/reference/fill-xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 1e67073..0000000
Binary files a/test/reference/fill-xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-xlib-window.rgb24.ref.png b/test/reference/fill-xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 1e67073..0000000
Binary files a/test/reference/fill-xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-xlib.argb32.ref.png b/test/reference/fill-xlib.argb32.ref.png
deleted file mode 100644 (file)
index 1e67073..0000000
Binary files a/test/reference/fill-xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-xlib.rgb24.ref.png b/test/reference/fill-xlib.rgb24.ref.png
deleted file mode 100644 (file)
index 1e67073..0000000
Binary files a/test/reference/fill-xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.argb32.ref.png b/test/reference/filter-bilinear-extents.argb32.ref.png
deleted file mode 100644 (file)
index 797e798..0000000
Binary files a/test/reference/filter-bilinear-extents.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.base.argb32.ref.png b/test/reference/filter-bilinear-extents.base.argb32.ref.png
deleted file mode 100644 (file)
index 797e798..0000000
Binary files a/test/reference/filter-bilinear-extents.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.base.rgb24.ref.png b/test/reference/filter-bilinear-extents.base.rgb24.ref.png
deleted file mode 100644 (file)
index 797e798..0000000
Binary files a/test/reference/filter-bilinear-extents.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.egl.argb32.ref.png b/test/reference/filter-bilinear-extents.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4b8fa42..0000000
Binary files a/test/reference/filter-bilinear-extents.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.image16.ref.png b/test/reference/filter-bilinear-extents.image16.ref.png
deleted file mode 100644 (file)
index 5b7755b..0000000
Binary files a/test/reference/filter-bilinear-extents.image16.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.mask.argb32.ref.png b/test/reference/filter-bilinear-extents.mask.argb32.ref.png
deleted file mode 100644 (file)
index 797e798..0000000
Binary files a/test/reference/filter-bilinear-extents.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.mask.rgb24.ref.png b/test/reference/filter-bilinear-extents.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 797e798..0000000
Binary files a/test/reference/filter-bilinear-extents.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.pdf.xfail.png b/test/reference/filter-bilinear-extents.pdf.xfail.png
deleted file mode 100644 (file)
index e6c4bb4..0000000
Binary files a/test/reference/filter-bilinear-extents.pdf.xfail.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.ps2.ref.png b/test/reference/filter-bilinear-extents.ps2.ref.png
deleted file mode 100644 (file)
index 97c105c..0000000
Binary files a/test/reference/filter-bilinear-extents.ps2.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.ps3.ref.png b/test/reference/filter-bilinear-extents.ps3.ref.png
deleted file mode 100644 (file)
index 97c105c..0000000
Binary files a/test/reference/filter-bilinear-extents.ps3.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.quartz.xfail.png b/test/reference/filter-bilinear-extents.quartz.xfail.png
deleted file mode 100644 (file)
index 312ee80..0000000
Binary files a/test/reference/filter-bilinear-extents.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.ref.png b/test/reference/filter-bilinear-extents.ref.png
deleted file mode 100644 (file)
index 61e416b..0000000
Binary files a/test/reference/filter-bilinear-extents.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.rgb24.ref.png b/test/reference/filter-bilinear-extents.rgb24.ref.png
deleted file mode 100644 (file)
index 797e798..0000000
Binary files a/test/reference/filter-bilinear-extents.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.traps.argb32.ref.png b/test/reference/filter-bilinear-extents.traps.argb32.ref.png
deleted file mode 100644 (file)
index 797e798..0000000
Binary files a/test/reference/filter-bilinear-extents.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-bilinear-extents.traps.rgb24.ref.png b/test/reference/filter-bilinear-extents.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 797e798..0000000
Binary files a/test/reference/filter-bilinear-extents.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.argb32.ref.png b/test/reference/filter-nearest-offset.argb32.ref.png
deleted file mode 100644 (file)
index 8cca9a1..0000000
Binary files a/test/reference/filter-nearest-offset.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.base.argb32.ref.png b/test/reference/filter-nearest-offset.base.argb32.ref.png
deleted file mode 100644 (file)
index 8cca9a1..0000000
Binary files a/test/reference/filter-nearest-offset.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.base.rgb24.ref.png b/test/reference/filter-nearest-offset.base.rgb24.ref.png
deleted file mode 100644 (file)
index 8cca9a1..0000000
Binary files a/test/reference/filter-nearest-offset.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.egl.argb32.ref.png b/test/reference/filter-nearest-offset.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0efd8e4..0000000
Binary files a/test/reference/filter-nearest-offset.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.gl.xfail.png b/test/reference/filter-nearest-offset.gl.xfail.png
deleted file mode 100644 (file)
index a777e7c..0000000
Binary files a/test/reference/filter-nearest-offset.gl.xfail.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.mask.argb32.ref.png b/test/reference/filter-nearest-offset.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8cca9a1..0000000
Binary files a/test/reference/filter-nearest-offset.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.mask.rgb24.ref.png b/test/reference/filter-nearest-offset.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8cca9a1..0000000
Binary files a/test/reference/filter-nearest-offset.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.pdf.xfail.png b/test/reference/filter-nearest-offset.pdf.xfail.png
deleted file mode 100644 (file)
index 3042821..0000000
Binary files a/test/reference/filter-nearest-offset.pdf.xfail.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.ps2.ref.png b/test/reference/filter-nearest-offset.ps2.ref.png
deleted file mode 100644 (file)
index 185f779..0000000
Binary files a/test/reference/filter-nearest-offset.ps2.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.ps3.ref.png b/test/reference/filter-nearest-offset.ps3.ref.png
deleted file mode 100644 (file)
index 185f779..0000000
Binary files a/test/reference/filter-nearest-offset.ps3.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.ref.png b/test/reference/filter-nearest-offset.ref.png
deleted file mode 100644 (file)
index af81aee..0000000
Binary files a/test/reference/filter-nearest-offset.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.rgb24.ref.png b/test/reference/filter-nearest-offset.rgb24.ref.png
deleted file mode 100644 (file)
index 8cca9a1..0000000
Binary files a/test/reference/filter-nearest-offset.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.svg.xfail.png b/test/reference/filter-nearest-offset.svg.xfail.png
deleted file mode 100644 (file)
index a46dc76..0000000
Binary files a/test/reference/filter-nearest-offset.svg.xfail.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.traps.argb32.ref.png b/test/reference/filter-nearest-offset.traps.argb32.ref.png
deleted file mode 100644 (file)
index 8cca9a1..0000000
Binary files a/test/reference/filter-nearest-offset.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-offset.traps.rgb24.ref.png b/test/reference/filter-nearest-offset.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 8cca9a1..0000000
Binary files a/test/reference/filter-nearest-offset.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.argb32.ref.png b/test/reference/filter-nearest-transformed.argb32.ref.png
deleted file mode 100644 (file)
index 24adf8b..0000000
Binary files a/test/reference/filter-nearest-transformed.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.base.argb32.ref.png b/test/reference/filter-nearest-transformed.base.argb32.ref.png
deleted file mode 100644 (file)
index 24adf8b..0000000
Binary files a/test/reference/filter-nearest-transformed.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.base.rgb24.ref.png b/test/reference/filter-nearest-transformed.base.rgb24.ref.png
deleted file mode 100644 (file)
index 24adf8b..0000000
Binary files a/test/reference/filter-nearest-transformed.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.egl.argb32.ref.png b/test/reference/filter-nearest-transformed.egl.argb32.ref.png
deleted file mode 100644 (file)
index be4a22a..0000000
Binary files a/test/reference/filter-nearest-transformed.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.gl.xfail.png b/test/reference/filter-nearest-transformed.gl.xfail.png
deleted file mode 100644 (file)
index ba8170b..0000000
Binary files a/test/reference/filter-nearest-transformed.gl.xfail.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.image16.ref.png b/test/reference/filter-nearest-transformed.image16.ref.png
deleted file mode 100644 (file)
index a02e1e1..0000000
Binary files a/test/reference/filter-nearest-transformed.image16.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.mask.argb32.ref.png b/test/reference/filter-nearest-transformed.mask.argb32.ref.png
deleted file mode 100644 (file)
index 24adf8b..0000000
Binary files a/test/reference/filter-nearest-transformed.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.mask.rgb24.ref.png b/test/reference/filter-nearest-transformed.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 24adf8b..0000000
Binary files a/test/reference/filter-nearest-transformed.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.pdf.xfail.png b/test/reference/filter-nearest-transformed.pdf.xfail.png
deleted file mode 100644 (file)
index e5b8378..0000000
Binary files a/test/reference/filter-nearest-transformed.pdf.xfail.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.quartz.xfail.png b/test/reference/filter-nearest-transformed.quartz.xfail.png
deleted file mode 100644 (file)
index 246cdf4..0000000
Binary files a/test/reference/filter-nearest-transformed.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.ref.png b/test/reference/filter-nearest-transformed.ref.png
deleted file mode 100644 (file)
index dc413b4..0000000
Binary files a/test/reference/filter-nearest-transformed.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.rgb24.ref.png b/test/reference/filter-nearest-transformed.rgb24.ref.png
deleted file mode 100644 (file)
index 24adf8b..0000000
Binary files a/test/reference/filter-nearest-transformed.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.svg.xfail.png b/test/reference/filter-nearest-transformed.svg.xfail.png
deleted file mode 100644 (file)
index e6bbe28..0000000
Binary files a/test/reference/filter-nearest-transformed.svg.xfail.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.traps.argb32.ref.png b/test/reference/filter-nearest-transformed.traps.argb32.ref.png
deleted file mode 100644 (file)
index 24adf8b..0000000
Binary files a/test/reference/filter-nearest-transformed.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/filter-nearest-transformed.traps.rgb24.ref.png b/test/reference/filter-nearest-transformed.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 24adf8b..0000000
Binary files a/test/reference/filter-nearest-transformed.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.argb32.ref.png b/test/reference/finer-grained-fallbacks.argb32.ref.png
deleted file mode 100644 (file)
index 8960179..0000000
Binary files a/test/reference/finer-grained-fallbacks.argb32.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.base.argb32.ref.png b/test/reference/finer-grained-fallbacks.base.argb32.ref.png
deleted file mode 100644 (file)
index accb01b..0000000
Binary files a/test/reference/finer-grained-fallbacks.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.base.rgb24.ref.png b/test/reference/finer-grained-fallbacks.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0e6094c..0000000
Binary files a/test/reference/finer-grained-fallbacks.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.egl.argb32.ref.png b/test/reference/finer-grained-fallbacks.egl.argb32.ref.png
deleted file mode 100644 (file)
index 22f9cc6..0000000
Binary files a/test/reference/finer-grained-fallbacks.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.gl.argb32.ref.png b/test/reference/finer-grained-fallbacks.gl.argb32.ref.png
deleted file mode 100644 (file)
index 69ec487..0000000
Binary files a/test/reference/finer-grained-fallbacks.gl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.image16.ref.png b/test/reference/finer-grained-fallbacks.image16.ref.png
deleted file mode 100644 (file)
index 3b104ef..0000000
Binary files a/test/reference/finer-grained-fallbacks.image16.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.mask.argb32.ref.png b/test/reference/finer-grained-fallbacks.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8cd99d0..0000000
Binary files a/test/reference/finer-grained-fallbacks.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.mask.rgb24.ref.png b/test/reference/finer-grained-fallbacks.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5d6cd94..0000000
Binary files a/test/reference/finer-grained-fallbacks.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.ps2.argb32.ref.png b/test/reference/finer-grained-fallbacks.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 19c132f..0000000
Binary files a/test/reference/finer-grained-fallbacks.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.ps2.ref.png b/test/reference/finer-grained-fallbacks.ps2.ref.png
deleted file mode 100644 (file)
index 1744100..0000000
Binary files a/test/reference/finer-grained-fallbacks.ps2.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.ps2.rgb24.ref.png b/test/reference/finer-grained-fallbacks.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index 3f94a3a..0000000
Binary files a/test/reference/finer-grained-fallbacks.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.ps3.argb32.ref.png b/test/reference/finer-grained-fallbacks.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 19c132f..0000000
Binary files a/test/reference/finer-grained-fallbacks.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.ps3.ref.png b/test/reference/finer-grained-fallbacks.ps3.ref.png
deleted file mode 100644 (file)
index 1744100..0000000
Binary files a/test/reference/finer-grained-fallbacks.ps3.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.ps3.rgb24.ref.png b/test/reference/finer-grained-fallbacks.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index 3f94a3a..0000000
Binary files a/test/reference/finer-grained-fallbacks.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.quartz.argb32.ref.png b/test/reference/finer-grained-fallbacks.quartz.argb32.ref.png
deleted file mode 100644 (file)
index dc05761..0000000
Binary files a/test/reference/finer-grained-fallbacks.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.quartz.rgb24.ref.png b/test/reference/finer-grained-fallbacks.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 1fdedd0..0000000
Binary files a/test/reference/finer-grained-fallbacks.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.rgb24.ref.png b/test/reference/finer-grained-fallbacks.rgb24.ref.png
deleted file mode 100644 (file)
index 1a9a0c0..0000000
Binary files a/test/reference/finer-grained-fallbacks.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.svg12.argb32.ref.png b/test/reference/finer-grained-fallbacks.svg12.argb32.ref.png
deleted file mode 100644 (file)
index 5aaf86b..0000000
Binary files a/test/reference/finer-grained-fallbacks.svg12.argb32.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.svg12.rgb24.ref.png b/test/reference/finer-grained-fallbacks.svg12.rgb24.ref.png
deleted file mode 100644 (file)
index ad55366..0000000
Binary files a/test/reference/finer-grained-fallbacks.svg12.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.traps.argb32.ref.png b/test/reference/finer-grained-fallbacks.traps.argb32.ref.png
deleted file mode 100644 (file)
index accb01b..0000000
Binary files a/test/reference/finer-grained-fallbacks.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.traps.rgb24.ref.png b/test/reference/finer-grained-fallbacks.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0e6094c..0000000
Binary files a/test/reference/finer-grained-fallbacks.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.xlib-fallback.ref.png b/test/reference/finer-grained-fallbacks.xlib-fallback.ref.png
deleted file mode 100644 (file)
index c2af714..0000000
Binary files a/test/reference/finer-grained-fallbacks.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.argb32.ref.png b/test/reference/font-matrix-translation.argb32.ref.png
deleted file mode 100644 (file)
index a4a1082..0000000
Binary files a/test/reference/font-matrix-translation.argb32.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.base.argb32.ref.png b/test/reference/font-matrix-translation.base.argb32.ref.png
deleted file mode 100644 (file)
index a4a1082..0000000
Binary files a/test/reference/font-matrix-translation.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.base.rgb24.ref.png b/test/reference/font-matrix-translation.base.rgb24.ref.png
deleted file mode 100644 (file)
index a4a1082..0000000
Binary files a/test/reference/font-matrix-translation.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.image16.ref.png b/test/reference/font-matrix-translation.image16.ref.png
deleted file mode 100644 (file)
index f76b9ae..0000000
Binary files a/test/reference/font-matrix-translation.image16.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.mask.argb32.ref.png b/test/reference/font-matrix-translation.mask.argb32.ref.png
deleted file mode 100644 (file)
index a4a1082..0000000
Binary files a/test/reference/font-matrix-translation.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.mask.rgb24.ref.png b/test/reference/font-matrix-translation.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a4a1082..0000000
Binary files a/test/reference/font-matrix-translation.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.ps2.argb32.ref.png b/test/reference/font-matrix-translation.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 41d05a0..0000000
Binary files a/test/reference/font-matrix-translation.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.ps2.rgb24.ref.png b/test/reference/font-matrix-translation.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index 41d05a0..0000000
Binary files a/test/reference/font-matrix-translation.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.ps3.argb32.ref.png b/test/reference/font-matrix-translation.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 41d05a0..0000000
Binary files a/test/reference/font-matrix-translation.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.ps3.rgb24.ref.png b/test/reference/font-matrix-translation.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index 41d05a0..0000000
Binary files a/test/reference/font-matrix-translation.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.quartz.ref.png b/test/reference/font-matrix-translation.quartz.ref.png
deleted file mode 100644 (file)
index 187e2c1..0000000
Binary files a/test/reference/font-matrix-translation.quartz.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.ref.png b/test/reference/font-matrix-translation.ref.png
deleted file mode 100644 (file)
index dd5faba..0000000
Binary files a/test/reference/font-matrix-translation.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.rgb24.ref.png b/test/reference/font-matrix-translation.rgb24.ref.png
deleted file mode 100644 (file)
index a4a1082..0000000
Binary files a/test/reference/font-matrix-translation.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.svg.ref.png b/test/reference/font-matrix-translation.svg.ref.png
deleted file mode 100644 (file)
index e35f9be..0000000
Binary files a/test/reference/font-matrix-translation.svg.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.traps.argb32.ref.png b/test/reference/font-matrix-translation.traps.argb32.ref.png
deleted file mode 100644 (file)
index a4a1082..0000000
Binary files a/test/reference/font-matrix-translation.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.traps.ref.png b/test/reference/font-matrix-translation.traps.ref.png
deleted file mode 100644 (file)
index a4a1082..0000000
Binary files a/test/reference/font-matrix-translation.traps.ref.png and /dev/null differ
diff --git a/test/reference/font-matrix-translation.traps.rgb24.ref.png b/test/reference/font-matrix-translation.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a4a1082..0000000
Binary files a/test/reference/font-matrix-translation.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.argb32.ref.png b/test/reference/ft-show-glyphs-positioning.argb32.ref.png
deleted file mode 100644 (file)
index af6dcaf..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.base.argb32.ref.png b/test/reference/ft-show-glyphs-positioning.base.argb32.ref.png
deleted file mode 100644 (file)
index af6dcaf..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.base.rgb24.ref.png b/test/reference/ft-show-glyphs-positioning.base.rgb24.ref.png
deleted file mode 100644 (file)
index af6dcaf..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.image16.ref.png b/test/reference/ft-show-glyphs-positioning.image16.ref.png
deleted file mode 100644 (file)
index f3d9f0d..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.image16.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.mask.argb32.ref.png b/test/reference/ft-show-glyphs-positioning.mask.argb32.ref.png
deleted file mode 100644 (file)
index af6dcaf..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.mask.rgb24.ref.png b/test/reference/ft-show-glyphs-positioning.mask.rgb24.ref.png
deleted file mode 100644 (file)
index af6dcaf..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.pdf.ref.png b/test/reference/ft-show-glyphs-positioning.pdf.ref.png
deleted file mode 100644 (file)
index 0d62fd3..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.pdf.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.ps2.ref.png b/test/reference/ft-show-glyphs-positioning.ps2.ref.png
deleted file mode 100644 (file)
index c5fbf30..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.ps2.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.ps3.ref.png b/test/reference/ft-show-glyphs-positioning.ps3.ref.png
deleted file mode 100644 (file)
index c5fbf30..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.ps3.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.ref.png b/test/reference/ft-show-glyphs-positioning.ref.png
deleted file mode 100644 (file)
index b49ed47..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.rgb24.ref.png b/test/reference/ft-show-glyphs-positioning.rgb24.ref.png
deleted file mode 100644 (file)
index af6dcaf..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.svg.ref.png b/test/reference/ft-show-glyphs-positioning.svg.ref.png
deleted file mode 100644 (file)
index 04fe674..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.svg.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png b/test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png
deleted file mode 100644 (file)
index af6dcaf..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.traps.ref.png b/test/reference/ft-show-glyphs-positioning.traps.ref.png
deleted file mode 100644 (file)
index af6dcaf..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.traps.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png b/test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png
deleted file mode 100644 (file)
index af6dcaf..0000000
Binary files a/test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.argb32.ref.png b/test/reference/ft-show-glyphs-table.argb32.ref.png
deleted file mode 100644 (file)
index ed69124..0000000
Binary files a/test/reference/ft-show-glyphs-table.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.base.argb32.ref.png b/test/reference/ft-show-glyphs-table.base.argb32.ref.png
deleted file mode 100644 (file)
index ed69124..0000000
Binary files a/test/reference/ft-show-glyphs-table.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.base.rgb24.ref.png b/test/reference/ft-show-glyphs-table.base.rgb24.ref.png
deleted file mode 100644 (file)
index ed69124..0000000
Binary files a/test/reference/ft-show-glyphs-table.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.image16.ref.png b/test/reference/ft-show-glyphs-table.image16.ref.png
deleted file mode 100644 (file)
index af01a49..0000000
Binary files a/test/reference/ft-show-glyphs-table.image16.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.mask.argb32.ref.png b/test/reference/ft-show-glyphs-table.mask.argb32.ref.png
deleted file mode 100644 (file)
index ed69124..0000000
Binary files a/test/reference/ft-show-glyphs-table.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.mask.rgb24.ref.png b/test/reference/ft-show-glyphs-table.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ed69124..0000000
Binary files a/test/reference/ft-show-glyphs-table.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.ps2.ref.png b/test/reference/ft-show-glyphs-table.ps2.ref.png
deleted file mode 100644 (file)
index 5143663..0000000
Binary files a/test/reference/ft-show-glyphs-table.ps2.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.ps3.ref.png b/test/reference/ft-show-glyphs-table.ps3.ref.png
deleted file mode 100644 (file)
index 5143663..0000000
Binary files a/test/reference/ft-show-glyphs-table.ps3.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.quartz.xfail.png b/test/reference/ft-show-glyphs-table.quartz.xfail.png
deleted file mode 100644 (file)
index 0e131b2..0000000
Binary files a/test/reference/ft-show-glyphs-table.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.ref.png b/test/reference/ft-show-glyphs-table.ref.png
deleted file mode 100644 (file)
index c762dc7..0000000
Binary files a/test/reference/ft-show-glyphs-table.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.rgb24.ref.png b/test/reference/ft-show-glyphs-table.rgb24.ref.png
deleted file mode 100644 (file)
index ed69124..0000000
Binary files a/test/reference/ft-show-glyphs-table.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.svg.ref.png b/test/reference/ft-show-glyphs-table.svg.ref.png
deleted file mode 100644 (file)
index e0654b7..0000000
Binary files a/test/reference/ft-show-glyphs-table.svg.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.traps.argb32.ref.png b/test/reference/ft-show-glyphs-table.traps.argb32.ref.png
deleted file mode 100644 (file)
index ed69124..0000000
Binary files a/test/reference/ft-show-glyphs-table.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.traps.ref.png b/test/reference/ft-show-glyphs-table.traps.ref.png
deleted file mode 100644 (file)
index ed69124..0000000
Binary files a/test/reference/ft-show-glyphs-table.traps.ref.png and /dev/null differ
diff --git a/test/reference/ft-show-glyphs-table.traps.rgb24.ref.png b/test/reference/ft-show-glyphs-table.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ed69124..0000000
Binary files a/test/reference/ft-show-glyphs-table.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.argb32.ref.png b/test/reference/ft-text-antialias-none.argb32.ref.png
deleted file mode 100644 (file)
index c638c9e..0000000
Binary files a/test/reference/ft-text-antialias-none.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.base.argb32.ref.png b/test/reference/ft-text-antialias-none.base.argb32.ref.png
deleted file mode 100644 (file)
index c638c9e..0000000
Binary files a/test/reference/ft-text-antialias-none.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.base.rgb24.ref.png b/test/reference/ft-text-antialias-none.base.rgb24.ref.png
deleted file mode 100644 (file)
index c638c9e..0000000
Binary files a/test/reference/ft-text-antialias-none.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.mask.argb32.ref.png b/test/reference/ft-text-antialias-none.mask.argb32.ref.png
deleted file mode 100644 (file)
index c638c9e..0000000
Binary files a/test/reference/ft-text-antialias-none.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.mask.rgb24.ref.png b/test/reference/ft-text-antialias-none.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c638c9e..0000000
Binary files a/test/reference/ft-text-antialias-none.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.ps2.argb32.ref.png b/test/reference/ft-text-antialias-none.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 4f7ee83..0000000
Binary files a/test/reference/ft-text-antialias-none.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.ps3.argb32.ref.png b/test/reference/ft-text-antialias-none.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 4f7ee83..0000000
Binary files a/test/reference/ft-text-antialias-none.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.ref.png b/test/reference/ft-text-antialias-none.ref.png
deleted file mode 100644 (file)
index cb0c132..0000000
Binary files a/test/reference/ft-text-antialias-none.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.rgb24.ref.png b/test/reference/ft-text-antialias-none.rgb24.ref.png
deleted file mode 100644 (file)
index c638c9e..0000000
Binary files a/test/reference/ft-text-antialias-none.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.traps.argb32.ref.png b/test/reference/ft-text-antialias-none.traps.argb32.ref.png
deleted file mode 100644 (file)
index c638c9e..0000000
Binary files a/test/reference/ft-text-antialias-none.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-antialias-none.traps.rgb24.ref.png b/test/reference/ft-text-antialias-none.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c638c9e..0000000
Binary files a/test/reference/ft-text-antialias-none.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.argb32.ref.png b/test/reference/ft-text-vertical-layout-type1.argb32.ref.png
deleted file mode 100644 (file)
index 4941965..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.base.argb32.ref.png b/test/reference/ft-text-vertical-layout-type1.base.argb32.ref.png
deleted file mode 100644 (file)
index 09c4cbb..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.base.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type1.base.rgb24.ref.png
deleted file mode 100644 (file)
index 09c4cbb..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.image16.ref.png b/test/reference/ft-text-vertical-layout-type1.image16.ref.png
deleted file mode 100644 (file)
index 4985907..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.image16.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.mask.argb32.ref.png b/test/reference/ft-text-vertical-layout-type1.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4941965..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.mask.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type1.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4941965..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.pdf.ref.png b/test/reference/ft-text-vertical-layout-type1.pdf.ref.png
deleted file mode 100644 (file)
index 1f52ff2..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.pdf.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.ps.ref.png b/test/reference/ft-text-vertical-layout-type1.ps.ref.png
deleted file mode 100644 (file)
index bb99239..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.ps.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.quartz.xfail.png b/test/reference/ft-text-vertical-layout-type1.quartz.xfail.png
deleted file mode 100644 (file)
index a603b35..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.ref.png b/test/reference/ft-text-vertical-layout-type1.ref.png
deleted file mode 100644 (file)
index 8b1d96a..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type1.rgb24.ref.png
deleted file mode 100644 (file)
index 4941965..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.svg.ref.png b/test/reference/ft-text-vertical-layout-type1.svg.ref.png
deleted file mode 100644 (file)
index 0be400c..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.svg.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.traps.argb32.ref.png b/test/reference/ft-text-vertical-layout-type1.traps.argb32.ref.png
deleted file mode 100644 (file)
index 09c4cbb..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.traps.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type1.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 09c4cbb..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.xfail.png b/test/reference/ft-text-vertical-layout-type1.xfail.png
deleted file mode 100644 (file)
index 063bbd9..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.xfail.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.argb32.ref.png b/test/reference/ft-text-vertical-layout-type3.argb32.ref.png
deleted file mode 100644 (file)
index 7f7b428..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.base.argb32.ref.png b/test/reference/ft-text-vertical-layout-type3.base.argb32.ref.png
deleted file mode 100644 (file)
index 82374b7..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.base.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type3.base.rgb24.ref.png
deleted file mode 100644 (file)
index 82374b7..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.image16.ref.png b/test/reference/ft-text-vertical-layout-type3.image16.ref.png
deleted file mode 100644 (file)
index a5c3c11..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.image16.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.mask.argb32.ref.png b/test/reference/ft-text-vertical-layout-type3.mask.argb32.ref.png
deleted file mode 100644 (file)
index 7f7b428..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.mask.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type3.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 7f7b428..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.pdf.ref.png b/test/reference/ft-text-vertical-layout-type3.pdf.ref.png
deleted file mode 100644 (file)
index a05ec1d..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.pdf.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.ps.ref.png b/test/reference/ft-text-vertical-layout-type3.ps.ref.png
deleted file mode 100644 (file)
index f8aafa2..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.ps.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.quartz.ref.png b/test/reference/ft-text-vertical-layout-type3.quartz.ref.png
deleted file mode 100644 (file)
index 4a063f3..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.quartz.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.ref.png b/test/reference/ft-text-vertical-layout-type3.ref.png
deleted file mode 100644 (file)
index 13651aa..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type3.rgb24.ref.png
deleted file mode 100644 (file)
index 7f7b428..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.svg.ref.png b/test/reference/ft-text-vertical-layout-type3.svg.ref.png
deleted file mode 100644 (file)
index cddb955..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.svg.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.traps.argb32.ref.png b/test/reference/ft-text-vertical-layout-type3.traps.argb32.ref.png
deleted file mode 100644 (file)
index 82374b7..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.traps.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type3.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 82374b7..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/get-group-target.argb32.ref.png b/test/reference/get-group-target.argb32.ref.png
deleted file mode 100644 (file)
index d162775..0000000
Binary files a/test/reference/get-group-target.argb32.ref.png and /dev/null differ
diff --git a/test/reference/get-group-target.base.argb32.ref.png b/test/reference/get-group-target.base.argb32.ref.png
deleted file mode 100644 (file)
index d162775..0000000
Binary files a/test/reference/get-group-target.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/get-group-target.base.rgb24.ref.png b/test/reference/get-group-target.base.rgb24.ref.png
deleted file mode 100644 (file)
index d162775..0000000
Binary files a/test/reference/get-group-target.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/get-group-target.egl.argb32.ref.png b/test/reference/get-group-target.egl.argb32.ref.png
deleted file mode 100644 (file)
index d162775..0000000
Binary files a/test/reference/get-group-target.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/get-group-target.mask.argb32.ref.png b/test/reference/get-group-target.mask.argb32.ref.png
deleted file mode 100644 (file)
index d162775..0000000
Binary files a/test/reference/get-group-target.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/get-group-target.mask.rgb24.ref.png b/test/reference/get-group-target.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d162775..0000000
Binary files a/test/reference/get-group-target.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/get-group-target.ref.png b/test/reference/get-group-target.ref.png
deleted file mode 100644 (file)
index 316a93f..0000000
Binary files a/test/reference/get-group-target.ref.png and /dev/null differ
diff --git a/test/reference/get-group-target.rgb24.ref.png b/test/reference/get-group-target.rgb24.ref.png
deleted file mode 100644 (file)
index d162775..0000000
Binary files a/test/reference/get-group-target.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/get-group-target.traps.argb32.ref.png b/test/reference/get-group-target.traps.argb32.ref.png
deleted file mode 100644 (file)
index d162775..0000000
Binary files a/test/reference/get-group-target.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/get-group-target.traps.rgb24.ref.png b/test/reference/get-group-target.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d162775..0000000
Binary files a/test/reference/get-group-target.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gl-surface-source.argb32.ref.png b/test/reference/gl-surface-source.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/gl-surface-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gl-surface-source.base.argb32.ref.png b/test/reference/gl-surface-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/gl-surface-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gl-surface-source.base.rgb24.ref.png b/test/reference/gl-surface-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/gl-surface-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gl-surface-source.image16.ref.png b/test/reference/gl-surface-source.image16.ref.png
deleted file mode 100644 (file)
index 2a7460e..0000000
Binary files a/test/reference/gl-surface-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/gl-surface-source.mask.argb32.ref.png b/test/reference/gl-surface-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/gl-surface-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gl-surface-source.mask.rgb24.ref.png b/test/reference/gl-surface-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/gl-surface-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gl-surface-source.rgb24.ref.png b/test/reference/gl-surface-source.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/gl-surface-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gl-surface-source.traps.argb32.ref.png b/test/reference/gl-surface-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/gl-surface-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gl-surface-source.traps.rgb24.ref.png b/test/reference/gl-surface-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/gl-surface-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.argb32.ref.png b/test/reference/glyph-cache-pressure.argb32.ref.png
deleted file mode 100644 (file)
index a6e1b06..0000000
Binary files a/test/reference/glyph-cache-pressure.argb32.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.base.argb32.ref.png b/test/reference/glyph-cache-pressure.base.argb32.ref.png
deleted file mode 100644 (file)
index a6e1b06..0000000
Binary files a/test/reference/glyph-cache-pressure.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.base.rgb24.ref.png b/test/reference/glyph-cache-pressure.base.rgb24.ref.png
deleted file mode 100644 (file)
index a6e1b06..0000000
Binary files a/test/reference/glyph-cache-pressure.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.image16.ref.png b/test/reference/glyph-cache-pressure.image16.ref.png
deleted file mode 100644 (file)
index f3985bd..0000000
Binary files a/test/reference/glyph-cache-pressure.image16.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.mask.argb32.ref.png b/test/reference/glyph-cache-pressure.mask.argb32.ref.png
deleted file mode 100644 (file)
index a6e1b06..0000000
Binary files a/test/reference/glyph-cache-pressure.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.mask.rgb24.ref.png b/test/reference/glyph-cache-pressure.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a6e1b06..0000000
Binary files a/test/reference/glyph-cache-pressure.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.ps2.ref.png b/test/reference/glyph-cache-pressure.ps2.ref.png
deleted file mode 100644 (file)
index 88fa447..0000000
Binary files a/test/reference/glyph-cache-pressure.ps2.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.ps3.ref.png b/test/reference/glyph-cache-pressure.ps3.ref.png
deleted file mode 100644 (file)
index 88fa447..0000000
Binary files a/test/reference/glyph-cache-pressure.ps3.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.quartz.ref.png b/test/reference/glyph-cache-pressure.quartz.ref.png
deleted file mode 100644 (file)
index 6291e84..0000000
Binary files a/test/reference/glyph-cache-pressure.quartz.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.ref.png b/test/reference/glyph-cache-pressure.ref.png
deleted file mode 100644 (file)
index 14182f1..0000000
Binary files a/test/reference/glyph-cache-pressure.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.rgb24.ref.png b/test/reference/glyph-cache-pressure.rgb24.ref.png
deleted file mode 100644 (file)
index a6e1b06..0000000
Binary files a/test/reference/glyph-cache-pressure.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.traps.argb32.ref.png b/test/reference/glyph-cache-pressure.traps.argb32.ref.png
deleted file mode 100644 (file)
index a6e1b06..0000000
Binary files a/test/reference/glyph-cache-pressure.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.traps.ref.png b/test/reference/glyph-cache-pressure.traps.ref.png
deleted file mode 100644 (file)
index a6e1b06..0000000
Binary files a/test/reference/glyph-cache-pressure.traps.ref.png and /dev/null differ
diff --git a/test/reference/glyph-cache-pressure.traps.rgb24.ref.png b/test/reference/glyph-cache-pressure.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a6e1b06..0000000
Binary files a/test/reference/glyph-cache-pressure.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.argb32.ref.png b/test/reference/gradient-alpha.argb32.ref.png
deleted file mode 100644 (file)
index f64b26a..0000000
Binary files a/test/reference/gradient-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.base.argb32.ref.png b/test/reference/gradient-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index f64b26a..0000000
Binary files a/test/reference/gradient-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.base.rgb24.ref.png b/test/reference/gradient-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3c7258d..0000000
Binary files a/test/reference/gradient-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.egl.argb32.ref.png b/test/reference/gradient-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index d7c3890..0000000
Binary files a/test/reference/gradient-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.mask.argb32.ref.png b/test/reference/gradient-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index f64b26a..0000000
Binary files a/test/reference/gradient-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.mask.rgb24.ref.png b/test/reference/gradient-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3c7258d..0000000
Binary files a/test/reference/gradient-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.ps2.argb32.ref.png b/test/reference/gradient-alpha.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 37eafba..0000000
Binary files a/test/reference/gradient-alpha.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.ps2.rgb24.ref.png b/test/reference/gradient-alpha.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index 2432c29..0000000
Binary files a/test/reference/gradient-alpha.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.ps3.argb32.ref.png b/test/reference/gradient-alpha.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 37eafba..0000000
Binary files a/test/reference/gradient-alpha.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.ps3.rgb24.ref.png b/test/reference/gradient-alpha.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index 2432c29..0000000
Binary files a/test/reference/gradient-alpha.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.ref.png b/test/reference/gradient-alpha.ref.png
deleted file mode 100644 (file)
index 43a0509..0000000
Binary files a/test/reference/gradient-alpha.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.rgb24.ref.png b/test/reference/gradient-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 3c7258d..0000000
Binary files a/test/reference/gradient-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.traps.argb32.ref.png b/test/reference/gradient-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index f64b26a..0000000
Binary files a/test/reference/gradient-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-alpha.traps.rgb24.ref.png b/test/reference/gradient-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3c7258d..0000000
Binary files a/test/reference/gradient-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.argb32.ref.png b/test/reference/gradient-constant-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 7f49e2c..0000000
Binary files a/test/reference/gradient-constant-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.base.argb32.ref.png b/test/reference/gradient-constant-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 7f49e2c..0000000
Binary files a/test/reference/gradient-constant-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.base.rgb24.ref.png b/test/reference/gradient-constant-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 69cd596..0000000
Binary files a/test/reference/gradient-constant-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.egl.argb32.ref.png b/test/reference/gradient-constant-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6fab7cb..0000000
Binary files a/test/reference/gradient-constant-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.mask.argb32.ref.png b/test/reference/gradient-constant-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 7f49e2c..0000000
Binary files a/test/reference/gradient-constant-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.mask.rgb24.ref.png b/test/reference/gradient-constant-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 69cd596..0000000
Binary files a/test/reference/gradient-constant-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.ps3.ref.png b/test/reference/gradient-constant-alpha.ps3.ref.png
deleted file mode 100644 (file)
index 7089f4f..0000000
Binary files a/test/reference/gradient-constant-alpha.ps3.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.ps3.rgb24.ref.png b/test/reference/gradient-constant-alpha.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index 5962925..0000000
Binary files a/test/reference/gradient-constant-alpha.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.quartz.argb32.ref.png b/test/reference/gradient-constant-alpha.quartz.argb32.ref.png
deleted file mode 100644 (file)
index a426f5a..0000000
Binary files a/test/reference/gradient-constant-alpha.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.ref.png b/test/reference/gradient-constant-alpha.ref.png
deleted file mode 100644 (file)
index 9a24e8c..0000000
Binary files a/test/reference/gradient-constant-alpha.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.rgb24.ref.png b/test/reference/gradient-constant-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 69cd596..0000000
Binary files a/test/reference/gradient-constant-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.traps.argb32.ref.png b/test/reference/gradient-constant-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 7f49e2c..0000000
Binary files a/test/reference/gradient-constant-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-constant-alpha.traps.rgb24.ref.png b/test/reference/gradient-constant-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 69cd596..0000000
Binary files a/test/reference/gradient-constant-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops-mask.argb32.ref.png b/test/reference/gradient-zero-stops-mask.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/gradient-zero-stops-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops-mask.base.argb32.ref.png b/test/reference/gradient-zero-stops-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/gradient-zero-stops-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops-mask.base.rgb24.ref.png b/test/reference/gradient-zero-stops-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 21465ce..0000000
Binary files a/test/reference/gradient-zero-stops-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops-mask.egl.argb32.ref.png b/test/reference/gradient-zero-stops-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/gradient-zero-stops-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops-mask.mask.argb32.ref.png b/test/reference/gradient-zero-stops-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/gradient-zero-stops-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops-mask.mask.rgb24.ref.png b/test/reference/gradient-zero-stops-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 21465ce..0000000
Binary files a/test/reference/gradient-zero-stops-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops-mask.rgb24.ref.png b/test/reference/gradient-zero-stops-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 21465ce..0000000
Binary files a/test/reference/gradient-zero-stops-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops-mask.traps.argb32.ref.png b/test/reference/gradient-zero-stops-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/gradient-zero-stops-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops-mask.traps.rgb24.ref.png b/test/reference/gradient-zero-stops-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 21465ce..0000000
Binary files a/test/reference/gradient-zero-stops-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops.argb32.ref.png b/test/reference/gradient-zero-stops.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/gradient-zero-stops.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops.base.argb32.ref.png b/test/reference/gradient-zero-stops.base.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/gradient-zero-stops.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops.base.rgb24.ref.png b/test/reference/gradient-zero-stops.base.rgb24.ref.png
deleted file mode 100644 (file)
index 21465ce..0000000
Binary files a/test/reference/gradient-zero-stops.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops.egl.argb32.ref.png b/test/reference/gradient-zero-stops.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/gradient-zero-stops.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops.mask.argb32.ref.png b/test/reference/gradient-zero-stops.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/gradient-zero-stops.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops.mask.rgb24.ref.png b/test/reference/gradient-zero-stops.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 21465ce..0000000
Binary files a/test/reference/gradient-zero-stops.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops.ref.png b/test/reference/gradient-zero-stops.ref.png
deleted file mode 100644 (file)
index 3f18670..0000000
Binary files a/test/reference/gradient-zero-stops.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops.rgb24.ref.png b/test/reference/gradient-zero-stops.rgb24.ref.png
deleted file mode 100644 (file)
index 21465ce..0000000
Binary files a/test/reference/gradient-zero-stops.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops.traps.argb32.ref.png b/test/reference/gradient-zero-stops.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0a50f4c..0000000
Binary files a/test/reference/gradient-zero-stops.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/gradient-zero-stops.traps.rgb24.ref.png b/test/reference/gradient-zero-stops.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 21465ce..0000000
Binary files a/test/reference/gradient-zero-stops.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.argb32.ref.png b/test/reference/group-clip.argb32.ref.png
deleted file mode 100644 (file)
index 7b8a753..0000000
Binary files a/test/reference/group-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.base.argb32.ref.png b/test/reference/group-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 7b8a753..0000000
Binary files a/test/reference/group-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.base.rgb24.ref.png b/test/reference/group-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7b8a753..0000000
Binary files a/test/reference/group-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.egl.argb32.ref.png b/test/reference/group-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 5a71b56..0000000
Binary files a/test/reference/group-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.image16.ref.png b/test/reference/group-clip.image16.ref.png
deleted file mode 100644 (file)
index 98b66ef..0000000
Binary files a/test/reference/group-clip.image16.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.mask.argb32.ref.png b/test/reference/group-clip.mask.argb32.ref.png
deleted file mode 100644 (file)
index 7b8a753..0000000
Binary files a/test/reference/group-clip.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.mask.rgb24.ref.png b/test/reference/group-clip.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 7b8a753..0000000
Binary files a/test/reference/group-clip.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.ref.png b/test/reference/group-clip.ref.png
deleted file mode 100644 (file)
index 7b8a753..0000000
Binary files a/test/reference/group-clip.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.rgb24.ref.png b/test/reference/group-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 7b8a753..0000000
Binary files a/test/reference/group-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.traps.argb32.ref.png b/test/reference/group-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index 7b8a753..0000000
Binary files a/test/reference/group-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-clip.traps.rgb24.ref.png b/test/reference/group-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 7b8a753..0000000
Binary files a/test/reference/group-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-paint.argb32.ref.png b/test/reference/group-paint.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/group-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-paint.base.argb32.ref.png b/test/reference/group-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/group-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-paint.base.rgb24.ref.png b/test/reference/group-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/group-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-paint.egl.argb32.ref.png b/test/reference/group-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/group-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-paint.mask.argb32.ref.png b/test/reference/group-paint.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/group-paint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-paint.mask.rgb24.ref.png b/test/reference/group-paint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/group-paint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-paint.ref.png b/test/reference/group-paint.ref.png
deleted file mode 100644 (file)
index f2e111b..0000000
Binary files a/test/reference/group-paint.ref.png and /dev/null differ
diff --git a/test/reference/group-paint.rgb24.ref.png b/test/reference/group-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/group-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-paint.traps.argb32.ref.png b/test/reference/group-paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/group-paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-paint.traps.rgb24.ref.png b/test/reference/group-paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1ed070c..0000000
Binary files a/test/reference/group-paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.argb32.ref.png b/test/reference/group-unaligned.argb32.ref.png
deleted file mode 100644 (file)
index beb0ae2..0000000
Binary files a/test/reference/group-unaligned.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.base.argb32.ref.png b/test/reference/group-unaligned.base.argb32.ref.png
deleted file mode 100644 (file)
index 451e171..0000000
Binary files a/test/reference/group-unaligned.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.base.rgb24.ref.png b/test/reference/group-unaligned.base.rgb24.ref.png
deleted file mode 100644 (file)
index 451e171..0000000
Binary files a/test/reference/group-unaligned.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.egl.argb32.ref.png b/test/reference/group-unaligned.egl.argb32.ref.png
deleted file mode 100644 (file)
index cdaefd8..0000000
Binary files a/test/reference/group-unaligned.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.image16.ref.png b/test/reference/group-unaligned.image16.ref.png
deleted file mode 100644 (file)
index 6a60a6e..0000000
Binary files a/test/reference/group-unaligned.image16.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.mask.argb32.ref.png b/test/reference/group-unaligned.mask.argb32.ref.png
deleted file mode 100644 (file)
index beb0ae2..0000000
Binary files a/test/reference/group-unaligned.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.mask.rgb24.ref.png b/test/reference/group-unaligned.mask.rgb24.ref.png
deleted file mode 100644 (file)
index beb0ae2..0000000
Binary files a/test/reference/group-unaligned.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.ps.ref.png b/test/reference/group-unaligned.ps.ref.png
deleted file mode 100644 (file)
index f108998..0000000
Binary files a/test/reference/group-unaligned.ps.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.ps.rgb24.xfail.png b/test/reference/group-unaligned.ps.rgb24.xfail.png
deleted file mode 100644 (file)
index 5672cb0..0000000
Binary files a/test/reference/group-unaligned.ps.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/group-unaligned.quartz.ref.png b/test/reference/group-unaligned.quartz.ref.png
deleted file mode 100644 (file)
index 1711025..0000000
Binary files a/test/reference/group-unaligned.quartz.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.ref.png b/test/reference/group-unaligned.ref.png
deleted file mode 100644 (file)
index 700e6fd..0000000
Binary files a/test/reference/group-unaligned.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.rgb24.ref.png b/test/reference/group-unaligned.rgb24.ref.png
deleted file mode 100644 (file)
index beb0ae2..0000000
Binary files a/test/reference/group-unaligned.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.svg.argb32.xfail.png b/test/reference/group-unaligned.svg.argb32.xfail.png
deleted file mode 100644 (file)
index 01c34be..0000000
Binary files a/test/reference/group-unaligned.svg.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/group-unaligned.svg.rgb24.xfail.png b/test/reference/group-unaligned.svg.rgb24.xfail.png
deleted file mode 100644 (file)
index c0f1861..0000000
Binary files a/test/reference/group-unaligned.svg.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/group-unaligned.traps.argb32.ref.png b/test/reference/group-unaligned.traps.argb32.ref.png
deleted file mode 100644 (file)
index 451e171..0000000
Binary files a/test/reference/group-unaligned.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.traps.rgb24.ref.png b/test/reference/group-unaligned.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 451e171..0000000
Binary files a/test/reference/group-unaligned.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.xlib-fallback.ref.png b/test/reference/group-unaligned.xlib-fallback.ref.png
deleted file mode 100644 (file)
index 5ddbc16..0000000
Binary files a/test/reference/group-unaligned.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.argb32.ref.png b/test/reference/halo-transform.argb32.ref.png
deleted file mode 100644 (file)
index 96c6f42..0000000
Binary files a/test/reference/halo-transform.argb32.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.base.argb32.ref.png b/test/reference/halo-transform.base.argb32.ref.png
deleted file mode 100644 (file)
index 45cb90f..0000000
Binary files a/test/reference/halo-transform.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.base.rgb24.ref.png b/test/reference/halo-transform.base.rgb24.ref.png
deleted file mode 100644 (file)
index 45cb90f..0000000
Binary files a/test/reference/halo-transform.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.image16.ref.png b/test/reference/halo-transform.image16.ref.png
deleted file mode 100644 (file)
index b2268f0..0000000
Binary files a/test/reference/halo-transform.image16.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.mask.argb32.ref.png b/test/reference/halo-transform.mask.argb32.ref.png
deleted file mode 100644 (file)
index 96c6f42..0000000
Binary files a/test/reference/halo-transform.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.mask.rgb24.ref.png b/test/reference/halo-transform.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 96c6f42..0000000
Binary files a/test/reference/halo-transform.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.ps.ref.png b/test/reference/halo-transform.ps.ref.png
deleted file mode 100644 (file)
index 89e1f76..0000000
Binary files a/test/reference/halo-transform.ps.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.quartz.ref.png b/test/reference/halo-transform.quartz.ref.png
deleted file mode 100644 (file)
index 91a99ba..0000000
Binary files a/test/reference/halo-transform.quartz.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.ref.png b/test/reference/halo-transform.ref.png
deleted file mode 100644 (file)
index cd84718..0000000
Binary files a/test/reference/halo-transform.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.rgb24.ref.png b/test/reference/halo-transform.rgb24.ref.png
deleted file mode 100644 (file)
index 96c6f42..0000000
Binary files a/test/reference/halo-transform.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.traps.argb32.ref.png b/test/reference/halo-transform.traps.argb32.ref.png
deleted file mode 100644 (file)
index 96c6f42..0000000
Binary files a/test/reference/halo-transform.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.traps.ref.png b/test/reference/halo-transform.traps.ref.png
deleted file mode 100644 (file)
index 45cb90f..0000000
Binary files a/test/reference/halo-transform.traps.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.traps.rgb24.ref.png b/test/reference/halo-transform.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 96c6f42..0000000
Binary files a/test/reference/halo-transform.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/halo.argb32.ref.png b/test/reference/halo.argb32.ref.png
deleted file mode 100644 (file)
index 191ee47..0000000
Binary files a/test/reference/halo.argb32.ref.png and /dev/null differ
diff --git a/test/reference/halo.base.argb32.ref.png b/test/reference/halo.base.argb32.ref.png
deleted file mode 100644 (file)
index c915a24..0000000
Binary files a/test/reference/halo.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/halo.base.rgb24.ref.png b/test/reference/halo.base.rgb24.ref.png
deleted file mode 100644 (file)
index c915a24..0000000
Binary files a/test/reference/halo.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/halo.image16.ref.png b/test/reference/halo.image16.ref.png
deleted file mode 100644 (file)
index a813cd9..0000000
Binary files a/test/reference/halo.image16.ref.png and /dev/null differ
diff --git a/test/reference/halo.mask.argb32.ref.png b/test/reference/halo.mask.argb32.ref.png
deleted file mode 100644 (file)
index 191ee47..0000000
Binary files a/test/reference/halo.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/halo.mask.rgb24.ref.png b/test/reference/halo.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 191ee47..0000000
Binary files a/test/reference/halo.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/halo.ps.ref.png b/test/reference/halo.ps.ref.png
deleted file mode 100644 (file)
index 1426d2e..0000000
Binary files a/test/reference/halo.ps.ref.png and /dev/null differ
diff --git a/test/reference/halo.quartz.ref.png b/test/reference/halo.quartz.ref.png
deleted file mode 100644 (file)
index c5cf999..0000000
Binary files a/test/reference/halo.quartz.ref.png and /dev/null differ
diff --git a/test/reference/halo.ref.png b/test/reference/halo.ref.png
deleted file mode 100644 (file)
index ebe0c61..0000000
Binary files a/test/reference/halo.ref.png and /dev/null differ
diff --git a/test/reference/halo.rgb24.ref.png b/test/reference/halo.rgb24.ref.png
deleted file mode 100644 (file)
index 191ee47..0000000
Binary files a/test/reference/halo.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/halo.traps.argb32.ref.png b/test/reference/halo.traps.argb32.ref.png
deleted file mode 100644 (file)
index 191ee47..0000000
Binary files a/test/reference/halo.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/halo.traps.ref.png b/test/reference/halo.traps.ref.png
deleted file mode 100644 (file)
index c915a24..0000000
Binary files a/test/reference/halo.traps.ref.png and /dev/null differ
diff --git a/test/reference/halo.traps.rgb24.ref.png b/test/reference/halo.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 191ee47..0000000
Binary files a/test/reference/halo.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/hatchings.base.argb32.ref.png b/test/reference/hatchings.base.argb32.ref.png
deleted file mode 100644 (file)
index 73e156d..0000000
Binary files a/test/reference/hatchings.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/hatchings.base.rgb24.ref.png b/test/reference/hatchings.base.rgb24.ref.png
deleted file mode 100644 (file)
index 73e156d..0000000
Binary files a/test/reference/hatchings.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/hatchings.egl.argb32.ref.png b/test/reference/hatchings.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3f041b0..0000000
Binary files a/test/reference/hatchings.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/hatchings.mask.argb32.ref.png b/test/reference/hatchings.mask.argb32.ref.png
deleted file mode 100644 (file)
index 77fe853..0000000
Binary files a/test/reference/hatchings.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/hatchings.mask.rgb24.ref.png b/test/reference/hatchings.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 77fe853..0000000
Binary files a/test/reference/hatchings.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/hatchings.ref.png b/test/reference/hatchings.ref.png
deleted file mode 100644 (file)
index d4c18b4..0000000
Binary files a/test/reference/hatchings.ref.png and /dev/null differ
diff --git a/test/reference/hatchings.traps.argb32.ref.png b/test/reference/hatchings.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3b72949..0000000
Binary files a/test/reference/hatchings.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/hatchings.traps.rgb24.ref.png b/test/reference/hatchings.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3b72949..0000000
Binary files a/test/reference/hatchings.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/horizontal-clip.argb32.ref.png b/test/reference/horizontal-clip.argb32.ref.png
deleted file mode 100644 (file)
index 43dd07f..0000000
Binary files a/test/reference/horizontal-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/horizontal-clip.base.argb32.ref.png b/test/reference/horizontal-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 43dd07f..0000000
Binary files a/test/reference/horizontal-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/horizontal-clip.base.rgb24.ref.png b/test/reference/horizontal-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 43dd07f..0000000
Binary files a/test/reference/horizontal-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/horizontal-clip.egl.argb32.ref.png b/test/reference/horizontal-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 43dd07f..0000000
Binary files a/test/reference/horizontal-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/horizontal-clip.mask.argb32.ref.png b/test/reference/horizontal-clip.mask.argb32.ref.png
deleted file mode 100644 (file)
index 43dd07f..0000000
Binary files a/test/reference/horizontal-clip.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/horizontal-clip.mask.rgb24.ref.png b/test/reference/horizontal-clip.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 43dd07f..0000000
Binary files a/test/reference/horizontal-clip.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/horizontal-clip.ref.png b/test/reference/horizontal-clip.ref.png
deleted file mode 100644 (file)
index f07e035..0000000
Binary files a/test/reference/horizontal-clip.ref.png and /dev/null differ
diff --git a/test/reference/horizontal-clip.rgb24.ref.png b/test/reference/horizontal-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 43dd07f..0000000
Binary files a/test/reference/horizontal-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/horizontal-clip.traps.argb32.ref.png b/test/reference/horizontal-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index 43dd07f..0000000
Binary files a/test/reference/horizontal-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/horizontal-clip.traps.rgb24.ref.png b/test/reference/horizontal-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 43dd07f..0000000
Binary files a/test/reference/horizontal-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.argb32.ref.png b/test/reference/huge-linear.argb32.ref.png
deleted file mode 100644 (file)
index f89217b..0000000
Binary files a/test/reference/huge-linear.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.base.argb32.ref.png b/test/reference/huge-linear.base.argb32.ref.png
deleted file mode 100644 (file)
index f89217b..0000000
Binary files a/test/reference/huge-linear.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.base.rgb24.ref.png b/test/reference/huge-linear.base.rgb24.ref.png
deleted file mode 100644 (file)
index f89217b..0000000
Binary files a/test/reference/huge-linear.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.egl.argb32.ref.png b/test/reference/huge-linear.egl.argb32.ref.png
deleted file mode 100644 (file)
index a85078d..0000000
Binary files a/test/reference/huge-linear.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.image16.ref.png b/test/reference/huge-linear.image16.ref.png
deleted file mode 100644 (file)
index 56dc58a..0000000
Binary files a/test/reference/huge-linear.image16.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.mask.argb32.ref.png b/test/reference/huge-linear.mask.argb32.ref.png
deleted file mode 100644 (file)
index f89217b..0000000
Binary files a/test/reference/huge-linear.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.mask.rgb24.ref.png b/test/reference/huge-linear.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f89217b..0000000
Binary files a/test/reference/huge-linear.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.pdf.ref.png b/test/reference/huge-linear.pdf.ref.png
deleted file mode 100644 (file)
index 8313470..0000000
Binary files a/test/reference/huge-linear.pdf.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.ps3.ref.png b/test/reference/huge-linear.ps3.ref.png
deleted file mode 100644 (file)
index d55239b..0000000
Binary files a/test/reference/huge-linear.ps3.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.quartz.ref.png b/test/reference/huge-linear.quartz.ref.png
deleted file mode 100644 (file)
index 3d12f7b..0000000
Binary files a/test/reference/huge-linear.quartz.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.ref.png b/test/reference/huge-linear.ref.png
deleted file mode 100644 (file)
index 68f86b4..0000000
Binary files a/test/reference/huge-linear.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.rgb24.ref.png b/test/reference/huge-linear.rgb24.ref.png
deleted file mode 100644 (file)
index f89217b..0000000
Binary files a/test/reference/huge-linear.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.traps.argb32.ref.png b/test/reference/huge-linear.traps.argb32.ref.png
deleted file mode 100644 (file)
index f89217b..0000000
Binary files a/test/reference/huge-linear.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-linear.traps.rgb24.ref.png b/test/reference/huge-linear.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f89217b..0000000
Binary files a/test/reference/huge-linear.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.argb32.ref.png b/test/reference/huge-radial.argb32.ref.png
deleted file mode 100644 (file)
index 541bb30..0000000
Binary files a/test/reference/huge-radial.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.base.argb32.ref.png b/test/reference/huge-radial.base.argb32.ref.png
deleted file mode 100644 (file)
index 541bb30..0000000
Binary files a/test/reference/huge-radial.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.base.rgb24.ref.png b/test/reference/huge-radial.base.rgb24.ref.png
deleted file mode 100644 (file)
index 541bb30..0000000
Binary files a/test/reference/huge-radial.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.egl.argb32.ref.png b/test/reference/huge-radial.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0648e5f..0000000
Binary files a/test/reference/huge-radial.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.image16.ref.png b/test/reference/huge-radial.image16.ref.png
deleted file mode 100644 (file)
index 3913190..0000000
Binary files a/test/reference/huge-radial.image16.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.mask.argb32.ref.png b/test/reference/huge-radial.mask.argb32.ref.png
deleted file mode 100644 (file)
index 541bb30..0000000
Binary files a/test/reference/huge-radial.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.mask.rgb24.ref.png b/test/reference/huge-radial.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 541bb30..0000000
Binary files a/test/reference/huge-radial.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.pdf.argb32.ref.png b/test/reference/huge-radial.pdf.argb32.ref.png
deleted file mode 100644 (file)
index aa710ec..0000000
Binary files a/test/reference/huge-radial.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.pdf.rgb24.ref.png b/test/reference/huge-radial.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index 8cebd80..0000000
Binary files a/test/reference/huge-radial.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.ps3.ref.png b/test/reference/huge-radial.ps3.ref.png
deleted file mode 100644 (file)
index c231948..0000000
Binary files a/test/reference/huge-radial.ps3.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.quartz.ref.png b/test/reference/huge-radial.quartz.ref.png
deleted file mode 100644 (file)
index d823f86..0000000
Binary files a/test/reference/huge-radial.quartz.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.ref.png b/test/reference/huge-radial.ref.png
deleted file mode 100644 (file)
index 541bb30..0000000
Binary files a/test/reference/huge-radial.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.rgb24.ref.png b/test/reference/huge-radial.rgb24.ref.png
deleted file mode 100644 (file)
index 541bb30..0000000
Binary files a/test/reference/huge-radial.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.traps.argb32.ref.png b/test/reference/huge-radial.traps.argb32.ref.png
deleted file mode 100644 (file)
index 541bb30..0000000
Binary files a/test/reference/huge-radial.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/huge-radial.traps.rgb24.ref.png b/test/reference/huge-radial.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 541bb30..0000000
Binary files a/test/reference/huge-radial.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.argb32.ref.png b/test/reference/image-bug-710072-aligned.argb32.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.base.argb32.ref.png b/test/reference/image-bug-710072-aligned.base.argb32.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.base.rgb24.ref.png b/test/reference/image-bug-710072-aligned.base.rgb24.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.egl.argb32.ref.png b/test/reference/image-bug-710072-aligned.egl.argb32.ref.png
deleted file mode 100644 (file)
index 78e53d6..0000000
Binary files a/test/reference/image-bug-710072-aligned.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.mask.argb32.ref.png b/test/reference/image-bug-710072-aligned.mask.argb32.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.mask.rgb24.ref.png b/test/reference/image-bug-710072-aligned.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.ref.png b/test/reference/image-bug-710072-aligned.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.rgb24.ref.png b/test/reference/image-bug-710072-aligned.rgb24.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.traps.argb32.ref.png b/test/reference/image-bug-710072-aligned.traps.argb32.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.traps.rgb24.ref.png b/test/reference/image-bug-710072-aligned.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.xlib-fallback.rgb24.ref.png b/test/reference/image-bug-710072-aligned.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-aligned.xlib-window.rgb24.ref.png b/test/reference/image-bug-710072-aligned.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 42abd20..0000000
Binary files a/test/reference/image-bug-710072-aligned.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.argb32.ref.png b/test/reference/image-bug-710072-unaligned.argb32.ref.png
deleted file mode 100644 (file)
index 13efa30..0000000
Binary files a/test/reference/image-bug-710072-unaligned.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.base.argb32.ref.png b/test/reference/image-bug-710072-unaligned.base.argb32.ref.png
deleted file mode 100644 (file)
index 0a5a6e6..0000000
Binary files a/test/reference/image-bug-710072-unaligned.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.base.rgb24.ref.png b/test/reference/image-bug-710072-unaligned.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0a5a6e6..0000000
Binary files a/test/reference/image-bug-710072-unaligned.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.egl.argb32.ref.png b/test/reference/image-bug-710072-unaligned.egl.argb32.ref.png
deleted file mode 100644 (file)
index 396da65..0000000
Binary files a/test/reference/image-bug-710072-unaligned.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.mask.argb32.ref.png b/test/reference/image-bug-710072-unaligned.mask.argb32.ref.png
deleted file mode 100644 (file)
index 13efa30..0000000
Binary files a/test/reference/image-bug-710072-unaligned.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.mask.rgb24.ref.png b/test/reference/image-bug-710072-unaligned.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 13efa30..0000000
Binary files a/test/reference/image-bug-710072-unaligned.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.ref.png b/test/reference/image-bug-710072-unaligned.ref.png
deleted file mode 100644 (file)
index 13efa30..0000000
Binary files a/test/reference/image-bug-710072-unaligned.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.rgb24.ref.png b/test/reference/image-bug-710072-unaligned.rgb24.ref.png
deleted file mode 100644 (file)
index 13efa30..0000000
Binary files a/test/reference/image-bug-710072-unaligned.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.traps.argb32.ref.png b/test/reference/image-bug-710072-unaligned.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0a5a6e6..0000000
Binary files a/test/reference/image-bug-710072-unaligned.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.traps.rgb24.ref.png b/test/reference/image-bug-710072-unaligned.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0a5a6e6..0000000
Binary files a/test/reference/image-bug-710072-unaligned.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.xlib-fallback.rgb24.ref.png b/test/reference/image-bug-710072-unaligned.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 0a5a6e6..0000000
Binary files a/test/reference/image-bug-710072-unaligned.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.xlib-window.rgb24.ref.png b/test/reference/image-bug-710072-unaligned.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 0a5a6e6..0000000
Binary files a/test/reference/image-bug-710072-unaligned.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.argb32.ref.png b/test/reference/image-surface-source.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/image-surface-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.base.argb32.ref.png b/test/reference/image-surface-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/image-surface-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.base.rgb24.ref.png b/test/reference/image-surface-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/image-surface-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.egl.argb32.ref.png b/test/reference/image-surface-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 908a673..0000000
Binary files a/test/reference/image-surface-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.image16.ref.png b/test/reference/image-surface-source.image16.ref.png
deleted file mode 100644 (file)
index 2a7460e..0000000
Binary files a/test/reference/image-surface-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.mask.argb32.ref.png b/test/reference/image-surface-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/image-surface-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.mask.rgb24.ref.png b/test/reference/image-surface-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/image-surface-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.ps2.ref.png b/test/reference/image-surface-source.ps2.ref.png
deleted file mode 100644 (file)
index 1023158..0000000
Binary files a/test/reference/image-surface-source.ps2.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.ps3.ref.png b/test/reference/image-surface-source.ps3.ref.png
deleted file mode 100644 (file)
index 1023158..0000000
Binary files a/test/reference/image-surface-source.ps3.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.rgb24.ref.png b/test/reference/image-surface-source.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/image-surface-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.svg12.argb32.xfail.png b/test/reference/image-surface-source.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index 6ebcaf9..0000000
Binary files a/test/reference/image-surface-source.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/image-surface-source.svg12.rgb24.xfail.png b/test/reference/image-surface-source.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 6ebcaf9..0000000
Binary files a/test/reference/image-surface-source.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/image-surface-source.traps.argb32.ref.png b/test/reference/image-surface-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/image-surface-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.traps.rgb24.ref.png b/test/reference/image-surface-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/image-surface-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.xlib-fallback.rgb24.ref.png b/test/reference/image-surface-source.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/image-surface-source.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/image-surface-source.xlib-window.rgb24.ref.png b/test/reference/image-surface-source.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/image-surface-source.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.argb32.ref.png b/test/reference/implicit-close.argb32.ref.png
deleted file mode 100644 (file)
index f15f8a3..0000000
Binary files a/test/reference/implicit-close.argb32.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.base.argb32.ref.png b/test/reference/implicit-close.base.argb32.ref.png
deleted file mode 100644 (file)
index fdd7561..0000000
Binary files a/test/reference/implicit-close.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.base.rgb24.ref.png b/test/reference/implicit-close.base.rgb24.ref.png
deleted file mode 100644 (file)
index fdd7561..0000000
Binary files a/test/reference/implicit-close.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.egl.argb32.ref.png b/test/reference/implicit-close.egl.argb32.ref.png
deleted file mode 100644 (file)
index f15f8a3..0000000
Binary files a/test/reference/implicit-close.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.mask.argb32.ref.png b/test/reference/implicit-close.mask.argb32.ref.png
deleted file mode 100644 (file)
index f15f8a3..0000000
Binary files a/test/reference/implicit-close.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.mask.rgb24.ref.png b/test/reference/implicit-close.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f15f8a3..0000000
Binary files a/test/reference/implicit-close.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.ps.ref.png b/test/reference/implicit-close.ps.ref.png
deleted file mode 100644 (file)
index 66baf24..0000000
Binary files a/test/reference/implicit-close.ps.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.ref.png b/test/reference/implicit-close.ref.png
deleted file mode 100644 (file)
index f15f8a3..0000000
Binary files a/test/reference/implicit-close.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.rgb24.ref.png b/test/reference/implicit-close.rgb24.ref.png
deleted file mode 100644 (file)
index f15f8a3..0000000
Binary files a/test/reference/implicit-close.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.traps.argb32.ref.png b/test/reference/implicit-close.traps.argb32.ref.png
deleted file mode 100644 (file)
index fdd7561..0000000
Binary files a/test/reference/implicit-close.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/implicit-close.traps.rgb24.ref.png b/test/reference/implicit-close.traps.rgb24.ref.png
deleted file mode 100644 (file)
index fdd7561..0000000
Binary files a/test/reference/implicit-close.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.argb32.ref.png b/test/reference/infinite-join.argb32.ref.png
deleted file mode 100644 (file)
index 54a9112..0000000
Binary files a/test/reference/infinite-join.argb32.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.base.argb32.ref.png b/test/reference/infinite-join.base.argb32.ref.png
deleted file mode 100644 (file)
index 9e7572b..0000000
Binary files a/test/reference/infinite-join.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.base.rgb24.ref.png b/test/reference/infinite-join.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9e7572b..0000000
Binary files a/test/reference/infinite-join.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.egl.argb32.ref.png b/test/reference/infinite-join.egl.argb32.ref.png
deleted file mode 100644 (file)
index 54a9112..0000000
Binary files a/test/reference/infinite-join.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.mask.argb32.ref.png b/test/reference/infinite-join.mask.argb32.ref.png
deleted file mode 100644 (file)
index 54a9112..0000000
Binary files a/test/reference/infinite-join.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.mask.rgb24.ref.png b/test/reference/infinite-join.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 54a9112..0000000
Binary files a/test/reference/infinite-join.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.ps2.ref.png b/test/reference/infinite-join.ps2.ref.png
deleted file mode 100644 (file)
index 6fba8f4..0000000
Binary files a/test/reference/infinite-join.ps2.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.ps3.ref.png b/test/reference/infinite-join.ps3.ref.png
deleted file mode 100644 (file)
index 6fba8f4..0000000
Binary files a/test/reference/infinite-join.ps3.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.ref.png b/test/reference/infinite-join.ref.png
deleted file mode 100644 (file)
index 60bf49e..0000000
Binary files a/test/reference/infinite-join.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.rgb24.ref.png b/test/reference/infinite-join.rgb24.ref.png
deleted file mode 100644 (file)
index 54a9112..0000000
Binary files a/test/reference/infinite-join.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.traps.argb32.ref.png b/test/reference/infinite-join.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9e7572b..0000000
Binary files a/test/reference/infinite-join.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/infinite-join.traps.rgb24.ref.png b/test/reference/infinite-join.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 9e7572b..0000000
Binary files a/test/reference/infinite-join.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.base.argb32.ref.png b/test/reference/inverse-text.base.argb32.ref.png
deleted file mode 100644 (file)
index b7bbb97..0000000
Binary files a/test/reference/inverse-text.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.base.rgb24.ref.png b/test/reference/inverse-text.base.rgb24.ref.png
deleted file mode 100644 (file)
index b7bbb97..0000000
Binary files a/test/reference/inverse-text.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.image16.ref.png b/test/reference/inverse-text.image16.ref.png
deleted file mode 100644 (file)
index a24266d..0000000
Binary files a/test/reference/inverse-text.image16.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.mask.argb32.ref.png b/test/reference/inverse-text.mask.argb32.ref.png
deleted file mode 100644 (file)
index b7bbb97..0000000
Binary files a/test/reference/inverse-text.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.mask.rgb24.ref.png b/test/reference/inverse-text.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b7bbb97..0000000
Binary files a/test/reference/inverse-text.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.ps.ref.png b/test/reference/inverse-text.ps.ref.png
deleted file mode 100644 (file)
index 6043684..0000000
Binary files a/test/reference/inverse-text.ps.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.quartz.ref.png b/test/reference/inverse-text.quartz.ref.png
deleted file mode 100644 (file)
index df0ea57..0000000
Binary files a/test/reference/inverse-text.quartz.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.ref.png b/test/reference/inverse-text.ref.png
deleted file mode 100644 (file)
index 40defe6..0000000
Binary files a/test/reference/inverse-text.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.traps.argb32.ref.png b/test/reference/inverse-text.traps.argb32.ref.png
deleted file mode 100644 (file)
index b7bbb97..0000000
Binary files a/test/reference/inverse-text.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.traps.ref.png b/test/reference/inverse-text.traps.ref.png
deleted file mode 100644 (file)
index b7bbb97..0000000
Binary files a/test/reference/inverse-text.traps.ref.png and /dev/null differ
diff --git a/test/reference/inverse-text.traps.rgb24.ref.png b/test/reference/inverse-text.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b7bbb97..0000000
Binary files a/test/reference/inverse-text.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/inverted-clip.base.xfail.png b/test/reference/inverted-clip.base.xfail.png
deleted file mode 100644 (file)
index 080b782..0000000
Binary files a/test/reference/inverted-clip.base.xfail.png and /dev/null differ
diff --git a/test/reference/inverted-clip.traps.xfail.png b/test/reference/inverted-clip.traps.xfail.png
deleted file mode 100644 (file)
index 5962795..0000000
Binary files a/test/reference/inverted-clip.traps.xfail.png and /dev/null differ
diff --git a/test/reference/inverted-clip.xfail.png b/test/reference/inverted-clip.xfail.png
deleted file mode 100644 (file)
index 080b782..0000000
Binary files a/test/reference/inverted-clip.xfail.png and /dev/null differ
diff --git a/test/reference/joins-loop.argb32.ref.png b/test/reference/joins-loop.argb32.ref.png
deleted file mode 100644 (file)
index 8e3f25a..0000000
Binary files a/test/reference/joins-loop.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-loop.base.argb32.ref.png b/test/reference/joins-loop.base.argb32.ref.png
deleted file mode 100644 (file)
index d1d3cff..0000000
Binary files a/test/reference/joins-loop.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-loop.base.rgb24.ref.png b/test/reference/joins-loop.base.rgb24.ref.png
deleted file mode 100644 (file)
index d1d3cff..0000000
Binary files a/test/reference/joins-loop.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-loop.egl.argb32.ref.png b/test/reference/joins-loop.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1e8dfca..0000000
Binary files a/test/reference/joins-loop.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-loop.mask.argb32.ref.png b/test/reference/joins-loop.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8e3f25a..0000000
Binary files a/test/reference/joins-loop.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-loop.mask.rgb24.ref.png b/test/reference/joins-loop.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8e3f25a..0000000
Binary files a/test/reference/joins-loop.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-loop.ref.png b/test/reference/joins-loop.ref.png
deleted file mode 100644 (file)
index 144734e..0000000
Binary files a/test/reference/joins-loop.ref.png and /dev/null differ
diff --git a/test/reference/joins-loop.rgb24.ref.png b/test/reference/joins-loop.rgb24.ref.png
deleted file mode 100644 (file)
index 8e3f25a..0000000
Binary files a/test/reference/joins-loop.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-loop.traps.argb32.ref.png b/test/reference/joins-loop.traps.argb32.ref.png
deleted file mode 100644 (file)
index d1d3cff..0000000
Binary files a/test/reference/joins-loop.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-loop.traps.rgb24.ref.png b/test/reference/joins-loop.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d1d3cff..0000000
Binary files a/test/reference/joins-loop.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-retrace.argb32.ref.png b/test/reference/joins-retrace.argb32.ref.png
deleted file mode 100644 (file)
index 22b0ecf..0000000
Binary files a/test/reference/joins-retrace.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-retrace.base.argb32.ref.png b/test/reference/joins-retrace.base.argb32.ref.png
deleted file mode 100644 (file)
index a2e8bca..0000000
Binary files a/test/reference/joins-retrace.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-retrace.base.rgb24.ref.png b/test/reference/joins-retrace.base.rgb24.ref.png
deleted file mode 100644 (file)
index a2e8bca..0000000
Binary files a/test/reference/joins-retrace.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-retrace.egl.argb32.ref.png b/test/reference/joins-retrace.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4ac9dbf..0000000
Binary files a/test/reference/joins-retrace.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-retrace.mask.argb32.ref.png b/test/reference/joins-retrace.mask.argb32.ref.png
deleted file mode 100644 (file)
index 22b0ecf..0000000
Binary files a/test/reference/joins-retrace.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-retrace.mask.rgb24.ref.png b/test/reference/joins-retrace.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 22b0ecf..0000000
Binary files a/test/reference/joins-retrace.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-retrace.ref.png b/test/reference/joins-retrace.ref.png
deleted file mode 100644 (file)
index d036d7c..0000000
Binary files a/test/reference/joins-retrace.ref.png and /dev/null differ
diff --git a/test/reference/joins-retrace.rgb24.ref.png b/test/reference/joins-retrace.rgb24.ref.png
deleted file mode 100644 (file)
index 22b0ecf..0000000
Binary files a/test/reference/joins-retrace.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-retrace.traps.argb32.ref.png b/test/reference/joins-retrace.traps.argb32.ref.png
deleted file mode 100644 (file)
index a2e8bca..0000000
Binary files a/test/reference/joins-retrace.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-retrace.traps.rgb24.ref.png b/test/reference/joins-retrace.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a2e8bca..0000000
Binary files a/test/reference/joins-retrace.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-star.argb32.ref.png b/test/reference/joins-star.argb32.ref.png
deleted file mode 100644 (file)
index 76a541c..0000000
Binary files a/test/reference/joins-star.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-star.base.argb32.ref.png b/test/reference/joins-star.base.argb32.ref.png
deleted file mode 100644 (file)
index 595f96a..0000000
Binary files a/test/reference/joins-star.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-star.base.rgb24.ref.png b/test/reference/joins-star.base.rgb24.ref.png
deleted file mode 100644 (file)
index 595f96a..0000000
Binary files a/test/reference/joins-star.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-star.egl.argb32.ref.png b/test/reference/joins-star.egl.argb32.ref.png
deleted file mode 100644 (file)
index f32031f..0000000
Binary files a/test/reference/joins-star.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-star.mask.argb32.ref.png b/test/reference/joins-star.mask.argb32.ref.png
deleted file mode 100644 (file)
index 76a541c..0000000
Binary files a/test/reference/joins-star.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-star.mask.rgb24.ref.png b/test/reference/joins-star.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 76a541c..0000000
Binary files a/test/reference/joins-star.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-star.ref.png b/test/reference/joins-star.ref.png
deleted file mode 100644 (file)
index 574778c..0000000
Binary files a/test/reference/joins-star.ref.png and /dev/null differ
diff --git a/test/reference/joins-star.rgb24.ref.png b/test/reference/joins-star.rgb24.ref.png
deleted file mode 100644 (file)
index 76a541c..0000000
Binary files a/test/reference/joins-star.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins-star.traps.argb32.ref.png b/test/reference/joins-star.traps.argb32.ref.png
deleted file mode 100644 (file)
index 595f96a..0000000
Binary files a/test/reference/joins-star.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins-star.traps.rgb24.ref.png b/test/reference/joins-star.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 595f96a..0000000
Binary files a/test/reference/joins-star.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins.argb32.ref.png b/test/reference/joins.argb32.ref.png
deleted file mode 100644 (file)
index a1d069d..0000000
Binary files a/test/reference/joins.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins.base.argb32.ref.png b/test/reference/joins.base.argb32.ref.png
deleted file mode 100644 (file)
index a0d632b..0000000
Binary files a/test/reference/joins.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins.base.rgb24.ref.png b/test/reference/joins.base.rgb24.ref.png
deleted file mode 100644 (file)
index a0d632b..0000000
Binary files a/test/reference/joins.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins.egl.argb32.ref.png b/test/reference/joins.egl.argb32.ref.png
deleted file mode 100644 (file)
index e8ee4a0..0000000
Binary files a/test/reference/joins.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins.image16.ref.png b/test/reference/joins.image16.ref.png
deleted file mode 100644 (file)
index 57f9bb1..0000000
Binary files a/test/reference/joins.image16.ref.png and /dev/null differ
diff --git a/test/reference/joins.mask.argb32.ref.png b/test/reference/joins.mask.argb32.ref.png
deleted file mode 100644 (file)
index a1d069d..0000000
Binary files a/test/reference/joins.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins.mask.rgb24.ref.png b/test/reference/joins.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a1d069d..0000000
Binary files a/test/reference/joins.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins.ps.ref.png b/test/reference/joins.ps.ref.png
deleted file mode 100644 (file)
index 0d5adea..0000000
Binary files a/test/reference/joins.ps.ref.png and /dev/null differ
diff --git a/test/reference/joins.quartz.ref.png b/test/reference/joins.quartz.ref.png
deleted file mode 100644 (file)
index 59b8fdb..0000000
Binary files a/test/reference/joins.quartz.ref.png and /dev/null differ
diff --git a/test/reference/joins.ref.png b/test/reference/joins.ref.png
deleted file mode 100644 (file)
index 6513023..0000000
Binary files a/test/reference/joins.ref.png and /dev/null differ
diff --git a/test/reference/joins.rgb24.ref.png b/test/reference/joins.rgb24.ref.png
deleted file mode 100644 (file)
index a1d069d..0000000
Binary files a/test/reference/joins.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/joins.traps.argb32.ref.png b/test/reference/joins.traps.argb32.ref.png
deleted file mode 100644 (file)
index a0d632b..0000000
Binary files a/test/reference/joins.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/joins.traps.rgb24.ref.png b/test/reference/joins.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a0d632b..0000000
Binary files a/test/reference/joins.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-clip.argb32.ref.png b/test/reference/large-clip.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/large-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-clip.base.argb32.ref.png b/test/reference/large-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/large-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-clip.base.rgb24.ref.png b/test/reference/large-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/large-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-clip.egl.argb32.ref.png b/test/reference/large-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/large-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-clip.mask.argb32.ref.png b/test/reference/large-clip.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/large-clip.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-clip.mask.rgb24.ref.png b/test/reference/large-clip.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/large-clip.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-clip.ref.png b/test/reference/large-clip.ref.png
deleted file mode 100644 (file)
index 9e46d2d..0000000
Binary files a/test/reference/large-clip.ref.png and /dev/null differ
diff --git a/test/reference/large-clip.rgb24.ref.png b/test/reference/large-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/large-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-clip.traps.argb32.ref.png b/test/reference/large-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/large-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-clip.traps.rgb24.ref.png b/test/reference/large-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/large-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-font.argb32.ref.png b/test/reference/large-font.argb32.ref.png
deleted file mode 100644 (file)
index 503061a..0000000
Binary files a/test/reference/large-font.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-font.base.argb32.ref.png b/test/reference/large-font.base.argb32.ref.png
deleted file mode 100644 (file)
index 503061a..0000000
Binary files a/test/reference/large-font.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-font.base.rgb24.ref.png b/test/reference/large-font.base.rgb24.ref.png
deleted file mode 100644 (file)
index 503061a..0000000
Binary files a/test/reference/large-font.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-font.egl.argb32.ref.png b/test/reference/large-font.egl.argb32.ref.png
deleted file mode 100644 (file)
index 710579a..0000000
Binary files a/test/reference/large-font.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-font.image16.ref.png b/test/reference/large-font.image16.ref.png
deleted file mode 100644 (file)
index d5d11a5..0000000
Binary files a/test/reference/large-font.image16.ref.png and /dev/null differ
diff --git a/test/reference/large-font.mask.argb32.ref.png b/test/reference/large-font.mask.argb32.ref.png
deleted file mode 100644 (file)
index 503061a..0000000
Binary files a/test/reference/large-font.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-font.mask.rgb24.ref.png b/test/reference/large-font.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 503061a..0000000
Binary files a/test/reference/large-font.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-font.ref.png b/test/reference/large-font.ref.png
deleted file mode 100644 (file)
index da5c431..0000000
Binary files a/test/reference/large-font.ref.png and /dev/null differ
diff --git a/test/reference/large-font.rgb24.ref.png b/test/reference/large-font.rgb24.ref.png
deleted file mode 100644 (file)
index 503061a..0000000
Binary files a/test/reference/large-font.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-font.traps.argb32.ref.png b/test/reference/large-font.traps.argb32.ref.png
deleted file mode 100644 (file)
index 503061a..0000000
Binary files a/test/reference/large-font.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-font.traps.rgb24.ref.png b/test/reference/large-font.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 503061a..0000000
Binary files a/test/reference/large-font.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-source-roi.argb32.ref.png b/test/reference/large-source-roi.argb32.ref.png
deleted file mode 100644 (file)
index 216a065..0000000
Binary files a/test/reference/large-source-roi.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-source-roi.base.argb32.ref.png b/test/reference/large-source-roi.base.argb32.ref.png
deleted file mode 100644 (file)
index 216a065..0000000
Binary files a/test/reference/large-source-roi.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-source-roi.base.rgb24.ref.png b/test/reference/large-source-roi.base.rgb24.ref.png
deleted file mode 100644 (file)
index 216a065..0000000
Binary files a/test/reference/large-source-roi.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-source-roi.egl.argb32.ref.png b/test/reference/large-source-roi.egl.argb32.ref.png
deleted file mode 100644 (file)
index 216a065..0000000
Binary files a/test/reference/large-source-roi.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-source-roi.mask.argb32.ref.png b/test/reference/large-source-roi.mask.argb32.ref.png
deleted file mode 100644 (file)
index 216a065..0000000
Binary files a/test/reference/large-source-roi.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-source-roi.mask.rgb24.ref.png b/test/reference/large-source-roi.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 216a065..0000000
Binary files a/test/reference/large-source-roi.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-source-roi.ref.png b/test/reference/large-source-roi.ref.png
deleted file mode 100644 (file)
index b8dc8b1..0000000
Binary files a/test/reference/large-source-roi.ref.png and /dev/null differ
diff --git a/test/reference/large-source-roi.rgb24.ref.png b/test/reference/large-source-roi.rgb24.ref.png
deleted file mode 100644 (file)
index 216a065..0000000
Binary files a/test/reference/large-source-roi.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-source-roi.traps.argb32.ref.png b/test/reference/large-source-roi.traps.argb32.ref.png
deleted file mode 100644 (file)
index 216a065..0000000
Binary files a/test/reference/large-source-roi.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-source-roi.traps.rgb24.ref.png b/test/reference/large-source-roi.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 216a065..0000000
Binary files a/test/reference/large-source-roi.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-source.argb32.ref.png b/test/reference/large-source.argb32.ref.png
deleted file mode 100644 (file)
index a54455f..0000000
Binary files a/test/reference/large-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-source.base.argb32.ref.png b/test/reference/large-source.base.argb32.ref.png
deleted file mode 100644 (file)
index a54455f..0000000
Binary files a/test/reference/large-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-source.base.rgb24.ref.png b/test/reference/large-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index a54455f..0000000
Binary files a/test/reference/large-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-source.egl.argb32.ref.png b/test/reference/large-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index a54455f..0000000
Binary files a/test/reference/large-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-source.mask.argb32.ref.png b/test/reference/large-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index a54455f..0000000
Binary files a/test/reference/large-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-source.mask.rgb24.ref.png b/test/reference/large-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a54455f..0000000
Binary files a/test/reference/large-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-source.ref.png b/test/reference/large-source.ref.png
deleted file mode 100644 (file)
index 5d96dd3..0000000
Binary files a/test/reference/large-source.ref.png and /dev/null differ
diff --git a/test/reference/large-source.rgb24.ref.png b/test/reference/large-source.rgb24.ref.png
deleted file mode 100644 (file)
index a54455f..0000000
Binary files a/test/reference/large-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-source.traps.argb32.ref.png b/test/reference/large-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index a54455f..0000000
Binary files a/test/reference/large-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-source.traps.rgb24.ref.png b/test/reference/large-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a54455f..0000000
Binary files a/test/reference/large-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.argb32.ref.png b/test/reference/large-twin-antialias-mixed.argb32.ref.png
deleted file mode 100644 (file)
index ace463b..0000000
Binary files a/test/reference/large-twin-antialias-mixed.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.base.argb32.ref.png b/test/reference/large-twin-antialias-mixed.base.argb32.ref.png
deleted file mode 100644 (file)
index ace463b..0000000
Binary files a/test/reference/large-twin-antialias-mixed.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.base.rgb24.ref.png b/test/reference/large-twin-antialias-mixed.base.rgb24.ref.png
deleted file mode 100644 (file)
index ace463b..0000000
Binary files a/test/reference/large-twin-antialias-mixed.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.egl.argb32.ref.png b/test/reference/large-twin-antialias-mixed.egl.argb32.ref.png
deleted file mode 100644 (file)
index 5f4e51d..0000000
Binary files a/test/reference/large-twin-antialias-mixed.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.image16.ref.png b/test/reference/large-twin-antialias-mixed.image16.ref.png
deleted file mode 100644 (file)
index 93f071e..0000000
Binary files a/test/reference/large-twin-antialias-mixed.image16.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.mask.argb32.ref.png b/test/reference/large-twin-antialias-mixed.mask.argb32.ref.png
deleted file mode 100644 (file)
index ace463b..0000000
Binary files a/test/reference/large-twin-antialias-mixed.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.mask.rgb24.ref.png b/test/reference/large-twin-antialias-mixed.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ace463b..0000000
Binary files a/test/reference/large-twin-antialias-mixed.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.ref.png b/test/reference/large-twin-antialias-mixed.ref.png
deleted file mode 100644 (file)
index 456e81d..0000000
Binary files a/test/reference/large-twin-antialias-mixed.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.rgb24.ref.png b/test/reference/large-twin-antialias-mixed.rgb24.ref.png
deleted file mode 100644 (file)
index ace463b..0000000
Binary files a/test/reference/large-twin-antialias-mixed.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.traps.argb32.ref.png b/test/reference/large-twin-antialias-mixed.traps.argb32.ref.png
deleted file mode 100644 (file)
index ace463b..0000000
Binary files a/test/reference/large-twin-antialias-mixed.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.traps.rgb24.ref.png b/test/reference/large-twin-antialias-mixed.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ace463b..0000000
Binary files a/test/reference/large-twin-antialias-mixed.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.argb32.ref.png b/test/reference/leaky-dash.argb32.ref.png
deleted file mode 100644 (file)
index 0973ece..0000000
Binary files a/test/reference/leaky-dash.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.base.argb32.ref.png b/test/reference/leaky-dash.base.argb32.ref.png
deleted file mode 100644 (file)
index 0973ece..0000000
Binary files a/test/reference/leaky-dash.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.base.rgb24.ref.png b/test/reference/leaky-dash.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0973ece..0000000
Binary files a/test/reference/leaky-dash.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.egl.argb32.ref.png b/test/reference/leaky-dash.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0973ece..0000000
Binary files a/test/reference/leaky-dash.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.mask.argb32.ref.png b/test/reference/leaky-dash.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0973ece..0000000
Binary files a/test/reference/leaky-dash.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.mask.rgb24.ref.png b/test/reference/leaky-dash.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0973ece..0000000
Binary files a/test/reference/leaky-dash.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.ps2.argb32.ref.png b/test/reference/leaky-dash.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 93b8640..0000000
Binary files a/test/reference/leaky-dash.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.ps2.rgb24.ref.png b/test/reference/leaky-dash.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index c11eb48..0000000
Binary files a/test/reference/leaky-dash.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.ps3.argb32.ref.png b/test/reference/leaky-dash.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 93b8640..0000000
Binary files a/test/reference/leaky-dash.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.ps3.rgb24.ref.png b/test/reference/leaky-dash.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index c11eb48..0000000
Binary files a/test/reference/leaky-dash.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.quartz.ref.png b/test/reference/leaky-dash.quartz.ref.png
deleted file mode 100644 (file)
index 9692819..0000000
Binary files a/test/reference/leaky-dash.quartz.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.ref.png b/test/reference/leaky-dash.ref.png
deleted file mode 100644 (file)
index 87facc5..0000000
Binary files a/test/reference/leaky-dash.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.rgb24.ref.png b/test/reference/leaky-dash.rgb24.ref.png
deleted file mode 100644 (file)
index 0973ece..0000000
Binary files a/test/reference/leaky-dash.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.traps.argb32.ref.png b/test/reference/leaky-dash.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0973ece..0000000
Binary files a/test/reference/leaky-dash.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dash.traps.rgb24.ref.png b/test/reference/leaky-dash.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0973ece..0000000
Binary files a/test/reference/leaky-dash.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.argb32.ref.png b/test/reference/leaky-dashed-rectangle.argb32.ref.png
deleted file mode 100644 (file)
index 05f4584..0000000
Binary files a/test/reference/leaky-dashed-rectangle.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.base.argb32.ref.png b/test/reference/leaky-dashed-rectangle.base.argb32.ref.png
deleted file mode 100644 (file)
index de35420..0000000
Binary files a/test/reference/leaky-dashed-rectangle.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.base.rgb24.ref.png b/test/reference/leaky-dashed-rectangle.base.rgb24.ref.png
deleted file mode 100644 (file)
index de35420..0000000
Binary files a/test/reference/leaky-dashed-rectangle.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.egl.argb32.ref.png b/test/reference/leaky-dashed-rectangle.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2cf3348..0000000
Binary files a/test/reference/leaky-dashed-rectangle.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.image16.ref.png b/test/reference/leaky-dashed-rectangle.image16.ref.png
deleted file mode 100644 (file)
index f61db4c..0000000
Binary files a/test/reference/leaky-dashed-rectangle.image16.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.mask.argb32.ref.png b/test/reference/leaky-dashed-rectangle.mask.argb32.ref.png
deleted file mode 100644 (file)
index 05f4584..0000000
Binary files a/test/reference/leaky-dashed-rectangle.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.mask.rgb24.ref.png b/test/reference/leaky-dashed-rectangle.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 05f4584..0000000
Binary files a/test/reference/leaky-dashed-rectangle.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.pdf.ref.png b/test/reference/leaky-dashed-rectangle.pdf.ref.png
deleted file mode 100644 (file)
index 72efd49..0000000
Binary files a/test/reference/leaky-dashed-rectangle.pdf.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.ps.ref.png b/test/reference/leaky-dashed-rectangle.ps.ref.png
deleted file mode 100644 (file)
index 1e0a138..0000000
Binary files a/test/reference/leaky-dashed-rectangle.ps.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.quartz.ref.png b/test/reference/leaky-dashed-rectangle.quartz.ref.png
deleted file mode 100644 (file)
index fad8588..0000000
Binary files a/test/reference/leaky-dashed-rectangle.quartz.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.ref.png b/test/reference/leaky-dashed-rectangle.ref.png
deleted file mode 100644 (file)
index 05f4584..0000000
Binary files a/test/reference/leaky-dashed-rectangle.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.rgb24.ref.png b/test/reference/leaky-dashed-rectangle.rgb24.ref.png
deleted file mode 100644 (file)
index 05f4584..0000000
Binary files a/test/reference/leaky-dashed-rectangle.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.traps.argb32.ref.png b/test/reference/leaky-dashed-rectangle.traps.argb32.ref.png
deleted file mode 100644 (file)
index 8f9a65d..0000000
Binary files a/test/reference/leaky-dashed-rectangle.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.traps.rgb24.ref.png b/test/reference/leaky-dashed-rectangle.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 8f9a65d..0000000
Binary files a/test/reference/leaky-dashed-rectangle.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.argb32.ref.png b/test/reference/leaky-dashed-stroke.argb32.ref.png
deleted file mode 100644 (file)
index ae64dae..0000000
Binary files a/test/reference/leaky-dashed-stroke.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.base.argb32.ref.png b/test/reference/leaky-dashed-stroke.base.argb32.ref.png
deleted file mode 100644 (file)
index da6807f..0000000
Binary files a/test/reference/leaky-dashed-stroke.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.base.rgb24.ref.png b/test/reference/leaky-dashed-stroke.base.rgb24.ref.png
deleted file mode 100644 (file)
index da6807f..0000000
Binary files a/test/reference/leaky-dashed-stroke.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.egl.argb32.ref.png b/test/reference/leaky-dashed-stroke.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6580b01..0000000
Binary files a/test/reference/leaky-dashed-stroke.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.image16.ref.png b/test/reference/leaky-dashed-stroke.image16.ref.png
deleted file mode 100644 (file)
index f90bb23..0000000
Binary files a/test/reference/leaky-dashed-stroke.image16.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.mask.argb32.ref.png b/test/reference/leaky-dashed-stroke.mask.argb32.ref.png
deleted file mode 100644 (file)
index ae64dae..0000000
Binary files a/test/reference/leaky-dashed-stroke.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.mask.rgb24.ref.png b/test/reference/leaky-dashed-stroke.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ae64dae..0000000
Binary files a/test/reference/leaky-dashed-stroke.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.ps.ref.png b/test/reference/leaky-dashed-stroke.ps.ref.png
deleted file mode 100644 (file)
index 7d581e9..0000000
Binary files a/test/reference/leaky-dashed-stroke.ps.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.quartz.ref.png b/test/reference/leaky-dashed-stroke.quartz.ref.png
deleted file mode 100644 (file)
index adbfd61..0000000
Binary files a/test/reference/leaky-dashed-stroke.quartz.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.ref.png b/test/reference/leaky-dashed-stroke.ref.png
deleted file mode 100644 (file)
index 31f1e97..0000000
Binary files a/test/reference/leaky-dashed-stroke.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.rgb24.ref.png b/test/reference/leaky-dashed-stroke.rgb24.ref.png
deleted file mode 100644 (file)
index ae64dae..0000000
Binary files a/test/reference/leaky-dashed-stroke.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.traps.argb32.ref.png b/test/reference/leaky-dashed-stroke.traps.argb32.ref.png
deleted file mode 100644 (file)
index da6807f..0000000
Binary files a/test/reference/leaky-dashed-stroke.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.traps.rgb24.ref.png b/test/reference/leaky-dashed-stroke.traps.rgb24.ref.png
deleted file mode 100644 (file)
index da6807f..0000000
Binary files a/test/reference/leaky-dashed-stroke.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.argb32.ref.png b/test/reference/leaky-polygon.argb32.ref.png
deleted file mode 100644 (file)
index d2a06a3..0000000
Binary files a/test/reference/leaky-polygon.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.base.argb32.ref.png b/test/reference/leaky-polygon.base.argb32.ref.png
deleted file mode 100644 (file)
index 1cb7a3c..0000000
Binary files a/test/reference/leaky-polygon.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.base.rgb24.ref.png b/test/reference/leaky-polygon.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1cb7a3c..0000000
Binary files a/test/reference/leaky-polygon.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.egl.argb32.ref.png b/test/reference/leaky-polygon.egl.argb32.ref.png
deleted file mode 100644 (file)
index d2a06a3..0000000
Binary files a/test/reference/leaky-polygon.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.image16.ref.png b/test/reference/leaky-polygon.image16.ref.png
deleted file mode 100644 (file)
index e91d0fa..0000000
Binary files a/test/reference/leaky-polygon.image16.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.mask.argb32.ref.png b/test/reference/leaky-polygon.mask.argb32.ref.png
deleted file mode 100644 (file)
index d2a06a3..0000000
Binary files a/test/reference/leaky-polygon.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.mask.rgb24.ref.png b/test/reference/leaky-polygon.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d2a06a3..0000000
Binary files a/test/reference/leaky-polygon.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.ps.ref.png b/test/reference/leaky-polygon.ps.ref.png
deleted file mode 100644 (file)
index dd8a104..0000000
Binary files a/test/reference/leaky-polygon.ps.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.ref.png b/test/reference/leaky-polygon.ref.png
deleted file mode 100644 (file)
index b92d8d2..0000000
Binary files a/test/reference/leaky-polygon.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.rgb24.ref.png b/test/reference/leaky-polygon.rgb24.ref.png
deleted file mode 100644 (file)
index d2a06a3..0000000
Binary files a/test/reference/leaky-polygon.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.traps.argb32.ref.png b/test/reference/leaky-polygon.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1cb7a3c..0000000
Binary files a/test/reference/leaky-polygon.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/leaky-polygon.traps.rgb24.ref.png b/test/reference/leaky-polygon.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1cb7a3c..0000000
Binary files a/test/reference/leaky-polygon.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-dashed.base.argb32.ref.png b/test/reference/line-width-large-overlap-dashed.base.argb32.ref.png
deleted file mode 100644 (file)
index e6cdcc2..0000000
Binary files a/test/reference/line-width-large-overlap-dashed.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-dashed.base.rgb24.ref.png b/test/reference/line-width-large-overlap-dashed.base.rgb24.ref.png
deleted file mode 100644 (file)
index e6cdcc2..0000000
Binary files a/test/reference/line-width-large-overlap-dashed.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-dashed.egl.argb32.ref.png b/test/reference/line-width-large-overlap-dashed.egl.argb32.ref.png
deleted file mode 100644 (file)
index 12379ac..0000000
Binary files a/test/reference/line-width-large-overlap-dashed.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-dashed.mask.argb32.ref.png b/test/reference/line-width-large-overlap-dashed.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8cd4d31..0000000
Binary files a/test/reference/line-width-large-overlap-dashed.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-dashed.mask.rgb24.ref.png b/test/reference/line-width-large-overlap-dashed.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8cd4d31..0000000
Binary files a/test/reference/line-width-large-overlap-dashed.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-dashed.ref.png b/test/reference/line-width-large-overlap-dashed.ref.png
deleted file mode 100644 (file)
index 12379ac..0000000
Binary files a/test/reference/line-width-large-overlap-dashed.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-dashed.traps.argb32.ref.png b/test/reference/line-width-large-overlap-dashed.traps.argb32.ref.png
deleted file mode 100644 (file)
index 8cd4d31..0000000
Binary files a/test/reference/line-width-large-overlap-dashed.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-dashed.traps.rgb24.ref.png b/test/reference/line-width-large-overlap-dashed.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 8cd4d31..0000000
Binary files a/test/reference/line-width-large-overlap-dashed.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-dashed.xfail.png b/test/reference/line-width-large-overlap-dashed.xfail.png
deleted file mode 100644 (file)
index 8cd4d31..0000000
Binary files a/test/reference/line-width-large-overlap-dashed.xfail.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flipped.argb32.ref.png b/test/reference/line-width-large-overlap-flipped.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flipped.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flipped.base.argb32.ref.png b/test/reference/line-width-large-overlap-flipped.base.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flipped.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flipped.base.rgb24.ref.png b/test/reference/line-width-large-overlap-flipped.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flipped.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flipped.egl.argb32.ref.png b/test/reference/line-width-large-overlap-flipped.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flipped.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flipped.mask.argb32.ref.png b/test/reference/line-width-large-overlap-flipped.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flipped.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flipped.mask.rgb24.ref.png b/test/reference/line-width-large-overlap-flipped.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flipped.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flipped.ref.png b/test/reference/line-width-large-overlap-flipped.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flipped.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flipped.rgb24.ref.png b/test/reference/line-width-large-overlap-flipped.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flipped.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flipped.traps.argb32.ref.png b/test/reference/line-width-large-overlap-flipped.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flipped.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flipped.traps.rgb24.ref.png b/test/reference/line-width-large-overlap-flipped.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flipped.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flopped.argb32.ref.png b/test/reference/line-width-large-overlap-flopped.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flopped.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flopped.base.argb32.ref.png b/test/reference/line-width-large-overlap-flopped.base.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flopped.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flopped.base.rgb24.ref.png b/test/reference/line-width-large-overlap-flopped.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flopped.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flopped.egl.argb32.ref.png b/test/reference/line-width-large-overlap-flopped.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flopped.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flopped.mask.argb32.ref.png b/test/reference/line-width-large-overlap-flopped.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flopped.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flopped.mask.rgb24.ref.png b/test/reference/line-width-large-overlap-flopped.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flopped.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flopped.ref.png b/test/reference/line-width-large-overlap-flopped.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flopped.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flopped.rgb24.ref.png b/test/reference/line-width-large-overlap-flopped.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flopped.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flopped.traps.argb32.ref.png b/test/reference/line-width-large-overlap-flopped.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flopped.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-flopped.traps.rgb24.ref.png b/test/reference/line-width-large-overlap-flopped.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-flopped.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-offset.argb32.ref.png b/test/reference/line-width-large-overlap-offset.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-offset.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-offset.base.argb32.ref.png b/test/reference/line-width-large-overlap-offset.base.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-offset.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-offset.base.rgb24.ref.png b/test/reference/line-width-large-overlap-offset.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-offset.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-offset.egl.argb32.ref.png b/test/reference/line-width-large-overlap-offset.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-offset.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-offset.mask.argb32.ref.png b/test/reference/line-width-large-overlap-offset.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-offset.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-offset.mask.rgb24.ref.png b/test/reference/line-width-large-overlap-offset.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-offset.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-offset.ref.png b/test/reference/line-width-large-overlap-offset.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-offset.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-offset.rgb24.ref.png b/test/reference/line-width-large-overlap-offset.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-offset.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-offset.traps.argb32.ref.png b/test/reference/line-width-large-overlap-offset.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-offset.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-offset.traps.rgb24.ref.png b/test/reference/line-width-large-overlap-offset.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap-offset.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.argb32.ref.png b/test/reference/line-width-large-overlap-rotated.argb32.ref.png
deleted file mode 100644 (file)
index 35dca5c..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.base.argb32.ref.png b/test/reference/line-width-large-overlap-rotated.base.argb32.ref.png
deleted file mode 100644 (file)
index 87fe752..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.base.ref.png b/test/reference/line-width-large-overlap-rotated.base.ref.png
deleted file mode 100644 (file)
index 87fe752..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.base.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.base.rgb24.ref.png b/test/reference/line-width-large-overlap-rotated.base.rgb24.ref.png
deleted file mode 100644 (file)
index 87fe752..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.egl.argb32.ref.png b/test/reference/line-width-large-overlap-rotated.egl.argb32.ref.png
deleted file mode 100644 (file)
index 5275cb6..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.mask.argb32.ref.png b/test/reference/line-width-large-overlap-rotated.mask.argb32.ref.png
deleted file mode 100644 (file)
index 35dca5c..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.mask.rgb24.ref.png b/test/reference/line-width-large-overlap-rotated.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 35dca5c..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.ref.png b/test/reference/line-width-large-overlap-rotated.ref.png
deleted file mode 100644 (file)
index 8ffa0db..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.rgb24.ref.png b/test/reference/line-width-large-overlap-rotated.rgb24.ref.png
deleted file mode 100644 (file)
index 35dca5c..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.traps.argb32.ref.png b/test/reference/line-width-large-overlap-rotated.traps.argb32.ref.png
deleted file mode 100644 (file)
index 35dca5c..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.traps.ref.png b/test/reference/line-width-large-overlap-rotated.traps.ref.png
deleted file mode 100644 (file)
index 87fe752..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.traps.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap-rotated.traps.rgb24.ref.png b/test/reference/line-width-large-overlap-rotated.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 35dca5c..0000000
Binary files a/test/reference/line-width-large-overlap-rotated.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap.argb32.ref.png b/test/reference/line-width-large-overlap.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap.base.argb32.ref.png b/test/reference/line-width-large-overlap.base.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap.base.rgb24.ref.png b/test/reference/line-width-large-overlap.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap.egl.argb32.ref.png b/test/reference/line-width-large-overlap.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap.mask.argb32.ref.png b/test/reference/line-width-large-overlap.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap.mask.rgb24.ref.png b/test/reference/line-width-large-overlap.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap.ref.png b/test/reference/line-width-large-overlap.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap.rgb24.ref.png b/test/reference/line-width-large-overlap.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap.traps.argb32.ref.png b/test/reference/line-width-large-overlap.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-large-overlap.traps.rgb24.ref.png b/test/reference/line-width-large-overlap.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3c3464b..0000000
Binary files a/test/reference/line-width-large-overlap.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-dashed.base.argb32.ref.png b/test/reference/line-width-overlap-dashed.base.argb32.ref.png
deleted file mode 100644 (file)
index 066b182..0000000
Binary files a/test/reference/line-width-overlap-dashed.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-dashed.base.rgb24.ref.png b/test/reference/line-width-overlap-dashed.base.rgb24.ref.png
deleted file mode 100644 (file)
index 066b182..0000000
Binary files a/test/reference/line-width-overlap-dashed.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-dashed.egl.argb32.ref.png b/test/reference/line-width-overlap-dashed.egl.argb32.ref.png
deleted file mode 100644 (file)
index 065d699..0000000
Binary files a/test/reference/line-width-overlap-dashed.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-dashed.mask.argb32.ref.png b/test/reference/line-width-overlap-dashed.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0de187d..0000000
Binary files a/test/reference/line-width-overlap-dashed.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-dashed.mask.rgb24.ref.png b/test/reference/line-width-overlap-dashed.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0de187d..0000000
Binary files a/test/reference/line-width-overlap-dashed.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-dashed.ref.png b/test/reference/line-width-overlap-dashed.ref.png
deleted file mode 100644 (file)
index 065d699..0000000
Binary files a/test/reference/line-width-overlap-dashed.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-dashed.traps.argb32.ref.png b/test/reference/line-width-overlap-dashed.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0de187d..0000000
Binary files a/test/reference/line-width-overlap-dashed.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-dashed.traps.rgb24.ref.png b/test/reference/line-width-overlap-dashed.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0de187d..0000000
Binary files a/test/reference/line-width-overlap-dashed.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flipped.argb32.ref.png b/test/reference/line-width-overlap-flipped.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flipped.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flipped.base.argb32.ref.png b/test/reference/line-width-overlap-flipped.base.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flipped.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flipped.base.rgb24.ref.png b/test/reference/line-width-overlap-flipped.base.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flipped.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flipped.egl.argb32.ref.png b/test/reference/line-width-overlap-flipped.egl.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flipped.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flipped.mask.argb32.ref.png b/test/reference/line-width-overlap-flipped.mask.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flipped.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flipped.mask.rgb24.ref.png b/test/reference/line-width-overlap-flipped.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flipped.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flipped.ref.png b/test/reference/line-width-overlap-flipped.ref.png
deleted file mode 100644 (file)
index 09911bc..0000000
Binary files a/test/reference/line-width-overlap-flipped.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flipped.rgb24.ref.png b/test/reference/line-width-overlap-flipped.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flipped.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flipped.traps.argb32.ref.png b/test/reference/line-width-overlap-flipped.traps.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flipped.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flipped.traps.rgb24.ref.png b/test/reference/line-width-overlap-flipped.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flipped.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flopped.argb32.ref.png b/test/reference/line-width-overlap-flopped.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flopped.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flopped.base.argb32.ref.png b/test/reference/line-width-overlap-flopped.base.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flopped.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flopped.base.rgb24.ref.png b/test/reference/line-width-overlap-flopped.base.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flopped.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flopped.egl.argb32.ref.png b/test/reference/line-width-overlap-flopped.egl.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flopped.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flopped.mask.argb32.ref.png b/test/reference/line-width-overlap-flopped.mask.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flopped.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flopped.mask.rgb24.ref.png b/test/reference/line-width-overlap-flopped.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flopped.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flopped.ref.png b/test/reference/line-width-overlap-flopped.ref.png
deleted file mode 100644 (file)
index 09911bc..0000000
Binary files a/test/reference/line-width-overlap-flopped.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flopped.rgb24.ref.png b/test/reference/line-width-overlap-flopped.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flopped.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flopped.traps.argb32.ref.png b/test/reference/line-width-overlap-flopped.traps.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flopped.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-flopped.traps.rgb24.ref.png b/test/reference/line-width-overlap-flopped.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap-flopped.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.argb32.ref.png b/test/reference/line-width-overlap-offset.argb32.ref.png
deleted file mode 100644 (file)
index eafa50b..0000000
Binary files a/test/reference/line-width-overlap-offset.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.base.argb32.ref.png b/test/reference/line-width-overlap-offset.base.argb32.ref.png
deleted file mode 100644 (file)
index 13a138b..0000000
Binary files a/test/reference/line-width-overlap-offset.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.base.rgb24.ref.png b/test/reference/line-width-overlap-offset.base.rgb24.ref.png
deleted file mode 100644 (file)
index 13a138b..0000000
Binary files a/test/reference/line-width-overlap-offset.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.egl.argb32.ref.png b/test/reference/line-width-overlap-offset.egl.argb32.ref.png
deleted file mode 100644 (file)
index eafa50b..0000000
Binary files a/test/reference/line-width-overlap-offset.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.mask.argb32.ref.png b/test/reference/line-width-overlap-offset.mask.argb32.ref.png
deleted file mode 100644 (file)
index eafa50b..0000000
Binary files a/test/reference/line-width-overlap-offset.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.mask.rgb24.ref.png b/test/reference/line-width-overlap-offset.mask.rgb24.ref.png
deleted file mode 100644 (file)
index eafa50b..0000000
Binary files a/test/reference/line-width-overlap-offset.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.ref.png b/test/reference/line-width-overlap-offset.ref.png
deleted file mode 100644 (file)
index eafa50b..0000000
Binary files a/test/reference/line-width-overlap-offset.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.rgb24.ref.png b/test/reference/line-width-overlap-offset.rgb24.ref.png
deleted file mode 100644 (file)
index eafa50b..0000000
Binary files a/test/reference/line-width-overlap-offset.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.traps.argb32.ref.png b/test/reference/line-width-overlap-offset.traps.argb32.ref.png
deleted file mode 100644 (file)
index 13a138b..0000000
Binary files a/test/reference/line-width-overlap-offset.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.traps.ref.png b/test/reference/line-width-overlap-offset.traps.ref.png
deleted file mode 100644 (file)
index 13a138b..0000000
Binary files a/test/reference/line-width-overlap-offset.traps.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-offset.traps.rgb24.ref.png b/test/reference/line-width-overlap-offset.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 13a138b..0000000
Binary files a/test/reference/line-width-overlap-offset.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-rotated.argb32.ref.png b/test/reference/line-width-overlap-rotated.argb32.ref.png
deleted file mode 100644 (file)
index 619a593..0000000
Binary files a/test/reference/line-width-overlap-rotated.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-rotated.base.argb32.ref.png b/test/reference/line-width-overlap-rotated.base.argb32.ref.png
deleted file mode 100644 (file)
index fa7290d..0000000
Binary files a/test/reference/line-width-overlap-rotated.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-rotated.base.rgb24.ref.png b/test/reference/line-width-overlap-rotated.base.rgb24.ref.png
deleted file mode 100644 (file)
index fa7290d..0000000
Binary files a/test/reference/line-width-overlap-rotated.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-rotated.egl.argb32.ref.png b/test/reference/line-width-overlap-rotated.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0f45156..0000000
Binary files a/test/reference/line-width-overlap-rotated.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-rotated.mask.argb32.ref.png b/test/reference/line-width-overlap-rotated.mask.argb32.ref.png
deleted file mode 100644 (file)
index 619a593..0000000
Binary files a/test/reference/line-width-overlap-rotated.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-rotated.mask.rgb24.ref.png b/test/reference/line-width-overlap-rotated.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 619a593..0000000
Binary files a/test/reference/line-width-overlap-rotated.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-rotated.ref.png b/test/reference/line-width-overlap-rotated.ref.png
deleted file mode 100644 (file)
index 6e3cbea..0000000
Binary files a/test/reference/line-width-overlap-rotated.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-rotated.rgb24.ref.png b/test/reference/line-width-overlap-rotated.rgb24.ref.png
deleted file mode 100644 (file)
index 619a593..0000000
Binary files a/test/reference/line-width-overlap-rotated.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-rotated.traps.argb32.ref.png b/test/reference/line-width-overlap-rotated.traps.argb32.ref.png
deleted file mode 100644 (file)
index fa7290d..0000000
Binary files a/test/reference/line-width-overlap-rotated.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap-rotated.traps.rgb24.ref.png b/test/reference/line-width-overlap-rotated.traps.rgb24.ref.png
deleted file mode 100644 (file)
index fa7290d..0000000
Binary files a/test/reference/line-width-overlap-rotated.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap.argb32.ref.png b/test/reference/line-width-overlap.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap.base.argb32.ref.png b/test/reference/line-width-overlap.base.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap.base.rgb24.ref.png b/test/reference/line-width-overlap.base.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap.egl.argb32.ref.png b/test/reference/line-width-overlap.egl.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap.mask.argb32.ref.png b/test/reference/line-width-overlap.mask.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap.mask.rgb24.ref.png b/test/reference/line-width-overlap.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap.ref.png b/test/reference/line-width-overlap.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap.rgb24.ref.png b/test/reference/line-width-overlap.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap.traps.argb32.ref.png b/test/reference/line-width-overlap.traps.argb32.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-overlap.traps.rgb24.ref.png b/test/reference/line-width-overlap.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 13d70c8..0000000
Binary files a/test/reference/line-width-overlap.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.argb32.ref.png b/test/reference/line-width-scale.argb32.ref.png
deleted file mode 100644 (file)
index 5767bc7..0000000
Binary files a/test/reference/line-width-scale.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.base.argb32.ref.png b/test/reference/line-width-scale.base.argb32.ref.png
deleted file mode 100644 (file)
index 41d55b0..0000000
Binary files a/test/reference/line-width-scale.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.base.rgb24.ref.png b/test/reference/line-width-scale.base.rgb24.ref.png
deleted file mode 100644 (file)
index 41d55b0..0000000
Binary files a/test/reference/line-width-scale.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.egl.argb32.ref.png b/test/reference/line-width-scale.egl.argb32.ref.png
deleted file mode 100644 (file)
index 99677f4..0000000
Binary files a/test/reference/line-width-scale.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.image16.ref.png b/test/reference/line-width-scale.image16.ref.png
deleted file mode 100644 (file)
index a784f65..0000000
Binary files a/test/reference/line-width-scale.image16.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.mask.argb32.ref.png b/test/reference/line-width-scale.mask.argb32.ref.png
deleted file mode 100644 (file)
index 5767bc7..0000000
Binary files a/test/reference/line-width-scale.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.mask.rgb24.ref.png b/test/reference/line-width-scale.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5767bc7..0000000
Binary files a/test/reference/line-width-scale.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.ps2.ref.png b/test/reference/line-width-scale.ps2.ref.png
deleted file mode 100644 (file)
index 57999b8..0000000
Binary files a/test/reference/line-width-scale.ps2.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.ps3.ref.png b/test/reference/line-width-scale.ps3.ref.png
deleted file mode 100644 (file)
index 57999b8..0000000
Binary files a/test/reference/line-width-scale.ps3.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.quartz.ref.png b/test/reference/line-width-scale.quartz.ref.png
deleted file mode 100644 (file)
index afdc9da..0000000
Binary files a/test/reference/line-width-scale.quartz.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.ref.png b/test/reference/line-width-scale.ref.png
deleted file mode 100644 (file)
index 1c02e93..0000000
Binary files a/test/reference/line-width-scale.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.rgb24.ref.png b/test/reference/line-width-scale.rgb24.ref.png
deleted file mode 100644 (file)
index 5767bc7..0000000
Binary files a/test/reference/line-width-scale.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.traps.argb32.ref.png b/test/reference/line-width-scale.traps.argb32.ref.png
deleted file mode 100644 (file)
index 41d55b0..0000000
Binary files a/test/reference/line-width-scale.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-scale.traps.rgb24.ref.png b/test/reference/line-width-scale.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 41d55b0..0000000
Binary files a/test/reference/line-width-scale.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-tolerance.argb32.ref.png b/test/reference/line-width-tolerance.argb32.ref.png
deleted file mode 100644 (file)
index 9c4d439..0000000
Binary files a/test/reference/line-width-tolerance.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-tolerance.base.argb32.ref.png b/test/reference/line-width-tolerance.base.argb32.ref.png
deleted file mode 100644 (file)
index f890a52..0000000
Binary files a/test/reference/line-width-tolerance.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-tolerance.base.rgb24.ref.png b/test/reference/line-width-tolerance.base.rgb24.ref.png
deleted file mode 100644 (file)
index f890a52..0000000
Binary files a/test/reference/line-width-tolerance.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-tolerance.egl.argb32.ref.png b/test/reference/line-width-tolerance.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9c4d439..0000000
Binary files a/test/reference/line-width-tolerance.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-tolerance.mask.argb32.ref.png b/test/reference/line-width-tolerance.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9c4d439..0000000
Binary files a/test/reference/line-width-tolerance.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-tolerance.mask.rgb24.ref.png b/test/reference/line-width-tolerance.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9c4d439..0000000
Binary files a/test/reference/line-width-tolerance.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-tolerance.ref.png b/test/reference/line-width-tolerance.ref.png
deleted file mode 100644 (file)
index 541dc9e..0000000
Binary files a/test/reference/line-width-tolerance.ref.png and /dev/null differ
diff --git a/test/reference/line-width-tolerance.rgb24.ref.png b/test/reference/line-width-tolerance.rgb24.ref.png
deleted file mode 100644 (file)
index 9c4d439..0000000
Binary files a/test/reference/line-width-tolerance.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width-tolerance.traps.argb32.ref.png b/test/reference/line-width-tolerance.traps.argb32.ref.png
deleted file mode 100644 (file)
index f890a52..0000000
Binary files a/test/reference/line-width-tolerance.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width-tolerance.traps.rgb24.ref.png b/test/reference/line-width-tolerance.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f890a52..0000000
Binary files a/test/reference/line-width-tolerance.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width.argb32.ref.png b/test/reference/line-width.argb32.ref.png
deleted file mode 100644 (file)
index 2a78828..0000000
Binary files a/test/reference/line-width.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width.base.argb32.ref.png b/test/reference/line-width.base.argb32.ref.png
deleted file mode 100644 (file)
index 208d170..0000000
Binary files a/test/reference/line-width.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width.base.rgb24.ref.png b/test/reference/line-width.base.rgb24.ref.png
deleted file mode 100644 (file)
index 208d170..0000000
Binary files a/test/reference/line-width.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width.egl.argb32.ref.png b/test/reference/line-width.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2a78828..0000000
Binary files a/test/reference/line-width.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width.mask.argb32.ref.png b/test/reference/line-width.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2a78828..0000000
Binary files a/test/reference/line-width.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width.mask.rgb24.ref.png b/test/reference/line-width.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2a78828..0000000
Binary files a/test/reference/line-width.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width.ref.png b/test/reference/line-width.ref.png
deleted file mode 100644 (file)
index 81ac2f5..0000000
Binary files a/test/reference/line-width.ref.png and /dev/null differ
diff --git a/test/reference/line-width.rgb24.ref.png b/test/reference/line-width.rgb24.ref.png
deleted file mode 100644 (file)
index 2a78828..0000000
Binary files a/test/reference/line-width.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/line-width.traps.argb32.ref.png b/test/reference/line-width.traps.argb32.ref.png
deleted file mode 100644 (file)
index 208d170..0000000
Binary files a/test/reference/line-width.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/line-width.traps.rgb24.ref.png b/test/reference/line-width.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 208d170..0000000
Binary files a/test/reference/line-width.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-extend.argb32.ref.png b/test/reference/linear-gradient-extend.argb32.ref.png
deleted file mode 100644 (file)
index 79ce747..0000000
Binary files a/test/reference/linear-gradient-extend.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-extend.base.argb32.ref.png b/test/reference/linear-gradient-extend.base.argb32.ref.png
deleted file mode 100644 (file)
index 79ce747..0000000
Binary files a/test/reference/linear-gradient-extend.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-extend.base.rgb24.ref.png b/test/reference/linear-gradient-extend.base.rgb24.ref.png
deleted file mode 100644 (file)
index 79ce747..0000000
Binary files a/test/reference/linear-gradient-extend.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-extend.egl.argb32.ref.png b/test/reference/linear-gradient-extend.egl.argb32.ref.png
deleted file mode 100644 (file)
index 79ce747..0000000
Binary files a/test/reference/linear-gradient-extend.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-extend.mask.argb32.ref.png b/test/reference/linear-gradient-extend.mask.argb32.ref.png
deleted file mode 100644 (file)
index 79ce747..0000000
Binary files a/test/reference/linear-gradient-extend.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-extend.mask.rgb24.ref.png b/test/reference/linear-gradient-extend.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 79ce747..0000000
Binary files a/test/reference/linear-gradient-extend.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-extend.ref.png b/test/reference/linear-gradient-extend.ref.png
deleted file mode 100644 (file)
index 79ce747..0000000
Binary files a/test/reference/linear-gradient-extend.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-extend.rgb24.ref.png b/test/reference/linear-gradient-extend.rgb24.ref.png
deleted file mode 100644 (file)
index 79ce747..0000000
Binary files a/test/reference/linear-gradient-extend.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-extend.traps.argb32.ref.png b/test/reference/linear-gradient-extend.traps.argb32.ref.png
deleted file mode 100644 (file)
index 79ce747..0000000
Binary files a/test/reference/linear-gradient-extend.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-extend.traps.rgb24.ref.png b/test/reference/linear-gradient-extend.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 79ce747..0000000
Binary files a/test/reference/linear-gradient-extend.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.argb32.ref.png b/test/reference/linear-gradient-large.argb32.ref.png
deleted file mode 100644 (file)
index f1f37ab..0000000
Binary files a/test/reference/linear-gradient-large.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.base.argb32.ref.png b/test/reference/linear-gradient-large.base.argb32.ref.png
deleted file mode 100644 (file)
index f1f37ab..0000000
Binary files a/test/reference/linear-gradient-large.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.base.rgb24.ref.png b/test/reference/linear-gradient-large.base.rgb24.ref.png
deleted file mode 100644 (file)
index f1f37ab..0000000
Binary files a/test/reference/linear-gradient-large.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.egl.argb32.ref.png b/test/reference/linear-gradient-large.egl.argb32.ref.png
deleted file mode 100644 (file)
index ae995a9..0000000
Binary files a/test/reference/linear-gradient-large.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.mask.argb32.ref.png b/test/reference/linear-gradient-large.mask.argb32.ref.png
deleted file mode 100644 (file)
index f1f37ab..0000000
Binary files a/test/reference/linear-gradient-large.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.mask.rgb24.ref.png b/test/reference/linear-gradient-large.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f1f37ab..0000000
Binary files a/test/reference/linear-gradient-large.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.quartz.ref.png b/test/reference/linear-gradient-large.quartz.ref.png
deleted file mode 100644 (file)
index 68f0829..0000000
Binary files a/test/reference/linear-gradient-large.quartz.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.ref.png b/test/reference/linear-gradient-large.ref.png
deleted file mode 100644 (file)
index f1f37ab..0000000
Binary files a/test/reference/linear-gradient-large.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.rgb24.ref.png b/test/reference/linear-gradient-large.rgb24.ref.png
deleted file mode 100644 (file)
index f1f37ab..0000000
Binary files a/test/reference/linear-gradient-large.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.traps.argb32.ref.png b/test/reference/linear-gradient-large.traps.argb32.ref.png
deleted file mode 100644 (file)
index f1f37ab..0000000
Binary files a/test/reference/linear-gradient-large.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-large.traps.rgb24.ref.png b/test/reference/linear-gradient-large.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f1f37ab..0000000
Binary files a/test/reference/linear-gradient-large.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-one-stop.argb32.ref.png b/test/reference/linear-gradient-one-stop.argb32.ref.png
deleted file mode 100644 (file)
index da02fda..0000000
Binary files a/test/reference/linear-gradient-one-stop.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-one-stop.base.argb32.ref.png b/test/reference/linear-gradient-one-stop.base.argb32.ref.png
deleted file mode 100644 (file)
index da02fda..0000000
Binary files a/test/reference/linear-gradient-one-stop.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-one-stop.base.rgb24.ref.png b/test/reference/linear-gradient-one-stop.base.rgb24.ref.png
deleted file mode 100644 (file)
index efc12ee..0000000
Binary files a/test/reference/linear-gradient-one-stop.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-one-stop.egl.argb32.ref.png b/test/reference/linear-gradient-one-stop.egl.argb32.ref.png
deleted file mode 100644 (file)
index da02fda..0000000
Binary files a/test/reference/linear-gradient-one-stop.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-one-stop.mask.argb32.ref.png b/test/reference/linear-gradient-one-stop.mask.argb32.ref.png
deleted file mode 100644 (file)
index da02fda..0000000
Binary files a/test/reference/linear-gradient-one-stop.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-one-stop.mask.rgb24.ref.png b/test/reference/linear-gradient-one-stop.mask.rgb24.ref.png
deleted file mode 100644 (file)
index efc12ee..0000000
Binary files a/test/reference/linear-gradient-one-stop.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-one-stop.rgb24.ref.png b/test/reference/linear-gradient-one-stop.rgb24.ref.png
deleted file mode 100644 (file)
index efc12ee..0000000
Binary files a/test/reference/linear-gradient-one-stop.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-one-stop.traps.argb32.ref.png b/test/reference/linear-gradient-one-stop.traps.argb32.ref.png
deleted file mode 100644 (file)
index da02fda..0000000
Binary files a/test/reference/linear-gradient-one-stop.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-one-stop.traps.rgb24.ref.png b/test/reference/linear-gradient-one-stop.traps.rgb24.ref.png
deleted file mode 100644 (file)
index efc12ee..0000000
Binary files a/test/reference/linear-gradient-one-stop.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.argb32.ref.png b/test/reference/linear-gradient-reflect.argb32.ref.png
deleted file mode 100644 (file)
index b68dccb..0000000
Binary files a/test/reference/linear-gradient-reflect.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.base.argb32.ref.png b/test/reference/linear-gradient-reflect.base.argb32.ref.png
deleted file mode 100644 (file)
index b68dccb..0000000
Binary files a/test/reference/linear-gradient-reflect.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.base.rgb24.ref.png b/test/reference/linear-gradient-reflect.base.rgb24.ref.png
deleted file mode 100644 (file)
index b68dccb..0000000
Binary files a/test/reference/linear-gradient-reflect.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.egl.argb32.ref.png b/test/reference/linear-gradient-reflect.egl.argb32.ref.png
deleted file mode 100644 (file)
index c3e035c..0000000
Binary files a/test/reference/linear-gradient-reflect.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.image16.ref.png b/test/reference/linear-gradient-reflect.image16.ref.png
deleted file mode 100644 (file)
index de74afc..0000000
Binary files a/test/reference/linear-gradient-reflect.image16.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.mask.argb32.ref.png b/test/reference/linear-gradient-reflect.mask.argb32.ref.png
deleted file mode 100644 (file)
index b68dccb..0000000
Binary files a/test/reference/linear-gradient-reflect.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.mask.rgb24.ref.png b/test/reference/linear-gradient-reflect.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b68dccb..0000000
Binary files a/test/reference/linear-gradient-reflect.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.pdf.argb32.ref.png b/test/reference/linear-gradient-reflect.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 46e1c0f..0000000
Binary files a/test/reference/linear-gradient-reflect.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.pdf.rgb24.ref.png b/test/reference/linear-gradient-reflect.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index 46e1c0f..0000000
Binary files a/test/reference/linear-gradient-reflect.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.ps3.ref.png b/test/reference/linear-gradient-reflect.ps3.ref.png
deleted file mode 100644 (file)
index ea6d25c..0000000
Binary files a/test/reference/linear-gradient-reflect.ps3.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.quartz.ref.png b/test/reference/linear-gradient-reflect.quartz.ref.png
deleted file mode 100644 (file)
index 89bac91..0000000
Binary files a/test/reference/linear-gradient-reflect.quartz.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.ref.png b/test/reference/linear-gradient-reflect.ref.png
deleted file mode 100644 (file)
index e4f9db8..0000000
Binary files a/test/reference/linear-gradient-reflect.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.rgb24.ref.png b/test/reference/linear-gradient-reflect.rgb24.ref.png
deleted file mode 100644 (file)
index b68dccb..0000000
Binary files a/test/reference/linear-gradient-reflect.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.traps.argb32.ref.png b/test/reference/linear-gradient-reflect.traps.argb32.ref.png
deleted file mode 100644 (file)
index b68dccb..0000000
Binary files a/test/reference/linear-gradient-reflect.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-reflect.traps.rgb24.ref.png b/test/reference/linear-gradient-reflect.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b68dccb..0000000
Binary files a/test/reference/linear-gradient-reflect.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.argb32.ref.png b/test/reference/linear-gradient-subset.argb32.ref.png
deleted file mode 100644 (file)
index 3d30d0a..0000000
Binary files a/test/reference/linear-gradient-subset.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.base.argb32.ref.png b/test/reference/linear-gradient-subset.base.argb32.ref.png
deleted file mode 100644 (file)
index e03d3d6..0000000
Binary files a/test/reference/linear-gradient-subset.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.base.rgb24.ref.png b/test/reference/linear-gradient-subset.base.rgb24.ref.png
deleted file mode 100644 (file)
index e03d3d6..0000000
Binary files a/test/reference/linear-gradient-subset.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.egl.argb32.ref.png b/test/reference/linear-gradient-subset.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9ab8c38..0000000
Binary files a/test/reference/linear-gradient-subset.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.image16.ref.png b/test/reference/linear-gradient-subset.image16.ref.png
deleted file mode 100644 (file)
index 9d04057..0000000
Binary files a/test/reference/linear-gradient-subset.image16.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.mask.argb32.ref.png b/test/reference/linear-gradient-subset.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3d30d0a..0000000
Binary files a/test/reference/linear-gradient-subset.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.mask.rgb24.ref.png b/test/reference/linear-gradient-subset.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3d30d0a..0000000
Binary files a/test/reference/linear-gradient-subset.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.ps3.ref.png b/test/reference/linear-gradient-subset.ps3.ref.png
deleted file mode 100644 (file)
index db0a4c0..0000000
Binary files a/test/reference/linear-gradient-subset.ps3.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.quartz.ref.png b/test/reference/linear-gradient-subset.quartz.ref.png
deleted file mode 100644 (file)
index 85d80ad..0000000
Binary files a/test/reference/linear-gradient-subset.quartz.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.ref.png b/test/reference/linear-gradient-subset.ref.png
deleted file mode 100644 (file)
index 0225b43..0000000
Binary files a/test/reference/linear-gradient-subset.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.rgb24.ref.png b/test/reference/linear-gradient-subset.rgb24.ref.png
deleted file mode 100644 (file)
index 3d30d0a..0000000
Binary files a/test/reference/linear-gradient-subset.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.traps.argb32.ref.png b/test/reference/linear-gradient-subset.traps.argb32.ref.png
deleted file mode 100644 (file)
index e03d3d6..0000000
Binary files a/test/reference/linear-gradient-subset.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.traps.rgb24.ref.png b/test/reference/linear-gradient-subset.traps.rgb24.ref.png
deleted file mode 100644 (file)
index e03d3d6..0000000
Binary files a/test/reference/linear-gradient-subset.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.argb32.ref.png b/test/reference/linear-gradient.argb32.ref.png
deleted file mode 100644 (file)
index 3f78c52..0000000
Binary files a/test/reference/linear-gradient.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.base.argb32.ref.png b/test/reference/linear-gradient.base.argb32.ref.png
deleted file mode 100644 (file)
index 083a9b8..0000000
Binary files a/test/reference/linear-gradient.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.base.rgb24.ref.png b/test/reference/linear-gradient.base.rgb24.ref.png
deleted file mode 100644 (file)
index 083a9b8..0000000
Binary files a/test/reference/linear-gradient.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.egl.argb32.ref.png b/test/reference/linear-gradient.egl.argb32.ref.png
deleted file mode 100644 (file)
index c28345d..0000000
Binary files a/test/reference/linear-gradient.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.image16.ref.png b/test/reference/linear-gradient.image16.ref.png
deleted file mode 100644 (file)
index 183d3d9..0000000
Binary files a/test/reference/linear-gradient.image16.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.mask.argb32.ref.png b/test/reference/linear-gradient.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3f78c52..0000000
Binary files a/test/reference/linear-gradient.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.mask.rgb24.ref.png b/test/reference/linear-gradient.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3f78c52..0000000
Binary files a/test/reference/linear-gradient.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.ps3.ref.png b/test/reference/linear-gradient.ps3.ref.png
deleted file mode 100644 (file)
index c2fa71b..0000000
Binary files a/test/reference/linear-gradient.ps3.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.quartz.ref.png b/test/reference/linear-gradient.quartz.ref.png
deleted file mode 100644 (file)
index 1c3e7c2..0000000
Binary files a/test/reference/linear-gradient.quartz.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.ref.png b/test/reference/linear-gradient.ref.png
deleted file mode 100644 (file)
index 66d5ddb..0000000
Binary files a/test/reference/linear-gradient.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.rgb24.ref.png b/test/reference/linear-gradient.rgb24.ref.png
deleted file mode 100644 (file)
index 3f78c52..0000000
Binary files a/test/reference/linear-gradient.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.traps.argb32.ref.png b/test/reference/linear-gradient.traps.argb32.ref.png
deleted file mode 100644 (file)
index 083a9b8..0000000
Binary files a/test/reference/linear-gradient.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.traps.rgb24.ref.png b/test/reference/linear-gradient.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 083a9b8..0000000
Binary files a/test/reference/linear-gradient.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-step-function.base.argb32.ref.png b/test/reference/linear-step-function.base.argb32.ref.png
deleted file mode 100644 (file)
index 0ed126e..0000000
Binary files a/test/reference/linear-step-function.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-step-function.base.rgb24.ref.png b/test/reference/linear-step-function.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0ed126e..0000000
Binary files a/test/reference/linear-step-function.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-step-function.egl.argb32.ref.png b/test/reference/linear-step-function.egl.argb32.ref.png
deleted file mode 100644 (file)
index 542c944..0000000
Binary files a/test/reference/linear-step-function.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-step-function.mask.argb32.ref.png b/test/reference/linear-step-function.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0ed126e..0000000
Binary files a/test/reference/linear-step-function.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-step-function.mask.rgb24.ref.png b/test/reference/linear-step-function.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0ed126e..0000000
Binary files a/test/reference/linear-step-function.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-step-function.traps.argb32.ref.png b/test/reference/linear-step-function.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0ed126e..0000000
Binary files a/test/reference/linear-step-function.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-step-function.traps.rgb24.ref.png b/test/reference/linear-step-function.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0ed126e..0000000
Binary files a/test/reference/linear-step-function.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-step-function.xfail.png b/test/reference/linear-step-function.xfail.png
deleted file mode 100644 (file)
index b8afd21..0000000
Binary files a/test/reference/linear-step-function.xfail.png and /dev/null differ
diff --git a/test/reference/linear-uniform.argb32.ref.png b/test/reference/linear-uniform.argb32.ref.png
deleted file mode 100644 (file)
index 94ca336..0000000
Binary files a/test/reference/linear-uniform.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-uniform.base.argb32.ref.png b/test/reference/linear-uniform.base.argb32.ref.png
deleted file mode 100644 (file)
index 94ca336..0000000
Binary files a/test/reference/linear-uniform.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-uniform.base.rgb24.ref.png b/test/reference/linear-uniform.base.rgb24.ref.png
deleted file mode 100644 (file)
index 94ca336..0000000
Binary files a/test/reference/linear-uniform.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-uniform.egl.argb32.ref.png b/test/reference/linear-uniform.egl.argb32.ref.png
deleted file mode 100644 (file)
index 10f4fbf..0000000
Binary files a/test/reference/linear-uniform.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-uniform.image16.ref.png b/test/reference/linear-uniform.image16.ref.png
deleted file mode 100644 (file)
index 7bf4bf5..0000000
Binary files a/test/reference/linear-uniform.image16.ref.png and /dev/null differ
diff --git a/test/reference/linear-uniform.mask.argb32.ref.png b/test/reference/linear-uniform.mask.argb32.ref.png
deleted file mode 100644 (file)
index 94ca336..0000000
Binary files a/test/reference/linear-uniform.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-uniform.mask.rgb24.ref.png b/test/reference/linear-uniform.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 94ca336..0000000
Binary files a/test/reference/linear-uniform.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-uniform.ref.png b/test/reference/linear-uniform.ref.png
deleted file mode 100644 (file)
index 94ca336..0000000
Binary files a/test/reference/linear-uniform.ref.png and /dev/null differ
diff --git a/test/reference/linear-uniform.rgb24.ref.png b/test/reference/linear-uniform.rgb24.ref.png
deleted file mode 100644 (file)
index 94ca336..0000000
Binary files a/test/reference/linear-uniform.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/linear-uniform.traps.argb32.ref.png b/test/reference/linear-uniform.traps.argb32.ref.png
deleted file mode 100644 (file)
index 94ca336..0000000
Binary files a/test/reference/linear-uniform.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/linear-uniform.traps.rgb24.ref.png b/test/reference/linear-uniform.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 94ca336..0000000
Binary files a/test/reference/linear-uniform.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.argb32.ref.png b/test/reference/long-dashed-lines.argb32.ref.png
deleted file mode 100644 (file)
index 9c7208c..0000000
Binary files a/test/reference/long-dashed-lines.argb32.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.base.argb32.ref.png b/test/reference/long-dashed-lines.base.argb32.ref.png
deleted file mode 100644 (file)
index 45fdcc0..0000000
Binary files a/test/reference/long-dashed-lines.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.base.rgb24.ref.png b/test/reference/long-dashed-lines.base.rgb24.ref.png
deleted file mode 100644 (file)
index 45fdcc0..0000000
Binary files a/test/reference/long-dashed-lines.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.egl.argb32.ref.png b/test/reference/long-dashed-lines.egl.argb32.ref.png
deleted file mode 100644 (file)
index 30be270..0000000
Binary files a/test/reference/long-dashed-lines.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.image16.ref.png b/test/reference/long-dashed-lines.image16.ref.png
deleted file mode 100644 (file)
index 8abac9b..0000000
Binary files a/test/reference/long-dashed-lines.image16.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.mask.argb32.ref.png b/test/reference/long-dashed-lines.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9c7208c..0000000
Binary files a/test/reference/long-dashed-lines.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.mask.rgb24.ref.png b/test/reference/long-dashed-lines.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9c7208c..0000000
Binary files a/test/reference/long-dashed-lines.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.ps2.ref.png b/test/reference/long-dashed-lines.ps2.ref.png
deleted file mode 100644 (file)
index 7fce667..0000000
Binary files a/test/reference/long-dashed-lines.ps2.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.ps3.ref.png b/test/reference/long-dashed-lines.ps3.ref.png
deleted file mode 100644 (file)
index 7fce667..0000000
Binary files a/test/reference/long-dashed-lines.ps3.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.quartz.ref.png b/test/reference/long-dashed-lines.quartz.ref.png
deleted file mode 100644 (file)
index 3f68d21..0000000
Binary files a/test/reference/long-dashed-lines.quartz.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.ref.png b/test/reference/long-dashed-lines.ref.png
deleted file mode 100644 (file)
index 8344a45..0000000
Binary files a/test/reference/long-dashed-lines.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.rgb24.ref.png b/test/reference/long-dashed-lines.rgb24.ref.png
deleted file mode 100644 (file)
index 9c7208c..0000000
Binary files a/test/reference/long-dashed-lines.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.traps.argb32.ref.png b/test/reference/long-dashed-lines.traps.argb32.ref.png
deleted file mode 100644 (file)
index 45fdcc0..0000000
Binary files a/test/reference/long-dashed-lines.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/long-dashed-lines.traps.rgb24.ref.png b/test/reference/long-dashed-lines.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 45fdcc0..0000000
Binary files a/test/reference/long-dashed-lines.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/long-lines.base.argb32.ref.png b/test/reference/long-lines.base.argb32.ref.png
deleted file mode 100644 (file)
index fe91163..0000000
Binary files a/test/reference/long-lines.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/long-lines.base.rgb24.ref.png b/test/reference/long-lines.base.rgb24.ref.png
deleted file mode 100644 (file)
index fe91163..0000000
Binary files a/test/reference/long-lines.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/long-lines.egl.argb32.ref.png b/test/reference/long-lines.egl.argb32.ref.png
deleted file mode 100644 (file)
index fe91163..0000000
Binary files a/test/reference/long-lines.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/long-lines.mask.argb32.ref.png b/test/reference/long-lines.mask.argb32.ref.png
deleted file mode 100644 (file)
index fe91163..0000000
Binary files a/test/reference/long-lines.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/long-lines.mask.rgb24.ref.png b/test/reference/long-lines.mask.rgb24.ref.png
deleted file mode 100644 (file)
index fe91163..0000000
Binary files a/test/reference/long-lines.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/long-lines.traps.argb32.ref.png b/test/reference/long-lines.traps.argb32.ref.png
deleted file mode 100644 (file)
index fe91163..0000000
Binary files a/test/reference/long-lines.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/long-lines.traps.rgb24.ref.png b/test/reference/long-lines.traps.rgb24.ref.png
deleted file mode 100644 (file)
index fe91163..0000000
Binary files a/test/reference/long-lines.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-image.argb32.ref.png b/test/reference/map-all-to-image.argb32.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-image.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-image.base.argb32.ref.png b/test/reference/map-all-to-image.base.argb32.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-image.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-image.base.rgb24.ref.png b/test/reference/map-all-to-image.base.rgb24.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-image.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-image.mask.argb32.ref.png b/test/reference/map-all-to-image.mask.argb32.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-image.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-image.mask.rgb24.ref.png b/test/reference/map-all-to-image.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-image.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-image.ref.png b/test/reference/map-all-to-image.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-image.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-image.rgb24.ref.png b/test/reference/map-all-to-image.rgb24.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-image.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-image.traps.argb32.ref.png b/test/reference/map-all-to-image.traps.argb32.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-image.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-image.traps.rgb24.ref.png b/test/reference/map-all-to-image.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-image.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-xlib-fallback.rgb24.ref.png b/test/reference/map-all-to-xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-xlib-window.rgb24.ref.png b/test/reference/map-all-to-xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-xlib.argb32.ref.png b/test/reference/map-all-to-xlib.argb32.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-all-to-xlib.rgb24.ref.png b/test/reference/map-all-to-xlib.rgb24.ref.png
deleted file mode 100644 (file)
index c56d969..0000000
Binary files a/test/reference/map-all-to-xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-image.argb32.ref.png b/test/reference/map-bit-to-image.argb32.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-image.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-image.base.argb32.ref.png b/test/reference/map-bit-to-image.base.argb32.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-image.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-image.base.rgb24.ref.png b/test/reference/map-bit-to-image.base.rgb24.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-image.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-image.mask.argb32.ref.png b/test/reference/map-bit-to-image.mask.argb32.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-image.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-image.mask.rgb24.ref.png b/test/reference/map-bit-to-image.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-image.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-image.ref.png b/test/reference/map-bit-to-image.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-image.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-image.rgb24.ref.png b/test/reference/map-bit-to-image.rgb24.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-image.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-image.traps.argb32.ref.png b/test/reference/map-bit-to-image.traps.argb32.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-image.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-image.traps.rgb24.ref.png b/test/reference/map-bit-to-image.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-image.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-xlib-fallback.rgb24.ref.png b/test/reference/map-bit-to-xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-xlib-window.rgb24.ref.png b/test/reference/map-bit-to-xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-xlib.argb32.ref.png b/test/reference/map-bit-to-xlib.argb32.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-bit-to-xlib.rgb24.ref.png b/test/reference/map-bit-to-xlib.rgb24.ref.png
deleted file mode 100644 (file)
index b42dcb6..0000000
Binary files a/test/reference/map-bit-to-xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.argb32.ref.png b/test/reference/map-to-image-fill.argb32.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.base.argb32.ref.png b/test/reference/map-to-image-fill.base.argb32.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.base.rgb24.ref.png b/test/reference/map-to-image-fill.base.rgb24.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.egl.argb32.ref.png b/test/reference/map-to-image-fill.egl.argb32.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.mask.argb32.ref.png b/test/reference/map-to-image-fill.mask.argb32.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.mask.rgb24.ref.png b/test/reference/map-to-image-fill.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.ref.png b/test/reference/map-to-image-fill.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.rgb24.ref.png b/test/reference/map-to-image-fill.rgb24.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.traps.argb32.ref.png b/test/reference/map-to-image-fill.traps.argb32.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.traps.rgb24.ref.png b/test/reference/map-to-image-fill.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.xlib-fallback.rgb24.ref.png b/test/reference/map-to-image-fill.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/map-to-image-fill.xlib-window.rgb24.ref.png b/test/reference/map-to-image-fill.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index c2893e0..0000000
Binary files a/test/reference/map-to-image-fill.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.argb32.ref.png b/test/reference/mask-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 20f0663..0000000
Binary files a/test/reference/mask-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.base.argb32.ref.png b/test/reference/mask-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index a0b9017..0000000
Binary files a/test/reference/mask-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.base.rgb24.ref.png b/test/reference/mask-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index d8f4b8f..0000000
Binary files a/test/reference/mask-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.egl.argb32.ref.png b/test/reference/mask-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 84ae085..0000000
Binary files a/test/reference/mask-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.image16.ref.png b/test/reference/mask-alpha.image16.ref.png
deleted file mode 100644 (file)
index dbf121a..0000000
Binary files a/test/reference/mask-alpha.image16.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.mask.argb32.ref.png b/test/reference/mask-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 20f0663..0000000
Binary files a/test/reference/mask-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.mask.rgb24.ref.png b/test/reference/mask-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index df7a0c1..0000000
Binary files a/test/reference/mask-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.ps.ref.png b/test/reference/mask-alpha.ps.ref.png
deleted file mode 100644 (file)
index b0058dd..0000000
Binary files a/test/reference/mask-alpha.ps.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.quartz.argb32.ref.png b/test/reference/mask-alpha.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 1d530ee..0000000
Binary files a/test/reference/mask-alpha.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.rgb24.ref.png b/test/reference/mask-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index df7a0c1..0000000
Binary files a/test/reference/mask-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.svg.rgb24.xfail.png b/test/reference/mask-alpha.svg.rgb24.xfail.png
deleted file mode 100644 (file)
index 15ebf75..0000000
Binary files a/test/reference/mask-alpha.svg.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/mask-alpha.traps.argb32.ref.png b/test/reference/mask-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index a0b9017..0000000
Binary files a/test/reference/mask-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.traps.rgb24.ref.png b/test/reference/mask-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d8f4b8f..0000000
Binary files a/test/reference/mask-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-ctm.argb32.ref.png b/test/reference/mask-ctm.argb32.ref.png
deleted file mode 100644 (file)
index 07d903d..0000000
Binary files a/test/reference/mask-ctm.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-ctm.base.argb32.ref.png b/test/reference/mask-ctm.base.argb32.ref.png
deleted file mode 100644 (file)
index 07d903d..0000000
Binary files a/test/reference/mask-ctm.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-ctm.base.rgb24.ref.png b/test/reference/mask-ctm.base.rgb24.ref.png
deleted file mode 100644 (file)
index de3fa09..0000000
Binary files a/test/reference/mask-ctm.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-ctm.egl.argb32.ref.png b/test/reference/mask-ctm.egl.argb32.ref.png
deleted file mode 100644 (file)
index 07d903d..0000000
Binary files a/test/reference/mask-ctm.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-ctm.mask.argb32.ref.png b/test/reference/mask-ctm.mask.argb32.ref.png
deleted file mode 100644 (file)
index 07d903d..0000000
Binary files a/test/reference/mask-ctm.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-ctm.mask.rgb24.ref.png b/test/reference/mask-ctm.mask.rgb24.ref.png
deleted file mode 100644 (file)
index de3fa09..0000000
Binary files a/test/reference/mask-ctm.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-ctm.ref.png b/test/reference/mask-ctm.ref.png
deleted file mode 100644 (file)
index 88a0402..0000000
Binary files a/test/reference/mask-ctm.ref.png and /dev/null differ
diff --git a/test/reference/mask-ctm.rgb24.ref.png b/test/reference/mask-ctm.rgb24.ref.png
deleted file mode 100644 (file)
index de3fa09..0000000
Binary files a/test/reference/mask-ctm.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-ctm.traps.argb32.ref.png b/test/reference/mask-ctm.traps.argb32.ref.png
deleted file mode 100644 (file)
index 07d903d..0000000
Binary files a/test/reference/mask-ctm.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-ctm.traps.rgb24.ref.png b/test/reference/mask-ctm.traps.rgb24.ref.png
deleted file mode 100644 (file)
index de3fa09..0000000
Binary files a/test/reference/mask-ctm.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-glyphs.gl.ref.png b/test/reference/mask-glyphs.gl.ref.png
deleted file mode 100644 (file)
index d341097..0000000
Binary files a/test/reference/mask-glyphs.gl.ref.png and /dev/null differ
diff --git a/test/reference/mask-glyphs.image16.ref.png b/test/reference/mask-glyphs.image16.ref.png
deleted file mode 100644 (file)
index 177e795..0000000
Binary files a/test/reference/mask-glyphs.image16.ref.png and /dev/null differ
diff --git a/test/reference/mask-glyphs.pdf.ref.png b/test/reference/mask-glyphs.pdf.ref.png
deleted file mode 100644 (file)
index 673ef92..0000000
Binary files a/test/reference/mask-glyphs.pdf.ref.png and /dev/null differ
diff --git a/test/reference/mask-glyphs.ref.png b/test/reference/mask-glyphs.ref.png
deleted file mode 100644 (file)
index 5beda0d..0000000
Binary files a/test/reference/mask-glyphs.ref.png and /dev/null differ
diff --git a/test/reference/mask-glyphs.svg.ref.png b/test/reference/mask-glyphs.svg.ref.png
deleted file mode 100644 (file)
index bbc44f2..0000000
Binary files a/test/reference/mask-glyphs.svg.ref.png and /dev/null differ
diff --git a/test/reference/mask-surface-ctm.argb32.ref.png b/test/reference/mask-surface-ctm.argb32.ref.png
deleted file mode 100644 (file)
index 07d903d..0000000
Binary files a/test/reference/mask-surface-ctm.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-surface-ctm.base.argb32.ref.png b/test/reference/mask-surface-ctm.base.argb32.ref.png
deleted file mode 100644 (file)
index 07d903d..0000000
Binary files a/test/reference/mask-surface-ctm.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-surface-ctm.base.rgb24.ref.png b/test/reference/mask-surface-ctm.base.rgb24.ref.png
deleted file mode 100644 (file)
index de3fa09..0000000
Binary files a/test/reference/mask-surface-ctm.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-surface-ctm.egl.argb32.ref.png b/test/reference/mask-surface-ctm.egl.argb32.ref.png
deleted file mode 100644 (file)
index 07d903d..0000000
Binary files a/test/reference/mask-surface-ctm.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-surface-ctm.mask.argb32.ref.png b/test/reference/mask-surface-ctm.mask.argb32.ref.png
deleted file mode 100644 (file)
index 07d903d..0000000
Binary files a/test/reference/mask-surface-ctm.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-surface-ctm.mask.rgb24.ref.png b/test/reference/mask-surface-ctm.mask.rgb24.ref.png
deleted file mode 100644 (file)
index de3fa09..0000000
Binary files a/test/reference/mask-surface-ctm.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-surface-ctm.ref.png b/test/reference/mask-surface-ctm.ref.png
deleted file mode 100644 (file)
index 744b1dd..0000000
Binary files a/test/reference/mask-surface-ctm.ref.png and /dev/null differ
diff --git a/test/reference/mask-surface-ctm.rgb24.ref.png b/test/reference/mask-surface-ctm.rgb24.ref.png
deleted file mode 100644 (file)
index de3fa09..0000000
Binary files a/test/reference/mask-surface-ctm.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-surface-ctm.traps.argb32.ref.png b/test/reference/mask-surface-ctm.traps.argb32.ref.png
deleted file mode 100644 (file)
index 07d903d..0000000
Binary files a/test/reference/mask-surface-ctm.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-surface-ctm.traps.rgb24.ref.png b/test/reference/mask-surface-ctm.traps.rgb24.ref.png
deleted file mode 100644 (file)
index de3fa09..0000000
Binary files a/test/reference/mask-surface-ctm.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.argb32.ref.png b/test/reference/mask-transformed-image.argb32.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-image.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.base.argb32.ref.png b/test/reference/mask-transformed-image.base.argb32.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-image.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.base.rgb24.ref.png b/test/reference/mask-transformed-image.base.rgb24.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-image.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.egl.argb32.ref.png b/test/reference/mask-transformed-image.egl.argb32.ref.png
deleted file mode 100644 (file)
index b4f3213..0000000
Binary files a/test/reference/mask-transformed-image.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.image16.ref.png b/test/reference/mask-transformed-image.image16.ref.png
deleted file mode 100644 (file)
index 9e196ef..0000000
Binary files a/test/reference/mask-transformed-image.image16.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.mask.argb32.ref.png b/test/reference/mask-transformed-image.mask.argb32.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-image.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.mask.rgb24.ref.png b/test/reference/mask-transformed-image.mask.rgb24.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-image.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.pdf.ref.png b/test/reference/mask-transformed-image.pdf.ref.png
deleted file mode 100644 (file)
index 33ec279..0000000
Binary files a/test/reference/mask-transformed-image.pdf.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.quartz.ref.png b/test/reference/mask-transformed-image.quartz.ref.png
deleted file mode 100644 (file)
index 58ac575..0000000
Binary files a/test/reference/mask-transformed-image.quartz.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.ref.png b/test/reference/mask-transformed-image.ref.png
deleted file mode 100644 (file)
index e634f75..0000000
Binary files a/test/reference/mask-transformed-image.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.rgb24.ref.png b/test/reference/mask-transformed-image.rgb24.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-image.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.traps.argb32.ref.png b/test/reference/mask-transformed-image.traps.argb32.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-image.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-image.traps.rgb24.ref.png b/test/reference/mask-transformed-image.traps.rgb24.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-image.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.argb32.ref.png b/test/reference/mask-transformed-similar.argb32.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.base.argb32.ref.png b/test/reference/mask-transformed-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.base.rgb24.ref.png b/test/reference/mask-transformed-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.egl.argb32.ref.png b/test/reference/mask-transformed-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index 97b38ae..0000000
Binary files a/test/reference/mask-transformed-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.image16.ref.png b/test/reference/mask-transformed-similar.image16.ref.png
deleted file mode 100644 (file)
index 9e196ef..0000000
Binary files a/test/reference/mask-transformed-similar.image16.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.mask.argb32.ref.png b/test/reference/mask-transformed-similar.mask.argb32.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-similar.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.mask.rgb24.ref.png b/test/reference/mask-transformed-similar.mask.rgb24.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-similar.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.pdf.ref.png b/test/reference/mask-transformed-similar.pdf.ref.png
deleted file mode 100644 (file)
index e8d3879..0000000
Binary files a/test/reference/mask-transformed-similar.pdf.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.quartz.ref.png b/test/reference/mask-transformed-similar.quartz.ref.png
deleted file mode 100644 (file)
index 58ac575..0000000
Binary files a/test/reference/mask-transformed-similar.quartz.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.recording.ref.png b/test/reference/mask-transformed-similar.recording.ref.png
deleted file mode 100644 (file)
index 33ec279..0000000
Binary files a/test/reference/mask-transformed-similar.recording.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.ref.png b/test/reference/mask-transformed-similar.ref.png
deleted file mode 100644 (file)
index e634f75..0000000
Binary files a/test/reference/mask-transformed-similar.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.rgb24.ref.png b/test/reference/mask-transformed-similar.rgb24.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.svg.ref.png b/test/reference/mask-transformed-similar.svg.ref.png
deleted file mode 100644 (file)
index a5b9b00..0000000
Binary files a/test/reference/mask-transformed-similar.svg.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.traps.argb32.ref.png b/test/reference/mask-transformed-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-similar.traps.rgb24.ref.png b/test/reference/mask-transformed-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index af84b39..0000000
Binary files a/test/reference/mask-transformed-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-xlib-fallback.rgb24.ref.png b/test/reference/mask-transformed-xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 09eb43a..0000000
Binary files a/test/reference/mask-transformed-xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-xlib-window.rgb24.ref.png b/test/reference/mask-transformed-xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 09eb43a..0000000
Binary files a/test/reference/mask-transformed-xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-xlib.argb32.ref.png b/test/reference/mask-transformed-xlib.argb32.ref.png
deleted file mode 100644 (file)
index 09eb43a..0000000
Binary files a/test/reference/mask-transformed-xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask-transformed-xlib.rgb24.ref.png b/test/reference/mask-transformed-xlib.rgb24.ref.png
deleted file mode 100644 (file)
index 09eb43a..0000000
Binary files a/test/reference/mask-transformed-xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask.argb32.ref.png b/test/reference/mask.argb32.ref.png
deleted file mode 100644 (file)
index d965468..0000000
Binary files a/test/reference/mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask.base.argb32.ref.png b/test/reference/mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 7ee6b45..0000000
Binary files a/test/reference/mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask.base.rgb24.ref.png b/test/reference/mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index b0ceb35..0000000
Binary files a/test/reference/mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask.egl.argb32.ref.png b/test/reference/mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6f49576..0000000
Binary files a/test/reference/mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask.image16.ref.png b/test/reference/mask.image16.ref.png
deleted file mode 100644 (file)
index 4ab52de..0000000
Binary files a/test/reference/mask.image16.ref.png and /dev/null differ
diff --git a/test/reference/mask.mask.argb32.ref.png b/test/reference/mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2d740d4..0000000
Binary files a/test/reference/mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask.mask.rgb24.ref.png b/test/reference/mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 12114a7..0000000
Binary files a/test/reference/mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask.pdf.argb32.ref.png b/test/reference/mask.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 33769ee..0000000
Binary files a/test/reference/mask.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask.pdf.rgb24.ref.png b/test/reference/mask.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index dbd49a8..0000000
Binary files a/test/reference/mask.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask.quartz.argb32.ref.png b/test/reference/mask.quartz.argb32.ref.png
deleted file mode 100644 (file)
index c7ab76e..0000000
Binary files a/test/reference/mask.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask.quartz.rgb24.ref.png b/test/reference/mask.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index f475ba9..0000000
Binary files a/test/reference/mask.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask.rgb24.ref.png b/test/reference/mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0617ec2..0000000
Binary files a/test/reference/mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask.svg.argb32.xfail.png b/test/reference/mask.svg.argb32.xfail.png
deleted file mode 100644 (file)
index 8672480..0000000
Binary files a/test/reference/mask.svg.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/mask.svg.rgb24.xfail.png b/test/reference/mask.svg.rgb24.xfail.png
deleted file mode 100644 (file)
index 743a758..0000000
Binary files a/test/reference/mask.svg.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/mask.traps.argb32.ref.png b/test/reference/mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3286ce6..0000000
Binary files a/test/reference/mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mask.traps.rgb24.ref.png b/test/reference/mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index edcabaf..0000000
Binary files a/test/reference/mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.argb32.ref.png b/test/reference/mesh-pattern-accuracy.argb32.ref.png
deleted file mode 100644 (file)
index dfc19ff..0000000
Binary files a/test/reference/mesh-pattern-accuracy.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.base.argb32.ref.png b/test/reference/mesh-pattern-accuracy.base.argb32.ref.png
deleted file mode 100644 (file)
index dfc19ff..0000000
Binary files a/test/reference/mesh-pattern-accuracy.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.base.rgb24.ref.png b/test/reference/mesh-pattern-accuracy.base.rgb24.ref.png
deleted file mode 100644 (file)
index dfc19ff..0000000
Binary files a/test/reference/mesh-pattern-accuracy.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.egl.argb32.ref.png b/test/reference/mesh-pattern-accuracy.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4b0a846..0000000
Binary files a/test/reference/mesh-pattern-accuracy.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.image16.ref.png b/test/reference/mesh-pattern-accuracy.image16.ref.png
deleted file mode 100644 (file)
index a82e4fb..0000000
Binary files a/test/reference/mesh-pattern-accuracy.image16.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.mask.argb32.ref.png b/test/reference/mesh-pattern-accuracy.mask.argb32.ref.png
deleted file mode 100644 (file)
index dfc19ff..0000000
Binary files a/test/reference/mesh-pattern-accuracy.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.mask.rgb24.ref.png b/test/reference/mesh-pattern-accuracy.mask.rgb24.ref.png
deleted file mode 100644 (file)
index dfc19ff..0000000
Binary files a/test/reference/mesh-pattern-accuracy.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.ref.png b/test/reference/mesh-pattern-accuracy.ref.png
deleted file mode 100644 (file)
index dfc19ff..0000000
Binary files a/test/reference/mesh-pattern-accuracy.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.rgb24.ref.png b/test/reference/mesh-pattern-accuracy.rgb24.ref.png
deleted file mode 100644 (file)
index dfc19ff..0000000
Binary files a/test/reference/mesh-pattern-accuracy.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.traps.argb32.ref.png b/test/reference/mesh-pattern-accuracy.traps.argb32.ref.png
deleted file mode 100644 (file)
index dfc19ff..0000000
Binary files a/test/reference/mesh-pattern-accuracy.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-accuracy.traps.rgb24.ref.png b/test/reference/mesh-pattern-accuracy.traps.rgb24.ref.png
deleted file mode 100644 (file)
index dfc19ff..0000000
Binary files a/test/reference/mesh-pattern-accuracy.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.argb32.ref.png b/test/reference/mesh-pattern-conical.argb32.ref.png
deleted file mode 100644 (file)
index f5dc21d..0000000
Binary files a/test/reference/mesh-pattern-conical.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.base.argb32.ref.png b/test/reference/mesh-pattern-conical.base.argb32.ref.png
deleted file mode 100644 (file)
index f5dc21d..0000000
Binary files a/test/reference/mesh-pattern-conical.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.base.rgb24.ref.png b/test/reference/mesh-pattern-conical.base.rgb24.ref.png
deleted file mode 100644 (file)
index f5dc21d..0000000
Binary files a/test/reference/mesh-pattern-conical.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.egl.argb32.ref.png b/test/reference/mesh-pattern-conical.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8db45c0..0000000
Binary files a/test/reference/mesh-pattern-conical.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.image16.ref.png b/test/reference/mesh-pattern-conical.image16.ref.png
deleted file mode 100644 (file)
index b8f9416..0000000
Binary files a/test/reference/mesh-pattern-conical.image16.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.mask.argb32.ref.png b/test/reference/mesh-pattern-conical.mask.argb32.ref.png
deleted file mode 100644 (file)
index f5dc21d..0000000
Binary files a/test/reference/mesh-pattern-conical.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.mask.rgb24.ref.png b/test/reference/mesh-pattern-conical.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f5dc21d..0000000
Binary files a/test/reference/mesh-pattern-conical.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.ref.png b/test/reference/mesh-pattern-conical.ref.png
deleted file mode 100644 (file)
index f5dc21d..0000000
Binary files a/test/reference/mesh-pattern-conical.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.rgb24.ref.png b/test/reference/mesh-pattern-conical.rgb24.ref.png
deleted file mode 100644 (file)
index f5dc21d..0000000
Binary files a/test/reference/mesh-pattern-conical.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.traps.argb32.ref.png b/test/reference/mesh-pattern-conical.traps.argb32.ref.png
deleted file mode 100644 (file)
index f5dc21d..0000000
Binary files a/test/reference/mesh-pattern-conical.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-conical.traps.rgb24.ref.png b/test/reference/mesh-pattern-conical.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f5dc21d..0000000
Binary files a/test/reference/mesh-pattern-conical.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.argb32.ref.png b/test/reference/mesh-pattern-control-points.argb32.ref.png
deleted file mode 100644 (file)
index 841fc3e..0000000
Binary files a/test/reference/mesh-pattern-control-points.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.base.argb32.ref.png b/test/reference/mesh-pattern-control-points.base.argb32.ref.png
deleted file mode 100644 (file)
index 841fc3e..0000000
Binary files a/test/reference/mesh-pattern-control-points.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.base.rgb24.ref.png b/test/reference/mesh-pattern-control-points.base.rgb24.ref.png
deleted file mode 100644 (file)
index 841fc3e..0000000
Binary files a/test/reference/mesh-pattern-control-points.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.egl.argb32.ref.png b/test/reference/mesh-pattern-control-points.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9533e90..0000000
Binary files a/test/reference/mesh-pattern-control-points.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.image16.ref.png b/test/reference/mesh-pattern-control-points.image16.ref.png
deleted file mode 100644 (file)
index b664ef9..0000000
Binary files a/test/reference/mesh-pattern-control-points.image16.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.mask.argb32.ref.png b/test/reference/mesh-pattern-control-points.mask.argb32.ref.png
deleted file mode 100644 (file)
index 841fc3e..0000000
Binary files a/test/reference/mesh-pattern-control-points.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.mask.rgb24.ref.png b/test/reference/mesh-pattern-control-points.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 841fc3e..0000000
Binary files a/test/reference/mesh-pattern-control-points.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.ref.png b/test/reference/mesh-pattern-control-points.ref.png
deleted file mode 100644 (file)
index 841fc3e..0000000
Binary files a/test/reference/mesh-pattern-control-points.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.rgb24.ref.png b/test/reference/mesh-pattern-control-points.rgb24.ref.png
deleted file mode 100644 (file)
index 841fc3e..0000000
Binary files a/test/reference/mesh-pattern-control-points.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.traps.argb32.ref.png b/test/reference/mesh-pattern-control-points.traps.argb32.ref.png
deleted file mode 100644 (file)
index 841fc3e..0000000
Binary files a/test/reference/mesh-pattern-control-points.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-control-points.traps.rgb24.ref.png b/test/reference/mesh-pattern-control-points.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 841fc3e..0000000
Binary files a/test/reference/mesh-pattern-control-points.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.argb32.ref.png b/test/reference/mesh-pattern-fold.argb32.ref.png
deleted file mode 100644 (file)
index 6275b82..0000000
Binary files a/test/reference/mesh-pattern-fold.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.base.argb32.ref.png b/test/reference/mesh-pattern-fold.base.argb32.ref.png
deleted file mode 100644 (file)
index 6275b82..0000000
Binary files a/test/reference/mesh-pattern-fold.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.base.rgb24.ref.png b/test/reference/mesh-pattern-fold.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6275b82..0000000
Binary files a/test/reference/mesh-pattern-fold.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.egl.argb32.ref.png b/test/reference/mesh-pattern-fold.egl.argb32.ref.png
deleted file mode 100644 (file)
index 94586d9..0000000
Binary files a/test/reference/mesh-pattern-fold.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.image16.ref.png b/test/reference/mesh-pattern-fold.image16.ref.png
deleted file mode 100644 (file)
index 4264ad2..0000000
Binary files a/test/reference/mesh-pattern-fold.image16.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.mask.argb32.ref.png b/test/reference/mesh-pattern-fold.mask.argb32.ref.png
deleted file mode 100644 (file)
index 6275b82..0000000
Binary files a/test/reference/mesh-pattern-fold.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.mask.rgb24.ref.png b/test/reference/mesh-pattern-fold.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6275b82..0000000
Binary files a/test/reference/mesh-pattern-fold.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.ref.png b/test/reference/mesh-pattern-fold.ref.png
deleted file mode 100644 (file)
index 6275b82..0000000
Binary files a/test/reference/mesh-pattern-fold.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.rgb24.ref.png b/test/reference/mesh-pattern-fold.rgb24.ref.png
deleted file mode 100644 (file)
index 6275b82..0000000
Binary files a/test/reference/mesh-pattern-fold.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.traps.argb32.ref.png b/test/reference/mesh-pattern-fold.traps.argb32.ref.png
deleted file mode 100644 (file)
index 6275b82..0000000
Binary files a/test/reference/mesh-pattern-fold.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-fold.traps.rgb24.ref.png b/test/reference/mesh-pattern-fold.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6275b82..0000000
Binary files a/test/reference/mesh-pattern-fold.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.argb32.ref.png b/test/reference/mesh-pattern-overlap.argb32.ref.png
deleted file mode 100644 (file)
index 1394c9e..0000000
Binary files a/test/reference/mesh-pattern-overlap.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.base.argb32.ref.png b/test/reference/mesh-pattern-overlap.base.argb32.ref.png
deleted file mode 100644 (file)
index 1394c9e..0000000
Binary files a/test/reference/mesh-pattern-overlap.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.base.rgb24.ref.png b/test/reference/mesh-pattern-overlap.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1394c9e..0000000
Binary files a/test/reference/mesh-pattern-overlap.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.egl.argb32.ref.png b/test/reference/mesh-pattern-overlap.egl.argb32.ref.png
deleted file mode 100644 (file)
index b7c6321..0000000
Binary files a/test/reference/mesh-pattern-overlap.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.image16.ref.png b/test/reference/mesh-pattern-overlap.image16.ref.png
deleted file mode 100644 (file)
index a67f7dd..0000000
Binary files a/test/reference/mesh-pattern-overlap.image16.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.mask.argb32.ref.png b/test/reference/mesh-pattern-overlap.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1394c9e..0000000
Binary files a/test/reference/mesh-pattern-overlap.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.mask.rgb24.ref.png b/test/reference/mesh-pattern-overlap.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1394c9e..0000000
Binary files a/test/reference/mesh-pattern-overlap.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.ref.png b/test/reference/mesh-pattern-overlap.ref.png
deleted file mode 100644 (file)
index 1394c9e..0000000
Binary files a/test/reference/mesh-pattern-overlap.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.rgb24.ref.png b/test/reference/mesh-pattern-overlap.rgb24.ref.png
deleted file mode 100644 (file)
index 1394c9e..0000000
Binary files a/test/reference/mesh-pattern-overlap.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.traps.argb32.ref.png b/test/reference/mesh-pattern-overlap.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1394c9e..0000000
Binary files a/test/reference/mesh-pattern-overlap.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-overlap.traps.rgb24.ref.png b/test/reference/mesh-pattern-overlap.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1394c9e..0000000
Binary files a/test/reference/mesh-pattern-overlap.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.argb32.ref.png b/test/reference/mesh-pattern-transformed.argb32.ref.png
deleted file mode 100644 (file)
index 9aa482f..0000000
Binary files a/test/reference/mesh-pattern-transformed.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.base.argb32.ref.png b/test/reference/mesh-pattern-transformed.base.argb32.ref.png
deleted file mode 100644 (file)
index 9aa482f..0000000
Binary files a/test/reference/mesh-pattern-transformed.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.base.rgb24.ref.png b/test/reference/mesh-pattern-transformed.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9aa482f..0000000
Binary files a/test/reference/mesh-pattern-transformed.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.egl.argb32.ref.png b/test/reference/mesh-pattern-transformed.egl.argb32.ref.png
deleted file mode 100644 (file)
index b4dcde2..0000000
Binary files a/test/reference/mesh-pattern-transformed.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.image16.ref.png b/test/reference/mesh-pattern-transformed.image16.ref.png
deleted file mode 100644 (file)
index 0645b86..0000000
Binary files a/test/reference/mesh-pattern-transformed.image16.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.mask.argb32.ref.png b/test/reference/mesh-pattern-transformed.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9aa482f..0000000
Binary files a/test/reference/mesh-pattern-transformed.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.mask.rgb24.ref.png b/test/reference/mesh-pattern-transformed.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9aa482f..0000000
Binary files a/test/reference/mesh-pattern-transformed.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.ref.png b/test/reference/mesh-pattern-transformed.ref.png
deleted file mode 100644 (file)
index 9aa482f..0000000
Binary files a/test/reference/mesh-pattern-transformed.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.rgb24.ref.png b/test/reference/mesh-pattern-transformed.rgb24.ref.png
deleted file mode 100644 (file)
index 9aa482f..0000000
Binary files a/test/reference/mesh-pattern-transformed.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.traps.argb32.ref.png b/test/reference/mesh-pattern-transformed.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9aa482f..0000000
Binary files a/test/reference/mesh-pattern-transformed.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern-transformed.traps.rgb24.ref.png b/test/reference/mesh-pattern-transformed.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 9aa482f..0000000
Binary files a/test/reference/mesh-pattern-transformed.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.argb32.ref.png b/test/reference/mesh-pattern.argb32.ref.png
deleted file mode 100644 (file)
index 1f76639..0000000
Binary files a/test/reference/mesh-pattern.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.base.argb32.ref.png b/test/reference/mesh-pattern.base.argb32.ref.png
deleted file mode 100644 (file)
index 1f76639..0000000
Binary files a/test/reference/mesh-pattern.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.base.rgb24.ref.png b/test/reference/mesh-pattern.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1f76639..0000000
Binary files a/test/reference/mesh-pattern.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.egl.argb32.ref.png b/test/reference/mesh-pattern.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2640f5a..0000000
Binary files a/test/reference/mesh-pattern.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.image16.ref.png b/test/reference/mesh-pattern.image16.ref.png
deleted file mode 100644 (file)
index bd63538..0000000
Binary files a/test/reference/mesh-pattern.image16.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.mask.argb32.ref.png b/test/reference/mesh-pattern.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1f76639..0000000
Binary files a/test/reference/mesh-pattern.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.mask.rgb24.ref.png b/test/reference/mesh-pattern.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1f76639..0000000
Binary files a/test/reference/mesh-pattern.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.ref.png b/test/reference/mesh-pattern.ref.png
deleted file mode 100644 (file)
index 1f76639..0000000
Binary files a/test/reference/mesh-pattern.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.rgb24.ref.png b/test/reference/mesh-pattern.rgb24.ref.png
deleted file mode 100644 (file)
index 1f76639..0000000
Binary files a/test/reference/mesh-pattern.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.traps.argb32.ref.png b/test/reference/mesh-pattern.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1f76639..0000000
Binary files a/test/reference/mesh-pattern.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mesh-pattern.traps.rgb24.ref.png b/test/reference/mesh-pattern.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1f76639..0000000
Binary files a/test/reference/mesh-pattern.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.argb32.ref.png b/test/reference/mime-data.argb32.ref.png
deleted file mode 100644 (file)
index 3a912c5..0000000
Binary files a/test/reference/mime-data.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.base.argb32.ref.png b/test/reference/mime-data.base.argb32.ref.png
deleted file mode 100644 (file)
index 3a912c5..0000000
Binary files a/test/reference/mime-data.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.base.rgb24.ref.png b/test/reference/mime-data.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3a912c5..0000000
Binary files a/test/reference/mime-data.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.egl.argb32.ref.png b/test/reference/mime-data.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3a912c5..0000000
Binary files a/test/reference/mime-data.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.mask.argb32.ref.png b/test/reference/mime-data.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3a912c5..0000000
Binary files a/test/reference/mime-data.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.mask.rgb24.ref.png b/test/reference/mime-data.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3a912c5..0000000
Binary files a/test/reference/mime-data.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.pdf.ref.png b/test/reference/mime-data.pdf.ref.png
deleted file mode 100644 (file)
index 90a08f5..0000000
Binary files a/test/reference/mime-data.pdf.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.ps.ref.png b/test/reference/mime-data.ps.ref.png
deleted file mode 100644 (file)
index 721fb9c..0000000
Binary files a/test/reference/mime-data.ps.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.ref.png b/test/reference/mime-data.ref.png
deleted file mode 100644 (file)
index 3a912c5..0000000
Binary files a/test/reference/mime-data.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.rgb24.ref.png b/test/reference/mime-data.rgb24.ref.png
deleted file mode 100644 (file)
index 3a912c5..0000000
Binary files a/test/reference/mime-data.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.script.ref.png b/test/reference/mime-data.script.ref.png
deleted file mode 100644 (file)
index 64d7bf3..0000000
Binary files a/test/reference/mime-data.script.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.svg.ref.png b/test/reference/mime-data.svg.ref.png
deleted file mode 100644 (file)
index 81fde72..0000000
Binary files a/test/reference/mime-data.svg.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.traps.argb32.ref.png b/test/reference/mime-data.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3a912c5..0000000
Binary files a/test/reference/mime-data.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mime-data.traps.rgb24.ref.png b/test/reference/mime-data.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3a912c5..0000000
Binary files a/test/reference/mime-data.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mime-surface.base.argb32.ref.png b/test/reference/mime-surface.base.argb32.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/mime-surface.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mime-surface.base.rgb24.ref.png b/test/reference/mime-surface.base.rgb24.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/mime-surface.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mime-surface.ref.png b/test/reference/mime-surface.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/mime-surface.ref.png and /dev/null differ
diff --git a/test/reference/mime-surface.traps.argb32.ref.png b/test/reference/mime-surface.traps.argb32.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/mime-surface.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/mime-surface.traps.rgb24.ref.png b/test/reference/mime-surface.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/mime-surface.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.argb32.ref.png b/test/reference/miter-precision.argb32.ref.png
deleted file mode 100644 (file)
index aa8e229..0000000
Binary files a/test/reference/miter-precision.argb32.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.base.argb32.ref.png b/test/reference/miter-precision.base.argb32.ref.png
deleted file mode 100644 (file)
index b9eee8a..0000000
Binary files a/test/reference/miter-precision.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.base.rgb24.ref.png b/test/reference/miter-precision.base.rgb24.ref.png
deleted file mode 100644 (file)
index b9eee8a..0000000
Binary files a/test/reference/miter-precision.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.egl.argb32.ref.png b/test/reference/miter-precision.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1a76dfd..0000000
Binary files a/test/reference/miter-precision.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.mask.argb32.ref.png b/test/reference/miter-precision.mask.argb32.ref.png
deleted file mode 100644 (file)
index aa8e229..0000000
Binary files a/test/reference/miter-precision.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.mask.rgb24.ref.png b/test/reference/miter-precision.mask.rgb24.ref.png
deleted file mode 100644 (file)
index aa8e229..0000000
Binary files a/test/reference/miter-precision.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.ps2.ref.png b/test/reference/miter-precision.ps2.ref.png
deleted file mode 100644 (file)
index c2b69ad..0000000
Binary files a/test/reference/miter-precision.ps2.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.ps3.ref.png b/test/reference/miter-precision.ps3.ref.png
deleted file mode 100644 (file)
index c2b69ad..0000000
Binary files a/test/reference/miter-precision.ps3.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.ref.png b/test/reference/miter-precision.ref.png
deleted file mode 100644 (file)
index df41581..0000000
Binary files a/test/reference/miter-precision.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.rgb24.ref.png b/test/reference/miter-precision.rgb24.ref.png
deleted file mode 100644 (file)
index aa8e229..0000000
Binary files a/test/reference/miter-precision.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.traps.argb32.ref.png b/test/reference/miter-precision.traps.argb32.ref.png
deleted file mode 100644 (file)
index b9eee8a..0000000
Binary files a/test/reference/miter-precision.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/miter-precision.traps.rgb24.ref.png b/test/reference/miter-precision.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b9eee8a..0000000
Binary files a/test/reference/miter-precision.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/move-to-show-surface.argb32.ref.png b/test/reference/move-to-show-surface.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/move-to-show-surface.argb32.ref.png and /dev/null differ
diff --git a/test/reference/move-to-show-surface.base.argb32.ref.png b/test/reference/move-to-show-surface.base.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/move-to-show-surface.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/move-to-show-surface.base.rgb24.ref.png b/test/reference/move-to-show-surface.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/move-to-show-surface.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/move-to-show-surface.egl.argb32.ref.png b/test/reference/move-to-show-surface.egl.argb32.ref.png
deleted file mode 100644 (file)
index ec93608..0000000
Binary files a/test/reference/move-to-show-surface.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/move-to-show-surface.mask.argb32.ref.png b/test/reference/move-to-show-surface.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/move-to-show-surface.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/move-to-show-surface.mask.rgb24.ref.png b/test/reference/move-to-show-surface.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/move-to-show-surface.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/move-to-show-surface.ref.png b/test/reference/move-to-show-surface.ref.png
deleted file mode 100644 (file)
index 765adc4..0000000
Binary files a/test/reference/move-to-show-surface.ref.png and /dev/null differ
diff --git a/test/reference/move-to-show-surface.rgb24.ref.png b/test/reference/move-to-show-surface.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/move-to-show-surface.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/move-to-show-surface.traps.argb32.ref.png b/test/reference/move-to-show-surface.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/move-to-show-surface.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/move-to-show-surface.traps.rgb24.ref.png b/test/reference/move-to-show-surface.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/move-to-show-surface.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.argb32.ref.png b/test/reference/negative-stride-image.argb32.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/negative-stride-image.argb32.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.base.argb32.ref.png b/test/reference/negative-stride-image.base.argb32.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/negative-stride-image.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.base.rgb24.ref.png b/test/reference/negative-stride-image.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/negative-stride-image.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.egl.argb32.ref.png b/test/reference/negative-stride-image.egl.argb32.ref.png
deleted file mode 100644 (file)
index f6f9a43..0000000
Binary files a/test/reference/negative-stride-image.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.image16.ref.png b/test/reference/negative-stride-image.image16.ref.png
deleted file mode 100644 (file)
index 4b15914..0000000
Binary files a/test/reference/negative-stride-image.image16.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.mask.argb32.ref.png b/test/reference/negative-stride-image.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/negative-stride-image.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.mask.rgb24.ref.png b/test/reference/negative-stride-image.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/negative-stride-image.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.ps.ref.png b/test/reference/negative-stride-image.ps.ref.png
deleted file mode 100644 (file)
index 953c9a1..0000000
Binary files a/test/reference/negative-stride-image.ps.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.ref.png b/test/reference/negative-stride-image.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/negative-stride-image.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.rgb24.ref.png b/test/reference/negative-stride-image.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/negative-stride-image.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.traps.argb32.ref.png b/test/reference/negative-stride-image.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/negative-stride-image.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/negative-stride-image.traps.rgb24.ref.png b/test/reference/negative-stride-image.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/negative-stride-image.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.argb32.ref.png b/test/reference/new-sub-path.argb32.ref.png
deleted file mode 100644 (file)
index 87a6c91..0000000
Binary files a/test/reference/new-sub-path.argb32.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.base.argb32.ref.png b/test/reference/new-sub-path.base.argb32.ref.png
deleted file mode 100644 (file)
index 13e0675..0000000
Binary files a/test/reference/new-sub-path.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.base.rgb24.ref.png b/test/reference/new-sub-path.base.rgb24.ref.png
deleted file mode 100644 (file)
index b69e4ab..0000000
Binary files a/test/reference/new-sub-path.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.egl.argb32.ref.png b/test/reference/new-sub-path.egl.argb32.ref.png
deleted file mode 100644 (file)
index bb6efe8..0000000
Binary files a/test/reference/new-sub-path.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.mask.argb32.ref.png b/test/reference/new-sub-path.mask.argb32.ref.png
deleted file mode 100644 (file)
index 87a6c91..0000000
Binary files a/test/reference/new-sub-path.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.mask.rgb24.ref.png b/test/reference/new-sub-path.mask.rgb24.ref.png
deleted file mode 100644 (file)
index eb297be..0000000
Binary files a/test/reference/new-sub-path.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.pdf.argb32.ref.png b/test/reference/new-sub-path.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 41fe131..0000000
Binary files a/test/reference/new-sub-path.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.ps2.argb32.ref.png b/test/reference/new-sub-path.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 45253db..0000000
Binary files a/test/reference/new-sub-path.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.ps2.rgb24.ref.png b/test/reference/new-sub-path.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index bceb5b7..0000000
Binary files a/test/reference/new-sub-path.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.ps3.argb32.ref.png b/test/reference/new-sub-path.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 45253db..0000000
Binary files a/test/reference/new-sub-path.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.ps3.rgb24.ref.png b/test/reference/new-sub-path.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index bceb5b7..0000000
Binary files a/test/reference/new-sub-path.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.quartz.ref.png b/test/reference/new-sub-path.quartz.ref.png
deleted file mode 100644 (file)
index 20d49ba..0000000
Binary files a/test/reference/new-sub-path.quartz.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.rgb24.ref.png b/test/reference/new-sub-path.rgb24.ref.png
deleted file mode 100644 (file)
index eb297be..0000000
Binary files a/test/reference/new-sub-path.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.traps.argb32.ref.png b/test/reference/new-sub-path.traps.argb32.ref.png
deleted file mode 100644 (file)
index 13e0675..0000000
Binary files a/test/reference/new-sub-path.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/new-sub-path.traps.rgb24.ref.png b/test/reference/new-sub-path.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b69e4ab..0000000
Binary files a/test/reference/new-sub-path.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/nil-surface.argb32.ref.png b/test/reference/nil-surface.argb32.ref.png
deleted file mode 100644 (file)
index 50e35a2..0000000
Binary files a/test/reference/nil-surface.argb32.ref.png and /dev/null differ
diff --git a/test/reference/nil-surface.base.argb32.ref.png b/test/reference/nil-surface.base.argb32.ref.png
deleted file mode 100644 (file)
index 50e35a2..0000000
Binary files a/test/reference/nil-surface.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/nil-surface.base.rgb24.ref.png b/test/reference/nil-surface.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7d5589c..0000000
Binary files a/test/reference/nil-surface.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/nil-surface.egl.argb32.ref.png b/test/reference/nil-surface.egl.argb32.ref.png
deleted file mode 100644 (file)
index 50e35a2..0000000
Binary files a/test/reference/nil-surface.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/nil-surface.mask.argb32.ref.png b/test/reference/nil-surface.mask.argb32.ref.png
deleted file mode 100644 (file)
index 50e35a2..0000000
Binary files a/test/reference/nil-surface.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/nil-surface.mask.rgb24.ref.png b/test/reference/nil-surface.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 7d5589c..0000000
Binary files a/test/reference/nil-surface.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/nil-surface.ref.png b/test/reference/nil-surface.ref.png
deleted file mode 100644 (file)
index 79dd2bc..0000000
Binary files a/test/reference/nil-surface.ref.png and /dev/null differ
diff --git a/test/reference/nil-surface.rgb24.ref.png b/test/reference/nil-surface.rgb24.ref.png
deleted file mode 100644 (file)
index 7d5589c..0000000
Binary files a/test/reference/nil-surface.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/nil-surface.traps.argb32.ref.png b/test/reference/nil-surface.traps.argb32.ref.png
deleted file mode 100644 (file)
index 50e35a2..0000000
Binary files a/test/reference/nil-surface.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/nil-surface.traps.rgb24.ref.png b/test/reference/nil-surface.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 7d5589c..0000000
Binary files a/test/reference/nil-surface.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.argb32.ref.png b/test/reference/operator-alpha-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 695d0d0..0000000
Binary files a/test/reference/operator-alpha-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.base.argb32.ref.png b/test/reference/operator-alpha-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 695d0d0..0000000
Binary files a/test/reference/operator-alpha-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.base.rgb24.ref.png b/test/reference/operator-alpha-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 695d0d0..0000000
Binary files a/test/reference/operator-alpha-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.egl.argb32.ref.png b/test/reference/operator-alpha-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index bae6bc1..0000000
Binary files a/test/reference/operator-alpha-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.image16.ref.png b/test/reference/operator-alpha-alpha.image16.ref.png
deleted file mode 100644 (file)
index 31eba5f..0000000
Binary files a/test/reference/operator-alpha-alpha.image16.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.mask.argb32.ref.png b/test/reference/operator-alpha-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 695d0d0..0000000
Binary files a/test/reference/operator-alpha-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.mask.rgb24.ref.png b/test/reference/operator-alpha-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 695d0d0..0000000
Binary files a/test/reference/operator-alpha-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.pdf.xfail.png b/test/reference/operator-alpha-alpha.pdf.xfail.png
deleted file mode 100644 (file)
index 0a06685..0000000
Binary files a/test/reference/operator-alpha-alpha.pdf.xfail.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.ps.xfail.png b/test/reference/operator-alpha-alpha.ps.xfail.png
deleted file mode 100644 (file)
index e7c4fea..0000000
Binary files a/test/reference/operator-alpha-alpha.ps.xfail.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.ref.png b/test/reference/operator-alpha-alpha.ref.png
deleted file mode 100644 (file)
index 695d0d0..0000000
Binary files a/test/reference/operator-alpha-alpha.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.rgb24.ref.png b/test/reference/operator-alpha-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 695d0d0..0000000
Binary files a/test/reference/operator-alpha-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.svg.xfail.png b/test/reference/operator-alpha-alpha.svg.xfail.png
deleted file mode 100644 (file)
index c7dc8cb..0000000
Binary files a/test/reference/operator-alpha-alpha.svg.xfail.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.traps.argb32.ref.png b/test/reference/operator-alpha-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 695d0d0..0000000
Binary files a/test/reference/operator-alpha-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha-alpha.traps.rgb24.ref.png b/test/reference/operator-alpha-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 695d0d0..0000000
Binary files a/test/reference/operator-alpha-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha.argb32.ref.png b/test/reference/operator-alpha.argb32.ref.png
deleted file mode 100644 (file)
index b4f3b71..0000000
Binary files a/test/reference/operator-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha.base.argb32.ref.png b/test/reference/operator-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index b4f3b71..0000000
Binary files a/test/reference/operator-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha.base.rgb24.ref.png b/test/reference/operator-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index bc7be3a..0000000
Binary files a/test/reference/operator-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha.egl.argb32.ref.png b/test/reference/operator-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 22f618a..0000000
Binary files a/test/reference/operator-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha.mask.argb32.ref.png b/test/reference/operator-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index b4f3b71..0000000
Binary files a/test/reference/operator-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha.mask.rgb24.ref.png b/test/reference/operator-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index bc7be3a..0000000
Binary files a/test/reference/operator-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha.ref.png b/test/reference/operator-alpha.ref.png
deleted file mode 100644 (file)
index b4f3b71..0000000
Binary files a/test/reference/operator-alpha.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha.rgb24.ref.png b/test/reference/operator-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index bc7be3a..0000000
Binary files a/test/reference/operator-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha.svg12.argb32.xfail.png b/test/reference/operator-alpha.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index e821d20..0000000
Binary files a/test/reference/operator-alpha.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/operator-alpha.svg12.rgb24.xfail.png b/test/reference/operator-alpha.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 42d9dde..0000000
Binary files a/test/reference/operator-alpha.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/operator-alpha.traps.argb32.ref.png b/test/reference/operator-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index b4f3b71..0000000
Binary files a/test/reference/operator-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-alpha.traps.rgb24.ref.png b/test/reference/operator-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index bc7be3a..0000000
Binary files a/test/reference/operator-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.argb32.ref.png b/test/reference/operator-clear.argb32.ref.png
deleted file mode 100644 (file)
index 41f63bd..0000000
Binary files a/test/reference/operator-clear.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.base.argb32.ref.png b/test/reference/operator-clear.base.argb32.ref.png
deleted file mode 100644 (file)
index c49b4a8..0000000
Binary files a/test/reference/operator-clear.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.base.rgb24.ref.png b/test/reference/operator-clear.base.rgb24.ref.png
deleted file mode 100644 (file)
index 51d38d1..0000000
Binary files a/test/reference/operator-clear.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.mask.argb32.ref.png b/test/reference/operator-clear.mask.argb32.ref.png
deleted file mode 100644 (file)
index 41f63bd..0000000
Binary files a/test/reference/operator-clear.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.mask.rgb24.ref.png b/test/reference/operator-clear.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3d58ab3..0000000
Binary files a/test/reference/operator-clear.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.ps2.argb32.ref.png b/test/reference/operator-clear.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 92b4111..0000000
Binary files a/test/reference/operator-clear.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.ps3.argb32.ref.png b/test/reference/operator-clear.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 92b4111..0000000
Binary files a/test/reference/operator-clear.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.quartz.argb32.ref.png b/test/reference/operator-clear.quartz.argb32.ref.png
deleted file mode 100644 (file)
index caf265e..0000000
Binary files a/test/reference/operator-clear.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.quartz.rgb24.ref.png b/test/reference/operator-clear.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index a07a6e0..0000000
Binary files a/test/reference/operator-clear.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.rgb24.ref.png b/test/reference/operator-clear.rgb24.ref.png
deleted file mode 100644 (file)
index 3d58ab3..0000000
Binary files a/test/reference/operator-clear.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.svg12.argb32.xfail.png b/test/reference/operator-clear.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index 7dfbd28..0000000
Binary files a/test/reference/operator-clear.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/operator-clear.svg12.rgb24.xfail.png b/test/reference/operator-clear.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index c561bc3..0000000
Binary files a/test/reference/operator-clear.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/operator-clear.traps.argb32.ref.png b/test/reference/operator-clear.traps.argb32.ref.png
deleted file mode 100644 (file)
index c49b4a8..0000000
Binary files a/test/reference/operator-clear.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.traps.rgb24.ref.png b/test/reference/operator-clear.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 51d38d1..0000000
Binary files a/test/reference/operator-clear.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.argb32.ref.png b/test/reference/operator-source.argb32.ref.png
deleted file mode 100644 (file)
index 7b9270a..0000000
Binary files a/test/reference/operator-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.base.argb32.ref.png b/test/reference/operator-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 42e24f2..0000000
Binary files a/test/reference/operator-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.base.rgb24.ref.png b/test/reference/operator-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4736d58..0000000
Binary files a/test/reference/operator-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.image16.ref.png b/test/reference/operator-source.image16.ref.png
deleted file mode 100644 (file)
index 4556260..0000000
Binary files a/test/reference/operator-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.mask.argb32.ref.png b/test/reference/operator-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 74ad1da..0000000
Binary files a/test/reference/operator-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.mask.rgb24.ref.png b/test/reference/operator-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c003356..0000000
Binary files a/test/reference/operator-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.rgb24.ref.png b/test/reference/operator-source.rgb24.ref.png
deleted file mode 100644 (file)
index 2f9efea..0000000
Binary files a/test/reference/operator-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.traps.argb32.ref.png b/test/reference/operator-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 42e24f2..0000000
Binary files a/test/reference/operator-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.traps.rgb24.ref.png b/test/reference/operator-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4736d58..0000000
Binary files a/test/reference/operator-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.xlib-fallback.ref.png b/test/reference/operator-source.xlib-fallback.ref.png
deleted file mode 100644 (file)
index 4527ce7..0000000
Binary files a/test/reference/operator-source.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/operator.argb32.ref.png b/test/reference/operator.argb32.ref.png
deleted file mode 100644 (file)
index 34fce98..0000000
Binary files a/test/reference/operator.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator.base.argb32.ref.png b/test/reference/operator.base.argb32.ref.png
deleted file mode 100644 (file)
index 34fce98..0000000
Binary files a/test/reference/operator.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator.base.rgb24.ref.png b/test/reference/operator.base.rgb24.ref.png
deleted file mode 100644 (file)
index aa6103d..0000000
Binary files a/test/reference/operator.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator.egl.argb32.ref.png b/test/reference/operator.egl.argb32.ref.png
deleted file mode 100644 (file)
index 34fce98..0000000
Binary files a/test/reference/operator.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator.mask.argb32.ref.png b/test/reference/operator.mask.argb32.ref.png
deleted file mode 100644 (file)
index 34fce98..0000000
Binary files a/test/reference/operator.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator.mask.rgb24.ref.png b/test/reference/operator.mask.rgb24.ref.png
deleted file mode 100644 (file)
index aa6103d..0000000
Binary files a/test/reference/operator.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator.ref.png b/test/reference/operator.ref.png
deleted file mode 100644 (file)
index 34fce98..0000000
Binary files a/test/reference/operator.ref.png and /dev/null differ
diff --git a/test/reference/operator.rgb24.ref.png b/test/reference/operator.rgb24.ref.png
deleted file mode 100644 (file)
index aa6103d..0000000
Binary files a/test/reference/operator.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator.svg12.argb32.xfail.png b/test/reference/operator.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index 3996221..0000000
Binary files a/test/reference/operator.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/operator.svg12.rgb24.xfail.png b/test/reference/operator.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 198d4b1..0000000
Binary files a/test/reference/operator.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/operator.traps.argb32.ref.png b/test/reference/operator.traps.argb32.ref.png
deleted file mode 100644 (file)
index 34fce98..0000000
Binary files a/test/reference/operator.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator.traps.rgb24.ref.png b/test/reference/operator.traps.rgb24.ref.png
deleted file mode 100644 (file)
index aa6103d..0000000
Binary files a/test/reference/operator.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.argb32.ref.png b/test/reference/over-above-source.argb32.ref.png
deleted file mode 100644 (file)
index 8c2ce1d..0000000
Binary files a/test/reference/over-above-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.base.argb32.ref.png b/test/reference/over-above-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 8a0183a..0000000
Binary files a/test/reference/over-above-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.base.rgb24.ref.png b/test/reference/over-above-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 85c1997..0000000
Binary files a/test/reference/over-above-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.egl.argb32.ref.png b/test/reference/over-above-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 22614bd..0000000
Binary files a/test/reference/over-above-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.mask.argb32.ref.png b/test/reference/over-above-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8c2ce1d..0000000
Binary files a/test/reference/over-above-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.mask.rgb24.ref.png b/test/reference/over-above-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 240de27..0000000
Binary files a/test/reference/over-above-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.ps2.argb32.ref.png b/test/reference/over-above-source.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 7c90d08..0000000
Binary files a/test/reference/over-above-source.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.ps3.argb32.ref.png b/test/reference/over-above-source.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 7c90d08..0000000
Binary files a/test/reference/over-above-source.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.quartz.argb32.ref.png b/test/reference/over-above-source.quartz.argb32.ref.png
deleted file mode 100644 (file)
index eeb3622..0000000
Binary files a/test/reference/over-above-source.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.quartz.rgb24.ref.png b/test/reference/over-above-source.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 2ab3476..0000000
Binary files a/test/reference/over-above-source.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.ref.png b/test/reference/over-above-source.ref.png
deleted file mode 100644 (file)
index 19a57c2..0000000
Binary files a/test/reference/over-above-source.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.rgb24.ref.png b/test/reference/over-above-source.rgb24.ref.png
deleted file mode 100644 (file)
index 240de27..0000000
Binary files a/test/reference/over-above-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.svg12.rgb24.xfail.png b/test/reference/over-above-source.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index b2939c2..0000000
Binary files a/test/reference/over-above-source.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/over-above-source.traps.argb32.ref.png b/test/reference/over-above-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 8a0183a..0000000
Binary files a/test/reference/over-above-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.traps.rgb24.ref.png b/test/reference/over-above-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 85c1997..0000000
Binary files a/test/reference/over-above-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.argb32.ref.png b/test/reference/over-around-source.argb32.ref.png
deleted file mode 100644 (file)
index 38df9b7..0000000
Binary files a/test/reference/over-around-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.base.argb32.ref.png b/test/reference/over-around-source.base.argb32.ref.png
deleted file mode 100644 (file)
index fca7505..0000000
Binary files a/test/reference/over-around-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.base.rgb24.ref.png b/test/reference/over-around-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index e8dd91d..0000000
Binary files a/test/reference/over-around-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.egl.argb32.ref.png b/test/reference/over-around-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 448643e..0000000
Binary files a/test/reference/over-around-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.image16.ref.png b/test/reference/over-around-source.image16.ref.png
deleted file mode 100644 (file)
index f571b7d..0000000
Binary files a/test/reference/over-around-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.mask.argb32.ref.png b/test/reference/over-around-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 38df9b7..0000000
Binary files a/test/reference/over-around-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.mask.rgb24.ref.png b/test/reference/over-around-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 65fd8e8..0000000
Binary files a/test/reference/over-around-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.pdf.argb32.ref.png b/test/reference/over-around-source.pdf.argb32.ref.png
deleted file mode 100644 (file)
index da700af..0000000
Binary files a/test/reference/over-around-source.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.ps2.argb32.ref.png b/test/reference/over-around-source.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 4391759..0000000
Binary files a/test/reference/over-around-source.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.ps2.rgb24.ref.png b/test/reference/over-around-source.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index ee325ea..0000000
Binary files a/test/reference/over-around-source.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.ps3.argb32.ref.png b/test/reference/over-around-source.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 4391759..0000000
Binary files a/test/reference/over-around-source.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.ps3.rgb24.ref.png b/test/reference/over-around-source.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index ee325ea..0000000
Binary files a/test/reference/over-around-source.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.quartz.argb32.ref.png b/test/reference/over-around-source.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 26ab8e5..0000000
Binary files a/test/reference/over-around-source.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.ref.png b/test/reference/over-around-source.ref.png
deleted file mode 100644 (file)
index 01508d2..0000000
Binary files a/test/reference/over-around-source.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.rgb24.ref.png b/test/reference/over-around-source.rgb24.ref.png
deleted file mode 100644 (file)
index 65fd8e8..0000000
Binary files a/test/reference/over-around-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.svg12.argb32.xfail.png b/test/reference/over-around-source.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index bb29538..0000000
Binary files a/test/reference/over-around-source.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/over-around-source.svg12.rgb24.xfail.png b/test/reference/over-around-source.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index bb29538..0000000
Binary files a/test/reference/over-around-source.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/over-around-source.traps.argb32.ref.png b/test/reference/over-around-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index fca7505..0000000
Binary files a/test/reference/over-around-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.traps.rgb24.ref.png b/test/reference/over-around-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index e8dd91d..0000000
Binary files a/test/reference/over-around-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.argb32.ref.png b/test/reference/over-below-source.argb32.ref.png
deleted file mode 100644 (file)
index 0b55974..0000000
Binary files a/test/reference/over-below-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.base.argb32.ref.png b/test/reference/over-below-source.base.argb32.ref.png
deleted file mode 100644 (file)
index c659363..0000000
Binary files a/test/reference/over-below-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.base.rgb24.ref.png b/test/reference/over-below-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 88a85ac..0000000
Binary files a/test/reference/over-below-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.egl.argb32.ref.png b/test/reference/over-below-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4354755..0000000
Binary files a/test/reference/over-below-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.mask.argb32.ref.png b/test/reference/over-below-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0b55974..0000000
Binary files a/test/reference/over-below-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.mask.rgb24.ref.png b/test/reference/over-below-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9ddde0e..0000000
Binary files a/test/reference/over-below-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.pdf.argb32.ref.png b/test/reference/over-below-source.pdf.argb32.ref.png
deleted file mode 100644 (file)
index b9c4fe2..0000000
Binary files a/test/reference/over-below-source.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.ps2.argb32.ref.png b/test/reference/over-below-source.ps2.argb32.ref.png
deleted file mode 100644 (file)
index c05bda5..0000000
Binary files a/test/reference/over-below-source.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.ps2.rgb24.ref.png b/test/reference/over-below-source.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index 07e10d4..0000000
Binary files a/test/reference/over-below-source.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.ps3.argb32.ref.png b/test/reference/over-below-source.ps3.argb32.ref.png
deleted file mode 100644 (file)
index c05bda5..0000000
Binary files a/test/reference/over-below-source.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.ps3.rgb24.ref.png b/test/reference/over-below-source.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index 07e10d4..0000000
Binary files a/test/reference/over-below-source.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.ref.png b/test/reference/over-below-source.ref.png
deleted file mode 100644 (file)
index eedd56b..0000000
Binary files a/test/reference/over-below-source.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.rgb24.ref.png b/test/reference/over-below-source.rgb24.ref.png
deleted file mode 100644 (file)
index 9ddde0e..0000000
Binary files a/test/reference/over-below-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.svg12.argb32.xfail.png b/test/reference/over-below-source.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index c80705b..0000000
Binary files a/test/reference/over-below-source.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/over-below-source.svg12.rgb24.xfail.png b/test/reference/over-below-source.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index c80705b..0000000
Binary files a/test/reference/over-below-source.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/over-below-source.traps.argb32.ref.png b/test/reference/over-below-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index c659363..0000000
Binary files a/test/reference/over-below-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-below-source.traps.rgb24.ref.png b/test/reference/over-below-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 88a85ac..0000000
Binary files a/test/reference/over-below-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.argb32.ref.png b/test/reference/over-between-source.argb32.ref.png
deleted file mode 100644 (file)
index dd03f98..0000000
Binary files a/test/reference/over-between-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.base.argb32.ref.png b/test/reference/over-between-source.base.argb32.ref.png
deleted file mode 100644 (file)
index a8fe66a..0000000
Binary files a/test/reference/over-between-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.base.rgb24.ref.png b/test/reference/over-between-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index bb77a9b..0000000
Binary files a/test/reference/over-between-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.egl.argb32.ref.png b/test/reference/over-between-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index bd33a56..0000000
Binary files a/test/reference/over-between-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.mask.argb32.ref.png b/test/reference/over-between-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index dd03f98..0000000
Binary files a/test/reference/over-between-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.mask.rgb24.ref.png b/test/reference/over-between-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8569720..0000000
Binary files a/test/reference/over-between-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.ps2.argb32.ref.png b/test/reference/over-between-source.ps2.argb32.ref.png
deleted file mode 100644 (file)
index dd95940..0000000
Binary files a/test/reference/over-between-source.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.ps3.argb32.ref.png b/test/reference/over-between-source.ps3.argb32.ref.png
deleted file mode 100644 (file)
index dd95940..0000000
Binary files a/test/reference/over-between-source.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.quartz.argb32.ref.png b/test/reference/over-between-source.quartz.argb32.ref.png
deleted file mode 100644 (file)
index adb17ae..0000000
Binary files a/test/reference/over-between-source.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.ref.png b/test/reference/over-between-source.ref.png
deleted file mode 100644 (file)
index 7602945..0000000
Binary files a/test/reference/over-between-source.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.rgb24.ref.png b/test/reference/over-between-source.rgb24.ref.png
deleted file mode 100644 (file)
index 8569720..0000000
Binary files a/test/reference/over-between-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.svg12.argb32.xfail.png b/test/reference/over-between-source.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index c80705b..0000000
Binary files a/test/reference/over-between-source.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/over-between-source.svg12.rgb24.xfail.png b/test/reference/over-between-source.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index c80705b..0000000
Binary files a/test/reference/over-between-source.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/over-between-source.traps.argb32.ref.png b/test/reference/over-between-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index a8fe66a..0000000
Binary files a/test/reference/over-between-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.traps.rgb24.ref.png b/test/reference/over-between-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index bb77a9b..0000000
Binary files a/test/reference/over-between-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-boxes.argb32.ref.png b/test/reference/overlapping-boxes.argb32.ref.png
deleted file mode 100644 (file)
index 1c68438..0000000
Binary files a/test/reference/overlapping-boxes.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-boxes.base.argb32.ref.png b/test/reference/overlapping-boxes.base.argb32.ref.png
deleted file mode 100644 (file)
index 278e62a..0000000
Binary files a/test/reference/overlapping-boxes.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-boxes.base.rgb24.ref.png b/test/reference/overlapping-boxes.base.rgb24.ref.png
deleted file mode 100644 (file)
index f35d0e6..0000000
Binary files a/test/reference/overlapping-boxes.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-boxes.egl.argb32.ref.png b/test/reference/overlapping-boxes.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1c68438..0000000
Binary files a/test/reference/overlapping-boxes.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-boxes.mask.argb32.ref.png b/test/reference/overlapping-boxes.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1c68438..0000000
Binary files a/test/reference/overlapping-boxes.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-boxes.mask.rgb24.ref.png b/test/reference/overlapping-boxes.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0edeafa..0000000
Binary files a/test/reference/overlapping-boxes.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-boxes.rgb24.ref.png b/test/reference/overlapping-boxes.rgb24.ref.png
deleted file mode 100644 (file)
index 0edeafa..0000000
Binary files a/test/reference/overlapping-boxes.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-boxes.traps.argb32.ref.png b/test/reference/overlapping-boxes.traps.argb32.ref.png
deleted file mode 100644 (file)
index 278e62a..0000000
Binary files a/test/reference/overlapping-boxes.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-boxes.traps.rgb24.ref.png b/test/reference/overlapping-boxes.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f35d0e6..0000000
Binary files a/test/reference/overlapping-boxes.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-dash-caps.argb32.ref.png b/test/reference/overlapping-dash-caps.argb32.ref.png
deleted file mode 100644 (file)
index 367d683..0000000
Binary files a/test/reference/overlapping-dash-caps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-dash-caps.base.argb32.ref.png b/test/reference/overlapping-dash-caps.base.argb32.ref.png
deleted file mode 100644 (file)
index d3d6729..0000000
Binary files a/test/reference/overlapping-dash-caps.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-dash-caps.base.rgb24.ref.png b/test/reference/overlapping-dash-caps.base.rgb24.ref.png
deleted file mode 100644 (file)
index d3d6729..0000000
Binary files a/test/reference/overlapping-dash-caps.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-dash-caps.egl.argb32.ref.png b/test/reference/overlapping-dash-caps.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9eb188c..0000000
Binary files a/test/reference/overlapping-dash-caps.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-dash-caps.mask.argb32.ref.png b/test/reference/overlapping-dash-caps.mask.argb32.ref.png
deleted file mode 100644 (file)
index 367d683..0000000
Binary files a/test/reference/overlapping-dash-caps.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-dash-caps.mask.rgb24.ref.png b/test/reference/overlapping-dash-caps.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 367d683..0000000
Binary files a/test/reference/overlapping-dash-caps.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-dash-caps.ref.png b/test/reference/overlapping-dash-caps.ref.png
deleted file mode 100644 (file)
index 726b293..0000000
Binary files a/test/reference/overlapping-dash-caps.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-dash-caps.rgb24.ref.png b/test/reference/overlapping-dash-caps.rgb24.ref.png
deleted file mode 100644 (file)
index 367d683..0000000
Binary files a/test/reference/overlapping-dash-caps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-dash-caps.traps.argb32.ref.png b/test/reference/overlapping-dash-caps.traps.argb32.ref.png
deleted file mode 100644 (file)
index d3d6729..0000000
Binary files a/test/reference/overlapping-dash-caps.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-dash-caps.traps.rgb24.ref.png b/test/reference/overlapping-dash-caps.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d3d6729..0000000
Binary files a/test/reference/overlapping-dash-caps.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.argb32.ref.png b/test/reference/overlapping-glyphs.argb32.ref.png
deleted file mode 100644 (file)
index 4ec4ee5..0000000
Binary files a/test/reference/overlapping-glyphs.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.base.argb32.ref.png b/test/reference/overlapping-glyphs.base.argb32.ref.png
deleted file mode 100644 (file)
index 11bf4e1..0000000
Binary files a/test/reference/overlapping-glyphs.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.base.rgb24.ref.png b/test/reference/overlapping-glyphs.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6b65510..0000000
Binary files a/test/reference/overlapping-glyphs.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.egl.argb32.ref.png b/test/reference/overlapping-glyphs.egl.argb32.ref.png
deleted file mode 100644 (file)
index b1d6da9..0000000
Binary files a/test/reference/overlapping-glyphs.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.mask.argb32.ref.png b/test/reference/overlapping-glyphs.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4ec4ee5..0000000
Binary files a/test/reference/overlapping-glyphs.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.mask.rgb24.ref.png b/test/reference/overlapping-glyphs.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5217c15..0000000
Binary files a/test/reference/overlapping-glyphs.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.pdf.argb32.xfail.png b/test/reference/overlapping-glyphs.pdf.argb32.xfail.png
deleted file mode 100644 (file)
index e3e4337..0000000
Binary files a/test/reference/overlapping-glyphs.pdf.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.pdf.rgb24.xfail.png b/test/reference/overlapping-glyphs.pdf.rgb24.xfail.png
deleted file mode 100644 (file)
index a3f1d70..0000000
Binary files a/test/reference/overlapping-glyphs.pdf.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.quartz.argb32.ref.png b/test/reference/overlapping-glyphs.quartz.argb32.ref.png
deleted file mode 100644 (file)
index eaa0cb9..0000000
Binary files a/test/reference/overlapping-glyphs.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.quartz.rgb24.ref.png b/test/reference/overlapping-glyphs.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index c2b5fc0..0000000
Binary files a/test/reference/overlapping-glyphs.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.rgb24.ref.png b/test/reference/overlapping-glyphs.rgb24.ref.png
deleted file mode 100644 (file)
index 5217c15..0000000
Binary files a/test/reference/overlapping-glyphs.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.svg.argb32.ref.png b/test/reference/overlapping-glyphs.svg.argb32.ref.png
deleted file mode 100644 (file)
index ce38499..0000000
Binary files a/test/reference/overlapping-glyphs.svg.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.svg.rgb24.ref.png b/test/reference/overlapping-glyphs.svg.rgb24.ref.png
deleted file mode 100644 (file)
index ce38499..0000000
Binary files a/test/reference/overlapping-glyphs.svg.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.traps.argb32.ref.png b/test/reference/overlapping-glyphs.traps.argb32.ref.png
deleted file mode 100644 (file)
index 11bf4e1..0000000
Binary files a/test/reference/overlapping-glyphs.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/overlapping-glyphs.traps.rgb24.ref.png b/test/reference/overlapping-glyphs.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6b65510..0000000
Binary files a/test/reference/overlapping-glyphs.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-aa.argb32.ref.png b/test/reference/paint-clip-fill-aa.argb32.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-aa.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-aa.base.argb32.ref.png b/test/reference/paint-clip-fill-aa.base.argb32.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-aa.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-aa.base.rgb24.ref.png b/test/reference/paint-clip-fill-aa.base.rgb24.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-aa.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-aa.egl.argb32.ref.png b/test/reference/paint-clip-fill-aa.egl.argb32.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-aa.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-aa.mask.argb32.ref.png b/test/reference/paint-clip-fill-aa.mask.argb32.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-aa.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-aa.mask.rgb24.ref.png b/test/reference/paint-clip-fill-aa.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-aa.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-aa.ref.png b/test/reference/paint-clip-fill-aa.ref.png
deleted file mode 100644 (file)
index a8cf417..0000000
Binary files a/test/reference/paint-clip-fill-aa.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-aa.rgb24.ref.png b/test/reference/paint-clip-fill-aa.rgb24.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-aa.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-aa.traps.argb32.ref.png b/test/reference/paint-clip-fill-aa.traps.argb32.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-aa.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-aa.traps.rgb24.ref.png b/test/reference/paint-clip-fill-aa.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-aa.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-mono.argb32.ref.png b/test/reference/paint-clip-fill-mono.argb32.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-mono.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-mono.base.argb32.ref.png b/test/reference/paint-clip-fill-mono.base.argb32.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-mono.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-mono.base.rgb24.ref.png b/test/reference/paint-clip-fill-mono.base.rgb24.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-mono.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-mono.egl.argb32.ref.png b/test/reference/paint-clip-fill-mono.egl.argb32.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-mono.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-mono.mask.argb32.ref.png b/test/reference/paint-clip-fill-mono.mask.argb32.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-mono.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-mono.mask.rgb24.ref.png b/test/reference/paint-clip-fill-mono.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-mono.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-mono.ref.png b/test/reference/paint-clip-fill-mono.ref.png
deleted file mode 100644 (file)
index a8cf417..0000000
Binary files a/test/reference/paint-clip-fill-mono.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-mono.rgb24.ref.png b/test/reference/paint-clip-fill-mono.rgb24.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-mono.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-mono.traps.argb32.ref.png b/test/reference/paint-clip-fill-mono.traps.argb32.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-mono.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-clip-fill-mono.traps.rgb24.ref.png b/test/reference/paint-clip-fill-mono.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 768322a..0000000
Binary files a/test/reference/paint-clip-fill-mono.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-repeat.argb32.ref.png b/test/reference/paint-repeat.argb32.ref.png
deleted file mode 100644 (file)
index 8cdd9b4..0000000
Binary files a/test/reference/paint-repeat.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-repeat.base.argb32.ref.png b/test/reference/paint-repeat.base.argb32.ref.png
deleted file mode 100644 (file)
index 8cdd9b4..0000000
Binary files a/test/reference/paint-repeat.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-repeat.base.rgb24.ref.png b/test/reference/paint-repeat.base.rgb24.ref.png
deleted file mode 100644 (file)
index 8cdd9b4..0000000
Binary files a/test/reference/paint-repeat.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-repeat.egl.argb32.ref.png b/test/reference/paint-repeat.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8cdd9b4..0000000
Binary files a/test/reference/paint-repeat.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-repeat.mask.argb32.ref.png b/test/reference/paint-repeat.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8cdd9b4..0000000
Binary files a/test/reference/paint-repeat.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-repeat.mask.rgb24.ref.png b/test/reference/paint-repeat.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8cdd9b4..0000000
Binary files a/test/reference/paint-repeat.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-repeat.ref.png b/test/reference/paint-repeat.ref.png
deleted file mode 100644 (file)
index 2cc48f3..0000000
Binary files a/test/reference/paint-repeat.ref.png and /dev/null differ
diff --git a/test/reference/paint-repeat.rgb24.ref.png b/test/reference/paint-repeat.rgb24.ref.png
deleted file mode 100644 (file)
index 8cdd9b4..0000000
Binary files a/test/reference/paint-repeat.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-repeat.traps.argb32.ref.png b/test/reference/paint-repeat.traps.argb32.ref.png
deleted file mode 100644 (file)
index 8cdd9b4..0000000
Binary files a/test/reference/paint-repeat.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-repeat.traps.rgb24.ref.png b/test/reference/paint-repeat.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 8cdd9b4..0000000
Binary files a/test/reference/paint-repeat.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.argb32.ref.png b/test/reference/paint-source-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-source-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.base.argb32.ref.png b/test/reference/paint-source-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-source-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.base.rgb24.ref.png b/test/reference/paint-source-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-source-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.egl.argb32.ref.png b/test/reference/paint-source-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1155cef..0000000
Binary files a/test/reference/paint-source-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.image16.ref.png b/test/reference/paint-source-alpha.image16.ref.png
deleted file mode 100644 (file)
index 12bd89d..0000000
Binary files a/test/reference/paint-source-alpha.image16.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.mask.argb32.ref.png b/test/reference/paint-source-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-source-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.mask.rgb24.ref.png b/test/reference/paint-source-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-source-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.ref.png b/test/reference/paint-source-alpha.ref.png
deleted file mode 100644 (file)
index 548bcd7..0000000
Binary files a/test/reference/paint-source-alpha.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.rgb24.ref.png b/test/reference/paint-source-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-source-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.svg.ref.png b/test/reference/paint-source-alpha.svg.ref.png
deleted file mode 100644 (file)
index 763bb59..0000000
Binary files a/test/reference/paint-source-alpha.svg.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.traps.argb32.ref.png b/test/reference/paint-source-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-source-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-source-alpha.traps.rgb24.ref.png b/test/reference/paint-source-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-source-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip-mask.argb32.ref.png b/test/reference/paint-with-alpha-clip-mask.argb32.ref.png
deleted file mode 100644 (file)
index 5054672..0000000
Binary files a/test/reference/paint-with-alpha-clip-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip-mask.base.argb32.ref.png b/test/reference/paint-with-alpha-clip-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 95746ff..0000000
Binary files a/test/reference/paint-with-alpha-clip-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip-mask.base.rgb24.ref.png b/test/reference/paint-with-alpha-clip-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 95746ff..0000000
Binary files a/test/reference/paint-with-alpha-clip-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip-mask.egl.argb32.ref.png b/test/reference/paint-with-alpha-clip-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index 607fdaa..0000000
Binary files a/test/reference/paint-with-alpha-clip-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip-mask.mask.argb32.ref.png b/test/reference/paint-with-alpha-clip-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index 95746ff..0000000
Binary files a/test/reference/paint-with-alpha-clip-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip-mask.mask.rgb24.ref.png b/test/reference/paint-with-alpha-clip-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 95746ff..0000000
Binary files a/test/reference/paint-with-alpha-clip-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip-mask.ref.png b/test/reference/paint-with-alpha-clip-mask.ref.png
deleted file mode 100644 (file)
index 12e09d3..0000000
Binary files a/test/reference/paint-with-alpha-clip-mask.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip-mask.rgb24.ref.png b/test/reference/paint-with-alpha-clip-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5054672..0000000
Binary files a/test/reference/paint-with-alpha-clip-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip-mask.traps.argb32.ref.png b/test/reference/paint-with-alpha-clip-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 201bd0d..0000000
Binary files a/test/reference/paint-with-alpha-clip-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip-mask.traps.rgb24.ref.png b/test/reference/paint-with-alpha-clip-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 201bd0d..0000000
Binary files a/test/reference/paint-with-alpha-clip-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.argb32.ref.png b/test/reference/paint-with-alpha-clip.argb32.ref.png
deleted file mode 100644 (file)
index 4bad4e8..0000000
Binary files a/test/reference/paint-with-alpha-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.base.argb32.ref.png b/test/reference/paint-with-alpha-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index c1da67e..0000000
Binary files a/test/reference/paint-with-alpha-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.base.rgb24.ref.png b/test/reference/paint-with-alpha-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index c1da67e..0000000
Binary files a/test/reference/paint-with-alpha-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.egl.argb32.ref.png b/test/reference/paint-with-alpha-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 728224e..0000000
Binary files a/test/reference/paint-with-alpha-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.mask.argb32.ref.png b/test/reference/paint-with-alpha-clip.mask.argb32.ref.png
deleted file mode 100644 (file)
index c1da67e..0000000
Binary files a/test/reference/paint-with-alpha-clip.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.mask.rgb24.ref.png b/test/reference/paint-with-alpha-clip.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c1da67e..0000000
Binary files a/test/reference/paint-with-alpha-clip.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.ref.png b/test/reference/paint-with-alpha-clip.ref.png
deleted file mode 100644 (file)
index 4bad4e8..0000000
Binary files a/test/reference/paint-with-alpha-clip.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.rgb24.ref.png b/test/reference/paint-with-alpha-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 4bad4e8..0000000
Binary files a/test/reference/paint-with-alpha-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.traps.argb32.ref.png b/test/reference/paint-with-alpha-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index c1da67e..0000000
Binary files a/test/reference/paint-with-alpha-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.traps.rgb24.ref.png b/test/reference/paint-with-alpha-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c1da67e..0000000
Binary files a/test/reference/paint-with-alpha-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-solid-clip.argb32.ref.png b/test/reference/paint-with-alpha-solid-clip.argb32.ref.png
deleted file mode 100644 (file)
index 59d226d..0000000
Binary files a/test/reference/paint-with-alpha-solid-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-solid-clip.base.argb32.ref.png b/test/reference/paint-with-alpha-solid-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 59d226d..0000000
Binary files a/test/reference/paint-with-alpha-solid-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-solid-clip.base.rgb24.ref.png b/test/reference/paint-with-alpha-solid-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 59d226d..0000000
Binary files a/test/reference/paint-with-alpha-solid-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-solid-clip.egl.argb32.ref.png b/test/reference/paint-with-alpha-solid-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index e841b2d..0000000
Binary files a/test/reference/paint-with-alpha-solid-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-solid-clip.mask.argb32.ref.png b/test/reference/paint-with-alpha-solid-clip.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2cd2df2..0000000
Binary files a/test/reference/paint-with-alpha-solid-clip.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-solid-clip.mask.rgb24.ref.png b/test/reference/paint-with-alpha-solid-clip.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2cd2df2..0000000
Binary files a/test/reference/paint-with-alpha-solid-clip.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-solid-clip.ref.png b/test/reference/paint-with-alpha-solid-clip.ref.png
deleted file mode 100644 (file)
index 59d226d..0000000
Binary files a/test/reference/paint-with-alpha-solid-clip.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-solid-clip.rgb24.ref.png b/test/reference/paint-with-alpha-solid-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 59d226d..0000000
Binary files a/test/reference/paint-with-alpha-solid-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-solid-clip.traps.argb32.ref.png b/test/reference/paint-with-alpha-solid-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2cd2df2..0000000
Binary files a/test/reference/paint-with-alpha-solid-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-solid-clip.traps.rgb24.ref.png b/test/reference/paint-with-alpha-solid-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2cd2df2..0000000
Binary files a/test/reference/paint-with-alpha-solid-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.argb32.ref.png b/test/reference/paint-with-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-with-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.base.argb32.ref.png b/test/reference/paint-with-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-with-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.base.rgb24.ref.png b/test/reference/paint-with-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-with-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.egl.argb32.ref.png b/test/reference/paint-with-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index ed8da7d..0000000
Binary files a/test/reference/paint-with-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.image16.ref.png b/test/reference/paint-with-alpha.image16.ref.png
deleted file mode 100644 (file)
index 12bd89d..0000000
Binary files a/test/reference/paint-with-alpha.image16.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.mask.argb32.ref.png b/test/reference/paint-with-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-with-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.mask.rgb24.ref.png b/test/reference/paint-with-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-with-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.ref.png b/test/reference/paint-with-alpha.ref.png
deleted file mode 100644 (file)
index ab7ce3e..0000000
Binary files a/test/reference/paint-with-alpha.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.rgb24.ref.png b/test/reference/paint-with-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-with-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.svg.ref.png b/test/reference/paint-with-alpha.svg.ref.png
deleted file mode 100644 (file)
index c0df8eb..0000000
Binary files a/test/reference/paint-with-alpha.svg.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.traps.argb32.ref.png b/test/reference/paint-with-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-with-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha.traps.rgb24.ref.png b/test/reference/paint-with-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/paint-with-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint.argb32.ref.png b/test/reference/paint.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint.base.argb32.ref.png b/test/reference/paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint.base.rgb24.ref.png b/test/reference/paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint.egl.argb32.ref.png b/test/reference/paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint.mask.argb32.ref.png b/test/reference/paint.mask.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/paint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint.mask.rgb24.ref.png b/test/reference/paint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/paint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint.ref.png b/test/reference/paint.ref.png
deleted file mode 100644 (file)
index fff03b3..0000000
Binary files a/test/reference/paint.ref.png and /dev/null differ
diff --git a/test/reference/paint.rgb24.ref.png b/test/reference/paint.rgb24.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint.traps.argb32.ref.png b/test/reference/paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/paint.traps.rgb24.ref.png b/test/reference/paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-bottom.argb32.ref.png b/test/reference/partial-clip-text-bottom.argb32.ref.png
deleted file mode 100644 (file)
index 6a299d4..0000000
Binary files a/test/reference/partial-clip-text-bottom.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-bottom.base.argb32.ref.png b/test/reference/partial-clip-text-bottom.base.argb32.ref.png
deleted file mode 100644 (file)
index 6a299d4..0000000
Binary files a/test/reference/partial-clip-text-bottom.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-bottom.base.rgb24.ref.png b/test/reference/partial-clip-text-bottom.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6a299d4..0000000
Binary files a/test/reference/partial-clip-text-bottom.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-bottom.egl.argb32.ref.png b/test/reference/partial-clip-text-bottom.egl.argb32.ref.png
deleted file mode 100644 (file)
index a6f282c..0000000
Binary files a/test/reference/partial-clip-text-bottom.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-bottom.mask.argb32.ref.png b/test/reference/partial-clip-text-bottom.mask.argb32.ref.png
deleted file mode 100644 (file)
index 6a299d4..0000000
Binary files a/test/reference/partial-clip-text-bottom.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-bottom.mask.rgb24.ref.png b/test/reference/partial-clip-text-bottom.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6a299d4..0000000
Binary files a/test/reference/partial-clip-text-bottom.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-bottom.ref.png b/test/reference/partial-clip-text-bottom.ref.png
deleted file mode 100644 (file)
index 7a03fad..0000000
Binary files a/test/reference/partial-clip-text-bottom.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-bottom.rgb24.ref.png b/test/reference/partial-clip-text-bottom.rgb24.ref.png
deleted file mode 100644 (file)
index 6a299d4..0000000
Binary files a/test/reference/partial-clip-text-bottom.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-bottom.traps.argb32.ref.png b/test/reference/partial-clip-text-bottom.traps.argb32.ref.png
deleted file mode 100644 (file)
index 6a299d4..0000000
Binary files a/test/reference/partial-clip-text-bottom.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-bottom.traps.rgb24.ref.png b/test/reference/partial-clip-text-bottom.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6a299d4..0000000
Binary files a/test/reference/partial-clip-text-bottom.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-left.argb32.ref.png b/test/reference/partial-clip-text-left.argb32.ref.png
deleted file mode 100644 (file)
index 54a1a85..0000000
Binary files a/test/reference/partial-clip-text-left.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-left.base.argb32.ref.png b/test/reference/partial-clip-text-left.base.argb32.ref.png
deleted file mode 100644 (file)
index 54a1a85..0000000
Binary files a/test/reference/partial-clip-text-left.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-left.base.rgb24.ref.png b/test/reference/partial-clip-text-left.base.rgb24.ref.png
deleted file mode 100644 (file)
index 54a1a85..0000000
Binary files a/test/reference/partial-clip-text-left.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-left.egl.argb32.ref.png b/test/reference/partial-clip-text-left.egl.argb32.ref.png
deleted file mode 100644 (file)
index f695ece..0000000
Binary files a/test/reference/partial-clip-text-left.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-left.mask.argb32.ref.png b/test/reference/partial-clip-text-left.mask.argb32.ref.png
deleted file mode 100644 (file)
index 54a1a85..0000000
Binary files a/test/reference/partial-clip-text-left.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-left.mask.rgb24.ref.png b/test/reference/partial-clip-text-left.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 54a1a85..0000000
Binary files a/test/reference/partial-clip-text-left.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-left.ref.png b/test/reference/partial-clip-text-left.ref.png
deleted file mode 100644 (file)
index 95c07f4..0000000
Binary files a/test/reference/partial-clip-text-left.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-left.rgb24.ref.png b/test/reference/partial-clip-text-left.rgb24.ref.png
deleted file mode 100644 (file)
index 54a1a85..0000000
Binary files a/test/reference/partial-clip-text-left.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-left.traps.argb32.ref.png b/test/reference/partial-clip-text-left.traps.argb32.ref.png
deleted file mode 100644 (file)
index 54a1a85..0000000
Binary files a/test/reference/partial-clip-text-left.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-left.traps.rgb24.ref.png b/test/reference/partial-clip-text-left.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 54a1a85..0000000
Binary files a/test/reference/partial-clip-text-left.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.argb32.ref.png b/test/reference/partial-clip-text-right.argb32.ref.png
deleted file mode 100644 (file)
index 2fbdca0..0000000
Binary files a/test/reference/partial-clip-text-right.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.base.argb32.ref.png b/test/reference/partial-clip-text-right.base.argb32.ref.png
deleted file mode 100644 (file)
index 2fbdca0..0000000
Binary files a/test/reference/partial-clip-text-right.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.base.rgb24.ref.png b/test/reference/partial-clip-text-right.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2fbdca0..0000000
Binary files a/test/reference/partial-clip-text-right.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.egl.argb32.ref.png b/test/reference/partial-clip-text-right.egl.argb32.ref.png
deleted file mode 100644 (file)
index 30c34b6..0000000
Binary files a/test/reference/partial-clip-text-right.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.mask.argb32.ref.png b/test/reference/partial-clip-text-right.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2fbdca0..0000000
Binary files a/test/reference/partial-clip-text-right.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.mask.rgb24.ref.png b/test/reference/partial-clip-text-right.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2fbdca0..0000000
Binary files a/test/reference/partial-clip-text-right.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.ref.png b/test/reference/partial-clip-text-right.ref.png
deleted file mode 100644 (file)
index 3e69ca9..0000000
Binary files a/test/reference/partial-clip-text-right.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.rgb24.ref.png b/test/reference/partial-clip-text-right.rgb24.ref.png
deleted file mode 100644 (file)
index 2fbdca0..0000000
Binary files a/test/reference/partial-clip-text-right.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.traps.argb32.ref.png b/test/reference/partial-clip-text-right.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2fbdca0..0000000
Binary files a/test/reference/partial-clip-text-right.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.traps.ref.png b/test/reference/partial-clip-text-right.traps.ref.png
deleted file mode 100644 (file)
index 2fbdca0..0000000
Binary files a/test/reference/partial-clip-text-right.traps.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-right.traps.rgb24.ref.png b/test/reference/partial-clip-text-right.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2fbdca0..0000000
Binary files a/test/reference/partial-clip-text-right.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.argb32.ref.png b/test/reference/partial-clip-text-top.argb32.ref.png
deleted file mode 100644 (file)
index d18475b..0000000
Binary files a/test/reference/partial-clip-text-top.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.base.argb32.ref.png b/test/reference/partial-clip-text-top.base.argb32.ref.png
deleted file mode 100644 (file)
index d18475b..0000000
Binary files a/test/reference/partial-clip-text-top.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.base.rgb24.ref.png b/test/reference/partial-clip-text-top.base.rgb24.ref.png
deleted file mode 100644 (file)
index d18475b..0000000
Binary files a/test/reference/partial-clip-text-top.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.egl.argb32.ref.png b/test/reference/partial-clip-text-top.egl.argb32.ref.png
deleted file mode 100644 (file)
index e8563c3..0000000
Binary files a/test/reference/partial-clip-text-top.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.mask.argb32.ref.png b/test/reference/partial-clip-text-top.mask.argb32.ref.png
deleted file mode 100644 (file)
index d18475b..0000000
Binary files a/test/reference/partial-clip-text-top.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.mask.rgb24.ref.png b/test/reference/partial-clip-text-top.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d18475b..0000000
Binary files a/test/reference/partial-clip-text-top.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.ps.ref.png b/test/reference/partial-clip-text-top.ps.ref.png
deleted file mode 100644 (file)
index 049bba5..0000000
Binary files a/test/reference/partial-clip-text-top.ps.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.quartz.ref.png b/test/reference/partial-clip-text-top.quartz.ref.png
deleted file mode 100644 (file)
index 33ac283..0000000
Binary files a/test/reference/partial-clip-text-top.quartz.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.ref.png b/test/reference/partial-clip-text-top.ref.png
deleted file mode 100644 (file)
index afe2d3e..0000000
Binary files a/test/reference/partial-clip-text-top.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.rgb24.ref.png b/test/reference/partial-clip-text-top.rgb24.ref.png
deleted file mode 100644 (file)
index d18475b..0000000
Binary files a/test/reference/partial-clip-text-top.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.svg.ref.png b/test/reference/partial-clip-text-top.svg.ref.png
deleted file mode 100644 (file)
index dc3fc58..0000000
Binary files a/test/reference/partial-clip-text-top.svg.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.traps.argb32.ref.png b/test/reference/partial-clip-text-top.traps.argb32.ref.png
deleted file mode 100644 (file)
index d18475b..0000000
Binary files a/test/reference/partial-clip-text-top.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.traps.ref.png b/test/reference/partial-clip-text-top.traps.ref.png
deleted file mode 100644 (file)
index d18475b..0000000
Binary files a/test/reference/partial-clip-text-top.traps.ref.png and /dev/null differ
diff --git a/test/reference/partial-clip-text-top.traps.rgb24.ref.png b/test/reference/partial-clip-text-top.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d18475b..0000000
Binary files a/test/reference/partial-clip-text-top.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-reference.argb32.ref.png b/test/reference/partial-coverage-half-reference.argb32.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-half-reference.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-reference.base.argb32.ref.png b/test/reference/partial-coverage-half-reference.base.argb32.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-half-reference.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-reference.base.rgb24.ref.png b/test/reference/partial-coverage-half-reference.base.rgb24.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-half-reference.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-reference.egl.argb32.ref.png b/test/reference/partial-coverage-half-reference.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2245b7c..0000000
Binary files a/test/reference/partial-coverage-half-reference.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-reference.mask.argb32.ref.png b/test/reference/partial-coverage-half-reference.mask.argb32.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-half-reference.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-reference.mask.rgb24.ref.png b/test/reference/partial-coverage-half-reference.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-half-reference.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-reference.ref.png b/test/reference/partial-coverage-half-reference.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-half-reference.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-reference.rgb24.ref.png b/test/reference/partial-coverage-half-reference.rgb24.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-half-reference.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-reference.traps.argb32.ref.png b/test/reference/partial-coverage-half-reference.traps.argb32.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-half-reference.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-reference.traps.rgb24.ref.png b/test/reference/partial-coverage-half-reference.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-half-reference.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-half-triangles.ref.png b/test/reference/partial-coverage-half-triangles.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-half-triangles.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-intersecting-quads.ref.png b/test/reference/partial-coverage-intersecting-quads.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-intersecting-quads.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-intersecting-quads.xfail.png b/test/reference/partial-coverage-intersecting-quads.xfail.png
deleted file mode 100644 (file)
index a6635b9..0000000
Binary files a/test/reference/partial-coverage-intersecting-quads.xfail.png and /dev/null differ
diff --git a/test/reference/partial-coverage-intersecting-triangles.ref.png b/test/reference/partial-coverage-intersecting-triangles.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-intersecting-triangles.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-overlap-half-triangles-eo.ref.png b/test/reference/partial-coverage-overlap-half-triangles-eo.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-overlap-half-triangles-eo.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-overlap-half-triangles.ref.png b/test/reference/partial-coverage-overlap-half-triangles.ref.png
deleted file mode 100644 (file)
index 17f4ff0..0000000
Binary files a/test/reference/partial-coverage-overlap-half-triangles.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-overlap-three-quarter-triangles.ref.png b/test/reference/partial-coverage-overlap-three-quarter-triangles.ref.png
deleted file mode 100644 (file)
index ea16dc4..0000000
Binary files a/test/reference/partial-coverage-overlap-three-quarter-triangles.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-rectangles.ref.png b/test/reference/partial-coverage-rectangles.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-rectangles.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-reference.argb32.ref.png b/test/reference/partial-coverage-reference.argb32.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-reference.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-reference.base.argb32.ref.png b/test/reference/partial-coverage-reference.base.argb32.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-reference.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-reference.base.rgb24.ref.png b/test/reference/partial-coverage-reference.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-reference.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-reference.egl.argb32.ref.png b/test/reference/partial-coverage-reference.egl.argb32.ref.png
deleted file mode 100644 (file)
index eeb8249..0000000
Binary files a/test/reference/partial-coverage-reference.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-reference.mask.argb32.ref.png b/test/reference/partial-coverage-reference.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-reference.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-reference.mask.rgb24.ref.png b/test/reference/partial-coverage-reference.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-reference.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-reference.ref.png b/test/reference/partial-coverage-reference.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-reference.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-reference.rgb24.ref.png b/test/reference/partial-coverage-reference.rgb24.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-reference.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-reference.traps.argb32.ref.png b/test/reference/partial-coverage-reference.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-reference.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-reference.traps.rgb24.ref.png b/test/reference/partial-coverage-reference.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-reference.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.argb32.ref.png b/test/reference/partial-coverage-three-quarter-reference.argb32.ref.png
deleted file mode 100644 (file)
index ea16dc4..0000000
Binary files a/test/reference/partial-coverage-three-quarter-reference.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.base.argb32.ref.png b/test/reference/partial-coverage-three-quarter-reference.base.argb32.ref.png
deleted file mode 100644 (file)
index ea16dc4..0000000
Binary files a/test/reference/partial-coverage-three-quarter-reference.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.base.rgb24.ref.png b/test/reference/partial-coverage-three-quarter-reference.base.rgb24.ref.png
deleted file mode 100644 (file)
index ea16dc4..0000000
Binary files a/test/reference/partial-coverage-three-quarter-reference.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.egl.argb32.ref.png b/test/reference/partial-coverage-three-quarter-reference.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8d2edd4..0000000
Binary files a/test/reference/partial-coverage-three-quarter-reference.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.mask.argb32.ref.png b/test/reference/partial-coverage-three-quarter-reference.mask.argb32.ref.png
deleted file mode 100644 (file)
index ea16dc4..0000000
Binary files a/test/reference/partial-coverage-three-quarter-reference.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.mask.rgb24.ref.png b/test/reference/partial-coverage-three-quarter-reference.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ea16dc4..0000000
Binary files a/test/reference/partial-coverage-three-quarter-reference.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.ref.png b/test/reference/partial-coverage-three-quarter-reference.ref.png
deleted file mode 100644 (file)
index ea16dc4..0000000
Binary files a/test/reference/partial-coverage-three-quarter-reference.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.rgb24.ref.png b/test/reference/partial-coverage-three-quarter-reference.rgb24.ref.png
deleted file mode 100644 (file)
index ea16dc4..0000000
Binary files a/test/reference/partial-coverage-three-quarter-reference.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.traps.argb32.ref.png b/test/reference/partial-coverage-three-quarter-reference.traps.argb32.ref.png
deleted file mode 100644 (file)
index ea16dc4..0000000
Binary files a/test/reference/partial-coverage-three-quarter-reference.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.traps.rgb24.ref.png b/test/reference/partial-coverage-three-quarter-reference.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ea16dc4..0000000
Binary files a/test/reference/partial-coverage-three-quarter-reference.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/partial-coverage-triangles.ref.png b/test/reference/partial-coverage-triangles.ref.png
deleted file mode 100644 (file)
index 9e4a6fe..0000000
Binary files a/test/reference/partial-coverage-triangles.ref.png and /dev/null differ
diff --git a/test/reference/pass-through.argb32.ref.png b/test/reference/pass-through.argb32.ref.png
deleted file mode 100644 (file)
index 058a192..0000000
Binary files a/test/reference/pass-through.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pass-through.base.argb32.ref.png b/test/reference/pass-through.base.argb32.ref.png
deleted file mode 100644 (file)
index 058a192..0000000
Binary files a/test/reference/pass-through.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pass-through.base.rgb24.ref.png b/test/reference/pass-through.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1be631a..0000000
Binary files a/test/reference/pass-through.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pass-through.egl.argb32.ref.png b/test/reference/pass-through.egl.argb32.ref.png
deleted file mode 100644 (file)
index 051c27e..0000000
Binary files a/test/reference/pass-through.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pass-through.mask.argb32.ref.png b/test/reference/pass-through.mask.argb32.ref.png
deleted file mode 100644 (file)
index 058a192..0000000
Binary files a/test/reference/pass-through.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pass-through.mask.rgb24.ref.png b/test/reference/pass-through.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1be631a..0000000
Binary files a/test/reference/pass-through.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pass-through.ref.png b/test/reference/pass-through.ref.png
deleted file mode 100644 (file)
index 058a192..0000000
Binary files a/test/reference/pass-through.ref.png and /dev/null differ
diff --git a/test/reference/pass-through.rgb24.ref.png b/test/reference/pass-through.rgb24.ref.png
deleted file mode 100644 (file)
index 1be631a..0000000
Binary files a/test/reference/pass-through.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pass-through.traps.argb32.ref.png b/test/reference/pass-through.traps.argb32.ref.png
deleted file mode 100644 (file)
index 058a192..0000000
Binary files a/test/reference/pass-through.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pass-through.traps.rgb24.ref.png b/test/reference/pass-through.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1be631a..0000000
Binary files a/test/reference/pass-through.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/path-append.argb32.ref.png b/test/reference/path-append.argb32.ref.png
deleted file mode 100644 (file)
index f097af0..0000000
Binary files a/test/reference/path-append.argb32.ref.png and /dev/null differ
diff --git a/test/reference/path-append.base.argb32.ref.png b/test/reference/path-append.base.argb32.ref.png
deleted file mode 100644 (file)
index 6fb6b2a..0000000
Binary files a/test/reference/path-append.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/path-append.base.rgb24.ref.png b/test/reference/path-append.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6fb6b2a..0000000
Binary files a/test/reference/path-append.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/path-append.egl.argb32.ref.png b/test/reference/path-append.egl.argb32.ref.png
deleted file mode 100644 (file)
index d738345..0000000
Binary files a/test/reference/path-append.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/path-append.image16.ref.png b/test/reference/path-append.image16.ref.png
deleted file mode 100644 (file)
index 5d939bb..0000000
Binary files a/test/reference/path-append.image16.ref.png and /dev/null differ
diff --git a/test/reference/path-append.mask.argb32.ref.png b/test/reference/path-append.mask.argb32.ref.png
deleted file mode 100644 (file)
index f097af0..0000000
Binary files a/test/reference/path-append.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/path-append.mask.rgb24.ref.png b/test/reference/path-append.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f097af0..0000000
Binary files a/test/reference/path-append.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/path-append.ps.ref.png b/test/reference/path-append.ps.ref.png
deleted file mode 100644 (file)
index 2c8df16..0000000
Binary files a/test/reference/path-append.ps.ref.png and /dev/null differ
diff --git a/test/reference/path-append.quartz.ref.png b/test/reference/path-append.quartz.ref.png
deleted file mode 100644 (file)
index 665d3cc..0000000
Binary files a/test/reference/path-append.quartz.ref.png and /dev/null differ
diff --git a/test/reference/path-append.ref.png b/test/reference/path-append.ref.png
deleted file mode 100644 (file)
index 4733f06..0000000
Binary files a/test/reference/path-append.ref.png and /dev/null differ
diff --git a/test/reference/path-append.rgb24.ref.png b/test/reference/path-append.rgb24.ref.png
deleted file mode 100644 (file)
index f097af0..0000000
Binary files a/test/reference/path-append.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/path-append.test-fallback.ref.png b/test/reference/path-append.test-fallback.ref.png
deleted file mode 100644 (file)
index fa72ac0..0000000
Binary files a/test/reference/path-append.test-fallback.ref.png and /dev/null differ
diff --git a/test/reference/path-append.traps.argb32.ref.png b/test/reference/path-append.traps.argb32.ref.png
deleted file mode 100644 (file)
index 6fb6b2a..0000000
Binary files a/test/reference/path-append.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/path-append.traps.rgb24.ref.png b/test/reference/path-append.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6fb6b2a..0000000
Binary files a/test/reference/path-append.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/path-append.xlib-fallback.ref.png b/test/reference/path-append.xlib-fallback.ref.png
deleted file mode 100644 (file)
index d34cce1..0000000
Binary files a/test/reference/path-append.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.argb32.ref.png b/test/reference/path-stroke-twice.argb32.ref.png
deleted file mode 100644 (file)
index 743c6ce..0000000
Binary files a/test/reference/path-stroke-twice.argb32.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.base.argb32.ref.png b/test/reference/path-stroke-twice.base.argb32.ref.png
deleted file mode 100644 (file)
index 48dd2c7..0000000
Binary files a/test/reference/path-stroke-twice.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.base.rgb24.ref.png b/test/reference/path-stroke-twice.base.rgb24.ref.png
deleted file mode 100644 (file)
index 48dd2c7..0000000
Binary files a/test/reference/path-stroke-twice.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.egl.argb32.ref.png b/test/reference/path-stroke-twice.egl.argb32.ref.png
deleted file mode 100644 (file)
index 743c6ce..0000000
Binary files a/test/reference/path-stroke-twice.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.image16.ref.png b/test/reference/path-stroke-twice.image16.ref.png
deleted file mode 100644 (file)
index 9f162ad..0000000
Binary files a/test/reference/path-stroke-twice.image16.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.mask.argb32.ref.png b/test/reference/path-stroke-twice.mask.argb32.ref.png
deleted file mode 100644 (file)
index 743c6ce..0000000
Binary files a/test/reference/path-stroke-twice.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.mask.rgb24.ref.png b/test/reference/path-stroke-twice.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 743c6ce..0000000
Binary files a/test/reference/path-stroke-twice.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.ps.ref.png b/test/reference/path-stroke-twice.ps.ref.png
deleted file mode 100644 (file)
index 23e8147..0000000
Binary files a/test/reference/path-stroke-twice.ps.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.ref.png b/test/reference/path-stroke-twice.ref.png
deleted file mode 100644 (file)
index 4c8b4f5..0000000
Binary files a/test/reference/path-stroke-twice.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.rgb24.ref.png b/test/reference/path-stroke-twice.rgb24.ref.png
deleted file mode 100644 (file)
index 743c6ce..0000000
Binary files a/test/reference/path-stroke-twice.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.traps.argb32.ref.png b/test/reference/path-stroke-twice.traps.argb32.ref.png
deleted file mode 100644 (file)
index 48dd2c7..0000000
Binary files a/test/reference/path-stroke-twice.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/path-stroke-twice.traps.rgb24.ref.png b/test/reference/path-stroke-twice.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 48dd2c7..0000000
Binary files a/test/reference/path-stroke-twice.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pattern-getters.argb32.ref.png b/test/reference/pattern-getters.argb32.ref.png
deleted file mode 100644 (file)
index 3cc39a8..0000000
Binary files a/test/reference/pattern-getters.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pattern-getters.base.argb32.ref.png b/test/reference/pattern-getters.base.argb32.ref.png
deleted file mode 100644 (file)
index 3cc39a8..0000000
Binary files a/test/reference/pattern-getters.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pattern-getters.base.rgb24.ref.png b/test/reference/pattern-getters.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3cc39a8..0000000
Binary files a/test/reference/pattern-getters.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pattern-getters.egl.argb32.ref.png b/test/reference/pattern-getters.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3cc39a8..0000000
Binary files a/test/reference/pattern-getters.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pattern-getters.mask.argb32.ref.png b/test/reference/pattern-getters.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3cc39a8..0000000
Binary files a/test/reference/pattern-getters.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pattern-getters.mask.rgb24.ref.png b/test/reference/pattern-getters.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3cc39a8..0000000
Binary files a/test/reference/pattern-getters.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pattern-getters.ref.png b/test/reference/pattern-getters.ref.png
deleted file mode 100644 (file)
index 80304b0..0000000
Binary files a/test/reference/pattern-getters.ref.png and /dev/null differ
diff --git a/test/reference/pattern-getters.rgb24.ref.png b/test/reference/pattern-getters.rgb24.ref.png
deleted file mode 100644 (file)
index 3cc39a8..0000000
Binary files a/test/reference/pattern-getters.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pattern-getters.traps.argb32.ref.png b/test/reference/pattern-getters.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3cc39a8..0000000
Binary files a/test/reference/pattern-getters.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pattern-getters.traps.rgb24.ref.png b/test/reference/pattern-getters.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3cc39a8..0000000
Binary files a/test/reference/pattern-getters.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pdf-isolated-group.base.argb32.ref.png b/test/reference/pdf-isolated-group.base.argb32.ref.png
deleted file mode 100644 (file)
index 6c8522c..0000000
Binary files a/test/reference/pdf-isolated-group.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pdf-isolated-group.base.rgb24.ref.png b/test/reference/pdf-isolated-group.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6c8522c..0000000
Binary files a/test/reference/pdf-isolated-group.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pdf-isolated-group.egl.argb32.ref.png b/test/reference/pdf-isolated-group.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2b38bcc..0000000
Binary files a/test/reference/pdf-isolated-group.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pdf-isolated-group.ref.png b/test/reference/pdf-isolated-group.ref.png
deleted file mode 100644 (file)
index 6c8522c..0000000
Binary files a/test/reference/pdf-isolated-group.ref.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.argb32.ref.png b/test/reference/pdf-surface-source.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/pdf-surface-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.base.argb32.ref.png b/test/reference/pdf-surface-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/pdf-surface-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.base.rgb24.ref.png b/test/reference/pdf-surface-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/pdf-surface-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.egl.argb32.ref.png b/test/reference/pdf-surface-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/pdf-surface-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.image16.ref.png b/test/reference/pdf-surface-source.image16.ref.png
deleted file mode 100644 (file)
index 2a7460e..0000000
Binary files a/test/reference/pdf-surface-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.mask.argb32.ref.png b/test/reference/pdf-surface-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/pdf-surface-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.mask.rgb24.ref.png b/test/reference/pdf-surface-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/pdf-surface-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.rgb24.ref.png b/test/reference/pdf-surface-source.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/pdf-surface-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.svg12.argb32.xfail.png b/test/reference/pdf-surface-source.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index 6ebcaf9..0000000
Binary files a/test/reference/pdf-surface-source.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.svg12.rgb24.xfail.png b/test/reference/pdf-surface-source.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 6ebcaf9..0000000
Binary files a/test/reference/pdf-surface-source.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.traps.argb32.ref.png b/test/reference/pdf-surface-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/pdf-surface-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pdf-surface-source.traps.rgb24.ref.png b/test/reference/pdf-surface-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/pdf-surface-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.argb32.ref.png b/test/reference/pixman-rotate.argb32.ref.png
deleted file mode 100644 (file)
index 7e47a4d..0000000
Binary files a/test/reference/pixman-rotate.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.base.argb32.ref.png b/test/reference/pixman-rotate.base.argb32.ref.png
deleted file mode 100644 (file)
index 7e47a4d..0000000
Binary files a/test/reference/pixman-rotate.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.base.rgb24.ref.png b/test/reference/pixman-rotate.base.rgb24.ref.png
deleted file mode 100644 (file)
index 397acbe..0000000
Binary files a/test/reference/pixman-rotate.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.egl.argb32.ref.png b/test/reference/pixman-rotate.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9e7ba42..0000000
Binary files a/test/reference/pixman-rotate.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.mask.argb32.ref.png b/test/reference/pixman-rotate.mask.argb32.ref.png
deleted file mode 100644 (file)
index 7e47a4d..0000000
Binary files a/test/reference/pixman-rotate.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.mask.rgb24.ref.png b/test/reference/pixman-rotate.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 397acbe..0000000
Binary files a/test/reference/pixman-rotate.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.ps.argb32.ref.png b/test/reference/pixman-rotate.ps.argb32.ref.png
deleted file mode 100644 (file)
index 0e91688..0000000
Binary files a/test/reference/pixman-rotate.ps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.ref.png b/test/reference/pixman-rotate.ref.png
deleted file mode 100644 (file)
index 7e47a4d..0000000
Binary files a/test/reference/pixman-rotate.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.rgb24.ref.png b/test/reference/pixman-rotate.rgb24.ref.png
deleted file mode 100644 (file)
index 397acbe..0000000
Binary files a/test/reference/pixman-rotate.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.traps.argb32.ref.png b/test/reference/pixman-rotate.traps.argb32.ref.png
deleted file mode 100644 (file)
index 7e47a4d..0000000
Binary files a/test/reference/pixman-rotate.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pixman-rotate.traps.rgb24.ref.png b/test/reference/pixman-rotate.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 397acbe..0000000
Binary files a/test/reference/pixman-rotate.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ps-eps.ref.png b/test/reference/ps-eps.ref.png
deleted file mode 100644 (file)
index 9aadb08..0000000
Binary files a/test/reference/ps-eps.ref.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.argb32.ref.png b/test/reference/ps-surface-source.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/ps-surface-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.base.argb32.ref.png b/test/reference/ps-surface-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/ps-surface-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.base.rgb24.ref.png b/test/reference/ps-surface-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/ps-surface-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.egl.argb32.ref.png b/test/reference/ps-surface-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/ps-surface-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.image16.ref.png b/test/reference/ps-surface-source.image16.ref.png
deleted file mode 100644 (file)
index 2a7460e..0000000
Binary files a/test/reference/ps-surface-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.mask.argb32.ref.png b/test/reference/ps-surface-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/ps-surface-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.mask.rgb24.ref.png b/test/reference/ps-surface-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/ps-surface-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.rgb24.ref.png b/test/reference/ps-surface-source.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/ps-surface-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.svg12.argb32.xfail.png b/test/reference/ps-surface-source.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index 6ebcaf9..0000000
Binary files a/test/reference/ps-surface-source.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.svg12.rgb24.xfail.png b/test/reference/ps-surface-source.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 6ebcaf9..0000000
Binary files a/test/reference/ps-surface-source.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.traps.argb32.ref.png b/test/reference/ps-surface-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/ps-surface-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/ps-surface-source.traps.rgb24.ref.png b/test/reference/ps-surface-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/ps-surface-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.argb32.ref.png b/test/reference/pthread-same-source.argb32.ref.png
deleted file mode 100644 (file)
index cfb519d..0000000
Binary files a/test/reference/pthread-same-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.base.argb32.ref.png b/test/reference/pthread-same-source.base.argb32.ref.png
deleted file mode 100644 (file)
index cfb519d..0000000
Binary files a/test/reference/pthread-same-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.base.rgb24.ref.png b/test/reference/pthread-same-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index cfb519d..0000000
Binary files a/test/reference/pthread-same-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.egl.argb32.ref.png b/test/reference/pthread-same-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index faab9d3..0000000
Binary files a/test/reference/pthread-same-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.image16.ref.png b/test/reference/pthread-same-source.image16.ref.png
deleted file mode 100644 (file)
index 196c4ac..0000000
Binary files a/test/reference/pthread-same-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.mask.argb32.ref.png b/test/reference/pthread-same-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index cfb519d..0000000
Binary files a/test/reference/pthread-same-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.mask.rgb24.ref.png b/test/reference/pthread-same-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index cfb519d..0000000
Binary files a/test/reference/pthread-same-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.quartz.xfail.png b/test/reference/pthread-same-source.quartz.xfail.png
deleted file mode 100644 (file)
index ffed619..0000000
Binary files a/test/reference/pthread-same-source.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.ref.png b/test/reference/pthread-same-source.ref.png
deleted file mode 100644 (file)
index cfb519d..0000000
Binary files a/test/reference/pthread-same-source.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.rgb24.ref.png b/test/reference/pthread-same-source.rgb24.ref.png
deleted file mode 100644 (file)
index cfb519d..0000000
Binary files a/test/reference/pthread-same-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.traps.argb32.ref.png b/test/reference/pthread-same-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index cfb519d..0000000
Binary files a/test/reference/pthread-same-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-same-source.traps.rgb24.ref.png b/test/reference/pthread-same-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index cfb519d..0000000
Binary files a/test/reference/pthread-same-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.argb32.ref.png b/test/reference/pthread-show-text.argb32.ref.png
deleted file mode 100644 (file)
index 90d0af3..0000000
Binary files a/test/reference/pthread-show-text.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.base.argb32.ref.png b/test/reference/pthread-show-text.base.argb32.ref.png
deleted file mode 100644 (file)
index 90d0af3..0000000
Binary files a/test/reference/pthread-show-text.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.base.rgb24.ref.png b/test/reference/pthread-show-text.base.rgb24.ref.png
deleted file mode 100644 (file)
index 90d0af3..0000000
Binary files a/test/reference/pthread-show-text.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.image16.ref.png b/test/reference/pthread-show-text.image16.ref.png
deleted file mode 100644 (file)
index a1d1af5..0000000
Binary files a/test/reference/pthread-show-text.image16.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.mask.argb32.ref.png b/test/reference/pthread-show-text.mask.argb32.ref.png
deleted file mode 100644 (file)
index 90d0af3..0000000
Binary files a/test/reference/pthread-show-text.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.mask.rgb24.ref.png b/test/reference/pthread-show-text.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 90d0af3..0000000
Binary files a/test/reference/pthread-show-text.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.pdf.ref.png b/test/reference/pthread-show-text.pdf.ref.png
deleted file mode 100644 (file)
index bb72fc2..0000000
Binary files a/test/reference/pthread-show-text.pdf.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.ps.ref.png b/test/reference/pthread-show-text.ps.ref.png
deleted file mode 100644 (file)
index 807b73f..0000000
Binary files a/test/reference/pthread-show-text.ps.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.quartz.ref.png b/test/reference/pthread-show-text.quartz.ref.png
deleted file mode 100644 (file)
index cc9bb25..0000000
Binary files a/test/reference/pthread-show-text.quartz.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.ref.png b/test/reference/pthread-show-text.ref.png
deleted file mode 100644 (file)
index efa5fe9..0000000
Binary files a/test/reference/pthread-show-text.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.rgb24.ref.png b/test/reference/pthread-show-text.rgb24.ref.png
deleted file mode 100644 (file)
index 90d0af3..0000000
Binary files a/test/reference/pthread-show-text.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.traps.argb32.ref.png b/test/reference/pthread-show-text.traps.argb32.ref.png
deleted file mode 100644 (file)
index 90d0af3..0000000
Binary files a/test/reference/pthread-show-text.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.traps.ref.png b/test/reference/pthread-show-text.traps.ref.png
deleted file mode 100644 (file)
index 90d0af3..0000000
Binary files a/test/reference/pthread-show-text.traps.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.traps.rgb24.ref.png b/test/reference/pthread-show-text.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 90d0af3..0000000
Binary files a/test/reference/pthread-show-text.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-show-text.xlib-fallback.ref.png b/test/reference/pthread-show-text.xlib-fallback.ref.png
deleted file mode 100644 (file)
index d96abed..0000000
Binary files a/test/reference/pthread-show-text.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/pthread-similar.argb32.ref.png b/test/reference/pthread-similar.argb32.ref.png
deleted file mode 100644 (file)
index a22210d..0000000
Binary files a/test/reference/pthread-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-similar.base.argb32.ref.png b/test/reference/pthread-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index a22210d..0000000
Binary files a/test/reference/pthread-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-similar.base.rgb24.ref.png b/test/reference/pthread-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index a22210d..0000000
Binary files a/test/reference/pthread-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-similar.egl.argb32.ref.png b/test/reference/pthread-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0395c1f..0000000
Binary files a/test/reference/pthread-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-similar.mask.argb32.ref.png b/test/reference/pthread-similar.mask.argb32.ref.png
deleted file mode 100644 (file)
index a22210d..0000000
Binary files a/test/reference/pthread-similar.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-similar.mask.rgb24.ref.png b/test/reference/pthread-similar.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a22210d..0000000
Binary files a/test/reference/pthread-similar.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-similar.ref.png b/test/reference/pthread-similar.ref.png
deleted file mode 100644 (file)
index a22210d..0000000
Binary files a/test/reference/pthread-similar.ref.png and /dev/null differ
diff --git a/test/reference/pthread-similar.rgb24.ref.png b/test/reference/pthread-similar.rgb24.ref.png
deleted file mode 100644 (file)
index a22210d..0000000
Binary files a/test/reference/pthread-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/pthread-similar.traps.argb32.ref.png b/test/reference/pthread-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index a22210d..0000000
Binary files a/test/reference/pthread-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/pthread-similar.traps.rgb24.ref.png b/test/reference/pthread-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a22210d..0000000
Binary files a/test/reference/pthread-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.argb32.ref.png b/test/reference/push-group-color.argb32.ref.png
deleted file mode 100644 (file)
index 5615196..0000000
Binary files a/test/reference/push-group-color.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.base.argb32.ref.png b/test/reference/push-group-color.base.argb32.ref.png
deleted file mode 100644 (file)
index 11b1014..0000000
Binary files a/test/reference/push-group-color.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.base.rgb24.ref.png b/test/reference/push-group-color.base.rgb24.ref.png
deleted file mode 100644 (file)
index 11b1014..0000000
Binary files a/test/reference/push-group-color.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.egl.argb32.ref.png b/test/reference/push-group-color.egl.argb32.ref.png
deleted file mode 100644 (file)
index f4ebe06..0000000
Binary files a/test/reference/push-group-color.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.image16.ref.png b/test/reference/push-group-color.image16.ref.png
deleted file mode 100644 (file)
index 6378b75..0000000
Binary files a/test/reference/push-group-color.image16.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.mask.argb32.ref.png b/test/reference/push-group-color.mask.argb32.ref.png
deleted file mode 100644 (file)
index 5615196..0000000
Binary files a/test/reference/push-group-color.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.mask.rgb24.ref.png b/test/reference/push-group-color.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5615196..0000000
Binary files a/test/reference/push-group-color.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.ps2.ref.png b/test/reference/push-group-color.ps2.ref.png
deleted file mode 100644 (file)
index daf827e..0000000
Binary files a/test/reference/push-group-color.ps2.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.ps3.ref.png b/test/reference/push-group-color.ps3.ref.png
deleted file mode 100644 (file)
index 291fcec..0000000
Binary files a/test/reference/push-group-color.ps3.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.quartz.ref.png b/test/reference/push-group-color.quartz.ref.png
deleted file mode 100644 (file)
index bca7c56..0000000
Binary files a/test/reference/push-group-color.quartz.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.ref.png b/test/reference/push-group-color.ref.png
deleted file mode 100644 (file)
index 1cb630e..0000000
Binary files a/test/reference/push-group-color.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.rgb24.ref.png b/test/reference/push-group-color.rgb24.ref.png
deleted file mode 100644 (file)
index 5615196..0000000
Binary files a/test/reference/push-group-color.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.traps.argb32.ref.png b/test/reference/push-group-color.traps.argb32.ref.png
deleted file mode 100644 (file)
index 11b1014..0000000
Binary files a/test/reference/push-group-color.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.traps.rgb24.ref.png b/test/reference/push-group-color.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 11b1014..0000000
Binary files a/test/reference/push-group-color.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group-path-offset.argb32.ref.png b/test/reference/push-group-path-offset.argb32.ref.png
deleted file mode 100644 (file)
index b836a91..0000000
Binary files a/test/reference/push-group-path-offset.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group-path-offset.base.argb32.ref.png b/test/reference/push-group-path-offset.base.argb32.ref.png
deleted file mode 100644 (file)
index b836a91..0000000
Binary files a/test/reference/push-group-path-offset.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group-path-offset.base.rgb24.ref.png b/test/reference/push-group-path-offset.base.rgb24.ref.png
deleted file mode 100644 (file)
index b836a91..0000000
Binary files a/test/reference/push-group-path-offset.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group-path-offset.egl.argb32.ref.png b/test/reference/push-group-path-offset.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6623553..0000000
Binary files a/test/reference/push-group-path-offset.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group-path-offset.mask.argb32.ref.png b/test/reference/push-group-path-offset.mask.argb32.ref.png
deleted file mode 100644 (file)
index b836a91..0000000
Binary files a/test/reference/push-group-path-offset.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group-path-offset.mask.rgb24.ref.png b/test/reference/push-group-path-offset.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b836a91..0000000
Binary files a/test/reference/push-group-path-offset.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group-path-offset.ref.png b/test/reference/push-group-path-offset.ref.png
deleted file mode 100644 (file)
index b836a91..0000000
Binary files a/test/reference/push-group-path-offset.ref.png and /dev/null differ
diff --git a/test/reference/push-group-path-offset.rgb24.ref.png b/test/reference/push-group-path-offset.rgb24.ref.png
deleted file mode 100644 (file)
index b836a91..0000000
Binary files a/test/reference/push-group-path-offset.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group-path-offset.traps.argb32.ref.png b/test/reference/push-group-path-offset.traps.argb32.ref.png
deleted file mode 100644 (file)
index b836a91..0000000
Binary files a/test/reference/push-group-path-offset.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group-path-offset.traps.rgb24.ref.png b/test/reference/push-group-path-offset.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b836a91..0000000
Binary files a/test/reference/push-group-path-offset.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group.argb32.ref.png b/test/reference/push-group.argb32.ref.png
deleted file mode 100644 (file)
index 60f5eec..0000000
Binary files a/test/reference/push-group.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group.base.argb32.ref.png b/test/reference/push-group.base.argb32.ref.png
deleted file mode 100644 (file)
index 9d27f45..0000000
Binary files a/test/reference/push-group.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group.base.rgb24.ref.png b/test/reference/push-group.base.rgb24.ref.png
deleted file mode 100644 (file)
index e19694f..0000000
Binary files a/test/reference/push-group.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group.egl.argb32.ref.png b/test/reference/push-group.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4b3bdaa..0000000
Binary files a/test/reference/push-group.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group.image16.ref.png b/test/reference/push-group.image16.ref.png
deleted file mode 100644 (file)
index 9990405..0000000
Binary files a/test/reference/push-group.image16.ref.png and /dev/null differ
diff --git a/test/reference/push-group.mask.argb32.ref.png b/test/reference/push-group.mask.argb32.ref.png
deleted file mode 100644 (file)
index 60f5eec..0000000
Binary files a/test/reference/push-group.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group.mask.rgb24.ref.png b/test/reference/push-group.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 19f0a2b..0000000
Binary files a/test/reference/push-group.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group.quartz.argb32.ref.png b/test/reference/push-group.quartz.argb32.ref.png
deleted file mode 100644 (file)
index b3867b9..0000000
Binary files a/test/reference/push-group.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group.quartz.rgb24.ref.png b/test/reference/push-group.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 1fd6ef3..0000000
Binary files a/test/reference/push-group.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group.ref.png b/test/reference/push-group.ref.png
deleted file mode 100644 (file)
index a1175e2..0000000
Binary files a/test/reference/push-group.ref.png and /dev/null differ
diff --git a/test/reference/push-group.rgb24.ref.png b/test/reference/push-group.rgb24.ref.png
deleted file mode 100644 (file)
index 19f0a2b..0000000
Binary files a/test/reference/push-group.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/push-group.traps.argb32.ref.png b/test/reference/push-group.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9d27f45..0000000
Binary files a/test/reference/push-group.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/push-group.traps.rgb24.ref.png b/test/reference/push-group.traps.rgb24.ref.png
deleted file mode 100644 (file)
index e19694f..0000000
Binary files a/test/reference/push-group.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/quartz-surface-source.argb32.ref.png b/test/reference/quartz-surface-source.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/quartz-surface-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/quartz-surface-source.ps2.ref.png b/test/reference/quartz-surface-source.ps2.ref.png
deleted file mode 100644 (file)
index 1023158..0000000
Binary files a/test/reference/quartz-surface-source.ps2.ref.png and /dev/null differ
diff --git a/test/reference/quartz-surface-source.ps3.ref.png b/test/reference/quartz-surface-source.ps3.ref.png
deleted file mode 100644 (file)
index 1023158..0000000
Binary files a/test/reference/quartz-surface-source.ps3.ref.png and /dev/null differ
diff --git a/test/reference/quartz-surface-source.rgb24.ref.png b/test/reference/quartz-surface-source.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/quartz-surface-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-extend.base.argb32.ref.png b/test/reference/radial-gradient-extend.base.argb32.ref.png
deleted file mode 100644 (file)
index 3d7de5e..0000000
Binary files a/test/reference/radial-gradient-extend.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-extend.base.rgb24.ref.png b/test/reference/radial-gradient-extend.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3d7de5e..0000000
Binary files a/test/reference/radial-gradient-extend.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-extend.egl.argb32.ref.png b/test/reference/radial-gradient-extend.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1f7a766..0000000
Binary files a/test/reference/radial-gradient-extend.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-extend.mask.argb32.ref.png b/test/reference/radial-gradient-extend.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3d7de5e..0000000
Binary files a/test/reference/radial-gradient-extend.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-extend.mask.rgb24.ref.png b/test/reference/radial-gradient-extend.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3d7de5e..0000000
Binary files a/test/reference/radial-gradient-extend.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-extend.ps3.ref.png b/test/reference/radial-gradient-extend.ps3.ref.png
deleted file mode 100644 (file)
index e84041e..0000000
Binary files a/test/reference/radial-gradient-extend.ps3.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-extend.ref.png b/test/reference/radial-gradient-extend.ref.png
deleted file mode 100644 (file)
index 3d7de5e..0000000
Binary files a/test/reference/radial-gradient-extend.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-extend.traps.argb32.ref.png b/test/reference/radial-gradient-extend.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3d7de5e..0000000
Binary files a/test/reference/radial-gradient-extend.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-extend.traps.rgb24.ref.png b/test/reference/radial-gradient-extend.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3d7de5e..0000000
Binary files a/test/reference/radial-gradient-extend.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.argb32.ref.png b/test/reference/radial-gradient-mask-source.argb32.ref.png
deleted file mode 100644 (file)
index 2bf65b3..0000000
Binary files a/test/reference/radial-gradient-mask-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.base.argb32.ref.png b/test/reference/radial-gradient-mask-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 2bf65b3..0000000
Binary files a/test/reference/radial-gradient-mask-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.base.rgb24.ref.png b/test/reference/radial-gradient-mask-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 5533519..0000000
Binary files a/test/reference/radial-gradient-mask-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.egl.argb32.ref.png b/test/reference/radial-gradient-mask-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 46a6fa5..0000000
Binary files a/test/reference/radial-gradient-mask-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.image16.ref.png b/test/reference/radial-gradient-mask-source.image16.ref.png
deleted file mode 100644 (file)
index edb93a9..0000000
Binary files a/test/reference/radial-gradient-mask-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.mask.argb32.ref.png b/test/reference/radial-gradient-mask-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2bf65b3..0000000
Binary files a/test/reference/radial-gradient-mask-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.mask.rgb24.ref.png b/test/reference/radial-gradient-mask-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5533519..0000000
Binary files a/test/reference/radial-gradient-mask-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.quartz.argb32.ref.png b/test/reference/radial-gradient-mask-source.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 5f734f6..0000000
Binary files a/test/reference/radial-gradient-mask-source.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.quartz.rgb24.ref.png b/test/reference/radial-gradient-mask-source.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 4ae71f7..0000000
Binary files a/test/reference/radial-gradient-mask-source.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.traps.argb32.ref.png b/test/reference/radial-gradient-mask-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2bf65b3..0000000
Binary files a/test/reference/radial-gradient-mask-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.traps.rgb24.ref.png b/test/reference/radial-gradient-mask-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 5533519..0000000
Binary files a/test/reference/radial-gradient-mask-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.argb32.ref.png b/test/reference/radial-gradient-mask.argb32.ref.png
deleted file mode 100644 (file)
index 4db39aa..0000000
Binary files a/test/reference/radial-gradient-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.base.argb32.ref.png b/test/reference/radial-gradient-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 4db39aa..0000000
Binary files a/test/reference/radial-gradient-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.base.rgb24.ref.png b/test/reference/radial-gradient-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4db39aa..0000000
Binary files a/test/reference/radial-gradient-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.egl.argb32.ref.png b/test/reference/radial-gradient-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index 66543f1..0000000
Binary files a/test/reference/radial-gradient-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.image16.ref.png b/test/reference/radial-gradient-mask.image16.ref.png
deleted file mode 100644 (file)
index 78712ca..0000000
Binary files a/test/reference/radial-gradient-mask.image16.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.mask.argb32.ref.png b/test/reference/radial-gradient-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4db39aa..0000000
Binary files a/test/reference/radial-gradient-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.mask.rgb24.ref.png b/test/reference/radial-gradient-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4db39aa..0000000
Binary files a/test/reference/radial-gradient-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.quartz.ref.png b/test/reference/radial-gradient-mask.quartz.ref.png
deleted file mode 100644 (file)
index c1bd506..0000000
Binary files a/test/reference/radial-gradient-mask.quartz.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.ref.png b/test/reference/radial-gradient-mask.ref.png
deleted file mode 100644 (file)
index 4db39aa..0000000
Binary files a/test/reference/radial-gradient-mask.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.rgb24.ref.png b/test/reference/radial-gradient-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4db39aa..0000000
Binary files a/test/reference/radial-gradient-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.traps.argb32.ref.png b/test/reference/radial-gradient-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4db39aa..0000000
Binary files a/test/reference/radial-gradient-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask.traps.rgb24.ref.png b/test/reference/radial-gradient-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4db39aa..0000000
Binary files a/test/reference/radial-gradient-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.argb32.ref.png b/test/reference/radial-gradient-one-stop.argb32.ref.png
deleted file mode 100644 (file)
index fb35be6..0000000
Binary files a/test/reference/radial-gradient-one-stop.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.base.argb32.ref.png b/test/reference/radial-gradient-one-stop.base.argb32.ref.png
deleted file mode 100644 (file)
index fb35be6..0000000
Binary files a/test/reference/radial-gradient-one-stop.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.base.rgb24.ref.png b/test/reference/radial-gradient-one-stop.base.rgb24.ref.png
deleted file mode 100644 (file)
index fb35be6..0000000
Binary files a/test/reference/radial-gradient-one-stop.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.egl.argb32.ref.png b/test/reference/radial-gradient-one-stop.egl.argb32.ref.png
deleted file mode 100644 (file)
index f48449e..0000000
Binary files a/test/reference/radial-gradient-one-stop.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.mask.argb32.ref.png b/test/reference/radial-gradient-one-stop.mask.argb32.ref.png
deleted file mode 100644 (file)
index fb35be6..0000000
Binary files a/test/reference/radial-gradient-one-stop.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.mask.rgb24.ref.png b/test/reference/radial-gradient-one-stop.mask.rgb24.ref.png
deleted file mode 100644 (file)
index fb35be6..0000000
Binary files a/test/reference/radial-gradient-one-stop.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.quartz.ref.png b/test/reference/radial-gradient-one-stop.quartz.ref.png
deleted file mode 100644 (file)
index da991b1..0000000
Binary files a/test/reference/radial-gradient-one-stop.quartz.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.ref.png b/test/reference/radial-gradient-one-stop.ref.png
deleted file mode 100644 (file)
index fb35be6..0000000
Binary files a/test/reference/radial-gradient-one-stop.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.rgb24.ref.png b/test/reference/radial-gradient-one-stop.rgb24.ref.png
deleted file mode 100644 (file)
index fb35be6..0000000
Binary files a/test/reference/radial-gradient-one-stop.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.traps.argb32.ref.png b/test/reference/radial-gradient-one-stop.traps.argb32.ref.png
deleted file mode 100644 (file)
index fb35be6..0000000
Binary files a/test/reference/radial-gradient-one-stop.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-one-stop.traps.rgb24.ref.png b/test/reference/radial-gradient-one-stop.traps.rgb24.ref.png
deleted file mode 100644 (file)
index fb35be6..0000000
Binary files a/test/reference/radial-gradient-one-stop.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.argb32.ref.png b/test/reference/radial-gradient-source.argb32.ref.png
deleted file mode 100644 (file)
index 4ab4796..0000000
Binary files a/test/reference/radial-gradient-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.base.argb32.ref.png b/test/reference/radial-gradient-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 4ab4796..0000000
Binary files a/test/reference/radial-gradient-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.base.rgb24.ref.png b/test/reference/radial-gradient-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index afaa241..0000000
Binary files a/test/reference/radial-gradient-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.egl.argb32.ref.png b/test/reference/radial-gradient-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index a6a7cdb..0000000
Binary files a/test/reference/radial-gradient-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.image16.ref.png b/test/reference/radial-gradient-source.image16.ref.png
deleted file mode 100644 (file)
index f992b6f..0000000
Binary files a/test/reference/radial-gradient-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.mask.argb32.ref.png b/test/reference/radial-gradient-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4ab4796..0000000
Binary files a/test/reference/radial-gradient-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.mask.rgb24.ref.png b/test/reference/radial-gradient-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index afaa241..0000000
Binary files a/test/reference/radial-gradient-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.quartz.argb32.ref.png b/test/reference/radial-gradient-source.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 421c0b9..0000000
Binary files a/test/reference/radial-gradient-source.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.quartz.rgb24.ref.png b/test/reference/radial-gradient-source.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 22f2b90..0000000
Binary files a/test/reference/radial-gradient-source.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.rgb24.ref.png b/test/reference/radial-gradient-source.rgb24.ref.png
deleted file mode 100644 (file)
index afaa241..0000000
Binary files a/test/reference/radial-gradient-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.traps.argb32.ref.png b/test/reference/radial-gradient-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4ab4796..0000000
Binary files a/test/reference/radial-gradient-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-source.traps.rgb24.ref.png b/test/reference/radial-gradient-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index afaa241..0000000
Binary files a/test/reference/radial-gradient-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.argb32.ref.png b/test/reference/radial-gradient.argb32.ref.png
deleted file mode 100644 (file)
index a2cbbc8..0000000
Binary files a/test/reference/radial-gradient.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.base.argb32.ref.png b/test/reference/radial-gradient.base.argb32.ref.png
deleted file mode 100644 (file)
index a2cbbc8..0000000
Binary files a/test/reference/radial-gradient.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.base.rgb24.ref.png b/test/reference/radial-gradient.base.rgb24.ref.png
deleted file mode 100644 (file)
index a2cbbc8..0000000
Binary files a/test/reference/radial-gradient.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.egl.argb32.ref.png b/test/reference/radial-gradient.egl.argb32.ref.png
deleted file mode 100644 (file)
index 361dc64..0000000
Binary files a/test/reference/radial-gradient.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.image16.ref.png b/test/reference/radial-gradient.image16.ref.png
deleted file mode 100644 (file)
index 91202d3..0000000
Binary files a/test/reference/radial-gradient.image16.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.mask.argb32.ref.png b/test/reference/radial-gradient.mask.argb32.ref.png
deleted file mode 100644 (file)
index a2cbbc8..0000000
Binary files a/test/reference/radial-gradient.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.mask.rgb24.ref.png b/test/reference/radial-gradient.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a2cbbc8..0000000
Binary files a/test/reference/radial-gradient.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.quartz.ref.png b/test/reference/radial-gradient.quartz.ref.png
deleted file mode 100644 (file)
index f01c6eb..0000000
Binary files a/test/reference/radial-gradient.quartz.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.ref.png b/test/reference/radial-gradient.ref.png
deleted file mode 100644 (file)
index a2cbbc8..0000000
Binary files a/test/reference/radial-gradient.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.rgb24.ref.png b/test/reference/radial-gradient.rgb24.ref.png
deleted file mode 100644 (file)
index a2cbbc8..0000000
Binary files a/test/reference/radial-gradient.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.traps.argb32.ref.png b/test/reference/radial-gradient.traps.argb32.ref.png
deleted file mode 100644 (file)
index a2cbbc8..0000000
Binary files a/test/reference/radial-gradient.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient.traps.rgb24.ref.png b/test/reference/radial-gradient.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a2cbbc8..0000000
Binary files a/test/reference/radial-gradient.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-outer-focus.base.argb32.ref.png b/test/reference/radial-outer-focus.base.argb32.ref.png
deleted file mode 100644 (file)
index 21f0bf6..0000000
Binary files a/test/reference/radial-outer-focus.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-outer-focus.base.rgb24.ref.png b/test/reference/radial-outer-focus.base.rgb24.ref.png
deleted file mode 100644 (file)
index 21f0bf6..0000000
Binary files a/test/reference/radial-outer-focus.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-outer-focus.egl.argb32.ref.png b/test/reference/radial-outer-focus.egl.argb32.ref.png
deleted file mode 100644 (file)
index 008e73c..0000000
Binary files a/test/reference/radial-outer-focus.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-outer-focus.mask.argb32.ref.png b/test/reference/radial-outer-focus.mask.argb32.ref.png
deleted file mode 100644 (file)
index 21f0bf6..0000000
Binary files a/test/reference/radial-outer-focus.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-outer-focus.mask.rgb24.ref.png b/test/reference/radial-outer-focus.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 21f0bf6..0000000
Binary files a/test/reference/radial-outer-focus.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-outer-focus.traps.argb32.ref.png b/test/reference/radial-outer-focus.traps.argb32.ref.png
deleted file mode 100644 (file)
index 21f0bf6..0000000
Binary files a/test/reference/radial-outer-focus.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-outer-focus.traps.rgb24.ref.png b/test/reference/radial-outer-focus.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 21f0bf6..0000000
Binary files a/test/reference/radial-outer-focus.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-outer-focus.xfail.png b/test/reference/radial-outer-focus.xfail.png
deleted file mode 100644 (file)
index 53e9f82..0000000
Binary files a/test/reference/radial-outer-focus.xfail.png and /dev/null differ
diff --git a/test/reference/random-clip.base.argb32.ref.png b/test/reference/random-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 2750fb1..0000000
Binary files a/test/reference/random-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-clip.base.argb32.xfail.png b/test/reference/random-clip.base.argb32.xfail.png
deleted file mode 100644 (file)
index 15f9158..0000000
Binary files a/test/reference/random-clip.base.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/random-clip.base.rgb24.ref.png b/test/reference/random-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2750fb1..0000000
Binary files a/test/reference/random-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-clip.base.rgb24.xfail.png b/test/reference/random-clip.base.rgb24.xfail.png
deleted file mode 100644 (file)
index 15f9158..0000000
Binary files a/test/reference/random-clip.base.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/random-clip.mask.argb32.ref.png b/test/reference/random-clip.mask.argb32.ref.png
deleted file mode 100644 (file)
index 41643cb..0000000
Binary files a/test/reference/random-clip.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-clip.mask.rgb24.ref.png b/test/reference/random-clip.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 41643cb..0000000
Binary files a/test/reference/random-clip.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-clip.ref.png b/test/reference/random-clip.ref.png
deleted file mode 100644 (file)
index 6e67010..0000000
Binary files a/test/reference/random-clip.ref.png and /dev/null differ
diff --git a/test/reference/random-clip.traps.argb32.ref.png b/test/reference/random-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index 01cc60a..0000000
Binary files a/test/reference/random-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-clip.traps.rgb24.ref.png b/test/reference/random-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 01cc60a..0000000
Binary files a/test/reference/random-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.argb32.ref.png b/test/reference/random-intersections-curves-eo.argb32.ref.png
deleted file mode 100644 (file)
index c8b0c53..0000000
Binary files a/test/reference/random-intersections-curves-eo.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.base.argb32.ref.png b/test/reference/random-intersections-curves-eo.base.argb32.ref.png
deleted file mode 100644 (file)
index ee10cb4..0000000
Binary files a/test/reference/random-intersections-curves-eo.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.base.rgb24.ref.png b/test/reference/random-intersections-curves-eo.base.rgb24.ref.png
deleted file mode 100644 (file)
index ee10cb4..0000000
Binary files a/test/reference/random-intersections-curves-eo.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.egl.argb32.ref.png b/test/reference/random-intersections-curves-eo.egl.argb32.ref.png
deleted file mode 100644 (file)
index 5e67574..0000000
Binary files a/test/reference/random-intersections-curves-eo.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.image16.ref.png b/test/reference/random-intersections-curves-eo.image16.ref.png
deleted file mode 100644 (file)
index 0663270..0000000
Binary files a/test/reference/random-intersections-curves-eo.image16.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.mask.argb32.ref.png b/test/reference/random-intersections-curves-eo.mask.argb32.ref.png
deleted file mode 100644 (file)
index c8b0c53..0000000
Binary files a/test/reference/random-intersections-curves-eo.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.mask.rgb24.ref.png b/test/reference/random-intersections-curves-eo.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c8b0c53..0000000
Binary files a/test/reference/random-intersections-curves-eo.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.pdf.ref.png b/test/reference/random-intersections-curves-eo.pdf.ref.png
deleted file mode 100644 (file)
index befa3c8..0000000
Binary files a/test/reference/random-intersections-curves-eo.pdf.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.ps.ref.png b/test/reference/random-intersections-curves-eo.ps.ref.png
deleted file mode 100644 (file)
index 374ace9..0000000
Binary files a/test/reference/random-intersections-curves-eo.ps.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.quartz.ref.png b/test/reference/random-intersections-curves-eo.quartz.ref.png
deleted file mode 100644 (file)
index 2a44a5a..0000000
Binary files a/test/reference/random-intersections-curves-eo.quartz.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.ref.png b/test/reference/random-intersections-curves-eo.ref.png
deleted file mode 100644 (file)
index 53073fb..0000000
Binary files a/test/reference/random-intersections-curves-eo.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.rgb24.ref.png b/test/reference/random-intersections-curves-eo.rgb24.ref.png
deleted file mode 100644 (file)
index c8b0c53..0000000
Binary files a/test/reference/random-intersections-curves-eo.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.traps.argb32.ref.png b/test/reference/random-intersections-curves-eo.traps.argb32.ref.png
deleted file mode 100644 (file)
index ee10cb4..0000000
Binary files a/test/reference/random-intersections-curves-eo.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.traps.rgb24.ref.png b/test/reference/random-intersections-curves-eo.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ee10cb4..0000000
Binary files a/test/reference/random-intersections-curves-eo.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.xlib-fallback.ref.png b/test/reference/random-intersections-curves-eo.xlib-fallback.ref.png
deleted file mode 100644 (file)
index d91af0b..0000000
Binary files a/test/reference/random-intersections-curves-eo.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.argb32.ref.png b/test/reference/random-intersections-curves-nz.argb32.ref.png
deleted file mode 100644 (file)
index 2678590..0000000
Binary files a/test/reference/random-intersections-curves-nz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.base.argb32.ref.png b/test/reference/random-intersections-curves-nz.base.argb32.ref.png
deleted file mode 100644 (file)
index 77f8129..0000000
Binary files a/test/reference/random-intersections-curves-nz.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.base.rgb24.ref.png b/test/reference/random-intersections-curves-nz.base.rgb24.ref.png
deleted file mode 100644 (file)
index 77f8129..0000000
Binary files a/test/reference/random-intersections-curves-nz.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.egl.argb32.ref.png b/test/reference/random-intersections-curves-nz.egl.argb32.ref.png
deleted file mode 100644 (file)
index 22b0a0b..0000000
Binary files a/test/reference/random-intersections-curves-nz.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.image16.ref.png b/test/reference/random-intersections-curves-nz.image16.ref.png
deleted file mode 100644 (file)
index 5fbc711..0000000
Binary files a/test/reference/random-intersections-curves-nz.image16.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.mask.argb32.ref.png b/test/reference/random-intersections-curves-nz.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2678590..0000000
Binary files a/test/reference/random-intersections-curves-nz.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.mask.rgb24.ref.png b/test/reference/random-intersections-curves-nz.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2678590..0000000
Binary files a/test/reference/random-intersections-curves-nz.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.pdf.ref.png b/test/reference/random-intersections-curves-nz.pdf.ref.png
deleted file mode 100644 (file)
index a374934..0000000
Binary files a/test/reference/random-intersections-curves-nz.pdf.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.ps.ref.png b/test/reference/random-intersections-curves-nz.ps.ref.png
deleted file mode 100644 (file)
index 6cc5814..0000000
Binary files a/test/reference/random-intersections-curves-nz.ps.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.quartz.ref.png b/test/reference/random-intersections-curves-nz.quartz.ref.png
deleted file mode 100644 (file)
index cf799bb..0000000
Binary files a/test/reference/random-intersections-curves-nz.quartz.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.ref.png b/test/reference/random-intersections-curves-nz.ref.png
deleted file mode 100644 (file)
index c889b17..0000000
Binary files a/test/reference/random-intersections-curves-nz.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.rgb24.ref.png b/test/reference/random-intersections-curves-nz.rgb24.ref.png
deleted file mode 100644 (file)
index 2678590..0000000
Binary files a/test/reference/random-intersections-curves-nz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.traps.argb32.ref.png b/test/reference/random-intersections-curves-nz.traps.argb32.ref.png
deleted file mode 100644 (file)
index 77f8129..0000000
Binary files a/test/reference/random-intersections-curves-nz.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.traps.rgb24.ref.png b/test/reference/random-intersections-curves-nz.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 77f8129..0000000
Binary files a/test/reference/random-intersections-curves-nz.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.xlib-fallback.ref.png b/test/reference/random-intersections-curves-nz.xlib-fallback.ref.png
deleted file mode 100644 (file)
index f72f8f1..0000000
Binary files a/test/reference/random-intersections-curves-nz.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.argb32.ref.png b/test/reference/random-intersections-eo.argb32.ref.png
deleted file mode 100644 (file)
index 0e8460e..0000000
Binary files a/test/reference/random-intersections-eo.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.base.argb32.ref.png b/test/reference/random-intersections-eo.base.argb32.ref.png
deleted file mode 100644 (file)
index 037f926..0000000
Binary files a/test/reference/random-intersections-eo.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.base.rgb24.ref.png b/test/reference/random-intersections-eo.base.rgb24.ref.png
deleted file mode 100644 (file)
index 037f926..0000000
Binary files a/test/reference/random-intersections-eo.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.egl.argb32.ref.png b/test/reference/random-intersections-eo.egl.argb32.ref.png
deleted file mode 100644 (file)
index b8c037d..0000000
Binary files a/test/reference/random-intersections-eo.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.image16.ref.png b/test/reference/random-intersections-eo.image16.ref.png
deleted file mode 100644 (file)
index cf214d4..0000000
Binary files a/test/reference/random-intersections-eo.image16.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.mask.argb32.ref.png b/test/reference/random-intersections-eo.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0e8460e..0000000
Binary files a/test/reference/random-intersections-eo.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.mask.rgb24.ref.png b/test/reference/random-intersections-eo.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0e8460e..0000000
Binary files a/test/reference/random-intersections-eo.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.ps.ref.png b/test/reference/random-intersections-eo.ps.ref.png
deleted file mode 100644 (file)
index 49b359a..0000000
Binary files a/test/reference/random-intersections-eo.ps.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.quartz.ref.png b/test/reference/random-intersections-eo.quartz.ref.png
deleted file mode 100644 (file)
index 859abb0..0000000
Binary files a/test/reference/random-intersections-eo.quartz.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.ref.png b/test/reference/random-intersections-eo.ref.png
deleted file mode 100644 (file)
index b472113..0000000
Binary files a/test/reference/random-intersections-eo.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.rgb24.ref.png b/test/reference/random-intersections-eo.rgb24.ref.png
deleted file mode 100644 (file)
index 0e8460e..0000000
Binary files a/test/reference/random-intersections-eo.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.traps.argb32.ref.png b/test/reference/random-intersections-eo.traps.argb32.ref.png
deleted file mode 100644 (file)
index 037f926..0000000
Binary files a/test/reference/random-intersections-eo.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.traps.rgb24.ref.png b/test/reference/random-intersections-eo.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 037f926..0000000
Binary files a/test/reference/random-intersections-eo.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.argb32.ref.png b/test/reference/random-intersections-nonzero.argb32.ref.png
deleted file mode 100644 (file)
index dfc2f33..0000000
Binary files a/test/reference/random-intersections-nonzero.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.base.argb32.ref.png b/test/reference/random-intersections-nonzero.base.argb32.ref.png
deleted file mode 100644 (file)
index 7eb9a0a..0000000
Binary files a/test/reference/random-intersections-nonzero.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.base.rgb24.ref.png b/test/reference/random-intersections-nonzero.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7eb9a0a..0000000
Binary files a/test/reference/random-intersections-nonzero.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.egl.argb32.ref.png b/test/reference/random-intersections-nonzero.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6d29176..0000000
Binary files a/test/reference/random-intersections-nonzero.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.image16.ref.png b/test/reference/random-intersections-nonzero.image16.ref.png
deleted file mode 100644 (file)
index 370abd9..0000000
Binary files a/test/reference/random-intersections-nonzero.image16.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.mask.argb32.ref.png b/test/reference/random-intersections-nonzero.mask.argb32.ref.png
deleted file mode 100644 (file)
index dfc2f33..0000000
Binary files a/test/reference/random-intersections-nonzero.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.mask.rgb24.ref.png b/test/reference/random-intersections-nonzero.mask.rgb24.ref.png
deleted file mode 100644 (file)
index dfc2f33..0000000
Binary files a/test/reference/random-intersections-nonzero.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.ps.ref.png b/test/reference/random-intersections-nonzero.ps.ref.png
deleted file mode 100644 (file)
index 53a151f..0000000
Binary files a/test/reference/random-intersections-nonzero.ps.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.quartz.ref.png b/test/reference/random-intersections-nonzero.quartz.ref.png
deleted file mode 100644 (file)
index f4310ea..0000000
Binary files a/test/reference/random-intersections-nonzero.quartz.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.ref.png b/test/reference/random-intersections-nonzero.ref.png
deleted file mode 100644 (file)
index 777d192..0000000
Binary files a/test/reference/random-intersections-nonzero.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.rgb24.ref.png b/test/reference/random-intersections-nonzero.rgb24.ref.png
deleted file mode 100644 (file)
index dfc2f33..0000000
Binary files a/test/reference/random-intersections-nonzero.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.traps.argb32.ref.png b/test/reference/random-intersections-nonzero.traps.argb32.ref.png
deleted file mode 100644 (file)
index 7eb9a0a..0000000
Binary files a/test/reference/random-intersections-nonzero.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.traps.rgb24.ref.png b/test/reference/random-intersections-nonzero.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 7eb9a0a..0000000
Binary files a/test/reference/random-intersections-nonzero.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.argb32.ref.png b/test/reference/raster-source.argb32.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/raster-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.base.argb32.ref.png b/test/reference/raster-source.base.argb32.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/raster-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.base.rgb24.ref.png b/test/reference/raster-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/raster-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.egl.argb32.ref.png b/test/reference/raster-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index e321e79..0000000
Binary files a/test/reference/raster-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.mask.argb32.ref.png b/test/reference/raster-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/raster-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.mask.rgb24.ref.png b/test/reference/raster-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/raster-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.ps.ref.png b/test/reference/raster-source.ps.ref.png
deleted file mode 100644 (file)
index 2ffc114..0000000
Binary files a/test/reference/raster-source.ps.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.ref.png b/test/reference/raster-source.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/raster-source.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.rgb24.ref.png b/test/reference/raster-source.rgb24.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/raster-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.traps.argb32.ref.png b/test/reference/raster-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/raster-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/raster-source.traps.rgb24.ref.png b/test/reference/raster-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ac5e560..0000000
Binary files a/test/reference/raster-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none-similar.argb32.ref.png b/test/reference/record-extend-none-similar.argb32.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none-similar.base.argb32.ref.png b/test/reference/record-extend-none-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none-similar.base.rgb24.ref.png b/test/reference/record-extend-none-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none-similar.egl.argb32.ref.png b/test/reference/record-extend-none-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none-similar.image16.rgb24.ref.png b/test/reference/record-extend-none-similar.image16.rgb24.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none-similar.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none-similar.ref.png b/test/reference/record-extend-none-similar.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none-similar.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none-similar.rgb24.ref.png b/test/reference/record-extend-none-similar.rgb24.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none-similar.traps.argb32.ref.png b/test/reference/record-extend-none-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none-similar.traps.rgb24.ref.png b/test/reference/record-extend-none-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none.argb32.ref.png b/test/reference/record-extend-none.argb32.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none.base.argb32.ref.png b/test/reference/record-extend-none.base.argb32.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none.base.rgb24.ref.png b/test/reference/record-extend-none.base.rgb24.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none.egl.argb32.ref.png b/test/reference/record-extend-none.egl.argb32.ref.png
deleted file mode 100644 (file)
index 164c8b3..0000000
Binary files a/test/reference/record-extend-none.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none.image16.rgb24.ref.png b/test/reference/record-extend-none.image16.rgb24.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none.ref.png b/test/reference/record-extend-none.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none.rgb24.ref.png b/test/reference/record-extend-none.rgb24.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none.traps.argb32.ref.png b/test/reference/record-extend-none.traps.argb32.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-none.traps.rgb24.ref.png b/test/reference/record-extend-none.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d63c31c..0000000
Binary files a/test/reference/record-extend-none.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad-similar.argb32.ref.png b/test/reference/record-extend-pad-similar.argb32.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad-similar.base.argb32.ref.png b/test/reference/record-extend-pad-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad-similar.base.rgb24.ref.png b/test/reference/record-extend-pad-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad-similar.egl.argb32.ref.png b/test/reference/record-extend-pad-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad-similar.image16.rgb24.ref.png b/test/reference/record-extend-pad-similar.image16.rgb24.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad-similar.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad-similar.ref.png b/test/reference/record-extend-pad-similar.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad-similar.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad-similar.rgb24.ref.png b/test/reference/record-extend-pad-similar.rgb24.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad-similar.traps.argb32.ref.png b/test/reference/record-extend-pad-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad-similar.traps.rgb24.ref.png b/test/reference/record-extend-pad-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad.argb32.ref.png b/test/reference/record-extend-pad.argb32.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad.base.argb32.ref.png b/test/reference/record-extend-pad.base.argb32.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad.base.rgb24.ref.png b/test/reference/record-extend-pad.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad.egl.argb32.ref.png b/test/reference/record-extend-pad.egl.argb32.ref.png
deleted file mode 100644 (file)
index bbd9564..0000000
Binary files a/test/reference/record-extend-pad.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad.image16.rgb24.ref.png b/test/reference/record-extend-pad.image16.rgb24.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad.ref.png b/test/reference/record-extend-pad.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad.rgb24.ref.png b/test/reference/record-extend-pad.rgb24.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad.traps.argb32.ref.png b/test/reference/record-extend-pad.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-pad.traps.rgb24.ref.png b/test/reference/record-extend-pad.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1291525..0000000
Binary files a/test/reference/record-extend-pad.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect-similar.argb32.ref.png b/test/reference/record-extend-reflect-similar.argb32.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect-similar.base.argb32.ref.png b/test/reference/record-extend-reflect-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect-similar.base.rgb24.ref.png b/test/reference/record-extend-reflect-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect-similar.egl.argb32.ref.png b/test/reference/record-extend-reflect-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect-similar.image16.rgb24.ref.png b/test/reference/record-extend-reflect-similar.image16.rgb24.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect-similar.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect-similar.ref.png b/test/reference/record-extend-reflect-similar.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect-similar.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect-similar.rgb24.ref.png b/test/reference/record-extend-reflect-similar.rgb24.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect-similar.traps.argb32.ref.png b/test/reference/record-extend-reflect-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect-similar.traps.rgb24.ref.png b/test/reference/record-extend-reflect-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect.argb32.ref.png b/test/reference/record-extend-reflect.argb32.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect.base.argb32.ref.png b/test/reference/record-extend-reflect.base.argb32.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect.base.rgb24.ref.png b/test/reference/record-extend-reflect.base.rgb24.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect.egl.argb32.ref.png b/test/reference/record-extend-reflect.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6a6f762..0000000
Binary files a/test/reference/record-extend-reflect.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect.image16.rgb24.ref.png b/test/reference/record-extend-reflect.image16.rgb24.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect.ref.png b/test/reference/record-extend-reflect.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect.rgb24.ref.png b/test/reference/record-extend-reflect.rgb24.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect.traps.argb32.ref.png b/test/reference/record-extend-reflect.traps.argb32.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-reflect.traps.rgb24.ref.png b/test/reference/record-extend-reflect.traps.rgb24.ref.png
deleted file mode 100644 (file)
index aec5c94..0000000
Binary files a/test/reference/record-extend-reflect.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat-similar.argb32.ref.png b/test/reference/record-extend-repeat-similar.argb32.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat-similar.base.argb32.ref.png b/test/reference/record-extend-repeat-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat-similar.base.rgb24.ref.png b/test/reference/record-extend-repeat-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat-similar.egl.argb32.ref.png b/test/reference/record-extend-repeat-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat-similar.image16.rgb24.ref.png b/test/reference/record-extend-repeat-similar.image16.rgb24.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat-similar.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat-similar.ref.png b/test/reference/record-extend-repeat-similar.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat-similar.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat-similar.rgb24.ref.png b/test/reference/record-extend-repeat-similar.rgb24.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat-similar.traps.argb32.ref.png b/test/reference/record-extend-repeat-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat-similar.traps.rgb24.ref.png b/test/reference/record-extend-repeat-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat.argb32.ref.png b/test/reference/record-extend-repeat.argb32.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat.base.argb32.ref.png b/test/reference/record-extend-repeat.base.argb32.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat.base.rgb24.ref.png b/test/reference/record-extend-repeat.base.rgb24.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat.egl.argb32.ref.png b/test/reference/record-extend-repeat.egl.argb32.ref.png
deleted file mode 100644 (file)
index a5ea642..0000000
Binary files a/test/reference/record-extend-repeat.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat.image16.rgb24.ref.png b/test/reference/record-extend-repeat.image16.rgb24.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat.ref.png b/test/reference/record-extend-repeat.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat.rgb24.ref.png b/test/reference/record-extend-repeat.rgb24.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat.traps.argb32.ref.png b/test/reference/record-extend-repeat.traps.argb32.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-extend-repeat.traps.rgb24.ref.png b/test/reference/record-extend-repeat.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d4db9bf..0000000
Binary files a/test/reference/record-extend-repeat.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.argb32.ref.png b/test/reference/record-fill-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 9de7b50..0000000
Binary files a/test/reference/record-fill-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.base.argb32.ref.png b/test/reference/record-fill-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 85df919..0000000
Binary files a/test/reference/record-fill-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.base.rgb24.ref.png b/test/reference/record-fill-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 85df919..0000000
Binary files a/test/reference/record-fill-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.base.xfail.png b/test/reference/record-fill-alpha.base.xfail.png
deleted file mode 100644 (file)
index 5a2ebad..0000000
Binary files a/test/reference/record-fill-alpha.base.xfail.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.egl.argb32.ref.png b/test/reference/record-fill-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index d94b65a..0000000
Binary files a/test/reference/record-fill-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.image16.rgb24.ref.png b/test/reference/record-fill-alpha.image16.rgb24.ref.png
deleted file mode 100644 (file)
index 8ba164e..0000000
Binary files a/test/reference/record-fill-alpha.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.ref.png b/test/reference/record-fill-alpha.ref.png
deleted file mode 100644 (file)
index 630c024..0000000
Binary files a/test/reference/record-fill-alpha.ref.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.rgb24.ref.png b/test/reference/record-fill-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 9de7b50..0000000
Binary files a/test/reference/record-fill-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.traps.argb32.ref.png b/test/reference/record-fill-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 85df919..0000000
Binary files a/test/reference/record-fill-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.traps.rgb24.ref.png b/test/reference/record-fill-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 85df919..0000000
Binary files a/test/reference/record-fill-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-fill-alpha.xfail.png b/test/reference/record-fill-alpha.xfail.png
deleted file mode 100644 (file)
index 630c024..0000000
Binary files a/test/reference/record-fill-alpha.xfail.png and /dev/null differ
diff --git a/test/reference/record-mesh.argb32.ref.png b/test/reference/record-mesh.argb32.ref.png
deleted file mode 100644 (file)
index 4921ba3..0000000
Binary files a/test/reference/record-mesh.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-mesh.base.argb32.ref.png b/test/reference/record-mesh.base.argb32.ref.png
deleted file mode 100644 (file)
index 4921ba3..0000000
Binary files a/test/reference/record-mesh.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-mesh.base.rgb24.ref.png b/test/reference/record-mesh.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4921ba3..0000000
Binary files a/test/reference/record-mesh.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-mesh.egl.argb32.ref.png b/test/reference/record-mesh.egl.argb32.ref.png
deleted file mode 100644 (file)
index ca8c2cd..0000000
Binary files a/test/reference/record-mesh.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-mesh.image16.rgb24.ref.png b/test/reference/record-mesh.image16.rgb24.ref.png
deleted file mode 100644 (file)
index df7bd03..0000000
Binary files a/test/reference/record-mesh.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-mesh.ref.png b/test/reference/record-mesh.ref.png
deleted file mode 100644 (file)
index 4921ba3..0000000
Binary files a/test/reference/record-mesh.ref.png and /dev/null differ
diff --git a/test/reference/record-mesh.rgb24.ref.png b/test/reference/record-mesh.rgb24.ref.png
deleted file mode 100644 (file)
index 4921ba3..0000000
Binary files a/test/reference/record-mesh.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-mesh.traps.argb32.ref.png b/test/reference/record-mesh.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4921ba3..0000000
Binary files a/test/reference/record-mesh.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-mesh.traps.rgb24.ref.png b/test/reference/record-mesh.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4921ba3..0000000
Binary files a/test/reference/record-mesh.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.argb32.ref.png b/test/reference/record-paint-alpha-clip-mask.argb32.ref.png
deleted file mode 100644 (file)
index 5054672..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.base.argb32.ref.png b/test/reference/record-paint-alpha-clip-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 95746ff..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.base.rgb24.ref.png b/test/reference/record-paint-alpha-clip-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 95746ff..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.base.xfail.png b/test/reference/record-paint-alpha-clip-mask.base.xfail.png
deleted file mode 100644 (file)
index f7bb8ff..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.base.xfail.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.egl.argb32.ref.png b/test/reference/record-paint-alpha-clip-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index a117e53..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.image16.rgb24.ref.png b/test/reference/record-paint-alpha-clip-mask.image16.rgb24.ref.png
deleted file mode 100644 (file)
index f069c13..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.ref.png b/test/reference/record-paint-alpha-clip-mask.ref.png
deleted file mode 100644 (file)
index 3bc8cd5..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.rgb24.ref.png b/test/reference/record-paint-alpha-clip-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5054672..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.traps.argb32.ref.png b/test/reference/record-paint-alpha-clip-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 201bd0d..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.traps.rgb24.ref.png b/test/reference/record-paint-alpha-clip-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 201bd0d..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip-mask.xfail.png b/test/reference/record-paint-alpha-clip-mask.xfail.png
deleted file mode 100644 (file)
index 3bc8cd5..0000000
Binary files a/test/reference/record-paint-alpha-clip-mask.xfail.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip.argb32.ref.png b/test/reference/record-paint-alpha-clip.argb32.ref.png
deleted file mode 100644 (file)
index 4bad4e8..0000000
Binary files a/test/reference/record-paint-alpha-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip.base.argb32.ref.png b/test/reference/record-paint-alpha-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index c1da67e..0000000
Binary files a/test/reference/record-paint-alpha-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip.base.rgb24.ref.png b/test/reference/record-paint-alpha-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index c1da67e..0000000
Binary files a/test/reference/record-paint-alpha-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip.egl.argb32.ref.png b/test/reference/record-paint-alpha-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8908c08..0000000
Binary files a/test/reference/record-paint-alpha-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip.image16.rgb24.ref.png b/test/reference/record-paint-alpha-clip.image16.rgb24.ref.png
deleted file mode 100644 (file)
index 6eb92c3..0000000
Binary files a/test/reference/record-paint-alpha-clip.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip.ref.png b/test/reference/record-paint-alpha-clip.ref.png
deleted file mode 100644 (file)
index 9f6841e..0000000
Binary files a/test/reference/record-paint-alpha-clip.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip.rgb24.ref.png b/test/reference/record-paint-alpha-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 4bad4e8..0000000
Binary files a/test/reference/record-paint-alpha-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip.traps.argb32.ref.png b/test/reference/record-paint-alpha-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index c1da67e..0000000
Binary files a/test/reference/record-paint-alpha-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-clip.traps.rgb24.ref.png b/test/reference/record-paint-alpha-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c1da67e..0000000
Binary files a/test/reference/record-paint-alpha-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-solid-clip.argb32.ref.png b/test/reference/record-paint-alpha-solid-clip.argb32.ref.png
deleted file mode 100644 (file)
index 59d226d..0000000
Binary files a/test/reference/record-paint-alpha-solid-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-solid-clip.base.argb32.ref.png b/test/reference/record-paint-alpha-solid-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 59d226d..0000000
Binary files a/test/reference/record-paint-alpha-solid-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-solid-clip.base.rgb24.ref.png b/test/reference/record-paint-alpha-solid-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 59d226d..0000000
Binary files a/test/reference/record-paint-alpha-solid-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-solid-clip.egl.argb32.ref.png b/test/reference/record-paint-alpha-solid-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index b6bd8e1..0000000
Binary files a/test/reference/record-paint-alpha-solid-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-solid-clip.image16.rgb24.ref.png b/test/reference/record-paint-alpha-solid-clip.image16.rgb24.ref.png
deleted file mode 100644 (file)
index 111293d..0000000
Binary files a/test/reference/record-paint-alpha-solid-clip.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-solid-clip.ref.png b/test/reference/record-paint-alpha-solid-clip.ref.png
deleted file mode 100644 (file)
index 59d226d..0000000
Binary files a/test/reference/record-paint-alpha-solid-clip.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-solid-clip.rgb24.ref.png b/test/reference/record-paint-alpha-solid-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 59d226d..0000000
Binary files a/test/reference/record-paint-alpha-solid-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-solid-clip.traps.argb32.ref.png b/test/reference/record-paint-alpha-solid-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2cd2df2..0000000
Binary files a/test/reference/record-paint-alpha-solid-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha-solid-clip.traps.rgb24.ref.png b/test/reference/record-paint-alpha-solid-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2cd2df2..0000000
Binary files a/test/reference/record-paint-alpha-solid-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha.argb32.ref.png b/test/reference/record-paint-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/record-paint-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha.base.argb32.ref.png b/test/reference/record-paint-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/record-paint-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha.base.rgb24.ref.png b/test/reference/record-paint-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/record-paint-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha.egl.argb32.ref.png b/test/reference/record-paint-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index f1d30de..0000000
Binary files a/test/reference/record-paint-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha.image16.rgb24.ref.png b/test/reference/record-paint-alpha.image16.rgb24.ref.png
deleted file mode 100644 (file)
index 12bd89d..0000000
Binary files a/test/reference/record-paint-alpha.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha.ref.png b/test/reference/record-paint-alpha.ref.png
deleted file mode 100644 (file)
index ab7ce3e..0000000
Binary files a/test/reference/record-paint-alpha.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha.rgb24.ref.png b/test/reference/record-paint-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/record-paint-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha.traps.argb32.ref.png b/test/reference/record-paint-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/record-paint-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint-alpha.traps.rgb24.ref.png b/test/reference/record-paint-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 65d9c17..0000000
Binary files a/test/reference/record-paint-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint.argb32.ref.png b/test/reference/record-paint.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint.base.argb32.ref.png b/test/reference/record-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint.base.rgb24.ref.png b/test/reference/record-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint.egl.argb32.ref.png b/test/reference/record-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint.image16.rgb24.ref.png b/test/reference/record-paint.image16.rgb24.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record-paint.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint.ref.png b/test/reference/record-paint.ref.png
deleted file mode 100644 (file)
index fff03b3..0000000
Binary files a/test/reference/record-paint.ref.png and /dev/null differ
diff --git a/test/reference/record-paint.rgb24.ref.png b/test/reference/record-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-paint.traps.argb32.ref.png b/test/reference/record-paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record-paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-paint.traps.rgb24.ref.png b/test/reference/record-paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record-paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-select-font-face.argb32.ref.png b/test/reference/record-select-font-face.argb32.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/record-select-font-face.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-select-font-face.base.argb32.ref.png b/test/reference/record-select-font-face.base.argb32.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/record-select-font-face.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-select-font-face.base.rgb24.ref.png b/test/reference/record-select-font-face.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/record-select-font-face.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-select-font-face.image16.rgb24.ref.png b/test/reference/record-select-font-face.image16.rgb24.ref.png
deleted file mode 100644 (file)
index 88388e5..0000000
Binary files a/test/reference/record-select-font-face.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-select-font-face.ref.png b/test/reference/record-select-font-face.ref.png
deleted file mode 100644 (file)
index be89d71..0000000
Binary files a/test/reference/record-select-font-face.ref.png and /dev/null differ
diff --git a/test/reference/record-select-font-face.rgb24.ref.png b/test/reference/record-select-font-face.rgb24.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/record-select-font-face.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-select-font-face.xfail.png b/test/reference/record-select-font-face.xfail.png
deleted file mode 100644 (file)
index 1f57d69..0000000
Binary files a/test/reference/record-select-font-face.xfail.png and /dev/null differ
diff --git a/test/reference/record-self-intersecting.argb32.ref.png b/test/reference/record-self-intersecting.argb32.ref.png
deleted file mode 100644 (file)
index d554d83..0000000
Binary files a/test/reference/record-self-intersecting.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-self-intersecting.base.argb32.ref.png b/test/reference/record-self-intersecting.base.argb32.ref.png
deleted file mode 100644 (file)
index f0068e6..0000000
Binary files a/test/reference/record-self-intersecting.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-self-intersecting.base.rgb24.ref.png b/test/reference/record-self-intersecting.base.rgb24.ref.png
deleted file mode 100644 (file)
index f0068e6..0000000
Binary files a/test/reference/record-self-intersecting.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-self-intersecting.egl.argb32.ref.png b/test/reference/record-self-intersecting.egl.argb32.ref.png
deleted file mode 100644 (file)
index a87bb55..0000000
Binary files a/test/reference/record-self-intersecting.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-self-intersecting.image16.rgb24.ref.png b/test/reference/record-self-intersecting.image16.rgb24.ref.png
deleted file mode 100644 (file)
index cab3507..0000000
Binary files a/test/reference/record-self-intersecting.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-self-intersecting.ref.png b/test/reference/record-self-intersecting.ref.png
deleted file mode 100644 (file)
index d554d83..0000000
Binary files a/test/reference/record-self-intersecting.ref.png and /dev/null differ
diff --git a/test/reference/record-self-intersecting.rgb24.ref.png b/test/reference/record-self-intersecting.rgb24.ref.png
deleted file mode 100644 (file)
index d554d83..0000000
Binary files a/test/reference/record-self-intersecting.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-text-transform.argb32.ref.png b/test/reference/record-text-transform.argb32.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/record-text-transform.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-text-transform.base.argb32.ref.png b/test/reference/record-text-transform.base.argb32.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/record-text-transform.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record-text-transform.base.rgb24.ref.png b/test/reference/record-text-transform.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/record-text-transform.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-text-transform.image16.rgb24.ref.png b/test/reference/record-text-transform.image16.rgb24.ref.png
deleted file mode 100644 (file)
index 4603899..0000000
Binary files a/test/reference/record-text-transform.image16.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record-text-transform.ref.png b/test/reference/record-text-transform.ref.png
deleted file mode 100644 (file)
index 8e74785..0000000
Binary files a/test/reference/record-text-transform.ref.png and /dev/null differ
diff --git a/test/reference/record-text-transform.rgb24.ref.png b/test/reference/record-text-transform.rgb24.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/record-text-transform.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-fill-alpha.argb32.ref.png b/test/reference/record1414x-fill-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 545c0da..0000000
Binary files a/test/reference/record1414x-fill-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-fill-alpha.base.argb32.ref.png b/test/reference/record1414x-fill-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 415acef..0000000
Binary files a/test/reference/record1414x-fill-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-fill-alpha.base.rgb24.ref.png b/test/reference/record1414x-fill-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 415acef..0000000
Binary files a/test/reference/record1414x-fill-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-fill-alpha.base.xfail.png b/test/reference/record1414x-fill-alpha.base.xfail.png
deleted file mode 100644 (file)
index 6967343..0000000
Binary files a/test/reference/record1414x-fill-alpha.base.xfail.png and /dev/null differ
diff --git a/test/reference/record1414x-fill-alpha.egl.argb32.ref.png b/test/reference/record1414x-fill-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 5474fda..0000000
Binary files a/test/reference/record1414x-fill-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-fill-alpha.rgb24.ref.png b/test/reference/record1414x-fill-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 545c0da..0000000
Binary files a/test/reference/record1414x-fill-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-fill-alpha.xfail.png b/test/reference/record1414x-fill-alpha.xfail.png
deleted file mode 100644 (file)
index 9393186..0000000
Binary files a/test/reference/record1414x-fill-alpha.xfail.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-clip-mask.argb32.ref.png b/test/reference/record1414x-paint-alpha-clip-mask.argb32.ref.png
deleted file mode 100644 (file)
index 13e8b9e..0000000
Binary files a/test/reference/record1414x-paint-alpha-clip-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-clip-mask.base.argb32.ref.png b/test/reference/record1414x-paint-alpha-clip-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 1a2d967..0000000
Binary files a/test/reference/record1414x-paint-alpha-clip-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-clip-mask.base.rgb24.ref.png b/test/reference/record1414x-paint-alpha-clip-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1a2d967..0000000
Binary files a/test/reference/record1414x-paint-alpha-clip-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-clip-mask.egl.argb32.ref.png b/test/reference/record1414x-paint-alpha-clip-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index 81c7709..0000000
Binary files a/test/reference/record1414x-paint-alpha-clip-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-clip-mask.rgb24.ref.png b/test/reference/record1414x-paint-alpha-clip-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 13e8b9e..0000000
Binary files a/test/reference/record1414x-paint-alpha-clip-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-clip.argb32.ref.png b/test/reference/record1414x-paint-alpha-clip.argb32.ref.png
deleted file mode 100644 (file)
index 6c11f1d..0000000
Binary files a/test/reference/record1414x-paint-alpha-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-clip.base.argb32.ref.png b/test/reference/record1414x-paint-alpha-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index a983613..0000000
Binary files a/test/reference/record1414x-paint-alpha-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-clip.base.rgb24.ref.png b/test/reference/record1414x-paint-alpha-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index a983613..0000000
Binary files a/test/reference/record1414x-paint-alpha-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-clip.egl.argb32.ref.png b/test/reference/record1414x-paint-alpha-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8022ce1..0000000
Binary files a/test/reference/record1414x-paint-alpha-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-clip.rgb24.ref.png b/test/reference/record1414x-paint-alpha-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 6c11f1d..0000000
Binary files a/test/reference/record1414x-paint-alpha-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-solid-clip.argb32.ref.png b/test/reference/record1414x-paint-alpha-solid-clip.argb32.ref.png
deleted file mode 100644 (file)
index 7a8e594..0000000
Binary files a/test/reference/record1414x-paint-alpha-solid-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-solid-clip.base.argb32.ref.png b/test/reference/record1414x-paint-alpha-solid-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 7a8e594..0000000
Binary files a/test/reference/record1414x-paint-alpha-solid-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-solid-clip.base.rgb24.ref.png b/test/reference/record1414x-paint-alpha-solid-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7a8e594..0000000
Binary files a/test/reference/record1414x-paint-alpha-solid-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-solid-clip.egl.argb32.ref.png b/test/reference/record1414x-paint-alpha-solid-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8c85894..0000000
Binary files a/test/reference/record1414x-paint-alpha-solid-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha-solid-clip.rgb24.ref.png b/test/reference/record1414x-paint-alpha-solid-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 7a8e594..0000000
Binary files a/test/reference/record1414x-paint-alpha-solid-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha.argb32.ref.png b/test/reference/record1414x-paint-alpha.argb32.ref.png
deleted file mode 100644 (file)
index eee74ce..0000000
Binary files a/test/reference/record1414x-paint-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha.base.argb32.ref.png b/test/reference/record1414x-paint-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index eee74ce..0000000
Binary files a/test/reference/record1414x-paint-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha.base.rgb24.ref.png b/test/reference/record1414x-paint-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index eee74ce..0000000
Binary files a/test/reference/record1414x-paint-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha.egl.argb32.ref.png b/test/reference/record1414x-paint-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3da80b7..0000000
Binary files a/test/reference/record1414x-paint-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint-alpha.rgb24.ref.png b/test/reference/record1414x-paint-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index eee74ce..0000000
Binary files a/test/reference/record1414x-paint-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint.argb32.ref.png b/test/reference/record1414x-paint.argb32.ref.png
deleted file mode 100644 (file)
index e0a1341..0000000
Binary files a/test/reference/record1414x-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint.base.argb32.ref.png b/test/reference/record1414x-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index e0a1341..0000000
Binary files a/test/reference/record1414x-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint.base.rgb24.ref.png b/test/reference/record1414x-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index e0a1341..0000000
Binary files a/test/reference/record1414x-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint.egl.argb32.ref.png b/test/reference/record1414x-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index e0a1341..0000000
Binary files a/test/reference/record1414x-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-paint.rgb24.ref.png b/test/reference/record1414x-paint.rgb24.ref.png
deleted file mode 100644 (file)
index e0a1341..0000000
Binary files a/test/reference/record1414x-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-select-font-face.argb32.ref.png b/test/reference/record1414x-select-font-face.argb32.ref.png
deleted file mode 100644 (file)
index 6c52067..0000000
Binary files a/test/reference/record1414x-select-font-face.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-select-font-face.base.argb32.ref.png b/test/reference/record1414x-select-font-face.base.argb32.ref.png
deleted file mode 100644 (file)
index 6c52067..0000000
Binary files a/test/reference/record1414x-select-font-face.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-select-font-face.base.rgb24.ref.png b/test/reference/record1414x-select-font-face.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6c52067..0000000
Binary files a/test/reference/record1414x-select-font-face.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-select-font-face.egl.argb32.ref.png b/test/reference/record1414x-select-font-face.egl.argb32.ref.png
deleted file mode 100644 (file)
index e23279c..0000000
Binary files a/test/reference/record1414x-select-font-face.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-select-font-face.rgb24.ref.png b/test/reference/record1414x-select-font-face.rgb24.ref.png
deleted file mode 100644 (file)
index 6c52067..0000000
Binary files a/test/reference/record1414x-select-font-face.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-self-intersecting.argb32.ref.png b/test/reference/record1414x-self-intersecting.argb32.ref.png
deleted file mode 100644 (file)
index 4469acd..0000000
Binary files a/test/reference/record1414x-self-intersecting.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-self-intersecting.base.argb32.ref.png b/test/reference/record1414x-self-intersecting.base.argb32.ref.png
deleted file mode 100644 (file)
index 53af8ff..0000000
Binary files a/test/reference/record1414x-self-intersecting.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-self-intersecting.base.rgb24.ref.png b/test/reference/record1414x-self-intersecting.base.rgb24.ref.png
deleted file mode 100644 (file)
index 53af8ff..0000000
Binary files a/test/reference/record1414x-self-intersecting.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-self-intersecting.egl.argb32.ref.png b/test/reference/record1414x-self-intersecting.egl.argb32.ref.png
deleted file mode 100644 (file)
index 991685f..0000000
Binary files a/test/reference/record1414x-self-intersecting.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-self-intersecting.rgb24.ref.png b/test/reference/record1414x-self-intersecting.rgb24.ref.png
deleted file mode 100644 (file)
index 4469acd..0000000
Binary files a/test/reference/record1414x-self-intersecting.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-text-transform.base.argb32.ref.png b/test/reference/record1414x-text-transform.base.argb32.ref.png
deleted file mode 100644 (file)
index 5727f35..0000000
Binary files a/test/reference/record1414x-text-transform.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-text-transform.base.rgb24.ref.png b/test/reference/record1414x-text-transform.base.rgb24.ref.png
deleted file mode 100644 (file)
index 5727f35..0000000
Binary files a/test/reference/record1414x-text-transform.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-text-transform.egl.argb32.ref.png b/test/reference/record1414x-text-transform.egl.argb32.ref.png
deleted file mode 100644 (file)
index 128dd7e..0000000
Binary files a/test/reference/record1414x-text-transform.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record1414x-text-transform.ref.png b/test/reference/record1414x-text-transform.ref.png
deleted file mode 100644 (file)
index 5727f35..0000000
Binary files a/test/reference/record1414x-text-transform.ref.png and /dev/null differ
diff --git a/test/reference/record2x-fill-alpha.argb32.ref.png b/test/reference/record2x-fill-alpha.argb32.ref.png
deleted file mode 100644 (file)
index ce4dab1..0000000
Binary files a/test/reference/record2x-fill-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-fill-alpha.base.argb32.ref.png b/test/reference/record2x-fill-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index b75f358..0000000
Binary files a/test/reference/record2x-fill-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-fill-alpha.base.rgb24.ref.png b/test/reference/record2x-fill-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index b75f358..0000000
Binary files a/test/reference/record2x-fill-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-fill-alpha.base.xfail.png b/test/reference/record2x-fill-alpha.base.xfail.png
deleted file mode 100644 (file)
index b96ff8d..0000000
Binary files a/test/reference/record2x-fill-alpha.base.xfail.png and /dev/null differ
diff --git a/test/reference/record2x-fill-alpha.egl.argb32.ref.png b/test/reference/record2x-fill-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index d5b7ba3..0000000
Binary files a/test/reference/record2x-fill-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-fill-alpha.rgb24.ref.png b/test/reference/record2x-fill-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index ce4dab1..0000000
Binary files a/test/reference/record2x-fill-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-fill-alpha.xfail.png b/test/reference/record2x-fill-alpha.xfail.png
deleted file mode 100644 (file)
index 3b70c01..0000000
Binary files a/test/reference/record2x-fill-alpha.xfail.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-clip-mask.argb32.ref.png b/test/reference/record2x-paint-alpha-clip-mask.argb32.ref.png
deleted file mode 100644 (file)
index 6dc5cb5..0000000
Binary files a/test/reference/record2x-paint-alpha-clip-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-clip-mask.base.argb32.ref.png b/test/reference/record2x-paint-alpha-clip-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 6e70c77..0000000
Binary files a/test/reference/record2x-paint-alpha-clip-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-clip-mask.base.rgb24.ref.png b/test/reference/record2x-paint-alpha-clip-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6e70c77..0000000
Binary files a/test/reference/record2x-paint-alpha-clip-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-clip-mask.egl.argb32.ref.png b/test/reference/record2x-paint-alpha-clip-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2354cdb..0000000
Binary files a/test/reference/record2x-paint-alpha-clip-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-clip-mask.rgb24.ref.png b/test/reference/record2x-paint-alpha-clip-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6dc5cb5..0000000
Binary files a/test/reference/record2x-paint-alpha-clip-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-clip.argb32.ref.png b/test/reference/record2x-paint-alpha-clip.argb32.ref.png
deleted file mode 100644 (file)
index b3829d5..0000000
Binary files a/test/reference/record2x-paint-alpha-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-clip.base.argb32.ref.png b/test/reference/record2x-paint-alpha-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index b3829d5..0000000
Binary files a/test/reference/record2x-paint-alpha-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-clip.base.rgb24.ref.png b/test/reference/record2x-paint-alpha-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index b3829d5..0000000
Binary files a/test/reference/record2x-paint-alpha-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-clip.egl.argb32.ref.png b/test/reference/record2x-paint-alpha-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 93c071f..0000000
Binary files a/test/reference/record2x-paint-alpha-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-clip.rgb24.ref.png b/test/reference/record2x-paint-alpha-clip.rgb24.ref.png
deleted file mode 100644 (file)
index b3829d5..0000000
Binary files a/test/reference/record2x-paint-alpha-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-solid-clip.argb32.ref.png b/test/reference/record2x-paint-alpha-solid-clip.argb32.ref.png
deleted file mode 100644 (file)
index 06e350f..0000000
Binary files a/test/reference/record2x-paint-alpha-solid-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-solid-clip.base.argb32.ref.png b/test/reference/record2x-paint-alpha-solid-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 06e350f..0000000
Binary files a/test/reference/record2x-paint-alpha-solid-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-solid-clip.base.rgb24.ref.png b/test/reference/record2x-paint-alpha-solid-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 06e350f..0000000
Binary files a/test/reference/record2x-paint-alpha-solid-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-solid-clip.egl.argb32.ref.png b/test/reference/record2x-paint-alpha-solid-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 24458a8..0000000
Binary files a/test/reference/record2x-paint-alpha-solid-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha-solid-clip.rgb24.ref.png b/test/reference/record2x-paint-alpha-solid-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 06e350f..0000000
Binary files a/test/reference/record2x-paint-alpha-solid-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha.argb32.ref.png b/test/reference/record2x-paint-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 3a02b67..0000000
Binary files a/test/reference/record2x-paint-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha.base.argb32.ref.png b/test/reference/record2x-paint-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 3a02b67..0000000
Binary files a/test/reference/record2x-paint-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha.base.rgb24.ref.png b/test/reference/record2x-paint-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3a02b67..0000000
Binary files a/test/reference/record2x-paint-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha.egl.argb32.ref.png b/test/reference/record2x-paint-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index bc9cf38..0000000
Binary files a/test/reference/record2x-paint-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint-alpha.rgb24.ref.png b/test/reference/record2x-paint-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 3a02b67..0000000
Binary files a/test/reference/record2x-paint-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint.argb32.ref.png b/test/reference/record2x-paint.argb32.ref.png
deleted file mode 100644 (file)
index 792a1d0..0000000
Binary files a/test/reference/record2x-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint.base.argb32.ref.png b/test/reference/record2x-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 792a1d0..0000000
Binary files a/test/reference/record2x-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint.base.rgb24.ref.png b/test/reference/record2x-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 792a1d0..0000000
Binary files a/test/reference/record2x-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint.egl.argb32.ref.png b/test/reference/record2x-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index 792a1d0..0000000
Binary files a/test/reference/record2x-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-paint.rgb24.ref.png b/test/reference/record2x-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 792a1d0..0000000
Binary files a/test/reference/record2x-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-select-font-face.argb32.ref.png b/test/reference/record2x-select-font-face.argb32.ref.png
deleted file mode 100644 (file)
index 7a99795..0000000
Binary files a/test/reference/record2x-select-font-face.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-select-font-face.base.argb32.ref.png b/test/reference/record2x-select-font-face.base.argb32.ref.png
deleted file mode 100644 (file)
index 7a99795..0000000
Binary files a/test/reference/record2x-select-font-face.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-select-font-face.base.rgb24.ref.png b/test/reference/record2x-select-font-face.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7a99795..0000000
Binary files a/test/reference/record2x-select-font-face.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-select-font-face.egl.argb32.ref.png b/test/reference/record2x-select-font-face.egl.argb32.ref.png
deleted file mode 100644 (file)
index c38955f..0000000
Binary files a/test/reference/record2x-select-font-face.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-select-font-face.rgb24.ref.png b/test/reference/record2x-select-font-face.rgb24.ref.png
deleted file mode 100644 (file)
index 7a99795..0000000
Binary files a/test/reference/record2x-select-font-face.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-self-intersecting.argb32.ref.png b/test/reference/record2x-self-intersecting.argb32.ref.png
deleted file mode 100644 (file)
index 2836dae..0000000
Binary files a/test/reference/record2x-self-intersecting.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-self-intersecting.base.argb32.ref.png b/test/reference/record2x-self-intersecting.base.argb32.ref.png
deleted file mode 100644 (file)
index 2836dae..0000000
Binary files a/test/reference/record2x-self-intersecting.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-self-intersecting.base.rgb24.ref.png b/test/reference/record2x-self-intersecting.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2836dae..0000000
Binary files a/test/reference/record2x-self-intersecting.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-self-intersecting.egl.argb32.ref.png b/test/reference/record2x-self-intersecting.egl.argb32.ref.png
deleted file mode 100644 (file)
index 7bf451a..0000000
Binary files a/test/reference/record2x-self-intersecting.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-self-intersecting.rgb24.ref.png b/test/reference/record2x-self-intersecting.rgb24.ref.png
deleted file mode 100644 (file)
index 2836dae..0000000
Binary files a/test/reference/record2x-self-intersecting.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-text-transform.base.argb32.ref.png b/test/reference/record2x-text-transform.base.argb32.ref.png
deleted file mode 100644 (file)
index 6c21785..0000000
Binary files a/test/reference/record2x-text-transform.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-text-transform.base.rgb24.ref.png b/test/reference/record2x-text-transform.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6c21785..0000000
Binary files a/test/reference/record2x-text-transform.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record2x-text-transform.egl.argb32.ref.png b/test/reference/record2x-text-transform.egl.argb32.ref.png
deleted file mode 100644 (file)
index 452ede7..0000000
Binary files a/test/reference/record2x-text-transform.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record2x-text-transform.ref.png b/test/reference/record2x-text-transform.ref.png
deleted file mode 100644 (file)
index 6c21785..0000000
Binary files a/test/reference/record2x-text-transform.ref.png and /dev/null differ
diff --git a/test/reference/record90-fill-alpha.argb32.ref.png b/test/reference/record90-fill-alpha.argb32.ref.png
deleted file mode 100644 (file)
index afbc68e..0000000
Binary files a/test/reference/record90-fill-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-fill-alpha.base.argb32.ref.png b/test/reference/record90-fill-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 8eb4453..0000000
Binary files a/test/reference/record90-fill-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-fill-alpha.base.rgb24.ref.png b/test/reference/record90-fill-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 8eb4453..0000000
Binary files a/test/reference/record90-fill-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-fill-alpha.egl.argb32.ref.png b/test/reference/record90-fill-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3e8d4ab..0000000
Binary files a/test/reference/record90-fill-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-fill-alpha.rgb24.ref.png b/test/reference/record90-fill-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index afbc68e..0000000
Binary files a/test/reference/record90-fill-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-fill-alpha.xfail.png b/test/reference/record90-fill-alpha.xfail.png
deleted file mode 100644 (file)
index ad1e65c..0000000
Binary files a/test/reference/record90-fill-alpha.xfail.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip-mask.argb32.ref.png b/test/reference/record90-paint-alpha-clip-mask.argb32.ref.png
deleted file mode 100644 (file)
index aa94252..0000000
Binary files a/test/reference/record90-paint-alpha-clip-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip-mask.base.argb32.ref.png b/test/reference/record90-paint-alpha-clip-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index e14ce9a..0000000
Binary files a/test/reference/record90-paint-alpha-clip-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip-mask.base.rgb24.ref.png b/test/reference/record90-paint-alpha-clip-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index e14ce9a..0000000
Binary files a/test/reference/record90-paint-alpha-clip-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip-mask.egl.argb32.ref.png b/test/reference/record90-paint-alpha-clip-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index 27d07b0..0000000
Binary files a/test/reference/record90-paint-alpha-clip-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip-mask.rgb24.ref.png b/test/reference/record90-paint-alpha-clip-mask.rgb24.ref.png
deleted file mode 100644 (file)
index aa94252..0000000
Binary files a/test/reference/record90-paint-alpha-clip-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip-mask.xfail.png b/test/reference/record90-paint-alpha-clip-mask.xfail.png
deleted file mode 100644 (file)
index bad037f..0000000
Binary files a/test/reference/record90-paint-alpha-clip-mask.xfail.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip.argb32.ref.png b/test/reference/record90-paint-alpha-clip.argb32.ref.png
deleted file mode 100644 (file)
index 15d1a31..0000000
Binary files a/test/reference/record90-paint-alpha-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip.base.argb32.ref.png b/test/reference/record90-paint-alpha-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 12a1683..0000000
Binary files a/test/reference/record90-paint-alpha-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip.base.rgb24.ref.png b/test/reference/record90-paint-alpha-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 12a1683..0000000
Binary files a/test/reference/record90-paint-alpha-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip.egl.argb32.ref.png b/test/reference/record90-paint-alpha-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8326b4f..0000000
Binary files a/test/reference/record90-paint-alpha-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip.rgb24.ref.png b/test/reference/record90-paint-alpha-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 15d1a31..0000000
Binary files a/test/reference/record90-paint-alpha-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-clip.xfail.png b/test/reference/record90-paint-alpha-clip.xfail.png
deleted file mode 100644 (file)
index d687e3b..0000000
Binary files a/test/reference/record90-paint-alpha-clip.xfail.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-solid-clip.argb32.ref.png b/test/reference/record90-paint-alpha-solid-clip.argb32.ref.png
deleted file mode 100644 (file)
index 95e7da6..0000000
Binary files a/test/reference/record90-paint-alpha-solid-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-solid-clip.base.argb32.ref.png b/test/reference/record90-paint-alpha-solid-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 95e7da6..0000000
Binary files a/test/reference/record90-paint-alpha-solid-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-solid-clip.base.rgb24.ref.png b/test/reference/record90-paint-alpha-solid-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 95e7da6..0000000
Binary files a/test/reference/record90-paint-alpha-solid-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-solid-clip.egl.argb32.ref.png b/test/reference/record90-paint-alpha-solid-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index c450b8b..0000000
Binary files a/test/reference/record90-paint-alpha-solid-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha-solid-clip.rgb24.ref.png b/test/reference/record90-paint-alpha-solid-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 95e7da6..0000000
Binary files a/test/reference/record90-paint-alpha-solid-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha.argb32.ref.png b/test/reference/record90-paint-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 57aa95d..0000000
Binary files a/test/reference/record90-paint-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha.base.argb32.ref.png b/test/reference/record90-paint-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 57aa95d..0000000
Binary files a/test/reference/record90-paint-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha.base.rgb24.ref.png b/test/reference/record90-paint-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 57aa95d..0000000
Binary files a/test/reference/record90-paint-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha.egl.argb32.ref.png b/test/reference/record90-paint-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 57aa95d..0000000
Binary files a/test/reference/record90-paint-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint-alpha.rgb24.ref.png b/test/reference/record90-paint-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 57aa95d..0000000
Binary files a/test/reference/record90-paint-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint.argb32.ref.png b/test/reference/record90-paint.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record90-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint.base.argb32.ref.png b/test/reference/record90-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record90-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint.base.rgb24.ref.png b/test/reference/record90-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record90-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint.egl.argb32.ref.png b/test/reference/record90-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record90-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-paint.rgb24.ref.png b/test/reference/record90-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 22cc7a1..0000000
Binary files a/test/reference/record90-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-select-font-face.argb32.ref.png b/test/reference/record90-select-font-face.argb32.ref.png
deleted file mode 100644 (file)
index 189a315..0000000
Binary files a/test/reference/record90-select-font-face.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-select-font-face.base.argb32.ref.png b/test/reference/record90-select-font-face.base.argb32.ref.png
deleted file mode 100644 (file)
index 189a315..0000000
Binary files a/test/reference/record90-select-font-face.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-select-font-face.base.rgb24.ref.png b/test/reference/record90-select-font-face.base.rgb24.ref.png
deleted file mode 100644 (file)
index 189a315..0000000
Binary files a/test/reference/record90-select-font-face.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-select-font-face.egl.argb32.ref.png b/test/reference/record90-select-font-face.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2f9eb8f..0000000
Binary files a/test/reference/record90-select-font-face.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-select-font-face.rgb24.ref.png b/test/reference/record90-select-font-face.rgb24.ref.png
deleted file mode 100644 (file)
index 189a315..0000000
Binary files a/test/reference/record90-select-font-face.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-self-intersecting.argb32.ref.png b/test/reference/record90-self-intersecting.argb32.ref.png
deleted file mode 100644 (file)
index f8687ff..0000000
Binary files a/test/reference/record90-self-intersecting.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-self-intersecting.base.argb32.ref.png b/test/reference/record90-self-intersecting.base.argb32.ref.png
deleted file mode 100644 (file)
index ea11582..0000000
Binary files a/test/reference/record90-self-intersecting.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-self-intersecting.base.rgb24.ref.png b/test/reference/record90-self-intersecting.base.rgb24.ref.png
deleted file mode 100644 (file)
index ea11582..0000000
Binary files a/test/reference/record90-self-intersecting.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-self-intersecting.egl.argb32.ref.png b/test/reference/record90-self-intersecting.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0b84a9b..0000000
Binary files a/test/reference/record90-self-intersecting.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-self-intersecting.rgb24.ref.png b/test/reference/record90-self-intersecting.rgb24.ref.png
deleted file mode 100644 (file)
index f8687ff..0000000
Binary files a/test/reference/record90-self-intersecting.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-text-transform.argb32.ref.png b/test/reference/record90-text-transform.argb32.ref.png
deleted file mode 100644 (file)
index 22f6c1f..0000000
Binary files a/test/reference/record90-text-transform.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-text-transform.base.argb32.ref.png b/test/reference/record90-text-transform.base.argb32.ref.png
deleted file mode 100644 (file)
index 22f6c1f..0000000
Binary files a/test/reference/record90-text-transform.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-text-transform.base.rgb24.ref.png b/test/reference/record90-text-transform.base.rgb24.ref.png
deleted file mode 100644 (file)
index 22f6c1f..0000000
Binary files a/test/reference/record90-text-transform.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/record90-text-transform.egl.argb32.ref.png b/test/reference/record90-text-transform.egl.argb32.ref.png
deleted file mode 100644 (file)
index aaf2281..0000000
Binary files a/test/reference/record90-text-transform.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/record90-text-transform.rgb24.ref.png b/test/reference/record90-text-transform.rgb24.ref.png
deleted file mode 100644 (file)
index 22f6c1f..0000000
Binary files a/test/reference/record90-text-transform.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-none.argb32.ref.png b/test/reference/recording-surface-extend-none.argb32.ref.png
deleted file mode 100644 (file)
index c8040da..0000000
Binary files a/test/reference/recording-surface-extend-none.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-none.base.argb32.ref.png b/test/reference/recording-surface-extend-none.base.argb32.ref.png
deleted file mode 100644 (file)
index d612250..0000000
Binary files a/test/reference/recording-surface-extend-none.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-none.base.rgb24.ref.png b/test/reference/recording-surface-extend-none.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0a57b44..0000000
Binary files a/test/reference/recording-surface-extend-none.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-none.egl.argb32.ref.png b/test/reference/recording-surface-extend-none.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4bce518..0000000
Binary files a/test/reference/recording-surface-extend-none.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-none.rgb24.ref.png b/test/reference/recording-surface-extend-none.rgb24.ref.png
deleted file mode 100644 (file)
index bd84338..0000000
Binary files a/test/reference/recording-surface-extend-none.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-none.traps.argb32.ref.png b/test/reference/recording-surface-extend-none.traps.argb32.ref.png
deleted file mode 100644 (file)
index d612250..0000000
Binary files a/test/reference/recording-surface-extend-none.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-none.traps.rgb24.ref.png b/test/reference/recording-surface-extend-none.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0a57b44..0000000
Binary files a/test/reference/recording-surface-extend-none.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-pad.argb32.ref.png b/test/reference/recording-surface-extend-pad.argb32.ref.png
deleted file mode 100644 (file)
index f1c3d23..0000000
Binary files a/test/reference/recording-surface-extend-pad.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-pad.base.argb32.ref.png b/test/reference/recording-surface-extend-pad.base.argb32.ref.png
deleted file mode 100644 (file)
index 7ec94c5..0000000
Binary files a/test/reference/recording-surface-extend-pad.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-pad.base.rgb24.ref.png b/test/reference/recording-surface-extend-pad.base.rgb24.ref.png
deleted file mode 100644 (file)
index 8a064cd..0000000
Binary files a/test/reference/recording-surface-extend-pad.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-pad.egl.argb32.ref.png b/test/reference/recording-surface-extend-pad.egl.argb32.ref.png
deleted file mode 100644 (file)
index 262f50c..0000000
Binary files a/test/reference/recording-surface-extend-pad.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-pad.rgb24.ref.png b/test/reference/recording-surface-extend-pad.rgb24.ref.png
deleted file mode 100644 (file)
index 4906c8f..0000000
Binary files a/test/reference/recording-surface-extend-pad.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-pad.traps.argb32.ref.png b/test/reference/recording-surface-extend-pad.traps.argb32.ref.png
deleted file mode 100644 (file)
index 7ec94c5..0000000
Binary files a/test/reference/recording-surface-extend-pad.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-pad.traps.rgb24.ref.png b/test/reference/recording-surface-extend-pad.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 8a064cd..0000000
Binary files a/test/reference/recording-surface-extend-pad.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-reflect.argb32.ref.png b/test/reference/recording-surface-extend-reflect.argb32.ref.png
deleted file mode 100644 (file)
index 016bf39..0000000
Binary files a/test/reference/recording-surface-extend-reflect.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-reflect.base.argb32.ref.png b/test/reference/recording-surface-extend-reflect.base.argb32.ref.png
deleted file mode 100644 (file)
index 4699d42..0000000
Binary files a/test/reference/recording-surface-extend-reflect.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-reflect.base.rgb24.ref.png b/test/reference/recording-surface-extend-reflect.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4975d75..0000000
Binary files a/test/reference/recording-surface-extend-reflect.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-reflect.egl.argb32.ref.png b/test/reference/recording-surface-extend-reflect.egl.argb32.ref.png
deleted file mode 100644 (file)
index d6a1d0c..0000000
Binary files a/test/reference/recording-surface-extend-reflect.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-reflect.rgb24.ref.png b/test/reference/recording-surface-extend-reflect.rgb24.ref.png
deleted file mode 100644 (file)
index 59b58e9..0000000
Binary files a/test/reference/recording-surface-extend-reflect.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-reflect.traps.argb32.ref.png b/test/reference/recording-surface-extend-reflect.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4699d42..0000000
Binary files a/test/reference/recording-surface-extend-reflect.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-reflect.traps.rgb24.ref.png b/test/reference/recording-surface-extend-reflect.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4975d75..0000000
Binary files a/test/reference/recording-surface-extend-reflect.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-repeat.argb32.ref.png b/test/reference/recording-surface-extend-repeat.argb32.ref.png
deleted file mode 100644 (file)
index 960bfd2..0000000
Binary files a/test/reference/recording-surface-extend-repeat.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-repeat.base.argb32.ref.png b/test/reference/recording-surface-extend-repeat.base.argb32.ref.png
deleted file mode 100644 (file)
index 305c022..0000000
Binary files a/test/reference/recording-surface-extend-repeat.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-repeat.base.rgb24.ref.png b/test/reference/recording-surface-extend-repeat.base.rgb24.ref.png
deleted file mode 100644 (file)
index c3e296c..0000000
Binary files a/test/reference/recording-surface-extend-repeat.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-repeat.egl.argb32.ref.png b/test/reference/recording-surface-extend-repeat.egl.argb32.ref.png
deleted file mode 100644 (file)
index f3e47dc..0000000
Binary files a/test/reference/recording-surface-extend-repeat.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-repeat.rgb24.ref.png b/test/reference/recording-surface-extend-repeat.rgb24.ref.png
deleted file mode 100644 (file)
index d49fd12..0000000
Binary files a/test/reference/recording-surface-extend-repeat.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-repeat.traps.argb32.ref.png b/test/reference/recording-surface-extend-repeat.traps.argb32.ref.png
deleted file mode 100644 (file)
index 305c022..0000000
Binary files a/test/reference/recording-surface-extend-repeat.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-extend-repeat.traps.rgb24.ref.png b/test/reference/recording-surface-extend-repeat.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c3e296c..0000000
Binary files a/test/reference/recording-surface-extend-repeat.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.base.argb32.ref.png b/test/reference/recording-surface-over.base.argb32.ref.png
deleted file mode 100644 (file)
index d612250..0000000
Binary files a/test/reference/recording-surface-over.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.base.rgb24.ref.png b/test/reference/recording-surface-over.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0a57b44..0000000
Binary files a/test/reference/recording-surface-over.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.egl.argb32.ref.png b/test/reference/recording-surface-over.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4bce518..0000000
Binary files a/test/reference/recording-surface-over.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.gl.argb32.ref.png b/test/reference/recording-surface-over.gl.argb32.ref.png
deleted file mode 100644 (file)
index 50e6f5a..0000000
Binary files a/test/reference/recording-surface-over.gl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.image16.ref.png b/test/reference/recording-surface-over.image16.ref.png
deleted file mode 100644 (file)
index 0202893..0000000
Binary files a/test/reference/recording-surface-over.image16.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.pdf.argb32.ref.png b/test/reference/recording-surface-over.pdf.argb32.ref.png
deleted file mode 100644 (file)
index a06386b..0000000
Binary files a/test/reference/recording-surface-over.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.pdf.rgb24.ref.png b/test/reference/recording-surface-over.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index bf69f9e..0000000
Binary files a/test/reference/recording-surface-over.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.ps.argb32.ref.png b/test/reference/recording-surface-over.ps.argb32.ref.png
deleted file mode 100644 (file)
index ac66323..0000000
Binary files a/test/reference/recording-surface-over.ps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.ps.rgb24.ref.png b/test/reference/recording-surface-over.ps.rgb24.ref.png
deleted file mode 100644 (file)
index fab3382..0000000
Binary files a/test/reference/recording-surface-over.ps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.quartz.argb32.ref.png b/test/reference/recording-surface-over.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 09d9559..0000000
Binary files a/test/reference/recording-surface-over.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.quartz.rgb24.ref.png b/test/reference/recording-surface-over.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 96aff40..0000000
Binary files a/test/reference/recording-surface-over.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.ref.png b/test/reference/recording-surface-over.ref.png
deleted file mode 100644 (file)
index 7f9c56c..0000000
Binary files a/test/reference/recording-surface-over.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.rgb24.ref.png b/test/reference/recording-surface-over.rgb24.ref.png
deleted file mode 100644 (file)
index bd84338..0000000
Binary files a/test/reference/recording-surface-over.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.svg.argb32.ref.png b/test/reference/recording-surface-over.svg.argb32.ref.png
deleted file mode 100644 (file)
index ff4154d..0000000
Binary files a/test/reference/recording-surface-over.svg.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.svg.rgb24.ref.png b/test/reference/recording-surface-over.svg.rgb24.ref.png
deleted file mode 100644 (file)
index d2d5372..0000000
Binary files a/test/reference/recording-surface-over.svg.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.traps.argb32.ref.png b/test/reference/recording-surface-over.traps.argb32.ref.png
deleted file mode 100644 (file)
index d612250..0000000
Binary files a/test/reference/recording-surface-over.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.traps.rgb24.ref.png b/test/reference/recording-surface-over.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0a57b44..0000000
Binary files a/test/reference/recording-surface-over.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-source.argb32.ref.png b/test/reference/recording-surface-source.argb32.ref.png
deleted file mode 100644 (file)
index 22c612b..0000000
Binary files a/test/reference/recording-surface-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-source.base.argb32.ref.png b/test/reference/recording-surface-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 3fe1057..0000000
Binary files a/test/reference/recording-surface-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-source.base.rgb24.ref.png b/test/reference/recording-surface-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index d2605bd..0000000
Binary files a/test/reference/recording-surface-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-source.egl.argb32.ref.png b/test/reference/recording-surface-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index dad1740..0000000
Binary files a/test/reference/recording-surface-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-source.rgb24.ref.png b/test/reference/recording-surface-source.rgb24.ref.png
deleted file mode 100644 (file)
index 3481673..0000000
Binary files a/test/reference/recording-surface-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-source.traps.argb32.ref.png b/test/reference/recording-surface-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3fe1057..0000000
Binary files a/test/reference/recording-surface-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-source.traps.rgb24.ref.png b/test/reference/recording-surface-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d2605bd..0000000
Binary files a/test/reference/recording-surface-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectangle-rounding-error.argb32.ref.png b/test/reference/rectangle-rounding-error.argb32.ref.png
deleted file mode 100644 (file)
index 6cc1b21..0000000
Binary files a/test/reference/rectangle-rounding-error.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectangle-rounding-error.base.argb32.ref.png b/test/reference/rectangle-rounding-error.base.argb32.ref.png
deleted file mode 100644 (file)
index 6cc1b21..0000000
Binary files a/test/reference/rectangle-rounding-error.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectangle-rounding-error.base.rgb24.ref.png b/test/reference/rectangle-rounding-error.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6cc1b21..0000000
Binary files a/test/reference/rectangle-rounding-error.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectangle-rounding-error.egl.argb32.ref.png b/test/reference/rectangle-rounding-error.egl.argb32.ref.png
deleted file mode 100644 (file)
index 6cc1b21..0000000
Binary files a/test/reference/rectangle-rounding-error.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectangle-rounding-error.mask.argb32.ref.png b/test/reference/rectangle-rounding-error.mask.argb32.ref.png
deleted file mode 100644 (file)
index 6cc1b21..0000000
Binary files a/test/reference/rectangle-rounding-error.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectangle-rounding-error.mask.rgb24.ref.png b/test/reference/rectangle-rounding-error.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6cc1b21..0000000
Binary files a/test/reference/rectangle-rounding-error.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectangle-rounding-error.ref.png b/test/reference/rectangle-rounding-error.ref.png
deleted file mode 100644 (file)
index 413345d..0000000
Binary files a/test/reference/rectangle-rounding-error.ref.png and /dev/null differ
diff --git a/test/reference/rectangle-rounding-error.rgb24.ref.png b/test/reference/rectangle-rounding-error.rgb24.ref.png
deleted file mode 100644 (file)
index 6cc1b21..0000000
Binary files a/test/reference/rectangle-rounding-error.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectangle-rounding-error.traps.argb32.ref.png b/test/reference/rectangle-rounding-error.traps.argb32.ref.png
deleted file mode 100644 (file)
index 6cc1b21..0000000
Binary files a/test/reference/rectangle-rounding-error.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectangle-rounding-error.traps.rgb24.ref.png b/test/reference/rectangle-rounding-error.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6cc1b21..0000000
Binary files a/test/reference/rectangle-rounding-error.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash-scale-unaligned.ref.png b/test/reference/rectilinear-dash-scale-unaligned.ref.png
deleted file mode 100644 (file)
index 19dbe7f..0000000
Binary files a/test/reference/rectilinear-dash-scale-unaligned.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash-scale-unaligned.traps.ref.png b/test/reference/rectilinear-dash-scale-unaligned.traps.ref.png
deleted file mode 100644 (file)
index 02abfaa..0000000
Binary files a/test/reference/rectilinear-dash-scale-unaligned.traps.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash-scale.ref.png b/test/reference/rectilinear-dash-scale.ref.png
deleted file mode 100644 (file)
index 1ab868c..0000000
Binary files a/test/reference/rectilinear-dash-scale.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.argb32.ref.png b/test/reference/rectilinear-dash.argb32.ref.png
deleted file mode 100644 (file)
index 33e7851..0000000
Binary files a/test/reference/rectilinear-dash.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.base.argb32.ref.png b/test/reference/rectilinear-dash.base.argb32.ref.png
deleted file mode 100644 (file)
index 33e7851..0000000
Binary files a/test/reference/rectilinear-dash.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.base.rgb24.ref.png b/test/reference/rectilinear-dash.base.rgb24.ref.png
deleted file mode 100644 (file)
index 33e7851..0000000
Binary files a/test/reference/rectilinear-dash.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.egl.argb32.ref.png b/test/reference/rectilinear-dash.egl.argb32.ref.png
deleted file mode 100644 (file)
index 33e7851..0000000
Binary files a/test/reference/rectilinear-dash.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.mask.argb32.ref.png b/test/reference/rectilinear-dash.mask.argb32.ref.png
deleted file mode 100644 (file)
index 33e7851..0000000
Binary files a/test/reference/rectilinear-dash.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.mask.rgb24.ref.png b/test/reference/rectilinear-dash.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 33e7851..0000000
Binary files a/test/reference/rectilinear-dash.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.quartz.xfail.png b/test/reference/rectilinear-dash.quartz.xfail.png
deleted file mode 100644 (file)
index 5101845..0000000
Binary files a/test/reference/rectilinear-dash.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.ref.png b/test/reference/rectilinear-dash.ref.png
deleted file mode 100644 (file)
index 33e7851..0000000
Binary files a/test/reference/rectilinear-dash.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.rgb24.ref.png b/test/reference/rectilinear-dash.rgb24.ref.png
deleted file mode 100644 (file)
index 33e7851..0000000
Binary files a/test/reference/rectilinear-dash.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.traps.argb32.ref.png b/test/reference/rectilinear-dash.traps.argb32.ref.png
deleted file mode 100644 (file)
index 33e7851..0000000
Binary files a/test/reference/rectilinear-dash.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-dash.traps.rgb24.ref.png b/test/reference/rectilinear-dash.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 33e7851..0000000
Binary files a/test/reference/rectilinear-dash.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-fill.argb32.ref.png b/test/reference/rectilinear-fill.argb32.ref.png
deleted file mode 100644 (file)
index dbaf383..0000000
Binary files a/test/reference/rectilinear-fill.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-fill.base.argb32.ref.png b/test/reference/rectilinear-fill.base.argb32.ref.png
deleted file mode 100644 (file)
index dbaf383..0000000
Binary files a/test/reference/rectilinear-fill.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-fill.base.rgb24.ref.png b/test/reference/rectilinear-fill.base.rgb24.ref.png
deleted file mode 100644 (file)
index dbaf383..0000000
Binary files a/test/reference/rectilinear-fill.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-fill.egl.argb32.ref.png b/test/reference/rectilinear-fill.egl.argb32.ref.png
deleted file mode 100644 (file)
index dbaf383..0000000
Binary files a/test/reference/rectilinear-fill.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-fill.mask.argb32.ref.png b/test/reference/rectilinear-fill.mask.argb32.ref.png
deleted file mode 100644 (file)
index dbaf383..0000000
Binary files a/test/reference/rectilinear-fill.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-fill.mask.rgb24.ref.png b/test/reference/rectilinear-fill.mask.rgb24.ref.png
deleted file mode 100644 (file)
index dbaf383..0000000
Binary files a/test/reference/rectilinear-fill.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-fill.ref.png b/test/reference/rectilinear-fill.ref.png
deleted file mode 100644 (file)
index 84b5967..0000000
Binary files a/test/reference/rectilinear-fill.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-fill.rgb24.ref.png b/test/reference/rectilinear-fill.rgb24.ref.png
deleted file mode 100644 (file)
index dbaf383..0000000
Binary files a/test/reference/rectilinear-fill.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-fill.traps.argb32.ref.png b/test/reference/rectilinear-fill.traps.argb32.ref.png
deleted file mode 100644 (file)
index dbaf383..0000000
Binary files a/test/reference/rectilinear-fill.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-fill.traps.rgb24.ref.png b/test/reference/rectilinear-fill.traps.rgb24.ref.png
deleted file mode 100644 (file)
index dbaf383..0000000
Binary files a/test/reference/rectilinear-fill.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.argb32.ref.png b/test/reference/rectilinear-grid.argb32.ref.png
deleted file mode 100644 (file)
index 8d47ef5..0000000
Binary files a/test/reference/rectilinear-grid.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.base.argb32.ref.png b/test/reference/rectilinear-grid.base.argb32.ref.png
deleted file mode 100644 (file)
index 7176cb4..0000000
Binary files a/test/reference/rectilinear-grid.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.base.rgb24.ref.png b/test/reference/rectilinear-grid.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7176cb4..0000000
Binary files a/test/reference/rectilinear-grid.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.egl.argb32.ref.png b/test/reference/rectilinear-grid.egl.argb32.ref.png
deleted file mode 100644 (file)
index 8d47ef5..0000000
Binary files a/test/reference/rectilinear-grid.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.image16.ref.png b/test/reference/rectilinear-grid.image16.ref.png
deleted file mode 100644 (file)
index 4d4c4da..0000000
Binary files a/test/reference/rectilinear-grid.image16.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.mask.argb32.ref.png b/test/reference/rectilinear-grid.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8d47ef5..0000000
Binary files a/test/reference/rectilinear-grid.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.mask.rgb24.ref.png b/test/reference/rectilinear-grid.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8d47ef5..0000000
Binary files a/test/reference/rectilinear-grid.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.ref.png b/test/reference/rectilinear-grid.ref.png
deleted file mode 100644 (file)
index 8d47ef5..0000000
Binary files a/test/reference/rectilinear-grid.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.rgb24.ref.png b/test/reference/rectilinear-grid.rgb24.ref.png
deleted file mode 100644 (file)
index 8d47ef5..0000000
Binary files a/test/reference/rectilinear-grid.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.traps.argb32.ref.png b/test/reference/rectilinear-grid.traps.argb32.ref.png
deleted file mode 100644 (file)
index 7176cb4..0000000
Binary files a/test/reference/rectilinear-grid.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-grid.traps.rgb24.ref.png b/test/reference/rectilinear-grid.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 7176cb4..0000000
Binary files a/test/reference/rectilinear-grid.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.argb32.ref.png b/test/reference/rectilinear-miter-limit.argb32.ref.png
deleted file mode 100644 (file)
index d64d581..0000000
Binary files a/test/reference/rectilinear-miter-limit.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.base.argb32.ref.png b/test/reference/rectilinear-miter-limit.base.argb32.ref.png
deleted file mode 100644 (file)
index ddf7570..0000000
Binary files a/test/reference/rectilinear-miter-limit.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.base.rgb24.ref.png b/test/reference/rectilinear-miter-limit.base.rgb24.ref.png
deleted file mode 100644 (file)
index ddf7570..0000000
Binary files a/test/reference/rectilinear-miter-limit.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.egl.argb32.ref.png b/test/reference/rectilinear-miter-limit.egl.argb32.ref.png
deleted file mode 100644 (file)
index d64d581..0000000
Binary files a/test/reference/rectilinear-miter-limit.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.mask.argb32.ref.png b/test/reference/rectilinear-miter-limit.mask.argb32.ref.png
deleted file mode 100644 (file)
index d64d581..0000000
Binary files a/test/reference/rectilinear-miter-limit.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.mask.rgb24.ref.png b/test/reference/rectilinear-miter-limit.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d64d581..0000000
Binary files a/test/reference/rectilinear-miter-limit.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.ps2.ref.png b/test/reference/rectilinear-miter-limit.ps2.ref.png
deleted file mode 100644 (file)
index 8213060..0000000
Binary files a/test/reference/rectilinear-miter-limit.ps2.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.ps3.ref.png b/test/reference/rectilinear-miter-limit.ps3.ref.png
deleted file mode 100644 (file)
index 8213060..0000000
Binary files a/test/reference/rectilinear-miter-limit.ps3.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.ref.png b/test/reference/rectilinear-miter-limit.ref.png
deleted file mode 100644 (file)
index 6264e3e..0000000
Binary files a/test/reference/rectilinear-miter-limit.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.rgb24.ref.png b/test/reference/rectilinear-miter-limit.rgb24.ref.png
deleted file mode 100644 (file)
index d64d581..0000000
Binary files a/test/reference/rectilinear-miter-limit.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.traps.argb32.ref.png b/test/reference/rectilinear-miter-limit.traps.argb32.ref.png
deleted file mode 100644 (file)
index ddf7570..0000000
Binary files a/test/reference/rectilinear-miter-limit.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-miter-limit.traps.rgb24.ref.png b/test/reference/rectilinear-miter-limit.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ddf7570..0000000
Binary files a/test/reference/rectilinear-miter-limit.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.argb32.ref.png b/test/reference/rectilinear-stroke.argb32.ref.png
deleted file mode 100644 (file)
index 260909b..0000000
Binary files a/test/reference/rectilinear-stroke.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.base.argb32.ref.png b/test/reference/rectilinear-stroke.base.argb32.ref.png
deleted file mode 100644 (file)
index 260909b..0000000
Binary files a/test/reference/rectilinear-stroke.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.base.rgb24.ref.png b/test/reference/rectilinear-stroke.base.rgb24.ref.png
deleted file mode 100644 (file)
index 260909b..0000000
Binary files a/test/reference/rectilinear-stroke.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.egl.argb32.ref.png b/test/reference/rectilinear-stroke.egl.argb32.ref.png
deleted file mode 100644 (file)
index 260909b..0000000
Binary files a/test/reference/rectilinear-stroke.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.mask.argb32.ref.png b/test/reference/rectilinear-stroke.mask.argb32.ref.png
deleted file mode 100644 (file)
index 260909b..0000000
Binary files a/test/reference/rectilinear-stroke.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.mask.rgb24.ref.png b/test/reference/rectilinear-stroke.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 260909b..0000000
Binary files a/test/reference/rectilinear-stroke.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.quartz.xfail.png b/test/reference/rectilinear-stroke.quartz.xfail.png
deleted file mode 100644 (file)
index e2a508e..0000000
Binary files a/test/reference/rectilinear-stroke.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.ref.png b/test/reference/rectilinear-stroke.ref.png
deleted file mode 100644 (file)
index 0a40b0d..0000000
Binary files a/test/reference/rectilinear-stroke.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.rgb24.ref.png b/test/reference/rectilinear-stroke.rgb24.ref.png
deleted file mode 100644 (file)
index 260909b..0000000
Binary files a/test/reference/rectilinear-stroke.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.traps.argb32.ref.png b/test/reference/rectilinear-stroke.traps.argb32.ref.png
deleted file mode 100644 (file)
index 260909b..0000000
Binary files a/test/reference/rectilinear-stroke.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rectilinear-stroke.traps.rgb24.ref.png b/test/reference/rectilinear-stroke.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 260909b..0000000
Binary files a/test/reference/rectilinear-stroke.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.argb32.ref.png b/test/reference/reflected-stroke.argb32.ref.png
deleted file mode 100644 (file)
index 9a7d6bc..0000000
Binary files a/test/reference/reflected-stroke.argb32.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.base.argb32.ref.png b/test/reference/reflected-stroke.base.argb32.ref.png
deleted file mode 100644 (file)
index c7112d2..0000000
Binary files a/test/reference/reflected-stroke.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.base.rgb24.ref.png b/test/reference/reflected-stroke.base.rgb24.ref.png
deleted file mode 100644 (file)
index c7112d2..0000000
Binary files a/test/reference/reflected-stroke.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.egl.argb32.ref.png b/test/reference/reflected-stroke.egl.argb32.ref.png
deleted file mode 100644 (file)
index b48bcc2..0000000
Binary files a/test/reference/reflected-stroke.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.image16.ref.png b/test/reference/reflected-stroke.image16.ref.png
deleted file mode 100644 (file)
index ab12737..0000000
Binary files a/test/reference/reflected-stroke.image16.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.mask.argb32.ref.png b/test/reference/reflected-stroke.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9a7d6bc..0000000
Binary files a/test/reference/reflected-stroke.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.mask.rgb24.ref.png b/test/reference/reflected-stroke.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9a7d6bc..0000000
Binary files a/test/reference/reflected-stroke.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.ps.ref.png b/test/reference/reflected-stroke.ps.ref.png
deleted file mode 100644 (file)
index 5a28eef..0000000
Binary files a/test/reference/reflected-stroke.ps.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.ref.png b/test/reference/reflected-stroke.ref.png
deleted file mode 100644 (file)
index d8c9c03..0000000
Binary files a/test/reference/reflected-stroke.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.rgb24.ref.png b/test/reference/reflected-stroke.rgb24.ref.png
deleted file mode 100644 (file)
index 9a7d6bc..0000000
Binary files a/test/reference/reflected-stroke.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.traps.argb32.ref.png b/test/reference/reflected-stroke.traps.argb32.ref.png
deleted file mode 100644 (file)
index c7112d2..0000000
Binary files a/test/reference/reflected-stroke.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/reflected-stroke.traps.rgb24.ref.png b/test/reference/reflected-stroke.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c7112d2..0000000
Binary files a/test/reference/reflected-stroke.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.argb32.ref.png b/test/reference/rel-path.argb32.ref.png
deleted file mode 100644 (file)
index 67fe178..0000000
Binary files a/test/reference/rel-path.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.base.argb32.ref.png b/test/reference/rel-path.base.argb32.ref.png
deleted file mode 100644 (file)
index 5c9cf21..0000000
Binary files a/test/reference/rel-path.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.base.rgb24.ref.png b/test/reference/rel-path.base.rgb24.ref.png
deleted file mode 100644 (file)
index 72e975a..0000000
Binary files a/test/reference/rel-path.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.egl.argb32.ref.png b/test/reference/rel-path.egl.argb32.ref.png
deleted file mode 100644 (file)
index b2848bf..0000000
Binary files a/test/reference/rel-path.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.mask.argb32.ref.png b/test/reference/rel-path.mask.argb32.ref.png
deleted file mode 100644 (file)
index 67fe178..0000000
Binary files a/test/reference/rel-path.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.mask.rgb24.ref.png b/test/reference/rel-path.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 78d8a08..0000000
Binary files a/test/reference/rel-path.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.ps2.rgb24.ref.png b/test/reference/rel-path.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index ccdcebb..0000000
Binary files a/test/reference/rel-path.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.ps3.rgb24.ref.png b/test/reference/rel-path.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index ccdcebb..0000000
Binary files a/test/reference/rel-path.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.ref.png b/test/reference/rel-path.ref.png
deleted file mode 100644 (file)
index 6376cec..0000000
Binary files a/test/reference/rel-path.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.rgb24.ref.png b/test/reference/rel-path.rgb24.ref.png
deleted file mode 100644 (file)
index 78d8a08..0000000
Binary files a/test/reference/rel-path.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.traps.argb32.ref.png b/test/reference/rel-path.traps.argb32.ref.png
deleted file mode 100644 (file)
index 5c9cf21..0000000
Binary files a/test/reference/rel-path.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rel-path.traps.rgb24.ref.png b/test/reference/rel-path.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 72e975a..0000000
Binary files a/test/reference/rel-path.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rgb24-ignore-alpha.argb32.ref.png b/test/reference/rgb24-ignore-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 922eddd..0000000
Binary files a/test/reference/rgb24-ignore-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rgb24-ignore-alpha.base.argb32.ref.png b/test/reference/rgb24-ignore-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 922eddd..0000000
Binary files a/test/reference/rgb24-ignore-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rgb24-ignore-alpha.base.rgb24.ref.png b/test/reference/rgb24-ignore-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 922eddd..0000000
Binary files a/test/reference/rgb24-ignore-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rgb24-ignore-alpha.egl.argb32.ref.png b/test/reference/rgb24-ignore-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 21465ce..0000000
Binary files a/test/reference/rgb24-ignore-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rgb24-ignore-alpha.mask.argb32.ref.png b/test/reference/rgb24-ignore-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 922eddd..0000000
Binary files a/test/reference/rgb24-ignore-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rgb24-ignore-alpha.mask.rgb24.ref.png b/test/reference/rgb24-ignore-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 922eddd..0000000
Binary files a/test/reference/rgb24-ignore-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rgb24-ignore-alpha.ref.png b/test/reference/rgb24-ignore-alpha.ref.png
deleted file mode 100644 (file)
index ab1d8fa..0000000
Binary files a/test/reference/rgb24-ignore-alpha.ref.png and /dev/null differ
diff --git a/test/reference/rgb24-ignore-alpha.rgb24.ref.png b/test/reference/rgb24-ignore-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 922eddd..0000000
Binary files a/test/reference/rgb24-ignore-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rgb24-ignore-alpha.traps.argb32.ref.png b/test/reference/rgb24-ignore-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 922eddd..0000000
Binary files a/test/reference/rgb24-ignore-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rgb24-ignore-alpha.traps.rgb24.ref.png b/test/reference/rgb24-ignore-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 922eddd..0000000
Binary files a/test/reference/rgb24-ignore-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.argb32.ref.png b/test/reference/rotate-clip-image-surface-paint.argb32.ref.png
deleted file mode 100644 (file)
index 7f74b2b..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.base.argb32.ref.png b/test/reference/rotate-clip-image-surface-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 7f74b2b..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.base.rgb24.ref.png b/test/reference/rotate-clip-image-surface-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7f74b2b..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.egl.argb32.ref.png b/test/reference/rotate-clip-image-surface-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index beedcc2..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.mask.argb32.ref.png b/test/reference/rotate-clip-image-surface-paint.mask.argb32.ref.png
deleted file mode 100644 (file)
index 7f74b2b..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.mask.rgb24.ref.png b/test/reference/rotate-clip-image-surface-paint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 7f74b2b..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.ref.png b/test/reference/rotate-clip-image-surface-paint.ref.png
deleted file mode 100644 (file)
index 1118adf..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.rgb24.ref.png b/test/reference/rotate-clip-image-surface-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 7f74b2b..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.traps.argb32.ref.png b/test/reference/rotate-clip-image-surface-paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9d991d9..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.traps.rgb24.ref.png b/test/reference/rotate-clip-image-surface-paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 9d991d9..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.xlib-fallback.rgb24.ref.png b/test/reference/rotate-clip-image-surface-paint.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 9d991d9..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-clip-image-surface-paint.xlib-window.rgb24.ref.png b/test/reference/rotate-clip-image-surface-paint.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 9d991d9..0000000
Binary files a/test/reference/rotate-clip-image-surface-paint.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.argb32.ref.png b/test/reference/rotate-image-surface-paint.argb32.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.base.argb32.ref.png b/test/reference/rotate-image-surface-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.base.rgb24.ref.png b/test/reference/rotate-image-surface-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.egl.argb32.ref.png b/test/reference/rotate-image-surface-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1c42bf4..0000000
Binary files a/test/reference/rotate-image-surface-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.mask.argb32.ref.png b/test/reference/rotate-image-surface-paint.mask.argb32.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.mask.rgb24.ref.png b/test/reference/rotate-image-surface-paint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.pdf.xfail.png b/test/reference/rotate-image-surface-paint.pdf.xfail.png
deleted file mode 100644 (file)
index e1892e5..0000000
Binary files a/test/reference/rotate-image-surface-paint.pdf.xfail.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.ps.ref.png b/test/reference/rotate-image-surface-paint.ps.ref.png
deleted file mode 100644 (file)
index 4e46364..0000000
Binary files a/test/reference/rotate-image-surface-paint.ps.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.quartz.ref.png b/test/reference/rotate-image-surface-paint.quartz.ref.png
deleted file mode 100644 (file)
index a716b63..0000000
Binary files a/test/reference/rotate-image-surface-paint.quartz.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.ref.png b/test/reference/rotate-image-surface-paint.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.rgb24.ref.png b/test/reference/rotate-image-surface-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.svg.ref.png b/test/reference/rotate-image-surface-paint.svg.ref.png
deleted file mode 100644 (file)
index e0db245..0000000
Binary files a/test/reference/rotate-image-surface-paint.svg.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.svg.xfail.png b/test/reference/rotate-image-surface-paint.svg.xfail.png
deleted file mode 100644 (file)
index 4040784..0000000
Binary files a/test/reference/rotate-image-surface-paint.svg.xfail.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.traps.argb32.ref.png b/test/reference/rotate-image-surface-paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.traps.rgb24.ref.png b/test/reference/rotate-image-surface-paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.xlib-fallback.rgb24.ref.png b/test/reference/rotate-image-surface-paint.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotate-image-surface-paint.xlib-window.rgb24.ref.png b/test/reference/rotate-image-surface-paint.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 06a4820..0000000
Binary files a/test/reference/rotate-image-surface-paint.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.argb32.ref.png b/test/reference/rotated-clip.argb32.ref.png
deleted file mode 100644 (file)
index dd6cd5f..0000000
Binary files a/test/reference/rotated-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.base.argb32.ref.png b/test/reference/rotated-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index e553a13..0000000
Binary files a/test/reference/rotated-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.base.rgb24.ref.png b/test/reference/rotated-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index e553a13..0000000
Binary files a/test/reference/rotated-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.egl.argb32.ref.png b/test/reference/rotated-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index be68773..0000000
Binary files a/test/reference/rotated-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.image16.ref.png b/test/reference/rotated-clip.image16.ref.png
deleted file mode 100644 (file)
index 26d9a1a..0000000
Binary files a/test/reference/rotated-clip.image16.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.mask.argb32.ref.png b/test/reference/rotated-clip.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8168f9d..0000000
Binary files a/test/reference/rotated-clip.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.mask.rgb24.ref.png b/test/reference/rotated-clip.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8168f9d..0000000
Binary files a/test/reference/rotated-clip.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.ps.ref.png b/test/reference/rotated-clip.ps.ref.png
deleted file mode 100644 (file)
index a2a0ace..0000000
Binary files a/test/reference/rotated-clip.ps.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.quartz.ref.png b/test/reference/rotated-clip.quartz.ref.png
deleted file mode 100644 (file)
index 6282846..0000000
Binary files a/test/reference/rotated-clip.quartz.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.ref.png b/test/reference/rotated-clip.ref.png
deleted file mode 100644 (file)
index 7f3981c..0000000
Binary files a/test/reference/rotated-clip.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.rgb24.ref.png b/test/reference/rotated-clip.rgb24.ref.png
deleted file mode 100644 (file)
index dd6cd5f..0000000
Binary files a/test/reference/rotated-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.traps.argb32.ref.png b/test/reference/rotated-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index ca0f0af..0000000
Binary files a/test/reference/rotated-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.traps.rgb24.ref.png b/test/reference/rotated-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ca0f0af..0000000
Binary files a/test/reference/rotated-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.argb32.ref.png b/test/reference/rounded-rectangle-fill.argb32.ref.png
deleted file mode 100644 (file)
index 3232c07..0000000
Binary files a/test/reference/rounded-rectangle-fill.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.base.argb32.ref.png b/test/reference/rounded-rectangle-fill.base.argb32.ref.png
deleted file mode 100644 (file)
index 52a355d..0000000
Binary files a/test/reference/rounded-rectangle-fill.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.base.rgb24.ref.png b/test/reference/rounded-rectangle-fill.base.rgb24.ref.png
deleted file mode 100644 (file)
index 52a355d..0000000
Binary files a/test/reference/rounded-rectangle-fill.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.egl.argb32.ref.png b/test/reference/rounded-rectangle-fill.egl.argb32.ref.png
deleted file mode 100644 (file)
index 9426263..0000000
Binary files a/test/reference/rounded-rectangle-fill.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.image16.ref.png b/test/reference/rounded-rectangle-fill.image16.ref.png
deleted file mode 100644 (file)
index 0739e5d..0000000
Binary files a/test/reference/rounded-rectangle-fill.image16.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.mask.argb32.ref.png b/test/reference/rounded-rectangle-fill.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3232c07..0000000
Binary files a/test/reference/rounded-rectangle-fill.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.mask.rgb24.ref.png b/test/reference/rounded-rectangle-fill.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3232c07..0000000
Binary files a/test/reference/rounded-rectangle-fill.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.ps.ref.png b/test/reference/rounded-rectangle-fill.ps.ref.png
deleted file mode 100644 (file)
index 215ad3a..0000000
Binary files a/test/reference/rounded-rectangle-fill.ps.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.quartz.ref.png b/test/reference/rounded-rectangle-fill.quartz.ref.png
deleted file mode 100644 (file)
index ee685ca..0000000
Binary files a/test/reference/rounded-rectangle-fill.quartz.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.ref.png b/test/reference/rounded-rectangle-fill.ref.png
deleted file mode 100644 (file)
index 36e74dd..0000000
Binary files a/test/reference/rounded-rectangle-fill.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.rgb24.ref.png b/test/reference/rounded-rectangle-fill.rgb24.ref.png
deleted file mode 100644 (file)
index 3232c07..0000000
Binary files a/test/reference/rounded-rectangle-fill.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.traps.argb32.ref.png b/test/reference/rounded-rectangle-fill.traps.argb32.ref.png
deleted file mode 100644 (file)
index 52a355d..0000000
Binary files a/test/reference/rounded-rectangle-fill.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.traps.rgb24.ref.png b/test/reference/rounded-rectangle-fill.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 52a355d..0000000
Binary files a/test/reference/rounded-rectangle-fill.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.argb32.ref.png b/test/reference/rounded-rectangle-stroke.argb32.ref.png
deleted file mode 100644 (file)
index 3f2a1fb..0000000
Binary files a/test/reference/rounded-rectangle-stroke.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.base.argb32.ref.png b/test/reference/rounded-rectangle-stroke.base.argb32.ref.png
deleted file mode 100644 (file)
index 02651dc..0000000
Binary files a/test/reference/rounded-rectangle-stroke.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.base.rgb24.ref.png b/test/reference/rounded-rectangle-stroke.base.rgb24.ref.png
deleted file mode 100644 (file)
index 02651dc..0000000
Binary files a/test/reference/rounded-rectangle-stroke.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.egl.argb32.ref.png b/test/reference/rounded-rectangle-stroke.egl.argb32.ref.png
deleted file mode 100644 (file)
index 5a41dd4..0000000
Binary files a/test/reference/rounded-rectangle-stroke.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.image16.ref.png b/test/reference/rounded-rectangle-stroke.image16.ref.png
deleted file mode 100644 (file)
index f32a2e0..0000000
Binary files a/test/reference/rounded-rectangle-stroke.image16.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.mask.argb32.ref.png b/test/reference/rounded-rectangle-stroke.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3f2a1fb..0000000
Binary files a/test/reference/rounded-rectangle-stroke.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.mask.rgb24.ref.png b/test/reference/rounded-rectangle-stroke.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3f2a1fb..0000000
Binary files a/test/reference/rounded-rectangle-stroke.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.ps.ref.png b/test/reference/rounded-rectangle-stroke.ps.ref.png
deleted file mode 100644 (file)
index dd5fc97..0000000
Binary files a/test/reference/rounded-rectangle-stroke.ps.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.ref.png b/test/reference/rounded-rectangle-stroke.ref.png
deleted file mode 100644 (file)
index b0f1b07..0000000
Binary files a/test/reference/rounded-rectangle-stroke.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.rgb24.ref.png b/test/reference/rounded-rectangle-stroke.rgb24.ref.png
deleted file mode 100644 (file)
index 3f2a1fb..0000000
Binary files a/test/reference/rounded-rectangle-stroke.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.traps.argb32.ref.png b/test/reference/rounded-rectangle-stroke.traps.argb32.ref.png
deleted file mode 100644 (file)
index 02651dc..0000000
Binary files a/test/reference/rounded-rectangle-stroke.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.traps.rgb24.ref.png b/test/reference/rounded-rectangle-stroke.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 02651dc..0000000
Binary files a/test/reference/rounded-rectangle-stroke.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-down-source-surface-paint.argb32.ref.png b/test/reference/scale-down-source-surface-paint.argb32.ref.png
deleted file mode 100644 (file)
index 7477094..0000000
Binary files a/test/reference/scale-down-source-surface-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-down-source-surface-paint.base.argb32.ref.png b/test/reference/scale-down-source-surface-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 7477094..0000000
Binary files a/test/reference/scale-down-source-surface-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-down-source-surface-paint.base.rgb24.ref.png b/test/reference/scale-down-source-surface-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 7477094..0000000
Binary files a/test/reference/scale-down-source-surface-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-down-source-surface-paint.egl.argb32.ref.png b/test/reference/scale-down-source-surface-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index 7477094..0000000
Binary files a/test/reference/scale-down-source-surface-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-down-source-surface-paint.mask.argb32.ref.png b/test/reference/scale-down-source-surface-paint.mask.argb32.ref.png
deleted file mode 100644 (file)
index 7477094..0000000
Binary files a/test/reference/scale-down-source-surface-paint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-down-source-surface-paint.mask.rgb24.ref.png b/test/reference/scale-down-source-surface-paint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 7477094..0000000
Binary files a/test/reference/scale-down-source-surface-paint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-down-source-surface-paint.ref.png b/test/reference/scale-down-source-surface-paint.ref.png
deleted file mode 100644 (file)
index 5c969d2..0000000
Binary files a/test/reference/scale-down-source-surface-paint.ref.png and /dev/null differ
diff --git a/test/reference/scale-down-source-surface-paint.rgb24.ref.png b/test/reference/scale-down-source-surface-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 7477094..0000000
Binary files a/test/reference/scale-down-source-surface-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-down-source-surface-paint.traps.argb32.ref.png b/test/reference/scale-down-source-surface-paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 7477094..0000000
Binary files a/test/reference/scale-down-source-surface-paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-down-source-surface-paint.traps.rgb24.ref.png b/test/reference/scale-down-source-surface-paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 7477094..0000000
Binary files a/test/reference/scale-down-source-surface-paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.argb32.ref.png b/test/reference/scale-offset-image.argb32.ref.png
deleted file mode 100644 (file)
index ab1ced8..0000000
Binary files a/test/reference/scale-offset-image.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.base.argb32.ref.png b/test/reference/scale-offset-image.base.argb32.ref.png
deleted file mode 100644 (file)
index 19cd614..0000000
Binary files a/test/reference/scale-offset-image.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.base.rgb24.ref.png b/test/reference/scale-offset-image.base.rgb24.ref.png
deleted file mode 100644 (file)
index 19cd614..0000000
Binary files a/test/reference/scale-offset-image.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.egl.argb32.ref.png b/test/reference/scale-offset-image.egl.argb32.ref.png
deleted file mode 100644 (file)
index 56d2b58..0000000
Binary files a/test/reference/scale-offset-image.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.gl.ref.png b/test/reference/scale-offset-image.gl.ref.png
deleted file mode 100644 (file)
index d2a845c..0000000
Binary files a/test/reference/scale-offset-image.gl.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.image16.ref.png b/test/reference/scale-offset-image.image16.ref.png
deleted file mode 100644 (file)
index e67949d..0000000
Binary files a/test/reference/scale-offset-image.image16.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.mask.argb32.ref.png b/test/reference/scale-offset-image.mask.argb32.ref.png
deleted file mode 100644 (file)
index ab1ced8..0000000
Binary files a/test/reference/scale-offset-image.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.mask.rgb24.ref.png b/test/reference/scale-offset-image.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ab1ced8..0000000
Binary files a/test/reference/scale-offset-image.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.pdf.argb32.ref.png b/test/reference/scale-offset-image.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 74abfae..0000000
Binary files a/test/reference/scale-offset-image.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.pdf.rgb24.ref.png b/test/reference/scale-offset-image.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index 74abfae..0000000
Binary files a/test/reference/scale-offset-image.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.ps.ref.png b/test/reference/scale-offset-image.ps.ref.png
deleted file mode 100644 (file)
index 19941f0..0000000
Binary files a/test/reference/scale-offset-image.ps.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.quartz.ref.png b/test/reference/scale-offset-image.quartz.ref.png
deleted file mode 100644 (file)
index f7a5e72..0000000
Binary files a/test/reference/scale-offset-image.quartz.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.ref.png b/test/reference/scale-offset-image.ref.png
deleted file mode 100644 (file)
index 1e216e5..0000000
Binary files a/test/reference/scale-offset-image.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.rgb24.ref.png b/test/reference/scale-offset-image.rgb24.ref.png
deleted file mode 100644 (file)
index ab1ced8..0000000
Binary files a/test/reference/scale-offset-image.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.script.xfail.png b/test/reference/scale-offset-image.script.xfail.png
deleted file mode 100644 (file)
index b89bb66..0000000
Binary files a/test/reference/scale-offset-image.script.xfail.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.traps.argb32.ref.png b/test/reference/scale-offset-image.traps.argb32.ref.png
deleted file mode 100644 (file)
index 19cd614..0000000
Binary files a/test/reference/scale-offset-image.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.traps.rgb24.ref.png b/test/reference/scale-offset-image.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 19cd614..0000000
Binary files a/test/reference/scale-offset-image.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.xfail.png b/test/reference/scale-offset-image.xfail.png
deleted file mode 100644 (file)
index f0db601..0000000
Binary files a/test/reference/scale-offset-image.xfail.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.xlib-fallback.xfail.png b/test/reference/scale-offset-image.xlib-fallback.xfail.png
deleted file mode 100644 (file)
index 3e09d6f..0000000
Binary files a/test/reference/scale-offset-image.xlib-fallback.xfail.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.argb32.ref.png b/test/reference/scale-offset-similar.argb32.ref.png
deleted file mode 100644 (file)
index ab1ced8..0000000
Binary files a/test/reference/scale-offset-similar.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.base.argb32.ref.png b/test/reference/scale-offset-similar.base.argb32.ref.png
deleted file mode 100644 (file)
index 19cd614..0000000
Binary files a/test/reference/scale-offset-similar.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.base.rgb24.ref.png b/test/reference/scale-offset-similar.base.rgb24.ref.png
deleted file mode 100644 (file)
index 19cd614..0000000
Binary files a/test/reference/scale-offset-similar.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.egl.argb32.ref.png b/test/reference/scale-offset-similar.egl.argb32.ref.png
deleted file mode 100644 (file)
index 942023a..0000000
Binary files a/test/reference/scale-offset-similar.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.gl.ref.png b/test/reference/scale-offset-similar.gl.ref.png
deleted file mode 100644 (file)
index d2a845c..0000000
Binary files a/test/reference/scale-offset-similar.gl.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.image16.ref.png b/test/reference/scale-offset-similar.image16.ref.png
deleted file mode 100644 (file)
index e67949d..0000000
Binary files a/test/reference/scale-offset-similar.image16.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.mask.argb32.ref.png b/test/reference/scale-offset-similar.mask.argb32.ref.png
deleted file mode 100644 (file)
index ab1ced8..0000000
Binary files a/test/reference/scale-offset-similar.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.mask.rgb24.ref.png b/test/reference/scale-offset-similar.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ab1ced8..0000000
Binary files a/test/reference/scale-offset-similar.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.pdf.argb32.ref.png b/test/reference/scale-offset-similar.pdf.argb32.ref.png
deleted file mode 100644 (file)
index c1e2765..0000000
Binary files a/test/reference/scale-offset-similar.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.pdf.rgb24.ref.png b/test/reference/scale-offset-similar.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index c1e2765..0000000
Binary files a/test/reference/scale-offset-similar.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.ps.ref.png b/test/reference/scale-offset-similar.ps.ref.png
deleted file mode 100644 (file)
index 8c10d30..0000000
Binary files a/test/reference/scale-offset-similar.ps.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.quartz.ref.png b/test/reference/scale-offset-similar.quartz.ref.png
deleted file mode 100644 (file)
index f7a5e72..0000000
Binary files a/test/reference/scale-offset-similar.quartz.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.recording.xfail.png b/test/reference/scale-offset-similar.recording.xfail.png
deleted file mode 100644 (file)
index 0f2553e..0000000
Binary files a/test/reference/scale-offset-similar.recording.xfail.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.ref.png b/test/reference/scale-offset-similar.ref.png
deleted file mode 100644 (file)
index 1e216e5..0000000
Binary files a/test/reference/scale-offset-similar.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.rgb24.ref.png b/test/reference/scale-offset-similar.rgb24.ref.png
deleted file mode 100644 (file)
index ab1ced8..0000000
Binary files a/test/reference/scale-offset-similar.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.script.xfail.png b/test/reference/scale-offset-similar.script.xfail.png
deleted file mode 100644 (file)
index b89bb66..0000000
Binary files a/test/reference/scale-offset-similar.script.xfail.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.traps.argb32.ref.png b/test/reference/scale-offset-similar.traps.argb32.ref.png
deleted file mode 100644 (file)
index 19cd614..0000000
Binary files a/test/reference/scale-offset-similar.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.traps.rgb24.ref.png b/test/reference/scale-offset-similar.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 19cd614..0000000
Binary files a/test/reference/scale-offset-similar.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.xfail.png b/test/reference/scale-offset-similar.xfail.png
deleted file mode 100644 (file)
index f0db601..0000000
Binary files a/test/reference/scale-offset-similar.xfail.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.xlib-fallback.xfail.png b/test/reference/scale-offset-similar.xlib-fallback.xfail.png
deleted file mode 100644 (file)
index 3e09d6f..0000000
Binary files a/test/reference/scale-offset-similar.xlib-fallback.xfail.png and /dev/null differ
diff --git a/test/reference/scale-offset-similar.xlib.xfail.png b/test/reference/scale-offset-similar.xlib.xfail.png
deleted file mode 100644 (file)
index eb48516..0000000
Binary files a/test/reference/scale-offset-similar.xlib.xfail.png and /dev/null differ
diff --git a/test/reference/scale-offset-xlib-fallback.rgb24.ref.png b/test/reference/scale-offset-xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index dbb1225..0000000
Binary files a/test/reference/scale-offset-xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-xlib-window.rgb24.ref.png b/test/reference/scale-offset-xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index dbb1225..0000000
Binary files a/test/reference/scale-offset-xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-xlib.argb32.ref.png b/test/reference/scale-offset-xlib.argb32.ref.png
deleted file mode 100644 (file)
index dbb1225..0000000
Binary files a/test/reference/scale-offset-xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-xlib.rgb24.ref.png b/test/reference/scale-offset-xlib.rgb24.ref.png
deleted file mode 100644 (file)
index dbb1225..0000000
Binary files a/test/reference/scale-offset-xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.argb32.ref.png b/test/reference/scale-source-surface-paint.argb32.ref.png
deleted file mode 100644 (file)
index e159d15..0000000
Binary files a/test/reference/scale-source-surface-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.base.argb32.ref.png b/test/reference/scale-source-surface-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index e159d15..0000000
Binary files a/test/reference/scale-source-surface-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.base.rgb24.ref.png b/test/reference/scale-source-surface-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3491a7c..0000000
Binary files a/test/reference/scale-source-surface-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.egl.argb32.ref.png b/test/reference/scale-source-surface-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index e159d15..0000000
Binary files a/test/reference/scale-source-surface-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.mask.argb32.ref.png b/test/reference/scale-source-surface-paint.mask.argb32.ref.png
deleted file mode 100644 (file)
index e159d15..0000000
Binary files a/test/reference/scale-source-surface-paint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.mask.rgb24.ref.png b/test/reference/scale-source-surface-paint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3491a7c..0000000
Binary files a/test/reference/scale-source-surface-paint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.pdf.argb32.xfail.png b/test/reference/scale-source-surface-paint.pdf.argb32.xfail.png
deleted file mode 100644 (file)
index 7ecac17..0000000
Binary files a/test/reference/scale-source-surface-paint.pdf.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.pdf.rgb24.xfail.png b/test/reference/scale-source-surface-paint.pdf.rgb24.xfail.png
deleted file mode 100644 (file)
index fa1291f..0000000
Binary files a/test/reference/scale-source-surface-paint.pdf.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.ref.png b/test/reference/scale-source-surface-paint.ref.png
deleted file mode 100644 (file)
index ec3c059..0000000
Binary files a/test/reference/scale-source-surface-paint.ref.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.rgb24.ref.png b/test/reference/scale-source-surface-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 3491a7c..0000000
Binary files a/test/reference/scale-source-surface-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.svg.argb32.xfail.png b/test/reference/scale-source-surface-paint.svg.argb32.xfail.png
deleted file mode 100644 (file)
index ed946d4..0000000
Binary files a/test/reference/scale-source-surface-paint.svg.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.svg.rgb24.xfail.png b/test/reference/scale-source-surface-paint.svg.rgb24.xfail.png
deleted file mode 100644 (file)
index 7d065d4..0000000
Binary files a/test/reference/scale-source-surface-paint.svg.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.traps.argb32.ref.png b/test/reference/scale-source-surface-paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index e159d15..0000000
Binary files a/test/reference/scale-source-surface-paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/scale-source-surface-paint.traps.rgb24.ref.png b/test/reference/scale-source-surface-paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3491a7c..0000000
Binary files a/test/reference/scale-source-surface-paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.argb32.ref.png b/test/reference/select-font-face.argb32.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/select-font-face.argb32.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.base.argb32.ref.png b/test/reference/select-font-face.base.argb32.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/select-font-face.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.base.rgb24.ref.png b/test/reference/select-font-face.base.rgb24.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/select-font-face.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.image16.ref.png b/test/reference/select-font-face.image16.ref.png
deleted file mode 100644 (file)
index 2c3191c..0000000
Binary files a/test/reference/select-font-face.image16.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.mask.argb32.ref.png b/test/reference/select-font-face.mask.argb32.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/select-font-face.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.mask.rgb24.ref.png b/test/reference/select-font-face.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/select-font-face.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.ps2.ref.png b/test/reference/select-font-face.ps2.ref.png
deleted file mode 100644 (file)
index 6c2f361..0000000
Binary files a/test/reference/select-font-face.ps2.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.ps3.ref.png b/test/reference/select-font-face.ps3.ref.png
deleted file mode 100644 (file)
index 6c2f361..0000000
Binary files a/test/reference/select-font-face.ps3.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.quartz.ref.png b/test/reference/select-font-face.quartz.ref.png
deleted file mode 100644 (file)
index 69fd2e2..0000000
Binary files a/test/reference/select-font-face.quartz.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.ref.png b/test/reference/select-font-face.ref.png
deleted file mode 100644 (file)
index be89d71..0000000
Binary files a/test/reference/select-font-face.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.rgb24.ref.png b/test/reference/select-font-face.rgb24.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/select-font-face.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.traps.argb32.ref.png b/test/reference/select-font-face.traps.argb32.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/select-font-face.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.traps.ref.png b/test/reference/select-font-face.traps.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/select-font-face.traps.ref.png and /dev/null differ
diff --git a/test/reference/select-font-face.traps.rgb24.ref.png b/test/reference/select-font-face.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 1334a9a..0000000
Binary files a/test/reference/select-font-face.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-copy-overlap.base.argb32.ref.png b/test/reference/self-copy-overlap.base.argb32.ref.png
deleted file mode 100644 (file)
index a70e819..0000000
Binary files a/test/reference/self-copy-overlap.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-copy-overlap.base.rgb24.ref.png b/test/reference/self-copy-overlap.base.rgb24.ref.png
deleted file mode 100644 (file)
index e9cd7b5..0000000
Binary files a/test/reference/self-copy-overlap.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-copy-overlap.egl.argb32.ref.png b/test/reference/self-copy-overlap.egl.argb32.ref.png
deleted file mode 100644 (file)
index f307bf0..0000000
Binary files a/test/reference/self-copy-overlap.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-copy-overlap.mask.argb32.ref.png b/test/reference/self-copy-overlap.mask.argb32.ref.png
deleted file mode 100644 (file)
index a70e819..0000000
Binary files a/test/reference/self-copy-overlap.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-copy-overlap.mask.rgb24.ref.png b/test/reference/self-copy-overlap.mask.rgb24.ref.png
deleted file mode 100644 (file)
index e9cd7b5..0000000
Binary files a/test/reference/self-copy-overlap.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-copy-overlap.traps.argb32.ref.png b/test/reference/self-copy-overlap.traps.argb32.ref.png
deleted file mode 100644 (file)
index a70e819..0000000
Binary files a/test/reference/self-copy-overlap.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-copy-overlap.traps.rgb24.ref.png b/test/reference/self-copy-overlap.traps.rgb24.ref.png
deleted file mode 100644 (file)
index e9cd7b5..0000000
Binary files a/test/reference/self-copy-overlap.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.argb32.ref.png b/test/reference/self-copy.argb32.ref.png
deleted file mode 100644 (file)
index d8221d8..0000000
Binary files a/test/reference/self-copy.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.base.argb32.ref.png b/test/reference/self-copy.base.argb32.ref.png
deleted file mode 100644 (file)
index daa4dcb..0000000
Binary files a/test/reference/self-copy.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.base.rgb24.ref.png b/test/reference/self-copy.base.rgb24.ref.png
deleted file mode 100644 (file)
index daa4dcb..0000000
Binary files a/test/reference/self-copy.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.egl.argb32.ref.png b/test/reference/self-copy.egl.argb32.ref.png
deleted file mode 100644 (file)
index d8221d8..0000000
Binary files a/test/reference/self-copy.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.mask.argb32.ref.png b/test/reference/self-copy.mask.argb32.ref.png
deleted file mode 100644 (file)
index d8221d8..0000000
Binary files a/test/reference/self-copy.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.mask.rgb24.ref.png b/test/reference/self-copy.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d8221d8..0000000
Binary files a/test/reference/self-copy.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.ps2.ref.png b/test/reference/self-copy.ps2.ref.png
deleted file mode 100644 (file)
index 5c9dd57..0000000
Binary files a/test/reference/self-copy.ps2.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.ps3.ref.png b/test/reference/self-copy.ps3.ref.png
deleted file mode 100644 (file)
index 5c9dd57..0000000
Binary files a/test/reference/self-copy.ps3.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.ref.png b/test/reference/self-copy.ref.png
deleted file mode 100644 (file)
index e6baaa5..0000000
Binary files a/test/reference/self-copy.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.rgb24.ref.png b/test/reference/self-copy.rgb24.ref.png
deleted file mode 100644 (file)
index d8221d8..0000000
Binary files a/test/reference/self-copy.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.traps.argb32.ref.png b/test/reference/self-copy.traps.argb32.ref.png
deleted file mode 100644 (file)
index daa4dcb..0000000
Binary files a/test/reference/self-copy.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-copy.traps.rgb24.ref.png b/test/reference/self-copy.traps.rgb24.ref.png
deleted file mode 100644 (file)
index daa4dcb..0000000
Binary files a/test/reference/self-copy.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.argb32.ref.png b/test/reference/self-intersecting.argb32.ref.png
deleted file mode 100644 (file)
index d554d83..0000000
Binary files a/test/reference/self-intersecting.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.base.argb32.ref.png b/test/reference/self-intersecting.base.argb32.ref.png
deleted file mode 100644 (file)
index f0068e6..0000000
Binary files a/test/reference/self-intersecting.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.base.rgb24.ref.png b/test/reference/self-intersecting.base.rgb24.ref.png
deleted file mode 100644 (file)
index f0068e6..0000000
Binary files a/test/reference/self-intersecting.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.egl.argb32.ref.png b/test/reference/self-intersecting.egl.argb32.ref.png
deleted file mode 100644 (file)
index d554d83..0000000
Binary files a/test/reference/self-intersecting.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.mask.argb32.ref.png b/test/reference/self-intersecting.mask.argb32.ref.png
deleted file mode 100644 (file)
index d554d83..0000000
Binary files a/test/reference/self-intersecting.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.mask.rgb24.ref.png b/test/reference/self-intersecting.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d554d83..0000000
Binary files a/test/reference/self-intersecting.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.ps.ref.png b/test/reference/self-intersecting.ps.ref.png
deleted file mode 100644 (file)
index 84fde01..0000000
Binary files a/test/reference/self-intersecting.ps.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.quartz.xfail.png b/test/reference/self-intersecting.quartz.xfail.png
deleted file mode 100644 (file)
index 4d08713..0000000
Binary files a/test/reference/self-intersecting.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/self-intersecting.ref.png b/test/reference/self-intersecting.ref.png
deleted file mode 100644 (file)
index d554d83..0000000
Binary files a/test/reference/self-intersecting.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.rgb24.ref.png b/test/reference/self-intersecting.rgb24.ref.png
deleted file mode 100644 (file)
index d554d83..0000000
Binary files a/test/reference/self-intersecting.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.traps.argb32.ref.png b/test/reference/self-intersecting.traps.argb32.ref.png
deleted file mode 100644 (file)
index f0068e6..0000000
Binary files a/test/reference/self-intersecting.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.traps.rgb24.ref.png b/test/reference/self-intersecting.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f0068e6..0000000
Binary files a/test/reference/self-intersecting.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/set-source.argb32.ref.png b/test/reference/set-source.argb32.ref.png
deleted file mode 100644 (file)
index 222b372..0000000
Binary files a/test/reference/set-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/set-source.base.argb32.ref.png b/test/reference/set-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 222b372..0000000
Binary files a/test/reference/set-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/set-source.base.rgb24.ref.png b/test/reference/set-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 5e13c82..0000000
Binary files a/test/reference/set-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/set-source.egl.argb32.ref.png b/test/reference/set-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index fef82ea..0000000
Binary files a/test/reference/set-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/set-source.mask.argb32.ref.png b/test/reference/set-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 222b372..0000000
Binary files a/test/reference/set-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/set-source.mask.rgb24.ref.png b/test/reference/set-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5e13c82..0000000
Binary files a/test/reference/set-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/set-source.ref.png b/test/reference/set-source.ref.png
deleted file mode 100644 (file)
index 19793e0..0000000
Binary files a/test/reference/set-source.ref.png and /dev/null differ
diff --git a/test/reference/set-source.rgb24.ref.png b/test/reference/set-source.rgb24.ref.png
deleted file mode 100644 (file)
index 5e13c82..0000000
Binary files a/test/reference/set-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/set-source.traps.argb32.ref.png b/test/reference/set-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 222b372..0000000
Binary files a/test/reference/set-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/set-source.traps.rgb24.ref.png b/test/reference/set-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 5e13c82..0000000
Binary files a/test/reference/set-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.argb32.ref.png b/test/reference/shape-general-convex.argb32.ref.png
deleted file mode 100644 (file)
index b4d4df7..0000000
Binary files a/test/reference/shape-general-convex.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.base.argb32.ref.png b/test/reference/shape-general-convex.base.argb32.ref.png
deleted file mode 100644 (file)
index fc2d3f0..0000000
Binary files a/test/reference/shape-general-convex.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.base.rgb24.ref.png b/test/reference/shape-general-convex.base.rgb24.ref.png
deleted file mode 100644 (file)
index fc2d3f0..0000000
Binary files a/test/reference/shape-general-convex.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.egl.argb32.ref.png b/test/reference/shape-general-convex.egl.argb32.ref.png
deleted file mode 100644 (file)
index f20cfc0..0000000
Binary files a/test/reference/shape-general-convex.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.mask.argb32.ref.png b/test/reference/shape-general-convex.mask.argb32.ref.png
deleted file mode 100644 (file)
index b4d4df7..0000000
Binary files a/test/reference/shape-general-convex.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.mask.rgb24.ref.png b/test/reference/shape-general-convex.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b4d4df7..0000000
Binary files a/test/reference/shape-general-convex.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.ps.ref.png b/test/reference/shape-general-convex.ps.ref.png
deleted file mode 100644 (file)
index 6cdd615..0000000
Binary files a/test/reference/shape-general-convex.ps.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.ref.png b/test/reference/shape-general-convex.ref.png
deleted file mode 100644 (file)
index 2b296ce..0000000
Binary files a/test/reference/shape-general-convex.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.rgb24.ref.png b/test/reference/shape-general-convex.rgb24.ref.png
deleted file mode 100644 (file)
index b4d4df7..0000000
Binary files a/test/reference/shape-general-convex.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.traps.argb32.ref.png b/test/reference/shape-general-convex.traps.argb32.ref.png
deleted file mode 100644 (file)
index fc2d3f0..0000000
Binary files a/test/reference/shape-general-convex.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-general-convex.traps.rgb24.ref.png b/test/reference/shape-general-convex.traps.rgb24.ref.png
deleted file mode 100644 (file)
index fc2d3f0..0000000
Binary files a/test/reference/shape-general-convex.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.argb32.ref.png b/test/reference/shape-sierpinski.argb32.ref.png
deleted file mode 100644 (file)
index ac98557..0000000
Binary files a/test/reference/shape-sierpinski.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.base.argb32.ref.png b/test/reference/shape-sierpinski.base.argb32.ref.png
deleted file mode 100644 (file)
index 69755d2..0000000
Binary files a/test/reference/shape-sierpinski.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.base.rgb24.ref.png b/test/reference/shape-sierpinski.base.rgb24.ref.png
deleted file mode 100644 (file)
index 69755d2..0000000
Binary files a/test/reference/shape-sierpinski.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.egl.argb32.ref.png b/test/reference/shape-sierpinski.egl.argb32.ref.png
deleted file mode 100644 (file)
index 39c4e43..0000000
Binary files a/test/reference/shape-sierpinski.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.mask.argb32.ref.png b/test/reference/shape-sierpinski.mask.argb32.ref.png
deleted file mode 100644 (file)
index ac98557..0000000
Binary files a/test/reference/shape-sierpinski.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.mask.rgb24.ref.png b/test/reference/shape-sierpinski.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ac98557..0000000
Binary files a/test/reference/shape-sierpinski.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.pdf.argb32.ref.png b/test/reference/shape-sierpinski.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 4e70fbd..0000000
Binary files a/test/reference/shape-sierpinski.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.pdf.rgb24.ref.png b/test/reference/shape-sierpinski.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index 4e70fbd..0000000
Binary files a/test/reference/shape-sierpinski.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.ps.ref.png b/test/reference/shape-sierpinski.ps.ref.png
deleted file mode 100644 (file)
index 700c9f1..0000000
Binary files a/test/reference/shape-sierpinski.ps.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.ps3.argb32.ref.png b/test/reference/shape-sierpinski.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 700c9f1..0000000
Binary files a/test/reference/shape-sierpinski.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.ps3.rgb24.ref.png b/test/reference/shape-sierpinski.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index 700c9f1..0000000
Binary files a/test/reference/shape-sierpinski.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.ref.png b/test/reference/shape-sierpinski.ref.png
deleted file mode 100644 (file)
index 938e5c4..0000000
Binary files a/test/reference/shape-sierpinski.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.rgb24.ref.png b/test/reference/shape-sierpinski.rgb24.ref.png
deleted file mode 100644 (file)
index ac98557..0000000
Binary files a/test/reference/shape-sierpinski.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.traps.argb32.ref.png b/test/reference/shape-sierpinski.traps.argb32.ref.png
deleted file mode 100644 (file)
index 69755d2..0000000
Binary files a/test/reference/shape-sierpinski.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/shape-sierpinski.traps.rgb24.ref.png b/test/reference/shape-sierpinski.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 69755d2..0000000
Binary files a/test/reference/shape-sierpinski.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.argb32.ref.png b/test/reference/show-glyphs-advance.argb32.ref.png
deleted file mode 100644 (file)
index e65ad05..0000000
Binary files a/test/reference/show-glyphs-advance.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.base.argb32.ref.png b/test/reference/show-glyphs-advance.base.argb32.ref.png
deleted file mode 100644 (file)
index e65ad05..0000000
Binary files a/test/reference/show-glyphs-advance.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.base.rgb24.ref.png b/test/reference/show-glyphs-advance.base.rgb24.ref.png
deleted file mode 100644 (file)
index e65ad05..0000000
Binary files a/test/reference/show-glyphs-advance.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.egl.argb32.ref.png b/test/reference/show-glyphs-advance.egl.argb32.ref.png
deleted file mode 100644 (file)
index 356487e..0000000
Binary files a/test/reference/show-glyphs-advance.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.image16.ref.png b/test/reference/show-glyphs-advance.image16.ref.png
deleted file mode 100644 (file)
index dd2f18d..0000000
Binary files a/test/reference/show-glyphs-advance.image16.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.mask.argb32.ref.png b/test/reference/show-glyphs-advance.mask.argb32.ref.png
deleted file mode 100644 (file)
index e65ad05..0000000
Binary files a/test/reference/show-glyphs-advance.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.mask.rgb24.ref.png b/test/reference/show-glyphs-advance.mask.rgb24.ref.png
deleted file mode 100644 (file)
index e65ad05..0000000
Binary files a/test/reference/show-glyphs-advance.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.ps.ref.png b/test/reference/show-glyphs-advance.ps.ref.png
deleted file mode 100644 (file)
index 96a80f9..0000000
Binary files a/test/reference/show-glyphs-advance.ps.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.quartz.ref.png b/test/reference/show-glyphs-advance.quartz.ref.png
deleted file mode 100644 (file)
index 4750308..0000000
Binary files a/test/reference/show-glyphs-advance.quartz.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.ref.png b/test/reference/show-glyphs-advance.ref.png
deleted file mode 100644 (file)
index e784099..0000000
Binary files a/test/reference/show-glyphs-advance.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.rgb24.ref.png b/test/reference/show-glyphs-advance.rgb24.ref.png
deleted file mode 100644 (file)
index e65ad05..0000000
Binary files a/test/reference/show-glyphs-advance.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.svg.ref.png b/test/reference/show-glyphs-advance.svg.ref.png
deleted file mode 100644 (file)
index 914d4d6..0000000
Binary files a/test/reference/show-glyphs-advance.svg.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.traps.argb32.ref.png b/test/reference/show-glyphs-advance.traps.argb32.ref.png
deleted file mode 100644 (file)
index e65ad05..0000000
Binary files a/test/reference/show-glyphs-advance.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.traps.ref.png b/test/reference/show-glyphs-advance.traps.ref.png
deleted file mode 100644 (file)
index e65ad05..0000000
Binary files a/test/reference/show-glyphs-advance.traps.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-advance.traps.rgb24.ref.png b/test/reference/show-glyphs-advance.traps.rgb24.ref.png
deleted file mode 100644 (file)
index e65ad05..0000000
Binary files a/test/reference/show-glyphs-advance.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-many.argb32.ref.png b/test/reference/show-glyphs-many.argb32.ref.png
deleted file mode 100644 (file)
index b638015..0000000
Binary files a/test/reference/show-glyphs-many.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-many.base.argb32.ref.png b/test/reference/show-glyphs-many.base.argb32.ref.png
deleted file mode 100644 (file)
index b638015..0000000
Binary files a/test/reference/show-glyphs-many.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-many.base.rgb24.ref.png b/test/reference/show-glyphs-many.base.rgb24.ref.png
deleted file mode 100644 (file)
index b638015..0000000
Binary files a/test/reference/show-glyphs-many.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-many.egl.argb32.ref.png b/test/reference/show-glyphs-many.egl.argb32.ref.png
deleted file mode 100644 (file)
index b638015..0000000
Binary files a/test/reference/show-glyphs-many.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-many.mask.argb32.ref.png b/test/reference/show-glyphs-many.mask.argb32.ref.png
deleted file mode 100644 (file)
index b638015..0000000
Binary files a/test/reference/show-glyphs-many.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-many.mask.rgb24.ref.png b/test/reference/show-glyphs-many.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b638015..0000000
Binary files a/test/reference/show-glyphs-many.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-many.ref.png b/test/reference/show-glyphs-many.ref.png
deleted file mode 100644 (file)
index b61c5f7..0000000
Binary files a/test/reference/show-glyphs-many.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-many.rgb24.ref.png b/test/reference/show-glyphs-many.rgb24.ref.png
deleted file mode 100644 (file)
index b638015..0000000
Binary files a/test/reference/show-glyphs-many.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-many.traps.argb32.ref.png b/test/reference/show-glyphs-many.traps.argb32.ref.png
deleted file mode 100644 (file)
index b638015..0000000
Binary files a/test/reference/show-glyphs-many.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-glyphs-many.traps.rgb24.ref.png b/test/reference/show-glyphs-many.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b638015..0000000
Binary files a/test/reference/show-glyphs-many.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.argb32.ref.png b/test/reference/show-text-current-point.argb32.ref.png
deleted file mode 100644 (file)
index d60d4ac..0000000
Binary files a/test/reference/show-text-current-point.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.base.argb32.ref.png b/test/reference/show-text-current-point.base.argb32.ref.png
deleted file mode 100644 (file)
index d60d4ac..0000000
Binary files a/test/reference/show-text-current-point.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.base.rgb24.ref.png b/test/reference/show-text-current-point.base.rgb24.ref.png
deleted file mode 100644 (file)
index d60d4ac..0000000
Binary files a/test/reference/show-text-current-point.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.image16.ref.png b/test/reference/show-text-current-point.image16.ref.png
deleted file mode 100644 (file)
index b2b933f..0000000
Binary files a/test/reference/show-text-current-point.image16.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.mask.argb32.ref.png b/test/reference/show-text-current-point.mask.argb32.ref.png
deleted file mode 100644 (file)
index d60d4ac..0000000
Binary files a/test/reference/show-text-current-point.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.mask.rgb24.ref.png b/test/reference/show-text-current-point.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d60d4ac..0000000
Binary files a/test/reference/show-text-current-point.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.ps2.ref.png b/test/reference/show-text-current-point.ps2.ref.png
deleted file mode 100644 (file)
index b42c48e..0000000
Binary files a/test/reference/show-text-current-point.ps2.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.ps3.ref.png b/test/reference/show-text-current-point.ps3.ref.png
deleted file mode 100644 (file)
index b42c48e..0000000
Binary files a/test/reference/show-text-current-point.ps3.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.quartz.ref.png b/test/reference/show-text-current-point.quartz.ref.png
deleted file mode 100644 (file)
index a531381..0000000
Binary files a/test/reference/show-text-current-point.quartz.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.ref.png b/test/reference/show-text-current-point.ref.png
deleted file mode 100644 (file)
index b2ee5b2..0000000
Binary files a/test/reference/show-text-current-point.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.rgb24.ref.png b/test/reference/show-text-current-point.rgb24.ref.png
deleted file mode 100644 (file)
index d60d4ac..0000000
Binary files a/test/reference/show-text-current-point.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.traps.argb32.ref.png b/test/reference/show-text-current-point.traps.argb32.ref.png
deleted file mode 100644 (file)
index d60d4ac..0000000
Binary files a/test/reference/show-text-current-point.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.traps.ref.png b/test/reference/show-text-current-point.traps.ref.png
deleted file mode 100644 (file)
index d60d4ac..0000000
Binary files a/test/reference/show-text-current-point.traps.ref.png and /dev/null differ
diff --git a/test/reference/show-text-current-point.traps.rgb24.ref.png b/test/reference/show-text-current-point.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d60d4ac..0000000
Binary files a/test/reference/show-text-current-point.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.argb32.ref.png b/test/reference/skew-extreme.argb32.ref.png
deleted file mode 100644 (file)
index 5ccd8c0..0000000
Binary files a/test/reference/skew-extreme.argb32.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.base.argb32.ref.png b/test/reference/skew-extreme.base.argb32.ref.png
deleted file mode 100644 (file)
index 5e00606..0000000
Binary files a/test/reference/skew-extreme.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.base.rgb24.ref.png b/test/reference/skew-extreme.base.rgb24.ref.png
deleted file mode 100644 (file)
index 5e00606..0000000
Binary files a/test/reference/skew-extreme.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.egl.argb32.ref.png b/test/reference/skew-extreme.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0e684f6..0000000
Binary files a/test/reference/skew-extreme.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.mask.argb32.ref.png b/test/reference/skew-extreme.mask.argb32.ref.png
deleted file mode 100644 (file)
index 5ccd8c0..0000000
Binary files a/test/reference/skew-extreme.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.mask.rgb24.ref.png b/test/reference/skew-extreme.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5ccd8c0..0000000
Binary files a/test/reference/skew-extreme.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.ps2.ref.png b/test/reference/skew-extreme.ps2.ref.png
deleted file mode 100644 (file)
index 69f1d37..0000000
Binary files a/test/reference/skew-extreme.ps2.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.ps3.ref.png b/test/reference/skew-extreme.ps3.ref.png
deleted file mode 100644 (file)
index 69f1d37..0000000
Binary files a/test/reference/skew-extreme.ps3.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.ref.png b/test/reference/skew-extreme.ref.png
deleted file mode 100644 (file)
index 23d58d5..0000000
Binary files a/test/reference/skew-extreme.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.rgb24.ref.png b/test/reference/skew-extreme.rgb24.ref.png
deleted file mode 100644 (file)
index 5ccd8c0..0000000
Binary files a/test/reference/skew-extreme.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.traps.argb32.ref.png b/test/reference/skew-extreme.traps.argb32.ref.png
deleted file mode 100644 (file)
index 5e00606..0000000
Binary files a/test/reference/skew-extreme.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/skew-extreme.traps.rgb24.ref.png b/test/reference/skew-extreme.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 5e00606..0000000
Binary files a/test/reference/skew-extreme.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.argb32.ref.png b/test/reference/smask-fill.argb32.ref.png
deleted file mode 100644 (file)
index 84e1755..0000000
Binary files a/test/reference/smask-fill.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.base.argb32.ref.png b/test/reference/smask-fill.base.argb32.ref.png
deleted file mode 100644 (file)
index 30bc98e..0000000
Binary files a/test/reference/smask-fill.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.base.rgb24.ref.png b/test/reference/smask-fill.base.rgb24.ref.png
deleted file mode 100644 (file)
index 30bc98e..0000000
Binary files a/test/reference/smask-fill.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.egl.argb32.ref.png b/test/reference/smask-fill.egl.argb32.ref.png
deleted file mode 100644 (file)
index cccb96d..0000000
Binary files a/test/reference/smask-fill.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.image16.ref.png b/test/reference/smask-fill.image16.ref.png
deleted file mode 100644 (file)
index 25a6d5b..0000000
Binary files a/test/reference/smask-fill.image16.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.mask.argb32.ref.png b/test/reference/smask-fill.mask.argb32.ref.png
deleted file mode 100644 (file)
index 84e1755..0000000
Binary files a/test/reference/smask-fill.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.mask.rgb24.ref.png b/test/reference/smask-fill.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 84e1755..0000000
Binary files a/test/reference/smask-fill.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.pdf.ref.png b/test/reference/smask-fill.pdf.ref.png
deleted file mode 100644 (file)
index cfd40b0..0000000
Binary files a/test/reference/smask-fill.pdf.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.quartz.ref.png b/test/reference/smask-fill.quartz.ref.png
deleted file mode 100644 (file)
index ae05476..0000000
Binary files a/test/reference/smask-fill.quartz.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.ref.png b/test/reference/smask-fill.ref.png
deleted file mode 100644 (file)
index d21d010..0000000
Binary files a/test/reference/smask-fill.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.rgb24.ref.png b/test/reference/smask-fill.rgb24.ref.png
deleted file mode 100644 (file)
index 84e1755..0000000
Binary files a/test/reference/smask-fill.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.svg.ref.png b/test/reference/smask-fill.svg.ref.png
deleted file mode 100644 (file)
index 824e8cf..0000000
Binary files a/test/reference/smask-fill.svg.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.traps.argb32.ref.png b/test/reference/smask-fill.traps.argb32.ref.png
deleted file mode 100644 (file)
index 30bc98e..0000000
Binary files a/test/reference/smask-fill.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.traps.rgb24.ref.png b/test/reference/smask-fill.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 30bc98e..0000000
Binary files a/test/reference/smask-fill.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.argb32.ref.png b/test/reference/smask-image-mask.argb32.ref.png
deleted file mode 100644 (file)
index 12063bd..0000000
Binary files a/test/reference/smask-image-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.base.argb32.ref.png b/test/reference/smask-image-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 12063bd..0000000
Binary files a/test/reference/smask-image-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.base.rgb24.ref.png b/test/reference/smask-image-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 12063bd..0000000
Binary files a/test/reference/smask-image-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.egl.argb32.ref.png b/test/reference/smask-image-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index ea3f44c..0000000
Binary files a/test/reference/smask-image-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.mask.argb32.ref.png b/test/reference/smask-image-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index 12063bd..0000000
Binary files a/test/reference/smask-image-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.mask.rgb24.ref.png b/test/reference/smask-image-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 12063bd..0000000
Binary files a/test/reference/smask-image-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.pdf.ref.png b/test/reference/smask-image-mask.pdf.ref.png
deleted file mode 100644 (file)
index 7ac43e4..0000000
Binary files a/test/reference/smask-image-mask.pdf.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.ref.png b/test/reference/smask-image-mask.ref.png
deleted file mode 100644 (file)
index 858b209..0000000
Binary files a/test/reference/smask-image-mask.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.rgb24.ref.png b/test/reference/smask-image-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 12063bd..0000000
Binary files a/test/reference/smask-image-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.traps.argb32.ref.png b/test/reference/smask-image-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 12063bd..0000000
Binary files a/test/reference/smask-image-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.traps.rgb24.ref.png b/test/reference/smask-image-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 12063bd..0000000
Binary files a/test/reference/smask-image-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.xlib-fallback.rgb24.ref.png b/test/reference/smask-image-mask.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 12063bd..0000000
Binary files a/test/reference/smask-image-mask.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-image-mask.xlib-window.rgb24.ref.png b/test/reference/smask-image-mask.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 12063bd..0000000
Binary files a/test/reference/smask-image-mask.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.argb32.ref.png b/test/reference/smask-mask.argb32.ref.png
deleted file mode 100644 (file)
index 80329c2..0000000
Binary files a/test/reference/smask-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.base.argb32.ref.png b/test/reference/smask-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 80329c2..0000000
Binary files a/test/reference/smask-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.base.rgb24.ref.png b/test/reference/smask-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 80329c2..0000000
Binary files a/test/reference/smask-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.egl.argb32.ref.png b/test/reference/smask-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index 5506dca..0000000
Binary files a/test/reference/smask-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.image16.ref.png b/test/reference/smask-mask.image16.ref.png
deleted file mode 100644 (file)
index 5024521..0000000
Binary files a/test/reference/smask-mask.image16.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.mask.argb32.ref.png b/test/reference/smask-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index 80329c2..0000000
Binary files a/test/reference/smask-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.mask.rgb24.ref.png b/test/reference/smask-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 80329c2..0000000
Binary files a/test/reference/smask-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.pdf.ref.png b/test/reference/smask-mask.pdf.ref.png
deleted file mode 100644 (file)
index 59c9740..0000000
Binary files a/test/reference/smask-mask.pdf.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.quartz.ref.png b/test/reference/smask-mask.quartz.ref.png
deleted file mode 100644 (file)
index 98ba299..0000000
Binary files a/test/reference/smask-mask.quartz.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.ref.png b/test/reference/smask-mask.ref.png
deleted file mode 100644 (file)
index eabd2d6..0000000
Binary files a/test/reference/smask-mask.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.rgb24.ref.png b/test/reference/smask-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 80329c2..0000000
Binary files a/test/reference/smask-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.svg.ref.png b/test/reference/smask-mask.svg.ref.png
deleted file mode 100644 (file)
index ae46036..0000000
Binary files a/test/reference/smask-mask.svg.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.traps.argb32.ref.png b/test/reference/smask-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 80329c2..0000000
Binary files a/test/reference/smask-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-mask.traps.rgb24.ref.png b/test/reference/smask-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 80329c2..0000000
Binary files a/test/reference/smask-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.argb32.ref.png b/test/reference/smask-paint.argb32.ref.png
deleted file mode 100644 (file)
index 95af29a..0000000
Binary files a/test/reference/smask-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.base.argb32.ref.png b/test/reference/smask-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 95af29a..0000000
Binary files a/test/reference/smask-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.base.rgb24.ref.png b/test/reference/smask-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 95af29a..0000000
Binary files a/test/reference/smask-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.egl.argb32.ref.png b/test/reference/smask-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index a1fe085..0000000
Binary files a/test/reference/smask-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.image16.ref.png b/test/reference/smask-paint.image16.ref.png
deleted file mode 100644 (file)
index dc371df..0000000
Binary files a/test/reference/smask-paint.image16.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.mask.argb32.ref.png b/test/reference/smask-paint.mask.argb32.ref.png
deleted file mode 100644 (file)
index 95af29a..0000000
Binary files a/test/reference/smask-paint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.mask.rgb24.ref.png b/test/reference/smask-paint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 95af29a..0000000
Binary files a/test/reference/smask-paint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.pdf.ref.png b/test/reference/smask-paint.pdf.ref.png
deleted file mode 100644 (file)
index 623a92d..0000000
Binary files a/test/reference/smask-paint.pdf.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.quartz.ref.png b/test/reference/smask-paint.quartz.ref.png
deleted file mode 100644 (file)
index 4ee25fd..0000000
Binary files a/test/reference/smask-paint.quartz.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.ref.png b/test/reference/smask-paint.ref.png
deleted file mode 100644 (file)
index 4381209..0000000
Binary files a/test/reference/smask-paint.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.rgb24.ref.png b/test/reference/smask-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 95af29a..0000000
Binary files a/test/reference/smask-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.svg.ref.png b/test/reference/smask-paint.svg.ref.png
deleted file mode 100644 (file)
index 93a423f..0000000
Binary files a/test/reference/smask-paint.svg.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.traps.argb32.ref.png b/test/reference/smask-paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 95af29a..0000000
Binary files a/test/reference/smask-paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-paint.traps.rgb24.ref.png b/test/reference/smask-paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 95af29a..0000000
Binary files a/test/reference/smask-paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.argb32.ref.png b/test/reference/smask-stroke.argb32.ref.png
deleted file mode 100644 (file)
index d7b56e5..0000000
Binary files a/test/reference/smask-stroke.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.base.argb32.ref.png b/test/reference/smask-stroke.base.argb32.ref.png
deleted file mode 100644 (file)
index c6a557d..0000000
Binary files a/test/reference/smask-stroke.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.base.rgb24.ref.png b/test/reference/smask-stroke.base.rgb24.ref.png
deleted file mode 100644 (file)
index c6a557d..0000000
Binary files a/test/reference/smask-stroke.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.egl.argb32.ref.png b/test/reference/smask-stroke.egl.argb32.ref.png
deleted file mode 100644 (file)
index f7e2a76..0000000
Binary files a/test/reference/smask-stroke.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.image16.ref.png b/test/reference/smask-stroke.image16.ref.png
deleted file mode 100644 (file)
index ea2138a..0000000
Binary files a/test/reference/smask-stroke.image16.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.mask.argb32.ref.png b/test/reference/smask-stroke.mask.argb32.ref.png
deleted file mode 100644 (file)
index d7b56e5..0000000
Binary files a/test/reference/smask-stroke.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.mask.rgb24.ref.png b/test/reference/smask-stroke.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d7b56e5..0000000
Binary files a/test/reference/smask-stroke.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.pdf.xfail.png b/test/reference/smask-stroke.pdf.xfail.png
deleted file mode 100644 (file)
index 9a1a771..0000000
Binary files a/test/reference/smask-stroke.pdf.xfail.png and /dev/null differ
diff --git a/test/reference/smask-stroke.quartz.ref.png b/test/reference/smask-stroke.quartz.ref.png
deleted file mode 100644 (file)
index f6f0d1b..0000000
Binary files a/test/reference/smask-stroke.quartz.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.ref.png b/test/reference/smask-stroke.ref.png
deleted file mode 100644 (file)
index d36f0ac..0000000
Binary files a/test/reference/smask-stroke.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.rgb24.ref.png b/test/reference/smask-stroke.rgb24.ref.png
deleted file mode 100644 (file)
index d7b56e5..0000000
Binary files a/test/reference/smask-stroke.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.traps.argb32.ref.png b/test/reference/smask-stroke.traps.argb32.ref.png
deleted file mode 100644 (file)
index c6a557d..0000000
Binary files a/test/reference/smask-stroke.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.traps.rgb24.ref.png b/test/reference/smask-stroke.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c6a557d..0000000
Binary files a/test/reference/smask-stroke.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.argb32.ref.png b/test/reference/smask-text.argb32.ref.png
deleted file mode 100644 (file)
index 66ef289..0000000
Binary files a/test/reference/smask-text.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.base.argb32.ref.png b/test/reference/smask-text.base.argb32.ref.png
deleted file mode 100644 (file)
index 344ac20..0000000
Binary files a/test/reference/smask-text.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.base.rgb24.ref.png b/test/reference/smask-text.base.rgb24.ref.png
deleted file mode 100644 (file)
index 344ac20..0000000
Binary files a/test/reference/smask-text.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.image16.ref.png b/test/reference/smask-text.image16.ref.png
deleted file mode 100644 (file)
index 098043d..0000000
Binary files a/test/reference/smask-text.image16.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.mask.argb32.ref.png b/test/reference/smask-text.mask.argb32.ref.png
deleted file mode 100644 (file)
index 344ac20..0000000
Binary files a/test/reference/smask-text.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.mask.rgb24.ref.png b/test/reference/smask-text.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 344ac20..0000000
Binary files a/test/reference/smask-text.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.pdf.ref.png b/test/reference/smask-text.pdf.ref.png
deleted file mode 100644 (file)
index fa49056..0000000
Binary files a/test/reference/smask-text.pdf.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.ps2.ref.png b/test/reference/smask-text.ps2.ref.png
deleted file mode 100644 (file)
index ae61325..0000000
Binary files a/test/reference/smask-text.ps2.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.ps3.ref.png b/test/reference/smask-text.ps3.ref.png
deleted file mode 100644 (file)
index ae61325..0000000
Binary files a/test/reference/smask-text.ps3.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.quartz.ref.png b/test/reference/smask-text.quartz.ref.png
deleted file mode 100644 (file)
index 096dc98..0000000
Binary files a/test/reference/smask-text.quartz.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.ref.png b/test/reference/smask-text.ref.png
deleted file mode 100644 (file)
index c570259..0000000
Binary files a/test/reference/smask-text.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.rgb24.ref.png b/test/reference/smask-text.rgb24.ref.png
deleted file mode 100644 (file)
index 66ef289..0000000
Binary files a/test/reference/smask-text.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.script.ref.png b/test/reference/smask-text.script.ref.png
deleted file mode 100644 (file)
index 62b2de5..0000000
Binary files a/test/reference/smask-text.script.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.svg.ref.png b/test/reference/smask-text.svg.ref.png
deleted file mode 100644 (file)
index 65f225e..0000000
Binary files a/test/reference/smask-text.svg.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.traps.argb32.ref.png b/test/reference/smask-text.traps.argb32.ref.png
deleted file mode 100644 (file)
index 66ef289..0000000
Binary files a/test/reference/smask-text.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.traps.ref.png b/test/reference/smask-text.traps.ref.png
deleted file mode 100644 (file)
index 66ef289..0000000
Binary files a/test/reference/smask-text.traps.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.traps.rgb24.ref.png b/test/reference/smask-text.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 66ef289..0000000
Binary files a/test/reference/smask-text.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.xlib-fallback.ref.png b/test/reference/smask-text.xlib-fallback.ref.png
deleted file mode 100644 (file)
index bb393b5..0000000
Binary files a/test/reference/smask-text.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/smask.argb32.ref.png b/test/reference/smask.argb32.ref.png
deleted file mode 100644 (file)
index 3b5703e..0000000
Binary files a/test/reference/smask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask.base.argb32.ref.png b/test/reference/smask.base.argb32.ref.png
deleted file mode 100644 (file)
index 357e8e7..0000000
Binary files a/test/reference/smask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask.base.rgb24.ref.png b/test/reference/smask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 357e8e7..0000000
Binary files a/test/reference/smask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask.egl.argb32.ref.png b/test/reference/smask.egl.argb32.ref.png
deleted file mode 100644 (file)
index 2ae8f28..0000000
Binary files a/test/reference/smask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask.image16.ref.png b/test/reference/smask.image16.ref.png
deleted file mode 100644 (file)
index d817c80..0000000
Binary files a/test/reference/smask.image16.ref.png and /dev/null differ
diff --git a/test/reference/smask.mask.argb32.ref.png b/test/reference/smask.mask.argb32.ref.png
deleted file mode 100644 (file)
index dab308d..0000000
Binary files a/test/reference/smask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask.mask.rgb24.ref.png b/test/reference/smask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index dab308d..0000000
Binary files a/test/reference/smask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask.pdf.xfail.png b/test/reference/smask.pdf.xfail.png
deleted file mode 100644 (file)
index f8b559c..0000000
Binary files a/test/reference/smask.pdf.xfail.png and /dev/null differ
diff --git a/test/reference/smask.ps.ref.png b/test/reference/smask.ps.ref.png
deleted file mode 100644 (file)
index 31ccc17..0000000
Binary files a/test/reference/smask.ps.ref.png and /dev/null differ
diff --git a/test/reference/smask.quartz.ref.png b/test/reference/smask.quartz.ref.png
deleted file mode 100644 (file)
index f9ab00f..0000000
Binary files a/test/reference/smask.quartz.ref.png and /dev/null differ
diff --git a/test/reference/smask.ref.png b/test/reference/smask.ref.png
deleted file mode 100644 (file)
index 0370974..0000000
Binary files a/test/reference/smask.ref.png and /dev/null differ
diff --git a/test/reference/smask.rgb24.ref.png b/test/reference/smask.rgb24.ref.png
deleted file mode 100644 (file)
index 3b5703e..0000000
Binary files a/test/reference/smask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask.script.ref.png b/test/reference/smask.script.ref.png
deleted file mode 100644 (file)
index 3b672d6..0000000
Binary files a/test/reference/smask.script.ref.png and /dev/null differ
diff --git a/test/reference/smask.svg.ref.png b/test/reference/smask.svg.ref.png
deleted file mode 100644 (file)
index b9c0308..0000000
Binary files a/test/reference/smask.svg.ref.png and /dev/null differ
diff --git a/test/reference/smask.traps.argb32.ref.png b/test/reference/smask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 357e8e7..0000000
Binary files a/test/reference/smask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/smask.traps.ref.png b/test/reference/smask.traps.ref.png
deleted file mode 100644 (file)
index 357e8e7..0000000
Binary files a/test/reference/smask.traps.ref.png and /dev/null differ
diff --git a/test/reference/smask.traps.rgb24.ref.png b/test/reference/smask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 357e8e7..0000000
Binary files a/test/reference/smask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/smask.xlib-fallback.ref.png b/test/reference/smask.xlib-fallback.ref.png
deleted file mode 100644 (file)
index b5919de..0000000
Binary files a/test/reference/smask.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/solid-pattern-cache-stress.argb32.ref.png b/test/reference/solid-pattern-cache-stress.argb32.ref.png
deleted file mode 100644 (file)
index 08a2ce1..0000000
Binary files a/test/reference/solid-pattern-cache-stress.argb32.ref.png and /dev/null differ
diff --git a/test/reference/solid-pattern-cache-stress.base.argb32.ref.png b/test/reference/solid-pattern-cache-stress.base.argb32.ref.png
deleted file mode 100644 (file)
index 08a2ce1..0000000
Binary files a/test/reference/solid-pattern-cache-stress.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/solid-pattern-cache-stress.base.rgb24.ref.png b/test/reference/solid-pattern-cache-stress.base.rgb24.ref.png
deleted file mode 100644 (file)
index 08a2ce1..0000000
Binary files a/test/reference/solid-pattern-cache-stress.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/solid-pattern-cache-stress.egl.argb32.ref.png b/test/reference/solid-pattern-cache-stress.egl.argb32.ref.png
deleted file mode 100644 (file)
index 08a2ce1..0000000
Binary files a/test/reference/solid-pattern-cache-stress.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/solid-pattern-cache-stress.mask.argb32.ref.png b/test/reference/solid-pattern-cache-stress.mask.argb32.ref.png
deleted file mode 100644 (file)
index 08a2ce1..0000000
Binary files a/test/reference/solid-pattern-cache-stress.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/solid-pattern-cache-stress.mask.rgb24.ref.png b/test/reference/solid-pattern-cache-stress.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 08a2ce1..0000000
Binary files a/test/reference/solid-pattern-cache-stress.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/solid-pattern-cache-stress.ref.png b/test/reference/solid-pattern-cache-stress.ref.png
deleted file mode 100644 (file)
index e0e8498..0000000
Binary files a/test/reference/solid-pattern-cache-stress.ref.png and /dev/null differ
diff --git a/test/reference/solid-pattern-cache-stress.rgb24.ref.png b/test/reference/solid-pattern-cache-stress.rgb24.ref.png
deleted file mode 100644 (file)
index 08a2ce1..0000000
Binary files a/test/reference/solid-pattern-cache-stress.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/solid-pattern-cache-stress.traps.argb32.ref.png b/test/reference/solid-pattern-cache-stress.traps.argb32.ref.png
deleted file mode 100644 (file)
index 08a2ce1..0000000
Binary files a/test/reference/solid-pattern-cache-stress.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/solid-pattern-cache-stress.traps.rgb24.ref.png b/test/reference/solid-pattern-cache-stress.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 08a2ce1..0000000
Binary files a/test/reference/solid-pattern-cache-stress.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.argb32.ref.png b/test/reference/source-clip-scale.argb32.ref.png
deleted file mode 100644 (file)
index 4b63ad9..0000000
Binary files a/test/reference/source-clip-scale.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.base.argb32.ref.png b/test/reference/source-clip-scale.base.argb32.ref.png
deleted file mode 100644 (file)
index 4b63ad9..0000000
Binary files a/test/reference/source-clip-scale.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.base.rgb24.ref.png b/test/reference/source-clip-scale.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4b63ad9..0000000
Binary files a/test/reference/source-clip-scale.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.egl.argb32.ref.png b/test/reference/source-clip-scale.egl.argb32.ref.png
deleted file mode 100644 (file)
index 368fa18..0000000
Binary files a/test/reference/source-clip-scale.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.gl.ref.png b/test/reference/source-clip-scale.gl.ref.png
deleted file mode 100644 (file)
index fcffbef..0000000
Binary files a/test/reference/source-clip-scale.gl.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.mask.argb32.ref.png b/test/reference/source-clip-scale.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4b63ad9..0000000
Binary files a/test/reference/source-clip-scale.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.mask.rgb24.ref.png b/test/reference/source-clip-scale.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4b63ad9..0000000
Binary files a/test/reference/source-clip-scale.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.pdf.ref.png b/test/reference/source-clip-scale.pdf.ref.png
deleted file mode 100644 (file)
index 78c7710..0000000
Binary files a/test/reference/source-clip-scale.pdf.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.ps2.argb32.ref.png b/test/reference/source-clip-scale.ps2.argb32.ref.png
deleted file mode 100644 (file)
index be57d77..0000000
Binary files a/test/reference/source-clip-scale.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.ps2.rgb24.ref.png b/test/reference/source-clip-scale.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index be57d77..0000000
Binary files a/test/reference/source-clip-scale.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.ps3.argb32.ref.png b/test/reference/source-clip-scale.ps3.argb32.ref.png
deleted file mode 100644 (file)
index be57d77..0000000
Binary files a/test/reference/source-clip-scale.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.ps3.rgb24.ref.png b/test/reference/source-clip-scale.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index be57d77..0000000
Binary files a/test/reference/source-clip-scale.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.quartz.ref.png b/test/reference/source-clip-scale.quartz.ref.png
deleted file mode 100644 (file)
index 3665009..0000000
Binary files a/test/reference/source-clip-scale.quartz.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.recording.ref.png b/test/reference/source-clip-scale.recording.ref.png
deleted file mode 100644 (file)
index bbf7c9b..0000000
Binary files a/test/reference/source-clip-scale.recording.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.ref.png b/test/reference/source-clip-scale.ref.png
deleted file mode 100644 (file)
index 1519ff8..0000000
Binary files a/test/reference/source-clip-scale.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.rgb24.ref.png b/test/reference/source-clip-scale.rgb24.ref.png
deleted file mode 100644 (file)
index 4b63ad9..0000000
Binary files a/test/reference/source-clip-scale.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.svg.ref.png b/test/reference/source-clip-scale.svg.ref.png
deleted file mode 100644 (file)
index bbf7c9b..0000000
Binary files a/test/reference/source-clip-scale.svg.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.traps.argb32.ref.png b/test/reference/source-clip-scale.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4b63ad9..0000000
Binary files a/test/reference/source-clip-scale.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip-scale.traps.rgb24.ref.png b/test/reference/source-clip-scale.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4b63ad9..0000000
Binary files a/test/reference/source-clip-scale.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-clip.argb32.ref.png b/test/reference/source-clip.argb32.ref.png
deleted file mode 100644 (file)
index 821bc6c..0000000
Binary files a/test/reference/source-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip.base.argb32.ref.png b/test/reference/source-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 821bc6c..0000000
Binary files a/test/reference/source-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip.base.rgb24.ref.png b/test/reference/source-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index 821bc6c..0000000
Binary files a/test/reference/source-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-clip.egl.argb32.ref.png b/test/reference/source-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index 821bc6c..0000000
Binary files a/test/reference/source-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip.mask.argb32.ref.png b/test/reference/source-clip.mask.argb32.ref.png
deleted file mode 100644 (file)
index 821bc6c..0000000
Binary files a/test/reference/source-clip.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip.mask.rgb24.ref.png b/test/reference/source-clip.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 821bc6c..0000000
Binary files a/test/reference/source-clip.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-clip.ref.png b/test/reference/source-clip.ref.png
deleted file mode 100644 (file)
index 22454be..0000000
Binary files a/test/reference/source-clip.ref.png and /dev/null differ
diff --git a/test/reference/source-clip.rgb24.ref.png b/test/reference/source-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 821bc6c..0000000
Binary files a/test/reference/source-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-clip.traps.argb32.ref.png b/test/reference/source-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index 821bc6c..0000000
Binary files a/test/reference/source-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-clip.traps.rgb24.ref.png b/test/reference/source-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 821bc6c..0000000
Binary files a/test/reference/source-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-surface-scale-paint.argb32.ref.png b/test/reference/source-surface-scale-paint.argb32.ref.png
deleted file mode 100644 (file)
index 087ef75..0000000
Binary files a/test/reference/source-surface-scale-paint.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-surface-scale-paint.base.argb32.ref.png b/test/reference/source-surface-scale-paint.base.argb32.ref.png
deleted file mode 100644 (file)
index 087ef75..0000000
Binary files a/test/reference/source-surface-scale-paint.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-surface-scale-paint.base.rgb24.ref.png b/test/reference/source-surface-scale-paint.base.rgb24.ref.png
deleted file mode 100644 (file)
index 322af21..0000000
Binary files a/test/reference/source-surface-scale-paint.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-surface-scale-paint.egl.argb32.ref.png b/test/reference/source-surface-scale-paint.egl.argb32.ref.png
deleted file mode 100644 (file)
index fefb18b..0000000
Binary files a/test/reference/source-surface-scale-paint.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-surface-scale-paint.mask.argb32.ref.png b/test/reference/source-surface-scale-paint.mask.argb32.ref.png
deleted file mode 100644 (file)
index 087ef75..0000000
Binary files a/test/reference/source-surface-scale-paint.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-surface-scale-paint.mask.rgb24.ref.png b/test/reference/source-surface-scale-paint.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 322af21..0000000
Binary files a/test/reference/source-surface-scale-paint.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-surface-scale-paint.ref.png b/test/reference/source-surface-scale-paint.ref.png
deleted file mode 100644 (file)
index a81f93d..0000000
Binary files a/test/reference/source-surface-scale-paint.ref.png and /dev/null differ
diff --git a/test/reference/source-surface-scale-paint.rgb24.ref.png b/test/reference/source-surface-scale-paint.rgb24.ref.png
deleted file mode 100644 (file)
index 322af21..0000000
Binary files a/test/reference/source-surface-scale-paint.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/source-surface-scale-paint.traps.argb32.ref.png b/test/reference/source-surface-scale-paint.traps.argb32.ref.png
deleted file mode 100644 (file)
index 087ef75..0000000
Binary files a/test/reference/source-surface-scale-paint.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/source-surface-scale-paint.traps.rgb24.ref.png b/test/reference/source-surface-scale-paint.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 322af21..0000000
Binary files a/test/reference/source-surface-scale-paint.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.argb32.ref.png b/test/reference/spline-decomposition.argb32.ref.png
deleted file mode 100644 (file)
index e93e621..0000000
Binary files a/test/reference/spline-decomposition.argb32.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.base.argb32.ref.png b/test/reference/spline-decomposition.base.argb32.ref.png
deleted file mode 100644 (file)
index 113f221..0000000
Binary files a/test/reference/spline-decomposition.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.base.rgb24.ref.png b/test/reference/spline-decomposition.base.rgb24.ref.png
deleted file mode 100644 (file)
index 113f221..0000000
Binary files a/test/reference/spline-decomposition.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.egl.argb32.ref.png b/test/reference/spline-decomposition.egl.argb32.ref.png
deleted file mode 100644 (file)
index 29210c8..0000000
Binary files a/test/reference/spline-decomposition.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.image16.ref.png b/test/reference/spline-decomposition.image16.ref.png
deleted file mode 100644 (file)
index 4084b00..0000000
Binary files a/test/reference/spline-decomposition.image16.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.mask.argb32.ref.png b/test/reference/spline-decomposition.mask.argb32.ref.png
deleted file mode 100644 (file)
index e93e621..0000000
Binary files a/test/reference/spline-decomposition.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.mask.rgb24.ref.png b/test/reference/spline-decomposition.mask.rgb24.ref.png
deleted file mode 100644 (file)
index e93e621..0000000
Binary files a/test/reference/spline-decomposition.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.pdf.ref.png b/test/reference/spline-decomposition.pdf.ref.png
deleted file mode 100644 (file)
index 5afa094..0000000
Binary files a/test/reference/spline-decomposition.pdf.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.ps.ref.png b/test/reference/spline-decomposition.ps.ref.png
deleted file mode 100644 (file)
index 51e2938..0000000
Binary files a/test/reference/spline-decomposition.ps.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.quartz.xfail.png b/test/reference/spline-decomposition.quartz.xfail.png
deleted file mode 100644 (file)
index 18d67fb..0000000
Binary files a/test/reference/spline-decomposition.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.ref.png b/test/reference/spline-decomposition.ref.png
deleted file mode 100644 (file)
index e655efd..0000000
Binary files a/test/reference/spline-decomposition.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.rgb24.ref.png b/test/reference/spline-decomposition.rgb24.ref.png
deleted file mode 100644 (file)
index e93e621..0000000
Binary files a/test/reference/spline-decomposition.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.svg.ref.png b/test/reference/spline-decomposition.svg.ref.png
deleted file mode 100644 (file)
index 5afa094..0000000
Binary files a/test/reference/spline-decomposition.svg.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.traps.argb32.ref.png b/test/reference/spline-decomposition.traps.argb32.ref.png
deleted file mode 100644 (file)
index 113f221..0000000
Binary files a/test/reference/spline-decomposition.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.traps.rgb24.ref.png b/test/reference/spline-decomposition.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 113f221..0000000
Binary files a/test/reference/spline-decomposition.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.argb32.ref.png b/test/reference/stride-12-image.argb32.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-image.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.base.argb32.ref.png b/test/reference/stride-12-image.base.argb32.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-image.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.base.rgb24.ref.png b/test/reference/stride-12-image.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-image.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.egl.argb32.ref.png b/test/reference/stride-12-image.egl.argb32.ref.png
deleted file mode 100644 (file)
index f6f9a43..0000000
Binary files a/test/reference/stride-12-image.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.image16.ref.png b/test/reference/stride-12-image.image16.ref.png
deleted file mode 100644 (file)
index 4b15914..0000000
Binary files a/test/reference/stride-12-image.image16.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.mask.argb32.ref.png b/test/reference/stride-12-image.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-image.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.mask.rgb24.ref.png b/test/reference/stride-12-image.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-image.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.ps.ref.png b/test/reference/stride-12-image.ps.ref.png
deleted file mode 100644 (file)
index 953c9a1..0000000
Binary files a/test/reference/stride-12-image.ps.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.ref.png b/test/reference/stride-12-image.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-image.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.rgb24.ref.png b/test/reference/stride-12-image.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-image.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.traps.argb32.ref.png b/test/reference/stride-12-image.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-image.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-image.traps.rgb24.ref.png b/test/reference/stride-12-image.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-image.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-xlib-fallback.rgb24.ref.png b/test/reference/stride-12-xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-xlib-window.rgb24.ref.png b/test/reference/stride-12-xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-xlib.argb32.ref.png b/test/reference/stride-12-xlib.argb32.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stride-12-xlib.rgb24.ref.png b/test/reference/stride-12-xlib.rgb24.ref.png
deleted file mode 100644 (file)
index 4428456..0000000
Binary files a/test/reference/stride-12-xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.argb32.ref.png b/test/reference/stroke-ctm-caps.argb32.ref.png
deleted file mode 100644 (file)
index 3a77d3e..0000000
Binary files a/test/reference/stroke-ctm-caps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.base.argb32.ref.png b/test/reference/stroke-ctm-caps.base.argb32.ref.png
deleted file mode 100644 (file)
index 799ff39..0000000
Binary files a/test/reference/stroke-ctm-caps.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.base.rgb24.ref.png b/test/reference/stroke-ctm-caps.base.rgb24.ref.png
deleted file mode 100644 (file)
index 799ff39..0000000
Binary files a/test/reference/stroke-ctm-caps.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.egl.argb32.ref.png b/test/reference/stroke-ctm-caps.egl.argb32.ref.png
deleted file mode 100644 (file)
index d4203b6..0000000
Binary files a/test/reference/stroke-ctm-caps.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.image16.ref.png b/test/reference/stroke-ctm-caps.image16.ref.png
deleted file mode 100644 (file)
index f5f551e..0000000
Binary files a/test/reference/stroke-ctm-caps.image16.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.mask.argb32.ref.png b/test/reference/stroke-ctm-caps.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3a77d3e..0000000
Binary files a/test/reference/stroke-ctm-caps.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.mask.rgb24.ref.png b/test/reference/stroke-ctm-caps.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3a77d3e..0000000
Binary files a/test/reference/stroke-ctm-caps.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.ps2.ref.png b/test/reference/stroke-ctm-caps.ps2.ref.png
deleted file mode 100644 (file)
index 63c1064..0000000
Binary files a/test/reference/stroke-ctm-caps.ps2.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.ps3.ref.png b/test/reference/stroke-ctm-caps.ps3.ref.png
deleted file mode 100644 (file)
index 63c1064..0000000
Binary files a/test/reference/stroke-ctm-caps.ps3.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.quartz.ref.png b/test/reference/stroke-ctm-caps.quartz.ref.png
deleted file mode 100644 (file)
index c9da2c9..0000000
Binary files a/test/reference/stroke-ctm-caps.quartz.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.ref.png b/test/reference/stroke-ctm-caps.ref.png
deleted file mode 100644 (file)
index 75e3252..0000000
Binary files a/test/reference/stroke-ctm-caps.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.rgb24.ref.png b/test/reference/stroke-ctm-caps.rgb24.ref.png
deleted file mode 100644 (file)
index 3a77d3e..0000000
Binary files a/test/reference/stroke-ctm-caps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.traps.argb32.ref.png b/test/reference/stroke-ctm-caps.traps.argb32.ref.png
deleted file mode 100644 (file)
index 799ff39..0000000
Binary files a/test/reference/stroke-ctm-caps.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-ctm-caps.traps.rgb24.ref.png b/test/reference/stroke-ctm-caps.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 799ff39..0000000
Binary files a/test/reference/stroke-ctm-caps.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.argb32.ref.png b/test/reference/stroke-image.argb32.ref.png
deleted file mode 100644 (file)
index 03a07eb..0000000
Binary files a/test/reference/stroke-image.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.base.argb32.ref.png b/test/reference/stroke-image.base.argb32.ref.png
deleted file mode 100644 (file)
index 75737d5..0000000
Binary files a/test/reference/stroke-image.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.base.rgb24.ref.png b/test/reference/stroke-image.base.rgb24.ref.png
deleted file mode 100644 (file)
index 75737d5..0000000
Binary files a/test/reference/stroke-image.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.egl.argb32.ref.png b/test/reference/stroke-image.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3e24392..0000000
Binary files a/test/reference/stroke-image.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.image16.ref.png b/test/reference/stroke-image.image16.ref.png
deleted file mode 100644 (file)
index cef40bd..0000000
Binary files a/test/reference/stroke-image.image16.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.mask.argb32.ref.png b/test/reference/stroke-image.mask.argb32.ref.png
deleted file mode 100644 (file)
index 03a07eb..0000000
Binary files a/test/reference/stroke-image.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.mask.rgb24.ref.png b/test/reference/stroke-image.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 03a07eb..0000000
Binary files a/test/reference/stroke-image.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.pdf.ref.png b/test/reference/stroke-image.pdf.ref.png
deleted file mode 100644 (file)
index 790369c..0000000
Binary files a/test/reference/stroke-image.pdf.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.ps.ref.png b/test/reference/stroke-image.ps.ref.png
deleted file mode 100644 (file)
index 71889ac..0000000
Binary files a/test/reference/stroke-image.ps.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.quartz.ref.png b/test/reference/stroke-image.quartz.ref.png
deleted file mode 100644 (file)
index f9a60f2..0000000
Binary files a/test/reference/stroke-image.quartz.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.ref.png b/test/reference/stroke-image.ref.png
deleted file mode 100644 (file)
index 899c159..0000000
Binary files a/test/reference/stroke-image.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.rgb24.ref.png b/test/reference/stroke-image.rgb24.ref.png
deleted file mode 100644 (file)
index 03a07eb..0000000
Binary files a/test/reference/stroke-image.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.traps.argb32.ref.png b/test/reference/stroke-image.traps.argb32.ref.png
deleted file mode 100644 (file)
index 75737d5..0000000
Binary files a/test/reference/stroke-image.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.traps.rgb24.ref.png b/test/reference/stroke-image.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 75737d5..0000000
Binary files a/test/reference/stroke-image.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-open-box.argb32.ref.png b/test/reference/stroke-open-box.argb32.ref.png
deleted file mode 100644 (file)
index b5f5bd5..0000000
Binary files a/test/reference/stroke-open-box.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-open-box.base.argb32.ref.png b/test/reference/stroke-open-box.base.argb32.ref.png
deleted file mode 100644 (file)
index b5f5bd5..0000000
Binary files a/test/reference/stroke-open-box.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-open-box.base.rgb24.ref.png b/test/reference/stroke-open-box.base.rgb24.ref.png
deleted file mode 100644 (file)
index b5f5bd5..0000000
Binary files a/test/reference/stroke-open-box.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-open-box.egl.argb32.ref.png b/test/reference/stroke-open-box.egl.argb32.ref.png
deleted file mode 100644 (file)
index b5f5bd5..0000000
Binary files a/test/reference/stroke-open-box.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-open-box.mask.argb32.ref.png b/test/reference/stroke-open-box.mask.argb32.ref.png
deleted file mode 100644 (file)
index b5f5bd5..0000000
Binary files a/test/reference/stroke-open-box.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-open-box.mask.rgb24.ref.png b/test/reference/stroke-open-box.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b5f5bd5..0000000
Binary files a/test/reference/stroke-open-box.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-open-box.ref.png b/test/reference/stroke-open-box.ref.png
deleted file mode 100644 (file)
index b5f5bd5..0000000
Binary files a/test/reference/stroke-open-box.ref.png and /dev/null differ
diff --git a/test/reference/stroke-open-box.rgb24.ref.png b/test/reference/stroke-open-box.rgb24.ref.png
deleted file mode 100644 (file)
index b5f5bd5..0000000
Binary files a/test/reference/stroke-open-box.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-open-box.traps.argb32.ref.png b/test/reference/stroke-open-box.traps.argb32.ref.png
deleted file mode 100644 (file)
index b5f5bd5..0000000
Binary files a/test/reference/stroke-open-box.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-open-box.traps.rgb24.ref.png b/test/reference/stroke-open-box.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b5f5bd5..0000000
Binary files a/test/reference/stroke-open-box.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.argb32.ref.png b/test/reference/stroke-pattern.argb32.ref.png
deleted file mode 100644 (file)
index 38ff6ad..0000000
Binary files a/test/reference/stroke-pattern.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.base.argb32.ref.png b/test/reference/stroke-pattern.base.argb32.ref.png
deleted file mode 100644 (file)
index 67bb031..0000000
Binary files a/test/reference/stroke-pattern.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.base.rgb24.ref.png b/test/reference/stroke-pattern.base.rgb24.ref.png
deleted file mode 100644 (file)
index 67bb031..0000000
Binary files a/test/reference/stroke-pattern.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.egl.argb32.ref.png b/test/reference/stroke-pattern.egl.argb32.ref.png
deleted file mode 100644 (file)
index e8af799..0000000
Binary files a/test/reference/stroke-pattern.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.mask.argb32.ref.png b/test/reference/stroke-pattern.mask.argb32.ref.png
deleted file mode 100644 (file)
index 38ff6ad..0000000
Binary files a/test/reference/stroke-pattern.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.mask.rgb24.ref.png b/test/reference/stroke-pattern.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 38ff6ad..0000000
Binary files a/test/reference/stroke-pattern.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.ref.png b/test/reference/stroke-pattern.ref.png
deleted file mode 100644 (file)
index 61ea33e..0000000
Binary files a/test/reference/stroke-pattern.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.rgb24.ref.png b/test/reference/stroke-pattern.rgb24.ref.png
deleted file mode 100644 (file)
index 38ff6ad..0000000
Binary files a/test/reference/stroke-pattern.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.traps.argb32.ref.png b/test/reference/stroke-pattern.traps.argb32.ref.png
deleted file mode 100644 (file)
index 67bb031..0000000
Binary files a/test/reference/stroke-pattern.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.traps.ref.png b/test/reference/stroke-pattern.traps.ref.png
deleted file mode 100644 (file)
index 67bb031..0000000
Binary files a/test/reference/stroke-pattern.traps.ref.png and /dev/null differ
diff --git a/test/reference/stroke-pattern.traps.rgb24.ref.png b/test/reference/stroke-pattern.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 67bb031..0000000
Binary files a/test/reference/stroke-pattern.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-xlib-fallback.rgb24.ref.png b/test/reference/stroke-xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 75737d5..0000000
Binary files a/test/reference/stroke-xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-xlib-window.rgb24.ref.png b/test/reference/stroke-xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 75737d5..0000000
Binary files a/test/reference/stroke-xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/stroke-xlib.argb32.ref.png b/test/reference/stroke-xlib.argb32.ref.png
deleted file mode 100644 (file)
index 75737d5..0000000
Binary files a/test/reference/stroke-xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/stroke-xlib.rgb24.ref.png b/test/reference/stroke-xlib.rgb24.ref.png
deleted file mode 100644 (file)
index 75737d5..0000000
Binary files a/test/reference/stroke-xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.argb32.ref.png b/test/reference/subsurface-image-repeat.argb32.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.base.argb32.ref.png b/test/reference/subsurface-image-repeat.base.argb32.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.base.rgb24.ref.png b/test/reference/subsurface-image-repeat.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.egl.argb32.ref.png b/test/reference/subsurface-image-repeat.egl.argb32.ref.png
deleted file mode 100644 (file)
index b51dd8c..0000000
Binary files a/test/reference/subsurface-image-repeat.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.image16.ref.png b/test/reference/subsurface-image-repeat.image16.ref.png
deleted file mode 100644 (file)
index a62f210..0000000
Binary files a/test/reference/subsurface-image-repeat.image16.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.mask.argb32.ref.png b/test/reference/subsurface-image-repeat.mask.argb32.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.mask.rgb24.ref.png b/test/reference/subsurface-image-repeat.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.ref.png b/test/reference/subsurface-image-repeat.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.rgb24.ref.png b/test/reference/subsurface-image-repeat.rgb24.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.traps.argb32.ref.png b/test/reference/subsurface-image-repeat.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.traps.rgb24.ref.png b/test/reference/subsurface-image-repeat.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.xlib-fallback.rgb24.ref.png b/test/reference/subsurface-image-repeat.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-image-repeat.xlib-window.rgb24.ref.png b/test/reference/subsurface-image-repeat.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index 3dd6306..0000000
Binary files a/test/reference/subsurface-image-repeat.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-child.argb32.ref.png b/test/reference/subsurface-modify-child.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-child.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-child.base.argb32.ref.png b/test/reference/subsurface-modify-child.base.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-child.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-child.base.rgb24.ref.png b/test/reference/subsurface-modify-child.base.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-child.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-child.egl.argb32.ref.png b/test/reference/subsurface-modify-child.egl.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-child.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-child.mask.argb32.ref.png b/test/reference/subsurface-modify-child.mask.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-child.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-child.mask.rgb24.ref.png b/test/reference/subsurface-modify-child.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-child.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-child.ref.png b/test/reference/subsurface-modify-child.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-child.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-child.rgb24.ref.png b/test/reference/subsurface-modify-child.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-child.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-child.traps.argb32.ref.png b/test/reference/subsurface-modify-child.traps.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-child.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-child.traps.rgb24.ref.png b/test/reference/subsurface-modify-child.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-child.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-parent.argb32.ref.png b/test/reference/subsurface-modify-parent.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-parent.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-parent.base.argb32.ref.png b/test/reference/subsurface-modify-parent.base.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-parent.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-parent.base.rgb24.ref.png b/test/reference/subsurface-modify-parent.base.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-parent.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-parent.egl.argb32.ref.png b/test/reference/subsurface-modify-parent.egl.argb32.ref.png
deleted file mode 100644 (file)
index b7c53b0..0000000
Binary files a/test/reference/subsurface-modify-parent.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-parent.mask.argb32.ref.png b/test/reference/subsurface-modify-parent.mask.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-parent.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-parent.mask.rgb24.ref.png b/test/reference/subsurface-modify-parent.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-parent.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-parent.ref.png b/test/reference/subsurface-modify-parent.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-parent.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-parent.rgb24.ref.png b/test/reference/subsurface-modify-parent.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-parent.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-parent.traps.argb32.ref.png b/test/reference/subsurface-modify-parent.traps.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-parent.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-modify-parent.traps.rgb24.ref.png b/test/reference/subsurface-modify-parent.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-modify-parent.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-outside-target.argb32.ref.png b/test/reference/subsurface-outside-target.argb32.ref.png
deleted file mode 100644 (file)
index 337cdd8..0000000
Binary files a/test/reference/subsurface-outside-target.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-outside-target.base.argb32.ref.png b/test/reference/subsurface-outside-target.base.argb32.ref.png
deleted file mode 100644 (file)
index 337cdd8..0000000
Binary files a/test/reference/subsurface-outside-target.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-outside-target.base.rgb24.ref.png b/test/reference/subsurface-outside-target.base.rgb24.ref.png
deleted file mode 100644 (file)
index 368936e..0000000
Binary files a/test/reference/subsurface-outside-target.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-outside-target.egl.argb32.ref.png b/test/reference/subsurface-outside-target.egl.argb32.ref.png
deleted file mode 100644 (file)
index d86289a..0000000
Binary files a/test/reference/subsurface-outside-target.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-outside-target.mask.argb32.ref.png b/test/reference/subsurface-outside-target.mask.argb32.ref.png
deleted file mode 100644 (file)
index 337cdd8..0000000
Binary files a/test/reference/subsurface-outside-target.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-outside-target.mask.rgb24.ref.png b/test/reference/subsurface-outside-target.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 368936e..0000000
Binary files a/test/reference/subsurface-outside-target.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-outside-target.rgb24.ref.png b/test/reference/subsurface-outside-target.rgb24.ref.png
deleted file mode 100644 (file)
index 368936e..0000000
Binary files a/test/reference/subsurface-outside-target.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-outside-target.traps.argb32.ref.png b/test/reference/subsurface-outside-target.traps.argb32.ref.png
deleted file mode 100644 (file)
index 337cdd8..0000000
Binary files a/test/reference/subsurface-outside-target.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-outside-target.traps.rgb24.ref.png b/test/reference/subsurface-outside-target.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 368936e..0000000
Binary files a/test/reference/subsurface-outside-target.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.argb32.ref.png b/test/reference/subsurface-pad.argb32.ref.png
deleted file mode 100644 (file)
index eeb9f8f..0000000
Binary files a/test/reference/subsurface-pad.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.base.argb32.ref.png b/test/reference/subsurface-pad.base.argb32.ref.png
deleted file mode 100644 (file)
index eeb9f8f..0000000
Binary files a/test/reference/subsurface-pad.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.base.rgb24.ref.png b/test/reference/subsurface-pad.base.rgb24.ref.png
deleted file mode 100644 (file)
index eeb9f8f..0000000
Binary files a/test/reference/subsurface-pad.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.egl.argb32.ref.png b/test/reference/subsurface-pad.egl.argb32.ref.png
deleted file mode 100644 (file)
index b7c53b0..0000000
Binary files a/test/reference/subsurface-pad.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.mask.argb32.ref.png b/test/reference/subsurface-pad.mask.argb32.ref.png
deleted file mode 100644 (file)
index eeb9f8f..0000000
Binary files a/test/reference/subsurface-pad.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.mask.rgb24.ref.png b/test/reference/subsurface-pad.mask.rgb24.ref.png
deleted file mode 100644 (file)
index eeb9f8f..0000000
Binary files a/test/reference/subsurface-pad.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.quartz.xfail.png b/test/reference/subsurface-pad.quartz.xfail.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-pad.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.ref.png b/test/reference/subsurface-pad.ref.png
deleted file mode 100644 (file)
index eeb9f8f..0000000
Binary files a/test/reference/subsurface-pad.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.rgb24.ref.png b/test/reference/subsurface-pad.rgb24.ref.png
deleted file mode 100644 (file)
index eeb9f8f..0000000
Binary files a/test/reference/subsurface-pad.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.traps.argb32.ref.png b/test/reference/subsurface-pad.traps.argb32.ref.png
deleted file mode 100644 (file)
index eeb9f8f..0000000
Binary files a/test/reference/subsurface-pad.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-pad.traps.rgb24.ref.png b/test/reference/subsurface-pad.traps.rgb24.ref.png
deleted file mode 100644 (file)
index eeb9f8f..0000000
Binary files a/test/reference/subsurface-pad.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-reflect.argb32.ref.png b/test/reference/subsurface-reflect.argb32.ref.png
deleted file mode 100644 (file)
index 55643f4..0000000
Binary files a/test/reference/subsurface-reflect.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-reflect.base.argb32.ref.png b/test/reference/subsurface-reflect.base.argb32.ref.png
deleted file mode 100644 (file)
index 55643f4..0000000
Binary files a/test/reference/subsurface-reflect.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-reflect.base.rgb24.ref.png b/test/reference/subsurface-reflect.base.rgb24.ref.png
deleted file mode 100644 (file)
index 55643f4..0000000
Binary files a/test/reference/subsurface-reflect.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-reflect.egl.argb32.ref.png b/test/reference/subsurface-reflect.egl.argb32.ref.png
deleted file mode 100644 (file)
index b7c53b0..0000000
Binary files a/test/reference/subsurface-reflect.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-reflect.mask.argb32.ref.png b/test/reference/subsurface-reflect.mask.argb32.ref.png
deleted file mode 100644 (file)
index 55643f4..0000000
Binary files a/test/reference/subsurface-reflect.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-reflect.mask.rgb24.ref.png b/test/reference/subsurface-reflect.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 55643f4..0000000
Binary files a/test/reference/subsurface-reflect.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-reflect.ref.png b/test/reference/subsurface-reflect.ref.png
deleted file mode 100644 (file)
index 55643f4..0000000
Binary files a/test/reference/subsurface-reflect.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-reflect.rgb24.ref.png b/test/reference/subsurface-reflect.rgb24.ref.png
deleted file mode 100644 (file)
index 55643f4..0000000
Binary files a/test/reference/subsurface-reflect.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-reflect.traps.argb32.ref.png b/test/reference/subsurface-reflect.traps.argb32.ref.png
deleted file mode 100644 (file)
index 55643f4..0000000
Binary files a/test/reference/subsurface-reflect.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-reflect.traps.rgb24.ref.png b/test/reference/subsurface-reflect.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 55643f4..0000000
Binary files a/test/reference/subsurface-reflect.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-repeat.argb32.ref.png b/test/reference/subsurface-repeat.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-repeat.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-repeat.base.argb32.ref.png b/test/reference/subsurface-repeat.base.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-repeat.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-repeat.base.rgb24.ref.png b/test/reference/subsurface-repeat.base.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-repeat.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-repeat.egl.argb32.ref.png b/test/reference/subsurface-repeat.egl.argb32.ref.png
deleted file mode 100644 (file)
index b7c53b0..0000000
Binary files a/test/reference/subsurface-repeat.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-repeat.mask.argb32.ref.png b/test/reference/subsurface-repeat.mask.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-repeat.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-repeat.mask.rgb24.ref.png b/test/reference/subsurface-repeat.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-repeat.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-repeat.ref.png b/test/reference/subsurface-repeat.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-repeat.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-repeat.rgb24.ref.png b/test/reference/subsurface-repeat.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-repeat.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-repeat.traps.argb32.ref.png b/test/reference/subsurface-repeat.traps.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-repeat.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-repeat.traps.rgb24.ref.png b/test/reference/subsurface-repeat.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-repeat.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.argb32.ref.png b/test/reference/subsurface-scale.argb32.ref.png
deleted file mode 100644 (file)
index 69bb0fb..0000000
Binary files a/test/reference/subsurface-scale.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.base.argb32.ref.png b/test/reference/subsurface-scale.base.argb32.ref.png
deleted file mode 100644 (file)
index 69bb0fb..0000000
Binary files a/test/reference/subsurface-scale.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.base.ref.png b/test/reference/subsurface-scale.base.ref.png
deleted file mode 100644 (file)
index 41ff4f4..0000000
Binary files a/test/reference/subsurface-scale.base.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.base.rgb24.ref.png b/test/reference/subsurface-scale.base.rgb24.ref.png
deleted file mode 100644 (file)
index 69bb0fb..0000000
Binary files a/test/reference/subsurface-scale.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.egl.argb32.ref.png b/test/reference/subsurface-scale.egl.argb32.ref.png
deleted file mode 100644 (file)
index bd6afa7..0000000
Binary files a/test/reference/subsurface-scale.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.mask.argb32.ref.png b/test/reference/subsurface-scale.mask.argb32.ref.png
deleted file mode 100644 (file)
index 69bb0fb..0000000
Binary files a/test/reference/subsurface-scale.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.mask.rgb24.ref.png b/test/reference/subsurface-scale.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 69bb0fb..0000000
Binary files a/test/reference/subsurface-scale.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.ref.png b/test/reference/subsurface-scale.ref.png
deleted file mode 100644 (file)
index 41ff4f4..0000000
Binary files a/test/reference/subsurface-scale.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.rgb24.ref.png b/test/reference/subsurface-scale.rgb24.ref.png
deleted file mode 100644 (file)
index 69bb0fb..0000000
Binary files a/test/reference/subsurface-scale.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.traps.argb32.ref.png b/test/reference/subsurface-scale.traps.argb32.ref.png
deleted file mode 100644 (file)
index 69bb0fb..0000000
Binary files a/test/reference/subsurface-scale.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-scale.traps.rgb24.ref.png b/test/reference/subsurface-scale.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 69bb0fb..0000000
Binary files a/test/reference/subsurface-scale.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-similar-repeat.argb32.ref.png b/test/reference/subsurface-similar-repeat.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-similar-repeat.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-similar-repeat.base.argb32.ref.png b/test/reference/subsurface-similar-repeat.base.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-similar-repeat.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-similar-repeat.base.rgb24.ref.png b/test/reference/subsurface-similar-repeat.base.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-similar-repeat.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-similar-repeat.egl.argb32.ref.png b/test/reference/subsurface-similar-repeat.egl.argb32.ref.png
deleted file mode 100644 (file)
index b51dd8c..0000000
Binary files a/test/reference/subsurface-similar-repeat.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-similar-repeat.mask.argb32.ref.png b/test/reference/subsurface-similar-repeat.mask.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-similar-repeat.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-similar-repeat.mask.rgb24.ref.png b/test/reference/subsurface-similar-repeat.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-similar-repeat.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-similar-repeat.ref.png b/test/reference/subsurface-similar-repeat.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-similar-repeat.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-similar-repeat.rgb24.ref.png b/test/reference/subsurface-similar-repeat.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-similar-repeat.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-similar-repeat.traps.argb32.ref.png b/test/reference/subsurface-similar-repeat.traps.argb32.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-similar-repeat.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface-similar-repeat.traps.rgb24.ref.png b/test/reference/subsurface-similar-repeat.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c37e22e..0000000
Binary files a/test/reference/subsurface-similar-repeat.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.argb32.ref.png b/test/reference/subsurface.argb32.ref.png
deleted file mode 100644 (file)
index feeb5dc..0000000
Binary files a/test/reference/subsurface.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.base.argb32.ref.png b/test/reference/subsurface.base.argb32.ref.png
deleted file mode 100644 (file)
index feeb5dc..0000000
Binary files a/test/reference/subsurface.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.base.rgb24.ref.png b/test/reference/subsurface.base.rgb24.ref.png
deleted file mode 100644 (file)
index feeb5dc..0000000
Binary files a/test/reference/subsurface.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.egl.argb32.ref.png b/test/reference/subsurface.egl.argb32.ref.png
deleted file mode 100644 (file)
index eaf97e1..0000000
Binary files a/test/reference/subsurface.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.image16.ref.png b/test/reference/subsurface.image16.ref.png
deleted file mode 100644 (file)
index ba9b7ed..0000000
Binary files a/test/reference/subsurface.image16.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.mask.argb32.ref.png b/test/reference/subsurface.mask.argb32.ref.png
deleted file mode 100644 (file)
index feeb5dc..0000000
Binary files a/test/reference/subsurface.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.mask.rgb24.ref.png b/test/reference/subsurface.mask.rgb24.ref.png
deleted file mode 100644 (file)
index feeb5dc..0000000
Binary files a/test/reference/subsurface.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.ps.ref.png b/test/reference/subsurface.ps.ref.png
deleted file mode 100644 (file)
index 51e19fc..0000000
Binary files a/test/reference/subsurface.ps.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.ref.png b/test/reference/subsurface.ref.png
deleted file mode 100644 (file)
index 77e3c23..0000000
Binary files a/test/reference/subsurface.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.rgb24.ref.png b/test/reference/subsurface.rgb24.ref.png
deleted file mode 100644 (file)
index feeb5dc..0000000
Binary files a/test/reference/subsurface.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.traps.argb32.ref.png b/test/reference/subsurface.traps.argb32.ref.png
deleted file mode 100644 (file)
index feeb5dc..0000000
Binary files a/test/reference/subsurface.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.traps.rgb24.ref.png b/test/reference/subsurface.traps.rgb24.ref.png
deleted file mode 100644 (file)
index feeb5dc..0000000
Binary files a/test/reference/subsurface.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.argb32.ref.png b/test/reference/surface-pattern-big-scale-down.argb32.ref.png
deleted file mode 100644 (file)
index c050990..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.base.argb32.ref.png b/test/reference/surface-pattern-big-scale-down.base.argb32.ref.png
deleted file mode 100644 (file)
index c050990..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.base.rgb24.ref.png b/test/reference/surface-pattern-big-scale-down.base.rgb24.ref.png
deleted file mode 100644 (file)
index c050990..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.egl.argb32.ref.png b/test/reference/surface-pattern-big-scale-down.egl.argb32.ref.png
deleted file mode 100644 (file)
index c050990..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.mask.argb32.ref.png b/test/reference/surface-pattern-big-scale-down.mask.argb32.ref.png
deleted file mode 100644 (file)
index c050990..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.mask.rgb24.ref.png b/test/reference/surface-pattern-big-scale-down.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c050990..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.ps.ref.png b/test/reference/surface-pattern-big-scale-down.ps.ref.png
deleted file mode 100644 (file)
index 13fb093..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.ps.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.quartz.ref.png b/test/reference/surface-pattern-big-scale-down.quartz.ref.png
deleted file mode 100644 (file)
index 32deb2d..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.quartz.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.ref.png b/test/reference/surface-pattern-big-scale-down.ref.png
deleted file mode 100644 (file)
index c050990..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.rgb24.ref.png b/test/reference/surface-pattern-big-scale-down.rgb24.ref.png
deleted file mode 100644 (file)
index c050990..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.traps.argb32.ref.png b/test/reference/surface-pattern-big-scale-down.traps.argb32.ref.png
deleted file mode 100644 (file)
index c050990..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-big-scale-down.traps.rgb24.ref.png b/test/reference/surface-pattern-big-scale-down.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c050990..0000000
Binary files a/test/reference/surface-pattern-big-scale-down.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.argb32.ref.png b/test/reference/surface-pattern-operator.argb32.ref.png
deleted file mode 100644 (file)
index 8178030..0000000
Binary files a/test/reference/surface-pattern-operator.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.base.argb32.ref.png b/test/reference/surface-pattern-operator.base.argb32.ref.png
deleted file mode 100644 (file)
index 670d3c3..0000000
Binary files a/test/reference/surface-pattern-operator.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.base.rgb24.ref.png b/test/reference/surface-pattern-operator.base.rgb24.ref.png
deleted file mode 100644 (file)
index 23e540d..0000000
Binary files a/test/reference/surface-pattern-operator.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.egl.argb32.ref.png b/test/reference/surface-pattern-operator.egl.argb32.ref.png
deleted file mode 100644 (file)
index ca85992..0000000
Binary files a/test/reference/surface-pattern-operator.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.image16.ref.png b/test/reference/surface-pattern-operator.image16.ref.png
deleted file mode 100644 (file)
index 507e49c..0000000
Binary files a/test/reference/surface-pattern-operator.image16.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.mask.argb32.ref.png b/test/reference/surface-pattern-operator.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8178030..0000000
Binary files a/test/reference/surface-pattern-operator.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.mask.rgb24.ref.png b/test/reference/surface-pattern-operator.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2378bdd..0000000
Binary files a/test/reference/surface-pattern-operator.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.pdf.argb32.xfail.png b/test/reference/surface-pattern-operator.pdf.argb32.xfail.png
deleted file mode 100644 (file)
index 371d084..0000000
Binary files a/test/reference/surface-pattern-operator.pdf.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.pdf.rgb24.xfail.png b/test/reference/surface-pattern-operator.pdf.rgb24.xfail.png
deleted file mode 100644 (file)
index a2da18d..0000000
Binary files a/test/reference/surface-pattern-operator.pdf.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.quartz.argb32.ref.png b/test/reference/surface-pattern-operator.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 5e934b2..0000000
Binary files a/test/reference/surface-pattern-operator.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.quartz.rgb24.ref.png b/test/reference/surface-pattern-operator.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 30408c1..0000000
Binary files a/test/reference/surface-pattern-operator.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.rgb24.ref.png b/test/reference/surface-pattern-operator.rgb24.ref.png
deleted file mode 100644 (file)
index 2378bdd..0000000
Binary files a/test/reference/surface-pattern-operator.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.traps.argb32.ref.png b/test/reference/surface-pattern-operator.traps.argb32.ref.png
deleted file mode 100644 (file)
index 670d3c3..0000000
Binary files a/test/reference/surface-pattern-operator.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.traps.rgb24.ref.png b/test/reference/surface-pattern-operator.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 23e540d..0000000
Binary files a/test/reference/surface-pattern-operator.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-none.argb32.ref.png
deleted file mode 100644 (file)
index 9df14cc..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.base.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-none.base.argb32.ref.png
deleted file mode 100644 (file)
index 9df14cc..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.base.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-none.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9df14cc..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.egl.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-none.egl.argb32.ref.png
deleted file mode 100644 (file)
index 044b32d..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.mask.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-none.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9df14cc..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-none.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9df14cc..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.quartz.ref.png b/test/reference/surface-pattern-scale-down-extend-none.quartz.ref.png
deleted file mode 100644 (file)
index e126cbb..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.quartz.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.ref.png b/test/reference/surface-pattern-scale-down-extend-none.ref.png
deleted file mode 100644 (file)
index 9df14cc..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-none.rgb24.ref.png
deleted file mode 100644 (file)
index 9df14cc..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.traps.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-none.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9df14cc..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-none.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 9df14cc..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-none.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.argb32.ref.png
deleted file mode 100644 (file)
index 2ee9419..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.base.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.base.argb32.ref.png
deleted file mode 100644 (file)
index 2ee9419..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.base.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.base.rgb24.ref.png
deleted file mode 100644 (file)
index 2ee9419..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.egl.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.egl.argb32.ref.png
deleted file mode 100644 (file)
index b105222..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.mask.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.mask.argb32.ref.png
deleted file mode 100644 (file)
index 2ee9419..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 2ee9419..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.quartz.xfail.png b/test/reference/surface-pattern-scale-down-extend-pad.quartz.xfail.png
deleted file mode 100644 (file)
index 6b8f754..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.ref.png
deleted file mode 100644 (file)
index 2ee9419..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.rgb24.ref.png
deleted file mode 100644 (file)
index 2ee9419..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.traps.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.traps.argb32.ref.png
deleted file mode 100644 (file)
index 2ee9419..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 2ee9419..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-pad.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.argb32.ref.png
deleted file mode 100644 (file)
index f2e93a7..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.base.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.base.argb32.ref.png
deleted file mode 100644 (file)
index f2e93a7..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.base.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.base.rgb24.ref.png
deleted file mode 100644 (file)
index f2e93a7..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.egl.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.egl.argb32.ref.png
deleted file mode 100644 (file)
index 4c6412f..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.mask.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.mask.argb32.ref.png
deleted file mode 100644 (file)
index f2e93a7..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f2e93a7..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.quartz.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.quartz.ref.png
deleted file mode 100644 (file)
index ef5e62e..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.quartz.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.ref.png
deleted file mode 100644 (file)
index f2e93a7..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.rgb24.ref.png
deleted file mode 100644 (file)
index f2e93a7..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.traps.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.traps.argb32.ref.png
deleted file mode 100644 (file)
index f2e93a7..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f2e93a7..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-reflect.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.argb32.ref.png
deleted file mode 100644 (file)
index c5cff0f..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.base.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.base.argb32.ref.png
deleted file mode 100644 (file)
index c5cff0f..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.base.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.base.rgb24.ref.png
deleted file mode 100644 (file)
index c5cff0f..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.egl.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.egl.argb32.ref.png
deleted file mode 100644 (file)
index 03e44fa..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.mask.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.mask.argb32.ref.png
deleted file mode 100644 (file)
index c5cff0f..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c5cff0f..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.quartz.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.quartz.ref.png
deleted file mode 100644 (file)
index 6b8f754..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.quartz.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.ref.png
deleted file mode 100644 (file)
index c5cff0f..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.rgb24.ref.png
deleted file mode 100644 (file)
index c5cff0f..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.traps.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.traps.argb32.ref.png
deleted file mode 100644 (file)
index c5cff0f..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c5cff0f..0000000
Binary files a/test/reference/surface-pattern-scale-down-extend-repeat.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.argb32.ref.png b/test/reference/surface-pattern-scale-down.argb32.ref.png
deleted file mode 100644 (file)
index 8bb58a2..0000000
Binary files a/test/reference/surface-pattern-scale-down.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.base.argb32.ref.png b/test/reference/surface-pattern-scale-down.base.argb32.ref.png
deleted file mode 100644 (file)
index 8bb58a2..0000000
Binary files a/test/reference/surface-pattern-scale-down.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.base.rgb24.ref.png b/test/reference/surface-pattern-scale-down.base.rgb24.ref.png
deleted file mode 100644 (file)
index 8bb58a2..0000000
Binary files a/test/reference/surface-pattern-scale-down.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.egl.argb32.ref.png b/test/reference/surface-pattern-scale-down.egl.argb32.ref.png
deleted file mode 100644 (file)
index 7769699..0000000
Binary files a/test/reference/surface-pattern-scale-down.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.image16.ref.png b/test/reference/surface-pattern-scale-down.image16.ref.png
deleted file mode 100644 (file)
index 8be8fb0..0000000
Binary files a/test/reference/surface-pattern-scale-down.image16.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.mask.argb32.ref.png b/test/reference/surface-pattern-scale-down.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8bb58a2..0000000
Binary files a/test/reference/surface-pattern-scale-down.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-down.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8bb58a2..0000000
Binary files a/test/reference/surface-pattern-scale-down.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.pdf.ref.png b/test/reference/surface-pattern-scale-down.pdf.ref.png
deleted file mode 100644 (file)
index 1e32a44..0000000
Binary files a/test/reference/surface-pattern-scale-down.pdf.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.ps2.ref.png b/test/reference/surface-pattern-scale-down.ps2.ref.png
deleted file mode 100644 (file)
index 5fb6395..0000000
Binary files a/test/reference/surface-pattern-scale-down.ps2.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.ps3.ref.png b/test/reference/surface-pattern-scale-down.ps3.ref.png
deleted file mode 100644 (file)
index 5fb6395..0000000
Binary files a/test/reference/surface-pattern-scale-down.ps3.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.quartz.ref.png b/test/reference/surface-pattern-scale-down.quartz.ref.png
deleted file mode 100644 (file)
index 5b3ace4..0000000
Binary files a/test/reference/surface-pattern-scale-down.quartz.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.ref.png b/test/reference/surface-pattern-scale-down.ref.png
deleted file mode 100644 (file)
index b7255ef..0000000
Binary files a/test/reference/surface-pattern-scale-down.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.rgb24.ref.png b/test/reference/surface-pattern-scale-down.rgb24.ref.png
deleted file mode 100644 (file)
index 8bb58a2..0000000
Binary files a/test/reference/surface-pattern-scale-down.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.traps.argb32.ref.png b/test/reference/surface-pattern-scale-down.traps.argb32.ref.png
deleted file mode 100644 (file)
index 8bb58a2..0000000
Binary files a/test/reference/surface-pattern-scale-down.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-down.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-down.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 8bb58a2..0000000
Binary files a/test/reference/surface-pattern-scale-down.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.argb32.ref.png b/test/reference/surface-pattern-scale-up.argb32.ref.png
deleted file mode 100644 (file)
index e8d84e2..0000000
Binary files a/test/reference/surface-pattern-scale-up.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.base.argb32.ref.png b/test/reference/surface-pattern-scale-up.base.argb32.ref.png
deleted file mode 100644 (file)
index e8d84e2..0000000
Binary files a/test/reference/surface-pattern-scale-up.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.base.rgb24.ref.png b/test/reference/surface-pattern-scale-up.base.rgb24.ref.png
deleted file mode 100644 (file)
index e8d84e2..0000000
Binary files a/test/reference/surface-pattern-scale-up.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.egl.argb32.ref.png b/test/reference/surface-pattern-scale-up.egl.argb32.ref.png
deleted file mode 100644 (file)
index ef90783..0000000
Binary files a/test/reference/surface-pattern-scale-up.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.image16.ref.png b/test/reference/surface-pattern-scale-up.image16.ref.png
deleted file mode 100644 (file)
index 5207bd3..0000000
Binary files a/test/reference/surface-pattern-scale-up.image16.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.mask.argb32.ref.png b/test/reference/surface-pattern-scale-up.mask.argb32.ref.png
deleted file mode 100644 (file)
index e8d84e2..0000000
Binary files a/test/reference/surface-pattern-scale-up.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.mask.rgb24.ref.png b/test/reference/surface-pattern-scale-up.mask.rgb24.ref.png
deleted file mode 100644 (file)
index e8d84e2..0000000
Binary files a/test/reference/surface-pattern-scale-up.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.pdf.ref.png b/test/reference/surface-pattern-scale-up.pdf.ref.png
deleted file mode 100644 (file)
index 593d058..0000000
Binary files a/test/reference/surface-pattern-scale-up.pdf.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.ps2.ref.png b/test/reference/surface-pattern-scale-up.ps2.ref.png
deleted file mode 100644 (file)
index f2eac7a..0000000
Binary files a/test/reference/surface-pattern-scale-up.ps2.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.ps3.ref.png b/test/reference/surface-pattern-scale-up.ps3.ref.png
deleted file mode 100644 (file)
index f2eac7a..0000000
Binary files a/test/reference/surface-pattern-scale-up.ps3.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.quartz.xfail.png b/test/reference/surface-pattern-scale-up.quartz.xfail.png
deleted file mode 100644 (file)
index ed52ee8..0000000
Binary files a/test/reference/surface-pattern-scale-up.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.ref.png b/test/reference/surface-pattern-scale-up.ref.png
deleted file mode 100644 (file)
index 41aafaf..0000000
Binary files a/test/reference/surface-pattern-scale-up.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.rgb24.ref.png b/test/reference/surface-pattern-scale-up.rgb24.ref.png
deleted file mode 100644 (file)
index e8d84e2..0000000
Binary files a/test/reference/surface-pattern-scale-up.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.traps.argb32.ref.png b/test/reference/surface-pattern-scale-up.traps.argb32.ref.png
deleted file mode 100644 (file)
index e8d84e2..0000000
Binary files a/test/reference/surface-pattern-scale-up.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-scale-up.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-up.traps.rgb24.ref.png
deleted file mode 100644 (file)
index e8d84e2..0000000
Binary files a/test/reference/surface-pattern-scale-up.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.argb32.ref.png b/test/reference/surface-pattern.argb32.ref.png
deleted file mode 100644 (file)
index 079ebfb..0000000
Binary files a/test/reference/surface-pattern.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.base.argb32.ref.png b/test/reference/surface-pattern.base.argb32.ref.png
deleted file mode 100644 (file)
index 079ebfb..0000000
Binary files a/test/reference/surface-pattern.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.base.rgb24.ref.png b/test/reference/surface-pattern.base.rgb24.ref.png
deleted file mode 100644 (file)
index 079ebfb..0000000
Binary files a/test/reference/surface-pattern.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.egl.argb32.ref.png b/test/reference/surface-pattern.egl.argb32.ref.png
deleted file mode 100644 (file)
index 7d91fb2..0000000
Binary files a/test/reference/surface-pattern.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.image16.ref.png b/test/reference/surface-pattern.image16.ref.png
deleted file mode 100644 (file)
index 9090097..0000000
Binary files a/test/reference/surface-pattern.image16.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.mask.argb32.ref.png b/test/reference/surface-pattern.mask.argb32.ref.png
deleted file mode 100644 (file)
index 079ebfb..0000000
Binary files a/test/reference/surface-pattern.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.mask.rgb24.ref.png b/test/reference/surface-pattern.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 079ebfb..0000000
Binary files a/test/reference/surface-pattern.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.pdf.xfail.png b/test/reference/surface-pattern.pdf.xfail.png
deleted file mode 100644 (file)
index fadc2c2..0000000
Binary files a/test/reference/surface-pattern.pdf.xfail.png and /dev/null differ
diff --git a/test/reference/surface-pattern.ps.xfail.png b/test/reference/surface-pattern.ps.xfail.png
deleted file mode 100644 (file)
index 02fbde8..0000000
Binary files a/test/reference/surface-pattern.ps.xfail.png and /dev/null differ
diff --git a/test/reference/surface-pattern.quartz.xfail.png b/test/reference/surface-pattern.quartz.xfail.png
deleted file mode 100644 (file)
index 4ac47de..0000000
Binary files a/test/reference/surface-pattern.quartz.xfail.png and /dev/null differ
diff --git a/test/reference/surface-pattern.ref.png b/test/reference/surface-pattern.ref.png
deleted file mode 100644 (file)
index db60da6..0000000
Binary files a/test/reference/surface-pattern.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.rgb24.ref.png b/test/reference/surface-pattern.rgb24.ref.png
deleted file mode 100644 (file)
index 079ebfb..0000000
Binary files a/test/reference/surface-pattern.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.svg.xfail.png b/test/reference/surface-pattern.svg.xfail.png
deleted file mode 100644 (file)
index cdbcf47..0000000
Binary files a/test/reference/surface-pattern.svg.xfail.png and /dev/null differ
diff --git a/test/reference/surface-pattern.traps.argb32.ref.png b/test/reference/surface-pattern.traps.argb32.ref.png
deleted file mode 100644 (file)
index 079ebfb..0000000
Binary files a/test/reference/surface-pattern.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern.traps.rgb24.ref.png b/test/reference/surface-pattern.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 079ebfb..0000000
Binary files a/test/reference/surface-pattern.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.argb32.ref.png b/test/reference/svg-surface-source.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/svg-surface-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.base.argb32.ref.png b/test/reference/svg-surface-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/svg-surface-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.base.rgb24.ref.png b/test/reference/svg-surface-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/svg-surface-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.egl.argb32.ref.png b/test/reference/svg-surface-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/svg-surface-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.image16.ref.png b/test/reference/svg-surface-source.image16.ref.png
deleted file mode 100644 (file)
index 2a7460e..0000000
Binary files a/test/reference/svg-surface-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.mask.argb32.ref.png b/test/reference/svg-surface-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/svg-surface-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.mask.rgb24.ref.png b/test/reference/svg-surface-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/svg-surface-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.rgb24.ref.png b/test/reference/svg-surface-source.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/svg-surface-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.svg12.argb32.xfail.png b/test/reference/svg-surface-source.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index 6ebcaf9..0000000
Binary files a/test/reference/svg-surface-source.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.svg12.rgb24.xfail.png b/test/reference/svg-surface-source.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 6ebcaf9..0000000
Binary files a/test/reference/svg-surface-source.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.traps.argb32.ref.png b/test/reference/svg-surface-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/svg-surface-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/svg-surface-source.traps.rgb24.ref.png b/test/reference/svg-surface-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/svg-surface-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.argb32.ref.png b/test/reference/text-antialias-gray.argb32.ref.png
deleted file mode 100644 (file)
index 06b805e..0000000
Binary files a/test/reference/text-antialias-gray.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.base.argb32.ref.png b/test/reference/text-antialias-gray.base.argb32.ref.png
deleted file mode 100644 (file)
index 06b805e..0000000
Binary files a/test/reference/text-antialias-gray.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.base.rgb24.ref.png b/test/reference/text-antialias-gray.base.rgb24.ref.png
deleted file mode 100644 (file)
index 06b805e..0000000
Binary files a/test/reference/text-antialias-gray.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.image16.ref.png b/test/reference/text-antialias-gray.image16.ref.png
deleted file mode 100644 (file)
index c86dbae..0000000
Binary files a/test/reference/text-antialias-gray.image16.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.mask.argb32.ref.png b/test/reference/text-antialias-gray.mask.argb32.ref.png
deleted file mode 100644 (file)
index 06b805e..0000000
Binary files a/test/reference/text-antialias-gray.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.mask.rgb24.ref.png b/test/reference/text-antialias-gray.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 06b805e..0000000
Binary files a/test/reference/text-antialias-gray.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.quartz.ref.png b/test/reference/text-antialias-gray.quartz.ref.png
deleted file mode 100644 (file)
index 63926a8..0000000
Binary files a/test/reference/text-antialias-gray.quartz.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.ref.png b/test/reference/text-antialias-gray.ref.png
deleted file mode 100644 (file)
index b1dbc20..0000000
Binary files a/test/reference/text-antialias-gray.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.rgb24.ref.png b/test/reference/text-antialias-gray.rgb24.ref.png
deleted file mode 100644 (file)
index 06b805e..0000000
Binary files a/test/reference/text-antialias-gray.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.traps.argb32.ref.png b/test/reference/text-antialias-gray.traps.argb32.ref.png
deleted file mode 100644 (file)
index 06b805e..0000000
Binary files a/test/reference/text-antialias-gray.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.traps.ref.png b/test/reference/text-antialias-gray.traps.ref.png
deleted file mode 100644 (file)
index 06b805e..0000000
Binary files a/test/reference/text-antialias-gray.traps.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-gray.traps.rgb24.ref.png b/test/reference/text-antialias-gray.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 06b805e..0000000
Binary files a/test/reference/text-antialias-gray.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.argb32.ref.png b/test/reference/text-antialias-none.argb32.ref.png
deleted file mode 100644 (file)
index 86c09cd..0000000
Binary files a/test/reference/text-antialias-none.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.base.argb32.ref.png b/test/reference/text-antialias-none.base.argb32.ref.png
deleted file mode 100644 (file)
index 86c09cd..0000000
Binary files a/test/reference/text-antialias-none.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.base.rgb24.ref.png b/test/reference/text-antialias-none.base.rgb24.ref.png
deleted file mode 100644 (file)
index 86c09cd..0000000
Binary files a/test/reference/text-antialias-none.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.mask.argb32.ref.png b/test/reference/text-antialias-none.mask.argb32.ref.png
deleted file mode 100644 (file)
index 86c09cd..0000000
Binary files a/test/reference/text-antialias-none.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.mask.rgb24.ref.png b/test/reference/text-antialias-none.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 86c09cd..0000000
Binary files a/test/reference/text-antialias-none.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.quartz.ref.png b/test/reference/text-antialias-none.quartz.ref.png
deleted file mode 100644 (file)
index 872b21d..0000000
Binary files a/test/reference/text-antialias-none.quartz.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.ref.png b/test/reference/text-antialias-none.ref.png
deleted file mode 100644 (file)
index bdd77bd..0000000
Binary files a/test/reference/text-antialias-none.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.rgb24.ref.png b/test/reference/text-antialias-none.rgb24.ref.png
deleted file mode 100644 (file)
index 86c09cd..0000000
Binary files a/test/reference/text-antialias-none.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.traps.argb32.ref.png b/test/reference/text-antialias-none.traps.argb32.ref.png
deleted file mode 100644 (file)
index 86c09cd..0000000
Binary files a/test/reference/text-antialias-none.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.traps.ref.png b/test/reference/text-antialias-none.traps.ref.png
deleted file mode 100644 (file)
index 86c09cd..0000000
Binary files a/test/reference/text-antialias-none.traps.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-none.traps.rgb24.ref.png b/test/reference/text-antialias-none.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 86c09cd..0000000
Binary files a/test/reference/text-antialias-none.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.argb32.ref.png b/test/reference/text-antialias-subpixel-bgr.argb32.ref.png
deleted file mode 100644 (file)
index a221472..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.base.argb32.ref.png b/test/reference/text-antialias-subpixel-bgr.base.argb32.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.base.rgb24.ref.png b/test/reference/text-antialias-subpixel-bgr.base.rgb24.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.egl.argb32.ref.png b/test/reference/text-antialias-subpixel-bgr.egl.argb32.ref.png
deleted file mode 100644 (file)
index 56394a4..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.image16.ref.png b/test/reference/text-antialias-subpixel-bgr.image16.ref.png
deleted file mode 100644 (file)
index 5a4e193..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.image16.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.mask.argb32.ref.png b/test/reference/text-antialias-subpixel-bgr.mask.argb32.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.mask.rgb24.ref.png b/test/reference/text-antialias-subpixel-bgr.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.ref.png b/test/reference/text-antialias-subpixel-bgr.ref.png
deleted file mode 100644 (file)
index fa64fa7..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.rgb24.ref.png b/test/reference/text-antialias-subpixel-bgr.rgb24.ref.png
deleted file mode 100644 (file)
index a221472..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.traps.argb32.ref.png b/test/reference/text-antialias-subpixel-bgr.traps.argb32.ref.png
deleted file mode 100644 (file)
index a221472..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.traps.ref.png b/test/reference/text-antialias-subpixel-bgr.traps.ref.png
deleted file mode 100644 (file)
index a221472..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.traps.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-bgr.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel-bgr.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a221472..0000000
Binary files a/test/reference/text-antialias-subpixel-bgr.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.argb32.ref.png b/test/reference/text-antialias-subpixel-rgb.argb32.ref.png
deleted file mode 100644 (file)
index af5e0ae..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.base.argb32.ref.png b/test/reference/text-antialias-subpixel-rgb.base.argb32.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.base.rgb24.ref.png b/test/reference/text-antialias-subpixel-rgb.base.rgb24.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.egl.argb32.ref.png b/test/reference/text-antialias-subpixel-rgb.egl.argb32.ref.png
deleted file mode 100644 (file)
index 56394a4..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.image16.ref.png b/test/reference/text-antialias-subpixel-rgb.image16.ref.png
deleted file mode 100644 (file)
index cf049b9..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.image16.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.mask.argb32.ref.png b/test/reference/text-antialias-subpixel-rgb.mask.argb32.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.mask.rgb24.ref.png b/test/reference/text-antialias-subpixel-rgb.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.ref.png b/test/reference/text-antialias-subpixel-rgb.ref.png
deleted file mode 100644 (file)
index 09da5fa..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.rgb24.ref.png b/test/reference/text-antialias-subpixel-rgb.rgb24.ref.png
deleted file mode 100644 (file)
index af5e0ae..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.traps.argb32.ref.png b/test/reference/text-antialias-subpixel-rgb.traps.argb32.ref.png
deleted file mode 100644 (file)
index af5e0ae..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.traps.ref.png b/test/reference/text-antialias-subpixel-rgb.traps.ref.png
deleted file mode 100644 (file)
index af5e0ae..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.traps.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-rgb.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel-rgb.traps.rgb24.ref.png
deleted file mode 100644 (file)
index af5e0ae..0000000
Binary files a/test/reference/text-antialias-subpixel-rgb.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.argb32.ref.png b/test/reference/text-antialias-subpixel-vbgr.argb32.ref.png
deleted file mode 100644 (file)
index 905579b..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.base.argb32.ref.png b/test/reference/text-antialias-subpixel-vbgr.base.argb32.ref.png
deleted file mode 100644 (file)
index 9fd35ea..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.base.rgb24.ref.png b/test/reference/text-antialias-subpixel-vbgr.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9fd35ea..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.egl.argb32.ref.png b/test/reference/text-antialias-subpixel-vbgr.egl.argb32.ref.png
deleted file mode 100644 (file)
index 56394a4..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.image16.ref.png b/test/reference/text-antialias-subpixel-vbgr.image16.ref.png
deleted file mode 100644 (file)
index 6ef721a..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.image16.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.mask.argb32.ref.png b/test/reference/text-antialias-subpixel-vbgr.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9fd35ea..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.mask.rgb24.ref.png b/test/reference/text-antialias-subpixel-vbgr.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9fd35ea..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.ref.png b/test/reference/text-antialias-subpixel-vbgr.ref.png
deleted file mode 100644 (file)
index 13bdaf6..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.rgb24.ref.png b/test/reference/text-antialias-subpixel-vbgr.rgb24.ref.png
deleted file mode 100644 (file)
index 905579b..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.traps.argb32.ref.png b/test/reference/text-antialias-subpixel-vbgr.traps.argb32.ref.png
deleted file mode 100644 (file)
index 905579b..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.traps.ref.png b/test/reference/text-antialias-subpixel-vbgr.traps.ref.png
deleted file mode 100644 (file)
index 905579b..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.traps.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vbgr.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel-vbgr.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 905579b..0000000
Binary files a/test/reference/text-antialias-subpixel-vbgr.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.argb32.ref.png b/test/reference/text-antialias-subpixel-vrgb.argb32.ref.png
deleted file mode 100644 (file)
index f7c5bef..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.base.argb32.ref.png b/test/reference/text-antialias-subpixel-vrgb.base.argb32.ref.png
deleted file mode 100644 (file)
index 9fd35ea..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.base.rgb24.ref.png b/test/reference/text-antialias-subpixel-vrgb.base.rgb24.ref.png
deleted file mode 100644 (file)
index 9fd35ea..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.egl.argb32.ref.png b/test/reference/text-antialias-subpixel-vrgb.egl.argb32.ref.png
deleted file mode 100644 (file)
index 56394a4..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.image16.ref.png b/test/reference/text-antialias-subpixel-vrgb.image16.ref.png
deleted file mode 100644 (file)
index cb3586b..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.image16.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.mask.argb32.ref.png b/test/reference/text-antialias-subpixel-vrgb.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9fd35ea..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.mask.rgb24.ref.png b/test/reference/text-antialias-subpixel-vrgb.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9fd35ea..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.ref.png b/test/reference/text-antialias-subpixel-vrgb.ref.png
deleted file mode 100644 (file)
index 91d5abf..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.rgb24.ref.png b/test/reference/text-antialias-subpixel-vrgb.rgb24.ref.png
deleted file mode 100644 (file)
index f7c5bef..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.traps.argb32.ref.png b/test/reference/text-antialias-subpixel-vrgb.traps.argb32.ref.png
deleted file mode 100644 (file)
index f7c5bef..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.traps.ref.png b/test/reference/text-antialias-subpixel-vrgb.traps.ref.png
deleted file mode 100644 (file)
index f7c5bef..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.traps.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel-vrgb.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel-vrgb.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f7c5bef..0000000
Binary files a/test/reference/text-antialias-subpixel-vrgb.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.argb32.ref.png b/test/reference/text-antialias-subpixel.argb32.ref.png
deleted file mode 100644 (file)
index af5e0ae..0000000
Binary files a/test/reference/text-antialias-subpixel.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.base.argb32.ref.png b/test/reference/text-antialias-subpixel.base.argb32.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.base.argb32.xfail.png b/test/reference/text-antialias-subpixel.base.argb32.xfail.png
deleted file mode 100644 (file)
index 4a6bde4..0000000
Binary files a/test/reference/text-antialias-subpixel.base.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.base.rgb24.ref.png b/test/reference/text-antialias-subpixel.base.rgb24.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.base.rgb24.xfail.png b/test/reference/text-antialias-subpixel.base.rgb24.xfail.png
deleted file mode 100644 (file)
index 4a6bde4..0000000
Binary files a/test/reference/text-antialias-subpixel.base.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.image16.ref.png b/test/reference/text-antialias-subpixel.image16.ref.png
deleted file mode 100644 (file)
index 81fad89..0000000
Binary files a/test/reference/text-antialias-subpixel.image16.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.mask.argb32.ref.png b/test/reference/text-antialias-subpixel.mask.argb32.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.mask.rgb24.ref.png b/test/reference/text-antialias-subpixel.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f8d5130..0000000
Binary files a/test/reference/text-antialias-subpixel.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.quartz.ref.png b/test/reference/text-antialias-subpixel.quartz.ref.png
deleted file mode 100644 (file)
index f5b1aa8..0000000
Binary files a/test/reference/text-antialias-subpixel.quartz.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.ref.png b/test/reference/text-antialias-subpixel.ref.png
deleted file mode 100644 (file)
index 09da5fa..0000000
Binary files a/test/reference/text-antialias-subpixel.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.rgb24.ref.png b/test/reference/text-antialias-subpixel.rgb24.ref.png
deleted file mode 100644 (file)
index af5e0ae..0000000
Binary files a/test/reference/text-antialias-subpixel.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.traps.argb32.ref.png b/test/reference/text-antialias-subpixel.traps.argb32.ref.png
deleted file mode 100644 (file)
index af5e0ae..0000000
Binary files a/test/reference/text-antialias-subpixel.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.traps.ref.png b/test/reference/text-antialias-subpixel.traps.ref.png
deleted file mode 100644 (file)
index af5e0ae..0000000
Binary files a/test/reference/text-antialias-subpixel.traps.ref.png and /dev/null differ
diff --git a/test/reference/text-antialias-subpixel.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel.traps.rgb24.ref.png
deleted file mode 100644 (file)
index af5e0ae..0000000
Binary files a/test/reference/text-antialias-subpixel.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.argb32.ref.png b/test/reference/text-glyph-range.argb32.ref.png
deleted file mode 100644 (file)
index 648fef5..0000000
Binary files a/test/reference/text-glyph-range.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.base.argb32.ref.png b/test/reference/text-glyph-range.base.argb32.ref.png
deleted file mode 100644 (file)
index 3268699..0000000
Binary files a/test/reference/text-glyph-range.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.base.rgb24.ref.png b/test/reference/text-glyph-range.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3268699..0000000
Binary files a/test/reference/text-glyph-range.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.egl.argb32.ref.png b/test/reference/text-glyph-range.egl.argb32.ref.png
deleted file mode 100644 (file)
index ce798a0..0000000
Binary files a/test/reference/text-glyph-range.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.image16.ref.png b/test/reference/text-glyph-range.image16.ref.png
deleted file mode 100644 (file)
index 51daa16..0000000
Binary files a/test/reference/text-glyph-range.image16.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.mask.argb32.ref.png b/test/reference/text-glyph-range.mask.argb32.ref.png
deleted file mode 100644 (file)
index 648fef5..0000000
Binary files a/test/reference/text-glyph-range.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.mask.rgb24.ref.png b/test/reference/text-glyph-range.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 648fef5..0000000
Binary files a/test/reference/text-glyph-range.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.ps.ref.png b/test/reference/text-glyph-range.ps.ref.png
deleted file mode 100644 (file)
index 96bc85a..0000000
Binary files a/test/reference/text-glyph-range.ps.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.quartz.ref.png b/test/reference/text-glyph-range.quartz.ref.png
deleted file mode 100644 (file)
index e4a14b2..0000000
Binary files a/test/reference/text-glyph-range.quartz.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.ref.png b/test/reference/text-glyph-range.ref.png
deleted file mode 100644 (file)
index f279790..0000000
Binary files a/test/reference/text-glyph-range.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.rgb24.ref.png b/test/reference/text-glyph-range.rgb24.ref.png
deleted file mode 100644 (file)
index 648fef5..0000000
Binary files a/test/reference/text-glyph-range.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.traps.argb32.ref.png b/test/reference/text-glyph-range.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3268699..0000000
Binary files a/test/reference/text-glyph-range.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.traps.ref.png b/test/reference/text-glyph-range.traps.ref.png
deleted file mode 100644 (file)
index 3268699..0000000
Binary files a/test/reference/text-glyph-range.traps.ref.png and /dev/null differ
diff --git a/test/reference/text-glyph-range.traps.rgb24.ref.png b/test/reference/text-glyph-range.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3268699..0000000
Binary files a/test/reference/text-glyph-range.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.argb32.ref.png b/test/reference/text-pattern.argb32.ref.png
deleted file mode 100644 (file)
index 95410fa..0000000
Binary files a/test/reference/text-pattern.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.base.argb32.ref.png b/test/reference/text-pattern.base.argb32.ref.png
deleted file mode 100644 (file)
index 79f18e4..0000000
Binary files a/test/reference/text-pattern.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.base.rgb24.ref.png b/test/reference/text-pattern.base.rgb24.ref.png
deleted file mode 100644 (file)
index b073b98..0000000
Binary files a/test/reference/text-pattern.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.mask.argb32.ref.png b/test/reference/text-pattern.mask.argb32.ref.png
deleted file mode 100644 (file)
index 95410fa..0000000
Binary files a/test/reference/text-pattern.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.mask.rgb24.ref.png b/test/reference/text-pattern.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a6b9e4c..0000000
Binary files a/test/reference/text-pattern.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.pdf.argb32.ref.png b/test/reference/text-pattern.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 5eef739..0000000
Binary files a/test/reference/text-pattern.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.pdf.rgb24.ref.png b/test/reference/text-pattern.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index 27a1195..0000000
Binary files a/test/reference/text-pattern.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.ps2.argb32.ref.png b/test/reference/text-pattern.ps2.argb32.ref.png
deleted file mode 100644 (file)
index bdea146..0000000
Binary files a/test/reference/text-pattern.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.ps2.rgb24.ref.png b/test/reference/text-pattern.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index bdea146..0000000
Binary files a/test/reference/text-pattern.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.ps3.argb32.ref.png b/test/reference/text-pattern.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 411a531..0000000
Binary files a/test/reference/text-pattern.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.ps3.rgb24.ref.png b/test/reference/text-pattern.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index f696a99..0000000
Binary files a/test/reference/text-pattern.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.quartz.argb32.ref.png b/test/reference/text-pattern.quartz.argb32.ref.png
deleted file mode 100644 (file)
index 1a15964..0000000
Binary files a/test/reference/text-pattern.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.quartz.rgb24.ref.png b/test/reference/text-pattern.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index f19dd76..0000000
Binary files a/test/reference/text-pattern.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.ref.png b/test/reference/text-pattern.ref.png
deleted file mode 100644 (file)
index 578cc62..0000000
Binary files a/test/reference/text-pattern.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.rgb24.ref.png b/test/reference/text-pattern.rgb24.ref.png
deleted file mode 100644 (file)
index a6b9e4c..0000000
Binary files a/test/reference/text-pattern.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.svg.argb32.ref.png b/test/reference/text-pattern.svg.argb32.ref.png
deleted file mode 100644 (file)
index f472858..0000000
Binary files a/test/reference/text-pattern.svg.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.svg.rgb24.ref.png b/test/reference/text-pattern.svg.rgb24.ref.png
deleted file mode 100644 (file)
index 2b2064e..0000000
Binary files a/test/reference/text-pattern.svg.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.traps.argb32.ref.png b/test/reference/text-pattern.traps.argb32.ref.png
deleted file mode 100644 (file)
index 79f18e4..0000000
Binary files a/test/reference/text-pattern.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-pattern.traps.rgb24.ref.png b/test/reference/text-pattern.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b073b98..0000000
Binary files a/test/reference/text-pattern.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.base.argb32.ref.png b/test/reference/text-rotate.base.argb32.ref.png
deleted file mode 100644 (file)
index ff3fe84..0000000
Binary files a/test/reference/text-rotate.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.base.rgb24.ref.png b/test/reference/text-rotate.base.rgb24.ref.png
deleted file mode 100644 (file)
index ff3fe84..0000000
Binary files a/test/reference/text-rotate.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.image16.ref.png b/test/reference/text-rotate.image16.ref.png
deleted file mode 100644 (file)
index fddd002..0000000
Binary files a/test/reference/text-rotate.image16.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.mask.argb32.ref.png b/test/reference/text-rotate.mask.argb32.ref.png
deleted file mode 100644 (file)
index b455aab..0000000
Binary files a/test/reference/text-rotate.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.mask.rgb24.ref.png b/test/reference/text-rotate.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b455aab..0000000
Binary files a/test/reference/text-rotate.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.pdf.ref.png b/test/reference/text-rotate.pdf.ref.png
deleted file mode 100644 (file)
index b533075..0000000
Binary files a/test/reference/text-rotate.pdf.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.ps.ref.png b/test/reference/text-rotate.ps.ref.png
deleted file mode 100644 (file)
index c68d02d..0000000
Binary files a/test/reference/text-rotate.ps.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.quartz.ref.png b/test/reference/text-rotate.quartz.ref.png
deleted file mode 100644 (file)
index 113e727..0000000
Binary files a/test/reference/text-rotate.quartz.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.ref.png b/test/reference/text-rotate.ref.png
deleted file mode 100644 (file)
index 00c59e7..0000000
Binary files a/test/reference/text-rotate.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.svg.ref.png b/test/reference/text-rotate.svg.ref.png
deleted file mode 100644 (file)
index 9d887a0..0000000
Binary files a/test/reference/text-rotate.svg.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.traps.argb32.ref.png b/test/reference/text-rotate.traps.argb32.ref.png
deleted file mode 100644 (file)
index ff3fe84..0000000
Binary files a/test/reference/text-rotate.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.traps.ref.png b/test/reference/text-rotate.traps.ref.png
deleted file mode 100644 (file)
index ff3fe84..0000000
Binary files a/test/reference/text-rotate.traps.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.traps.rgb24.ref.png b/test/reference/text-rotate.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ff3fe84..0000000
Binary files a/test/reference/text-rotate.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.xlib-fallback.ref.png b/test/reference/text-rotate.xlib-fallback.ref.png
deleted file mode 100644 (file)
index ce06330..0000000
Binary files a/test/reference/text-rotate.xlib-fallback.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.argb32.ref.png b/test/reference/text-transform.argb32.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/text-transform.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.base.argb32.ref.png b/test/reference/text-transform.base.argb32.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/text-transform.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.base.rgb24.ref.png b/test/reference/text-transform.base.rgb24.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/text-transform.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.image16.ref.png b/test/reference/text-transform.image16.ref.png
deleted file mode 100644 (file)
index 59caca8..0000000
Binary files a/test/reference/text-transform.image16.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.mask.argb32.ref.png b/test/reference/text-transform.mask.argb32.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/text-transform.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.mask.rgb24.ref.png b/test/reference/text-transform.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/text-transform.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.pdf.argb32.ref.png b/test/reference/text-transform.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 7a2f3a7..0000000
Binary files a/test/reference/text-transform.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.pdf.rgb24.ref.png b/test/reference/text-transform.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index 7a2f3a7..0000000
Binary files a/test/reference/text-transform.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.ps2.ref.png b/test/reference/text-transform.ps2.ref.png
deleted file mode 100644 (file)
index 07896b3..0000000
Binary files a/test/reference/text-transform.ps2.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.ps3.ref.png b/test/reference/text-transform.ps3.ref.png
deleted file mode 100644 (file)
index 07896b3..0000000
Binary files a/test/reference/text-transform.ps3.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.ref.png b/test/reference/text-transform.ref.png
deleted file mode 100644 (file)
index 6f36b9d..0000000
Binary files a/test/reference/text-transform.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.rgb24.ref.png b/test/reference/text-transform.rgb24.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/text-transform.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.svg.ref.png b/test/reference/text-transform.svg.ref.png
deleted file mode 100644 (file)
index 1473a64..0000000
Binary files a/test/reference/text-transform.svg.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.traps.argb32.ref.png b/test/reference/text-transform.traps.argb32.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/text-transform.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/text-transform.traps.rgb24.ref.png b/test/reference/text-transform.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 4603bc5..0000000
Binary files a/test/reference/text-transform.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/tiger.argb32.ref.png b/test/reference/tiger.argb32.ref.png
deleted file mode 100644 (file)
index 85ae151..0000000
Binary files a/test/reference/tiger.argb32.ref.png and /dev/null differ
diff --git a/test/reference/tiger.base.argb32.ref.png b/test/reference/tiger.base.argb32.ref.png
deleted file mode 100644 (file)
index bc7f668..0000000
Binary files a/test/reference/tiger.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/tiger.base.rgb24.ref.png b/test/reference/tiger.base.rgb24.ref.png
deleted file mode 100644 (file)
index bc7f668..0000000
Binary files a/test/reference/tiger.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/tiger.egl.argb32.ref.png b/test/reference/tiger.egl.argb32.ref.png
deleted file mode 100644 (file)
index 01dad3c..0000000
Binary files a/test/reference/tiger.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/tiger.mask.argb32.ref.png b/test/reference/tiger.mask.argb32.ref.png
deleted file mode 100644 (file)
index 85ae151..0000000
Binary files a/test/reference/tiger.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/tiger.mask.rgb24.ref.png b/test/reference/tiger.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 85ae151..0000000
Binary files a/test/reference/tiger.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/tiger.ref.png b/test/reference/tiger.ref.png
deleted file mode 100644 (file)
index b31d358..0000000
Binary files a/test/reference/tiger.ref.png and /dev/null differ
diff --git a/test/reference/tiger.rgb24.ref.png b/test/reference/tiger.rgb24.ref.png
deleted file mode 100644 (file)
index 85ae151..0000000
Binary files a/test/reference/tiger.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/tiger.traps.argb32.ref.png b/test/reference/tiger.traps.argb32.ref.png
deleted file mode 100644 (file)
index bc7f668..0000000
Binary files a/test/reference/tiger.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/tiger.traps.rgb24.ref.png b/test/reference/tiger.traps.rgb24.ref.png
deleted file mode 100644 (file)
index bc7f668..0000000
Binary files a/test/reference/tiger.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/tighten-bounds.argb32.ref.png b/test/reference/tighten-bounds.argb32.ref.png
deleted file mode 100644 (file)
index e348018..0000000
Binary files a/test/reference/tighten-bounds.argb32.ref.png and /dev/null differ
diff --git a/test/reference/tighten-bounds.base.argb32.ref.png b/test/reference/tighten-bounds.base.argb32.ref.png
deleted file mode 100644 (file)
index 169d9de..0000000
Binary files a/test/reference/tighten-bounds.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/tighten-bounds.base.rgb24.ref.png b/test/reference/tighten-bounds.base.rgb24.ref.png
deleted file mode 100644 (file)
index d984ff7..0000000
Binary files a/test/reference/tighten-bounds.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/tighten-bounds.rgb24.ref.png b/test/reference/tighten-bounds.rgb24.ref.png
deleted file mode 100644 (file)
index 28e3c1b..0000000
Binary files a/test/reference/tighten-bounds.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/tighten-bounds.traps.argb32.ref.png b/test/reference/tighten-bounds.traps.argb32.ref.png
deleted file mode 100644 (file)
index 9d22568..0000000
Binary files a/test/reference/tighten-bounds.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/tighten-bounds.traps.rgb24.ref.png b/test/reference/tighten-bounds.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 98fc412..0000000
Binary files a/test/reference/tighten-bounds.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/transforms.argb32.ref.png b/test/reference/transforms.argb32.ref.png
deleted file mode 100644 (file)
index 390bad4..0000000
Binary files a/test/reference/transforms.argb32.ref.png and /dev/null differ
diff --git a/test/reference/transforms.base.argb32.ref.png b/test/reference/transforms.base.argb32.ref.png
deleted file mode 100644 (file)
index 3ce9176..0000000
Binary files a/test/reference/transforms.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/transforms.base.rgb24.ref.png b/test/reference/transforms.base.rgb24.ref.png
deleted file mode 100644 (file)
index 3ce9176..0000000
Binary files a/test/reference/transforms.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/transforms.egl.argb32.ref.png b/test/reference/transforms.egl.argb32.ref.png
deleted file mode 100644 (file)
index a5f2afe..0000000
Binary files a/test/reference/transforms.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/transforms.image16.ref.png b/test/reference/transforms.image16.ref.png
deleted file mode 100644 (file)
index e9a1813..0000000
Binary files a/test/reference/transforms.image16.ref.png and /dev/null differ
diff --git a/test/reference/transforms.mask.argb32.ref.png b/test/reference/transforms.mask.argb32.ref.png
deleted file mode 100644 (file)
index 390bad4..0000000
Binary files a/test/reference/transforms.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/transforms.mask.rgb24.ref.png b/test/reference/transforms.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 390bad4..0000000
Binary files a/test/reference/transforms.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/transforms.ps2.ref.png b/test/reference/transforms.ps2.ref.png
deleted file mode 100644 (file)
index 6d195aa..0000000
Binary files a/test/reference/transforms.ps2.ref.png and /dev/null differ
diff --git a/test/reference/transforms.ps3.ref.png b/test/reference/transforms.ps3.ref.png
deleted file mode 100644 (file)
index 6d195aa..0000000
Binary files a/test/reference/transforms.ps3.ref.png and /dev/null differ
diff --git a/test/reference/transforms.ref.png b/test/reference/transforms.ref.png
deleted file mode 100644 (file)
index 1d40acb..0000000
Binary files a/test/reference/transforms.ref.png and /dev/null differ
diff --git a/test/reference/transforms.rgb24.ref.png b/test/reference/transforms.rgb24.ref.png
deleted file mode 100644 (file)
index 390bad4..0000000
Binary files a/test/reference/transforms.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/transforms.traps.argb32.ref.png b/test/reference/transforms.traps.argb32.ref.png
deleted file mode 100644 (file)
index 3ce9176..0000000
Binary files a/test/reference/transforms.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/transforms.traps.rgb24.ref.png b/test/reference/transforms.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 3ce9176..0000000
Binary files a/test/reference/transforms.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/translate-show-surface.argb32.ref.png b/test/reference/translate-show-surface.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/translate-show-surface.argb32.ref.png and /dev/null differ
diff --git a/test/reference/translate-show-surface.base.argb32.ref.png b/test/reference/translate-show-surface.base.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/translate-show-surface.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/translate-show-surface.base.rgb24.ref.png b/test/reference/translate-show-surface.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/translate-show-surface.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/translate-show-surface.egl.argb32.ref.png b/test/reference/translate-show-surface.egl.argb32.ref.png
deleted file mode 100644 (file)
index ec93608..0000000
Binary files a/test/reference/translate-show-surface.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/translate-show-surface.mask.argb32.ref.png b/test/reference/translate-show-surface.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/translate-show-surface.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/translate-show-surface.mask.rgb24.ref.png b/test/reference/translate-show-surface.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/translate-show-surface.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/translate-show-surface.ref.png b/test/reference/translate-show-surface.ref.png
deleted file mode 100644 (file)
index 765adc4..0000000
Binary files a/test/reference/translate-show-surface.ref.png and /dev/null differ
diff --git a/test/reference/translate-show-surface.rgb24.ref.png b/test/reference/translate-show-surface.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/translate-show-surface.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/translate-show-surface.traps.argb32.ref.png b/test/reference/translate-show-surface.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/translate-show-surface.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/translate-show-surface.traps.rgb24.ref.png b/test/reference/translate-show-surface.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0a145d9..0000000
Binary files a/test/reference/translate-show-surface.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.argb32.ref.png b/test/reference/trap-clip.argb32.ref.png
deleted file mode 100644 (file)
index b138064..0000000
Binary files a/test/reference/trap-clip.argb32.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.base.argb32.ref.png b/test/reference/trap-clip.base.argb32.ref.png
deleted file mode 100644 (file)
index 285934b..0000000
Binary files a/test/reference/trap-clip.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.base.rgb24.ref.png b/test/reference/trap-clip.base.rgb24.ref.png
deleted file mode 100644 (file)
index ed89be7..0000000
Binary files a/test/reference/trap-clip.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.egl.argb32.ref.png b/test/reference/trap-clip.egl.argb32.ref.png
deleted file mode 100644 (file)
index dc8b3f8..0000000
Binary files a/test/reference/trap-clip.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.image16.ref.png b/test/reference/trap-clip.image16.ref.png
deleted file mode 100644 (file)
index e9ef2cf..0000000
Binary files a/test/reference/trap-clip.image16.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.mask.argb32.ref.png b/test/reference/trap-clip.mask.argb32.ref.png
deleted file mode 100644 (file)
index 98cd0a2..0000000
Binary files a/test/reference/trap-clip.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.mask.rgb24.ref.png b/test/reference/trap-clip.mask.rgb24.ref.png
deleted file mode 100644 (file)
index c013153..0000000
Binary files a/test/reference/trap-clip.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.ps2.argb32.ref.png b/test/reference/trap-clip.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 4db9f8e..0000000
Binary files a/test/reference/trap-clip.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.ps2.rgb24.ref.png b/test/reference/trap-clip.ps2.rgb24.ref.png
deleted file mode 100644 (file)
index de309b9..0000000
Binary files a/test/reference/trap-clip.ps2.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.ps3.argb32.ref.png b/test/reference/trap-clip.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 17d74be..0000000
Binary files a/test/reference/trap-clip.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.ps3.rgb24.ref.png b/test/reference/trap-clip.ps3.rgb24.ref.png
deleted file mode 100644 (file)
index 236b75c..0000000
Binary files a/test/reference/trap-clip.ps3.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.quartz.argb32.ref.png b/test/reference/trap-clip.quartz.argb32.ref.png
deleted file mode 100644 (file)
index e045ea4..0000000
Binary files a/test/reference/trap-clip.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.quartz.rgb24.ref.png b/test/reference/trap-clip.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index 1044d86..0000000
Binary files a/test/reference/trap-clip.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.ref.png b/test/reference/trap-clip.ref.png
deleted file mode 100644 (file)
index 5f5532d..0000000
Binary files a/test/reference/trap-clip.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.rgb24.ref.png b/test/reference/trap-clip.rgb24.ref.png
deleted file mode 100644 (file)
index 45f4d69..0000000
Binary files a/test/reference/trap-clip.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.test-paginated.argb32.ref.png b/test/reference/trap-clip.test-paginated.argb32.ref.png
deleted file mode 100644 (file)
index 7259edc..0000000
Binary files a/test/reference/trap-clip.test-paginated.argb32.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.traps.argb32.ref.png b/test/reference/trap-clip.traps.argb32.ref.png
deleted file mode 100644 (file)
index 170d378..0000000
Binary files a/test/reference/trap-clip.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.traps.rgb24.ref.png b/test/reference/trap-clip.traps.rgb24.ref.png
deleted file mode 100644 (file)
index b1129b0..0000000
Binary files a/test/reference/trap-clip.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.argb32.ref.png b/test/reference/twin-antialias-gray.argb32.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin-antialias-gray.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.base.argb32.ref.png b/test/reference/twin-antialias-gray.base.argb32.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin-antialias-gray.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.base.rgb24.ref.png b/test/reference/twin-antialias-gray.base.rgb24.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin-antialias-gray.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.egl.argb32.ref.png b/test/reference/twin-antialias-gray.egl.argb32.ref.png
deleted file mode 100644 (file)
index c19538a..0000000
Binary files a/test/reference/twin-antialias-gray.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.image16.ref.png b/test/reference/twin-antialias-gray.image16.ref.png
deleted file mode 100644 (file)
index 1fadcb1..0000000
Binary files a/test/reference/twin-antialias-gray.image16.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.mask.argb32.ref.png b/test/reference/twin-antialias-gray.mask.argb32.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin-antialias-gray.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.mask.rgb24.ref.png b/test/reference/twin-antialias-gray.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin-antialias-gray.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.ref.png b/test/reference/twin-antialias-gray.ref.png
deleted file mode 100644 (file)
index e597b64..0000000
Binary files a/test/reference/twin-antialias-gray.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.rgb24.ref.png b/test/reference/twin-antialias-gray.rgb24.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin-antialias-gray.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.traps.argb32.ref.png b/test/reference/twin-antialias-gray.traps.argb32.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin-antialias-gray.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.traps.rgb24.ref.png b/test/reference/twin-antialias-gray.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin-antialias-gray.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.argb32.ref.png b/test/reference/twin-antialias-mixed.argb32.ref.png
deleted file mode 100644 (file)
index d6c406f..0000000
Binary files a/test/reference/twin-antialias-mixed.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.base.argb32.ref.png b/test/reference/twin-antialias-mixed.base.argb32.ref.png
deleted file mode 100644 (file)
index d6c406f..0000000
Binary files a/test/reference/twin-antialias-mixed.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.base.rgb24.ref.png b/test/reference/twin-antialias-mixed.base.rgb24.ref.png
deleted file mode 100644 (file)
index d6c406f..0000000
Binary files a/test/reference/twin-antialias-mixed.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.egl.argb32.ref.png b/test/reference/twin-antialias-mixed.egl.argb32.ref.png
deleted file mode 100644 (file)
index 162bc60..0000000
Binary files a/test/reference/twin-antialias-mixed.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.image16.ref.png b/test/reference/twin-antialias-mixed.image16.ref.png
deleted file mode 100644 (file)
index 10c4980..0000000
Binary files a/test/reference/twin-antialias-mixed.image16.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.mask.argb32.ref.png b/test/reference/twin-antialias-mixed.mask.argb32.ref.png
deleted file mode 100644 (file)
index d6c406f..0000000
Binary files a/test/reference/twin-antialias-mixed.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.mask.rgb24.ref.png b/test/reference/twin-antialias-mixed.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d6c406f..0000000
Binary files a/test/reference/twin-antialias-mixed.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.ref.png b/test/reference/twin-antialias-mixed.ref.png
deleted file mode 100644 (file)
index 0c91dd1..0000000
Binary files a/test/reference/twin-antialias-mixed.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.rgb24.ref.png b/test/reference/twin-antialias-mixed.rgb24.ref.png
deleted file mode 100644 (file)
index d6c406f..0000000
Binary files a/test/reference/twin-antialias-mixed.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.traps.argb32.ref.png b/test/reference/twin-antialias-mixed.traps.argb32.ref.png
deleted file mode 100644 (file)
index d6c406f..0000000
Binary files a/test/reference/twin-antialias-mixed.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.traps.rgb24.ref.png b/test/reference/twin-antialias-mixed.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d6c406f..0000000
Binary files a/test/reference/twin-antialias-mixed.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.argb32.ref.png b/test/reference/twin-antialias-none.argb32.ref.png
deleted file mode 100644 (file)
index cb9628e..0000000
Binary files a/test/reference/twin-antialias-none.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.base.argb32.ref.png b/test/reference/twin-antialias-none.base.argb32.ref.png
deleted file mode 100644 (file)
index 02cf333..0000000
Binary files a/test/reference/twin-antialias-none.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.base.rgb24.ref.png b/test/reference/twin-antialias-none.base.rgb24.ref.png
deleted file mode 100644 (file)
index 02cf333..0000000
Binary files a/test/reference/twin-antialias-none.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.egl.argb32.ref.png b/test/reference/twin-antialias-none.egl.argb32.ref.png
deleted file mode 100644 (file)
index cb9628e..0000000
Binary files a/test/reference/twin-antialias-none.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.mask.argb32.ref.png b/test/reference/twin-antialias-none.mask.argb32.ref.png
deleted file mode 100644 (file)
index cb9628e..0000000
Binary files a/test/reference/twin-antialias-none.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.mask.rgb24.ref.png b/test/reference/twin-antialias-none.mask.rgb24.ref.png
deleted file mode 100644 (file)
index cb9628e..0000000
Binary files a/test/reference/twin-antialias-none.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.ref.png b/test/reference/twin-antialias-none.ref.png
deleted file mode 100644 (file)
index d00e501..0000000
Binary files a/test/reference/twin-antialias-none.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.rgb24.ref.png b/test/reference/twin-antialias-none.rgb24.ref.png
deleted file mode 100644 (file)
index cb9628e..0000000
Binary files a/test/reference/twin-antialias-none.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.traps.argb32.ref.png b/test/reference/twin-antialias-none.traps.argb32.ref.png
deleted file mode 100644 (file)
index 02cf333..0000000
Binary files a/test/reference/twin-antialias-none.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.traps.rgb24.ref.png b/test/reference/twin-antialias-none.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 02cf333..0000000
Binary files a/test/reference/twin-antialias-none.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.argb32.ref.png b/test/reference/twin-antialias-subpixel.argb32.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin-antialias-subpixel.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.base.argb32.ref.png b/test/reference/twin-antialias-subpixel.base.argb32.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin-antialias-subpixel.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.base.rgb24.ref.png b/test/reference/twin-antialias-subpixel.base.rgb24.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin-antialias-subpixel.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.egl.argb32.ref.png b/test/reference/twin-antialias-subpixel.egl.argb32.ref.png
deleted file mode 100644 (file)
index c19538a..0000000
Binary files a/test/reference/twin-antialias-subpixel.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.image16.ref.png b/test/reference/twin-antialias-subpixel.image16.ref.png
deleted file mode 100644 (file)
index 1fadcb1..0000000
Binary files a/test/reference/twin-antialias-subpixel.image16.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.mask.argb32.ref.png b/test/reference/twin-antialias-subpixel.mask.argb32.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin-antialias-subpixel.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.mask.rgb24.ref.png b/test/reference/twin-antialias-subpixel.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin-antialias-subpixel.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.ref.png b/test/reference/twin-antialias-subpixel.ref.png
deleted file mode 100644 (file)
index e597b64..0000000
Binary files a/test/reference/twin-antialias-subpixel.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.rgb24.ref.png b/test/reference/twin-antialias-subpixel.rgb24.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin-antialias-subpixel.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.traps.argb32.ref.png b/test/reference/twin-antialias-subpixel.traps.argb32.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin-antialias-subpixel.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.traps.rgb24.ref.png b/test/reference/twin-antialias-subpixel.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin-antialias-subpixel.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin.argb32.ref.png b/test/reference/twin.argb32.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin.base.argb32.ref.png b/test/reference/twin.base.argb32.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin.base.rgb24.ref.png b/test/reference/twin.base.rgb24.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin.egl.argb32.ref.png b/test/reference/twin.egl.argb32.ref.png
deleted file mode 100644 (file)
index c19538a..0000000
Binary files a/test/reference/twin.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin.image16.ref.png b/test/reference/twin.image16.ref.png
deleted file mode 100644 (file)
index 1fadcb1..0000000
Binary files a/test/reference/twin.image16.ref.png and /dev/null differ
diff --git a/test/reference/twin.mask.argb32.ref.png b/test/reference/twin.mask.argb32.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin.mask.rgb24.ref.png b/test/reference/twin.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin.ps.ref.png b/test/reference/twin.ps.ref.png
deleted file mode 100644 (file)
index 25c71b4..0000000
Binary files a/test/reference/twin.ps.ref.png and /dev/null differ
diff --git a/test/reference/twin.ref.png b/test/reference/twin.ref.png
deleted file mode 100644 (file)
index e597b64..0000000
Binary files a/test/reference/twin.ref.png and /dev/null differ
diff --git a/test/reference/twin.rgb24.ref.png b/test/reference/twin.rgb24.ref.png
deleted file mode 100644 (file)
index 6b091af..0000000
Binary files a/test/reference/twin.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin.svg.ref.png b/test/reference/twin.svg.ref.png
deleted file mode 100644 (file)
index 628a83c..0000000
Binary files a/test/reference/twin.svg.ref.png and /dev/null differ
diff --git a/test/reference/twin.traps.argb32.ref.png b/test/reference/twin.traps.argb32.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/twin.traps.rgb24.ref.png b/test/reference/twin.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d1102b2..0000000
Binary files a/test/reference/twin.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unaligned-box.argb32.ref.png b/test/reference/unaligned-box.argb32.ref.png
deleted file mode 100644 (file)
index ec7c489..0000000
Binary files a/test/reference/unaligned-box.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unaligned-box.base.argb32.ref.png b/test/reference/unaligned-box.base.argb32.ref.png
deleted file mode 100644 (file)
index 48e23b8..0000000
Binary files a/test/reference/unaligned-box.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unaligned-box.base.rgb24.ref.png b/test/reference/unaligned-box.base.rgb24.ref.png
deleted file mode 100644 (file)
index 48e23b8..0000000
Binary files a/test/reference/unaligned-box.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unaligned-box.egl.argb32.ref.png b/test/reference/unaligned-box.egl.argb32.ref.png
deleted file mode 100644 (file)
index ec7c489..0000000
Binary files a/test/reference/unaligned-box.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unaligned-box.mask.argb32.ref.png b/test/reference/unaligned-box.mask.argb32.ref.png
deleted file mode 100644 (file)
index ec7c489..0000000
Binary files a/test/reference/unaligned-box.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unaligned-box.mask.rgb24.ref.png b/test/reference/unaligned-box.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ec7c489..0000000
Binary files a/test/reference/unaligned-box.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unaligned-box.ref.png b/test/reference/unaligned-box.ref.png
deleted file mode 100644 (file)
index ec7c489..0000000
Binary files a/test/reference/unaligned-box.ref.png and /dev/null differ
diff --git a/test/reference/unaligned-box.rgb24.ref.png b/test/reference/unaligned-box.rgb24.ref.png
deleted file mode 100644 (file)
index ec7c489..0000000
Binary files a/test/reference/unaligned-box.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unaligned-box.traps.argb32.ref.png b/test/reference/unaligned-box.traps.argb32.ref.png
deleted file mode 100644 (file)
index 48e23b8..0000000
Binary files a/test/reference/unaligned-box.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unaligned-box.traps.rgb24.ref.png b/test/reference/unaligned-box.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 48e23b8..0000000
Binary files a/test/reference/unaligned-box.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.argb32.ref.png b/test/reference/unantialiased-shapes.argb32.ref.png
deleted file mode 100644 (file)
index d9f466e..0000000
Binary files a/test/reference/unantialiased-shapes.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.base.argb32.ref.png b/test/reference/unantialiased-shapes.base.argb32.ref.png
deleted file mode 100644 (file)
index a55ba88..0000000
Binary files a/test/reference/unantialiased-shapes.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.base.rgb24.ref.png b/test/reference/unantialiased-shapes.base.rgb24.ref.png
deleted file mode 100644 (file)
index a55ba88..0000000
Binary files a/test/reference/unantialiased-shapes.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.egl.argb32.ref.png b/test/reference/unantialiased-shapes.egl.argb32.ref.png
deleted file mode 100644 (file)
index d9f466e..0000000
Binary files a/test/reference/unantialiased-shapes.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.mask.argb32.ref.png b/test/reference/unantialiased-shapes.mask.argb32.ref.png
deleted file mode 100644 (file)
index d9f466e..0000000
Binary files a/test/reference/unantialiased-shapes.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.mask.rgb24.ref.png b/test/reference/unantialiased-shapes.mask.rgb24.ref.png
deleted file mode 100644 (file)
index d9f466e..0000000
Binary files a/test/reference/unantialiased-shapes.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.quartz.ref.png b/test/reference/unantialiased-shapes.quartz.ref.png
deleted file mode 100644 (file)
index 349ece7..0000000
Binary files a/test/reference/unantialiased-shapes.quartz.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.ref.png b/test/reference/unantialiased-shapes.ref.png
deleted file mode 100644 (file)
index d9f466e..0000000
Binary files a/test/reference/unantialiased-shapes.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.rgb24.ref.png b/test/reference/unantialiased-shapes.rgb24.ref.png
deleted file mode 100644 (file)
index d9f466e..0000000
Binary files a/test/reference/unantialiased-shapes.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.traps.argb32.ref.png b/test/reference/unantialiased-shapes.traps.argb32.ref.png
deleted file mode 100644 (file)
index a55ba88..0000000
Binary files a/test/reference/unantialiased-shapes.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unantialiased-shapes.traps.rgb24.ref.png b/test/reference/unantialiased-shapes.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a55ba88..0000000
Binary files a/test/reference/unantialiased-shapes.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.argb32.ref.png b/test/reference/unbounded-operator.argb32.ref.png
deleted file mode 100644 (file)
index 08f4356..0000000
Binary files a/test/reference/unbounded-operator.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.base.argb32.ref.png b/test/reference/unbounded-operator.base.argb32.ref.png
deleted file mode 100644 (file)
index fe86a94..0000000
Binary files a/test/reference/unbounded-operator.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.base.rgb24.ref.png b/test/reference/unbounded-operator.base.rgb24.ref.png
deleted file mode 100644 (file)
index c8555af..0000000
Binary files a/test/reference/unbounded-operator.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.gl.argb32.xfail.png b/test/reference/unbounded-operator.gl.argb32.xfail.png
deleted file mode 100644 (file)
index 34e32eb..0000000
Binary files a/test/reference/unbounded-operator.gl.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.gl.rgb24.xfail.png b/test/reference/unbounded-operator.gl.rgb24.xfail.png
deleted file mode 100644 (file)
index b91da8f..0000000
Binary files a/test/reference/unbounded-operator.gl.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.image16.ref.png b/test/reference/unbounded-operator.image16.ref.png
deleted file mode 100644 (file)
index 17dfb46..0000000
Binary files a/test/reference/unbounded-operator.image16.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.mask.argb32.ref.png b/test/reference/unbounded-operator.mask.argb32.ref.png
deleted file mode 100644 (file)
index 08f4356..0000000
Binary files a/test/reference/unbounded-operator.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.mask.rgb24.ref.png b/test/reference/unbounded-operator.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 80d20dc..0000000
Binary files a/test/reference/unbounded-operator.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.pdf.argb32.ref.png b/test/reference/unbounded-operator.pdf.argb32.ref.png
deleted file mode 100644 (file)
index 4aa476d..0000000
Binary files a/test/reference/unbounded-operator.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.ps2.argb32.ref.png b/test/reference/unbounded-operator.ps2.argb32.ref.png
deleted file mode 100644 (file)
index 4aa476d..0000000
Binary files a/test/reference/unbounded-operator.ps2.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.ps3.argb32.ref.png b/test/reference/unbounded-operator.ps3.argb32.ref.png
deleted file mode 100644 (file)
index 4aa476d..0000000
Binary files a/test/reference/unbounded-operator.ps3.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.quartz.argb32.ref.png b/test/reference/unbounded-operator.quartz.argb32.ref.png
deleted file mode 100644 (file)
index b2e9916..0000000
Binary files a/test/reference/unbounded-operator.quartz.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.quartz.rgb24.ref.png b/test/reference/unbounded-operator.quartz.rgb24.ref.png
deleted file mode 100644 (file)
index ea41dc8..0000000
Binary files a/test/reference/unbounded-operator.quartz.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.rgb24.ref.png b/test/reference/unbounded-operator.rgb24.ref.png
deleted file mode 100644 (file)
index 80d20dc..0000000
Binary files a/test/reference/unbounded-operator.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.svg12.argb32.ref.png b/test/reference/unbounded-operator.svg12.argb32.ref.png
deleted file mode 100644 (file)
index 45b173f..0000000
Binary files a/test/reference/unbounded-operator.svg12.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.svg12.rgb24.xfail.png b/test/reference/unbounded-operator.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 828a9db..0000000
Binary files a/test/reference/unbounded-operator.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.traps.argb32.ref.png b/test/reference/unbounded-operator.traps.argb32.ref.png
deleted file mode 100644 (file)
index fde0b6e..0000000
Binary files a/test/reference/unbounded-operator.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.traps.rgb24.ref.png b/test/reference/unbounded-operator.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 8d51cce..0000000
Binary files a/test/reference/unbounded-operator.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unclosed-strokes.argb32.ref.png b/test/reference/unclosed-strokes.argb32.ref.png
deleted file mode 100644 (file)
index 8af8472..0000000
Binary files a/test/reference/unclosed-strokes.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unclosed-strokes.base.argb32.ref.png b/test/reference/unclosed-strokes.base.argb32.ref.png
deleted file mode 100644 (file)
index cfd0f44..0000000
Binary files a/test/reference/unclosed-strokes.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unclosed-strokes.base.rgb24.ref.png b/test/reference/unclosed-strokes.base.rgb24.ref.png
deleted file mode 100644 (file)
index cfd0f44..0000000
Binary files a/test/reference/unclosed-strokes.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unclosed-strokes.egl.argb32.ref.png b/test/reference/unclosed-strokes.egl.argb32.ref.png
deleted file mode 100644 (file)
index 3fef53b..0000000
Binary files a/test/reference/unclosed-strokes.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unclosed-strokes.mask.argb32.ref.png b/test/reference/unclosed-strokes.mask.argb32.ref.png
deleted file mode 100644 (file)
index 8af8472..0000000
Binary files a/test/reference/unclosed-strokes.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unclosed-strokes.mask.rgb24.ref.png b/test/reference/unclosed-strokes.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 8af8472..0000000
Binary files a/test/reference/unclosed-strokes.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unclosed-strokes.ref.png b/test/reference/unclosed-strokes.ref.png
deleted file mode 100644 (file)
index 6b1e388..0000000
Binary files a/test/reference/unclosed-strokes.ref.png and /dev/null differ
diff --git a/test/reference/unclosed-strokes.rgb24.ref.png b/test/reference/unclosed-strokes.rgb24.ref.png
deleted file mode 100644 (file)
index 8af8472..0000000
Binary files a/test/reference/unclosed-strokes.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/unclosed-strokes.traps.argb32.ref.png b/test/reference/unclosed-strokes.traps.argb32.ref.png
deleted file mode 100644 (file)
index cfd0f44..0000000
Binary files a/test/reference/unclosed-strokes.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/unclosed-strokes.traps.rgb24.ref.png b/test/reference/unclosed-strokes.traps.rgb24.ref.png
deleted file mode 100644 (file)
index cfd0f44..0000000
Binary files a/test/reference/unclosed-strokes.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.argb32.ref.png b/test/reference/user-font-mask.argb32.ref.png
deleted file mode 100644 (file)
index 02a9a5e..0000000
Binary files a/test/reference/user-font-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.base.argb32.ref.png b/test/reference/user-font-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index 02a9a5e..0000000
Binary files a/test/reference/user-font-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.base.rgb24.ref.png b/test/reference/user-font-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 02a9a5e..0000000
Binary files a/test/reference/user-font-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.egl.argb32.ref.png b/test/reference/user-font-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index d13c868..0000000
Binary files a/test/reference/user-font-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.image16.ref.png b/test/reference/user-font-mask.image16.ref.png
deleted file mode 100644 (file)
index 0a63dde..0000000
Binary files a/test/reference/user-font-mask.image16.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.mask.argb32.ref.png b/test/reference/user-font-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index 02a9a5e..0000000
Binary files a/test/reference/user-font-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.mask.rgb24.ref.png b/test/reference/user-font-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 02a9a5e..0000000
Binary files a/test/reference/user-font-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.pdf.ref.png b/test/reference/user-font-mask.pdf.ref.png
deleted file mode 100644 (file)
index ebf1485..0000000
Binary files a/test/reference/user-font-mask.pdf.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.ps2.ref.png b/test/reference/user-font-mask.ps2.ref.png
deleted file mode 100644 (file)
index ebf1485..0000000
Binary files a/test/reference/user-font-mask.ps2.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.ps3.ref.png b/test/reference/user-font-mask.ps3.ref.png
deleted file mode 100644 (file)
index ebf1485..0000000
Binary files a/test/reference/user-font-mask.ps3.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.ref.png b/test/reference/user-font-mask.ref.png
deleted file mode 100644 (file)
index 02a9a5e..0000000
Binary files a/test/reference/user-font-mask.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.rgb24.ref.png b/test/reference/user-font-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 02a9a5e..0000000
Binary files a/test/reference/user-font-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.svg.ref.png b/test/reference/user-font-mask.svg.ref.png
deleted file mode 100644 (file)
index 1a8f2c8..0000000
Binary files a/test/reference/user-font-mask.svg.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.traps.argb32.ref.png b/test/reference/user-font-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index 02a9a5e..0000000
Binary files a/test/reference/user-font-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-mask.traps.rgb24.ref.png b/test/reference/user-font-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 02a9a5e..0000000
Binary files a/test/reference/user-font-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.argb32.ref.png b/test/reference/user-font-proxy.argb32.ref.png
deleted file mode 100644 (file)
index 5acbca5..0000000
Binary files a/test/reference/user-font-proxy.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.base.argb32.ref.png b/test/reference/user-font-proxy.base.argb32.ref.png
deleted file mode 100644 (file)
index 094938c..0000000
Binary files a/test/reference/user-font-proxy.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.base.rgb24.ref.png b/test/reference/user-font-proxy.base.rgb24.ref.png
deleted file mode 100644 (file)
index 094938c..0000000
Binary files a/test/reference/user-font-proxy.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.image16.ref.png b/test/reference/user-font-proxy.image16.ref.png
deleted file mode 100644 (file)
index 5b44351..0000000
Binary files a/test/reference/user-font-proxy.image16.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.mask.argb32.ref.png b/test/reference/user-font-proxy.mask.argb32.ref.png
deleted file mode 100644 (file)
index 5acbca5..0000000
Binary files a/test/reference/user-font-proxy.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.mask.rgb24.ref.png b/test/reference/user-font-proxy.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 5acbca5..0000000
Binary files a/test/reference/user-font-proxy.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.pdf.argb32.ref.png b/test/reference/user-font-proxy.pdf.argb32.ref.png
deleted file mode 100644 (file)
index cffa9ed..0000000
Binary files a/test/reference/user-font-proxy.pdf.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.pdf.ref.png b/test/reference/user-font-proxy.pdf.ref.png
deleted file mode 100644 (file)
index afe7cb0..0000000
Binary files a/test/reference/user-font-proxy.pdf.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.pdf.rgb24.ref.png b/test/reference/user-font-proxy.pdf.rgb24.ref.png
deleted file mode 100644 (file)
index cffa9ed..0000000
Binary files a/test/reference/user-font-proxy.pdf.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.ps.ref.png b/test/reference/user-font-proxy.ps.ref.png
deleted file mode 100644 (file)
index a7b348b..0000000
Binary files a/test/reference/user-font-proxy.ps.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.quartz.ref.png b/test/reference/user-font-proxy.quartz.ref.png
deleted file mode 100644 (file)
index 3bead3d..0000000
Binary files a/test/reference/user-font-proxy.quartz.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.ref.png b/test/reference/user-font-proxy.ref.png
deleted file mode 100644 (file)
index 1217ca3..0000000
Binary files a/test/reference/user-font-proxy.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.rgb24.ref.png b/test/reference/user-font-proxy.rgb24.ref.png
deleted file mode 100644 (file)
index 5acbca5..0000000
Binary files a/test/reference/user-font-proxy.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.svg.ref.png b/test/reference/user-font-proxy.svg.ref.png
deleted file mode 100644 (file)
index 6c45848..0000000
Binary files a/test/reference/user-font-proxy.svg.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.traps.argb32.ref.png b/test/reference/user-font-proxy.traps.argb32.ref.png
deleted file mode 100644 (file)
index 094938c..0000000
Binary files a/test/reference/user-font-proxy.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.traps.ref.png b/test/reference/user-font-proxy.traps.ref.png
deleted file mode 100644 (file)
index 094938c..0000000
Binary files a/test/reference/user-font-proxy.traps.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.traps.rgb24.ref.png b/test/reference/user-font-proxy.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 094938c..0000000
Binary files a/test/reference/user-font-proxy.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.argb32.ref.png b/test/reference/user-font-rescale.argb32.ref.png
deleted file mode 100644 (file)
index 0939060..0000000
Binary files a/test/reference/user-font-rescale.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.base.argb32.ref.png b/test/reference/user-font-rescale.base.argb32.ref.png
deleted file mode 100644 (file)
index 0939060..0000000
Binary files a/test/reference/user-font-rescale.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.base.rgb24.ref.png b/test/reference/user-font-rescale.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0939060..0000000
Binary files a/test/reference/user-font-rescale.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.image16.ref.png b/test/reference/user-font-rescale.image16.ref.png
deleted file mode 100644 (file)
index a6be0d3..0000000
Binary files a/test/reference/user-font-rescale.image16.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.mask.argb32.ref.png b/test/reference/user-font-rescale.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0939060..0000000
Binary files a/test/reference/user-font-rescale.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.mask.rgb24.ref.png b/test/reference/user-font-rescale.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0939060..0000000
Binary files a/test/reference/user-font-rescale.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.ps.ref.png b/test/reference/user-font-rescale.ps.ref.png
deleted file mode 100644 (file)
index 1ee4b13..0000000
Binary files a/test/reference/user-font-rescale.ps.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.quartz.ref.png b/test/reference/user-font-rescale.quartz.ref.png
deleted file mode 100644 (file)
index 5fa2984..0000000
Binary files a/test/reference/user-font-rescale.quartz.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.ref.png b/test/reference/user-font-rescale.ref.png
deleted file mode 100644 (file)
index c644f75..0000000
Binary files a/test/reference/user-font-rescale.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.rgb24.ref.png b/test/reference/user-font-rescale.rgb24.ref.png
deleted file mode 100644 (file)
index 0939060..0000000
Binary files a/test/reference/user-font-rescale.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.svg.ref.png b/test/reference/user-font-rescale.svg.ref.png
deleted file mode 100644 (file)
index 6ed2a19..0000000
Binary files a/test/reference/user-font-rescale.svg.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.traps.argb32.ref.png b/test/reference/user-font-rescale.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0939060..0000000
Binary files a/test/reference/user-font-rescale.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.traps.ref.png b/test/reference/user-font-rescale.traps.ref.png
deleted file mode 100644 (file)
index 0939060..0000000
Binary files a/test/reference/user-font-rescale.traps.ref.png and /dev/null differ
diff --git a/test/reference/user-font-rescale.traps.rgb24.ref.png b/test/reference/user-font-rescale.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0939060..0000000
Binary files a/test/reference/user-font-rescale.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font.argb32.ref.png b/test/reference/user-font.argb32.ref.png
deleted file mode 100644 (file)
index b234a88..0000000
Binary files a/test/reference/user-font.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font.base.argb32.ref.png b/test/reference/user-font.base.argb32.ref.png
deleted file mode 100644 (file)
index c94cd49..0000000
Binary files a/test/reference/user-font.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font.base.rgb24.ref.png b/test/reference/user-font.base.rgb24.ref.png
deleted file mode 100644 (file)
index c94cd49..0000000
Binary files a/test/reference/user-font.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font.egl.argb32.ref.png b/test/reference/user-font.egl.argb32.ref.png
deleted file mode 100644 (file)
index 09dcf97..0000000
Binary files a/test/reference/user-font.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font.image16.ref.png b/test/reference/user-font.image16.ref.png
deleted file mode 100644 (file)
index fcdfb57..0000000
Binary files a/test/reference/user-font.image16.ref.png and /dev/null differ
diff --git a/test/reference/user-font.mask.argb32.ref.png b/test/reference/user-font.mask.argb32.ref.png
deleted file mode 100644 (file)
index b234a88..0000000
Binary files a/test/reference/user-font.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font.mask.rgb24.ref.png b/test/reference/user-font.mask.rgb24.ref.png
deleted file mode 100644 (file)
index b234a88..0000000
Binary files a/test/reference/user-font.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font.pdf.ref.png b/test/reference/user-font.pdf.ref.png
deleted file mode 100644 (file)
index de86407..0000000
Binary files a/test/reference/user-font.pdf.ref.png and /dev/null differ
diff --git a/test/reference/user-font.ps.ref.png b/test/reference/user-font.ps.ref.png
deleted file mode 100644 (file)
index 63f2896..0000000
Binary files a/test/reference/user-font.ps.ref.png and /dev/null differ
diff --git a/test/reference/user-font.quartz.ref.png b/test/reference/user-font.quartz.ref.png
deleted file mode 100644 (file)
index 8c0ec94..0000000
Binary files a/test/reference/user-font.quartz.ref.png and /dev/null differ
diff --git a/test/reference/user-font.ref.png b/test/reference/user-font.ref.png
deleted file mode 100644 (file)
index 0906e6c..0000000
Binary files a/test/reference/user-font.ref.png and /dev/null differ
diff --git a/test/reference/user-font.rgb24.ref.png b/test/reference/user-font.rgb24.ref.png
deleted file mode 100644 (file)
index b234a88..0000000
Binary files a/test/reference/user-font.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font.svg.ref.png b/test/reference/user-font.svg.ref.png
deleted file mode 100644 (file)
index 1ff6ea0..0000000
Binary files a/test/reference/user-font.svg.ref.png and /dev/null differ
diff --git a/test/reference/user-font.traps.argb32.ref.png b/test/reference/user-font.traps.argb32.ref.png
deleted file mode 100644 (file)
index c94cd49..0000000
Binary files a/test/reference/user-font.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/user-font.traps.rgb24.ref.png b/test/reference/user-font.traps.rgb24.ref.png
deleted file mode 100644 (file)
index c94cd49..0000000
Binary files a/test/reference/user-font.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/white-in-noop.argb32.ref.png b/test/reference/white-in-noop.argb32.ref.png
deleted file mode 100644 (file)
index f42bb8d..0000000
Binary files a/test/reference/white-in-noop.argb32.ref.png and /dev/null differ
diff --git a/test/reference/white-in-noop.base.argb32.ref.png b/test/reference/white-in-noop.base.argb32.ref.png
deleted file mode 100644 (file)
index f42bb8d..0000000
Binary files a/test/reference/white-in-noop.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/white-in-noop.base.rgb24.ref.png b/test/reference/white-in-noop.base.rgb24.ref.png
deleted file mode 100644 (file)
index f42bb8d..0000000
Binary files a/test/reference/white-in-noop.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/white-in-noop.egl.argb32.ref.png b/test/reference/white-in-noop.egl.argb32.ref.png
deleted file mode 100644 (file)
index f42bb8d..0000000
Binary files a/test/reference/white-in-noop.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/white-in-noop.mask.argb32.ref.png b/test/reference/white-in-noop.mask.argb32.ref.png
deleted file mode 100644 (file)
index f42bb8d..0000000
Binary files a/test/reference/white-in-noop.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/white-in-noop.mask.rgb24.ref.png b/test/reference/white-in-noop.mask.rgb24.ref.png
deleted file mode 100644 (file)
index f42bb8d..0000000
Binary files a/test/reference/white-in-noop.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/white-in-noop.ref.png b/test/reference/white-in-noop.ref.png
deleted file mode 100644 (file)
index f42bb8d..0000000
Binary files a/test/reference/white-in-noop.ref.png and /dev/null differ
diff --git a/test/reference/white-in-noop.rgb24.ref.png b/test/reference/white-in-noop.rgb24.ref.png
deleted file mode 100644 (file)
index f42bb8d..0000000
Binary files a/test/reference/white-in-noop.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/white-in-noop.traps.argb32.ref.png b/test/reference/white-in-noop.traps.argb32.ref.png
deleted file mode 100644 (file)
index f42bb8d..0000000
Binary files a/test/reference/white-in-noop.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/white-in-noop.traps.rgb24.ref.png b/test/reference/white-in-noop.traps.rgb24.ref.png
deleted file mode 100644 (file)
index f42bb8d..0000000
Binary files a/test/reference/white-in-noop.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.argb32.ref.png b/test/reference/world-map-fill.argb32.ref.png
deleted file mode 100644 (file)
index fad82ee..0000000
Binary files a/test/reference/world-map-fill.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.base.argb32.ref.png b/test/reference/world-map-fill.base.argb32.ref.png
deleted file mode 100644 (file)
index 926c1a8..0000000
Binary files a/test/reference/world-map-fill.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.base.rgb24.ref.png b/test/reference/world-map-fill.base.rgb24.ref.png
deleted file mode 100644 (file)
index 926c1a8..0000000
Binary files a/test/reference/world-map-fill.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.egl.argb32.ref.png b/test/reference/world-map-fill.egl.argb32.ref.png
deleted file mode 100644 (file)
index 462fb73..0000000
Binary files a/test/reference/world-map-fill.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.image16.ref.png b/test/reference/world-map-fill.image16.ref.png
deleted file mode 100644 (file)
index c97cb57..0000000
Binary files a/test/reference/world-map-fill.image16.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.mask.argb32.ref.png b/test/reference/world-map-fill.mask.argb32.ref.png
deleted file mode 100644 (file)
index fad82ee..0000000
Binary files a/test/reference/world-map-fill.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.mask.rgb24.ref.png b/test/reference/world-map-fill.mask.rgb24.ref.png
deleted file mode 100644 (file)
index fad82ee..0000000
Binary files a/test/reference/world-map-fill.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.ref.png b/test/reference/world-map-fill.ref.png
deleted file mode 100644 (file)
index 50b7142..0000000
Binary files a/test/reference/world-map-fill.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.rgb24.ref.png b/test/reference/world-map-fill.rgb24.ref.png
deleted file mode 100644 (file)
index fad82ee..0000000
Binary files a/test/reference/world-map-fill.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.traps.argb32.ref.png b/test/reference/world-map-fill.traps.argb32.ref.png
deleted file mode 100644 (file)
index 926c1a8..0000000
Binary files a/test/reference/world-map-fill.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map-fill.traps.rgb24.ref.png b/test/reference/world-map-fill.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 926c1a8..0000000
Binary files a/test/reference/world-map-fill.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.argb32.ref.png b/test/reference/world-map-stroke.argb32.ref.png
deleted file mode 100644 (file)
index 5c6e7d5..0000000
Binary files a/test/reference/world-map-stroke.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.base.argb32.ref.png b/test/reference/world-map-stroke.base.argb32.ref.png
deleted file mode 100644 (file)
index d00c945..0000000
Binary files a/test/reference/world-map-stroke.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.base.rgb24.ref.png b/test/reference/world-map-stroke.base.rgb24.ref.png
deleted file mode 100644 (file)
index d00c945..0000000
Binary files a/test/reference/world-map-stroke.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.egl.argb32.ref.png b/test/reference/world-map-stroke.egl.argb32.ref.png
deleted file mode 100644 (file)
index d366be8..0000000
Binary files a/test/reference/world-map-stroke.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.image16.ref.png b/test/reference/world-map-stroke.image16.ref.png
deleted file mode 100644 (file)
index 771ff0b..0000000
Binary files a/test/reference/world-map-stroke.image16.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.mask.argb32.ref.png b/test/reference/world-map-stroke.mask.argb32.ref.png
deleted file mode 100644 (file)
index ec0d502..0000000
Binary files a/test/reference/world-map-stroke.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.mask.rgb24.ref.png b/test/reference/world-map-stroke.mask.rgb24.ref.png
deleted file mode 100644 (file)
index ec0d502..0000000
Binary files a/test/reference/world-map-stroke.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.ref.png b/test/reference/world-map-stroke.ref.png
deleted file mode 100644 (file)
index 6e2f737..0000000
Binary files a/test/reference/world-map-stroke.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.rgb24.ref.png b/test/reference/world-map-stroke.rgb24.ref.png
deleted file mode 100644 (file)
index 5c6e7d5..0000000
Binary files a/test/reference/world-map-stroke.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.traps.argb32.ref.png b/test/reference/world-map-stroke.traps.argb32.ref.png
deleted file mode 100644 (file)
index d00c945..0000000
Binary files a/test/reference/world-map-stroke.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map-stroke.traps.rgb24.ref.png b/test/reference/world-map-stroke.traps.rgb24.ref.png
deleted file mode 100644 (file)
index d00c945..0000000
Binary files a/test/reference/world-map-stroke.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map.argb32.ref.png b/test/reference/world-map.argb32.ref.png
deleted file mode 100644 (file)
index 1274367..0000000
Binary files a/test/reference/world-map.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map.base.argb32.ref.png b/test/reference/world-map.base.argb32.ref.png
deleted file mode 100644 (file)
index 6bae50d..0000000
Binary files a/test/reference/world-map.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map.base.rgb24.ref.png b/test/reference/world-map.base.rgb24.ref.png
deleted file mode 100644 (file)
index 6bae50d..0000000
Binary files a/test/reference/world-map.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map.egl.argb32.ref.png b/test/reference/world-map.egl.argb32.ref.png
deleted file mode 100644 (file)
index 72278cc..0000000
Binary files a/test/reference/world-map.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map.image16.ref.png b/test/reference/world-map.image16.ref.png
deleted file mode 100644 (file)
index ea7ae8a..0000000
Binary files a/test/reference/world-map.image16.ref.png and /dev/null differ
diff --git a/test/reference/world-map.mask.argb32.ref.png b/test/reference/world-map.mask.argb32.ref.png
deleted file mode 100644 (file)
index 218a303..0000000
Binary files a/test/reference/world-map.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map.mask.rgb24.ref.png b/test/reference/world-map.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 218a303..0000000
Binary files a/test/reference/world-map.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map.ref.png b/test/reference/world-map.ref.png
deleted file mode 100644 (file)
index 36d40c0..0000000
Binary files a/test/reference/world-map.ref.png and /dev/null differ
diff --git a/test/reference/world-map.rgb24.ref.png b/test/reference/world-map.rgb24.ref.png
deleted file mode 100644 (file)
index 1274367..0000000
Binary files a/test/reference/world-map.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/world-map.traps.argb32.ref.png b/test/reference/world-map.traps.argb32.ref.png
deleted file mode 100644 (file)
index 6bae50d..0000000
Binary files a/test/reference/world-map.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/world-map.traps.rgb24.ref.png b/test/reference/world-map.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 6bae50d..0000000
Binary files a/test/reference/world-map.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.argb32.ref.png b/test/reference/xcb-huge-image-shm.argb32.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.base.argb32.ref.png b/test/reference/xcb-huge-image-shm.base.argb32.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.base.rgb24.ref.png b/test/reference/xcb-huge-image-shm.base.rgb24.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.egl.argb32.ref.png b/test/reference/xcb-huge-image-shm.egl.argb32.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.mask.argb32.ref.png b/test/reference/xcb-huge-image-shm.mask.argb32.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.mask.rgb24.ref.png b/test/reference/xcb-huge-image-shm.mask.rgb24.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.ref.png b/test/reference/xcb-huge-image-shm.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.rgb24.ref.png b/test/reference/xcb-huge-image-shm.rgb24.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.traps.argb32.ref.png b/test/reference/xcb-huge-image-shm.traps.argb32.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.traps.rgb24.ref.png b/test/reference/xcb-huge-image-shm.traps.rgb24.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.xlib-fallback.rgb24.ref.png b/test/reference/xcb-huge-image-shm.xlib-fallback.rgb24.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.xlib-fallback.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-huge-image-shm.xlib-window.rgb24.ref.png b/test/reference/xcb-huge-image-shm.xlib-window.rgb24.ref.png
deleted file mode 100644 (file)
index a0b24c8..0000000
Binary files a/test/reference/xcb-huge-image-shm.xlib-window.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-snapshot-assert.argb32.ref.png b/test/reference/xcb-snapshot-assert.argb32.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-snapshot-assert.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-snapshot-assert.base.argb32.ref.png b/test/reference/xcb-snapshot-assert.base.argb32.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-snapshot-assert.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-snapshot-assert.base.rgb24.ref.png b/test/reference/xcb-snapshot-assert.base.rgb24.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-snapshot-assert.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-snapshot-assert.egl.argb32.ref.png b/test/reference/xcb-snapshot-assert.egl.argb32.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-snapshot-assert.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-snapshot-assert.mask.argb32.ref.png b/test/reference/xcb-snapshot-assert.mask.argb32.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-snapshot-assert.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-snapshot-assert.mask.rgb24.ref.png b/test/reference/xcb-snapshot-assert.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-snapshot-assert.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-snapshot-assert.ref.png b/test/reference/xcb-snapshot-assert.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-snapshot-assert.ref.png and /dev/null differ
diff --git a/test/reference/xcb-snapshot-assert.rgb24.ref.png b/test/reference/xcb-snapshot-assert.rgb24.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-snapshot-assert.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-snapshot-assert.traps.argb32.ref.png b/test/reference/xcb-snapshot-assert.traps.argb32.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-snapshot-assert.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-snapshot-assert.traps.rgb24.ref.png b/test/reference/xcb-snapshot-assert.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-snapshot-assert.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-stress-cache.argb32.ref.png b/test/reference/xcb-stress-cache.argb32.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-stress-cache.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-stress-cache.base.argb32.ref.png b/test/reference/xcb-stress-cache.base.argb32.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-stress-cache.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-stress-cache.base.rgb24.ref.png b/test/reference/xcb-stress-cache.base.rgb24.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-stress-cache.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-stress-cache.egl.argb32.ref.png b/test/reference/xcb-stress-cache.egl.argb32.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-stress-cache.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-stress-cache.mask.argb32.ref.png b/test/reference/xcb-stress-cache.mask.argb32.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-stress-cache.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-stress-cache.mask.rgb24.ref.png b/test/reference/xcb-stress-cache.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-stress-cache.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-stress-cache.ref.png b/test/reference/xcb-stress-cache.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-stress-cache.ref.png and /dev/null differ
diff --git a/test/reference/xcb-stress-cache.rgb24.ref.png b/test/reference/xcb-stress-cache.rgb24.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-stress-cache.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-stress-cache.traps.argb32.ref.png b/test/reference/xcb-stress-cache.traps.argb32.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-stress-cache.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-stress-cache.traps.rgb24.ref.png b/test/reference/xcb-stress-cache.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 850ce59..0000000
Binary files a/test/reference/xcb-stress-cache.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.argb32.ref.png b/test/reference/xcb-surface-source.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/xcb-surface-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.base.argb32.ref.png b/test/reference/xcb-surface-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/xcb-surface-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.base.rgb24.ref.png b/test/reference/xcb-surface-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/xcb-surface-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.egl.argb32.ref.png b/test/reference/xcb-surface-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/xcb-surface-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.image16.ref.png b/test/reference/xcb-surface-source.image16.ref.png
deleted file mode 100644 (file)
index 2a7460e..0000000
Binary files a/test/reference/xcb-surface-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.mask.argb32.ref.png b/test/reference/xcb-surface-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/xcb-surface-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.mask.rgb24.ref.png b/test/reference/xcb-surface-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/xcb-surface-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.ps.argb32.ref.png b/test/reference/xcb-surface-source.ps.argb32.ref.png
deleted file mode 100644 (file)
index 910f895..0000000
Binary files a/test/reference/xcb-surface-source.ps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.ps.rgb24.ref.png b/test/reference/xcb-surface-source.ps.rgb24.ref.png
deleted file mode 100644 (file)
index 636b0f5..0000000
Binary files a/test/reference/xcb-surface-source.ps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.rgb24.ref.png b/test/reference/xcb-surface-source.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/xcb-surface-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.traps.argb32.ref.png b/test/reference/xcb-surface-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/xcb-surface-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcb-surface-source.traps.rgb24.ref.png b/test/reference/xcb-surface-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/xcb-surface-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.argb32.ref.png b/test/reference/xcomposite-projection.argb32.ref.png
deleted file mode 100644 (file)
index abbea08..0000000
Binary files a/test/reference/xcomposite-projection.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.base.argb32.ref.png b/test/reference/xcomposite-projection.base.argb32.ref.png
deleted file mode 100644 (file)
index ea4dddf..0000000
Binary files a/test/reference/xcomposite-projection.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.base.rgb24.ref.png b/test/reference/xcomposite-projection.base.rgb24.ref.png
deleted file mode 100644 (file)
index ea4dddf..0000000
Binary files a/test/reference/xcomposite-projection.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.egl.argb32.ref.png b/test/reference/xcomposite-projection.egl.argb32.ref.png
deleted file mode 100644 (file)
index b5e4d0e..0000000
Binary files a/test/reference/xcomposite-projection.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.image16.ref.png b/test/reference/xcomposite-projection.image16.ref.png
deleted file mode 100644 (file)
index f9bc3b6..0000000
Binary files a/test/reference/xcomposite-projection.image16.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.mask.argb32.ref.png b/test/reference/xcomposite-projection.mask.argb32.ref.png
deleted file mode 100644 (file)
index 9ccabda..0000000
Binary files a/test/reference/xcomposite-projection.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.mask.rgb24.ref.png b/test/reference/xcomposite-projection.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 9ccabda..0000000
Binary files a/test/reference/xcomposite-projection.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.quartz.ref.png b/test/reference/xcomposite-projection.quartz.ref.png
deleted file mode 100644 (file)
index 0221607..0000000
Binary files a/test/reference/xcomposite-projection.quartz.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.ref.png b/test/reference/xcomposite-projection.ref.png
deleted file mode 100644 (file)
index abbea08..0000000
Binary files a/test/reference/xcomposite-projection.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.rgb24.ref.png b/test/reference/xcomposite-projection.rgb24.ref.png
deleted file mode 100644 (file)
index abbea08..0000000
Binary files a/test/reference/xcomposite-projection.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.traps.argb32.ref.png b/test/reference/xcomposite-projection.traps.argb32.ref.png
deleted file mode 100644 (file)
index ea4dddf..0000000
Binary files a/test/reference/xcomposite-projection.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xcomposite-projection.traps.rgb24.ref.png b/test/reference/xcomposite-projection.traps.rgb24.ref.png
deleted file mode 100644 (file)
index ea4dddf..0000000
Binary files a/test/reference/xcomposite-projection.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.argb32.ref.png b/test/reference/xlib-expose-event.argb32.ref.png
deleted file mode 100644 (file)
index fd71f5a..0000000
Binary files a/test/reference/xlib-expose-event.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.base.argb32.ref.png b/test/reference/xlib-expose-event.base.argb32.ref.png
deleted file mode 100644 (file)
index fd71f5a..0000000
Binary files a/test/reference/xlib-expose-event.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.base.rgb24.ref.png b/test/reference/xlib-expose-event.base.rgb24.ref.png
deleted file mode 100644 (file)
index fd71f5a..0000000
Binary files a/test/reference/xlib-expose-event.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.egl.argb32.ref.png b/test/reference/xlib-expose-event.egl.argb32.ref.png
deleted file mode 100644 (file)
index 1e8f43d..0000000
Binary files a/test/reference/xlib-expose-event.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.image16.ref.png b/test/reference/xlib-expose-event.image16.ref.png
deleted file mode 100644 (file)
index 54d5f26..0000000
Binary files a/test/reference/xlib-expose-event.image16.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.mask.argb32.ref.png b/test/reference/xlib-expose-event.mask.argb32.ref.png
deleted file mode 100644 (file)
index fd71f5a..0000000
Binary files a/test/reference/xlib-expose-event.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.mask.rgb24.ref.png b/test/reference/xlib-expose-event.mask.rgb24.ref.png
deleted file mode 100644 (file)
index fd71f5a..0000000
Binary files a/test/reference/xlib-expose-event.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.ps.ref.png b/test/reference/xlib-expose-event.ps.ref.png
deleted file mode 100644 (file)
index 88f49c1..0000000
Binary files a/test/reference/xlib-expose-event.ps.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.ref.png b/test/reference/xlib-expose-event.ref.png
deleted file mode 100644 (file)
index 1cca0e7..0000000
Binary files a/test/reference/xlib-expose-event.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.rgb24.ref.png b/test/reference/xlib-expose-event.rgb24.ref.png
deleted file mode 100644 (file)
index fd71f5a..0000000
Binary files a/test/reference/xlib-expose-event.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.traps.argb32.ref.png b/test/reference/xlib-expose-event.traps.argb32.ref.png
deleted file mode 100644 (file)
index fd71f5a..0000000
Binary files a/test/reference/xlib-expose-event.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-expose-event.traps.rgb24.ref.png b/test/reference/xlib-expose-event.traps.rgb24.ref.png
deleted file mode 100644 (file)
index fd71f5a..0000000
Binary files a/test/reference/xlib-expose-event.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.argb32.ref.png b/test/reference/xlib-surface-source.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/xlib-surface-source.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.base.argb32.ref.png b/test/reference/xlib-surface-source.base.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/xlib-surface-source.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.base.rgb24.ref.png b/test/reference/xlib-surface-source.base.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/xlib-surface-source.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.egl.argb32.ref.png b/test/reference/xlib-surface-source.egl.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/xlib-surface-source.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.image16.ref.png b/test/reference/xlib-surface-source.image16.ref.png
deleted file mode 100644 (file)
index 2a7460e..0000000
Binary files a/test/reference/xlib-surface-source.image16.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.mask.argb32.ref.png b/test/reference/xlib-surface-source.mask.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/xlib-surface-source.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.mask.rgb24.ref.png b/test/reference/xlib-surface-source.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/xlib-surface-source.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.ps.argb32.ref.png b/test/reference/xlib-surface-source.ps.argb32.ref.png
deleted file mode 100644 (file)
index 910f895..0000000
Binary files a/test/reference/xlib-surface-source.ps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.ps.rgb24.ref.png b/test/reference/xlib-surface-source.ps.rgb24.ref.png
deleted file mode 100644 (file)
index 636b0f5..0000000
Binary files a/test/reference/xlib-surface-source.ps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.rgb24.ref.png b/test/reference/xlib-surface-source.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/xlib-surface-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.svg12.argb32.xfail.png b/test/reference/xlib-surface-source.svg12.argb32.xfail.png
deleted file mode 100644 (file)
index 6ebcaf9..0000000
Binary files a/test/reference/xlib-surface-source.svg12.argb32.xfail.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.svg12.rgb24.xfail.png b/test/reference/xlib-surface-source.svg12.rgb24.xfail.png
deleted file mode 100644 (file)
index 6ebcaf9..0000000
Binary files a/test/reference/xlib-surface-source.svg12.rgb24.xfail.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.traps.argb32.ref.png b/test/reference/xlib-surface-source.traps.argb32.ref.png
deleted file mode 100644 (file)
index 0182972..0000000
Binary files a/test/reference/xlib-surface-source.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/xlib-surface-source.traps.rgb24.ref.png b/test/reference/xlib-surface-source.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 0d68a82..0000000
Binary files a/test/reference/xlib-surface-source.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/zero-alpha.argb32.ref.png b/test/reference/zero-alpha.argb32.ref.png
deleted file mode 100644 (file)
index 595c0ae..0000000
Binary files a/test/reference/zero-alpha.argb32.ref.png and /dev/null differ
diff --git a/test/reference/zero-alpha.base.argb32.ref.png b/test/reference/zero-alpha.base.argb32.ref.png
deleted file mode 100644 (file)
index 595c0ae..0000000
Binary files a/test/reference/zero-alpha.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/zero-alpha.base.rgb24.ref.png b/test/reference/zero-alpha.base.rgb24.ref.png
deleted file mode 100644 (file)
index 595c0ae..0000000
Binary files a/test/reference/zero-alpha.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/zero-alpha.egl.argb32.ref.png b/test/reference/zero-alpha.egl.argb32.ref.png
deleted file mode 100644 (file)
index 595c0ae..0000000
Binary files a/test/reference/zero-alpha.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/zero-alpha.mask.argb32.ref.png b/test/reference/zero-alpha.mask.argb32.ref.png
deleted file mode 100644 (file)
index 595c0ae..0000000
Binary files a/test/reference/zero-alpha.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/zero-alpha.mask.rgb24.ref.png b/test/reference/zero-alpha.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 595c0ae..0000000
Binary files a/test/reference/zero-alpha.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/zero-alpha.ref.png b/test/reference/zero-alpha.ref.png
deleted file mode 100644 (file)
index d03727d..0000000
Binary files a/test/reference/zero-alpha.ref.png and /dev/null differ
diff --git a/test/reference/zero-alpha.rgb24.ref.png b/test/reference/zero-alpha.rgb24.ref.png
deleted file mode 100644 (file)
index 595c0ae..0000000
Binary files a/test/reference/zero-alpha.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/zero-alpha.traps.argb32.ref.png b/test/reference/zero-alpha.traps.argb32.ref.png
deleted file mode 100644 (file)
index 595c0ae..0000000
Binary files a/test/reference/zero-alpha.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/zero-alpha.traps.rgb24.ref.png b/test/reference/zero-alpha.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 595c0ae..0000000
Binary files a/test/reference/zero-alpha.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/zero-mask.argb32.ref.png b/test/reference/zero-mask.argb32.ref.png
deleted file mode 100644 (file)
index ffae8d9..0000000
Binary files a/test/reference/zero-mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/zero-mask.base.argb32.ref.png b/test/reference/zero-mask.base.argb32.ref.png
deleted file mode 100644 (file)
index ffae8d9..0000000
Binary files a/test/reference/zero-mask.base.argb32.ref.png and /dev/null differ
diff --git a/test/reference/zero-mask.base.rgb24.ref.png b/test/reference/zero-mask.base.rgb24.ref.png
deleted file mode 100644 (file)
index 263c3d1..0000000
Binary files a/test/reference/zero-mask.base.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/zero-mask.egl.argb32.ref.png b/test/reference/zero-mask.egl.argb32.ref.png
deleted file mode 100644 (file)
index a475136..0000000
Binary files a/test/reference/zero-mask.egl.argb32.ref.png and /dev/null differ
diff --git a/test/reference/zero-mask.mask.argb32.ref.png b/test/reference/zero-mask.mask.argb32.ref.png
deleted file mode 100644 (file)
index ffae8d9..0000000
Binary files a/test/reference/zero-mask.mask.argb32.ref.png and /dev/null differ
diff --git a/test/reference/zero-mask.mask.rgb24.ref.png b/test/reference/zero-mask.mask.rgb24.ref.png
deleted file mode 100644 (file)
index 263c3d1..0000000
Binary files a/test/reference/zero-mask.mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/zero-mask.ref.png b/test/reference/zero-mask.ref.png
deleted file mode 100644 (file)
index ffae8d9..0000000
Binary files a/test/reference/zero-mask.ref.png and /dev/null differ
diff --git a/test/reference/zero-mask.rgb24.ref.png b/test/reference/zero-mask.rgb24.ref.png
deleted file mode 100644 (file)
index 263c3d1..0000000
Binary files a/test/reference/zero-mask.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/zero-mask.traps.argb32.ref.png b/test/reference/zero-mask.traps.argb32.ref.png
deleted file mode 100644 (file)
index ffae8d9..0000000
Binary files a/test/reference/zero-mask.traps.argb32.ref.png and /dev/null differ
diff --git a/test/reference/zero-mask.traps.rgb24.ref.png b/test/reference/zero-mask.traps.rgb24.ref.png
deleted file mode 100644 (file)
index 263c3d1..0000000
Binary files a/test/reference/zero-mask.traps.rgb24.ref.png and /dev/null differ
diff --git a/test/reflected-stroke.c b/test/reflected-stroke.c
deleted file mode 100644 (file)
index b11f5a9..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * the author not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. The author makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE AUTHOR. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static void
-draw_symbol (cairo_t *cr)
-{
-    double dash[] = {6, 3};
-
-    cairo_rectangle (cr, -25, -25, 50, 50);
-    cairo_stroke (cr);
-
-    cairo_move_to (cr, 0, -25);
-    cairo_curve_to (cr, 12.5, -12.5, 12.5, -12.5, 0, 0);
-    cairo_curve_to (cr, -12.5, 12.5, -12.5, 12.5, 0, 25);
-    cairo_curve_to (cr, 12.5, 12.5, 12.5, 12.5, 0, 0);
-    cairo_stroke (cr);
-
-    cairo_save (cr);
-    cairo_set_dash (cr, dash, ARRAY_LENGTH (dash), 0.);
-    cairo_move_to (cr, 0, 0);
-    cairo_arc (cr, 0, 0, 12.5, 0, 3 * M_PI / 2);
-    cairo_close_path (cr);
-    cairo_stroke (cr);
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_save (cr);
-    cairo_translate (cr, 50, 50);
-    cairo_scale (cr, 1, 1);
-    draw_symbol (cr);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_translate (cr, 150, 50);
-    cairo_scale (cr, -1, 1);
-    draw_symbol (cr);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_translate (cr, 150, 150);
-    cairo_scale (cr, -1, -1);
-    draw_symbol (cr);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_translate (cr, 50, 150);
-    cairo_scale (cr, 1, -1);
-    draw_symbol (cr);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (reflected_stroke,
-           "Exercises the stroker with a reflected ctm",
-           "stroke, transform", /* keywords */
-           NULL, /* requirements */
-           200, 200,
-           NULL, draw)
diff --git a/test/rel-path.c b/test/rel-path.c
deleted file mode 100644 (file)
index d1ef259..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright © 2005 Keith Packard
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Keith Packard not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission.  Keith Packard makes no
- * representations about the suitability of this software for any purpose.  It
- * is provided "as is" without express or implied warranty.
- *
- * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include "cairo-test.h"
-
-#define SIZE 10
-
-static cairo_status_t
-invalid_rel_move_to (cairo_surface_t *target)
-{
-    cairo_t *cr;
-    cairo_status_t status;
-
-    cr = cairo_create (target);
-    cairo_rel_move_to (cr, SIZE, SIZE/2);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-
-    return status;
-}
-
-static cairo_status_t
-invalid_rel_line_to (cairo_surface_t *target)
-{
-    cairo_t *cr;
-    cairo_status_t status;
-
-    cr = cairo_create (target);
-    cairo_rel_line_to (cr, -SIZE, SIZE/2);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-
-    return status;
-}
-
-static cairo_status_t
-invalid_rel_curve_to (cairo_surface_t *target)
-{
-    cairo_t *cr;
-    cairo_status_t status;
-
-    cr = cairo_create (target);
-    cairo_rel_curve_to (cr,
-                       SIZE/2, -SIZE/2,
-                       SIZE*2/3, -SIZE/3,
-                       SIZE/2, -SIZE);
-    status = cairo_status (cr);
-    cairo_destroy (cr);
-
-    return status;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_status_t status;
-    cairo_test_status_t result;
-
-    /* first test that a relative move without a current point fails... */
-    status = invalid_rel_move_to (cairo_get_target (cr));
-    if (status != CAIRO_STATUS_NO_CURRENT_POINT) {
-       result = cairo_test_status_from_status (ctx, status);
-       if (result == CAIRO_TEST_NO_MEMORY)
-           return result;
-
-       cairo_test_log (ctx, "Error: invalid cairo_rel_move_to() did not raise NO_CURRENT_POINT\n");
-       return result;
-    }
-
-    status = invalid_rel_line_to (cairo_get_target (cr));
-    if (status != CAIRO_STATUS_NO_CURRENT_POINT) {
-       result = cairo_test_status_from_status (ctx, status);
-       if (result == CAIRO_TEST_NO_MEMORY)
-           return result;
-
-       cairo_test_log (ctx, "Error: invalid cairo_rel_line_to() did not raise NO_CURRENT_POINT\n");
-       return result;
-    }
-
-    status = invalid_rel_curve_to (cairo_get_target (cr));
-    if (status != CAIRO_STATUS_NO_CURRENT_POINT) {
-       result = cairo_test_status_from_status (ctx, status);
-       if (result == CAIRO_TEST_NO_MEMORY)
-           return result;
-
-       cairo_test_log (ctx, "Error: invalid cairo_rel_curve_to() did not raise NO_CURRENT_POINT\n");
-       return result;
-    }
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_move_to (cr, 0, 0);
-    cairo_rel_move_to (cr, SIZE, SIZE/2);
-    cairo_rel_line_to (cr, -SIZE, SIZE/2);
-    cairo_rel_curve_to (cr,
-                       SIZE/2, -SIZE/2,
-                       SIZE*2/3, -SIZE/3,
-                       SIZE/2, -SIZE);
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rel_path,
-           "Tests calls to various relative path functions",
-           "path", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/rgb24-ignore-alpha.c b/test/rgb24-ignore-alpha.c
deleted file mode 100644 (file)
index 1c9d57e..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH  2
-#define HEIGHT 2
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    /* Four green pixels with different "alpha" values, (but which
-     * should be entirely ignored). */
-    uint32_t colors[4] = {
-       0xff00ff00, 0x8800ff00,
-       0x4400ff00, 0x0000ff00
-    };
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) colors,
-                                                  CAIRO_FORMAT_RGB24, 2, 2, 8);
-
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_paint (cr);
-
-    cairo_surface_finish (surface); /* colors will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rgb24_ignore_alpha,
-           "Test that when using an RGB24 image as a source, there is no alpha channel",
-           "image, alpha", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/romedalen.jpg b/test/romedalen.jpg
deleted file mode 100644 (file)
index d655e3d..0000000
Binary files a/test/romedalen.jpg and /dev/null differ
diff --git a/test/romedalen.png b/test/romedalen.png
deleted file mode 100644 (file)
index 0c41eb0..0000000
Binary files a/test/romedalen.png and /dev/null differ
diff --git a/test/rotate-image-surface-paint.c b/test/rotate-image-surface-paint.c
deleted file mode 100644 (file)
index 42fda6e..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright © 2005, 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 20
-#define PAD 2
-
-static cairo_pattern_t *
-create_image_source (int size)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *pattern;
-    cairo_t *cr;
-
-    /* Create an image surface with my favorite four colors in each
-     * quadrant. */
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, size, size);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_rectangle (cr, 0, 0, size / 2, size / 2);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_rectangle (cr, size / 2, 0, size - size / 2, size / 2);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_rectangle (cr, 0, size / 2, size / 2, size - size / 2);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_rectangle (cr, size / 2, size / 2, size - size / 2, size - size / 2);
-    cairo_fill (cr);
-
-    pattern = cairo_pattern_create_for_surface (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return pattern;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *source;
-    int surface_size = sqrt ((SIZE - 2*PAD)*(SIZE - 2*PAD)/2);
-
-    /* Use a gray (neutral) background, so we can spot if the backend pads
-     * with any other colour.
-     */
-    cairo_set_source_rgb (cr, .5, .5, .5);
-    cairo_paint (cr);
-
-    cairo_translate(cr, SIZE/2, SIZE/2);
-    cairo_rotate (cr, M_PI / 4.0);
-    cairo_translate (cr, -surface_size/2, -surface_size/2);
-
-    source = create_image_source (surface_size);
-    cairo_pattern_set_filter (source, CAIRO_FILTER_NEAREST);
-    cairo_set_source(cr, source);
-    cairo_pattern_destroy (source);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-clip_draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *source;
-    int surface_size = sqrt ((SIZE - 2*PAD)*(SIZE - 2*PAD)/2);
-
-    /* Use a gray (neutral) background, so we can spot if the backend pads
-     * with any other colour.
-     */
-    cairo_set_source_rgb (cr, .5, .5, .5);
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, 2*PAD, 2*PAD, SIZE-4*PAD, SIZE-4*PAD);
-    cairo_clip (cr);
-
-    cairo_translate(cr, SIZE/2, SIZE/2);
-    cairo_rotate (cr, M_PI / 4.0);
-    cairo_translate (cr, -surface_size/2, -surface_size/2);
-
-    source = create_image_source (surface_size);
-    cairo_pattern_set_filter (source, CAIRO_FILTER_NEAREST);
-    cairo_set_source(cr, source);
-    cairo_pattern_destroy (source);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_clip (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *source;
-    int surface_size = sqrt ((SIZE - 2*PAD)*(SIZE - 2*PAD)/2);
-
-    /* Use a gray (neutral) background, so we can spot if the backend pads
-     * with any other colour.
-     */
-    cairo_set_source_rgb (cr, .5, .5, .5);
-    cairo_paint (cr);
-
-    cairo_translate(cr, SIZE/2, SIZE/2);
-    cairo_rotate (cr, M_PI / 4.0);
-    cairo_translate (cr, -surface_size/2, -surface_size/2);
-
-    cairo_rectangle (cr, PAD, PAD, surface_size-2*PAD, surface_size-2*PAD);
-    cairo_clip (cr);
-
-    source = create_image_source (surface_size);
-    cairo_pattern_set_filter (source, CAIRO_FILTER_NEAREST);
-    cairo_set_source(cr, source);
-    cairo_pattern_destroy (source);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rotate_image_surface_paint,
-           "Test call sequence: image_surface_create; rotate; set_source_surface; paint"
-           "\nThis test is known to fail on the ps backend currently",
-           "image, transform, paint", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
-
-CAIRO_TEST (clip_rotate_image_surface_paint,
-           "Test call sequence: image_surface_create; rotate; set_source_surface; paint"
-           "\nThis test is known to fail on the ps backend currently",
-           "image, transform, paint", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, clip_draw)
-CAIRO_TEST (rotate_clip_image_surface_paint,
-           "Test call sequence: image_surface_create; rotate; set_source_surface; paint"
-           "\nThis test is known to fail on the ps backend currently",
-           "image, transform, paint", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_clip)
diff --git a/test/rotated-clip.c b/test/rotated-clip.c
deleted file mode 100644 (file)
index 4ca4566..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright © 2007 Adrian Johnson
- * Copyright © 2009 Chris Wilson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- *         Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define PAT_WIDTH  120
-#define PAT_HEIGHT 120
-#define SIZE (PAT_WIDTH*2)
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_matrix_t m;
-
-    /* make the output opaque */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    cairo_matrix_init_scale (&m, 2, 1.5);
-    cairo_matrix_rotate (&m, 1);
-    cairo_matrix_translate (&m, -PAT_WIDTH/4.0, -PAT_WIDTH/2.0);
-    cairo_matrix_invert (&m);
-    cairo_set_matrix (cr, &m);
-
-    cairo_rectangle (cr, 0, 0, PAT_WIDTH, PAT_HEIGHT);
-    cairo_clip (cr);
-
-    cairo_set_source_rgba (cr, 1, 0, 1, 0.5);
-    cairo_rectangle (cr, PAT_WIDTH/6.0, PAT_HEIGHT/6.0, PAT_WIDTH/4.0, PAT_HEIGHT/4.0);
-    cairo_fill (cr);
-
-    cairo_set_source_rgba (cr, 0, 1, 1, 0.5);
-    cairo_rectangle (cr, PAT_WIDTH/2.0, PAT_HEIGHT/2.0, PAT_WIDTH/4.0, PAT_HEIGHT/4.0);
-    cairo_fill (cr);
-
-    cairo_set_line_width (cr, 1);
-    cairo_move_to (cr, PAT_WIDTH/6.0, 0);
-    cairo_line_to (cr, 0, 0);
-    cairo_line_to (cr, 0, PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_stroke (cr);
-
-    cairo_move_to (cr, PAT_WIDTH/6.0, PAT_HEIGHT);
-    cairo_line_to (cr, 0, PAT_HEIGHT);
-    cairo_line_to (cr, 0, 5*PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_stroke (cr);
-
-    cairo_move_to (cr, 5*PAT_WIDTH/6.0, 0);
-    cairo_line_to (cr, PAT_WIDTH, 0);
-    cairo_line_to (cr, PAT_WIDTH, PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_stroke (cr);
-
-    cairo_move_to (cr, 5*PAT_WIDTH/6.0, PAT_HEIGHT);
-    cairo_line_to (cr, PAT_WIDTH, PAT_HEIGHT);
-    cairo_line_to (cr, PAT_WIDTH, 5*PAT_HEIGHT/6.0);
-    cairo_set_source_rgb (cr, 1, 1, 0);
-    cairo_stroke (cr);
-
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_set_line_width (cr, PAT_WIDTH/10.0);
-
-    cairo_move_to (cr, 0,         PAT_HEIGHT/4.0);
-    cairo_line_to (cr, PAT_WIDTH, PAT_HEIGHT/4.0);
-    cairo_stroke (cr);
-
-    cairo_move_to (cr, PAT_WIDTH/4.0,         0);
-    cairo_line_to (cr, PAT_WIDTH/4.0, PAT_WIDTH);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rotated_clip,
-           "Test clipping with non identity pattern matrix",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/rounded-rectangle-fill.c b/test/rounded-rectangle-fill.c
deleted file mode 100644 (file)
index d211cf6..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright © 2009 Chris Wilson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 80
-
-/* A very simple test to exercise the scan rasterisers with constant regions. */
-
-static void
-rounded_rectangle (cairo_t *cr, int x, int y, int w, int h, int r)
-{
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, x + r, y + r, r, M_PI, 3 * M_PI / 2);
-    cairo_arc (cr, x + w - r, y + r, r, 3 *M_PI / 2, 2 * M_PI);
-    cairo_arc (cr, x + w - r, y + h - r, r, 0, M_PI / 2);
-    cairo_arc (cr, x + r, y + h - r, r, M_PI / 2, M_PI);
-    cairo_close_path (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Paint background white, then draw in black. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    rounded_rectangle (cr, 5, 5, width-10, height-10, 15);
-    rounded_rectangle (cr, 15, 15, width-30, height-30, 5);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rounded_rectangle_fill,
-           "Tests handling of rounded rectangles, the UI designers favourite",
-           "fill, rounded-rectangle", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/rounded-rectangle-stroke.c b/test/rounded-rectangle-stroke.c
deleted file mode 100644 (file)
index 22bc515..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2009 Chris Wilson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 80
-
-/* A very simple test to exercise the scan rasterisers with constant regions. */
-
-static void
-rounded_rectangle (cairo_t *cr, int x, int y, int w, int h, int r)
-{
-    cairo_new_sub_path (cr);
-    cairo_arc (cr, x + r, y + r, r, M_PI, 3 * M_PI / 2);
-    cairo_arc (cr, x + w - r, y + r, r, 3 *M_PI / 2, 2 * M_PI);
-    cairo_arc (cr, x + w - r, y + h - r, r, 0, M_PI / 2);
-    cairo_arc (cr, x + r, y + h - r, r, M_PI / 2, M_PI);
-    cairo_close_path (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Paint background white, then draw in black. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-
-    cairo_set_line_width (cr, 10);
-    rounded_rectangle (cr, 10, 10, width-20, height-20, 10);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (rounded_rectangle_stroke,
-           "Tests handling of rounded rectangles, the UI designers favourite",
-           "stroke, rounded-rectangle", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/run-cairo-test-suite.sh b/test/run-cairo-test-suite.sh
deleted file mode 100755 (executable)
index 567d2b1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-
-set -m
-
-if `which gnome-screensaver-command`; then
-       gnome-screensaver-command -i -n "cairo-test-suite" -r "Cairo needs to read back from the screen in order to test rendering to xlib" &
-       pid=$!
-
-       restore_screensaver() { kill $pid; }
-else
-       restore_screensaver() { :; }
-fi
-
-trap cleanup SIGINT SIGTERM
-
-./cairo-test-suite "$*"
-
-restore_screensaver
diff --git a/test/scale-down-source-surface-paint.c b/test/scale-down-source-surface-paint.c
deleted file mode 100644 (file)
index 8cf0e06..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright © 2005,2007 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    uint32_t data[16] = {
-       0xffffffff, 0xffffffff,         0xffff0000, 0xffff0000,
-       0xffffffff, 0xffffffff,         0xffff0000, 0xffff0000,
-
-       0xff00ff00, 0xff00ff00,         0xff0000ff, 0xff0000ff,
-       0xff00ff00, 0xff00ff00,         0xff0000ff, 0xff0000ff
-    };
-
-    /* First paint opaque background (black) so we don't need separate
-     * ARGB32 and RGB24 reference images. */
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-    cairo_paint (cr);
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_scale (cr, 0.5, 0.5);
-
-    cairo_set_source_surface (cr, surface, 4, 4);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint (cr);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (scale_down_source_surface_paint,
-           "Test call sequence: cairo_scale; cairo_set_source_surface; cairo_paint, with a scale < 1.0",
-           "paint, transform", /* keywords */
-           NULL, /* requirements */
-           6, 6,
-           NULL, draw)
diff --git a/test/scale-offset-image.c b/test/scale-offset-image.c
deleted file mode 100644 (file)
index 0eef22e..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/*
- * Test case derived from the bug report by Michel Iwaniec:
- * http://lists.cairographics.org/archives/cairo/2008-November/015660.html
- */
-
-#include "cairo-test.h"
-
-static cairo_surface_t *
-create_source (cairo_surface_t *target, int width, int height)
-{
-    cairo_surface_t *similar;
-    cairo_t *cr;
-
-    similar = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
-                                           width, height);
-    cr = cairo_create (similar);
-    cairo_surface_destroy (similar);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_rectangle (cr,
-                    width - 4, height - 4,
-                    2, 2);
-    cairo_fill (cr);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_rectangle (cr,
-                    width - 2, height - 4,
-                    2, 2);
-    cairo_fill (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_rectangle (cr,
-                    width - 4, height - 2,
-                    2, 2);
-    cairo_fill (cr);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_rectangle (cr,
-                    width - 2, height - 2,
-                    2, 2);
-    cairo_fill (cr);
-
-    similar = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return similar;
-}
-
-static void
-draw_grid (cairo_t *cr, cairo_pattern_t *pattern, int dst_x, int dst_y)
-{
-    cairo_matrix_t m;
-
-    cairo_save (cr);
-    cairo_translate (cr, dst_x, dst_y);
-    cairo_scale (cr, 16, 16);
-    cairo_rotate (cr, 1);
-
-    cairo_matrix_init_translate (&m, 2560-4, 1280-4);
-    cairo_pattern_set_matrix (pattern, &m);
-    cairo_set_source (cr, pattern);
-    cairo_rectangle (cr, 0, 0, 4, 4);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, .7, .7, .7);
-    cairo_set_line_width (cr, 1./16);
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, 4, 0);
-    cairo_move_to (cr, 0, 2);
-    cairo_line_to (cr, 4, 2);
-    cairo_move_to (cr, 0, 4);
-    cairo_line_to (cr, 4, 4);
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, 0, 4);
-    cairo_move_to (cr, 2, 0);
-    cairo_line_to (cr, 2, 4);
-    cairo_move_to (cr, 4, 0);
-    cairo_line_to (cr, 4, 4);
-    cairo_stroke (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *source;
-    cairo_pattern_t *pattern;
-
-    cairo_paint (cr);
-
-    source = create_source (cairo_get_target (cr), 2560, 1280);
-    pattern = cairo_pattern_create_for_surface (source);
-    cairo_surface_destroy (source);
-
-    cairo_pattern_set_filter (pattern, CAIRO_FILTER_NEAREST);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_NONE);
-
-    draw_grid (cr, pattern, 50, 0);
-    draw_grid (cr, pattern, 130, 0);
-    draw_grid (cr, pattern, 210, 0);
-    draw_grid (cr, pattern, 290, 0);
-
-    draw_grid (cr, pattern, 50,  230);
-    draw_grid (cr, pattern, 130, 230);
-    draw_grid (cr, pattern, 210, 230);
-    draw_grid (cr, pattern, 290, 230);
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (scale_offset_image,
-           "Tests drawing surfaces under various scales and transforms",
-           "surface scale-offset", /* keywords */
-           NULL, /* requirements */
-           320, 320,
-           NULL, draw)
-
diff --git a/test/scale-offset-similar.c b/test/scale-offset-similar.c
deleted file mode 100644 (file)
index daf7ffe..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/*
- * Test case derived from the bug report by Michel Iwaniec:
- * http://lists.cairographics.org/archives/cairo/2008-November/015660.html
- */
-
-#include "cairo-test.h"
-
-static cairo_surface_t *
-create_source (cairo_surface_t *target, int width, int height)
-{
-    cairo_surface_t *similar;
-    cairo_t *cr;
-
-    similar = cairo_surface_create_similar (target,
-                                           CAIRO_CONTENT_COLOR,
-                                           width, height);
-    cr = cairo_create (similar);
-    cairo_surface_destroy (similar);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_rectangle (cr,
-                    width - 4, height - 4,
-                    2, 2);
-    cairo_fill (cr);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_rectangle (cr,
-                    width - 2, height - 4,
-                    2, 2);
-    cairo_fill (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_rectangle (cr,
-                    width - 4, height - 2,
-                    2, 2);
-    cairo_fill (cr);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_rectangle (cr,
-                    width - 2, height - 2,
-                    2, 2);
-    cairo_fill (cr);
-
-    similar = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return similar;
-}
-
-static void
-draw_grid (cairo_t *cr, cairo_pattern_t *pattern, int dst_x, int dst_y)
-{
-    cairo_matrix_t m;
-
-    cairo_save (cr);
-    cairo_translate (cr, dst_x, dst_y);
-    cairo_scale (cr, 16, 16);
-    cairo_rotate (cr, 1);
-
-    cairo_matrix_init_translate (&m, 2560-4, 1280-4);
-    cairo_pattern_set_matrix (pattern, &m);
-    cairo_set_source (cr, pattern);
-    cairo_rectangle (cr, 0, 0, 4, 4);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, .7, .7, .7);
-    cairo_set_line_width (cr, 1./16);
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, 4, 0);
-    cairo_move_to (cr, 0, 2);
-    cairo_line_to (cr, 4, 2);
-    cairo_move_to (cr, 0, 4);
-    cairo_line_to (cr, 4, 4);
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, 0, 4);
-    cairo_move_to (cr, 2, 0);
-    cairo_line_to (cr, 2, 4);
-    cairo_move_to (cr, 4, 0);
-    cairo_line_to (cr, 4, 4);
-    cairo_stroke (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *source;
-    cairo_pattern_t *pattern;
-
-    cairo_paint (cr);
-
-    source = create_source (cairo_get_target (cr), 2560, 1280);
-    pattern = cairo_pattern_create_for_surface (source);
-    cairo_surface_destroy (source);
-
-    cairo_pattern_set_filter (pattern, CAIRO_FILTER_NEAREST);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_NONE);
-
-    draw_grid (cr, pattern, 50, 0);
-    draw_grid (cr, pattern, 130, 0);
-    draw_grid (cr, pattern, 210, 0);
-    draw_grid (cr, pattern, 290, 0);
-
-    draw_grid (cr, pattern, 50,  230);
-    draw_grid (cr, pattern, 130, 230);
-    draw_grid (cr, pattern, 210, 230);
-    draw_grid (cr, pattern, 290, 230);
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (scale_offset_similar,
-           "Tests drawing surfaces under various scales and transforms",
-           "surface scale-offset", /* keywords */
-           NULL, /* requirements */
-           320, 320,
-           NULL, draw)
-
diff --git a/test/scale-source-surface-paint.c b/test/scale-source-surface-paint.c
deleted file mode 100644 (file)
index 0c0a3ac..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    uint32_t data[16] = {
-       0xffffffff, 0xffffffff,         0xffff0000, 0xffff0000,
-       0xffffffff, 0xffffffff,         0xffff0000, 0xffff0000,
-
-       0xff00ff00, 0xff00ff00,         0xff0000ff, 0xff0000ff,
-       0xff00ff00, 0xff00ff00,         0xff0000ff, 0xff0000ff
-    };
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_scale (cr, 2, 2);
-
-    cairo_set_source_surface (cr, surface, 1 , 1);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_paint (cr);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (scale_source_surface_paint,
-           "Test call sequence: cairo_scale; cairo_set_source_surface; cairo_paint",
-           "paint, transform", /* keywords */
-           NULL, /* requirements */
-           12, 12,
-           NULL, draw)
diff --git a/test/scaled-font-zero-matrix.c b/test/scaled-font-zero-matrix.c
deleted file mode 100644 (file)
index d4f79a6..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright © 2008 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Jeff Muizelaar
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_font_face_t *font_face;
-    cairo_font_options_t *font_options;
-    cairo_scaled_font_t *scaled_font;
-    cairo_matrix_t identity;
-    cairo_matrix_t zero;
-
-    cairo_matrix_init_identity(&identity);
-
-    zero = identity;
-    cairo_matrix_scale(&zero, 0, 0);
-
-    font_face = cairo_get_font_face (cr);
-    font_options = cairo_font_options_create ();
-    cairo_get_font_options (cr, font_options);
-    scaled_font = cairo_scaled_font_create (font_face,
-           &identity,
-           &zero,
-           font_options);
-    cairo_set_scaled_font (cr, scaled_font);
-    cairo_show_text (cr, "Hello");
-    cairo_scaled_font_destroy (scaled_font);
-    cairo_font_options_destroy (font_options);
-
-    return cairo_test_status_from_status (cairo_test_get_context (cr),
-                                          cairo_status(cr));
-}
-
-CAIRO_TEST (scaled_font_zero_matrix,
-           "Test that scaled fonts with a degenerate matrix work",
-           "zero, matrix, degenerate, scaled-font", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/scarab.jpg b/test/scarab.jpg
deleted file mode 100644 (file)
index 6a66ff7..0000000
Binary files a/test/scarab.jpg and /dev/null differ
diff --git a/test/select-font-face.c b/test/select-font-face.c
deleted file mode 100644 (file)
index ec4b27c..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define TEXT_SIZE 12
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-
-    cairo_set_font_size (cr, TEXT_SIZE);
-    cairo_move_to (cr, 0, TEXT_SIZE);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Serif",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, "i-am-serif");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-sans");
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans Mono",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_show_text (cr, " i-am-mono");
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (select_font_face,
-           "Tests using cairo_select_font_face to draw text in different faces",
-           "font", /* keywords */
-           NULL, /* requirements */
-           192, TEXT_SIZE + 4,
-           NULL, draw)
diff --git a/test/select-font-no-show-text.c b/test/select-font-no-show-text.c
deleted file mode 100644 (file)
index 0b72415..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl Worth <cworth@redhat.com>
- */
-
-/* Bug history
- *
- * 2005-04-12 Carl Worth <cworth@cworth.org>
- *
- *   I noticed that if we call cairo_select_font_face, but then do a
- *   cairo_destroy before ever drawing any text, then we get:
- *
- *   *** glibc detected *** double free or corruption (fasttop): 0x083274d0 ***
- *   Aborted
- *
- * 2005-04-14 Owen Taylor <otaylor@redhat.com>
- *
- *  Fixed... just a stray free().
- */
-
-#include <math.h>
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_BOLD);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (select_font_no_show_text,
-           "Test calling cairo_select_font_face but never drawing text.",
-           "font", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/self-copy-overlap.c b/test/self-copy-overlap.c
deleted file mode 100644 (file)
index 2f49ab0..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* Question: are patterns mutable? The answer depends on who you ask... */
-
-#include "cairo-test.h"
-
-/* This test is only interesting if the target has alpha */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgba (cr, 0, 0, 0, .01);
-    cairo_paint (cr);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr), 1, 1);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (self_copy_overlap,
-           "Tests painting to itself using itself as the source"
-           "\nBackends treat this case inconsistently---vector backends are creating snapshots.",
-           "self-copy", /* keywords */
-           NULL, /* requirements */
-           200, 200,
-           NULL, draw)
diff --git a/test/self-copy.c b/test/self-copy.c
deleted file mode 100644 (file)
index 32a375a..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Owen Taylor <otaylor@redhat.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 40
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    cairo_matrix_t matrix;
-
-    /* Paint a diagonal division as a test image */
-    cairo_set_source_rgb (cr, 1, 1, 1);        /* White */
-    cairo_paint (cr);
-
-    cairo_move_to (cr, SIZE,    0);
-    cairo_line_to (cr, SIZE, SIZE);
-    cairo_line_to (cr, 0,    SIZE);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_fill (cr);
-
-    /* Create a pattern with the target surface as the source,
-     * offset by SIZE/2
-     */
-    pattern = cairo_pattern_create_for_surface (cairo_get_group_target (cr));
-
-    cairo_matrix_init_translate (&matrix, - SIZE / 2, - SIZE / 2);
-    cairo_pattern_set_matrix (pattern, &matrix);
-
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    /* Copy two rectangles from the upper-left quarter of the image to
-     * the lower right.  It will work if we use cairo_fill(), but the
-     * cairo_clip() cairo_paint() combination fails because the clip
-     * on the surface as a destination affects it as the source as
-     * well.
-     */
-    cairo_rectangle (cr,
-                    2 * SIZE / 4, 2 * SIZE / 4,
-                    SIZE / 4,     SIZE / 4);
-    cairo_rectangle (cr,
-                    3 * SIZE / 4, 3 * SIZE / 4,
-                    SIZE / 4,     SIZE / 4);
-    cairo_clip (cr);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-
-}
-
-CAIRO_TEST (self_copy,
-           "Test copying from a surface to itself with a clip",
-           "paint", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/self-intersecting.c b/test/self-intersecting.c
deleted file mode 100644 (file)
index 8053235..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Bug history
- *
- * 2005-06-01  Carl Worth  <cworth@cworth.org>
- *
- *   There's a long-standing bug in that self-intersecting paths give
- *   an incorrect result when stroked. The problem is that the
- *   trapezoids are generated incrementally along the stroke and as
- *   such, are not disjoint. The errant intersections of these
- *   trapezoids then leads to overfilled pixels.
- *
- *   The test belows first creates and fills a path. Then it creates a
- *   second path which has a stroked boundary identical to the first
- *   filled path. But the results of the two operations are
- *   different. The most obvious difference is in the central region
- *   where the entire path intersects itself. But notice that every
- *   time the path turns there are also errors on the inside of the
- *   turn, (since the subsequent trapezoids along the path intersect).
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 1.0, 1.0);
-
-    cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-
-    /* First draw the desired shape with a fill */
-    cairo_rectangle (cr, 0.5, 0.5,  4.0, 4.0);
-    cairo_rectangle (cr, 3.5, 3.5,  4.0, 4.0);
-    cairo_rectangle (cr, 3.5, 1.5, -2.0, 2.0);
-    cairo_rectangle (cr, 6.5, 4.5, -2.0, 2.0);
-
-    cairo_fill (cr);
-
-    /* Then try the same thing with a stroke */
-    cairo_translate (cr, 0, 10);
-    cairo_move_to (cr, 1.0, 1.0);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-    cairo_rel_line_to (cr,  0.0,  6.0);
-    cairo_rel_line_to (cr,  3.0,  0.0);
-    cairo_rel_line_to (cr,  0.0, -3.0);
-    cairo_rel_line_to (cr, -6.0,  0.0);
-    cairo_close_path (cr);
-
-    cairo_set_line_width (cr, 1.0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (self_intersecting,
-           "Test strokes of self-intersecting paths"
-           "\nSelf-intersecting strokes are wrong due to incremental trapezoidization.",
-           "stroke, trap", /* keywords */
-           NULL, /* requirements */
-           10, 20,
-           NULL, draw)
diff --git a/test/set-source.c b/test/set-source.c
deleted file mode 100644 (file)
index 7e54626..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-    uint32_t color = 0x8019334c;
-    cairo_surface_t *surface;
-    cairo_pattern_t *pattern;
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) &color,
-                                                  CAIRO_FORMAT_ARGB32, 1, 1, 4);
-    pattern = cairo_pattern_create_for_surface (surface);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-
-    /* Several different means of making mostly the same color (though
-     * we can't get anything but alpha==1.0 out of
-     * cairo_set_source_rgb. */
-    for (i=0; i < width; i++) {
-       switch (i) {
-       case 0:
-           cairo_set_source_rgb (cr, .6, .7, .8);
-           break;
-       case 1:
-           cairo_set_source_rgba (cr, .2, .4, .6, 0.5);
-           break;
-       case 2:
-#if WE_HAD_SUPPORT_FOR_PREMULTIPLIED
-           cairo_set_source_rgba_premultiplied (cr, .1, .2, .3, 0.5);
-#else
-           cairo_set_source_rgba (cr, .2, .4, .6, 0.5);
-#endif
-           break;
-       case 3:
-       default:
-           cairo_set_source (cr, pattern);
-           break;
-       }
-
-       cairo_rectangle (cr, i, 0, 1, height);
-       cairo_fill (cr);
-    }
-
-    cairo_pattern_destroy (pattern);
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (set_source,
-           "Tests calls to various set_source functions",
-           "api", /* keywords */
-           NULL, /* requirements */
-           5, 5,
-           NULL, draw)
diff --git a/test/shape-general-convex.c b/test/shape-general-convex.c
deleted file mode 100644 (file)
index b9241bb..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* A general convex shape with a twist. */
-
-#include "cairo-test.h"
-
-#define SIZE           (100)
-#define PAD 4
-
-static void
-limacon (cairo_t *cr, double a, double b, double radius)
-{
-    int i;
-
-    cairo_save (cr);
-    cairo_translate (cr, PAD, 0);
-    for (i = 0; i < 360; i++) {
-       double theta = i * M_PI / 180;
-       double r = b + a * cos (theta);
-       double x = radius * r * cos (theta);
-       double y = radius * r * sin (theta);
-       cairo_line_to (cr, x, y);
-    }
-    cairo_close_path (cr);
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_save (cr);
-    cairo_translate (cr, 2*PAD, PAD);
-
-    cairo_translate (cr, SIZE/2, SIZE/2);
-    limacon (cr, 1, .5, SIZE/3); /* trivia, this is a trisectrix */
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill_preserve (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_stroke (cr);
-
-    cairo_scale (cr, -1, 1);
-
-    limacon (cr, 1, .5, SIZE/3); /* trivia, this is a trisectrix */
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_fill_preserve (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (shape_general_convex,
-           "A general shape that is not as convex as it first appears",
-           "fill,stroke", /* keywords */
-           NULL, /* requirements */
-           SIZE+4*PAD, SIZE+4*PAD,
-           NULL, draw)
diff --git a/test/shape-sierpinski.c b/test/shape-sierpinski.c
deleted file mode 100644 (file)
index 9d20170..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* I thought I spied a bug... */
-
-#include "cairo-test.h"
-
-#define WIDTH          (1024)
-#define HEIGHT         (600)
-
-static const double m_1_sqrt_3 = 0.577359269;
-
-static void
-T (cairo_t *cr, int size)
-{
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, size, 0);
-    cairo_line_to (cr, size/2, size*m_1_sqrt_3);
-
-    size /= 2;
-    if (size >= 4) {
-       T (cr, size);
-       cairo_save (cr); {
-           cairo_translate (cr, size, 0);
-           T (cr, size);
-       } cairo_restore (cr);
-       cairo_save (cr); {
-           cairo_translate (cr, size/2, size*m_1_sqrt_3);
-           T (cr, size);
-       } cairo_restore (cr);
-    }
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_translate (cr, 0, 8);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_set_line_width (cr, 1.);
-
-    T (cr, WIDTH);
-
-    cairo_translate (cr, 0, 2*HEIGHT-16);
-    cairo_scale (cr, 1, -1);
-
-    T (cr, WIDTH);
-
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (shape_sierpinski,
-           "A fractal triangle",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, 2*HEIGHT,
-           NULL, draw)
diff --git a/test/show-glyphs-advance.c b/test/show-glyphs-advance.c
deleted file mode 100644 (file)
index 5fe9ec8..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2011 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-get_glyph (const cairo_test_context_t *ctx,
-          cairo_scaled_font_t *scaled_font,
-          const char *utf8,
-          cairo_glyph_t *glyph)
-{
-    cairo_glyph_t *text_to_glyphs;
-    cairo_status_t status;
-    int i;
-
-    text_to_glyphs = glyph;
-    i = 1;
-    status = cairo_scaled_font_text_to_glyphs (scaled_font,
-                                              0, 0,
-                                              utf8, -1,
-                                              &text_to_glyphs, &i,
-                                              NULL, NULL,
-                                              0);
-    if (status != CAIRO_STATUS_SUCCESS)
-       return cairo_test_status_from_status (ctx, status);
-
-    if (text_to_glyphs != glyph) {
-       *glyph = text_to_glyphs[0];
-       cairo_glyph_free (text_to_glyphs);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static const char *characters[] = { "A", "B", "C", "D" };
-
-#define NUM_CHARS ARRAY_LENGTH (characters)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_scaled_font_t *scaled_font;
-    cairo_glyph_t *glyphs = xmalloc (NUM_CHARS  * sizeof (cairo_glyph_t));
-    int i;
-    cairo_status_t status;
-
-    /* Paint white background. */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    scaled_font = cairo_get_scaled_font (cr);
-
-    for (i = 0; i < NUM_CHARS; i++) {
-       status = get_glyph (ctx, scaled_font, characters[i], &glyphs[i]);
-       if (status)
-           goto BAIL;
-
-       glyphs[i].x = 10.0 + 10.0 * (i % 2);
-       glyphs[i].y = 20.0 + 10.0 * (i / 2);
-    }
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_show_glyphs (cr, glyphs, 4);
-
-    cairo_translate (cr, 40., 20.);
-    cairo_rotate (cr, M_PI / 4.);
-
-    cairo_show_glyphs (cr, glyphs, NUM_CHARS);
-
-  BAIL:
-    free(glyphs);
-
-    return status;
-}
-
-CAIRO_TEST (show_glyphs_advance,
-           "Test that glyph advances work as expected along both axes",
-           "text, matrix", /* keywords */
-           NULL, /* requirements */
-           64, 64,
-           NULL, draw)
diff --git a/test/show-glyphs-many.c b/test/show-glyphs-many.c
deleted file mode 100644 (file)
index f689fe0..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#include <string.h>
-
-/* Bug history
- *
- * 2006-01-07  Jon Hellan  <hellan@acm.org>
- *
- *   Jon opened the following bug report:
- *
- *     _XError from XRenderCompositeText8
- *     https://bugs.freedesktop.org/show_bug.cgi?id=5528
- *
- * 2006-03-02  Carl Worth  <cworth@cworth.org>
- *
- *   I wrote this test case to demonstrate the bug.
- *
- *   Approach:
- *
- *     Draw 65535 glyphs white-on-white all on top of each other.
- *
- *   Rationale:
- *
- *     The number 65535 comes from the original bug report.
- *
- *     I would use cairo_show_text with a long string of 'x's say,
- *     but then the surface would need to be enormous to contain
- *     them. A smaller surface could be used, but I fear that at some
- *     point the off-surface glyph drawing would be optimized away
- *     and not exercise the bug.
- *
- *     So, to keep the surface size under control, I use
- *     cairo_show_glyphs which allows me to place the glyphs all on
- *     top of each other. But, since cairo doesn't provide any
- *     character-to-glyphs mapping, I can't get a reliable glyph
- *     index (for character 'x' for example). So I just "guess" a
- *     glyph index and use white-on-white drawing to ignore the
- *     result. (I don't care what's drawn---I just want to ensure
- *     that things don't crash.)
- *
- *  Status: I replicated bug. The largest value of NUM_GLYPHS for
- *      which I saw success is 21842.
- *
- * 2008-30-08 Chris Wilson <chris@chris-wilson.co.uk>
- *   This is also a valid test case for:
- *
- *     Bug 5913 crash on overlong string
- *     https://bugs.freedesktop.org/show_bug.cgi?id=5913
- *
- *  which is still causing a crash in the Xlib backend - presumably, just
- *  a miscalculation of the length of the available request.
- */
-
-#define TEXT_SIZE 12
-#define NUM_GLYPHS 65535
-
-static cairo_test_status_t
-get_glyph (const cairo_test_context_t *ctx,
-          cairo_scaled_font_t *scaled_font,
-          const char *utf8,
-          cairo_glyph_t *glyph)
-{
-    cairo_glyph_t *text_to_glyphs;
-    cairo_status_t status;
-    int i;
-
-    text_to_glyphs = glyph;
-    i = 1;
-    status = cairo_scaled_font_text_to_glyphs (scaled_font,
-                                              0, 0,
-                                              utf8, -1,
-                                              &text_to_glyphs, &i,
-                                              NULL, NULL,
-                                              0);
-    if (status != CAIRO_STATUS_SUCCESS)
-       return cairo_test_status_from_status (ctx, status);
-
-    if (text_to_glyphs != glyph) {
-       *glyph = text_to_glyphs[0];
-       cairo_glyph_free (text_to_glyphs);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_glyph_t *glyphs = xmalloc (NUM_GLYPHS * sizeof (cairo_glyph_t));
-    cairo_scaled_font_t *scaled_font;
-    const char *characters[] = { /* try to exercise different widths of index */
-       "m", /* Latin letter m, index=0x50 */
-       "μ", /* Greek letter mu, index=0x349 */
-       NULL,
-    }, **utf8;
-    int i, j;
-    cairo_status_t status;
-
-    /* Paint white background. */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr, "Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-    scaled_font = cairo_get_scaled_font (cr);
-
-    for (utf8 = characters; *utf8 != NULL; utf8++) {
-       status = get_glyph (ctx, scaled_font, *utf8, &glyphs[0]);
-       if (status)
-           goto BAIL;
-
-       if (glyphs[0].index) {
-           glyphs[0].x = 1.0;
-           glyphs[0].y = height - 1;
-           for (i=1; i < NUM_GLYPHS; i++)
-               glyphs[i] = glyphs[0];
-
-           cairo_show_glyphs (cr, glyphs, NUM_GLYPHS);
-       }
-    }
-
-    /* we can pack ~21k 1-byte glyphs into a single XRenderCompositeGlyphs8 */
-    status = get_glyph (ctx, scaled_font, "m", &glyphs[0]);
-    if (status)
-       goto BAIL;
-    for (i=1; i < 21500; i++)
-       glyphs[i] = glyphs[0];
-    /* so check expanding the current 1-byte request for 2-byte glyphs */
-    status = get_glyph (ctx, scaled_font, "μ", &glyphs[i]);
-    if (status)
-       goto BAIL;
-    for (j=i+1; j < NUM_GLYPHS; j++)
-       glyphs[j] = glyphs[i];
-
-    cairo_show_glyphs (cr, glyphs, NUM_GLYPHS);
-
-  BAIL:
-    free(glyphs);
-
-    return status;
-}
-
-CAIRO_TEST (show_glyphs_many,
-           "Test that cairo_show_glyphs works when handed 'many' glyphs",
-           "text, stress", /* keywords */
-           NULL, /* requirements */
-           9, 11,
-           NULL, draw)
diff --git a/test/show-text-current-point.c b/test/show-text-current-point.c
deleted file mode 100644 (file)
index 2fe32a8..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define TEXT_SIZE 12
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-
-    cairo_move_to (cr, 0, TEXT_SIZE);
-    cairo_show_text (cr, "Hello from the ");
-    cairo_show_text (cr, "show-text-current-point");
-    cairo_show_text (cr, " test.");
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (show_text_current_point,
-           "Test that cairo_show_text adjusts the current point properly",
-           "text, api", /* keywords */
-           NULL, /* requirements */
-           263, TEXT_SIZE + 4,
-           NULL, draw)
diff --git a/test/skew-extreme.c b/test/skew-extreme.c
deleted file mode 100644 (file)
index 69299a8..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-/* This test case is designed to exercise the following bug:
- *
- *     Skew transforms were broken by the cairo update in December
- *     https://bugzilla.mozilla.org/show_bug.cgi?id=373632
- *
- * What's happening is that the rectangle is being skewed into the
- * following shape:
- *
- * a__b
- *  \ \
- *   \ \
- *    \ \
- *     \ \
- *      \ \
- *      d\_\c
- *
- * and the bug is that _cairo_traps_tessellate_convex_quad is
- * comparing b.x as less then d.x and therfore determining that the bc
- * edge is left of the ad edge. The fix is simply to compare c.x to
- * d.x instead of b.x to d.x .
- */
-
-#define PAD            2
-#define LINE_WIDTH     10
-#define LINE_LENGTH    (2 * LINE_WIDTH)
-#define SKEW_FACTOR    5.0
-#define WIDTH          (PAD + (LINE_LENGTH * SKEW_FACTOR) + LINE_WIDTH + PAD)
-#define HEIGHT         (PAD + LINE_WIDTH + (LINE_LENGTH * SKEW_FACTOR) + LINE_WIDTH + PAD)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, PAD, PAD);
-
-    cairo_set_line_width (cr, LINE_WIDTH);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-
-    cairo_save (cr);
-    {
-       cairo_matrix_t skew_x = {
-           1.0, 0.0,
-           SKEW_FACTOR, 1.0,
-           0.0, 0.0
-       };
-
-       cairo_translate (cr, LINE_WIDTH / 2.0, 0.0);
-
-       cairo_transform (cr, &skew_x);
-
-       cairo_move_to (cr, 0.0, 0.0);
-       cairo_line_to (cr, 0.0, LINE_LENGTH);
-       cairo_stroke (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_translate (cr, 0.0, LINE_WIDTH);
-
-    cairo_save (cr);
-    {
-       cairo_matrix_t skew_y = {
-           1.0, SKEW_FACTOR,
-           0.0, 1.0,
-           0.0, 0.0
-       };
-
-       cairo_translate (cr, 0.0, LINE_WIDTH / 2.0);
-
-       cairo_transform (cr, &skew_y);
-
-       cairo_move_to (cr, 0.0, 0.0);
-       cairo_line_to (cr, LINE_LENGTH, 0.0);
-       cairo_stroke (cr);
-    }
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (skew_extreme,
-           "Test cases of extreme skew.",
-           "transform, stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/smask-fill.c b/test/smask-fill.c
deleted file mode 100644 (file)
index cb38610..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *mask;
-    cairo_pattern_t *pattern;
-    cairo_t *cr2;
-
-    cairo_set_source_rgb (cr, 0, 0, 1.0);
-    cairo_paint (cr);
-
-    mask = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                        CAIRO_CONTENT_ALPHA,
-                                        width, height);
-    cr2 = cairo_create (mask);
-    cairo_surface_destroy (mask);
-
-    cairo_save (cr2); {
-       cairo_set_operator (cr2, CAIRO_OPERATOR_CLEAR);
-       cairo_paint (cr2);
-    } cairo_restore (cr2);
-
-    pattern = cairo_pattern_create_linear (0, 0, width, height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.50, 1., 1., 1., .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.75, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 0., 0., 0., 0.);
-    cairo_set_source (cr2, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_arc (cr2, 0.5 * width, 0.5 * height, 0.45 * height, 0, 2 * M_PI);
-    cairo_fill (cr2);
-
-    cairo_set_source_rgb (cr, 1.0, 0, 0);
-    cairo_mask_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (smask_fill,
-           "Test the support of \"soft\" masks with fills",
-           "smask, fill", /* keywords */
-           NULL, /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/smask-image-mask.c b/test/smask-image-mask.c
deleted file mode 100644 (file)
index 3d8b5d5..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    uint32_t data[] = {
-       0xaa000000, 0x55000000,
-       0x55000000, 0xaa000000,
-    };
-
-    cairo_surface_t *mask, *mask2;
-    cairo_pattern_t *pattern;
-    cairo_t *cr2;
-
-    cairo_set_source_rgb (cr, 0, 0, 1.0);
-    cairo_paint (cr);
-
-    mask = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                        CAIRO_CONTENT_ALPHA,
-                                        width, height);
-    cr2 = cairo_create (mask);
-    cairo_surface_destroy (mask);
-
-    cairo_save (cr2); {
-       cairo_set_operator (cr2, CAIRO_OPERATOR_CLEAR);
-       cairo_paint (cr2);
-    } cairo_restore (cr2);
-
-    pattern = cairo_pattern_create_linear (0, 0, width, height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.50, 1., 1., 1., .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.75, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 0., 0., 0., 0.);
-    cairo_set_source (cr2, pattern);
-    cairo_pattern_destroy (pattern);
-
-    mask2 = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                               CAIRO_FORMAT_ARGB32, 2, 2, 8);
-    pattern = cairo_pattern_create_for_surface (mask2);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-    cairo_mask (cr2, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_set_source_rgb (cr, 1.0, 0, 0);
-    cairo_mask_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    cairo_surface_finish (mask2); /* data will go out of scope */
-    cairo_surface_destroy (mask2);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (smask_image_mask,
-           "Test the support of \"soft\" masks with a secondary image mask",
-           "smask, image", /* keywords */
-           NULL, /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/smask-mask.c b/test/smask-mask.c
deleted file mode 100644 (file)
index 11cff82..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *mask;
-    cairo_pattern_t *pattern;
-    cairo_t *cr2, *cr3;
-
-    cairo_set_source_rgb (cr, 0, 0, 1.0);
-    cairo_paint (cr);
-
-    mask = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                        CAIRO_CONTENT_ALPHA,
-                                        width, height);
-    cr2 = cairo_create (mask);
-    cairo_surface_destroy (mask);
-
-    mask = cairo_surface_create_similar (cairo_get_group_target (cr2),
-                                      CAIRO_CONTENT_ALPHA,
-                                      width, height);
-    cr3 = cairo_create (mask);
-    cairo_surface_destroy (mask);
-
-    cairo_save (cr3); {
-       cairo_set_operator (cr3, CAIRO_OPERATOR_CLEAR);
-       cairo_paint (cr3);
-    } cairo_restore (cr3);
-
-    pattern = cairo_pattern_create_linear (0, 0, width, height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.50, 1., 1., 1., .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.75, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 0., 0., 0., 0.);
-    cairo_set_source (cr3, pattern);
-    cairo_pattern_destroy (pattern);
-    cairo_paint (cr3);
-
-
-    cairo_save (cr2); {
-       cairo_set_operator (cr2, CAIRO_OPERATOR_CLEAR);
-       cairo_paint (cr2);
-    } cairo_restore (cr2);
-
-    pattern = cairo_pattern_create_radial (
-           0.5 * width, 0.5 * height, 0,
-           0.5 * width, 0.5 * height, 0.5 *height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.50, 1., 1., 1., .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 1., 1., 1., 1.);
-    cairo_set_source (cr2, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_mask_surface (cr2, cairo_get_target (cr3), 0, 0);
-    cairo_destroy (cr3);
-
-    cairo_set_source_rgb (cr, 1.0, 0, 0);
-    cairo_mask_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (smask_mask,
-           "Test the support of \"soft\" masks with a secondary mask",
-           "smask, mask", /* keywords */
-           NULL, /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/smask-paint.c b/test/smask-paint.c
deleted file mode 100644 (file)
index ee781ca..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *mask;
-    cairo_pattern_t *pattern;
-    cairo_t *cr2;
-
-    mask = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                        CAIRO_CONTENT_ALPHA,
-                                        width, height);
-    cr2 = cairo_create (mask);
-    cairo_surface_destroy (mask);
-
-    cairo_save (cr2); {
-       cairo_set_operator (cr2, CAIRO_OPERATOR_CLEAR);
-       cairo_paint (cr2);
-    } cairo_restore (cr2);
-
-    pattern = cairo_pattern_create_linear (0, 0, width, height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.50, 1., 1., 1., .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.75, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 0., 0., 0., 0.);
-    cairo_set_source (cr2, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_paint (cr2);
-
-    cairo_set_source_rgb (cr, 0, 0, 1.0);
-    cairo_paint (cr);
-
-    pattern = cairo_pattern_create_radial (
-           0.5 * width, 0.5 * height, 0,
-           0.5 * width, 0.5 * height, 0.5 *height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1., 0., 0., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.50, 1., 0., 0., .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 1., 0., 0., 1.);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_mask_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (smask_paint,
-           "Test the support of \"soft\" masks with paints",
-           "smask, paint", /* keywords */
-           NULL, /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/smask-stroke.c b/test/smask-stroke.c
deleted file mode 100644 (file)
index 2a8e7e8..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *mask;
-    cairo_pattern_t *pattern;
-    cairo_t *cr2;
-
-    cairo_set_source_rgb (cr, 0, 0, 1.0);
-    cairo_paint (cr);
-
-    mask = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                        CAIRO_CONTENT_ALPHA,
-                                        width, height);
-    cr2 = cairo_create (mask);
-    cairo_surface_destroy (mask);
-
-    cairo_save (cr2); {
-       cairo_set_operator (cr2, CAIRO_OPERATOR_CLEAR);
-       cairo_paint (cr2);
-    } cairo_restore (cr2);
-
-    pattern = cairo_pattern_create_linear (0, 0, width, height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.50, 1., 1., 1., .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.75, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 0., 0., 0., 0.);
-    cairo_set_source (cr2, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_arc (cr2, 0.5 * width, 0.5 * height, 0.4 * height, 0, 2 * M_PI);
-    cairo_stroke (cr2);
-
-    cairo_set_source_rgb (cr, 1.0, 0, 0);
-    cairo_mask_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (smask_stroke,
-           "Test the support of \"soft\" masks with strokes",
-           "smask, stroke", /* keywords */
-           NULL, /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/smask-text.c b/test/smask-text.c
deleted file mode 100644 (file)
index f36ae26..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *mask;
-    cairo_pattern_t *pattern;
-    cairo_t *cr2;
-    cairo_text_extents_t extents;
-
-    cairo_set_source_rgb (cr, 0, 0, 1.0);
-    cairo_paint (cr);
-
-    mask = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                        CAIRO_CONTENT_ALPHA,
-                                        width, height);
-    cr2 = cairo_create (mask);
-    cairo_surface_destroy (mask);
-
-    cairo_save (cr2); {
-       cairo_set_operator (cr2, CAIRO_OPERATOR_CLEAR);
-       cairo_paint (cr2);
-    } cairo_restore (cr2);
-
-    pattern = cairo_pattern_create_linear (0, 0, width, height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.50, 1., 1., 1., .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.75, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 0., 0., 0., 0.);
-    cairo_set_source (cr2, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_select_font_face (cr2,
-                           CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr2, 0.5 * height);
-
-    cairo_text_extents (cr2, "cairo", &extents);
-    cairo_move_to (cr2,
-                  floor ((width - extents.width) / 2 + 0.5) - extents.x_bearing,
-                  floor ((height - extents.height) / 2 - 0.5) - extents.y_bearing);
-    cairo_show_text (cr2, "cairo");
-
-    cairo_set_source_rgb (cr, 1.0, 0, 0);
-    cairo_mask_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (smask_text,
-           "Test the support of \"soft\" masks with text",
-           "smask, text", /* keywords */
-           NULL, /* keywords */
-           120, 60,
-           NULL, draw)
diff --git a/test/smask.c b/test/smask.c
deleted file mode 100644 (file)
index 4cf3adb..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    uint32_t data[] = {
-       0x80000000, 0x80000000,
-       0x80000000, 0x80000000,
-    };
-
-    cairo_surface_t *mask, *mask2;
-    cairo_pattern_t *pattern;
-    cairo_t *cr2;
-    cairo_text_extents_t extents;
-
-    mask = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                        CAIRO_CONTENT_ALPHA,
-                                        width, height);
-    cr2 = cairo_create (mask);
-    cairo_surface_destroy (mask);
-
-    cairo_save (cr2); {
-       cairo_set_operator (cr2, CAIRO_OPERATOR_CLEAR);
-       cairo_paint (cr2);
-    } cairo_restore (cr2);
-
-    pattern = cairo_pattern_create_linear (0, 0, 0, height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.0);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.80, 0., 0., 0., 0.0);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.90, 1., 1., 1., 0.25);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 1., 1., 1., 1.0);
-    cairo_set_source (cr2, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_paint (cr2);
-
-    pattern = cairo_pattern_create_linear (0, 0, width, height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.50, 1., 1., 1., .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.75, 1., 1., 1., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 0., 0., 0., 0.);
-    cairo_set_source (cr2, pattern);
-    cairo_pattern_destroy (pattern);
-
-    mask2 = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                               CAIRO_FORMAT_ARGB32, 2, 2, 8);
-    pattern = cairo_pattern_create_for_surface (mask2);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-    cairo_mask (cr2, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_arc (cr2, 0.5 * width, 0.5 * height - 10, 0.2 * height, 0, 2 * M_PI);
-    cairo_fill (cr2);
-
-    cairo_arc (cr2, 0.5 * width, 0.5 * height - 10, 0.25 * height, 0, 2 * M_PI);
-    cairo_stroke (cr2);
-
-    cairo_select_font_face (cr2,
-                           CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr2, 0.3 * height);
-
-    cairo_text_extents (cr2, "FG", &extents);
-    cairo_move_to (cr2,
-                  floor ((width - extents.width) / 2 + 0.5) - extents.x_bearing,
-                  floor (height - extents.height - 0.5) - extents.y_bearing - 5);
-    cairo_show_text (cr2, "FG");
-
-    cairo_set_source_rgb (cr, 0, 0, 1.0);
-    cairo_paint (cr);
-
-    pattern = cairo_pattern_create_radial (
-           0.5 * width, 0.5 * height, 0,
-           0.5 * width, 0.5 * height, 0.5 *height);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.00, 0., 0., 0., 0.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.25, 1., 0., 0., 1.);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.50, 1., 0., 0., .5);
-    cairo_pattern_add_color_stop_rgba (pattern, 1.00, 1., 0., 0., 1.);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    cairo_mask_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    cairo_surface_finish (mask2); /* data will go out of scope */
-    cairo_surface_destroy (mask2);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (smask,
-           "Test the support of \"soft\" masks",
-           "smask", /* keywords */
-           NULL, /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/solid-pattern-cache-stress.c b/test/solid-pattern-cache-stress.c
deleted file mode 100644 (file)
index c2a1c15..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright © 2007 Chris Wilson.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson. Not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris at chris-wilson.co.uk>
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "cairo-test.h"
-#include <stdlib.h> /* drand48() */
-
-#define LOOPS 10
-#define NRAND 100
-
-#ifndef HAVE_DRAND48
-#define drand48() (rand () / (double) RAND_MAX)
-#endif
-
-static cairo_scaled_font_t *scaled_font;
-
-static cairo_t *
-_cairo_create_similar (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *similar;
-
-    similar = cairo_surface_create_similar (cairo_get_target (cr),
-                                           cairo_surface_get_content (cairo_get_target (cr)),
-                                           width, height);
-    cr = cairo_create (similar);
-    cairo_surface_destroy (similar);
-
-    return cr;
-}
-
-static cairo_t *
-_cairo_create_image (cairo_t *cr, cairo_format_t format, int width, int height)
-{
-    cairo_surface_t *image;
-
-    image = cairo_image_surface_create (format, width, height);
-    cr = cairo_create (image);
-    cairo_surface_destroy (image);
-
-    return cr;
-}
-
-static void
-_propagate_status (cairo_t *dst, cairo_t *src)
-{
-    cairo_path_t path;
-
-    path.status = cairo_status (src);
-    if (path.status) {
-       path.num_data = 0;
-       path.data = NULL;
-       cairo_append_path (dst, &path);
-    }
-}
-
-static void
-_draw (cairo_t *cr,
-       double red,
-       double green,
-       double blue)
-{
-    cairo_text_extents_t extents;
-
-    cairo_set_source_rgb (cr, red, green, blue);
-    cairo_paint (cr);
-
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, 1, 1);
-    cairo_stroke (cr);
-
-    cairo_mask (cr, cairo_get_source (cr));
-
-    cairo_set_scaled_font (cr, scaled_font);
-    cairo_text_extents (cr, "cairo", &extents);
-    cairo_move_to (cr,
-                  -extents.x_bearing - .5 * extents.width,
-                  -extents.y_bearing - .5 * extents.height);
-    cairo_show_text (cr, "cairo");
-}
-
-static void
-use_similar (cairo_t *cr,
-           double red,
-           double green,
-           double blue)
-{
-    cairo_t *cr2;
-
-    if (cairo_status (cr))
-       return;
-
-    cr2 = _cairo_create_similar (cr, 1, 1);
-
-    _draw (cr2, red, green, blue);
-
-    _propagate_status (cr, cr2);
-    cairo_destroy (cr2);
-}
-
-static void
-use_image (cairo_t *cr,
-          cairo_format_t format,
-          double red,
-          double green,
-          double blue)
-{
-    cairo_t *cr2;
-
-    if (cairo_status (cr))
-       return;
-
-    cr2 = _cairo_create_image (cr, format, 1, 1);
-
-    _draw (cr2, red, green, blue);
-
-    _propagate_status (cr, cr2);
-    cairo_destroy (cr2);
-}
-
-static void
-use_solid (cairo_t *cr,
-          double red,
-          double green,
-          double blue)
-{
-    /* mix in dissimilar solids */
-    use_image (cr, CAIRO_FORMAT_A1, red, green, blue);
-    use_image (cr, CAIRO_FORMAT_A8, red, green, blue);
-    use_image (cr, CAIRO_FORMAT_RGB24, red, green, blue);
-    use_image (cr, CAIRO_FORMAT_ARGB32, red, green, blue);
-
-    use_similar (cr, red, green, blue);
-
-    _draw (cr, red, green, blue);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_status_t status;
-    const double colors[8][3] = {
-       { 1.0, 0.0, 0.0 }, /* red */
-       { 0.0, 1.0, 0.0 }, /* green */
-       { 1.0, 1.0, 0.0 }, /* yellow */
-       { 0.0, 0.0, 1.0 }, /* blue */
-       { 1.0, 0.0, 1.0 }, /* magenta */
-       { 0.0, 1.0, 1.0 }, /* cyan */
-       { 1.0, 1.0, 1.0 }, /* white */
-       { 0.0, 0.0, 0.0 }, /* black */
-    };
-    int i, j, loop;
-
-    /* cache a resolved scaled-font */
-    scaled_font = cairo_get_scaled_font (cr);
-
-    for (loop = 0; loop < LOOPS; loop++) {
-       for (i = 0; i < LOOPS; i++) {
-           for (j = 0; j < 8; j++) {
-               use_solid (cr, colors[j][0], colors[j][1], colors[j][2]);
-               status = cairo_status (cr);
-               if (status)
-                   return cairo_test_status_from_status (ctx, status);
-           }
-       }
-
-       for (i = 0; i < NRAND; i++) {
-           use_solid (cr, drand48 (), drand48 (), drand48 ());
-           status = cairo_status (cr);
-           if (status)
-               return cairo_test_status_from_status (ctx, status);
-       }
-    }
-
-    /* stress test only, so clear the surface before comparing */
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (solid_pattern_cache_stress,
-           "Stress the solid pattern cache and ensure it behaves",
-           "stress", /* keywords */
-           NULL, /* requirements */
-           1, 1,
-           NULL, draw)
diff --git a/test/source-clip-scale.c b/test/source-clip-scale.c
deleted file mode 100644 (file)
index 375f9be..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright © 2005 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 12
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *source;
-    cairo_t *cr2;
-
-    source = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                          CAIRO_CONTENT_COLOR_ALPHA,
-                                          SIZE, SIZE);
-    cr2 = cairo_create (source);
-    cairo_surface_destroy (source);
-
-    /* Fill the source surface with green */
-    cairo_set_source_rgb (cr2, 0, 1, 0);
-    cairo_paint (cr2);
-
-    /* Draw a blue square in the middle of the source with clipping.
-     * Note that we are only clipping within a save/restore block but
-     * the buggy behavior demonstrates that the clip remains present
-     * on the surface. */
-    cairo_save (cr2);
-    cairo_rectangle (cr2,
-                    SIZE / 4, SIZE / 4,
-                    SIZE / 2, SIZE / 2);
-    cairo_clip (cr2);
-    cairo_set_source_rgb (cr2, 0, 0, 1);
-    cairo_paint (cr2);
-    cairo_restore (cr2);
-
-    /* Fill the destination surface with solid red (should not appear
-     * in final result) */
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    /* Now draw the source surface onto the destination with scaling. */
-    cairo_scale (cr, 2.0, 1.0);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_destroy (cr2);
-
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (source_clip_scale,
-           "Test that a source surface is not affected by a clip when scaling",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           SIZE * 2, SIZE,
-           NULL, draw)
diff --git a/test/source-clip.c b/test/source-clip.c
deleted file mode 100644 (file)
index cbb2855..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Owen Taylor <otaylor@redhat.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 12
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *source;
-    cairo_t *cr2;
-
-    source = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                          CAIRO_CONTENT_COLOR_ALPHA,
-                                          SIZE, SIZE);
-
-    cr2 = cairo_create (source);
-    cairo_surface_destroy (source);
-
-    /* Fill the source surface with green */
-    cairo_set_source_rgb (cr2, 0, 1, 0);
-    cairo_paint (cr2);
-
-    /* Draw a blue square in the middle of the source with clipping,
-     * and leave the clip there. */
-    cairo_rectangle (cr2,
-                    SIZE / 4, SIZE / 4,
-                    SIZE / 2, SIZE / 2);
-    cairo_clip (cr2);
-    cairo_set_source_rgb (cr2, 0, 0, 1);
-    cairo_paint (cr2);
-
-    /* Fill the destination surface with solid red (should not appear
-     * in final result) */
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_paint (cr);
-
-    /* Now draw the source surface onto the destination surface */
-    cairo_set_source_surface (cr, cairo_get_target (cr2), 0, 0);
-    cairo_paint (cr);
-
-    cairo_destroy (cr2);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (source_clip,
-           "Test that a source surface is not affected by a clip",
-           "clip", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/source-surface-scale-paint.c b/test/source-surface-scale-paint.c
deleted file mode 100644 (file)
index 4ac6249..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    uint32_t data[16] = {
-       0xffffffff, 0xffffffff,         0xffff0000, 0xffff0000,
-       0xffffffff, 0xffffffff,         0xffff0000, 0xffff0000,
-
-       0xff00ff00, 0xff00ff00,         0xff0000ff, 0xff0000ff,
-       0xff00ff00, 0xff00ff00,         0xff0000ff, 0xff0000ff
-    };
-
-    surface = cairo_image_surface_create_for_data ((unsigned char *) data,
-                                                  CAIRO_FORMAT_RGB24, 4, 4, 16);
-
-    cairo_set_source_surface (cr, surface, 2, 2);
-    cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
-    cairo_scale (cr, 2, 2);
-    cairo_paint (cr);
-
-    cairo_surface_finish (surface); /* data will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (source_surface_scale_paint,
-           "Test call sequence: cairo_set_source_surface; cairo_scale; cairo_paint",
-           "transform, paint", /* keywords */
-           NULL, /* requirements */
-           8, 8,
-           NULL, draw)
diff --git a/test/spline-decomposition.c b/test/spline-decomposition.c
deleted file mode 100644 (file)
index ea8f26f..0000000
+++ /dev/null
@@ -1,471 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-typedef struct _point {
-    double x,y;
-} point_t;
-
-typedef struct _knots {
-    point_t a,b,c,d;
-} knots_t;
-
-static knots_t knots[5] = {
-    { {0, 0}, {0, 100}, {100, 100}, {100, 0} },
-    { {0, 0}, {75, 100}, {25, 100}, {100, 0} },
-    { {0, 0}, {100, 100}, {0, 100}, {100, 0} },
-    { {0, 0}, {150, 100}, {-50, 100}, {100, 0} },
-    { {0, 0}, {100, 200}, {0, -100}, {100, 100} },
-};
-
-#ifdef REFERENCE
-static void
-_lerp_half (const point_t *a, const point_t *b, point_t *result)
-{
-    result->x = .5 * (a->x + b->x);
-    result->y = .5 * (a->y + b->y);
-}
-
-static void
-_de_casteljau (knots_t *k1, knots_t *k2)
-{
-    point_t ab, bc, cd;
-    point_t abbc, bccd;
-    point_t final;
-
-    _lerp_half (&k1->a, &k1->b, &ab);
-    _lerp_half (&k1->b, &k1->c, &bc);
-    _lerp_half (&k1->c, &k1->d, &cd);
-    _lerp_half (&ab, &bc, &abbc);
-    _lerp_half (&bc, &cd, &bccd);
-    _lerp_half (&abbc, &bccd, &final);
-
-    k2->a = final;
-    k2->b = bccd;
-    k2->c = cd;
-    k2->d = k1->d;
-
-    k1->b = ab;
-    k1->c = abbc;
-    k1->d = final;
-}
-
-static double
-_spline_error_squared (const knots_t *knots)
-{
-    double bdx, bdy, berr;
-    double cdx, cdy, cerr;
-    double dx, dy, v;
-
-    /* Intersection point (px):
-     *     px = p1 + u(p2 - p1)
-     *     (p - px) ∙ (p2 - p1) = 0
-     * Thus:
-     *     u = ((p - p1) ∙ (p2 - p1)) / ∥p2 - p1∥²;
-     */
-    bdx = knots->b.x - knots->a.x;
-    bdy = knots->b.y - knots->a.y;
-
-    cdx = knots->c.x - knots->a.x;
-    cdy = knots->c.y - knots->a.y;
-
-    dx = knots->d.x - knots->a.x;
-    dy = knots->d.y - knots->a.y;
-    v = dx * dx + dy * dy;
-    if (v != 0.) {
-       double u;
-
-       u = bdx * dx + bdy * dy;
-       if (u <= 0) {
-           /* bdx -= 0;
-            * bdy -= 0;
-            */
-       } else if (u >= v) {
-           bdx -= dx;
-           bdy -= dy;
-       } else {
-           bdx -= u/v * dx;
-           bdy -= u/v * dy;
-       }
-
-       u = cdx * dx + cdy * dy;
-       if (u <= 0) {
-           /* cdx -= 0;
-            * cdy -= 0;
-            */
-       } else if (u >= v) {
-           cdx -= dx;
-           cdy -= dy;
-       } else {
-           cdx -= u/v * dx;
-           cdy -= u/v * dy;
-       }
-    }
-
-    berr = bdx * bdx + bdy * bdy;
-    cerr = cdx * cdx + cdy * cdy;
-    if (berr > cerr)
-       return berr * v;
-    else
-       return cerr * v;
-}
-
-static void
-_offset_line_to (cairo_t *cr,
-                const point_t *p0,
-                const point_t *p1,
-                const point_t *p2,
-                const point_t *p3,
-                double offset)
-{
-    double dx, dy, v;
-
-    dx = p1->x - p0->x;
-    dy = p1->y - p0->y;
-     v = hypot (dx, dy);
-     if (v == 0) {
-        dx = p2->x - p0->x;
-        dy = p2->y - p0->y;
-        v = hypot (dx, dy);
-        if (v == 0) {
-            dx = p3->x - p0->x;
-            dy = p3->y - p0->y;
-            v = hypot (dx, dy);
-        }
-     }
-
-     if (v == 0) {
-        cairo_line_to (cr, p0->x, p0->y);
-     } else
-        cairo_line_to (cr, p0->x - offset * dy / v, p0->y + offset * dx / v);
-}
-
-static void
-_spline_decompose_into (knots_t *k1,
-                       double tolerance_squared,
-                       double offset,
-                       cairo_t *cr)
-{
-    knots_t k2;
-
-    if (_spline_error_squared (k1) < tolerance_squared) {
-       _offset_line_to (cr, &k1->a, &k1->b, &k1->c, &k1->d, offset);
-       return;
-    }
-
-    _de_casteljau (k1, &k2);
-
-    _spline_decompose_into (k1, tolerance_squared, offset, cr);
-    _spline_decompose_into (&k2, tolerance_squared, offset, cr);
-}
-
-static void
-_spline_decompose (const knots_t *knots,
-                  double tolerance, double offset,
-                  cairo_t *cr)
-{
-    knots_t k;
-
-    k = *knots;
-    _spline_decompose_into (&k, tolerance * tolerance, offset, cr);
-
-    _offset_line_to (cr, &knots->d, &knots->c, &knots->b, &knots->a, -offset);
-}
-
-static void
-_knots_reverse (knots_t *knots)
-{
-    point_t tmp;
-
-    tmp = knots->a;
-    knots->a = knots->d;
-    knots->d = tmp;
-
-    tmp = knots->b;
-    knots->b = knots->c;
-    knots->c = tmp;
-}
-
-static void
-thick_splines (cairo_t *cr, double offset)
-{
-    knots_t k;
-
-    cairo_save (cr);
-    cairo_translate (cr, 15, 15);
-
-    k = knots[0];
-
-    cairo_new_path (cr);
-    _spline_decompose (&k, .1, offset, cr);
-    _knots_reverse (&k);
-    _spline_decompose (&k, .1, offset, cr);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-
-    cairo_translate (cr, 130, 0);
-
-    k = knots[1];
-
-    cairo_new_path (cr);
-    _spline_decompose (&k, .1, offset, cr);
-    _knots_reverse (&k);
-    _spline_decompose (&k, .1, offset, cr);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-
-    cairo_translate (cr, 130, 0);
-
-    k = knots[2];
-
-    cairo_new_path (cr);
-    _spline_decompose (&k, .1, offset, cr);
-    _knots_reverse (&k);
-    _spline_decompose (&k, .1, offset, cr);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-
-    cairo_translate (cr, -130 - 65, 130);
-
-    k = knots[3];
-
-    cairo_new_path (cr);
-    _spline_decompose (&k, .1, offset, cr);
-    _knots_reverse (&k);
-    _spline_decompose (&k, .1, offset, cr);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-
-    cairo_translate (cr, 130, 0);
-
-    k = knots[4];
-
-    cairo_new_path (cr);
-    _spline_decompose (&k, .1, offset, cr);
-    _knots_reverse (&k);
-    _spline_decompose (&k, .1, offset, cr);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-    cairo_restore (cr);
-}
-
-static void
-thin_splines (cairo_t *cr)
-{
-    cairo_save (cr);
-    cairo_translate (cr, 15, 15);
-
-    cairo_new_path (cr);
-    _spline_decompose (&knots[0], .1, 0, cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 130, 0);
-
-    cairo_new_path (cr);
-    _spline_decompose (&knots[1], .1, 0, cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 130, 0);
-
-    cairo_new_path (cr);
-    _spline_decompose (&knots[2], .1, 0, cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, -130 - 65, 130);
-
-    cairo_new_path (cr);
-    _spline_decompose (&knots[3], .1, 0, cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 130, 0);
-
-    cairo_new_path (cr);
-    _spline_decompose (&knots[4], .1, 0, cr);
-    cairo_stroke (cr);
-    cairo_restore (cr);
-}
-#endif
-
-static void
-draw_bbox (cairo_t *cr, double x0, double y0, double x1, double y1)
-{
-    cairo_rectangle (cr,
-                    floor (x0) + .5, floor (y0) + .5,
-                    ceil (x1) - floor (x0), ceil (y1) - floor (y0));
-    cairo_stroke (cr);
-}
-
-static void
-stroke_splines (cairo_t *cr)
-{
-    double stroke_x0, stroke_x1, stroke_y0, stroke_y1;
-    double path_x0, path_x1, path_y0, path_y1;
-
-    cairo_save (cr);
-    cairo_translate (cr, 15, 15);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr,
-                  knots[0].a.x, knots[0].a.y);
-    cairo_curve_to (cr,
-                   knots[0].b.x, knots[0].b.y,
-                   knots[0].c.x, knots[0].c.y,
-                   knots[0].d.x, knots[0].d.y);
-    cairo_stroke_extents (cr, &stroke_x0, &stroke_y0, &stroke_x1, &stroke_y1);
-    cairo_path_extents (cr, &path_x0, &path_y0, &path_x1, &path_y1);
-    cairo_stroke (cr);
-
-    cairo_save (cr); {
-       cairo_set_line_width (cr, 1);
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       draw_bbox (cr, stroke_x0, stroke_y0, stroke_x1, stroke_y1);
-       cairo_set_source_rgb (cr, 0, 0, 1);
-       draw_bbox (cr, path_x0, path_y0, path_x1, path_y1);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, 130, 0);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr,
-                  knots[1].a.x, knots[1].a.y);
-    cairo_curve_to (cr,
-                   knots[1].b.x, knots[1].b.y,
-                   knots[1].c.x, knots[1].c.y,
-                   knots[1].d.x, knots[1].d.y);
-    cairo_stroke_extents (cr, &stroke_x0, &stroke_y0, &stroke_x1, &stroke_y1);
-    cairo_path_extents (cr, &path_x0, &path_y0, &path_x1, &path_y1);
-    cairo_stroke (cr);
-
-    cairo_save (cr); {
-       cairo_set_line_width (cr, 1);
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       draw_bbox (cr, stroke_x0, stroke_y0, stroke_x1, stroke_y1);
-       cairo_set_source_rgb (cr, 0, 0, 1);
-       draw_bbox (cr, path_x0, path_y0, path_x1, path_y1);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, 130, 0);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr,
-                  knots[2].a.x, knots[2].a.y);
-    cairo_curve_to (cr,
-                   knots[2].b.x, knots[2].b.y,
-                   knots[2].c.x, knots[2].c.y,
-                   knots[2].d.x, knots[2].d.y);
-    cairo_stroke_extents (cr, &stroke_x0, &stroke_y0, &stroke_x1, &stroke_y1);
-    cairo_path_extents (cr, &path_x0, &path_y0, &path_x1, &path_y1);
-    cairo_stroke (cr);
-
-    cairo_save (cr); {
-       cairo_set_line_width (cr, 1);
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       draw_bbox (cr, stroke_x0, stroke_y0, stroke_x1, stroke_y1);
-       cairo_set_source_rgb (cr, 0, 0, 1);
-       draw_bbox (cr, path_x0, path_y0, path_x1, path_y1);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, -130 - 65, 130);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr,
-                  knots[3].a.x, knots[3].a.y);
-    cairo_curve_to (cr,
-                   knots[3].b.x, knots[3].b.y,
-                   knots[3].c.x, knots[3].c.y,
-                   knots[3].d.x, knots[3].d.y);
-    cairo_stroke_extents (cr, &stroke_x0, &stroke_y0, &stroke_x1, &stroke_y1);
-    cairo_path_extents (cr, &path_x0, &path_y0, &path_x1, &path_y1);
-    cairo_stroke (cr);
-
-    cairo_save (cr); {
-       cairo_set_line_width (cr, 1);
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       draw_bbox (cr, stroke_x0, stroke_y0, stroke_x1, stroke_y1);
-       cairo_set_source_rgb (cr, 0, 0, 1);
-       draw_bbox (cr, path_x0, path_y0, path_x1, path_y1);
-    } cairo_restore (cr);
-
-    cairo_translate (cr, 130, 0);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr,
-                  knots[4].a.x, knots[4].a.y);
-    cairo_curve_to (cr,
-                   knots[4].b.x, knots[4].b.y,
-                   knots[4].c.x, knots[4].c.y,
-                   knots[4].d.x, knots[4].d.y);
-    cairo_stroke_extents (cr, &stroke_x0, &stroke_y0, &stroke_x1, &stroke_y1);
-    cairo_path_extents (cr, &path_x0, &path_y0, &path_x1, &path_y1);
-    cairo_stroke (cr);
-
-    cairo_save (cr); {
-       cairo_set_line_width (cr, 1);
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       draw_bbox (cr, stroke_x0, stroke_y0, stroke_x1, stroke_y1);
-       cairo_set_source_rgb (cr, 0, 0, 1);
-       draw_bbox (cr, path_x0, path_y0, path_x1, path_y1);
-    } cairo_restore (cr);
-
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-#ifdef REFERENCE
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    thick_splines (cr, 5);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    thin_splines (cr);
-#endif
-
-    /*
-     * Use a high tolerance to reduce dependence upon algorithm used for
-     * spline decomposition.
-     */
-    cairo_set_tolerance (cr, 0.001);
-
-    cairo_set_line_width (cr, 10);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    stroke_splines (cr);
-    cairo_set_line_width (cr, 2);
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    stroke_splines (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (spline_decomposition,
-           "Tests splines with various inflection points",
-           "stroke, spline", /* keywords */
-           NULL, /* requirements */
-           390, 260,
-           NULL, draw)
diff --git a/test/stride-12-image.c b/test/stride-12-image.c
deleted file mode 100644 (file)
index 21bd8b0..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2012 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_format_t format = CAIRO_FORMAT_ARGB32;
-    cairo_t *cr_src;
-    cairo_surface_t *png, *src;
-    uint8_t *data;
-    int stride;
-
-    png = cairo_test_create_surface_from_png (ctx, png_filename);
-
-    stride = cairo_format_stride_for_width (format, width) + 12;
-    data = calloc (stride, height);
-    src = cairo_image_surface_create_for_data (data, format,
-                                              width, height, stride);
-
-    cr_src = cairo_create (src);
-    cairo_set_source_surface (cr_src, png, 0, 0);
-    cairo_paint (cr_src);
-    cairo_destroy (cr_src);
-
-    cairo_set_source_surface (cr, src, 0, 0);
-    cairo_paint (cr);
-
-    cairo_surface_destroy (png);
-
-    cairo_surface_finish (src);
-    cairo_surface_destroy (src);
-
-    free (data);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (stride_12_image,
-           "Test that images with a non-default stride are handled correctly.",
-           "stride, image", /* keywords */
-           NULL, /* requirements */
-           256, 192,
-           NULL, draw)
diff --git a/test/stroke-ctm-caps.c b/test/stroke-ctm-caps.c
deleted file mode 100644 (file)
index 1bbee83..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright © 2008 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 100
-#define PAD 2
-#define WIDTH (PAD + SIZE + PAD)
-#define HEIGHT WIDTH
-
-/* This test is designed to test that PDF viewers use the correct
- * alpha values in an Alpha SMasks. Some viewers use the color values
- * instead of the alpha. The test draws a triangle and rectangle in a
- * group then draws the group using cairo_mask(). The mask consists of
- * a circle with the rgba (0.4, 0.4, 0.4, 0.8) and the background rgba
- * (0.8, 0.8, 0.8, 0.4).
- */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    /* flip the CTM, which most clearly shows the problem */
-    cairo_translate (cr, 0, HEIGHT);
-    cairo_scale (cr, 1, -1);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_set_line_width (cr, 10);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-
-    cairo_move_to (cr, 20, 20);
-    cairo_line_to (cr, 20, 70);
-    cairo_stroke (cr);
-
-    cairo_move_to (cr, 40, 20);
-    cairo_line_to (cr, 70, 70);
-    cairo_stroke (cr);
-
-    cairo_move_to (cr, 60, 20);
-    cairo_line_to (cr, 90, 20);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (stroke_ctm_caps,
-           "Test that the stroker correctly passes the device-space vector to the stroker for endcaps",
-           "stroke, transform", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/stroke-image.c b/test/stroke-image.c
deleted file mode 100644 (file)
index 17e6653..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright © 2006 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include "cairo-test.h"
-
-#define PAD 10
-#define SIZE 100
-#define IMAGE_SIZE (SIZE-PAD*2)
-#define LINE_WIDTH 10
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *image;
-    cairo_t *cr_image;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    image = cairo_image_surface_create (CAIRO_FORMAT_RGB24, IMAGE_SIZE, IMAGE_SIZE);
-    cr_image = cairo_create (image);
-    cairo_surface_destroy (image);
-
-    /* Create the image */
-    cairo_set_source_rgb (cr_image, 0, 0, 0);
-    cairo_paint (cr_image);
-    cairo_set_source_rgb (cr_image, 0, 1, 0);
-    cairo_set_line_width (cr_image, LINE_WIDTH);
-    cairo_arc (cr_image, IMAGE_SIZE/2, IMAGE_SIZE/2, IMAGE_SIZE/2 - LINE_WIDTH/2, 0, M_PI * 2.0);
-    cairo_stroke (cr_image);
-
-    /* Now stroke with it */
-    cairo_translate (cr, PAD, PAD);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr_image), 0, 0);
-    cairo_destroy (cr_image);
-
-    cairo_new_path (cr);
-    cairo_set_line_width (cr, LINE_WIDTH);
-    cairo_arc (cr, IMAGE_SIZE/2, IMAGE_SIZE/2, IMAGE_SIZE/2 - LINE_WIDTH/2, 0, M_PI * 2.0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (stroke_image,
-           "Test stroking with an image source, with a non-identity CTM",
-           "stroke, image, transform", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/stroke-open-box.c b/test/stroke-open-box.c
deleted file mode 100644 (file)
index b1dae50..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2011 Simon Kellner
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Simon Kellner <kellner@kit.edu>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_move_to (cr, 5, 7);
-    cairo_rel_line_to (cr, 20, 0);
-    cairo_rel_line_to (cr, 0, 15);
-    cairo_rel_line_to (cr, -20, 0);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (stroke_open_box,
-           "Tests stroking of a 3-sided box",
-           "stroke,box", /* keywords */
-           NULL, /* requirements */
-           30, 32,
-           NULL, draw)
diff --git a/test/stroke-pattern.c b/test/stroke-pattern.c
deleted file mode 100644 (file)
index 01e1019..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright © 2011 Adrian Johnson
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include "cairo-test.h"
-
-#define IMAGE_WIDTH 80
-#define IMAGE_HEIGHT 80
-
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *pattern;
-
-    cairo_test_paint_checkered (cr);
-
-    cairo_scale (cr, 0.3, 0.3);
-    cairo_translate (cr, 50, 50);
-
-    pattern = cairo_pattern_create_linear (70, 100, 130, 100);
-    cairo_pattern_add_color_stop_rgba (pattern, 0,  1, 0, 0,  1.0);
-    cairo_pattern_add_color_stop_rgba (pattern, 1,  0, 1, 0,  0.5);
-
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_PAD);
-    cairo_set_source (cr, pattern);
-
-    cairo_move_to(cr, 20, 20);
-    cairo_curve_to(cr,
-                   130, 0,
-                   70, 200,
-                   180, 180);
-    cairo_set_line_width (cr, 20);
-    cairo_stroke (cr);
-
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (stroke_pattern,
-           "Patterned stroke",
-           "stroke, pattern", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/subsurface-image-repeat.c b/test/subsurface-image-repeat.c
deleted file mode 100644 (file)
index c741944..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2009 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * INTEL CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static const char *png_filename = "romedalen.png";
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *image, *region;
-    cairo_t *cr_region;
-
-    cairo_set_source_rgb (cr, .5, .5, .5);
-    cairo_paint (cr);
-
-    /* fill the centre */
-    region = cairo_surface_create_for_rectangle (cairo_get_target (cr),
-                                                20, 20, 20, 20);
-    cr_region = cairo_create (region);
-    cairo_surface_destroy (region);
-
-    image = cairo_test_create_surface_from_png (ctx, png_filename);
-    cairo_set_source_surface (cr_region, image,
-                             10 - cairo_image_surface_get_width (image)/2,
-                             10 - cairo_image_surface_get_height (image)/2);
-    cairo_paint (cr_region);
-    cairo_surface_destroy (image);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr_region), 20, 20);
-    cairo_destroy (cr_region);
-
-    /* repeat the pattern around the outside, but do not overwrite...*/
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-    cairo_rectangle (cr, 0, 0, width, height);
-    cairo_rectangle (cr, 20, 40, 20, -20);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (subsurface_image_repeat,
-           "Tests source (image) clipping with repeat",
-           "subsurface, image, repeat", /* keywords */
-           "target=raster", /* FIXME! recursion bug in subsurface/snapshot (with pdf backend) */ /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/subsurface-modify-child.c b/test/subsurface-modify-child.c
deleted file mode 100644 (file)
index ed94356..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2010 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * INTEL CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *region, *similar;
-    cairo_t *cr_region, *cr_similar;
-
-    cairo_set_source_rgb (cr, .5, .5, .5);
-    cairo_paint (cr);
-
-    similar = cairo_surface_create_similar (cairo_get_target (cr),
-                                           CAIRO_CONTENT_COLOR_ALPHA,
-                                           20, 20);
-
-    /* copy the centre */
-    cr_similar = cairo_create (similar);
-    cairo_surface_destroy (similar);
-    cairo_set_source_surface (cr_similar, cairo_get_target (cr), -20, -20);
-    cairo_paint (cr_similar);
-    similar = cairo_surface_reference (cairo_get_target (cr_similar));
-    cairo_destroy (cr_similar);
-
-    /* fill the centre */
-    region = cairo_surface_create_for_rectangle (cairo_get_target (cr),
-                                                20, 20, 20, 20);
-    cr_region = cairo_create (region);
-    cairo_surface_destroy (region);
-
-    cairo_set_source_rgb (cr_region, 1, 1, 1);
-    cairo_rectangle (cr_region, 0, 0, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 1, 0, 0);
-    cairo_rectangle (cr_region, 10, 0, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 0, 1, 0);
-    cairo_rectangle (cr_region, 0, 10, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 0, 0, 1);
-    cairo_rectangle (cr_region, 10, 10, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_destroy (cr_region);
-
-    /* copy the centre, again */
-    cr_similar = cairo_create (similar);
-    cairo_surface_destroy (similar);
-    cairo_set_source_surface (cr_similar, cairo_get_target (cr), -20, -20);
-    cairo_paint (cr_similar);
-    similar = cairo_surface_reference (cairo_get_target (cr_similar));
-    cairo_destroy (cr_similar);
-
-    /* repeat the pattern around the outside, but do not overwrite...*/
-    cairo_set_source_surface (cr, similar, 20, 20);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-    cairo_rectangle (cr, 0, 0, width, height);
-    cairo_rectangle (cr, 20, 40, 20, -20);
-    cairo_fill (cr);
-
-    cairo_surface_destroy (similar);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (subsurface_modify_child,
-           "Tests source clipping with later modifications",
-           "subsurface", /* keywords */
-           "target=raster", /* FIXME! recursion bug in subsurface/snapshot (with pdf backend) */ /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/subsurface-modify-parent.c b/test/subsurface-modify-parent.c
deleted file mode 100644 (file)
index de16e75..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2010 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * INTEL CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *region;
-
-    cairo_set_source_rgb (cr, .5, .5, .5);
-    cairo_paint (cr);
-
-    /* fill the centre, but through the *original* surface */
-    region = cairo_surface_create_for_rectangle (cairo_get_target (cr),
-                                                20, 20, 20, 20);
-
-    /* first trigger a snapshot of the region... */
-    cairo_set_source_surface (cr, region, 20, 20);
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_rectangle (cr, 20, 20, 10, 10);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_rectangle (cr, 30, 20, 10, 10);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_rectangle (cr, 20, 30, 10, 10);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_rectangle (cr, 30, 30, 10, 10);
-    cairo_fill (cr);
-
-    cairo_set_source_surface (cr, region, 20, 20);
-    cairo_surface_destroy (region);
-
-    /* repeat the pattern around the outside, but do not overwrite...*/
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-    cairo_rectangle (cr, 0, 0, width, height);
-    cairo_rectangle (cr, 20, 40, 20, -20);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (subsurface_modify_parent,
-           "Tests source clipping with later modifications",
-           "subsurface", /* keywords */
-           "target=raster", /* FIXME! recursion bug in subsurface/snapshot (with pdf backend) */ /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/subsurface-outside-target.c b/test/subsurface-outside-target.c
deleted file mode 100644 (file)
index ef91a2e..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright 2010 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-
-#define TARGET_SIZE 10
-
-#define SUB_SIZE 15
-#define SUB_OFFSET -5
-
-#define PAINT_OFFSET SUB_SIZE
-#define PAINT_SIZE (3 * SUB_SIZE)
-
-static cairo_content_t contents[] = { CAIRO_CONTENT_ALPHA,
-                                      CAIRO_CONTENT_COLOR,
-                                      CAIRO_CONTENT_COLOR_ALPHA };
-
-#define N_CONTENTS ARRAY_LENGTH (contents)
-#define N_PADS (CAIRO_EXTEND_PAD + 1)
-
-
-static cairo_surface_t *
-create_target (cairo_surface_t *similar_to,
-               cairo_content_t content)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_surface_create_similar (similar_to,
-                                            content,
-                                            TARGET_SIZE, TARGET_SIZE);
-    
-    cr = cairo_create (surface);
-    cairo_test_paint_checkered (cr);
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_test_status_t
-check_surface_extents (const cairo_test_context_t *ctx,
-                       cairo_surface_t *           surface,
-                       double                      x,
-                       double                      y,
-                       double                      width,
-                       double                      height)
-{
-    double x1, y1, x2, y2;
-    cairo_t *cr;
-
-    cr = cairo_create (surface);
-    cairo_clip_extents (cr, &x1, &y1, &x2, &y2);
-    cairo_destroy (cr);
-
-    if (x != x1 ||
-        y != y1 ||
-        width != x2 - x1 ||
-        height != y2 - y1) {
-        cairo_test_log (ctx,
-                        "surface extents should be (%g, %g, %g, %g), but are (%g, %g, %g, %g)\n",
-                        x, y, width, height,
-                        x1, y1, x2 - x1, y2 - y1);
-        return CAIRO_TEST_FAILURE;
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_for_size (cairo_t *cr,
-               double   x,
-               double   y)
-{
-    cairo_surface_t *target, *subsurface;
-    cairo_extend_t extend;
-    cairo_test_status_t check, result = CAIRO_TEST_SUCCESS;
-    unsigned int content;
-
-    for (content = 0; content < N_CONTENTS; content++) {
-        cairo_save (cr);
-
-        /* create a target surface for our subsurface */
-        target = create_target (cairo_get_target (cr),
-                                contents[content]);
-
-        /* create a subsurface that extends the target surface */
-        subsurface = cairo_surface_create_for_rectangle (target, 
-                                                         x, y,
-                                                         SUB_SIZE, SUB_SIZE);
-
-        /* ensure the extents are ok */
-        check = check_surface_extents (cairo_test_get_context (cr),
-                                       subsurface,
-                                       0, 0,
-                                       SUB_SIZE, SUB_SIZE);
-        if (result == CAIRO_TEST_SUCCESS)
-          result = check;
-
-        /* paint this surface with all extend modes. */
-        for (extend = 0; extend < N_PADS; extend++) {
-            cairo_save (cr);
-
-            cairo_rectangle (cr, 0, 0, PAINT_SIZE, PAINT_SIZE);
-            cairo_clip (cr);
-
-            cairo_set_source_surface (cr, subsurface, PAINT_OFFSET, PAINT_OFFSET);
-            cairo_pattern_set_extend (cairo_get_source (cr), extend);
-            cairo_paint (cr);
-
-            cairo_restore (cr);
-
-            cairo_translate (cr, PAINT_SIZE + TARGET_SIZE, 0);
-        }
-
-        cairo_surface_destroy (subsurface);
-        cairo_surface_destroy (target);
-
-        cairo_restore (cr);
-
-        cairo_translate (cr, 0, PAINT_SIZE + TARGET_SIZE);
-    }
-
-    return result;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_test_status_t check, result = CAIRO_TEST_SUCCESS;
-
-    /* paint background in nice gray */
-    cairo_set_source_rgb (cr, 0.51613, 0.55555, 0.51613);
-    cairo_paint (cr);
-
-    /* Use CAIRO_OPERATOR_SOURCE in the tests so we get the actual
-     * contents of the subsurface */
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-
-    result = draw_for_size (cr, SUB_OFFSET, SUB_OFFSET);
-
-    check = draw_for_size (cr, 0, 0);
-    if (result == CAIRO_TEST_SUCCESS)
-      result = check;
-
-    return result;
-}
-
-CAIRO_TEST (subsurface_outside_target,
-           "Tests contents of subsurfaces outside target area",
-           "subsurface, pad", /* keywords */
-           "target=raster", /* FIXME! recursion bug in subsurface/snapshot (with pdf backend) */ /* requirements */
-           (PAINT_SIZE + TARGET_SIZE) * N_PADS         - TARGET_SIZE,
-            (PAINT_SIZE + TARGET_SIZE) * N_CONTENTS * 2 - TARGET_SIZE,
-           NULL, draw)
diff --git a/test/subsurface-pad.c b/test/subsurface-pad.c
deleted file mode 100644 (file)
index 1ac7a0e..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2009 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * INTEL CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *region;
-    cairo_t *cr_region;
-
-    cairo_set_source_rgb (cr, .5, .5, .5);
-    cairo_paint (cr);
-
-    /* fill the centre */
-    region = cairo_surface_create_for_rectangle (cairo_get_target (cr),
-                                                20, 20, 20, 20);
-    cr_region = cairo_create (region);
-    cairo_surface_destroy (region);
-
-    cairo_set_source_rgb (cr_region, 1, 1, 1);
-    cairo_rectangle (cr_region, 0, 0, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 1, 0, 0);
-    cairo_rectangle (cr_region, 10, 0, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 0, 1, 0);
-    cairo_rectangle (cr_region, 0, 10, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 0, 0, 1);
-    cairo_rectangle (cr_region, 10, 10, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr_region), 20, 20);
-    cairo_destroy (cr_region);
-
-    /* reflect the pattern around the outside, but do not overwrite...*/
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_PAD);
-    cairo_rectangle (cr, 0, 0, width, height);
-    cairo_rectangle (cr, 20, 40, 20, -20);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (subsurface_pad,
-           "Tests source clipping with pad",
-           "subsurface, pad", /* keywords */
-           "target=raster", /* FIXME! recursion bug in subsurface/snapshot (with pdf backend) */ /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/subsurface-reflect.c b/test/subsurface-reflect.c
deleted file mode 100644 (file)
index 517106d..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2009 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * INTEL CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *region;
-    cairo_t *cr_region;
-
-    cairo_set_source_rgb (cr, .5, .5, .5);
-    cairo_paint (cr);
-
-    /* fill the centre */
-    region = cairo_surface_create_for_rectangle (cairo_get_target (cr),
-                                                20, 20, 20, 20);
-    cr_region = cairo_create (region);
-    cairo_surface_destroy (region);
-
-    cairo_set_source_rgb (cr_region, 1, 1, 1);
-    cairo_rectangle (cr_region, 0, 0, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 1, 0, 0);
-    cairo_rectangle (cr_region, 10, 0, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 0, 1, 0);
-    cairo_rectangle (cr_region, 0, 10, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 0, 0, 1);
-    cairo_rectangle (cr_region, 10, 10, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr_region), 20, 20);
-    cairo_destroy (cr_region);
-
-    /* reflect the pattern around the outside, but do not overwrite...*/
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REFLECT);
-    cairo_rectangle (cr, 0, 0, width, height);
-    cairo_rectangle (cr, 20, 40, 20, -20);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (subsurface_reflect,
-           "Tests source clipping with reflect",
-           "subsurface, reflect", /* keywords */
-           "target=raster", /* FIXME! recursion bug in subsurface/snapshot (with pdf backend) */ /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/subsurface-repeat.c b/test/subsurface-repeat.c
deleted file mode 100644 (file)
index 596b973..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2009 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * INTEL CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *region;
-    cairo_t *cr_region;
-
-    cairo_set_source_rgb (cr, .5, .5, .5);
-    cairo_paint (cr);
-
-    /* fill the centre */
-    region = cairo_surface_create_for_rectangle (cairo_get_target (cr),
-                                                20, 20, 20, 20);
-    cr_region = cairo_create (region);
-    cairo_surface_destroy (region);
-
-    cairo_set_source_rgb (cr_region, 1, 1, 1);
-    cairo_rectangle (cr_region, 0, 0, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 1, 0, 0);
-    cairo_rectangle (cr_region, 10, 0, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 0, 1, 0);
-    cairo_rectangle (cr_region, 0, 10, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 0, 0, 1);
-    cairo_rectangle (cr_region, 10, 10, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr_region), 20, 20);
-    cairo_destroy (cr_region);
-
-    /* repeat the pattern around the outside, but do not overwrite...*/
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-    cairo_rectangle (cr, 0, 0, width, height);
-    cairo_rectangle (cr, 20, 40, 20, -20);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (subsurface_repeat,
-           "Tests source clipping with repeat",
-           "subsurface, repeat", /* keywords */
-           "target=raster", /* FIXME! recursion bug in subsurface/snapshot (with pdf backend) */ /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/subsurface-scale.c b/test/subsurface-scale.c
deleted file mode 100644 (file)
index 9ffd2c4..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright 2009 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * INTEL CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *region[5];
-    const char *text = "Cairo";
-    int i;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, 0, 20, 200, 60);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    for (i = 0; i < 5; i++) {
-       cairo_t *cr_region;
-       cairo_text_extents_t extents;
-       char buf[2] = { text[i], '\0' };
-
-        region[i] = cairo_surface_create_for_rectangle (cairo_get_target (cr),
-                                                        20 * i, 0, 20, 20);
-
-       cr_region = cairo_create (region[i]);
-       cairo_surface_destroy (region[i]);
-
-       cairo_select_font_face (cr_region, "@cairo:",
-                               CAIRO_FONT_WEIGHT_NORMAL,
-                               CAIRO_FONT_SLANT_NORMAL);
-       cairo_set_font_size (cr_region, 20);
-       cairo_text_extents (cr_region, buf, &extents);
-       cairo_move_to (cr_region,
-                      10 - (extents.width/2 + extents.x_bearing),
-                      10 - (extents.height/2 + extents.y_bearing));
-       cairo_show_text (cr_region, buf);
-
-       region[i] = cairo_surface_reference (cairo_get_target (cr_region));
-       cairo_destroy (cr_region);
-    }
-
-    cairo_scale (cr, 2, 2);
-    for (i = 0; i < 5; i++) {
-       cairo_set_source_surface (cr, region[5-i-1], 20 * i, 20);
-       cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_PAD);
-       cairo_rectangle (cr, 20*i, 20, 20, 20);
-       cairo_fill (cr);
-    }
-
-    for (i = 0; i < 5; i++) {
-       cairo_set_source_surface (cr, region[5-i-1], 20 * i, 40);
-       cairo_paint_with_alpha (cr, .5);
-    }
-
-    for (i = 0; i < 5; i++)
-       cairo_surface_destroy (region[i]);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (subsurface_scale,
-           "Tests clipping of both source and destination using subsurfaces",
-           "subsurface", /* keywords */
-           "target=raster", /* FIXME! recursion bug in subsurface/snapshot (with pdf backend) */ /* requirements */
-           200, 120,
-           NULL, draw)
diff --git a/test/subsurface-similar-repeat.c b/test/subsurface-similar-repeat.c
deleted file mode 100644 (file)
index 011f876..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright 2009 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * INTEL CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *similar;
-    cairo_surface_t *region;
-    cairo_t *cr_region;
-
-    cairo_set_source_rgb (cr, .5, .5, .5);
-    cairo_paint (cr);
-
-    similar = cairo_surface_create_similar (cairo_get_target (cr),
-                                           CAIRO_CONTENT_COLOR,
-                                           60, 60);
-    cr_region = cairo_create (similar);
-    cairo_surface_destroy (similar);
-
-    cairo_set_source_rgb (cr_region, .5, .5, .0);
-    cairo_paint (cr_region);
-    similar = cairo_surface_reference (cairo_get_target (cr_region));
-    cairo_destroy (cr_region);
-
-    /* fill the centre */
-    region = cairo_surface_create_for_rectangle (similar, 20, 20, 20, 20);
-    cairo_surface_destroy (similar);
-
-    cr_region = cairo_create (region);
-    cairo_surface_destroy (region);
-
-    cairo_set_source_rgb (cr_region, 1, 1, 1);
-    cairo_rectangle (cr_region, 0, 0, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 1, 0, 0);
-    cairo_rectangle (cr_region, 10, 0, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 0, 1, 0);
-    cairo_rectangle (cr_region, 0, 10, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_rgb (cr_region, 0, 0, 1);
-    cairo_rectangle (cr_region, 10, 10, 10, 10);
-    cairo_fill (cr_region);
-
-    cairo_set_source_surface (cr, cairo_get_target (cr_region), 20, 20);
-    cairo_destroy (cr_region);
-
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (subsurface_similar_repeat,
-           "Tests source clipping through an intermediate with repeat",
-           "subsurface, repeat", /* keywords */
-           "target=raster", /* FIXME! recursion bug in subsurface/snapshot (with pdf backend) */ /* requirements */
-           60, 60,
-           NULL, draw)
diff --git a/test/subsurface.c b/test/subsurface.c
deleted file mode 100644 (file)
index 812776c..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright 2009 Intel Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Intel not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Intel makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * INTEL CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL INTEL CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *region[5];
-    const char *text = "Cairo";
-    int i;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    for (i = 0; i < 5; i++) {
-       cairo_t *cr_region;
-       cairo_text_extents_t extents;
-       char buf[2] = { text[i], '\0' };
-
-        region[i] = cairo_surface_create_for_rectangle (cairo_get_target (cr),
-                                                        20 * i, 0, 20, 20);
-
-       cr_region = cairo_create (region[i]);
-       cairo_surface_destroy (region[i]);
-
-       cairo_select_font_face (cr_region, "@cairo:",
-                               CAIRO_FONT_WEIGHT_NORMAL,
-                               CAIRO_FONT_SLANT_NORMAL);
-       cairo_set_font_size (cr_region, 20);
-       cairo_text_extents (cr_region, buf, &extents);
-       cairo_move_to (cr_region,
-                      10 - (extents.width/2 + extents.x_bearing),
-                      10 - (extents.height/2 + extents.y_bearing));
-       cairo_show_text (cr_region, buf);
-
-       region[i] = cairo_surface_reference (cairo_get_target (cr_region));
-       cairo_destroy (cr_region);
-    }
-
-    for (i = 0; i < 5; i++) {
-       cairo_set_source_surface (cr, region[5-i-1], 20 * i, 20);
-       cairo_paint (cr);
-    }
-
-    for (i = 0; i < 5; i++) {
-       cairo_set_source_surface (cr, region[5-i-1], 20 * i, 40);
-       cairo_paint_with_alpha (cr, .5);
-    }
-
-    for (i = 0; i < 5; i++)
-       cairo_surface_destroy (region[i]);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (subsurface,
-           "Tests clipping of both source and destination using subsurfaces",
-           "subsurface", /* keywords */
-           "target=raster", /* FIXME! recursion bug in subsurface/snapshot (with pdf backend) */ /* requirements */
-           100, 60,
-           NULL, draw)
diff --git a/test/surface-finish-twice.c b/test/surface-finish-twice.c
deleted file mode 100644 (file)
index f63b501..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl Worth <cworth@cworth.org>
- */
-
-/* Bug history
- *
- * 2005-04-10 stevech1097@yahoo.com.au
- *
- *   Subject: [Bug 2950]  New: *** glibc detected *** double free or corruption
- *   URL: https://bugs.freedesktop.org/show_bug.cgi?id=2950
- *
- *   The following short program gives the error message:
- *
- *     *** glibc detected *** double free or corruption: 0x082a7268 ***
- *     Aborted
- *
- * 2005-04-13 Carl Worth <cworth@cworth.org>
- *
- *   Looks like surface->finished was never being set. Now fixed.
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_surface_t *surface;
-    cairo_status_t status;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1);
-
-    cairo_surface_finish (surface);
-    status = cairo_surface_status (surface);
-    if (status != CAIRO_STATUS_SUCCESS)
-       return cairo_test_status_from_status (ctx, status);
-
-    cairo_surface_finish (surface);
-    status = cairo_surface_status (surface);
-    if (status != CAIRO_STATUS_SUCCESS)
-       return cairo_test_status_from_status (ctx, status);
-
-    cairo_surface_finish (surface);
-    status = cairo_surface_status (surface);
-    if (status != CAIRO_STATUS_SUCCESS)
-       return cairo_test_status_from_status (ctx, status);
-
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (surface_finish_twice,
-           "Test to exercise a crash when calling cairo_surface_finish twice on the same surface.",
-           "api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/surface-pattern-big-scale-down.c b/test/surface-pattern-big-scale-down.c
deleted file mode 100644 (file)
index 698accb..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright © 2006 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include "cairo-test.h"
-
-#define SRC_WIDTH 2048
-#define SRC_HEIGHT 32
-
-static cairo_surface_t *
-create_source_surface (int w, int h)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, SRC_WIDTH, SRC_HEIGHT);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-    cairo_rectangle (cr, 0, 0, w/2, h/2);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 1.0, 0.0);
-    cairo_rectangle (cr, w/2, 0, w/2, h/2);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);
-    cairo_rectangle (cr, 0, h/2, w/2, h/2);
-    cairo_fill (cr);
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 0.0);
-    cairo_rectangle (cr, w/2, h/2, w/2, h/2);
-    cairo_fill (cr);
-
-    surface = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static void
-draw_n (cairo_t *cr, cairo_pattern_t *pat, double dest_size, int n)
-{
-  cairo_matrix_t mat;
-
-  cairo_matrix_init_scale (&mat, SRC_WIDTH / dest_size, SRC_HEIGHT / dest_size);
-  cairo_matrix_translate (&mat, n * -dest_size, 0.0);
-  cairo_pattern_set_matrix (pat, &mat);
-
-  cairo_set_source (cr, pat);
-  cairo_new_path (cr);
-  cairo_rectangle (cr, n * dest_size, 0.0, dest_size, dest_size);
-  cairo_fill (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *pat;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    surface = create_source_surface (SRC_WIDTH, SRC_HEIGHT);
-
-    pat = cairo_pattern_create_for_surface (surface);
-    cairo_surface_destroy (surface);
-
-    /* We want to draw at a position such that n * SRC_WIDTH * (SRC_WIDTH/16.0) > 32768.
-     * x = n * 16.
-     *
-     * To show the bug, we want to draw on either side of the boundary;
-     * in our case here, n = 16 results in 32768, and n = 17 results in > 32768.
-     *
-     * Drawing at 16 and 17 is sufficient to show the problem.
-     */
-
-#if 1
-    /* n = 16 */
-    draw_n (cr, pat, 16.0, 16);
-
-    /* n = 17 */
-    draw_n (cr, pat, 16.0, 17);
-#else
-    {
-       int n;
-       for (n = 0; n < 32; n++)
-           draw_n (cr, pat, 16.0, n);
-    }
-#endif
-
-    cairo_pattern_destroy (pat);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (surface_pattern_big_scale_down,
-           "Test scaled-down transformed not-repeated surface patterns with large images and offsets",
-           "transform", /* keywords */
-           NULL, /* requirements */
-           512, 16,
-           NULL, draw)
diff --git a/test/surface-pattern-operator.c b/test/surface-pattern-operator.c
deleted file mode 100644 (file)
index 994baf9..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2009 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define N_OPERATORS (CAIRO_OPERATOR_SATURATE + 1)
-#define HEIGHT 16
-#define WIDTH 16
-#define PAD 3
-
-static cairo_pattern_t*
-_create_pattern (cairo_surface_t *target, cairo_content_t content, int width, int height)
-{
-    cairo_pattern_t *pattern;
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_surface_create_similar (target, content, width, height);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_arc (cr, 0.5 * width, 0.5 * height, 0.45 * height, -M_PI / 4, 3 * M_PI / 4);
-    cairo_fill (cr);
-
-    pattern = cairo_pattern_create_for_surface (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return pattern;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *alpha_pattern, *color_alpha_pattern, *pattern;
-    unsigned int n, i;
-
-    alpha_pattern = _create_pattern (cairo_get_target (cr),
-                                    CAIRO_CONTENT_ALPHA,
-                                    0.9 * WIDTH, 0.9 * HEIGHT);
-    color_alpha_pattern = _create_pattern (cairo_get_target (cr),
-                                          CAIRO_CONTENT_COLOR_ALPHA,
-                                          0.9 * WIDTH, 0.9 * HEIGHT);
-
-    pattern = cairo_pattern_create_linear (WIDTH, 0, 0, HEIGHT);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.2, 0, 0, 1, 1);
-    cairo_pattern_add_color_stop_rgba (pattern, 0.8, 0, 0, 1, 0);
-
-    cairo_translate (cr, PAD, PAD);
-
-    for (n = 0; n < N_OPERATORS; n++) {
-       cairo_save (cr);
-       for (i = 0; i < 4; i++) {
-           cairo_reset_clip (cr);
-           cairo_rectangle (cr, 0, 0, WIDTH, HEIGHT);
-           cairo_clip (cr);
-
-           cairo_set_source (cr, pattern);
-           cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-           if (i & 2) {
-               cairo_paint (cr);
-           } else {
-               cairo_rectangle (cr, WIDTH/2, HEIGHT/2, WIDTH, HEIGHT);
-               cairo_fill (cr);
-           }
-
-           cairo_set_source (cr, i & 1 ? alpha_pattern : color_alpha_pattern);
-           cairo_set_operator (cr, n);
-           if (i & 2) {
-               cairo_paint (cr);
-           } else {
-               cairo_rectangle (cr, WIDTH/2, HEIGHT/2, WIDTH, HEIGHT);
-               cairo_fill (cr);
-           }
-
-           cairo_translate (cr, 0, HEIGHT+PAD);
-       }
-       cairo_restore (cr);
-
-       cairo_translate (cr, WIDTH+PAD, 0);
-    }
-
-    cairo_pattern_destroy (pattern);
-    cairo_pattern_destroy (alpha_pattern);
-    cairo_pattern_destroy (color_alpha_pattern);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (surface_pattern_operator,
-           "Tests alpha-only and alpha-color sources with all operators",
-           "surface, pattern, operator", /* keywords */
-           NULL, /* requirements */
-           (WIDTH+PAD) * N_OPERATORS + PAD, 4*HEIGHT + 5*PAD,
-           NULL, draw)
diff --git a/test/surface-pattern-scale-down-extend.c b/test/surface-pattern-scale-down-extend.c
deleted file mode 100644 (file)
index 191ab92..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright © 2010 M Joonas Pihlaja
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
- */
-#include "cairo-test.h"
-
-/* Test that we can simultaneously downscale and extend a surface
- * pattern.  Reported by Franz Schmid to the cairo mailing list as a
- * regression in 1.9.6:
- *
- * http://lists.cairographics.org/archives/cairo/2010-February/019492.html
- */
-
-static cairo_test_status_t
-draw_with_extend (cairo_t *cr, int w, int h, cairo_extend_t extend)
-{
-    cairo_pattern_t *pattern;
-    cairo_set_source_rgb (cr, 1,1,1);
-    cairo_paint (cr);
-
-    cairo_save (cr);
-
-    /* When the destination surface is created by cairo-test-suite to
-     * test device-offset, it is bigger than w x h. This test expects
-     * the group to have a size which is exactly w x h, so it must
-     * clip to the this rectangle to guarantee that the group will
-     * have the correct size.
-     */
-    cairo_rectangle (cr, 0, 0, w, h);
-    cairo_clip (cr);
-
-    cairo_push_group_with_content (cr, CAIRO_CONTENT_COLOR); {
-        /* A two by two checkerboard with black, red and yellow
-         * cells. */
-        cairo_set_source_rgb (cr, 1,0,0);
-        cairo_rectangle (cr, w/2, 0, w-w/2, h/2);
-        cairo_fill (cr);
-        cairo_set_source_rgb (cr, 1,1,0);
-        cairo_rectangle (cr, 0, h/2, w/2, h-h/2);
-        cairo_fill (cr);
-    }
-    pattern = cairo_pop_group (cr);
-    cairo_pattern_set_extend(pattern, extend);
-
-    cairo_restore (cr);
-
-    cairo_scale (cr, 0.5, 0.5);
-    cairo_set_source (cr, pattern);
-    cairo_paint (cr);
-
-    cairo_pattern_destroy (pattern);
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_repeat (cairo_t *cr, int w, int h)
-{
-    return draw_with_extend (cr, w, h, CAIRO_EXTEND_REPEAT);
-}
-static cairo_test_status_t
-draw_none (cairo_t *cr, int w, int h)
-{
-    return draw_with_extend (cr, w, h, CAIRO_EXTEND_NONE);
-}
-static cairo_test_status_t
-draw_reflect (cairo_t *cr, int w, int h)
-{
-    return draw_with_extend (cr, w, h, CAIRO_EXTEND_REFLECT);
-}
-static cairo_test_status_t
-draw_pad (cairo_t *cr, int w, int h)
-{
-    return draw_with_extend (cr, w, h, CAIRO_EXTEND_PAD);
-}
-
-CAIRO_TEST (surface_pattern_scale_down_extend_repeat,
-           "Test interaction of downscaling a surface pattern and extend-repeat",
-            "pattern, transform, extend", /* keywords */
-           NULL, /* requirements */
-            100, 100,
-           NULL, draw_repeat)
-CAIRO_TEST (surface_pattern_scale_down_extend_none,
-           "Test interaction of downscaling a surface pattern and extend-none",
-            "pattern, transform, extend", /* keywords */
-           NULL, /* requirements */
-            100, 100,
-           NULL, draw_none)
-CAIRO_TEST (surface_pattern_scale_down_extend_reflect,
-           "Test interaction of downscaling a surface pattern and extend-reflect",
-            "pattern, transform, extend", /* keywords */
-           NULL, /* requirements */
-            100, 100,
-           NULL, draw_reflect)
-CAIRO_TEST (surface_pattern_scale_down_extend_pad,
-           "Test interaction of downscaling a surface pattern and extend-pad",
-            "pattern, transform, extend", /* keywords */
-           NULL, /* requirements */
-            100, 100,
-           NULL, draw_pad)
diff --git a/test/surface-pattern-scale-down.c b/test/surface-pattern-scale-down.c
deleted file mode 100644 (file)
index 639019c..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Behdad Esfahbod <behdad@behdad.org>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 200
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t * cr_surface;
-    int surface_size = 300;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    /* Create an image surface with my favorite four colors in each
-     * quadrant. */
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
-                                         surface_size, surface_size);
-    cr_surface = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr_surface, 1, 1, 1);
-    cairo_rectangle (cr_surface,
-                    0, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 1, 0, 0);
-    cairo_rectangle (cr_surface,
-                    surface_size / 2, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 0, 1, 0);
-    cairo_rectangle (cr_surface,
-                    0, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 0, 0, 1);
-    cairo_rectangle (cr_surface,
-                    surface_size / 2, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-
-    cairo_scale (cr, 0.2, 0.2);
-    cairo_rotate (cr, 1.);
-    cairo_set_source_surface (cr, cairo_get_target (cr_surface), 225, -225);
-    cairo_destroy (cr_surface);
-
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_NONE);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (surface_pattern_scale_down,
-           "Test scaled-down transformed not-repeated surface patterns"
-           "\nFails xlib backend (with argb32) with inexplicable alpha in result",
-           "transform", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/surface-pattern-scale-up.c b/test/surface-pattern-scale-up.c
deleted file mode 100644 (file)
index 26e75c8..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Behdad Esfahbod <behdad@behdad.org>
- */
-
-/* Exhibits nasty behaviour with GS due as their /Interpolate implementation
- * does not function for rotated images. */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 100
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t * cr_surface;
-    int surface_size = 6;
-
-    /* Fill the background with grey, so that it's easily visible when
-     * things get overdrawn */
-    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
-    cairo_paint (cr);
-
-    /* Create an image surface with my favorite four colors in each
-     * quadrant. */
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
-                                         surface_size, surface_size);
-    cr_surface = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr_surface, 1, 1, 1);
-    cairo_rectangle (cr_surface,
-                    0, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 1, 0, 0);
-    cairo_rectangle (cr_surface,
-                    surface_size / 2, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 0, 1, 0);
-    cairo_rectangle (cr_surface,
-                    0, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 0, 0, 1);
-    cairo_rectangle (cr_surface,
-                    surface_size / 2, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-
-    cairo_scale (cr, 10, 10);
-    cairo_rotate (cr, 1.);
-    cairo_set_source_surface (cr, cairo_get_target (cr_surface), 4, -4.5);
-    cairo_destroy (cr_surface);
-
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_NONE);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (surface_pattern_scale_up,
-           "Test scaled-up transformed not-repeated surface patterns"
-           "\nFails xlib backend (with argb32) with inexplicable alpha in result",
-           "transform", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/surface-pattern.c b/test/surface-pattern.c
deleted file mode 100644 (file)
index ff95475..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright © 2007 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Behdad Esfahbod <behdad@behdad.org>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define SIZE 140
-/* Note GhostScript does not support /Interpolate on rotated images, so the PS
- * output looks terrible, but is a known issue. */
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t * cr_surface;
-    int surface_size = 6;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    /* Create an image surface with my favorite four colors in each
-     * quadrant. */
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
-                                         surface_size, surface_size);
-    cr_surface = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_set_source_rgb (cr_surface, 1, 1, 1);
-    cairo_rectangle (cr_surface,
-                    0, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 1, 0, 0);
-    cairo_rectangle (cr_surface,
-                    surface_size / 2, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 0, 1, 0);
-    cairo_rectangle (cr_surface,
-                    0, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-    cairo_set_source_rgb (cr_surface, 0, 0, 1);
-    cairo_rectangle (cr_surface,
-                    surface_size / 2, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr_surface);
-
-    cairo_scale (cr, 10, 10);
-    cairo_rotate (cr, 1.);
-    cairo_set_source_surface (cr, cairo_get_target (cr_surface), 1.5, 1.5);
-    cairo_destroy (cr_surface);
-
-    cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (surface_pattern,
-           "Test transformed repeated surface patterns"
-           "\nExhibiting a strange (very minor) failure in ps backend with device-offset",
-           "transform", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/surface-source.c b/test/surface-source.c
deleted file mode 100644 (file)
index 657a0c8..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_surface_t *create_source_surface (int size);
-
-/* We use a relatively large source to exercise bug:
- *   Bug 7360 painting huge surfaces fails
- *   [https://bugs.freedesktop.org/show_bug.cgi?id=7360]
- * but still keep the resultant image small for reasonably quick checking.
- */
-#define SOURCE_SIZE 2000
-#define INTER_SIZE 512
-#define SIZE 96
-
-static void
-draw_pattern (cairo_surface_t **surface_inout, int surface_size)
-{
-    cairo_t *cr;
-    int mid = surface_size/2;
-
-    cr = cairo_create (*surface_inout);
-    cairo_surface_destroy (*surface_inout);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_rgba (cr, 0, 0, 0, 0);
-    cairo_paint (cr);
-
-    cairo_rectangle (cr, 0, 0, surface_size, surface_size);
-    cairo_rectangle (cr, mid - SIZE/4, mid + SIZE/4, SIZE/2, -SIZE/2);
-    cairo_clip (cr);
-
-    /* outside squares -> opaque */
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_rectangle (cr,
-                    0, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_rectangle (cr,
-                    surface_size / 2, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_rectangle (cr,
-                    0, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_rectangle (cr,
-                    surface_size / 2, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr);
-
-    cairo_reset_clip (cr);
-    cairo_rectangle (cr, mid - SIZE/4, mid - SIZE/4, SIZE/2, SIZE/2);
-    cairo_clip (cr);
-
-    /* inside squares -> translucent */
-    cairo_set_source_rgba (cr, 0, 0, 1, .5);
-    cairo_rectangle (cr,
-                    0, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr);
-    cairo_set_source_rgba (cr, 0, 1, 0, .5);
-    cairo_rectangle (cr,
-                    surface_size / 2, 0,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr);
-    cairo_set_source_rgba (cr, 1, 0, 0, .5);
-    cairo_rectangle (cr,
-                    0, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr);
-    cairo_set_source_rgba (cr, 1, 1, 1, .5);
-    cairo_rectangle (cr,
-                    surface_size / 2, surface_size / 2,
-                    surface_size / 2, surface_size / 2);
-    cairo_fill (cr);
-
-
-    *surface_inout = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_surface_t *similar;
-    cairo_status_t status;
-    cairo_t *cr2;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    surface = create_source_surface (SOURCE_SIZE);
-    if (surface == NULL) /* can't create the source so skip the test */
-       return CAIRO_TEST_UNTESTED;
-
-    draw_pattern (&surface, SOURCE_SIZE);
-
-    /* copy a subregion to a smaller intermediate surface */
-    similar = cairo_surface_create_similar (surface,
-                                           CAIRO_CONTENT_COLOR_ALPHA,
-                                           INTER_SIZE, INTER_SIZE);
-    cr2 = cairo_create (similar);
-    cairo_surface_destroy (similar);
-    cairo_set_source_surface (cr2, surface,
-                             (INTER_SIZE - SOURCE_SIZE)/2,
-                             (INTER_SIZE - SOURCE_SIZE)/2);
-    cairo_paint (cr2);
-
-    /* and then paint onto a small surface for checking */
-    cairo_set_source_surface (cr, cairo_get_target (cr2),
-                             (width - INTER_SIZE)/2,
-                             (height - INTER_SIZE)/2);
-    cairo_destroy (cr2);
-    cairo_rectangle (cr, 16, 16, 64, 64);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_fill (cr);
-
-    /* destroy the surface last, as this triggers XCloseDisplay */
-    cairo_surface_finish (surface);
-    status = cairo_surface_status (surface);
-    cairo_surface_destroy (surface);
-
-    return cairo_test_status_from_status (cairo_test_get_context (cr),
-                                         status);
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_surface_t *surface;
-    cairo_status_t status;
-
-    surface = create_source_surface (SOURCE_SIZE);
-    if (surface == NULL) /* can't create the source so skip the test */
-       return CAIRO_TEST_UNTESTED;
-
-    cairo_surface_finish (surface);
-    status = cairo_surface_status (surface);
-    cairo_surface_destroy (surface);
-
-    return cairo_test_status_from_status (ctx, status);
-}
diff --git a/test/svg-clip.c b/test/svg-clip.c
deleted file mode 100644 (file)
index 035b236..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kristian Høgsberg <krh@redhat.com>
- */
-
-#include <stdio.h>
-
-#include <cairo-svg.h>
-#include "cairo-test.h"
-
-/* Test SVG clipping */
-
-#define WIDTH_IN_POINTS 600
-#define HEIGHT_IN_POINTS 600
-
-static void
-test_clip (cairo_t *cr, double width, double height)
-{
-    cairo_t *cr2;
-
-    /* Basic test; set a square clip and draw a circle to be clipped
-     * against it.*/
-
-    cairo_rectangle (cr, 100, 100, 400, 400);
-    cairo_clip (cr);
-    cairo_arc (cr, 300, 300, 210, 0, 2 * M_PI);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill (cr);
-
-    /* Add a plus shaped clip path to the square clip and draw a big
-     * green square to test the new clip path. */
-
-    cairo_save (cr);
-
-    cairo_rectangle (cr, 250, 100, 100, 400);
-    cairo_rectangle (cr, 100, 250, 400, 100);
-    cairo_clip (cr);
-
-    cairo_rectangle (cr, 0, 0, 600, 600);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_fill (cr);
-
-    cairo_restore (cr);
-
-    /* Set a bezier shape in addition to the rectangle clip set before
-     * the cairo_save() to verify that we successfully removed the
-     * plus shaped clip path and can set a new clip.*/
-
-    cairo_move_to (cr, 600, 0);
-    cairo_curve_to (cr, 300, 600, 0, 300, 600, 0);
-    cairo_clip (cr);
-
-    cairo_rectangle (cr, 0, 0, 600, 600);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_fill (cr);
-
-    /* Create a new context for this surface to test overlapped
-     * drawing from two contexts */
-    cr2 = cairo_create (cairo_get_group_target (cr));
-
-    /* Using the new context, draw a black vertical line, which should
-     * appear unclipped on top of everything drawn so far. */
-    cairo_move_to (cr2, 110, 0);
-    cairo_line_to (cr2, 110, 600);
-    cairo_stroke (cr2);
-
-    /* Using the first context, draw another black vertical line.
-     * This line should be clipped agaist the bezier clipping path set
-     * earlier. */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_move_to (cr, 400, 0);
-    cairo_line_to (cr, 400, 600);
-    cairo_stroke (cr);
-
-    cairo_destroy (cr2);
-
-    /* Test reset clip.  Draw a transparent black circle over
-     * everything.  Specifically, make sure the circle extends outside
-     * the square clip set at the top of this function.  */
-    cairo_reset_clip (cr);
-    cairo_arc (cr, 300, 300, 220, 0, 2 * M_PI);
-    cairo_set_source_rgba (cr, 0, 0, 0, 0.2);
-    cairo_fill (cr);
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_t *cr;
-    const char *filename = "svg-clip.out.svg";
-    cairo_surface_t *surface;
-
-    if (! cairo_test_is_target_enabled (ctx, "svg11") &&
-       ! cairo_test_is_target_enabled (ctx, "svg12"))
-    {
-       return CAIRO_TEST_UNTESTED;
-    }
-
-    surface = cairo_svg_surface_create (filename,
-                                       WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
-    if (cairo_surface_status (surface)) {
-       cairo_test_log (ctx,
-                       "Failed to create svg surface for file %s: %s\n",
-                       filename, cairo_status_to_string (cairo_surface_status (surface)));
-       return CAIRO_TEST_FAILURE;
-    }
-
-    cr = cairo_create (surface);
-
-    test_clip (cr, WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
-    cairo_show_page (cr);
-
-    cairo_destroy (cr);
-    cairo_surface_destroy (surface);
-
-    printf ("svg-clip: Please check %s to make sure it looks happy.\n",
-           filename);
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (svg_clip,
-           "Test SVG clipping",
-           "svg, clip", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/svg-surface-source.c b/test/svg-surface-source.c
deleted file mode 100644 (file)
index c97d3ca..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-#include <cairo-svg.h>
-
-#include "surface-source.c"
-
-static cairo_surface_t *
-create_source_surface (int size)
-{
-    cairo_surface_t *surface;
-
-    surface = cairo_svg_surface_create ("svg-surface-source.out.svg",
-                                       size, size);
-    cairo_surface_set_fallback_resolution (surface, 72., 72.);
-
-    return surface;
-}
-
-CAIRO_TEST (svg_surface_source,
-           "Test using a SVG surface as the source",
-           "source", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           preamble, draw)
diff --git a/test/svg-surface.c b/test/svg-surface.c
deleted file mode 100644 (file)
index 4e29f1b..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include <stdio.h>
-
-#include <cairo-svg.h>
-#include "cairo-test.h"
-
-/* Pretty boring test just to make sure things aren't crashing ---
- * no verification that we're getting good results yet.
- * But you can manually view the image to make sure it looks happy.
- */
-
-#define WIDTH_IN_INCHES  3
-#define HEIGHT_IN_INCHES 3
-#define WIDTH_IN_POINTS  (WIDTH_IN_INCHES  * 72)
-#define HEIGHT_IN_POINTS (HEIGHT_IN_INCHES * 72)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-#define STROKE_WIDTH .04
-
-    double size;
-
-    if (width > height)
-       size = height;
-    else
-       size = width;
-
-    cairo_translate (cr, (width - size) / 2.0, (height - size) / 2.0);
-    cairo_scale (cr, size, size);
-
-    /* Fill face */
-    cairo_arc (cr, 0.5, 0.5, 0.5 - STROKE_WIDTH, 0, 2 * M_PI);
-    cairo_set_source_rgb (cr, 1, 1, 0);
-    cairo_save (cr);
-    {
-       cairo_fill (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    /* Stroke face */
-    cairo_set_line_width (cr, STROKE_WIDTH / 2.0);
-    cairo_stroke (cr);
-
-    /* Eyes */
-    cairo_set_line_width (cr, STROKE_WIDTH);
-    cairo_arc (cr, 0.3, 0.4, STROKE_WIDTH, 0, 2 * M_PI);
-    cairo_fill (cr);
-    cairo_arc (cr, 0.7, 0.4, STROKE_WIDTH, 0, 2 * M_PI);
-    cairo_fill (cr);
-
-    /* Mouth */
-    cairo_move_to (cr, 0.3, 0.7);
-    cairo_curve_to (cr,
-                   0.4, 0.8,
-                   0.6, 0.8,
-                   0.7, 0.7);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_t *cr;
-    const char *filename = "svg-surface.out.svg";
-    cairo_surface_t *surface;
-
-    if (! cairo_test_is_target_enabled (ctx, "svg11") &&
-       ! cairo_test_is_target_enabled (ctx, "svg12"))
-    {
-       return CAIRO_TEST_UNTESTED;
-    }
-
-    surface = cairo_svg_surface_create (filename,
-                                       WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
-    if (cairo_surface_status (surface)) {
-       cairo_test_log (ctx,
-                       "Failed to create svg surface for file %s: %s\n",
-                       filename,
-                       cairo_status_to_string (cairo_surface_status (surface)));
-       return CAIRO_TEST_FAILURE;
-    }
-
-    cr = cairo_create (surface);
-
-    draw (cr, WIDTH_IN_POINTS, HEIGHT_IN_POINTS);
-
-    cairo_show_page (cr);
-
-    cairo_destroy (cr);
-    cairo_surface_destroy (surface);
-
-    printf ("svg-surface: Please check svg-surface.svg to make sure it looks happy.\n");
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (svg_surface,
-           "Check creation of a SVG surface",
-           "svg", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/svg2png.c b/test/svg2png.c
deleted file mode 100644 (file)
index bdfbc8b..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2005 Emmanuel Pacaud <emmanuel.pacaud@free.fr>
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kristian Høgsberg <krh@redhat.com>
- *        Emmanuel Pacaud <emmanuel.pacaud@free.fr>
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <gdk/gdk.h>
-#include <gdk/gdkpixbuf.h>
-#include <librsvg/rsvg.h>
-
-#define FAIL(msg)                                                      \
-    do { fprintf (stderr, "FAIL: %s\n", msg); exit (-1); } while (0)
-
-int main (int argc, char *argv[])
-{
-    GError *error = NULL;
-    GdkPixbuf *pixbuf;
-    const char *filename = argv[1];
-    const char *output_filename = argv[2];
-
-    if (argc != 3)
-       FAIL ("usage: svg2png input_file.svg output_file.png");
-
-    g_type_init ();
-
-    error = NULL;
-
-    rsvg_set_default_dpi (72.0);
-    pixbuf = rsvg_pixbuf_from_file (filename, &error);
-    if (error != NULL)
-       FAIL (error->message);
-
-    gdk_pixbuf_save (pixbuf, output_filename, "png", &error, NULL);
-    if (error != NULL)
-       FAIL (error->message);
-
-    g_object_unref (pixbuf);
-    return 0;
-}
diff --git a/test/testsvg b/test/testsvg
deleted file mode 100755 (executable)
index 9b18df5..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-
-IMAGEDIFF=./imagediff
-
-OUTDIR=testsvg-output
-REFDIR=testsvg-reference
-DIFFDIR=testsvg-diff
-IMAGELIST=testsvg-imagelist
-
-if [ $# -lt 1 ]; then
-       argv0=`basename $0`
-       echo "Usage: $argv0 file.svg [...]" >&2
-       exit 1;
-fi
-
-mkdir -p $OUTDIR
-mkdir -p $DIFFDIR
-rm -f $IMAGELIST
-
-err=0
-for svg in $@; do
-       svgbase=`basename $svg`
-       png=${svgbase/\.svg/.png}
-       outpng=$OUTDIR/$png
-       refpng=$REFDIR/$png
-       diffpng=$DIFFDIR/$png
-#      if xsvg $svg -p $outpng ; then
-       if svg2png $svg $outpng ; then
-               if [ -e $refpng ]; then
-                       if $IMAGEDIFF $refpng $outpng > $diffpng; then
-                               echo "Rendering of $svg matches." >&2
-                               rm -f $diffpng
-                       else
-                               echo "ERROR: Rendering of $svg differs from reference image." >&2
-                               echo $refpng $outpng $diffpng >> $IMAGELIST
-                               err=$(($err+1))
-                       fi
-               else
-                       echo "WARNING: No reference file found for $svg (looked in $refpng)" >&2
-               fi
-       else
-               echo "ERROR: Failed to render $svg" >&2
-               err=$(($err+1))
-       fi
-done
-
-if [ $err -gt 0 ] ; then
-       echo "Differences found in $err renderings."
-else
-       echo "All renderings matched reference images."
-fi
diff --git a/test/testtable.js b/test/testtable.js
deleted file mode 100644 (file)
index 6c25938..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-/* configuration */
-/* TODO: UNTESTED count can't be shown because it's not tracked explicitly */
-headerResults = [ "PASS", "NEW", "FAIL", "XFAIL", "CRASHED" ];
-logResults    = [ "PASS", "NEW", "FAIL", "XFAIL", "CRASH!" ];
-resultToImgs = {
-    "PASS"     : [],
-    "NEW"      : [ "output" ],
-    "FAIL"     : [ "output", "difference", "reference" ],
-    "XFAIL"    : [],
-    "UNTESTED" : [],
-    "CRASHED"  : []
-};
-
-resultToString = {
-    "PASS"     : "",
-    "NEW"      : "",
-    "FAIL"     : "",
-    "XFAIL"    : "",
-    "UNTESTED" : "",
-    "CRASHED"  : "CRASHED!"
-};
-
-resultField = "result";
-rowFields = [ "test", "offset", "similar" ];
-colFields = [ "target", "format" ];
-allFields = [ resultField ].concat (rowFields, colFields);
-
-
-/* globals: */
-function resetGlobals () {
-    dragElement = undefined;
-    table = document.getElementById ("testTable");
-    while (table.rows.length)
-       table.deleteRow (0);
-    colsArray = [ "HrowHeader" ];
-    colsMap = undefined;
-    headerId = "HcolHeader";
-
-    fTrue = function (x) { return true; };
-
-    empty = new Row ();
-    header = new Row ();
-    header[colsArray[0]].toString = function () { return ""; };
-
-    untested = new Test ();
-    untested[resultField] = "UNTESTED";
-}
-
-
-/* utility functions */
-function isKey (key) { return key[key.length-1] == ':'; }
-function normalizeKey (key) { return key.toLowerCase ().replace (/[^a-z0-9]/, ""); }
-function isVisible (x) { return x.style.display != "none"; }
-
-function link (html, url) { return "<a href='" + url + "'>" + html + "</a>"; }
-function image (url) { return "<img src='" + url + "'>"; }
-function span (html, id, cls) { return "<span id='" + id + "' class='" + cls + "' onmousedown='startDrag (event)' onmouseup='mouseUp (event)'>" + html + "</span>"; }
-
-function fieldsToHTML (bColumns, values) {
-    var fields = bColumns ? colFields : rowFields;
-    var prefix = bColumns ? "c" : "r";
-    var tmpRE = arrayApply (function (x) { return "[^/]*"; }, fields);
-    var r = Array ();
-    for (var i = 0; i < fields.length; i++)
-       if (fields[i] == "test") {
-           r.push (link (values[fields[i]], "output/" + values[fields[i]] + ".log"));
-       } else {
-           tmpRE[i] = values[fields[i]];
-           r.push (span (values[fields[i]], prefix + "/" + tmpRE.join ("/") + "/", fields[i]));
-           tmpRE[i] = "[^/]*";
-       }
-    return r.join ("/");
-}
-
-function inArray (value, array) {
-    for (var i = 0; i < array.length; i++)
-       if (value == array[i])
-           return true;
-    return false;
-}
-
-function arrayApply (fun, array) {
-    var r = new Array ();
-    for (var i = 0; i < array.length; i++)
-       r.push (fun(array[i]));
-    return r;
-}
-
-function arrayPred (pred, array) {
-    var r = new Array ();
-    for (var i = 0; i < array.length; i++)
-       if (pred (array[i]))
-           r.push (array[i]);
-    return r;
-}
-
-function arrayMap (map, array) { return arrayApply (function (x) { return map[x]; }, array); }
-
-function binSearch (rows, newId){
-    var min = 0;
-    var max = rows.length;
-
-    while (max - min > 1) {
-       var mid = (max + min) >> 1;
-        if (rows[mid].id > newId)
-           max = mid;
-        else
-           min = mid;
-    }
-
-    if (max == min)
-       return max;
-    else
-       return rows[min].id > newId ? min : max;
-}
-
-/* dynamic table utils */
-function updateCurrent () {
-    for (var i = 0; i < table.rows.length; i++) {
-       var row = table.rows[i];
-       if (isVisible (row)) {
-           /* j starts from 1 because we want to ignore _rowHeader */
-           for (var j = 1; j < row.cells.length; j++)
-               if (row.id[0] == "H")
-                   for (var k = 0; k < headerResults.length; k++)
-                       header[row.cells[j].id].current[headerResults[k]] = 0;
-               else if (isVisible (row.cells[j]))
-                   header[row.cells[j].id].current[row.cells[j].className]++;
-       }
-    }
-
-    updateHeader ();
-}
-
-function setVisible (array, subsetPred, visibilityPred, visibleFlag) {
-    var modified = false, somethingVisible = false;
-    for (var i = 0; i < array.length; i++)
-       if (array[i].id[0] != "H") {
-           if (subsetPred (array[i])) {
-               var wanted = visibilityPred (array[i]);
-               if (isVisible (array[i]) != wanted) {
-                   modified = true;
-                   array[i].style.display = wanted ? visibleFlag : "none";
-               }
-           }
-           somethingVisible = somethingVisible || isVisible (array[i]);
-       }
-    return modified && somethingVisible;
-}
-
-function setVisibleOnly (array, pred, visibleFlag) {
-    return setVisible (array, fTrue, pred, visibleFlag);
-}
-
-function flipVisible (array, subsetPred, visibleFlag) {
-    return setVisible (array, subsetPred, function (x) { return !isVisible (x); }, visibleFlag);
-}
-
-
-/* event handling */
-function ignoreEvent (event) {
-    if (event.preventDefault)
-        event.preventDefault();
-    else
-        event.returnValue= false;
-    return false;
-}
-
-function mouseUp (event) {
-    var visFun;
-    if (event.button == 0)
-       visFun = setVisibleOnly;
-    else if (event.button == 2)
-       visFun = flipVisible;
-    else
-       return false;
-
-    var structureFun;
-    if (event.target.id[0] == "r") /* rows */
-       structureFun = function (f, p) { return f (table.rows, p, "table-row"); };
-    else if (event.target.id[0] == "c") /* cols */
-       structureFun = function (f, p) { return inArray (true, arrayApply (function (row) { return f (row.cells, p, "table-cell") }, table.rows)) };
-    else
-       return false;
-
-    var pred;
-    if (event.target.id[1] == "/") { /* regexp */
-       var re = new RegExp (event.target.id);
-       pred = function (x) { return re.test (x.id); };
-    } else if (event.target.id[1] == "#") { /* counters */
-       var s = event.target.id.substr (2).split ("/");
-       pred = function (row) { return row.cells[s[0]].className == s[1]; }
-    } else
-       return false;
-
-    if (!structureFun (visFun, pred))
-       if (!structureFun (flipVisible, fTrue))
-           structureFun (flipVisible, fTrue);
-
-    updateCurrent ();
-
-    return false;
-}
-
-function noDrag (event) {
-    dragElement = undefined;
-    return false;
-}
-
-function startDrag (event) {
-    if (event.button == 0)
-       dragElement = event.target;
-    else
-       dragElement = undefined;
-    return false;
-}
-
-function endDrag (event) {
-    if (!dragElement)
-       return false;
-
-    if (event.currentTarget.id == colsArray[0] &&
-       inArray (dragElement.className, colFields)) {
-       rowFields.push (dragElement.className);
-       colFields = arrayPred (function (x) { return x != dragElement.className; }, colFields);
-    } else if (event.currentTarget.id == headerId &&
-              inArray (dragElement.className, rowFields)) {
-       colFields.push (dragElement.className);
-       rowFields = arrayPred (function (x) { return x != dragElement.className; }, rowFields);
-    } else
-       return true;
-
-    reloadAll ();
-    return false;
-}
-
-
-/* table content */
-function Row (id, t) {
-    this[colsArray[0]] = new RowHeader (id, t);
-
-    this.get = function (c) { return this[c] != undefined ? this[c] : untested; }
-    this.getHTML = function (c) { return this.get(c).toString (); };
-    this.setStyle = function (c, element) { return this.get(c).setStyle (element); };
-}
-
-function ColumnHeader (id, values) {
-    this.id = id;
-    this.values = values;
-    this.total = new Object ();
-    this.current = new Object ();
-
-    for (var i = 0; i < headerResults.length; i++) {
-       this.total[headerResults[i]] = 0;
-       this.current[headerResults[i]] = 0;
-    }
-
-    this.toString = function () {
-       var counts = new Array ();
-       for (var i = 0; i < headerResults.length; i++) {
-           var hr = headerResults[i];
-           var s = span (this.current[hr], "r#" + colsMap[this.id] + "/" + hr, hr);
-           if (this.current[hr] != this.total[hr])
-               s += span ("[" + this.total[hr] + "]", "r#" + colsMap[this.id] + "/" + hr, hr);
-           counts.push (s);
-       }
-
-       return fieldsToHTML (true, this.values) + "<br>" + counts.join ("/");
-    }
-
-    this.setStyle = function (element) { };
-}
-
-function RowHeader (id, values) {
-    this.id = id;
-    this.values = values;
-    this.toString = function () { return fieldsToHTML (false, this.values); }
-    this.setStyle = function (element) { element.onmouseup = endDrag; };
-}
-
-function Test () {
-    this.rowId = function () { return "r/" + arrayMap (this, rowFields).join("/") + "/"; };
-    this.colId = function () { return "c/" + arrayMap (this, colFields).join("/") + "/"; };
-    this.isComplete = function () { return !inArray (undefined, arrayMap (this, allFields)); }
-    this.toString = function () {
-       var images = arrayMap (this, resultToImgs[this[resultField]]);
-       images = arrayPred (function (x) { return x != undefined; }, images);
-       images = arrayApply (function (x) { return link (image (x), x); }, images);
-       images.push (resultToString[this[resultField]]);
-       return images.join (" ");
-    };
-
-    this.setStyle = function (element) { element.className = this[resultField]; };
-
-    this.addData = function (array) {
-       for (var i = 0; i < array.length - 1; i += 2)
-           if (isKey (array[i]))
-               this[normalizeKey (array[i])] = array[i+1];
-    };
-}
-
-
-/* table creation */
-function insertCell (domRow, nid, tests) {
-    var domCell = domRow.insertCell (nid);
-    domCell.id = colsArray[nid];
-    domCell.innerHTML = tests.getHTML (colsArray[nid]);
-    tests.setStyle (colsArray[nid], domCell);
-}
-
-function updateRow (row, tests) {
-    var domRow = document.getElementById (row);
-    if (!domRow) {
-       domRow = table.insertRow (binSearch (table.rows, row));
-       domRow.id = row;
-    }
-
-    for (var i = 0; i < colsArray.length; i++)
-       if (i >= domRow.cells.length || domRow.cells[i].id != colsArray[i])
-           insertCell (domRow, i, tests);
-}
-
-function updateHeader () {
-    var visibility;
-    var domRow = document.getElementById (headerId);
-    if (domRow) {
-       visibility = new Object ();
-       for (var i = 0; i < domRow.cells.length; i++)
-           visibility[domRow.cells[i].id] = domRow.cells[i].style.display;
-       table.deleteRow (domRow.rowIndex);
-    }
-
-    updateRow (headerId, header);
-    table.rows[0].onmouseup = endDrag;
-
-    if (visibility)
-       for (var i = 0; i < colsArray.length; i++)
-           if (visibility[colsArray[i]])
-               table.rows[0].cells[colsMap[colsArray[i]]].style.display = visibility[colsArray[i]];
-}
-
-function updateTable () {
-    colsArray.sort ();
-
-    colsMap = new Object ();
-    for (var i = 0; i < colsArray.length; i++)
-       colsMap[colsArray[i]] = i;
-
-    updateHeader ();
-    for (var i = 0; i < table.rows.length; i++)
-       updateRow (table.rows[i].id, empty);
-}
-
-
-/* log file parsing */
-function parseTest (testData) {
-    var colsChanged = false;
-    var rows = new Array ();
-    var data = new Object ();
-    var t = new Test ();
-    var lines = testData.replace (/\r/g, "").split ("\n");
-    for (var i = 0; i < lines.length; i++) {
-       t.addData (lines[i].split (" "));
-       if (t.isComplete ()) {
-           var c = t.colId ();
-           if (header[c] == undefined) {
-               colsArray.push (c);
-               header[c] = new ColumnHeader (c, t);
-               colsChanged = true;
-           }
-
-           var r = t.rowId ();
-           if (!data[r]) {
-               rows.push (r);
-               data[r] = new Row (r, t);
-           }
-
-           data[r][c] = t;
-           header[c].total[t[resultField]]++;
-           header[c].current[t[resultField]]++;
-           t = new Test ();
-       }
-    }
-
-    if (colsChanged)
-       updateTable ();
-    else
-       updateHeader ();
-
-    for (var i = 0; i < rows.length; i++)
-       updateRow (rows[i], data[rows[i]]);
-}
-
-function parseFile (fileName, parser) {
-    var req = new XMLHttpRequest ();
-    req.onreadystatechange = function () {
-       if (req.readyState == 4)
-           parser (req.responseText);
-    }
-
-    try {
-       req.open ("GET", fileName);
-       req.send (null);
-    } catch (e) {}
-} 
-
-function parseTestList (listData) {
-    var summaryRE = /\d+ Passed, \d+ Failed \x5b\d+ crashed, \d+ expected\x5d, \d+ Skipped/;
-    var lines = listData.replace (/\r/g, "").split ("\n");
-    for (var i = 0; i < lines.length; i++) {
-       if (summaryRE.test (lines[i]))
-           return;
-       
-       var words = lines[i].split (" ");
-       if (words.length >= 2 &&
-           words[0][words[0].length-1] == ":" &&
-           inArray (words[1], logResults))
-           parseFile ("output/" + words[0].substr (0, words[0].length-1) + ".log", parseTest);
-    }
-}
-
-function reloadAll() {
-    resetGlobals ();
-
-    parseFile ("cairo-test-suite.log", parseTestList);
-} 
-
-window.onload = reloadAll;
diff --git a/test/text-antialias-subpixel.c b/test/text-antialias-subpixel.c
deleted file mode 100644 (file)
index 6a65059..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- * Copyright © 2011 Uli Schlachter
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Uli Schlachter <psychon@znc.in>
- *
- * Based on test/text-antialias.c
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH  31
-#define HEIGHT 22
-#define TEXT_SIZE 12
-
-static cairo_test_status_t
-draw (cairo_t *cr, cairo_subpixel_order_t order)
-{
-    cairo_text_extents_t extents;
-    cairo_font_options_t *font_options;
-    const char black[] = "black", blue[] = "blue";
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    font_options = cairo_font_options_create ();
-    cairo_get_font_options (cr, font_options);
-    cairo_font_options_set_antialias (font_options, CAIRO_ANTIALIAS_SUBPIXEL);
-    cairo_font_options_set_subpixel_order (font_options, order);
-    cairo_set_font_options (cr, font_options);
-
-    cairo_font_options_destroy (font_options);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-    cairo_text_extents (cr, black, &extents);
-    cairo_move_to (cr, -extents.x_bearing, -extents.y_bearing);
-    cairo_show_text (cr, black);
-    cairo_translate (cr, 0, -extents.y_bearing + 1);
-
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_text_extents (cr, blue, &extents);
-    cairo_move_to (cr, -extents.x_bearing, -extents.y_bearing);
-    cairo_show_text (cr, blue);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_rgb (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_SUBPIXEL_ORDER_RGB);
-}
-
-static cairo_test_status_t
-draw_bgr (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_SUBPIXEL_ORDER_BGR);
-}
-
-static cairo_test_status_t
-draw_vrgb (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_SUBPIXEL_ORDER_VRGB);
-}
-
-static cairo_test_status_t
-draw_vbgr (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_SUBPIXEL_ORDER_VBGR);
-}
-
-CAIRO_TEST (text_antialias_subpixel_rgb,
-           "Tests text rendering with rgb subpixel antialiasing",
-           "text", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_rgb)
-
-CAIRO_TEST (text_antialias_subpixel_bgr,
-           "Tests text rendering with bgr subpixel antialiasing",
-           "text", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_bgr)
-
-CAIRO_TEST (text_antialias_subpixel_vrgb,
-           "Tests text rendering with vertical rgb subpixel antialiasing",
-           "text", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_vrgb)
-
-CAIRO_TEST (text_antialias_subpixel_vbgr,
-           "Tests text rendering with vertical bgr subpixel antialiasing",
-           "text", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_vbgr)
diff --git a/test/text-antialias.c b/test/text-antialias.c
deleted file mode 100644 (file)
index 7d33892..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH  31
-#define HEIGHT 22
-#define TEXT_SIZE 12
-
-static cairo_test_status_t
-draw (cairo_t *cr, cairo_antialias_t antialias)
-{
-    cairo_text_extents_t extents;
-    cairo_font_options_t *font_options;
-    const char black[] = "black", blue[] = "blue";
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    font_options = cairo_font_options_create ();
-    cairo_get_font_options (cr, font_options);
-    cairo_font_options_set_antialias (font_options, antialias);
-    cairo_font_options_set_subpixel_order (font_options, CAIRO_SUBPIXEL_ORDER_RGB);
-    cairo_set_font_options (cr, font_options);
-
-    cairo_font_options_destroy (font_options);
-
-    cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-    cairo_text_extents (cr, black, &extents);
-    cairo_move_to (cr, -extents.x_bearing, -extents.y_bearing);
-    cairo_show_text (cr, black);
-    cairo_translate (cr, 0, -extents.y_bearing + 1);
-
-    cairo_set_source_rgb (cr, 0, 0, 1); /* blue */
-    cairo_text_extents (cr, blue, &extents);
-    cairo_move_to (cr, -extents.x_bearing, -extents.y_bearing);
-    cairo_show_text (cr, blue);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_gray (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_ANTIALIAS_GRAY);
-}
-
-static cairo_test_status_t
-draw_none (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_ANTIALIAS_NONE);
-}
-
-static cairo_test_status_t
-draw_subpixel (cairo_t *cr, int width, int height)
-{
-    return draw (cr, CAIRO_ANTIALIAS_SUBPIXEL);
-}
-
-CAIRO_TEST (text_antialias_gray,
-           "Tests text rendering with grayscale antialiasing",
-           "text", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_gray)
-
-CAIRO_TEST (text_antialias_none,
-           "Tests text rendering with no antialiasing",
-           "text", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_none)
-
-CAIRO_TEST (text_antialias_subpixel,
-           "Tests text rendering with subpixel antialiasing",
-           "text", /* keywords */
-           "target=raster", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_subpixel)
diff --git a/test/text-cache-crash.c b/test/text-cache-crash.c
deleted file mode 100644 (file)
index 4786af4..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright © 2004 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Bug history
- *
- * 2004-11-04 Ned Konz <ned@squeakland.org>
- *
- *   Reported bug on mailing list:
- *
- *     From: Ned Konz <ned@squeakland.org>
- *     To: cairo@cairographics.org
- *     Date: Thu, 4 Nov 2004 09:49:38 -0800
- *     Subject: [cairo] getting assertions [cairo_cache.c:143: _entry_destroy:
- *             Assertion `cache->used_memory > entry->memory' failed]
- *
- *     The attached program dies on me with the assert
- *
- *     $ ./testCairo
- *     testCairo: cairo_cache.c:143: _entry_destroy: Assertion `cache->used_memory > entry->memory' failed.
- *
- * 2004-11-04 Carl Worth <cworth@cworth.org>
- *
- *   I trimmed down Ned's example to the folllowing test while still
- *   maintaining the assertion.
- *
- *   Oh, actually, it looks like I may have triggered something
- *   slightly different:
- *
- *     text_cache_crash: cairo_cache.c:422: _cairo_cache_lookup: Assertion `cache->max_memory >= (cache->used_memory + new_entry->memory)' failed.
- *
- *   I'll have to go back and try the original test after I fix this.
- *
- * 2004-11-13 Carl Worth <cworth@cworth.org>
- *
- *   Found the bug. cairo_gstate_select_font was noticing when the
- *   same font was selected twice in a row and was erroneously failing
- *   to free the old reference. Committed a fix and verified it also
- *   fixed the original test case.
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Once there was a bug that choked when selecting the same font twice. */
-    cairo_select_font_face (cr, "sans",
-                           CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
-    cairo_set_font_size (cr, 40.0);
-
-    cairo_select_font_face (cr, "sans",
-                           CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
-    cairo_set_font_size (cr, 40.0);
-    cairo_move_to (cr, 10, 50);
-    cairo_show_text (cr, "hello");
-
-    /* Then there was a bug that choked when selecting a font too big
-     * for the cache. */
-
-    cairo_set_font_size (cr, 500);
-    cairo_show_text (cr, "hello");
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (text_cache_crash,
-           "Test case for bug causing an assertion failure in _cairo_cache_lookup",
-           "text, stress", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/text-glyph-range.c b/test/text-glyph-range.c
deleted file mode 100644 (file)
index 75b87d6..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; tab-width: 8; indent-tabs-mode: t; -*- */
-/* cairo - a vector graphics library with display and print output
- *
- * Copyright © 2006 Brian Ewins.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Brian Ewins not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Brian Ewins makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * BRIAN EWINS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL BRIAN EWINS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Brian Ewins <Brian.Ewins@gmail.com>
- */
-
-/* Related to bug 9530
- *
- * cairo_glyph_t can contain any unsigned long in its 'index', the intention
- * being that it is large enough to hold a pointer. However, this means that
- * it can specify many glyph indexes which don't exist in the font, and may
- * exceed the range of legal glyph indexes for the font backend. It may
- * also contain special values that are not usable as indexes - e.g. 0xffff is
- * kATSDeletedGlyphcode in ATSUI, a glyph that should not be drawn.
- * The font backends should handle all legal and out-of-range values
- * consistently.
- *
- * This test expects that operations on out-of-range and missing glyphs should
- * act as if they were zero-width.
- */
-
-#include "cairo-test.h"
-
-#define WIDTH  100
-#define HEIGHT 75
-#define NUM_TEXT 20
-#define TEXT_SIZE 12
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_text_extents_t extents;
-    int i;
-    /* Glyphs with no paths followed by 'cairo', the additional
-     * text is to make the space obvious.
-     */
-    long int index[] = {
-       0, /* 'no matching glyph' */
-       0xffff, /* kATSDeletedGlyphCode */
-       0x1ffff, /* out of range */
-       -1L, /* out of range */
-       70, 68, 76, 85, 82 /* 'cairo' */
-    };
-
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, 16);
-
-    for (i = 0; i < 9; i++) {
-       /* since we're just drawing glyphs directly we need to position them. */
-       cairo_glyph_t glyph = {
-           index[i], 10 * i, 25
-       };
-
-       /* test cairo_glyph_extents. Every glyph index should
-        * have extents, invalid glyphs should be zero-width.
-        */
-       cairo_move_to (cr, glyph.x, glyph.y);
-       cairo_set_line_width (cr, 1.0);
-       cairo_glyph_extents (cr, &glyph, 1, &extents);
-       cairo_rectangle (cr,
-                        glyph.x + extents.x_bearing - 0.5,
-                        glyph.y + extents.y_bearing - 0.5,
-                        extents.width + 1,
-                        extents.height + 1);
-       cairo_set_source_rgb (cr, 1, 0, 0); /* red */
-       cairo_stroke (cr);
-
-       /* test cairo_show_glyphs. Every glyph index should be
-        * drawable, invalid glyph indexes should draw nothing.
-        */
-       cairo_set_source_rgb (cr, 0, 0, 0); /* black */
-       cairo_show_glyphs (cr, &glyph, 1);
-       cairo_move_to (cr, glyph.x, glyph.y);
-
-       /* test cairo_glyph_path. Every glyph index should produce
-        * a path, invalid glyph indexes should have empty paths.
-        */
-       /* Change the glyph position
-        * so that the paths are visible.
-        */
-       glyph.y = 55;
-       cairo_move_to (cr, glyph.x, glyph.y);
-       cairo_glyph_path (cr, &glyph, 1);
-       cairo_fill (cr);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (text_glyph_range,
-           "Tests show_glyphs, glyph_path, glyph_extents with out of range glyph ids."
-           "\nft and atsui font backends fail, misreporting errors from FT_Load_Glyph and ATSUGlyphGetCubicPaths",
-           "text, stress", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/text-pattern.c b/test/text-pattern.c
deleted file mode 100644 (file)
index 60267d6..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright © 2005 Tim Rowley
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Tim Rowley
- */
-
-#include "cairo-test.h"
-
-#define IMAGE_WIDTH 128
-#define IMAGE_HEIGHT 64
-
-
-static void
-draw_text_pattern (cairo_t *cr, double alpha)
-{
-    cairo_pattern_t *pat;
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    pat = cairo_pattern_create_linear (0.0, 0.0, 1, 1);
-    cairo_pattern_add_color_stop_rgba (pat, 1, 1, 0, 0, alpha);
-    cairo_pattern_add_color_stop_rgba (pat, 0, 0, 0, 1, alpha);
-    cairo_set_source (cr, pat);
-
-    /* test rectangle - make sure the gradient is set correctly */
-    cairo_rectangle (cr, 0, 0, 0.1, 1);
-    cairo_fill (cr);
-
-    cairo_set_font_size (cr, 0.4);
-    cairo_move_to (cr, 0.1, 0.6);
-    cairo_show_text (cr, "cairo");
-
-    cairo_pattern_destroy (pat);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_scale (cr, width/2, height);
-    draw_text_pattern (cr, 1.0);
-    cairo_translate (cr, 1, 0);
-    draw_text_pattern (cr, 0.5);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (text_pattern,
-           "Patterned Text",
-           "text, pattern", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/text-rotate.c b/test/text-rotate.c
deleted file mode 100644 (file)
index 0a805ac..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright © 2004 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Bug history
- *
- * 2004-11-03 Steve Chaplin <stevech1097@yahoo.com.au>
- *
- *   Reported bug on mailing list:
- *
- *     From: Steve Chaplin <stevech1097@yahoo.com.au>
- *     To: cairo@cairographics.org
- *     Date: Thu, 04 Nov 2004 00:00:17 +0800
- *     Subject: [cairo] Rotated text bug on drawable target
- *
- *     The attached file draws text rotated 90 degrees first to a PNG file and
- *     then to a drawable. The PNG file looks fine, the text on the drawable is
- *     unreadable.
- *
- *     Steve
- *
- * 2004-11-03 Carl Worth <cworth@cworth.org>
- *
- *   Looks like the major problems with this bug appeared in the great
- *   font rework between 0.1.23 and 0.2.0. And it looks like we need
- *   to fix the regression test suite to test the xlib target (since
- *   the bug does not show up in the png backend).
- *
- *   Hmm... Actually, things don't look perfect even in the PNG
- *   output. Look at how that 'o' moves around. It's particularly off
- *   in the case where it's rotated by PI.
- *
- *   And I'm still not sure about what to do for test cases with
- *   text--a new version of freetype will change everything. We may
- *   need to add a simple backend for stroked fonts and add a simple
- *   builtin font to cairo for pixel-perfect tests with text.
- *
- * 2005-08-23
- *
- *   It appears that the worst placement and glyph selection problems
- *   have now been resolved. In the past some letters were noticeably
- *   of a different size at some rotations, and there was a lot of
- *   drift away from the baseline. These problems do not appear
- *   anymore.
- *
- *   Another thing that helps is that we now have font options which
- *   we can use to disable hinting in order to get more repeatable
- *   results. I'm doing that in this test now.
- *
- *   There are still some subtle positioning problems which I'm
- *   assuming are due to the lack of finer-than-whole-pixel glyph
- *   positioning. I'm generating a reference image now by replacing
- *   cairo_show_text with cairo_text_path; cairo_fill. This will let
- *   us look more closely at the remaining positioning problems. (In
- *   particular, I want to make sure we're rounding as well as
- *   possible).
- *
- * 2007-02-21
- *
- *   Seems like all the "bugs" have been fixed and all remaining is
- *   missing support for subpixel glyph positioning.  Removing from
- *   XFAIL now.
- */
-
-#include "cairo-test.h"
-
-#define WIDTH  150
-#define HEIGHT 150
-#define NUM_TEXT 20
-#define TEXT_SIZE 12
-
-/* Draw the word cairo at NUM_TEXT different angles.
- * We separate the circle into quadrants to reduce
- * numerical errors i.e. so each quarter is pixel-aligned.
- */
-static void
-draw_quadrant (cairo_t *cr,
-              const char *text,
-              const cairo_text_extents_t *extents,
-              const cairo_matrix_t *transform,
-              int x_off, int y_off)
-{
-    int i;
-
-    for (i = 0; i < NUM_TEXT/4; i++) {
-       cairo_save (cr);
-       cairo_rotate (cr, 2*M_PI*i/NUM_TEXT);
-       cairo_transform (cr, transform);
-       cairo_set_line_width (cr, 1.0);
-       cairo_rectangle (cr, x_off - 0.5, y_off - 0.5, extents->width + 1, extents->height + 1);
-       cairo_set_source_rgb (cr, 1, 0, 0);
-       cairo_stroke (cr);
-       cairo_move_to (cr, x_off - extents->x_bearing, y_off - extents->y_bearing);
-       cairo_set_source_rgb (cr, 0, 0, 0);
-#if CAIRO_TEST_GENERATE_REFERENCE_IMAGE
-       cairo_text_path (cr, text);
-       cairo_fill (cr);
-#else
-       cairo_show_text (cr, text);
-#endif
-       cairo_restore (cr);
-    }
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_text_extents_t extents;
-    cairo_font_options_t *font_options;
-    const char text[] = "cairo";
-    int x_off, y_off;
-    cairo_matrix_t m;
-
-    /* paint white so we don't need separate ref images for
-     * RGB24 and ARGB32 */
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    font_options = cairo_font_options_create ();
-
-    cairo_get_font_options (cr, font_options);
-    cairo_font_options_set_hint_metrics (font_options, CAIRO_HINT_METRICS_OFF);
-
-    cairo_set_font_options (cr, font_options);
-    cairo_font_options_destroy (font_options);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_translate (cr, WIDTH/2.0, HEIGHT/2.0);
-
-    cairo_text_extents (cr, text, &extents);
-
-    if (NUM_TEXT == 1) {
-       x_off = y_off = 0;
-    } else {
-       y_off = - floor (0.5 + extents.height / 2.0);
-       x_off = floor (0.5 + (extents.height+1) / (2 * tan (M_PI/NUM_TEXT)));
-    }
-
-    cairo_save (cr);
-    cairo_matrix_init_identity (&m);
-    draw_quadrant (cr, text, &extents, &m, x_off, y_off);
-    cairo_matrix_init (&m, 0, 1, -1, 0, 0, 0);
-    draw_quadrant (cr, text, &extents, &m, x_off, y_off);
-    cairo_restore (cr);
-
-    cairo_save (cr);
-    cairo_scale (cr, -1, -1);
-    cairo_matrix_init_identity (&m);
-    draw_quadrant (cr, text, &extents, &m, x_off, y_off);
-    cairo_matrix_init (&m, 0, 1, -1, 0, 0, 0);
-    draw_quadrant (cr, text, &extents, &m, x_off, y_off);
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (text_rotate,
-           "Tests show_text under various rotations",
-           "text, transform", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/text-transform.c b/test/text-transform.c
deleted file mode 100644 (file)
index 2cd7f10..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright © 2006 Mozilla Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Mozilla Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Mozilla Corporation makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * MOZILLA CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL MOZILLA CORPORATION BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Vladimir Vukicevic <vladimir@pobox.com>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 100
-#define PAD 5
-
-#define FONT_SIZE 32.0
-
-static const char *png_filename = "romedalen.png";
-
-static void
-draw_text (cairo_t *cr)
-{
-    cairo_matrix_t tm;
-
-    /* skew */
-    cairo_matrix_init (&tm, 1, 0,
-                       -0.25, 1,
-                       0, 0);
-    cairo_matrix_scale (&tm, FONT_SIZE, FONT_SIZE);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, 50, SIZE-PAD);
-    cairo_show_text (cr, "A");
-
-    /* rotate and scale */
-    cairo_matrix_init_rotate (&tm, M_PI / 2);
-    cairo_matrix_scale (&tm, FONT_SIZE, FONT_SIZE * 2.0);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, PAD, PAD + 25);
-    cairo_show_text (cr, "A");
-
-    cairo_matrix_init_rotate (&tm, M_PI / 2);
-    cairo_matrix_scale (&tm, FONT_SIZE * 2.0, FONT_SIZE);
-    cairo_set_font_matrix (cr, &tm);
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, PAD, PAD + 50);
-    cairo_show_text (cr, "A");
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_pattern_t *pattern;
-
-    cairo_set_source_rgb (cr, 1., 1., 1.);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0., 0., 0.);
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    draw_text (cr);
-
-    cairo_translate (cr, SIZE, SIZE);
-    cairo_rotate (cr, M_PI);
-
-    pattern = cairo_test_create_pattern_from_png (ctx, png_filename);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    draw_text (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (text_transform,
-           "Test various applications of the font matrix",
-           "text, transform", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/text-zero-len.c b/test/text-zero-len.c
deleted file mode 100644 (file)
index 5e89816..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Behdad Esfahbod <behdad@behdad.org>
- */
-
-/* Related bug 5177
- *
- * In short:
- *
- * _cairo_atsui_font_text_to_glyph with a zero-sized string crashes.
- *
- * Moreover, the fallback path in cairo_scaled_font_text_to_glyphs()
- * when handling a zero-sized string, allocates a zero-sized glyph array
- * and when NULL is returned by malloc, recognizes that as an out-of-memory
- * error.  The glibc implementation of malloc() does not return NULL from
- * malloc(0), but I don't think it's a safe assumption.
- *
- * By just bailing out on zero-sized text, we fix both issues.
- */
-
-#include "cairo-test.h"
-
-#define NUM_TEXT 20
-#define TEXT_SIZE 12
-
-static cairo_bool_t
-text_extents_equal (const cairo_text_extents_t *A,
-                   const cairo_text_extents_t *B)
-{
-    return A->x_bearing == B->x_bearing &&
-          A->y_bearing == B->y_bearing &&
-          A->width     == B->width     &&
-          A->height    == B->height    &&
-          A->x_advance == B->x_advance &&
-          A->y_advance == B->y_advance;
-}
-
-static cairo_bool_t
-font_extents_equal (const cairo_font_extents_t *A,
-                   const cairo_font_extents_t *B)
-{
-    return A->ascent    == B->ascent        &&
-          A->descent   == B->descent       &&
-          A->height    == B->height        &&
-       A->max_x_advance == B->max_x_advance &&
-       A->max_y_advance == B->max_y_advance;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    cairo_text_extents_t extents, nil_extents;
-    cairo_font_extents_t font_extents, nil_font_extents;
-    cairo_scaled_font_t *scaled_font;
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, 16);
-
-    cairo_move_to (cr, 10, 25);
-    cairo_show_text (cr, NULL);
-    cairo_show_text (cr, "");
-    cairo_show_glyphs (cr, NULL, 0);
-    cairo_show_glyphs (cr, (void*)8, 0);
-
-    cairo_move_to (cr, 10, 55);
-    cairo_text_path (cr, NULL);
-    cairo_text_path (cr, "");
-    cairo_glyph_path (cr, (void*)8, 0);
-    cairo_fill (cr);
-
-    memset (&nil_extents, 0, sizeof (cairo_text_extents_t));
-
-    memset (&extents, 0xff, sizeof (cairo_text_extents_t));
-    cairo_text_extents (cr, "", &extents);
-    if (! text_extents_equal (&extents, &nil_extents)) {
-       cairo_test_log (ctx, "Error: cairo_text_extents(\"\"); extents (%g, %g, %g, %g, %g, %g)\n",
-                       extents.x_bearing, extents.y_bearing,
-                       extents.width, extents.height,
-                       extents.x_advance, extents.y_advance);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    memset (&extents, 0xff, sizeof (cairo_text_extents_t));
-    cairo_text_extents (cr, NULL, &extents);
-    if (! text_extents_equal (&extents, &nil_extents)) {
-       cairo_test_log (ctx, "Error: cairo_text_extents(NULL); extents (%g, %g, %g, %g, %g, %g)\n",
-                       extents.x_bearing, extents.y_bearing,
-                       extents.width, extents.height,
-                       extents.x_advance, extents.y_advance);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    memset (&extents, 0xff, sizeof (cairo_text_extents_t));
-    cairo_glyph_extents (cr, (void*)8, 0, &extents);
-    if (! text_extents_equal (&extents, &nil_extents)) {
-       cairo_test_log (ctx, "Error: cairo_glyph_extents(); extents (%g, %g, %g, %g, %g, %g)\n",
-                       extents.x_bearing, extents.y_bearing,
-                       extents.width, extents.height,
-                       extents.x_advance, extents.y_advance);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    scaled_font = cairo_get_scaled_font (cr);
-
-    memset (&extents, 0xff, sizeof (cairo_text_extents_t));
-    cairo_scaled_font_text_extents (scaled_font, "", &extents);
-    if (! text_extents_equal (&extents, &nil_extents)) {
-       cairo_test_log (ctx, "Error: cairo_scaled_font_text_extents(\"\"); extents (%g, %g, %g, %g, %g, %g)\n",
-                       extents.x_bearing, extents.y_bearing,
-                       extents.width, extents.height,
-                       extents.x_advance, extents.y_advance);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    memset (&extents, 0xff, sizeof (cairo_text_extents_t));
-    cairo_scaled_font_text_extents (scaled_font, NULL, &extents);
-    if (! text_extents_equal (&extents, &nil_extents)) {
-       cairo_test_log (ctx, "Error: cairo_scaled_font_text_extents(NULL); extents (%g, %g, %g, %g, %g, %g)\n",
-                       extents.x_bearing, extents.y_bearing,
-                       extents.width, extents.height,
-                       extents.x_advance, extents.y_advance);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    memset (&extents, 0xff, sizeof (cairo_text_extents_t));
-    cairo_scaled_font_glyph_extents (scaled_font, (void*)8, 0, &extents);
-    if (! text_extents_equal (&extents, &nil_extents)) {
-       cairo_test_log (ctx, "Error: cairo_scaled_font_glyph_extents(NULL); extents (%g, %g, %g, %g, %g, %g)\n",
-                       extents.x_bearing, extents.y_bearing,
-                       extents.width, extents.height,
-                       extents.x_advance, extents.y_advance);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    /* Lets also try font size 0 while here */
-    cairo_set_font_size (cr, 0);
-
-    memset (&extents, 0xff, sizeof (cairo_text_extents_t));
-    cairo_text_extents (cr, "test", &extents);
-    if (! text_extents_equal (&extents, &nil_extents)) {
-       cairo_test_log (ctx, "Error: cairo_set_font_size(0); cairo_text_extents(\"test\"); extents (%g, %g, %g, %g, %g, %g)\n",
-                       extents.x_bearing, extents.y_bearing,
-                       extents.width, extents.height,
-                       extents.x_advance, extents.y_advance);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    memset (&nil_font_extents, 0, sizeof (cairo_font_extents_t));
-
-    memset (&font_extents, 0xff, sizeof (cairo_font_extents_t));
-    cairo_font_extents (cr,  &font_extents);
-    if (! font_extents_equal (&font_extents, &nil_font_extents)) {
-       cairo_test_log (ctx, "Error: cairo_set_font_size(0); cairo_font_extents(); extents (%g, %g, %g, %g, %g)\n",
-                       font_extents.ascent, font_extents.descent,
-                       font_extents.height,
-                       font_extents.max_x_advance, font_extents.max_y_advance);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    scaled_font = cairo_get_scaled_font (cr);
-
-    memset (&font_extents, 0xff, sizeof (cairo_font_extents_t));
-    cairo_scaled_font_extents (scaled_font,  &font_extents);
-    if (! font_extents_equal (&font_extents, &nil_font_extents)) {
-       cairo_test_log (ctx, "Error: cairo_set_font_size(0); cairo_scaled_font_extents(); extents (%g, %g, %g, %g, %g)\n",
-                       font_extents.ascent, font_extents.descent,
-                       font_extents.height,
-                       font_extents.max_x_advance, font_extents.max_y_advance);
-       return CAIRO_TEST_FAILURE;
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (text_zero_len,
-           "Tests show_text and text_path with a zero-sized string",
-           "text, stress, extents", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           NULL, draw)
diff --git a/test/tiger.c b/test/tiger.c
deleted file mode 100644 (file)
index 6f45f1f..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "cairo-test.h"
-
-#include "tiger.inc"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-       unsigned int i;
-
-       cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-       cairo_set_source_rgba (cr, 0.1, 0.2, 0.3, 1.0);
-       cairo_paint (cr);
-       cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-
-       cairo_translate (cr, width/2, height/2);
-       cairo_scale (cr, .85, .85);
-
-       for (i = 0; i < sizeof (tiger_commands)/sizeof(tiger_commands[0]);i++) {
-               const struct command *cmd = &tiger_commands[i];
-               switch (cmd->type) {
-               case 'm':
-                       cairo_move_to (cr, cmd->x0, cmd->y0);
-                       break;
-               case 'l':
-                       cairo_line_to (cr, cmd->x0, cmd->y0);
-                       break;
-               case 'c':
-                       cairo_curve_to (cr,
-                                       cmd->x0, cmd->y0,
-                                       cmd->x1, cmd->y1,
-                                       cmd->x2, cmd->y2);
-                       break;
-               case 'f':
-                       cairo_set_source_rgba (cr,
-                                              cmd->x0, cmd->y0, cmd->x1, cmd->y1);
-                       cairo_fill (cr);
-                       break;
-               }
-       }
-
-       return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-a1_draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-    return draw (cr, width, height);
-}
-
-CAIRO_TEST (tiger,
-           "Check the fidelity of the rasterisation.",
-           "raster", /* keywords */
-           NULL, /* requirements */
-           500, 500,
-           NULL, draw)
-
-CAIRO_TEST (a1_tiger,
-           "Check the fidelity of the rasterisation.",
-           "fill", /* keywords */
-           "target=raster", /* requirements */
-           500, 500,
-           NULL, a1_draw)
diff --git a/test/tiger.inc b/test/tiger.inc
deleted file mode 100644 (file)
index 419b979..0000000
+++ /dev/null
@@ -1,2316 +0,0 @@
-static const struct command {
-  char type;
-  float x0, y0;
-  float x1, y1;
-  float x2, y2;
-} tiger_commands[] = {
-{'m', -122.30, 84.28, 0, 0, 0, 0}, 
-{'c', -122.30, 84.28, -122.20 ,86.18, -123.03, 86.16}, 
-{'c', -123.85, 86.14, -140.31 ,38.07, -160.83, 40.31}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -118.77, 81.26, 0, 0, 0, 0}, 
-{'c', -118.77, 81.26, -119.32 ,83.08, -120.09, 82.78}, 
-{'c', -120.86, 82.48, -119.98 ,31.68, -140.04, 26.80}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -91.28, 123.59, 0, 0, 0, 0}, 
-{'c', -91.28, 123.59, -89.65 ,124.55, -90.12, 125.23}, 
-{'c', -90.59, 125.90, -139.76 ,113.10, -149.22, 131.46}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -94.09, 133.80, 0, 0, 0, 0}, 
-{'c', -94.09, 133.80, -92.24 ,134.20, -92.47, 134.99}, 
-{'c', -92.70, 135.78, -143.41 ,139.12, -146.60, 159.52}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -98.30, 128.28, 0, 0, 0, 0}, 
-{'c', -98.30, 128.28, -96.53 ,128.94, -96.87, 129.69}, 
-{'c', -97.22, 130.44, -147.87 ,126.35, -154.00, 146.06}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -109.01, 110.07, 0, 0, 0, 0}, 
-{'c', -109.01, 110.07, -107.70 ,111.45, -108.34, 111.97}, 
-{'c', -108.98, 112.49, -152.72 ,86.63, -166.87, 101.68}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -116.55, 114.26, 0, 0, 0, 0}, 
-{'c', -116.55, 114.26, -115.10 ,115.48, -115.67, 116.07}, 
-{'c', -116.25, 116.66, -162.64 ,95.92, -174.99, 112.47}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -119.15, 118.33, 0, 0, 0, 0}, 
-{'c', -119.15, 118.33, -117.55 ,119.34, -118.04, 120.01}, 
-{'c', -118.53, 120.67, -167.31 ,106.45, -177.29, 124.52}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -108.42, 118.95, 0, 0, 0, 0}, 
-{'c', -108.42, 118.95, -107.30 ,120.48, -108.00, 120.92}, 
-{'c', -108.70, 121.35, -148.77 ,90.10, -164.73, 103.21}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -128.20, 90.00, 0, 0, 0, 0}, 
-{'c', -128.20, 90.00, -127.60 ,91.80, -128.40, 92.00}, 
-{'c', -129.20, 92.20, -157.80 ,50.20, -177.00, 57.80}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -127.50, 96.98, 0, 0, 0, 0}, 
-{'c', -127.50, 96.98, -126.53 ,98.61, -127.27, 98.97}, 
-{'c', -128.01, 99.34, -164.99 ,64.50, -182.10, 76.06}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -127.62, 101.35, 0, 0, 0, 0}, 
-{'c', -127.62, 101.35, -126.50 ,102.88, -127.20, 103.31}, 
-{'c', -127.90, 103.75, -167.97 ,72.50, -183.93, 85.61}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -129.83, 103.06, 0, 0, 0, 0}, 
-{'c', -129.33, 109.11, -128.34 ,115.68, -126.60, 118.80}, 
-{'c', -126.60, 118.80, -130.20 ,131.20, -121.40, 144.40}, 
-{'c', -121.40, 144.40, -121.80 ,151.60, -120.20, 154.80}, 
-{'c', -120.20, 154.80, -116.20 ,163.20, -111.40, 164.00}, 
-{'c', -107.52, 164.65, -98.79 ,167.72, -88.93, 169.12}, 
-{'c', -88.93, 169.12, -71.80 ,183.20, -75.00, 196.00}, 
-{'c', -75.00, 196.00, -75.40 ,212.40, -79.00, 214.00}, 
-{'c', -79.00, 214.00, -67.40 ,202.80, -77.00, 219.60}, 
-{'l', -81.40, 238.40, 0, 0, 0, 0}, 
-{'c', -81.40, 238.40, -55.80 ,216.80, -71.40, 235.20}, 
-{'l', -81.40, 261.20, 0, 0, 0, 0}, 
-{'c', -81.40, 261.20, -61.80 ,242.80, -69.00, 251.20}, 
-{'l', -72.20, 260.00, 0, 0, 0, 0}, 
-{'c', -72.20, 260.00, -29.00 ,232.80, -59.80, 262.40}, 
-{'c', -59.80, 262.40, -51.80 ,258.80, -47.40, 261.60}, 
-{'c', -47.40, 261.60, -40.60 ,260.40, -41.40, 262.00}, 
-{'c', -41.40, 262.00, -62.20 ,272.40, -65.80, 290.80}, 
-{'c', -65.80, 290.80, -57.40 ,280.80, -60.60, 291.60}, 
-{'l', -60.20, 303.20, 0, 0, 0, 0}, 
-{'c', -60.20, 303.20, -56.20 ,281.60, -56.60, 319.20}, 
-{'c', -56.60, 319.20, -37.40 ,301.20, -49.00, 322.00}, 
-{'l', -49.00, 338.80, 0, 0, 0, 0}, 
-{'c', -49.00, 338.80, -33.80 ,322.40, -40.20, 335.20}, 
-{'c', -40.20, 335.20, -30.20 ,326.40, -34.20, 341.60}, 
-{'c', -34.20, 341.60, -35.00 ,352.00, -30.60, 340.80}, 
-{'c', -30.60, 340.80, -14.60 ,310.20, -20.60, 336.40}, 
-{'c', -20.60, 336.40, -21.40 ,355.60, -16.60, 340.80}, 
-{'c', -16.60, 340.80, -16.20 ,351.20, -7.00, 358.40}, 
-{'c', -7.00, 358.40, -8.20 ,307.60, 4.60, 343.60}, 
-{'l', 8.60, 360.00, 0, 0, 0, 0}, 
-{'c', 8.60, 360.00, 11.40 ,350.80, 11.00, 345.60}, 
-{'c', 11.00, 345.60, 25.80 ,329.20, 19.00, 353.60}, 
-{'c', 19.00, 353.60, 34.20 ,330.80, 31.00, 344.00}, 
-{'c', 31.00, 344.00, 23.40 ,360.00, 25.00, 364.80}, 
-{'c', 25.00, 364.80, 41.80 ,330.00, 43.00, 328.40}, 
-{'c', 43.00, 328.40, 41.00 ,370.80, 51.80, 334.80}, 
-{'c', 51.80, 334.80, 57.40 ,346.80, 54.60, 351.20}, 
-{'c', 54.60, 351.20, 62.60 ,343.20, 61.80, 340.00}, 
-{'c', 61.80, 340.00, 66.40 ,331.80, 69.20, 345.40}, 
-{'c', 69.20, 345.40, 71.00 ,354.80, 72.60, 351.60}, 
-{'c', 72.60, 351.60, 76.60 ,375.60, 77.80, 352.80}, 
-{'c', 77.80, 352.80, 79.40 ,339.20, 72.20, 327.60}, 
-{'c', 72.20, 327.60, 73.00 ,324.40, 70.20, 320.40}, 
-{'c', 70.20, 320.40, 83.80 ,342.00, 76.60, 313.20}, 
-{'c', 76.60, 313.20, 87.80 ,321.20, 89.00, 321.20}, 
-{'c', 89.00, 321.20, 75.40 ,298.00, 84.20, 302.80}, 
-{'c', 84.20, 302.80, 79.00 ,292.40, 97.00, 304.40}, 
-{'c', 97.00, 304.40, 81.00 ,288.40, 98.60, 298.00}, 
-{'c', 98.60, 298.00, 106.60 ,304.40, 99.00, 294.40}, 
-{'c', 99.00, 294.40, 84.60 ,278.40, 106.60, 296.40}, 
-{'c', 106.60, 296.40, 118.20 ,312.80, 119.00, 315.60}, 
-{'c', 119.00, 315.60, 109.00 ,286.40, 104.60, 283.60}, 
-{'c', 104.60, 283.60, 113.00 ,247.20, 154.20, 262.80}, 
-{'c', 154.20, 262.80, 161.00 ,280.00, 165.40, 261.60}, 
-{'c', 165.40, 261.60, 178.20 ,255.20, 189.40, 282.80}, 
-{'c', 189.40, 282.80, 193.40 ,269.20, 192.60, 266.40}, 
-{'c', 192.60, 266.40, 199.40 ,267.60, 198.60, 266.40}, 
-{'c', 198.60, 266.40, 211.80 ,270.80, 213.00, 270.00}, 
-{'c', 213.00, 270.00, 219.80 ,276.80, 220.20, 273.20}, 
-{'c', 220.20, 273.20, 229.40 ,276.00, 227.40, 272.40}, 
-{'c', 227.40, 272.40, 236.20 ,288.00, 236.60, 291.60}, 
-{'l', 239.00, 277.60, 0, 0, 0, 0}, 
-{'l', 241.00, 280.40, 0, 0, 0, 0}, 
-{'c', 241.00, 280.40, 242.60 ,272.80, 241.80, 271.60}, 
-{'c', 241.00, 270.40, 261.80 ,278.40, 266.60, 299.20}, 
-{'l', 268.60, 307.60, 0, 0, 0, 0}, 
-{'c', 268.60, 307.60, 274.60 ,292.80, 273.00, 288.80}, 
-{'c', 273.00, 288.80, 278.20 ,289.60, 278.60, 294.00}, 
-{'c', 278.60, 294.00, 282.60 ,270.80, 277.80, 264.80}, 
-{'c', 277.80, 264.80, 282.20 ,264.00, 283.40, 267.60}, 
-{'l', 283.40, 260.40, 0, 0, 0, 0}, 
-{'c', 283.40, 260.40, 290.60 ,261.20, 290.60, 258.80}, 
-{'c', 290.60, 258.80, 295.00 ,254.80, 297.00, 259.60}, 
-{'c', 297.00, 259.60, 284.60 ,224.40, 303.00, 243.60}, 
-{'c', 303.00, 243.60, 310.20 ,254.40, 306.60, 235.60}, 
-{'c', 303.00, 216.80, 299.00 ,215.20, 303.80, 214.80}, 
-{'c', 303.80, 214.80, 304.60 ,211.20, 302.60, 209.60}, 
-{'c', 300.60, 208.00, 303.80 ,209.60, 303.80, 209.60}, 
-{'c', 303.80, 209.60, 308.60 ,213.60, 303.40, 191.60}, 
-{'c', 303.40, 191.60, 309.80 ,193.20, 297.80, 164.00}, 
-{'c', 297.80, 164.00, 300.60 ,161.60, 296.60, 153.20}, 
-{'c', 296.60, 153.20, 304.60 ,157.60, 307.40, 156.00}, 
-{'c', 307.40, 156.00, 307.00 ,154.40, 303.80, 150.40}, 
-{'c', 303.80, 150.40, 282.20 ,95.60, 302.60, 117.60}, 
-{'c', 302.60, 117.60, 314.45 ,131.15, 308.05, 108.35}, 
-{'c', 308.05, 108.35, 298.94 ,84.34, 299.72, 80.05}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 299.72, 80.25, 0, 0, 0, 0}, 
-{'c', 300.35, 80.43, 302.55 ,81.55, 303.80, 83.20}, 
-{'c', 303.80, 83.20, 310.60 ,94.00, 305.40, 75.60}, 
-{'c', 305.40, 75.60, 296.20 ,46.80, 305.00, 58.00}, 
-{'c', 305.00, 58.00, 311.00 ,65.20, 307.80, 51.60}, 
-{'c', 303.94, 35.17, 301.40 ,28.80, 301.40, 28.80}, 
-{'c', 301.40, 28.80, 313.00 ,33.60, 286.20, -6.00}, 
-{'l', 295.00, -2.40, 0, 0, 0, 0}, 
-{'c', 295.00, -2.40, 275.40 ,-42.00, 253.80, -47.20}, 
-{'l', 245.80, -53.20, 0, 0, 0, 0}, 
-{'c', 245.80, -53.20, 284.20 ,-91.20, 271.40, -128.00}, 
-{'c', 271.40, -128.00, 264.60 ,-133.20, 255.00, -124.00}, 
-{'c', 255.00, -124.00, 248.60 ,-119.20, 242.60, -120.80}, 
-{'c', 242.60, -120.80, 211.80 ,-119.60, 209.80, -119.60}, 
-{'c', 207.80, -119.60, 173.00 ,-156.80, 107.40, -139.20}, 
-{'c', 107.40, -139.20, 102.20 ,-137.20, 97.80, -138.40}, 
-{'c', 97.80, -138.40, 79.40 ,-154.40, 30.60, -131.60}, 
-{'c', 30.60, -131.60, 20.60 ,-129.60, 19.00, -129.60}, 
-{'c', 17.40, -129.60, 14.60 ,-129.60, 6.60, -123.20}, 
-{'c', -1.40, -116.80, -1.80 ,-116.00, -3.80, -114.40}, 
-{'c', -3.80, -114.40, -20.20 ,-103.20, -25.00, -102.40}, 
-{'c', -25.00, -102.40, -36.60 ,-96.00, -41.00, -86.00}, 
-{'l', -44.60, -84.80, 0, 0, 0, 0}, 
-{'c', -44.60, -84.80, -46.20 ,-77.60, -46.60, -76.40}, 
-{'c', -46.60, -76.40, -51.40 ,-72.80, -52.20, -67.20}, 
-{'c', -52.20, -67.20, -61.00 ,-61.20, -60.60, -56.80}, 
-{'c', -60.60, -56.80, -62.20 ,-51.60, -63.00, -46.80}, 
-{'c', -63.00, -46.80, -70.20 ,-42.00, -69.40, -39.20}, 
-{'c', -69.40, -39.20, -77.00 ,-25.20, -75.80, -18.40}, 
-{'c', -75.80, -18.40, -82.20 ,-18.80, -85.00, -16.40}, 
-{'c', -85.00, -16.40, -85.80 ,-11.60, -87.40, -11.20}, 
-{'c', -87.40, -11.20, -90.20 ,-10.00, -87.80, -6.00}, 
-{'c', -87.80, -6.00, -89.40 ,-3.20, -89.80, -1.60}, 
-{'c', -89.80, -1.60, -89.00 ,1.20, -93.40, 6.80}, 
-{'c', -93.40, 6.80, -99.80 ,25.60, -97.80, 30.80}, 
-{'c', -97.80, 30.80, -97.40 ,35.60, -100.20, 37.20}, 
-{'c', -100.20, 37.20, -103.80 ,36.80, -95.40, 48.80}, 
-{'c', -95.40, 48.80, -94.60 ,50.00, -97.80, 52.40}, 
-{'c', -97.80, 52.40, -115.00 ,56.00, -117.40, 72.40}, 
-{'c', -117.40, 72.40, -131.00 ,87.20, -131.00, 92.40}, 
-{'c', -131.00, 94.70, -130.73 ,97.85, -130.03, 102.47}, 
-{'c', -130.03, 102.47, -130.60 ,110.80, -103.00, 111.60}, 
-{'f', 0.804000,0.469000,0.134000,1.000000,0,0 }, 
-{'m', -115.60, 102.60, 0, 0, 0, 0}, 
-{'c', -140.60, 63.20, -126.20 ,119.60, -126.20, 119.60}, 
-{'c', -117.40, 154.00, 12.20 ,116.40, 12.20, 116.40}, 
-{'c', 12.20, 116.40, 181.00 ,86.00, 192.20, 82.00}, 
-{'c', 203.40, 78.00, 298.60 ,84.40, 298.60, 84.40}, 
-{'l', 293.00, 67.60, 0, 0, 0, 0}, 
-{'c', 228.20, 21.20, 209.00 ,44.40, 195.40, 40.40}, 
-{'c', 181.80, 36.40, 184.20 ,46.00, 181.00, 46.80}, 
-{'c', 177.80, 47.60, 138.60 ,22.80, 132.20, 23.60}, 
-{'c', 125.80, 24.40, 100.46 ,0.65, 115.40, 32.40}, 
-{'c', 131.40, 66.40, 57.00 ,71.60, 40.20, 60.40}, 
-{'c', 23.40, 49.20, 47.40 ,78.80, 47.40, 78.80}, 
-{'c', 65.80, 98.80, 31.40 ,82.00, 31.40, 82.00}, 
-{'c', -3.00, 69.20, -27.00 ,94.80, -30.20, 95.60}, 
-{'c', -33.40, 96.40, -38.20 ,99.60, -39.00, 93.20}, 
-{'c', -39.80, 86.80, -47.31 ,70.10, -79.00, 96.40}, 
-{'c', -99.00, 113.00, -112.80 ,91.00, -112.80, 91.00}, 
-{'f', 0.804000,0.469000,0.134000,1.000000,0,0 }, 
-{'m', 133.51, 25.35, 0, 0, 0, 0}, 
-{'c', 127.11, 26.15, 101.74 ,2.41, 116.71, 34.15}, 
-{'c', 133.31, 69.35, 58.31 ,73.35, 41.51, 62.15}, 
-{'c', 24.71, 50.95, 48.71 ,80.55, 48.71, 80.55}, 
-{'c', 67.11, 100.55, 32.71 ,83.75, 32.71, 83.75}, 
-{'c', -1.69, 70.95, -25.69 ,96.55, -28.89, 97.35}, 
-{'c', -32.09, 98.15, -36.89 ,101.35, -37.69, 94.95}, 
-{'c', -38.49, 88.55, -45.87 ,72.01, -77.69, 98.15}, 
-{'c', -98.93, 115.49, -112.42 ,94.04, -112.42, 94.04}, 
-{'l', -115.62, 104.15, 0, 0, 0, 0}, 
-{'c', -140.62, 64.35, -125.55 ,122.66, -125.55, 122.66}, 
-{'c', -116.75, 157.06, 13.51 ,118.15, 13.51, 118.15}, 
-{'c', 13.51, 118.15, 182.31 ,87.75, 193.51, 83.75}, 
-{'c', 204.71, 79.75, 299.04 ,86.07, 299.04, 86.07}, 
-{'l', 293.51, 68.76, 0, 0, 0, 0}, 
-{'c', 228.71, 22.36, 210.31 ,46.15, 196.71, 42.15}, 
-{'c', 183.11, 38.15, 185.51 ,47.75, 182.31, 48.55}, 
-{'f', 0.938000,0.469000,0.201000,1.000000,0,0 }, 
-{'m', 134.82, 27.09, 0, 0, 0, 0}, 
-{'c', 128.42, 27.89, 103.69 ,3.86, 118.02, 35.89}, 
-{'c', 134.22, 72.09, 59.62 ,75.09, 42.82, 63.89}, 
-{'c', 26.02, 52.69, 50.02 ,82.29, 50.02, 82.29}, 
-{'c', 68.42, 102.29, 34.02 ,85.49, 34.02, 85.49}, 
-{'c', -0.38, 72.69, -24.38 ,98.29, -27.58, 99.09}, 
-{'c', -30.78, 99.89, -35.58 ,103.09, -36.38, 96.69}, 
-{'c', -37.18, 90.29, -44.43 ,73.92, -76.38, 99.89}, 
-{'c', -98.86, 117.98, -112.04 ,97.07, -112.04, 97.07}, 
-{'l', -115.64, 105.69, 0, 0, 0, 0}, 
-{'c', -139.44, 66.69, -124.89 ,125.71, -124.89, 125.71}, 
-{'c', -116.09, 160.11, 14.82 ,119.89, 14.82, 119.89}, 
-{'c', 14.82, 119.89, 183.62 ,89.49, 194.82, 85.49}, 
-{'c', 206.02, 81.49, 299.47 ,87.75, 299.47, 87.75}, 
-{'l', 294.02, 69.93, 0, 0, 0, 0}, 
-{'c', 229.22, 23.53, 211.62 ,47.89, 198.02, 43.89}, 
-{'c', 184.42, 39.89, 186.82 ,49.49, 183.62, 50.29}, 
-{'f', 0.938000,0.536000,0.268000,1.000000,0,0 }, 
-{'m', 136.13, 28.84, 0, 0, 0, 0}, 
-{'c', 129.73, 29.64, 105.00 ,5.61, 119.33, 37.64}, 
-{'c', 136.13, 75.19, 60.39 ,76.48, 44.13, 65.64}, 
-{'c', 27.33, 54.44, 51.33 ,84.04, 51.33, 84.04}, 
-{'c', 69.73, 104.04, 35.33 ,87.24, 35.33, 87.24}, 
-{'c', 0.93, 74.44, -23.07 ,100.04, -26.27, 100.84}, 
-{'c', -29.47, 101.64, -34.27 ,104.84, -35.07, 98.44}, 
-{'c', -35.87, 92.04, -42.99 ,75.84, -75.07, 101.64}, 
-{'c', -98.78, 120.47, -111.66 ,100.11, -111.66, 100.11}, 
-{'l', -115.66, 107.24, 0, 0, 0, 0}, 
-{'c', -137.46, 70.44, -124.24 ,128.76, -124.24, 128.76}, 
-{'c', -115.44, 163.16, 16.13 ,121.64, 16.13, 121.64}, 
-{'c', 16.13, 121.64, 184.93 ,91.24, 196.13, 87.24}, 
-{'c', 207.33, 83.24, 299.91 ,89.42, 299.91, 89.42}, 
-{'l', 294.53, 71.09, 0, 0, 0, 0}, 
-{'c', 229.73, 24.69, 212.93 ,49.64, 199.33, 45.64}, 
-{'c', 185.73, 41.64, 188.13 ,51.24, 184.93, 52.04}, 
-{'f', 0.938000,0.603000,0.402000,1.000000,0,0 }, 
-{'m', 137.44, 30.58, 0, 0, 0, 0}, 
-{'c', 131.04, 31.38, 106.81 ,7.13, 120.64, 39.38}, 
-{'c', 137.44, 78.58, 62.24 ,78.58, 45.44, 67.38}, 
-{'c', 28.64, 56.18, 52.64 ,85.78, 52.64, 85.78}, 
-{'c', 71.04, 105.78, 36.64 ,88.98, 36.64, 88.98}, 
-{'c', 2.24, 76.18, -21.76 ,101.78, -24.96, 102.58}, 
-{'c', -28.16, 103.38, -32.96 ,106.58, -33.76, 100.18}, 
-{'c', -34.56, 93.78, -41.55 ,77.75, -73.76, 103.38}, 
-{'c', -98.71, 122.97, -111.27 ,103.15, -111.27, 103.15}, 
-{'l', -115.67, 108.78, 0, 0, 0, 0}, 
-{'c', -135.47, 73.98, -123.58 ,131.82, -123.58, 131.82}, 
-{'c', -114.78, 166.22, 17.44 ,123.38, 17.44, 123.38}, 
-{'c', 17.44, 123.38, 186.24 ,92.98, 197.44, 88.98}, 
-{'c', 208.64, 84.98, 300.35 ,91.09, 300.35, 91.09}, 
-{'l', 295.04, 72.25, 0, 0, 0, 0}, 
-{'c', 230.24, 25.86, 214.24 ,51.38, 200.64, 47.38}, 
-{'c', 187.04, 43.38, 189.44 ,52.98, 186.24, 53.78}, 
-{'f', 0.938000,0.670000,0.469000,1.000000,0,0 }, 
-{'m', 138.75, 32.33, 0, 0, 0, 0}, 
-{'c', 132.35, 33.13, 106.38 ,9.68, 121.95, 41.13}, 
-{'c', 141.15, 79.93, 63.55 ,80.33, 46.75, 69.13}, 
-{'c', 29.95, 57.93, 53.95 ,87.53, 53.95, 87.53}, 
-{'c', 72.35, 107.53, 37.95 ,90.73, 37.95, 90.73}, 
-{'c', 3.55, 77.93, -20.45 ,103.53, -23.65, 104.33}, 
-{'c', -26.85, 105.13, -31.65 ,108.33, -32.45, 101.93}, 
-{'c', -33.25, 95.53, -40.11 ,79.67, -72.45, 105.13}, 
-{'c', -98.64, 125.46, -110.89 ,106.18, -110.89, 106.18}, 
-{'l', -115.69, 110.33, 0, 0, 0, 0}, 
-{'c', -133.69, 77.13, -122.93 ,134.87, -122.93, 134.87}, 
-{'c', -114.13, 169.27, 18.75 ,125.13, 18.75, 125.13}, 
-{'c', 18.75, 125.13, 187.55 ,94.73, 198.75, 90.73}, 
-{'c', 209.95, 86.73, 300.78 ,92.76, 300.78, 92.76}, 
-{'l', 295.55, 73.42, 0, 0, 0, 0}, 
-{'c', 230.75, 27.02, 215.55 ,53.13, 201.95, 49.13}, 
-{'c', 188.35, 45.13, 190.75 ,54.73, 187.55, 55.53}, 
-{'f', 1.000000,0.737000,0.536000,1.000000,0,0 }, 
-{'m', 140.06, 34.07, 0, 0, 0, 0}, 
-{'c', 133.66, 34.87, 107.31 ,11.61, 123.25, 42.87}, 
-{'c', 143.66, 82.87, 64.86 ,82.07, 48.05, 70.87}, 
-{'c', 31.25, 59.67, 55.26 ,89.27, 55.26, 89.27}, 
-{'c', 73.66, 109.27, 39.26 ,92.47, 39.26, 92.47}, 
-{'c', 4.86, 79.67, -19.14 ,105.27, -22.34, 106.07}, 
-{'c', -25.55, 106.87, -30.34 ,110.07, -31.14, 103.67}, 
-{'c', -31.95, 97.27, -38.67 ,81.58, -71.14, 106.87}, 
-{'c', -98.56, 127.95, -110.51 ,109.22, -110.51, 109.22}, 
-{'l', -115.71, 111.87, 0, 0, 0, 0}, 
-{'c', -131.71, 81.67, -122.27 ,137.93, -122.27, 137.93}, 
-{'c', -113.47, 172.33, 20.05 ,126.87, 20.05, 126.87}, 
-{'c', 20.05, 126.87, 188.86 ,96.47, 200.06, 92.47}, 
-{'c', 211.26, 88.47, 301.22 ,94.44, 301.22, 94.44}, 
-{'l', 296.06, 74.58, 0, 0, 0, 0}, 
-{'c', 231.26, 28.18, 216.86 ,54.87, 203.26, 50.87}, 
-{'c', 189.66, 46.87, 192.06 ,56.47, 188.86, 57.27}, 
-{'f', 1.000000,0.737000,0.603000,1.000000,0,0 }, 
-{'m', 141.37, 35.82, 0, 0, 0, 0}, 
-{'c', 134.97, 36.62, 107.52 ,13.94, 124.56, 44.62}, 
-{'c', 146.56, 84.22, 66.16 ,83.82, 49.36, 72.62}, 
-{'c', 32.56, 61.42, 56.56 ,91.02, 56.56, 91.02}, 
-{'c', 74.96, 111.02, 40.56 ,94.22, 40.56, 94.22}, 
-{'c', 6.16, 81.42, -17.84 ,107.02, -21.04, 107.82}, 
-{'c', -24.24, 108.62, -29.04 ,111.82, -29.84, 105.42}, 
-{'c', -30.64, 99.02, -37.23 ,83.49, -69.84, 108.62}, 
-{'c', -98.49, 130.44, -110.13 ,112.26, -110.13, 112.26}, 
-{'l', -115.73, 113.42, 0, 0, 0, 0}, 
-{'c', -130.13, 85.02, -121.62 ,140.98, -121.62, 140.98}, 
-{'c', -112.82, 175.38, 21.36 ,128.62, 21.36, 128.62}, 
-{'c', 21.36, 128.62, 190.16 ,98.22, 201.37, 94.22}, 
-{'c', 212.56, 90.22, 301.66 ,96.11, 301.66, 96.11}, 
-{'l', 296.56, 75.75, 0, 0, 0, 0}, 
-{'c', 231.76, 29.35, 218.16 ,56.62, 204.56, 52.62}, 
-{'c', 190.97, 48.62, 193.37 ,58.22, 190.16, 59.02}, 
-{'f', 1.000000,0.804000,0.737000,1.000000,0,0 }, 
-{'m', 142.67, 37.56, 0, 0, 0, 0}, 
-{'c', 136.27, 38.37, 108.83 ,15.69, 125.87, 46.37}, 
-{'c', 147.87, 85.97, 67.47 ,85.56, 50.67, 74.36}, 
-{'c', 33.87, 63.16, 57.87 ,92.77, 57.87, 92.77}, 
-{'c', 76.27, 112.77, 41.87 ,95.97, 41.87, 95.97}, 
-{'c', 7.47, 83.17, -16.53 ,108.77, -19.73, 109.56}, 
-{'c', -22.93, 110.36, -27.73 ,113.56, -28.53, 107.17}, 
-{'c', -29.33, 100.77, -35.79 ,85.41, -68.53, 110.36}, 
-{'c', -98.42, 132.93, -109.75 ,115.29, -109.75, 115.29}, 
-{'l', -115.75, 114.97, 0, 0, 0, 0}, 
-{'c', -129.35, 88.56, -120.96 ,144.04, -120.96, 144.04}, 
-{'c', -112.16, 178.44, 22.67 ,130.37, 22.67, 130.37}, 
-{'c', 22.67, 130.37, 191.47 ,99.97, 202.67, 95.97}, 
-{'c', 213.87, 91.97, 302.09 ,97.78, 302.09, 97.78}, 
-{'l', 297.07, 76.91, 0, 0, 0, 0}, 
-{'c', 232.27, 30.51, 219.47 ,58.37, 205.87, 54.37}, 
-{'c', 192.27, 50.37, 194.67 ,59.97, 191.47, 60.77}, 
-{'f', 1.000000,0.871000,0.804000,1.000000,0,0 }, 
-{'m', 143.98, 39.31, 0, 0, 0, 0}, 
-{'c', 137.58, 40.11, 110.53 ,17.22, 127.18, 48.11}, 
-{'c', 149.18, 88.91, 68.78 ,87.31, 51.98, 76.11}, 
-{'c', 35.18, 64.91, 59.18 ,94.51, 59.18, 94.51}, 
-{'c', 77.58, 114.51, 43.18 ,97.71, 43.18, 97.71}, 
-{'c', 8.78, 84.91, -15.22 ,110.51, -18.42, 111.31}, 
-{'c', -21.62, 112.11, -26.42 ,115.31, -27.22, 108.91}, 
-{'c', -28.02, 102.51, -34.35 ,87.32, -67.22, 112.11}, 
-{'c', -98.34, 135.42, -109.36 ,118.33, -109.36, 118.33}, 
-{'l', -115.76, 116.51, 0, 0, 0, 0}, 
-{'c', -128.76, 92.51, -120.31 ,147.09, -120.31, 147.09}, 
-{'c', -111.51, 181.49, 23.98 ,132.11, 23.98, 132.11}, 
-{'c', 23.98, 132.11, 192.78 ,101.71, 203.98, 97.71}, 
-{'c', 215.18, 93.71, 302.53 ,99.46, 302.53, 99.46}, 
-{'l', 297.58, 78.07, 0, 0, 0, 0}, 
-{'c', 232.78, 31.67, 220.78 ,60.11, 207.18, 56.11}, 
-{'c', 193.58, 52.11, 195.98 ,61.71, 192.78, 62.51}, 
-{'f', 1.000000,0.938000,0.871000,1.000000,0,0 }, 
-{'m', 145.29, 41.05, 0, 0, 0, 0}, 
-{'c', 138.89, 41.85, 112.92 ,18.41, 128.49, 49.85}, 
-{'c', 149.69, 92.66, 70.09 ,89.06, 53.29, 77.86}, 
-{'c', 36.49, 66.66, 60.49 ,96.26, 60.49, 96.26}, 
-{'c', 78.89, 116.26, 44.49 ,99.46, 44.49, 99.46}, 
-{'c', 10.09, 86.66, -13.91 ,112.26, -17.11, 113.06}, 
-{'c', -20.31, 113.86, -25.11 ,117.06, -25.91, 110.66}, 
-{'c', -26.71, 104.26, -32.91 ,89.23, -65.91, 113.86}, 
-{'c', -98.27, 137.91, -108.98 ,121.36, -108.98, 121.36}, 
-{'l', -115.78, 118.06, 0, 0, 0, 0}, 
-{'c', -128.58, 94.86, -119.65 ,150.15, -119.65, 150.15}, 
-{'c', -110.85, 184.55, 25.29 ,133.86, 25.29, 133.86}, 
-{'c', 25.29, 133.86, 194.09 ,103.46, 205.29, 99.46}, 
-{'c', 216.49, 95.46, 302.96 ,101.13, 302.96, 101.13}, 
-{'l', 298.09, 79.24, 0, 0, 0, 0}, 
-{'c', 233.29, 32.84, 222.09 ,61.86, 208.49, 57.86}, 
-{'c', 194.89, 53.85, 197.29 ,63.46, 194.09, 64.26}, 
-{'f', 1.000000,1.000000,0.938000,1.000000,0,0 }, 
-{'m', -115.80, 119.60, 0, 0, 0, 0}, 
-{'c', -128.60, 97.60, -119.00 ,153.20, -119.00, 153.20}, 
-{'c', -110.20, 187.60, 26.60 ,135.60, 26.60, 135.60}, 
-{'c', 26.60, 135.60, 195.40 ,105.20, 206.60, 101.20}, 
-{'c', 217.80, 97.20, 303.40 ,102.80, 303.40, 102.80}, 
-{'l', 298.60, 80.40, 0, 0, 0, 0}, 
-{'c', 233.80, 34.00, 223.40 ,63.60, 209.80, 59.60}, 
-{'c', 196.20, 55.60, 198.60 ,65.20, 195.40, 66.00}, 
-{'c', 192.20, 66.80, 153.00 ,42.00, 146.60, 42.80}, 
-{'c', 140.20, 43.60, 114.98 ,19.79, 129.80, 51.60}, 
-{'c', 152.03, 99.31, 69.04 ,89.23, 54.60, 79.60}, 
-{'c', 37.80, 68.40, 61.80 ,98.00, 61.80, 98.00}, 
-{'c', 80.20, 118.00, 45.80 ,101.20, 45.80, 101.20}, 
-{'c', 11.40, 88.40, -12.60 ,114.00, -15.80, 114.80}, 
-{'c', -19.00, 115.60, -23.80 ,118.80, -24.60, 112.40}, 
-{'c', -25.40, 106.00, -31.46 ,91.14, -64.60, 115.60}, 
-{'c', -98.20, 140.40, -108.60 ,124.40, -108.60, 124.40}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -74.20, 149.60, 0, 0, 0, 0}, 
-{'c', -74.20, 149.60, -81.40 ,161.20, -60.60, 174.40}, 
-{'c', -60.60, 174.40, -59.20 ,175.80, -77.20, 171.60}, 
-{'c', -77.20, 171.60, -83.40 ,169.60, -85.00, 159.20}, 
-{'c', -85.00, 159.20, -89.80 ,154.80, -94.60, 149.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 65.80, 102.00, 0, 0, 0, 0}, 
-{'c', 65.80, 102.00, 83.50 ,128.82, 82.90, 133.60}, 
-{'c', 81.60, 144.00, 81.40 ,153.60, 84.60, 157.60}, 
-{'c', 87.80, 161.60, 96.60 ,194.80, 96.60, 194.80}, 
-{'c', 96.60, 194.80, 96.20 ,196.00, 108.60, 158.00}, 
-{'c', 108.60, 158.00, 120.20 ,142.00, 100.20, 123.60}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -54.20, 176.40, 0, 0, 0, 0}, 
-{'c', -54.20, 176.40, -43.00 ,183.60, -57.40, 214.80}, 
-{'l', -51.00, 212.40, 0, 0, 0, 0}, 
-{'c', -51.00, 212.40, -51.80 ,223.60, -55.00, 226.00}, 
-{'l', -47.80, 222.80, 0, 0, 0, 0}, 
-{'c', -47.80, 222.80, -43.00 ,230.80, -47.00, 235.60}, 
-{'c', -47.00, 235.60, -30.20 ,243.60, -31.00, 250.00}, 
-{'c', -31.00, 250.00, -24.60 ,242.00, -28.60, 235.60}, 
-{'c', -32.60, 229.20, -39.80 ,233.20, -39.00, 214.80}, 
-{'l', -47.80, 218.00, 0, 0, 0, 0}, 
-{'c', -47.80, 218.00, -42.20 ,209.20, -42.20, 202.80}, 
-{'l', -50.20, 205.20, 0, 0, 0, 0}, 
-{'c', -50.20, 205.20, -34.73 ,178.62, -45.40, 177.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -21.80, 193.20, 0, 0, 0, 0}, 
-{'c', -21.80, 193.20, -19.00 ,188.80, -21.80, 189.60}, 
-{'c', -24.60, 190.40, -55.80 ,205.20, -61.80, 214.80}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -11.40, 201.20, 0, 0, 0, 0}, 
-{'c', -11.40, 201.20, -8.60 ,196.80, -11.40, 197.60}, 
-{'c', -14.20, 198.40, -45.40 ,213.20, -51.40, 222.80}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 1.80, 186.00, 0, 0, 0, 0}, 
-{'c', 1.80, 186.00, 4.60 ,181.60, 1.80, 182.40}, 
-{'c', -1.00, 183.20, -32.20 ,198.00, -38.20, 207.60}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -21.40, 229.60, 0, 0, 0, 0}, 
-{'c', -21.40, 229.60, -21.40 ,223.60, -24.20, 224.40}, 
-{'c', -27.00, 225.20, -63.00 ,242.80, -69.00, 252.40}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -20.20, 218.80, 0, 0, 0, 0}, 
-{'c', -20.20, 218.80, -19.00 ,214.00, -21.80, 214.80}, 
-{'c', -23.80, 214.80, -50.20 ,226.40, -56.20, 236.00}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -34.60, 266.40, 0, 0, 0, 0}, 
-{'l', -44.60, 274.00, 0, 0, 0, 0}, 
-{'c', -44.60, 274.00, -34.20 ,266.40, -30.60, 267.60}, 
-{'c', -30.60, 267.60, -37.40 ,278.80, -38.20, 284.00}, 
-{'c', -38.20, 284.00, -27.80 ,271.20, -22.20, 271.60}, 
-{'c', -22.20, 271.60, -14.60 ,272.00, -14.60, 282.80}, 
-{'c', -14.60, 282.80, -9.00 ,272.40, -5.80, 272.80}, 
-{'c', -5.80, 272.80, -4.60 ,279.20, -5.80, 286.00}, 
-{'c', -5.80, 286.00, -1.80 ,278.40, 2.20, 280.00}, 
-{'c', 2.20, 280.00, 8.60 ,278.00, 7.80, 289.60}, 
-{'c', 7.80, 289.60, 7.80 ,300.00, 7.00, 302.80}, 
-{'c', 7.00, 302.80, 12.60 ,276.40, 15.00, 276.00}, 
-{'c', 15.00, 276.00, 23.00 ,274.80, 27.80, 283.60}, 
-{'c', 27.80, 283.60, 23.80 ,276.00, 28.60, 278.00}, 
-{'c', 28.60, 278.00, 39.40 ,279.60, 42.60, 286.40}, 
-{'c', 42.60, 286.40, 35.80 ,274.40, 41.40, 277.60}, 
-{'c', 41.40, 277.60, 48.20 ,277.60, 49.40, 284.00}, 
-{'c', 49.40, 284.00, 57.80 ,305.20, 59.80, 306.80}, 
-{'c', 59.80, 306.80, 52.20 ,285.20, 53.80, 285.20}, 
-{'c', 53.80, 285.20, 51.80 ,273.20, 57.00, 288.00}, 
-{'c', 57.00, 288.00, 53.80 ,274.00, 59.40, 274.80}, 
-{'c', 65.00, 275.60, 69.40 ,285.60, 77.80, 283.20}, 
-{'c', 77.80, 283.20, 87.40 ,288.80, 89.40, 219.60}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -29.80, 173.60, 0, 0, 0, 0}, 
-{'c', -29.80, 173.60, -15.00 ,167.60, 25.00, 173.60}, 
-{'c', 25.00, 173.60, 32.20 ,174.00, 39.00, 165.20}, 
-{'c', 45.80, 156.40, 72.60 ,149.20, 79.00, 151.20}, 
-{'l', 88.60, 157.60, 0, 0, 0, 0}, 
-{'l', 89.40, 158.80, 0, 0, 0, 0}, 
-{'c', 89.40, 158.80, 101.80 ,169.20, 102.20, 176.80}, 
-{'c', 102.60, 184.40, 87.80 ,232.40, 78.20, 248.40}, 
-{'c', 68.60, 264.40, 59.00 ,276.80, 39.80, 274.40}, 
-{'c', 39.80, 274.40, 19.00 ,270.40, -6.60, 274.40}, 
-{'c', -6.60, 274.40, -35.80 ,272.80, -38.60, 264.80}, 
-{'c', -41.40, 256.80, -27.40 ,241.60, -27.40, 241.60}, 
-{'c', -27.40, 241.60, -23.00 ,233.20, -24.20, 218.80}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -7.80, 175.60, 0, 0, 0, 0}, 
-{'c', 0.60, 194.00, -29.00 ,259.20, -29.00, 259.20}, 
-{'c', -31.00, 260.80, -16.34 ,266.85, -6.20, 264.40}, 
-{'c', 4.75, 261.76, 45.00 ,266.00, 45.00, 266.00}, 
-{'c', 68.60, 250.40, 81.40 ,206.00, 81.40, 206.00}, 
-{'c', 81.40, 206.00, 91.80 ,182.00, 74.20, 178.80}, 
-{'f', 0.938000,0.402000,0.536000,1.000000,0,0 }, 
-{'m', -9.83, 206.50, 0, 0, 0, 0}, 
-{'c', -6.50, 193.71, -4.92 ,181.91, -7.80, 175.60}, 
-{'c', -7.80, 175.60, 54.60 ,182.00, 65.80, 161.20}, 
-{'c', 70.04, 153.33, 84.80 ,184.00, 84.40, 193.60}, 
-{'c', 84.40, 193.60, 21.40 ,208.00, 6.60, 196.80}, 
-{'f', 0.737000,0.201000,0.335000,1.000000,0,0 }, 
-{'m', -5.40, 222.80, 0, 0, 0, 0}, 
-{'c', -5.40, 222.80, -3.40 ,230.00, -5.80, 234.00}, 
-{'c', -5.80, 234.00, -7.40 ,234.80, -8.60, 235.20}, 
-{'c', -8.60, 235.20, -7.40 ,238.80, -1.40, 240.40}, 
-{'c', -1.40, 240.40, 0.60 ,244.80, 3.00, 245.20}, 
-{'c', 5.40, 245.60, 10.20 ,251.20, 14.20, 250.00}, 
-{'c', 18.20, 248.80, 29.40 ,244.80, 29.40, 244.80}, 
-{'c', 29.40, 244.80, 35.00 ,241.60, 43.80, 245.20}, 
-{'c', 43.80, 245.20, 46.17 ,244.40, 46.60, 240.40}, 
-{'c', 47.10, 235.70, 50.20 ,232.00, 52.20, 230.00}, 
-{'c', 54.20, 228.00, 63.80 ,215.20, 62.60, 214.80}, 
-{'f', 0.670000,0.134000,0.268000,1.000000,0,0 }, 
-{'m', -9.80, 174.40, 0, 0, 0, 0}, 
-{'c', -9.80, 174.40, -12.60 ,196.80, -9.40, 205.20}, 
-{'c', -6.20, 213.60, -7.00 ,215.60, -7.80, 219.60}, 
-{'c', -8.60, 223.60, -4.20 ,233.60, 1.40, 239.60}, 
-{'l', 13.40, 241.20, 0, 0, 0, 0}, 
-{'c', 13.40, 241.20, 28.60 ,237.60, 37.80, 240.40}, 
-{'c', 37.80, 240.40, 46.79 ,241.74, 50.20, 226.80}, 
-{'c', 50.20, 226.80, 55.00 ,220.40, 62.20, 217.60}, 
-{'c', 69.40, 214.80, 76.60 ,173.20, 72.60, 165.20}, 
-{'c', 68.60, 157.20, 54.20 ,152.80, 38.20, 168.40}, 
-{'f', 1.000000,0.469000,0.469000,1.000000,0,0 }, 
-{'m', -8.20, 249.20, 0, 0, 0, 0}, 
-{'c', -8.20, 249.20, -9.00 ,247.20, -13.40, 246.80}, 
-{'c', -13.40, 246.80, -35.80 ,243.20, -44.20, 230.80}, 
-{'c', -44.20, 230.80, -51.00 ,225.20, -46.60, 236.80}, 
-{'c', -46.60, 236.80, -36.20 ,257.20, -29.40, 260.00}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', 71.74, 185.23, 0, 0, 0, 0}, 
-{'c', 72.40, 177.32, 74.35 ,168.71, 72.60, 165.20}, 
-{'c', 66.15, 152.31, 49.18 ,157.69, 38.20, 168.40}, 
-{'c', 22.20, 184.00, 20.20 ,167.20, -9.80, 174.40}, 
-{'c', -9.80, 174.40, -11.54 ,188.36, -10.71, 198.38}, 
-{'c', -10.71, 198.38, 26.60 ,186.80, 27.40, 192.40}, 
-{'c', 27.40, 192.40, 29.00 ,189.20, 38.20, 189.20}, 
-{'f', 0.804000,0.201000,0.268000,1.000000,0,0 }, 
-{'m', 28.60, 175.20, 0, 0, 0, 0}, 
-{'c', 28.60, 175.20, 33.40 ,180.00, 29.80, 189.60}, 
-{'f', 0.804000,0.201000,0.268000,1.000000,0,0 }, 
-{'m', -19.40, 260.00, 0, 0, 0, 0}, 
-{'c', -19.40, 260.00, -23.80 ,247.20, -15.00, 254.00}, 
-{'c', -15.00, 254.00, -10.20 ,256.00, -11.40, 257.60}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -14.36, 261.20, 0, 0, 0, 0}, 
-{'c', -14.36, 261.20, -17.88 ,250.96, -10.84, 256.40}, 
-{'c', -10.84, 256.40, -6.42 ,258.85, -7.96, 259.28}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -9.56, 261.20, 0, 0, 0, 0}, 
-{'c', -9.56, 261.20, -13.08 ,250.96, -6.04, 256.40}, 
-{'c', -6.04, 256.40, -1.67 ,258.71, -3.16, 259.28}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -2.96, 261.40, 0, 0, 0, 0}, 
-{'c', -2.96, 261.40, -6.48 ,251.16, 0.56, 256.60}, 
-{'c', 0.56, 256.60, 4.94 ,258.93, 3.44, 259.48}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', 3.52, 261.32, 0, 0, 0, 0}, 
-{'c', 3.52, 261.32, 0.00 ,251.08, 7.04, 256.52}, 
-{'c', 7.04, 256.52, 10.88 ,258.12, 9.92, 259.40}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', 10.20, 262.00, 0, 0, 0, 0}, 
-{'c', 10.20, 262.00, 5.40 ,249.60, 14.60, 256.00}, 
-{'c', 14.60, 256.00, 19.40 ,258.00, 18.20, 259.60}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -18.20, 244.80, 0, 0, 0, 0}, 
-{'c', -18.20, 244.80, -5.00 ,242.00, 1.00, 245.20}, 
-{'c', 1.00, 245.20, 7.00 ,246.40, 8.20, 246.00}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', 15.80, 253.60, 0, 0, 0, 0}, 
-{'c', 15.80, 253.60, 27.80 ,240.00, 39.80, 244.40}, 
-{'c', 46.82, 246.97, 45.80 ,243.60, 46.60, 240.80}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', 33.00, 237.60, 0, 0, 0, 0}, 
-{'c', 33.00, 237.60, 29.00 ,226.80, 26.20, 239.60}, 
-{'c', 23.40, 252.40, 20.20 ,256.00, 18.60, 258.80}, 
-{'c', 18.60, 258.80, 18.60 ,264.00, 27.00, 263.60}, 
-{'c', 27.00, 263.60, 37.80 ,263.20, 38.20, 260.40}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', 47.00, 244.80, 0, 0, 0, 0}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', 53.50, 228.40, 0, 0, 0, 0}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -25.80, 265.20, 0, 0, 0, 0}, 
-{'c', -25.80, 265.20, -7.80 ,268.40, -3.40, 266.80}, 
-{'c', -3.40, 266.80, 5.40 ,266.80, -3.00, 268.80}, 
-{'c', -3.00, 268.80, -15.80 ,268.80, -23.80, 267.60}, 
-{'f', 0.737000,0.737000,0.737000,1.000000,0,0 }, 
-{'m', -11.80, 172.00, 0, 0, 0, 0}, 
-{'c', -11.80, 172.00, 5.80 ,172.00, 7.80, 172.80}, 
-{'c', 7.80, 172.80, 15.00 ,203.60, 11.40, 211.20}, 
-{'c', 11.40, 211.20, 10.20 ,214.00, 7.40, 208.40}, 
-{'c', 7.40, 208.40, -11.00 ,175.60, -14.20, 173.60}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -88.90, 169.30, 0, 0, 0, 0}, 
-{'c', -88.90, 169.30, -80.00 ,171.00, -67.40, 173.60}, 
-{'c', -67.40, 173.60, -62.60 ,196.00, -59.40, 200.80}, 
-{'c', -56.20, 205.60, -59.80 ,205.60, -63.40, 202.80}, 
-{'c', -67.00, 200.00, -81.80 ,186.00, -83.80, 181.60}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -67.04, 173.82, 0, 0, 0, 0}, 
-{'c', -67.04, 173.82, -61.24 ,175.37, -60.23, 177.58}, 
-{'c', -59.22, 179.79, -61.43 ,183.09, -61.43, 183.09}, 
-{'c', -61.43, 183.09, -62.43 ,186.40, -63.63, 184.24}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -67.00, 173.60, 0, 0, 0, 0}, 
-{'c', -67.00, 173.60, -63.40 ,178.80, -59.80, 178.80}, 
-{'c', -56.20, 178.80, -55.82 ,178.39, -53.00, 179.00}, 
-{'c', -48.40, 180.00, -48.80 ,178.00, -42.20, 179.20}, 
-{'c', -39.56, 179.68, -37.00 ,178.80, -34.20, 180.00}, 
-{'c', -31.40, 181.20, -28.20 ,180.40, -27.00, 178.40}, 
-{'c', -25.80, 176.40, -21.00 ,172.20, -21.00, 172.20}, 
-{'c', -21.00, 172.20, -33.80 ,174.00, -36.60, 174.80}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -22.40, 173.80, 0, 0, 0, 0}, 
-{'c', -22.40, 173.80, -28.85 ,177.30, -29.25, 179.70}, 
-{'c', -29.65, 182.10, -24.00 ,185.80, -24.00, 185.80}, 
-{'c', -24.00, 185.80, -21.25 ,190.40, -20.65, 188.00}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -59.88, 179.26, 0, 0, 0, 0}, 
-{'c', -59.88, 179.26, -52.88 ,190.45, -52.66, 179.24}, 
-{'c', -52.66, 179.24, -52.10 ,177.98, -53.86, 177.96}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -52.71, 179.51, 0, 0, 0, 0}, 
-{'c', -52.71, 179.51, -44.79 ,190.70, -45.42, 179.42}, 
-{'c', -45.42, 179.42, -45.41 ,179.09, -47.17, 178.94}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -45.49, 179.52, 0, 0, 0, 0}, 
-{'c', -45.49, 179.52, -37.53 ,190.15, -38.20, 180.48}, 
-{'c', -38.20, 180.48, -38.08 ,179.25, -39.74, 178.95}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -38.62, 179.60, 0, 0, 0, 0}, 
-{'c', -38.62, 179.60, -30.72 ,191.16, -30.37, 181.38}, 
-{'c', -30.37, 181.38, -28.73 ,180.00, -30.47, 179.78}, 
-{'f', 1.000000,1.000000,0.804000,1.000000,0,0 }, 
-{'m', -74.79, 183.13, 0, 0, 0, 0}, 
-{'l', -82.45, 181.60, 0, 0, 0, 0}, 
-{'c', -85.05, 176.60, -87.15 ,170.45, -87.15, 170.45}, 
-{'c', -87.15, 170.45, -80.80 ,171.45, -68.30, 174.25}, 
-{'c', -68.30, 174.25, -67.42 ,177.57, -65.95, 183.36}, 
-{'f', 0.938000,0.938000,0.737000,1.000000,0,0 }, 
-{'m', -9.72, 178.47, 0, 0, 0, 0}, 
-{'c', -11.39, 175.96, -12.71 ,174.21, -13.36, 173.80}, 
-{'c', -16.37, 171.92, -12.23 ,172.29, -11.10, 172.29}, 
-{'c', -11.10, 172.29, 5.47 ,172.29, 7.36, 173.05}, 
-{'c', 7.36, 173.05, 7.88 ,175.29, 8.56, 178.68}, 
-{'f', 0.938000,0.938000,0.737000,1.000000,0,0 }, 
-{'m', 43.88, 40.32, 0, 0, 0, 0}, 
-{'c', 71.60, 44.28, 97.12 ,8.64, 98.88, -1.04}, 
-{'c', 100.64, -10.72, 90.52 ,-22.60, 90.52, -22.60}, 
-{'c', 91.84, -25.68, 87.00 ,-39.76, 81.72, -49.00}, 
-{'c', 76.44, -58.24, 60.54 ,-57.27, 43.00, -58.24}, 
-{'c', 27.16, -59.12, 8.68 ,-35.80, 7.36, -34.04}, 
-{'c', 6.04, -32.28, 12.20 ,6.00, 13.52, 11.72}, 
-{'c', 14.84, 17.44, 12.20 ,43.84, 12.20, 43.84}, 
-{'f', 0.804000,0.469000,0.134000,1.000000,0,0 }, 
-{'m', 8.09, -33.39, 0, 0, 0, 0}, 
-{'c', 6.79, -31.66, 12.84 ,5.92, 14.14, 11.54}, 
-{'c', 15.43, 17.15, 12.84 ,43.07, 12.84, 43.07}, 
-{'c', 45.51, 34.19, 16.73 ,35.73, 43.94, 39.62}, 
-{'c', 71.16, 43.51, 96.22 ,8.51, 97.94, -0.99}, 
-{'c', 99.67, -10.50, 89.74 ,-22.16, 89.74, -22.16}, 
-{'c', 91.03, -25.18, 86.28 ,-39.01, 81.10, -48.08}, 
-{'c', 75.91, -57.15, 60.30 ,-56.20, 43.08, -57.15}, 
-{'f', 0.938000,0.536000,0.335000,1.000000,0,0 }, 
-{'m', 8.82, -32.74, 0, 0, 0, 0}, 
-{'c', 7.54, -31.05, 13.48 ,5.84, 14.75, 11.35}, 
-{'c', 16.02, 16.86, 13.48 ,42.30, 13.48, 42.30}, 
-{'c', 44.88, 33.15, 17.30 ,35.10, 44.01, 38.91}, 
-{'c', 70.72, 42.73, 95.31 ,8.38, 97.01, -0.94}, 
-{'c', 98.70, -10.27, 88.95 ,-21.72, 88.95, -21.72}, 
-{'c', 90.22, -24.69, 85.56 ,-38.26, 80.47, -47.16}, 
-{'c', 75.39, -56.06, 60.06 ,-55.12, 43.16, -56.06}, 
-{'f', 0.938000,0.670000,0.469000,1.000000,0,0 }, 
-{'m', 9.54, -32.10, 0, 0, 0, 0}, 
-{'c', 8.30, -30.43, 14.12 ,5.76, 15.37, 11.17}, 
-{'c', 16.62, 16.58, 14.12 ,41.54, 14.12, 41.54}, 
-{'c', 43.56, 32.50, 17.86 ,34.47, 44.07, 38.21}, 
-{'c', 70.28, 41.95, 94.41 ,8.26, 96.07, -0.90}, 
-{'c', 97.74, -10.05, 88.17 ,-21.28, 88.17, -21.28}, 
-{'c', 89.42, -24.19, 84.84 ,-37.50, 79.85, -46.24}, 
-{'c', 74.86, -54.98, 59.82 ,-54.05, 43.24, -54.98}, 
-{'f', 1.000000,0.804000,0.670000,1.000000,0,0 }, 
-{'m', 10.27, -31.45, 0, 0, 0, 0}, 
-{'c', 9.05, -29.82, 14.76 ,5.68, 15.98, 10.98}, 
-{'c', 17.21, 16.29, 14.76 ,40.77, 14.76, 40.77}, 
-{'c', 42.63, 31.85, 18.43 ,33.83, 44.14, 37.51}, 
-{'c', 69.84, 41.18, 93.50 ,8.13, 95.14, -0.85}, 
-{'c', 96.77, -9.82, 87.39 ,-20.84, 87.39, -20.84}, 
-{'c', 88.61, -23.70, 84.12 ,-36.75, 79.22, -45.32}, 
-{'c', 74.33, -53.89, 59.59 ,-52.98, 43.32, -53.89}, 
-{'f', 1.000000,0.938000,0.871000,1.000000,0,0 }, 
-{'m', 44.20, 36.80, 0, 0, 0, 0}, 
-{'c', 69.40, 40.40, 92.60 ,8.00, 94.20, -0.80}, 
-{'c', 95.80, -9.60, 86.60 ,-20.40, 86.60, -20.40}, 
-{'c', 87.80, -23.20, 83.40 ,-36.00, 78.60, -44.40}, 
-{'c', 73.80, -52.80, 59.35 ,-51.91, 43.40, -52.80}, 
-{'c', 29.00, -53.60, 12.20 ,-32.40, 11.00, -30.80}, 
-{'c', 9.80, -29.20, 15.40 ,5.60, 16.60, 10.80}, 
-{'c', 17.80, 16.00, 15.40 ,40.00, 15.40, 40.00}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 90.60, 2.80, 0, 0, 0, 0}, 
-{'c', 90.60, 2.80, 62.80 ,10.40, 51.20, 8.80}, 
-{'c', 51.20, 8.80, 35.40 ,2.20, 26.60, 24.00}, 
-{'c', 26.60, 24.00, 23.00 ,31.20, 21.00, 33.20}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 94.40, 0.60, 0, 0, 0, 0}, 
-{'c', 94.40, 0.60, 65.40 ,12.80, 55.40, 12.40}, 
-{'c', 55.40, 12.40, 39.00 ,7.80, 30.60, 22.40}, 
-{'c', 30.60, 22.40, 22.20 ,31.60, 19.00, 33.20}, 
-{'c', 19.00, 33.20, 18.60 ,34.80, 25.00, 30.80}, 
-{'l', 35.40, 36.00, 0, 0, 0, 0}, 
-{'c', 35.40, 36.00, 50.20 ,45.60, 59.80, 29.60}, 
-{'c', 59.80, 29.60, 63.80 ,18.40, 63.80, 16.40}, 
-{'c', 63.80, 14.40, 85.00 ,8.80, 86.60, 8.40}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 47.00, 36.51, 0, 0, 0, 0}, 
-{'c', 40.13, 36.51, 31.75 ,32.65, 31.75, 26.40}, 
-{'c', 31.75, 20.15, 40.13 ,13.89, 47.00, 13.89}, 
-{'c', 53.87, 13.89, 59.45 ,18.95, 59.45, 25.20}, 
-{'f', 0.603000,0.804000,0.201000,1.000000,0,0 }, 
-{'m', 43.38, 19.83, 0, 0, 0, 0}, 
-{'c', 38.53, 20.55, 33.44 ,22.05, 33.51, 21.84}, 
-{'c', 35.05, 17.22, 41.41 ,13.89, 47.00, 13.89}, 
-{'c', 51.30, 13.89, 55.08 ,15.87, 57.32, 18.88}, 
-{'f', 0.402000,0.603000,0.000000,1.000000,0,0 }, 
-{'m', 55.40, 19.60, 0, 0, 0, 0}, 
-{'c', 55.40, 19.60, 51.00 ,16.40, 51.00, 18.60}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 45.40, 27.73, 0, 0, 0, 0}, 
-{'c', 42.90, 27.73, 40.88 ,25.70, 40.88, 23.20}, 
-{'c', 40.88, 20.70, 42.90 ,18.68, 45.40, 18.68}, 
-{'c', 47.90, 18.68, 49.93 ,20.70, 49.93, 23.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -58.60, 14.40, 0, 0, 0, 0}, 
-{'c', -58.60, 14.40, -61.80 ,-6.80, -59.40, -11.20}, 
-{'c', -59.40, -11.20, -48.60 ,-21.20, -49.00, -24.80}, 
-{'c', -49.00, -24.80, -49.40 ,-42.80, -50.60, -43.60}, 
-{'c', -51.80, -44.40, -59.40 ,-50.40, -65.40, -44.00}, 
-{'c', -65.40, -44.00, -75.80 ,-26.00, -75.00, -19.60}, 
-{'l', -75.00, -17.60, 0, 0, 0, 0}, 
-{'c', -75.00, -17.60, -82.60 ,-18.00, -84.20, -16.00}, 
-{'c', -84.20, -16.00, -85.40 ,-10.80, -86.60, -10.40}, 
-{'c', -86.60, -10.40, -89.40 ,-8.00, -87.40, -5.20}, 
-{'c', -87.40, -5.20, -89.40 ,-2.80, -89.00, 1.20}, 
-{'l', -81.40, 5.20, 0, 0, 0, 0}, 
-{'c', -81.40, 5.20, -79.40 ,19.60, -68.60, 24.80}, 
-{'f', 0.804000,0.469000,0.134000,1.000000,0,0 }, 
-{'m', -59.60, 12.56, 0, 0, 0, 0}, 
-{'c', -59.60, 12.56, -62.48 ,-6.52, -60.32, -10.48}, 
-{'c', -60.32, -10.48, -50.60 ,-19.48, -50.96, -22.72}, 
-{'c', -50.96, -22.72, -51.32 ,-38.92, -52.40, -39.64}, 
-{'c', -53.48, -40.36, -60.32 ,-45.76, -65.72, -40.00}, 
-{'c', -65.72, -40.00, -75.08 ,-23.80, -74.36, -18.04}, 
-{'l', -74.36, -16.24, 0, 0, 0, 0}, 
-{'c', -74.36, -16.24, -81.20 ,-16.60, -82.64, -14.80}, 
-{'c', -82.64, -14.80, -83.72 ,-10.12, -84.80, -9.76}, 
-{'c', -84.80, -9.76, -87.32 ,-7.60, -85.52, -5.08}, 
-{'c', -85.52, -5.08, -87.32 ,-2.92, -86.96, 0.68}, 
-{'l', -80.12, 4.28, 0, 0, 0, 0}, 
-{'c', -80.12, 4.28, -78.32 ,17.24, -68.60, 21.92}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -51.05, -42.61, 0, 0, 0, 0}, 
-{'c', -52.14, -43.47, -59.63 ,-49.24, -65.48, -43.00}, 
-{'c', -65.48, -43.00, -75.62 ,-25.45, -74.84, -19.21}, 
-{'l', -74.84, -17.26, 0, 0, 0, 0}, 
-{'c', -74.84, -17.26, -82.25 ,-17.65, -83.81, -15.70}, 
-{'c', -83.81, -15.70, -84.98 ,-10.63, -86.15, -10.24}, 
-{'c', -86.15, -10.24, -88.88 ,-7.90, -86.93, -5.17}, 
-{'c', -86.93, -5.17, -88.88 ,-2.83, -88.49, 1.07}, 
-{'l', -81.08, 4.97, 0, 0, 0, 0}, 
-{'c', -81.08, 4.97, -79.13 ,19.01, -68.60, 24.08}, 
-{'c', -63.89, 26.35, -60.80 ,19.79, -58.85, 13.94}, 
-{'c', -58.85, 13.94, -61.97 ,-6.73, -59.63, -11.02}, 
-{'c', -59.63, -11.02, -49.10 ,-20.77, -49.49, -24.28}, 
-{'f', 0.938000,0.603000,0.335000,1.000000,0,0 }, 
-{'m', -51.50, -41.62, 0, 0, 0, 0}, 
-{'c', -52.48, -42.54, -59.86 ,-48.08, -65.56, -42.00}, 
-{'c', -65.56, -42.00, -75.44 ,-24.90, -74.68, -18.82}, 
-{'l', -74.68, -16.92, 0, 0, 0, 0}, 
-{'c', -74.68, -16.92, -81.90 ,-17.30, -83.42, -15.40}, 
-{'c', -83.42, -15.40, -84.56 ,-10.46, -85.70, -10.08}, 
-{'c', -85.70, -10.08, -88.36 ,-7.80, -86.46, -5.14}, 
-{'c', -86.46, -5.14, -88.36 ,-2.86, -87.98, 0.94}, 
-{'l', -80.76, 4.74, 0, 0, 0, 0}, 
-{'c', -80.76, 4.74, -78.86 ,18.42, -68.60, 23.36}, 
-{'c', -64.01, 25.57, -61.00 ,19.18, -59.10, 13.48}, 
-{'c', -59.10, 13.48, -62.14 ,-6.66, -59.86, -10.84}, 
-{'c', -59.86, -10.84, -49.60 ,-20.34, -49.98, -23.76}, 
-{'f', 1.000000,0.737000,0.603000,1.000000,0,0 }, 
-{'m', -51.95, -40.63, 0, 0, 0, 0}, 
-{'c', -52.82, -41.61, -60.09 ,-46.92, -65.64, -41.00}, 
-{'c', -65.64, -41.00, -75.26 ,-24.35, -74.52, -18.43}, 
-{'l', -74.52, -16.58, 0, 0, 0, 0}, 
-{'c', -74.52, -16.58, -81.55 ,-16.95, -83.03, -15.10}, 
-{'c', -83.03, -15.10, -84.14 ,-10.29, -85.25, -9.92}, 
-{'c', -85.25, -9.92, -87.84 ,-7.70, -85.99, -5.11}, 
-{'c', -85.99, -5.11, -87.84 ,-2.89, -87.47, 0.81}, 
-{'l', -80.44, 4.51, 0, 0, 0, 0}, 
-{'c', -80.44, 4.51, -78.59 ,17.83, -68.60, 22.64}, 
-{'c', -64.13, 24.79, -61.20 ,18.57, -59.35, 13.02}, 
-{'c', -59.35, 13.02, -62.31 ,-6.59, -60.09, -10.66}, 
-{'c', -60.09, -10.66, -50.10 ,-19.91, -50.47, -23.24}, 
-{'f', 1.000000,0.871000,0.804000,1.000000,0,0 }, 
-{'m', -59.60, 12.46, 0, 0, 0, 0}, 
-{'c', -59.60, 12.46, -62.48 ,-6.52, -60.32, -10.48}, 
-{'c', -60.32, -10.48, -50.60 ,-19.48, -50.96, -22.72}, 
-{'c', -50.96, -22.72, -51.32 ,-38.92, -52.40, -39.64}, 
-{'c', -53.16, -40.68, -60.32 ,-45.76, -65.72, -40.00}, 
-{'c', -65.72, -40.00, -75.08 ,-23.80, -74.36, -18.04}, 
-{'l', -74.36, -16.24, 0, 0, 0, 0}, 
-{'c', -74.36, -16.24, -81.20 ,-16.60, -82.64, -14.80}, 
-{'c', -82.64, -14.80, -83.72 ,-10.12, -84.80, -9.76}, 
-{'c', -84.80, -9.76, -87.32 ,-7.60, -85.52, -5.08}, 
-{'c', -85.52, -5.08, -87.32 ,-2.92, -86.96, 0.68}, 
-{'l', -80.12, 4.28, 0, 0, 0, 0}, 
-{'c', -80.12, 4.28, -78.32 ,17.24, -68.60, 21.92}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -62.70, 6.20, 0, 0, 0, 0}, 
-{'c', -62.70, 6.20, -84.30 ,-4.00, -85.20, -4.80}, 
-{'c', -85.20, -4.80, -76.10 ,3.40, -75.30, 3.40}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -79.80, 0.00, 0, 0, 0, 0}, 
-{'c', -79.80, 0.00, -61.40 ,3.60, -61.40, 8.00}, 
-{'c', -61.40, 10.91, -61.64 ,24.33, -67.00, 22.80}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -71.40, 3.80, 0, 0, 0, 0}, 
-{'c', -71.40, 3.80, -62.42 ,5.27, -61.40, 8.00}, 
-{'c', -60.80, 9.60, -60.14 ,17.91, -65.60, 19.00}, 
-{'f', 0.603000,0.804000,0.201000,1.000000,0,0 }, 
-{'m', 14.60, 46.35, 0, 0, 0, 0}, 
-{'c', 14.10, 44.61, 15.41 ,44.74, 17.20, 44.20}, 
-{'c', 19.20, 43.60, 31.40 ,39.80, 32.20, 37.20}, 
-{'c', 33.00, 34.60, 46.20 ,39.00, 46.20, 39.00}, 
-{'c', 48.00, 39.80, 52.40 ,42.40, 52.40, 42.40}, 
-{'c', 57.20, 43.60, 63.80 ,44.00, 63.80, 44.00}, 
-{'c', 66.20, 45.00, 69.60 ,47.80, 69.60, 47.80}, 
-{'c', 84.20, 58.00, 96.60 ,50.80, 96.60, 50.80}, 
-{'c', 116.60, 44.20, 110.60 ,27.00, 110.60, 27.00}, 
-{'c', 107.60, 18.00, 110.80 ,14.60, 110.80, 14.60}, 
-{'c', 111.00, 10.80, 118.20 ,17.20, 118.20, 17.20}, 
-{'c', 120.80, 21.40, 121.60 ,26.40, 121.60, 26.40}, 
-{'c', 129.60, 37.60, 126.20 ,19.80, 126.20, 19.80}, 
-{'c', 126.40, 18.80, 123.60 ,15.20, 123.60, 14.00}, 
-{'c', 123.60, 12.80, 121.80 ,9.40, 121.80, 9.40}, 
-{'c', 118.80, 6.00, 121.20 ,-1.00, 121.20, -1.00}, 
-{'c', 123.00, -14.80, 120.80 ,-13.00, 120.80, -13.00}, 
-{'c', 119.60, -14.80, 110.40 ,-4.80, 110.40, -4.80}, 
-{'c', 108.20, -1.40, 102.20 ,0.20, 102.20, 0.20}, 
-{'c', 99.40, 2.00, 96.00 ,0.60, 96.00, 0.60}, 
-{'c', 93.40, 0.20, 87.80 ,7.20, 87.80, 7.20}, 
-{'c', 90.60, 7.00, 93.00 ,11.40, 95.40, 11.60}, 
-{'c', 97.80, 11.80, 99.60 ,9.20, 101.20, 8.60}, 
-{'c', 102.80, 8.00, 105.60 ,13.80, 105.60, 13.80}, 
-{'c', 106.00, 16.40, 100.40 ,21.20, 100.40, 21.20}, 
-{'c', 100.00, 25.80, 98.40 ,24.20, 98.40, 24.20}, 
-{'c', 95.40, 23.60, 94.20 ,27.40, 93.20, 32.00}, 
-{'c', 92.20, 36.60, 88.00 ,37.00, 88.00, 37.00}, 
-{'c', 86.40, 44.40, 85.20 ,41.40, 85.20, 41.40}, 
-{'c', 85.00, 35.80, 79.00 ,41.60, 79.00, 41.60}, 
-{'c', 77.80, 43.60, 73.20 ,41.40, 73.20, 41.40}, 
-{'c', 66.40, 39.40, 68.80 ,37.40, 68.80, 37.40}, 
-{'c', 70.60, 35.20, 81.80 ,37.40, 81.80, 37.40}, 
-{'c', 84.00, 35.80, 76.00 ,31.80, 76.00, 31.80}, 
-{'c', 75.40, 30.00, 76.40 ,25.60, 76.40, 25.60}, 
-{'c', 77.60, 22.40, 84.40 ,16.80, 84.40, 16.80}, 
-{'c', 93.80, 15.60, 91.00 ,14.00, 91.00, 14.00}, 
-{'c', 84.80, 8.80, 79.00 ,16.40, 79.00, 16.40}, 
-{'c', 76.80, 22.60, 59.40 ,37.60, 59.40, 37.60}, 
-{'c', 54.60, 41.00, 57.20 ,34.20, 53.20, 37.60}, 
-{'c', 49.20, 41.00, 28.60 ,32.00, 28.60, 32.00}, 
-{'c', 17.04, 30.81, 14.31 ,46.55, 10.78, 43.43}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 209.40, -120.00, 0, 0, 0, 0}, 
-{'c', 209.40, -120.00, 183.80 ,-112.00, 181.00, -93.20}, 
-{'c', 181.00, -93.20, 178.60 ,-70.40, 199.00, -52.80}, 
-{'c', 199.00, -52.80, 199.40 ,-46.40, 201.40, -43.20}, 
-{'c', 201.40, -43.20, 199.80 ,-38.40, 218.60, -46.00}, 
-{'l', 245.80, -54.40, 0, 0, 0, 0}, 
-{'c', 245.80, -54.40, 252.20 ,-56.80, 257.40, -65.60}, 
-{'c', 262.60, -74.40, 277.80 ,-93.20, 274.20, -118.40}, 
-{'c', 274.20, -118.40, 275.40 ,-129.60, 269.40, -130.00}, 
-{'c', 269.40, -130.00, 261.00 ,-131.60, 253.80, -124.00}, 
-{'c', 253.80, -124.00, 247.00 ,-120.80, 244.60, -121.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 264.02, -120.99, 0, 0, 0, 0}, 
-{'c', 264.02, -120.99, 266.12 ,-129.92, 261.28, -125.08}, 
-{'c', 261.28, -125.08, 254.24 ,-119.36, 246.76, -119.36}, 
-{'c', 246.76, -119.36, 232.24 ,-117.16, 227.84, -103.96}, 
-{'c', 227.84, -103.96, 223.88 ,-77.12, 231.80, -71.40}, 
-{'c', 231.80, -71.40, 236.64 ,-63.92, 243.68, -70.52}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 263.65, -120.63, 0, 0, 0, 0}, 
-{'c', 263.65, -120.63, 265.74 ,-129.38, 260.99, -124.62}, 
-{'c', 260.99, -124.62, 254.07 ,-119.01, 246.73, -119.01}, 
-{'c', 246.73, -119.01, 232.47 ,-116.85, 228.15, -103.89}, 
-{'c', 228.15, -103.89, 224.26 ,-77.54, 232.04, -71.92}, 
-{'c', 232.04, -71.92, 236.79 ,-64.58, 243.71, -71.06}, 
-{'f', 0.201000,0.201000,0.201000,1.000000,0,0 }, 
-{'m', 263.27, -120.27, 0, 0, 0, 0}, 
-{'c', 263.27, -120.27, 265.35 ,-128.83, 260.69, -124.17}, 
-{'c', 260.69, -124.17, 253.91 ,-118.66, 246.70, -118.66}, 
-{'c', 246.70, -118.66, 232.71 ,-116.54, 228.47, -103.82}, 
-{'c', 228.47, -103.82, 224.65 ,-77.95, 232.28, -72.44}, 
-{'c', 232.28, -72.44, 236.94 ,-65.23, 243.73, -71.59}, 
-{'f', 0.402000,0.402000,0.402000,1.000000,0,0 }, 
-{'m', 262.90, -119.92, 0, 0, 0, 0}, 
-{'c', 262.90, -119.92, 264.97 ,-128.29, 260.39, -123.71}, 
-{'c', 260.39, -123.71, 253.74 ,-118.30, 246.66, -118.30}, 
-{'c', 246.66, -118.30, 232.94 ,-116.22, 228.78, -103.74}, 
-{'c', 228.78, -103.74, 225.03 ,-78.37, 232.52, -72.96}, 
-{'c', 232.52, -72.96, 237.10 ,-65.89, 243.75, -72.13}, 
-{'f', 0.603000,0.603000,0.603000,1.000000,0,0 }, 
-{'m', 262.53, -119.56, 0, 0, 0, 0}, 
-{'c', 262.53, -119.56, 264.59 ,-127.74, 260.10, -123.26}, 
-{'c', 260.10, -123.26, 253.57 ,-117.95, 246.63, -117.95}, 
-{'c', 246.63, -117.95, 233.17 ,-115.91, 229.09, -103.67}, 
-{'c', 229.09, -103.67, 225.42 ,-78.78, 232.76, -73.48}, 
-{'c', 232.76, -73.48, 237.25 ,-66.54, 243.78, -72.66}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 262.15, -119.20, 0, 0, 0, 0}, 
-{'c', 262.15, -119.20, 264.20 ,-127.20, 259.80, -122.80}, 
-{'c', 259.80, -122.80, 253.40 ,-117.60, 246.60, -117.60}, 
-{'c', 246.60, -117.60, 233.40 ,-115.60, 229.40, -103.60}, 
-{'c', 229.40, -103.60, 225.80 ,-79.20, 233.00, -74.00}, 
-{'c', 233.00, -74.00, 237.40 ,-67.20, 243.80, -73.20}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 50.60, 84.00, 0, 0, 0, 0}, 
-{'c', 50.60, 84.00, 30.20 ,64.80, 22.20, 64.00}, 
-{'c', 22.20, 64.00, -12.20 ,60.00, -27.00, 78.00}, 
-{'c', -27.00, 78.00, -9.40 ,57.60, 18.20, 63.20}, 
-{'c', 18.20, 63.20, -3.40 ,58.80, -15.80, 62.00}, 
-{'c', -15.80, 62.00, -32.60 ,62.00, -42.20, 76.00}, 
-{'l', -45.00, 80.80, 0, 0, 0, 0}, 
-{'c', -45.00, 80.80, -41.00 ,66.00, -22.60, 60.00}, 
-{'c', -22.60, 60.00, 0.20 ,55.20, 11.00, 60.00}, 
-{'c', 11.00, 60.00, -10.60 ,53.20, -20.60, 55.20}, 
-{'c', -20.60, 55.20, -51.00 ,52.80, -63.80, 79.20}, 
-{'c', -63.80, 79.20, -59.80 ,64.80, -45.00, 57.60}, 
-{'c', -45.00, 57.60, -31.40 ,48.80, -11.00, 51.60}, 
-{'c', -11.00, 51.60, 3.40 ,54.80, 8.60, 57.20}, 
-{'c', 13.80, 59.60, 12.60 ,56.80, 4.20, 52.00}, 
-{'c', 4.20, 52.00, -1.40 ,42.00, -15.40, 42.40}, 
-{'c', -15.40, 42.40, -58.20 ,46.00, -68.60, 58.00}, 
-{'c', -68.60, 58.00, -55.00 ,46.80, -44.60, 44.00}, 
-{'c', -44.60, 44.00, -22.20 ,36.00, -13.80, 36.80}, 
-{'c', -13.80, 36.80, 11.00 ,37.80, 18.60, 33.80}, 
-{'c', 18.60, 33.80, 7.40 ,38.80, 10.60, 42.00}, 
-{'c', 13.80, 45.20, 20.60 ,52.80, 20.60, 54.00}, 
-{'c', 20.60, 55.20, 44.80 ,77.30, 48.40, 81.70}, 
-{'f', 0.603000,0.134000,0.000000,1.000000,0,0 }, 
-{'m', 189.00, 278.00, 0, 0, 0, 0}, 
-{'c', 189.00, 278.00, 173.50 ,241.50, 161.00, 232.00}, 
-{'c', 161.00, 232.00, 187.00 ,248.00, 190.50, 266.00}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 236.00, 285.50, 0, 0, 0, 0}, 
-{'c', 236.00, 285.50, 209.50 ,230.50, 191.00, 206.50}, 
-{'c', 191.00, 206.50, 234.50 ,244.00, 239.50, 270.50}, 
-{'l', 240.00, 276.00, 0, 0, 0, 0}, 
-{'l', 237.00, 273.50, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 292.50, 237.00, 0, 0, 0, 0}, 
-{'c', 292.50, 237.00, 230.00 ,177.50, 228.50, 175.00}, 
-{'c', 228.50, 175.00, 289.00 ,241.00, 292.00, 248.50}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 104.00, 280.50, 0, 0, 0, 0}, 
-{'c', 104.00, 280.50, 123.50 ,228.50, 142.50, 251.00}, 
-{'c', 142.50, 251.00, 157.50 ,261.00, 157.00, 264.00}, 
-{'c', 157.00, 264.00, 153.00 ,257.50, 135.00, 258.00}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 294.50, 153.00, 0, 0, 0, 0}, 
-{'c', 294.50, 153.00, 249.50 ,124.50, 242.00, 123.00}, 
-{'c', 230.19, 120.64, 291.50 ,152.00, 296.50, 162.50}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 143.80, 259.60, 0, 0, 0, 0}, 
-{'c', 143.80, 259.60, 164.20 ,257.60, 171.00, 250.80}, 
-{'l', 175.40, 254.40, 0, 0, 0, 0}, 
-{'l', 193.00, 216.00, 0, 0, 0, 0}, 
-{'l', 196.60, 221.20, 0, 0, 0, 0}, 
-{'c', 196.60, 221.20, 211.00 ,206.40, 210.20, 198.40}, 
-{'c', 209.40, 190.40, 223.00 ,204.40, 223.00, 204.40}, 
-{'c', 223.00, 204.40, 222.20 ,192.80, 229.40, 199.60}, 
-{'c', 229.40, 199.60, 227.00 ,184.00, 235.40, 192.00}, 
-{'c', 235.40, 192.00, 224.86 ,161.84, 247.40, 187.60}, 
-{'c', 253.00, 194.00, 248.60 ,187.20, 248.60, 187.20}, 
-{'c', 248.60, 187.20, 222.60 ,139.20, 244.20, 153.60}, 
-{'c', 244.20, 153.60, 246.20 ,130.80, 245.00, 126.40}, 
-{'c', 243.80, 122.00, 241.80 ,99.60, 237.00, 94.40}, 
-{'c', 232.20, 89.20, 237.40 ,87.60, 243.00, 92.80}, 
-{'c', 243.00, 92.80, 231.80 ,68.80, 245.00, 80.80}, 
-{'c', 245.00, 80.80, 241.40 ,65.60, 237.00, 62.80}, 
-{'c', 237.00, 62.80, 231.40 ,45.60, 246.60, 56.40}, 
-{'c', 246.60, 56.40, 242.20 ,44.00, 239.00, 40.80}, 
-{'c', 239.00, 40.80, 227.40 ,13.20, 234.60, 18.00}, 
-{'l', 239.00, 21.60, 0, 0, 0, 0}, 
-{'c', 239.00, 21.60, 232.20 ,7.60, 238.60, 12.00}, 
-{'c', 245.00, 16.40, 245.00 ,16.00, 245.00, 16.00}, 
-{'c', 245.00, 16.00, 223.80 ,-17.20, 244.20, 0.40}, 
-{'c', 244.20, 0.40, 236.04 ,-13.52, 232.60, -20.40}, 
-{'c', 232.60, -20.40, 213.80 ,-40.80, 228.20, -34.40}, 
-{'l', 233.00, -32.80, 0, 0, 0, 0}, 
-{'c', 233.00, -32.80, 224.20 ,-42.80, 216.20, -44.40}, 
-{'c', 208.20, -46.00, 218.60 ,-52.40, 225.00, -50.40}, 
-{'c', 231.40, -48.40, 247.00 ,-40.80, 247.00, -40.80}, 
-{'c', 247.00, -40.80, 259.80 ,-22.00, 263.80, -21.60}, 
-{'c', 263.80, -21.60, 243.80 ,-29.20, 249.80, -21.20}, 
-{'c', 249.80, -21.20, 264.20 ,-7.20, 257.00, -7.60}, 
-{'c', 257.00, -7.60, 251.00 ,-0.40, 255.80, 8.40}, 
-{'c', 255.80, 8.40, 237.34 ,-9.99, 252.20, 15.60}, 
-{'l', 259.00, 32.00, 0, 0, 0, 0}, 
-{'c', 259.00, 32.00, 234.60 ,7.20, 245.80, 29.20}, 
-{'c', 245.80, 29.20, 263.00 ,52.80, 265.00, 53.20}, 
-{'c', 267.00, 53.60, 271.40 ,62.40, 271.40, 62.40}, 
-{'l', 267.00, 60.40, 0, 0, 0, 0}, 
-{'l', 272.20, 69.20, 0, 0, 0, 0}, 
-{'c', 272.20, 69.20, 261.00 ,57.20, 267.00, 70.40}, 
-{'l', 272.60, 84.80, 0, 0, 0, 0}, 
-{'c', 272.60, 84.80, 252.20 ,62.80, 265.80, 92.40}, 
-{'c', 265.80, 92.40, 249.40 ,87.20, 258.20, 104.40}, 
-{'c', 258.20, 104.40, 256.60 ,120.40, 257.00, 125.60}, 
-{'c', 257.40, 130.80, 258.60 ,159.20, 254.20, 167.20}, 
-{'c', 249.80, 175.20, 260.20 ,194.40, 262.20, 198.40}, 
-{'c', 264.20, 202.40, 267.80 ,213.20, 259.00, 204.00}, 
-{'c', 250.20, 194.80, 254.60 ,200.40, 256.60, 209.20}, 
-{'c', 258.60, 218.00, 264.60 ,233.60, 263.80, 239.20}, 
-{'c', 263.80, 239.20, 262.60 ,240.40, 259.40, 236.80}, 
-{'c', 259.40, 236.80, 244.60 ,214.00, 246.20, 228.40}, 
-{'c', 246.20, 228.40, 245.00 ,236.40, 241.80, 245.20}, 
-{'c', 241.80, 245.20, 238.60 ,256.00, 238.60, 247.20}, 
-{'c', 238.60, 247.20, 235.40 ,230.40, 232.60, 238.00}, 
-{'c', 229.80, 245.60, 226.20 ,251.60, 223.40, 254.00}, 
-{'c', 220.60, 256.40, 215.40 ,233.60, 214.20, 244.00}, 
-{'c', 214.20, 244.00, 202.20 ,231.60, 197.40, 248.00}, 
-{'l', 185.80, 264.40, 0, 0, 0, 0}, 
-{'c', 185.80, 264.40, 185.40 ,252.00, 184.20, 258.00}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 109.40, -97.20, 0, 0, 0, 0}, 
-{'c', 109.40, -97.20, 97.80 ,-105.20, 93.80, -104.80}, 
-{'c', 89.80, -104.40, 121.40 ,-113.60, 162.60, -86.00}, 
-{'c', 162.60, -86.00, 167.40 ,-83.20, 171.00, -83.60}, 
-{'c', 171.00, -83.60, 174.20 ,-81.20, 171.40, -77.60}, 
-{'c', 171.40, -77.60, 162.60 ,-68.00, 173.80, -56.80}, 
-{'c', 173.80, -56.80, 192.20 ,-50.00, 186.60, -58.80}, 
-{'c', 186.60, -58.80, 197.40 ,-54.80, 199.80, -50.80}, 
-{'c', 202.20, -46.80, 201.00 ,-50.80, 201.00, -50.80}, 
-{'c', 201.00, -50.80, 194.60 ,-58.00, 188.60, -63.20}, 
-{'c', 188.60, -63.20, 183.40 ,-65.20, 180.60, -73.60}, 
-{'c', 177.80, -82.00, 175.40 ,-92.00, 179.80, -95.20}, 
-{'c', 179.80, -95.20, 175.80 ,-90.80, 176.60, -94.80}, 
-{'c', 177.40, -98.80, 181.00 ,-102.40, 182.60, -102.80}, 
-{'c', 184.20, -103.20, 200.60 ,-119.00, 207.40, -119.40}, 
-{'c', 207.40, -119.40, 198.20 ,-118.00, 195.20, -119.00}, 
-{'c', 192.20, -120.00, 165.60 ,-131.40, 159.60, -132.60}, 
-{'c', 159.60, -132.60, 142.80 ,-139.20, 154.80, -137.20}, 
-{'c', 154.80, -137.20, 190.60 ,-133.40, 208.80, -120.20}, 
-{'c', 208.80, -120.20, 201.60 ,-128.60, 183.20, -135.60}, 
-{'c', 183.20, -135.60, 161.00 ,-148.20, 125.80, -143.20}, 
-{'c', 125.80, -143.20, 108.00 ,-140.00, 100.20, -138.20}, 
-{'c', 100.20, -138.20, 97.60 ,-138.80, 97.00, -139.20}, 
-{'c', 96.40, -139.60, 84.60 ,-148.60, 57.00, -141.60}, 
-{'c', 57.00, -141.60, 40.00 ,-137.00, 31.40, -132.20}, 
-{'c', 31.40, -132.20, 16.20 ,-131.00, 12.60, -127.80}, 
-{'c', 12.60, -127.80, -6.00 ,-113.20, -8.00, -112.40}, 
-{'c', -10.00, -111.60, -21.40 ,-104.00, -22.20, -103.60}, 
-{'c', -22.20, -103.60, 2.40 ,-110.20, 4.80, -112.60}, 
-{'c', 7.20, -115.00, 24.60 ,-117.60, 27.00, -116.20}, 
-{'c', 29.40, -114.80, 37.80 ,-115.40, 28.20, -114.80}, 
-{'c', 28.20, -114.80, 103.80 ,-100.00, 104.60, -98.00}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 180.80, -106.40, 0, 0, 0, 0}, 
-{'c', 180.80, -106.40, 170.60 ,-113.80, 168.60, -113.80}, 
-{'c', 166.60, -113.80, 154.20 ,-124.00, 150.00, -123.60}, 
-{'c', 145.80, -123.20, 133.60 ,-133.20, 106.20, -125.00}, 
-{'c', 106.20, -125.00, 105.60 ,-127.00, 109.20, -127.80}, 
-{'c', 109.20, -127.80, 115.60 ,-130.00, 116.00, -130.60}, 
-{'c', 116.00, -130.60, 136.20 ,-134.80, 143.40, -131.20}, 
-{'c', 143.40, -131.20, 152.60 ,-128.60, 158.80, -122.40}, 
-{'c', 158.80, -122.40, 170.00 ,-119.20, 173.20, -120.20}, 
-{'c', 173.20, -120.20, 182.00 ,-118.00, 182.40, -116.20}, 
-{'c', 182.40, -116.20, 188.20 ,-113.20, 186.40, -110.60}, 
-{'f', 0.804000,0.469000,0.134000,1.000000,0,0 }, 
-{'m', 168.33, -108.51, 0, 0, 0, 0}, 
-{'c', 169.14, -107.88, 170.16 ,-107.78, 170.76, -106.97}, 
-{'c', 171.00, -106.66, 170.71 ,-106.33, 170.39, -106.23}, 
-{'c', 169.35, -105.92, 168.29 ,-106.49, 167.15, -105.90}, 
-{'c', 166.75, -105.69, 166.11 ,-105.87, 165.55, -106.02}, 
-{'c', 163.92, -106.46, 162.09 ,-106.49, 160.40, -105.80}, 
-{'c', 158.42, -106.93, 156.06 ,-106.34, 153.97, -107.35}, 
-{'c', 153.92, -107.37, 153.69 ,-107.03, 153.62, -107.05}, 
-{'c', 150.57, -108.20, 146.83 ,-107.92, 144.40, -110.20}, 
-{'c', 141.97, -110.61, 139.62 ,-111.07, 137.19, -111.75}, 
-{'c', 135.37, -112.26, 133.96 ,-113.25, 132.34, -114.08}, 
-{'c', 130.96, -114.79, 129.51 ,-115.31, 127.97, -115.69}, 
-{'c', 126.11, -116.14, 124.28 ,-116.03, 122.39, -116.55}, 
-{'c', 122.29, -116.57, 122.10 ,-116.23, 122.02, -116.25}, 
-{'c', 121.69, -116.36, 121.41 ,-116.94, 121.23, -116.89}, 
-{'c', 119.55, -116.37, 118.06 ,-117.34, 116.40, -117.00}, 
-{'c', 115.22, -118.22, 113.50 ,-117.98, 111.95, -118.42}, 
-{'c', 108.98, -119.27, 105.83 ,-118.00, 102.80, -119.00}, 
-{'c', 106.91, -120.84, 111.60 ,-119.61, 115.66, -121.68}, 
-{'c', 117.99, -122.86, 120.65 ,-121.76, 123.22, -122.52}, 
-{'c', 123.71, -122.67, 124.40 ,-122.87, 124.80, -122.20}, 
-{'c', 124.94, -122.33, 125.12 ,-122.57, 125.17, -122.55}, 
-{'c', 127.62, -121.39, 129.94 ,-120.11, 132.42, -119.05}, 
-{'c', 132.76, -118.90, 133.29 ,-119.14, 133.55, -118.93}, 
-{'c', 135.07, -117.72, 137.01 ,-117.82, 138.40, -116.60}, 
-{'c', 140.10, -117.10, 141.89 ,-116.72, 143.62, -117.35}, 
-{'c', 143.70, -117.37, 143.93 ,-117.03, 143.97, -117.05}, 
-{'c', 145.09, -117.80, 146.25 ,-117.53, 147.14, -117.23}, 
-{'c', 147.48, -117.11, 148.14 ,-116.86, 148.45, -116.79}, 
-{'c', 149.57, -116.52, 150.43 ,-116.03, 151.61, -115.85}, 
-{'c', 151.72, -115.83, 151.91 ,-116.17, 151.98, -116.15}, 
-{'c', 153.10, -115.71, 154.15 ,-115.76, 154.80, -114.60}, 
-{'c', 154.94, -114.73, 155.10 ,-114.97, 155.18, -114.95}, 
-{'c', 156.21, -114.61, 156.86 ,-113.85, 157.96, -113.61}, 
-{'c', 158.44, -113.51, 159.06 ,-112.88, 159.63, -112.70}, 
-{'c', 162.03, -111.97, 163.87 ,-110.44, 166.06, -109.55}, 
-{'f', 0.804000,0.469000,0.134000,1.000000,0,0 }, 
-{'m', 91.70, -122.74, 0, 0, 0, 0}, 
-{'c', 89.18, -124.46, 86.81 ,-125.57, 84.37, -127.36}, 
-{'c', 84.19, -127.49, 83.83 ,-127.32, 83.62, -127.44}, 
-{'c', 82.62, -128.05, 81.73 ,-128.63, 80.75, -129.33}, 
-{'c', 80.21, -129.71, 79.39 ,-129.70, 78.88, -129.96}, 
-{'c', 76.34, -131.25, 73.71 ,-131.81, 71.20, -133.00}, 
-{'c', 71.88, -133.64, 73.00 ,-133.39, 73.60, -134.20}, 
-{'c', 73.80, -133.92, 74.03 ,-133.64, 74.39, -133.83}, 
-{'c', 76.06, -134.73, 77.91 ,-134.88, 79.59, -134.79}, 
-{'c', 81.29, -134.70, 83.01 ,-134.40, 84.79, -134.12}, 
-{'c', 85.10, -134.08, 85.30 ,-133.56, 85.62, -133.46}, 
-{'c', 87.85, -132.79, 90.23 ,-133.32, 92.35, -132.48}, 
-{'c', 93.94, -131.85, 95.52 ,-131.03, 96.75, -129.75}, 
-{'c', 97.01, -129.50, 96.68 ,-129.19, 96.40, -129.00}, 
-{'c', 96.79, -129.11, 97.06 ,-128.90, 97.17, -128.59}, 
-{'c', 97.26, -128.35, 97.26 ,-128.05, 97.17, -127.81}, 
-{'c', 97.06, -127.50, 96.78 ,-127.40, 96.41, -127.35}, 
-{'c', 95.00, -127.16, 96.77 ,-128.54, 96.07, -128.09}, 
-{'c', 94.80, -127.27, 95.55 ,-125.87, 94.80, -124.60}, 
-{'c', 94.52, -124.79, 94.29 ,-125.01, 94.40, -125.40}, 
-{'c', 94.64, -124.88, 94.03 ,-124.59, 93.86, -124.27}, 
-{'f', 0.804000,0.469000,0.134000,1.000000,0,0 }, 
-{'m', 59.20, -115.39, 0, 0, 0, 0}, 
-{'c', 56.04, -116.19, 52.99 ,-116.07, 49.98, -117.35}, 
-{'c', 49.91, -117.37, 49.69 ,-117.03, 49.62, -117.05}, 
-{'c', 48.26, -117.65, 47.34 ,-118.61, 46.26, -119.66}, 
-{'c', 45.35, -120.55, 43.69 ,-120.16, 42.42, -120.65}, 
-{'c', 42.09, -120.77, 41.89 ,-121.28, 41.59, -121.32}, 
-{'c', 40.37, -121.48, 39.45 ,-122.43, 38.40, -123.00}, 
-{'c', 40.74, -123.80, 43.15 ,-123.76, 45.61, -124.15}, 
-{'c', 45.72, -124.17, 45.87 ,-123.84, 46.00, -123.84}, 
-{'c', 46.14, -123.84, 46.27 ,-124.07, 46.40, -124.20}, 
-{'c', 46.59, -123.92, 46.90 ,-123.59, 47.15, -123.85}, 
-{'c', 47.70, -124.39, 48.26 ,-124.20, 48.80, -124.16}, 
-{'c', 48.94, -124.15, 49.07 ,-123.84, 49.20, -123.84}, 
-{'c', 49.34, -123.84, 49.47 ,-124.16, 49.60, -124.16}, 
-{'c', 49.74, -124.16, 49.87 ,-123.84, 50.00, -123.84}, 
-{'c', 50.14, -123.84, 50.27 ,-124.07, 50.40, -124.20}, 
-{'c', 51.09, -123.42, 51.98 ,-123.97, 52.80, -123.79}, 
-{'c', 53.84, -123.57, 54.10 ,-122.42, 55.18, -122.12}, 
-{'c', 59.89, -120.82, 64.03 ,-118.67, 68.39, -116.58}, 
-{'c', 68.70, -116.44, 68.91 ,-116.19, 68.80, -115.80}, 
-{'c', 69.07, -115.80, 69.38 ,-115.89, 69.57, -115.76}, 
-{'c', 70.63, -115.02, 71.67 ,-114.48, 72.37, -113.38}, 
-{'c', 72.58, -113.04, 72.25 ,-112.63, 72.02, -112.68}, 
-{'f', 0.804000,0.469000,0.134000,1.000000,0,0 }, 
-{'m', 45.34, -71.18, 0, 0, 0, 0}, 
-{'c', 43.75, -72.40, 43.16 ,-74.43, 42.03, -76.22}, 
-{'c', 41.82, -76.56, 42.09 ,-76.88, 42.41, -76.96}, 
-{'c', 42.97, -77.12, 43.51 ,-76.64, 43.92, -76.44}, 
-{'c', 45.67, -75.58, 47.20 ,-74.34, 49.20, -74.20}, 
-{'c', 51.19, -71.97, 55.45 ,-71.58, 55.46, -68.20}, 
-{'c', 55.46, -67.34, 54.03 ,-68.26, 53.60, -67.40}, 
-{'c', 51.15, -68.40, 48.76 ,-68.30, 46.38, -69.77}, 
-{'f', 0.804000,0.469000,0.134000,1.000000,0,0 }, 
-{'m', 17.80, -123.76, 0, 0, 0, 0}, 
-{'c', 17.93, -123.75, 24.97 ,-123.52, 24.95, -123.41}, 
-{'c', 24.90, -123.10, 17.17 ,-122.05, 16.81, -122.22}, 
-{'c', 16.65, -122.30, 9.13 ,-119.87, 9.00, -120.00}, 
-{'f', 0.804000,0.469000,0.134000,1.000000,0,0 }, 
-{'m', 33.20, -114.00, 0, 0, 0, 0}, 
-{'c', 33.20, -114.00, 18.40 ,-112.20, 14.00, -111.00}, 
-{'c', 9.60, -109.80, -9.00 ,-102.20, -12.00, -100.20}, 
-{'c', -12.00, -100.20, -25.40 ,-94.80, -42.40, -74.80}, 
-{'c', -42.40, -74.80, -34.80 ,-78.20, -32.60, -81.00}, 
-{'c', -32.60, -81.00, -19.00 ,-93.60, -19.20, -91.00}, 
-{'c', -19.20, -91.00, -7.00 ,-99.60, -7.60, -97.40}, 
-{'c', -7.60, -97.40, 16.80 ,-108.60, 14.80, -105.40}, 
-{'c', 14.80, -105.40, 36.40 ,-110.00, 35.40, -108.00}, 
-{'c', 35.40, -108.00, 54.20 ,-103.60, 51.40, -103.40}, 
-{'c', 51.40, -103.40, 45.60 ,-102.20, 52.00, -98.60}, 
-{'c', 52.00, -98.60, 48.60 ,-94.20, 43.20, -98.20}, 
-{'c', 37.80, -102.20, 40.80 ,-100.00, 35.80, -99.00}, 
-{'c', 35.80, -99.00, 33.20 ,-98.20, 28.60, -102.20}, 
-{'c', 28.60, -102.20, 23.00 ,-106.80, 14.20, -103.20}, 
-{'c', 14.20, -103.20, -16.40 ,-90.60, -18.40, -90.00}, 
-{'c', -18.40, -90.00, -22.00 ,-87.20, -24.40, -83.60}, 
-{'c', -24.40, -83.60, -30.20 ,-79.20, -33.20, -77.80}, 
-{'c', -33.20, -77.80, -46.00 ,-66.20, -47.20, -64.80}, 
-{'c', -47.20, -64.80, -50.60 ,-59.60, -51.40, -59.20}, 
-{'c', -51.40, -59.20, -45.00 ,-63.00, -43.00, -65.00}, 
-{'c', -43.00, -65.00, -29.00 ,-75.00, -23.60, -75.80}, 
-{'c', -23.60, -75.80, -19.20 ,-78.80, -18.40, -80.20}, 
-{'c', -18.40, -80.20, -4.00 ,-89.40, 0.20, -89.40}, 
-{'c', 0.20, -89.40, 9.40 ,-84.20, 11.80, -91.20}, 
-{'c', 11.80, -91.20, 17.60 ,-93.00, 23.20, -91.80}, 
-{'c', 23.20, -91.80, 26.40 ,-94.40, 25.60, -96.60}, 
-{'c', 25.60, -96.60, 27.20 ,-98.40, 28.20, -94.60}, 
-{'c', 28.20, -94.60, 31.60 ,-91.00, 36.40, -93.00}, 
-{'c', 36.40, -93.00, 40.40 ,-93.20, 38.40, -90.80}, 
-{'c', 38.40, -90.80, 34.00 ,-87.00, 22.20, -86.80}, 
-{'c', 22.20, -86.80, 9.80 ,-86.20, -6.60, -78.60}, 
-{'c', -6.60, -78.60, -36.40 ,-68.20, -45.60, -57.80}, 
-{'c', -45.60, -57.80, -52.00 ,-49.00, -57.40, -47.80}, 
-{'c', -57.40, -47.80, -63.20 ,-47.00, -69.20, -39.60}, 
-{'c', -69.20, -39.60, -59.40 ,-45.40, -50.40, -45.40}, 
-{'c', -50.40, -45.40, -46.40 ,-47.80, -50.20, -44.20}, 
-{'c', -50.20, -44.20, -53.80 ,-36.60, -52.20, -31.20}, 
-{'c', -52.20, -31.20, -52.80 ,-26.00, -53.60, -24.40}, 
-{'c', -53.60, -24.40, -61.40 ,-11.60, -61.40, -9.20}, 
-{'c', -61.40, -6.80, -60.20 ,3.00, -59.80, 3.60}, 
-{'c', -59.40, 4.20, -60.80 ,2.00, -57.00, 4.40}, 
-{'c', -53.20, 6.80, -50.40 ,8.40, -49.60, 11.20}, 
-{'c', -48.80, 14.00, -51.60 ,5.80, -51.80, 4.00}, 
-{'c', -52.00, 2.20, -56.20 ,-5.00, -55.40, -7.40}, 
-{'c', -55.40, -7.40, -54.40 ,-6.40, -53.60, -5.00}, 
-{'c', -53.60, -5.00, -54.20 ,-5.60, -53.60, -9.20}, 
-{'c', -53.60, -9.20, -52.80 ,-14.40, -51.40, -17.60}, 
-{'c', -50.00, -20.80, -48.00 ,-24.60, -47.60, -25.40}, 
-{'c', -47.20, -26.20, -47.20 ,-32.00, -45.80, -29.40}, 
-{'l', -42.40, -26.80, 0, 0, 0, 0}, 
-{'c', -42.40, -26.80, -45.20 ,-29.40, -43.00, -31.60}, 
-{'c', -43.00, -31.60, -44.00 ,-37.20, -42.20, -39.80}, 
-{'c', -42.20, -39.80, -35.20 ,-48.20, -33.60, -49.20}, 
-{'c', -32.00, -50.20, -33.40 ,-49.80, -33.40, -49.80}, 
-{'c', -33.40, -49.80, -27.40 ,-54.00, -33.20, -52.40}, 
-{'c', -33.20, -52.40, -37.20 ,-50.80, -40.20, -50.80}, 
-{'c', -40.20, -50.80, -47.80 ,-48.80, -43.80, -53.00}, 
-{'c', -39.80, -57.20, -29.80 ,-62.60, -26.00, -62.40}, 
-{'l', -25.20, -60.80, 0, 0, 0, 0}, 
-{'l', -14.00, -63.20, 0, 0, 0, 0}, 
-{'l', -15.20, -62.40, 0, 0, 0, 0}, 
-{'c', -15.20, -62.40, -15.40 ,-62.60, -11.20, -63.00}, 
-{'c', -7.00, -63.40, -1.20 ,-62.00, 0.20, -63.80}, 
-{'c', 1.60, -65.60, 5.00 ,-66.60, 4.60, -65.20}, 
-{'c', 4.20, -63.80, 4.00 ,-61.80, 4.00, -61.80}, 
-{'c', 4.00, -61.80, 9.00 ,-67.60, 8.40, -65.40}, 
-{'c', 7.80, -63.20, -0.40 ,-58.00, -1.80, -51.80}, 
-{'l', 8.60, -60.00, 0, 0, 0, 0}, 
-{'l', 12.20, -63.00, 0, 0, 0, 0}, 
-{'c', 12.20, -63.00, 15.80 ,-60.80, 16.00, -62.40}, 
-{'c', 16.20, -64.00, 20.80 ,-69.80, 22.00, -69.60}, 
-{'c', 23.20, -69.40, 25.20 ,-72.20, 25.00, -69.60}, 
-{'c', 24.80, -67.00, 32.40 ,-61.60, 32.40, -61.60}, 
-{'c', 32.40, -61.60, 35.60 ,-63.40, 37.00, -62.00}, 
-{'c', 38.40, -60.60, 42.60 ,-81.80, 42.60, -81.80}, 
-{'l', 67.60, -92.40, 0, 0, 0, 0}, 
-{'l', 111.20, -95.80, 0, 0, 0, 0}, 
-{'l', 94.20, -102.60, 0, 0, 0, 0}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 51.40, 85.00, 0, 0, 0, 0}, 
-{'c', 51.40, 85.00, 36.40 ,68.20, 28.00, 65.60}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 24.80, 64.20, 0, 0, 0, 0}, 
-{'c', 24.80, 64.20, -0.40 ,56.20, -15.80, 60.40}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 21.20, 63.00, 0, 0, 0, 0}, 
-{'c', 21.20, 63.00, 4.20 ,55.80, -10.60, 53.60}, 
-{'c', -10.60, 53.60, -27.20 ,51.00, -43.80, 58.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 22.20, 63.40, 0, 0, 0, 0}, 
-{'c', 22.20, 63.40, 6.80 ,52.40, 5.80, 51.00}, 
-{'c', 5.80, 51.00, -1.20 ,40.00, -14.20, 39.60}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 20.89, 54.41, 0, 0, 0, 0}, 
-{'c', 22.44, 55.87, 49.40 ,84.80, 49.40, 84.80}, 
-{'c', 84.60, 121.40, 56.60 ,87.20, 56.60, 87.20}, 
-{'c', 49.00, 82.40, 39.80 ,63.60, 39.80, 63.60}, 
-{'c', 38.60, 60.80, 53.80 ,70.80, 53.80, 70.80}, 
-{'c', 57.80, 71.60, 71.40 ,90.80, 71.40, 90.80}, 
-{'c', 64.60, 88.40, 69.40 ,95.60, 69.40, 95.60}, 
-{'c', 72.20, 97.60, 92.60 ,113.20, 92.60, 113.20}, 
-{'c', 96.20, 117.20, 100.20 ,118.80, 100.20, 118.80}, 
-{'c', 114.20, 113.60, 107.80 ,126.80, 107.80, 126.80}, 
-{'c', 110.20, 133.60, 115.80 ,122.00, 115.80, 122.00}, 
-{'c', 127.00, 105.20, 110.60 ,107.60, 110.60, 107.60}, 
-{'c', 80.60, 110.40, 73.80 ,94.40, 73.80, 94.40}, 
-{'c', 71.40, 92.00, 80.20 ,94.40, 80.20, 94.40}, 
-{'c', 88.60, 96.40, 73.00 ,82.00, 73.00, 82.00}, 
-{'c', 75.40, 82.00, 84.60 ,88.80, 84.60, 88.80}, 
-{'c', 95.00, 98.00, 97.00 ,96.00, 97.00, 96.00}, 
-{'c', 115.00, 87.20, 125.40 ,94.80, 125.40, 94.80}, 
-{'c', 127.40, 96.40, 121.80 ,103.20, 123.40, 108.40}, 
-{'c', 125.00, 113.60, 129.80 ,126.00, 129.80, 126.00}, 
-{'c', 127.40, 127.60, 127.80 ,138.40, 127.80, 138.40}, 
-{'c', 144.60, 161.60, 135.00 ,159.60, 135.00, 159.60}, 
-{'c', 119.40, 159.20, 134.20 ,166.80, 134.20, 166.80}, 
-{'c', 137.40, 168.80, 146.20 ,176.00, 146.20, 176.00}, 
-{'c', 143.40, 174.80, 141.80 ,180.00, 141.80, 180.00}, 
-{'c', 146.60, 184.00, 143.80 ,188.80, 143.80, 188.80}, 
-{'c', 137.80, 190.00, 136.60 ,194.00, 136.60, 194.00}, 
-{'c', 143.40, 202.00, 133.40 ,202.40, 133.40, 202.40}, 
-{'c', 137.00, 206.80, 132.20 ,218.80, 132.20, 218.80}, 
-{'c', 127.40, 218.80, 121.00 ,224.40, 121.00, 224.40}, 
-{'c', 123.40, 229.20, 113.00 ,234.80, 113.00, 234.80}, 
-{'c', 104.60, 236.40, 107.40 ,243.20, 107.40, 243.20}, 
-{'c', 99.40, 249.20, 97.00 ,265.20, 97.00, 265.20}, 
-{'c', 96.20, 275.60, 93.80 ,278.80, 99.00, 276.80}, 
-{'c', 104.20, 274.80, 103.40 ,262.40, 103.40, 262.40}, 
-{'c', 98.60, 246.80, 141.40 ,230.80, 141.40, 230.80}, 
-{'c', 145.40, 229.20, 146.20 ,224.00, 146.20, 224.00}, 
-{'c', 148.20, 224.40, 157.00 ,232.00, 157.00, 232.00}, 
-{'c', 164.60, 243.20, 165.00 ,234.00, 165.00, 234.00}, 
-{'c', 166.20, 230.40, 164.60 ,224.40, 164.60, 224.40}, 
-{'c', 170.60, 202.80, 156.60 ,196.40, 156.60, 196.40}, 
-{'c', 146.60, 162.80, 160.60 ,171.20, 160.60, 171.20}, 
-{'c', 163.40, 176.80, 174.20 ,182.00, 174.20, 182.00}, 
-{'l', 177.80, 179.60, 0, 0, 0, 0}, 
-{'c', 176.20, 174.80, 184.60 ,168.80, 184.60, 168.80}, 
-{'c', 187.40, 175.20, 193.40 ,167.20, 193.40, 167.20}, 
-{'c', 197.00, 142.80, 209.40 ,157.20, 209.40, 157.20}, 
-{'c', 213.40, 158.40, 214.60 ,151.60, 214.60, 151.60}, 
-{'c', 218.20, 141.20, 214.60 ,127.60, 214.60, 127.60}, 
-{'c', 218.20, 127.20, 227.80 ,133.20, 227.80, 133.20}, 
-{'c', 230.60, 129.60, 221.40 ,112.80, 225.40, 115.20}, 
-{'c', 229.40, 117.60, 233.80 ,119.20, 233.80, 119.20}, 
-{'c', 234.60, 117.20, 224.60 ,104.80, 224.60, 104.80}, 
-{'c', 220.20, 102.00, 215.00 ,81.60, 215.00, 81.60}, 
-{'c', 222.20, 85.20, 212.20 ,70.00, 212.20, 70.00}, 
-{'c', 212.20, 66.80, 218.20 ,55.60, 218.20, 55.60}, 
-{'c', 217.40, 48.80, 218.20 ,49.20, 218.20, 49.20}, 
-{'c', 221.00, 50.40, 229.00 ,52.00, 222.20, 45.60}, 
-{'c', 215.40, 39.20, 223.00 ,34.40, 223.00, 34.40}, 
-{'c', 227.40, 31.60, 213.80 ,32.00, 213.80, 32.00}, 
-{'c', 208.60, 27.60, 209.00 ,23.60, 209.00, 23.60}, 
-{'c', 217.00, 25.60, 202.60 ,11.20, 200.20, 7.60}, 
-{'c', 197.80, 4.00, 207.40 ,-1.20, 207.40, -1.20}, 
-{'c', 220.60, -4.80, 209.00 ,-8.00, 209.00, -8.00}, 
-{'c', 189.40, -7.60, 200.20 ,-18.40, 200.20, -18.40}, 
-{'c', 206.20, -18.00, 204.60 ,-20.40, 204.60, -20.40}, 
-{'c', 199.40, -21.60, 189.80 ,-28.00, 189.80, -28.00}, 
-{'c', 185.80, -31.60, 189.40 ,-30.80, 189.40, -30.80}, 
-{'c', 206.20, -29.60, 177.40 ,-40.80, 177.40, -40.80}, 
-{'c', 185.40, -40.80, 167.40 ,-51.20, 167.40, -51.20}, 
-{'c', 165.40, -52.80, 162.20 ,-60.40, 162.20, -60.40}, 
-{'c', 156.20, -65.60, 151.40 ,-72.40, 151.40, -72.40}, 
-{'c', 151.00, -76.80, 146.20 ,-81.60, 146.20, -81.60}, 
-{'c', 134.60, -95.20, 129.00 ,-94.80, 129.00, -94.80}, 
-{'c', 114.20, -98.40, 109.00 ,-97.60, 109.00, -97.60}, 
-{'l', 56.20, -93.20, 0, 0, 0, 0}, 
-{'c', 29.80, -80.40, 37.60 ,-59.40, 37.60, -59.40}, 
-{'c', 44.00, -51.00, 53.20 ,-54.80, 53.20, -54.80}, 
-{'c', 57.80, -61.00, 69.40 ,-58.80, 69.40, -58.80}, 
-{'c', 89.80, -55.60, 87.20 ,-59.20, 87.20, -59.20}, 
-{'c', 84.80, -63.80, 68.60 ,-70.00, 68.40, -70.60}, 
-{'c', 68.20, -71.20, 59.40 ,-74.60, 59.40, -74.60}, 
-{'c', 56.40, -75.80, 52.00 ,-85.00, 52.00, -85.00}, 
-{'c', 48.80, -88.40, 64.60 ,-82.60, 64.60, -82.60}, 
-{'c', 63.40, -81.60, 70.80 ,-77.60, 70.80, -77.60}, 
-{'c', 88.20, -78.60, 98.80 ,-67.80, 98.80, -67.80}, 
-{'c', 109.60, -51.20, 109.80 ,-59.40, 109.80, -59.40}, 
-{'c', 112.60, -68.80, 100.80 ,-90.00, 100.80, -90.00}, 
-{'c', 101.20, -92.00, 109.40 ,-85.40, 109.40, -85.40}, 
-{'c', 110.80, -87.40, 111.60 ,-81.60, 111.60, -81.60}, 
-{'c', 111.80, -79.20, 115.60 ,-71.20, 115.60, -71.20}, 
-{'c', 118.40, -58.20, 122.00 ,-65.60, 122.00, -65.60}, 
-{'l', 126.60, -56.20, 0, 0, 0, 0}, 
-{'c', 128.00, -53.60, 122.00 ,-46.00, 122.00, -46.00}, 
-{'c', 121.80, -43.20, 122.60 ,-43.40, 117.00, -35.80}, 
-{'c', 111.40, -28.20, 114.80 ,-23.80, 114.80, -23.80}, 
-{'c', 113.40, -17.20, 122.20 ,-17.60, 122.20, -17.60}, 
-{'c', 124.80, -15.40, 128.20 ,-15.40, 128.20, -15.40}, 
-{'c', 130.00, -13.40, 132.40 ,-14.00, 132.40, -14.00}, 
-{'c', 134.00, -17.80, 140.20 ,-15.80, 140.20, -15.80}, 
-{'c', 141.60, -18.20, 149.80 ,-18.60, 149.80, -18.60}, 
-{'c', 150.80, -21.20, 151.20 ,-22.80, 154.60, -23.40}, 
-{'c', 158.00, -24.00, 133.40 ,-67.00, 133.40, -67.00}, 
-{'c', 139.80, -67.80, 131.60 ,-80.20, 131.60, -80.20}, 
-{'c', 129.40, -86.80, 140.80 ,-72.20, 143.00, -70.80}, 
-{'c', 145.20, -69.40, 146.20 ,-67.20, 144.60, -67.40}, 
-{'c', 143.00, -67.60, 141.20 ,-65.40, 142.60, -65.20}, 
-{'c', 144.00, -65.00, 157.00 ,-50.00, 160.40, -39.80}, 
-{'c', 163.80, -29.60, 169.80 ,-25.60, 176.00, -19.60}, 
-{'c', 182.20, -13.60, 181.40 ,10.60, 181.40, 10.60}, 
-{'c', 181.00, 19.40, 187.00 ,30.00, 187.00, 30.00}, 
-{'c', 189.00, 33.80, 184.80 ,52.00, 184.80, 52.00}, 
-{'c', 182.80, 54.20, 184.20 ,55.00, 184.20, 55.00}, 
-{'c', 185.20, 56.20, 192.00 ,69.40, 192.00, 69.40}, 
-{'c', 190.20, 69.20, 193.80 ,72.80, 193.80, 72.80}, 
-{'c', 199.00, 78.80, 192.60 ,75.80, 192.60, 75.80}, 
-{'c', 186.60, 74.20, 193.60 ,84.00, 193.60, 84.00}, 
-{'c', 194.80, 85.80, 185.80 ,81.20, 185.80, 81.20}, 
-{'c', 176.60, 80.60, 188.20 ,87.80, 188.20, 87.80}, 
-{'c', 196.80, 95.00, 185.40 ,90.60, 185.40, 90.60}, 
-{'c', 180.80, 88.80, 184.00 ,95.60, 184.00, 95.60}, 
-{'c', 187.20, 97.20, 204.40 ,104.20, 204.40, 104.20}, 
-{'c', 204.80, 108.00, 201.80 ,113.00, 201.80, 113.00}, 
-{'c', 202.20, 117.00, 200.00 ,120.40, 200.00, 120.40}, 
-{'c', 198.80, 128.60, 198.20 ,129.40, 198.20, 129.40}, 
-{'c', 194.00, 129.60, 186.60 ,143.40, 186.60, 143.40}, 
-{'c', 184.80, 146.00, 174.60 ,158.00, 174.60, 158.00}, 
-{'c', 172.60, 165.00, 154.60 ,157.80, 154.60, 157.80}, 
-{'c', 148.00, 161.20, 150.00 ,157.80, 150.00, 157.80}, 
-{'c', 149.60, 155.60, 154.40 ,149.60, 154.40, 149.60}, 
-{'c', 161.40, 147.00, 158.80 ,136.20, 158.80, 136.20}, 
-{'c', 162.80, 134.80, 151.60 ,132.00, 151.80, 130.80}, 
-{'c', 152.00, 129.60, 157.80 ,128.20, 157.80, 128.20}, 
-{'c', 165.80, 126.20, 161.40 ,123.80, 161.40, 123.80}, 
-{'c', 160.80, 119.80, 163.80 ,114.20, 163.80, 114.20}, 
-{'c', 175.40, 113.40, 163.80 ,97.20, 163.80, 97.20}, 
-{'c', 153.00, 89.60, 152.00 ,83.80, 152.00, 83.80}, 
-{'c', 164.60, 75.60, 156.40 ,63.20, 156.60, 59.60}, 
-{'c', 156.80, 56.00, 158.00 ,34.40, 158.00, 34.40}, 
-{'c', 156.00, 28.20, 153.00 ,14.60, 153.00, 14.60}, 
-{'c', 155.20, 9.40, 162.60 ,-3.20, 162.60, -3.20}, 
-{'c', 165.40, -7.40, 174.20 ,-12.20, 172.00, -15.20}, 
-{'c', 169.80, -18.20, 162.00 ,-16.40, 162.00, -16.40}, 
-{'c', 154.20, -17.80, 154.80 ,-12.60, 154.80, -12.60}, 
-{'c', 153.20, -11.60, 152.40 ,-6.60, 152.40, -6.60}, 
-{'c', 151.68, 1.33, 142.80 ,7.60, 142.80, 7.60}, 
-{'c', 131.60, 13.80, 140.80 ,17.80, 140.80, 17.80}, 
-{'c', 146.80, 24.40, 137.00 ,24.60, 137.00, 24.60}, 
-{'c', 126.00, 22.80, 134.20 ,33.00, 134.20, 33.00}, 
-{'c', 145.00, 45.80, 142.00 ,48.60, 142.00, 48.60}, 
-{'c', 131.80, 49.60, 144.40 ,58.80, 144.40, 58.80}, 
-{'c', 144.40, 58.80, 143.60 ,56.80, 143.80, 58.60}, 
-{'c', 144.00, 60.40, 147.00 ,64.60, 147.80, 66.60}, 
-{'c', 148.60, 68.60, 144.60 ,68.80, 144.60, 68.80}, 
-{'c', 145.20, 78.40, 129.80 ,74.20, 129.80, 74.20}, 
-{'c', 129.80, 74.20, 129.80 ,74.20, 128.20, 74.40}, 
-{'c', 126.60, 74.60, 115.40 ,73.80, 109.60, 71.60}, 
-{'c', 103.80, 69.40, 97.00 ,69.40, 97.00, 69.40}, 
-{'c', 97.00, 69.40, 93.00 ,71.20, 85.40, 71.00}, 
-{'c', 77.80, 70.80, 69.80 ,73.60, 69.80, 73.60}, 
-{'c', 65.40, 73.20, 74.00 ,68.80, 74.20, 69.00}, 
-{'c', 74.40, 69.20, 80.00 ,63.60, 72.00, 64.20}, 
-{'c', 50.20, 65.83, 39.40 ,55.60, 39.40, 55.60}, 
-{'c', 37.40, 54.20, 34.80 ,51.40, 34.80, 51.40}, 
-{'c', 24.80, 49.40, 36.20 ,63.80, 36.20, 63.80}, 
-{'c', 37.40, 65.20, 36.00 ,66.20, 36.00, 66.20}, 
-{'c', 35.20, 64.60, 27.40 ,59.20, 27.40, 59.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -3.00, 42.80, 0, 0, 0, 0}, 
-{'c', -3.00, 42.80, 8.60 ,48.40, 11.20, 51.20}, 
-{'c', 13.80, 54.00, 27.80 ,65.40, 27.80, 65.40}, 
-{'c', 27.80, 65.40, 22.40 ,63.40, 19.80, 61.60}, 
-{'c', 17.20, 59.80, 6.40 ,51.60, 6.40, 51.60}, 
-{'f', 0.268000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -61.01, 11.60, 0, 0, 0, 0}, 
-{'c', -60.67, 11.46, -61.20 ,8.74, -61.40, 8.20}, 
-{'c', -62.42, 5.47, -71.40 ,4.00, -71.40, 4.00}, 
-{'c', -71.63, 5.37, -71.68 ,6.96, -71.58, 8.60}, 
-{'f', 0.603000,0.804000,0.201000,1.000000,0,0 }, 
-{'m', -61.01, 11.40, 0, 0, 0, 0}, 
-{'c', -61.46, 11.56, -61.02 ,8.67, -61.20, 8.20}, 
-{'c', -62.22, 5.47, -71.40 ,3.90, -71.40, 3.90}, 
-{'c', -71.63, 5.26, -71.68 ,6.86, -71.58, 8.50}, 
-{'f', 0.402000,0.603000,0.000000,1.000000,0,0 }, 
-{'m', -65.40, 11.55, 0, 0, 0, 0}, 
-{'c', -66.03, 11.55, -66.53 ,10.41, -66.53, 9.00}, 
-{'c', -66.53, 7.59, -66.03 ,6.46, -65.40, 6.46}, 
-{'c', -64.78, 6.46, -64.27 ,7.59, -64.27, 9.00}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -111.00, 109.60, 0, 0, 0, 0}, 
-{'c', -111.00, 109.60, -116.60 ,119.60, -91.80, 113.60}, 
-{'c', -91.80, 113.60, -77.80 ,112.40, -75.40, 110.00}, 
-{'c', -74.20, 110.80, -65.83 ,113.73, -63.00, 114.40}, 
-{'c', -56.20, 116.00, -47.80 ,106.00, -47.80, 106.00}, 
-{'c', -47.80, 106.00, -43.20 ,95.50, -40.40, 95.50}, 
-{'c', -37.60, 95.50, -40.80 ,97.10, -40.80, 97.10}, 
-{'c', -40.80, 97.10, -47.40 ,107.20, -47.00, 108.80}, 
-{'c', -47.00, 108.80, -52.20 ,128.80, -68.20, 129.60}, 
-{'c', -68.20, 129.60, -84.35 ,130.55, -83.00, 136.40}, 
-{'c', -83.00, 136.40, -74.20 ,134.00, -71.80, 136.40}, 
-{'c', -71.80, 136.40, -61.00 ,136.00, -69.00, 142.40}, 
-{'l', -75.80, 154.00, 0, 0, 0, 0}, 
-{'c', -75.80, 154.00, -75.66 ,157.92, -85.80, 154.40}, 
-{'c', -95.60, 151.00, -105.90 ,138.10, -105.90, 138.10}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -112.20, 113.60, 0, 0, 0, 0}, 
-{'c', -112.20, 113.60, -114.20 ,123.20, -77.40, 112.80}, 
-{'c', -77.40, 112.80, -73.00 ,112.80, -70.60, 113.60}, 
-{'c', -68.20, 114.40, -56.20 ,117.20, -54.20, 116.00}, 
-{'c', -54.20, 116.00, -61.40 ,129.60, -73.00, 128.00}, 
-{'c', -73.00, 128.00, -86.20 ,129.60, -85.80, 134.40}, 
-{'c', -85.80, 134.40, -81.80 ,141.60, -77.00, 144.00}, 
-{'c', -77.00, 144.00, -74.20 ,146.40, -74.60, 149.60}, 
-{'c', -75.00, 152.80, -77.80 ,154.40, -79.80, 155.20}, 
-{'c', -81.80, 156.00, -85.00 ,152.80, -86.60, 152.80}, 
-{'c', -88.20, 152.80, -96.60 ,146.40, -101.00, 141.60}, 
-{'c', -105.40, 136.80, -113.80 ,124.80, -113.40, 122.00}, 
-{'f', 0.938000,0.603000,0.603000,1.000000,0,0 }, 
-{'m', -109.00, 131.05, 0, 0, 0, 0}, 
-{'c', -106.40, 135.00, -103.20 ,139.20, -101.00, 141.60}, 
-{'c', -96.60, 146.40, -88.20 ,152.80, -86.60, 152.80}, 
-{'c', -85.00, 152.80, -81.80 ,156.00, -79.80, 155.20}, 
-{'c', -77.80, 154.40, -75.00 ,152.80, -74.60, 149.60}, 
-{'c', -74.20, 146.40, -77.00 ,144.00, -77.00, 144.00}, 
-{'c', -80.07, 142.47, -82.81 ,138.98, -84.39, 136.65}, 
-{'c', -84.39, 136.65, -84.20 ,139.20, -89.40, 138.40}, 
-{'c', -94.60, 137.60, -99.80 ,134.80, -101.40, 131.60}, 
-{'c', -103.00, 128.40, -105.40 ,126.00, -103.80, 129.60}, 
-{'c', -102.20, 133.20, -99.80 ,136.80, -98.20, 137.20}, 
-{'c', -96.60, 137.60, -97.00 ,138.80, -99.40, 138.40}, 
-{'f', 0.737000,0.402000,0.402000,1.000000,0,0 }, 
-{'m', -111.60, 110.00, 0, 0, 0, 0}, 
-{'c', -111.60, 110.00, -109.80 ,96.40, -108.60, 92.40}, 
-{'c', -108.60, 92.40, -109.40 ,85.60, -107.00, 81.40}, 
-{'c', -104.60, 77.20, -102.60 ,71.00, -99.60, 65.60}, 
-{'c', -96.60, 60.20, -96.40 ,56.20, -92.40, 54.60}, 
-{'c', -88.40, 53.00, -82.40 ,44.40, -79.60, 43.40}, 
-{'c', -76.80, 42.40, -77.00 ,43.20, -77.00, 43.20}, 
-{'c', -77.00, 43.20, -70.20 ,28.40, -56.60, 32.40}, 
-{'c', -56.60, 32.40, -72.80 ,29.60, -57.00, 20.20}, 
-{'c', -57.00, 20.20, -61.80 ,21.30, -58.50, 14.30}, 
-{'c', -56.30, 9.63, -56.80 ,16.40, -67.80, 28.20}, 
-{'c', -67.80, 28.20, -72.80 ,36.80, -78.00, 39.80}, 
-{'c', -83.20, 42.80, -95.20 ,49.80, -96.40, 53.60}, 
-{'c', -97.60, 57.40, -100.80 ,63.20, -102.80, 64.80}, 
-{'c', -104.80, 66.40, -107.60 ,70.60, -108.00, 74.00}, 
-{'c', -108.00, 74.00, -109.20 ,78.00, -110.60, 79.20}, 
-{'c', -112.00, 80.40, -112.20 ,83.60, -112.20, 85.60}, 
-{'c', -112.20, 87.60, -114.20 ,90.40, -114.00, 92.80}, 
-{'c', -114.00, 92.80, -113.20 ,111.80, -113.60, 113.80}, 
-{'f', 0.603000,0.134000,0.000000,1.000000,0,0 }, 
-{'m', -120.20, 114.60, 0, 0, 0, 0}, 
-{'c', -120.20, 114.60, -122.20 ,113.20, -126.60, 119.20}, 
-{'c', -126.60, 119.20, -119.30 ,152.20, -119.30, 153.60}, 
-{'c', -119.30, 153.60, -118.20 ,151.50, -119.50, 144.30}, 
-{'c', -120.80, 137.10, -121.70 ,124.40, -121.70, 124.40}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -98.60, 54.00, 0, 0, 0, 0}, 
-{'c', -98.60, 54.00, -116.20 ,57.20, -115.80, 86.40}, 
-{'l', -116.60, 111.20, 0, 0, 0, 0}, 
-{'c', -116.60, 111.20, -117.80 ,85.60, -119.00, 84.00}, 
-{'c', -120.20, 82.40, -116.20 ,71.20, -119.40, 77.20}, 
-{'c', -119.40, 77.20, -133.40 ,91.20, -125.40, 112.40}, 
-{'c', -125.40, 112.40, -123.90 ,115.70, -126.90, 111.10}, 
-{'c', -126.90, 111.10, -131.50 ,98.50, -130.40, 92.10}, 
-{'c', -130.40, 92.10, -130.20 ,89.90, -128.30, 87.10}, 
-{'c', -128.30, 87.10, -119.70 ,75.40, -117.00, 73.10}, 
-{'c', -117.00, 73.10, -115.20 ,58.70, -99.80, 53.50}, 
-{'f', 0.603000,0.134000,0.000000,1.000000,0,0 }, 
-{'m', 40.80, -12.20, 0, 0, 0, 0}, 
-{'c', 41.46, -12.55, 41.45 ,-13.52, 42.03, -13.70}, 
-{'c', 43.18, -14.04, 43.34 ,-15.11, 43.86, -15.89}, 
-{'c', 44.73, -17.21, 44.93 ,-18.74, 45.51, -20.23}, 
-{'c', 45.78, -20.93, 45.81 ,-21.89, 45.50, -22.55}, 
-{'c', 44.32, -25.03, 43.62 ,-27.48, 42.18, -29.91}, 
-{'c', 41.91, -30.36, 41.65 ,-31.15, 41.45, -31.75}, 
-{'c', 40.98, -33.13, 39.73 ,-34.12, 38.87, -35.44}, 
-{'c', 38.58, -35.88, 39.10 ,-36.81, 38.39, -36.89}, 
-{'c', 37.49, -37.00, 36.04 ,-37.58, 35.81, -36.55}, 
-{'c', 35.22, -33.97, 36.23 ,-31.44, 37.20, -29.00}, 
-{'c', 36.42, -28.31, 36.75 ,-27.39, 36.90, -26.62}, 
-{'c', 37.61, -23.01, 36.42 ,-19.66, 35.66, -16.19}, 
-{'c', 35.63, -16.08, 35.97 ,-15.89, 35.95, -15.82}, 
-{'c', 34.72, -13.14, 33.27 ,-10.69, 31.45, -8.31}, 
-{'c', 30.70, -7.32, 29.82 ,-6.40, 29.33, -5.34}, 
-{'c', 28.96, -4.55, 28.55 ,-3.59, 28.80, -2.60}, 
-{'c', 25.36, 0.18, 23.11 ,4.03, 20.50, 7.87}, 
-{'c', 20.04, 8.55, 20.33 ,9.76, 20.88, 10.03}, 
-{'c', 21.70, 10.43, 22.65 ,9.40, 23.12, 8.56}, 
-{'c', 23.51, 7.86, 23.86 ,7.21, 24.36, 6.57}, 
-{'c', 24.49, 6.39, 24.31 ,5.97, 24.45, 5.85}, 
-{'c', 27.08, 3.50, 28.75 ,0.57, 31.20, -1.80}, 
-{'c', 33.15, -2.13, 34.69 ,-3.13, 36.44, -4.14}, 
-{'c', 36.74, -4.32, 37.27 ,-4.07, 37.56, -4.26}, 
-{'c', 39.31, -5.44, 39.31 ,-7.48, 39.41, -9.39}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 31.96, -16.67, 0, 0, 0, 0}, 
-{'c', 32.08, -16.74, 31.93 ,-17.17, 32.04, -17.38}, 
-{'c', 32.20, -17.71, 32.60 ,-17.89, 32.76, -18.22}, 
-{'c', 32.87, -18.43, 32.71 ,-18.81, 32.85, -18.96}, 
-{'c', 35.18, -21.40, 35.44 ,-24.43, 34.40, -27.40}, 
-{'c', 35.42, -28.02, 35.48 ,-29.28, 35.06, -30.13}, 
-{'c', 34.21, -31.83, 34.01 ,-33.76, 33.04, -35.30}, 
-{'c', 32.24, -36.57, 30.66 ,-37.81, 29.29, -36.51}, 
-{'c', 28.87, -36.11, 28.55 ,-35.32, 28.82, -34.61}, 
-{'c', 28.89, -34.45, 29.17 ,-34.30, 29.15, -34.22}, 
-{'c', 29.04, -33.89, 28.49 ,-33.67, 28.49, -33.40}, 
-{'c', 28.46, -31.90, 27.50 ,-30.39, 28.13, -29.06}, 
-{'c', 28.91, -27.43, 29.72 ,-25.58, 30.40, -23.80}, 
-{'c', 29.17, -21.68, 30.20 ,-19.23, 28.45, -17.36}, 
-{'c', 28.31, -17.21, 28.32 ,-16.83, 28.44, -16.62}, 
-{'c', 28.73, -16.14, 29.14 ,-15.73, 29.62, -15.44}, 
-{'c', 29.83, -15.32, 30.18 ,-15.32, 30.38, -15.44}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 94.77, -26.98, 0, 0, 0, 0}, 
-{'c', 96.16, -25.18, 96.45 ,-22.39, 94.40, -21.00}, 
-{'c', 94.95, -17.69, 98.30 ,-19.67, 100.40, -20.20}, 
-{'c', 100.29, -20.59, 100.52 ,-20.93, 100.80, -20.94}, 
-{'c', 101.86, -20.95, 102.54 ,-21.98, 103.60, -21.80}, 
-{'c', 104.03, -23.36, 105.67 ,-24.06, 106.32, -25.44}, 
-{'c', 108.04, -29.13, 107.45 ,-33.41, 104.87, -36.65}, 
-{'c', 104.67, -36.91, 104.88 ,-37.42, 104.76, -37.79}, 
-{'c', 104.00, -40.00, 101.94 ,-40.31, 100.00, -41.00}, 
-{'c', 98.82, -44.88, 98.16 ,-48.91, 96.40, -52.60}, 
-{'c', 94.79, -52.85, 94.09 ,-54.59, 92.75, -55.31}, 
-{'c', 91.42, -56.03, 90.85 ,-54.45, 90.89, -53.40}, 
-{'c', 90.90, -53.20, 91.35 ,-52.97, 91.18, -52.61}, 
-{'c', 91.11, -52.45, 90.84 ,-52.33, 90.84, -52.20}, 
-{'c', 90.85, -52.06, 91.07 ,-51.93, 91.20, -51.80}, 
-{'c', 90.28, -50.98, 88.86 ,-50.50, 88.56, -49.36}, 
-{'c', 87.61, -45.65, 90.18 ,-42.52, 91.85, -39.32}, 
-{'c', 92.44, -38.19, 91.71 ,-36.92, 90.95, -35.71}, 
-{'c', 90.51, -35.01, 90.62 ,-33.89, 90.89, -33.03}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 57.61, -8.59, 0, 0, 0, 0}, 
-{'c', 56.12, -6.74, 52.71 ,-4.17, 55.63, -2.24}, 
-{'c', 55.82, -2.11, 56.19 ,-2.11, 56.37, -2.24}, 
-{'c', 58.39, -3.81, 60.39 ,-4.71, 62.83, -5.29}, 
-{'c', 62.95, -5.32, 63.22 ,-4.86, 63.59, -5.02}, 
-{'c', 65.21, -5.72, 67.22 ,-5.66, 68.40, -7.00}, 
-{'c', 72.17, -6.78, 75.73 ,-7.89, 79.12, -9.20}, 
-{'c', 80.28, -9.65, 81.55 ,-10.21, 82.75, -10.71}, 
-{'c', 84.13, -11.29, 85.33 ,-12.21, 86.45, -13.35}, 
-{'c', 86.58, -13.49, 86.93 ,-13.40, 87.20, -13.40}, 
-{'c', 87.16, -14.26, 88.12 ,-14.39, 88.37, -15.01}, 
-{'c', 88.46, -15.24, 88.31 ,-15.64, 88.44, -15.74}, 
-{'c', 90.58, -17.37, 91.50 ,-19.39, 90.33, -21.77}, 
-{'c', 90.05, -22.34, 89.80 ,-22.96, 89.23, -23.44}, 
-{'c', 88.15, -24.35, 87.05 ,-23.50, 86.00, -23.80}, 
-{'c', 85.84, -23.17, 85.11 ,-23.34, 84.73, -23.15}, 
-{'c', 83.87, -22.71, 82.53 ,-23.29, 81.67, -22.85}, 
-{'c', 80.31, -22.16, 79.07 ,-21.99, 77.65, -21.61}, 
-{'c', 77.34, -21.53, 76.56 ,-21.63, 76.40, -21.00}, 
-{'c', 76.27, -21.13, 76.12 ,-21.37, 76.01, -21.35}, 
-{'c', 74.10, -20.95, 72.84 ,-20.74, 71.54, -19.04}, 
-{'c', 71.44, -18.91, 71.00 ,-19.09, 70.84, -18.95}, 
-{'c', 69.88, -18.15, 69.48 ,-16.91, 68.38, -16.24}, 
-{'c', 68.17, -16.12, 67.82 ,-16.29, 67.63, -16.16}, 
-{'c', 66.98, -15.73, 66.62 ,-15.09, 65.97, -14.64}, 
-{'c', 65.64, -14.41, 65.25 ,-14.73, 65.28, -14.99}, 
-{'c', 65.52, -16.94, 66.17 ,-18.72, 65.60, -20.60}, 
-{'c', 67.68, -23.12, 70.19 ,-25.07, 72.00, -27.80}, 
-{'c', 72.02, -29.97, 72.71 ,-32.11, 72.59, -34.19}, 
-{'c', 72.58, -34.38, 72.30 ,-35.12, 72.17, -35.46}, 
-{'c', 71.86, -36.32, 72.76 ,-37.38, 71.92, -38.11}, 
-{'c', 70.52, -39.31, 69.22 ,-38.43, 68.40, -37.00}, 
-{'c', 66.56, -36.61, 64.50 ,-35.92, 62.92, -37.15}, 
-{'c', 61.91, -37.94, 61.33 ,-38.84, 60.53, -39.90}, 
-{'c', 59.55, -41.20, 59.88 ,-42.64, 59.95, -44.20}, 
-{'c', 59.96, -44.33, 59.65 ,-44.47, 59.65, -44.60}, 
-{'c', 59.65, -44.73, 59.87 ,-44.87, 60.00, -45.00}, 
-{'c', 59.29, -45.63, 59.02 ,-46.68, 58.00, -47.00}, 
-{'c', 58.30, -48.09, 57.63 ,-48.98, 56.76, -49.28}, 
-{'c', 54.76, -49.97, 53.09 ,-48.06, 51.19, -47.98}, 
-{'c', 50.68, -47.97, 50.21 ,-49.00, 49.56, -49.33}, 
-{'c', 49.13, -49.54, 48.43 ,-49.58, 48.07, -49.31}, 
-{'c', 47.38, -48.81, 46.79 ,-48.69, 46.03, -48.49}, 
-{'c', 44.41, -48.05, 43.14 ,-46.96, 41.66, -46.10}, 
-{'c', 40.17, -45.25, 39.22 ,-43.81, 38.14, -42.49}, 
-{'c', 37.20, -41.34, 37.06 ,-38.92, 38.48, -38.42}, 
-{'c', 40.32, -37.77, 41.63 ,-40.48, 43.59, -40.15}, 
-{'c', 43.90, -40.10, 44.11 ,-39.79, 44.00, -39.40}, 
-{'c', 44.39, -39.29, 44.61 ,-39.52, 44.80, -39.80}, 
-{'c', 45.66, -38.78, 46.82 ,-38.44, 47.76, -37.57}, 
-{'c', 48.73, -36.67, 50.48 ,-37.09, 51.49, -36.09}, 
-{'c', 53.02, -34.59, 52.46 ,-31.91, 54.40, -30.60}, 
-{'c', 53.81, -29.29, 53.21 ,-28.01, 52.87, -26.58}, 
-{'c', 52.59, -25.38, 53.58 ,-24.18, 54.80, -24.27}, 
-{'c', 56.05, -24.36, 56.31 ,-25.12, 56.80, -26.20}, 
-{'c', 57.07, -25.93, 57.54 ,-25.64, 57.49, -25.42}, 
-{'c', 57.04, -23.03, 56.01 ,-21.04, 55.55, -18.61}, 
-{'c', 55.49, -18.29, 55.19 ,-18.09, 54.80, -18.20}, 
-{'c', 54.33, -14.05, 50.28 ,-11.66, 47.73, -8.49}, 
-{'c', 47.33, -7.99, 47.33 ,-6.74, 47.74, -6.34}, 
-{'c', 49.14, -4.95, 51.10 ,-6.50, 52.80, -7.00}, 
-{'c', 53.01, -8.21, 53.87 ,-9.15, 55.20, -9.09}, 
-{'c', 55.46, -9.08, 55.70 ,-9.62, 56.02, -9.75}, 
-{'c', 56.37, -9.89, 56.87 ,-9.67, 57.16, -9.87}, 
-{'c', 58.88, -11.06, 60.29 ,-12.17, 62.03, -13.36}, 
-{'c', 62.22, -13.49, 62.57 ,-13.33, 62.78, -13.44}, 
-{'c', 63.11, -13.60, 63.29 ,-13.98, 63.62, -14.17}, 
-{'c', 63.97, -14.37, 64.21 ,-14.08, 64.40, -13.80}, 
-{'c', 63.75, -13.45, 63.75 ,-12.49, 63.17, -12.29}, 
-{'c', 62.39, -12.02, 61.83 ,-11.51, 61.16, -11.06}, 
-{'c', 60.87, -10.87, 60.21 ,-11.12, 60.10, -10.94}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 2.20, -58.00, 0, 0, 0, 0}, 
-{'c', 2.20, -58.00, -7.04 ,-60.87, -18.20, -35.20}, 
-{'c', -18.20, -35.20, -20.60 ,-30.00, -23.00, -28.00}, 
-{'c', -25.40, -26.00, -36.60 ,-22.40, -38.60, -18.40}, 
-{'l', -49.00, -2.40, 0, 0, 0, 0}, 
-{'c', -49.00, -2.40, -34.20 ,-18.40, -31.00, -20.80}, 
-{'c', -31.00, -20.80, -23.00 ,-29.20, -26.20, -22.40}, 
-{'c', -26.20, -22.40, -40.20 ,-11.60, -39.00, -2.40}, 
-{'c', -39.00, -2.40, -44.60 ,12.00, -45.40, 14.00}, 
-{'c', -45.40, 14.00, -29.40 ,-18.00, -27.00, -19.20}, 
-{'c', -24.60, -20.40, -23.40 ,-20.40, -24.60, -16.80}, 
-{'c', -25.80, -13.20, -26.20 ,3.20, -29.00, 5.20}, 
-{'c', -29.00, 5.20, -21.00 ,-15.20, -21.80, -18.40}, 
-{'c', -21.80, -18.40, -18.60 ,-22.00, -16.20, -16.80}, 
-{'l', -17.40, -0.80, 0, 0, 0, 0}, 
-{'l', -13.00, 11.20, 0, 0, 0, 0}, 
-{'c', -13.00, 11.20, -15.40 ,0.00, -13.80, -15.60}, 
-{'c', -13.80, -15.60, -15.80 ,-26.00, -11.80, -20.40}, 
-{'c', -7.80, -14.80, 1.80 ,-8.80, 1.80, -4.00}, 
-{'c', 1.80, -4.00, -3.40 ,-21.60, -12.60, -26.40}, 
-{'l', -16.60, -20.40, 0, 0, 0, 0}, 
-{'l', -17.80, -22.40, 0, 0, 0, 0}, 
-{'c', -17.80, -22.40, -21.40 ,-23.20, -17.00, -30.00}, 
-{'c', -12.60, -36.80, -13.00 ,-37.60, -13.00, -37.60}, 
-{'c', -13.00, -37.60, -6.60 ,-30.40, -5.00, -30.40}, 
-{'c', -5.00, -30.40, 8.20 ,-38.00, 9.40, -13.60}, 
-{'c', 9.40, -13.60, 16.20 ,-28.00, 7.00, -34.80}, 
-{'c', 7.00, -34.80, -7.80 ,-36.80, -6.60, -42.00}, 
-{'l', 0.60, -54.40, 0, 0, 0, 0}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -17.80, -41.60, 0, 0, 0, 0}, 
-{'c', -17.80, -41.60, -30.60 ,-41.60, -33.80, -36.40}, 
-{'l', -41.00, -26.80, 0, 0, 0, 0}, 
-{'c', -41.00, -26.80, -23.80 ,-36.80, -19.80, -38.00}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -57.80, -35.20, 0, 0, 0, 0}, 
-{'c', -57.80, -35.20, -59.80 ,-34.00, -60.20, -31.20}, 
-{'c', -60.60, -28.40, -63.00 ,-28.00, -62.20, -25.20}, 
-{'c', -61.40, -22.40, -59.40 ,-20.00, -59.40, -24.00}, 
-{'c', -59.40, -28.00, -57.80 ,-30.00, -57.00, -31.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -66.60, 26.00, 0, 0, 0, 0}, 
-{'c', -66.60, 26.00, -75.00 ,22.00, -78.20, 18.40}, 
-{'c', -81.40, 14.80, -80.95 ,19.97, -85.80, 19.60}, 
-{'c', -91.65, 19.16, -90.60 ,3.20, -90.60, 3.20}, 
-{'l', -94.60, 10.80, 0, 0, 0, 0}, 
-{'c', -94.60, 10.80, -95.80 ,25.20, -87.80, 22.80}, 
-{'c', -83.89, 21.63, -82.60 ,23.20, -84.20, 24.00}, 
-{'c', -85.80, 24.80, -78.60 ,25.20, -81.40, 26.80}, 
-{'c', -84.20, 28.40, -69.80 ,23.20, -72.20, 33.60}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -79.20, 40.40, 0, 0, 0, 0}, 
-{'c', -79.20, 40.40, -94.60 ,44.80, -98.20, 35.20}, 
-{'c', -98.20, 35.20, -103.00 ,37.60, -100.80, 40.60}, 
-{'c', -98.60, 43.60, -97.40 ,44.00, -97.40, 44.00}, 
-{'c', -97.40, 44.00, -92.00 ,45.20, -92.60, 46.00}, 
-{'c', -93.20, 46.80, -95.60 ,50.20, -95.60, 50.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 149.20, 118.60, 0, 0, 0, 0}, 
-{'c', 148.77, 120.73, 147.10 ,121.54, 145.20, 122.20}, 
-{'c', 143.28, 121.24, 140.69 ,118.14, 138.80, 120.20}, 
-{'c', 138.33, 119.72, 137.55 ,119.66, 137.20, 119.00}, 
-{'c', 136.74, 118.10, 137.01 ,117.06, 136.67, 116.26}, 
-{'c', 136.12, 114.98, 135.41 ,113.62, 135.60, 112.20}, 
-{'c', 137.41, 111.49, 138.00 ,109.58, 137.53, 107.82}, 
-{'c', 137.46, 107.56, 137.03 ,107.37, 137.23, 107.02}, 
-{'c', 137.42, 106.69, 137.73 ,106.47, 138.00, 106.20}, 
-{'c', 137.87, 106.33, 137.72 ,106.57, 137.61, 106.55}, 
-{'c', 137.00, 106.44, 137.12 ,105.81, 137.25, 105.42}, 
-{'c', 137.84, 103.67, 139.85 ,103.41, 141.20, 104.60}, 
-{'c', 141.46, 104.03, 141.97 ,104.23, 142.40, 104.20}, 
-{'c', 142.35, 103.62, 142.76 ,103.09, 142.96, 102.67}, 
-{'c', 143.47, 101.58, 145.10 ,102.68, 145.90, 102.07}, 
-{'c', 146.98, 101.25, 148.04 ,100.55, 149.12, 101.15}, 
-{'c', 150.93, 102.16, 152.64 ,103.37, 153.84, 105.11}, 
-{'c', 154.41, 105.95, 154.65 ,107.23, 154.59, 108.19}, 
-{'c', 154.55, 108.83, 153.17 ,108.48, 152.83, 109.41}, 
-{'c', 152.19, 111.16, 154.02 ,111.68, 154.77, 113.02}, 
-{'c', 154.97, 113.37, 154.71 ,113.67, 154.39, 113.77}, 
-{'c', 153.98, 113.90, 153.20 ,113.71, 153.33, 114.16}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 139.60, 138.20, 0, 0, 0, 0}, 
-{'c', 139.59, 136.46, 137.99 ,134.71, 139.20, 133.00}, 
-{'c', 139.34, 133.13, 139.47 ,133.36, 139.60, 133.36}, 
-{'c', 139.74, 133.36, 139.87 ,133.13, 140.00, 133.00}, 
-{'c', 141.50, 135.22, 145.15 ,136.15, 145.01, 138.99}, 
-{'c', 144.98, 139.44, 143.90 ,140.36, 144.80, 141.00}, 
-{'c', 142.99, 142.35, 142.93 ,144.72, 142.00, 146.60}, 
-{'c', 140.76, 146.31, 139.55 ,145.95, 138.40, 145.40}, 
-{'c', 138.75, 143.91, 138.64 ,142.23, 139.46, 140.91}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -26.60, 129.20, 0, 0, 0, 0}, 
-{'c', -26.60, 129.20, -43.46 ,139.34, -29.40, 124.00}, 
-{'c', -20.60, 114.40, -10.60 ,108.80, -10.60, 108.80}, 
-{'c', -10.60, 108.80, -0.20 ,104.40, 3.40, 103.20}, 
-{'c', 7.00, 102.00, 22.20 ,96.80, 25.40, 96.40}, 
-{'c', 28.60, 96.00, 38.20 ,92.00, 45.00, 96.00}, 
-{'c', 51.80, 100.00, 59.80 ,104.40, 59.80, 104.40}, 
-{'c', 59.80, 104.40, 43.40 ,96.00, 39.80, 98.40}, 
-{'c', 36.20, 100.80, 29.00 ,100.40, 23.00, 103.60}, 
-{'c', 23.00, 103.60, 8.20 ,108.00, 5.00, 110.00}, 
-{'c', 1.80, 112.00, -8.60 ,123.60, -10.20, 122.80}, 
-{'c', -11.80, 122.00, -9.80 ,121.60, -8.60, 118.80}, 
-{'c', -7.40, 116.00, -9.40 ,114.40, -17.40, 120.80}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -19.20, 123.23, 0, 0, 0, 0}, 
-{'c', -19.20, 123.23, -17.79 ,110.19, -9.31, 111.86}, 
-{'c', -9.31, 111.86, -1.08 ,107.69, 1.64, 105.72}, 
-{'c', 1.64, 105.72, 9.78 ,104.02, 11.09, 103.40}, 
-{'c', 29.57, 94.70, 44.29 ,99.22, 44.84, 98.10}, 
-{'c', 45.38, 96.98, 65.01 ,104.10, 68.61, 108.19}, 
-{'c', 69.01, 108.63, 58.38 ,102.59, 48.69, 100.70}, 
-{'c', 40.41, 99.08, 18.81 ,100.94, 7.91, 106.48}, 
-{'c', 4.93, 107.99, -4.01 ,113.77, -6.54, 113.66}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -23.00, 148.80, 0, 0, 0, 0}, 
-{'c', -23.00, 148.80, -38.20 ,146.40, -21.40, 144.80}, 
-{'c', -21.40, 144.80, -3.40 ,142.80, 0.60, 137.60}, 
-{'c', 0.60, 137.60, 14.20 ,128.40, 17.00, 128.00}, 
-{'c', 19.80, 127.60, 49.80 ,120.40, 50.20, 118.00}, 
-{'c', 50.60, 115.60, 56.20 ,115.60, 57.80, 116.40}, 
-{'c', 59.40, 117.20, 58.60 ,118.40, 55.80, 119.20}, 
-{'c', 53.00, 120.00, 21.80 ,136.40, 15.40, 137.60}, 
-{'c', 9.00, 138.80, -2.60 ,146.40, -7.40, 147.60}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -3.48, 141.40, 0, 0, 0, 0}, 
-{'c', -3.48, 141.40, -12.06 ,140.57, -3.46, 139.75}, 
-{'c', -3.46, 139.75, 5.36 ,136.33, 7.40, 133.67}, 
-{'c', 7.40, 133.67, 14.37 ,128.96, 15.80, 128.75}, 
-{'c', 17.23, 128.55, 31.19 ,124.86, 31.40, 123.63}, 
-{'c', 31.60, 122.40, 65.67 ,109.82, 70.09, 113.01}, 
-{'c', 73.00, 115.11, 63.10 ,113.44, 53.47, 117.85}, 
-{'c', 52.11, 118.47, 18.26 ,133.05, 14.98, 133.67}, 
-{'c', 11.70, 134.28, 5.76 ,138.17, 3.31, 138.79}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -11.40, 143.60, 0, 0, 0, 0}, 
-{'c', -11.40, 143.60, -6.20 ,143.20, -7.40, 144.80}, 
-{'c', -8.60, 146.40, -11.00 ,145.60, -11.00, 145.60}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -18.60, 145.20, 0, 0, 0, 0}, 
-{'c', -18.60, 145.20, -13.40 ,144.80, -14.60, 146.40}, 
-{'c', -15.80, 148.00, -18.20 ,147.20, -18.20, 147.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -29.00, 146.80, 0, 0, 0, 0}, 
-{'c', -29.00, 146.80, -23.80 ,146.40, -25.00, 148.00}, 
-{'c', -26.20, 149.60, -28.60 ,148.80, -28.60, 148.80}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -36.60, 147.60, 0, 0, 0, 0}, 
-{'c', -36.60, 147.60, -31.40 ,147.20, -32.60, 148.80}, 
-{'c', -33.80, 150.40, -36.20 ,149.60, -36.20, 149.60}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 1.80, 108.00, 0, 0, 0, 0}, 
-{'c', 1.80, 108.00, 6.20 ,108.00, 5.00, 109.60}, 
-{'c', 3.80, 111.20, 0.60 ,110.80, 0.60, 110.80}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -8.20, 113.60, 0, 0, 0, 0}, 
-{'c', -8.20, 113.60, -1.69 ,111.46, -4.20, 114.80}, 
-{'c', -5.40, 116.40, -7.80 ,115.60, -7.80, 115.60}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -19.40, 118.40, 0, 0, 0, 0}, 
-{'c', -19.40, 118.40, -14.20 ,118.00, -15.40, 119.60}, 
-{'c', -16.60, 121.20, -19.00 ,120.40, -19.00, 120.40}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -27.00, 124.40, 0, 0, 0, 0}, 
-{'c', -27.00, 124.40, -21.80 ,124.00, -23.00, 125.60}, 
-{'c', -24.20, 127.20, -26.60 ,126.40, -26.60, 126.40}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -33.80, 129.20, 0, 0, 0, 0}, 
-{'c', -33.80, 129.20, -28.60 ,128.80, -29.80, 130.40}, 
-{'c', -31.00, 132.00, -33.40 ,131.20, -33.40, 131.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 5.28, 135.60, 0, 0, 0, 0}, 
-{'c', 5.28, 135.60, 12.20 ,135.07, 10.61, 137.19}, 
-{'c', 9.01, 139.32, 5.81 ,138.26, 5.81, 138.26}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 15.68, 130.80, 0, 0, 0, 0}, 
-{'c', 15.68, 130.80, 22.60 ,130.27, 21.01, 132.40}, 
-{'c', 19.41, 134.53, 16.21 ,133.46, 16.21, 133.46}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 26.48, 126.40, 0, 0, 0, 0}, 
-{'c', 26.48, 126.40, 33.40 ,125.87, 31.81, 128.00}, 
-{'c', 30.21, 130.12, 27.01 ,129.06, 27.01, 129.06}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 36.88, 121.60, 0, 0, 0, 0}, 
-{'c', 36.88, 121.60, 43.80 ,121.07, 42.21, 123.19}, 
-{'c', 40.61, 125.33, 37.41 ,124.26, 37.41, 124.26}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 9.28, 103.60, 0, 0, 0, 0}, 
-{'c', 9.28, 103.60, 16.20 ,103.07, 14.61, 105.19}, 
-{'c', 13.01, 107.33, 9.01 ,107.06, 9.01, 107.06}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 19.28, 100.40, 0, 0, 0, 0}, 
-{'c', 19.28, 100.40, 26.20 ,99.87, 24.61, 102.00}, 
-{'c', 23.01, 104.12, 18.61 ,103.86, 18.61, 103.86}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -3.40, 140.40, 0, 0, 0, 0}, 
-{'c', -3.40, 140.40, 1.80 ,140.00, 0.60, 141.60}, 
-{'c', -0.60, 143.20, -3.00 ,142.40, -3.00, 142.40}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -76.60, 41.20, 0, 0, 0, 0}, 
-{'c', -76.60, 41.20, -81.00 ,50.00, -81.40, 53.20}, 
-{'c', -81.40, 53.20, -80.60 ,44.40, -79.40, 42.40}, 
-{'f', 0.603000,0.134000,0.000000,1.000000,0,0 }, 
-{'m', -95.00, 55.20, 0, 0, 0, 0}, 
-{'c', -95.00, 55.20, -98.20 ,69.60, -97.80, 72.40}, 
-{'c', -97.80, 72.40, -99.00 ,60.80, -98.60, 59.60}, 
-{'f', 0.603000,0.134000,0.000000,1.000000,0,0 }, 
-{'m', -74.20, -19.40, 0, 0, 0, 0}, 
-{'l', -74.40, -16.20, 0, 0, 0, 0}, 
-{'l', -76.60, -16.00, 0, 0, 0, 0}, 
-{'c', -76.60, -16.00, -62.40 ,-3.40, -61.80, 4.20}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -70.22, -18.14, 0, 0, 0, 0}, 
-{'c', -70.65, -18.55, -70.43 ,-19.30, -70.84, -19.56}, 
-{'c', -71.64, -20.07, -69.54 ,-20.13, -69.77, -20.84}, 
-{'c', -70.15, -22.05, -69.96 ,-22.07, -70.08, -23.35}, 
-{'c', -70.14, -23.95, -69.55 ,-25.49, -69.17, -25.93}, 
-{'c', -67.72, -27.58, -69.05 ,-30.51, -67.41, -32.06}, 
-{'c', -67.10, -32.35, -66.73 ,-32.90, -66.44, -33.32}, 
-{'c', -65.78, -34.28, -64.60 ,-34.77, -63.65, -35.60}, 
-{'c', -63.33, -35.88, -63.53 ,-36.70, -62.96, -36.61}, 
-{'c', -62.25, -36.49, -61.01 ,-36.62, -61.05, -35.78}, 
-{'c', -61.16, -33.66, -62.49 ,-31.94, -63.77, -30.28}, 
-{'c', -63.32, -29.57, -63.78 ,-28.94, -64.06, -28.38}, 
-{'c', -65.40, -25.76, -65.21 ,-22.92, -65.39, -20.08}, 
-{'c', -65.39, -19.99, -65.70 ,-19.92, -65.69, -19.86}, 
-{'c', -65.34, -17.53, -64.75 ,-15.33, -63.87, -13.10}, 
-{'c', -63.51, -12.17, -63.04 ,-11.28, -62.89, -10.35}, 
-{'c', -62.77, -9.66, -62.67 ,-8.83, -63.08, -8.12}, 
-{'c', -61.05, -5.23, -62.35 ,-2.58, -61.19, 0.95}, 
-{'c', -60.98, 1.57, -59.29 ,3.49, -59.75, 3.33}, 
-{'c', -62.26, 2.46, -62.37 ,2.06, -62.55, 1.30}, 
-{'c', -62.70, 0.68, -63.03 ,-0.70, -63.26, -1.30}, 
-{'c', -63.33, -1.46, -63.50 ,-3.35, -63.58, -3.47}, 
-{'c', -65.09, -5.85, -63.73 ,-5.67, -65.10, -8.03}, 
-{'c', -66.53, -8.71, -67.50 ,-9.82, -68.62, -10.98}, 
-{'c', -68.82, -11.18, -67.67 ,-11.91, -67.86, -12.12}, 
-{'c', -68.95, -13.41, -70.10 ,-14.18, -69.76, -15.67}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -73.80, -16.40, 0, 0, 0, 0}, 
-{'c', -73.80, -16.40, -73.40 ,-9.60, -71.00, -8.00}, 
-{'c', -68.60, -6.40, -69.80 ,-7.20, -73.00, -8.40}, 
-{'c', -76.20, -9.60, -75.00 ,-10.40, -75.00, -10.40}, 
-{'c', -75.00, -10.40, -77.80 ,-10.00, -75.40, -8.00}, 
-{'c', -73.00, -6.00, -69.40 ,-3.60, -71.00, -3.60}, 
-{'c', -72.60, -3.60, -80.20 ,-7.60, -80.20, -10.40}, 
-{'c', -80.20, -13.20, -81.20 ,-17.30, -81.20, -17.30}, 
-{'c', -81.20, -17.30, -80.10 ,-18.10, -75.30, -18.00}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -74.60, 2.20, 0, 0, 0, 0}, 
-{'c', -74.60, 2.20, -83.12 ,-0.59, -101.60, 2.80}, 
-{'c', -101.60, 2.80, -92.57 ,0.72, -73.80, 3.00}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -72.50, 2.13, 0, 0, 0, 0}, 
-{'c', -72.50, 2.13, -80.75 ,-1.39, -99.45, 0.39}, 
-{'c', -99.45, 0.39, -90.28 ,-0.90, -71.77, 3.00}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -70.71, 2.22, 0, 0, 0, 0}, 
-{'c', -70.71, 2.22, -78.68 ,-1.90, -97.46, -1.51}, 
-{'c', -97.46, -1.51, -88.21 ,-2.12, -70.05, 3.14}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -69.44, 2.44, 0, 0, 0, 0}, 
-{'c', -69.44, 2.44, -76.27 ,-1.86, -93.14, -2.96}, 
-{'c', -93.14, -2.96, -84.80 ,-2.79, -68.92, 3.32}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 45.84, 12.96, 0, 0, 0, 0}, 
-{'c', 45.84, 12.96, 44.91 ,13.61, 45.12, 12.42}, 
-{'c', 45.34, 11.24, 73.55 ,-1.93, 77.16, -1.68}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 42.45, 13.60, 0, 0, 0, 0}, 
-{'c', 42.45, 13.60, 41.57 ,14.31, 41.69, 13.12}, 
-{'c', 41.81, 11.93, 68.90 ,-3.42, 72.52, -3.45}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 39.16, 14.97, 0, 0, 0, 0}, 
-{'c', 39.16, 14.97, 38.33 ,15.75, 38.37, 14.55}, 
-{'c', 38.42, 13.35, 58.23 ,-2.15, 68.05, -4.02}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 36.28, 16.84, 0, 0, 0, 0}, 
-{'c', 36.28, 16.84, 35.54 ,17.53, 35.58, 16.45}, 
-{'c', 35.62, 15.37, 53.45 ,1.43, 62.28, -0.26}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 4.60, 164.80, 0, 0, 0, 0}, 
-{'c', 4.60, 164.80, -10.60 ,162.40, 6.20, 160.80}, 
-{'c', 6.20, 160.80, 24.20 ,158.80, 28.20, 153.60}, 
-{'c', 28.20, 153.60, 41.80 ,144.40, 44.60, 144.00}, 
-{'c', 47.40, 143.60, 63.80 ,140.00, 64.20, 137.60}, 
-{'c', 64.60, 135.20, 70.60 ,132.80, 72.20, 133.60}, 
-{'c', 73.80, 134.40, 73.80 ,143.60, 71.00, 144.40}, 
-{'c', 68.20, 145.20, 49.40 ,152.40, 43.00, 153.60}, 
-{'c', 36.60, 154.80, 25.00 ,162.40, 20.20, 163.60}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 77.60, 127.40, 0, 0, 0, 0}, 
-{'c', 77.60, 127.40, 74.60 ,129.00, 73.40, 131.60}, 
-{'c', 73.40, 131.60, 67.00 ,142.20, 52.80, 145.40}, 
-{'c', 52.80, 145.40, 29.80 ,154.40, 22.00, 156.40}, 
-{'c', 22.00, 156.40, 8.60 ,161.40, 1.20, 160.60}, 
-{'c', 1.20, 160.60, -5.80 ,160.80, 0.40, 162.40}, 
-{'c', 0.40, 162.40, 20.60 ,160.40, 24.00, 158.60}, 
-{'c', 24.00, 158.60, 39.60 ,153.40, 42.60, 150.80}, 
-{'c', 45.60, 148.20, 63.80 ,143.20, 66.00, 141.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 18.88, 158.91, 0, 0, 0, 0}, 
-{'c', 18.88, 158.91, 24.11 ,158.69, 22.96, 160.23}, 
-{'c', 21.80, 161.78, 19.36 ,160.91, 19.36, 160.91}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 11.68, 160.26, 0, 0, 0, 0}, 
-{'c', 11.68, 160.26, 16.91 ,160.04, 15.76, 161.59}, 
-{'c', 14.60, 163.14, 12.15 ,162.26, 12.15, 162.26}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 1.25, 161.51, 0, 0, 0, 0}, 
-{'c', 1.25, 161.51, 6.48 ,161.28, 5.33, 162.83}, 
-{'c', 4.17, 164.38, 1.73 ,163.51, 1.73, 163.51}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -6.38, 162.06, 0, 0, 0, 0}, 
-{'c', -6.38, 162.06, -1.15 ,161.83, -2.31, 163.38}, 
-{'c', -3.46, 164.93, -5.91 ,164.05, -5.91, 164.05}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 35.41, 151.51, 0, 0, 0, 0}, 
-{'c', 35.41, 151.51, 42.38 ,151.21, 40.84, 153.27}, 
-{'c', 39.31, 155.34, 36.05 ,154.17, 36.05, 154.17}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 45.73, 147.09, 0, 0, 0, 0}, 
-{'c', 45.73, 147.09, 51.69 ,143.79, 51.16, 148.85}, 
-{'c', 50.88, 151.41, 46.36 ,149.75, 46.36, 149.75}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 54.86, 144.27, 0, 0, 0, 0}, 
-{'c', 54.86, 144.27, 62.02 ,140.57, 60.29, 146.03}, 
-{'c', 59.51, 148.49, 55.49 ,146.94, 55.49, 146.94}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 64.38, 139.45, 0, 0, 0, 0}, 
-{'c', 64.38, 139.45, 68.73 ,134.55, 69.80, 141.21}, 
-{'c', 70.21, 143.75, 65.01 ,142.11, 65.01, 142.11}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 26.83, 156.00, 0, 0, 0, 0}, 
-{'c', 26.83, 156.00, 32.06 ,155.77, 30.91, 157.32}, 
-{'c', 29.76, 158.87, 27.31 ,158.00, 27.31, 158.00}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 62.43, 34.60, 0, 0, 0, 0}, 
-{'c', 62.43, 34.60, 61.71 ,35.27, 61.71, 34.20}, 
-{'c', 61.71, 33.13, 79.19 ,19.86, 88.03, 18.48}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 65.40, 98.40, 0, 0, 0, 0}, 
-{'c', 65.40, 98.40, 87.40 ,120.80, 96.60, 124.40}, 
-{'c', 96.60, 124.40, 105.80 ,135.60, 101.80, 161.60}, 
-{'c', 101.80, 161.60, 98.60 ,169.20, 95.40, 148.40}, 
-{'c', 95.40, 148.40, 98.60 ,123.20, 87.40, 139.20}, 
-{'c', 87.40, 139.20, 79.00 ,129.30, 85.40, 129.60}, 
-{'c', 85.40, 129.60, 88.60 ,131.60, 89.00, 130.00}, 
-{'c', 89.40, 128.40, 81.40 ,114.80, 64.20, 100.40}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', 7.00, 137.20, 0, 0, 0, 0}, 
-{'c', 7.00, 137.20, 6.80 ,135.40, 8.60, 136.20}, 
-{'c', 10.40, 137.00, 104.60 ,143.20, 136.20, 167.20}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 17.40, 132.80, 0, 0, 0, 0}, 
-{'c', 17.40, 132.80, 17.20 ,131.00, 19.00, 131.80}, 
-{'c', 20.80, 132.60, 157.40 ,131.60, 181.00, 164.00}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 29.00, 128.80, 0, 0, 0, 0}, 
-{'c', 29.00, 128.80, 28.80 ,127.00, 30.60, 127.80}, 
-{'c', 32.40, 128.60, 205.80 ,115.60, 229.40, 148.00}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 39.00, 124.00, 0, 0, 0, 0}, 
-{'c', 39.00, 124.00, 38.80 ,122.20, 40.60, 123.00}, 
-{'c', 42.40, 123.80, 164.60 ,85.20, 188.20, 117.60}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -19.00, 146.80, 0, 0, 0, 0}, 
-{'c', -19.00, 146.80, -19.20 ,145.00, -17.40, 145.80}, 
-{'c', -15.60, 146.60, 2.20 ,148.80, 4.20, 187.60}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -27.80, 148.40, 0, 0, 0, 0}, 
-{'c', -27.80, 148.40, -28.00 ,146.60, -26.20, 147.40}, 
-{'c', -24.40, 148.20, -10.20 ,143.60, -13.00, 182.40}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -35.80, 148.80, 0, 0, 0, 0}, 
-{'c', -35.80, 148.80, -36.00 ,147.00, -34.20, 147.80}, 
-{'c', -32.40, 148.60, -17.00 ,149.20, -29.40, 171.60}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 11.53, 104.47, 0, 0, 0, 0}, 
-{'c', 11.53, 104.47, 11.08 ,106.46, 12.63, 105.25}, 
-{'c', 28.70, 92.62, 61.14 ,33.72, 116.83, 28.09}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 22.73, 102.67, 0, 0, 0, 0}, 
-{'c', 22.73, 102.67, 21.36 ,101.47, 23.23, 100.85}, 
-{'c', 25.10, 100.22, 137.54 ,27.72, 176.83, 35.69}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 1.89, 108.77, 0, 0, 0, 0}, 
-{'c', 1.89, 108.77, 1.38 ,110.37, 3.09, 109.39}, 
-{'c', 12.06, 104.27, 15.68 ,47.06, 59.25, 45.80}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -18.04, 119.79, 0, 0, 0, 0}, 
-{'c', -18.04, 119.79, -19.11 ,121.08, -17.16, 120.83}, 
-{'c', -6.92, 119.49, 14.49 ,78.22, 58.93, 83.30}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -6.80, 113.67, 0, 0, 0, 0}, 
-{'c', -6.80, 113.67, -7.61 ,115.14, -5.74, 114.51}, 
-{'c', 4.06, 111.24, 17.14 ,66.62, 61.73, 63.08}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -25.08, 124.91, 0, 0, 0, 0}, 
-{'c', -25.08, 124.91, -25.95 ,125.95, -24.37, 125.75}, 
-{'c', -16.07, 124.67, 1.27 ,91.24, 37.26, 95.35}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -32.68, 130.82, 0, 0, 0, 0}, 
-{'c', -32.68, 130.82, -33.68 ,131.87, -32.09, 131.75}, 
-{'c', -27.92, 131.44, 2.71 ,98.36, 21.18, 113.86}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 36.85, 98.90, 0, 0, 0, 0}, 
-{'c', 36.85, 98.90, 35.65 ,97.54, 37.59, 97.16}, 
-{'c', 39.52, 96.77, 160.22 ,39.06, 198.18, 51.93}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 3.40, 163.20, 0, 0, 0, 0}, 
-{'c', 3.40, 163.20, 3.20 ,161.40, 5.00, 162.20}, 
-{'c', 6.80, 163.00, 22.20 ,163.60, 9.80, 186.00}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 13.80, 161.60, 0, 0, 0, 0}, 
-{'c', 13.80, 161.60, 13.60 ,159.80, 15.40, 160.60}, 
-{'c', 17.20, 161.40, 35.00 ,163.60, 37.00, 202.40}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 20.60, 160.00, 0, 0, 0, 0}, 
-{'c', 20.60, 160.00, 20.40 ,158.20, 22.20, 159.00}, 
-{'c', 24.00, 159.80, 48.60 ,163.20, 72.20, 195.60}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 28.23, 157.97, 0, 0, 0, 0}, 
-{'c', 28.23, 157.97, 27.79 ,156.21, 29.68, 156.77}, 
-{'c', 31.57, 157.32, 52.00 ,155.42, 90.10, 189.60}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 38.62, 153.57, 0, 0, 0, 0}, 
-{'c', 38.62, 153.57, 38.19 ,151.81, 40.08, 152.37}, 
-{'c', 41.97, 152.92, 76.80 ,157.42, 128.50, 192.40}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -1.80, 142.00, 0, 0, 0, 0}, 
-{'c', -1.80, 142.00, -2.00 ,140.20, -0.20, 141.00}, 
-{'c', 1.60, 141.80, 55.00 ,144.40, 85.40, 171.20}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -11.80, 146.00, 0, 0, 0, 0}, 
-{'c', -11.80, 146.00, -12.00 ,144.20, -10.20, 145.00}, 
-{'c', -8.40, 145.80, 16.20 ,149.20, 39.80, 181.60}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 49.50, 148.96, 0, 0, 0, 0}, 
-{'c', 49.50, 148.96, 48.94 ,147.24, 50.86, 147.66}, 
-{'c', 52.79, 148.07, 87.86 ,150.00, 141.98, 181.10}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 57.90, 146.56, 0, 0, 0, 0}, 
-{'c', 57.90, 146.56, 57.34 ,144.84, 59.26, 145.25}, 
-{'c', 61.19, 145.67, 96.26 ,147.60, 150.38, 178.70}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', 67.50, 141.56, 0, 0, 0, 0}, 
-{'c', 67.50, 141.56, 66.94 ,139.84, 68.86, 140.25}, 
-{'c', 70.79, 140.67, 113.86 ,145.00, 203.58, 179.30}, 
-{'f', 1.000000,1.000000,1.000000,1.000000,0,0 }, 
-{'m', -43.80, 148.40, 0, 0, 0, 0}, 
-{'c', -43.80, 148.40, -38.60 ,148.00, -39.80, 149.60}, 
-{'c', -41.00, 151.20, -43.40 ,150.40, -43.40, 150.40}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -13.00, 162.40, 0, 0, 0, 0}, 
-{'c', -13.00, 162.40, -7.80 ,162.00, -9.00, 163.60}, 
-{'c', -10.20, 165.20, -12.60 ,164.40, -12.60, 164.40}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -21.80, 162.00, 0, 0, 0, 0}, 
-{'c', -21.80, 162.00, -16.60 ,161.60, -17.80, 163.20}, 
-{'c', -19.00, 164.80, -21.40 ,164.00, -21.40, 164.00}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -117.17, 150.18, 0, 0, 0, 0}, 
-{'c', -117.17, 150.18, -112.12 ,151.50, -113.78, 152.62}, 
-{'c', -115.44, 153.74, -117.45 ,152.20, -117.45, 152.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -115.17, 140.58, 0, 0, 0, 0}, 
-{'c', -115.17, 140.58, -110.12 ,141.91, -111.78, 143.02}, 
-{'c', -113.44, 144.14, -115.45 ,142.60, -115.45, 142.60}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -122.37, 136.18, 0, 0, 0, 0}, 
-{'c', -122.37, 136.18, -117.32 ,137.50, -118.98, 138.62}, 
-{'c', -120.64, 139.74, -122.65 ,138.20, -122.65, 138.20}, 
-{'f', 0.000000,0.000000,0.000000,1.000000,0,0 }, 
-{'m', -42.60, 211.20, 0, 0, 0, 0}, 
-{'c', -42.60, 211.20, -44.20 ,211.20, -48.20, 213.20}, 
-{'c', -50.20, 213.20, -61.40 ,216.80, -67.00, 226.80}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 45.12, 303.85, 0, 0, 0, 0}, 
-{'c', 45.26, 304.11, 45.31 ,304.52, 45.60, 304.54}, 
-{'c', 46.26, 304.58, 47.49 ,304.88, 47.37, 304.25}, 
-{'c', 46.52, 299.94, 45.65 ,295.00, 41.52, 293.20}, 
-{'c', 40.88, 292.92, 39.43 ,293.33, 39.36, 294.21}, 
-{'c', 39.23, 295.74, 39.12 ,297.09, 39.42, 298.55}, 
-{'c', 39.73, 299.98, 41.88 ,299.99, 42.80, 298.60}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 34.04, 308.58, 0, 0, 0, 0}, 
-{'c', 34.79, 309.99, 34.66 ,311.85, 36.07, 312.42}, 
-{'c', 36.81, 312.71, 38.66 ,311.74, 38.25, 310.66}, 
-{'c', 37.44, 308.60, 37.06 ,306.36, 35.67, 304.55}, 
-{'c', 35.47, 304.29, 35.71 ,303.75, 35.55, 303.43}, 
-{'c', 34.95, 302.21, 33.81 ,301.47, 32.40, 301.80}, 
-{'c', 31.29, 304.00, 32.43 ,306.13, 33.95, 307.84}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -5.56, 303.39, 0, 0, 0, 0}, 
-{'c', -5.67, 303.01, -5.71 ,302.55, -5.54, 302.23}, 
-{'c', -5.01, 301.20, -4.22 ,300.07, -4.56, 299.05}, 
-{'c', -4.91, 298.00, -6.02 ,298.18, -6.67, 298.75}, 
-{'c', -7.81, 299.74, -7.86 ,301.57, -8.55, 302.93}, 
-{'c', -8.74, 303.31, -8.69 ,303.89, -9.13, 304.28}, 
-{'c', -9.61, 304.70, -10.05 ,306.22, -9.95, 306.79}, 
-{'c', -9.90, 307.11, -10.08 ,317.01, -9.86, 316.75}, 
-{'c', -9.24, 316.02, -6.19 ,306.28, -6.12, 305.39}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -31.20, 296.60, 0, 0, 0, 0}, 
-{'c', -28.57, 294.10, -25.78 ,291.14, -26.22, 287.43}, 
-{'c', -26.34, 286.45, -28.11 ,286.98, -28.30, 287.82}, 
-{'c', -29.10, 291.45, -31.14 ,294.11, -33.71, 296.50}, 
-{'c', -35.90, 298.55, -37.77 ,304.89, -38.00, 305.40}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -44.78, 290.63, 0, 0, 0, 0}, 
-{'c', -44.25, 290.26, -44.55 ,289.77, -44.34, 289.44}, 
-{'c', -43.38, 287.98, -42.08 ,286.74, -42.07, 285.00}, 
-{'c', -42.06, 284.72, -42.44 ,284.41, -42.78, 284.64}, 
-{'c', -43.05, 284.82, -43.40 ,284.95, -43.50, 285.08}, 
-{'c', -45.53, 287.53, -46.93 ,290.20, -48.38, 293.01}, 
-{'c', -48.56, 293.37, -49.70 ,297.86, -49.39, 297.97}, 
-{'c', -49.15, 298.06, -47.43 ,293.88, -47.22, 293.76}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -28.04, 310.18, 0, 0, 0, 0}, 
-{'c', -27.60, 309.31, -26.02 ,308.11, -26.14, 307.22}, 
-{'c', -26.25, 306.29, -25.79 ,304.85, -26.70, 305.54}, 
-{'c', -27.95, 306.48, -31.40 ,307.83, -31.67, 313.64}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -13.60, 293.00, 0, 0, 0, 0}, 
-{'c', -13.20, 292.33, -12.49 ,292.81, -12.03, 292.54}, 
-{'c', -11.38, 292.17, -10.77 ,291.61, -10.48, 290.96}, 
-{'c', -9.51, 288.81, -7.74 ,287.00, -7.60, 284.60}, 
-{'c', -9.09, 283.20, -9.77 ,285.24, -10.40, 286.20}, 
-{'c', -11.72, 284.55, -12.72 ,286.43, -14.02, 286.95}, 
-{'c', -14.09, 286.98, -14.30 ,286.63, -14.38, 286.65}, 
-{'c', -15.56, 287.10, -16.24 ,288.18, -17.23, 288.96}, 
-{'c', -17.41, 289.09, -17.81 ,288.91, -17.96, 289.05}, 
-{'c', -18.61, 289.65, -19.58 ,289.98, -19.86, 290.66}, 
-{'c', -20.97, 293.36, -24.11 ,295.46, -26.00, 303.00}, 
-{'c', -25.62, 303.91, -21.49 ,296.36, -21.00, 295.66}, 
-{'c', -20.16, 294.46, -20.05 ,297.32, -18.77, 296.66}, 
-{'c', -18.72, 296.63, -18.53 ,296.87, -18.40, 297.00}, 
-{'c', -18.21, 296.72, -17.99 ,296.49, -17.60, 296.60}, 
-{'c', -17.60, 296.20, -17.73 ,295.64, -17.53, 295.49}, 
-{'c', -16.30, 294.51, -16.38 ,293.44, -15.60, 292.20}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 46.20, 347.40, 0, 0, 0, 0}, 
-{'c', 46.20, 347.40, 53.60 ,327.00, 49.20, 315.80}, 
-{'c', 49.20, 315.80, 60.60 ,337.40, 56.00, 348.60}, 
-{'c', 56.00, 348.60, 55.60 ,338.20, 51.60, 333.20}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 31.40, 344.80, 0, 0, 0, 0}, 
-{'c', 31.40, 344.80, 36.80 ,336.00, 28.80, 317.60}, 
-{'c', 28.80, 317.60, 28.00 ,338.00, 21.20, 349.00}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 21.40, 342.80, 0, 0, 0, 0}, 
-{'c', 21.40, 342.80, 21.20 ,322.80, 21.60, 319.80}, 
-{'c', 21.60, 319.80, 17.80 ,336.40, 7.60, 346.00}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 11.80, 310.80, 0, 0, 0, 0}, 
-{'c', 11.80, 310.80, 17.80 ,324.40, 7.80, 342.80}, 
-{'c', 7.80, 342.80, 14.20 ,330.60, 9.40, 323.60}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -7.40, 342.40, 0, 0, 0, 0}, 
-{'c', -7.40, 342.40, -8.40 ,326.80, -6.60, 324.60}, 
-{'c', -6.60, 324.60, -6.40 ,318.20, -6.80, 317.20}, 
-{'c', -6.80, 317.20, -2.80 ,311.00, -2.60, 318.40}, 
-{'c', -2.60, 318.40, -1.20 ,326.20, 1.60, 330.80}, 
-{'c', 1.60, 330.80, 5.20 ,336.20, 5.00, 342.60}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -11.00, 314.80, 0, 0, 0, 0}, 
-{'c', -11.00, 314.80, -17.60 ,325.60, -19.40, 344.60}, 
-{'c', -19.40, 344.60, -20.80 ,338.40, -17.00, 324.00}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -32.80, 334.60, 0, 0, 0, 0}, 
-{'c', -32.80, 334.60, -27.80 ,329.20, -26.40, 324.20}, 
-{'c', -26.40, 324.20, -22.80 ,308.40, -29.20, 317.00}, 
-{'c', -29.20, 317.00, -29.00 ,325.00, -37.20, 332.40}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -38.60, 329.60, 0, 0, 0, 0}, 
-{'c', -38.60, 329.60, -35.20 ,312.20, -34.40, 311.40}, 
-{'c', -34.40, 311.40, -32.60 ,308.00, -35.40, 311.20}, 
-{'c', -35.40, 311.20, -44.20 ,330.40, -48.20, 337.00}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -44.40, 313.00, 0, 0, 0, 0}, 
-{'c', -44.40, 313.00, -32.80 ,290.60, -54.60, 316.40}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -59.80, 298.40, 0, 0, 0, 0}, 
-{'c', -59.80, 298.40, -55.00 ,279.60, -52.40, 279.80}, 
-{'c', -52.40, 279.80, -44.20 ,270.80, -50.80, 281.40}, 
-{'c', -50.80, 281.40, -56.80 ,291.00, -56.20, 300.80}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 270.50, 287.00, 0, 0, 0, 0}, 
-{'c', 270.50, 287.00, 258.50 ,277.00, 256.00, 273.50}, 
-{'c', 256.00, 273.50, 269.50 ,292.00, 269.50, 299.00}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 276.00, 265.00, 0, 0, 0, 0}, 
-{'c', 276.00, 265.00, 255.00 ,250.00, 251.50, 242.50}, 
-{'c', 251.50, 242.50, 278.00 ,272.00, 278.00, 276.50}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 293.00, 111.00, 0, 0, 0, 0}, 
-{'c', 293.00, 111.00, 281.00 ,103.00, 279.50, 105.00}, 
-{'c', 279.50, 105.00, 290.00 ,111.50, 292.50, 120.00}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 301.50, 191.50, 0, 0, 0, 0}, 
-{'l', 284.00, 179.50, 0, 0, 0, 0}, 
-{'c', 284.00, 179.50, 303.00 ,196.50, 303.50, 200.50}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -89.25, 169.00, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'l', -67.25, 173.75, 0, 0, 0, 0}, 
-{'m', -39.00, 331.00, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -33.50, 336.00, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 20.50, 344.50, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 301.50, 191.50, 0, 0, 0, 0}, 
-{'l', 284.00, 179.50, 0, 0, 0, 0}, 
-{'c', 284.00, 179.50, 303.00 ,196.50, 303.50, 200.50}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -89.25, 169.00, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'l', -67.25, 173.75, 0, 0, 0, 0}, 
-{'m', -39.00, 331.00, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -33.50, 336.00, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 20.50, 344.50, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 301.50, 191.50, 0, 0, 0, 0}, 
-{'l', 284.00, 179.50, 0, 0, 0, 0}, 
-{'c', 284.00, 179.50, 303.00 ,196.50, 303.50, 200.50}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -89.25, 169.00, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'l', -67.25, 173.75, 0, 0, 0, 0}, 
-{'m', -39.00, 331.00, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', -33.50, 336.00, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }, 
-{'m', 20.50, 344.50, 0, 0, 0, 0}, 
-{'f', 0.804000,0.804000,0.804000,1.000000,0,0 }};
diff --git a/test/tighten-bounds.c b/test/tighten-bounds.c
deleted file mode 100644 (file)
index 02fc81a..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright © 2011 Uli Schlachter
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Uli Schlachter <psychon@znc.in>
- */
-
-#include "cairo-test.h"
-
-static void path_none (cairo_t *cr, int size)
-{
-}
-
-static void path_box (cairo_t *cr, int size)
-{
-    cairo_rectangle (cr, 0, 0, size, size);
-}
-
-static void path_box_unaligned (cairo_t *cr, int size)
-{
-    cairo_rectangle (cr, 0.5, 0.5, size - 1, size - 1);
-}
-
-static void path_triangle (cairo_t *cr, int size)
-{
-    cairo_move_to (cr, 0, 0);
-    cairo_line_to (cr, size/2, size);
-    cairo_line_to (cr, size, 0);
-    cairo_close_path (cr);
-}
-
-static void path_circle (cairo_t *cr, int size)
-{
-    cairo_arc (cr, size / 2.0, size / 2.0, size / 2.0, 0, 2 * M_PI);
-}
-
-static void (* const path_funcs[])(cairo_t *cr, int size) = {
-    path_none,
-    path_box,
-    path_box_unaligned,
-    path_triangle,
-    path_circle
-};
-
-#define SIZE 20
-#define PAD 2
-#define TYPES 6
-/* All-clipped is boring, thus we skip path_none for clipping */
-#define CLIP_OFFSET 1
-#define IMAGE_WIDTH ((ARRAY_LENGTH (path_funcs) - CLIP_OFFSET) * TYPES * (SIZE + PAD) - PAD)
-#define IMAGE_HEIGHT (ARRAY_LENGTH (path_funcs) * (SIZE + PAD) - PAD)
-
-static void
-draw_idx (cairo_t *cr, int i, int j, int type)
-{
-    cairo_bool_t little_path = type & (1 << 0);
-    cairo_bool_t empty_clip;
-    cairo_bool_t little_clip;
-
-    /* The lowest bit controls the path, the rest the clip */
-    little_path = type & 1;
-
-    /* We don't want the combination "empty_clip = TRUE, little_clip = FALSE"
-     * (== all clipped).
-     */
-    switch (type >> 1)
-    {
-    case 0:
-       empty_clip = FALSE;
-       little_clip = FALSE;
-       break;
-    case 1:
-       empty_clip = FALSE;
-       little_clip = TRUE;
-       break;
-    case 2:
-       empty_clip = TRUE;
-       little_clip = TRUE;
-       break;
-    default:
-       return;
-    }
-
-    cairo_save (cr);
-
-    /* Thanks to the fill rule, drawing something twice removes it again */
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-
-    path_funcs[i] (cr, SIZE);
-    if (empty_clip)
-       path_funcs[i] (cr, SIZE);
-    if (little_clip)
-    {
-       cairo_save (cr);
-       cairo_translate (cr, SIZE / 4, SIZE / 4);
-       path_funcs[i] (cr, SIZE / 2);
-       cairo_restore (cr);
-    }
-    cairo_clip (cr);
-
-    path_funcs[j] (cr, SIZE);
-    path_funcs[j] (cr, SIZE);
-    if (little_path)
-    {
-       /* Draw the object again in the center of itself */
-       cairo_save (cr);
-       cairo_translate (cr, SIZE / 4, SIZE / 4);
-       path_funcs[j] (cr, SIZE / 2);
-       cairo_restore (cr);
-    }
-    cairo_fill (cr);
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    size_t i, j, k;
-
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_paint (cr);
-
-    /* Set an unbounded operator so that we can see how accurate the bounded
-     * extents were.
-     */
-    cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-    cairo_set_source_rgb (cr, 1, 1, 1);
-
-    for (j = 0; j < ARRAY_LENGTH (path_funcs); j++) {
-       cairo_save (cr);
-       for (i = CLIP_OFFSET; i < ARRAY_LENGTH (path_funcs); i++) {
-           for (k = 0; k < TYPES; k++) {
-               cairo_save (cr);
-               cairo_rectangle (cr, 0, 0, SIZE, SIZE);
-               cairo_clip (cr);
-               draw_idx (cr, i, j, k);
-               cairo_restore (cr);
-               cairo_translate (cr, SIZE + PAD, 0);
-           }
-       }
-       cairo_restore (cr);
-       cairo_translate (cr, 0, SIZE + PAD);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (tighten_bounds,
-           "Tests that we tighten the bounds after tessellation.",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/toy-font-face.c b/test/toy-font-face.c
deleted file mode 100644 (file)
index cbebf84..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright © 2005,2008 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- *         Behdad Esfahbod <behdad@behdad.org>
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "cairo-test.h"
-
-#include <cairo.h>
-#include <assert.h>
-#include <string.h>
-
-#if   CAIRO_HAS_WIN32_FONT
-#define CAIRO_FONT_FAMILY_DEFAULT "Arial"
-#elif CAIRO_HAS_QUARTZ_FONT
-#define CAIRO_FONT_FAMILY_DEFAULT "Helvetica"
-#elif CAIRO_HAS_FT_FONT
-#define CAIRO_FONT_FAMILY_DEFAULT ""
-#else
-#define CAIRO_FONT_FAMILY_DEFAULT "@cairo:"
-#endif
-
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_t *cr;
-    cairo_surface_t *surface;
-    cairo_font_face_t *font_face;
-    cairo_status_t status;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, 0, 0);
-    cr = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    font_face = cairo_font_face_reference (cairo_get_font_face (cr));
-    assert (cairo_font_face_get_type (font_face) == CAIRO_FONT_TYPE_TOY);
-    assert (cairo_toy_font_face_get_family (font_face) != NULL);
-    assert (cairo_toy_font_face_get_slant (font_face) == CAIRO_FONT_SLANT_NORMAL);
-    assert (cairo_toy_font_face_get_weight (font_face) == CAIRO_FONT_WEIGHT_NORMAL);
-    status = cairo_font_face_status(font_face);
-    cairo_font_face_destroy (font_face);
-
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    cairo_select_font_face (cr,
-                           "bizarre",
-                           CAIRO_FONT_SLANT_OBLIQUE,
-                           CAIRO_FONT_WEIGHT_BOLD);
-    font_face = cairo_font_face_reference (cairo_get_font_face (cr));
-    assert (cairo_font_face_get_type (font_face) == CAIRO_FONT_TYPE_TOY);
-    assert (0 == (strcmp) (cairo_toy_font_face_get_family (font_face), "bizarre"));
-    assert (cairo_toy_font_face_get_slant (font_face) == CAIRO_FONT_SLANT_OBLIQUE);
-    assert (cairo_toy_font_face_get_weight (font_face) == CAIRO_FONT_WEIGHT_BOLD);
-    status = cairo_font_face_status(font_face);
-    cairo_font_face_destroy (font_face);
-
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    font_face = cairo_toy_font_face_create ("bozarre",
-                                           CAIRO_FONT_SLANT_OBLIQUE,
-                                           CAIRO_FONT_WEIGHT_BOLD);
-    assert (cairo_font_face_get_type (font_face) == CAIRO_FONT_TYPE_TOY);
-    assert (0 == (strcmp) (cairo_toy_font_face_get_family (font_face), "bozarre"));
-    assert (cairo_toy_font_face_get_slant (font_face) == CAIRO_FONT_SLANT_OBLIQUE);
-    assert (cairo_toy_font_face_get_weight (font_face) == CAIRO_FONT_WEIGHT_BOLD);
-    status = cairo_font_face_status(font_face);
-    cairo_font_face_destroy (font_face);
-
-    if (status)
-       return cairo_test_status_from_status (ctx, status);
-
-    font_face = cairo_toy_font_face_create (NULL,
-                                           CAIRO_FONT_SLANT_OBLIQUE,
-                                           CAIRO_FONT_WEIGHT_BOLD);
-    assert (cairo_font_face_get_type (font_face) == CAIRO_FONT_TYPE_TOY);
-    assert (0 == (strcmp) (cairo_toy_font_face_get_family (font_face), CAIRO_FONT_FAMILY_DEFAULT));
-    assert (cairo_toy_font_face_get_slant (font_face) == CAIRO_FONT_SLANT_NORMAL);
-    assert (cairo_toy_font_face_get_weight (font_face) == CAIRO_FONT_WEIGHT_NORMAL);
-    assert (cairo_font_face_status(font_face) == CAIRO_STATUS_NULL_POINTER);
-    cairo_font_face_destroy (font_face);
-
-    font_face = cairo_toy_font_face_create ("\xff",
-                                           CAIRO_FONT_SLANT_OBLIQUE,
-                                           CAIRO_FONT_WEIGHT_BOLD);
-    assert (cairo_font_face_get_type (font_face) == CAIRO_FONT_TYPE_TOY);
-    assert (0 == (strcmp) (cairo_toy_font_face_get_family (font_face), CAIRO_FONT_FAMILY_DEFAULT));
-    assert (cairo_toy_font_face_get_slant (font_face) == CAIRO_FONT_SLANT_NORMAL);
-    assert (cairo_toy_font_face_get_weight (font_face) == CAIRO_FONT_WEIGHT_NORMAL);
-    assert (cairo_font_face_status(font_face) == CAIRO_STATUS_INVALID_STRING);
-    cairo_font_face_destroy (font_face);
-
-    font_face = cairo_toy_font_face_create ("sans",
-                                           -1,
-                                           CAIRO_FONT_WEIGHT_BOLD);
-    assert (cairo_font_face_get_type (font_face) == CAIRO_FONT_TYPE_TOY);
-    assert (0 == (strcmp) (cairo_toy_font_face_get_family (font_face), CAIRO_FONT_FAMILY_DEFAULT));
-    assert (cairo_toy_font_face_get_slant (font_face) == CAIRO_FONT_SLANT_NORMAL);
-    assert (cairo_toy_font_face_get_weight (font_face) == CAIRO_FONT_WEIGHT_NORMAL);
-    assert (cairo_font_face_status(font_face) == CAIRO_STATUS_INVALID_SLANT);
-    cairo_font_face_destroy (font_face);
-
-    font_face = cairo_toy_font_face_create ("sans",
-                                           CAIRO_FONT_SLANT_OBLIQUE,
-                                           -1);
-    assert (cairo_font_face_get_type (font_face) == CAIRO_FONT_TYPE_TOY);
-    assert (0 == (strcmp) (cairo_toy_font_face_get_family (font_face), CAIRO_FONT_FAMILY_DEFAULT));
-    assert (cairo_toy_font_face_get_slant (font_face) == CAIRO_FONT_SLANT_NORMAL);
-    assert (cairo_toy_font_face_get_weight (font_face) == CAIRO_FONT_WEIGHT_NORMAL);
-    assert (cairo_font_face_status(font_face) == CAIRO_STATUS_INVALID_WEIGHT);
-    cairo_font_face_destroy (font_face);
-
-    cairo_destroy (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (toy_font_face,
-           "Check the construction of 'toy' font faces",
-           "font, api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/transforms.c b/test/transforms.c
deleted file mode 100644 (file)
index 17b1396..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 45
-#define HEIGHT 30
-
-static void
-draw_L_shape (cairo_t *cr)
-{
-    cairo_move_to (cr, 0, 0);
-    cairo_rel_line_to (cr, 0, 10);
-    cairo_rel_line_to (cr, 5, 0);
-
-    cairo_save (cr);
-    cairo_identity_matrix (cr);
-    cairo_set_line_width (cr, 2.0);
-    cairo_stroke (cr);
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* We draw in the default black, so paint white first. */
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_translate (cr, 5, 5);
-
-    draw_L_shape (cr);
-
-    cairo_translate (cr, 10, 0);
-
-    cairo_save (cr);
-    {
-       cairo_scale (cr, 2, 2);
-       draw_L_shape (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_translate (cr, 15, 0);
-
-    cairo_save (cr);
-    {
-       cairo_rotate (cr, M_PI / 2.0);
-       draw_L_shape (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_translate (cr, 5, 0);
-
-    cairo_save (cr);
-    {
-       cairo_matrix_t skew_y = {
-           1, -1,
-           0,  1,
-           0,  0
-       };
-       cairo_transform (cr, &skew_y);
-       draw_L_shape (cr);
-    }
-    cairo_restore (cr);
-
-    cairo_translate (cr, 5, 10);
-
-    cairo_save (cr);
-    {
-       cairo_matrix_t skew_x = {
-            1.0, 0.0,
-           -0.5, 1.0,
-            0.0, 0.0
-       };
-       cairo_transform (cr, &skew_x);
-       draw_L_shape (cr);
-    }
-    cairo_restore (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (transforms,
-           "Test various transformations.",
-           "transforms, api", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/translate-show-surface.c b/test/translate-show-surface.c
deleted file mode 100644 (file)
index 9f7af8d..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-/* Bug history
- *
- * 2005-04-11 Carl Worth <cworth@cworth.org>
- *
- *   It appears that calling cairo_show_surface after cairo_translate
- *   somehow applies the translation twice to the surface being
- *   shown. This is pretty easy to demonstrate by bringing up xsvg on
- *   an SVG file with an <image> and panning around a bit with the
- *   arrow keys.
- *
- *   This is almost certainly a regression, and I suspect there may be
- *   some interaction with the fix for move-to-show-surface.
- *
- * 2005-04-12 Carl Worth <cworth@cworth.org>
- *
- *   I committed a fix for this bug today.
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    uint32_t colors[4] = {
-       0xffffffff, 0xffff0000,
-       0xff00ff00, 0xff0000ff
-    };
-    int i;
-
-    for (i=0; i < 4; i++) {
-       surface = cairo_image_surface_create_for_data ((unsigned char *) &colors[i],
-                                                      CAIRO_FORMAT_RGB24,
-                                                      1, 1, 4);
-       cairo_save (cr);
-       {
-           cairo_translate (cr, i % 2, i / 2);
-           cairo_set_source_surface (cr, surface, 0, 0);
-           cairo_paint (cr);
-       }
-       cairo_restore (cr);
-       cairo_surface_finish (surface); /* colors will go out of scope */
-       cairo_surface_destroy (surface);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (translate_show_surface,
-           "Tests calls to cairo_show_surface after cairo_translate",
-           "transform", /* keywords */
-           NULL, /* requirements */
-           2, 2,
-           NULL, draw)
diff --git a/test/trap-clip.c b/test/trap-clip.c
deleted file mode 100644 (file)
index acfcafc..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kristian Høgsberg <krh@redhat.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define WIDTH 16
-#define HEIGHT 16
-#define PAD 2
-
-static const char *png_filename = "romedalen.png";
-static cairo_surface_t *image;
-
-static void
-set_solid_pattern (const cairo_test_context_t *ctx, cairo_t *cr, int x, int y)
-{
-    cairo_set_source_rgb (cr, 0, 0, 0.6);
-}
-
-static void
-set_translucent_pattern (const cairo_test_context_t *ctx, cairo_t *cr, int x, int y)
-{
-    cairo_set_source_rgba (cr, 0, 0, 0.6, 0.5);
-}
-
-static void
-set_gradient_pattern (const cairo_test_context_t *ctx, cairo_t *cr, int x, int y)
-{
-    cairo_pattern_t *pattern;
-
-    pattern =
-       cairo_pattern_create_linear (x, y, x + WIDTH, y + HEIGHT);
-    cairo_pattern_add_color_stop_rgba (pattern, 0, 1, 1, 1, 1);
-    cairo_pattern_add_color_stop_rgba (pattern, 1, 0, 0, 0.4, 1);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-}
-
-static void
-set_image_pattern (const cairo_test_context_t *ctx, cairo_t *cr, int x, int y)
-{
-    cairo_pattern_t *pattern;
-
-    if (image == NULL || cairo_surface_status (image)) {
-       cairo_surface_destroy (image);
-       image = cairo_test_create_surface_from_png (ctx, png_filename);
-    }
-
-    pattern = cairo_pattern_create_for_surface (image);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
-    cairo_set_source (cr, pattern);
-    cairo_pattern_destroy (pattern);
-}
-
-static void
-draw_rect (cairo_t *cr, int x, int y)
-{
-    cairo_new_path (cr);
-    cairo_rectangle (cr, x, y, WIDTH, HEIGHT);
-    cairo_fill (cr);
-}
-
-static void
-draw_rects (cairo_t *cr, int x, int y)
-{
-    int width = WIDTH / 3;
-    int height = HEIGHT / 2;
-
-    cairo_new_path (cr);
-    cairo_rectangle (cr, x, y, width, height);
-    cairo_rectangle (cr, x + width, y + height, width, height);
-    cairo_rectangle (cr, x + 2 * width, y, width, height);
-    cairo_fill (cr);
-}
-
-static void
-draw_polygon (cairo_t *cr, int x, int y)
-{
-    cairo_new_path (cr);
-    cairo_move_to (cr, x, y);
-    cairo_line_to (cr, x, y + HEIGHT);
-    cairo_line_to (cr, x + WIDTH / 2, y + 3 * HEIGHT / 4);
-    cairo_line_to (cr, x + WIDTH, y + HEIGHT);
-    cairo_line_to (cr, x + WIDTH, y);
-    cairo_line_to (cr, x + WIDTH / 2, y + HEIGHT / 4);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-}
-
-static void
-clip_none (cairo_t *cr, int x, int y)
-{
-}
-
-static void
-clip_rect (cairo_t *cr, int x, int y)
-{
-    cairo_new_path (cr);
-    cairo_rectangle (cr, x + (int)WIDTH / 6, y + (int)HEIGHT / 6,
-                    4 * ((int)WIDTH  / 6), 4 * ((int)WIDTH / 6));
-    cairo_clip (cr);
-    cairo_new_path (cr);
-}
-
-static void
-clip_rects (cairo_t *cr, int x, int y)
-{
-    int height = HEIGHT / 3;
-
-    cairo_new_path (cr);
-    cairo_rectangle (cr, x, y, WIDTH, height);
-    cairo_rectangle (cr, x, y + 2 * height, WIDTH, height);
-    cairo_clip (cr);
-    cairo_new_path (cr);
-}
-
-static void
-clip_circle (cairo_t *cr, int x, int y)
-{
-    cairo_new_path (cr);
-    cairo_arc (cr, x + WIDTH / 2, y + HEIGHT / 2,
-              WIDTH / 3, 0, 2 * M_PI);
-    cairo_clip (cr);
-    cairo_new_path (cr);
-}
-
-static void (* const pattern_funcs[])(const cairo_test_context_t *ctx, cairo_t *cr, int x, int y) = {
-    set_solid_pattern,
-    set_translucent_pattern,
-    set_gradient_pattern,
-    set_image_pattern,
-};
-
-static void (* const draw_funcs[])(cairo_t *cr, int x, int y) = {
-    draw_rect,
-    draw_rects,
-    draw_polygon,
-};
-
-static void (* const clip_funcs[])(cairo_t *cr, int x, int y) = {
-    clip_none,
-    clip_rect,
-    clip_rects,
-    clip_circle,
-};
-
-#define IMAGE_WIDTH (ARRAY_LENGTH (pattern_funcs) * (WIDTH + PAD) + PAD)
-#define IMAGE_HEIGHT (ARRAY_LENGTH (draw_funcs) * ARRAY_LENGTH (clip_funcs) * (HEIGHT + PAD) + PAD)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    size_t i, j, k, x, y;
-
-    for (k = 0; k < ARRAY_LENGTH (clip_funcs); k++) {
-       for (j = 0; j < ARRAY_LENGTH (draw_funcs); j++) {
-           for (i = 0; i < ARRAY_LENGTH (pattern_funcs); i++) {
-               x = i * (WIDTH + PAD) + PAD;
-               y = (ARRAY_LENGTH (draw_funcs) * k + j) * (HEIGHT + PAD) + PAD;
-
-               cairo_save (cr);
-
-               cairo_move_to (cr, x, y);
-               clip_funcs[k] (cr, x, y);
-               pattern_funcs[i] (ctx, cr, x, y);
-               draw_funcs[j] (cr, x, y);
-               if (cairo_status (cr))
-                   cairo_test_log (ctx, "%d %d HERE!\n", (int)i, (int)j);
-
-               cairo_restore (cr);
-           }
-       }
-    }
-
-    if (cairo_status (cr) != CAIRO_STATUS_SUCCESS)
-       cairo_test_log (ctx, "%d %d .HERE!\n", (int)i, (int)j);
-
-    cairo_surface_destroy (image);
-    image = NULL;
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (trap_clip,
-           "Trapezoid clipping",
-           "clip, trap", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/twin-antialias-gray.c b/test/twin-antialias-gray.c
deleted file mode 100644 (file)
index 8e00370..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_font_options_t *options;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_GRAY);
-
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    options = cairo_font_options_create ();
-    cairo_font_options_set_antialias (options, CAIRO_ANTIALIAS_GRAY);
-    cairo_set_font_options (cr, options);
-    cairo_font_options_destroy (options);
-
-    cairo_set_font_size (cr, 16);
-
-    cairo_move_to (cr, 4, 14);
-    cairo_show_text (cr, "Is cairo's twin giza?");
-
-    cairo_move_to (cr, 4, 34);
-    cairo_text_path (cr, "Is cairo's twin giza?");
-    cairo_fill (cr);
-
-    cairo_move_to (cr, 4, 54);
-    cairo_text_path (cr, "Is cairo's twin giza?");
-    cairo_set_line_width (cr, 2/16.);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (twin_antialias_gray,
-           "Tests the internal font (with antialiasing reduced)",
-           "twin, font", /* keywords */
-           "target=raster", /* requirements */
-           140, 60,
-           NULL, draw)
diff --git a/test/twin-antialias-mixed.c b/test/twin-antialias-mixed.c
deleted file mode 100644 (file)
index da4121a..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_scaled_font_t *
-create_twin (cairo_t *cr, cairo_antialias_t antialias)
-{
-    cairo_font_options_t *options;
-
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    options = cairo_font_options_create ();
-    cairo_font_options_set_antialias (options, antialias);
-    cairo_set_font_options (cr, options);
-    cairo_font_options_destroy (options);
-
-    return cairo_scaled_font_reference (cairo_get_scaled_font (cr));
-}
-
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_scaled_font_t *subpixel, *gray, *none;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_set_font_size (cr, 16);
-    subpixel = create_twin (cr, CAIRO_ANTIALIAS_SUBPIXEL);
-    gray = create_twin (cr, CAIRO_ANTIALIAS_GRAY);
-    none = create_twin (cr, CAIRO_ANTIALIAS_NONE);
-
-    cairo_move_to (cr, 4, 14);
-    cairo_set_scaled_font (cr, subpixel);
-    cairo_show_text (cr, "Is cairo's");
-    cairo_set_scaled_font (cr, gray);
-    cairo_show_text (cr, " twin");
-    cairo_set_scaled_font (cr, none);
-    cairo_show_text (cr, " giza?");
-
-    cairo_move_to (cr, 4, 34);
-    cairo_set_scaled_font (cr, gray);
-    cairo_show_text (cr, "Is cairo's");
-    cairo_set_scaled_font (cr, none);
-    cairo_show_text (cr, " twin");
-    cairo_set_scaled_font (cr, subpixel);
-    cairo_show_text (cr, " giza?");
-
-    cairo_move_to (cr, 4, 54);
-    cairo_set_scaled_font (cr, none);
-    cairo_show_text (cr, "Is cairo's");
-    cairo_set_scaled_font (cr, gray);
-    cairo_show_text (cr, " twin");
-    cairo_set_scaled_font (cr, subpixel);
-    cairo_show_text (cr, " giza?");
-
-    cairo_scaled_font_destroy (none);
-    cairo_scaled_font_destroy (gray);
-    cairo_scaled_font_destroy (subpixel);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (twin_antialias_mixed,
-           "Tests the internal font (with intermixed antialiasing)",
-           "twin, font", /* keywords */
-           "target=raster", /* requirements */
-           140, 60,
-           NULL, draw)
diff --git a/test/twin-antialias-none.c b/test/twin-antialias-none.c
deleted file mode 100644 (file)
index a5b713d..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_font_options_t *options;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    options = cairo_font_options_create ();
-    cairo_font_options_set_antialias (options, CAIRO_ANTIALIAS_NONE);
-    cairo_set_font_options (cr, options);
-    cairo_font_options_destroy (options);
-
-    cairo_set_font_size (cr, 16);
-
-    cairo_move_to (cr, 4, 14);
-    cairo_show_text (cr, "Is cairo's twin giza?");
-
-    cairo_move_to (cr, 4, 34);
-    cairo_text_path (cr, "Is cairo's twin giza?");
-    cairo_fill (cr);
-
-    cairo_move_to (cr, 4, 54);
-    cairo_text_path (cr, "Is cairo's twin giza?");
-    cairo_set_line_width (cr, 2/16.);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (twin_antialias_none,
-           "Tests the internal font (with antialiasing disabled)",
-           "twin, font", /* keywords */
-           "target=raster", /* requirements */
-           140, 60,
-           NULL, draw)
diff --git a/test/twin-antialias-subpixel.c b/test/twin-antialias-subpixel.c
deleted file mode 100644 (file)
index e026286..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_font_options_t *options;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_SUBPIXEL);
-
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    options = cairo_font_options_create ();
-    cairo_font_options_set_antialias (options, CAIRO_ANTIALIAS_SUBPIXEL);
-    cairo_set_font_options (cr, options);
-    cairo_font_options_destroy (options);
-
-    cairo_set_font_size (cr, 16);
-
-    cairo_move_to (cr, 4, 14);
-    cairo_show_text (cr, "Is cairo's twin giza?");
-
-    cairo_move_to (cr, 4, 34);
-    cairo_text_path (cr, "Is cairo's twin giza?");
-    cairo_fill (cr);
-
-    cairo_move_to (cr, 4, 54);
-    cairo_text_path (cr, "Is cairo's twin giza?");
-    cairo_set_line_width (cr, 2/16.);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (twin_antialias_subpixel,
-           "Tests the internal font (with subpixel antialiasing)",
-           "twin, font", /* keywords */
-           "target=raster", /* requirements */
-           140, 60,
-           NULL, draw)
diff --git a/test/twin.c b/test/twin.c
deleted file mode 100644 (file)
index 08865f0..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_select_font_face (cr,
-                           "@cairo:",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    cairo_set_font_size (cr, 16);
-
-    cairo_move_to (cr, 4, 14);
-    cairo_show_text (cr, "Is cairo's twin giza?");
-
-    cairo_move_to (cr, 4, 34);
-    cairo_text_path (cr, "Is cairo's twin giza?");
-    cairo_fill (cr);
-
-    cairo_move_to (cr, 4, 54);
-    cairo_text_path (cr, "Is cairo's twin giza?");
-    cairo_set_line_width (cr, 2/16.);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (twin,
-           "Tests the internal font",
-           "twin, font", /* keywords */
-           NULL, /* requirements */
-           140, 60,
-           NULL, draw)
diff --git a/test/unaligned-box.c b/test/unaligned-box.c
deleted file mode 100644 (file)
index 5526919..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 48
-#define HEIGHT 52
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int sx, sy;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 0, 0);
-
-    cairo_translate(cr, 2, 2);
-
-    for (sx = 1; sx <= 4; sx++) {
-       cairo_save (cr);
-       for (sy = 1; sy <= 4; sy++) {
-           cairo_rectangle (cr, 0, 0, sx, sy);
-           cairo_fill (cr);
-
-           cairo_rectangle (cr, sx + 1 + .5, 0, sx, sy);
-           cairo_fill (cr);
-
-           cairo_rectangle (cr, 0, sy + 1 + .5, sx, sy);
-           cairo_fill (cr);
-
-           cairo_rectangle (cr, sx + 1 + .5, sy + 1 + .5, sx-.5, sy-.5);
-           cairo_fill (cr);
-
-           cairo_translate (cr, 2*sx + 3, 0);
-       }
-       cairo_restore (cr);
-       cairo_translate (cr, 0, 2*sy + 3);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (unaligned_box,
-           "Tests handling of various boundary conditions for unaligned rectangles.",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/unantialiased-shapes.c b/test/unantialiased-shapes.c
deleted file mode 100644 (file)
index b53ed0d..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright © 2005 Billy Biggs
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Billy Biggs not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Billy Biggs makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * BILLY BIGGS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL BILLY BIGGS BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Billy Biggs <vektor@dumbterm.net>
- */
-
-#include "cairo-test.h"
-
-/* The star shape from the SVG test suite, from the fill rule test */
-static void
-big_star_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 40, 0);
-    cairo_rel_line_to (cr, 25, 80);
-    cairo_rel_line_to (cr, -65, -50);
-    cairo_rel_line_to (cr, 80, 0);
-    cairo_rel_line_to (cr, -65, 50);
-    cairo_close_path (cr);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
-
-    /* Try a circle */
-    cairo_arc (cr, 40, 40, 20, 0, 2 * M_PI);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_fill (cr);
-
-    /* Try using clipping to draw a circle */
-    cairo_arc (cr, 100, 40, 20, 0, 2 * M_PI);
-    cairo_clip (cr);
-    cairo_rectangle (cr, 80, 20, 40, 40);
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_fill (cr);
-
-    /* Reset the clipping */
-    cairo_reset_clip (cr);
-
-    /* Draw a bunch of lines */
-    cairo_set_line_width (cr, 1.0);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    for (i = 0; i < 10; i++) {
-        cairo_move_to (cr, 10, 70 + (i * 4));
-        cairo_line_to (cr, 120, 70 + (i * 18));
-        cairo_stroke (cr);
-    }
-
-    /* Try filling a poly */
-    cairo_translate (cr, 160, 120);
-    cairo_set_source_rgb (cr, 1, 1, 0);
-    big_star_path (cr);
-    cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
-    cairo_fill (cr);
-    cairo_translate (cr, -160, -120);
-
-    /* How about some curves? */
-    cairo_set_source_rgb (cr, 1, 0, 1);
-    for (i = 0; i < 10; i++) {
-        cairo_move_to (cr, 150, 50 + (i * 5));
-        cairo_curve_to (cr, 250, 50, 200, (i * 10), 300, 50 + (i * 10));
-        cairo_stroke (cr);
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (unantialiased_shapes,
-           "Test shape drawing without antialiasing",
-           "fill, stroke", /* keywords */
-           "target=raster", /* requirements */
-           320, 240,
-           NULL, draw)
diff --git a/test/unbounded-operator.c b/test/unbounded-operator.c
deleted file mode 100644 (file)
index 6e132fb..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: Kristian Høgsberg <krh@redhat.com>
- *          Owen Taylor <otaylor@redhat.com>
- */
-
-#include <math.h>
-#include "cairo-test.h"
-#include <stdio.h>
-
-#define WIDTH 16
-#define HEIGHT 16
-#define PAD 2
-
-static void
-draw_mask (cairo_t *cr, int x, int y)
-{
-    cairo_surface_t *mask_surface;
-    cairo_t *cr2;
-
-    double width = (int)(0.9 * WIDTH);
-    double height = (int)(0.9 * HEIGHT);
-    x += 0.05 * WIDTH;
-    y += 0.05 * HEIGHT;
-
-    mask_surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                                CAIRO_CONTENT_ALPHA,
-                                                width, height);
-    cr2 = cairo_create (mask_surface);
-    cairo_surface_destroy (mask_surface);
-
-    cairo_save (cr2);
-    cairo_set_source_rgba (cr2, 0, 0, 0, 0); /* transparent */
-    cairo_set_operator (cr2, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr2);
-    cairo_restore (cr2);
-
-    cairo_set_source_rgb (cr2, 1, 1, 1); /* white */
-
-    cairo_arc (cr2, 0.5 * width, 0.5 * height, 0.45 * height, 0, 2 * M_PI);
-    cairo_fill (cr2);
-
-    cairo_mask_surface (cr, cairo_get_target (cr2), x, y);
-    cairo_destroy (cr2);
-}
-
-static void
-draw_glyphs (cairo_t *cr, int x, int y)
-{
-    cairo_text_extents_t extents;
-
-    cairo_set_font_size (cr, 0.8 * HEIGHT);
-
-    cairo_text_extents (cr, "FG", &extents);
-    cairo_move_to (cr,
-                  x + floor ((WIDTH - extents.width) / 2 + 0.5) - extents.x_bearing,
-                  y + floor ((HEIGHT - extents.height) / 2 + 0.5) - extents.y_bearing);
-    cairo_show_text (cr, "FG");
-}
-
-static void
-draw_polygon (cairo_t *cr, int x, int y)
-{
-    double width = (int)(0.9 * WIDTH);
-    double height = (int)(0.9 * HEIGHT);
-    x += 0.05 * WIDTH;
-    y += 0.05 * HEIGHT;
-
-    cairo_new_path (cr);
-    cairo_move_to (cr, x, y);
-    cairo_line_to (cr, x, y + height);
-    cairo_line_to (cr, x + width / 2, y + 3 * height / 4);
-    cairo_line_to (cr, x + width, y + height);
-    cairo_line_to (cr, x + width, y);
-    cairo_line_to (cr, x + width / 2, y + height / 4);
-    cairo_close_path (cr);
-    cairo_fill (cr);
-}
-
-static void
-draw_rects (cairo_t *cr, int x, int y)
-{
-    double block_width = (int)(0.33 * WIDTH + 0.5);
-    double block_height = (int)(0.33 * HEIGHT + 0.5);
-    int i, j;
-
-    for (i = 0; i < 3; i++)
-       for (j = 0; j < 3; j++)
-           if ((i + j) % 2 == 0)
-               cairo_rectangle (cr,
-                                x + block_width * i, y + block_height * j,
-                                block_width,         block_height);
-
-    cairo_fill (cr);
-}
-
-static void (*const draw_funcs[])(cairo_t *cr, int x, int y) = {
-    draw_mask,
-    draw_glyphs,
-    draw_polygon,
-    draw_rects
-};
-
-static cairo_operator_t operators[] = {
-    CAIRO_OPERATOR_IN, CAIRO_OPERATOR_OUT,
-    CAIRO_OPERATOR_DEST_IN, CAIRO_OPERATOR_DEST_ATOP
-};
-
-#define IMAGE_WIDTH (ARRAY_LENGTH (operators) * (WIDTH + PAD) + PAD)
-#define IMAGE_HEIGHT (ARRAY_LENGTH (draw_funcs) * (HEIGHT + PAD) + PAD)
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const cairo_test_context_t *ctx = cairo_test_get_context (cr);
-    size_t i, j, x, y;
-    cairo_pattern_t *pattern;
-
-    cairo_select_font_face (cr, CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    for (j = 0; j < ARRAY_LENGTH (draw_funcs); j++) {
-       for (i = 0; i < ARRAY_LENGTH (operators); i++) {
-           x = i * (WIDTH + PAD) + PAD;
-           y = j * (HEIGHT + PAD) + PAD;
-
-           cairo_save (cr);
-
-           pattern = cairo_pattern_create_linear (x + WIDTH, y,
-                                                  x,         y + HEIGHT);
-           cairo_pattern_add_color_stop_rgba (pattern, 0.2,
-                                              0.0, 0.0, 1.0, 1.0); /* Solid blue */
-           cairo_pattern_add_color_stop_rgba (pattern, 0.8,
-                                              0.0, 0.0, 1.0, 0.0); /* Transparent blue */
-           cairo_set_source (cr, pattern);
-           cairo_pattern_destroy (pattern);
-
-           cairo_rectangle (cr, x, y, WIDTH, HEIGHT);
-           cairo_fill_preserve (cr);
-           cairo_clip (cr);
-
-           cairo_set_operator (cr, operators[i]);
-           cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
-
-           draw_funcs[j] (cr, x, y);
-           if (cairo_status (cr))
-               cairo_test_log (ctx, "%d %d HERE!\n", (int)i, (int)j);
-
-           cairo_restore (cr);
-       }
-    }
-
-    if (cairo_status (cr) != CAIRO_STATUS_SUCCESS)
-       cairo_test_log (ctx, "%d %d .HERE!\n", (int)i, (int)j);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (unbounded_operator,
-           "Operators with an effect for transparent source/mask",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           IMAGE_WIDTH, IMAGE_HEIGHT,
-           NULL, draw)
diff --git a/test/unclosed-strokes.c b/test/unclosed-strokes.c
deleted file mode 100644 (file)
index 3c0287f..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-
-#define LINE_WIDTH     10.
-#define SIZE           (5 * LINE_WIDTH)
-#define PAD            (2 * LINE_WIDTH)
-
-static void
-make_path (cairo_t *cr)
-{
-    cairo_move_to (cr, 0, 0);
-    cairo_rel_line_to (cr, -SIZE/2, SIZE);
-    cairo_rel_line_to (cr, SIZE, 0);
-    /* back to the start, but do not close */
-    cairo_rel_line_to (cr, -SIZE/2, -SIZE);
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_save (cr);
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-    cairo_restore (cr);
-
-    cairo_set_line_width (cr, LINE_WIDTH);
-    cairo_translate (cr, PAD + SIZE / 2., PAD);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
-    make_path (cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 0, SIZE + PAD);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    make_path (cr);
-    cairo_stroke (cr);
-
-    cairo_translate (cr, 0, SIZE + PAD);
-
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
-    make_path (cr);
-    cairo_stroke (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (unclosed_strokes,
-           "Test coincident end-points are capped and not joined",
-           "stroke caps", /* keywords */
-           NULL, /* requirements */
-           PAD + SIZE + PAD,
-           3 * (PAD + SIZE) + PAD,
-           NULL, draw)
-
diff --git a/test/user-data.c b/test/user-data.c
deleted file mode 100644 (file)
index 532107a..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Kristian Høgsberg <krh@redhat.com>
- */
-
-#include "cairo-test.h"
-
-#include <assert.h>
-
-static void
-destroy_data1 (void *p)
-{
-    *(int *) p = 1;
-}
-
-static void
-destroy_data2 (void *p)
-{
-    *(int *) p = 2;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    static const cairo_user_data_key_t key1, key2;
-    cairo_surface_t *surface;
-    cairo_status_t status;
-    int data1, data2;
-
-    data1 = 0;
-    data2 = 0;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1);
-    status = cairo_surface_set_user_data (surface, &key1, &data1, destroy_data1);
-    if (status)
-       goto error;
-
-    status = cairo_surface_set_user_data (surface, &key2, &data2, destroy_data2);
-    if (status)
-       goto error;
-
-    assert (cairo_surface_get_user_data (surface, &key1) == &data1);
-    status = cairo_surface_set_user_data (surface, &key1, NULL, NULL);
-    if (status)
-       goto error;
-
-    assert (cairo_surface_get_user_data (surface, &key1) == NULL);
-    assert (data1 == 1);
-    assert (data2 == 0);
-
-    status = cairo_surface_set_user_data (surface, &key2, NULL, NULL);
-    if (status)
-       goto error;
-
-    assert (data2 == 2);
-
-    data1 = 0;
-    status = cairo_surface_set_user_data (surface, &key1, &data1, NULL);
-    if (status)
-       goto error;
-
-    status = cairo_surface_set_user_data (surface, &key1, NULL, NULL);
-    if (status)
-       goto error;
-
-    assert (data1 == 0);
-    assert (cairo_surface_get_user_data (surface, &key1) == NULL);
-
-    status = cairo_surface_set_user_data (surface, &key1, &data1, destroy_data1);
-    if (status)
-       goto error;
-
-    cairo_surface_destroy (surface);
-
-    assert (data1 == 1);
-    assert (data2 == 2);
-
-    return CAIRO_TEST_SUCCESS;
-
-error:
-    cairo_surface_destroy (surface);
-    return cairo_test_status_from_status (ctx, status);
-}
-
-CAIRO_TEST (user_data,
-           "Test setting and getting random bits of user data.",
-           "api", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/user-font-mask.c b/test/user-font-mask.c
deleted file mode 100644 (file)
index a6d394e..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Copyright © 2006, 2008 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Contributor(s):
- *     Kristian Høgsberg <krh@redhat.com>
- *     Behdad Esfahbod <behdad@behdad.org>
- *     Adrian Johnson <ajohnson@redneon.com>
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "cairo-test.h"
-
-/*#define ROTATED 1*/
-
-#define BORDER 10
-#define TEXT_SIZE 64
-#define WIDTH  (TEXT_SIZE * 15 + 2*BORDER)
-#ifndef ROTATED
- #define HEIGHT ((TEXT_SIZE + 2*BORDER)*2)
-#else
- #define HEIGHT WIDTH
-#endif
-#define END_GLYPH 0
-#define TEXT   "cairo"
-
-/* Reverse the bits in a byte with 7 operations (no 64-bit):
- * Devised by Sean Anderson, July 13, 2001.
- * Source: http://graphics.stanford.edu/~seander/bithacks.html#ReverseByteWith32Bits
- */
-#define CAIRO_BITSWAP8(c) ((((c) * 0x0802LU & 0x22110LU) | ((c) * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16)
-
-#ifdef WORDS_BIGENDIAN
-#define CAIRO_BITSWAP8_IF_LITTLE_ENDIAN(c) (c)
-#else
-#define CAIRO_BITSWAP8_IF_LITTLE_ENDIAN(c) CAIRO_BITSWAP8(c)
-#endif
-
-
-
-/* Simple glyph definition. data is an 8x8 bitmap.
- */
-typedef struct {
-    unsigned long ucs4;
-    int width;
-    char data[8];
-} test_scaled_font_glyph_t;
-
-static cairo_user_data_key_t test_font_face_glyphs_key;
-
-static cairo_status_t
-test_scaled_font_init (cairo_scaled_font_t  *scaled_font,
-                      cairo_t              *cr,
-                      cairo_font_extents_t *metrics)
-{
-  metrics->ascent  = 1;
-  metrics->descent = 0;
-  return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-test_scaled_font_unicode_to_glyph (cairo_scaled_font_t *scaled_font,
-                                  unsigned long        unicode,
-                                  unsigned long       *glyph)
-{
-    test_scaled_font_glyph_t *glyphs = cairo_font_face_get_user_data (cairo_scaled_font_get_font_face (scaled_font),
-                                                                     &test_font_face_glyphs_key);
-    int i;
-
-    for (i = 0; glyphs[i].ucs4 != (unsigned long) -1; i++)
-       if (glyphs[i].ucs4 == unicode) {
-           *glyph = i;
-           return CAIRO_STATUS_SUCCESS;
-       }
-
-    /* Not found.  Default to glyph 0 */
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-test_scaled_font_render_glyph (cairo_scaled_font_t  *scaled_font,
-                              unsigned long         glyph,
-                              cairo_t              *cr,
-                              cairo_text_extents_t *metrics)
-{
-    test_scaled_font_glyph_t *glyphs = cairo_font_face_get_user_data (cairo_scaled_font_get_font_face (scaled_font),
-                                                                     &test_font_face_glyphs_key);
-    int i;
-    unsigned char *data;
-    cairo_surface_t *image;
-    cairo_pattern_t *pattern;
-    cairo_matrix_t matrix;
-    uint8_t byte;
-
-    /* FIXME: We simply crash on out-of-bound glyph indices */
-
-    metrics->x_advance = (glyphs[glyph].width + 1) / 8.0;
-
-    image = cairo_image_surface_create (CAIRO_FORMAT_A1, glyphs[glyph].width, 8);
-    if (cairo_surface_status (image))
-       return cairo_surface_status (image);
-
-    data = cairo_image_surface_get_data (image);
-    for (i = 0; i < 8; i++) {
-       byte = glyphs[glyph].data[i];
-       *data = CAIRO_BITSWAP8_IF_LITTLE_ENDIAN (byte);
-       data += cairo_image_surface_get_stride (image);
-    }
-    cairo_surface_mark_dirty (image);
-
-    pattern = cairo_pattern_create_for_surface (image);
-    cairo_surface_destroy (image);
-
-    cairo_matrix_init_identity (&matrix);
-    cairo_matrix_scale (&matrix, 1.0/8.0, 1.0/8.0);
-    cairo_matrix_translate (&matrix, 0, -8);
-    cairo_matrix_invert (&matrix);
-    cairo_pattern_set_matrix (pattern, &matrix);
-
-    cairo_set_source (cr, pattern);
-    cairo_mask (cr, pattern);
-    cairo_pattern_destroy (pattern);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_user_font_face_create (cairo_font_face_t **out)
-{
-    static const test_scaled_font_glyph_t glyphs [] = {
-       { 'c',  6, { 0x00, 0x38, 0x44, 0x80, 0x80, 0x80, 0x44, 0x38 } },
-       { 'a',  6, { 0x00, 0x70, 0x88, 0x3c, 0x44, 0x84, 0x8c, 0x74 } },
-       { 'i',  1, { 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 } },
-       { 'r',  6, { 0x00, 0xb8, 0xc4, 0x80, 0x80, 0x80, 0x80, 0x80 } },
-       { 'o',  7, { 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x44, 0x38 } },
-       {  -1,  8, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
-    };
-
-    cairo_font_face_t *user_font_face;
-    cairo_status_t status;
-
-    user_font_face = cairo_user_font_face_create ();
-    cairo_user_font_face_set_init_func             (user_font_face, test_scaled_font_init);
-    cairo_user_font_face_set_render_glyph_func     (user_font_face, test_scaled_font_render_glyph);
-    cairo_user_font_face_set_unicode_to_glyph_func (user_font_face, test_scaled_font_unicode_to_glyph);
-
-    status = cairo_font_face_set_user_data (user_font_face,
-                                           &test_font_face_glyphs_key,
-                                           (void*) glyphs, NULL);
-    if (status) {
-       cairo_font_face_destroy (user_font_face);
-       return status;
-    }
-
-    *out = user_font_face;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_font_face_t *font_face;
-    const char text[] = TEXT;
-    cairo_font_extents_t font_extents;
-    cairo_text_extents_t extents;
-    cairo_status_t status;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-#ifdef ROTATED
-    cairo_translate (cr, TEXT_SIZE, 0);
-    cairo_rotate (cr, .6);
-#endif
-
-    status = _user_font_face_create (&font_face);
-    if (status) {
-       return cairo_test_status_from_status (cairo_test_get_context (cr),
-                                             status);
-    }
-
-    cairo_set_font_face (cr, font_face);
-    cairo_font_face_destroy (font_face);
-
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    cairo_font_extents (cr, &font_extents);
-    cairo_text_extents (cr, text, &extents);
-
-    /* logical boundaries in red */
-    cairo_move_to (cr, 0, BORDER);
-    cairo_rel_line_to (cr, WIDTH, 0);
-    cairo_move_to (cr, 0, BORDER + font_extents.ascent);
-    cairo_rel_line_to (cr, WIDTH, 0);
-    cairo_move_to (cr, 0, BORDER + font_extents.ascent + font_extents.descent);
-    cairo_rel_line_to (cr, WIDTH, 0);
-    cairo_move_to (cr, BORDER, 0);
-    cairo_rel_line_to (cr, 0, 2*BORDER + TEXT_SIZE);
-    cairo_move_to (cr, BORDER + extents.x_advance, 0);
-    cairo_rel_line_to (cr, 0, 2*BORDER + TEXT_SIZE);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_set_line_width (cr, 2);
-    cairo_stroke (cr);
-
-    /* ink boundaries in green */
-    cairo_rectangle (cr,
-                    BORDER + extents.x_bearing, BORDER + font_extents.ascent + extents.y_bearing,
-                    extents.width, extents.height);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_set_line_width (cr, 2);
-    cairo_stroke (cr);
-
-    /* text in black */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_move_to (cr, BORDER, BORDER + font_extents.ascent);
-    cairo_show_text (cr, text);
-
-
-    /* filled version of text in blue */
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_move_to (cr, BORDER, BORDER + font_extents.height + 2*BORDER + font_extents.ascent);
-    cairo_text_path (cr, text);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (user_font_mask,
-           "Tests a user-font using cairo_mask with bitmap images",
-           "user-font, mask", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/user-font-proxy.c b/test/user-font-proxy.c
deleted file mode 100644 (file)
index 41a69e7..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright © 2006, 2008 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Contributor(s):
- *     Kristian Høgsberg <krh@redhat.com>
- *     Behdad Esfahbod <behdad@behdad.org>
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "cairo-test.h"
-
-/*#define ROTATED 1*/
-
-#define BORDER 10
-#define TEXT_SIZE 64
-#define WIDTH  (TEXT_SIZE * 12 + 2*BORDER)
-#ifndef ROTATED
- #define HEIGHT ((TEXT_SIZE + 2*BORDER)*2)
-#else
- #define HEIGHT WIDTH
-#endif
-#define TEXT   "geez... cairo user-font"
-
-static cairo_user_data_key_t fallback_font_key;
-
-static cairo_status_t
-test_scaled_font_init (cairo_scaled_font_t  *scaled_font,
-                      cairo_t              *cr,
-                      cairo_font_extents_t *extents)
-{
-    cairo_status_t status;
-
-    cairo_set_font_face (cr,
-                        cairo_font_face_get_user_data (cairo_scaled_font_get_font_face (scaled_font),
-                                                       &fallback_font_key));
-
-    status = cairo_scaled_font_set_user_data (scaled_font,
-                                             &fallback_font_key,
-                                             cairo_scaled_font_reference (cairo_get_scaled_font (cr)),
-                                             (cairo_destroy_func_t) cairo_scaled_font_destroy);
-    if (unlikely (status)) {
-       cairo_scaled_font_destroy (cairo_get_scaled_font (cr));
-       return status;
-    }
-
-    cairo_font_extents (cr, extents);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-test_scaled_font_render_glyph (cairo_scaled_font_t  *scaled_font,
-                              unsigned long         glyph,
-                              cairo_t              *cr,
-                              cairo_text_extents_t *extents)
-{
-    cairo_glyph_t cairo_glyph;
-
-    cairo_glyph.index = glyph;
-    cairo_glyph.x = 0;
-    cairo_glyph.y = 0;
-
-    cairo_set_font_face (cr,
-                        cairo_font_face_get_user_data (cairo_scaled_font_get_font_face (scaled_font),
-                                                       &fallback_font_key));
-
-    cairo_show_glyphs (cr, &cairo_glyph, 1);
-    cairo_glyph_extents (cr, &cairo_glyph, 1, extents);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-test_scaled_font_text_to_glyphs (cairo_scaled_font_t        *scaled_font,
-                                const char                 *utf8,
-                                int                         utf8_len,
-                                cairo_glyph_t             **glyphs,
-                                int                        *num_glyphs,
-                                cairo_text_cluster_t      **clusters,
-                                int                        *num_clusters,
-                                cairo_text_cluster_flags_t *cluster_flags)
-{
-  cairo_scaled_font_t *fallback_scaled_font;
-
-  fallback_scaled_font = cairo_scaled_font_get_user_data (scaled_font,
-                                                         &fallback_font_key);
-
-  return cairo_scaled_font_text_to_glyphs (fallback_scaled_font, 0, 0,
-                                          utf8, utf8_len,
-                                          glyphs, num_glyphs,
-                                          clusters, num_clusters, cluster_flags);
-}
-
-static cairo_status_t
-_user_font_face_create (cairo_font_face_t **out)
-{
-    cairo_font_face_t *user_font_face;
-    cairo_font_face_t *fallback_font_face;
-    cairo_status_t status;
-
-    user_font_face = cairo_user_font_face_create ();
-    cairo_user_font_face_set_init_func             (user_font_face, test_scaled_font_init);
-    cairo_user_font_face_set_render_glyph_func     (user_font_face, test_scaled_font_render_glyph);
-    cairo_user_font_face_set_text_to_glyphs_func   (user_font_face, test_scaled_font_text_to_glyphs);
-
-    /* This also happens to be default font face on cairo_t, so does
-     * not make much sense here.  For demonstration only.
-     */
-    fallback_font_face = cairo_toy_font_face_create ("",
-                                                    CAIRO_FONT_SLANT_NORMAL,
-                                                    CAIRO_FONT_WEIGHT_NORMAL);
-
-    status = cairo_font_face_set_user_data (user_font_face,
-                                           &fallback_font_key,
-                                           fallback_font_face,
-                                           (cairo_destroy_func_t) cairo_font_face_destroy);
-    if (status) {
-       cairo_font_face_destroy (fallback_font_face);
-       cairo_font_face_destroy (user_font_face);
-       return status;
-    }
-
-    *out = user_font_face;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    const char text[] = TEXT;
-    cairo_font_extents_t font_extents;
-    cairo_text_extents_t extents;
-    cairo_font_face_t *font_face;
-    cairo_status_t status;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-#ifdef ROTATED
-    cairo_translate (cr, TEXT_SIZE, 0);
-    cairo_rotate (cr, .6);
-#endif
-
-    status = _user_font_face_create (&font_face);
-    if (status) {
-       return cairo_test_status_from_status (cairo_test_get_context (cr),
-                                             status);
-    }
-
-    cairo_set_font_face (cr, font_face);
-    cairo_font_face_destroy (font_face);
-
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    cairo_font_extents (cr, &font_extents);
-    cairo_text_extents (cr, text, &extents);
-
-    /* logical boundaries in red */
-    cairo_move_to (cr, 0, BORDER);
-    cairo_rel_line_to (cr, WIDTH, 0);
-    cairo_move_to (cr, 0, BORDER + font_extents.ascent);
-    cairo_rel_line_to (cr, WIDTH, 0);
-    cairo_move_to (cr, 0, BORDER + font_extents.ascent + font_extents.descent);
-    cairo_rel_line_to (cr, WIDTH, 0);
-    cairo_move_to (cr, BORDER, 0);
-    cairo_rel_line_to (cr, 0, 2*BORDER + TEXT_SIZE);
-    cairo_move_to (cr, BORDER + extents.x_advance, 0);
-    cairo_rel_line_to (cr, 0, 2*BORDER + TEXT_SIZE);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_set_line_width (cr, 2);
-    cairo_stroke (cr);
-
-    /* ink boundaries in green */
-    cairo_rectangle (cr,
-                    BORDER + extents.x_bearing, BORDER + font_extents.ascent + extents.y_bearing,
-                    extents.width, extents.height);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_set_line_width (cr, 2);
-    cairo_stroke (cr);
-
-    /* text in gray */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_move_to (cr, BORDER, BORDER + font_extents.ascent);
-    cairo_show_text (cr, text);
-
-
-    /* filled version of text in light blue */
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_move_to (cr, BORDER, BORDER + font_extents.height + BORDER + font_extents.ascent);
-    cairo_text_path (cr, text);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (user_font_proxy,
-           "Tests a user-font using a native font in its render_glyph",
-           "font, user-font", /* keywords */
-           "cairo >= 1.7.4", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/user-font-rescale.c b/test/user-font-rescale.c
deleted file mode 100644 (file)
index 3fe70f6..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-/*
- * Copyright © 2008 Jeff Muizelaar
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Jeff Muizelaar not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Jeff Muizelaar makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * JEFF MUIZELAAR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL JEFF MUIZELAAR BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Contributor(s):
- *     Jeff Muizelaar <jeff@infidigm.net>
- *     Kristian Høgsberg <krh@redhat.com>
- *     Behdad Esfahbod <behdad@behdad.org>
- */
-
-#include "cairo-test.h"
-
-#include <math.h>
-
-#define BORDER 10
-#define TEXT_SIZE 32
-#define WIDTH  (TEXT_SIZE * 13.75 + 2*BORDER)
-#define HEIGHT ((TEXT_SIZE + 2*BORDER)*3 + BORDER)
-#define TEXT   "test of rescaled glyphs"
-
-static const cairo_user_data_key_t rescale_font_closure_key;
-
-struct rescaled_font {
-    cairo_font_face_t *substitute_font;
-    cairo_scaled_font_t *measuring_font;
-    unsigned long glyph_count;
-    unsigned long start;
-    double *desired_width;
-    double *rescale_factor;
-};
-
-static cairo_status_t
-test_scaled_font_render_glyph (cairo_scaled_font_t  *scaled_font,
-                              unsigned long         glyph,
-                              cairo_t              *cr,
-                              cairo_text_extents_t *metrics)
-{
-    cairo_font_face_t *user_font;
-    struct rescaled_font *r;
-    cairo_glyph_t cairo_glyph;
-
-    cairo_glyph.index = glyph;
-    cairo_glyph.x = 0;
-    cairo_glyph.y = 0;
-
-    user_font = cairo_scaled_font_get_font_face (scaled_font);
-    r = cairo_font_face_get_user_data (user_font, &rescale_font_closure_key);
-    cairo_set_font_face (cr, r->substitute_font);
-
-    if (glyph - r->start < r->glyph_count) {
-       cairo_matrix_t matrix;
-
-       if (isnan (r->rescale_factor[glyph - r->start])) {
-           double desired_width;
-           double actual_width;
-           cairo_text_extents_t extents;
-
-           /* measure the glyph and compute the necessary rescaling factor */
-           cairo_scaled_font_glyph_extents (r->measuring_font,
-                                            &cairo_glyph, 1,
-                                            &extents);
-
-           desired_width = r->desired_width[glyph - r->start];
-           actual_width = extents.x_advance;
-
-           r->rescale_factor[glyph - r->start] = desired_width / actual_width;
-       }
-
-       /* scale the font so that the glyph width matches the desired width */
-       cairo_get_font_matrix (cr, &matrix);
-       cairo_matrix_scale (&matrix, r->rescale_factor[glyph - r->start], 1.);
-       cairo_set_font_matrix (cr, &matrix);
-    }
-
-    cairo_show_glyphs (cr, &cairo_glyph, 1);
-    cairo_glyph_extents (cr, &cairo_glyph, 1, metrics);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static void
-unichar_to_utf8 (uint32_t ucs4, char utf8[7])
-{
-    int i, charlen, first;
-
-    if (ucs4 < 0x80) {
-       first = 0;
-       charlen = 1;
-    } else if (ucs4 < 0x800) {
-       first = 0xc0;
-       charlen = 2;
-    } else if (ucs4 < 0x10000) {
-       first = 0xe0;
-       charlen = 3;
-    } else if (ucs4 < 0x200000) {
-       first = 0xf0;
-       charlen = 4;
-    } else if (ucs4 < 0x4000000) {
-       first = 0xf8;
-       charlen = 5;
-    } else {
-       first = 0xfc;
-       charlen = 6;
-    }
-
-    for (i = charlen - 1; i > 0; --i) {
-       utf8[i] = (ucs4 & 0x3f) | 0x80;
-       ucs4 >>= 6;
-    }
-    utf8[0] = ucs4 | first;
-    utf8[charlen] = '\0';
-}
-
-static cairo_status_t
-test_scaled_font_unicode_to_glyph (cairo_scaled_font_t *scaled_font,
-                                  unsigned long        unicode,
-                                  unsigned long       *glyph_index)
-{
-    cairo_font_face_t *user_font;
-    struct rescaled_font *r;
-    int num_glyphs;
-    cairo_glyph_t *glyphs = NULL;
-    cairo_status_t status;
-    char utf8[7];
-
-    user_font = cairo_scaled_font_get_font_face (scaled_font);
-
-    unichar_to_utf8 (unicode, utf8);
-    r = cairo_font_face_get_user_data (user_font, &rescale_font_closure_key);
-    status  = cairo_scaled_font_text_to_glyphs (r->measuring_font, 0, 0,
-                                               utf8, -1,
-                                               &glyphs, &num_glyphs,
-                                               NULL, NULL, NULL);
-    if (status)
-       return status;
-
-    *glyph_index = glyphs[0].index;
-
-    cairo_glyph_free (glyphs);
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static void rescale_font_closure_destroy (void *data)
-{
-    struct rescaled_font *r = data;
-
-    cairo_font_face_destroy (r->substitute_font);
-    cairo_scaled_font_destroy (r->measuring_font);
-    free (r->desired_width);
-    free (r->rescale_factor);
-    free (r);
-}
-
-static cairo_status_t
-create_rescaled_font (cairo_font_face_t *substitute_font,
-                     int glyph_start,
-                     int glyph_count,
-                     double *desired_width,
-                     cairo_font_face_t **out)
-{
-    cairo_font_face_t *user_font_face;
-    struct rescaled_font *r;
-    cairo_font_options_t *options;
-    cairo_status_t status;
-    cairo_matrix_t m;
-    unsigned long i;
-
-    user_font_face = cairo_user_font_face_create ();
-    cairo_user_font_face_set_render_glyph_func (user_font_face, test_scaled_font_render_glyph);
-    cairo_user_font_face_set_unicode_to_glyph_func (user_font_face, test_scaled_font_unicode_to_glyph);
-
-    r = xmalloc (sizeof (struct rescaled_font));
-    r->substitute_font = cairo_font_face_reference (substitute_font);
-
-    /* we don't want any hinting when doing the measuring */
-    options = cairo_font_options_create ();
-    cairo_font_options_set_hint_style (options, CAIRO_HINT_STYLE_NONE);
-    cairo_font_options_set_hint_metrics (options, CAIRO_HINT_METRICS_OFF);
-
-    cairo_matrix_init_identity (&m);
-
-    r->measuring_font = cairo_scaled_font_create (r->substitute_font,
-                                                 &m, &m,
-                                                 options);
-    cairo_font_options_destroy (options);
-
-
-    r->start = glyph_start;
-    r->glyph_count = glyph_count;
-    r->desired_width = xcalloc (sizeof (double), r->glyph_count);
-    r->rescale_factor = xcalloc (sizeof (double), r->glyph_count);
-
-    for (i = 0; i < r->glyph_count; i++) {
-       r->desired_width[i] = desired_width[i];
-       /* use NaN to specify unset */
-       r->rescale_factor[i] = cairo_test_NaN ();
-    }
-
-    status = cairo_font_face_set_user_data (user_font_face,
-                                           &rescale_font_closure_key,
-                                           r, rescale_font_closure_destroy);
-    if (status) {
-       rescale_font_closure_destroy (r);
-       cairo_font_face_destroy (user_font_face);
-       return status;
-    }
-
-    *out = user_font_face;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-get_user_font_face (cairo_font_face_t *substitute_font,
-                   const char *text,
-                   cairo_font_face_t *old,
-                   cairo_font_face_t **out)
-{
-    cairo_font_options_t *options;
-    cairo_matrix_t m;
-    cairo_scaled_font_t *measure;
-    int i;
-    double *widths;
-    int count;
-    int num_glyphs;
-    unsigned long min_index, max_index;
-    cairo_status_t status;
-
-    cairo_glyph_t *glyphs = NULL;
-
-    /* we don't want any hinting when doing the measuring */
-    options = cairo_font_options_create ();
-    cairo_font_options_set_hint_style (options, CAIRO_HINT_STYLE_NONE);
-    cairo_font_options_set_hint_metrics (options, CAIRO_HINT_METRICS_OFF);
-
-    cairo_matrix_init_identity (&m);
-    measure = cairo_scaled_font_create (old, &m, &m, options);
-
-    status = cairo_scaled_font_text_to_glyphs (measure, 0, 0,
-                                              text, -1,
-                                              &glyphs, &num_glyphs,
-                                              NULL, NULL, NULL);
-    cairo_font_options_destroy (options);
-
-    if (status) {
-       cairo_scaled_font_destroy (measure);
-       return status;
-    }
-
-    /* find the glyph range the text covers */
-    max_index = glyphs[0].index;
-    min_index = glyphs[0].index;
-    for (i=0; i<num_glyphs; i++) {
-       if (glyphs[i].index < min_index)
-           min_index = glyphs[i].index;
-       if (glyphs[i].index > max_index)
-           max_index = glyphs[i].index;
-    }
-
-    count = max_index - min_index + 1;
-    widths = xcalloc (sizeof (double), count);
-    /* measure all of the necessary glyphs individually */
-    for (i=0; i<num_glyphs; i++) {
-       cairo_text_extents_t extents;
-       cairo_scaled_font_glyph_extents (measure, &glyphs[i], 1, &extents);
-       widths[glyphs[i].index - min_index] = extents.x_advance;
-    }
-
-    status = cairo_scaled_font_status (measure);
-    cairo_scaled_font_destroy (measure);
-    cairo_glyph_free (glyphs);
-
-    if (status == CAIRO_STATUS_SUCCESS) {
-       status = create_rescaled_font (substitute_font,
-                                      min_index, count, widths,
-                                      out);
-    }
-
-    free (widths);
-    return status;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_font_extents_t font_extents;
-    cairo_text_extents_t extents;
-    cairo_font_face_t *rescaled;
-    cairo_font_face_t *old;
-    cairo_font_face_t *substitute;
-    const char text[] = TEXT;
-    cairo_status_t status;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    cairo_select_font_face (cr,
-                           CAIRO_TEST_FONT_FAMILY " Sans",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    cairo_font_extents (cr, &font_extents);
-    cairo_text_extents (cr, text, &extents);
-
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_move_to (cr, BORDER, BORDER + font_extents.ascent);
-    cairo_show_text (cr, text);
-
-    /* same text in 'mono' with widths that match the 'sans' version */
-    old = cairo_font_face_reference (cairo_get_font_face (cr));
-    cairo_select_font_face (cr,
-                           CAIRO_TEST_FONT_FAMILY " Sans Mono",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-    substitute = cairo_get_font_face (cr);
-
-    status = get_user_font_face (substitute, text, old, &rescaled);
-    cairo_font_face_destroy (old);
-    if (status) {
-       return cairo_test_status_from_status (cairo_test_get_context (cr),
-                                             status);
-    }
-
-    cairo_set_font_face (cr, rescaled);
-    cairo_font_face_destroy (rescaled);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_move_to (cr, BORDER, BORDER + font_extents.height + 2*BORDER + font_extents.ascent);
-    cairo_show_text (cr, text);
-
-    /* mono text */
-    cairo_select_font_face (cr,
-                           CAIRO_TEST_FONT_FAMILY " Sans Mono",
-                           CAIRO_FONT_SLANT_NORMAL,
-                           CAIRO_FONT_WEIGHT_NORMAL);
-
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_move_to (cr, BORDER, BORDER + 2*font_extents.height + 4*BORDER + font_extents.ascent);
-    cairo_show_text (cr, text);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (user_font_rescale,
-           "Tests drawing text with user defined widths",
-           "user-font, font", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/user-font.c b/test/user-font.c
deleted file mode 100644 (file)
index 30bc74e..0000000
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright © 2006, 2008 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Contributor(s):
- *     Kristian Høgsberg <krh@redhat.com>
- *     Behdad Esfahbod <behdad@behdad.org>
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "cairo-test.h"
-
-/*#define ROTATED 1*/
-
-#define BORDER 10
-#define TEXT_SIZE 64
-#define WIDTH  (TEXT_SIZE * 15 + 2*BORDER)
-#ifndef ROTATED
- #define HEIGHT ((TEXT_SIZE + 2*BORDER)*2)
-#else
- #define HEIGHT WIDTH
-#endif
-#define TEXT   "geez... cairo user-font"
-
-#define END_GLYPH 0
-#define STROKE 126
-#define CLOSE 127
-
-/* Simple glyph definition: 1 - 15 means lineto (or moveto for first
- * point) for one of the points on this grid:
- *
- *      1  2  3
- *      4  5  6
- *      7  8  9
- * ----10 11 12----(baseline)
- *     13 14 15
- */
-typedef struct {
-    unsigned long ucs4;
-    int width;
-    char data[16];
-} test_scaled_font_glyph_t;
-
-static cairo_user_data_key_t test_font_face_glyphs_key;
-
-static cairo_status_t
-test_scaled_font_init (cairo_scaled_font_t  *scaled_font,
-                      cairo_t              *cr,
-                      cairo_font_extents_t *metrics)
-{
-  metrics->ascent  = .75;
-  metrics->descent = .25;
-  return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-test_scaled_font_unicode_to_glyph (cairo_scaled_font_t *scaled_font,
-                                  unsigned long        unicode,
-                                  unsigned long       *glyph)
-{
-    test_scaled_font_glyph_t *glyphs = cairo_font_face_get_user_data (cairo_scaled_font_get_font_face (scaled_font),
-                                                                     &test_font_face_glyphs_key);
-    int i;
-
-    for (i = 0; glyphs[i].ucs4 != (unsigned long) -1; i++)
-       if (glyphs[i].ucs4 == unicode) {
-           *glyph = i;
-           return CAIRO_STATUS_SUCCESS;
-       }
-
-    /* Not found.  Default to glyph 0 */
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-test_scaled_font_render_glyph (cairo_scaled_font_t  *scaled_font,
-                              unsigned long         glyph,
-                              cairo_t              *cr,
-                              cairo_text_extents_t *metrics)
-{
-    test_scaled_font_glyph_t *glyphs = cairo_font_face_get_user_data (cairo_scaled_font_get_font_face (scaled_font),
-                                                                     &test_font_face_glyphs_key);
-    int i;
-    const char *data;
-    div_t d;
-    double x, y;
-
-    /* FIXME: We simply crash on out-of-bound glyph indices */
-
-    metrics->x_advance = glyphs[glyph].width / 4.0;
-
-    cairo_set_line_width (cr, 0.1);
-    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
-    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-
-    data = glyphs[glyph].data;
-    for (i = 0; data[i] != END_GLYPH; i++) {
-       switch (data[i]) {
-       case STROKE:
-           cairo_new_sub_path (cr);
-           break;
-
-       case CLOSE:
-           cairo_close_path (cr);
-           break;
-
-       default:
-           d = div (data[i] - 1, 3);
-           x = d.rem / 4.0 + 0.125;
-           y = d.quot / 5.0 + 0.4 - 1.0;
-           cairo_line_to (cr, x, y);
-       }
-    }
-    cairo_stroke (cr);
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_status_t
-_user_font_face_create (cairo_font_face_t **out)
-{
-    /* Simple glyph definition: 1 - 15 means lineto (or moveto for first
-     * point) for one of the points on this grid:
-     *
-     *      1  2  3
-     *      4  5  6
-     *      7  8  9
-     * ----10 11 12----(baseline)
-     *     13 14 15
-     */
-    static const test_scaled_font_glyph_t glyphs [] = {
-       { 'a',  3, { 4, 6, 12, 10, 7, 9, STROKE, END_GLYPH } },
-       { 'c',  3, { 6, 4, 10, 12, STROKE, END_GLYPH } },
-       { 'e',  3, { 12, 10, 4, 6, 9, 7, STROKE, END_GLYPH } },
-       { 'f',  3, { 3, 2, 11, STROKE, 4, 6, STROKE, END_GLYPH } },
-       { 'g',  3, { 12, 10, 4, 6, 15, 13, STROKE, END_GLYPH } },
-       { 'h',  3, { 1, 10, STROKE, 7, 5, 6, 12, STROKE, END_GLYPH } },
-       { 'i',  1, { 1, 1, STROKE, 4, 10, STROKE, END_GLYPH } },
-       { 'l',  1, { 1, 10, STROKE, END_GLYPH } },
-       { 'n',  3, { 10, 4, STROKE, 7, 5, 6, 12, STROKE, END_GLYPH } },
-       { 'o',  3, { 4, 10, 12, 6, CLOSE, END_GLYPH } },
-       { 'r',  3, { 4, 10, STROKE, 7, 5, 6, STROKE, END_GLYPH } },
-       { 's',  3, { 6, 4, 7, 9, 12, 10, STROKE, END_GLYPH } },
-       { 't',  3, { 2, 11, 12, STROKE, 4, 6, STROKE, END_GLYPH } },
-       { 'u',  3, { 4, 10, 12, 6, STROKE, END_GLYPH } },
-       { 'z',  3, { 4, 6, 10, 12, STROKE, END_GLYPH } },
-       { ' ',  1, { END_GLYPH } },
-       { '-',  2, { 7, 8, STROKE, END_GLYPH } },
-       { '.',  1, { 10, 10, STROKE, END_GLYPH } },
-       {  -1,  0, { END_GLYPH } },
-    };
-
-    cairo_font_face_t *user_font_face;
-    cairo_status_t status;
-
-    user_font_face = cairo_user_font_face_create ();
-    cairo_user_font_face_set_init_func             (user_font_face, test_scaled_font_init);
-    cairo_user_font_face_set_render_glyph_func     (user_font_face, test_scaled_font_render_glyph);
-    cairo_user_font_face_set_unicode_to_glyph_func (user_font_face, test_scaled_font_unicode_to_glyph);
-
-    status = cairo_font_face_set_user_data (user_font_face,
-                                           &test_font_face_glyphs_key,
-                                           (void*) glyphs, NULL);
-    if (status) {
-       cairo_font_face_destroy (user_font_face);
-       return status;
-    }
-
-    *out = user_font_face;
-    return CAIRO_STATUS_SUCCESS;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_font_face_t *font_face;
-    const char text[] = TEXT;
-    cairo_font_extents_t font_extents;
-    cairo_text_extents_t extents;
-    cairo_status_t status;
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-#ifdef ROTATED
-    cairo_translate (cr, TEXT_SIZE, 0);
-    cairo_rotate (cr, .6);
-#endif
-
-    status = _user_font_face_create (&font_face);
-    if (status) {
-       return cairo_test_status_from_status (cairo_test_get_context (cr),
-                                             status);
-    }
-
-    cairo_set_font_face (cr, font_face);
-    cairo_font_face_destroy (font_face);
-
-    cairo_set_font_size (cr, TEXT_SIZE);
-
-    cairo_font_extents (cr, &font_extents);
-    cairo_text_extents (cr, text, &extents);
-
-    /* logical boundaries in red */
-    cairo_move_to (cr, 0, BORDER);
-    cairo_rel_line_to (cr, WIDTH, 0);
-    cairo_move_to (cr, 0, BORDER + font_extents.ascent);
-    cairo_rel_line_to (cr, WIDTH, 0);
-    cairo_move_to (cr, 0, BORDER + font_extents.ascent + font_extents.descent);
-    cairo_rel_line_to (cr, WIDTH, 0);
-    cairo_move_to (cr, BORDER, 0);
-    cairo_rel_line_to (cr, 0, 2*BORDER + TEXT_SIZE);
-    cairo_move_to (cr, BORDER + extents.x_advance, 0);
-    cairo_rel_line_to (cr, 0, 2*BORDER + TEXT_SIZE);
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_set_line_width (cr, 2);
-    cairo_stroke (cr);
-
-    /* ink boundaries in green */
-    cairo_rectangle (cr,
-                    BORDER + extents.x_bearing, BORDER + font_extents.ascent + extents.y_bearing,
-                    extents.width, extents.height);
-    cairo_set_source_rgb (cr, 0, 1, 0);
-    cairo_set_line_width (cr, 2);
-    cairo_stroke (cr);
-
-    /* text in black */
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_move_to (cr, BORDER, BORDER + font_extents.ascent);
-    cairo_show_text (cr, text);
-
-
-    /* filled version of text in blue */
-    cairo_set_source_rgb (cr, 0, 0, 1);
-    cairo_move_to (cr, BORDER, BORDER + font_extents.height + 2*BORDER + font_extents.ascent);
-    cairo_text_path (cr, text);
-    cairo_fill (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (user_font,
-           "Tests user font feature",
-           "font, user-font", /* keywords */
-           "cairo >= 1.7.4", /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/white-in-noop.c b/test/white-in-noop.c
deleted file mode 100644 (file)
index e6a93e8..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- Mode: c; c-basic-offset: 4; indent-tabs-mode: t; tab-width: 8; -*- */
-/*
- * Copyright 2011 Andrea Canciani
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Andrea Canciani <ranma42@gmail.com>
- */
-
-#include "cairo-test.h"
-
-#define HEIGHT 4
-#define WIDTH 4
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_set_source_rgb (cr, 0, 0, 0);
-    cairo_paint (cr);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_IN);
-
-    cairo_set_source_rgb (cr, 1, 1, 1);
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (white_in_noop,
-           "Test an invalid optimization of the IN operator with white sources",
-           "operator", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw)
diff --git a/test/world-map.c b/test/world-map.c
deleted file mode 100644 (file)
index f775bb0..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#define WIDTH 800
-#define HEIGHT 400
-
-typedef enum {
-    WM_NEW_PATH,
-    WM_MOVE_TO,
-    WM_LINE_TO,
-    WM_HLINE_TO,
-    WM_VLINE_TO,
-    WM_REL_LINE_TO,
-    WM_END
-} wm_type_t;
-
-typedef struct _wm_element {
-    wm_type_t type;
-    double x;
-    double y;
-} wm_element_t;
-
-#include "world-map.h"
-
-enum {
-    STROKE = 1,
-    FILL = 2,
-};
-
-static cairo_test_status_t
-draw_world_map (cairo_t *cr, int width, int height, int mode)
-{
-    const wm_element_t *e;
-    double cx, cy;
-
-    cairo_set_line_width (cr, 0.2);
-
-    cairo_set_source_rgb (cr, .68, .85, .90); /* lightblue */
-    cairo_rectangle (cr, 0, 0, 800, 400);
-    cairo_fill (cr);
-
-    e = &countries[0];
-    while (1) {
-       switch (e->type) {
-       case WM_NEW_PATH:
-       case WM_END:
-           if (mode & FILL) {
-               cairo_set_source_rgb (cr, .75, .75, .75); /* silver */
-               cairo_fill_preserve (cr);
-           }
-           if (mode & STROKE) {
-               cairo_set_source_rgb (cr, .50, .50, .50); /* gray */
-               cairo_stroke (cr);
-           }
-           cairo_new_path (cr);
-           cairo_move_to (cr, e->x, e->y);
-           break;
-       case WM_MOVE_TO:
-           cairo_close_path (cr);
-           cairo_move_to (cr, e->x, e->y);
-           break;
-       case WM_LINE_TO:
-           cairo_line_to (cr, e->x, e->y);
-           break;
-       case WM_HLINE_TO:
-           cairo_get_current_point (cr, &cx, &cy);
-           cairo_line_to (cr, e->x, cy);
-           break;
-       case WM_VLINE_TO:
-           cairo_get_current_point (cr, &cx, &cy);
-           cairo_line_to (cr, cx, e->y);
-           break;
-       case WM_REL_LINE_TO:
-           cairo_rel_line_to (cr, e->x, e->y);
-           break;
-       }
-       if (e->type == WM_END)
-           break;
-       e++;
-    }
-
-    cairo_new_path (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_test_status_t
-draw_world_map_stroke (cairo_t *cr, int width, int height)
-{
-    return draw_world_map (cr, width, height, STROKE);
-}
-
-static cairo_test_status_t
-draw_world_map_fill (cairo_t *cr, int width, int height)
-{
-    return draw_world_map (cr, width, height, FILL);
-}
-
-static cairo_test_status_t
-draw_world_map_both (cairo_t *cr, int width, int height)
-{
-    return draw_world_map (cr, width, height, FILL | STROKE);
-}
-
-CAIRO_TEST (world_map,
-           "Tests a complex drawing (part of the performance suite)",
-           "fill, stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_world_map_both)
-CAIRO_TEST (world_map_stroke,
-           "Tests a complex drawing (part of the performance suite)",
-           "stroke", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_world_map_stroke)
-CAIRO_TEST (world_map_fill,
-           "Tests a complex drawing (part of the performance suite)",
-           "fill", /* keywords */
-           NULL, /* requirements */
-           WIDTH, HEIGHT,
-           NULL, draw_world_map_fill)
diff --git a/test/world-map.h b/test/world-map.h
deleted file mode 100644 (file)
index af58b80..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/* The data for this test case was provided by Gary Nicholson
- * <gary@imapping.co.nz> who originally created an interactive SVG map
- * of the world as can be seen here:
- *
- *     http://www.wherearewe.co.nz/svg.html
- *
- * The data is used here by permission from Gary given on 2006-11-08:
- *
- *     Thanks for asking, I don't need any attribution if you are
- *     only using the vectors and not the entire map with
- *     interactivity etc. So feel free to do what you wish with
- *     the data.
- */
-
-#define N(x,y) { WM_NEW_PATH,    x, y }
-#define M(x,y) { WM_MOVE_TO,     x, y }
-#define L(x,y) { WM_LINE_TO,     x, y }
-#define H(x,y) { WM_HLINE_TO,    x, y }
-#define V(x,y) { WM_VLINE_TO,    x, y }
-#define l(x,y) { WM_REL_LINE_TO, x, y }
-#define E(x,y) { WM_END,         x, y }
-
-static const wm_element_t countries[] = {
-N(413.519,90.071),l(.136,-.348),l(-.31,-.204),l(-.017,-.327),l(.213,-.322),l(.245,-.147),l(.142,-.08),l(.225,.072),l(.062,.301),l(.41,.312),l(.466,.096),l(-.044,.288),l(-.248,.144),l(.074,.353),l(-.145,-.063),l(-.568,-.011),l(-.642,-.063),
-N(421.683,94.397),l(.193,.336),l(-.266,.274),l(.214,.288),l(-.09,.192),l(.622,.062),l(.008,.144),l(.55,.242),l(.579,-.332),l(.215,.117),l(-.029,.171),l(-.126,.309),l(.112,.212),l(-.038,.192),l(-.315,-.051),l(-.176,-.162),l(-.283,.091),l(-.081,.273),l(.244,.131),l(-.228,.415),l(-.244,-.333),l(-.469,.05),l(-.071,.122),l(-.216,.03),l(-.23,-.142),l(-.143,-.354),l(-.371,.081),l(.019,.333),l(-.425,.384),l(-.018,.535),l(-.285,.151),l(-.385,-.312),l(.098,-.182),l(-.311,-.071),l(-.534,-.363),l(-.016,-.415),l(-.777,.404),l(.103,.212),l(-.349,.432),l(-.275,.16),l(-.629,-.168),l(-.627,.204),l(-.599,-.062),l(-.102,-.424),l(-.312,-.806),l(-.616,.147),l(-.854,.668),l(-.369,-.111),l(.238,-.226),l(.013,-.322),l(-.08,-.137),l(.089,-.294),l(.718,-.418),l(-.038,-.315),l(.575,-.24),l(.012,-.076),l(.528,-.494),l(.173,-.035),l(-.116,-.089),l(-.153,-.028),l(.221,-.302),l(.446,.007),l(-.005,.096),l(.473,.007),l(.385,-.309),l(.271,.089),l(.272,-.117),l(.271,.096),l(.567,-.158),l(.278,.11),l(.354,-.021),l(-.179,-.199),l(.709,-.199),l(.017,.151),l(.199,-.014),l(.149,.089),l(.852,.007),l(.664,.261),
-N(421.394,104.558),l(.104,.175),l(.04,.256),l(-.06,.475),l(.118,.054),l(.062,.333),l(-.076,.795),l(-.211,.327),l(-.118,.724),l(-.292,.501),l(-.298,-.043),l(-.057,-.196),l(-.41,-.076),l(-.227,-.152),l(.284,-.207),l(-.07,-.076),l(-.437,-.098),l(.257,-.332),l(-.11,-.071),l(-.291,.071),l(-.053,-.147),l(.115,-.022),l(.175,-.158),l(-.094,-.153),l(-.257,-.082),l(.015,-.164),l(.247,-.12),l(-.284,-.218),l(.241,-.284),l(.6,-.305),l(.27,-.022),l(.04,-.125),l(.292,-.043),l(.195,.104),l(.096,-.142),l(-.022,-.344),l(.072,-.224),l(.143,-.011),M(396.323,103.853),l(.375,-.122),l(.411,-.365),l(.549,-2.299),l(.397,-.091),l(-.21,-.29),l(-.226,.259),l(.125,-1.144),l(.223,-.826),l(.115,.153),l(.496,.306),l(.191,.382),l(.191,.229),l(-.281,-.673),l(-.63,-.582),l(-.242,-.233),l(.024,-.249),l(.359,-.477),l(-.202,-.375),l(-.2,-.274),l(-.326,-.216),l(-.685,-.1),l(-.515,-.571),l(-.416,-.323),l(.278,-.426),l(-.233,-.181),l(-.343,-.131),l(-.511,-.142),l(-.184,-.173),l(.247,-.376),l(-.329,-.173),l(-.509,.179),l(-.489,-.249),l(-.824,-.251),l(-.619,-.181),l(-.325,.014),l(-.215,-.25),l(-.91,.167),l(-.059,-.25),l(-.265,-.125),l(-.367,-.042),l(-.056,-.104),l(.861,-.083),l(-.085,-.229),l(-.526,-.104),l(.442,-.104),l(.086,-.205),l(-.275,.017),l(-.263,-.021),l(-.417,.083),l(.04,-.438),l(.303,.012),l(.305,-.146),l(.526,-.088),l(.562,-.174),l(.215,.188),l(.18,-.167),l(.474,.063),l(.112,-.26),l(.272,-.059),l(.764,-.078),l(.393,.366),l(.275,.26),l(.342,.083),l(.652,-.271),l(.317,.167),l(.276,-.127),l(.457,-.124),l(.029,.23),l(.591,-.065),l(.3,-.103),l(-.265,-.188),l(-.028,-.251),l(.056,-.345),l(-.037,-.428),l(-.131,.021),l(-.562,-.682),l(-.11,-.407),l(.927,.126),l(.607,-.105),l(-.084,.397),l(.248,.419),l(.342,-.146),l(1.241,.104),l(.501,.146),l(.079,-.014),l(.525,-.093),l(.662,-.27),l(-.534,-.124),l(.055,-.204),l(.166,-.175),l(.753,-.322),l(.756,-.181),l(.902,-.215),l(.314,-.235),l(.302,-.264),l(-.053,-.775),l(.135,-.542),l(.521,-.25),l(.46,-.16),l(.916,-.092),l(.177,-.096),l(.208,.447),l(.311,.335),l(.266,.127),l(.141,-.071),l(.41,-.208),l(.153,.17),l(.202,.458),l(.194,.133),l(.518,-.012),l(.159,.301),l(.259,-.012),l(.576,.048),l(.375,.168),l(-.159,.241),l(.091,.175),l(-.072,.198),l(.285,.122),l(.406,-.075),l(.446,-.035),l(.193,-.313),l(.245,-.072),l(-.119,.373),l(.146,.18),l(-.039,.228),l(.529,.048),l(.341,.192),l(.371,.204),l(.127,.228),l(.694,-.174),l(.079,.114),l(.642,.063),l(.568,.011),l(.145,.063),l(.428,.319),l(.337,.277),l(.395,-.055),l(.045,.145),l(.689,-.062),l(.072,-.048),l(.233,.007),l(.095,.186),l(.456,.09),l(.479,-.014),l(.605,.193),l(-.954,.806),l(-.054,.213),l(-.054,.358),l(-.321,.372),l(-.075,.295),l(.091,.076),l(-.216,.701),l(.135,.233),l(-.385,.309),l(-.473,-.007),l(.005,-.096),L(415.96,94.5),l(-.221,.302),l(.153,.028),l(.116,.089),l(-.173,.035),l(-.528,.494),l(-.012,.076),l(-.575,.24),l(.038,.315),l(-.718,.418),l(-.089,.294),l(.08,.137),l(-.013,.322),l(-.238,.226),l(.369,.111),l(.854,-.668),l(.616,-.147),l(.312,.806),l(.102,.424),l(-.624,.301),l(.532,.344),l(.025,.292),l(.43,.192),l(-.199,.272),l(-.541,.353),l(-.183,-.111),l(-.437,.186),l(.352,.358),l(.616,.191),l(.135,.331),l(-.175,.01),l(-.315,.371),l(.193,.442),l(.754,.391),l(.849,-.07),l(.062,.281),l(-.146,.469),l(-.346,.23),l(-.221,.215),l(-.833,.488),l(-.889,.659),l(-.427,.087),l(-.318,.043),l(-.798,.159),l(-.405,-.028),l(-.471,-.156),l(-.851,-.499),l(-.315,-.085),l(-.354,.029),l(-.231,.072),l(-.511,-.056),l(-.752,-.313),l(-.602,.044),l(-.731,.345),l(-.357,.258),l(-.555,.559),l(-.147,.386),l(.099,.514),l(.091,.379),l(-.334,-.091),l(-.75,.137),l(-.039,.136),l(-.485,-.015),l(-.427,-.197),l(-.395,.167),l(-.261,-.015),l(-.036,-.152),l(-.335,-.091),l(-.206,.03),l(-.374,.076),l(-.187,-.076),l(-.035,-.289),l(-.091,-.213),l(-1.252,-.304),l(-.355,0),l(.017,.319),l(-.542,-.015),l(-.337,.061),l(-.037,-.122),l(-.767,.03),l(-.084,-.114),l(-.028,-.038),l(-.431,-.152),l(-.131,.076),l(-.262,-.03),l(-.056,.076),l(-.507,-.395),l(-.15,.061),l(-1.088,-.334),l(-.112,.106),l(-.15,-.03),l(-.094,-.106),l(.205,-.243),l(-.058,-.122),l(-.469,.03),l(-.472,-.243),
-N(681.312,116.395),l(.235,-.171),l(.283,-.256),l(.633,-.738),l(.315,-.157),l(.595,.011),l(.579,.068),l(.511,.096),l(.309,-.115),l(.571,-.678),l(.682,.621),l(1.178,1.611),l(.329,.495),l(.269,.664),l(.002,.75),l(-.034,.947),l(-.129,.637),l(.143,.113),l(.5,-.043),l(-.121,.41),l(-.282,.523),l(-.5,.75),l(-.316,.312),l(-.243,.043),l(-.567,-.211),l(-.256,.1),l(-.607,.58),l(-.431,-.083),l(-.289,-.225),l(-.544,.1),l(-.526,.199),l(-1.188,.835),l(-.462,.043),l(-.46,.312),l(-.055,-.564),l(-.056,-.324),l(-.163,-.705),l(-.137,-.395),l(.167,-.453),l(.499,-.468),l(0,-.353),l(.226,-.425),l(-.044,-.141),l(-.378,-.311),l(-.095,-.296),l(.015,-.467),l(-.087,-.339),l(-.289,-.126),l(-.603,-.084),l(.654,-.411),l(.303,-.114),l(.654,.268),l(.254,-.241),l(-.029,-.283),l(-.764,-.89),l(-.113,-.311),l(-.137,-.105),
-N(475.646,121.847),l(-.018,.175),l(.338,.391),l(-.295,-.009),l(-.132,.108),l(-.104,-.059),l(-.327,-.021),l(-.121,.33),l(-.783,.257),l(-.384,.046),l(-.099,.053),l(0,.21),l(-.217,.006),l(-.072,-.192),l(-.402,.023),l(-.547,-.146),l(-.191,-.087),l(0,-.21),l(-.161,-.105),l(-.122,-.403),l(.082,-.035),l(.12,.1),l(.147,-.006),l(.405,-.304),l(.253,-.006),l(.328,.092),l(.077,-.086),l(.088,-.286),l(-.053,-.175),l(.627,.093),l(.658,.027),l(.367,-.056),l(.818,-.233),l(.689,-.304),l(.535,-.158),l(-.475,.295),l(-.436,.231),l(-.596,.444),
-N(704.404,117.274),l(.197,-.099),l(1.108,-.271),l(.057,.354),l(-.481,.284),l(-.232,.241),l(-.068,.453),l(.139,.367),l(.291,.056),l(.221,-.114),l(.418,-.354),l(.24,-.085),l(1.656,-.697),l(.389,-.213),l(.46,-.326),l(.349,-.638),l(.76,-.412),l(.347,-.327),l(.191,-.269),l(.142,-.51),l(.538,-.582),l(-.01,-.142),l(.344,-.567),l(.159,-.468),l(.139,-.609),l(-.043,-.467),l(-.33,-.198),l(-.128,-.24),l(.234,-.213),l(.166,-.284),l(-.155,-1.023),l(.544,-.343),l(.176,-.242),l(.327,-.328),l(.192,0),l(.21,.355),l(.199,.227),l(.303,-.058),l(.799,-.257),l(-.169,-.526),l(-.311,-.028),l(-.36,-.312),l(.694,-.415),l(.441,.156),l(.336,.227),l(.025,.199),l(-.016,.868),l(.058,.611),l(.22,.127),l(.243,.312),l(.717,1.432),l(.001,.496),l(-.246,.709),l(-.709,.766),l(-.226,.439),l(.064,.368),l(-.15,.071),l(-.737,.285),l(-.161,.113),l(-.164,.199),l(-.174,.453),l(.02,.396),l(.094,.254),l(.131,.792),l(-.04,.693),l(-.686,.751),l(-.242,.736),l(.02,.707),l(.198,.296),l(.422,.353),l(-.617,.298),l(-.193,.127),l(-.166,.17),l(-.174,.834),l(-1.081,.439),l(-.094,-.282),l(.294,-.665),l(.184,-.523),l(-.198,-.126),l(-.514,.241),l(-.578,.623),l(-.476,.001),l(-.346,.312),l(-.066,.748),l(-.354,.269),l(-.188,-.028),l(-.066,-.155),l(.003,-.606),l(-.149,-.155),l(-.211,.042),l(-.309,.156),l(-.344,.311),l(-.325,.523),l(-.866,-.055),l(-.505,.057),l(-.631,.1),l(-.458,-.549),l(-.685,-.323),l(-.26,.254),l(-.067,.184),l(-.177,.353),l(.037,.056),l(.417,.197),l(.416,.323),l(-.293,.198),l(-.829,.129),l(-.433,.241),l(-.463,.622),l(-.522,.847),l(-.688,-.365),l(-.565,-.21),l(-.285,-.197),l(-.014,-.169),l(-.194,-.818),l(.099,-.155),l(.495,-.325),l(.179,-.269),l(-.067,-.282),l(-.18,-.042),l(-.601,.17),l(-.341,-.028),l(-.789,-.167),l(-.475,.128),l(-.427,.227),l(-.437,.184),l(-.269,-.098),l(-.256,-.027),l(-1.647,.398),l(-.814,.298),l(-.21,-.31),l(-.452,-.042),l(-.413,.438),l(-.006,.635),l(-.756,-.238),l(-.579,-.055),l(-1.1,.073),l(-.267,-.14),l(.072,-.339),l(.179,-.283),l(.483,.013),l(.499,-.114),l(.751,-.467),l(2.201,-1.953),l(.28,-.015),l(.427,-.128),l(.056,.424),l(.495,-.128),l(1.278,-.257),l(.933,-.058),l(1.183,-.172),l(.892,-.256),l(.068,.452),l(.377,.268),l(.167,-.085),l(.654,-.199),l(.446,-.34),l(-.003,-.353),l(.114,-.467),l(.465,-.51),l(.698,-.581),l(.371,-.453),l(-.062,-1.117),l(.182,-.213),M(695.464,127.756),l(-.292,-.197),l(-.223,-.268),l(-.101,-.381),l(-.177,-.395),l(-.492,-.535),l(.731,-.382),l(.287,-.269),l(.456,-.593),l(.409,.253),l(.615,-.015),l(.483,-.185),l(.311,-.339),l(.451,-.311),l(.454,-.029),l(.316,.169),l(.862,.224),l(.153,.254),l(-.1,.127),l(-.102,.423),l(-.292,.24),l(-.864,.876),l(-.181,-.211),l(-.424,-.295),l(-.467,-.042),l(-.612,.213),l(-.193,.184),l(-.245,.495),l(-.165,.508),l(-.153,.212),l(-.448,.269),M(691.12,131.448),l(-.366,-.042),l(-.056,-.141),l(.268,-.537),l(.128,-.593),l(-.334,-.112),l(-.239,.198),l(-.155,.466),l(-.381,.452),l(-.326,-.211),l(-.059,-.211),l(.322,-.466),l(.032,-.296),l(-.356,-.917),l(.169,-.113),l(.687,-.58),l(.083,-.141),l(.034,-.466),l(-.532,-.789),l(-.333,-.042),l(-.162,.269),l(-.419,.495),l(-.249,-.112),l(-.23,-.508),l(-.376,-.267),l(-.261,-.366),l(.41,-.325),l(.733,.083),l(.706,-.171),l(.315,-.466),l(.241,-.283),l(.484,-.058),l(.478,.056),l(.249,.38),l(.27,.168),l(.43,.084),l(.628,-.213),l(.225,.395),l(-.569,.438),l(.405,.239),l(.443,.437),l(.079,.254),l(-.596,.58),l(-.242,.41),l(-.104,.367),l(-.085,.621),l(-.109,.649),l(-.242,.353),l(-.194,.099),l(-.165,.071),l(-.197,.184),l(-.479,.678),M(711.938,108.369),l(-.222,-.241),l(-.077,-.271),l(.325,-.642),l(-.055,-.342),l(-.549,-.198),l(-.168,-.171),l(-.146,-.812),l(.583,-.386),l(.522,-.172),l(.646,-.373),l(.037,-.356),l(-.318,-.285),l(.277,-.3),l(.224,-.015),l(.661,.427),l(.373,.085),l(.532,-.201),l(-.004,-1.186),l(.455,-.187),l(.45,-.244),l(.074,-.743),l(.007,-.844),l(-.398,-.758),l(-.098,-.473),l(.166,-.216),l(.618,-.346),l(.063,.072),l(.507,.43),l(.904,.816),l(1.07,.842),l(1.083,.684),l(.627,.285),l(.528,.17),l(1.02,.198),l(.282,.042),l(.304,-.086),l(.866,-.66),l(.461,-.144),l(.002,.1),l(-.308,.358),l(-.335,.558),l(.198,.414),l(.469,.599),l(.197,.356),l(-.561,.272),l(-.447,.244),l(-.534,.158),l(-.365,.015),l(-.488,-.199),l(-.453,.015),l(-.363,.144),l(-.345,.229),l(-.754,.786),l(-.396,.5),l(-.26,.599),l(-.4,-.07),l(-.425,-.241),l(-2.031,-.965),l(-.461,-.085),l(-.72,.044),l(-1.038,.587),l(-.153,-.299),l(-.372,-.356),l(-.339,.029),l(-.266,.115),l(-.439,.272),l(.049,.299),l(1.16,.497),l(.56,.298),l(.302,.27),l(-.391,.214),l(-.303,.029),l(-.305,-.128),l(-.261,.043),l(-.324,.314),l(-.388,.471),l(-.347,.114),
-N(597.917,139.685),l(1.251,-1.545),l(.609,-.539),l(.348,-.239),l(.149,-.103),l(.417,-.016),l(.309,.294),l(.479,.208),l(1.659,.047),l(.371,.041),l(.312,.209),l(.329,.619),l(-.07,.156),l(.042,.24),l(.326,.294),l(.313,.069),l(.258,.238),l(.017,.282),l(-.217,.58),l(-.624,.06),l(-1.036,.062),l(-1.238,-.063),l(-.335,-.125),l(-.301,-.055),l(-.531,.313),l(-.544,.074),l(-.085,-.021),l(-.869,-.214),l(-.559,-.081),l(-.637,-.18),l(-.235,-.493),l(.092,-.113),
-N(362.764,152.723),l(.072,-.625),l(.395,-.876),l(.52,-.552),l(.488,-.566),l(.244,-.509),l(1.175,-2.559),l(.238,-.241),l(1.404,-1.175),l(.345,-.495),l(.051,-.918),l(.305,-1.088),l(.651,-1.075),l(.399,-.34),l(.404,-.198),l(.838,-.51),l(.361,-.495),l(.334,-.777),l(.428,-.851),l(1.635,-.04),l(2.511,0),l(2.677,-.001),l(1.718,.004),l(1.42,-.008),l(.027,.876),l(-.03,1.752),l(.002,.65),l(-.104,.396),l(-.56,-.011),l(-6.005,-.022),l(-.557,.074),l(-.047,.509),l(-.07,2.261),l(-.099,2.6),l(-.144,.128),l(-.809,.287),l(-.726,.315),l(-.575,.427),l(-.249,.383),l(-.01,.707),l(.164,1.539),l(.051,1.102),l(-.212,-.027),l(-.732,.033),l(-2.396,-.014),l(-5.055,-.056),l(-.474,-.013),
-N(514.551,145.841),l(-.374,.027),l(-.336,-.083),l(-.008,-.615),l(-.153,-.437),l(-.108,-.791),l(.187,-.607),l(.188,-.11),l(-.059,-.187),l(.177,-.607),l(.33,-.269),l(.312,.083),l(.069,.315),l(.26,.093),l(.063,.199),l(.116,.326),l(-.106,.42),l(.031,.708),l(.118,.254),l(-.104,.381),l(-.327,.467),l(-.275,.433),
-N(514.177,145.868),l(.374,-.027),l(.008,.288),l(.361,.14),l(.153,.128),l(.186,-.093),l(-.046,.443),l(.397,.001),l(.402,.127),l(.687,-.093),l(.103,-.21),l(.183,-.058),l(.218,.117),l(.424,-.042),l(.595,.112),l(.224,-.035),l(.079,-.105),l(1.358,.222),l(.732,-.14),l(-.022,-.292),l(.225,.175),l(.375,-.016),l(.157,-.099),l(.312,-.422),l(.232,-.073),l(.267,-.495),l(.131,-.297),l(.711,-.637),l(.813,-.889),l(.163,.105),l(.229,-.178),l(.85,-.708),l(.313,-.433),l(.15,.161),l(-.248,.42),l(-.107,.299),l(-.004,.176),l(.099,.064),l(.121,-.024),l(.454,.042),l(.09,.324),l(.001,.508),l(-.003,.358),l(-.49,.034),l(-.401,-.083),l(-.107,.396),l(.073,1.326),l(-.199,.34),l(-.536,.596),l(.003,.946),l(.024,2.075),l(.063,.183),l(-.152,.057),l(-.584,.469),l(-.839,-.108),l(-3.387,-.446),l(-3.362,-.375),l(-.261,-.902),l(-.548,-1.154),l(-1.043,-2.198),
-N(668.627,151.365),l(-.102,-.056),l(-.107,-.325),l(-.922,-1.212),l(-.332,-.987),l(-.03,-.438),l(.156,-.749),l(.546,-.792),l(1.312,-1.852),l(.259,-.184),l(.425,-.128),l(.229,-.184),l(.358,-.227),l(.228,.127),l(.554,.394),l(-.334,.424),l(-.084,.142),l(.023,.31),l(-.067,.622),l(-.203,.296),l(-.182,.354),l(-.065,.692),l(-.1,.494),l(-.317,.805),l(-.473,.707),l(-.417,.833),l(-.014,.353),l(-.114,.438),l(-.228,.142),
-N(389.765,144.543),l(.1,.084),l(.895,.531),l(2.054,1.344),l(.811,.575),l(3.283,2.241),l(1.924,1.26),l(1.292,.824),l(.397,.253),l(2.472,1.469),l(.181,.253),l(-.096,.396),l(.082,.183),l(.393,.28),l(1.111,1.039),l(.229,.027),l(.47,-.314),l(.588,.562),l(.375,.167),l(.748,.024),l(.309,.111),l(.277,.352),l(.099,.522),l(-.161,.679),l(.146,.564),l(2.176,-.408),l(.064,1.017),l(.034,2.203),l(.001,.96),l(-.08,.89),l(-.145,.919),l(-.434,1.246),l(-.596,.794),l(-.339,.271),l(-.29,.129),l(-2.533,.085),l(-1.808,.124),l(-.209,.072),l(-.562,.427),l(-.579,.272),l(-.678,-.053),l(-.581,-.081),l(-1.062,-.173),l(-.36,-.059),l(-.356,-.125),l(-.37,.073),l(-1.22,.713),l(-.947,.458),l(-.304,.228),l(-.314,.793),l(-.274,-.027),l(-.324,-.182),l(-.518,-.209),l(-.272,.101),l(-.638,.625),l(-.492,.667),l(-.393,.822),l(-.174,.227),l(-.45,.102),l(-.551,-.364),l(-.293,-.281),l(-.273,.058),l(-.397,.384),l(-.355,1.217),l(-.292,1.047),l(-.317,.369),l(-.543,.271),l(-.448,.158),l(-.257,.016),l(-.141,.255),l(.058,.749),l(-.133,.876),l(-.261,.92),l(-.172,.326),l(-.046,.156),l(-.08,.043),l(-.159,.1),l(-.604,.399),l(-.352,.059),l(-.148,-.239),l(-.117,-.381),l(-.004,-.297),l(-.147,-.211),l(-.257,-.041),l(-.239,.114),l(-.571,.483),l(-.362,.469),l(-.35,.228),l(-.455,-.436),l(-.566,-.321),l(-.352,.059),l(-.522,.54),l(-.559,-.901),l(-.194,-1.143),l(-.349,-.718),l(-.474,-.478),l(-.265,-.451),l(-.271,-.832),l(-.022,-.339),l(-.246,-.281),l(-.323,-.055),l(-.684,.428),l(-.3,.327),l(-.43,.243),l(-.565,-.152),l(-.356,-.153),l(-.338,-.026),l(-.475,.413),l(-.252,.256),l(-.536,-.265),l(-.882,-.715),l(-.18,-.183),l(-.113,-.028),l(.062,-.142),l(.004,-.565),l(-.082,-.833),l(-.265,-.337),l(-.554,-.322),l(-.181,-.197),l(-.22,-.479),l(-.144,-.663),l(-.251,-1.1),l(.057,-.339),l(.506,-.399),l(.332,-.284),l(.018,-.607),l(.181,-.552),l(.252,-.256),l(.402,-.073),l(.261,.111),l(.568,.83),l(.214,.168),l(.454,.082),l(.107,-.269),l(-.055,-.296),l(.06,-.212),l(.535,.124),l(.713,.137),l(.485,.054),l(.387,-.031),l(.945,-.344),l(1.953,-.026),l(6.457,-.01),l(.379,-1.613),l(-.724,-.787),l(-.186,-1.468),l(-.202,-2.386),l(-.325,-2.753),l(-.178,-1.736),l(-.19,-1.468),l(-.908,-7.962),l(-.049,-.776),l(3.231,-.089),l(.523,-.13),
-N(525.37,142.384),l(.312,-.429),l(.155,-.17),l(.084,.833),l(-.423,.707),l(-.118,.156),l(-.121,.024),l(-.099,-.064),l(.004,-.176),l(.107,-.299),l(.248,-.42),l(-.15,-.161),M(525.923,144.712),l(0,.22),l(.456,.762),l(.408,.465),l(.782,.634),l(.677,.394),l(1.008,.52),l(.392,.154),l(.277,.014),l(.576,-.029),l(.364,.112),l(.873,.973),l(.518,.648),l(.46,.422),l(.81,.365),l(.025,.212),l(-.67,1.06),l(-.615,.721),l(-.883,.807),l(-.776,1.541),l(-.242,.142),l(-.562,-.083),l(-.235,-.084),l(-.252,.071),l(-.278,.509),l(-.062,1.115),l(.001,.791),l(.134,.621),l(-.403,.142),l(-1.046,.073),l(-.627,.27),l(-.367,.283),l(-.29,.495),l(-.131,.551),l(-.204,.283),l(-.444,.255),l(-.544,.1),l(-.292,0),l(-.386,-.042),l(-.326,.029),l(-.382,.283),l(-.22,.297),l(-.125,.508),l(.003,.353),l(-.091,.311),l(-.631,.396),l(-.344,.043),l(-.776,-.21),l(-.717,.058),l(-.896,.27),l(-.768,.298),l(-.283,.099),l(-.416,.145),l(-.241,-.306),l(-.483,-.689),l(.006,-.296),l(-.127,-.253),l(-.933,-1.364),l(-.604,-.971),l(-.226,-.634),l(-.092,-.663),l(1.691,-.815),l(2.35,-1.213),l(5.346,-2.982),l(-.155,-1.453),l(-.581,-.914),l(-.063,-.183),l(-.024,-2.075),l(-.003,-.946),l(.536,-.596),l(.199,-.34),l(-.073,-1.326),l(.107,-.396),l(.401,.083),l(.49,-.034),
-N(405.733,173.04),l(-.568,-.971),l(-.562,-.025),l(-.37,.044),l(-.516,-.181),l(-.97,-.757),l(-.114,-.226),l(.335,-.439),l(-.018,-.212),l(-.179,-.268),l(-.502,-.42),l(-.389,-.266),l(-.422,-.492),l(-.426,-.93),l(-.019,-.396),l(.173,-.665),l(.581,.081),l(.678,.053),l(.579,-.272),l(.562,-.427),l(.209,-.072),l(1.808,-.124),l(2.533,-.085),l(.29,-.129),l(.339,-.271),l(.596,-.794),l(.434,-1.246),l(.145,-.919),l(.08,-.89),l(-.001,-.96),l(-.034,-2.203),l(-.064,-1.017),l(1.672,-.321),l(1.82,-.364),l(3.084,-2.617),l(.834,-.655),l(2.308,-1.454),l(1.607,-.956),l(4.012,-2.241),l(1.632,-.843),l(.265,-.186),l(.832,.137),l(1.646,.442),l(1.008,.333),l(.258,.182),l(1.192,.911),l(.231,-.157),l(1.519,-.729),l(.364,2.145),l(.169,1.298),l(.42,1.028),l(.554,.802),l(.703,.604),l(-.388,.722),l(-.265,.99),l(-.168,1.088),l(-.084,.989),l(.022,.537),l(-.062,.707),l(-.019,1.045),l(-.034,1.088),l(-.056,.466),l(-2.43,2.613),l(-.591,.78),l(-.87,1.333),l(-.572,.794),l(-.007,.678),l(.123,.719),l(.014,.269),l(-.951,.034),l(-.437,.2),l(-.453,.299),l(-.761,.697),l(-.259,.058),l(-.609,-.208),l(-.724,-.193),l(-.884,-.221),l(-.531,-.04),l(-.709,.047),l(-.628,.103),l(-.774,.287),l(-.403,.327),l(-.629,.399),l(-.273,.059),l(-.934,.005),l(-.965,-.277),l(-1.173,-.742),l(-.354,-.083),l(-.467,.116),l(-1.337,.544),l(-.37,.002),l(-.209,-.098),l(-1.095,-1.223),l(-.821,-.277),l(-1.111,-.121),l(-1.174,.108),l(-1.064,.188),l(-.676,.4),l(-.687,1.614),l(-.353,.482),l(-.158,.849),l(-.092,.961),l(-.902,-.503),l(-.727,-.589),l(-.339,-.28),l(-.321,.073),l(-.577,.3),
-N(431.763,171.063),l(-.351,-.407),l(-.575,-.52),l(-.173,-.394),l(-.014,-.269),l(-.123,-.719),l(.007,-.678),l(.572,-.794),l(.87,-1.333),l(.591,-.78),l(2.43,-2.613),l(.056,-.466),l(.034,-1.088),l(.019,-1.045),l(.062,-.707),l(-.022,-.537),l(.084,-.989),l(.168,-1.088),l(.265,-.99),l(.388,-.722),l(-.703,-.604),l(-.554,-.802),l(-.42,-1.028),l(-.169,-1.298),l(-.364,-2.145),l(1.818,-.858),l(.41,-.059),l(5.231,2.554),l(4.941,2.372),l(5.577,2.792),l(1.981,.963),l(-.02,1.045),l(-.016,.946),l(-.036,.636),l(.085,2.5),l(-.038,.749),l(.036,1.002),l(.031,1.229),l(-.04,.283),l(-.839,-.009),l(-1.245,.05),l(-.229,.143),l(-.417,1.245),l(-.583,.809),l(-.122,.438),l(.131,.677),l(-.149,.212),l(-.718,.428),l(-.053,.24),l(.342,.662),l(-.087,.34),l(-.542,.596),l(-.316,.609),l(.219,.352),l(.517,-.088),l(.338,.012),l(.141,.225),l(.221,1.228),l(.137,.522),l(.155,.295),l(.444,.407),l(.266,.465),l(.026,.367),l(-.15,.425),l(-.559,-.208),l(-.321,-.012),l(-.322,.086),l(-.939,.613),l(-.372,.228),l(-.165,.382),l(-.005,.41),l(-.196,.284),l(-2.649,2.275),l(-.386,.087),l(-2.181,.055),l(-.434,.059),l(-.209,.199),l(-.117,.806),l(-.646,1.176),l(-.258,.143),l(-.368,.031),l(-.881,-.009),l(-.818,.273),l(-.754,.386),l(-.466,.271),l(-.224,.03),l(-.225,-.069),l(-.494,-.661),l(-1.363,.686),l(-.449,.158),l(-.24,-.027),l(-.096,-.084),l(-.208,-.183),l(-.382,-1.057),l(-.638,-1.07),l(-1.343,-1.179),l(-1.088,-1.067),l(.323,-.539),l(.29,-.312),l(.24,-.1),l(.481,.082),l(1.187,.191),l(.674,-.032),l(.225,-.143),l(-.047,-.127),l(-.208,-.21),l(-.381,-.633),l(-.205,-.578),l(-.169,-1.228),l(.134,-.651),l(-.119,-1.2),l(-.395,-.887),l(-.923,-1.238),l(-.208,-.083),l(-.627,-.109),
-N(627.173,150.012),l(.483,-.229),l(.515,-.13),l(.341,.012),l(.597,.392),l(.325,.097),l(.584,-.413),l(.332,-.115),l(1.595,-.052),l(.807,-.117),l(.341,-.157),l(.696,-.554),l(.521,-.328),l(.298,-.101),l(.623,.575),l(.771,.235),l(.66,.053),l(.777,-.047),l(.237,.21),l(.056,.38),l(-.472,.75),l(.096,.521),l(.273,.365),l(.943,.615),l(.621,.166),l(.909,.107),l(.197,.143),l(-.19,.132),l(-.826,.482),l(.106,.465),l(-.203,.212),l(-1.261,-.054),l(-.136,.198),l(.057,.395),l(-.283,.382),l(-.585,.792),l(-.221,.142),l(-.533,.241),l(-.171,.127),l(-.27,.396),l(-.303,.932),l(-.388,.975),l(.268,.225),l(.469,.563),l(1.112,1.071),l(.023,.24),l(.042,.522),l(.087,.254),l(.42,.493),l(1.096,.83),l(1.282,1.296),l(.26,.197),l(.636,.069),l(.313,.38),l(.282,1.016),l(.302,.578),l(.638,.605),l(.293,.663),l(.341,1.382),l(.524,2.809),l(-.295,.438),l(-.235,.495),l(.05,.819),l(-.095,.41),l(.056,.664),l(-.027,.099),l(-.364,.551),l(-.447,.439),l(-.254,.127),l(-.509,.1),l(-.419,.17),l(-.501,.354),l(-.591,.622),l(-.579,.354),l(-.325,.043),l(-.512,-.197),l(-.404,-.31),l(-.179,-.141),l(-.153,.424),l(.051,.494),l(.048,.353),l(-.205,.721),l(-.388,.424),l(-.326,.071),l(-.235,-.07),l(-.246,.481),l(-.427,.326),l(-.523,.142),l(-.417,.213),l(-.459,.565),l(-.196,.269),l(-.406,.297),l(-.264,.099),l(-.365,-.042),l(.078,-.861),l(.1,-1.313),l(.151,-.494),l(.215,-.283),l(-.02,-.353),l(-.475,-.437),l(-.749,-.238),l(-.091,-.066),l(.3,-.289),l(.646,-.229),l(.915,-.528),l(.599,-.229),l(.497,.011),l(.688,.194),l(.17,-.27),l(-.03,-.197),l(-.568,-.435),l(-.216,-.422),l(.234,-.425),l(.99,-.571),l(.521,-.229),l(.932,-.443),l(.599,-.187),l(.385,-.285),l(.217,-.509),l(-.054,-1.073),l(.05,-.424),l(.076,-.367),l(-.455,-1.014),l(-.029,-.663),l(.215,-.905),l(.155,-.918),l(-.064,-.578),l(-.214,-.437),l(-.529,-.477),l(-.072,-.282),l(.226,-.439),l(-.136,-.395),l(-.358,-.308),l(-.685,-.391),l(-.471,-.52),l(-.57,-.914),l(-1.683,-2.121),l(-.698,-.772),l(-.637,-.646),l(-.632,-.476),l(-1.234,-.741),l(-.162,-.098),l(-.043,-.494),l(.277,-.369),l(.311,-.101),l(.476,.068),l(.287,-.058),l(.261,-.185),l(.255,-.326),l(-.009,-.508),l(-.87,-.968),l(-.434,-.675),l(-.262,-.083),l(-.39,.171),l(-.509,.483),l(-.287,.058),l(-.47,-.195),l(-.607,-.434),l(-.334,-.689),l(-.338,-.929),l(-.543,-.604),l(-.613,-.575),l(-.45,-.745),
-N(217.961,150.385),l(.304,-.043),l(.84,-.27),l(-.17,-.254),l(-.312,-.112),l(-.369,-.056),l(-.651,.016),l(-.497,-.042),l(-.645,.157),l(-1.193,.92),l(-.371,.029),l(-.653,.001),l(-.211,.113),l(-.189,.452),l(-.396,.284),l(-.32,.043),l(-.786,.086),l(.259,-.325),l(.473,-.312),l(-.128,-.593),l(.282,-.382),l(.114,-.099),l(1.258,-.61),l(1.625,-.47),l(1.164,-.087),l(.842,-.157),l(.825,.041),l(.566,-.044),l(.73,.168),l(.848,.083),l(.603,.197),l(.557,.112),l(.477,.013),l(.499,.268),l(.573,.536),l(.382,.253),l(.581,.168),l(.768,.111),l(1.229,.351),l(1.02,.492),l(.453,.31),l(.374,.55),l(.33,.141),l(.479,.041),l(1.704,.519),l(1.018,.167),l(.327,.239),l(-.344,.58),l(.233,.155),l(.559,.042),l(.756,-.072),l(.495,.168),l(.507,.38),l(.591,.281),l(.381,.296),l(-.233,.085),l(-.981,.087),l(-1.15,.398),l(-.626,.058),l(-1.054,-.209),l(-.9,-.041),l(-.934,.186),l(-.943,.115),l(-.484,.029),l(-.449,-.07),l(.353,-.382),l(.728,-.623),l(.173,-.396),L(229,154.204),l(-.181,-.127),l(-.622,-.14),l(-.7,.001),l(-.603,-.112),l(-.651,-.338),l(-.141,-.748),l(-.258,-.536),l(-.218,-.155),l(-.396,-.027),l(-1.005,.044),l(-.836,-.139),l(-.621,-.225),l(-.956,-.493),l(-.739,-.238),l(-.615,-.069),l(-1.154,-.068),l(-.489,-.098),l(-.855,-.352),
-N(634.036,168.444),l(.808,-.64),l(.121,-.438),l(-.002,-.945),l(-.157,-.507),l(-.419,-.703),l(-.979,-1.279),l(-.255,-.464),l(-.107,-.366),l(-.058,-1.524),l(-.435,-.632),l(-.688,-.659),l(-.285,-.535),l(-.052,-.282),l(-.266,-.153),l(-.893,-.192),l(-.403,-.012),l(-.286,.453),l(-.2,.538),l(-.543,.257),l(-.223,.072),l(-.59,-.265),l(-.835,-.348),l(-.346,.03),l(-1.173,1.178),l(-.37,.411),l(-.481,-.138),l(-.145,-.324),l(.027,-.494),l(.117,-.438),l(.528,-1.569),l(.085,-.41),l(-.249,-1.311),l(-.045,-.113),l(-.414,.045),l(-.489,.2),l(-.423,.003),l(-.186,-.154),l(-.066,-.367),l(.106,-.805),l(-.01,-.423),l(-.118,-.168),l(-.295,-.182),l(-.541,-.166),l(.193,-.185),l(.582,-.455),l(.442,-.581),l(.53,-.61),l(.502,-.355),l(.178,.196),l(.321,.21),l(.769,.08),l(.266,-.213),l(.109,-.339),l(-.119,-.521),l(-.228,-.366),l(-.138,-.592),l(.043,-.325),l(.24,-.241),l(.679,-.314),l(.45,.745),l(.613,.575),l(.543,.604),l(.338,.929),l(.334,.689),l(.607,.434),l(.47,.195),l(.287,-.058),l(.509,-.483),l(.39,-.171),l(.262,.083),l(.434,.675),l(.87,.968),l(.009,.508),l(-.255,.326),l(-.261,.185),l(-.287,.058),l(-.476,-.068),l(-.311,.101),l(-.277,.369),l(.043,.494),l(.162,.098),l(1.234,.741),l(.632,.476),l(.637,.646),l(.698,.772),l(1.683,2.121),l(.57,.914),l(.471,.52),l(.685,.391),l(.358,.308),l(.136,.395),l(-.226,.439),l(.072,.282),l(.529,.477),l(.214,.437),l(.064,.578),l(-.155,.918),l(-.209,.114),l(-.975,.429),l(-.3,.072),l(-.373,-.351),l(-.444,-.181),l(-.476,.186),l(-.392,.285),l(.107,.296),l(.187,.182),l(.103,.211),l(-.095,.24),l(-.248,.058),l(-.469,-.251),l(-.341,-.111),l(-.736,-.165),l(-.533,-.251),
-N(60.074,72.607),l(-.099,.228),l(-.491,.472),l(-.395,.183),l(-.462,.062),L(58,73.461),l(-.961,-.362),l(-.153,-.197),l(.169,-.289),l(.54,-.274),l(.341,-.32),l(.716,.364),l(.3,.091),l(.465,-.26),l(.215,-.213),l(.064,-.366),l(.485,-.047),l(1.107,.135),l(.536,.334),l(.133,.213),l(-.756,.062),l(-.429,0),l(-.59,.184),l(-.11,.092),M(40.092,77.571),l(-.729,-.029),l(-.097,-.24),l(.011,-.3),l(.802,-.243),l(.326,-.211),l(.593,-.423),l(.448,-.137),l(.646,-.077),l(1.427,.253),l(.711,.24),l(-.079,.211),l(-.303,.046),l(-.754,-.074),l(-.496,.031),l(-1.077,.183),l(-.269,.226),l(-1.161,.543),M(38.426,77.979),l(-.515,-.209),l(-.139,-.285),l(.381,-.227),l(.674,.27),l(.093,.195),l(-.122,.15),l(-.372,.105),M(37.896,78.449),l(-.256,.084),l(-.558,.151),l(-1.109,-.058),l(-.387,.135),l(-.398,.434),l(-.31,.15),l(-.854,-.207),l(-.135,-.224),l(.497,-.359),l(.5,-.315),l(.955,-.166),l(.863,-.346),l(.39,.089),l(.461,.224),l(.341,.409),M(29.628,81.29),l(-.168,-.594),l(-.324,-.476),l(.839,-.136),l(.424,.088),l(.436,.238),l(-.244,.268),l(-.26,.06),l(-.073,.297),l(-.22,.09),l(-.412,.164),M(27.543,81.591),l(-.39,.031),l(-.741,.165),l(-.311,-.133),l(-.088,-.178),l(.104,-.119),l(.336,-.268),l(.294,-.09),l(.584,.222),l(.212,.371),M(54.394,157.986),l(-.559,-.356),l(-.044,-.884),l(-.243,-.677),l(.482,-.402),l(-.035,-.2),l(-.156,-.26),l(.052,-.149),l(.173,-.046),l(.354,.158),l(.652,.279),l(.593,.425),l(-.015,.275),l(.238,.046),l(.12,.287),l(.306,.149),l(-.062,.161),L(56,156.933),l(-.172,.204),l(-.766,.195),l(-.374,.23),l(-.295,.425),M(23.015,59.92),l(-1.613,-.646),l(-.75,-.205),l(-.792,-.062),l(-.9,.065),l(-.291,-.095),l(-.431,-.222),l(.179,-.287),l(.516,-.049),l(1.135,.221),l(.579,-.001),l(.543,-.081),l(.538,-.001),l(.828,.285),l(1.725,.362),l(.429,.237),l(.046,.111),l(-.569,-.03),l(-.646,.033),l(-.527,.365),M(99.855,70.993),l(.467,.929),l(-.071,.167),l(-.879,-.272),l(-.621,-.075),l(.067,.441),l(-.056,.228),l(-.935,-.607),L(97.03,71.41),l(.396,-.458),l(.263,-.153),l(.612,-.078),l(.784,.38),l(.771,-.108),M(100.975,73.606),l(.128,.272),l(-.086,.273),l(-.318,.483),l(-.559,-.815),l(-.597,-.909),l(-.04,-.228),l(.095,-.213),l(.407,.029),l(.568,.197),l(.402,.91),M(106.858,78.207),l(-1.872,-1.166),l(-.566,-.555),l(.01,-.467),l(-.559,-.843),l(.071,-.106),l(.456,.06),l(.274,.256),l(1.165,.48),l(.086,.196),l(-.059,.136),l(-.149,.226),l(.296,.436),l(.839,.374),l(.007,.974),M(140.191,127.819),l(-.043,-.094),l(-.198,-.36),l(-.049,-.067),l(-.032,.042),l(-.028,.05),l(-.04,-.092),l(.002,-.664),l(-.331,-.604),l(-.472,-.451),l(-.661,-.451),l(-.512,-.197),l(-.114,-.052),l(-.145,.034),l(.002,.092),l(-.088,.025),l(-.1,-.042),l(-.146,-.143),l(.076,-.076),l(-.073,-.202),l(-.228,-.252),l(-.283,-.025),l(-.312,.084),l(-.932,-.336),l(-.286,-.328),l(-.428,-.244),l(-.383,.042),l(-.932,-.16),l(-.721,.051),l(-.12,-.185),l(-.234,-.067),l(-.046,-.177),l(.094,-.117),l(-.157,-.504),l(.133,-.464),l(-.227,-.096),l(-.127,.008),l(-.249,-.134),l(0,-.101),l(.075,-.093),l(-.029,-.219),l(-.347,-.185),l(-.254,-.286),l(-.415,-.219),l(-.391,-.623),l(-.202,-.076),l(-.203,-.311),l(-.409,-.219),l(-.156,-.529),l(-.002,-.227),l(.178,.007),l(.147,-.164),l(.029,-.326),l(-.208,-.251),l(-.192,-.045),l(-.22,.037),l(-.303,-.126),l(-.535,-.514),l(.078,-.21),l(-.091,-.312),l(-.129,-.067),l(-.044,-.463),l(.058,-.152),l(.119,-.025),l(.099,.067),l(.073,.076),l(-.086,.101),l(.153,.202),l(.285,.126),l(.116,.118),l(.203,.017),l(-.385,-.564),l(-.183,-.144),l(-.021,-.236),l(-.184,-.109),l(-.051,-.344),l(-.13,.006),l(-.011,.144),l(.048,.446),l(-.093,.017),l(-.293,-.194),l(-.119,.042),l(-.516,-.404),l(-.136,-.363),l(-.377,-.514),l(-.531,-.379),l(-.624,-.583),l(-.123,-.142),l(.114,-.101),l(-.327,-.751),l(.161,-.43),l(-.254,-.479),l(-.22,-.355),l(-.738,-.782),l(-.104,-.299),l(.099,-.627),l(.252,-.628),l(.166,-.357),l(.059,-.856),l(-.215,-.785),l(-.692,-1.486),l(-.153,-.916),l(.096,-.287),l(.231,-.244),l(.402,-.201),l(.365,-.717),l(-.365,-.573),l(-.066,-.33),l(.424,-1.593),l(.153,-.575),l(.061,-.634),l(.091,-.778),l(.019,-.179),l(-.153,-.16),l(.08,-.231),l(-.103,-.167),l(.157,-.077),l(-.03,-.186),l(-.046,-.186),l(-.031,-.103),l(-.004,-.058),l(.322,.096),l(.209,-.019),l(.062,-.097),l(-.211,.006),l(-.614,-.122),l(.062,-.707),l(-.103,-.328),l(.017,-.277),l(.587,-.225),l(-.345,-.019),l(-.16,-.142),l(-.129,0),l(-.053,.045),l(.042,.116),l(-.12,.052),l(-.133,-.979),l(-.927,-1.463),l(-.017,-.465),l(.129,-.131),l(.544,.086),l(.632,.217),l(.785,.114),l(.641,.028),l(.546,-.044),l(.415,.086),l(.547,.318),l(.039,.435),l(-.42,.407),l(-.413,.347),l(.532,.146),l(.184,.188),l(.251,.169),l(.029,-.228),l(.161,-.232),l(.393,-.305),l(.21,-.581),l(.102,-.465),l(-.064,-.421),l(-.356,-.958),l(-.158,-.305),l(-.655,-.516),l(.194,.013),l(2.579,.001),l(1.335,.022),l(4.588,-.025),l(3.938,.008),l(2.87,-.001),l(1.687,.006),l(5.117,-.028),l(.74,.011),l(4.13,.021),l(1.089,-.035),l(3.821,.023),l(.875,-.005),l(3.617,-.004),l(4.84,.018),l(.601,-.003),l(2.935,.014),l(2.131,-.012),l(2.781,.029),l(2.915,-.016),l(2.105,.003),l(1.348,-.007),l(2.798,.029),l(2.687,-.029),l(.68,.003),l(-.387,-.588),l(-.131,-.347),l(.501,-.036),l(.896,.748),l(.279,.371),l(.468,.46),l(.833,.451),l(.518,-.076),l(1.425,.208),l(.02,.185),l(.271,-.012),l(.338,.48),l(.16,-.247),l(.502,.013),l(.241,.271),l(.469,.086),l(.064,.185),l(.506,.098),l(.573,-.141),l(.219,-.06),l(.412,-.191),l(.373,-.075),l(.028,.282),l(.197,.116),l(.855,-.083),l(.474,.041),l(.156,.115),l(.196,.144),l(.542,-.049),l(.707,.074),l(1.469,-.592),l(.805,-.189),l(.797,.227),l(.977,.386),l(3.975,1.576),l(2.15,1.061),l(.101,.429),l(.46,.465),l(.628,-.024),l(.178,.135),l(.184,.294),l(.916,.181),l(.307,.235),l(-.11,.318),l(.26,.33),l(2.529,1.05),l(.876,3.16),l(.054,.545),l(-.028,.746),l(-.377,.576),l(-.294,.544),l(-.264,.433),l(-.414,.294),l(-.707,.525),l(-.044,.218),l(.012,.33),l(.371,.427),l(.497,.169),l(.573,.068),l(.524,-.117),l(.925,-.506),l(.939,-.478),l(.88,-.262),l(.919,-.062),l(.944,-.163),l(1.464,-.452),l(.875,-.427),l(-.047,-.362),l(-.16,-.471),l(-.018,-.319),l(.162,-.375),l(.47,-.203),l(.93,-.091),l(1.123,.01),l(1.305,.138),l(1.156,-.197),l(.44,-.275),l(.163,-.512),l(.146,-.434),l(.545,-.164),l(1.754,-.814),l(.534,-.305),l(.968,-.523),l(1.76,-.009),l(2.508,.029),l(1.855,.004),l(1.093,.095),l(.174,-.375),l(.363,-.435),l(.402,-.06),l(1.161,.124),l(1.139,-1.45),l(1.139,-2.22),l(.514,-.626),l(.632,-.526),l(.273,.085),l(.505,.36),l(.381,.085),l(.41,-.176),l(.771,.025),l(.488,.288),l(.174,.274),l(.31,2.819),l(-.077,.229),l(.606,.231),l(.224,0),l(.042,.154),l(-.143,.069),l(.02,.256),l(-.192,.077),l(.16,.291),l(.188,-.153),l(.349,.495),l(-.268,.281),l(.299,-.04),l(.171,.093),l(-.511,.374),l(-.509,.093),l(-.297,-.12),l(-.013,.253),l(-.138,.067),l(-.077,-.107),l(-.231,-.08),l(-.277,.133),l(-.101,.28),l(-.171,-.013),l(-.15,.16),l(-.175,-.347),l(-.746,.28),l(-.204,-.093),l(.12,.413),l(-.666,-.213),l(.199,-.48),l(-.149,-.04),l(-.364,.52),l(-.332,.56),l(-.342,.333),l(-.324,-.227),l(-.249,.439),l(-.346,-.08),l(.122,-.307),l(-.325,.253),l(.165,.16),l(-.326,.293),l(-.318,-.133),l(.105,-.226),l(-.654,.253),l(.065,.359),l(-.264,.04),l(-.161,.373),l(-.352,.106),l(-.333,.679),l(-.404,.505),l(.173,.146),l(.068,.212),l(.168,.053),l(.083,-.08),l(.169,.013),l(-.122,.146),l(-.547,.106),l(.053,.093),l(-.392,.292),l(-.068,.159),l(.337,.027),l(.282,.093),l(.599,.704),l(.055,.398),l(.399,.106),l(.691,-.239),l(-.022,-.186),l(-.14,-.027),l(-.254,-.279),l(-.097,-.04),l(-.009,-.066),l(.196,0),l(.23,.133),l(.218,.358),l(.031,.425),l(-1.599,.292),l(-.032,-.385),l(-.124,-.066),l(-.109,.226),l(-.164,.04),l(-.03,.093),l(-.105,-.106),l(-.159,.266),l(-.164,.04),l(-.294,.04),l(-.045,-.332),l(.198,-.332),l(-.443,.119),l(-.154,-.146),l(-.082,.252),l(-.087,.664),l(-1.429,.132),l(-1.694,.159),l(-1.182,.345),l(-.787,.358),l(-.097,.212),l(-.32,.053),l(-.144,.172),l(-.032,-.04),l(.308,-.756),l(.024,-.106),l(-.071,.027),l(-.41,.994),l(-.079,-.08),l(-.406,.292),l(.218,.318),l(.553,.093),l(-.46,1.515),l(-.302,.429),l(-.259,-.092),l(.043,.251),l(-.062,.185),l(-.237,.145),l(-.462,.501),l(-.292,.304),l(-.167,.026),l(-.075,-.119),l(.177,-.31),l(-.113,-.178),l(-.43,.013),l(-.447,-.343),l(-.148,-.053),l(-.329,-.541),l(.315,-.257),l(.151,-.245),l(-.271,.119),l(-.362,.37),l(.489,.845),l(.033,.356),l(.387,.581),l(.28,.066),l(.104,.765),l(-.101,.238),l(-.151,.23),l(-.125,-.013),l(-.487,.666),l(-.396,.798),l(.034,.053),l(-.13,.132),l(-.107,-.125),l(-.374,.725),l(.026,.125),l(-.226,.04),l(-.137,-.263),l(.342,-.864),l(.195,-.29),l(.247,-.119),l(.061,-.237),l(-.093,-.059),l(-.374,.119),l(.226,-.383),l(-.218,.04),l(-.176,-.093),l(.012,-.191),l(.242,-.04),l(-.077,-.33),l(-.439,.296),l(-.241,-.204),l(-.157,.053),l(-.23,-.396),l(.355,-.171),l(.357,-.053),l(-.005,-.06),l(-.604,-.316),l(-.092,.165),l(-.072,0),l(.107,-.323),l(.089,-.02),l(.21,.159),l(.131,-.06),l(-.098,-.224),l(-.353,-.066),l(-.065,-.112),l(.096,-.112),l(.336,.02),l(.193,-.284),l(-.281,.046),l(-.158,-.059),l(.241,-.37),l(.652,-.152),l(-.328,-.06),l(.146,-.409),l(-.28,.093),l(-.096,.132),l(.11,.079),l(-.315,.191),l(-.035,-.224),l(-.093,.053),l(.051,.224),l(-.081,.086),l(-.051,-.158),l(-.097,-.066),l(-.103,.416),l(-.447,-.079),l(.402,.501),l(-.294,.666),l(.07,.237),l(.272,.488),l(-.055,.139),l(-.466,-.317),l(-.1,-.211),l(.026,.205),l(.174,.218),l(.421,.237),l(.132,.508),l(-.631,-.402),l(-.354,-.007),l(-.118,-.283),l(-.155,-.053),l(.066,.25),l(-.541,-.323),l(-.33,.04),l(.015,-.29),l(.427,-.323),l(-.428,.079),l(-.19,.468),l(.204,.231),l(.457,.046),l(.202,.25),l(.954,.297),l(-.047,.092),l(.554,.165),l(.158,.132),l(-.22,.468),l(-.227,.06),l(-1.042,-.804),l(.708,.811),l(.626,.171),l(-.248,.092),l(.323,.079),l(-.045,.079),l(.061,.06),l(-.034,.25),l(-.312,-.191),l(-.071,.073),l(.104,.211),l(-.216,.02),l(-.656,-.56),l(-.023,.026),l(.419,.475),l(.309,.158),l(.182,-.026),l(.191,.21),l(.018,.31),l(-.298,.059),l(-.492,-.534),l(-.474,-.198),l(-.199,.16),l(.046,.044),l(.44,.145),l(.488,.382),l(-.047,.237),l(.442,-.033),l(.031,-.119),l(.748,.119),l(.151,.382),l(.406,1.212),l(.448,.803),l(-.14,-.092),l(-.262,-.349),l(-.059,-.132),l(-.359,-1.172),l(-.147,-.277),l(-.056,.31),l(.135,0),l(.034,.198),l(-.292,-.066),l(.173,.283),l(.144,.099),l(.228,.58),l(-.144,-.053),l(-.211,-.382),l(.002,.224),l(-.52,-.303),l(-.06,.059),l(.266,.303),l(-.247,.119),l(-.526,-.204),l(.225,.204),l(-.375,.211),l(-.173,-.02),l(-.251,-.21),l(-.024,-.217),l(.083,-.158),l(-.081,-.053),l(-.091,.204),l(.044,.23),l(.116,.211),l(-.107,.158),l(.894,.02),l(.571,-.145),l(.125,.165),l(-.113,.191),l(-.072,.369),l(.14,.066),l(.092,-.257),l(.135,-.369),l(.18,-.105),l(.266,.31),l(.047,.296),l(-.166,.25),l(-.163,-.013),l(-.063,-.099),l(-.316,.474),l(-.254,.197),l(-.483,-.053),l(-.203,-.065),l(-.147,-.066),l(-.136,-.245),l(-.151,.014),l(.141,.244),l(-.075,.013),l(-.538,-.125),l(-.436,-.151),l(.162,.185),l(.269,.026),l(.833,.335),l(-.034,.119),l(-.396,.145),l(.247,.007),l(-.19,.25),l(-.281,.138),l(-.149,0),l(-.481,-.375),l(.242,.395),l(.43,.164),l(.302,-.171),l(.292,.026),l(.11,-.204),l(.04,.178),l(.217,.04),l(.048,.079),l(-.428,.322),l(-.013,.085),l(-.261,.072),l(-1.498,.214),l(-.865,.895),l(-.487,.609),l(-.13,.127),l(-.935,.143),l(-.528,.128),l(-.617,.241),l(-.678,.539),l(-.225,.424),l(-.096,.354),l(-.819,.694),l(-.693,.383),l(-.429,.199),l(-.797,.086),l(-.35,.58),l(-.177,.198),l(-.809,1.125),l(-.273,.781),l(-.459,1.249),l(.236,1.455),l(.387,.925),l(.456,.873),l(.934,1.562),l(.352,1.746),l(.486,1.194),l(-.075,.092),l(.287,.276),l(.123,.333),l(.062,.827),l(-.301,1.536),l(-.064,.278),l(-.31,.415),l(.108,.424),l(-.02,.252),l(-.393,.551),l(-.017,-.092),l(.129,-.241),l(-.025,-.138),l(-.256,.035),l(-.38,.137),l(-.291,-.126),l(-.509,.138),l(-.12,-.329),l(.014,-.233),l(-.567,-1.068),l(-.764,-.138),l(-.204,-.352),l(-.113,-.819),l(-.423,-.229),l(-.144,-.702),l(-.373,.093),l(-.608,-1.08),l(-.375,-.482),l(.296,0),l(.375,-.438),l(.048,-.226),l(-.167,-.226),l(-.471,.407),l(-.277,-.208),l(.126,-.573),l(.147,-.758),l(.158,-1.043),l(-.293,-.452),l(-.258,-.169),l(-.496,-.126),l(-.832,-.987),l(-.875,-.804),l(-.528,-.168),l(-.43,.072),l(-.536,.298),l(-.456,.354),l(-1.202,.299),l(-.273,-.213),l(-.131,-.62),l(-.253,-.254),l(-.264,-.113),l(-.752,-.069),l(-.516,-.296),l(-.22,-.233),l(-.504,.138),l(-1.052,.115),l(-.653,-.184),l(-.047,.298),l(-.64,.099),l(-.183,0),l(-.578,-.926),l(-.238,.781),l(-.447,-.135),l(-.65,.001),l(-1.328,-.04),l(-.672,.439),l(-.39,.055),l(-1,-.459),l(-.096,.009),l(-.142,.014),l(-.362,.528),l(.201,.229),l(.303,0),l(.211,0),l(.537,-.207),l(.406,.092),l(.676,.482),l(-.68,.373),l(.02,.254),l(.263,.353),l(.593,.146),l(.229,.217),l(.35,.334),l(-.533,.136),l(-.503,-.084),l(-.276,-.419),l(-.79,-.271),l(-.224,-.211),l(-.265,-.056),l(-.013,.02),l(-.209,.32),l(.209,.154),l(.248,.183),l(-.248,.179),l(-.069,.05),l(-.447,-.459),l(-.476,.192),l(-.287,.291),l(-1.025,-.472),l(-.419,-.494),l(-1.16,-.642),l(-.615,.066),l(.554,.393),l(-.307,.187),l(-1.17,-.083),l(-.886,-.252),l(-.896,-.168),l(-1.547,.173),l(-.632,.328),l(-.392,-.015),l(-.433,-.031),l(-.135,-.49),l(-.333,.057),l(-.112,.184),l(.474,.731),l(-.877,.64),l(-.808,.577),l(-.915,.317),l(-.419,.043),l(-.414,-.056),l(-.728,-.111),l(-.126,.198),l(.437,.437),l(-.239,.396),l(-.327,.199),l(-.631,.114),l(-.737,.27),l(-.268,.17),l(.558,.352),l(.111,.169),l(-.659,.694),l(-.154,.297),l(-.012,.848),l(.144,.636),l(.271,.762),l(.425,.903),l(-.347,-.119),l(-.816,-.377),l(-.296,.001),l(-.416,.116),l(-.264,-.069),l(-1.029,-.56),l(-.921,-.32),l(-.375,-.365),l(-.336,-.592),l(-.332,-.932),l(-.078,-.467),l(-.268,-.253),l(-.657,-.576),l(-.845,-1.042),l(-.744,-1.227),l(-.663,-1.029),l(-.363,-.366),l(-.412,-.252),l(-.783,-.321),l(-.475,-.082),l(-.643,.018),l(-.468,.201),l(-.576,.541),l(-.418,.413),l(-.283,.37),l(-.416,.158),l(-.501,-.011),l(-.337,-.069),l(-1.104,-.503),l(-1.092,-.659),l(-.445,-.549),l(-.318,-.847),l(-.284,-.678),l(-.179,-.226),l(-.708,-.491),l(-.837,-.519),l(-.766,-.632),l(-.631,-.662),l(-.209,-.112),l(-1.892,-.046),l(-1.858,-.003),l(-.096,.892),l(-.213,.101),l(-1.867,.011),l(-.966,-.037),l(-1.544,-.02),l(-1.662,-.019),l(-.338,-.055),l(-3.516,-1.112),l(-2.811,-.933),l(-1.186,-.39),l(-.267,-.154),l(-.316,-.31),l(-2.381,.084),l(-2.367,.155),l(-.34,.017),M(49.818,152.776),l(-.122,.086),l(-.279,.03),l(-.111,-.131),l(-.177,-.005),l(-.324,.051),l(-.304,-.39),l(-.071,-.263),l(.339,-.01),l(.299,-.253),l(.188,.218),l(.106,.294),l(.223,.096),l(.233,.279),M(52.785,154.312),l(-.155,-.081),l(-.085,-.356),l(-.461,-.321),l(.095,-.229),l(.143,-.058),l(.366,.209),l(.344,.055),l(.616,.356),l(-.005,.172),l(-.294,.184),l(-.563,.069),M(111.683,77.224),l(-.138,.415),l(-.45,.067),l(-.324,.113),l(-.295,.247),l(-.321,-.137),l(-.185,-.21),l(.087,-.443),l(.086,-.443),l(-.438,-.675),l(-.463,-.319),l(-.199,-.271),l(-1.281,.055),l(-.437,.098),l(-.153,.161),l(-.496,.097),l(-.019,-.193),l(-.034,-.432),l(.212,-.272),l(.184,-.212),l(-.378,-.347),l(-.641,-.438),l(-.693,-.696),l(-.723,-.317),l(-.453,-.136),l(.132,-.35),l(-.569,-.592),l(-.099,-.213),l(.371,-.229),l(-.068,-.122),l(-.301,-.152),l(-.445,-.076),l(-.392,-.274),l(-.237,-.259),l(-.57,-.305),l(-1,-.411),l(-.479,-.765),l(-.217,-.583),l(-.367,-.399),l(-.357,.016),l(-.101,.814),l(.42,.873),l(.104,.306),l(-.047,.153),l(-.701,-.136),l(-.272,-.076),l(-.511,-.504),l(-.4,-.459),l(-.537,.139),l(-1.219,-.228),l(1.263,.718),l(.032,.214),l(-1.62,.171),l(-1.093,-.35),l(-1.388,-.948),l(-.543,-.292),l(-.664,-.043),l(-.079,0),l(-.933,-.213),l(-1.3,-.536),l(.928,-.248),l(.135,-.169),L(90.8,67.129),l(-.384,-.153),l(-.792,.156),l(-.454,.14),l(-.656,.017),l(-1.058,-.06),l(-1.068,-.245),l(.027,-.247),l(-.148,-.186),l(-.325,-.108),l(-.359,.016),l(-.47,.202),l(-1.036,.049),l(-1.465,-.122),L(80.46,66.64),l(-.786,-.091),l(-.248,-.108),l(-.651,-.387),l(-.427,-.527),l(-.301,.218),l(-.788,.157),l(-.89,-.293),l(-.234,-.326),l(-.417,-.139),l(-.872,-.248),l(-1.538,-.23),l(-.817,-.248),l(-.671,-.342),l(-.553,.235),l(-.675,.079),l(.06,.437),l(-.193,.062),l(-.389,.25),l(-.249,.405),l(1.119,.293),l(.174,.294),l(-.096,.388),l(-.428,.449),l(-.458,.001),l(-.804,-.214),l(-.586,-.061),l(-.568,.094),l(-.978,.603),l(-1.066,.217),l(-.936,.448),l(-1.035,.448),l(-1.095,.109),l(.178,-.308),l(.063,-.123),l(.72,-.401),l(-.093,-.385),l(-.655,-.523),l(.004,-.108),L(64.1,66.19),l(.411,-.482),l(.157,-.42),l(.736,-.312),l(.87,-.235),l(1.165,-.018),l(1.085,.123),l(.239,-.156),l(-1.239,-.466),l(-.971,-.389),l(-1.043,.049),l(-.226,.219),l(-.449,.095),l(-.573,.438),l(-.865,.375),l(-1.019,.282),L(61.553,65.9),l(-.406,.094),l(-.298,.14),l(.131,.325),l(-.177,.526),l(-.563,.34),l(-.564,.078),L(59,67.544),l(-.592,.278),l(-.681,.601),l(-.035,.292),l(.38,.168),l(.36,.03),l(.667,.106),l(.465,.229),l(-.075,.184),l(-.43,.338),l(-.625,.2),l(-.557,.277),l(-.423,.398),l(-.544,.383),l(-.675,.093),l(-1.434,.308),l(-.678,.397),l(-1.036,.337),l(-.7,.367),l(.52,.5),l(-.1,.167),l(-1.106,.412),l(-.897,.153),l(-.778,.168),L(49.51,74.19),l(-1.214,.456),L(48.1,74.828),l(-.274,.394),l(-.753,.439),l(-1.193,.229),l(-1.234,.184),l(-.973,-.345),l(.001,-.181),l(.332,-.348),l(.763,-.273),l(.306,-.212),l(.445,-.364),l(1.171,-.441),l(1.403,.073),l(-.12,-.212),l(.02,-.516),l(.47,-.304),l(.725,-.291),l(.754,-.366),l(.266,-.214),l(.002,-.731),l(.246,-.749),l(.693,-.49),l(.194,-.398),l(.034,-.412),l(-.633,.122),l(-1.251,.186),l(-.676,-.029),l(-.5,-.597),l(-.266,.062),l(-.613,.216),l(-.136,.23),l(.239,.352),l(.021,.352),l(-.169,.046),L(47,70.115),l(-.567,-.32),l(-.487,-.397),l(-.509,-.291),l(-.56,-.03),l(-.812,-.106),l(-.91,.094),l(.028,.138),l(-.644,.338),l(-1.175,.14),l(-.649,-.09),l(-.064,-.123),l(-.082,-.107),l(-.125,-1.028),l(.3,-.508),l(-.142,-.431),l(-.864,-1.002),l(-1.43,.437),l(-.738,.078),l(-.406,.202),l(-1.091,.094),l(-.4,-.23),l(-.394,-.355),l(-.466,-.325),l(-1.007,-.463),l(-.179,-.28),l(.292,-.171),l(.337,-.437),l(.704,.139),l(1.312,.309),l(.69,.03),l(.238,-.234),l(-.375,-.482),l(-.458,-.264),l(-.363,0),l(-.541,.22),l(-.528,-.015),l(-1.342,-.513),l(-.623,-.186),l(-.197,.016),l(-.858,-.029),l(-.024,-.078),l(-.623,-.985),l(.79,-.19),l(.071,-.456),l(.495,-.221),l(.102,-.299),l(.227,-.347),l(.893,-.491),l(.337,-.38),l(.386,-.301),l(.527,-.476),l(.39,-.175),l(.719,.109),l(.98,.268),l(.485,.094),l(.752,-.144),l(.427,-.254),l(.675,-.429),l(1.252,-.257),l(.774,-.033),l(.955,-.049),l(.354,-.175),l(.187,-.478),l(-.259,-.669),l(-.814,-.686),l(.026,-.096),l(.927,-.034),l(.343,-.256),l(-.25,-.384),l(-.497,-.256),l(-.367,-.08),l(-1.88,.389),L(39.33,56.53),l(-.534,.289),l(-.496,.065),l(-1.907,-.333),l(-.848,-.031),L(34.8,56.49),l(-1.27,.162),l(-1.265,-.029),l(-1.349,-.174),l(-.53,-.207),l(-.183,-.788),l(.144,-.146),l(.636,-.033),l(1.008,-.002),l(.446,-.179),l(-1.057,-.241),l(-1.912,-.304),L(28.13,54.31),l(-1.285,-.208),l(.219,-.114),l(.781,-.262),l(1.568,-.214),l(1.325,-.328),l(.958,-.214),l(1.058,-.361),l(.953,-.23),l(1.399,-.281),l(1.513,.128),l(-.158,.523),l(.023,.277),l(1.051,.161),l(1.359,.095),l(1.074,-.019),l(.657,-.099),l(.784,-.246),l(.55,-.295),l(.262,-.083),l(.752,.064),l(.751,.113),l(1.021,-.051),l(.2,-.327),l(.007,-.18),l(-.689,-.064),l(-1.946,-.292),l(-1.283,-.047),l(-.312,-.755),l(-1.473,-.162),l(-.96,-.031),l(-1.573,-.096),l(-.194,-.511),l(-.484,-.312),l(-1.042,-.461),l(-.512,-.148),l(-2.66,-.659),l(-2.008,-.545),l(.317,-.167),l(.812,-.402),l(.086,-.485),l(2.136,-.054),l(.99,-.069),l(1.829,-.288),l(.784,-.354),l(.452,-.623),l(.788,-.575),l(.616,-.525),l(.818,-.41),l(.742,-.224),l(1.066,-.104),l(1.133,-.241),l(1.047,-.036),l(1.804,.065),l(.146,-.188),l(-.156,-.205),L(44.47,42.83),l(.018,-.206),l(1.936,-.089),l(1.143,.032),l(.974,-.054),l(1.344,-.14),l(1.098,-.416),l(.918,-.417),l(.957,-.019),l(.282,.051),l(.675,.241),l(.156,.172),l(-.383,.139),l(.017,.344),l(1.049,.136),l(.424,.034),l(.536,-.293),l(.297,-.208),l(1.419,.187),l(1.534,.049),l(1.062,.049),l(.715,.033),l(.711,.257),l(.359,.274),l(.783,.358),l(.494,.085),l(.421,-.086),l(1.292,.117),l(1.124,.015),l(1.556,-.054),l(1.449,-.088),l(1.213,.1),l(1.377,.254),l(.883,.118),l(3.424,.13),l(1.279,.168),l(.743,.169),l(2.027,-.038),l(2.339,-.141),l(1.123,.236),l(2.441,.791),l(1.206,.301),l(.227,.008),l(.102,.483),l(-.003,2.855),l(.039,2.259),l(.052,2.335),l(.129,2.796),l(-.026,2.183),l(-.043,4.334),l(.026,2.167),l(.089,1.046),l(.196,.279),l(.84,.074),l(2.424,-.122),l(.739,.059),l(.332,.388),l(.173,.387),l(.348,.292),l(2.162,1.318),l(.945,.673),l(.238,-.325),l(.848,-.205),l(1.225,-.67),l(.731,-.498),l(.495,-.126),l(.832,.073),l(.316,.199),l(.371,.492),l(.35,.322),l(2.048,1.175),l(.814,.58),l(1.769,1.768),l(1.67,1.882),l(.512,.393),l(.189,.029),l(.98,.314),l(2.025,.763),l(.402,.255),l(-.163,.788),l(.393,.777),
-N(643.755,159.873),l(-1.092,-.52),l(-.637,-.337),l(-.203,-1.284),l(.036,-.282),l(.24,-.241),l(.42,-.241),l(.721,-.623),l(.493,.056),l(.049,-.17),l(.24,-.396),l(.239,.028),l(.573,.225),l(.321,-.312),l(.439,-.001),l(.798,-.171),l(.596,.69),l(-.163,.17),l(-.443,.354),l(-.412,.538),l(-.285,.734),l(.14,.296),l(-.22,.311),l(-.292,.085),l(-1.026,.383),l(-.532,.707),M(627.173,150.012),l(-.679,.314),l(-.24,.241),l(-.043,.325),l(.138,.592),l(.228,.366),l(.119,.521),l(-.109,.339),l(-.266,.213),l(-.769,-.08),l(-.321,-.21),l(-.178,-.196),l(-.153,-.239),l(-.111,-.38),l(-.628,.413),l(-.647,.159),l(-.246,-.083),l(-.378,-.266),l(-.341,-.746),l(-.291,-.379),l(-.481,.045),l(-.507,.003),l(-.228,-.098),l(-.117,-.352),l(.729,-1.584),l(-.033,-.268),l(-.521,-.096),l(-.554,.074),l(-.202,-.324),l(-.277,-1.762),l(-.156,-.126),l(-.479,.017),l(-.771,.089),l(-.819,.442),l(-.312,.086),l(-.216,-.069),l(0,-.268),l(.224,-.58),l(-.163,-.705),l(-.075,-.465),l(.617,-.85),l(.191,-.198),l(.487,-.271),l(.611,-.525),l(.429,-.722),l(.353,-.862),l(-.02,-.875),l(-.195,-1.649),l(-.146,-.14),l(-.504,.031),l(-.287,-.041),l(-.217,-.309),l(-.243,-.901),l(-.397,-.435),l(-.504,-.279),l(-.277,.044),l(-.306,.34),l(-.001,.127),l(-.624,-.081),l(-.73,-.179),l(-.657,-.081),l(-.3,-.055),l(-.102,-.056),l(.138,-.269),l(.354,-.454),l(-.046,-.38),l(-.716,-.715),l(-.455,-.392),l(-1.377,.84),l(-.377,.044),l(-.975,-.319),l(-.286,-.167),l(-.355,.087),l(-.546,.299),l(-1.105,.726),l(-.829,.258),l(-.543,.37),l(-1.123,1.107),l(-.397,.27),l(-.714,.216),l(-.784,.033),l(-.189,.1),l(-.329,-.619),l(-.312,-.209),l(-.371,-.041),l(-1.659,-.047),L(601,137.538),l(-.309,-.294),l(-.417,.016),l(-.149,.103),l(-.348,.239),l(-.609,.539),l(-1.251,1.545),l(-.212,-.662),l(.052,-.861),l(-.139,-.183),l(-.231,-.069),l(-.471,.102),l(-.345,.129),l(-.655,-.159),l(-.339,.281),l(-.341,-.116),l(-.849,.066),l(-.319,-.364),l(-.63,-.281),l(-.407,0),l(-.08,.331),l(-.271,.083),l(-.685,-.38),l(.01,.364),l(-.237,.099),l(-.141,-.463),l(-.54,-.496),l(-.365,.066),l(-.935,-.066),l(-.014,-.265),l(.175,-.396),l(-.326,-.017),l(-.333,.248),l(-1.451,-.893),l(.069,-.281),l(-.178,-.38),l(-.289,-.166),l(-.71,.116),l(-.158,.166),l(-.657,-.794),l(-.454,-.281),l(-.15,.132),l(-.472,-.215),l(-.726,-.595),l(-.867,-.264),l(-.132,-.612),l(-1.079,-.199),l(-.186,.182),l(-.275,-.066),l(-.134,.513),l(-.276,.314),l(-.299,-.05),l(-.24,-.43),l(-.859,-.596),l(-.154,.066),l(-.756,-.248),l(.116,-.364),l(-1.078,-.579),l(-.363,.116),l(-.772,-.843),l(-.383,-.248),l(-.477,.314),l(-.198,-.066),l(-.099,-.43),l(.215,-.215),l(-.272,-.364),l(.104,-.446),l(-.579,-.595),l(-.157,-.694),l(.785,-.198),l(.033,.364),l(.337,.264),l(.368,-.049),l(.376,-.281),l(.578,-.364),l(-.367,-.694),l(.104,-.414),l(-.68,-.099),l(-.044,-.182),l(-.092,-.078),l(-.718,-.096),l(-.294,-.221),l(-.037,-.552),l(-.073,-.589),l(.184,-.184),l(.331,-.221),l(-.221,-.258),l(-.441,-.405),l(-.81,-.11),l(-.221,-.515),l(-.441,-1.03),l(0,-.515),l(-.502,.152),l(-.147,-.126),l(-.305,-.111),l(-1.337,-.104),l(-.565,-.436),l(-.178,-.09),l(-.104,-.199),l(-.239,0),l(-.52,.196),l(-.252,-.281),l(-.198,-.218),l(-.301,-.07),l(.312,-.516),l(-.007,-.501),l(-.213,-.247),l(-.373,-.323),l(-.625,.009),l(-.282,.128),l(-.004,-.456),l(-.554,-.117),l(-.296,-.047),l(-.281,.21),l(-.105,-.112),l(-.313,-.14),l(-.048,-.088),l(-.236,-.012),l(-.01,-.269),l(.574,.059),l(.192,-.145),l(.354,-.136),l(.08,-.249),l(.181,-.185),l(-.2,-.163),l(.152,-.36),l(-.245,-.237),l(.126,-.428),l(-.049,-.123),l(-.152,-.012),l(-.028,-.246),l(.009,-.284),l(-.295,-.494),l(-.273,-.154),l(-.692,-.039),l(-.22,-.06),l(-.229,.162),l(-.463,.045),l(-.325,-.394),l(-.077,-.305),l(.207,-.223),l(-.023,-1.031),l(.011,-.069),l(.139,-.739),l(.129,-.213),l(.274,-.186),l(1.422,-.704),l(1.737,-.734),l(.359,-.03),l(.06,.071),l(.183,.567),l(.344,.055),l(.507,-.145),l(.885,-.132),l(.268,-.243),l(.463,-.784),l(.467,-.472),l(.238,-.03),l(1.248,.235),l(.459,-.017),l(.478,-.102),l(.646,-.345),l(.638,-.701),l(.405,-.301),l(.445,-.145),l(1.338,-.349),l(.97,-.219),l(.325,-.187),l(.051,-.157),l(-.031,-.194),l(-.139,-.86),l(.02,-.399),l(.32,-.401),l(.705,-.546),l(.222,-.33),l(-.119,-.47),l(-.29,-.441),l(-.345,-.627),l(-.03,-1.357),l(-.483,-.141),l(-.366,.06),l(-.232,-.185),l(.068,-.215),l(.215,-.302),l(.393,-.188),l(1.799,-.254),l(1.082,-.207),l(.35,-.06),l(.5,.184),l(1.133,.238),l(.394,-.074),l(.231,-.145),l(.156,-.245),l(-.126,-.286),l(-.622,-.514),l(.137,-.418),l(.286,-.605),l(.438,-.794),l(.516,-1.141),l(.427,-.507),l(1.096,.254),l(.721,.141),l(.594,.141),l(1.402,.079),l(.718,-.062),l(.417,-.103),l(.444,-.392),l(.157,-.39),l(-.213,-.707),l(-.097,-.75),l(.34,-.581),l(.428,-.277),l(1.199,-.093),l(.289,-.06),l(.306,-.219),l(.035,-.478),l(.011,-.275),l(.279,-.262),l(.542,-.148),l(.551,-.034),l(.228,-.014),l(.569,-.003),l(.244,-.074),l(.062,.145),l(.131,.405),l(.24,.563),l(.371,.433),l(1.301,.745),l(.834,.415),l(.614,.069),l(.731,.167),l(.633,.144),l(.354,.143),l(.568,.618),l(1.07,1.451),l(.401,.66),l(-.215,.447),l(-.237,.75),l(-.214,.389),l(-.369,.347),l(-.035,.129),l(.105,.43),l(.233,.229),l(.724,.312),l(1.062,.181),l(1.505,.021),l(.995,.038),l(.668,.083),l(.998,.224),l(.632,.268),l(1.645,.806),l(.839,.31),l(.744,.096),l(.105,.542),l(1.571,2.161),l(.467,.439),l(.444,.254),l(1.979,.018),l(1.241,.207),l(.802,.109),l(1.165,.022),l(2.861,-.059),l(.937,.023),l(1.164,.022),l(1.69,.119),l(.521,.168),l(.815,.551),l(1.006,.365),l(1.599,.433),l(.929,.123),l(.663,-.061),l(.61,.067),l(.253,.297),l(.433,.197),l(.481,-.017),l(.686,-.289),l(1.44,-.534),l(.303,-.101),l(.736,-.274),l(.816,-.289),l(1.204,-.349),l(1.339,-.007),l(1.514,-.065),l(.987,.08),l(.651,-.061),l(1.941,-.737),l(.265,-.172),l(1.111,-1.046),l(.67,-.389),l(1.265,-.292),l(.326,-.259),l(.123,-.271),l(-.188,-.228),l(-.599,-.411),l(-.389,-.569),l(-.003,-.343),l(.214,-.401),l(.539,-.589),l(.457,-.231),l(.316,-.073),l(.718,.154),l(.668,.382),l(.592,.125),l(.982,-.005),l(.744,-.047),l(.742,-.433),l(1.192,-.91),l(.224,.013),l(.438,.012),l(.624,.054),l(.896,-.134),l(.638,-.248),l(.347,-.188),l(.241,-.216),l(.312,-.82),l(.363,-.333),l(.47,-.204),l(.464,-.045),l(.483,.127),l(.353,-.189),l(.831,-.278),l(.539,-.146),l(.937,-.221),l(.854,-.033),l(.432,.099),l(1.074,.008),l(.464,.127),l(.414,-.218),l(.107,-.217),l(-.048,-.273),l(-.599,-.501),l(-.879,-.99),l(-.797,-.5),l(-.538,-.199),l(-.928,-.212),l(-.438,.002),l(-1.191,.786),l(-.292,-.07),l(-.431,-.416),l(-.317,-.085),l(-.576,.018),l(-.754,.062),l(-.929,.395),l(-.342,.045),l(-.051,-.029),l(-.269,-.836),l(.381,-.58),l(1.224,-1.959),l(.687,-1.207),l(.295,-.31),l(.046,.018),l(.452,.172),l(1.126,.574),l(.343,-.016),l(.438,-.089),l(2.44,-.752),l(.779,-.339),l(.123,-.233),l(-.056,-.306),l(-.35,-.348),l(-.062,-.146),l(.103,-.249),l(.422,-.426),l(.416,-.543),l(.667,-.779),l(.599,-.545),l(1.371,-.608),l(.167,-.794),l(-.107,-.249),l(-.465,-.306),l(-.558,-.026),l(-.822,.078),l(.119,-.25),l(.375,-.282),l(1.193,-.787),l(.478,-.165),l(.602,-.136),l(1.854,-.143),l(.836,-.123),l(1.203,-.109),l(.917,-.049),l(1.148,.215),l(1.037,.481),l(.683,.188),l(1.386,-.125),l(.539,.026),l(.763,.467),l(.742,.952),l(1.087,2.384),l(.94,1.588),l(.927,1.903),l(.436,.389),l(.507,.2),l(1.247,.341),l(1.523,.253),l(2.659,.839),l(.205,.144),l(.297,.866),l(.44,1.283),l(.261,.446),l(.68,-.033),l(.649,-.018),l(1.657,-.052),l(.604,-.22),l(.953,-.308),l(1.357,-.31),l(1.181,-.208),l(.902,-.034),l(.246,.114),l(.064,.259),l(.116,.389),l(.017,.504),l(-.566,.407),l(-.66,.393),l(-.291,.707),l(-.278,.893),l(-.538,1.066),l(-.627,1.08),l(-.329,.432),l(-.551,.69),l(-.47,.347),l(-.547,-.098),l(-.679,-.225),l(-.685,-.24),l(-.396,-.041),l(-1.664,.982),l(-.048,.557),l(.332,.897),l(.062,.656),l(-.006,.613),l(-.025,.385),l(-.097,.128),l(.112,.299),l(-.156,.329),l(-.511,.43),l(-1.252,.462),l(-.111,.058),l(-.579,-.68),l(-.247,.001),l(-.253,.129),l(-.383,.358),l(-.23,.713),l(-.955,.532),l(-.62,.259),l(-.538,.017),l(-.452,-.054),l(-.333,-.126),l(-.392,.059),l(-.273,.243),l(-.025,.342),l(.508,.765),l(.046,.113),l(-.527,.159),l(-.975,.048),l(-.508,-.153),l(-.493,-.253),l(-.273,-.396),l(-.448,.017),l(-.386,.13),l(-.686,1.027),l(-.636,.543),l(-1.032,.545),l(-1.533,.604),l(-.52,.329),l(-.415,.442),l(-.379,.528),l(-.066,-.092),l(-.417,.171),l(-1.222,.13),l(-.728,.171),l(-2.248,.925),l(-.632,.37),l(-.566,.469),l(-.604,.271),l(-.336,.015),l(.13,-.255),l(.862,-.682),l(.33,-.354),l(-.47,-.113),l(-.37,.072),l(-.153,-.297),l(.058,-.156),l(.953,-.781),l(.269,-.384),l(.55,-.413),l(.159,-.2),l(-.057,-.298),l(-.73,-.553),l(-.727,-.283),l(-.131,-.014),l(-.628,.03),l(-.166,.015),l(-.494,.371),l(-1.146,1.183),l(-.355,.157),l(-.643,.086),l(-.613,.243),l(-.36,.199),L(665.49,112),l(-.136,.411),l(-.131,.255),l(-.251,.255),l(-.437,.128),l(-.493,-.013),l(-.326,.27),l(-.307,.114),l(-.455,-.565),l(-.355,-.014),l(-.349,.128),l(-.396,.638),l(-.301,.694),l(.088,.34),l(.245,.368),l(.558,.268),l(.8,.268),l(1.21,-.045),l(.29,.254),l(-.019,.538),l(-.123,.581),l(.057,.538),l(.261,.283),l(.733,.069),l(.698,-.157),l(.76,-.525),l(.509,-.497),l(.552,-.228),l(.534,-.128),l(.287,.07),l(.895,.621),l(.543,.197),l(1.023,-.087),l(.361,.027),l(.471,.141),l(.274,0),l(-.248,.708),l(-.057,.552),l(-.612,-.197),l(-.297,-.084),l(-.525,.058),l(-1.677,.555),l(-.707,.44),l(-.072,.735),l(-.522,.157),l(-.146,-.113),l(-.017,-.269),l(-.127,-.084),l(-.501,.114),l(.138,.466),l(-.152,.368),l(-.485,.496),l(-1.397,1.119),l(-.126,.226),l(.039,.55),l(.62,.225),l(.712,.492),l(.785,.521),l(.391,.535),l(.424,1.241),l(.668,.647),l(.175,.437),l(-.13,.677),l(.172,.183),l(.694,.295),l(.399,.592),l(.562,.253),l(.272,.268),l(.087,.31),l(-.049,.155),l(-.789,.369),l(.088,.07),l(.425,.31),l(.314,.79),l(-.019,.296),l(-.141,.184),l(-.534,.043),l(-.651,.213),l(-.948,.552),l(-.849,.213),l(-.629,.297),l(.72,.21),l(.378,.056),l(.944,-.425),l(.488,-.058),l(.162,.056),l(.524,.592),l(.387,.168),l(.456,.027),l(.009,.155),l(-.231,.311),l(-.382,.227),l(-.304,.241),l(.11,.155),l(.326,-.029),l(.202,.084),l(-.184,.325),l(-.298,.749),l(-.192,.649),l(.028,.353),l(-.22,.452),l(-.209,.127),l(-.35,-.338),l(-.146,.142),l(-.569,.763),l(-.401,.622),l(-.215,.622),l(-.127,.296),l(-.595,.425),l(-.251,.438),l(-.254,.184),l(-.569,.029),l(-.382,.227),l(.279,.719),l(-.264,.508),l(.076,.593),l(-.093,.269),l(-.207,.269),l(-.532,.199),l(-.161,.282),l(-.174,.396),l(-.294,.636),l(-.626,.354),l(-.412,.495),l(-.492,-.14),l(-.443,-.069),l(-.142,.113),l(-.145,.198),l(.118,.833),l(-.213,.142),l(-.772,.651),l(-.356,.127),l(-.628,.171),l(-.563,.467),l(-.571,.213),l(-.107,.113),l(-.008,.48),l(-.133,.156),l(-.568,.058),l(-.5,.114),l(-.341,.438),l(-.364,-.126),l(-.52,-.168),l(-.274,.057),l(-.315,.326),l(-.435,.198),l(-.643,.1),l(-.047,-.465),l(-.52,.057),l(-.699,.213),l(-.32,.198),l(-.285,-.042),l(-.401,-.493),l(-.163,-.155),l(-.191,.283),l(.095,.169),l(-.045,.212),l(-.047,.691),l(-.209,.297),l(-.416,.114),l(-.501,-.182),l(-.123,.282),l(-.001,.24),l(-.146,.155),l(-.615,.058),l(-.366,.114),l(-.596,.043),l(-.463,-.211),l(-.217,.1),l(-.439,.48),l(-.227,.071),l(-.774,-.041),l(-.747,.227),l(-.406,.326),l(-.451,-.027),l(-.277,-.084),l(-.011,.057),l(-.069,.353),l(-.29,.396),l(.011,.113),l(.48,.634),l(.269,.126),l(.043,.198),l(-.36,.269),l(-.763,.157),l(-.481,-.719),l(-.241,-.691),l(.012,-.395),l(.396,-.777),l(-.015,-.169),l(-.587,-.253),l(-.226,.071),l(-.206,.297),l(-.454,.072),l(-.676,-.21),l(-.574,-.733),l(-.196,.085),l(-.017,.169),l(-.159,.396),l(-.27,.128),l(-.332,-.056),l(-.481,.043),l(-.055,.038),l(-.197,-.143),l(-.909,-.107),l(-.621,-.166),l(-.943,-.615),l(-.273,-.365),l(-.096,-.521),l(.472,-.75),l(-.056,-.38),l(-.237,-.21),l(-.777,.047),l(-.66,-.053),l(-.771,-.235),l(-.623,-.575),l(-.298,.101),l(-.521,.328),l(-.696,.554),l(-.341,.157),l(-.807,.117),l(-1.595,.052),l(-.332,.115),l(-.584,.413),l(-.325,-.097),l(-.597,-.392),l(-.341,-.012),l(-.515,.13),l(-.483,.229),
-N(241.073,156.152),l(.017,.52),l(.098,1.215),l(.012,.212),l(-.379,.455),l(-.011,.17),l(.485,1.358),l(-.669,-.577),l(-.445,-.056),l(-.761,.143),l(-.877,-.012),l(-.666,-.14),l(-.574,-.056),l(-.474,.1),l(-.378,.354),l(-.135,-.042),l(-.993,-.549),l(-.171,-.325),l(.04,-.198),l(.269,-.184),l(1.051,.097),l(.631,.111),l(1.125,.167),l(.654,.041),l(.61,-.185),l(.386,-.156),l(-.198,-.155),l(-.692,-.464),l(-.136,-.296),l(.184,-.707),l(-.202,-.296),l(-.394,-.154),l(-.913,-.14),l(-.305,-.211),l(.04,-.184),l(.119,-.085),l(.344,-.1),l(.724,-.058),l(.781,.125),l(1.081,.294),l(.576,.056),l(.147,-.089),
-N(241.295,160.082),l(-.485,-1.358),l(.011,-.17),l(.379,-.455),l(-.012,-.212),l(-.098,-1.215),l(-.017,-.52),l(.503,-.279),l(.393,.14),l(.342,0),l(.384,-.17),l(.369,-.043),l(.14,.198),l(.177,.112),l(1,.309),l(.657,-.072),l(.213,.395),l(.335,.338),l(.528,.324),l(.335,.084),l(.643,.21),l(.916,.45),l(.399,.352),l(.231,.311),l(-.191,.17),l(-.144,.297),l(-.314,.368),l(-.238,-.098),l(-.476,-.592),l(-.378,-.042),l(-.788,.058),l(-.288,-.098),l(-.373,0),l(-.329,.1),l(-.763,.539),l(-.396,-.056),l(-.319,-.494),l(-.166,-.028),l(-.155,.057),l(-.658,.326),l(-.344,.778),l(-.41,.65),l(-.289,-.112),l(-.325,-.551),
-N(668.053,167.796),l(-.131,-.099),l(-.74,-.732),l(-.444,-1.255),l(.037,-.424),l(.054,-.706),l(-.292,-.465),l(.18,-.382),l(.978,.704),l(.202,-.424),l(.023,-.41),l(-.101,-.438),l(-.026,-.579),l(.145,-.438),l(.025,-.664),l(.082,-.861),l(.074,-.636),l(.38,-.862),l(.188,-.127),l(.337,-.142),l(.523,.055),l(1.21,.52),l(.576,.042),l(.188,-.212),l(.277,-.17),l(.199,.141),l(.018,.396),l(-.266,.438),l(-.045,.48),l(.14,.79),l(.541,.394),l(.182,.325),l(-.427,1.271),l(-.31,.467),l(-.834,.608),l(-.555,.312),l(-.082,.099),l(.003,.268),l(-.078,.565),l(-.28,.424),l(.127,.211),l(.35,.733),l(.345,1.101),l(.26,.62),l(.093,.028),l(.451,.324),l(.296,.07),l(.161,-.325),l(.485,-.537),l(.197,-.029),l(.418,.112),l(.226,.211),l(.179,.635),l(.286,.353),l(.326,.084),l(.505,-.58),l(.621,.267),l(.141,.028),l(.078,.127),l(-.168,.156),l(-.378,.156),l(-.208,.212),l(.936,1.226),l(-.315,.184),l(-.568,-.196),l(-.404,-.098),l(-.094,-.48),l(-.229,-.31),l(-.599,-.535),l(-.753,-.577),l(-.258,0),l(-.099,.226),l(.371,.776),l(-.218,.283),l(-.727,-.775),l(-.982,-.548),l(-.309,.015),l(-.344,.142),l(-.182,.255),l(-.14,.071),l(-.395,.057),l(-.322,-.225),l(-.591,-.366),l(-.195,-.423),l(.64,-.608),l(.323,.211),l(.358,.084),l(.4,-.199),l(-.151,-.169),l(-.713,-.295),l(-.422,-.395),l(-.522,-.168),l(-.239,.607),M(669.676,172.974),l(-.452,-.366),l(-.349,-.408),l(-.051,-.226),l(-.364,-1.114),l(-.459,-.521),l(.685,-.058),l(.868,.012),l(.314,.169),l(.274,.451),l(.028,.861),l(-.097,.48),l(-.214,.283),l(-.185,.438),M(679.073,175.368),l(-.562,-.267),l(-.178,-.254),l(-.237,-.169),l(-.064,-.127),l(.139,-.339),l(-.091,-.423),l(-.55,-.352),l(-.662,-.479),l(-.147,-.466),l(.513,-.1),l(1.017,-.143),l(.371,.112),l(.283,.409),l(.069,.818),l(.123,.805),l(.257,.79),l(-.112,.127),l(-.167,.057),M(671.406,176.824),l(.022,-.353),l(.186,-1.342),l(.061,-1.172),l(.482,.395),l(.576,.281),l(.366,.028),l(.634,-.185),l(.027,.438),l(-.079,.396),l(-.24,.269),l(-.184,.198),l(-.908,.651),l(-.943,.397),M(664.721,177.812),l(-.366,-.027),l(.127,-.297),l(.202,-.099),l(.314,-.396),l(.265,-.523),l(.082,-.607),l(.138,-.509),l(.326,-.184),l(.14,.183),l(-.16,.283),l(.276,.55),l(.212,.564),l(-.108,.113),l(-.664,.354),l(-.406,.368),l(-.377,.227),M(673.781,179.981),l(-.385,-.366),l(-.828,-.591),l(-.206,-.38),l(.099,-.368),l(.565,-.213),l(.22,-.269),l(.487,-1.822),l(.438,-.185),l(.271,.028),l(.113,.126),l(.049,.282),l(-.373,.905),l(-.089,.226),l(-.315,1.413),l(.165,.296),l(.214,.465),l(-.213,.41),l(-.212,.043),M(661.179,181.308),l(-.317,-.042),l(.215,-.48),l(.343,-.467),l(.35,-.34),l(.592,-.354),l(.636,-.496),l(.933,-1.089),l(.11,.55),l(-.118,.424),l(-.267,.297),l(-.24,.184),l(-.516,.213),l(-.172,.127),l(-.244,.622),l(-.327,.269),l(-.591,.171),l(-.386,.41),M(680.678,185.402),l(-.201,-.098),l(-.098,-.438),l(-.361,-.748),l(-.297,-.112),l(-.381,.608),l(-.361,.82),l(.246,.38),l(.166,.395),l(.148,.677),l(-.158,.495),l(-.383,.509),l(-.305,-.253),l(-.176,-.268),l(.201,-.41),l(-.076,-.325),l(-.363,-.07),l(-.361,.665),l(-.173,-.056),l(-1.114,-.619),l(-.557,-.549),l(-.206,-.508),l(-.037,-.635),l(.466,-.905),l(-.108,-.479),l(-.466,-.409),l(-.778,-.295),l(-.292,.043),l(-.062,.17),l(-.129,.226),l(-.5,.255),l(-.661,.058),l(-.027,-.494),l(-.174,-.24),l(-.399,.199),l(-.504,.961),l(-.525,.863),l(-.219,-.084),l(-.119,-.127),l(-.034,-.197),l(.054,-.311),l(.359,-.749),l(.185,-.537),l(.263,-.283),l(.383,-.184),l(.564,-.044),l(.219,-.127),l(.134,-.466),l(.205,-.156),l(.549,-.241),l(.777,-.101),l(.292,.353),l(.102,.72),l(.317,-.156),l(.485,-.058),l(.207,-.184),l(.207,-.565),l(.358,-.255),l(.479,.21),l(.186,.084),l(.158,-1.087),l(.29,-.015),l(.264,.465),l(.315,-.481),l(.205,-.142),l(.392,.098),l(.133,-.227),l(-.048,-.706),l(-.172,-.564),l(.146,-.353),l(.413,.549),l(.711,.803),l(.229,.48),l(.083,.324),l(-.336,.735),l(.237,.226),l(.537,-.1),l(.076,.423),l(-.114,.424),l(.056,.692),l(.207,.437),l(-.002,.438),l(-.111,.424),l(-.283,.579),l(-.332,.622),
-N(251.898,160.229),l(-.547,-.112),l(-.073,-.212),l(.051,-.551),l(-.109,-.24),l(.11,-.17),l(.235,-.071),l(.543,.069),l(.404,-.015),l(1.505,.11),l(.393,.168),l(.113,.141),l(-.188,.354),l(-.07,.099),l(-.283,.227),l(-.335,.043),l(-.739,-.083),l(-.657,.072),l(-.354,.17),
-N(228.82,160.519),l(-.299,-.056),l(-.693,-.224),l(-.229,-.268),l(-.47,-.366),l(-.465,-.084),l(-.142,-.211),l(.53,-.284),l(.704,-.072),l(1.364,.251),l(.97,.351),l(.651,.267),l(.279,.282),l(-.04,.198),l(-.332,.071),l(-.751,-.295),l(-.543,.058),l(-.227,.255),l(-.308,.128),
-N(400.72,175.499),l(-.595,-.119),l(-.161,-.032),l(-.976,.458),l(-1.429,-.006),l(-.867,-.037),l(-2.119,.041),l(-.271,.157),l(-.125,.34),l(.261,1.934),l(.02,.41),l(-.191,.17),l(-.63,-.434),l(-.644,-.166),l(-.769,.075),l(-.608,.159),l(-.446,.257),l(-.368,.115),l(-.354,-.083),l(-.452,-.223),l(-.52,-.562),l(-.15,-.465),l(-.308,-.252),l(-.545,.003),l(-.259,-.168),l(.08,-.043),l(.046,-.156),l(.172,-.326),l(.261,-.92),l(.133,-.876),l(-.058,-.749),l(.141,-.255),l(.257,-.016),l(.448,-.158),l(.543,-.271),l(.317,-.369),l(.292,-1.047),l(.355,-1.217),l(.397,-.384),l(.273,-.058),l(.293,.281),l(.551,.364),l(.45,-.102),l(.174,-.227),l(.393,-.822),l(.492,-.667),l(.638,-.625),l(.272,-.101),l(.518,.209),l(.324,.182),l(.274,.027),l(.314,-.793),l(.304,-.228),l(.947,-.458),l(1.22,-.713),l(.37,-.073),l(.356,.125),l(.36,.059),l(1.062,.173),l(-.173,.665),l(.019,.396),l(.426,.93),l(.422,.492),l(.389,.266),l(.502,.42),l(.179,.268),l(.018,.212),l(-.335,.439),l(.114,.226),l(.97,.757),l(.516,.181),l(.37,-.044),l(.562,.025),l(.568,.971),l(.131,.367),l(-.237,.764),l(-.415,.468),l(-.337,.158),l(-.739,-.095),l(-.418,.045),l(-.415,.271),l(-.366,.553),l(-.24,.157),l(-.062,.142),l(-.29,-.041),l(-.611,-.166),l(-1.013,-.163),
-N(209.823,175.47),l(-.388,-.645),l(-.932,-.888),l(-1.003,-1.085),l(-.837,-.817),l(-.723,-.464),l(-.196,-.183),l(-.023,-.226),l(.625,-.03),l(1.001,-.125),l(.29,-.143),l(.293,-.412),l(.005,-.961),l(.882,-.034),l(.513,-.583),l(.725,.42),l(1.207,-.997),l(.503,-.794),l(.294,-.242),l(.259,.013),l(.328,.182),l(.463,.097),l(.248,-.086),l(.424,-.229),l(1.425,-.486),l(.23,.519),l(.038,.339),l(-.057,.509),l(-.214,.707),l(-.543,.806),l(-.1,.749),l(.042,.904),l(-.245,1.13),l(-.188,.735),l(-.101,1.385),l(.031,.55),l(.184,.466),l(.188,.363),l(-.281,.274),l(-.767,-.149),l(-.241,-.46),l(-.285,.077),l(-.394,-.107),l(-.603,.25),l(-1.651,-.599),l(-.43,.271),
-N(634.036,168.444),l(.533,.251),l(.736,.165),l(.341,.111),l(.469,.251),l(.248,-.058),l(.095,-.24),l(-.103,-.211),l(-.187,-.182),l(-.107,-.296),l(.392,-.285),l(.476,-.186),l(.444,.181),l(.373,.351),l(.3,-.072),l(.975,-.429),l(.209,-.114),l(-.215,.905),l(.029,.663),l(.455,1.014),l(-.076,.367),l(-.05,.424),l(.054,1.073),l(-.217,.509),l(-.385,.285),l(-.599,.187),l(-.932,.443),l(-.521,.229),l(-.99,.571),l(-.234,.425),l(.216,.422),l(.568,.435),l(.03,.197),l(-.17,.27),l(-.688,-.194),l(-.497,-.011),l(-.599,.229),l(-.915,.528),l(-.646,.229),l(-.3,.289),l(-.256,-.188),l(-.248,-.268),l(-.35,-.042),l(-.382,.142),l(-.205,-.042),l(-.293,.043),l(-.183,-.113),l(.142,-.311),l(.182,-.226),l(-.04,-.254),l(-.283,-.395),l(-.277,.043),l(-.462,.298),l(-.339,.015),l(-.171,-1.044),l(-.649,-1.488),l(.146,-.176),l(-.16,-.479),l(-.487,-.717),l(-.219,-.648),l(-.026,-.635),l(.076,-.382),l(.146,-.297),l(.92,-1.233),l(.521,-.441),l(.383,-.101),l(1.172,-.091),l(.798,.066),l(.558,-.074),l(.575,.039),l(.599,.109),l(.301,.167),
-N(214.474,175.913),l(.821,.884),l(.385,.623),l(.314,.322),l(.225,.046),l(.465,.645),l(.441,.352),l(-.014,.006),l(-.074,.123),l(-.478,-.184),l(-.219,.205),l(-.014,.321),l(0,.58),l(.507,.307),l(-.396,.368),l(.125,.532),l(-.374,.369),l(.243,.184),l(-.204,.609),l(.003,-.466),l(-.296,-.307),l(.01,-.568),l(-.377,-.148),l(-.238,-.102),l(-.111,.082),l(.325,.41),l(.084,.225),l(-.113,.062),l(-.726,-.299),l(-.13,-.282),l(.251,-.339),l(.04,-.382),l(-.182,-.338),l(-.486,-.324),l(-.695,-.287),l(-.079,-.144),l(-.689,-.103),l(-.316,-.327),l(.007,-.421),l(-.146,-.255),l(-.249,-.098),l(-.576,-.353),l(-.416,-.266),l(.225,.512),l(.086,.222),l(.422,.044),l(.181,.266),l(-.544,.573),l(-.144,-.262),l(-.356,-.282),l(-.561,-.211),l(-.323,-.239),l(-.147,-.24),l(-.104,-.494),l(.128,-.421),l(.332,-.225),l(-.008,-.389),l(-.554,-.225),l(.363,-.123),l(-.057,-.227),l(-.238,.017),l(.43,-.271),l(1.651,.599),l(.603,-.25),l(.394,.107),l(.285,-.077),l(.241,.46),l(.767,.149),l(.281,-.274),
-N(436.304,195.359),l(-.209,-.451),l(-.194,-.804),l(-.498,-.802),l(-1.217,-1.236),l(-.112,-.324),l(-.064,-.791),l(-.432,-.605),l(-.4,-.661),l(-.207,-.592),l(-.273,-1.185),l(-.112,-.776),l(.064,-.424),l(.144,-.198),l(.528,-.399),l(.4,-.511),l(.866,-1.743),l(.354,-.327),l(.208,-.114),l(.096,.084),l(.24,.027),l(.449,-.158),l(1.363,-.686),l(.494,.661),l(.225,.069),l(.224,-.03),l(.466,-.271),l(.754,-.386),l(.818,-.273),l(.881,.009),l(.368,-.031),l(.258,-.143),l(.646,-1.176),l(.117,-.806),l(.209,-.199),l(.434,-.059),l(2.181,-.055),l(.386,-.087),l(2.649,-2.275),l(.196,-.284),l(.005,-.41),l(.165,-.382),l(.372,-.228),l(.939,-.613),l(.322,-.086),l(.321,.012),l(.559,.208),l(1.342,1.673),l(.347,.549),l(.122,.536),l(-.416,1.472),l(.01,.664),l(.158,.211),l(.802,-.019),l(.272,-.001),l(.207,.126),l(.252,.493),l(.223,.225),l(.797,.447),l(.799,.235),l(.351,.196),l(.223,.267),l(-.148,.481),l(.173,.395),l(.445,.351),l(.558,.378),l(.717,.434),l(.207,.168),l(.206,.366),l(.059,.72),l(.285,.436),l(.367,.224),l(.814,.165),l(.558,.477),l(.157,.352),l(-.083,.679),l(.031,.07),l(-.496,.145),l(-.962,.344),l(-.319,-.026),l(-.287,-.167),l(-.687,-.264),l(-1.15,-.361),l(-.4,.13),l(-.082,.551),l(-.13,.241),l(-.256,.058),l(-.399,-.026),l(-.862,-.207),l(-.593,.102),l(-.93,.373),l(-.93,.486),l(-.271,.016),l(-.559,-.35),l(-.383,-.153),l(-.353,.186),l(-.677,1.36),l(-.176,.157),l(-.591,-.067),l(-1.934,-.511),l(-1.422,-.189),l(-.512,-.322),l(-.159,-.239),l(-.334,-.394),l(-.75,-.518),l(-.432,-.167),l(-.479,.06),l(-.529,.3),l(-.353,.341),l(-.785,.979),l(-.097,.297),l(.096,.452),l(-.017,.353),l(-.063,.594),l(-.16,.058),l(-.751,.287),l(-.895,-.093),l(-.624,-.138),l(-.367,-.054),l(-.975,.175),l(-.479,.102),l(-.255,.228),l(-.222,1.287),l(-.158,.523),l(-.365,.497),l(-.303,.312),
-N(371.324,180.419),l(1.088,-1.235),l(.643,-.866),l(.238,-.157),l(.594,.039),l(1.137,-.148),l(.466,.04),l(.42,.224),l(.456,.421),l(.475,.619),l(.252,.761),l(.165,1.369),l(.26,.656),l(-.259,.502),l(-1.184,1.151),l(-.63,.724),l(-.285,.256),l(-.061,.103),l(-.631,-.523),l(-.661,-.408),l(-.483,-.196),l(-.033,-.141),l(.061,-.297),l(-.05,-.184),l(-.531,-.21),l(-.792,-.549),l(-.389,-.366),l(-.375,-.465),l(.494,-.241),l(.174,-.227),l(-.034,-.155),l(-.484,-.211),l(-.065,-.113),l(.022,-.173),
-N(579.606,186.906),l(-.493,-.083),l(-.265,-.197),l(-.21,-.353),l(-.246,-.621),l(-.361,-1.256),l(-.034,-.649),l(.005,-.763),l(-.02,-.904),l(-.24,-.696),l(.188,-.513),l(-.298,-.35),l(.068,-.28),l(.423,.023),l(.349,-.43),l(.053,-.367),l(.226,-.369),l(-.152,-.537),l(.529,.48),l(.699,.38),l(.234,.395),l(.549,.776),l(.175,.324),l(-.099,.339),l(.024,.141),l(.592,.338),l(.266,.733),l(.798,1.368),l(.136,.508),l(-.193,.735),l(-.397,.679),l(-.369,.396),l(-.514,.425),l(-.78,.284),l(-.642,.043),
-N(217.111,178.792),l(.52,.307),l(.195,.512),l(.02,.374),l(.363,.155),l(.628,.024),l(.244,-.205),l(.398,.43),l(.726,.082),l(.458,-.083),l(1.348,-.751),l(.514,-.046),l(1.387,-.921),l(.373,.144),l(.742,.069),l(.071,.156),l(.789,-.017),l(.767,.21),l(.666,.38),l(.644,.563),l(.406,.666),l(.084,.327),l(.228,.149),l(.509,1.038),l(-.322,.062),l(-.094,.43),l(-.584,.409),l(-.085,-.307),l(-.19,-.082),l(.045,.45),l(-.228,.082),l(-.256,.753),l(-.378,-.825),l(-.441,-.762),l(-.137,-.452),l(.179,-.24),l(.22,-.085),l(.786,.125),l(-.336,-.193),l(-.125,-.164),l(-.096,-.471),l(-.309,.307),l(-.439,.041),l(-.244,-.378),l(-.031,-.269),l(-.193,-.282),l(-.132,.151),l(-.226,-.287),l(-.11,.102),l(-.132,-.266),l(-.456,-.192),l(-.562,-.013),l(-.499,.241),l(-.382,.108),l(-.07,.359),l(.081,.234),l(-.529,.318),l(-.374,.184),l(-.335,.029),l(-.345,.41),l(.049,.296),l(.316,.297),l(.464,.43),l(.178,.386),l(-.011,.146),l(-.281,.081),l(-.243,-.042),l(-.431,.391),l(-.568,.105),l(-.339,-.042),l(-.189,-.146),l(.108,-.164),l(-.349,-.833),l(-.244,-.353),l(-.177,.674),l(-.812,-.409),l(-.227,-.757),l(-.207,.041),l(-.96,-.123),l(-.434,-.266),l(-.599,0),l(-.314,.113),l(-.361,.495),l(.204,-.609),l(-.243,-.184),l(.374,-.369),l(-.125,-.532),l(.396,-.368),l(-.507,-.307),l(0,-.58),l(.014,-.321),l(.219,-.205),l(.478,.184),l(.074,-.123),
-N(266.015,188.956),l(-.503,-.647),l(-.732,-.745),l(-.324,-.521),l(.071,-.212),l(.395,-.539),l(-.008,-.58),l(.061,-.452),l(1.032,-.19),l(.41,-.144),l(.308,-.299),l(-.141,-.282),l(-.62,-.604),l(-.074,-.212),l(.101,-.255),l(1.655,-1.239),l(.061,-.41),l(-.095,-.296),l(.072,.049),l(.496,.338),l(.856,.521),l(.695,.521),l(.587,.663),l(.128,.409),l(-.036,.734),l(.148,.945),l(.298,-.593),l(.22,-.099),l(.6,.182),l(.101,.127),l(.507,.295),l(.708,.549),l(.401,.493),l(.374,.649),l(-.015,.339),l(-.142,.496),l(-.082,.862),l(-.183,.27),l(-1.131,.091),l(-.169,.17),l(.078,.777),l(-.095,.467),l(-.328,.694),l(.571,.831),l(.532,.675),l(.561,.067),l(.185,.295),l(.246,.832),l(.49,1.127),l(.332,.563),l(-.06,.212),l(-.943,-.022),l(-.934,.429),l(-1,.331),l(-.505,.314),l(-.694,.513),l(-.686,.075),l(-.613,-.392),l(-1.103,-.897),l(-.15,-.296),l(-.008,-.396),l(.072,-.354),l(-.167,-.31),l(-.281,-.394),l(-.156,-.465),l(.213,-.962),l(.547,-1.416),l(.179,-.368),l(-.435,-.958),l(-.533,-.138),l(-.304,.001),l(.452,-1.09),l(-.04,-.212),l(-.26,-.111),l(-.516,-.124),l(-.302,.058),l(-.375,.257),
-N(377.518,182.142),l(.193,-.376),l(.252,-.242),l(.367,-.143),l(.528,-.046),l(.338,.097),l(.165,.366),l(.22,.846),l(.009,.65),l(-.044,.283),l(.277,.323),l(.404,.322),l(.321,.026),l(.756,-.922),l(.143,-.086),l(.337,.097),l(.339,.224),l(-.062,.17),l(.119,.55),l(-.059,.438),l(-.501,.865),l(.05,.183),l(.194,.183),l(.369,.097),l(.592,-.032),l(1.264,1.334),l(.131,.282),l(-.059,.452),l(-.247,.849),l(-.105,.565),l(-.041,.919),l(-1.513,-.643),l(-1.221,-.619),l(-1.012,-.562),l(-.403,-.423),l(-1.129,-1.113),l(-1.111,-.76),l(-.723,-.337),l(-.901,-.535),l(-.66,-.548),l(.061,-.103),l(.285,-.256),l(.63,-.724),l(1.184,-1.151),l(.259,-.502),
-N(429.505,210.684),l(.484,.336),l(.177,.013),l(.443,-.271),l(.327,-.581),l(1.495,-.532),l(.054,.424),l(.042,.664),l(.147,.211),l(.57,-.328),l(.554,-.399),l(.931,-.811),l(.364,-.229),l(1.025,-.938),l(.086,-.706),l(-.122,-.72),l(.074,-.396),l(.193,-1.159),l(.343,-.751),l(.47,-.836),l(.41,-.454),l(.809,-.599),l(.525,-.229),l(.459,-.427),l(.139,-.523),l(.169,-.708),l(.115,-.61),l(.254,-1.342),l(.196,-2.021),l(.156,-.764),l(.094,-.551),l(.349,-.821),l(.558,-.837),l(.398,-1.203),l(.031,-.156),l(-.128,-.197),l(.16,-.058),l(.063,-.594),l(.017,-.353),l(-.096,-.452),l(.097,-.297),l(.785,-.979),l(.353,-.341),l(.529,-.3),l(.479,-.06),l(.432,.167),l(.75,.518),l(.334,.394),l(.159,.239),l(.512,.322),l(1.422,.189),l(1.934,.511),l(.591,.067),l(.176,-.157),l(.677,-1.36),l(.353,-.186),l(.383,.153),l(.559,.35),l(.271,-.016),l(.93,-.486),l(.93,-.373),l(.593,-.102),l(.862,.207),l(.399,.026),l(.256,-.058),l(.13,-.241),l(.082,-.551),l(.4,-.13),l(1.15,.361),l(.687,.264),l(.287,.167),l(.319,.026),l(.962,-.344),l(.496,-.145),l(.143,.239),l(.795,.772),l(.348,.493),l(.525,.477),l(.366,.195),l(.352,-.016),l(.258,-.242),l(.529,-.37),l(.384,.012),l(.684,.631),l(.16,-.1),l(.436,-.582),l(.258,-.157),l(.207,.083),l(1.032,.926),l(1.288,1.32),l(.063,.028),l(.159,.183),l(-.018,.424),l(-.26,1.88),l(.128,.253),l(.191,.027),l(.479,.04),l(.271,.182),l(.111,.31),l(-.191,.453),l(-1.195,1.066),l(-1.241,.996),l(-.255,.284),l(-.395,.681),l(-.217,1.02),l(-.107,.507),l(.021,.593),l(-.025,.734),l(.057,.748),l(-.076,.27),l(-.188,.298),l(-.426,.412),l(-.301,.171),l(-.269,.256),l(-.122,.425),l(-.49,1.358),l(.197,.338),l(.689,.999),l(.087,.381),l(-.04,.438),l(.014,.636),l(.237,.634),l(.017,1.329),l(-.064,.762),l(.425,1.439),l(-.102,.848),l(.122,.693),l(.486,.631),l(.936,.898),l(.428,.78),l(.689,1.804),l(-.563,.068),l(-3.015,.499),l(-.347,.214),l(-.154,.198),l(-.797,1.276),l(-.029,.622),l(.372,2.088),l(-.377,1.175),l(-.3,1.02),l(.043,.296),l(.456,.605),l(.837,.843),l(.445,.279),l(.515,.012),l(.448,-.455),l(.362,-.186),l(.136,.183),l(.032,.791),l(.028,1.427),l(-.041,.551),l(-.371,-.012),l(-1.355,-.091),l(-.348,-.21),l(-.381,-.647),l(-.561,-.731),l(-.416,-.351),l(-.477,-.252),l(-.895,-.263),l(-.38,-.28),l(-.728,-1.423),l(-.212,.354),l(-.522,.682),l(-.366,.087),l(-.325,-.111),l(-.922,-.164),l(-.925,-.249),l(-.489,-.194),l(-.58,-1.014),l(-.175,.071),l(-1.146,.289),l(-.195,-.056),l(-.172,-.352),l(-.365,-.379),l(-.678,-.096),l(-1.24,-.147),l(-.991,.146),l(-.859,.26),l(-.61,.004),l(-.199,-.197),l(-.007,-.254),l(.198,-.905),l(.003,-.466),l(-.306,-.62),l(-.844,-.998),l(-.117,-.211),l(-.021,-.212),l(.296,-1.033),l(.07,-1.06),l(-.109,-.607),l(-.303,-.605),l(.057,-.354),l(.177,-.693),l(-.052,-.183),l(-.322,-.098),l(-1.231,.093),l(-.88,.019),l(-.212,-.168),l(.055,-.48),l(-.181,-.225),l(-2.016,.082),l(-.112,.001),l(-.089,.354),l(.027,.593),l(-.286,.892),l(-.184,.411),l(-.993,.006),l(-.899,-.122),l(-1.021,.246),l(-.88,.034),l(-.292,-.168),l(-.64,-.787),l(-.597,-1.07),l(-.537,-1.409),l(-.059,-.579),l(-.121,-.521),l(-.082,-.127),l(-.321,-.111),l(-.385,-.012),l(-1.104,-.008),l(-.88,.034),l(-.624,.003),l(-1.312,-.048),l(-.945,-.052),l(-.783,.02),l(-.432,.03),l(-.318,.101),l(-.896,.062),l(-.699,.314),l(-.56,.06),l(-.112,-.013),l(-.322,-.922),l(.012,-.053),l(.74,-.3),l(-.017,-.085),l(.1,-.89),l(.094,-.143),l(.317,-.199),l(.583,-.568),
-N(468.568,202.653),l(1.277,-.05),l(4.659,0),l(1.448,-.033),l(4.663,2.568),l(3.553,1.984),l(.137,.381),l(-.116,.552),l(.07,.239),l(2.427,1.752),l(1.067,.807),l(-.237,.427),l(-.419,1.329),l(-.137,1.017),l(.109,.551),l(.665,.987),l(.768,.577),l(-.024,.282),l(-.263,.354),l(-.371,1.046),l(.037,.17),l(.306,.041),l(.118,.226),l(-.172,.692),l(-.019,.946),l(.411,1.793),l(.18,.564),l(.401,.465),l(.823,.55),l(.396,.268),l(.177,.228),l(-1.157,.836),l(-.515,.342),l(-1.218,.402),l(-1.243,.559),l(-.448,.031),l(-.646,-.42),l(-.276,-.083),l(-.21,.326),l(-.543,.766),l(-.396,.144),l(-.42,-.054),l(-.964,.006),l(-.963,.02),l(-.512,-.294),l(-.323,-.394),l(-.229,-.083),l(-.123,.128),l(-.643,.356),l(-.526,.088),l(-1.019,-.149),l(-.898,-.018),l(-.196,-.559),l(-.135,-.766),l(-.053,-.584),l(-.135,-.946),l(-.448,-.841),l(-.663,-.538),l(-1.014,-.107),l(-.223,.016),l(-.385,-.407),l(-.732,-.349),l(-1.574,-.57),l(-1.269,-.6),l(-.729,-.265),l(-.263,-.21),l(-.703,-.641),l(-.689,-1.804),l(-.428,-.78),l(-.936,-.898),l(-.486,-.631),l(-.122,-.693),l(.102,-.848),l(-.425,-1.439),l(.064,-.762),l(1.252,-.348),l(.388,-.539),l(.645,-1.204),l(.687,-.853),l(.346,-.271),l(.044,-.212),l(-.148,-.239),l(-.273,-.125),l(-.401,-.068),l(-.211,-.211),l(.158,-.976),l(.304,-.016),l(.396,-.158),l(.142,-.17),l(.104,-.481),l(-.167,-.493),l(-.364,-.888),l(-.121,-.748),
-N(464.786,206.235),l(-.197,-.338),l(.49,-1.358),l(.122,-.425),l(.269,-.256),l(.301,-.171),l(.426,-.412),l(.064,.042),l(.546,.223),l(.431,-.045),l(.458,-.427),l(.554,-.398),l(.319,-.017),l(.121,.748),l(.364,.888),l(.167,.493),l(-.104,.481),l(-.142,.17),l(-.396,.158),l(-.304,.016),l(-.559,.031),l(-.508,.159),l(-.391,.567),l(-.158,.085),l(-.396,.13),l(-.789,-.32),l(-.688,-.024),
-N(465.79,210.652),l(-.017,-1.329),l(-.237,-.634),l(-.014,-.636),l(.04,-.438),l(-.087,-.381),l(-.689,-.999),l(.688,.024),l(.789,.32),l(.396,-.13),l(.158,-.085),l(.391,-.567),l(.508,-.159),l(.559,-.031),l(-.158,.976),l(.211,.211),l(.401,.068),l(.273,.125),l(.148,.239),l(-.044,.212),l(-.346,.271),l(-.687,.853),l(-.645,1.204),l(-.388,.539),l(-1.252,.348),
-N(427.243,211.207),l(.536,-.414),l(.68,-.513),l(.351,-.13),l(.695,.533),l(-.583,.568),l(-.317,.199),l(-.094,.143),l(-.1,.89),l(.017,.085),l(-.74,.3),l(.143,-.625),l(-.082,-.24),l(-.505,-.796),M(427.998,213.843),l(.112,.013),l(.56,-.06),l(.699,-.314),l(.896,-.062),l(.318,-.101),l(.432,-.03),l(.783,-.02),l(.945,.052),l(1.312,.048),l(.624,-.003),l(.88,-.034),l(1.104,.008),l(.385,.012),l(.321,.111),l(.082,.127),l(.121,.521),l(.059,.579),l(.537,1.409),l(.597,1.07),l(.64,.787),l(.292,.168),l(.88,-.034),l(1.021,-.246),l(.899,.122),l(.993,-.006),l(.184,-.411),l(.286,-.892),l(-.027,-.593),l(.089,-.354),l(.112,-.001),l(2.016,-.082),l(.181,.225),l(-.055,.48),l(.212,.168),l(.88,-.019),l(1.231,-.093),l(.322,.098),l(.052,.183),l(-.177,.693),l(-.057,.354),l(.303,.605),l(.109,.607),l(-.07,1.06),l(-.296,1.033),l(.021,.212),l(.117,.211),l(.844,.998),l(.306,.62),l(-.003,.466),l(-.198,.905),l(.007,.254),l(.199,.197),l(.61,-.004),l(.859,-.26),l(.991,-.146),l(1.24,.147),l(-.214,1.344),l(.195,1.059),l(.269,.323),l(.089,.254),l(-.132,.368),l(-.436,.44),l(-.124,.594),l(-.125,.086),l(-.517,-.04),l(-3.408,.091),l(-.051,.877),l(.015,1.342),l(-.024,3.249),l(.017,.848),l(.023,.594),l(.099,.438),l(.308,.394),l(.471,.436),l(1.354,1.391),l(.611,.632),l(-.93,.218),l(-1.96,.379),l(-1.044,.203),l(-.717,-.08),l(-1.164,.063),l(-.408,-.083),l(-.349,-.21),l(-2.024,.026),l(-.697,-.024),l(-.622,-.151),l(-.401,-.322),l(-.305,-.366),l(-.408,-.096),l(-.989,-.023),l(-2.59,.016),l(-1.636,-.019),l(-.631,-.011),l(-1.296,-.006),l(-2.201,.013),l(-.636,-.151),l(-.463,-.309),l(-.45,-.478),l(-.294,-.083),l(-.499,.088),l(-.591,.286),l(-.778,.513),l(-.758,-.462),l(-.352,.144),l(-.248,.197),l(.048,-1.809),l(-.017,-.805),l(-.029,-.649),l(.397,-.34),l(.221,-.269),l(.26,-.707),l(.163,-.734),l(.184,-1.398),l(.239,-.976),l(.321,-.918),l(.584,-.665),l(.183,-.565),l(.268,-.354),l(.64,-.228),l(.268,-.325),l(.423,-.679),l(.364,-1.201),l(.053,-.664),l(-.046,-.848),l(-.191,-.959),l(-.201,-.536),l(-.492,-.705),l(-.476,-.776),l(-.268,-.775),l(.139,-.495),l(.476,-.382),l(.158,-.156),l(.107,-.424),l(-.006,-.479),l(-.199,-.579),l(-.489,-.69),l(-.441,-.733),l(-.203,-1.031),l(-.181,-.423),l(-.276,-.366),l(-.666,-.974),l(-.072,-.15),
-N(452.198,239.34),l(-.611,-.632),l(-1.354,-1.391),l(-.471,-.436),l(-.308,-.394),l(-.099,-.438),l(-.023,-.594),l(-.017,-.848),l(.024,-3.249),l(-.015,-1.342),l(.051,-.877),l(3.408,-.091),l(.517,.04),l(.125,-.086),l(.124,-.594),l(.436,-.44),l(.132,-.368),l(-.089,-.254),l(-.269,-.323),l(-.195,-1.059),l(.214,-1.344),l(.678,.096),l(.365,.379),l(.172,.352),l(.195,.056),l(1.146,-.289),l(.175,-.071),l(.58,1.014),l(.489,.194),l(.925,.249),l(.922,.164),l(.325,.111),l(.366,-.087),l(.522,-.682),l(.212,-.354),l(.728,1.423),l(.38,.28),l(.895,.263),l(.477,.252),l(.416,.351),l(.561,.731),l(.381,.647),l(.348,.21),l(1.355,.091),l(.371,.012),l(.041,-.551),l(-.028,-1.427),l(-.032,-.791),l(-.136,-.183),l(-.362,.186),l(-.448,.455),l(-.515,-.012),l(-.445,-.279),l(-.837,-.843),l(-.456,-.605),l(-.043,-.296),l(.3,-1.02),l(.377,-1.175),l(-.372,-2.088),l(.029,-.622),l(.797,-1.276),l(.154,-.198),l(.347,-.214),l(3.015,-.499),l(.563,-.068),l(.703,.641),l(.263,.21),l(.729,.265),l(1.269,.6),l(1.574,.57),l(.732,.349),l(.385,.407),l(.559,.887),l(.434,.859),l(.013,.324),l(-.183,.27),l(-.709,.344),l(-.011,.127),l(.04,.594),l(-.091,1.682),l(.08,.353),l(.216,.168),l(.511,.266),l(.072,.197),l(-.197,.241),l(-.472,.258),l(-.792,.259),l(-.146,.34),l(-.094,.764),l(-.3,.807),l(.2,.479),l(.261,.408),l(.394,.125),l(-1.264,.53),l(-1.696,.575),l(-.932,.4),l(-2.165,.578),l(-.187,.128),l(-.009,.495),l(.152,.465),l(.087,.438),l(-.505,-.096),l(-.999,.049),l(-.794,.259),l(-.636,.54),l(-.312,.539),l(-.019,.579),l(-.168,.199),l(-.285,.114),l(-.999,.062),l(-.621,.202),l(-.306,.341),l(-.777,.937),l(-.562,.738),l(-.825,.951),l(-.354,.045),l(-.803,-.165),l(-.421,-.309),l(-.334,.129),l(-.521,.286),l(-.404,.017),l(-.594,-.209),l(-.264,-.097),l(-.154,-.169),l(-.163,-.027),l(-.187,-.154),l(-.456,-.393),l(-.294,-.055),l(-1.089,-.093),l(-.086,-.099),l(-.165,-.056),l(-1.845,.364),
-N(477.231,225.874),l(-.224,1.184),l(-.107,.48),l(.252,.917),l(.177,1.017),l(.149,.408),l(.238,.268),l(.803,.588),l(1.189,1.166),l(.454,.661),l(.14,.48),l(-.155,2.346),l(-.04,.41),l(-.214,.213),l(-.432,.073),l(-.322,.017),l(-.229,.213),l(-.076,.622),l(.08,.509),l(.029,.479),l(-.096,.283),l(-.185,-.111),l(-.562,-.463),l(-.763,-1.112),l(-.484,-.548),l(-.234,-.423),l(.036,-.212),l(.499,-.61),l(.116,-.227),l(.025,-.693),l(-.1,-.96),l(-.22,-.479),l(-.261,-.056),l(-.674,.061),l(-.702,.132),l(-.27,-.211),l(-.343,-.407),l(-.382,-.549),l(-.195,-.041),l(-.394,-.125),l(-.261,-.408),l(-.2,-.479),l(.3,-.807),l(.094,-.764),l(.146,-.34),l(.792,-.259),l(.472,-.258),l(.197,-.241),l(-.072,-.197),l(-.511,-.266),l(-.216,-.168),l(-.08,-.353),l(.091,-1.682),l(-.04,-.594),l(.011,-.127),l(.709,-.344),l(.183,-.27),l(-.013,-.324),l(-.434,-.859),l(-.559,-.887),l(.223,-.016),l(1.014,.107),l(.663,.538),l(.448,.841),l(.135,.946),l(.053,.584),l(.135,.766),l(.196,.559),
-N(245.934,224.314),l(.939,.136),l(1.122,.304),l(.355,-.03),l(.946,-.824),l(.336,.026),l(.48,.025),l(.415,-.243),l(1.471,-1.109),l(.874,-.485),l(.36,-.158),l(.934,-.076),l(1.283,.021),l(.045,.748),l(-.079,.621),l(-.064,.622),l(.036,.818),l(.141,.635),l(.335,.591),l(.813,.928),l(1.1,.939),l(.316,.097),l(.787,.023),l(.355,-.03),l(.676,.25),l(.688,.307),l(.75,.603),l(.3,.098),l(.882,.037),l(.096,.014),l(.385,.774),l(.398,.308),l(.22,.084),l(1.148,-.077),l(.636,.123),l(.537,.166),l(.403,.237),l(.085,.169),l(-.038,.565),l(.203,1.029),l(.03,.706),l(.138,2.032),l(.249,.944),l(.153,.112),l(.967,.036),l(.5,.012),l(1.615,.019),l(.693,.024),l(.042,.296),l(-.261,.835),l(.067,.563),l(.436,.407),l(.73,.362),l(.316,.479),l(.307,.774),l(.022,.494),l(-.185,1.173),l(-.238,.834),l(-.38,.765),l(-.421,.666),l(-.089,-.084),l(-1.952,-.991),l(-.352,-.054),l(-.928,.02),l(-.843,-.01),l(-.126,.128),l(-1.076,.204),l(-1.104,.162),l(-.784,.202),l(-.33,.044),l(-.332,.383),l(-.698,1.105),l(-.278,.341),l(-.133,.509),l(.016,.635),l(-.385,1.188),l(-.395,1.104),l(-.149,.325),l(-.592,-.109),l(-1.33,-.077),l(-.686,.004),l(-1.034,1.784),l(-.416,-1.084),l(-.341,-.309),l(-.37,-.195),l(-.531,-.067),l(-.527,.045),l(-.901,.034),l(-.615,-.194),l(-.193,-.169),l(-.322,-.181),l(-.292,.27),l(-2.026,2.087),l(-1.047,.006),l(-.272,-.182),l(-.397,-2.144),l(-.278,-.973),l(-.212,-.563),l(-.769,-1.11),l(-.249,-.676),l(.04,-.354),l(.437,-1.555),l(-.017,-.282),l(-.761,-.744),l(-.25,-.521),l(-.193,-1.213),l(-.304,-.647),l(-.555,-.745),l(-.152,-.253),l(-.018,-.142),l(-.132,-.295),l(-.049,-.48),l(.12,-.227),l(.723,-.61),l(.285,-.439),l(-.015,-.522),l(-.604,-1.168),l(-.022,-.48),l(.159,-.34),l(.21,-.368),l(-.347,-.845),l(.102,-.452),l(.532,-.582),l(.221,-.34),l(.156,-.34),l(-.236,-.902),l(-.057,-.522),l(.143,-.848),l(.15,-.523),l(.437,-.736),l(-.08,-.24),l(-.922,-1.646),l(-1.109,-1.843),
-N(473.575,260.04),l(-1.331,.011),l(-.192,.058),l(-.068,-.382),l(-.261,-.889),l(.071,-.495),l(-.075,-.296),l(-.095,-.324),l(.03,-.806),l(.057,-1.301),l(-.072,-.763),l(-.147,-.678),l(-.33,-.944),l(-.441,-.689),l(-.181,-.946),l(-.295,-1.199),l(-.159,-.183),l(.448,-.384),l(.396,-.412),l(1.68,-1.706),l(.114,-.227),l(-.09,-.367),l(.075,-.834),l(.229,-.481),l(.736,-.683),l(.205,-.341),l(.168,-.41),l(-.594,-.845),l(-.118,-.805),l(-.113,-.494),l(.128,-.283),l(.448,-.596),l(.201,-.411),l(-.132,-.805),l(-.086,-1.144),l(-.031,-.791),l(-.178,-.818),l(-.441,-.379),l(-.515,-.224),l(-1.167,-.347),l(-1.042,-.445),l(-.658,-.223),l(-1.438,-.006),l(-.137,-.14),l(-.025,-.495),l(-.011,-.212),l(-.087,-.438),l(-.152,-.465),l(.009,-.495),l(.187,-.128),l(2.165,-.578),l(.932,-.4),l(1.696,-.575),l(1.264,-.53),l(.195,.041),l(.382,.549),l(.343,.407),l(.27,.211),l(.702,-.132),l(.674,-.061),l(.261,.056),l(.22,.479),l(.1,.96),l(-.025,.693),l(-.116,.227),l(-.499,.61),l(-.036,.212),l(.234,.423),l(.484,.548),l(.763,1.112),l(.562,.463),l(.185,.111),l(.096,-.283),l(-.029,-.479),l(-.08,-.509),l(.076,-.622),l(.229,-.213),l(.322,-.017),l(.432,-.073),l(.214,-.213),l(.04,-.41),l(.155,-2.346),l(-.14,-.48),l(-.454,-.661),l(-1.189,-1.166),l(-.803,-.588),l(-.238,-.268),l(-.149,-.408),l(-.177,-1.017),l(-.252,-.917),l(.107,-.48),l(.224,-1.184),l(.898,.018),l(1.019,.149),l(.526,-.088),l(.643,-.356),l(.123,-.128),l(.229,.083),l(.323,.394),l(.512,.294),l(.963,-.02),l(.964,-.006),l(.42,.054),l(.396,-.144),l(.543,-.766),l(.21,-.326),l(.276,.083),l(.646,.42),l(.448,-.031),l(1.243,-.559),l(1.218,-.402),l(.515,-.342),l(1.157,-.836),l(.128,.167),l(.212,.479),l(-.185,.579),l(-.302,.453),l(-.198,.255),l(.181,.451),l(.129,.72),l(-.012,.466),l(.182,1.115),l(-.101,.58),l(-.258,.325),l(.374,.705),l(.154,.494),l(-.006,1.115),l(-.004,.819),l(.043,.184),l(.185,.127),l(.327,.084),l(.015,.269),l(-.165,.494),l(-.563,.58),l(.184,.381),l(-.08,.283),l(-.418,.565),l(-.802,.906),l(-.512,.622),l(-.72,.651),l(-1.36,.751),l(-1.48,.653),l(-.73,.228),l(-1.308,.582),l(-.852,.637),l(-1.286,1.443),l(-.886,.85),l(-1.193,.878),l(-1.181,.836),l(-.268,.128),l(-.035,.96),l(-.083,.495),l(.058,.127),l(.719,.535),l(.188,.381),l(-.166,.452),l(-.085,.184),l(.461,1.511),l(.071,.564),l(.06,.155),l(.246,.014),l(.171,-.128),l(.141,-.085),l(.043,.607),l(-.234,2.218),l(-.284,.82),l(.325,.196),l(.152,.057),l(-.025,.325),l(-.157,.311),l(-.516,.566),l(-.699,.538),l(-.664,.34),l(-1.266,.412),l(-.796,.312),l(-.688,.228),l(-.895,.524),l(-.652,.665),l(-.337,.51),l(.292,.338),l(.589,.338),l(.045,.325),l(-.149,1.022),
-N(499.85,236.166),l(.544,-.071),l(.622,-.369),l(.18,.028),l(.346,.098),l(.269,-.085),l(.396,-.368),l(.911,-.143),l(.311,.281),l(.305,-.028),l(.101,-.185),l(-.171,-.366),l(.771,-.539),l(.423,-.198),l(.322,.226),l(.389,-.213),l(-.308,-.494),l(.207,-.282),l(.505,-.425),l(.229,.296),l(.229,.056),l(.558,-.594),l(-.158,-.197),l(-.253,-.409),l(.094,-.297),l(.243,.014),l(.27,-.071),l(.172,-.34),l(-.297,-.875),l(.06,-.339),l(.255,-.043),l(.117,.07),l(.253,.438),l(.28,.099),l(.2,-.41),l(.692,-.524),l(.235,-.367),l(.134,-.452),l(.168,-.692),l(-.133,-.354),l(.003,-.226),l(.537,-.468),l(.356,.324),l(.455,.648),l(.612,.281),l(.141,.198),l(.213,.847),l(.294,1.821),l(.093,.663),l(.231,.791),l(.391,.733),l(.163,.466),l(-.038,.367),l(-.069,.155),l(-.058,.099),l(-.537,.807),l(-.22,-.127),l(-.189,-.366),l(-.555,-.748),l(-.297,.143),l(-.05,.424),l(.193,.875),l(.396,.521),l(.079,.396),l(-.307,.636),l(-.746,1.005),l(-.045,.452),l(.041,.89),l(-.18,.946),l(-.709,2.12),l(-.825,2.572),l(-1.254,3.788),l(-1.324,4.48),l(-.518,1.568),l(-.188,.255),l(-.508,.637),l(-.2,.113),l(-1.369,.102),l(-.999,.327),l(-.474,.468),l(-.813,.086),l(-.363,-.465),l(-.196,-.142),l(-.546,-.182),l(-.37,.071),l(-.269,-.057),l(-.863,-.718),l(-.104,-.24),l(-.02,-.565),l(-.104,-.239),l(-.46,-.366),l(-.124,-.282),l(.001,-.721),l(.345,-1.088),l(-.094,-.325),l(-.287,-.479),l(-.62,-.931),l(-.189,-.494),l(.075,-.664),l(.391,-1.37),l(.228,-.213),l(.474,-.185),l(.768,-1.371),l(.686,-1.174),l(.104,-.325),l(.151,-1.103),l(-.11,-.353),l(-.278,-.226),l(-.354,-.366),l(.066,-.184),l(.252,-.509),l(-.521,-.861),l(-.117,-.677),l(-.069,-.494),l(-.231,-.721),l(.024,-.112),l(.517,-.693),l(.362,-.594),l(.163,-.438),l(.007,-1.073),l(.484,-.016),
-N(468.138,234.908),l(.011,.212),l(.025,.495),l(.137,.14),l(1.438,.006),l(.658,.223),l(1.042,.445),l(1.167,.347),l(.515,.224),l(.441,.379),l(.178,.818),l(.031,.791),l(.086,1.144),l(.132,.805),l(-.201,.411),l(-.448,.596),l(-.128,.283),l(.113,.494),l(.118,.805),l(.594,.845),l(-.168,.41),l(-.205,.341),l(-.736,.683),l(-.229,.481),l(-.075,.834),l(.09,.367),l(-.114,.227),l(-1.68,1.706),l(-.396,.412),l(-.448,.384),l(-.342,-.225),l(-.547,-.124),l(-.442,-.025),l(-.529,.145),l(-.31,.016),l(-.99,-.403),l(-.597,-.139),l(-.72,-.023),l(-.067,-.042),l(-.186,-.098),l(-.306,-.451),l(-.479,-.35),l(-.549,-.167),l(-.938,-.136),l(-.352,-.153),l(-.524,-.873),l(-.163,-.564),l(.032,-.565),l(-.127,-.239),l(-.78,.019),l(-.201,-.098),l(-.109,-.211),l(.051,-.537),l(-.106,-.169),l(-.552,-.266),l(-.533,-.223),l(-.57,-.321),l(-.563,-.491),l(-.377,-.662),l(-.246,-.96),l(-.469,-.604),l(-.43,-.478),l(-.267,-.451),l(.103,-.227),l(.594,.209),l(.404,-.017),l(.521,-.286),l(.334,-.129),l(.421,.309),l(.803,.165),l(.354,-.045),l(.825,-.951),l(.562,-.738),l(.777,-.937),l(.306,-.341),l(.621,-.202),l(.999,-.062),l(.285,-.114),l(.168,-.199),l(.019,-.579),l(.312,-.539),l(.636,-.54),l(.794,-.259),l(.999,-.049),l(.505,.096),
-N(444.673,255.519),l(-.006,3.434),l(.031,1.894),l(.025,2.246),l(-.057,.205),l(-.454,.318),l(-.545,.302),l(-.581,.498),l(-.427,.034),l(-.581,-.166),l(-.745,-.042),l(-.892,.048),l(-.517,-.039),l(-.296,-.212),l(-.055,-.528),l(-.042,-.345),l(-.193,-.222),l(-.637,-.348),l(-.329,-.127),l(-.335,.116),l(-.109,.217),l(-.317,.416),l(-.584,.27),l(-.152,.068),l(-.458,-.491),l(-1.041,-1.001),l(-.458,-.606),l(-.359,-1.03),l(-.345,-.72),l(-.136,-.493),l(.12,-.269),l(.053,-.34),l(-.458,-.719),l(-.231,-.861),l(.148,-.861),l(-.002,-.48),l(-.537,-1.326),l(-.496,-2.244),l(.772,-.02),l(.04,-.678),l(-.077,-.749),l(-.456,-.006),l(.016,-.06),l(-.099,-.522),l(-.26,-.508),l(-1.018,-1.283),l(-.343,-.55),l(-1.102,-2.158),l(-.841,-1.623),l(-.9,-1.509),l(-.988,-1.269),l(-.511,-1.044),l(-.122,-.396),l(-.045,-.551),l(.015,-.578),l(.248,-.197),l(.352,-.144),l(.758,.462),l(.778,-.513),l(.591,-.286),l(.499,-.088),l(.294,.083),l(.45,.478),l(.463,.309),l(.636,.151),l(2.201,-.013),l(1.296,.006),l(.631,.011),l(1.636,.019),l(2.59,-.016),l(.989,.023),l(.408,.096),l(.305,.366),l(.401,.322),l(.622,.151),l(.697,.024),l(2.024,-.026),l(.349,.21),l(.408,.083),l(1.164,-.063),l(.717,.08),l(1.044,-.203),l(1.96,-.379),l(.93,-.218),l(1.845,-.364),l(.165,.056),l(.086,.099),l(1.089,.093),l(.294,.055),l(.456,.393),l(-.811,.315),l(-.891,.02),l(-.284,.143),l(-.993,.938),l(-.209,.029),l(-.62,-.773),l(-1.048,.134),l(-2.962,.47),l(-1.183,.021),l(.005,1.215),l(-.007,1.286),l(-.025,.876),l(-.043,1.201),l(.002,3.561),l(-.586,.046),l(-1.564,.052),l(-.146,.028),l(-.106,2.657),l(-.009,1.201),l(.013,1.624),l(.007,.806),
-N(248.453,316.576),l(-.306,.101),l(-.892,-.087),l(-.538,-.293),l(-.236,-.015),l(-.311,.163),l(-.418,.398),l(-.498,.192),l(-1.156,.091),l(-.349,.09),l(-.358,.207),l(-.267,.621),l(-.114,.341),l(.06,.532),l(-.163,.622),l(-.104,.148),l(-.453,.031),l(-.534,.104),l(-.956,-.413),l(.667,-.639),l(.326,-.444),l(.582,-.4),l(.025,-.147),l(-.372,-.177),l(-.273,-.117),l(-1.353,.534),l(-1.01,-.013),l(-.545,.163),l(-.202,-.339),l(.128,-.192),l(.959,-.268),l(.266,.028),l(.792,-.208),l(.441,-.118),l(-.605,-.162),l(-.582,.002),l(-.77,.001),l(-.014,-.413),l(.265,-.31),l(-.007,-.191),l(-.446,-.073),l(-.356,-.44),l(-.66,.384),l(-.669,-.175),l(.292,-.53),l(.041,-.177),l(-.378,.045),l(-.361,.147),l(-.416,-.396),l(-.215,-.117),l(.413,-.279),l(.114,-.177),l(-.091,-.278),l(-.053,-.073),l(-.351,.03),l(-.773,-.424),l(-.135,-.059),l(.844,-.192),l(.253,-.161),l(.1,-.294),l(.396,-.366),l(.049,-.234),l(-.641,.06),l(-.257,.104),l(-.312,-.073),l(-.256,-.672),l(.573,-.395),l(-.565,-.378),l(-.12,-.421),l(.757,-.452),l(-.14,-.421),l(-.686,.422),l(-.091,-1.523),l(.399,-.596),l(-.185,-.825),l(.013,-.218),l(.593,.014),l(.41,.245),l(.711,.071),l(.171,-.246),l(.002,-.159),l(-.896,-.447),l(-.867,.146),l(-.317,-.173),l(-.536,.059),l(-.017,-.231),l(.339,-.333),l(.025,-.246),l(-.067,-.087),l(.186,-.202),l(.536,.014),l(.229,-.377),l(.01,-.216),l(-.722,-.389),l(-.354,-.129),l(-.886,.045),l(-.332,-.101),l(-.024,-.49),l(-.939,.16),l(-.115,-.101),l(.122,-.145),l(1.032,-.521),l(.251,-.116),l(.4,-.404),l(.266,-.389),l(.833,-.06),l(.268,.201),l(.059,.346),l(-.648,.202),l(-.323,.274),l(.11,.505),l(.117,.058),l(.191,-.102),l(.268,-.39),l(.183,-.087),l(.242,.101),l(-.037,.317),l(.057,.504),l(.886,-.996),l(.161,-.678),l(.056,-.647),l(.237,-.375),l(.079,-.058),l(.631,-.217),l(-.201,-.071),l(-.438,-.143),l(-.056,-.158),l(.101,-.273),l(.246,-.072),l(.571,-.245),l(.599,-.431),l(.271,-.459),l(-.061,-.229),l(-.394,-.157),l(-.662,-.399),l(-.053,-.372),l(.139,-.243),l(.105,-.458),l(-.06,-.828),l(.366,-.33),l(.676,-.272),l(-.431,-.585),l(-.053,-.784),l(.133,-.158),l(.554,-.157),l(.054,-.314),l(-.116,-.285),l(-.317,-.085),l(-.272,-.198),l(.233,-.329),l(.087,-.313),l(-.401,-.185),l(-.274,-.014),l(-.161,.101),l(-.476,.414),l(-.548,.058),l(-.087,.001),l(-.289,-.199),l(-.16,-.484),l(-.399,-.726),l(-.133,-.697),l(.188,-.911),l(.137,-.413),l(.722,-.739),l(.535,-.767),l(-.006,-.326),l(-.544,-1.757),l(.001,-.608),l(.088,-.567),l(-.076,-.438),l(-.528,-.891),l(-.04,-.298),l(.236,-.198),l(.499,.098),l(.182,-.085),l(.2,-.142),l(.097,-.143),l(.41,-1.288),l(.252,-.481),l(.304,-.935),l(.18,-.65),l(.664,-.808),l(.363,-.722),l(.201,-.636),l(.252,-.946),l(.311,-.691),l(.187,-.128),l(.273,-.382),l(.013,-.296),l(-.312,-.847),l(.082,-.184),l(.455,-.452),l(.206,-.339),l(.028,-.24),l(-.093,-.226),l(-.166,-.805),l(-.292,-2.088),l(-.098,-.86),l(.031,-.565),l(.412,-.565),l(.37,-.537),l(.207,-.564),l(.007,-.734),l(-.339,-.521),l(-.098,-.409),l(.295,-.96),l(.218,-.941),l(.127,-.556),l(.461,-.594),l(.171,-.918),l(.243,-.975),l(.126,-.805),l(.082,-.565),l(-.063,-1.087),l(.422,-.664),l(.211,-.494),l(-.221,-.932),l(-.048,-.833),l(.148,-.24),l(-.022,-.917),l(.229,-.607),l(-.124,-.297),l(-.365,-.084),l(.06,-.324),l(-.046,-.396),l(.223,-.198),l(.402,-.198),l(.137,-.424),l(-.008,-.819),l(.093,-.593),l(.182,-.918),l(-.004,-2.344),l(-.172,-2.074),l(-.042,-1.539),l(-.194,-.974),l(-.15,-.387),l(.852,-.275),l(.259,-.298),l(.228,-.933),l(.15,-.199),l(.586,-.187),l(.152,.253),l(.555,.745),l(.304,.647),l(.193,1.213),l(.25,.521),l(.761,.744),l(.017,.282),l(-.437,1.555),l(-.04,.354),l(.249,.676),l(.769,1.11),l(.212,.563),l(.278,.973),l(.397,2.144),l(.272,.182),l(1.047,-.006),l(.107,.056),l(.212,.14),l(.161,.154),l(-.093,.636),l(-.541,1.457),l(-.36,.256),l(-1.346,.53),l(-.819,.372),l(-.204,.312),l(.25,.817),l(-.421,.722),l(-.007,.579),l(.113,.437),l(.34,.449),l(.03,.226),l(-.273,.369),l(-.161,.382),l(.114,.507),l(.53,.477),l(.011,.227),l(-.152,.311),l(-.333,.017),l(-.791,.089),l(-.329,.835),l(-.464,.835),l(-.608,.694),l(-.282,.439),l(-.823,1.839),l(.167,1.466),l(.054,.762),l(-.124,.185),l(-.492,.271),l(-.292,.34),l(-.388,1.201),l(-.156,.961),l(.285,.633),l(.408,1.154),l(.784,2.816),l(.055,.69),l(-.075,.41),l(-1.083,1.854),l(-.319,.595),l(.088,.409),l(.189,1.06),l(-.078,.325),l(-1.334,1.11),l(-.231,.312),l(-.142,1.075),l(.014,1.16),l(.249,1.103),l(.437,.932),l(-.202,.143),l(-.951,.529),l(-.126,.17),l(-.053,.312),l(-.511,2.427),l(-.316,.541),l(-.1,.37),l(.123,1.835),l(.231,.867),l(.012,.427),l(-.596,.317),l(-.172,.172),l(-.106,.271),l(.094,1.226),l(.125,.128),l(.555,.111),l(.088,.655),l(-.191,1.458),l(.252,.585),l(.26,.185),l(.789,.11),l(.302,.17),l(-.007,.186),l(-.245,.202),l(-.322,.13),l(-.726,.033),l(-.757,.146),l(.176,.171),l(.586,.298),l(.552,.385),l(.017,.216),l(-.767,.794),l(-.059,1.094),l(.158,1.035),l(-.216,.896),l(-.212,.434),l(-.226,.262),l(-.598,.161),l(-.28,.219),l(-.249,.781),l(.446,.648),l(-.069,.188),l(-.296,1.218),l(-.307,.263),l(-1.729,1.01),l(-.271,.292),l(-.037,.45),l(.28,1.309),l(.508,1.123),l(.218,.043),l(.961,-.283),l(.654,-.121),l(.187,.248),l(.231,2.285),l(.778,.568),l(.669,.041),l(1.41,-.052),l(2.827,.132),l(.841,.217),l(1.385,.36),l(.286,.039),M(236.642,296.773),l(-.394,-.113),l(-.43,-.028),l(-.21,-.171),l(-.133,-.229),l(.21,-.457),l(.15,-.657),l(-.087,-.514),l(.011,-.414),l(.364,-.728),l(.817,-.116),l(.36,.327),l(.044,.328),l(-.688,.443),l(-.146,.229),l(.493,.771),l(-.194,1.058),l(-.167,.271),M(238.177,317.937),l(-.445,-.177),l(.083,-.842),l(-.849,.075),l(-.073,-.368),l(.218,-.354),l(.823,.102),l(.508,-.207),l(.205,.103),l(.054,.812),l(-.267,.34),l(-.257,.518),M(247.801,322.062),l(-1.033,.102),l(-.467,-.118),l(-.55,-.237),l(-.42,.001),l(-.481,.104),l(-.935,.226),l(-.496,.03),l(.125,-.343),l(.202,-.312),l(-.104,-.312),l(.906,-.15),l(1.434,.058),l(.433,.323),l(.706,-.007),l(-.622,-.689),l(-.307,-.163),l(-.56,-.117),l(-.178,-.089),l(-.188,.03),l(-.338,-.341),l(-.229,-.4),l(1.611,-.581),l(-.044,-.296),l(-.165,-.147),l(-1.819,.285),l(-.292,-.222),l(.263,-.474),l(.146,-.163),l(1.074,-.52),l(.868,-.637),l(.414,.28),l(1.153,.062),l(-.008,1.144),l(-.098,3.675),
-N(456.133,239.67),l(.187,.154),l(.163,.027),l(.154,.169),l(.264,.097),l(-.103,.227),l(.267,.451),l(.43,.478),l(.469,.604),l(.246,.96),l(.377,.662),l(.563,.491),l(.57,.321),l(.533,.223),l(.552,.266),l(.106,.169),l(-.051,.537),l(.109,.211),l(.201,.098),l(.78,-.019),l(.127,.239),l(-.032,.565),l(.163,.564),l(.524,.873),l(.352,.153),l(.938,.136),l(.549,.167),l(.479,.35),l(.306,.451),l(.186,.098),l(-.317,.411),l(-.388,.327),l(-.507,.243),l(-.747,.075),l(-.304,.115),l(-.7,.823),l(-.586,.583),l(-.362,.229),l(-.747,.357),l(-.388,.355),l(-.107,.636),l(-.222,.666),l(-.247,.241),l(-.634,.357),l(-.98,.33),l(-.249,.214),l(-.217,.708),l(-.345,.963),l(-.288,.354),l(-.237,.129),l(-.584,.116),l(-.43,-.026),l(-.473,.06),l(-.511,-.011),l(-.819,-.193),l(-.744,-.32),l(-.979,-.645),l(-.545,-.039),l(-.333,.186),l(-.084,.24),l(-.585,1.134),l(-.382,.469),l(-.651,.625),l(-.632,.428),l(-.8,.372),l(-.823,.033),l(-.854,.047),l(-.368,-.097),l(-.11,-.183),l(.003,-.48),l(.243,-.609),l(.166,-.538),l(-.21,-.762),l(-.547,-.943),l(-.716,-.787),l(-.528,-.067),l(-.007,-.806),l(-.013,-1.624),l(.009,-1.201),l(.106,-2.657),l(.146,-.028),l(1.564,-.052),l(.586,-.046),l(-.002,-3.561),l(.043,-1.201),l(.025,-.876),l(.007,-1.286),l(-.005,-1.215),l(1.183,-.021),l(2.962,-.47),l(1.048,-.134),l(.62,.773),l(.209,-.029),l(.993,-.938),l(.284,-.143),l(.891,-.02),l(.811,-.315),
-N(279.288,257.295),l(.02,.239),l(-.544,1.57),l(-.375,.468),l(-1.007,.74),l(-.301,.27),l(-.352,.51),l(-.609,-.363),l(-.35,-.097),l(-.235,.029),l(-.387,.172),l(-.745,.131),l(-.71,.005),l(-.564,-.096),l(-.992,-.333),l(-.607,-.025),l(-1.187,.332),l(-.19,-.056),l(.064,-.212),l(.425,-.426),l(.486,-.398),l(.11,-.198),l(-.21,-.619),l(.048,-.227),l(.625,-.851),l(.617,-1.203),l(.018,-.268),l(-.939,-.503),l(-.65,-.18),l(-1.448,-.697),l(-1.632,-1.106),l(-.671,-.307),l(-1.173,-.204),l(-.498,-.237),l(-.835,-.588),l(-.576,-.562),l(-1.271,-1.376),l(-.782,-.913),l(-.225,-.337),l(-.19,-.056),l(.149,-.325),l(.395,-1.104),l(.385,-1.188),l(-.016,-.635),l(.133,-.509),l(.278,-.341),l(.698,-1.105),l(.332,-.383),l(.33,-.044),l(.784,-.202),l(1.104,-.162),l(1.076,-.204),l(.126,-.128),l(.843,.01),l(.928,-.02),l(.352,.054),l(1.952,.991),l(.089,.084),l(.253,.408),l(.084,.663),l(.521,.872),l(.104,.959),l(-.132,.862),l(-.086,.721),l(-.006,.72),l(.372,.04),l(.818,.15),l(.925,.221),l(.346,-.03),l(.709,-.413),l(.115,-.001),l(.724,.278),l(.843,.404),l(.121,.437),l(.487,2.524),l(.254,.563),l(.224,.055),l(1.29,-.445),l(.234,.112),l(.491,.336),l(.019,.141),l(-.321,.75),l(-.298,.835),l(-.222,.819),l(-.027,.777),l(.063,.423),
-N(444.673,255.519),l(.528,.067),l(.716,.787),l(.547,.943),l(.21,.762),l(-.166,.538),l(-.243,.609),l(-.003,.48),l(.11,.183),l(.368,.097),l(.854,-.047),l(.823,-.033),l(.8,-.372),l(.632,-.428),l(.651,-.625),l(.382,-.469),l(.585,-1.134),l(.084,-.24),l(.333,-.186),l(.545,.039),l(.979,.645),l(.744,.32),l(.819,.193),l(.511,.011),l(.473,-.06),l(.43,.026),l(.584,-.116),l(.237,-.129),l(.288,-.354),l(.345,-.963),l(.217,-.708),l(.249,-.214),l(.98,-.33),l(.634,-.357),l(.247,-.241),l(.222,-.666),l(.107,-.636),l(.388,-.355),l(.747,-.357),l(.362,-.229),l(.586,-.583),l(.7,-.823),l(.304,-.115),l(.747,-.075),l(.507,-.243),l(.388,-.327),l(.317,-.411),l(.067,.042),l(.72,.023),l(.597,.139),l(.99,.403),l(.31,-.016),l(.529,-.145),l(.442,.025),l(.547,.124),l(.342,.225),l(.159,.183),l(.295,1.199),l(.181,.946),l(.441,.689),l(.33,.944),l(.147,.678),l(.072,.763),l(-.057,1.301),l(-.03,.806),l(.095,.324),l(-1.449,-.585),l(-.279,.199),l(-.657,.979),l(-.28,.567),l(-.005,.325),l(.39,.676),l(.307,.465),l(.458,.322),l(.671,.109),l(.595,-.004),l(.076,-.594),l(.064,-.198),l(.312,-.186),l(.131,-.015),l(.192,-.058),l(1.331,-.011),l(-.182,1.195),l(-.352,.849),l(-.182,.184),l(-.404,.1),l(-.093,.24),l(.199,.536),l(-.104,.467),l(-.248,.354),l(-.569,.453),l(-.923,.581),l(-.591,.75),l(-1.383,1.98),l(-.631,.834),l(-1.242,1.373),l(-1.193,1.062),l(-.829,.863),l(-1.434,1.034),l(-1.379,1.091),l(-.552,.382),l(-.989,.638),l(-.676,.298),l(-.782,.101),l(-.98,-.012),l(-.549,.071),l(-.132,.354),l(.013,.127),l(-.109,.085),l(-.449,-.098),l(-.553,-.126),l(-.303,.015),l(-.25,.198),l(-.272,.312),l(-.226,.113),l(-.36,-.056),l(-.768,-.408),l(-.759,-.168),l(-.542,-.013),l(-.31,.113),l(-.38,.27),l(-.482,-.099),l(-.645,-.21),l(-.295,.1),l(-.638,.043),l(-.589,.214),l(-.729,.538),l(-.72,.086),l(-.44,-.013),l(-.667,-.084),l(-.738,.072),l(-.575,.199),l(-.827,.82),l(-1.251,-.576),l(-.092,-.509),l(-.218,-.183),l(-.479,-.056),l(-.28,.085),l(-.257,-.479),l(-.343,-.056),l(-.149,.255),l(-.035,.197),l(-.312,-.112),l(-.119,-.226),l(.267,-.495),l(.103,-.424),l(-.857,-1.354),l(-.323,-.282),l(-.134,-.226),l(.173,-.17),l(.636,-.044),l(.172,-.424),l(.06,-.819),l(-.163,-.663),l(-.186,-.522),l(-.61,-1.143),l(-.75,-1.029),l(-.472,-.903),l(-.612,-1.383),l(-.646,-1.467),l(-.573,-.818),l(-.436,-.467),l(.152,-.068),l(.584,-.27),l(.317,-.416),l(.109,-.217),l(.335,-.116),l(.329,.127),l(.637,.348),l(.193,.222),l(.042,.345),l(.055,.528),l(.296,.212),l(.517,.039),l(.892,-.048),l(.745,.042),l(.581,.166),l(.427,-.034),l(.581,-.498),l(.545,-.302),l(.454,-.318),l(.057,-.205),l(-.025,-2.246),l(-.031,-1.894),l(.006,-3.434),M(462.462,268.501),l(.412,-.044),l(.194,-.553),l(.633,-.343),l(1.035,-.303),l(.263,-.199),l(.582,-1.007),l(.268,-.326),l(.143,-.241),l(-.104,-.226),l(-.967,-.744),l(-.33,-.337),l(-.422,-.266),l(-.308,.086),l(-.995,.359),l(-.65,.329),l(-.513,.567),l(-.275,.44),l(-.691,.611),l(.12,.409),l(.582,.858),l(.285,.366),l(.739,.561),M(432.955,250.661),l(.456,.006),l(.077,.749),l(-.04,.678),l(-.772,.02),l(-.078,-.354),l(-.028,-.396),l(.285,-.297),l(.101,-.406),
-N(471.719,258.047),l(.075,.296),l(-.071,.495),l(.261,.889),l(.068,.382),l(-.131,.015),l(-.312,.186),l(-.064,.198),l(-.076,.594),l(-.595,.004),l(-.671,-.109),l(-.458,-.322),l(-.307,-.465),l(-.39,-.676),l(.005,-.325),l(.28,-.567),l(.657,-.979),l(.279,-.199),l(1.449,.585),
-N(462.462,268.501),l(-.739,-.561),l(-.285,-.366),l(-.582,-.858),l(-.12,-.409),l(.691,-.611),l(.275,-.44),l(.513,-.567),l(.65,-.329),l(.995,-.359),l(.308,-.086),l(.422,.266),l(.33,.337),l(.967,.744),l(.104,.226),l(-.143,.241),l(-.268,.326),l(-.582,1.007),l(-.263,.199),l(-1.035,.303),l(-.633,.343),l(-.194,.553),l(-.412,.044),
-N(790.15,283.022),l(.738,.197),l(.008,-.227),l(-.242,-.524),l(.052,-.284),l(.233,.014),l(.389,.17),l(.37,.751),l(.277,.964),l(.48,.17),l(1.753,.691),l(.506,.113),l(.37,-.072),l(.699,-.483),l(.885,-.343),l(.4,.027),l(.329,.17),l(.066,.454),l(-.022,.198),l(-.402,1.236),l(-.283,.072),l(-.761,.058),l(-.035,.683),l(-.124,.156),l(-.424,.029),l(-.746,.016),l(-.432,.2),l(-.271,.284),l(.041,.384),l(.254,.525),l(-.002,.213),l(-.151,.199),l(-.646,.515),l(-.898,1.129),l(-.847,1.058),l(-.756,.587),l(-.68,.316),l(-.337,-.171),l(-.47,-.313),l(-.237,-.328),l(.056,-.314),l(.288,-.386),l(.307,-.671),l(.398,-.5),l(-.031,-.343),l(-.271,-.128),l(-.761,-.582),l(-.421,-.185),l(-.593,-.184),l(-.98,-.452),l(-.306,-.256),l(-.11,-.17),l(.081,-.128),l(.419,-.157),l(1.389,-.685),l(.209,-.512),l(-.078,-.695),l(.087,-.312),l(.396,-.441),l(.032,-.383),l(-.482,-.837),l(.081,-.567),l(-.156,-.311),l(-.479,-.655),l(-.574,-.678),l(.102,-.164),l(-.145,-.304),l(-.291,-.351),l(-.336,-.188),l(-.29,-.163),l(.117,.233),l(.497,.515),l(.049,.141),l(-.169,0),l(-.211,-.281),l(-.525,-.631),l(-.622,-.771),l(-.518,-.561),l(.001,-.117),l(-.268,-.257),l(.04,-.141),l(.013,-.14),l(-.048,-.188),l(-.197,-.396),l(-.379,-.42),l(-.347,-.257),l(.163,-.046),l(.205,.093),l(.358,-.047),l(.131,-.093),l(.084,.28),l(-.149,.187),l(.186,.303),l(.177,.21),l(.167,.116),l(.228,.164),l(.041,-.141),l(.269,.023),l(.519,.257),l(.42,.117),l(.274,.07),l(.128,.257),l(-.011,.141),l(.185,.023),l(.146,-.188),l(.185,.023),l(-.022,.164),l(.227,.351),l(.249,.187),l(.233,.28),l(-.18,.023),l(-.076,.164),l(.093,.163),l(-.242,-.023),l(-.175,-.047),l(.143,.117),l(.251,.188),l(.23,.233),l(.352,.28),l(.063,.234),l(.019,.21),l(-.261,-.047),l(.096,.164),l(.239,.351),l(.256,.188),l(-.292,.023),l(-.226,0),l(-.205,-.047),l(-.006,.141),l(.306,.14),l(.324,.164),l(-.09,.211),l(.205,.046),l(.265,-.023),l(.226,0),l(.223,.141),l(-.114,.07),l(-.031,.141),l(.025,.141),l(.136,.06),M(782.939,297.694),l(-.088,.158),l(-.558,.13),l(-.309,.288),l(-.322,.101),l(-.246,.244),l(-.692,-.242),l(-.16,.086),l(.15,.216),l(.429,.415),l(-.141,.173),l(.02,.259),l(-.064,.431),l(-.218,-.071),l(-.976,-.099),l(.418,.229),l(.449,.244),l(-.278,.49),l(-.427,.896),l(-.212,.549),l(-.418,.318),l(-.673,.349),l(-.171,.246),l(-.259,.145),l(-.581,.233),l(-.593,.406),l(-.398,.015),l(-1.156,-.258),l(-.628,.112),l(-.585,-.442),l(-.812,-.158),l(-.373,-.066),l(-.162,-.308),l(-.467,-.098),l(-.24,.142),l(-.062,.168),l(-.78,.095),l(-.214,-.166),l(-.515,-.095),l(-.146,-.286),l(.432,-.089),l(-.223,-.216),l(.328,-.116),l(.322,-.001),l(-.452,-.482),l(.82,.266),l(-.464,-.576),l(.121,-.145),l(.946,.156),l(.082,-.13),l(-.141,-.173),l(-.201,-.216),l(-.06,-.288),l(.283,-.303),l(.569,-.246),l(.328,-.374),l(.561,-.375),l(.102,-.302),l(.998,-.575),l(1.106,-.275),l(.713,-.331),l(.544,-.36),l(.377,-.101),l(.685,-.575),l(.066,-.272),l(.48,-.302),l(.373,-.015),l(.787,-.331),l(.664,-.402),l(.126,-.215),l(-.008,-.172),l(.266,-.144),l(.448,-.302),l(-.109,-.501),l(.076,-.214),l(.166,-.44),l(.306,.048),l(.066,-.152),l(.58,-.259),l(.444,-.272),l(.137,-.285),l(.131,-1.187),l(.512,-.647),l(.372,.047),l(.365,.165),l(.032,.259),l(.337,.06),l(.187,.186),l(.231,.799),l(.312,.242),l(.973,-.645),l(.426,-.029),l(.367,.113),l(.222,.5),l(-.197,.399),l(.299,.429),l(.066,.271),l(-.611,.659),l(-.261,.401),l(-.476,.358),l(-.868,.746),l(-.578,.359),l(-.295,.13),l(-.236,.258),l(-.389,.159),l(-.271,.258),l(.416,.407),l(.428,.047),l(.421,.289),l(-.276,.113),l(-.484,.07),l(-.503,-.296),l(-.488,.131),l(-.352,.158),
-N(247.899,318.387),l(.008,-1.144),l(.821,.289),l(.06,.206),l(-.354,.312),l(-.534,.337),M(248.453,316.576),l(-.286,-.039),l(-1.385,-.36),l(-.841,-.217),l(-2.827,-.132),l(-1.41,.052),l(-.669,-.041),l(-.778,-.568),l(-.231,-2.285),l(-.187,-.248),l(-.654,.121),l(-.961,.283),l(-.218,-.043),l(-.508,-1.123),l(-.28,-1.309),l(.037,-.45),l(.271,-.292),l(1.729,-1.01),l(.307,-.263),l(.296,-1.218),l(.069,-.188),l(-.446,-.648),l(.249,-.781),l(.28,-.219),l(.598,-.161),l(.226,-.262),l(.212,-.434),l(.216,-.896),l(-.158,-1.035),l(.059,-1.094),l(.767,-.794),l(-.017,-.216),l(-.552,-.385),l(-.586,-.298),l(-.176,-.171),l(.757,-.146),l(.726,-.033),l(.322,-.13),l(.245,-.202),l(.007,-.186),l(-.302,-.17),l(-.789,-.11),l(-.26,-.185),l(-.252,-.585),l(.191,-1.458),l(-.088,-.655),l(-.555,-.111),l(-.125,-.128),l(-.094,-1.226),l(.106,-.271),l(.172,-.172),l(.596,-.317),l(-.012,-.427),l(-.231,-.867),l(-.123,-1.835),l(.1,-.37),l(.316,-.541),l(.511,-2.427),l(.053,-.312),l(.126,-.17),l(.951,-.529),l(.202,-.143),l(-.437,-.932),l(-.249,-1.103),l(-.014,-1.16),l(.142,-1.075),l(.231,-.312),l(1.334,-1.11),l(.078,-.325),l(-.189,-1.06),l(-.088,-.409),l(.319,-.595),l(1.083,-1.854),l(.075,-.41),l(-.055,-.69),l(-.784,-2.816),l(-.408,-1.154),l(-.285,-.633),l(.156,-.961),l(.388,-1.201),l(.292,-.34),l(.492,-.271),l(.124,-.185),l(-.054,-.762),l(-.167,-1.466),l(.823,-1.839),l(.282,-.439),l(.608,-.694),l(.464,-.835),l(.329,-.835),l(.791,-.089),l(.333,-.017),l(.152,-.311),l(-.011,-.227),l(-.53,-.477),l(-.114,-.507),l(.161,-.382),l(.273,-.369),l(-.03,-.226),l(-.34,-.449),l(-.113,-.437),l(.007,-.579),l(.421,-.722),l(-.25,-.817),l(.204,-.312),l(.819,-.372),l(1.346,-.53),l(.36,-.256),l(.541,-1.457),l(.093,-.636),l(-.161,-.154),l(-.212,-.14),l(-.107,-.056),l(2.026,-2.087),l(.292,-.27),l(.322,.181),l(.193,.169),l(.615,.194),l(.901,-.034),l(.527,-.045),l(.531,.067),l(.37,.195),l(.341,.309),l(.416,1.084),l(1.034,-1.784),l(.686,-.004),l(1.33,.077),l(.592,.109),l(.19,.056),l(.225,.337),l(.782,.913),l(1.271,1.376),l(.576,.562),l(.835,.588),l(.498,.237),l(1.173,.204),l(.671,.307),l(1.632,1.106),l(1.448,.697),l(.65,.18),l(.939,.503),l(-.018,.268),l(-.617,1.203),l(-.625,.851),l(-.048,.227),l(.21,.619),l(-.11,.198),l(-.486,.398),l(-.425,.426),l(-.064,.212),l(.19,.056),l(1.187,-.332),l(.607,.025),l(.992,.333),l(.564,.096),l(.71,-.005),l(.745,-.131),l(.387,-.172),l(.235,-.029),l(.35,.097),l(.609,.363),l(.352,-.51),l(.301,-.27),l(1.007,-.74),l(.375,-.468),l(.544,-1.57),l(-.02,-.239),l(.957,-.161),l(.462,-.017),l(.206,.196),l(.517,1.154),l(-.094,1.638),l(-.161,.467),l(-.521,.313),l(-1.754,.744),l(-.348,.242),l(-1.633,1.448),l(-1.435,1.363),l(-1.805,1.816),l(-.833,.88),l(-.214,.27),l(-.443,.524),l(-.065,.452),l(-.595,2.359),l(-.103,.522),l(.049,.847),l(.168,.986),l(-.118,.325),l(-.48,.524),l(-.24,.495),l(-.011,.522),l(.194,.577),l(-.054,.338),l(-.162,.273),l(-.26,.325),l(.015,.226),l(.924,.831),l(.68,.281),l(.715,.281),l(.283,.169),l(.281,.325),l(-.025,.325),l(-.362,.523),l(-.043,.396),l(.105,.339),l(.174,.269),l(.466,.325),l(.522,.168),l(.109,.113),l(.226,.892),l(-.308,.481),l(-.75,.937),l(-.729,.766),l(-.313,.737),l(-.368,.284),l(-.832,.342),l(-1.04,.342),l(-1.92,.401),l(-1.795,.188),l(-1.361,.116),l(-.945,.044),l(-1.175,-.11),l(-.934,-.226),l(-.128,.199),l(.036,.808),l(.322,.312),l(.308,.184),l(-.09,.298),l(-.381,.624),l(-.345,.498),l(-.069,.385),l(.392,.682),l(.066,.285),l(-.208,.214),l(-.105,.057),l(-1.251,.473),l(-1.137,.116),l(-.814,-.069),l(-.967,-.34),l(-1.47,-.396),l(-.246,.057),l(-.23,.271),l(.041,.598),l(.429,.684),l(.037,.398),l(-.242,.643),l(.092,.385),l(.773,.54),l(.796,.084),l(.369,-.2),l(-.387,-.398),l(.872,-.188),l(.383,-.043),l(.234,1.041),l(.052,.3),l(-.144,.157),l(-.299,.101),l(-.448,.072),l(-.261,-.157),l(-.104,-.299),l(-.115,-.071),l(-1.046,.073),l(-.67,.201),l(-.212,.101),l(.151,.214),l(.591,.07),l(.47,.113),l(.452,.113),l(.06,.028),l(-.864,.388),l(-.776,.287),l(-.577,.602),l(.003,.414),l(.161,.787),l(-.081,.258),l(-.815,.817),l(.022,.215),l(.423,.371),l(-.491,.116),l(-1.194,.088),l(-.48,.087),l(-.632,.246),l(-.619,.389),l(-.56,.548),l(-.549,.821),l(-.052,.389),l(.061,.375),l(.312,.591),l(.48,.446),l(.98,.633),l(.657,.244),l(.97,.143),l(.362,.086),l(.14,.274),l(-.151,.796),l(-.128,.348),l(-.342,.464),l(-.189,.145),l(-1.08,.524),l(-1.541,.814),l(-.712,.698),l(-.179,.276),l(-.093,.45),l(.111,.523),l(-.169,.451),l(-.239,.32),l(-.97,.454),l(-.969,.25),l(-.421,.221),l(-.323,.396),l(-.226,.791),l(-.054,.514),l(.2,.777),l(.547,.896),l(.699,.779),l(.235,.339),l(-.101,.032),M(247.899,318.387),l(.18,.182),l(.148,.073),l(.607,-.075),l(.344,.133),l(.648,.725),l(.908,.665),l(.993,.756),l(.525,.222),l(.73,.37),l(.246,.074),l(.42,-.001),l(.483,.163),l(1.283,.027),l(.142,-.016),l(-.006,.224),l(-.19,.209),l(-.492,.06),l(-1.198,.092),l(-.777,.196),l(-.364,0),l(-1.179,-.355),l(-.753,-.088),l(-1.15,-.027),l(-.814,-.014),l(-.831,.081),l(.098,-3.675),
-N(346.758,54.457),l(.127,-.162),l(.42,-.179),l(.894,.015),l(.674,-.098),l(-.354,-.227),l(-.405,-.34),l(.317,-.342),l(.277,0),l(.956,.42),l(.67,.048),l(.3,-.163),l(-.191,-.26),l(-.625,-.373),l(.366,-.245),l(1.037,.226),l(.957,.08),l(.746,.275),l(.446,.551),l(-.119,.405),l(-.441,.292),l(.922,.806),l(.553,-.356),l(.352,-.13),l(.63,-.114),l(.49,-.179),l(.061,-.21),l(-.169,-.778),l(.542,-.245),l(.501,.454),l(.426,.307),l(.489,.209),l(.215,.016),l(.185,-.13),l(-.264,-.454),l(.243,-.163),l(.27,-.033),l(.817,-.164),l(.683,.438),l(.536,.242),l(.542,.063),l(.05,-.178),l(-.358,-.535),l(1.006,.145),l(1.439,.079),l(.787,-.115),l(.427,-.229),l(-.021,-.716),l(1.167,.08),l(.635,.471),l(1.118,.323),l(.683,.015),l(.273,.243),l(-.252,.552),l(.786,.29),l(1.674,.159),l(.127,.145),l(.143,.548),l(-.07,.387),l(-.152,.256),l(-.152,.256),l(-.443,.129),l(-.815,.018),l(-.195,.096),l(-.04,.431),l(-.515,.463),l(-.497,.16),l(-.568,-.031),l(-.422,-.159),l(-.817,.495),l(-.539,.144),l(-1.46,.463),l(-.853,.113),l(-.726,.001),l(-.771,.097),l(-.784,.587),l(-.473,.127),l(-1.078,.097),l(-.709,-.03),l(-1.316,-.171),l(-.608,-.142),l(-1.283,-.489),l(-1.058,-.093),l(-.443,.064),l(-1.041,-.014),l(-1.834,-.124),l(-.297,-.206),l(.434,-.191),l(1.127,-.352),l(.701,-.59),l(-.818,-.015),l(-.51,-.126),l(-.428,-.398),l(-.253,-.095),l(-.358,.081),l(-1.564,.115),l(-.557,.033),l(-.37,-.223),l(.141,-.192),l(.388,-.129),l(.669,-.097),l(.794,-.017),l(.729,-.114),l(1.049,-.098),l(.376,-.194),l(.178,-.322),l(-.144,-.258),l(-.358,-.177),l(-.426,-.015),l(-.478,-.145),l(-1.005,-.047),l(-.821,.099),l(-.424,.162),l(-.676,.082),l(-1.041,-.272),l(-.16,-.21),
-N(462.829,67.958),l(.145,.053),l(.16,.131),l(-.043,.174),l(-.175,.044),l(-.189,0),l(-.116,0),l(-.088,.043),l(-.058,.131),l(-.175,.277),l(-.219,.204),l(-.319,.131),l(-.204,.131),l(-.088,.16),l(.029,.16),l(.131,.437),l(.073,.189),l(.029,.16),l(-.175,.131),l(0,.175),l(.175,.233),l(.203,.087),l(.088,.073),l(0,.073),l(.015,.087),l(.043,.146),l(.175,.043),l(.059,.059),l(-.175,.073),l(-.262,.043),l(-.16,.058),l(-.059,.102),l(-.087,.116),l(-.131,0),L(461.402,72),l(-.015,.087),l(-.116,.058),l(.081,.106),l(-.125,.025),l(-.087,-.015),l(-.306,-.043),l(-.16,-.058),l(-.175,-.073),l(-.204,-.044),l(-.131,.102),l(-.204,-.029),l(-.131,.044),l(-.16,.087),l(-.146,.014),l(-.146,-.087),l(-.116,-.029),l(-.175,0),l(-.204,-.117),l(-.116,-.174),l(-.203,-.117),l(-.146,-.043),l(-.072,-.117),l(-.189,0),l(-.247,-.043),l(-.204,-.117),l(-.029,0),l(-.276,-.014),l(-.102,-.102),l(-.248,-.043),l(-.116,-.102),l(-.189,-.087),l(0,.073),l(-.116,.087),l(-.131,-.058),l(-.015,-.073),l(-.087,-.029),l(-.103,0),l(-.276,.117),l(-.102,.029),l(-.131,.015),l(-.219,.015),l(-.146,.043),l(-.262,.029),l(-.276,.087),l(-.116,.102),l(-.087,0),l(.156,-.19),l(-.003,-.351),l(.183,-.238),l(-.368,-.21),l(-.605,.437),l(-.334,-.251),l(-.527,-.038),l(.043,-.942),l(-.396,.188),l(-.336,-.415),l(.158,-.202),l(-.209,-.254),l(.265,-.074),l(-.092,-.252),l(.344,-.042),l(1.026,-.084),l(-.006,-.132),l(.561,-.108),l(.133,-.188),l(.436,.101),l(.074,-.113),l(.317,.05),l(.083,-.215),l(1.104,.193),l(.446,-.294),l(.091,.165),l(.514,-.089),l(1.383,.029),l(1.152,.167),l(.305,.12),l(.592,-.045),l(.971,.09),l(.426,-.108),l(.271,-.24),l(-.006,-.009),
-N(461.353,72.251),l(.37,-.004),l(-.015,.116),l(0,.117),l(.232,.073),l(.204,.087),l(.087,.073),l(.204,.058),l(-.015,.087),l(-.029,.116),l(-.015,.087),l(-.102,.073),l(-.087,.015),l(-.103,.029),l(.131,.087),l(-.072,.131),l(.029,.117),l(-.073,.087),l(-.102,.073),l(-.044,.102),l(.204,-.059),l(.146,-.015),l(.131,.073),l(.087,.014),l(.073,.044),l(-.059,.087),l(-.043,.073),l(.116,.102),l(.131,.058),l(.029,.16),l(.146,.102),l(.16,.043),l(-.059,.087),l(.131,.117),l(-.015,.189),l(.088,.233),l(-.044,.087),l(-.015,.117),l(-.061,.042),l(-.241,.044),l(-.24,.051),l(-.12,.12),l(-.223,.034),l(-.137,.154),l(-.137,.085),l(-.069,.103),l(-.068,.206),l(-.188,.035),l(-.239,-.035),l(-.24,-.034),l(-.325,-.034),l(-.359,0),l(-.172,.068),l(-.103,.137),l(-.223,.085),l(-.154,0),l(-.103,-.017),l(-.086,.052),l(-.377,-.035),l(-.273,-.068),l(-.154,-.171),l(-.138,-.154),l(-.325,-.137),l(-.497,-.223),l(-.342,-.24),l(-.377,-.034),l(-.583,-.035),l(-.325,-.12),l(-.291,-.188),l(-.086,-.257),l(-.188,.017),l(-.171,.068),l(-.36,.171),l(-.394,.017),l(-.24,0),l(-.273,.085),l(-.24,-.085),l(-.309,-.103),l(-.6,-.017),l(-.291,.069),l(-.359,-.069),l(-.291,-.051),l(-.154,.034),l(-.274,.069),l(-.103,-.052),l(-.12,-.137),l(-.154,0),l(-.257,.068),l(-.188,0),l(-.754,-.017),l(-.445,-.085),l(-.754,.171),l(-.599,.154),l(-.429,.103),l(-.257,.137),l(-.052,.188),l(-.526,.026),l(-.065,-.059),l(.073,-.837),l(.035,-.302),l(.127,-.167),l(.672,-.379),l(.034,-.717),l(.267,-.162),l(.267,-.273),l(.217,-.203),l(.296,-.026),l(1.056,-.199),l(.166,-.046),l(.162,-.066),l(.29,0),l(.049,.237),l(.657,.388),l(.422,.162),l(.23,.473),l(.091,.15),l(.441,.196),l(.785,.059),l(.868,-.244),l(.24,-.122),l(.178,-.288),l(-.052,-.394),l(-.193,-.869),l(.198,-.243),l(.045,-.055),l(.087,0),l(.116,-.102),l(.276,-.087),l(.262,-.029),l(.146,-.043),l(.219,-.015),l(.131,-.015),l(.102,-.029),l(.276,-.117),l(.103,0),l(.087,.029),l(.015,.073),l(.131,.058),l(.116,-.087),l(0,-.073),l(.189,.087),l(.116,.102),l(.248,.043),l(.102,.102),l(.276,.014),l(.029,0),l(.204,.117),l(.247,.043),l(.189,0),l(.072,.117),l(.146,.043),l(.203,.117),l(.116,.174),l(.204,.117),l(.175,0),l(.116,.029),l(.146,.087),l(.146,-.014),l(.16,-.087),l(.131,-.044),l(.204,.029),l(.131,-.102),l(.204,.044),l(.175,.073),l(.16,.058),l(.306,.043),l(.087,.015),l(.125,-.025),
-N(451.02,79.165),l(-.029,-.038),l(-.034,-.137),l(-.018,-.171),l(.068,-.206),l(.068,-.154),l(.224,-.12),l(-.052,-.12),l(-.018,-.137),l(-.171,-.069),l(-.188,-.034),l(-.103,-.103),l(-.086,-.137),l(-.223,.017),l(-.257,0),l(-.445,0),l(-.223,.051),l(-.086,-.103),l(-.514,-.068),l(-.257,-.069),l(-.223,-.12),l(-.24,0),l(-.086,-.052),l(-.051,-.154),l(-.12,.034),l(-.353,.096),l(-.043,-.077),l(.128,-.012),l(.034,-.183),l(-.439,-.646),l(-.008,-.14),l(-.042,-.727),l(-.112,-.102),l(.526,-.026),l(.052,-.188),l(.257,-.137),l(.429,-.103),l(.599,-.154),l(.754,-.171),l(.445,.085),l(.754,.017),l(.188,0),l(.257,-.068),l(.154,0),l(.12,.137),l(.103,.052),l(.274,-.069),l(.154,-.034),l(.291,.051),l(.359,.069),l(.291,-.069),l(.6,.017),l(.309,.103),l(.24,.085),l(.273,-.085),l(.24,0),l(.394,-.017),l(.36,-.171),l(.171,-.068),l(.188,-.017),l(.086,.257),l(.291,.188),l(.325,.12),l(.583,.035),l(.377,.034),l(.342,.24),l(.497,.223),l(.325,.137),l(.138,.154),l(.154,.171),l(.273,.068),l(.377,.035),l(-.017,.171),l(-.086,.154),l(-.034,.12),l(-.12,.137),l(-.086,.137),l(.343,.034),l(.274,.052),l(.085,.051),l(-.119,.051),l(-.086,0),l(-.103,.154),l(-.018,.154),l(-.171,.017),l(-.12,-.086),l(-.12,.051),l(-.239,-.034),l(-.154,.034),l(-.086,.154),l(-.103,.154),l(-.257,.068),l(-.429,0),l(-.137,.137),l(-.12,.12),l(-.034,.154),l(-.086,.171),l(.103,.171),l(-.068,.137),l(-.239,.154),l(0,.137),l(-.068,.085),l(-.069,.137),l(.172,.034),l(.205,0),l(.138,.206),l(-.086,.188),l(-.274,.017),l(-.223,-.068),l(0,-.154),l(-.034,-.085),l(-.086,-.069),l(-.171,.051),l(-.12,.086),l(-.291,-.034),l(-.068,.137),l(-.24,.12),l(-.154,0),l(-.188,-.034),l(-.273,.103),l(.086,.171),l(-.069,.12),l(-.171,.034),l(-.137,-.034),l(-.206,.051),l(-.377,.154),l(-.291,0),l(-.068,-.103),l(-.12,-.051),l(-.239,.051),l(-.377,.017),l(-.24,.034),l(-.291,-.034),l(-.154,.034),l(-.093,-.035),l(-.09,-.171),l(-.016,-.029),l(-.099,-.186),l(-.284,-.487),l(-.679,-.243),l(-.04,-.014),l(-.641,.021),
-N(452.867,80.273),l(.093,.035),l(.154,-.034),l(.291,.034),l(.24,-.034),l(.377,-.017),l(.239,-.051),l(.12,.051),l(.068,.103),l(.291,0),l(.377,-.154),l(.206,-.051),l(.137,.034),l(.171,-.034),l(.069,-.12),l(-.086,-.171),l(.273,-.103),l(.188,.034),l(.154,0),l(.24,-.12),l(.068,-.137),l(.291,.034),l(.12,-.086),l(.171,-.051),l(.086,.069),l(.034,.085),l(0,.154),l(.223,.068),l(.274,-.017),l(.086,-.188),l(-.138,-.206),l(-.205,0),l(-.172,-.034),l(.069,-.137),l(.068,-.085),l(0,-.137),l(.239,-.154),l(.068,-.137),l(-.103,-.171),l(.086,-.171),l(.034,-.154),l(.12,-.12),l(.137,-.137),l(.429,0),l(.257,-.068),l(.103,-.154),l(.086,-.154),l(.154,-.034),l(.239,.034),l(.12,-.051),l(.12,.086),l(.171,-.017),l(.018,-.154),l(.103,-.154),l(.086,0),l(.119,-.051),l(-.085,-.051),l(-.274,-.052),l(-.343,-.034),l(.086,-.137),l(.12,-.137),l(.034,-.12),l(.086,-.154),l(.017,-.171),l(.086,-.052),l(.103,.017),l(.154,0),l(.223,-.085),l(.103,-.137),l(.172,-.068),l(.359,0),l(.325,.034),l(.24,.034),l(.239,.035),l(.188,-.035),l(.068,-.206),l(.069,-.103),l(.137,-.085),l(.137,-.154),l(.223,-.034),l(.12,-.12),l(.24,-.051),l(.241,-.044),l(.165,.147),l(.229,.066),l(.197,-.131),l(.181,.016),l(.312,.033),l(.132,.148),l(.082,.148),l(.197,-.033),l(.214,-.065),l(.361,-.049),l(.312,.049),l(.296,.065),l(.147,.017),l(0,.115),l(-.164,.099),l(-.017,.099),l(.065,.148),l(.164,.148),l(.197,0),l(.214,-.197),l(.279,-.016),l(.165,0),l(.147,-.099),l(.23,-.083),l(.131,.049),l(.099,.049),l(.247,-.049),l(.542,.115),l(.132,.131),l(.279,.099),l(.099,.099),l(.147,.099),l(.165,.033),l(.147,-.033),l(.049,.115),l(-.065,.115),l(0,.083),l(-.033,.164),l(-.131,.165),l(.197,.247),l(.147,.099),l(.05,.164),l(-.066,.131),l(-.114,0),l(0,.083),l(-.115,.082),l(-.099,.049),l(-.033,.165),l(-.049,.147),l(.345,.049),l(.132,.181),l(.082,.115),l(.181,-.049),l(.132,.033),l(-.099,.115),l(-.066,.131),l(.017,.099),l(.214,.017),l(.164,.263),l(.115,.23),l(.443,.213),l(.23,.066),l(.279,.082),l(.164,.099),l(.066,.148),l(-.099,.197),l(-.066,.181),l(.182,.066),l(.361,-.066),l(.378,.066),l(.361,.099),l(.263,.066),l(-.032,.065),l(-.066,.049),l(-.082,.017),l(.099,.181),l(.296,.148),l(.279,.066),l(.033,.131),l(-.065,.164),l(-.296,0),l(-.148,.083),l(-.049,.065),l(-.444,.247),l(-.525,.099),l(-.51,-.016),l(-.197,-.132),l(-.328,-.049),l(-.362,.017),l(-.131,.165),l(-.099,.131),l(.017,.164),l(.279,.263),l(.296,.164),l(0,.165),l(-.132,.066),l(.099,.148),l(.147,.131),l(-.082,.099),l(.033,.164),l(.033,.23),l(-.033,.099),l(.164,.082),l(.082,.115),l(.165,.066),l(.002,.142),l(-.519,-.005),l(-.522,.056),l(-.112,.131),l(-.205,-.056),l(-.187,-.037),l(-.336,.075),l(-.057,.13),l(-.111,.112),l(-.317,.187),l(-.188,.261),l(-.261,.224),l(-.057,.206),l(.243,.205),l(.056,.149),l(-.131,.206),l(-.261,-.019),l(-.149,-.056),l(-.149,-.206),l(-.112,-.056),l(-.187,-.075),l(-.224,-.037),l(-.225,.037),l(-.242,.075),l(-.299,.019),l(-.149,-.131),l(-.224,.075),l(-.188,.093),l(-.316,.056),l(-.188,-.056),l(-.037,-.205),l(-.112,-.131),l(-.168,-.131),l(-.13,.038),l(-.131,.075),l(-.168,0),l(-.299,.149),l(-.131,.149),l(-.168,0),l(-.094,-.187),l(-.13,-.075),l(-.206,0),l(-.224,.112),l(-.131,-.187),l(-.224,-.093),l(-.131,.112),l(-.354,.056),l(-.262,-.112),l(-.112,0),l(-.019,.205),l(-.168,.093),l(-.093,-.056),l(.056,-.224),l(-.243,-.038),l(-.187,-.056),l(-.541,.112),l(0,-.149),l(-.187,0),l(.019,-.224),l(-.28,-.037),l(-.242,.075),l(-.523,-.112),l(-.578,-.056),l(-.075,-.056),l(-.522,0),l(-.205,-.168),l(-.262,.019),l(-.522,-.093),l(-.467,.075),l(-.485,0),l(-.354,-.056),l(-.355,.056),l(-.354,.056),l(-.485,-.038),l(-.485,.019),l(-.205,.187),l(-.037,.168),l(-.374,.168),l(-.373,.206),l(-.112,-.112),l(-.261,0),l(-.374,-.019),l(-.037,.131),l(0,.045),l(-.126,-.137),l(.315,-.752),l(-.013,-.25),l(-.218,-.146),l(-.149,-.176),l(-.421,-.146),l(-.289,-.012),l(.128,-.292),l(.291,-.328),l(.571,-.244),l(.44,-.03),l(.263,-.208),l(.023,-.236),l(-.172,-.502),l(-.615,-1.5),l(-.16,-.302),
-N(400.125,81.146),l(.633,.305),l(.208,.207),l(.208,.37),l(-.038,.193),l(-.545,.563),l(.714,.176),l(.396,-.311),l(.527,-.119),l(.602,.028),l(.807,.176),l(.467,.354),l(.235,.752),l(-.077,.221),l(-.322,.414),l(-1.068,.473),l(-.767,.561),l(-.96,.237),l(1.223,.167),l(.501,.043),l(.354,-.104),l(.39,.117),l(-.066,.516),l(-.997,.308),l(.005,.199),l(-.479,-.084),l(-1.068,.443),l(-.879,-.142),l(-.293,-.048),l(-1.119,.211),l(-.587,-.211),l(-.598,.112),l(-1.584,.141),l(.137,.295),l(-.907,-.168),l(-.264,.168),l(-.911,-.337),l(-.334,.143),l(-.913,.089),l(-.093,.569),l(-.337,.316),l(-.37,.042),l(-.272,-.252),l(-.53,-.172),l(-.135,.151),l(-.527,-.077),l(-.948,.324),l(-.701,.552),l(-.326,-.231),l(-.775,-.147),l(1.2,-.472),l(.492,-.476),l(.447,-.097),l(.468,-.388),l(.118,-.485),l(.242,.063),l(.367,-.211),l(-.008,-.274),l(1.013,-.105),l(.76,.119),l(.927,.007),l(.073,-.338),l(.308,-.142),l(.321,-.556),l(-.939,.394),l(-.725,.016),l(-1.467,-.482),l(-1.866,-.055),l(-.399,-.191),l(-.156,-.162),l(.417,-.325),l(.983,-.194),l(.721,-.237),l(.38,-.384),l(.066,-.827),l(-.119,-.192),l(-.713,.046),l(-.34,-.044),l(.288,-.355),l(.387,-.223),l(.802,-.253),l(1.394,-.062),l(.922,-.076),l(-.316,-.548),l(.172,-.683),l(.253,-.461),l(-.045,-.312),l(-.834,.061),l(-.484,-.296),l(-.2,-.312),l(.309,-.507),l(.617,-.433),l(-.347,-.104),l(-.596,-.088),l(-.735,.3),l(-.476,.061),l(-.753,-.222),l(-.088,.194),l(-.222,.194),l(-.672,-.103),l(-.464,-.133),l(.1,-.343),l(.348,-.36),l(.604,-.706),l(-.293,-.134),l(-.305,-.39),l(.028,-.24),l(.304,-.106),l(.3,-.196),l(-.194,-.496),l(-.306,.076),l(-.636,.453),l(-.442,.031),l(-.526,.287),l(-.14,-.421),l(.302,-.527),l(.438,-.559),l(.065,-.257),l(-.417,-.195),l(-.196,-.045),l(-.218,.302),l(-.394,.257),l(-.493,-.165),l(.299,-.575),l(.54,-.455),l(.09,-.136),l(-.225,-.575),l(.366,-.092),l(.225,-.197),l(-.672,-.515),l(.432,-.351),l(.752,.151),l(.387,-.092),l(-.645,-.759),l(.975,-.169),l(-.457,-.502),l(.416,-.382),l(.924,.365),l(.824,-.093),l(.686,-.139),l(.867,-.047),l(.612,.014),l(.303,.259),l(-.307,.29),l(-1.726,.704),l(-.46,.274),l(-.218,.441),l(.222,.182),l(.784,.029),l(.877,-.078),l(.685,-.001),l(.53,.075),l(1.563,-.064),l(.458,.378),l(-.363,.425),l(-.212,.323),l(.098,.112),l(-.565,.66),l(-.226,.111),l(-.339,.437),l(-.696,.261),l(-.382,.038),l(.451,.186),l(.508,.167),l(-.116,.015),l(-.272,.19),l(-.61,.052),l(-.275,.196),l(-1.337,-.025),l(.404,.223),l(.302,0),l(.492,.093),l(.432,-.006),l(.519,-.223),l(.413,-.025),l(.449,.161),l(.656,.164),l(.673,.566),l(.496,.228),l(.118,.165),l(-.067,.238),l(.312,.78),l(.371,.536),l(.438,.189),l(.714,.107),l(.59,.549),l(.688,.593),l(.135,.52),l(-.188,.49),l(.257,.124),M(387.915,77.13),l(-.128,-.325),l(.149,-.335),l(.38,-.089),l(.079,.501),l(-.307,.251),l(-.173,-.003),M(386.786,80.184),l(-.178,-.272),l(-.967,.072),l(.123,-.256),l(-.364,-.15),l(-.26,-.257),l(-.335,-.107),l(-.253,.364),l(-.751,.257),l(-.778,-.192),l(-.401,-.278),l(-.101,-.278),l(.86,-.278),l(-.483,-.257),l(.817,-.107),l(.385,-.484),l(-.029,-.235),l(.449,-.09),l(.508,-.15),l(.781,-.077),l(.424,.044),l(.389,.104),l(.362,-.046),l(.218,.149),l(.519,.791),l(.047,.179),l(-.081,.298),l(.308,.446),l(-.155,.328),l(-.402,.328),l(-.354,.12),l(-.299,.038),
-N(578.943,106.217),l(-.41,-.375),l(-.466,-.098),l(-.663,0),l(-.196,-.27),l(-.27,-.147),l(-.147,-.344),l(-.564,.049),l(-.981,-.246),l(-.662,.074),l(-1.35,-.024),l(-.662,-.098),l(-.712,-.221),l(-.785,.147),l(-.761,0),l(-.858,.024),l(-.441,.27),l(-.54,-.098),l(-.908,-.196),l(-.735,-.246),l(-.761,-.27),l(-.589,-.074),l(-.688,.123),l(-.466,.368),l(-.245,.736),l(.024,.442),l(-.344,-.123),l(-.81,-.123),l(-.688,-.196),l(-.883,-.245),l(-.883,-.147),l(-.663,.098),l(-.736,.123),l(-.318,.368),l(-.393,.442),l(.044,.273),l(-.322,.031),l(-.377,.377),l(-.283,-.126),l(-.22,.063),l(-.346,.283),l(-.534,.471),l(-.755,.189),l(-.943,.377),l(-.282,.188),l(-.221,.472),l(-.439,.188),l(-.504,.44),l(.157,.409),l(-.125,.188),l(-.66,0),l(-.44,-.346),l(.062,-.283),l(-.062,-.283),l(-.44,-.314),l(-.346,0),l(-1.006,.094),l(-.691,.032),l(-.503,-.063),l(-.346,-1.069),l(-.221,-.817),l(-1.006,0),l(-.031,-.754),l(.188,-.409),l(.031,-1.038),l(-.66,.314),l(-.66,-1.006),l(-.597,-.22),l(-.724,-.723),l(-1.1,.409),l(-2.767,-.188),l(-2.578,.346),l(-2.012,-1.666),l(-5.722,-2.986),l(-5.658,1.289),l(-.056,8.174),l(-.158,-.014),l(-.341,.106),l(-.489,.043),l(-.447,-.255),l(-.638,-.703),l(-.256,-.511),l(-.617,-.383),l(-.681,-.383),l(-.512,-.234),l(-.979,.085),l(-1.277,.298),l(-.937,.532),l(-.529,.453),l(.092,-.399),l(-.06,-.18),l(-.12,-.12),l(.14,-.26),l(.2,-.2),l(.14,-.32),l(.04,-.3),l(.18,-.2),l(-.159,-.24),l(-.4,-.16),l(-.459,.06),l(-.18,-.16),l(-.3,.06),l(-.2,.04),l(-.199,-.18),l(-.221,-.32),l(-.319,-.28),l(-.34,0),l(-.359,.02),l(0,-.2),l(.08,-.28),l(-.2,-.379),l(-.239,-.12),l(-.2,-.24),l(-.399,-.799),l(-.08,-.28),l(-.56,-.12),l(-.699,-.08),l(-.14,-.16),l(.02,-.439),l(.16,-.12),l(.3,-.06),l(.399,.02),l(.34,.02),l(.479,.14),l(.539,.18),l(.18,-.08),l(.36,-.08),l(-.2,-.16),l(-.26,-.12),l(-.399,-.2),l(-.2,-.24),l(.26,-.36),l(.28,-.04),l(.08,-.26),l(.18,-.299),l(.12,-.14),l(.26,.04),l(.319,-.08),l(.16,-.1),l(.339,.12),l(.24,0),l(1.119,-.04),l(.999,.14),l(.499,.02),l(-.159,-.08),l(-.34,-.2),l(-.479,-.12),l(-.021,-.3),l(.2,-.2),l(.279,-.22),l(.221,-.28),l(.119,-.52),l(.12,-.28),l(-.16,-.24),l(-.14,-.16),l(.1,-.2),l(.26,-.2),l(-.119,-.12),l(-.101,-.3),l(-.359,-.12),l(-.359,-.04),l(-.68,-.1),l(-.2,.16),l(-.199,.08),l(-.52,.08),l(-.46,-.12),l(-.319,-.26),l(-.26,-.06),l(-.68,-.12),l(-.56,.06),l(-.659,.319),l(-.42,.02),l(-.799,.5),l(-.72,.28),l(-.499,.06),l(-.42,-.02),l(-.279,.24),l(-.213,.18),l(-.616,-.19),l(-.857,-.377),l(-.068,-.308),l(.343,-.103),l(.309,.103),l(.445,.103),l(.138,-.103),l(-.96,-1.131),l(-.343,-.514),l(-.479,-.206),l(-.515,-.445),l(-.514,-.034),l(-.343,.034),l(-.583,-.206),l(-.103,.343),l(-.514,-.514),l(.068,-.309),l(-.138,-.377),l(-1.37,-.343),l(.65,-1.165),l(.446,-.274),l(.239,-.206),l(-.239,-.274),l(-.343,-.171),l(.205,-1.303),l(.823,-.137),l(.343,-.549),l(.103,-.308),l(.411,-.069),l(.514,.24),l(.48,.548),l(.514,.411),l(.651,0),l(.411,-.24),l(.068,-.446),l(-.171,-.411),l(-.068,-.445),l(.479,-.206),l(.891,-.411),l(.172,-.24),l(.309,-.309),l(.514,-.171),l(.549,-.068),l(.788,-.377),l(.548,-.343),l(.515,-.309),l(.651,.069),l(.479,0),l(.309,.274),l(.651,-.137),l(.273,-.137),l(.617,-.24),l(.411,.069),l(.411,.514),l(.788,.035),l(.617,-.069),l(.96,.171),l(0,.343),l(.582,.206),l(.789,.343),l(.411,.274),l(.068,.583),l(.274,.137),l(.239,-.274),l(-.205,-.48),l(-.034,-.24),l(.72,.068),l(.582,.548),l(.686,.137),l(.411,.24),l(.686,-.171),l(.274,-.274),l(.377,-.343),l(.514,-.377),l(.823,.068),l(.65,.035),l(.651,.411),l(.617,-.068),l(.137,-.412),l(1.062,-.103),l(.754,.103),l(.274,.548),l(.926,.309),l(.754,.137),l(.411,.171),l(.651,-.343),l(.171,-.309),l(.24,0),l(.343,.343),l(.959,.034),l(1.577,-.411),l(.137,-.309),l(.138,-.686),l(-.24,-.24),l(-1.165,-.171),l(-.274,-.308),l(-.651,-.069),l(-.377,-.137),l(.068,-.171),l(-.377,-.137),l(-.239,0),l(-.164,-.274),l(.467,-.067),l(.735,-.368),l(.588,-.147),l(.331,-.294),l(-.441,-.478),l(-.146,-.257),l(.662,-.515),l(.698,-.184),l(1.103,.147),l(.515,-.073),l(.11,-.257),l(-.956,-.294),l(-1.065,-.11),l(0,-.331),l(.294,-.074),l(-.294,-.221),l(-.074,-.441),l(.185,-.515),l(.33,-.074),l(1.066,.147),l(.515,0),l(.772,0),l(.368,-.184),l(1.396,-.405),l(1.029,-.037),l(.735,-.11),l(1.545,-.11),l(.588,-.073),l(.331,.073),l(.221,-.331),l(.625,-.331),l(1.177,-.037),l(2.021,-.405),l(1.876,-.073),l(.625,-.074),l(.367,-.368),V(0,77.39),l(.515,-.037),l(.589,-.184),l(.11,-.221),l(.735,-.037),l(.919,.147),l(.515,.11),l(.772,.257),l(.625,-.11),l(.882,-.037),l(.368,.404),l(-.037,.331),l(.147,.221),l(.515,.22),l(-.11,.331),l(-.147,.257),l(.073,.331),l(-.33,.037),l(.184,.257),l(.478,.074),l(.295,-.147),l(.44,.11),l(.368,-.147),l(.367,.074),l(.331,-.221),l(.294,.11),l(.295,.368),l(.367,.221),l(.147,-.147),l(.184,-.147),l(.478,.037),l(.405,.294),l(.478,.11),l(.441,-.221),l(.367,0),l(-.146,.294),l(-.441,.184),l(-.331,.441),l(.331,.184),l(.441,-.11),l(.771,-.073),l(.441,.037),l(.552,.184),l(.294,-.294),l(.772,-.441),l(1.103,-.257),l(.956,-.515),l(.772,-.221),l(.515,-.22),l(.809,-.074),l(0,.441),l(-.515,.11),l(-.11,.368),l(1.104,.588),l(.809,.294),l(1.287,.772),l(1.066,1.029),l(1.69,2.133),l(.846,.882),l(1.104,1.434),l(.515,-.257),l(.331,-.257),l(.367,-.515),l(.92,0),l(.367,.331),l(0,.368),l(.478,0),l(.258,.257),l(.184,.184),l(.589,0),l(.992,0),l(.993,-.221),l(.771,-.221),l(.993,-.037),l(.698,.441),l(.772,.588),l(.331,.625),l(.956,.147),l(.588,.552),l(.662,.699),l(.882,.073),l(.993,.074),l(.478,-.368),l(.625,-.184),l(-.073,.331),l(.441,.331),l(.294,.478),l(.589,0),l(.064,.145),l(-.551,.034),l(-.542,.148),l(-.279,.262),l(-.011,.275),l(-.035,.478),l(-.306,.219),l(-.289,.06),l(-1.199,.093),l(-.428,.277),l(-.34,.581),l(.097,.75),l(.213,.707),l(-.157,.39),l(-.444,.392),l(-.417,.103),l(-.718,.062),l(-1.402,-.079),l(-.594,-.141),l(-.721,-.141),l(-1.096,-.254),l(-.427,.507),l(-.516,1.141),L(584.2,97.43),l(-.286,.605),l(-.137,.418),l(.622,.514),l(.126,.286),l(-.156,.245),l(-.231,.145),l(-.394,.074),l(-1.133,-.238),l(-.5,-.184),l(-.35,.06),l(-1.082,.207),l(-1.799,.254),l(-.393,.188),l(-.215,.302),l(-.068,.215),l(.232,.185),l(.366,-.06),l(.483,.141),l(.03,1.357),l(.345,.627),l(.29,.441),l(.119,.47),l(-.222,.33),l(-.705,.546),l(-.32,.401),l(-.02,.399),l(.139,.86),
-N(386.786,80.184),l(-.304,.038),l(-.223,.09),l(.241,.252),l(.361,.771),l(.287,1.213),l(-.061,.281),l(-.359,.341),l(-.242,.414),l(-.145,.473),l(-.185,.044),l(-.284,-.058),l(-.616,.031),l(-.15,.212),l(-.913,.042),l(-.84,.132),l(-.247,.144),l(-.661,.286),l(-.903,.498),l(-.628,.035),l(-.879,.283),l(-1.28,.084),l(.053,-.378),l(-.089,-.441),l(-.848,.1),l(-.171,-.487),l(.734,-.254),l(-1.186,-.021),l(.062,-.233),l(1.286,.027),l(.198,-.104),l(.039,-.222),l(.107,-.31),l(.515,-.134),l(.692,-.031),l(.13,-.281),l(-1.07,.099),l(.387,-.437),l(-.187,-.159),l(.481,-.468),l(.694,-.011),l(.163,-.089),l(-.174,-.311),l(-.348,.177),l(-.309,-.131),l(-.319,.03),l(-.391,-.177),l(-.414,.001),l(-.182,.106),L(378,81.478),l(.309,-.306),l(-.29,-.142),l(.759,-.126),l(-.139,-.301),l(.391,-.235),l(-.481,-.214),l(-.59,.128),L(378,79.792),l(.38,-.268),l(.215,-.16),l(.928,.187),l(.336,-.075),l(.527,.038),l(1.102,.123),l(-.214,-.358),L(382.132,79),l(.198,-.321),l(-1.373,0),l(.154,-.15),l(.569,-.107),l(.061,-.29),l(.291,-.479),l(.505,-.181),l(.804,-.169),l(.22,.302),l(.354,.149),l(.156,-.031),l(.029,.235),l(-.385,.484),l(-.817,.107),l(.483,.257),l(-.86,.278),l(.101,.278),l(.401,.278),l(.778,.192),l(.751,-.257),l(.253,-.364),l(.335,.107),l(.26,.257),l(.364,.15),l(-.123,.256),l(.967,-.072),l(.178,.272),
-N(452.998,85.535),V(0,85.49),l(.037,-.131),l(.374,.019),l(.261,0),l(.112,.112),l(.373,-.206),l(.374,-.168),l(.037,-.168),l(.205,-.187),l(.485,-.019),l(.485,.038),l(.354,-.056),l(.355,-.056),l(.354,.056),l(.485,0),l(.467,-.075),l(.522,.093),l(.262,-.019),l(.205,.168),l(.522,0),l(.075,.056),l(.578,.056),l(.523,.112),l(.242,-.075),l(.28,.037),l(-.019,.224),l(.187,0),l(0,.149),l(.541,-.112),l(.187,.056),l(.243,.038),l(-.056,.224),l(.093,.056),l(.168,-.093),l(.019,-.205),l(.112,0),l(.262,.112),l(.354,-.056),l(.131,-.112),l(.224,.093),l(.131,.187),l(.224,-.112),l(.206,0),l(.13,.075),l(.094,.187),l(.168,0),l(.131,-.149),l(.299,-.149),l(.168,0),l(.131,-.075),l(.13,-.038),l(.168,.131),l(.112,.131),l(.037,.205),l(.188,.056),l(.316,-.056),l(.188,-.093),l(.224,-.075),l(.149,.131),l(.299,-.019),l(.242,-.075),l(.225,-.037),l(.224,.037),l(.187,.075),l(.112,.056),l(.149,.206),l(.149,.056),l(.261,.019),l(.131,-.206),l(-.056,-.149),l(-.243,-.205),l(.057,-.206),l(.261,-.224),l(.188,-.261),l(.317,-.187),l(.111,-.112),l(.057,-.13),l(.336,-.075),l(.187,.037),l(.205,.056),l(.112,-.131),l(.522,-.056),l(.519,.005),l(.357,.089),l(.469,.022),l(.313,-.156),l(.179,-.291),l(.134,-.268),l(.536,.246),l(.536,-.022),l(.67,-.223),l(.692,.112),l(.514,-.134),l(.201,.268),l(.312,.134),l(.246,.335),l(.134,.201),l(.246,.156),l(.312,.156),l(0,.268),l(-.312,-.022),l(-.312,.134),l(.134,.291),l(.111,.357),l(.269,.29),l(.647,0),l(.156,.112),l(.514,-.067),l(.38,.022),l(0,.312),l(.402,0),l(0,.357),l(.224,.268),l(.089,.246),l(-.089,.179),l(.089,.224),l(.179,.089),l(.291,.29),l(.268,-.179),l(.47,-.067),l(.268,.067),l(.469,.291),l(.201,-.067),l(.179,.022),l(.179,.156),l(.425,-.112),l(.312,-.112),l(.269,0),l(.536,-.134),l(.357,-.067),l(.111,.156),l(.268,.179),l(0,.134),l(.201,.179),l(.022,.134),l(.402,.044),l(.179,.179),l(.224,.112),l(.29,-.134),l(.045,-.157),l(.224,-.067),l(.29,.268),l(.425,.067),l(.469,.112),l(.268,.112),l(.357,-.067),l(.201,.179),l(.291,.089),l(.469,.022),l(.111,.224),l(.357,.156),l(.269,0),l(.134,-.044),l(.201,-.089),l(.156,.089),l(-.089,.111),l(-.022,.179),l(.111,.089),l(.09,.179),l(-.045,.224),l(-.201,.089),l(-.156,.067),l(-.357,.201),l(-.312,.044),l(.223,.246),l(.269,.089),l(.29,.044),l(-.134,.156),l(-.312,0),l(-.246,0),l(-.045,.179),l(-.044,.224),l(.156,.067),l(.179,.067),l(.044,.134),l(.045,.179),l(.09,.201),l(.066,.067),l(-.156,.491),l(-.156,.291),l(0,.156),l(-.335,.134),l(-.805,-.157),l(-.736,.045),l(-.269,0),l(-.022,.179),l(-.223,.179),l(-.38,.134),l(-.357,.022),l(-.224,.089),l(-.09,.514),l(0,.224),l(-.021,.112),l(-.012,.126),l(-.779,.104),l(-.971,.06),l(-.511,.405),l(-.729,.189),l(-1.135,.075),l(-1.119,.248),l(-.502,.318),l(-.463,.059),l(-.453,-.316),l(-.369,.621),l(-.31,.188),l(-.477,.044),l(-.438,-.057),l(-.959,.031),l(-.5,.16),l(.641,.287),l(1.957,1.004),l(.053,.172),l(-.093,.188),l(.163,.244),l(.562,.042),l(.511,-.13),l(.675,-.146),l(1.052,.013),l(.439,.114),l(-.235,.259),l(-.106,.245),l(-.228,.144),l(-.578,.116),l(-.31,.029),l(-.591,-.157),l(-.473,.044),l(-.71,.489),l(-1.007,.045),l(-.538,.188),l(-.527,.488),l(-.269,.101),l(-.786,-.07),l(-.588,-.171),l(.364,-.746),l(-.096,-.416),l(-.264,-.287),l(-.854,-.286),l(-.193,-.014),l(-.629,.016),l(-.151,.043),l(-.16,-.187),l(.887,-.505),l(.644,-.261),l(.772,-.188),l(.221,-.116),l(-.246,-.46),l(-.435,-.071),l(-.799,.044),l(-1.015,.045),l(-.698,-.1),l(-.195,-.101),l(-.418,-.432),l(.584,-.405),l(-.528,-.605),l(-.378,.361),l(-.541,.001),l(-1.001,.146),l(-.565,.131),l(-.694,.722),l(-1.003,.867),l(-.754,.203),l(-.223,.044),l(-.287,.504),l(.079,.158),l(.178,.093),l(-.706,-.131),l(-.665,.261),l(-.457,0),l(-.033,.189),l(-.609,-.047),l(-.398,-.166),l(-.119,-.249),l(-.15,.02),l(.055,-.077),l(.102,-.025),l(.126,.013),l(.113,.013),l(.189,0),l(.088,-.114),l(0,-.088),l(-.063,-.113),l(.025,-.113),l(.126,-.063),l(.051,-.063),l(.075,-.013),l(.089,-.025),l(.088,-.063),l(.089,-.088),l(.024,-.126),l(-.013,-.114),l(.14,-.013),l(.29,-.063),l(.075,-.076),l(-.025,-.088),l(-.062,-.088),l(.126,-.114),l(.037,-.063),l(-.012,-.088),l(-.114,-.113),l(.051,-.101),l(-.088,-.151),l(-.063,-.101),l(.202,-.151),l(.239,-.025),l(.126,-.088),l(.113,.025),l(.013,.088),l(-.013,.214),l(.063,.013),l(.113,0),V(0,96.92),l(-.013,-.063),l(.101,.038),l(.063,.051),l(.025,-.076),l(.075,-.038),l(.139,-.012),l(0,.075),l(.089,.063),l(.075,0),l(.126,.164),l(.076,-.076),l(.075,-.076),l(.013,-.05),l(.101,-.025),l(.177,0),l(-.037,.189),l(.176,.025),l(.038,-.038),l(.038,-.038),l(.139,.013),l(.227,0),l(.038,-.025),l(.075,-.076),l(-.126,-.013),l(-.164,-.126),l(-.101,-.051),l(-.075,-.05),l(.013,-.038),l(.101,-.063),l(-.025,-.113),l(.038,-.101),l(-.013,-.126),l(-.051,-.139),l(-.101,-.063),l(-.177,-.076),l(-.075,0),l(-.151,-.126),l(-.151,-.063),l(-.151,-.038),l(.051,-.151),l(.037,-.088),l(-.037,-.051),l(-.127,.038),l(-.062,-.114),l(.113,-.038),l(-.013,-.189),l(.089,-.075),l(-.025,-.101),l(-.038,-.088),l(-.113,0),l(-.102,.05),l(-.088,.051),l(-.113,-.088),l(-.089,-.101),l(-.188,-.101),l(-.139,-.025),l(-.102,-.139),l(-.05,-.139),l(.177,-.139),l(0,-.189),l(.024,-.114),l(.051,-.05),l(-.126,-.063),l(.164,-.151),l(-.113,-.025),l(-.076,-.063),l(-.062,-.126),l(-.14,-.013),l(-.062,.101),l(-.126,-.025),l(-.215,-.025),l(-.126,-.189),l(-.05,-.189),l(-.417,-.075),l(-.277,.012),l(-.062,.051),l(-.076,.101),l(-.062,-.05),l(0,-.076),l(-.089,-.025),l(-.101,.038),l(.038,-.05),l(.088,-.101),l(-.025,-.063),l(-.113,0),l(-.177,.038),l(-.126,-.025),l(-.101,.013),l(-.076,-.076),l(-.05,-.063),l(-.101,-.063),l(-.151,-.013),l(-.139,-.05),l(-.14,-.126),l(-.214,-.088),l(-.038,-.013),l(-.126,.025),l(-.05,.025),l(-.114,-.051),l(-.088,-.025),l(-.139,.025),l(-.177,.051),l(-.177,-.025),l(-.062,.038),l(-.126,.114),l(-.202,0),l(-.265,-.038),l(-.126,.051),l(-.315,-.114),l(-.088,.101),l(.012,.113),l(-.126,0),l(-.075,-.063),l(-.126,.114),l(-.06,.052),l(-.634,.08),l(-.151,.311),l(-.278,.178),l(-1.992,.191),l(-.186,.215),l(-.243,.119),l(-.339,.06),l(-.188,-.227),l(-.327,.004),l(-.025,-.231),l(-.363,.045),l(-1.115,-.066),l(-.958,-.193),l(-.241,.107),l(-.787,-.121),l(-.136,.085),l(-.678,-.387),l(-.554,-.2),l(-.668,-.301),l(-.166,.015),l(1.047,-1.471),l(.653,.018),l(-.349,-.383),l(-.044,-.552),l(.082,-.306),l(1.509,-1.218),l(.599,-.398),l(.286,-.181),l(.429,-.013),l(.255,-.24),l(.009,-.314),l(-.328,-.302),l(.085,-.133),l(.298,-.048),l(-.316,-.193),l(-.816,-.835),l(.074,-.242),l(-.161,-.175),
-N(660.044,89.132),l(-.295,.31),l(-.687,1.207),l(-1.224,1.959),l(-.381,.58),l(.269,.836),l(.051,.029),l(.342,-.045),l(.929,-.395),l(.754,-.062),l(.576,-.018),l(.317,.085),l(.431,.416),l(.292,.07),l(1.191,-.786),l(.438,-.002),l(.928,.212),l(.538,.199),l(.797,.5),l(.879,.99),l(.599,.501),l(.048,.273),l(-.107,.217),l(-.414,.218),l(-.464,-.127),l(-1.074,-.008),l(-.432,-.099),l(-.854,.033),l(-.937,.221),l(-.539,.146),l(-.831,.278),l(-.353,.189),l(-.483,-.127),l(-.464,.045),l(-.47,.204),l(-.363,.333),l(-.312,.82),l(-.241,.216),l(-.347,.188),l(-.638,.248),l(-.896,.134),l(-.624,-.054),l(-.438,-.012),l(-.224,-.013),l(-1.192,.91),l(-.742,.433),l(-.744,.047),l(-.982,.005),l(-.592,-.125),l(-.668,-.382),l(-.718,-.154),l(-.316,.073),l(-.457,.231),l(-.539,.589),l(-.214,.401),l(.003,.343),l(.389,.569),l(.599,.411),l(.188,.228),l(-.123,.271),l(-.326,.259),l(-1.265,.292),l(-.67,.389),l(-1.111,1.046),l(-.265,.172),l(-1.941,.737),l(-.651,.061),l(-.987,-.08),l(-1.514,.065),l(-1.339,.007),l(-1.204,.349),l(-.816,.289),l(-.736,.274),l(-.303,.101),l(-1.44,.534),l(-.686,.289),l(-.481,.017),l(-.433,-.197),l(-.253,-.297),l(-.61,-.067),l(-.663,.061),l(-.929,-.123),l(-1.599,-.433),l(-1.006,-.365),l(-.815,-.551),l(-.521,-.168),l(-1.69,-.119),l(-1.164,-.022),l(-.937,-.023),l(-2.861,.059),l(-1.165,-.022),l(-.802,-.109),l(-1.241,-.207),l(-1.979,-.018),l(-.444,-.254),l(-.467,-.439),l(-1.571,-2.161),l(-.105,-.542),l(-.744,-.096),l(-.839,-.31),l(-1.645,-.806),l(-.632,-.268),l(-.998,-.224),l(-.668,-.083),l(-.995,-.038),l(-1.505,-.021),l(-1.062,-.181),l(-.724,-.312),l(-.233,-.229),l(-.105,-.43),l(.035,-.129),l(.369,-.347),l(.214,-.389),l(.237,-.75),l(.215,-.447),l(-.401,-.66),l(-1.07,-1.451),l(-.568,-.618),l(-.354,-.143),l(-.633,-.144),l(-.731,-.167),l(-.614,-.069),l(-.834,-.415),l(-1.301,-.745),l(-.371,-.433),l(-.24,-.563),l(-.131,-.405),l(-.062,-.145),l(.154,-.044),l(.799,-.425),l(.599,-.207),l(1.387,-.08),l(.603,-.148),l(.727,-.381),l(.017,-.012),l(.971,-.692),l(.787,-.398),l(1.143,-.341),l(1.512,-.476),l(.84,-.18),l(.953,.097),l(.932,.156),l(1.842,.122),l(.831,.083),l(.694,.755),l(.393,.406),l(.699,.113),l(1.458,-.008),l(.719,.083),l(.85,-.004),l(.875,.068),l(.312,.114),l(.576,.186),l(.562,-.018),l(.755,-.28),l(.31,-.162),l(.744,-.572),l(.163,-.526),l(-.116,-.204),l(-.396,-.304),l(-.409,-.86),l(.098,-.293),l(.905,-.839),l(1.269,-.96),l(.84,.201),l(1.028,.098),l(1.036,.185),l(1.748,.328),l(.702,.231),l(.989,.317),l(.767,.143),l(.145,.204),l(.004,.541),l(.182,.481),l(.408,.451),l(.421,.333),l(1.643,.531),l(.673,.113),l(2.48,-.538),l(.796,-.077),l(1.172,.037),l(1.423,.022),l(.769,.229),l(1.333,.75),l(.623,.331),l(1.132,.313),l(.812,.373),l(1.318,.254),l(.905,.241),l(.984,.082),l(.739,.039),l(1.602,-.11),l(1.018,-.063),l(.532,-.075),l(.867,-.106),l(1.147,-.136),l(.526,-.163),l(.604,-.264),l(.447,-.394),l(.755,-.498),l(1.165,-.487),l(.333,-.002),l(.609,-.047),l(.74,.156),l(.751,.506),l(.34,.129),l(.86,.169),l(1.228,-.297),l(.622,-.018),l(.431,.168),
-N(406.183,86.551),l(1.051,-.494),l(.485,-.089),l(.574,.087),l(.465,-.016),l(.209,-.147),l(.477,.098),l(.407,.042),l(.52,-.034),l(-.025,-.157),l(.307,.012),l(.307,0),l(.267,-.182),l(.313,.242),l(.173,-.121),l(.228,.061),l(.292,.375),l(.535,-.109),l(.754,.375),l(-.11,.423),l(-.172,.097),l(.001,.338),l(.672,-.024),l(.344,.177),l(.282,.365),l(.038,.468),l(-.422,.376),l(-.225,-.072),l(-.142,.08),l(-.245,.147),l(-.213,.322),l(.017,.327),l(.31,.204),l(-.136,.348),l(-.079,-.114),l(-.694,.174),l(-.127,-.228),l(-.371,-.204),l(-.341,-.192),l(-.529,-.048),l(.039,-.228),l(-.146,-.18),l(.119,-.373),l(-.245,.072),l(-.193,.313),l(-.446,.035),l(-.406,.075),l(-.285,-.122),l(.072,-.198),l(-.091,-.175),l(.159,-.241),l(-.375,-.168),l(-.576,-.048),l(-.259,.012),l(-.159,-.301),l(-.518,.012),l(-.194,-.133),l(-.202,-.458),l(-.153,-.17),l(-.41,.208),l(-.141,.071),l(-.266,-.127),l(-.311,-.335),l(-.208,-.447),
-N(438.22,91.952),l(.039,-.044),l(.065,-.105),l(.014,-.131),l(.092,-.066),l(.146,-.119),l(.026,-.04),l(.171,-.053),l(.093,-.026),l(.092,.053),l(.132,.053),l(.158,0),l(.065,-.026),l(.093,0),l(.065,.026),l(.065,.026),l(.093,-.026),l(.145,-.04),l(.132,0),l(.118,-.053),l(.079,-.053),l(.066,-.026),l(.105,-.026),l(.039,0),l(.053,-.079),l(.04,-.092),l(.079,-.079),l(.092,.026),l(.105,-.04),l(.145,-.066),l(.053,-.105),l(.053,-.079),l(.026,-.132),l(.026,-.092),l(.053,-.092),l(.118,-.013),l(.105,-.013),l(.132,-.079),l(.119,-.053),l(.118,-.092),l(.053,-.079),l(.132,-.066),l(.065,-.04),L(442,89.998),l(.145,.013),l(.105,.026),l(.066,-.04),l(.065,-.066),l(.071,.012),l(.285,.041),l(.03,.228),l(.43,-.048),l(.183,-.24),l(.193,.016),l(.062,-.112),l(.261,-.024),l(.194,.24),l(.073,.169),l(.331,-.025),l(.066,.18),l(-.026,.083),l(.003,.204),l(.389,-.083),l(.18,.12),l(.149,-.135),l(.104,-.177),l(.558,-.204),l(.168,.056),l(.483,-.046),l(.46,.254),l(.373,-.18),l(.073,-.137),l(.508,.041),l(.561,-.076),l(.129,.13),l(.703,.186),l(.104,.216),l(.424,.101),l(.831,.33),l(-1.047,1.471),l(-.629,.076),l(-.437,-.143),l(-.534,-.359),l(-1.062,.035),l(-.717,.047),l(-1.024,.759),L(444.857,93),l(-.59,-.072),l(-.499,.061),l(-.761,.134),l(-.255,.001),l(-.334,.568),l(-1.651,-.036),l(-.414,-.027),l(-.617,-.17),l(-.399,-.172),l(-.245,.146),l(-.761,-.547),l(-.155,-.26),l(.097,-.581),l(-.053,-.093),
-N(442.391,98.111),l(-.589,.203),l(-.433,.031),l(-.668,.047),l(-.58,-.098),l(-1.116,-.671),l(-1.412,-.612),l(-.215,-.197),l(-.364,-.333),l(-.304,-.59),l(.346,-.299),l(.154,-.294),l(-.204,-.188),l(.04,-.375),l(.409,-.062),l(.157,-.206),l(-.136,-.196),l(-.452,-.063),l(.223,-.197),l(.325,0),l(.164,.134),l(.701,-.054),l(.019,-.367),l(.636,-.291),l(.245,-.146),l(.399,.172),l(.617,.17),l(.414,.027),l(1.651,.036),l(.334,-.568),l(.255,-.001),l(.761,-.134),l(.499,-.061),l(.59,.072),l(.427,-.063),l(1.024,-.759),l(.717,-.047),l(1.062,-.035),l(.534,.359),l(.437,.143),l(.629,-.076),l(.166,-.015),l(.668,.301),l(.554,.2),l(.678,.387),l(-.45,.338),l(-1.125,.267),l(-.581,.408),l(-.968,1.451),l(-.63,.84),l(-.753,.567),l(-.361,.16),l(-.724,.047),l(-.264,.103),l(-.176,-.002),l(-.907,-.067),l(-.889,.077),l(-1.535,.529),
-N(459.717,92.836),l(.06,-.052),l(.126,-.114),l(.075,.063),l(.126,0),l(-.012,-.113),l(.088,-.101),l(.315,.114),l(.126,-.051),l(.265,.038),l(.202,0),l(.126,-.114),l(.062,-.038),l(.177,.025),l(.177,-.051),l(.139,-.025),l(.088,.025),l(.114,.051),l(.05,-.025),l(.126,-.025),l(.038,.013),l(.214,.088),l(.14,.126),l(.139,.05),l(.151,.013),l(.101,.063),l(.05,.063),l(.076,.076),l(.101,-.013),l(.126,.025),l(.177,-.038),l(.113,0),l(.025,.063),l(-.088,.101),l(-.038,.05),l(.101,-.038),l(.089,.025),l(0,.076),l(.062,.05),l(.076,-.101),l(.062,-.051),l(.277,-.012),l(.417,.075),l(.05,.189),l(.126,.189),l(.215,.025),l(.126,.025),l(.062,-.101),l(.14,.013),l(.062,.126),l(.076,.063),l(.113,.025),l(-.164,.151),l(.126,.063),l(-.051,.05),l(-.024,.114),l(0,.189),l(-.177,.139),l(.05,.139),l(.102,.139),l(.139,.025),l(.188,.101),l(.089,.101),l(.113,.088),l(.088,-.051),l(.102,-.05),l(.113,0),l(.038,.088),l(.025,.101),l(-.089,.075),l(.013,.189),l(-.113,.038),l(.062,.114),l(.127,-.038),l(.037,.051),l(-.037,.088),l(-.051,.151),l(.151,.038),l(.151,.063),l(.151,.126),l(.075,0),l(.177,.076),l(.101,.063),l(.051,.139),l(.013,.126),l(-.038,.101),l(.025,.113),l(-.101,.063),l(-.013,.038),l(.075,.05),l(.101,.051),l(.164,.126),l(.126,.013),l(-.075,.076),l(-.038,.025),l(-.227,0),l(-.139,-.013),l(-.038,.038),l(-.038,.038),l(-.176,-.025),l(.037,-.189),l(-.177,0),l(-.101,.025),l(-.013,.05),l(-.075,.076),l(-.076,.076),l(-.126,-.164),l(-.075,0),l(-.089,-.063),l(0,-.075),l(-.139,.012),l(-.075,.038),l(-.025,.076),l(-.063,-.051),l(-.101,-.038),l(.013,.063),l(0,.088),l(-.113,0),l(-.063,-.013),l(.013,-.214),l(-.013,-.088),l(-.113,-.025),l(-.126,.088),l(-.239,.025),l(-.202,.151),l(.063,.101),l(.088,.151),l(-.051,.101),l(.114,.113),l(.012,.088),l(-.037,.063),l(-.126,.114),l(.062,.088),l(.025,.088),l(-.075,.076),l(-.29,.063),l(-.14,.013),l(.013,.114),l(-.024,.126),l(-.089,.088),l(-.088,.063),l(-.089,.025),l(-.075,.013),l(-.051,.063),l(-.126,.063),l(-.025,.113),l(.063,.113),l(0,.088),l(-.088,.114),l(-.189,0),l(-.113,-.013),l(-.126,-.013),l(-.102,.025),l(-.055,.077),l(-.03,.004),l(-.062,-.237),l(-.218,-.106),l(.16,-.071),l(-.021,-.267),l(-.104,-.561),l(.323,-.978),l(.027,-.404),l(-.353,-.856),l(-.604,-.286),l(-1.037,-1.119),L(460.567,93),l(-.626,-.191),l(-.225,.028),
-N(445.722,97.573),l(.176,.002),l(.264,-.103),l(.724,-.047),l(.361,-.16),l(.753,-.567),l(.63,-.84),l(.968,-1.451),l(.581,-.408),l(1.125,-.267),l(.45,-.338),l(.136,-.085),l(.787,.121),l(.241,-.107),l(.958,.193),l(1.115,.066),l(.363,-.045),l(.025,.231),l(.327,-.004),l(.188,.227),l(.339,-.06),l(.243,-.119),l(.186,-.215),l(1.992,-.191),l(.278,-.178),l(.151,-.311),l(.634,-.08),l(.225,-.028),L(460.567,93),l(.767,1.17),l(1.037,1.119),l(.604,.286),l(.353,.856),l(-.027,.404),l(-.323,.978),l(.104,.561),l(.021,.267),l(-.16,.071),l(.218,.106),l(.062,.237),l(.03,-.004),l(.15,-.02),l(.119,.249),l(.398,.166),l(.609,.047),l(.033,-.189),l(.457,0),l(.665,-.261),l(.706,.131),l(.149,.079),l(.062,.259),l(-.293,.446),l(-.27,.316),l(-.436,.044),l(-.382,.043),l(-.382,.245),l(-.515,.617),l(-.252,.645),l(-.096,.787),l(-.044,.223),l(-.671,-.12),l(-1.346,-.336),l(-.514,-.226),l(-.295,-.042),l(-.671,-.369),l(-.562,-.04),l(-.618,.218),l(-1.904,.771),l(-.38,.059),l(-1.385,-.35),l(-.3,-.013),l(-.69,.261),l(-.34,.031),l(-1.151,-.395),l(-.506,-.002),l(-.771,.189),l(-.266,.023),l(-.048,-.189),l(.234,-.318),l(-.352,-.106),l(-.392,-.204),l(-.418,-.186),l(-.146,-.33),l(.32,-.201),l(.351,.012),l(-.114,-.13),l(-.625,-.248),l(-.253,.13),l(-.215,.283),l(-.147,.118),l(-.414,-.239),l(-.194,-.139),l(-.594,-.059),l(-.02,-.189),l(-.234,0),l(-.245,-.036),l(-.052,-.165),l(.178,-.094),l(.271,-.071),l(-.239,-.083),l(-.183,-.059),l(.124,-.146),l(.19,-.127),l(-.069,-.142),l(-.306,-.118),l(-.555,-.141),l(-.712,-.471),l(.058,-.088),l(-.104,-.119),l(.075,-.356),l(-.202,-.036),l(-.19,-.237),l(-.569,-.178),l(-.054,-.309),
-N(420.177,113.472),l(-.274,-.042),l(-.253,-.155),l(-.367,-.325),l(-.096,-.213),l(.202,-.738),l(.097,-.681),l(-.046,-.583),l(-.133,-.569),l(-.503,-.44),l(-.094,-.271),l(.181,-.157),l(.366,-.015),l(.801,-.001),l(.339,-.172),l(.861,-.543),l(.633,.625),l(.451,.754),l(-.014,.271),l(-.204,.285),l(-.145,.484),l(.149,.894),l(-.11,.525),l(-.377,.695),l(-.405,-.198),l(-.52,.03),l(-.143,.1),l(-.149,.27),l(-.248,.17),M(433.783,118.446),l(-.712,-.084),l(-.902,-.607),l(-.772,-.239),l(-1.904,-.817),l(-.833,-.126),l(-.232,-.127),l(-.173,-.283),l(.139,-.34),l(.328,-.34),l(.264,-.1),l(.629,.112),l(.569,-.341),l(.68,.424),l(.403,.141),l(.722,-.016),l(1.403,-.187),l(1.38,-.329),l(.148,.085),l(.043,.127),l(-.112,.127),l(-.536,.823),l(-.153,.497),l(.009,.382),l(.411,.509),l(-.179,.128),l(-.43,.567),l(-.188,.015),M(431.244,98.829),l(-.281,-.329),l(-.242,-.027),l(-.281,.196),l(-.156,-.125),l(-.47,-.071),l(-.114,.32),l(-.458,.054),l(-1.001,.364),l(.078,-.151),l(-.452,.133),l(-.063,.249),l(-.157,.044),l(-.01,.125),l(.303,.08),l(.021,.302),l(.193,.119),l(.253,.236),l(-.104,.213),l(-.449,.254),l(.016,.272),l(.143,.554),l(.783,.814),l(2.008,.889),l(.29,.357),l(.134,.558),l(.274,.557),l(.395,.585),l(.694,.57),l(.254,.274),l(.446,.195),l(.041,.21),l(.408,.167),l(1.17,.255),l(1.254,-.105),l(.388,.141),l(.024,.212),l(-.465,.247),l(-.258,.294),l(.262,.213),l(.954,.283),l(1.168,.411),l(.829,.366),l(1.589,.739),l(.058,.185),l(.719,.458),l(.31,.475),l(-.198,.435),l(-.152,.337),l(-.455,-.281),l(-.318,-.167),l(-.109,-.486),l(-.263,-.17),l(-.512,-.099),l(-.483,-.009),l(-.439,-.236),l(.086,-.217),l(-.353,-.065),l(-.301,.098),l(-.232,.262),l(-.259,.399),l(-.273,.208),l(.043,.271),l(-.197,.303),l(-.007,.298),l(.76,.342),l(.611,.271),l(-.093,.314),l(.03,.432),l(.133,.142),l(-.191,.238),l(-.659,-.024),l(-.41,.219),l(-.202,.228),l(.11,.595),l(-.536,.303),l(-.617,.866),l(-.595,.048),l(-.167,-.071),l(-.184,-.14),l(-.002,-.508),l(.364,-.141),l(.317,-.542),l(-.236,-.184),l(.361,-.249),l(.361,.074),l(.133,-.17),l(-.077,-.34),l(-.211,-.181),l(-.206,-.924),l(-.367,-.516),l(-.15,-.607),l(-.201,-.352),l(-.334,.058),l(-.187,.171),l(-.899,-.496),l(-.286,-.065),l(.208,-.291),l(-.092,-.398),l(-.461,-.34),l(-.909,.247),l(.034,-.109),l(.322,-.194),l(-.276,-.27),l(-.29,-.003),l(-.42,.19),l(-.242,-.512),l(-.198,-.207),l(-.124,-.228),l(-.663,-.241),l(-.505,-.027),l(-.654,-.127),l(-.745,-.355),l(-.548,-.441),l(-.959,-.612),l(-1.036,-.826),l(-.872,-.384),l(-.805,-.67),l(-.566,-.856),l(-.434,-1.043),l(-.347,-.443),l(-.505,-.457),l(-.483,-.243),l(-1.188,-.341),l(-.579,-.142),l(-.5,.044),l(-1.078,.647),l(-.46,.359),l(-.646,.173),l(-.303,.043),l(.146,-.469),l(-.062,-.281),l(-.849,.07),l(-.754,-.391),l(-.193,-.442),l(.315,-.371),l(.175,-.01),l(-.135,-.331),l(-.616,-.191),l(-.352,-.358),l(.437,-.186),l(.183,.111),l(.541,-.353),l(.199,-.272),l(-.43,-.192),l(-.025,-.292),l(-.532,-.344),l(.624,-.301),l(.599,.062),l(.627,-.204),l(.629,.168),l(.275,-.16),l(.349,-.432),l(-.103,-.212),l(.777,-.404),l(.016,.415),l(.534,.363),l(.311,.071),l(-.098,.182),l(.385,.312),l(.285,-.151),l(.018,-.535),l(.425,-.384),l(-.019,-.333),l(.371,-.081),l(.143,.354),l(.23,.142),l(.216,-.03),l(.071,-.122),l(.469,-.05),l(.244,.333),l(.228,-.415),l(-.244,-.131),l(.081,-.273),l(.283,-.091),l(.176,.162),l(.315,.051),l(.038,-.192),l(-.112,-.212),l(.126,-.309),l(.631,.171),l(.597,.034),l(.329,-.411),l(.366,-.096),l(.183,.083),l(.445,-.11),l(.301,.103),l(.856,-.227),l(.023,.363),l(.318,.096),l(.32,.391),l(1.311,.247),l(.894,.082),l(.478,.112),l(.116,.199),l(-.614,.303),l(.098,.151),l(.297,.002),l(.187,.185),l(-.367,.285),l(.336,.089),l(-.127,.361),l(.36,.11),l(.284,.198),l(-.056,.214),
-N(430.73,96.731),l(1.04,.065),l(.179,.107),l(.612,-.009),l(.287,.152),l(.646,-.5),l(.566,-.107),l(.85,.08),l(.298,-.196),l(.89,.116),l(-.082,-.393),l(.693,-.157),l(.304,.59),l(.364,.333),l(-.035,-.009),l(-.1,-.073),l(-.145,-.036),l(-.172,0),l(-.145,.009),l(-.055,.063),l(0,.072),l(.019,.09),l(.009,.082),l(-.063,.009),l(-.136,-.009),l(-.108,-.036),l(-.091,.063),l(-.045,.082),l(-.081,.063),l(-.082,.045),l(-.081,.009),l(-.163,.036),l(-.117,.036),l(-.108,.036),l(-.055,.045),l(-.153,-.009),l(-.127,.072),l(-.063,.054),l(-.018,.082),l(.036,.072),l(.081,.054),l(.063,.055),l(.045,.045),l(.019,.063),l(.018,.09),l(-.036,.108),l(-.018,.063),l(-.046,.1),l(-.108,0),l(-.081,-.009),l(-.091,.027),l(-.108,.009),l(-.117,.054),l(-.091,.018),l(-.081,.027),l(-.1,.045),l(-.055,.063),l(-.036,.027),l(.055,.018),l(.063,.009),l(.026,.027),l(.037,.072),l(-.046,.063),l(-.027,.009),l(-.081,.027),l(-.009,.045),l(.045,.081),l(0,.072),l(.045,.1),l(-.054,.072),l(-.063,-.018),l(-.1,.045),l(-.117,.018),l(-.127,-.036),l(-.063,-.027),l(-.1,-.063),l(-.099,0),l(-.063,-.027),l(-.118,-.045),l(-.018,.045),l(-.027,.045),l(-.1,.027),l(-.136,0),l(-.054,-.045),l(-.072,-.063),l(-.127,-.018),l(-.019,-.09),l(-.026,-.018),l(-.063,-.054),l(-.055,-.027),l(-.018,-.054),l(-.01,-.054),l(-.036,-.009),l(-.063,.018),l(-.036,.054),l(-.009,.027),l(-.054,.063),l(-.019,.018),l(-.018,.081),l(-.063,.045),l(-.046,.018),l(-.062,.054),l(-.036,.009),l(-.254,0),l(-.108,-.027),l(-.108,.027),l(-.145,.009),l(-.1,-.009),l(-.1,-.036),l(-.045,-.019),l(-.055,0),l(0,.037),l(0,.036),l(-.045,.027),l(-.045,.018),l(-.136,-.009),l(-.027,-.036),l(-.108,.018),l(-.019,.018),l(-.136,.018),l(-.063,.018),l(-.126,.018),l(-.272,-.063),l(.428,-.077),l(.113,-.16),l(.056,-.214),l(-.284,-.198),l(-.36,-.11),l(.127,-.361),l(-.336,-.089),l(.367,-.285),l(-.187,-.185),l(-.297,-.002),l(-.098,-.151),l(.614,-.303),l(-.116,-.199),
-N(439.573,104.709),l(-1.051,-.672),l(-.185,-.222),l(-.783,-.149),l(-.203,-.159),l(-.403,-.115),l(-.683,.177),l(-.326,-.486),l(-1.112,-.627),l(-.584,-.678),l(.277,.007),l(.608,.016),l(-.583,-.221),l(-.659,-.469),l(-.183,-.407),l(.086,-.452),l(-.289,-.336),l(-.646,-.418),l(-.378,-.126),l(-.258,.579),l(-.142,.116),l(.03,.15),l(-.284,.106),l(-.154,.248),l(-.213,.053),l(-.496,-.647),l(-.063,-.286),l(-.259,-.612),l(.065,-.012),l(.272,.063),l(.126,-.018),l(.063,-.018),l(.136,-.018),l(.019,-.018),l(.108,-.018),l(.027,.036),l(.136,.009),l(.045,-.018),l(.045,-.027),l(0,-.036),l(0,-.037),l(.055,0),l(.045,.019),l(.1,.036),l(.1,.009),l(.145,-.009),l(.108,-.027),l(.108,.027),l(.254,0),l(.036,-.009),l(.062,-.054),l(.046,-.018),l(.063,-.045),l(.018,-.081),l(.019,-.018),l(.054,-.063),l(.009,-.027),l(.036,-.054),l(.063,-.018),l(.036,.009),l(.01,.054),l(.018,.054),l(.055,.027),l(.063,.054),l(.026,.018),l(.019,.09),l(.127,.018),l(.072,.063),l(.054,.045),l(.136,0),l(.1,-.027),l(.027,-.045),l(.018,-.045),l(.118,.045),l(.063,.027),l(.099,0),l(.1,.063),l(.063,.027),l(.127,.036),l(.117,-.018),l(.1,-.045),l(.063,.018),l(.054,-.072),l(-.045,-.1),l(0,-.072),l(-.045,-.081),l(.009,-.045),l(.081,-.027),l(.027,-.009),l(.046,-.063),l(-.037,-.072),l(-.026,-.027),l(-.063,-.009),l(-.055,-.018),l(.036,-.027),l(.055,-.063),l(.1,-.045),l(.081,-.027),l(.091,-.018),l(.117,-.054),l(.108,-.009),l(.091,-.027),l(.081,.009),l(.108,0),l(.046,-.1),l(.018,-.063),l(.036,-.108),l(-.018,-.09),l(-.019,-.063),l(-.045,-.045),l(-.063,-.055),l(-.081,-.054),l(-.036,-.072),l(.018,-.082),l(.063,-.054),l(.127,-.072),l(.153,.009),l(.055,-.045),l(.108,-.036),l(.117,-.036),l(.163,-.036),l(.081,-.009),l(.082,-.045),l(.081,-.063),l(.045,-.082),l(.091,-.063),l(.108,.036),l(.136,.009),l(.063,-.009),l(-.009,-.082),l(-.019,-.09),l(0,-.072),l(.055,-.063),l(.145,-.009),l(.172,0),l(.145,.036),l(.1,.073),l(.035,.009),l(.215,.197),l(1.412,.612),l(1.116,.671),l(.58,.098),l(.668,-.047),l(.433,-.031),l(.589,-.203),l(.201,.142),l(.056,.089),l(.022,.112),l(-.022,.078),l(.045,.044),l(.011,.067),l(-.078,.056),l(-.011,.146),l(.078,.067),l(.145,-.034),l(.101,.034),l(.045,.089),l(-.078,.011),l(-.056,-.022),l(-.022,.078),l(.033,.1),l(-.045,.034),l(-.044,.022),l(.066,.111),l(.168,-.022),l(.033,.078),l(.123,.1),l(.122,0),l(.101,0),l(.09,.078),l(.122,.011),l(.134,0),l(.012,.078),l(-.033,.056),l(-.135,-.011),l(-.089,-.034),l(-.067,.022),l(-.078,-.011),l(-.066,-.045),l(-.056,-.011),l(-.045,.011),l(.033,.067),l(-.101,.089),l(-.078,0),l(0,.156),l(.045,.067),l(-.033,.078),l(.022,.078),l(.011,.078),l(-.089,.033),l(-.09,-.033),l(-.056,.067),l(.078,.089),l(-.078,.011),l(-.189,.022),l(-.201,-.022),l(-.145,-.123),l(.056,-.101),l(-.045,-.089),l(-.123,-.011),l(-.022,-.112),l(-.145,-.056),l(-.146,-.045),l(-.101,.089),l(-.1,-.011),l(-.156,-.078),l(-.067,-.022),l(-.146,0),l(-.156,-.045),l(-.111,.067),l(-.134,.045),l(-.134,-.045),l(-.111,-.067),l(-.112,0),l(-.122,.089),l(-.168,.078),l(-.156,-.067),l(-.268,-.089),l(-.179,.011),l(-.156,.011),l(-.189,-.056),l(-.168,-.011),l(-.156,-.089),l(-.089,.078),l(-.111,.022),l(-.057,-.056),l(-.234,-.078),l(-.156,-.056),l(-.134,-.045),l(-.089,-.011),l(-.134,.123),l(-.112,-.011),l(-.223,-.022),l(-.168,-.033),l(-.212,.022),l(-.101,.111),l(-.145,.145),l(-.123,.201),l(-.201,-.022),l(-.256,-.134),l(-.156,-.19),l(-.101,-.111),l(-.312,-.034),l(-.123,.044),l(-.089,.179),l(-.045,.167),l(.045,.134),l(0,.078),l(.033,.212),l(-.123,.067),l(.022,.089),l(.134,.078),l(.09,.089),l(.122,.034),l(.101,.033),l(.179,.179),l(.146,.234),l(.089,.134),l(.022,.123),l(.156,.111),l(-.078,.056),l(-.012,.1),l(.022,.146),l(.168,-.011),l(.089,.111),l(.056,.123),l(.112,.111),l(.167,.045),l(.167,.033),l(.369,.357),l(.021,.167),l(.078,.044),l(.213,.078),l(.379,.357),l(.224,.123),l(.223,.067),l(.101,.056),l(0,.112),l(.078,.279),l(.201,.078),l(.189,.167),l(.146,.112),l(.245,.123),l(.067,.212),l(-.284,.083),M(439.792,104.833),l(.132,-.118),l(.134,.011),l(.123,.034),l(.045,.078),l(.066,.089),l(.146,.089),l(.179,.078),l(.212,.011),l(.312,.257),l(.045,.067),l(.134,-.033),l(.123,.022),l(.089,.034),l(.062,.063),l(.005,.004),l(-.022,.089),l(.033,.078),l(.082,.072),l(.029,.092),l(-.002,.1),l(-.589,-.367),l(-.549,-.371),l(-.789,-.378),
-N(451.009,101.725),l(-.328,.346),l(-.383,.374),l(-.18,.302),l(.056,.271),l(1.326,1.122),l(.028,.2),l(-.302,.302),l(-.762,.333),l(-.246,.301),l(-.008,.514),l(-.013,.208),l(-.058,-.017),l(-.072,.029),l(-.16,.022),l(-.145,.021),l(-.116,.022),l(-.058,.015),l(-.102,-.051),l(-.087,.043),l(-.088,.021),l(-.102,-.043),l(-.064,-.021),l(-.131,.116),l(-.087,.08),l(-.152,-.015),l(-.196,-.007),l(-.064,.007),l(-.175,-.043),l(-.152,.087),l(-.151,.102),l(-.109,.058),l(.059,.072),l(-.029,.058),l(-.116,0),l(-.094,-.109),l(-.131,-.058),l(-.087,-.073),l(-.08,.065),l(-.116,.058),l(-.246,.058),l(-.225,.058),l(-.088,.058),l(-.058,.167),l(.029,.13),l(-.029,.072),l(-.072,.087),l(-.188,0),l(-.14,-.049),l(-.018,-.109),l(-.733,-.866),l(-.382,-.369),l(-.058,-.004),l(.109,-.286),l(0,-.067),l(-.078,-.067),l(-.101,0),l(-.056,-.056),l(.022,-.089),l(.111,-.033),l(.146,.011),l(.167,.033),l(.057,-.033),l(.021,-.067),l(.09,-.044),l(.134,-.022),l(.089,-.011),l(-.011,-.089),l(-.101,-.101),l(-.167,-.067),l(-.134,-.045),l(-.057,-.044),l(-.111,.022),l(-.078,-.045),l(-.033,-.067),l(-.123,-.101),l(-.078,-.1),l(-.066,-.022),l(-.067,.044),l(-.078,-.011),l(-.101,-.056),l(-.279,-.078),l(-.078,-.022),l(-.056,-.033),l(-.167,-.134),l(-.101,-.146),l(-.111,-.111),l(-.168,-.078),l(-.156,-.101),l(-.223,-.056),l(0,-.101),l(.179,-.101),l(.089,-.111),l(.078,-.011),l(.067,.034),l(.078,.044),l(.1,.022),l(.045,-.022),l(.012,-.134),l(.011,-.19),l(-.134,-.145),l(-.179,-.19),l(-.212,-.134),l(-.101,-.145),l(.101,.022),l(.101,.011),l(.145,.056),l(.224,.044),l(.134,-.078),l(.089,-.056),l(.067,-.078),l(-.089,-.044),l(-.135,-.022),l(-.089,-.089),l(-.123,-.078),l(-.156,-.089),l(-.033,-.101),l(-.045,-.1),l(-.212,.011),l(-.167,-.056),l(-.078,-.1),l(-.022,-.134),l(.078,-.067),l(0,-.089),l(-.033,-.1),l(.056,-.056),l(.066,-.078),l(.156,-.156),l(.156,-.223),l(.034,-.167),l(.056,-.1),l(-.022,-.067),l(-.123,-.022),l(-.179,-.011),l(-.156,0),l(-.212,.112),l(-.078,-.089),l(.056,-.067),l(.09,.033),l(.089,-.033),l(-.011,-.078),l(-.022,-.078),l(.033,-.078),l(-.045,-.067),l(0,-.156),l(.078,0),l(.101,-.089),l(-.033,-.067),l(.045,-.011),l(.056,.011),l(.066,.045),l(.078,.011),l(.067,-.022),l(.089,.034),l(.135,.011),l(.033,-.056),l(-.012,-.078),l(-.134,0),l(-.122,-.011),l(-.09,-.078),l(-.101,0),l(-.122,0),l(-.123,-.1),l(-.033,-.078),l(-.168,.022),l(-.066,-.111),l(.044,-.022),l(.045,-.034),l(-.033,-.1),l(.022,-.078),l(.056,.022),l(.078,-.011),l(-.045,-.089),l(-.101,-.034),l(-.145,.034),l(-.078,-.067),l(.011,-.146),l(.078,-.056),l(-.011,-.067),l(-.045,-.044),l(.022,-.078),l(-.022,-.112),l(-.056,-.089),l(-.201,-.142),l(1.535,-.529),l(.889,-.077),l(.907,.067),l(.054,.309),l(.569,.178),l(.19,.237),l(.202,.036),l(-.075,.356),l(.104,.119),l(-.058,.088),l(.712,.471),l(.555,.141),l(.306,.118),l(.069,.142),l(-.19,.127),l(-.124,.146),l(.183,.059),l(.239,.083),l(-.271,.071),l(-.178,.094),l(.052,.165),l(.245,.036),l(.234,0),l(.02,.189),l(.594,.059),l(.194,.139),l(.414,.239),l(.147,-.118),l(.215,-.283),l(.253,-.13),l(.625,.248),l(.114,.13),l(-.351,-.012),l(-.32,.201),l(.146,.33),l(.418,.186),
-N(551.198,117.997),l(-.351,-.48),l(-.236,-.126),l(-1.217,-.05),l(-.646,-.011),l(-.096,-.016),l(.091,-.726),l(-.062,-.503),l(.157,-.251),l(.062,-.22),l(-.503,-.094),l(-.534,-.283),l(-.566,-.189),l(-.471,.063),l(-.378,-.251),l(-1.132,-.597),l(-.565,-.22),l(-.943,-.597),l(-.314,.063),l(-1.006,-.503),l(-.377,-.44),l(-1.194,-.597),l(-1.384,-.975),l(0,-.283),l(-.188,-.44),l(-.283,-.188),l(-.408,-.597),l(-.126,-.566),l(-.22,-.377),l(-.881,-.251),l(-.188,.157),l(-.439,.063),l(-.535,-.126),l(-.439,.032),l(-.503,.094),l(-.314,-.157),l(-.691,-.314),l(.094,-.22),l(.157,-.188),l(-.188,-.22),l(.031,-.188),l(.188,-.157),l(-.439,-.283),l(0,-.22),l(-.032,-.22),l(-.251,-.22),l(-.534,-.094),l(-.692,-.095),l(-.22,-.314),l(-.346,-.032),l(-.629,-.377),l(-.472,-.095),l(-.188,.063),l(-.565,.157),l(.251,.251),l(.188,.377),l(-.597,-.283),l(-.283,0),l(-.126,.126),l(-.22,.346),l(-.283,.126),l(-.629,0),l(-.503,.251),l(-.503,.409),l(-.062,.628),l(.314,.409),l(-.126,.314),l(-1.383,.032),l(-1.03,-.063),l(.056,-8.174),l(5.658,-1.289),l(5.722,2.986),l(2.012,1.666),l(2.578,-.346),l(2.767,.188),l(1.1,-.409),l(.724,.723),l(.597,.22),l(.66,1.006),l(.66,-.314),l(-.031,1.038),l(-.188,.409),l(.031,.754),l(1.006,0),l(.221,.817),l(.346,1.069),l(.503,.063),l(.691,-.032),l(1.006,-.094),l(.346,0),l(.44,.314),l(.062,.283),l(-.062,.283),l(.44,.346),l(.66,0),l(.125,-.188),l(-.157,-.409),l(.504,-.44),l(.439,-.188),l(.221,-.472),l(.282,-.188),l(.943,-.377),l(.755,-.189),l(.534,-.471),l(.346,-.283),l(.22,-.063),l(.283,.126),l(.377,-.377),l(.322,-.031),l(.349,-.126),l(.441,.246),l(-.368,.172),l(-.368,.171),l(-.221,.049),l(-.073,.196),l(-.295,.049),l(-.294,.172),l(-.196,.147),l(-.441,.295),l(-.172,.098),l(-.024,.123),l(.294,.049),l(.295,.074),l(.146,.123),l(.418,-.147),l(.098,.221),l(.172,.221),l(.368,.27),l(.589,0),l(.393,0),l(.049,-.393),l(.221,.049),l(.196,-.196),l(.024,-.245),l(.196,.098),l(.196,.172),l(.172,.294),l(.049,.147),l(.393,.024),l(.147,-.024),l(.073,.246),l(.025,.098),l(.343,-.025),l(.319,.147),l(.245,.196),l(.516,.074),l(.466,.024),l(.172,.123),l(-.49,.221),l(-.197,.147),l(-.221,.147),l(-.49,-.024),l(-.245,-.049),l(.049,.171),l(0,.147),l(-.319,0),l(-.172,.049),l(-.343,.196),l(-.221,.196),l(-.271,.049),l(-.221,.196),l(-.245,-.147),l(-.319,-.098),l(-.294,-.098),l(-.221,.025),l(-.246,.073),l(-.318,-.073),l(-.042,.098),l(-.345,-.005),l(-.409,.031),l(-.188,-.283),l(-.251,-.063),l(-.126,-.188),l(.251,-.126),l(.409,-.346),l(.188,-.22),l(-.252,-.251),l(-.439,-.377),l(-.221,.251),l(-.471,.346),l(-.692,.188),l(-.22,.157),l(-.252,-.22),l(-.22,-.157),l(-.346,0),l(.031,.22),l(-.283,.314),l(.189,.314),l(-.032,.346),l(-.062,.126),l(-.472,-.095),l(-.565,.095),l(-.503,.094),l(.251,.125),l(.534,-.031),l(.126,.094),l(-.251,.063),l(-.188,.063),l(-.032,.346),l(-.188,0),l(-.251,.157),l(-.063,.409),l(-.282,.188),l(-1.069,-.094),l(-.629,-.126),l(-.472,.283),l(-.125,.471),l(.251,.283),l(.346,.188),l(.157,.157),l(.44,.032),l(.346,0),l(.126,.22),l(-.126,.22),l(-.031,.472),l(.126,.409),l(.471,.314),l(.126,.283),l(-.157,.22),l(-.503,.346),l(-.283,.503),l(-.377,.377),l(.063,.377),l(-.375,.843),
-N(439.792,104.833),l(-.113,-.054),l(-.105,-.07),l(.284,-.083),l(-.067,-.212),l(-.245,-.123),l(-.146,-.112),l(-.189,-.167),l(-.201,-.078),l(-.078,-.279),l(0,-.112),l(-.101,-.056),l(-.223,-.067),l(-.224,-.123),l(-.379,-.357),l(-.213,-.078),l(-.078,-.044),l(-.021,-.167),l(-.369,-.357),l(-.167,-.033),l(-.167,-.045),l(-.112,-.111),l(-.056,-.123),l(-.089,-.111),l(-.168,.011),l(-.022,-.146),l(.012,-.1),l(.078,-.056),l(-.156,-.111),l(-.022,-.123),l(-.089,-.134),l(-.146,-.234),l(-.179,-.179),l(-.101,-.033),l(-.122,-.034),l(-.09,-.089),l(-.134,-.078),l(-.022,-.089),l(.123,-.067),l(-.033,-.212),l(0,-.078),l(-.045,-.134),l(.045,-.167),l(.089,-.179),l(.123,-.044),l(.312,.034),l(.101,.111),l(.156,.19),l(.256,.134),l(.201,.022),l(.123,-.201),l(.145,-.145),l(.101,-.111),l(.212,-.022),l(.168,.033),l(.223,.022),l(.112,.011),l(.134,-.123),l(.089,.011),l(.134,.045),l(.156,.056),l(.234,.078),l(.057,.056),l(.111,-.022),l(.089,-.078),l(.156,.089),l(.168,.011),l(.189,.056),l(.156,-.011),l(.179,-.011),l(.268,.089),l(.156,.067),l(.168,-.078),l(.122,-.089),l(.112,0),l(.111,.067),l(.134,.045),l(.134,-.045),l(.111,-.067),l(.156,.045),l(.146,0),l(.067,.022),l(.156,.078),l(.1,.011),l(.101,-.089),l(.146,.045),l(.145,.056),l(.022,.112),l(.123,.011),l(.045,.089),l(-.056,.101),l(.145,.123),l(.201,.022),l(.189,-.022),l(.078,-.011),l(.212,-.112),l(.156,0),l(.179,.011),l(.123,.022),l(.022,.067),l(-.056,.1),l(-.034,.167),l(-.156,.223),l(-.156,.156),l(-.066,.078),l(-.056,.056),l(.033,.1),l(0,.089),l(-.078,.067),l(.022,.134),l(.078,.1),l(.167,.056),l(.212,-.011),l(.045,.1),l(.033,.101),l(.156,.089),l(.123,.078),l(.089,.089),l(.135,.022),l(.089,.044),l(-.067,.078),l(-.089,.056),l(-.134,.078),l(-.224,-.044),l(-.145,-.056),l(-.101,-.011),l(-.101,-.022),l(.101,.145),l(.212,.134),l(.179,.19),l(.134,.145),l(-.011,.19),l(-.012,.134),l(-.045,.022),l(-.1,-.022),l(-.078,-.044),l(-.067,-.034),l(-.078,.011),l(-.089,.111),l(-.179,.101),l(-.056,-.033),l(-.156,.056),l(-.112,-.022),l(-.066,-.044),l(-.112,.033),l(-.078,.056),l(.012,.078),l(.089,.1),l(.123,.167),l(.056,.101),l(-.056,.101),l(-.111,0),l(-.09,-.056),l(-.056,-.089),l(-.056,-.044),l(-.123,-.011),l(-.122,.056),l(-.168,.078),l(-.045,.101),l(-.044,.089),l(-.112,.101),l(.034,.089),l(.011,.1),L(442,104.458),l(-.134,.011),l(-.111,.022),l(-.101,.089),l(-.012,.134),l(.012,.112),l(.011,.145),l(.012,.044),l(.066,.112),l(.078,.089),l(.045,.101),l(-.09,.089),l(-.183,.108),l(-.062,-.063),l(-.089,-.034),l(-.123,-.022),l(-.134,.033),l(-.045,-.067),l(-.312,-.257),l(-.212,-.011),l(-.179,-.078),l(-.146,-.089),l(-.066,-.089),l(-.045,-.078),l(-.123,-.034),l(-.134,-.011),l(-.132,.118),
-N(450.198,105.998),l(.013,-.208),l(.008,-.514),l(.246,-.301),l(.762,-.333),l(.302,-.302),l(-.028,-.2),l(-1.326,-1.122),l(-.056,-.271),l(.18,-.302),l(.383,-.374),l(.328,-.346),l(.392,.204),l(.352,.106),l(-.234,.318),l(.048,.189),l(.266,-.023),l(.771,-.189),l(.506,.002),l(1.151,.395),l(.34,-.031),l(.69,-.261),l(.3,.013),l(1.385,.35),l(.38,-.059),l(1.904,-.771),l(.618,-.218),l(.562,.04),l(.671,.369),l(.295,.042),l(.514,.226),l(1.346,.336),l(.671,.12),l(-.066,.335),l(-.077,.258),l(-.261,.086),l(-.313,-.028),l(-.339,.129),l(-.327,.73),l(-.039,.586),l(-.075,.143),l(-.404,.115),l(-.338,.372),l(-.017,.257),l(.252,-.036),l(.255,.224),l(.033,.154),l(.391,.375),l(.01,.223),l(-1.333,-.005),l(-.527,-.111),l(-.497,.045),l(-.629,.374),l(-.498,.445),l(-.363,-.026),l(-.344,.216),l(.097,.327),l(-.086,.257),l(-1.117,.277),l(-.388,.031),l(-.619,-.21),l(-1.473,-.505),l(-.584,.06),l(-.799,.261),l(-1.855,.195),l(-.09,.029),l(-.047,-.199),l(.104,-.3),l(.006,-.499),l(-.225,-.469),l(-.358,-.383),l(-.666,-.296),l(-.134,-.213),l(.007,-.106),
-N(381.009,107),l(-.121,-.278),l(.138,-.4),l(.343,-.5),l(-.358,-.471),l(-.304,-.428),l(-.514,-.07),l(-.164,-.1),l(-.053,-.329),l(.163,-.243),l(.409,-.272),l(.365,-.101),l(.563,-.03),l(.634,-.03),l(.133,-.172),l(.068,-.415),l(.535,-.273),l(.763,.042),l(1.078,.37),l(.763,.07),l(.756,-.087),l(.577,-.173),l(.508,-.144),l(.354,-.001),l(.629,.285),l(.694,.156),l(.939,.084),l(1.538,.04),l(.583,.027),l(.957,.141),l(.491,-.158),l(.419,-.229),l(.531,.027),l(.891,.47),l(.67,-.016),l(.335,.062),l(.472,.243),l(.469,-.03),l(.058,.122),l(-.205,.243),l(.094,.106),l(.15,.03),l(.112,-.106),l(1.088,.334),l(.15,-.061),l(.507,.395),l(.056,-.076),l(.262,.03),l(.131,-.076),l(.431,.152),l(.028,.038),l(.084,.114),l(.767,-.03),l(.037,.122),l(.337,-.061),l(.542,.015),l(-.017,-.319),l(.355,0),l(1.252,.304),l(.091,.213),l(.035,.289),l(.187,.076),l(.374,-.076),l(.206,-.03),l(.335,.091),l(.036,.152),l(.261,.015),l(.395,-.167),l(.427,.197),l(.485,.015),l(.039,-.136),l(.75,-.137),l(.334,.091),l(-.001,.088),l(-.001,.463),l(.156,.1),l(-.062,.485),l(-1.112,.528),l(-.95,.385),l(-.267,.328),l(-1.046,.198),l(-.664,.116),l(-.96,.301),l(-.323,.326),l(-.053,.2),l(.261,.128),l(-.088,.157),l(-.628,.143),l(-.594,.783),l(-.886,.787),l(-.096,.192),l(-.18,.361),l(-.245,.45),l(.353,.827),l(.072,.111),l(.084,.13),l(.648,.295),l(.103,.185),l(-.621,.327),l(-.215,.105),l(-.515,.252),l(-.286,.479),l(-.224,.085),l(-.461,.926),l(.155,.322),l(-.257,.099),l(-.992,.049),l(-.581,.242),l(-.425,.327),l(-.274,.757),l(-.663,.496),l(-.258,-.213),l(-.599,.028),l(-.305,.27),l(-.342,0),l(-.121,-.113),l(-3.282,.042),l(-.69,.524),l(-1.021,.17),l(-.35,.382),l(-.028,.283),l(-.083,.085),l(-.073,-.212),l(-.068,-.014),l(.005,.241),l(-.389,.127),l(-.421,-.142),l(-.788,-.467),l(-.224,-.382),l(.036,-.262),l(-.345,-.113),l(-.125,-.213),l(.175,-.163),l(-.468,-.51),l(-.702,-.284),L(385,117.498),l(-.484,-.135),l(-.586,.039),l(.008,-.018),l(.304,-.951),l(.242,-.37),l(.884,-.643),l(-.408,-.31),l(-.812,-.123),l(.17,-.455),l(.506,-.655),l(.347,-.371),l(-.163,-.198),l(-.455,-.551),l(-.488,-.494),l(.288,-.129),l(.482,-.045),l(.458,-.229),l(.043,-.199),l(-.057,-.938),l(.132,-.983),l(-.072,-.456),l(.051,-.442),l(.084,-.072),l(1.234,-.506),l(.288,-.216),l(-.062,-.242),l(-.842,-.495),l(-.15,-.242),l(-.272,-.227),l(-.335,-.055),l(-.531,.26),L(382.981,107),l(-.531,-.439),l(-.55,.188),L(381.009,107),
-N(489.685,103.693),l(.112,-.309),l(.26,-.166),l(.284,.047),l(.07,.047),l(.402,.023),l(.449,.023),l(.283,.095),l(.284,.142),l(.188,.094),l(.189,.047),l(.331,0),l(.213,0),l(.212,.166),l(.261,.095),l(.307,.071),l(.355,.047),l(.307,0),l(.426,-.095),l(.544,0),l(.401,.166),l(.189,0),l(.283,-.047),l(.354,.166),l(.095,.142),l(.284,.213),l(.52,.118),l(.354,.071),l(.236,.118),l(.308,.119),l(-.142,.118),l(-.048,.118),l(.261,.118),l(.212,.071),l(.261,-.118),l(.283,0),l(.166,-.166),l(.094,-.095),l(.213,-.071),l(.354,0),l(.261,.071),l(.188,.142),l(.142,-.166),l(.095,-.071),l(.118,0),l(.236,.118),l(.143,.094),l(.212,0),l(.189,.118),l(.213,.166),l(.378,0),l(.354,.024),l(.118,.142),l(-.118,.189),l(-.118,.307),l(.354,.284),l(.284,.166),l(.26,.094),l(.284,.047),l(.236,-.023),l(.236,.071),l(.126,.189),l(-.268,.189),l(-.143,.142),l(-.095,.071),l(.143,.26),l(.213,.307),l(.614,.166),l(.118,.213),l(-.095,.331),l(-.236,.095),l(-.236,.047),l(-.26,-.189),l(-.143,-.071),l(-.188,-.023),l(-.284,.047),l(-.638,-.189),l(-.189,-.213),l(-.331,-.189),l(-.473,-.024),l(-.236,0),l(-.418,.308),l(-.291,.094),l(-.378,.047),l(-.591,.095),l(-.592,-.047),l(-.401,.118),l(-.426,.023),l(-.308,.095),l(-.307,-.024),l(-.377,.108),l(-.031,-.028),l(-1.326,-1.018),l(-.41,-.041),l(-.761,.36),l(-.226,.072),l(-.491,-.068),l(-1.212,-.082),l(.083,-.065),l(.322,-.585),l(.032,-.143),l(-.064,-.728),l(-.331,-1.084),l(-.206,-.399),l(-.639,-.513),l(-.341,-.128),l(-.916,-.155),l(-.679,-.271),l(-.341,-.243),
-N(443.617,107.095),l(-.065,-.035),l(-.435,-.156),l(-.017,-.15),l(-.501,-.485),l(-.848,-.3),l(-.033,-.021),l(.002,-.1),l(-.029,-.092),l(-.082,-.072),l(-.033,-.078),l(.022,-.089),l(-.005,-.004),l(.183,-.108),l(.09,-.089),l(-.045,-.101),l(-.078,-.089),l(-.066,-.112),l(-.012,-.044),l(-.011,-.145),l(-.012,-.112),l(.012,-.134),l(.101,-.089),l(.111,-.022),l(.134,-.011),l(.056,-.056),l(-.011,-.1),l(-.034,-.089),l(.112,-.101),l(.044,-.089),l(.045,-.101),l(.168,-.078),l(.122,-.056),l(.123,.011),l(.056,.044),l(.056,.089),l(.09,.056),l(.111,0),l(.056,-.101),l(-.056,-.101),l(-.123,-.167),l(-.089,-.1),l(-.012,-.078),l(.078,-.056),l(.112,-.033),l(.066,.044),l(.112,.022),l(.156,-.056),l(.056,.033),l(0,.101),l(.223,.056),l(.156,.101),l(.168,.078),l(.111,.111),l(.101,.146),l(.167,.134),l(.056,.033),l(.078,.022),l(.279,.078),l(.101,.056),l(.078,.011),l(.067,-.044),l(.066,.022),l(.078,.1),l(.123,.101),l(.033,.067),l(.078,.045),l(.111,-.022),l(.057,.044),l(.134,.045),l(.167,.067),l(.101,.101),l(.011,.089),l(-.089,.011),l(-.134,.022),l(-.09,.044),l(-.021,.067),l(-.057,.033),l(-.167,-.033),l(-.146,-.011),l(-.111,.033),l(-.022,.089),l(.056,.056),l(.101,0),l(.078,.067),l(0,.067),l(-.109,.286),l(-.361,-.022),l(-.727,-.11),l(-.273,.273),l(-.279,.515),l(.133,.427),l(-.002,.342),
-N(558.52,110.652),l(.042,-.098),l(.318,.073),l(.246,-.073),l(.221,-.025),l(.294,.098),l(.319,.098),l(.245,.147),l(.221,-.196),l(.271,-.049),l(.221,-.196),l(.343,-.196),l(.172,-.049),l(.319,0),l(0,-.147),l(-.049,-.171),l(.245,.049),l(.49,.024),l(.221,-.147),l(.197,-.147),l(.49,-.221),l(-.172,-.123),l(-.466,-.024),l(-.516,-.074),l(-.245,-.196),l(-.319,-.147),l(-.343,.025),l(-.025,-.098),l(-.073,-.246),l(-.147,.024),l(-.393,-.024),l(-.049,-.147),l(-.172,-.294),l(-.196,-.172),l(-.196,-.098),l(-.024,.245),l(-.196,.196),l(-.221,-.049),l(-.049,.393),l(-.393,0),l(-.589,0),l(-.368,-.27),l(-.172,-.221),l(-.098,-.221),l(-.418,.147),l(-.146,-.123),l(-.295,-.074),l(-.294,-.049),l(.024,-.123),l(.172,-.098),l(.441,-.295),l(.196,-.147),l(.294,-.172),l(.295,-.049),l(.073,-.196),l(.221,-.049),l(.368,-.171),l(.368,-.172),l(-.441,-.246),l(-.349,.126),l(-.044,-.273),l(.393,-.442),l(.318,-.368),l(.736,-.123),l(.663,-.098),l(.883,.147),l(.883,.245),l(.688,.196),l(.81,.123),l(.344,.123),l(-.024,-.442),l(.245,-.736),l(.466,-.368),l(.688,-.123),l(.589,.074),l(.761,.27),l(.735,.246),l(.908,.196),l(.54,.098),l(.441,-.27),l(.858,-.024),l(.761,0),l(.785,-.147),l(.712,.221),l(.662,.098),l(1.35,.024),l(.662,-.074),l(.981,.246),l(.564,-.049),l(.147,.344),l(.27,.147),l(.196,.27),l(.663,0),l(.466,.098),l(.41,.375),l(.031,.194),l(-.051,.157),l(-.325,.187),l(-.97,.219),l(-1.338,.349),l(-.445,.145),l(-.405,.301),l(-.638,.701),l(-.646,.345),l(-.478,.102),l(-.459,.017),l(-1.248,-.235),l(-.238,.03),l(-.467,.472),l(-.463,.784),l(-.268,.243),l(-.885,.132),l(-.507,.145),l(-.344,-.055),l(-.183,-.567),l(-.06,-.071),l(-.359,.03),l(-1.737,.734),l(-1.422,.704),l(-.274,.186),l(-.129,.213),l(-.139,.739),l(-.196,-.073),l(-.344,.098),l(-.344,.171),l(-.539,0),l(-.663,-.073),l(-.834,.221),l(-.172,.147),l(-.196,0),l(-.172,-.319),l(-.368,.024),l(-.318,.172),l(-.074,-.221),l(-.049,-.172),l(-.122,.024),l(-.319,-.123),l(-.049,-.147),l(-.221,-.024),l(-.442,.123),l(-.343,.049),l(.024,.221),l(-.295,.049),l(-.393,-.074),l(-.073,-.196),l(-.147,-.123),l(-.368,-.098),l(-.49,.147),l(-.196,-.073),l(-.688,.024),l(-.564,0),l(-.589,.024),l(-.122,-.098),l(-.049,-.147),l(-.099,-.27),l(.099,-.245),l(.196,-.196),l(.098,.221),l(.196,-.074),l(-.049,-.196),l(.098,-.27),l(.123,0),l(.981,-.196),l(.515,.147),l(.516,.196),l(.099,.172),l(.196,0),l(.024,-.246),l(.441,-.196),l(.302,-.147),
-N(685.343,114.455),l(-.571,.678),l(-.309,.115),l(-.511,-.096),l(-.579,-.068),l(-.595,-.011),l(-.315,.157),l(-.633,.738),l(-.283,.256),l(-.235,.171),l(-.268,-.206),l(-.35,.34),l(-.319,.199),l(-.373,-.608),l(-.398,-.112),l(-.649,.78),l(-.195,-.382),l(-.232,-.254),l(-.683,-.367),l(-.169,-.453),l(.095,-.312),l(.429,-.411),l(.754,-.229),l(.056,-.269),l(-.591,-.282),l(.407,-.879),l(.189,-.34),l(-.199,-.269),l(-.632,-.296),l(-.139,0),l(-.381,.029),l(-.312,.143),l(-.234,-.07),l(-.52,-.368),l(-.167,-.233),l(.379,-.528),l(.415,-.442),l(.52,-.329),l(1.533,-.604),l(1.032,-.545),l(.636,-.543),l(.686,-1.027),l(.386,-.13),l(.448,-.017),l(.273,.396),l(.493,.253),l(.508,.153),l(.975,-.048),l(.527,-.159),l(-.046,-.113),l(-.508,-.765),l(.025,-.342),l(.273,-.243),l(.392,-.059),l(.333,.126),l(.452,.054),l(.538,-.017),l(.62,-.259),l(.955,-.532),l(.23,-.713),l(.383,-.358),l(.253,-.129),l(.247,-.001),l(.579,.68),l(.298,.439),l(.167,.393),l(-1.356,.923),l(-.408,.457),l(-.112,.414),l(.09,.427),l(-.154,.456),l(-.187,.868),l(-.668,.115),l(-.36,.229),l(-.497,.385),l(-.766,.641),l(-.468,.214),l(-.678,.03),l(-.577,.199),l(-.265,.228),l(-.248,.312),l(-.364,.893),l(.284,.326),l(1.225,.847),l(.419,.354),
-N(536.625,121.017),l(-.078,-.028),l(-.15,-.692),l(-.01,-.565),l(-.038,-.848),l(-.185,-.211),l(-.787,.075),l(-.696,-.01),l(-.655,-.506),l(-1.803,-1.362),l(-.597,-.336),l(-.66,-.167),l(-.5,-.054),l(-.788,-.066),l(-.822,-.335),l(-.708,-.251),l(-.402,-.437),l(-1.055,-.107),l(-.519,-.054),l(-.343,.129),l(-.517,.343),l(-.333,.03),l(-.78,-.038),l(-.609,.032),l(-.413,.144),l(-.476,.328),l(-.621,.654),l(-.466,.3),l(-.562,.13),l(-.441,-.025),l(-.066,-.376),l(-.128,-.681),l(-.106,-.447),l(.128,-.298),l(0,-.383),l(0,-.532),l(.106,-.191),l(.106,-.298),l(.085,-.234),l(-.085,-.212),l(-.256,-.128),l(-.319,-.191),l(-.213,-.255),l(-.042,-.149),l(-.171,0),l(-.191,-.042),l(-.361,-.106),l(-.191,.192),l(-.086,-.234),l(.086,-.106),l(.148,-.255),l(.128,.106),l(.383,-.042),l(.426,.085),l(.128,.021),l(.043,-.128),l(-.319,-.213),l(-.256,-.021),l(-.085,-.277),l(.17,-.255),l(.213,-.191),l(-.404,-.042),l(-.319,.085),l(-.383,0),l(-.319,-.085),l(-.128,.149),l(-.17,-.255),l(-.149,-.298),l(0,-.34),l(-.042,-.298),l(.17,-.213),l(.106,-.319),l(.043,-.255),l(.105,-.277),l(.086,-.234),l(.213,.34),l(.063,.128),l(.17,.17),l(.405,-.085),l(.383,.128),l(.106,-.149),l(-.021,-.149),l(.106,0),l(.148,.021),l(.064,.319),l(.106,.191),l(.298,-.021),l(.298,-.063),l(.256,-.106),l(.233,.085),l(.192,.064),l(.085,-.128),l(-.149,-.191),l(-.042,-.213),l(.191,-.042),l(.106,.149),l(.233,.085),l(.256,-.085),l(.213,-.064),l(.021,-.234),l(-.171,-.341),l(-.34,-.234),l(-.532,-.319),l(-.426,-.213),l(-.063,-.319),l(-.043,-.34),l(-.213,-.17),l(0,-.213),l(0,-.213),l(-.085,-.127),l(-.554,-.064),l(-.617,.085),l(-.426,.021),l(-.446,.127),l(-.192,.277),l(-.085,.298),l(.128,.192),l(-.063,.276),l(-.086,.405),l(.064,.234),l(.021,.298),l(-.256,-.553),l(-.361,-.319),l(.042,-.17),l(-.063,-.191),l(-.274,-.143),l(.529,-.453),l(.937,-.532),l(1.277,-.298),l(.979,-.085),l(.512,.234),l(.681,.383),l(.617,.383),l(.256,.511),l(.638,.703),l(.447,.255),l(.489,-.043),l(.341,-.106),l(.158,.014),l(1.03,.063),l(1.383,-.032),l(.126,-.314),l(-.314,-.409),l(.062,-.628),l(.503,-.409),l(.503,-.251),l(.629,0),l(.283,-.126),l(.22,-.346),l(.126,-.126),l(.283,0),l(.597,.283),l(-.188,-.377),l(-.251,-.251),l(.565,-.157),l(.188,-.063),l(.472,.095),l(.629,.377),l(.346,.032),l(.22,.314),l(.692,.095),l(.534,.094),l(.251,.22),l(.032,.22),l(0,.22),l(.439,.283),l(-.188,.157),l(-.031,.188),l(.188,.22),l(-.157,.188),l(-.094,.22),l(.691,.314),l(.314,.157),l(.503,-.094),l(.439,-.032),l(.535,.126),l(.439,-.063),l(.188,-.157),l(.881,.251),l(.22,.377),l(.126,.566),l(.408,.597),l(.283,.188),l(.188,.44),l(0,.283),l(1.384,.975),l(1.194,.597),l(.377,.44),l(1.006,.503),l(.314,-.063),l(.943,.597),l(.565,.22),l(1.132,.597),l(.378,.251),l(.471,-.063),l(.566,.189),l(.534,.283),l(.503,.094),l(-.062,.22),l(-.157,.251),l(.062,.503),l(-.091,.726),l(-1.454,-.244),l(-.565,-.294),l(-.445,.356),l(-.417,.2),l(-1.135,.205),l(-.432,.809),l(-.203,.991),l(-.103,.128),l(-.508,.243),l(-1.985,.689),l(-.568,.159),l(-.119,.199),l(-.001,.466),l(-.22,.199),l(-.636,.3),l(-.534,.031),l(-.573,-.082),l(-.999,-.348),l(-.937,-.193),l(-.193,-.112),
-N(445.294,112.196),l(-.07,-.115),l(-.138,-.469),l(-.5,-.452),l(-.966,-.541),l(.024,-.141),l(.23,.062),l(.023,-.237),l(-.345,-.414),l(.418,-.616),l(-.182,-.22),l(.188,-.563),l(-.251,-.282),l(.182,-.396),l(.268,-.079),l(-.027,-.45),l(-.331,-.081),l(-.2,-.107),l(.002,-.342),l(-.133,-.427),l(.279,-.515),l(.273,-.273),l(.727,.11),l(.361,.022),l(.058,.004),l(.382,.369),l(.733,.866),l(.018,.109),l(.035,.218),l(-.132,.429),l(.074,.641),l(.298,.668),l(.722,.608),l(-.09,.029),l(-.449,.842),l(-.402,.386),l(-.496,.472),l(-.583,.884),
-N(451.512,108.463),l(-.507,.16),l(-.532,.245),l(-.622,-.054),l(-.361,-.041),l(-.365,.159),l(-.395,.429),l(-.606,.146),l(-.809,.076),l(-.722,-.608),l(-.298,-.668),l(-.074,-.641),l(.132,-.429),l(-.035,-.218),l(.14,.049),l(.188,0),l(.072,-.087),l(.029,-.072),l(-.029,-.13),l(.058,-.167),l(.088,-.058),l(.225,-.058),l(.246,-.058),l(.116,-.058),l(.08,-.065),l(.087,.073),l(.131,.058),l(.094,.109),l(.116,0),l(.029,-.058),l(-.059,-.072),l(.109,-.058),l(.151,-.102),l(.152,-.087),l(.175,.043),l(.064,-.007),l(.196,.007),l(.152,.015),l(.087,-.08),l(.131,-.116),l(.064,.021),l(.102,.043),l(.088,-.021),l(.087,-.043),l(.102,.051),l(.058,-.015),l(.116,-.022),l(.145,-.021),l(.16,-.022),l(.072,-.029),l(.058,.017),l(-.007,.106),l(.134,.213),l(.666,.296),l(.358,.383),l(.225,.469),l(-.006,.499),l(-.104,.3),l(.047,.199),
-N(383.93,117.402),l(-.249,.101),l(-.517,.291),l(-.439,.052),l(-.548,-.178),l(-.58,0),l(-.28,-.073),l(-.719,.292),l(-.058,-.177),l(.389,-1.012),l(-.021,-.856),l(-.182,-.115),l(.244,-.542),l(-.054,-.397),l(.13,-.114),l(-.144,-.141),l(-.375,.085),l(-.476,.097),l(-.108,-.449),l(.48,-.052),l(.283,-.22),l(-.042,-.17),l(-.178,-.226),l(-.3,.417),l(-.413,.136),l(-.357,-.042),l(-.059,-.188),l(.198,-.397),l(.138,-.616),l(-.039,-.303),l(.258,-.114),l(.403,-.503),l(.45,-1.098),l(-.12,-.115),l(.612,-1.783),l(-.35,-.924),l(-.007,-.42),l(-.146,-.378),l(.255,-.271),l(.891,-.251),l(.55,-.188),l(.531,.439),l(1.822,.047),l(.531,-.26),l(.335,.055),l(.272,.227),l(.15,.242),l(.842,.495),l(.062,.242),l(-.288,.216),l(-1.234,.506),l(-.084,.072),l(-.051,.442),l(.072,.456),l(-.132,.983),l(.057,.938),l(-.043,.199),l(-.458,.229),l(-.482,.045),l(-.288,.129),l(.488,.494),l(.455,.551),l(.163,.198),l(-.347,.371),l(-.506,.655),l(-.17,.455),l(.812,.123),l(.408,.31),l(-.884,.643),l(-.242,.37),l(-.304,.951),l(-.008,.018),
-N(500.121,117.572),l(-.407,-.016),l(-.433,.388),l(-.164,.126),l(-.318,-.105),l(-.102,-.269),l(.03,-.259),l(-.274,-.151),l(-.366,-.082),l(-.244,.234),l(-.343,-.023),l(-.811,-.153),l(-.364,.032),l(-.304,-.16),l(-.437,.094),l(-.266,.143),l(-.23,.043),l(-.064,-.245),l(-.207,-.023),l(-.24,.292),l(-.693,.304),l(-1.185,.224),l(-.711,-.039),l(-.747,-.123),l(-.439,.073),l(-1.498,.673),l(-.567,.13),l(-1.104,.176),l(-.556,-.153),l(-1.532,-.444),l(-.278,.03),l(-.929,.373),l(-.746,.075),l(-.575,-.025),l(-.777,-.166),l(-.222,.001),l(-.142,-.035),l(-.055,.319),l(.102,.452),l(.243,.423),l(-.627,.127),l(-.156,.374),l(-.2,.169),l(-.171,-.041),l(-.114,.127),l(-.39,-.125),l(-.311,.001),l(-.245,-.459),l(-.119,-.093),l(.097,-.175),l(.242,-.197),l(.617,-.403),l(.021,-.175),l(-.049,-.134),l(-.279,-.28),l(-.146,-.053),l(-.487,.368),l(-.23,.041),l(-.137,.064),l(.092,.041),l(-.118,.216),l(-.172,.023),l(-.063,-.047),l(-.076,.088),l(-.297,.058),l(-.332,-.222),l(-.447,-.198),l(-.461,-.157),l(-.395,.046),l(-.849,.548),l(-.337,.286),l(.006,.204),l(-.141,.046),l(-.122,.07),l(-.005,.082),l(-.179,-.169),l(-.604,.206),l(-.689,.185),l(-.594,-.013),l(-.587,-.07),l(-.678,-.267),l(-.963,-.819),l(-1.181,-.479),l(-1.034,-.182),l(-.692,.072),l(-.119,.255),l(-.097,.609),l(-.053,.411),l(-.173,.156),l(-.256,0),l(-.253,-.155),l(-1.12,.243),l(-.423,-.027),l(-.386,-.183),l(-.657,-1.159),l(-.42,.354),l(-.764,-.451),l(-.451,.057),l(-.562,.412),l(-.227,-.382),l(.066,-.127),l(.242,-.17),l(-.116,-.17),l(-.989,-.012),l(-.545,-.013),l(-.088,-.269),l(.571,-.199),l(-.074,-.241),l(-.284,-.198),l(-.454,-.07),l(-.084,-.297),l(.041,-.34),l(.087,-.284),l(-.089,-.255),l(-.396,-.126),l(-.627,-.353),l(-.371,.086),l(-.265,-.084),l(-.004,-.255),l(.171,-.501),l(.131,.059),l(.478,.311),l(.567,-.271),l(-.396,-.283),l(.021,-.124),l(-.296,-.128),l(.03,-.128),l(.571,-.159),l(.152,-.113),l(-.068,-.142),l(-.149,-.088),l(-.337,-.035),l(.01,-.187),l(.18,-.07),l(-.163,-.164),l(-.198,-.117),l(-.009,-.152),l(-.227,-.012),l(.263,-.181),l(.296,-.275),l(.161,-.035),l(.07,-.16),l(-.341,-.042),l(-.573,.12),l(-.905,.164),l(-.166,-.035),l(.046,-.33),l(.127,-.125),l(-.003,-.199),l(-.029,-.286),l(.13,-.264),l(.299,.012),l(.184,-.41),l(.175,-.023),l(.63,-.422),l(.514,.012),l(.133,-.129),l(.479,-.047),l(.128,.211),l(.268,.102),l(.169,.028),l(.529,.022),l(.147,-.129),l(-.067,-.129),l(-.269,-.129),l(.286,-.094),l(.324,.036),l(.117,.082),l(-.219,.223),l(.213,-.026),l(1.053,-.073),l(.619,.042),l(.379,.046),l(.279,.047),l(.155,-.176),l(-.086,-.094),l(-.468,-.035),l(-.212,-.118),l(.275,-.212),l(1.386,-.151),l(.417,-.012),l(.377,-.117),l(-.442,-.012),l(-.592,.023),l(-.215,0),l(-.068,-.146),l(-.611,-.382),l(.325,-.528),l(.926,.14),l(1.244,.048),l(.264,-.117),l(1.086,.321),l(1.051,-.031),l(.414,-.243),l(-.041,-.27),l(.624,-.244),l(.455,-.214),l(1.218,-.573),l(.598,-.215),l(1.039,-.23),l(.889,-.073),l(.758,.07),l(.905,.126),l(.798,.041),l(.753,-.372),l(.216,.527),l(.416,.298),l(.278,.099),l(.592,.013),l(.622,-.144),l(.453,.74),l(.492,.255),l(.574,-.172),l(.391,.056),l(.968,.582),l(1.265,.04),l(1.094,.197),l(.749,-.001),l(1.084,-.272),l(.514,-.044),l(.651,.141),l(.764,.098),l(.787,-.016),l(.554,-.144),l(1.518,-.573),l(.424,-.335),l(1.212,.082),l(.491,.068),l(.226,-.072),l(.761,-.36),l(.41,.041),l(1.326,1.018),l(.031,.028),l(.795,.722),l(.026,.199),l(-.421,.813),l(.033,.412),l(.284,.211),l(1.413,.12),l(.492,.451),l(-.072,.211),l(-.409,-.023),l(-.231,.141),l(-.009,.433),l(-.584,.267),l(-.039,.27),l(.264,.67),l(-.122,.375),l(.224,.492),l(.09,.117),l(.106,-.105),l(.288,.203),l(.039,.207),l(-.229,.281),l(-.287,.535),l(-.06,.128),l(.213,.14),l(.424,.111),l(-.145,.245),l(.099,.421),l(.42,.374),l(.275,.035),l(.023,.308),M(462.617,106.804),l(.241,.211),l(-.019,.287),l(.115,.285),l(.077,.071),l(.593,.355),l(.819,.241),l(.605,.155),l(.152,.121),L(464.943,109),l(-.304,.166),l(-.515,-.072),l(-.94,-.246),l(-.326,.07),l(-.209,.152),l(-1.019,-.012),l(-.357,.384),l(-.109,.273),l(-.833,.316),l(-.612,.282),l(-.222,.258),l(-.307,.152),l(-.268,.293),l(-.255,.082),l(.164,-.258),l(.019,-.141),l(-.062,-.176),l(.584,-.293),l(.22,-.141),l(-.226,-.191),l(-.082,.015),l(-.653,-.056),l(-.229,-.148),l(.326,-.546),l(.387,-.558),l(.678,-.631),l(-.127,-.227),l(-.427,-.197),l(-.105,0),l(.498,-.445),l(.629,-.374),l(.497,-.045),l(.527,.111),l(1.333,.005),
-N(509.077,114.955),l(-.72,-.317),l(-.268,.016),l(-.356,-.433),l(-.374,-.105),l(-.13,-.363),l(.532,-.27),l(.095,-.222),l(-.43,-.176),l(-.027,-.188),l(.63,-.129),l(.094,-.155),l(-.061,-.113),l(-.487,-.21),l(-.351,-.281),l(-.306,-.166),l(-.456,.234),l(-1.058,.492),l(-.374,.445),l(-.642,.188),l(-.254,.255),l(-.014,-.027),l(.094,-.118),l(-.094,-.213),l(-.189,-.071),l(.26,-.095),l(.166,-.047),l(-.261,-.189),l(-.236,-.236),l(.236,-.118),l(.095,-.189),l(-.283,-.047),l(-.354,-.024),l(-.284,-.118),l(-.213,-.212),l(-.236,-.024),l(-.26,-.354),l(-.283,-.142),l(-.048,-.094),l(.166,0),l(.378,0),l(.165,-.236),l(0,-.236),l(-.213,-.024),l(-.188,-.142),l(-.544,-.331),l(-.283,-.354),l(.047,-.284),l(.402,-.142),l(-.119,-.236),l(-.212,-.166),l(-.426,-.071),l(-.284,-.095),l(.071,-.094),l(.071,-.118),l(-.284,-.095),l(-.087,-.212),l(.418,-.308),l(.236,0),l(.473,.024),l(.331,.189),l(.189,.213),l(.638,.189),l(.284,-.047),l(.188,.023),l(.143,.071),l(.26,.189),l(.236,-.047),l(.236,-.095),l(.095,-.331),l(-.118,-.213),l(-.614,-.166),l(-.213,-.307),l(-.143,-.26),l(.095,-.071),l(.143,-.142),l(.268,-.189),l(.229,-.023),l(.023,.166),l(.213,-.047),l(.189,0),l(.142,.189),l(.473,.284),l(.095,.118),l(.118,0),l(.283,.284),l(0,.308),l(.591,.094),l(.449,.142),l(.379,-.047),l(.165,-.213),l(.308,-.331),l(.283,-.094),l(.496,-.284),l(.292,-.449),l(.465,.331),l(.236,.378),l(.26,.189),l(.284,.307),l(.095,.52),l(.142,.236),l(.283,.26),l(.284,.165),l(0,.166),l(.449,.236),l(.473,-.047),l(.378,.071),l(.284,.166),l(.236,.189),l(.095,.189),l(0,.142),l(-.355,-.142),l(-.401,-.047),l(-.213,0),l(-.26,.047),l(-.142,.118),l(-.402,.071),l(-.213,.142),l(-.047,.189),l(-.023,.473),l(-.118,.26),l(-.095,.236),l(-.095,.378),l(.213,.236),l(-.023,.189),l(-.237,-.071),l(-.094,.095),l(-.071,.331),l(-.071,.26),l(-.118,-.047),l(-.094,-.236),l(-.143,-.095),l(-.165,.095),l(-.047,.307),l(.07,.166),l(-.118,.118),l(-.118,.095),l(.095,.26),l(-.363,.91),M(499.844,111.738),l(.709,.061),l(.142,-.047),l(.26,-.071),l(.236,.236),l(.071,.166),l(.378,.142),l(.213,.071),l(.308,-.118),l(.52,0),l(-.071,.213),l(.024,.236),l(.118,.023),l(.331,.166),l(-.071,.236),l(.421,.763),l(-.009,.001),l(-.253,-.133),l(-.416,.038),l(-.512,-.025),l(-.421,-.125),l(-.335,-.211),l(-.294,-.402),l(-.551,-.223),l(-.281,-.417),l(-.265,-.381),l(-.252,-.197),
-N(455.452,122.442),l(.049,-.209),l(-.057,-.128),l(-.812,-.256),l(-.691,-.006),l(-.506,-.116),l(-.484,.017),l(-.121,-.046),l(-.103,-.093),l(.139,-.56),l(.315,-.005),l(-.005,-.088),l(-.009,-.122),l(.069,-.07),l(.083,.157),l(.021,.146),l(.303,.021),l(.172,.055),l(.184,-.076),l(-.014,-.082),l(.108,-.029),l(.157,.105),l(-.037,.093),l(-.099,.006),l(-.04,.053),l(.088,.023),l(.144,.035),l(.094,.046),l(.021,.128),l(.353,.041),l(.846,-.122),l(.509,.016),l(.035,.13),l(.192,.035),l(.608,.064),l(.307,.051),l(.358,-.121),l(.09,.05),l(-.101,.312),l(.163,.11),l(.105,0),l(.325,-.169),l(.286,-.058),l(.078,.052),l(.154,-.07),l(.232,-.146),l(-.083,.187),l(.015,.186),l(-.183,.268),l(-.582,-.046),l(-.349,.081),l(-.335,-.017),l(-1.994,.169),M(445.294,112.196),l(.583,-.884),l(.496,-.472),l(.402,-.386),l(.449,-.842),l(.09,-.029),l(.809,-.076),l(.606,-.146),l(.395,-.429),l(.365,-.159),l(.361,.041),l(.622,.054),l(.532,-.245),l(.507,-.16),l(.09,-.029),l(1.855,-.195),l(.799,-.261),l(.584,-.06),l(1.473,.505),l(.619,.21),l(.388,-.031),l(1.117,-.277),l(.086,-.257),l(-.097,-.327),l(.344,-.216),l(.363,.026),l(.105,0),l(.427,.197),l(.127,.227),l(-.678,.631),l(-.387,.558),l(-.326,.546),l(-.062,-.407),l(-.794,-.056),l(-.743,-.041),l(-.566,-.125),l(-.062,-.144),l(-.459,.186),l(-.248,.123),l(-.403,.012),l(-.031,-.247),l(-.335,.029),l(-.301,.314),l(-.431,.186),l(-.31,.03),l(-.306,-.159),l(-.252,.07),l(-.004,.133),l(.169,.185),l(.169,.34),l(.308,.059),l(.826,.609),l(-.166,.07),l(-.369,-.258),l(-.015,-.105),l(-.276,-.082),l(-.331,-.105),l(-.116,.099),l(-.211,.007),l(.069,.129),l(-.016,.129),l(.338,.164),l(.145,-.012),l(.114,.234),l(-.03,.129),l(-.245,.023),l(-.445,-.457),l(-.341,-.141),l(-.207,-.059),l(-.128,-.012),l(.003,.094),l(-.075,.035),l(.138,.164),l(.102,.105),l(.154,.141),l(.193,.059),l(.153,.035),l(.103,.094),l(-.093,.058),l(-.494,-.046),l(-.253,-.035),l(.035,-.176),l(-.137,-.293),l(-.164,-.188),l(-.401,-.108),l(-.472,-.373),l(.258,-.118),l(.025,-.136),l(-.053,-.122),l(-.182,-.035),l(-.153,.199),l(-.465,.176),l(.245,.224),l(-.25,.371),l(-.05,.249),l(.13,.121),l(.065,.172),l(.311,.338),l(.133,.036),l(.131,.479),l(.579,.421),l(.359,.467),l(-.172,.14),l(-.237,.082),l(.106,-.187),l(-.121,-.187),l(-.142,-.128),l(-.139,-.035),l(-.151,-.047),l(-.29,.175),l(.102,.188),l(.153,.081),l(.08,.316),l(-.193,.187),l(-.652,.141),l(.248,.046),l(.27,.14),l(.391,.058),l(.188,.222),l(.257,-.012),l(.155,.012),l(.048,.126),l(.367,.269),l(.306,.014),l(.138,.292),l(.282,.012),l(.27,0),l(.348,.303),l(.015,.128),l(-.193,.082),l(.238,.782),l(-.153,.175),l(-.185,0),l(-.226,-.385),l(-.222,-.047),l(-.207,-.278),l(-.101,-.142),l(-.17,0),l(-.496,.14),l(-.479,.105),l(-.184,.128),l(.315,.093),l(.013,.188),l(.007,.291),l(.229,.117),l(.153,-.026),l(.225,-.079),l(-.021,.198),l(.235,.175),l(-.519,.093),l(.002,.117),l(-.169,.062),l(-.309,-.086),l(.121,-.21),l(-.186,-.086),l(-.508,-.056),l(-.158,-.092),l(-.008,.206),l(.194,.453),l(.193,.17),l(-.045,.163),l(.209,.204),l(.213,.96),l(-.688,-.31),l(-.331,.071),l(-.298,.439),l(-.442,-.735),l(-.46,-.367),l(-.452,.44),l(-.428,-.353),l(-.127,-.297),l(.212,-.425),l(-.028,-.241),l(-.215,-.269),l(-.491,-.424),l(-.167,-.226),l(.017,-.17),l(.471,-.61),l(.609,.098),l(.425,-.298),l(.202,.042),l(1.668,.663),l(.337,-.1),l(.483,-.355),l(-.266,-.049),l(-.27,-.056),l(-1.204,-.493),l(-1.127,-.083),l(-.367,.058),l(-.66,.058),l(-.427,.143),l(-.89,-1.118),l(.269,-.1),l(.253,.056),l(.218,-.114),l(.122,-.185),l(-.339,-.24),l(-.235,.114),l(-.496,-.042),l(-1.035,-.721),l(-.199,-.325),
-N(504.136,113.458),l(-.327,.328),l(-.377,.03),l(-.421,-.763),l(.071,-.236),l(-.331,-.166),l(-.118,-.023),l(-.024,-.236),l(.071,-.213),l(-.52,0),l(-.308,.118),l(-.213,-.071),l(-.378,-.142),l(-.071,-.166),l(-.236,-.236),l(-.26,.071),l(-.142,.047),l(-.709,-.061),l(-.492,-.451),l(-1.413,-.12),l(-.284,-.211),l(-.033,-.412),l(.421,-.813),l(-.026,-.199),l(-.795,-.722),l(.377,-.108),l(.307,.024),l(.308,-.095),l(.426,-.023),l(.401,-.118),l(.592,.047),l(.591,-.095),l(.378,-.047),l(.291,-.094),l(.087,.212),l(.284,.095),l(-.071,.118),l(-.071,.094),l(.284,.095),l(.426,.071),l(.212,.166),l(.119,.236),l(-.402,.142),l(-.047,.284),l(.283,.354),l(.544,.331),l(.188,.142),l(.213,.024),l(0,.236),l(-.165,.236),l(-.378,0),l(-.166,0),l(.048,.094),l(.283,.142),l(.26,.354),l(.236,.024),l(.213,.212),l(.284,.118),l(.354,.024),l(.283,.047),l(-.095,.189),l(-.236,.118),l(.236,.236),l(.261,.189),l(-.166,.047),l(-.26,.095),l(.189,.071),l(.094,.213),l(-.094,.118),l(.014,.027),
-N(566.651,117.4),l(-.565,-.153),l(-.496,-.054),l(-.264,-.151),l(-.564,.227),l(-.974,.147),l(-.137,-.059),l(.129,-.176),l(-.198,-.077),l(-.678,.03),l(-.739,.315),l(-.592,.486),l(-.589,.064),l(-.745,.495),l(-.351,.03),l(-.368,-.026),l(-.128,-.084),l(-.164,-.409),l(-.199,-.521),l(.185,-.444),l(.099,-.775),l(.029,-.255),l(-.17,-.187),l(-.484,.093),l(.156,-.597),l(-.576,-.45),l(-.153,-.056),l(-.384,.016),l(-.286,.162),l(-.134,.363),l(-.435,.428),l(-.049,.425),l(.006,.255),l(-.208,.228),l(-.442,.158),l(-.133,-.013),l(-.587,-.152),l(-.292,.058),l(-.073,.185),l(.007,.311),l(-.3,.313),l(-.21,.128),l(-.381,.016),l(-.63,-.237),l(-.325,.001),l(-.581,.286),l(-.58,.343),l(-.485,.144),l(-.245,-.041),l(-.129,-.141),l(-.04,-.055),l(.375,-.843),l(-.063,-.377),l(.377,-.377),l(.283,-.503),l(.503,-.346),l(.157,-.22),l(-.126,-.283),l(-.471,-.314),l(-.126,-.409),l(.031,-.472),l(.126,-.22),l(-.126,-.22),l(-.346,0),l(-.44,-.032),l(-.157,-.157),l(-.346,-.188),l(-.251,-.283),l(.125,-.471),l(.472,-.283),l(.629,.126),l(1.069,.094),l(.282,-.188),l(.063,-.409),l(.251,-.157),l(.188,0),l(.032,-.346),l(.188,-.063),l(.251,-.063),l(-.126,-.094),l(-.534,.031),l(-.251,-.125),l(.503,-.094),l(.565,-.095),l(.472,.095),l(.062,-.126),l(.032,-.346),l(-.189,-.314),l(.283,-.314),l(-.031,-.22),l(.346,0),l(.22,.157),l(.252,.22),l(.22,-.157),l(.692,-.188),l(.471,-.346),l(.221,-.251),l(.439,.377),l(.252,.251),l(-.188,.22),l(-.409,.346),l(-.251,.126),l(.126,.188),l(.251,.063),l(.188,.283),l(.409,-.031),l(.345,.005),l(-.302,.147),l(-.441,.196),l(-.024,.246),l(-.196,0),l(-.099,-.172),l(-.516,-.196),l(-.515,-.147),l(-.981,.196),l(-.123,0),l(-.098,.27),l(.049,.196),l(-.196,.074),l(-.098,-.221),l(-.196,.196),l(-.099,.245),l(.099,.27),l(.049,.147),l(.122,.098),l(.589,-.024),l(.564,0),l(.688,-.024),l(.196,.073),l(.49,-.147),l(.368,.098),l(.147,.123),l(.073,.196),l(.393,.074),l(.295,-.049),l(-.024,-.221),l(.343,-.049),l(.442,-.123),l(.221,.024),l(.049,.147),l(.319,.123),l(.122,-.024),l(.049,.172),l(.074,.221),l(.318,-.172),l(.368,-.024),l(.172,.319),l(.196,0),l(.172,-.147),l(.834,-.221),l(.663,.073),l(.539,0),l(.344,-.171),l(.344,-.098),l(.196,.073),l(-.011,.069),l(.023,1.031),l(-.207,.223),l(.077,.305),l(.325,.394),l(.463,-.045),l(.229,-.162),l(.22,.06),l(.692,.039),l(.273,.154),l(.295,.494),l(-.009,.284),l(.028,.246),l(.152,.012),l(.049,.123),l(-.126,.428),l(.245,.237),l(-.152,.36),l(.2,.163),l(-.181,.185),l(-.08,.249),l(-.354,.136),
-N(500.121,117.572),l(-.023,-.308),l(-.275,-.035),l(-.42,-.374),l(-.099,-.421),l(.145,-.245),l(-.424,-.111),l(-.213,-.14),l(.06,-.128),l(.287,-.535),l(.229,-.281),l(-.039,-.207),l(-.288,-.203),l(-.106,.105),l(-.09,-.117),l(-.224,-.492),l(.122,-.375),l(-.264,-.67),l(.039,-.27),l(.584,-.267),l(.009,-.433),l(.231,-.141),l(.409,.023),l(.072,-.211),l(.252,.197),l(.265,.381),l(.281,.417),l(.551,.223),l(.294,.402),l(.335,.211),l(.421,.125),l(.512,.025),l(.416,-.038),l(.253,.133),l(.009,-.001),l(.377,-.03),l(.327,-.328),l(.254,-.255),l(.642,-.188),l(.374,-.445),l(1.058,-.492),l(.456,-.234),l(.306,.166),l(.351,.281),l(.487,.21),l(.061,.113),l(-.094,.155),l(-.63,.129),l(.027,.188),l(.43,.176),l(-.095,.222),l(-.532,.27),l(.13,.363),l(.374,.105),l(.356,.433),l(.268,-.016),l(.72,.317),l(.015,.007),l(-.05,.707),l(-.143,.581),l(.205,.48),l(.494,.252),l(.925,.235),l(.827,.052),l(.424,.097),l(.162,.282),l(.312,.451),l(.687,.463),l(1.902,.513),l(.841,.052),l(.438,-.059),l(1.354,-.262),l(1.192,-.148),l(1.469,-.079),l(.41,-.229),l(.185,-.354),l(-.131,-.905),l(.015,0),l(.441,.025),l(.562,-.13),l(.466,-.3),l(.621,-.654),l(.476,-.328),l(.413,-.144),l(.609,-.032),l(.78,.038),l(.333,-.03),l(.517,-.343),l(.343,-.129),l(.519,.054),l(1.055,.107),l(.402,.437),l(.708,.251),l(.822,.335),l(.788,.066),l(.5,.054),l(.66,.167),l(.597,.336),l(1.803,1.362),l(.655,.506),l(.696,.01),l(.787,-.075),l(.185,.211),l(.038,.848),l(.01,.565),l(.15,.692),l(.078,.028),l(-.145,.241),l(-.084,.339),l(-.246,.807),l(-.49,1.272),l(-.222,.297),l(-.596,.384),l(-.016,.141),l(.119,.663),l(.096,.098),l(.738,.235),l(.026,.183),l(-.661,.935),l(-.034,.155),l(.254,1.085),l(.167,1.283),l(.143,.775),l(.191,.21),l(.209,.041),l(1.198,.275),l(.401,.167),l(.144,.366),l(.046,.437),l(-.425,.553),l(-.853,.795),l(-.853,1.034),l(.802,1.083),l(.71,1.068),l(.353,.464),l(.695,.391),l(1.144,.388),l(.409,.224),l(.168,.38),l(.111,1.34),l(.185,.394),l(.652,.053),l(.186,.281),l(-.036,.974),l(-.188,.255),l(-.209,.072),l(-1,.077),l(-.697,.258),l(-.794,.47),l(-.285,.383),l(-.31,.792),l(-.049,.354),l(-.182,.954),l(-.502,.028),l(-1.079,-.153),l(-.236,-.197),l(-.605,-.253),l(-.403,-.056),l(-1.43,.003),l(-.783,-.041),l(-.602,.072),l(-.475,-.38),l(-.163,-.126),l(-.835,-.026),l(-.576,.001),l(-.465,.014),l(-.212,-.239),l(-.756,-.125),l(-.305,-.183),l(-.162,-.014),l(-.021,-.5),l(-.295,-.128),l(-.103,-.514),l(-.292,-.349),l(-.013,-.639),l(-.309,-.493),l(-.237,.012),l(-.035,-.181),l(-.526,-.126),l(-.807,-.013),l(-.374,.017),l(-.209,.222),l(-.329,.018),l(-.517,.075),l(-.188,.364),l(-.538,.138),l(-.383,.443),l(-.368,.283),l(-.253,.043),l(-1.292,-.689),l(-.958,-.104),l(-.562,-.359),l(-1.088,-.317),l(-.247,-.301),l(-.324,-.282),l(-.497,-.592),l(-.997,-.436),l(-.584,-.083),l(-.194,-.028),l(-.58,-.465),l(-.596,-1.058),l(-.635,-1.114),l(-.209,-.268),l(.005,-.593),l(-.767,-.761),l(-.506,-.719),l(-.921,.143),l(-.46,-.042),l(-.13,-.126),l(-.291,-.056),l(-.191,-.268),l(-.029,-.565),l(-.448,.1),l(-.166,.099),l(-.32,.678),l(-.195,.184),l(-.355,.012),l(-.014,-.12),l(-.351,-.224),l(-.686,-.546),l(.064,-.212),l(-.007,-.395),l(-.164,-.465),l(-.215,-.013),l(-.551,.003),l(-.034,-.325),l(.055,-.579),l(.197,-.622),l(.014,-.508),l(-.112,-.239),l(-.29,-.28),l(-.774,-.603),l(-.436,-.209),l(-1.242,-.925),l(-.533,-.025),l(-.321,.115),L(503,127.106),l(.033,-.819),l(-1.02,-.954),l(-.312,-.351),l(-.002,-.184),l(.133,-.875),l(.235,-.763),l(1.142,-.98),l(-.422,-.761),l(.013,-.254),l(.468,-.596),l(-1.067,-.107),l(-.761,-.208),l(-.065,-.198),l(-.563,-1.086),l(-.69,-1.397),
-N(535.734,133.791),l(.853,-1.034),l(.853,-.795),l(.425,-.553),l(-.046,-.437),l(-.144,-.366),l(-.401,-.167),l(-1.198,-.275),l(-.209,-.041),l(-.191,-.21),l(-.143,-.775),l(-.167,-1.283),l(-.254,-1.085),l(.034,-.155),l(.661,-.935),l(-.026,-.183),l(-.738,-.235),l(-.096,-.098),l(-.119,-.663),l(.016,-.141),l(.596,-.384),l(.222,-.297),l(.49,-1.272),l(.246,-.807),l(.084,-.339),l(.145,-.241),l(.193,.112),l(.937,.193),l(.999,.348),l(.573,.082),l(.534,-.031),l(.636,-.3),l(.22,-.199),l(.001,-.466),l(.119,-.199),l(.568,-.159),l(1.985,-.689),l(.508,-.243),l(.103,-.128),l(.203,-.991),l(.432,-.809),l(1.135,-.205),l(.417,-.2),l(.445,-.356),l(.565,.294),l(1.454,.244),l(.096,.016),l(.646,.011),l(1.217,.05),l(.236,.126),l(.351,.48),l(.04,.055),l(.129,.141),l(.245,.041),l(.485,-.144),l(.58,-.343),l(.581,-.286),l(.325,-.001),l(.63,.237),l(.381,-.016),l(.21,-.128),l(.3,-.313),l(-.007,-.311),l(.073,-.185),l(.292,-.058),l(.587,.152),l(.133,.013),l(.442,-.158),l(.208,-.228),l(-.006,-.255),l(.049,-.425),l(.435,-.428),l(.134,-.363),l(.286,-.162),l(.384,-.016),l(.153,.056),l(.576,.45),l(-.156,.597),l(.484,-.093),l(.17,.187),l(-.029,.255),l(-.099,.775),l(-.185,.444),l(.199,.521),l(.164,.409),l(.128,.084),l(.368,.026),l(.351,-.03),l(.745,-.495),l(.589,-.064),l(.592,-.486),l(.739,-.315),l(.678,-.03),l(.198,.077),l(-.129,.176),l(.137,.059),l(.974,-.147),l(.564,-.227),l(.264,.151),l(.496,.054),l(.565,.153),l(-.192,.145),l(-.574,-.059),l(.01,.269),l(.236,.012),l(.048,.088),l(-.148,.142),l(-.358,.004),l(-.455,.297),l(-.332,-.005),l(-.338,.179),l(-.647,-.144),l(-1.345,.012),l(-1.148,.152),l(-.53,.292),l(-.272,.19),l(-.559,.395),l(-.246,-.023),l(-.258,.214),l(-.464,.413),l(.01,.32),l(.411,.271),l(.01,.336),l(.232,.171),l(-.119,.483),l(.198,.477),l(-.324,.426),l(-.524,.355),l(-.4,.341),l(-.13,.283),l(.223,.478),l(.033,.31),l(-.289,.255),l(-.513,.215),l(-.698,-.039),l(-.997,-.122),l(-.355,.129),l(.35,.336),l(.365,.407),l(.129,.281),l(.088,.437),l(-.199,.255),l(-.315,.115),l(-.513,.031),l(-.416,.115),l(-.292,.228),l(-.224,.424),l(-.288,.834),l(-.139,1.214),l(-.021,.084),l(-.34,.383),l(-.237,.086),l(-1.001,-.375),l(-.562,-.025),l(-.559,.243),l(-.362,.271),l(-.321,.693),l(-.254,.086),l(-.516,-.082),l(-.644,-.039),l(-.283,.072),l(-.597,.441),l(-.412,.369),l(-.188,.34),l(-.232,.876),l(-.099,.903),l(-.069,.184),l(-.247,.156),l(-1.066,.274),l(-1.183,.19),l(-.964,.175),l(-1.234,.12),l(-1.005,-.135),l(-.349,.002),l(-1.187,.218),l(-.742,-.024),l(-.541,-.039),l(-.854,-.235),l(-1.069,-.248),l(-.63,-.194),l(-.887,-.32),
-N(486.696,126.295),l(5.257,-2.711),l(.589,-2.701),l(-.024,-.467),l(-.187,-.508),l(.009,-.255),l(.23,-.355),l(.31,-.214),l(.866,-.174),l(.457,-.371),l(.944,-.883),l(-.059,-.24),l(.23,-.043),l(.266,-.143),l(.437,-.094),l(.304,.16),l(.364,-.032),l(.811,.153),l(.343,.023),l(.244,-.234),l(.366,.082),l(.274,.151),l(-.03,.259),l(.102,.269),l(.318,.105),l(.164,-.126),l(.433,-.388),l(.407,.016),l(.69,1.397),l(.563,1.086),l(.065,.198),l(.761,.208),l(1.067,.107),l(-.468,.596),l(-.013,.254),l(.422,.761),l(-1.142,.98),l(-.235,.763),l(-.133,.875),l(.002,.184),l(.312,.351),l(1.02,.954),L(503,127.106),l(.075,.155),l(.321,-.115),l(.533,.025),l(1.242,.925),l(.436,.209),l(.774,.603),l(.29,.28),l(.112,.239),l(-.014,.508),l(-.197,.622),l(-.055,.579),l(.034,.325),l(.551,-.003),l(.215,.013),l(.164,.465),l(.007,.395),l(-.064,.212),l(.686,.546),l(.351,.224),l(.014,.12),l(-.096,.003),l(-.664,.101),l(-.408,-.056),l(-.157,.057),l(-.103,.127),l(-1.271,.044),l(-.518,.13),l(-.343,.693),l(-.463,.609),l(-.521,.568),l(-4.048,-.132),l(-1.557,-.697),l(-.812,-.277),l(-.118,-.253),l(-.047,-.818),l(.118,-.396),l(-.135,-.366),l(-.973,.048),l(-.141,-.07),l(-.399,-.633),l(-.258,-.196),l(-2.44,-1.101),l(-1.14,-.473),l(-2.034,-.934),l(-.757,-.222),l(-1.129,-.459),l(-.093,-.056),l(-.093,-.056),l(-.311,-.69),l(-.87,-1.632),
-N(479.916,127.377),l(-.082,-.085),l(.047,-.122),l(-.021,-.183),l(-.201,-.128),l(-.183,-.346),l(.398,-.209),l(.041,-.099),l(.526,-.396),l(-.048,-.058),l(-.223,-.099),l(.077,-.151),l(.298,-.25),l(.599,-.006),l(-.14,-.146),l(-.035,-.046),l(.078,-.111),l(.177,-.163),l(.169,-.116),l(.299,-.239),l(-.068,-.058),l(.023,-.163),l(-.09,-.047),l(-.031,-.221),l(-.241,-.157),l(-.222,-.058),l(.204,-.204),l(-.125,-.052),l(-.053,-.116),l(-.12,.058),l(-.335,.052),l(-.388,-.023),l(-.225,-.564),l(.129,-.593),l(.072,-.064),l(-.1,-.507),l(-.42,-.326),l(.126,-.093),l(.036,-.152),l(.117,-.128),l(-.093,-.222),l(.107,-.012),l(.259,-.32),l(-.061,-.112),l(.311,-.001),l(.39,.125),l(.114,-.127),l(.171,.041),l(.2,-.169),l(.156,-.374),l(.627,-.127),l(-.243,-.423),l(-.102,-.452),l(.055,-.319),l(.142,.035),l(.222,-.001),l(.777,.166),l(.575,.025),l(.746,-.075),l(.929,-.373),l(.278,-.03),l(1.532,.444),l(.556,.153),l(1.104,-.176),l(.567,-.13),l(1.498,-.673),l(.439,-.073),l(.747,.123),l(.711,.039),l(1.185,-.224),l(.693,-.304),l(.24,-.292),l(.207,.023),l(.064,.245),l(.059,.24),l(-.944,.883),l(-.457,.371),l(-.866,.174),l(-.31,.214),l(-.23,.355),l(-.009,.255),l(.187,.508),l(.024,.467),l(-.589,2.701),l(-5.257,2.711),l(-.161,.071),l(-2.96,1.541),l(-1.139,.656),l(-.253,.016),l(-.365,-.167),l(-1.902,-1.034),
-N(426.068,126.434),l(-.093,.981),l(.064,.564),l(-.093,.269),l(-.802,.428),l(-.579,.314),l(-1.473,1.138),l(-.126,.354),l(.274,.973),l(-.147,.537),l(-.155,.227),l(-.864,.598),l(-.22,.143),l(-.564,-1.536),l(-.699,-2.242),l(-.323,-.464),l(-.363,-.252),l(-.432,-.181),l(-.484,-.831),l(-.225,-.465),l(-.363,-.28),l(-.452,-.097),l(-.336,-.774),l(-.301,-.888),l(.112,-.509),l(1,-.853),l(.414,-.355),l(.163,-.411),l(.048,-.537),l(-.052,-.594),l(-.026,-.892),l(-.012,-1.429),l(.114,-.439),l(.685,-.627),l(.012,-.184),l(.508,-.185),l(.633,-.455),l(.591,-.228),l(.703,-.016),l(.643,.183),l(.247,.212),l(.059,.241),l(.25,.538),l(.27,.084),l(.417,-.171),l(.584,-.44),l(.401,-.17),l(.034,.354),l(-.265,.567),l(-.638,.511),l(-.275,.468),l(.005,.283),l(.202,.438),l(.508,.466),l(.351,.127),l(.303,.848),l(-.094,.212),l(-.541,.764),l(-.59,.34),l(-1.017,.92),l(-.216,.339),l(.287,.451),l(.587,.55),l(.528,.295),l(.284,.056),l(.396,-.227),l(.316,.084),l(.244,.635),l(.582,.239),
-N(381.402,139.704),l(-.027,-.876),l(.069,-2.006),l(.037,-.382),l(.686,-.314),l(1.512,-.998),l(.963,-.542),l(1.265,.078),l(.397,-.059),l(.181,-.693),l(.864,-.033),l(.777,-.174),l(.527,-.229),l(.524,-.356),l(.484,-.652),l(1.109,-.332),l(1.52,-.701),l(.129,-.227),l(-.296,-.62),l(-.025,-.396),l(.079,-.227),l(.265,-.114),l(1.186,-.12),l(.381,-.186),l(.309,-.553),l(1.022,.022),l(.67,-.018),l(1.826,.004),l(.34,-1.033),l(-.07,-.211),l(-.507,-.322),L(397,126.646),l(-.158,-.465),l(.016,-1.271),l(.022,-.833),l(-.165,-.889),l(-.189,-.211),l(-.563,-.279),l(-.259,-.508),l(.351,0),l(.66,-.143),l(.541,-.256),l(.369,-.566),l(.405,-.312),l(.509,-.086),l(.407,-.157),l(.679,-.27),l(.324,.226),l(.176,.017),l(.249,.024),l(.238,-.142),l(.407,-.51),l(.613,-.426),l(.682,-.355),l(.614,-.171),l(1.16,-.116),l(1.587,-.06),l(.513,-.072),l(.634,-.312),l(.578,.211),l(.564,-.072),l(.585,-.313),l(.343,-.1),l(.939,.012),l(.513,-.015),l(.307,.056),l(.221,.042),l(.322,.113),l(.816,.168),l(.529,-.015),l(.772,-.171),l(.705,-.2),l(.612,-.554),l(.994,.508),l(.339,.099),l(.312,-.143),l(.314,-.241),l(.228,-.156),l(.528,.042),l(.388,.197),l(.162,.269),l(.269,.126),l(.516,-.086),l(1.093,-.158),l(-.012,.184),l(-.685,.627),l(-.114,.439),l(.012,1.429),l(.026,.892),l(.052,.594),l(-.048,.537),l(-.163,.411),l(-.414,.355),l(-1,.853),l(-.112,.509),l(.301,.888),l(.336,.774),l(.452,.097),l(.363,.28),l(.225,.465),l(.484,.831),l(.432,.181),l(.363,.252),l(.323,.464),l(.699,2.242),l(.564,1.536),l(-.204,.156),l(-.241,.383),l(.88,1.605),l(.147,.833),l(.052,.691),l(-.1,.862),l(.101,.748),l(-.16,.622),l(-.158,.495),l(.457,1.156),l(-.061,.664),l(-.086,.17),l(-.666,.47),l(-.249,.128),l(-.152,.283),l(1.272,1.702),l(.249,.917),l(.562,.873),l(.244,.154),l(.544,-.201),l(.702,.165),l(1.028,.347),l(.178,.168),l(.86,1.506),l(.098,.07),l(-.265,.186),l(-1.632,.843),l(-4.012,2.241),l(-1.607,.956),l(-2.308,1.454),l(-.834,.655),l(-3.084,2.617),l(-1.82,.364),l(-1.672,.321),l(-2.176,.408),l(-.146,-.564),l(.161,-.679),l(-.099,-.522),l(-.277,-.352),l(-.309,-.111),l(-.748,-.024),l(-.375,-.167),l(-.588,-.562),l(-.47,.314),l(-.229,-.027),l(-1.111,-1.039),l(-.393,-.28),l(-.082,-.183),l(.096,-.396),l(-.181,-.253),l(-2.472,-1.469),l(-.397,-.253),l(-1.292,-.824),l(-1.924,-1.26),l(-3.283,-2.241),l(-.811,-.575),l(-2.054,-1.344),l(-.895,-.531),l(-.1,-.084),l(-1.414,-.91),l(-4.12,-2.42),l(-2.829,-1.509),
-N(395.704,122.189),l(.259,.508),l(.563,.279),l(.189,.211),l(.165,.889),l(-.022,.833),l(-.016,1.271),l(.158,.465),l(.598,.788),l(.507,.322),l(.07,.211),l(-.34,1.033),l(-1.826,-.004),l(-.67,.018),l(-1.022,-.022),l(-.309,.553),l(-.381,.186),l(-1.186,.12),l(-.265,.114),l(-.079,.227),l(.025,.396),l(.296,.62),l(-.129,.227),l(-1.52,.701),l(-1.109,.332),l(-.484,.652),l(-.524,.356),l(-.527,.229),l(-.777,.174),l(-.864,.033),l(-.181,.693),l(-.397,.059),l(-1.265,-.078),l(-.963,.542),l(-1.512,.998),l(-.686,.314),l(-.037,.382),l(-.069,2.006),l(-1.42,.008),l(-1.718,-.004),l(-2.677,.001),l(-2.511,0),l(-1.635,.04),l(.141,-.28),l(.431,-.411),l(.427,-.085),l(1.296,-.285),l(1.143,-.455),l(.453,-.312),l(1.147,-.85),l(1.149,-.878),l(1.043,-1.104),l(.46,-.693),l(.133,-.509),l(-.05,-.494),l(-.427,-.776),l(-.09,-.678),l(.099,-.508),l(.396,-.636),l(.706,-.863),l(.211,-.65),l(-.063,-.367),l(.071,-.353),l(1.285,-1.203),l(.724,-.481),l(.916,-.327),l(1.266,-.469),l(.73,-.397),l(.558,-.552),l(.537,-.736),l(.466,-.905),l(.829,-1.925),l(.269,-.128),l(.54,-.171),l(.19,.127),l(.684,.848),l(.138,.099),l(1.148,.507),l(.661,-.001),l(.595,.042),l(1.304,-.074),l(.522,-.228),l(.437,-.27),l(.398,.551),l(.256,.099),l(.798,.097),l(.361,0),
-N(480.248,123.437),l(.388,.023),l(.335,-.052),l(.12,-.058),l(.053,.116),l(.125,.052),l(-.204,.204),l(.222,.058),l(.241,.157),l(.031,.221),l(.09,.047),l(-.023,.163),l(.068,.058),l(-.299,.239),l(-.169,.116),l(-.177,.163),l(-.078,.111),l(.035,.046),l(.14,.146),l(-.599,.006),l(-.298,.25),l(-.077,.151),l(.223,.099),l(.048,.058),l(-.526,.396),l(-.041,.099),l(-.398,.209),l(-.07,-.023),l(-.088,.041),l(-.067,.193),l(-.009,.167),l(-.355,.07),l(-.07,-.099),l(-.151,-.022),l(-.372,.051),l(.26,-.291),l(.097,-.361),l(.169,-.227),l(.328,-.681),l(-.017,-.232),l(.181,0),l(.138,-.192),l(.072,-.32),l(.018,-.32),l(.409,-.431),l(.232,-.07),l(.116,-.174),l(-.048,-.157),
-N(184.444,142.729),l(-.367,.82),l(-.518,.821),l(-.186,.763),l(-.179,1.159),l(.017,1.851),l(-.133,1.187),l(-.016,1.13),l(.564,1.737),l(.275,.805),l(.624,.945),l(.76,.903),l(.191,.452),l(.481,.521),l(.529,.974),l(.729,1.228),l(.375,.296),l(.677,.069),l(.436,-.015),l(.577,.154),l(.593,.451),l(.503,.508),l(.773,.069),l(1.016,-.242),l(1.55,-.456),l(1.396,-.3),l(.803,-.157),l(-.02,.542),l(.838,.223),l(.264,-.286),l(.293,-.199),l(-.104,-.247),l(-.393,-.175),l(1.073,-.62),l(.633,-.62),l(.086,-.827),l(.498,-.429),l(-.094,-.477),l(.092,-1.145),l(.254,-.699),l(.625,-.334),l(.164,-.043),l(.757,-.198),l(.701,-.1),l(1.088,-.229),l(1.016,-.37),l(.594,-.058),l(.499,.056),l(1.139,.181),l(.502,-.194),l(.378,.093),l(.62,.507),l(.047,.297),l(-.079,.424),l(-.298,.382),l(-.541,.496),l(-.433,.425),l(-.317,.445),l(-.02,.7),l(-.254,.297),l(-.188,.354),l(.155,.155),l(.337,-.138),l(-.101,.652),l(-.262,1.196),L(205.356,159),l(-.062,.24),l(-.34,-.534),l(-.167,-.452),l(-.072,-.155),l(-.386,.34),l(-.02,.549),l(-.437,.016),l(-.178,.447),l(-.599,.857),l(-.386,-.27),l(-.278,.095),l(.025,.329),l(-2.332,-.006),l(-1.792,-.005),l(-.04,1.24),l(-.999,.032),l(.396,.223),l(.495,.541),l(.624,.231),l(.359,.69),l(.532,.223),l(-.211,.683),l(-1.762,-.007),l(-1.06,.007),l(-1.076,1.812),l(.305,.397),l(-.207,.238),l(.054,.553),l(.044,.454),l(-.704,-.555),l(-.952,-.888),l(-.956,-.761),l(-1.069,-.859),l(-.534,-.352),l(-.053,-.071),l(-.639,-.252),l(-1.048,-.21),l(-.657,.044),l(-.817,.397),l(-1.1,.567),l(-.756,.256),l(-.931,-.069),l(-.724,-.21),l(-.48,-.197),l(-1.305,-.195),l(-.588,-.267),l(-.644,-.422),l(-.935,-.521),l(-.785,-.267),l(-1.711,-.392),l(-.963,-.365),l(-.722,-.366),l(-1.074,-.436),l(-.592,-.352),l(-1.123,-1),l(-.207,-.07),l(-.606,.058),l(-.689,-.14),l(-1.835,-.575),l(-.565,-.536),l(-.503,-.634),l(-.495,-.395),l(-1.049,-.577),l(-.619,-.267),l(-.5,-.494),l(-.742,-.987),l(-.363,-.55),l(-.038,-.113),l(.15,-.155),l(.504,-.086),l(.18,-.17),l(.047,-.184),l(-.331,-.367),l(.457,-.679),l(.041,-.381),l(-.172,-.466),l(-.744,-.959),l(.121,-.297),l(.146,-.17),l(-.07,-.268),l(-.665,-.62),l(-1.495,-1.777),l(-.546,-.493),l(-.963,-1.058),l(-.474,-.522),l(-.815,-.578),l(-.322,-.197),l(-.158,-.268),l(-.058,-.48),l(-.144,-.183),l(-.329,-.197),l(-.609,-.197),l(-.408,-.31),l(-.366,-.522),l(-.271,-.028),l(-.414,.114),l(-.238,-.155),l(-.163,-.367),l(-.005,-.325),l(.459,-.736),l(-.126,-.339),l(-.751,-.62),l(-.439,.255),l(-.375,-.621),l(-.118,-.353),l(-.359,-.211),l(-.61,-.168),l(-.319,-.296),l(-.125,-.254),l(.05,-.381),l(.084,-.269),l(-.185,-.226),l(-.561,-.21),l(-.46,-.098),l(-.46,-.253),l(-.935,-.86),l(-.478,-.706),l(-.281,-.551),l(-.646,-.832),l(-.736,-1.073),l(-.184,-.423),l(-.38,-.678),l(-.242,-.338),l(-.152,-.452),l(.042,-.509),l(.032,-.311),l(-.56,-.239),l(-.795,-.196),l(-.06,-.452),l(-.128,-.155),l(-.458,-.183),l(-.289,.326),l(-.251,.043),l(-1.43,-.647),l(-.285,1.004),l(-.045,.438),l(.033,.084),l(.265,.339),l(.264,.296),l(.028,1.046),l(.088,.509),l(.51,.677),l(.143,.169),l(.643,.267),l(.601,.536),l(.525,.663),l(.602,1.214),l(.44,.282),l(.328,.042),l(.237,.169),l(.325,1.398),l(.102,.169),l(.246,.155),l(.497,.056),l(.133,.056),l(.215,.438),l(.161,.65),l(.445,.79),l(.49,-.071),l(.223,-.142),l(.245,.452),l(.344,1.469),l(.531,1.059),l(.649,1.2),l(.069,.593),l(-.014,.522),l(.26,.353),l(.378,.154),l(.389,-.17),l(.234,-.198),l(.588,.804),l(.258,.579),l(.464,.253),l(.281,.014),l(.133,.311),l(-.196,.537),l(-.136,.127),l(-.691,.595),l(-.254,-.042),l(-.251,-.409),l(-.24,-.734),l(-.617,-.578),l(-.625,-.309),l(-.516,-.479),l(-.834,-.507),l(-1.143,-.986),l(-.416,-.451),l(-.162,-.269),l(.216,-.989),l(-.035,-.254),l(-.488,-1.002),l(-.238,-.381),l(-.327,-.282),l(-.44,-.098),l(-.5,-.31),l(-.675,-.677),l(-.305,.142),l(-.363,-.056),l(-1.262,-.746),l(-.722,-.31),l(-.896,-.973),l(-.139,-.127),l(-.246,-.254),l(.679,.15),l(.599,.013),l(.588,-.284),l(.244,-.326),l(.093,-.636),l(-.01,-.184),l(-.458,-.635),l(-.466,-.452),l(-1.1,-.888),l(-.986,-.493),l(-.402,-.338),l(-.203,-.522),l(-.272,-.649),l(-.091,-.155),l(-.447,-.126),l(-.15,-.353),l(-.026,-.594),l(-.203,-.395),l(-.623,-.734),l(-.434,-.706),l(-.003,-.254),l(.212,-.382),l(-.777,-.62),l(-.254,-.325),l(-.22,-.485),l(.34,-.017),l(2.367,-.155),l(2.381,-.084),l(.316,.31),l(.267,.154),l(1.186,.39),l(2.811,.933),l(3.516,1.112),l(.338,.055),l(1.662,.019),l(1.544,.02),l(.966,.037),l(1.867,-.011),l(.213,-.101),l(.096,-.892),l(1.858,.003),l(1.892,.046),l(.209,.112),l(.631,.662),l(.766,.632),l(.837,.519),l(.708,.491),l(.179,.226),l(.284,.678),l(.318,.847),l(.445,.549),l(1.092,.659),l(1.104,.503),l(.337,.069),l(.501,.011),l(.416,-.158),l(.283,-.37),l(.418,-.413),l(.576,-.541),l(.468,-.201),l(.643,-.018),l(.475,.082),l(.783,.321),l(.412,.252),l(.363,.366),l(.663,1.029),l(.744,1.227),l(.845,1.042),l(.657,.576),l(.268,.253),l(.078,.467),l(.332,.932),l(.336,.592),l(.375,.365),l(.921,.32),l(1.029,.56),l(.264,.069),l(.416,-.116),l(.296,-.001),l(.816,.377),l(.347,.119),
-N(507.047,133.665),l(.055,.197),l(.134,.691),l(-.336,-.028),l(-.513,.513),l(.421,.194),l(.418,-.206),l(.306,.021),l(.698,1.84),l(-.644,.044),l(-1.07,-.05),l(-.185,-.239),l(-.334,-.619),l(-.408,-.054),l(-1.657,-.259),l(.521,-.568),l(.463,-.609),l(.343,-.693),l(.518,-.13),l(1.271,-.044),
-N(606.155,150.953),l(.595,.152),l(.255,.14),l(.25,-.129),l(.273,-.368),l(.015,-.678),l(-.152,-.93),l(.228,-.185),l(.401,-.144),l(.191,-.354),l(-.146,-1.594),l(.133,-.283),l(.811,.32),l(.391,.11),l(.309,.013),l(.17,-.128),l(1.148,-2.25),l(0,-.324),l(-.192,-.408),l(.045,-.212),l(.938,-1.134),l(.136,-.382),l(-.057,-.761),l(.197,-.354),l(1.446,-.883),l(.719,-.512),l(.312,-.129),l(.558,.082),l(.853,.221),l(.295,-.058),l(-.184,-.718),l(.072,-.283),l(.596,-.582),l(.112,-.24),l(.018,-.508),l(.001,-.127),l(.306,-.34),l(.277,-.044),l(.504,.279),l(.397,.435),l(.243,.901),l(.217,.309),l(.287,.041),l(.504,-.031),l(.146,.14),l(.195,1.649),l(.02,.875),l(-.353,.862),l(-.429,.722),l(-.611,.525),l(-.487,.271),l(-.191,.198),l(-.617,.85),l(.075,.465),l(.163,.705),l(-.224,.58),l(0,.268),l(.216,.069),l(.312,-.086),l(.819,-.442),l(.771,-.089),l(.479,-.017),l(.156,.126),l(.277,1.762),l(.202,.324),l(.554,-.074),l(.521,.096),l(.033,.268),l(-.729,1.584),l(.117,.352),l(.228,.098),l(.507,-.003),l(.481,-.045),l(.291,.379),l(.341,.746),l(.378,.266),l(.246,.083),l(.647,-.159),l(.628,-.413),l(.111,.38),l(.153,.239),l(-.502,.355),l(-.53,.61),l(-.442,.581),l(-.582,.455),l(-.193,.185),l(-.08,.085),l(-.158,.071),l(-.645,.06),l(-.436,.172),l(-.528,.342),l(-.394,.595),l(-1.078,.316),l(-.62,.018),l(-.474,-.082),l(-.362,.411),l(-.143,.368),l(-.036,.819),l(-.114,.509),l(.064,.409),l(-.086,.24),l(-.163,.001),l(-.588,.131),l(.739,.884),l(.069,.183),l(.112,.875),l(.254,.14),l(1.091,.953),l(.148,.324),l(.646,1.041),l(.163,.338),l(-.194,.241),l(-.451,.229),l(-.128,.226),l(.231,1.185),l(-.171,.198),l(-.812,.428),l(.178,.38),l(.6,1.436),l(.54,.477),l(.606,.604),l(.203,.479),l(.088,.663),l(-.086,.636),l(.006,.254),l(.488,1.183),l(.586,1.225),l(-.077,.297),l(-1.011,1.559),l(-1.01,1.7),l(-.098,.374),l(-.359,-.181),l(-.075,-.805),l(.461,-.665),l(.174,-.495),l(.122,-.777),l(.287,-.466),l(-.512,-.027),l(-.104,-.084),l(-.004,-.282),l(.195,-.509),l(-.177,-1.524),l(-.246,-.832),l(-.639,-1.185),l(-.488,-1.312),l(-.347,-.846),l(-.179,-.875),l(-.174,-1.736),l(-.117,-.677),l(-.034,-.564),l(-.051,-.212),l(-.344,-.084),l(-.148,-.098),l(-.304,-.917),l(-.516,-.677),l(-.226,-.225),l(-.247,.029),l(-.081,.988),l(-.158,.424),l(-.43,.41),l(-.59,.284),l(-1.089,.511),l(-.359,.622),l(-.298,.297),l(-.196,.142),l(-.237,-.282),l(-.007,-.438),l(-.212,.015),l(-.338,.354),l(-.321,-.013),l(-.166,-.211),l(.147,-.495),l(-.001,-.113),l(-.621,.171),l(-.276,.127),l(-.247,.283),l(-.355,-.126),l(-.002,-.466),l(.553,-1.54),l(.162,-.791),l(.001,-.889),l(-.101,-1.059),l(-.384,-.973),l(-.431,-1.072),l(-.196,-.296),l(-.281,.537),l(-.32,-.126),l(-.526,-.366),l(.482,-.17),l(.312,-.015),l(-.149,-.479),l(-.054,-.268),l(-.684,-.775),l(-.182,-.183),l(-.19,-.028),l(-.407,.1),l(-.38,-.267),l(.086,-.438),l(-.026,-.141),l(-.209,-.112),l(-.365,.043),l(-.577,-.465),l(-.504,-.606),l(-.117,-.244),l(.252,-.341),l(.801,-.527),l(-.194,-1.607),
-N(605.297,153.429),l(-.126,-.264),l(-.269,-.55),l(-.223,-1.213),l(-.611,-1.41),l(-.357,-.395),l(-.73,.354),l(-.393,0),l(-.034,-.084),l(-.242,-.211),l(-.356,-.592),l(-.124,-.042),l(-.152,.127),l(-.026,.537),l(.374,.79),l(-.006,.424),l(-.143,.169),l(-.455,.086),l(-.235,.537),l(-.261,.1),l(-.255,-.437),l(-.311,-.395),l(-.073,-.057),l(-.163,.669),l(-.28,.249),l(-.203,.043),l(-.271,-.536),l(-.495,.636),l(-.359,-.265),l(-.147,-.532),l(-.402,-1.775),l(-.325,-1.409),l(-.352,-.45),l(-.04,-.254),l(.505,-.765),l(.029,-.269),l(-.193,-.21),l(-1.042,-.431),l(-.339,-.323),l(.548,-.61),l(.4,-.299),l(.502,-.13),l(.382,-.101),l(.047,-.155),l(-.126,-.112),l(-1.224,-.938),l(-.494,-.237),l(-.083,-.155),l(.124,-.283),l(.555,-.525),l(.234,-.171),l(1.252,.303),l(.339,.266),l(.372,.266),l(.489,-.06),l(.417,.054),l(.129,.324),l(.053,.479),l(.079,.719),l(.095,.099),l(.537,.109),l(.547,.053),l(.916,-.062),l(.559,-.003),l(2.473,.198),l(.111,.098),l(.057,.127),l(-.012,.79),l(-.159,.34),l(-.938,.767),l(-.498,.13),l(-.651,.356),l(-.131,.283),l(.009,.522),l(.001,.381),l(.23,.281),l(.249,.267),l(.529,.448),l(.224,-.354),l(.395,-1.159),l(.281,-.115),l(.4,-.044),l(.064,.578),l(.627,2.479),l(.037,.466),l(.194,1.607),l(-.801,.527),l(-.252,.341),
-N(627.408,186.411),l(-.086,.337),l(-.495,.35),l(-.11,.575),l(-.644,.089),l(-.05,-.478),l(-.309,-.163),l(-.279,.28),l(-.244,.394),l(-.204,-.083),l(-.118,-.239),l(.213,-.398),l(-.041,-.21),l(-.055,-.226),l(-.261,-.238),l(-.447,-.119),l(-.106,-.466),l(-.571,.013),l(-.448,.17),l(.013,-.104),l(.128,-.297),l(-.15,-.183),l(-.411,.212),l(-.301,-.07),l(-.38,-.38),l(-.116,-.508),l(.064,-.282),l(-.151,-.438),l(-.229,-.169),l(-.388,.043),l(-.39,-.719),l(-.209,-.508),l(-.3,-.324),l(-.311,-.155),l(-.456,-.395),l(-.343,.1),l(-.218,.142),l(-.216,-.381),l(-.04,-.607),l(.163,-.749),l(.559,-1.738),l(.29,-.848),l(-.087,-.044),l(.098,-.374),l(1.01,-1.7),l(1.011,-1.559),l(.077,-.297),l(-.586,-1.225),l(-.488,-1.183),l(-.006,-.254),l(.086,-.636),l(-.088,-.663),l(-.203,-.479),l(-.606,-.604),l(-.54,-.477),l(-.6,-1.436),l(-.178,-.38),l(.812,-.428),l(.171,-.198),l(-.231,-1.185),l(.128,-.226),l(.451,-.229),l(.194,-.241),l(-.163,-.338),l(-.646,-1.041),l(-.148,-.324),l(-1.091,-.953),l(-.254,-.14),l(-.112,-.875),l(-.069,-.183),l(-.739,-.884),l(.588,-.131),l(.163,-.001),l(.086,-.24),l(-.064,-.409),l(.114,-.509),l(.036,-.819),l(.143,-.368),l(.362,-.411),l(.474,.082),l(.62,-.018),l(1.078,-.316),l(.394,-.595),l(.528,-.342),l(.436,-.172),l(.645,-.06),l(.158,-.071),l(.08,-.085),l(.541,.166),l(.295,.182),l(.118,.168),l(.01,.423),l(-.106,.805),l(.066,.367),l(.186,.154),l(.423,-.003),l(.489,-.2),l(.414,-.045),l(.045,.113),l(.249,1.311),l(-.085,.41),l(-.528,1.569),l(-.117,.438),l(-.027,.494),l(.145,.324),l(.481,.138),l(.37,-.411),l(1.173,-1.178),l(.346,-.03),l(.835,.348),l(.59,.265),l(.223,-.072),l(.543,-.257),l(.2,-.538),l(.286,-.453),l(.403,.012),l(.893,.192),l(.266,.153),l(.052,.282),l(.285,.535),l(.688,.659),l(.435,.632),l(.058,1.524),l(.107,.366),l(.255,.464),l(.979,1.279),l(.419,.703),l(.157,.507),l(.002,.945),l(-.121,.438),l(-.808,.64),l(-.301,-.167),l(-.599,-.109),l(-.575,-.039),l(-.558,.074),l(-.798,-.066),l(-1.172,.091),l(-.383,.101),l(-.521,.441),l(-.92,1.233),l(-.146,.297),l(-.076,.382),l(.026,.635),l(.219,.648),l(.487,.717),l(.16,.479),l(-.146,.176),l(-.026,-.063),l(-.286,-.183),l(-.458,-.084),l(-.9,-.887),l(-.434,-.154),l(-.304,-.014),l(-.572,.227),l(-.391,-.112),l(-.29,-.141),l(-.337,-.014),l(0,-.282),l(.19,-1.243),l(-.107,-.184),l(-.719,-.055),l(-.248,-.084),l(-.521,.043),l(-.443,.212),l(-.244,.297),l(.207,.593),l(-.103,.339),l(-.318,.707),l(.083,.579),l(.054,.41),l(-.293,.664),l(-.583,1.187),l(-.7,1.682),l(-.255,1.314),l(.104,1.171),l(.172,.296),l(.229,.169),l(.55,-.072),l(.396,-.142),l(.252,.07),l(.135,.353),l(.009,.325),l(-.08,.466),l(.141,.282),l(.178,.211),l(.271,-.094),l(.17,.46),l(.209,.974),l(-.032,.254),l(.127,.737),l(.434,.871),l(.167,.155),l(.801,.281),l(.539,.112),l(.467,-.058),l(.294,.197),l(.266,.612),l(.664,.544),l(.212,.145),
-N(204.31,158.989),l(-.175,.412),l(.612,-.173),l(.026,.429),l(-.419,1.241),l(.178,.269),l(-.237,.795),l(.189,.318),l(-.092,.397),l(-.358,.875),l(-.3,.35),l(-.36,.032),l(-.054,.286),l(-.388,.238),l(0,.286),l(-.69,.016),l(.215,-4.297),l(-.025,-.329),l(.278,-.095),l(.386,.27),l(.599,-.857),l(.178,-.447),l(.437,-.016),
-N(200.276,169.481),l(-.151,-.056),l(-.928,-.342),l(-.614,.032),l(-.766,-.032),l(-.608,-.239),l(-.909,-.656),l(-.513,-.419),l(-.044,-.454),l(-.054,-.553),l(.207,-.238),l(-.305,-.397),l(1.076,-1.812),l(1.06,-.007),l(1.762,.007),l(.211,-.683),l(-.532,-.223),l(-.359,-.69),l(-.624,-.231),l(-.495,-.541),l(-.396,-.223),l(.999,-.032),l(.04,-1.24),l(1.792,.005),l(2.332,.006),l(-.215,4.297),l(.69,-.016),l(.303,.095),l(.311,.302),l(.14,-.191),l(-.066,-.381),l(.336,.157),l(.458,.367),l(-1.507,1.208),l(-.499,.238),l(-.177,.493),l(.162,.604),l(-.438,.302),l(-.467,.048),l(-.043,.254),l(.164,.159),l(-.351,.111),l(-.184,.302),l(-.22,-.016),l(-.565,.461),l(-.012,.223),
-N(204.413,165.093),l(.312,-.03),l(.612,-.27),l(.639,-.058),l(.743,.126),l(.478,.069),l(1.443,.04),l(.699,-.228),l(.379,-.199),l(.567,.267),l(.788,-.03),l(.763,-.101),l(.63,-.001),l(.5,.126),l(.564,.253),l(-.038,.353),l(-.102,.226),l(.228,.282),l(.787,.238),l(.557,.069),l(.244,.524),l(-1.425,.486),l(-.424,.229),l(-.248,.086),l(-.463,-.097),l(-.328,-.182),l(-.259,-.013),l(-.294,.242),l(-.503,.794),l(-1.207,.997),l(-.725,-.42),l(-.513,.583),l(-.882,.034),l(-.005,.961),l(-.293,.412),l(-.29,.143),l(-1.001,.125),l(-.311,-.661),l(-.025,-.085),l(-.478,-.3),l(.085,-.731),l(-.128,-.175),l(-.272,0),l(-.541,-.276),l(-.433,.34),l(-.365,-.016),l(-.066,-.271),l(-.565,-.35),l(-.409,-.08),l(-.208,-.418),l(-.677,-.17),l(.438,-.302),l(-.162,-.604),l(.177,-.493),l(.499,-.238),l(1.507,-1.208),
-N(205.532,170.085),l(.035,.076),l(-.203,.057),l(.01,.265),l(-.237,.334),l(-.68,-.046),l(-.853,-.139),l(-1.697,-.505),l(-1.305,-.435),l(-.325,-.21),l(.012,-.223),l(.565,-.461),l(.22,.016),l(.184,-.302),l(.351,-.111),l(-.164,-.159),l(.043,-.254),l(.467,-.048),l(.677,.17),l(.208,.418),l(.409,.08),l(.565,.35),l(.066,.271),l(.365,.016),l(.433,-.34),l(.541,.276),l(.272,0),l(.128,.175),l(-.085,.731),
-N(242.38,173.617),l(-.128,-.105),l(-.84,.171),l(-.534,.156),l(-.414,.2),l(-.056,.288),l(.048,.497),l(-.129,.396),l(-.227,-.027),l(-.381,.059),l(-.99,1.758),l(-.172,.722),l(-.241,.722),l(-.709,1.191),l(.402,.025),l(.234,-.1),l(.384,-.017),l(.31,.606),l(.855,1.45),l(.103,.395),l(-.226,1.132),l(.099,.353),l(.401,.309),l(.429,.548),l(.397,.252),l(.496,-.017),l(1.163,-.12),l(1.167,-.05),l(.521,.181),l(.64,.321),l(.188,.253),l(.847,.998),l(.554,.576),l(.144,0),l(.522,-.13),l(.76,-.174),l(1.99,-.224),l(.644,.081),l(-.409,.525),l(-.085,1.004),l(-.379,.511),l(-.147,.326),l(.026,.254),l(.035,.438),l(.048,.367),l(.162,.804),l(.447,.789),l(.256,.437),l(.486,.647),l(.121,.282),l(-.731,.612),l(-.479,.526),l(.51,.491),l(.797,1.182),l(-.52,.286),l(-.834,.57),l(-.412,.158),l(-.463,.017),l(-2.812,-.082),l(-.64,-.024),l(-.042,.325),l(-.013,1.031),l(.178,.154),l(.896,.122),l(.177,.084),l(.293,.408),l(.052,.367),l(-.384,-.04),l(-.417,-.11),l(-.687,.032),l(-.493,.187),l(-.111,.085),l(-.001,1.071),l(0,.554),l(.192,.197),l(.688,.363),l(.192,.183),l(-.031,.777),l(.399,.562),l(.031,.212),l(-.326,1.428),l(-.706,4.411),l(-.073,.382),l(-.133,.198),l(-.156,-.14),l(-.575,-.703),l(-.237,-.126),l(-.161,.058),l(-.448,.031),l(1.155,-1.956),l(.035,-.198),l(-.127,-.069),l(-1.299,-.84),l(-.509,-.209),l(-.708,.442),l(-.397,-.182),l(-.523,-.421),l(-.452,.427),l(-.337,.157),l(-.496,.031),l(-1.038,-.008),l(-.573,-.152),l(-.092,-.281),l(.004,-.396),l(-.173,-.296),l(-.479,-.039),l(-.366,-.14),l(-.078,-.282),l(-.251,-.761),l(-.988,-.672),l(-.526,-.364),l(-.208,-.62),l(-.208,-.324),l(-.513,-.435),l(-.897,-.418),l(-.927,-.107),l(-.081,-.112),l(-.269,-.162),l(-.197,-.118),l(-.709,-.631),l(-.128,-.056),l(-.89,.401),l(-.67,.061),l(-.977,-.277),l(-.355,-.309),l(-.166,-.493),l(-.227,-.225),l(-1.432,-.656),l(-1.496,-.803),l(.033,-.068),l(-.117,-.311),l(-.181,-.282),l(.108,-.212),l(.509,-.114),l(.465,.112),l(.186,-.325),l(-.348,-.564),l(.086,-.424),l(.314,-.227),l(.878,-.058),l(.193,.042),l(.41,-.227),l(.445,-.679),l(.45,-.961),l(.651,-1.061),l(-.122,-.268),l(-.56,-.408),l(-.071,-.184),l(.306,-.721),l(.089,-.523),l(-.149,-.861),l(-.371,-.86),l(.085,-.254),l(.49,-.143),l(.135,-.212),l(-.088,-.198),l(-.565,-.479),l(-.042,-.226),l(.103,-.198),l(.242,-.326),l(.036,-.254),l(-.173,-.282),l(-.739,-.719),l(-.364,-.396),l(.256,-.753),l(.228,-.082),l(-.045,-.45),l(.19,.082),l(.085,.307),l(.584,-.409),l(.094,-.43),l(.322,-.062),l(-.509,-1.038),l(-.228,-.149),l(-.084,-.327),l(.142,.075),l(.42,.338),l(.397,.507),l(.22,.508),l(.235,.197),l(.199,-.17),l(.147,-.241),l(-.332,-.776),l(.02,-.212),l(.176,-.297),l(.445,-.34),l(.399,-.297),l(.501,-.736),l(.327,-.156),l(.684,-.101),l(.217,-.382),l(-.104,-.381),l(.174,-.777),l(.067,-.65),l(.207,-.48),l(.498,-.439),l(.429,-.283),l(.592,-.242),l(.113,0),l(.374,.206),l(.22,.443),l(.281,-.34),l(.031,-.438),l(.199,-.551),l(.22,-.071),l(.267,.126),l(.855,.041),l(.562,-.001),l(.623,-.27),l(.237,-.254),l(.476,-.298),l(.848,-.256),l(.435,-.396),l(.278,-.551),l(.333,-.255),l(.469,-.17),l(.58,.013),l(.526,.338),l(.155,.126),l(.155,.339),l(-.285,.332),
-N(408.6,174.04),l(-.062,.777),l(.164,.762),l(.388,.718),l(-.316,.962),l(-.19,.566),l(-.223,.298),l(-.656,.414),l(-.095,.34),l(.116,.592),l(-.078,.368),l(-.433,.13),l(-.257,.03),l(-.237,.397),l(.002,.381),l(.003,.48),l(-.012,.876),l(-.09,.989),l(.217,1.439),l(-.121,1.188),l(.006,.234),l(-.333,.015),l(-1.232,.144),l(-.669,.052),l(-.106,-.205),l(-.295,-1.072),l(.188,-.708),l(.026,-.833),l(-.036,-.537),l(-.135,-.974),l(-.006,-.862),l(-.035,-.522),l(.013,-.579),l(-.442,-1.311),l(-.164,-.691),l(-.403,-.323),l(-.468,-.294),l(-.18,-.395),l(.141,-.594),l(.046,-.424),l(.062,-.142),l(.24,-.157),l(.366,-.553),l(.415,-.271),l(.418,-.045),l(.739,.095),l(.337,-.158),l(.415,-.468),l(.237,-.764),l(-.131,-.367),l(.577,-.3),l(.321,-.073),l(.339,.28),l(.727,.589),l(.902,.503),
-N(394.266,178.814),l(.191,-.17),l(-.02,-.41),l(-.261,-1.934),l(.125,-.34),l(.271,-.157),l(2.119,-.041),l(.867,.037),l(1.429,.006),l(.976,-.458),l(.161,.032),l(.595,.119),l(-.25,.849),l(.05,.254),l(.633,.915),l(.244,.451),l(-.188,.721),l(.02,.396),l(.265,1.114),l(.181,.592),l(.503,.788),l(.032,.155),l(-.286,.242),l(-.174,.382),l(.01,1.314),l(-.011,.72),l(.021,.551),l(.18,.479),l(.468,.577),l(.752,.608),l(-.503,.682),l(-.304,.099),l(-.593,-.013),l(-.992,.144),l(-.463,.185),l(-.188,.098),l(-.898,.469),l(-1.263,.398),l(-.942,.412),l(-.958,.567),l(-.578,-.324),l(-.945,-.436),l(-.074,-.124),l(-.066,-.741),l(-.554,-1.155),l(-.263,-.747),l(-.103,-.706),l(.327,-1.005),l(.437,-1.274),l(.521,-.851),l(.203,-.595),l(-.334,-1.438),l(-.189,-1.285),l(-.178,-.154),
-N(400.72,175.499),l(1.013,.163),l(.611,.166),l(.29,.041),l(-.046,.424),l(-.141,.594),l(.18,.395),l(.468,.294),l(.403,.323),l(.164,.691),l(.442,1.311),l(-.013,.579),l(.035,.522),l(.006,.862),l(.135,.974),l(.036,.537),l(-.026,.833),l(-.188,.708),l(.295,1.072),l(.106,.205),l(-.452,.035),l(-.479,.128),l(-.368,.212),l(-.023,.04),l(-.752,-.608),l(-.468,-.577),l(-.18,-.479),l(-.021,-.551),l(.011,-.72),l(-.01,-1.314),l(.174,-.382),l(.286,-.242),l(-.032,-.155),l(-.503,-.788),l(-.181,-.592),l(-.265,-1.114),l(-.02,-.396),l(.188,-.721),l(-.244,-.451),l(-.633,-.915),l(-.05,-.254),l(.25,-.849),
-N(383.772,190.418),l(.041,-.919),l(.105,-.565),l(.247,-.849),l(.059,-.452),l(-.131,-.282),l(-1.264,-1.334),l(-.592,.032),l(-.369,-.097),l(-.194,-.183),l(-.05,-.183),l(.501,-.865),l(.059,-.438),l(-.119,-.55),l(.062,-.17),l(.047,-.099),l(.602,-.554),l(.188,-.354),l(-.179,-.21),l(-.296,-.549),l(.03,-.127),l(.158,-.199),l(.304,-.03),l(.548,.223),l(.304,.012),l(.19,-.143),l(-.051,-.226),l(-.648,-.561),l(-.309,-.351),l(.332,-.37),l(.125,-.283),l(-.197,-.31),l(-.695,-.405),l(-.214,-.409),l(.264,-.623),l(.379,-.397),l(.522,-.54),l(.352,-.059),l(.566,.321),l(.455,.436),l(.35,-.228),l(.362,-.469),l(.571,-.483),l(.239,-.114),l(.257,.041),l(.147,.211),l(.004,.297),l(.117,.381),l(.148,.239),l(.352,-.059),l(.604,-.399),l(.159,-.1),l(.259,.168),l(.545,-.003),l(.308,.252),l(.15,.465),l(.52,.562),l(.452,.223),l(.354,.083),l(.368,-.115),l(.446,-.257),l(.608,-.159),l(.769,-.075),l(.644,.166),l(.63,.434),l(.178,.154),l(.189,1.285),l(.334,1.438),l(-.203,.595),l(-.521,.851),l(-.437,1.274),l(-.327,1.005),l(.103,.706),l(.263,.747),l(.554,1.155),l(.066,.741),l(-.119,-.201),l(-.289,-.197),l(-.208,.015),l(-.143,.24),l(-.096,.042),l(-.48,-.027),l(-.705,-.167),l(-.608,-.083),l(-2.352,.062),l(-1.279,.243),l(-.575,.199),l(-1.07,.369),l(-1.739,.781),l(-.701,.425),l(-.256,-.013),l(-.075,-.032),
-N(627.408,186.411),l(.035,.024),l(.523,.098),l(1.061,1.198),l(.693,.916),l(.506,.762),l(.081,.579),l(-.023,.805),l(-.134,.862),l(.07,1.073),l(-.07,.636),l(.097,.494),l(.196,.381),l(.53,.493),l(.338,.536),l(.705,1.608),l(.062,.127),l(-.366,-.069),l(-.895,-.055),l(-.401,.142),l(-.175,-.07),l(-.521,-.437),l(-.885,-.605),l(-.6,-.337),l(-1.231,-.675),l(-1.02,-.732),l(-.217,-.254),l(-.16,-.988),l(-.438,-.691),l(-.895,-.817),l(-.195,-.663),l(.039,-.494),l(.03,-.283),l(-.107,-.409),l(-.399,-.634),l(-.347,-1.849),l(-.188,-.72),l(.043,-.362),l(.448,-.17),l(.571,-.013),l(.106,.466),l(.447,.119),l(.261,.238),l(.055,.226),l(.041,.21),l(-.213,.398),l(.118,.239),l(.204,.083),l(.244,-.394),l(.279,-.28),l(.309,.163),l(.05,.478),l(.644,-.089),l(.11,-.575),l(.495,-.35),l(.086,-.337),M(643.95,196.042),l(.081,.044),l(.375,.408),l(.397,.141),l(.861,.083),l(.413,.168),l(.761,.436),l(.335,.042),l(.337,-.1),l(-.503,-.535),l(.169,-.551),l(.365,-.608),l(.528,-1.258),l(.584,-.27),l(1.481,-.342),l(1.018,-.299),l(.428,-.326),l(.524,-1.021),l(.523,-.323),l(.87,-1.117),l(.22,-.212),l(.244,-.147),l(.112,-.068),l(.084,.126),l(.062,.37),l(.234,-.012),l(.111,.259),l(.309,.271),l(.383,-.271),l(1.234,-.42),l(-.025,-.086),l(-.197,-.197),l(.013,-.247),l(.024,-.111),l(-.148,-.444),l(-.11,-.174),l(.167,-.042),l(.188,.143),l(.085,-.016),l(.449,-.084),l(.161,-.283),l(-.036,-.24),l(-.478,-.366),l(.197,-.396),l(.436,-.071),l(.511,.041),l(.154,-.605),l(.408,-.313),l(.284,-.48),l(.531,-.58),l(.498,-1.032),l(.075,-.17),l(.322,.465),l(.33,.098),l(.315,-.424),l(.305,.494),l(.351,.282),l(.402,.211),l(.075,.338),l(-.182,.354),l(-.234,.452),l(.037,.198),l(.631,-.128),l(.472,-.128),l(.115,.226),l(-.349,.495),l(.742,-.1),l(.357,-.085),l(.269,.056),l(1.035,.662),l(.345,.14),l(.1,.24),l(-.158,.269),l(-.201,.155),l(-.44,.143),l(-.594,.029),l(-.683,-.083),l(-.355,.311),l(.096,.254),l(.888,.69),l(-.161,.311),l(-.458,.199),l(-.646,.1),l(-.518,.114),l(-.067,.15),l(-.182,-.09),l(-.753,-.292),l(-.446,-.04),l(-.624,.018),l(-.651,-.081),l(-.748,-.081),l(-.464,.017),l(-.247,.157),l(-.381,.638),l(-.119,.565),l(.106,.988),l(-.22,.383),l(-.646,.244),l(-.218,.34),l(.076,.748),l(-.928,1.785),l(-.387,.299),l(-.864,.175),l(-.465,.172),l(-.467,.356),l(-.287,.03),l(-.559,-.152),l(-.524,-.223),l(-.557,-.251),l(-.431,-.11),l(-.479,.074),l(-.531,.441),l(-.403,.525),l(-.528,.342),l(-.399,.172),l(-.543,-.11),l(-.526,-.223),l(-.255,.001),l(-.928,.416),l(-.446,-.28),l(-.304,-.083),l(-1,-.983),l(-.253,-.295),l(-.288,-.792),
-N(274.556,195.884),l(.06,-.212),l(-.332,-.563),l(-.49,-1.127),l(-.246,-.832),l(-.185,-.295),l(-.561,-.067),l(-.532,-.675),l(-.571,-.831),l(.328,-.694),l(.095,-.467),l(-.078,-.777),l(.169,-.17),l(1.131,-.091),l(.183,-.27),l(.082,-.862),l(.142,-.496),l(.015,-.339),l(.326,-.312),l(.382,-.057),l(1.392,.463),l(.465,.042),l(.083,-.41),l(.141,-.085),l(.337,.027),l(.833,.012),l(.863,-.03),l(.723,.069),l(.63,.182),l(.999,.427),l(-.647,.876),l(-.391,.751),l(-.137,.594),l(.094,.381),l(.134,.635),l(.086,.664),l(.521,.844),l(.029,.438),l(-.424,1.472),l(-.489,.963),l(-1.05,-.488),l(-.319,.001),l(-.534,.385),l(-.398,.059),l(-.418,-.139),l(-.642,-.124),l(-.172,.156),l(-.2,.326),l(.611,1.014),l(-.528,-.054),l(-1.108,-.276),l(-.4,-.04),
-N(285.859,190.719),l(.015,.422),l(-1.102,1.646),l(-.427,.765),l(-.439,.992),l(-.464,.681),l(-.299,.214),l(-.56,-.025),l(-1.11,-.389),l(-.882,.613),l(-.225,-.069),l(-.649,-.505),l(.489,-.963),l(.424,-1.472),l(-.029,-.438),l(-.521,-.844),l(-.086,-.664),l(-.134,-.635),l(-.094,-.381),l(.137,-.594),l(.391,-.751),l(.647,-.876),l(.218,.093),l(1.033,.294),l(.55,.196),l(.799,.549),l(1.264,1.084),l(.545,.564),l(.317,.465),l(.193,.028),
-N(429.505,210.684),l(-.695,-.533),l(-.351,.13),l(-.68,.513),l(-.536,.414),l(-.112,-.177),l(-.392,-.86),l(-1.381,-1.344),l(.184,-.295),l(.413,-.229),l(.803,.307),l(.343,-.681),l(-.052,-.296),l(-.274,-.253),l(-.39,-.521),l(-.116,-.366),l(.058,-.495),l(.127,-.1),l(.909,-.146),l(.604,-.243),l(.125,-.213),l(.167,-.807),l(.174,-.185),l(.239,-.029),l(.193,.14),l(.341,.479),l(.405,.521),l(.386,.195),l(.287,-.016),l(.188,-.228),l(.362,-.482),l(.29,.253),l(.167,.578),l(.146,.112),l(.304,.068),l(.255,-.114),l(.184,-.68),l(.243,-1.089),l(.131,-1.229),l(.229,-1.047),l(-.114,-.338),l(-.161,-.127),l(-.384,-.082),l(-.528,-.208),l(-.242,-.31),l(-.132,-.437),l(.008,-.109),l(.021,-.3),l(.157,-.284),l(.492,-.398),l(.556,-.441),l(.094,-.354),l(-.389,-.902),l(-.369,-.322),l(-.592,-.067),l(-.939,.5),l(-.463,-.025),l(-.146,-.253),l(-.068,-.734),l(.077,-.679),l(.396,-.468),l(.56,.109),l(.863,.023),l(.878,-.076),l(.271,.055),l(.479,.04),l(.56,.124),l(.576,.194),l(.864,.334),l(.863,.292),l(.271,-.086),l(-.1,-.861),l(.159,-.185),l(.303,-.312),l(.365,-.497),l(.158,-.523),l(.222,-1.287),l(.255,-.228),l(.479,-.102),l(.975,-.175),l(.367,.054),l(.624,.138),l(.895,.093),l(.751,-.287),l(.128,.197),l(-.031,.156),l(-.398,1.203),l(-.558,.837),l(-.349,.821),l(-.094,.551),l(-.156,.764),l(-.196,2.021),l(-.254,1.342),l(-.115,.61),l(-.169,.708),l(-.139,.523),l(-.459,.427),l(-.525,.229),l(-.809,.599),l(-.41,.454),l(-.47,.836),l(-.343,.751),l(-.193,1.159),l(-.074,.396),l(.122,.72),l(-.086,.706),l(-1.025,.938),l(-.364,.229),l(-.931,.811),l(-.554,.399),l(-.57,.328),l(-.147,-.211),l(-.042,-.664),l(-.054,-.424),l(-1.495,.532),l(-.327,.581),l(-.443,.271),l(-.177,-.013),l(-.484,-.336),
-N(425.506,195.522),l(.045,-.495),l(.88,.093),l(1.773,.088),l(.831,.038),l(1.022,.149),l(-.396,.468),l(-.077,.679),l(.068,.734),l(.146,.253),l(.463,.025),l(.939,-.5),l(.592,.067),l(.369,.322),l(.389,.902),l(-.094,.354),l(-.556,.441),l(-.492,.398),l(-.157,.284),l(-.021,.3),l(-.008,.109),l(.132,.437),l(.242,.31),l(.528,.208),l(.384,.082),l(.161,.127),l(.114,.338),l(-.229,1.047),l(-.131,1.229),l(-.243,1.089),l(-.184,.68),l(-.255,.114),l(-.304,-.068),l(-.146,-.112),l(-.167,-.578),l(-.29,-.253),l(-.362,.482),l(-.188,.228),l(-.287,.016),l(-.386,-.195),l(-.405,-.521),l(-.341,-.479),l(-.193,-.14),l(-.239,.029),l(-.174,.185),l(-.167,.807),l(-.125,.213),l(-.604,.243),l(-.909,.146),l(-.127,.1),l(-.058,.495),l(.116,.366),l(.39,.521),l(.274,.253),l(.052,.296),l(-.343,.681),l(-.803,-.307),l(-.413,.229),l(-.184,.295),l(-.038,-.037),l(-.563,-.493),l(-.532,-.55),l(-.259,-.466),l(-1.318,-1.169),l(.286,-.312),l(-.369,-.281),l(-.528,-.056),l(-.918,-1.438),l(.382,-.297),l(.111,-.1),l(-.321,-.395),l(-.464,-.14),l(-.29,-.564),l(-.369,-.451),l(.319,-.17),l(.541,-.411),l(.223,-.396),l(.291,-.976),l(.089,-.295),l(.415,.07),l(.495,.013),l(-.064,-.211),l(-.56,-.352),l(-.561,-.451),l(.208,-.042),l(.271,-.128),l(.142,-.617),l(.83,-.043),l(.927,.008),l(1.245,.021),l(.575,-.032),l(-.001,-.155),l(-.02,-.551),l(-.026,-1.836),
-N(422.536,195.513),l(1.005,-.007),l(1.965,.017),l(.026,1.836),l(.02,.551),l(.001,.155),l(-.575,.032),l(-1.245,-.021),l(-.927,-.008),l(-.83,.043),l(.033,-.146),l(-.049,-.297),l(-.144,-.084),l(-.416,-.098),l(.287,-.467),l(.447,-.523),l(.335,-.58),l(.066,-.403),M(419.636,193.273),l(-.484,-.049),l(-.049,-.218),l(.049,-.291),l(.242,-.097),l(.024,-.146),l(0,-.291),l(.17,-.097),l(.169,-.121),l(.219,.048),l(.218,.048),l(.097,.194),l(-.193,.169),l(-.146,.243),l(-.17,.339),l(-.146,.267),
-N(222.291,207.801),l(.188,-.126),l(.264,-.312),l(.585,-1.061),l(.038,-.269),l(-.209,-.733),l(.058,-.391),l(-.478,.617),l(-.732,.623),l(-.333,-.098),l(-.601,-.324),l(-.408,-.408),l(.389,-.283),l(.1,-.24),l(-.167,-.579),l(.005,-.438),l(.133,-.466),l(-.109,-.282),l(-.362,-.649),l(.193,-.17),l(.48,-.198),l(.721,-.454),l(-.319,-.395),l(0,-.226),l(.175,-.354),l(.497,-.462),l(.157,-.146),l(.14,-.848),l(-.116,-.452),l(-.082,-.184),l(.11,-.226),l(.686,-.101),l(.891,-.341),l(.396,-.241),l(.474,-.382),l(.09,-.186),l(1.496,.803),l(1.432,.656),l(.227,.225),l(.166,.493),l(.355,.309),l(.977,.277),l(.67,-.061),l(.89,-.401),l(.128,.056),l(.709,.631),l(.197,.118),l(.269,.162),l(.081,.112),l(.387,.76),l(.321,.789),l(-.08,.255),l(-.352,.384),l(-.547,1.147),l(-.533,.779),l(-.71,.725),l(-1.001,.755),l(-.336,.087),l(-1.028,.303),l(-.901,.358),l(-.809,.499),l(-.59,.653),l(-.284,.51),l(-.987,2.506),l(-.267,.312),l(-.242,.072),l(-.398,-.068),l(-.398,-.491),l(-.191,-.479),l(-.312,-.252),l(-.815,.005),l(-.444,-.11),l(-.105,-.197),l(-.097,-.494),l(.233,-.34),l(.029,-.495),l(.005,-.569),
-N(245.934,224.314),l(1.109,1.843),l(.922,1.646),l(.08,.24),l(-.437,.736),l(-.15,.523),l(-.143,.848),l(.057,.522),l(.236,.902),l(-.156,.34),l(-.221,.34),l(-.532,.582),l(-.102,.452),l(.347,.845),l(-.21,.368),l(-.159,.34),l(.022,.48),l(.604,1.168),l(.015,.522),l(-.285,.439),l(-.723,.61),l(-.12,.227),l(.049,.48),l(.132,.295),l(.018,.142),l(-.586,.187),l(-.15,.199),l(-.228,.933),l(-.259,.298),l(-.852,.275),l(-.201,-.517),l(-.289,-.31),l(-1.422,-.618),l(-.313,-.239),l(-.233,-.678),l(-.315,-.38),l(-.559,-.225),l(-.504,-.281),l(-.489,-.254),l(-.616,-.309),l(-.873,-.464),l(-.673,-.366),l(-.866,-.379),l(-.838,-.337),l(-1.271,-.845),l(-1.354,-.985),l(-1.232,-1.099),l(-.594,-.705),l(-.42,-.677),l(.008,-.438),l(0,-.903),l(-.269,-.606),l(-.781,-1.043),l(-1.389,-2.778),l(-.285,-.268),l(-.467,-.211),l(-.074,-.085),l(.055,-.536),l(-.02,-.396),l(-.149,-.396),l(-1.208,-2.199),l(-.997,-1.961),l(-.688,-1.27),l(-1.365,-1.917),l(-.272,-.353),l(-.598,-.973),l(-.462,-.423),l(-.75,-.437),l(-.914,-.365),l(-.61,-.365),l(.119,-.17),l(.181,-.113),l(.609,-.029),l(.144,-.41),l(-.118,-.282),l(-.592,-.874),l(-.353,-.437),l(-.258,-.72),l(.01,-.24),l(.244,-.523),l(.582,-.622),l(1.02,-.878),l(.47,-.198),l(.317,-.214),l(-.005,.569),l(-.029,.495),l(-.233,.34),l(.097,.494),l(.105,.197),l(.444,.11),l(.815,-.005),l(.312,.252),l(.191,.479),l(.398,.491),l(.398,.068),l(.242,-.072),l(.267,-.312),l(.987,-2.506),l(.284,-.51),l(.59,-.653),l(.809,-.499),l(.901,-.358),l(1.028,-.303),l(.336,-.087),l(1.001,-.755),l(.71,-.725),l(.533,-.779),l(.547,-1.147),l(.352,-.384),l(.08,-.255),l(-.321,-.789),l(-.387,-.76),l(.927,.107),l(.897,.418),l(.513,.435),l(.208,.324),l(.208,.62),l(.526,.364),l(.988,.672),l(.251,.761),l(.078,.282),l(.366,.14),l(.479,.039),l(.173,.296),l(-.004,.396),l(.092,.281),l(.573,.152),l(1.038,.008),l(.496,-.031),l(.337,-.157),l(.452,-.427),l(.523,.421),l(.397,.182),l(.708,-.442),l(.509,.209),l(1.299,.84),l(.127,.069),l(-.035,.198),l(-1.155,1.956),l(.448,-.031),l(.161,-.058),l(.237,.126),l(.575,.703),l(.156,.14),l(.136,.324),l(-.341,.186),l(-.793,-.235),l(-.493,-.096),l(-.322,.072),l(-.604,.441),l(-.371,.115),l(-.669,-.066),l(-1.895,.773),l(-.701,.442),l(-.372,.172),l(-.599,1.415),l(-.319,.511),l(-.021,.155),l(.277,.86),l(.012,.112),l(-.625,.498),l(-.62,.328),l(-.349,.342),l(-.247,.622),l(.106,.564),l(.619,.957),l(1.333,2.166),l(.106,.127),l(-.247,.495),l(-.208,.312),l(1.085,.12),l(.415,.04),l(.312,.182),l(.241,.323),l(.096,.663),l(1.843,.032),l(.762,-.499),l(.648,-.484),l(.326,-.114),l(-.059,1.511),l(-.098,1.173),l(.108,.353),l(.317,.337),l(.285,.068),l(.358,-.072),l(.786,-.259),l(.42,-.045),
-N(279.288,257.295),l(-.063,-.423),l(.027,-.777),l(.222,-.819),l(.298,-.835),l(.321,-.75),l(-.019,-.141),l(-.491,-.336),l(-.234,-.112),l(-1.29,.445),l(-.224,-.055),l(-.254,-.563),l(-.487,-2.524),l(-.121,-.437),l(-.843,-.404),l(-.724,-.278),l(-.115,.001),l(-.709,.413),l(-.346,.03),l(-.925,-.221),l(-.818,-.15),l(-.372,-.04),l(.006,-.72),l(.086,-.721),l(.132,-.862),l(-.104,-.959),l(-.521,-.872),l(-.084,-.663),l(-.253,-.408),l(.421,-.666),l(.38,-.765),l(.238,-.834),l(.185,-1.173),l(-.022,-.494),l(-.307,-.774),l(-.316,-.479),l(-.73,-.362),l(-.436,-.407),l(-.067,-.563),l(.261,-.835),l(-.042,-.296),l(-.693,-.024),l(-1.615,-.019),l(-.5,-.012),l(-.967,-.036),l(-.153,-.112),l(-.249,-.944),l(-.138,-2.032),l(-.03,-.706),l(-.203,-1.029),l(.038,-.565),l(-.085,-.169),l(-.403,-.237),l(-.537,-.166),l(-.636,-.123),l(-1.148,.077),l(-.22,-.084),l(-.398,-.308),l(-.385,-.774),l(-.096,-.014),l(-.882,-.037),l(-.3,-.098),l(-.75,-.603),l(-.688,-.307),l(-.676,-.25),l(-.355,.03),l(-.787,-.023),l(-.316,-.097),l(-1.1,-.939),l(-.813,-.928),l(-.335,-.591),l(-.141,-.635),l(-.036,-.818),l(.064,-.622),l(.079,-.621),l(-.045,-.748),l(-1.283,-.021),l(-.934,.076),l(-.36,.158),l(-.874,.485),l(-1.471,1.109),l(-.415,.243),l(-.48,-.025),l(-.336,-.026),l(-.946,.824),l(-.355,.03),l(-1.122,-.304),l(-.939,-.136),l(-.42,.045),l(-.786,.259),l(-.358,.072),l(-.285,-.068),l(-.317,-.337),l(-.108,-.353),l(.098,-1.173),l(.059,-1.511),l(-.326,.114),l(-.648,.484),l(-.762,.499),l(-1.843,-.032),l(-.096,-.663),l(-.241,-.323),l(-.312,-.182),l(-.415,-.04),l(-1.085,-.12),l(.208,-.312),l(.247,-.495),l(-.106,-.127),l(-1.333,-2.166),l(-.619,-.957),l(-.106,-.564),l(.247,-.622),l(.349,-.342),l(.62,-.328),l(.625,-.498),l(-.012,-.112),l(-.277,-.86),l(.021,-.155),l(.319,-.511),l(.599,-1.415),l(.372,-.172),l(.701,-.442),l(1.895,-.773),l(.669,.066),l(.371,-.115),l(.604,-.441),l(.322,-.072),l(.493,.096),l(.793,.235),l(.341,-.186),l(-.136,-.324),l(.133,-.198),l(.073,-.382),l(.706,-4.411),l(.326,-1.428),l(-.031,-.212),l(-.399,-.562),l(.031,-.777),l(-.192,-.183),l(-.688,-.363),l(-.192,-.197),l(0,-.554),l(.001,-1.071),l(.111,-.085),l(.493,-.187),l(.687,-.032),l(.417,.11),l(.384,.04),l(-.052,-.367),l(-.293,-.408),l(-.177,-.084),l(-.896,-.122),l(-.178,-.154),l(.013,-1.031),l(.042,-.325),l(.64,.024),l(2.812,.082),l(.463,-.017),l(.412,-.158),l(.834,-.57),l(.52,-.286),l(.148,.168),l(.138,.437),l(.161,.861),l(.088,.452),l(.199,.437),l(.432,.054),l(.694,.546),l(.482,.223),l(.414,-.073),l(.757,-.697),l(.083,.183),l(.186,.776),l(.271,-.016),l(.645,-.739),l(.74,-.654),l(.554,-.286),l(.652,-.173),l(.235,-.213),l(.259,-.666),l(.203,-.199),l(.652,-.131),l(.569,-.272),l(.265,-.27),l(-.15,-.253),l(-.434,-.125),l(-.96,-.051),l(-.166,-.239),l(-.079,-.55),l(-.302,-1.524),l(-.391,-.69),l(-.616,-.688),l(.041,-.184),l(.159,-.029),l(.309,.125),l(.896,.461),l(.385,.04),l(1.149,-.035),l(.344,.224),l(.628,.618),l(.348,-.115),l(.232,-1.117),l(.284,-.115),l(.465,.054),l(.557,-.074),l(.807,-.23),l(1.74,-.9),l(.592,-.385),l(.163,-.326),l(-.103,-.169),l(.375,-.257),l(.302,-.058),l(.516,.124),l(.26,.111),l(.04,.212),l(-.452,1.09),l(.304,-.001),l(.533,.138),l(.435,.958),l(-.179,.368),l(-.547,1.416),l(-.213,.962),l(.156,.465),l(.281,.394),l(.167,.31),l(-.072,.354),l(.008,.396),l(.15,.296),l(1.103,.897),l(.613,.392),l(.686,-.075),l(.694,-.513),l(.505,-.314),l(1,-.331),l(.934,-.429),l(.943,.022),l(.4,.04),l(1.108,.276),l(.528,.054),l(-.611,-1.014),l(.2,-.326),l(.172,-.156),l(.642,.124),l(.418,.139),l(.398,-.059),l(.534,-.385),l(.319,-.001),l(1.05,.488),l(.649,.505),l(.225,.069),l(.882,-.613),l(1.11,.389),l(.56,.025),l(.299,-.214),l(.464,-.681),l(.439,-.992),l(.427,-.765),l(1.102,-1.646),l(-.015,-.422),l(.409,-.241),l(.276,.141),l(.235,.423),l(.164,.791),l(.414,1.34),l(.108,.607),l(.472,1.383),l(.296,.55),l(.324,.324),l(.978,.21),l(.196,.338),l(.038,.551),l(-.045,.254),l(-.524,.354),l(-.933,1.414),l(-.238,.325),l(-.51,.411),l(-.41,.231),l(-.244,.138),l(-.798,.778),l(-.544,.947),l(-.419,1.018),l(-.402,.453),l(.271,.112),l(.512,-.072),l(.497,-.198),l(1.202,-.709),l(.112,-.028),l(.299,.889),l(.442,.818),l(.255,.112),l(.287,.07),l(1.135,-.031),l(.592,-.058),l(.737,-.298),l(-.277,.679),l(-.017,.584),l(.448,-.557),l(1.254,-1.006),l(.289,-.156),l(.306,-.382),l(.499,-.933),l(.272,-.396),l(.256,-.099),l(1.006,-.003),l(.352,-.198),l(.175,0),l(.687,.549),l(.654,.267),l(.32,-.028),l(.814,.28),l(1.069,.45),l(.334,.281),l(.269,.593),l(.08,.028),l(.176,-.015),l(.402,-.354),l(.319,.042),l(.302,.254),l(.538,.789),l(.205,.396),l(-.13,.254),l(-.308,.41),l(-.116,.424),l(.091,.466),l(.171,.396),l(.825,-.821),l(.369,-.156),l(.609,-.156),l(.995,-.454),l(.224,-.028),l(.367,.069),l(.764,.38),l(.907,.436),l(.462,.098),l(1.117,.167),l(1.118,.083),l(.464,-.058),l(.48,-.029),l(.577,-.171),l(.416,-.016),l(1.131,.351),l(.731,.408),l(.762,.479),l(.586,.437),l(1.595,1.395),l(.742,.662),l(.821,.605),l(.41,.338),l(.477,.196),l(.734,.168),l(1.247,.097),l(.912,.04),l(.445,.197),l(.265,.465),l(.087,.607),l(.592,2.004),l(.268,1.143),l(.062,.988),l(-.076,.579),l(-.179,.904),l(-.243,.848),l(-.559,1.301),l(-.518,.849),l(-1.347,1.175),l(-1.388,1.288),l(-.44,.198),l(-.354,.043),l(-.39,.637),l(-.094,.396),l(-.012,.353),l(-.504,1.074),l(-.6,.976),l(-.8,1.104),l(-.266,.212),l(-.194,.015),l(-.079,-.423),l(-.278,-.296),l(-.367,-.084),l(-.064,.79),l(-.538,1.64),l(-.049,.734),l(-.077,.607),l(.318,2.738),l(.078,.988),l(-.577,2.543),l(-.039,.663),l(.14,.649),l(.043,.085),l(-.759,.495),l(-.404,.51),l(-.261,.791),l(-.04,.367),l(.245,1.468),l(-.106,.367),l(-.214,.283),l(-.676,.608),l(-.752,1.498),l(-1.01,1.4),l(-.201,.537),l(-.055,.311),l(.144,.945),l(-1.203,.37),l(-.544,.283),l(-.355,.368),l(-.084,.466),l(.021,.367),l(-.401,.114),l(-.864,-.041),l(-.979,.172),l(-.654,.001),l(-.764,-.055),l(-.465,-.112),l(-.922,.072),l(-.736,.002),l(-.214,.607),l(-.295,.198),l(-.795,.312),l(-.481,.453),l(-.21,.354),l(-.747,-.267),l(-.35,.071),l(-.563,.255),l(-1.864,1.232),l(-.528,.396),l(-.725,.383),l(-.616,.438),l(-.532,.679),l(-.486,.241),l(-.567,.072),l(-.278,-.014),l(.006,.24),l(.336,.225),l(.12,.536),l(-.111,.537),l(-.099,.282),l(-.282,.156),l(-.084,.155),l(.384,.648),l(.036,1.186),l(.05,1.045),l(-.057,.311),l(-.11,.594),l(-.198,.621),l(-.464,.735),l(-.566,.495),l(-.788,.524),l(-.866,1.046),l(-.208,.396),l(-.476,1.145),l(-.499,.933),l(-.75,1.004),l(-.69,.623),l(-.801,.78),l(.321,-.808),l(.436,-.594),l(.629,-.566),l(.605,-1.158),l(-.06,-.254),l(-.356,.142),l(-.397,-.014),l(-.633,-.21),l(-.075,.155),l(.002,.297),l(-.401,1.215),l(-.349,.48),l(-.661,.438),l(-.317,.283),l(-.225,.424),l(-.013,.354),l(-.448,1.709),l(-.481,.763),l(-.787,.934),l(-1.076,.979),l(-.101,-.313),l(-.258,-.746),l(.103,-.269),l(.634,-.766),l(.017,-.269),l(-.333,-.379),l(-.163,-.027),l(-.131,-.197),l(-.853,-1.109),l(-.474,-.435),l(-.999,-.587),l(-.55,-.194),l(-.617,-.194),l(-.432,-.576),l(-.365,-.393),l(-.693,.427),l(-.27,.016),l(-.232,-.38),l(-.59,-.814),l(-.379,-.407),l(-.47,-.364),l(-.266,-.098),l(-.25,.101),l(-1.042,.246),l(-.55,.003),l(.214,-.27),l(.833,-.88),l(1.805,-1.816),l(1.435,-1.363),l(1.633,-1.448),l(.348,-.242),l(1.754,-.744),l(.521,-.313),l(.161,-.467),l(.094,-1.638),l(-.517,-1.154),l(-.206,-.196),l(-.462,.017),l(-.957,.161),M(288.966,203.943),l(-.558,-.125),l(-.301,-.536),l(-.078,-.382),l(.16,-.197),l(-.094,-.636),l(.048,-.381),l(.208,-1.018),l(.176,-.099),l(.479,-.058),l(.879,.097),l(1.007,.11),l(.479,-.199),l(.368,.028),l(.479,.168),l(.479,.083),l(.319,.155),l(-.335,.538),l(-.193,.946),l(-.257,.494),l(-.289,.312),l(-.561,.326),l(-.464,.171),l(-.527,.015),l(-.783,.016),l(-.641,.171),
-N(732.92,214.323),l(-.164,-.24),l(-.225,-.197),l(-.379,-.126),l(-.416,.198),l(-.399,-.38),l(-.287,-.184),l(-.659,-.238),l(-.243,-.239),l(.156,-.255),l(.29,.027),l(.731,-.058),l(.538,.126),l(.743,.083),l(.523,-.058),l(.258,-.185),l(.232,-.509),l(.056,.099),l(.351,.395),l(.286,.184),l(.241,.014),l(.961,-.2),l(.366,-.227),l(.361,-.722),l(.241,-.212),l(.653,-.029),l(.263,-.128),l(.04,-.282),l(-.064,-.565),l(-.043,-.536),l(.495,.196),l(.404,.056),l(.324,-.354),l(.318,.578),l(.077,.353),l(-.196,.495),l(-.099,.184),l(-.509,.044),l(-.159,.226),l(.061,.17),l(.437,.479),l(-.308,.354),l(-.264,.113),l(-.742,-.083),l(-.416,.001),l(-.091,.269),l(-.408,.495),l(-.275,.156),l(-.973,.426),l(-.484,.143),l(-.798,.029),l(-.807,.115),M(713.795,220.696),l(.031,-3.438),l(-.046,-.805),l(-.431,-1.368),l(.44,-.822),l(-.169,-7.966),l(2.581,.802),l(.85,.337),l(1.04,.295),l(1.254,.378),l(.848,.507),l(.613,.323),l(.597,.084),l(.38,-.058),l(.26,.508),l(.274,.254),l(.635,.352),l(.687,.395),l(.779,.718),l(-.3,.947),l(.033,.226),l(.305,.226),l(.665,.111),l(1.887,.787),l(.354,.027),l(.72,.183),l(.181,.254),l(.413,.535),l(.211,.579),l(-.166,.113),l(-1.114,.073),l(-.563,.156),l(-.098,.155),l(.047,.339),l(.589,.987),l(.5,.521),l(1.464,1),l(.218,.847),l(.725,1.044),l(.288,.141),l(.304,-.015),l(.712,-.086),l(.338,.013),l(.087,.198),l(-.354,.551),l(.218,.212),l(.401,.141),l(.423,.041),l(.63,.168),l(.096,.127),l(-.031,.142),l(-.648,.213),l(.287,.24),l(1.064,.28),l(.538,.295),l(.235,.763),l(-.064,.226),l(-1.094,-.012),l(-.215,-.154),l(-.146,-.466),l(-.126,-.099),l(-1.011,-.111),l(-1.063,-.266),l(-.644,-.126),l(-.752,.016),l(-.774,-.026),l(-.573,-.211),l(-.494,-.352),l(-.223,-.522),l(-.24,-.268),l(-.726,-.31),l(-.472,-.338),l(-.135,-.197),l(-1.089,-1.608),l(-.613,-.817),l(-.454,-.056),l(-1.524,-.336),l(-.671,-.31),l(-.55,-.055),l(-.415,.185),l(-.394,.071),l(-.78,-.45),l(.282,.762),l(-.027,.212),l(-.249,.071),l(-.382,-.126),l(-.311,.1),l(.296,.395),l(-.116,.113),l(-1.037,.045),l(-1.125,-.182),l(-.478,.029),l(.237,.127),l(.24,.154),l(.642,.169),l(.662,.352),l(.404,.338),l(.219,.395),l(-.411,.199),l(-.739,.425),l(-.458,.213),l(-.668,-.097),l(-1.801,-.039),l(-1.219,-.092),
-N(726.605,297.247),l(-.479,-.229),l(-1.179,-.471),l(-.543,-.371),l(-.508,-.715),l(-.477,-.558),l(-.216,-.414),l(.264,-.044),l(.169,.1),l(.421,.171),l(.129,-.143),l(-.209,-.387),l(-.703,-.699),l(-.617,-.713),l(-.149,-.257),l(-.375,-.956),l(-.008,-.67),l(.177,-.044),l(1.004,.312),l(1.476,.354),l(1.089,.369),l(.797,-.03),l(.463,-.144),l(.382,-.115),l(.373,-.058),l(.684,.027),l(.306,-.301),l(.716,-.244),l(.475,.385),l(-.009,.1),l(.128,.8),l(-.009,.686),l(-.751,1.503),l(-.124,.758),l(-.245,.315),l(-.943,.26),l(-.553,.388),l(-.49,.689),l(-.189,.272),l(-.274,.072),M(716.883,224.344),l(.682,.394),l(.233,.509),l(.047,.649),l(.118,.678),l(.256,.197),l(.42,.013),l(.102,.24),l(-.45,.919),l(.715,.338),l(.175,.282),l(.147,.593),l(.08,1.3),l(.144,.621),l(.456,1.157),l(.293,.268),l(.422,.014),l(.328,-.312),l(.384,-.185),l(.32,.663),l(.363,.127),l(.563,.408),l(.385,.154),l(.144,.155),l(.002,.41),l(.083,.96),l(.275,.776),l(-.046,1.06),l(.279,.24),l(.93,1.325),l(.276,.706),l(.055,.777),l(-.209,.876),l(.403,.649),l(.275,.833),l(.204,.353),l(1.395,.803),l(.285,.154),l(.744,.111),l(.402,.649),l(.843,.535),l(.483,.169),l(1.141,.068),l(.117,.197),L(731,245.42),l(-.273,.565),l(.309,.424),l(.879,.479),l(.22,.564),l(.469,1.342),l(.211,.748),l(.112,.396),l(.252,.311),l(.771,.352),l(-.021,-.127),l(-.141,-.777),l(.913,.507),l(.567,.154),l(.184,.127),l(.136,.296),l(.106,1.752),l(.884,.762),l(.573,.323),l(.604,.154),l(.287,.296),l(.244,.579),l(.229,.424),l(.545,.168),l(.176,.297),l(.007,.269),l(.19,.536),l(.106,.113),l(.506,.126),l(.156,.112),l(.162,.354),l(.366,1.327),l(.026,.876),l(.013,.862),l(-.132,.41),l(-.181,.325),l(.778,1.271),l(.223,.48),l(.181,.833),l(.034,.749),l(-.293,.708),l(-.353,1.668),l(-.585,1.755),l(.137,.791),l(-.065,.806),l(-.306,.778),l(-.661,.977),l(-.203,.665),l(-.598,.821),l(-.45,.185),l(-.465,.1),l(-.423,.468),l(-.466,.68),l(-.328,1.527),l(-.477,.638),l(-.34,.495),l(.014,.65),l(-.208,.539),l(-.331,.312),l(-.601,.341),l(-.27,.326),l(-.3,1.021),l(-.169,1.049),l(-.079,.937),l(.021,.666),l(-.283,.64),l(-.322,.354),l(-.463,.3),l(-.754,.101),l(-1.158,.087),l(-.82,.03),l(-.527,.157),l(-.516,.299),l(-1.529,.94),l(-.443,.129),l(-.214,.284),l(-.346,.071),l(-.528,.059),l(-.286,-.014),l(.295,.368),l(.209,.27),l(-1.315,-.665),l(-.885,-.353),l(.003,-.469),l(-.073,-.156),l(-.56,-.467),l(-.628,-.368),l(-.421,-.014),l(-.485,.172),l(-.335,.242),l(.748,.467),l(-.97,.243),l(-.929,.428),l(-.953,.442),l(-.222,.028),l(-.604,-.226),l(-.886,-.438),l(-.67,-.226),l(-1.086,-.311),l(-.51,-.041),l(-.239,.156),l(-.044,.113),l(-.716,-.169),l(-.751,-.353),l(-.522,-.298),l(-.896,-.82),l(-.526,-.34),l(-.422,-.879),l(.09,-1.035),l(-.082,-.411),l(-.184,-.495),l(-.664,-.736),l(-.141,-.523),l(-.029,-.425),l(-.534,-.014),l(-.786,.398),l(-.597,.114),l(-.34,.058),l(-.178,-.07),l(-.167,-.17),l(.517,-.454),l(.233,-.567),l(.073,-.821),l(-.253,-.324),l(-.536,-.593),l(-.247,-.353),l(-.485,.735),l(-.443,1.431),l(-.19,.113),l(-.796,.002),l(-.199,.156),l(-.196,.015),l(-.255,.028),l(.198,-.396),l(.081,-.396),l(.079,-.1),l(.634,.041),l(.242,-.142),l(.126,-.255),l(-.105,-1.004),l(.454,-.835),l(.328,-.453),l(.091,-.396),l(.018,-.409),l(.151,-.128),l(.245,-.015),l(.218,-.354),l(-.052,-.227),l(-.323,-.494),l(-.338,-.494),l(-.107,.707),l(-.288,.255),l(-.518,.299),l(-.311,.467),l(-.086,.155),l(-.189,.467),l(-.281,.326),l(-.747,.242),l(-.735,.481),l(-.653,.567),l(-.36,.693),l(-.514,.808),l(-.41,-.339),l(-.38,-1.328),l(-.263,-.579),l(-.19,-.325),l(-.688,-.79),l(-.297,-.734),l(-.176,-.212),l(-.704,.072),l(-.235,-.099),l(-.139,-.24),l(-.085,-.269),l(.334,-.34),l(-.047,-.297),l(-.346,-.395),l(-.543,-.494),l(-.266,-.098),l(-.83,.157),l(-.486,-.07),l(-.95,-.549),l(-.274,-.014),l(-.438,.17),l(-.433,-.027),l(-.421,-.183),l(-.662,-.521),l(-.921,-.437),l(-.218,.001),l(-.723,.213),l(-1.282,.088),l(-.669,.001),l(-1.764,.061),l(-.611,.129),l(-.656,.213),l(-.989,.44),l(-.972,.256),l(-1.039,.257),l(-1.503,.088),l(-.794,-.013),l(-.383,.044),l(-.927,.284),l(-.993,.469),l(-.773,.397),l(-.538,.143),l(-.431,.085),l(-.361,.199),l(-.615,.693),l(-.774,1.02),l(-.588,.284),l(-.766,-.013),l(-.547,-.013),l(-.927,.143),l(-.4,.185),l(-.663,-.395),l(-.294,-.084),l(-.734,.016),l(-1.572,.173),l(-.938,.157),l(-.459,-.041),l(-.672,.044),l(-.398,.227),l(-.583,.793),l(-.344,.128),l(-.958,-.125),l(-.158,.057),l(-.57,.708),l(-.465,.368),l(-.919,.271),l(-.586,.086),l(-1.516,-.082),l(-.638,-.055),l(-.688,-.197),l(-.633,-.366),l(-.778,-.677),l(-.74,-.353),l(-.374,-.041),l(-.151,-.07),l(-.19,-1.229),l(.055,-.255),l(.489,.112),l(.45,-.086),l(.332,-.425),l(.197,-.467),l(.267,-1.357),l(-.043,-1.215),l(-.156,-.622),l(-.258,-.593),l(-1.117,-1.906),l(-.208,-.635),l(-.144,-.834),l(.027,-.989),l(-.16,-.692),l(-.467,-1.072),l(-.663,-.945),l(-.603,-.734),l(-.214,-.254),l(.128,-.904),l(-.215,-.536),l(-.733,-1.115),l(-.972,-1.018),l(-.273,-.583),l(.126,-.233),l(.188,.187),l(.152,.443),l(.183,.163),l(.235,.35),l(.327,.188),l(.354,.023),l(-.348,-1.144),l(-.437,-.396),l(-.226,-.326),l(.08,-.304),l(.748,.84),l(.495,.979),l(.477,.065),l(-.099,-.555),l(.289,-.039),l(.004,-.564),l(-.282,-.48),l(-1.03,-1.368),l(-.354,-.691),l(-.119,-.579),l(-.038,-.734),l(.355,-.595),l(.323,-.523),l(.21,-.664),l(-.083,-1.031),l(-.254,-.635),l(.033,-.368),l(.438,-.692),l(.109,-.325),l(.064,-.156),l(.271,.649),l(.011,.424),l(.105,.184),l(.35,.027),l(.171,-.113),l(.187,-.565),l(.141,-.48),l(.765,-.468),l(1.22,-.624),l(.484,-.326),l(.676,-.581),l(.585,-.467),l(.632,-.327),l(.79,-.114),l(.697,-.016),l(.7,-.002),l(.431,-.043),l(.352,-.185),l(.474,-.453),l(.494,-.128),l(.929,-.072),l(.279,-.143),l(.291,-.551),l(.158,-.1),l(.444,.027),l(.877,.224),l(.626,-.043),l(.911,-.299),l(1.084,-.469),l(.359,-.213),l(.716,-.665),l(.427,-.58),l(.29,-.622),l(.132,-.297),l(.41,-.369),l(.968,-.651),l(.079,-.17),l(-.067,-.409),l(-.242,-.805),l(-.016,-.495),l(1.063,-1.118),l(.387,-.692),l(.291,.169),l(.341,.437),l(.619,1.355),l(.262,.253),l(.177,-.579),l(.021,-.466),l(.436,.238),l(.272,.07),l(.189,-.607),l(-.06,-.142),l(-.563,-.238),l(-.175,-.24),l(.007,-.565),l(.044,-.112),l(.897,.04),l(.661,.253),l(.642,-.029),l(.334,-.029),l(.289,.074),l(-.699,-.455),l(-.431,-.141),l(.128,-.537),l(-.07,-.296),l(.135,-.509),l(.422,-.354),l(.165,-.07),l(.732,.394),l(.202,-.043),l(-.112,-.452),l(.11,-.48),l(.146,-.367),l(-.041,-.522),l(.358,-.171),l(.4,-.113),l(.813,.04),l(.529,-1.088),l(.371,-.298),l(.35,.169),l(.268,.451),l(.265,-.552),l(.222,-.227),l(.197,-.48),l(.695,.62),l(.513,.084),l(.293,.211),l(.331,.536),l(.632,.592),l(.122,.706),l(-.072,.594),l(.181,.197),l(.256,-.283),l(.462,-.679),l(.155,-.128),l(1.16,.082),l(.479,.155),l(.637,.492),l(.332,.141),l(.156,-.48),l(.302,-.297),l(.022,-.24),l(-.266,-.324),l(-.601,-.395),l(-.079,-.184),l(.008,-.24),l(.145,-.099),l(.604,-.538),l(.007,-.452),l(.191,-.213),l(.518,-.283),l(.268,-.241),l(.151,-.269),l(-.094,-.184),l(.003,-.296),l(.512,-.863),l(.121,-.057),l(.317,-.029),l(.397,-.029),l(.248,-.17),l(-.205,-.409),l(.377,-.396),l(.344,-.071),l(.793,.366),l(.616,-.072),l(1.291,-.088),l(.512,-.128),l(.232,-.17),l(.04,-.057),l(-.077,-.197),l(-.2,-.734),l(-.248,-.282),l(-.471,-.268),l(-.374,.086),l(-.244,-.141),l(.035,-.212),l(.367,-.143),l(.396,-.043),l(.617,.521),l(.255,.099),l(.34,-.1),l(.364,.31),l(.676,.465),l(.36,.154),l(1.297,.294),l(.591,.084),l(.413,-.143),l(.372,.014),l(.396,.606),l(.419,.112),l(.141,-.029),l(.562,-.438),l(.454,.027),l(.652,.38),l(.331,.479),l(.46,-.143),l(.122,-.791),l(.181,-.085),l(.455,.465),l(.337,.099),l(.152,.154),l(-.436,.411),l(-.126,.424),l(-.176,.212),l(-.011,.438),l(-.12,.255),l(-.513,.015),l(-.51,.228),l(-.396,.34),l(-.004,.551),l(.301,.353),l(-.187,.692),l(-.381,.58),l(-.559,.481),l(-.155,.48),l(.063,.17),l(.469,.437),l(1.038,.619),l(.81,.677),l(.508,.606),l(.246,.099),l(.349,-.114),l(.264,.027),l(.782,.352),l(.742,.465),l(.434,.451),l(.679,.535),l(.335,.127),l(.442,.027),l(.784,.182),l(.25,.184),l(.218,.621),l(.167,.169),l(.507,.31),l(.76,.423),l(.537,.154),l(.422,-.072),l(.414,-.17),l(.603,-.199),l(.208,-.156),l(.736,-1.344),l(.403,-1.131),l(.194,-1.314),l(.259,-.721),l(.43,-.679),l(-.131,-.424),l(-.409,-.621),l(.022,-.311),l(.236,-.637),l(.187,-.48),l(-.164,-.282),l(-.183,-.395),l(.088,-.692),l(.104,-1.004),l(.225,-.297),l(.329,-.156),l(.158,-.311),l(-.534,-.521),l(.033,-.198),l(.576,-.947),l(.312,-.934),l(.072,-.833),l(.191,-.241),l(.279,-.297),
-N(270.934,276.123),l(.054,-.338),l(-.194,-.577),l(.011,-.522),l(.24,-.495),l(.48,-.524),l(.118,-.325),l(-.168,-.986),l(-.049,-.847),l(.103,-.522),l(.595,-2.359),l(.065,-.452),l(.443,-.524),l(.55,-.003),l(1.042,-.246),l(.25,-.101),l(.266,.098),l(.47,.364),l(.379,.407),l(.59,.814),l(.232,.38),l(.27,-.016),l(.693,-.427),l(.365,.393),l(.432,.576),l(.617,.194),l(.55,.194),l(.999,.587),l(.474,.435),l(.853,1.109),l(.131,.197),l(.163,.027),l(.333,.379),l(-.017,.269),l(-.634,.766),l(-.103,.269),l(.258,.746),l(.101,.313),l(-.059,.053),l(-.803,1.103),l(-.625,.552),l(-.775,.454),l(-.441,.156),l(-.818,.1),l(-.874,-.337),l(-.551,.044),l(-.551,.114),l(-.64,.283),l(-.38,-.042),l(-.846,-.676),l(-.637,-.252),l(-.76,-.154),l(-.469,.128),l(-.507,.072),l(-.327,-.127),l(-.548,-.563),l(-.354,-.159),
-N(418.763,73.869),l(.391,-.499),l(.389,-.262),l(.283,.081),l(.663,-.062),l(.762,-.075),l(.324,-.137),l(.891,-.787),l(.979,-.2),l(.224,.025),l(.198,-.219),l(.175,.032),l(-.349,.531),l(.11,.106),l(.026,.481),l(-.288,.156),l(-.17,.368),l(-1.675,.069),l(-.376,-.106),l(-.428,.031),l(-.14,-.062),l(-.239,.081),l(-.275,.031),l(-.153,.417),l(-.249,.218),l(-.353,.118),l(-.08,.112),l(-.229,-.155),l(-.411,-.292),M(421.68,78.002),l(-1.839,.129),l(-.116,-.016),l(.064,-.404),l(-.19,-.638),l(-.174,.015),l(-.36,-.293),l(-.233,.184),l(-.398,-.172),l(.2,-.355),l(.434,-.293),l(-.007,-.181),l(-.445,-.541),l(.018,-.256),l(.131,-.498),l(.279,-.106),l(.318,.15),l(.495,.12),l(.43,-.574),l(.299,-.091),l(.296,.437),l(.391,-.046),l(.022,-.528),l(.107,-.363),l(1.032,-.017),l(.848,.089),l(.03,.544),l(.187,.301),l(1.138,.058),l(.14,.166),l(-.307,.604),l(-.565,.142),l(-.119,-.261),l(-.331,.031),l(-.263,.136),l(.121,.278),l(-.184,.414),l(-.312,.077),l(-.069,.244),l(-.635,.035),l(.157,.229),l(-.291,.094),l(-.191,.24),l(-.061,.285),l(.003,.21),l(-.215,.338),l(.166,.084),M(427.177,77.967),l(-.139,-.149),l(-.312,-.344),l(-.405,.031),l(-.665,-.059),l(-.123,-.329),l(-.285,-.66),l(.433,-.091),l(.603,-.467),l(.356,.495),l(.521,.179),l(.2,-.271),l(.078,-.586),l(.333,-.046),l(.459,.044),l(.056,.571),l(-.134,.36),l(-.144,.09),l(-.413,.286),l(.603,.299),l(-.285,.166),l(-.499,.39),l(-.238,.09),
-N(417.259,94.301),l(-.135,-.233),l(.216,-.701),l(-.091,-.076),l(.075,-.295),l(.321,-.372),l(.054,-.358),l(.054,-.213),l(.954,-.806),l(-.605,-.193),l(-.479,.014),l(-.456,-.09),l(-.095,-.186),l(-.233,-.007),l(-.072,.048),l(-.689,.062),l(-.045,-.145),l(-.395,.055),l(-.337,-.277),l(-.428,-.319),l(-.074,-.353),l(.248,-.144),l(.044,-.288),l(-.466,-.096),l(-.41,-.312),l(-.062,-.301),l(.422,-.376),l(-.038,-.468),l(-.282,-.365),l(-.344,-.177),l(.165,-.278),l(-.143,-.217),l(-.182,-.037),l(.08,-.097),l(.235,-.133),l(.236,-.133),l(-.193,-.121),l(.201,-.275),l(.095,-.148),l(-.152,-.292),l(-.082,-.265),l(-.376,-.182),l(.07,-.182),l(.341,-.078),l(.175,-.092),l(.378,.134),l(.664,-.151),l(.32,-.152),l(.128,-.376),l(.412,-.207),l(.003,-.328),l(-.16,-.17),l(-.188,.061),l(-.44,-.134),l(.029,-.184),l(.113,-.181),l(.571,.036),l(.084,-.401),l(.345,-.361),l(-.151,-.438),l(.066,-.147),l(-.465,-.192),l(.126,-.43),l(.285,-.181),l(.371,-.028),l(1.12,-.062),l(.293,-.012),l(.095,.16),l(.195,.271),l(-.155,.158),l(.324,.113),l(.148,-.068),l(.042,-.192),l(-.159,-.204),l(.259,.012),l(.437,.169),l(-.163,-.362),l(.247,-.419),l(.687,.113),l(.614,-.091),l(-.596,-.17),l(-.084,-.227),l(.282,-.102),l(-.252,-.114),l(-.12,-.147),l(.166,-.08),l(.068,-.136),l(-.675,.08),l(-.06,-.182),l(.664,-.125),l(.218,-.193),l(-.464,-.42),l(-.324,-.341),l(.045,-.28),l(.116,.016),l(1.839,-.129),l(.254,.13),l(.565,.341),l(.271,.297),l(-.02,.228),l(-.252,.175),l(.445,-.05),l(.171,.216),l(.157,-.078),l(.283,.021),l(.235,.156),l(.45,.073),l(.866,-.121),l(.077,.208),l(-.07,.149),l(-.057,.125),l(-.665,.295),l(.316,.193),l(.649,-.136),l(.113,.182),l(.457,-.006),l(.349,-.391),l(1.059,-.136),l(.602,-.234),l(.757,-.266),l(.249,.113),l(.396,-.17),l(.184,.182),l(.085,.159),l(.634,.29),l(.182,.074),l(.526,-.12),l(.156,.12),l(.059,.34),l(.036,.227),l(.154,.102),l(.354,.125),l(.372,-.022),l(.028,.13),l(.201,.025),l(.319,.835),l(-.219,.52),l(-.391,.147),l(-.051,.328),l(.391,.102),l(.683,.429),l(-.217,.395),l(.094,.18),l(.312,.146),l(-.021,.304),l(.131,.102),l(-.118,.292),l(-.214,.124),l(-.007,.191),l(.325,.27),l(-.114,.258),l(.468,.188),l(.281,.485),l(-.435,.698),l(-.142,.115),l(-.344,-.072),l(-.031,-.278),l(-.308,-.121),l(-.436,.072),l(.282,.218),l(-.254,.084),l(-.284,.097),l(-.524,.048),l(-.124,.169),l(-.735,.024),l(-.112,.217),l(-.176,-.072),l(-.358,.061),l(-.097,.229),l(-.382,.012),l(-.078,.181),l(-.442,0),l(-.422,.201),l(-.293,-.033),l(-.26,.181),l(-.243,.168),l(.037,.056),l(.258,.378),l(.413,.098),l(-.155,.25),l(-.08,.406),l(.159,.085),l(.036,.233),l(.244,.173),l(.478,.265),l(.188,-.072),l(.573,.515),l(.431,.17),l(.184,.201),l(.219,-.084),l(.165,.18),l(.207,.036),l(.447,.633),l(-.682,.26),l(-.437,-.151),l(-.132,.027),l(-.039,.337),l(-.162,.172),l(-.968,.295),l(-.364,.227),l(.538,.571),l(-.197,.295),l(.334,.014),l(.056,.158),l(-.098,.343),l(-.082,.055),l(-.441,-.178),l(.049,-.165),l(-.146,-.117),l(-.564,.062),l(-.195,-.138),l(-.433,.035),l(-.092,.178),l(-1.25,.035),l(-.125,.171),l(-.319,.014),l(-.044,.13),L(425.4,94.7),l(-.594,.021),l(-.059,-.144),l(-.093,-.145),l(-.493,-.089),l(-.262,.055),l(-.237,-.041),l(.032,.274),l(-.452,.343),l(-.215,0),l(.078,-.195),l(-.26,-.039),l(.011,-.165),l(-.194,-.048),l(-.104,-.137),l(-.249,-.007),l(-.096,-.11),l(-.164,.137),l(-.368,-.014),l(-.664,-.261),l(-.852,-.007),l(-.149,-.089),l(-.199,.014),l(-.017,-.151),l(-.709,.199),l(.179,.199),l(-.354,.021),l(-.278,-.11),l(-.567,.158),l(-.271,-.096),l(-.272,.117),l(-.271,-.089),M(432.012,80.473),l(-.171,-.038),l(-.088,-.049),l(-.447,.08),l(-.111,-.264),l(.002,-.213),l(.647,.281),l(.168,.203),
-N(450.734,91.05),l(-.831,-.33),l(-.424,-.101),l(-.104,-.216),l(-.703,-.186),l(-.129,-.13),l(-.561,.076),l(-.508,-.041),l(-.073,.137),l(-.373,.18),l(-.46,-.254),l(-.483,.046),l(-.168,-.056),l(-.558,.204),l(-.104,.177),l(-.149,.135),l(-.18,-.12),l(-.389,.083),l(-.003,-.204),l(.026,-.083),l(-.066,-.18),l(-.331,.025),l(-.073,-.169),l(-.194,-.24),l(-.261,.024),l(-.062,.112),l(-.193,-.016),l(-.183,.24),l(-.43,.048),l(-.03,-.228),l(-.285,-.041),l(-.105,-.331),l(-.382,-.096),l(-.188,-.208),l(.02,-.249),l(-.802,-.132),l(-.311,-.181),l(-.368,.161),l(-.293,-.013),l(-.013,-.221),l(.001,-.253),l(-.329,.084),l(.181,-.283),l(-.709,.005),l(-.258,-.121),l(-.509,-.193),l(-.286,-.024),l(-.003,.145),l(.282,.302),l(-.41,.12),l(-.22,.187),l(-.318,-.072),l(-.296,-.38),l(-.55,-.247),l(.224,-.211),l(.208,-.024),l(.099,-.121),l(-.199,-.181),l(-.257,-.024),l(-.061,.066),l(-.466,.066),l(.005,-.169),l(-.278,.037),l(-.132,-.181),l(-.568,-.054),l(-.201,-.025),l(-.363,-.163),l(-.093,-.26),l(-.211,-.091),l(-.361,.018),l(-.063,.084),l(.062,.073),l(-.024,.151),l(-.375,0),l(.435,-.698),l(-.281,-.485),l(-.468,-.188),l(.114,-.258),l(-.325,-.27),l(.007,-.191),l(.214,-.124),l(.118,-.292),l(-.131,-.102),l(.021,-.304),l(-.312,-.146),l(-.094,-.18),l(.217,-.395),l(-.683,-.429),l(-.391,-.102),l(.051,-.328),l(.391,-.147),l(.219,-.52),l(-.319,-.835),l(.34,.043),l(.23,.125),l(-.093,-.193),l(.156,-.153),l(-.019,-.147),l(-.166,-.13),l(-.021,-.129),l(-.012,-.075),l(.93,-.154),l(.431,-.051),l(.516,-.152),l(1.304,-.128),l(.48,-.158),l(.797,-.479),l(1.117,-.298),l(1.515,-.303),l(1.382,-.086),l(1.067,.417),l(-.882,-.294),l(-.054,.147),l(.256,.172),l(.132,.466),l(.355,.135),l(.648,.061),l(.645,-.11),l(1.063,-.409),l(.054,.004),l(-.978,.417),l(-.19,.11),l(-.004,.123),l(.218,.012),l(.286,-.123),l(.613,-.208),l(.543,-.253),l(.842,.006),l(2.246,.115),l(2.96,-.101),l(.641,-.021),l(.04,.014),l(.679,.243),l(.284,.487),l(.099,.186),l(.016,.029),l(.09,.171),l(.16,.302),l(.615,1.5),l(.172,.502),l(-.023,.236),l(-.263,.208),l(-.44,.03),l(-.571,.244),l(-.291,.328),l(-.128,.292),l(.289,.012),l(.421,.146),l(.149,.176),l(.218,.146),l(.013,.25),l(-.315,.752),l(.126,.137),l(.161,.175),l(-.074,.242),l(.816,.835),l(.316,.193),l(-.298,.048),l(-.085,.133),l(.328,.302),l(-.009,.314),l(-.255,.24),l(-.429,.013),l(-.286,.181),l(-.599,.398),l(-1.509,1.218),l(-.082,.306),l(.044,.552),l(.349,.383),l(-.653,-.018),M(431.844,80.27),l(.232,.024),l(.069,.208),l(-.134,-.029),l(-.168,-.203),M(432.739,80.361),l(-.03,.129),l(-.278,-.024),l(-.191,.03),l(-.046,-.208),l(.174,-.012),l(.266,0),l(.106,.085),
-N(416.488,81.945),l(.151,.438),l(-.345,.361),l(-.084,.401),l(-.571,-.036),l(-.113,.181),l(-.029,.184),l(.44,.134),l(.188,-.061),l(.16,.17),l(-.003,.328),l(-.412,.207),l(-.128,.376),l(-.32,.152),l(-.664,.151),l(-.378,-.134),l(-.175,.092),l(-.341,.078),l(-.07,.182),l(.376,.182),l(.082,.265),l(.152,.292),l(-.095,.148),l(-.201,.275),l(.193,.121),l(-.236,.133),l(-.235,.133),l(-.08,.097),l(.182,.037),l(.143,.217),l(-.165,.278),l(-.672,.024),l(-.001,-.338),l(.172,-.097),l(.11,-.423),l(-.754,-.375),l(-.535,.109),l(-.292,-.375),l(-.228,-.061),l(-.173,.121),l(-.313,-.242),l(-.267,.182),l(-.307,0),l(-.307,-.012),l(.025,.157),l(-.52,.034),l(-.407,-.042),l(-.477,-.098),l(-.07,-.162),l(-.496,-.264),l(.795,-.472),l(.858,-.621),l(.273,-.354),l(.563,-1.167),l(.173,-.104),l(.644,-.12),l(.367,.251),l(.136,.268),l(-.28,.203),l(-.228,-.056),l(.066,.496),l(-.191,.124),l(1.163,.225),l(.225,-.236),l(.406,-.113),l(.134,-.417),l(-.458,-.022),l(-.123,-.124),l(-.02,-.203),l(.236,-.158),l(-.171,-.023),l(-.558,-.067),l(.072,-.328),l(-.034,-.13),l(-.023,-.034),l(.128,-.283),l(.572,-.198),l(.709,-.238),l(.654,.03),l(1.089,-.151),l(.245,.275),l(.329,.045),l(.076,.181),l(.259,0),
-N(431.57,91.965),l(-.447,-.633),l(-.207,-.036),l(-.165,-.18),l(-.219,.084),L(430.349,91),l(-.431,-.17),l(-.573,-.515),l(-.188,.072),l(-.478,-.265),l(-.244,-.173),l(-.036,-.233),l(-.159,-.085),l(.08,-.406),l(.155,-.25),l(-.413,-.098),l(-.258,-.378),l(-.037,-.056),l(.243,-.168),l(.26,-.181),l(.293,.033),l(.422,-.201),l(.442,0),l(.078,-.181),l(.382,-.012),l(.097,-.229),l(.358,-.061),l(.176,.072),l(.112,-.217),l(.735,-.024),l(.124,-.169),l(.524,-.048),l(.284,-.097),l(.254,-.084),l(-.282,-.218),l(.436,-.072),l(.308,.121),l(.031,.278),l(.344,.072),l(.142,-.115),l(.375,0),l(.024,-.151),l(-.062,-.073),l(.063,-.084),l(.361,-.018),l(.211,.091),l(.093,.26),l(.363,.163),l(.201,.025),l(.568,.054),l(.132,.181),l(.278,-.037),l(-.005,.169),l(.466,-.066),l(.061,-.066),l(.257,.024),l(.199,.181),l(-.099,.121),l(-.208,.024),l(-.224,.211),l(.55,.247),l(.296,.38),l(.318,.072),l(.22,-.187),l(.41,-.12),l(-.282,-.302),l(.003,-.145),l(.286,.024),l(.509,.193),l(.258,.121),l(.709,-.005),l(-.181,.283),l(.329,-.084),l(-.001,.253),l(.013,.221),l(.293,.013),l(.368,-.161),l(.311,.181),l(.802,.132),l(-.02,.249),l(.188,.208),l(.382,.096),l(.105,.331),l(-.071,-.012),l(-.065,.066),l(-.066,.04),l(-.105,-.026),L(442,89.998),l(-.119,.013),l(-.065,.04),l(-.132,.066),l(-.053,.079),l(-.118,.092),l(-.119,.053),l(-.132,.079),l(-.105,.013),l(-.118,.013),l(-.053,.092),l(-.026,.092),l(-.026,.132),l(-.053,.079),l(-.053,.105),l(-.145,.066),l(-.105,.04),l(-.092,-.026),l(-.079,.079),l(-.04,.092),l(-.053,.079),l(-.039,0),l(-.105,.026),l(-.066,.026),l(-.079,.053),l(-.118,.053),l(-.132,0),l(-.145,.04),l(-.093,.026),l(-.065,-.026),l(-.065,-.026),l(-.093,0),l(-.065,.026),l(-.158,0),l(-.132,-.053),l(-.092,-.053),l(-.093,.026),l(-.171,.053),l(-.026,.04),l(-.146,.119),l(-.092,.066),l(-.014,.131),l(-.065,.105),l(-.039,.044),l(-.055,-.095),l(-.545,-.2),l(-1.332,.181),l(-1.019,-.227),l(-1.374,-.341),l(-.746,.773),l(-.598,.163),l(-.483,-.099),l(-.354,-.129),l(-.145,-.014),
-N(421.683,94.397),l(.368,.014),l(.164,-.137),l(.096,.11),l(.249,.007),l(.104,.137),l(.194,.048),l(-.011,.165),l(.26,.039),l(-.078,.195),l(.215,0),l(.452,-.343),l(-.032,-.274),l(.237,.041),l(.262,-.055),l(.493,.089),l(.093,.145),l(.059,.144),L(425.4,94.7),l(.377,-.103),l(.044,-.13),l(.319,-.014),l(.125,-.171),l(1.25,-.035),l(.092,-.178),l(.433,-.035),l(.195,.138),l(.564,-.062),l(.146,.117),l(-.049,.165),l(.441,.178),l(.082,-.055),l(.098,-.343),l(-.056,-.158),l(-.334,-.014),l(.197,-.295),l(-.538,-.571),l(.364,-.227),l(.968,-.295),l(.162,-.172),l(.039,-.337),l(.132,-.027),l(.437,.151),l(.682,-.26),l(.145,.014),l(.354,.129),l(.483,.099),l(.598,-.163),l(.746,-.773),l(1.374,.341),l(1.019,.227),l(1.332,-.181),l(.545,.2),l(.055,.095),l(.053,.093),l(-.097,.581),l(.155,.26),l(.761,.547),l(-.636,.291),l(-.019,.367),l(-.701,.054),l(-.164,-.134),l(-.325,0),l(-.223,.197),l(.452,.063),l(.136,.196),l(-.157,.206),l(-.409,.062),l(-.04,.375),l(.204,.188),l(-.154,.294),l(-.346,.299),l(-.693,.157),l(.082,.393),l(-.89,-.116),l(-.298,.196),l(-.85,-.08),l(-.566,.107),l(-.646,.5),l(-.287,-.152),l(-.612,.009),l(-.179,-.107),l(-1.04,-.065),l(-.478,-.112),l(-.894,-.082),l(-1.311,-.247),l(-.32,-.391),l(-.318,-.096),l(-.023,-.363),l(-.856,.227),l(-.301,-.103),l(-.445,.11),l(-.183,-.083),l(-.366,.096),l(-.329,.411),l(-.597,-.034),l(-.631,-.171),l(.029,-.171),l(-.215,-.117),l(-.579,.332),l(-.55,-.242),l(-.008,-.144),l(-.622,-.062),l(.09,-.192),l(-.214,-.288),l(.266,-.274),l(-.193,-.336),
-N(431.763,171.063),l(-.067,.354),l(.091,.72),l(.108,.508),l(.225,.168),l(.562,.11),l(.144,.183),l(.077,.353),l(-.089,1.116),l(-.146,.227),l(-.274,.171),l(-.885,.217),l(-.291,.256),l(-.664,1.275),l(-.503,1.203),l(-.243,1.004),l(-.354,.129),l(-.369,.03),l(-.129,.354),l(-.146,1.229),l(-.192,.312),l(-.385,.045),l(-.257,.284),l(-.417,.836),l(-.944,2.223),l(-.304,.624),l(-.352,.496),l(-.368,.355),l(-.239,.114),l(-.145,-.056),l(-.722,-.97),l(-.145,-.14),l(-1.104,-.05),l(-.272,.03),l(-1.31,1.265),l(-.941,.839),l(-.495,.526),l(.02,.974),l(-.189,.552),l(-.376,.686),l(-.188,-.119),l(-.224,-.042),l(-.176,-.127),l(-.145,.212),l(.144,.296),l(-.063,.127),l(-.353,.198),l(-.56,.03),l(-.977,.101),l(-.607,-.267),l(-.288,.043),l(-.271,.368),l(-.177,.113),l(-.432,-.07),l(-1.247,-.011),l(-.528,-.225),l(-.543,-.451),l(-.416,-.72),l(-.192,-.649),l(.048,-.254),l(.208,-.254),l(-.144,-.296),l(-.513,-.069),l(-.128,-.254),l(-.464,-.55),l(-.561,-.465),l(-.608,-.253),l(-.641,-.253),l(-.272,-.31),l(-.513,.072),l(-.24,.297),l(-.336,.071),l(-.881,.044),l(-.659,.03),l(-.006,-.234),l(.121,-1.188),l(-.217,-1.439),l(.09,-.989),l(.012,-.876),l(-.003,-.48),l(-.002,-.381),l(.237,-.397),l(.257,-.03),l(.433,-.13),l(.078,-.368),l(-.116,-.592),l(.095,-.34),l(.656,-.414),l(.223,-.298),l(.19,-.566),l(.316,-.962),l(-.388,-.718),l(-.164,-.762),l(.062,-.777),l(.092,-.961),l(.158,-.849),l(.353,-.482),l(.687,-1.614),l(.676,-.4),l(1.064,-.188),l(1.174,-.108),l(1.111,.121),l(.821,.277),l(1.095,1.223),l(.209,.098),l(.37,-.002),l(1.337,-.544),l(.467,-.116),l(.354,.083),l(1.173,.742),l(.965,.277),l(.934,-.005),l(.273,-.059),l(.629,-.399),l(.403,-.327),l(.774,-.287),l(.628,-.103),l(.709,-.047),l(.531,.04),l(.884,.221),l(.724,.193),l(.609,.208),l(.259,-.058),l(.761,-.697),l(.453,-.299),l(.437,-.2),l(.951,-.034),l(.173,.394),l(.575,.52),l(.351,.407),
-N(425.506,195.522),l(-1.965,-.017),l(-1.005,.007),l(.029,-.176),l(-.208,-.536),l(.271,-.989),l(-.159,-.72),l(-.191,-.522),l(-.399,-.649),l(.433,-.396),l(-.287,-.367),l(-.24,-.056),l(-.576,.058),l(-.559,-.268),l(-.176,-.324),l(-.063,-.537),l(-.111,-.211),l(-.527,-.14),l(-.101,-.064),l(.376,-.686),l(.189,-.552),l(-.02,-.974),l(.495,-.526),l(.941,-.839),l(1.31,-1.265),l(.272,-.03),l(1.104,.05),l(.145,.14),l(.722,.97),l(.145,.056),l(.239,-.114),l(.368,-.355),l(.352,-.496),l(.304,-.624),l(.944,-2.223),l(.417,-.836),l(.257,-.284),l(.385,-.045),l(.192,-.312),l(.146,-1.229),l(.129,-.354),l(.369,-.03),l(.354,-.129),l(.243,-1.004),l(.503,-1.203),l(.664,-1.275),l(.291,-.256),l(.885,-.217),l(.274,-.171),l(.146,-.227),l(.089,-1.116),l(-.077,-.353),l(-.144,-.183),l(-.562,-.11),l(-.225,-.168),l(-.108,-.508),l(-.091,-.72),l(.067,-.354),l(.627,.109),l(.208,.083),l(.923,1.238),l(.395,.887),l(.119,1.2),l(-.134,.651),l(.169,1.228),l(.205,.578),l(.381,.633),l(.208,.21),l(.047,.127),l(-.225,.143),l(-.674,.032),l(-1.187,-.191),l(-.481,-.082),l(-.24,.1),l(-.29,.312),l(-.323,.539),l(1.088,1.067),l(1.343,1.179),l(.638,1.07),l(.382,1.057),l(.208,.183),l(-.208,.114),l(-.354,.327),l(-.866,1.743),l(-.4,.511),l(-.528,.399),l(-.144,.198),l(-.064,.424),l(.112,.776),l(.273,1.185),l(.207,.592),l(.4,.661),l(.432,.605),l(.064,.791),l(.112,.324),l(1.217,1.236),l(.498,.802),l(.194,.804),l(.209,.451),l(-.159,.185),l(.1,.861),l(-.271,.086),l(-.863,-.292),l(-.864,-.334),l(-.576,-.194),l(-.56,-.124),l(-.479,-.04),l(-.271,-.055),l(-.878,.076),l(-.863,-.023),l(-.56,-.109),l(-1.022,-.149),l(-.831,-.038),l(-1.773,-.088),l(-.88,-.093),l(-.045,.495),
-N(551.793,147.278),l(-.788,-.111),l(-.458,-.253),l(-.379,-.367),l(-.248,-1.101),l(-.112,-.141),l(-.342,-.141),l(-.662,-.083),l(-.105,-.07),l(-.014,-.268),l(.116,-.466),l(-.178,-.451),l(-.418,-.38),l(-.294,-.013),l(-1.181,.412),l(-1.229,.087),l(-.81,.143),l(-.947,.073),l(-.415,-.083),l(-.263,-.226),l(-.135,-.197),l(-.909,.143),l(-.548,.382),l(-.856,.016),l(-1.264,-.011),l(-.691,.128),l(-.723,.115),l(-.541,.03),l(.182,-.954),l(.049,-.354),l(.31,-.792),l(.285,-.383),l(.794,-.47),l(.697,-.258),l(1,-.077),l(.209,-.072),l(.188,-.255),l(.036,-.974),l(-.186,-.281),l(-.652,-.053),l(-.185,-.394),l(-.111,-1.34),l(-.168,-.38),l(-.409,-.224),l(-1.144,-.388),l(-.695,-.391),l(-.353,-.464),l(-.71,-1.068),l(-.802,-1.083),l(.887,.32),l(.63,.194),l(1.069,.248),l(.854,.235),l(.541,.039),l(.742,.024),l(1.187,-.218),l(.349,-.002),l(1.005,.135),l(1.234,-.12),l(.964,-.175),l(1.183,-.19),l(1.066,-.274),l(.247,-.156),l(.069,-.184),l(.099,-.903),l(.232,-.876),l(.188,-.34),l(.412,-.369),l(.597,-.441),l(.283,-.072),l(.644,.039),l(.516,.082),l(.254,-.086),l(.321,-.693),l(.362,-.271),l(.559,-.243),l(.562,.025),l(1.001,.375),l(.237,-.086),l(.34,-.383),l(.021,-.084),l(.139,-1.214),l(.288,-.834),l(.224,-.424),l(.292,-.228),l(.416,-.115),l(.513,-.031),l(.315,-.115),l(.199,-.255),l(-.088,-.437),l(-.129,-.281),L(556.193,125),l(-.35,-.336),l(.355,-.129),l(.997,.122),l(.698,.039),l(.513,-.215),l(.289,-.255),l(-.033,-.31),l(-.223,-.478),l(.13,-.283),l(.4,-.341),l(.524,-.355),l(.324,-.426),l(-.198,-.477),l(.119,-.483),l(-.232,-.171),l(-.01,-.336),l(-.411,-.271),l(-.01,-.32),l(.464,-.413),l(.258,-.214),l(.246,.023),l(.559,-.395),l(.272,-.19),l(.53,-.292),l(1.148,-.152),l(1.345,-.012),l(.647,.144),l(.338,-.179),l(.332,.005),l(.455,-.297),l(.358,-.004),l(.148,-.142),l(.313,.14),l(.105,.112),l(.281,-.21),l(.296,.047),l(.554,.117),l(.004,.456),l(.282,-.128),l(.625,-.009),l(.373,.323),l(.213,.247),l(.007,.501),l(-.312,.516),l(.301,.07),l(.198,.218),l(.252,.281),l(.52,-.196),l(.239,0),l(.104,.199),l(.178,.09),l(.565,.436),l(1.337,.104),l(.305,.111),l(.147,.126),l(-.207,.084),l(-.688,.37),l(-.411,.232),l(-.155,.43),l(-.071,.479),l(-.234,.116),l(-.125,-.179),l(-.621,-.102),l(-.438,.132),l(-.271,.298),l(-.262,-.116),l(-.557,.265),l(-.928,-.149),l(-.568,-.138),l(-1.708,-.325),l(-.894,.265),l(-.38,.611),l(.09,.166),l(.336,0),l(.047,.314),l(-.202,.149),l(.101,.199),l(.598,-.017),l(-.002,.347),l(-.384,.099),l(-.139,.413),l(.389,.232),l(-.116,.479),l(-.215,.132),l(.089,.248),l(.606,.298),l(-.003,.532),l(.782,-.003),l(-.039,.43),l(.188,.248),l(.702,-.05),l(.668,.377),l(.012,.211),l(-.2,.255),l(-.504,.2),l(-.643,.196),l(-.517,.248),l(.032,.366),l(.188,.377),l(-.237,.977),l(-1.512,1.503),l(.261,.38),l(-.358,.281),l(-.609,.133),l(-.353,.467),l(-.509,1.216),l(-.478,.547),l(-1.193,.496),l(-.177,.364),l(-.277,.481),l(-.563,.61),l(-.076,.38),l(-.71,.259),l(-.734,-.011),l(-.895,.314),l(-.361,-.094),l(-.158,-.518),l(-.207,-.132),l(-.404,.083),l(-.535,.463),l(-.144,.446),l(-.979,.893),l(-.186,.543),l(-.079,.269),l(.116,.38),l(.541,.163),l(.504,.085),l(.425,.014),l(-.114,.689),l(-.154,.735),l(.412,.411),l(.33,.099),l(.537,-.099),l(.112,.441),l(.216,.507),l(.654,1.333),l(-.232,.149),l(.241,.463),l(-.317,.066),l(-.15,.248),l(-.55,.083),l(-.145,-.335),l(-.183,-.062),l(-.78,.215),l(-.2,.331),l(-.735,-.099),l(-.229,-.149),l(-.835,-.021),l(-.835,-.009),l(-.259,-.052),l(.015,.728),l(-.866,.017),l(-.296,.431),l(-.37,.036),
-N(606.155,150.953),l(-.037,-.466),l(-.627,-2.479),l(-.064,-.578),l(-.4,.044),l(-.281,.115),l(-.395,1.159),l(-.224,.354),l(-.529,-.448),l(-.249,-.267),l(-.23,-.281),l(-.001,-.381),l(-.009,-.522),l(.131,-.283),l(.651,-.356),l(.498,-.13),l(.938,-.767),l(.159,-.34),l(.012,-.79),l(-.057,-.127),l(-.111,-.098),l(-2.473,-.198),l(-.559,.003),l(-.916,.062),l(-.547,-.053),l(-.537,-.109),l(-.095,-.099),l(-.079,-.719),l(-.053,-.479),l(-.129,-.324),l(-.417,-.054),l(-.489,.06),l(-.372,-.266),l(-.339,-.266),l(-1.252,-.303),l(-.234,.171),l(-.555,.525),l(-.124,.283),l(.083,.155),l(.494,.237),l(1.224,.938),l(.126,.112),l(-.047,.155),l(-.382,.101),l(-.502,.13),l(-.4,.299),l(-.548,.61),l(.339,.323),l(1.042,.431),l(.193,.21),l(-.029,.269),l(-.505,.765),l(.04,.254),l(.352,.45),l(.325,1.409),l(.402,1.775),l(.147,.532),l(-.172,.322),l(.068,.183),l(-.321,.071),l(-.35,-.056),l(-.148,-.706),l(-.198,-.084),l(-.253,.354),l(-.171,.354),l(-.172,.057),l(-.115,-.099),l(-.28,-.592),l(-.152,-.169),l(-.412,.537),l(-.504,.298),l(-.992,.397),l(-.571,.213),l(-.264,.226),l(-.05,.113),l(.106,.579),l(.183,.409),l(-.336,.495),l(-.305,.332),l(-.013,.257),l(-.548,.415),l(-.593,.467),l(-.467,.185),l(-.432,.057),l(-.746,.206),l(-.591,.362),l(-.459,.58),l(-.551,.552),l(-.88,1.061),l(-.611,.552),l(-.673,.276),l(-.675,.829),l(-.676,.467),l(-.728,.368),l(-.452,.241),l(-.427,.312),l(-.192,.509),l(-.073,.466),l(-.341,.41),l(-.649,.298),l(-.428,.058),l(-.506,-.098),l(-.258,.269),l(-.366,.887),l(-.277,.23),l(-.505,-.253),l(-.614,.142),l(-.354,.283),l(-.304,.565),l(-.165,.48),l(-.005,.508),l(.166,1.539),l(.018,.805),l(-.208,.495),l(.227,.324),l(.315,.423),l(-.015,.508),l(-.199,.607),l(-.669,1.611),l(-.341,.834),l(-.13,.636),l(.047,.649),l(.21,1.764),l(-.081,.24),l(-.643,.001),l(-.433,-.013),l(-.186,.142),l(-.334,.961),l(-.324,.594),l(.025,.127),l(.493,.352),l(-.805,.327),l(-.306,.015),l(-.77,.284),l(-.295,.41),l(-.101,.692),l(-.157,.255),l(-.367,.283),l(-.526,.255),l(-.099,.057),l(-.066,.042),l(-.231,.156),l(-.145,0),l(-.174,-.056),l(-1.417,-1.451),l(-.092,-.395),l(-.276,-.522),l(-.34,-1.397),l(-.689,-1.792),l(-.94,-1.933),l(-.979,-1.508),l(-.554,-1.722),l(-.507,-1.792),l(-.738,-1.636),l(-.82,-1.42),l(-.424,-.737),l(-.598,-1.439),l(-.363,-1.157),l(-.767,-3.274),l(-.469,-2.695),l(-.157,-1.566),l(-.051,-.24),l(.232,-.565),l(.546,-.834),l(.007,-.311),l(-.404,-.281),l(-.367,-.437),l(-.113,-.635),l(-.108,-.917),l(.065,-.622),l(-.837,.03),l(-.19,.212),l(-.235,.424),l(.009,.183),l(.276,.254),l(.074,.183),l(-.073,.438),l(-.301,.438),l(-.503,.368),l(-.812,.369),l(-.504,.114),l(-.617,.255),l(-.377,.015),l(-.861,-.281),l(-.572,-.38),l(-1.018,-1),l(-1.391,-1.268),l(-.516,-.705),l(.267,-.043),l(1.062,.125),l(.615,-.086),l(.443,-.142),l(.461,-.283),l(.521,-.608),l(-.067,-.24),l(-.156,.071),l(-.587,.114),l(-.847,-.026),l(-.607,-.112),l(-.632,-.132),l(-.5,-.218),l(-.203,-.07),l(-.929,-.661),l(-.668,-.775),l(-.057,-.197),l(.37,-.036),l(.296,-.431),l(.866,-.017),l(-.015,-.728),l(.259,.052),l(.835,.009),l(.835,.021),l(.229,.149),l(.735,.099),l(.2,-.331),l(.78,-.215),l(.183,.062),l(.145,.335),l(.55,-.083),l(.15,-.248),l(.317,-.066),l(-.241,-.463),l(.232,-.149),l(-.654,-1.333),l(-.216,-.507),l(-.112,-.441),L(557,143.058),l(-.33,-.099),l(-.412,-.411),l(.154,-.735),l(.114,-.689),l(-.425,-.014),l(-.504,-.085),l(-.541,-.163),l(-.116,-.38),l(.079,-.269),l(.186,-.543),l(.979,-.893),l(.144,-.446),l(.535,-.463),l(.404,-.083),l(.207,.132),l(.158,.518),l(.361,.094),l(.895,-.314),l(.734,.011),l(.71,-.259),l(.076,-.38),l(.563,-.61),l(.277,-.481),l(.177,-.364),l(1.193,-.496),l(.478,-.547),l(.509,-1.216),l(.353,-.467),l(.609,-.133),l(.358,-.281),l(-.261,-.38),l(1.512,-1.503),l(.237,-.977),l(-.188,-.377),l(-.032,-.366),l(.517,-.248),l(.643,-.196),l(.504,-.2),l(.2,-.255),l(-.012,-.211),l(-.668,-.377),l(-.702,.05),l(-.188,-.248),l(.039,-.43),l(-.782,.003),l(.003,-.532),l(-.606,-.298),l(-.089,-.248),l(.215,-.132),l(.116,-.479),l(-.389,-.232),l(.139,-.413),l(.384,-.099),l(.002,-.347),l(-.598,.017),l(-.101,-.199),l(.202,-.149),l(-.047,-.314),l(-.336,0),l(-.09,-.166),l(.38,-.611),l(.894,-.265),l(1.708,.325),l(.568,.138),l(.928,.149),l(.557,-.265),l(.262,.116),l(.271,-.298),l(.438,-.132),l(.621,.102),l(.125,.179),l(.234,-.116),l(.071,-.479),l(.155,-.43),l(.411,-.232),l(.688,-.37),l(.207,-.084),l(.502,-.152),l(0,.515),l(.441,1.03),l(.221,.515),l(.81,.11),l(.441,.405),l(.221,.258),l(-.331,.221),l(-.184,.184),l(.073,.589),l(.037,.552),l(.294,.221),l(.718,.096),l(.092,.078),l(.044,.182),l(.68,.099),l(-.104,.414),l(.367,.694),l(-.578,.364),l(-.376,.281),l(-.368,.049),l(-.337,-.264),l(-.033,-.364),l(-.785,.198),l(.157,.694),l(.579,.595),l(-.104,.446),l(.272,.364),l(-.215,.215),l(.099,.43),l(.198,.066),l(.477,-.314),l(.383,.248),l(.772,.843),l(.363,-.116),l(1.078,.579),l(-.116,.364),l(.756,.248),l(.154,-.066),l(.859,.596),l(-1.07,.909),l(-.281,.116),l(.008,.364),l(-.221,.265),l(.04,.396),l(-.309,.397),l(-.218,.43),l(.039,.248),l(.63,.38),l(.466,-.083),l(.665,.479),l(.704,.149),l(.305,.529),l(1.242,.678),l(.231,-.166),l(1.027,.595),l(.538,-.066),l(.182,.397),l(.835,.166),l(.304,.198),l(.15,-.066),l(.087,-.215),l(.503,0),l(.482,.265),l(.582,-.347),l(.494,.298),l(.643,.066),l(.142,.231),l(-.101,.446),l(.663,.149),l(.286,.281),l(.618,.265),l(.584,-.281),l(.313,.066),l(-.034,.331),l(.312,.248),l(.379,-.231),l(.721,.148),l(.847,.364),l(.606,-.297),l(.268,.364),l(.399,.116),l(.357,-.132),l(.271,.083),l(.687,-.132),l(.336,.05),l(.311,-.694),l(-.429,-.827),l(.07,-.876),l(.318,-.761),l(-.037,-.022),l(.345,-.129),l(.471,-.102),l(.231,.069),l(.139,.183),l(-.052,.861),l(.212,.662),l(-.092,.113),l(.235,.493),l(.637,.18),l(.559,.081),l(.869,.214),l(.085,.021),l(.544,-.074),l(.531,-.313),l(.301,.055),l(.335,.125),l(1.238,.063),l(1.036,-.062),l(.624,-.06),l(.217,-.58),l(-.017,-.282),l(-.258,-.238),l(-.313,-.069),l(-.326,-.294),l(-.042,-.24),l(.07,-.156),l(.189,-.1),l(.784,-.033),l(.714,-.216),l(.397,-.27),l(1.123,-1.107),l(.543,-.37),l(.829,-.258),l(1.105,-.726),l(.546,-.299),l(.355,-.087),l(.286,.167),l(.975,.319),l(.377,-.044),l(1.377,-.84),l(.455,.392),l(.716,.715),l(.046,.38),l(-.354,.454),l(-.138,.269),l(.102,.056),l(.3,.055),l(.657,.081),l(.73,.179),l(.624,.081),l(-.018,.508),l(-.112,.24),l(-.596,.582),l(-.072,.283),l(.184,.718),l(-.295,.058),l(-.853,-.221),l(-.558,-.082),l(-.312,.129),l(-.719,.512),l(-1.446,.883),l(-.197,.354),l(.057,.761),l(-.136,.382),l(-.938,1.134),l(-.045,.212),l(.192,.408),l(0,.324),l(-1.148,2.25),l(-.17,.128),l(-.309,-.013),l(-.391,-.11),l(-.811,-.32),l(-.133,.283),l(.146,1.594),l(-.191,.354),l(-.401,.144),l(-.228,.185),l(.152,.93),l(-.015,.678),l(-.273,.368),l(-.25,.129),l(-.255,-.14),l(-.595,-.152),
-N(478.516,135.173),l(.052,-.292),l(-.049,-.169),l(-.197,-.107),l(.107,-.175),l(.292,-.919),l(-.015,-.818),l(.517,-1.09),l(.3,-.891),l(-.004,-.409),l(.133,-.283),l(.07,-.749),l(.033,-.847),l(.062,-.174),l(.026,-.278),l(-.065,-.411),l(.037,-.119),l(.102,-.063),l(1.902,1.034),l(.365,.167),l(.253,-.016),l(1.139,-.656),l(2.96,-1.541),l(.161,-.071),l(.87,1.632),l(.311,.69),l(.093,.056),l(-.46,.44),l(-.257,.171),l(-.97,.26),l(-2.586,.622),l(-.646,.229),l(1.146,1.32),l(.698,.885),l(-.765,.724),l(-.456,.37),l(-.24,.072),l(-1.249,.332),l(-.462,.61),l(-.975,.782),l(-2.079,-.299),l(-.154,-.017),
-N(456.028,151.46),l(-.021,1.003),l(.033,3.078),l(-.088,.17),l(-1.561,-.019),l(-.52,-.011),l(-.073,1.13),l(-1.981,-.963),l(-5.577,-2.792),l(-4.941,-2.372),l(-5.231,-2.554),l(-.41,.059),l(-1.818,.858),l(-1.519,.729),l(-.231,.157),l(-1.192,-.911),l(-.258,-.182),l(-1.008,-.333),l(-1.646,-.442),l(-.832,-.137),l(-.098,-.07),l(-.86,-1.506),l(-.178,-.168),l(-1.028,-.347),l(-.702,-.165),l(-.544,.201),l(-.244,-.154),l(-.562,-.873),l(-.249,-.917),l(-1.272,-1.702),l(.152,-.283),l(.249,-.128),l(.666,-.47),l(.086,-.17),l(.061,-.664),l(-.457,-1.156),l(.158,-.495),l(.16,-.622),l(-.101,-.748),l(.1,-.862),l(-.052,-.691),l(-.147,-.833),l(-.88,-1.605),l(.241,-.383),l(.204,-.156),l(.22,-.143),l(.864,-.598),l(.155,-.227),l(.147,-.537),l(-.274,-.973),l(.126,-.354),l(1.473,-1.138),l(.579,-.314),l(.802,-.428),l(.093,-.269),l(-.064,-.564),l(.093,-.981),l(1.436,.59),l(.995,.309),l(.521,.013),l(.863,-.129),l(.604,.027),l(1.552,.223),l(.614,.479),l(.794,.224),l(.486,-.001),l(.342,.197),l(.173,.226),l(.26,.819),l(.39,.564),l(.688,.591),l(.378,.126),l(.678,.14),l(1.031,.083),l(.447,.07),l(.973,.224),l(.639,.224),l(.552,.281),l(1.289,.788),l(.84,.464),l(.465,.013),l(.441,-.128),l(.758,-.411),l(.706,-.623),l(.3,-.523),l(0,-.254),l(-.276,-.621),l(-.112,-.579),l(.044,-.41),l(.237,-.537),l(.661,-.58),l(.333,-.198),l(.554,-.241),l(.644,-.298),l(1.376,-.413),l(1.205,.054),l(.728,.154),l(.844,.365),l(.188,.169),l(.043,.508),l(.281,.253),l(.301,.014),l(.945,.125),l(.712,.309),l(.45,.027),l(1.286,.04),l(.302,.197),l(.068,.381),l(.276,.296),l(-.099,.208),l(-.369,.228),l(-.21,.34),l(.354,1.283),l(-.231,.425),l(-.322,.553),l(-.056,.311),l(.185,.945),l(.388,.916),l(.042,.367),l(-.015,.988),l(-.019,3.869),l(-.016,1.468),l(-.008,2.048),l(-.001,.692),l(.045,2.81),l(-.021,1.342),l(.011,2.612),
-N(478.212,134.714),l(-.834,-1.746),l(-.796,-1.944),l(-.124,-.289),l(.109,-.066),l(.679,-.851),l(.219,-.438),l(.183,-.507),l(.171,-.566),l(.188,-.822),l(.116,.018),l(.137,-.093),l(.006,-.204),l(.028,-.315),l(.372,-.051),l(.151,.022),l(.07,.099),l(.355,-.07),l(.009,-.167),l(.067,-.193),l(.088,-.041),l(.07,.023),l(.183,.346),l(.201,.128),l(.021,.183),l(-.047,.122),l(.082,.085),l(-.102,.063),l(-.037,.119),l(.065,.411),l(-.026,.278),l(-.062,.174),l(-.033,.847),l(-.07,.749),l(-.133,.283),l(.004,.409),l(-.3,.891),l(-.517,1.09),l(.015,.818),l(-.292,.919),l(-.107,.175),l(-.067,.068),l(-.042,.042),
-N(495.751,163.817),l(-.03,-.184),l(-.112,-.537),l(-.508,-.945),l(-.73,-.987),l(-.438,-.493),l(-.846,-.69),l(-.51,-.875),l(-.814,-1.876),l(-.474,-.889),l(-.28,-.409),l(-.794,-.507),l(-1.271,-.689),l(-.527,-.634),l(-.8,-1.17),l(-.081,-.96),l(-.061,-.776),l(-.002,-.89),l(-.104,-.381),l(-.312,-.663),l(-.944,-1.65),l(-.357,-.494),l(-.758,-.62),l(-.459,-.225),l(-.499,-.126),l(-.308,-.282),l(-.483,-.578),l(.149,-.692),l(-.111,-.437),l(-.474,-.818),l(-.747,-1.072),l(-.793,-.902),l(-1.069,-1.494),l(-.525,-.931),l(-.352,-.479),l(-.722,-.761),l(-.524,-.056),l(-.248,0),l(.077,-.296),l(.193,-.283),l(.311,-1.314),l(.104,-.583),l(.154,.017),l(2.079,.299),l(.975,-.782),l(.462,-.61),l(1.249,-.332),l(.24,-.072),l(.456,-.37),l(.765,-.724),l(-.698,-.885),l(-1.146,-1.32),l(.646,-.229),l(2.586,-.622),l(.97,-.26),l(.257,-.171),l(.46,-.44),l(.093,.056),l(1.129,.459),l(.757,.222),l(2.034,.934),l(1.14,.473),l(2.44,1.101),l(.258,.196),l(.399,.633),l(.141,.07),l(.973,-.048),l(.135,.366),l(-.118,.396),l(.047,.818),l(.118,.253),l(.812,.277),l(1.557,.697),l(4.048,.132),l(1.657,.259),l(.408,.054),l(.334,.619),l(.185,.239),l(1.07,.05),l(.644,-.044),l(.043,.121),l(.277,.648),l(.365,.494),l(.178,.663),l(.052,.113),l(.615,-.029),l(.248,.126),l(-.204,.237),l(.194,.187),l(.184,.282),l(.234,.067),l(.234,.27),l(.886,.168),l(.423,.437),l(-.07,.28),l(-.235,.035),l(-.111,.25),l(.316,.381),l(-.188,.593),l(-.122,.198),l(.165,.268),l(.302,.666),l(.149,-.117),l(.372,.282),l(.105,.616),l(.422,.696),l(-.028,.423),l(.222,.268),l(.16,.197),l(.287,.084),l(.136,-.007),l(.336,.083),l(1.043,2.198),l(.548,1.154),l(.261,.902),l(3.362,.375),l(3.387,.446),l(.839,.108),l(.584,-.469),l(.152,-.057),l(.581,.914),l(.155,1.453),l(-5.346,2.982),l(-2.35,1.213),l(-1.691,.815),l(-.169,.085),l(-1.148,.346),l(-3.097,1.035),l(-4.618,1.566),l(-.484,.229),l(-.041,.127),l(-.383,.397),l(-1.907,2.271),l(-2.042,2.667),l(-1.302,-2.703),l(-1.211,-2.45),l(-.452,-.012),l(-.715,.047),l(-.446,-.125),l(-.671,-.151),l(-.216,.1),l(-.174,.185),l(-.11,.495),l(.041,.678),l(-.113,.565),l(-.692,.563),
-N(476.458,130.735),l(.124,.289),l(.796,1.944),l(.834,1.746),l(-.38,.381),l(-.479,1.145),l(-.334,1.413),l(-.171,.593),l(-.18,.156),l(-.407,-.07),l(-.448,-.521),l(-.782,-.676),l(-.386,-.494),l(-.338,-.988),l(-.521,-.45),l(-.289,-.621),l(-.17,-.479),l(-.198,-.353),l(-.466,.17),l(-.267,.523),l(.604,1.34),l(.131,.381),l(.634,.86),l(.933,1.042),l(.473,1.199),l(.526,.973),l(.277,.818),l(.391,.465),l(.912,1.735),l(1.072,1.904),l(.428,.705),l(.586,.549),l(.451,.352),l(.151,.183),l(-.241,.17),l(-.285,.1),l(-.043,.155),l(.238,1.087),l(.252,.467),l(.127,.238),l(.812,.591),l(.397,.168),l(.406,.521),l(.416,.38),l(.311,.56),l(-10.382,-.006),l(-2.138,-.001),l(-2.774,.002),l(-2.513,.015),l(-2.268,-.029),l(-1.664,.01),l(-1.241,.007),l(-1.614,-.019),l(-.914,.005),l(-.819,.089),l(-.011,-2.612),l(.021,-1.342),l(-.045,-2.81),l(.001,-.692),l(.008,-2.048),l(.016,-1.468),l(.019,-3.869),l(.015,-.988),l(-.042,-.367),l(-.388,-.916),l(-.185,-.945),l(.056,-.311),l(.322,-.553),l(.231,-.425),l(-.354,-1.283),l(.21,-.34),l(.369,-.228),l(.099,-.208),l(.337,.168),l(.553,-.015),l(.628,-.1),l(.786,-.001),l(1.513,.293),l(.587,.115),l(.779,.122),l(.721,.154),l(.348,.409),l(.4,0),l(.928,.083),l(.998,.394),l(.628,.069),l(.245,-.127),l(.72,-.538),l(.925,-.397),l(.837,-.186),l(.78,-.27),l(.375,-.072),l(.346,.056),l(.535,-.001),l(.723,.126),l(.202,.465),l(.596,.366),l(.518,-.156),l(.64,.267),l(.382,.027),l(.561,-.401),l(.241,.179),l(.277,.056),l(.674,.13),l(.338,-.062),l(.46,-.165),l(.51,-.308),
-N(580.625,132.873),l(.24,.43),l(.299,.05),l(.276,-.314),l(.134,-.513),l(.275,.066),l(.186,-.182),l(1.079,.199),l(.132,.612),l(.867,.264),l(.726,.595),l(.472,.215),l(.15,-.132),l(.454,.281),l(.657,.794),l(.158,-.166),l(.71,-.116),l(.289,.166),l(.178,.38),l(-.069,.281),l(1.451,.893),l(.333,-.248),l(.326,.017),l(-.175,.396),l(.014,.265),l(.935,.066),l(.365,-.066),l(.54,.496),l(.141,.463),l(.237,-.099),l(-.01,-.364),l(.685,.38),l(.271,-.083),l(.08,-.331),l(.407,0),l(.63,.281),l(.319,.364),l(.849,-.066),l(.341,.116),l(.339,-.281),l(.655,.159),l(.037,.022),l(-.318,.761),l(-.07,.876),l(.429,.827),l(-.311,.694),l(-.336,-.05),l(-.687,.132),l(-.271,-.083),l(-.357,.132),l(-.399,-.116),l(-.268,-.364),l(-.606,.297),l(-.847,-.364),l(-.721,-.148),l(-.379,.231),l(-.312,-.248),l(.034,-.331),l(-.313,-.066),l(-.584,.281),l(-.618,-.265),l(-.286,-.281),l(-.663,-.149),l(.101,-.446),l(-.142,-.231),l(-.643,-.066),l(-.494,-.298),l(-.582,.347),l(-.482,-.265),l(-.503,0),l(-.087,.215),l(-.15,.066),l(-.304,-.198),l(-.835,-.166),l(-.182,-.397),l(-.538,.066),l(-1.027,-.595),l(-.231,.166),l(-1.242,-.678),l(-.305,-.529),l(-.704,-.149),l(-.665,-.479),l(-.466,.083),l(-.63,-.38),l(-.039,-.248),l(.218,-.43),l(.309,-.397),l(-.04,-.396),l(.221,-.265),l(-.008,-.364),l(.281,-.116),l(1.07,-.909),
-N(374.125,167.166),l(-1.41,-.924),l(-.661,-.604),l(-.537,-.788),l(-.292,-.662),l(-.15,-.183),l(-.312,-.154),l(-.567,-.053),l(-.655,-.307),l(-.695,-.561),l(-.604,-.194),l(-.567,-.025),l(-1.209,.12),l(-1.821,.194),l(-.523,.417),l(.06,-.502),l(.563,-1.301),l(.188,-.819),l(.13,-1.13),l(-.162,-1.101),l(-.3,-.791),l(-.624,-.747),l(.267,-.283),l(.182,-.424),l(.067,-.975),l(-.065,-.537),l(-.174,-.353),l(-.808,-.817),l(-.297,-.112),l(-.393,.438),l(-.055,-.197),l(-.013,-.381),l(.08,-.689),l(.474,.013),l(5.055,.056),l(2.396,.014),l(.732,-.033),l(.212,.027),l(-.051,-1.102),l(-.164,-1.539),l(.01,-.707),l(.249,-.383),l(.575,-.427),l(.726,-.315),l(.809,-.287),l(.144,-.128),l(.099,-2.6),l(.07,-2.261),l(.047,-.509),l(.557,-.074),l(6.005,.022),l(.56,.011),l(.104,-.396),l(-.002,-.65),l(.03,-1.752),l(2.829,1.509),l(4.12,2.42),l(1.414,.91),l(-.523,.13),l(-3.231,.089),l(.049,.776),l(.908,7.962),l(.19,1.468),l(.178,1.736),l(.325,2.753),l(.202,2.386),l(.186,1.468),l(.724,.787),l(-.379,1.613),l(-6.457,.01),l(-1.953,.026),l(-.945,.344),l(-.387,.031),l(-.485,-.054),l(-.713,-.137),l(-.535,-.124),l(-.06,.212),l(.055,.296),l(-.107,.269),l(-.454,-.082),l(-.214,-.168),l(-.568,-.83),l(-.261,-.111),l(-.402,.073),l(-.252,.256),l(-.181,.552),l(-.018,.607),l(-.332,.284),
-N(476.114,191.139),l(-.563,.54),l(-.626,.314),l(-.367,.016),l(-.303,-.196),l(-.303,-.097),l(-.88,.132),l(-.881,.33),l(-.911,.048),l(-.942,-.234),l(-.495,-.011),l(-.464,.087),l(-.496,.229),l(-1.288,-1.32),l(-1.032,-.926),l(-.207,-.083),l(-.258,.157),l(-.436,.582),l(-.16,.1),l(-.684,-.631),l(-.384,-.012),l(-.529,.37),l(-.258,.242),l(-.352,.016),l(-.366,-.195),l(-.525,-.477),l(-.348,-.493),l(-.795,-.772),l(-.143,-.239),l(-.031,-.07),l(.083,-.679),l(-.157,-.352),l(-.558,-.477),l(-.814,-.165),l(-.367,-.224),l(-.285,-.436),l(-.059,-.72),l(-.206,-.366),l(-.207,-.168),l(-.717,-.434),l(-.558,-.378),l(-.445,-.351),l(-.173,-.395),l(.148,-.481),l(-.223,-.267),l(-.351,-.196),l(-.799,-.235),l(-.797,-.447),l(-.223,-.225),l(-.252,-.493),l(-.207,-.126),l(-.272,.001),l(-.802,.019),l(-.158,-.211),l(-.01,-.664),l(.416,-1.472),l(-.122,-.536),l(-.347,-.549),l(-1.342,-1.673),l(.15,-.425),l(-.026,-.367),l(-.266,-.465),l(-.444,-.407),l(-.155,-.295),l(-.137,-.522),l(-.221,-1.228),l(-.141,-.225),l(-.338,-.012),l(-.517,.088),l(-.219,-.352),l(.316,-.609),l(.542,-.596),l(.087,-.34),l(-.342,-.662),l(.053,-.24),l(.718,-.428),l(.149,-.212),l(-.131,-.677),l(.122,-.438),l(.583,-.809),l(.417,-1.245),l(.229,-.143),l(1.245,-.05),l(.839,.009),l(.04,-.283),l(-.031,-1.229),l(-.036,-1.002),l(.038,-.749),l(-.085,-2.5),l(.036,-.636),l(.016,-.946),l(.02,-1.045),l(.073,-1.13),l(.52,.011),l(1.561,.019),l(.088,-.17),l(-.033,-3.078),l(.021,-1.003),l(.819,-.089),l(.914,-.005),l(1.614,.019),l(1.241,-.007),l(1.664,-.01),l(2.268,.029),l(2.513,-.015),l(2.774,-.002),l(2.138,.001),l(10.382,.006),l(.229,.414),l(.499,1.115),l(.281,3.501),l(.319,1.637),l(.182,.211),l(.625,.394),l(.595,.366),l(.617,.507),l(.491,.197),l(.254,.223),l(-.238,.199),l(-.277,.327),l(-.306,.566),l(-.369,.242),l(-.511,.172),l(-.427,.116),l(-.153,.142),l(-.235,.496),l(-.348,.171),l(-.73,.033),l(-.204,.552),l(-.038,.452),l(-.202,.862),l(-.242,.722),l(-.541,1.302),l(-.068,.495),l(.092,.903),l(-.013,.679),l(-.001,.083),l(-.148,.947),l(-.398,1.231),l(-.214,1.061),l(-1.04,.331),l(-.414,.37),l(-.693,1.134),l(-.154,.34),l(-.191,1.088),l(-.141,1.074),l(-.197,.185),l(-.274,.044),l(-.431,-.096),l(-.259,.072),l(-.163,.114),l(-.187,1.103),l(-.115,.933),l(-.2,1.272),l(.039,.522),l(-.229,1.159),l(-.469,.299),l(-.288,-.012),l(-.928,-.122),l(-.321,.03),l(-.188,.806),l(-.054,.466),l(.094,.141),l(.479,.11),l(.734,.123),l(.334,.167),l(.805,.913),l(1.06,1.067),l(.751,1.464),l(.345,.732),l(.348,.421),l(.462,.28),l(.415,.097),l(.269,.309),l(.117,.988),l(-.034,.17),l(-.018,.141),l(-.079,-.028),l(-.464,.017),l(-1.009,.133),l(-.832,.005),l(-.671,-.052),l(-.291,.327),l(-.678,.795),
-N(518.402,163.079),l(-.282,.097),l(-.538,.27),l(-.656,.566),l(-.265,.297),l(-.166,.508),l(-.062,.41),l(-.41,.326),l(-1.418,.652),l(-2.27,.641),l(-1.285,.412),l(-.843,.312),l(-.356,.297),l(-.473,.622),l(-.436,.269),l(-.506,.114),l(-.593,-.069),l(-.521,.072),l(-.83,.439),l(-.65,.396),l(-.956,.397),l(-.752,.199),l(-1.16,.003),l(-.562,-.013),l(-.297,.128),l(-.386,.312),l(-.272,.297),l(-.45,.312),l(-.511,.241),l(-.389,.043),l(-.239,-.042),l(-.535,.411),l(-.839,.058),l(-.494,-.112),l(-.623,-.437),l(-.17,-.155),l(-.317,-.437),l(-.084,-.254),l(.18,-.721),l(-.081,-.635),l(-.312,-.507),l(-.341,-1.171),l(-.572,-1.919),l(-.072,-.438),l(.268,-.707),l(-.124,-.748),l(.692,-.563),l(.113,-.565),l(-.041,-.678),l(.11,-.495),l(.174,-.185),l(.216,-.1),l(.671,.151),l(.446,.125),l(.715,-.047),l(.452,.012),l(1.211,2.45),l(1.302,2.703),l(2.042,-2.667),l(1.907,-2.271),l(.383,-.397),l(.041,-.127),l(.484,-.229),l(4.618,-1.566),l(3.097,-1.035),l(1.148,-.346),l(.169,-.085),l(.092,.663),l(.226,.634),l(.604,.971),l(.933,1.364),l(.127,.253),l(-.006,.296),l(.483,.689),l(.241,.306),
-N(494.64,172.627),l(-.261,-.166),l(-.476,-.633),l(-.475,-.159),l(-.437,-.911),l(-1.267,-.792),l(-.277,-.594),l(-.673,-.673),l(-.594,-.119),l(-.871,-.554),l(-.555,.079),l(-.158,-.158),l(-.237,.04),l(-.277,-.198),l(-.356,.159),l(-.476,.079),l(-.277,-.436),l(-.158,.237),l(-.436,.198),l(-.792,.079),l(-.554,-.594),l(-.238,0),l(-.396,-.317),l(-.832,1.663),l(-.436,-.871),l(-.475,.079),l(-.277,.356),l(-.396,-.08),l(-.349,.041),l(.013,-.679),l(-.092,-.903),l(.068,-.495),l(.541,-1.302),l(.242,-.722),l(.202,-.862),l(.038,-.452),l(.204,-.552),l(.73,-.033),l(.348,-.171),l(.235,-.496),l(.153,-.142),l(.427,-.116),l(.511,-.172),l(.369,-.242),l(.306,-.566),l(.277,-.327),l(.238,-.199),l(.098,.129),l(.718,2.102),l(.442,1.623),l(.689,1.919),l(.618,.832),l(.205,-.212),l(-.072,-.479),l(.093,-.226),l(.31,.253),l(.4,.677),l(.384,.395),l(.534,-.043),l(.242,.014),l(1.338,1.282),l(.809,.916),l(.124,.099),l(.706,.055),l(.618,.874),l(.021,.24),l(-.025,.198),l(.118,.212),l(.507,.182),l(.915,.869),l(-.075,.094),l(-.529,.78),l(-.331,-.182),l(-.396,-.125),l(-.214,.114),l(-.055,.085),
-N(370.147,172.035),l(-2.301,-.043),l(-1.045,.006),l(-.505,.384),l(-.51,.187),l(-.74,-.024),l(-.819,.047),l(-.463,.139),l(-.009,-.003),l(-.278,-.226),l(-.169,-.409),l(.104,-.424),l(-.095,-.55),l(-.018,-.198),l(.001,-.046),l(1.695,.014),l(0,-.434),l(.155,0),l(.341,-.016),l(.186,-.077),l(.248,.062),l(.294,-.046),l(.124,-.093),l(.016,-.263),l(.077,-.078),l(.14,-.016),l(.155,.155),l(.232,.124),l(.356,.108),l(.046,.108),l(.139,.047),l(.217,-.031),l(.263,.108),l(.186,.17),l(.434,0),l(.186,-.108),l(.263,-.108),l(.279,0),l(.108,-.124),l(.016,-.124),l(-.155,-.217),l(-.202,-.077),l(-.201,.031),l(-.294,.093),l(-.108,.093),l(-.248,.062),l(-.279,-.186),l(-.031,-.186),l(-.186,-.108),l(-.17,-.015),l(-.186,.124),l(-.139,-.108),l(-.108,-.217),l(-.155,-.108),l(-.201,.031),l(-.17,-.062),l(-.387,.17),l(-.108,-.108),l(-.155,.046),l(-.202,.124),l(-.093,.294),l(-1.664,0),l(-.007,-.067),l(-.028,-.269),l(-.377,-.268),l(-.068,-.155),l(-.057,-.367),l(-.386,-.635),l(-.399,-.494),l(-.379,-.31),l(-.472,-.183),l(.54,-.34),l(.723,-.75),l(.588,-1.004),l(.334,-.82),l(.099,-.826),l(.523,-.417),l(1.821,-.194),l(1.209,-.12),l(.567,.025),l(.604,.194),l(.695,.561),l(.655,.307),l(.567,.053),l(.312,.154),l(.15,.183),l(.292,.662),l(.537,.788),l(.661,.604),l(1.41,.924),l(-.506,.399),l(-.057,.339),l(.251,1.1),l(.144,.663),l(.22,.479),l(.181,.197),l(.554,.322),l(.265,.337),l(.082,.833),l(-.004,.565),l(-.062,.142),l(-.146,-.042),l(-.963,.091),l(-.658,.074),l(-.725,-.081),l(-.503,-.209),l(-.795,-.32),l(-1.255,-.021),
-N(495.973,175.881),l(-.363,.807),l(.083,.409),l(.428,.732),l(.587,.844),l(.732,.801),l(.596,.547),l(.634,.321),l(.54,.209),l(4.26,1.443),l(1.447,.472),l(1.875,-.04),l(.236,.154),l(-4.087,4.205),l(-1.562,1.69),l(-.813,.909),l(-.8,.004),l(-1.693,-.046),l(-.626,.088),l(-.562,.215),l(-.388,.214),l(-.502,.497),l(-.294,.426),l(-.337,.115),l(-1.216,.078),l(-.305,.101),l(-.453,.511),l(-1.103,-.106),l(-.461,-.181),l(-.46,-.336),l(-.271,-.098),l(-.852,.358),l(-.675,.343),l(-.258,.199),l(-.71,.753),l(-.16,.114),l(-.847,-.094),l(-.67,-.193),l(-1.373,-.133),l(-.335,-.041),l(-2.353,-1.525),l(-.604,-.293),l(-.749,-.193),l(-1.054,-.149),l(-.319,-.069),l(.018,-.141),l(.034,-.17),l(-.117,-.988),l(-.269,-.309),l(-.415,-.097),l(-.462,-.28),l(-.348,-.421),l(-.345,-.732),l(-.751,-1.464),l(-1.06,-1.067),l(-.805,-.913),l(-.334,-.167),l(-.734,-.123),l(-.479,-.11),l(-.094,-.141),l(.054,-.466),l(.188,-.806),l(.321,-.03),l(.928,.122),l(.288,.012),l(.469,-.299),l(.229,-1.159),l(-.039,-.522),l(.2,-1.272),l(.115,-.933),l(.187,-1.103),l(.163,-.114),l(.259,-.072),l(.431,.096),l(.274,-.044),l(.197,-.185),l(.141,-1.074),l(.191,-1.088),l(.154,-.34),l(.693,-1.134),l(.414,-.37),l(1.04,-.331),l(.214,-1.061),l(.398,-1.231),l(.148,-.947),l(.001,-.083),l(.349,-.041),l(.396,.08),l(.277,-.356),l(.475,-.079),l(.436,.871),l(.832,-1.663),l(.396,.317),l(.238,0),l(.554,.594),l(.792,-.079),l(.436,-.198),l(.158,-.237),l(.277,.436),l(.476,-.079),l(.356,-.159),l(.277,.198),l(.237,-.04),l(.158,.158),l(.555,-.079),l(.871,.554),l(.594,.119),l(.673,.673),l(.277,.594),l(1.267,.792),l(.437,.911),l(.475,.159),l(.476,.633),l(.261,.166),l(-.594,.921),l(-.488,.61),l(-.105,.254),l(-.029,.396),l(.202,1.157),l(.5,-.074),l(.892,-.246),l(.4,.04),l(.556,.195),
-N(364.011,169.929),l(1.664,0),l(.093,-.294),l(.202,-.124),l(.155,-.046),l(.108,.108),l(.387,-.17),l(.17,.062),l(.201,-.031),l(.155,.108),l(.108,.217),l(.139,.108),l(.186,-.124),l(.17,.015),l(.186,.108),l(.031,.186),l(.279,.186),l(.248,-.062),l(.108,-.093),l(.294,-.093),l(.201,-.031),l(.202,.077),l(.155,.217),l(-.016,.124),l(-.108,.124),l(-.279,0),l(-.263,.108),l(-.186,.108),l(-.434,0),l(-.186,-.17),l(-.263,-.108),l(-.217,.031),l(-.139,-.047),l(-.046,-.108),l(-.356,-.108),l(-.232,-.124),l(-.155,-.155),l(-.14,.016),l(-.077,.078),l(-.016,.263),l(-.124,.093),l(-.294,.046),l(-.248,-.062),l(-.186,.077),l(-.341,.016),l(-.155,0),l(0,.434),l(-1.695,-.014),l(.019,-.477),l(.173,-.198),l(.434,-.058),l(.093,-.155),l(-.006,-.059),
-N(495.973,175.881),l(-.556,-.195),l(-.4,-.04),l(-.892,.246),l(-.5,.074),l(-.202,-1.157),l(.029,-.396),l(.105,-.254),l(.488,-.61),l(.594,-.921),l(.055,-.085),l(.214,-.114),l(.396,.125),l(.331,.182),l(.529,-.78),l(.075,-.094),l(.627,.596),l(.285,.465),l(.036,.282),l(-.118,.113),l(-.361,.185),l(-.438,.1),l(-.56,.312),l(-.566,.467),l(.253,.127),l(.645,-.058),l(.321,.013),l(.434,.124),l(-.114,.26),l(-.37,.468),l(-.34,.567),
-N(363.763,172.732),l(.463,-.139),l(.819,-.047),l(.74,.024),l(.51,-.187),l(.505,-.384),l(1.045,-.006),l(2.301,.043),l(-.111,.792),l(.115,.847),l(-.186,.312),l(-.333,.186),l(-.513,.031),l(-.401,.017),l(-.381,.186),l(-.789,.64),l(-.321,.372),l(-.047,-.126),l(-.192,0),l(-.501,-.14),l(-.165,-.254),l(.121,-.41),l(.33,-.438),l(.253,-.212),l(-.131,-.141),l(-.372,-.112),l(-.498,.015),l(-.415,.17),l(-.161,0),l(-.616,-.281),l(-.36,-.296),l(-.069,-.24),l(-.323,-.084),l(-.316,-.137),
-N(383.005,177.596),l(-.379,.397),l(-.264,.623),l(.214,.409),l(.695,.405),l(.197,.31),l(-.125,.283),l(-.332,.37),l(.309,.351),l(.648,.561),l(.051,.226),l(-.19,.143),l(-.304,-.012),l(-.548,-.223),l(-.304,.03),l(-.158,.199),l(-.03,.127),l(.296,.549),l(.179,.21),l(-.188,.354),l(-.602,.554),l(-.047,.099),l(-.339,-.224),l(-.337,-.097),l(-.143,.086),l(-.756,.922),l(-.321,-.026),l(-.404,-.322),l(-.277,-.323),l(.044,-.283),l(-.009,-.65),l(-.22,-.846),l(-.165,-.366),l(-.338,-.097),l(-.528,.046),l(-.367,.143),l(-.252,.242),l(-.193,.376),l(-.26,-.656),l(-.165,-1.369),l(-.252,-.761),l(-.475,-.619),l(-.456,-.421),l(-.42,-.224),l(-.466,-.04),l(-1.137,.148),l(-.594,-.039),l(-.238,.157),l(-.643,.866),l(-1.088,1.235),l(.051,-.392),l(-.312,-.55),l(-.764,-.775),l(-.122,-.649),l(-.84,-.366),l(-.908,-.563),l(-.277,-.296),l(.09,-.396),l(-.053,-.311),l(-.547,-.041),l(-.323,-.098),l(-.115,-.155),l(.059,-.311),l(-.038,-.1),l(.321,-.372),l(.789,-.64),l(.381,-.186),l(.401,-.017),l(.513,-.031),l(.333,-.186),l(.186,-.312),l(-.115,-.847),l(.111,-.792),l(1.255,.021),l(.795,.32),l(.503,.209),l(.725,.081),l(.658,-.074),l(.963,-.091),l(.146,.042),l(.113,.028),l(.18,.183),l(.882,.715),l(.536,.265),l(.252,-.256),l(.475,-.413),l(.338,.026),l(.356,.153),l(.565,.152),l(.43,-.243),l(.3,-.327),l(.684,-.428),l(.323,.055),l(.246,.281),l(.022,.339),l(.271,.832),l(.265,.451),l(.474,.478),l(.349,.718),l(.194,1.143),l(.559,.901),
-N(266.015,188.956),l(.103,.169),l(-.163,.326),l(-.592,.385),l(-1.74,.9),l(-.807,.23),l(-.557,.074),l(-.465,-.054),l(-.284,.115),l(-.232,1.117),l(-.348,.115),l(-.628,-.618),l(-.344,-.224),l(-1.149,.035),l(-.385,-.04),l(-.896,-.461),l(-.309,-.125),l(-.159,.029),l(-.041,.184),l(.616,.688),l(.391,.69),l(.302,1.524),l(.079,.55),l(.166,.239),l(.96,.051),l(.434,.125),l(.15,.253),l(-.265,.27),l(-.569,.272),l(-.652,.131),l(-.203,.199),l(-.259,.666),l(-.235,.213),l(-.652,.173),l(-.554,.286),l(-.74,.654),l(-.645,.739),l(-.271,.016),l(-.186,-.776),l(-.083,-.183),l(-.757,.697),l(-.414,.073),l(-.482,-.223),l(-.694,-.546),l(-.432,-.054),l(-.199,-.437),l(-.088,-.452),l(-.161,-.861),l(-.138,-.437),l(-.148,-.168),l(-.797,-1.182),l(-.51,-.491),l(.479,-.526),l(.731,-.612),l(-.121,-.282),l(-.486,-.647),l(-.256,-.437),l(-.447,-.789),l(-.162,-.804),l(-.048,-.367),l(-.035,-.438),l(-.026,-.254),l(.147,-.326),l(.379,-.511),l(.085,-1.004),l(.409,-.525),l(-.644,-.081),l(-1.99,.224),l(-.76,.174),l(-.522,.13),l(-.144,0),l(-.554,-.576),l(-.847,-.998),l(-.188,-.253),l(-.64,-.321),l(-.521,-.181),l(-1.167,.05),l(-1.163,.12),l(-.496,.017),l(-.397,-.252),l(-.429,-.548),l(-.401,-.309),l(-.099,-.353),l(.226,-1.132),l(-.103,-.395),l(-.855,-1.45),l(-.31,-.606),l(-.384,.017),l(-.234,.1),l(-.402,-.025),l(.709,-1.191),l(.241,-.722),l(.172,-.722),l(.99,-1.758),l(.381,-.059),l(.227,.027),l(.129,-.396),l(-.048,-.497),l(.056,-.288),l(.414,-.2),l(.534,-.156),l(.84,-.171),l(.128,.105),l(-.9,.151),l(-.731,.312),l(-.145,.212),l(.19,.607),l(.142,.407),l(.224,.126),l(-.043,.145),l(.153,.579),l(-.135,.367),l(-.327,.364),l(-.348,.824),l(-.137,.368),l(.253,.479),l(.288,.253),l(.25,.72),l(.341,.353),l(.523,-.114),l(.184,-.156),l(.419,-.255),l(.12,-.142),l(.066,-.523),l(-.167,-.649),l(-.21,-.282),l(-.438,-.804),l(-.136,-.135),l(-.118,-.395),l(-.247,-.18),l(.239,-.099),l(.095,-.251),l(-.204,-.144),l(1,-.379),l(1.085,-.327),l(.998,-.272),l(.086,-.225),l(.69,-.086),l(.143,-.008),l(-.042,-.157),l(-.055,-.198),l(-.125,-.036),l(-.039,-.108),l(-.128,-.072),l(-.226,.071),l(-.156,.027),l(-.229,-.012),l(-.315,-.55),l(.109,-.254),l(.337,-.213),l(.367,-.043),l(.09,.112),l(.14,.368),l(.186,.162),l(-.001,.148),l(.026,.193),l(.068,.09),l(.004,.198),l(.253,.258),l(.329,-.02),l(.699,.111),l(.455,.07),l(.593,.196),l(.323,.254),l(.393,.564),l(.156,.635),l(.358,.324),l(.359,.084),l(1.02,-.129),l(.928,-.059),l(.59,-.058),l(.799,-.059),l(.714,.125),l(.4,.479),l(.267,.169),l(.578,.253),l(.49,.14),l(1.094,.04),l(.382,-.057),l(.388,-.227),l(1.042,-.807),l(.47,-.185),l(.453,.042),l(.959,-.073),l(1.152,-.073),l(.919,.055),l(.248,.112),l(-.056,.141),l(-.294,.185),l(-.854,-.041),l(-.433,.015),l(-.083,.212),l(.059,.184),l(.593,.253),l(.609,.535),l(.195,.649),l(.246,-.523),l(.185,-.142),l(.415,.253),l(.483,.027),l(.374,.098),l(.258,.338),l(.918,.394),l(.464,.295),l(-.729,.496),l(-.161,.65),l(-.214,.226),l(-1.055,.417),l(.5,.064),l(.598,.098),l(.368,-.029),l(.33,-.142),l(.929,-.03),l(.725,.083),l(.84,.274),l(.095,.296),l(-.061,.41),l(-1.655,1.239),l(-.101,.255),l(.074,.212),l(.62,.604),l(.141,.282),l(-.308,.299),l(-.41,.144),l(-1.032,.19),l(-.061,.452),l(.008,.58),l(-.395,.539),l(-.071,.212),l(.324,.521),l(.732,.745),l(.503,.647),
-N(493.044,204.258),l(-1.223,-1.771),l(-.027,-.932),l(-.03,-1.43),l(-.042,-2.045),l(-.003,-1.017),l(0,-.438),l(.016,-.848),l(.004,-1.215),l(.002,-.508),l(1.649,-2.467),l(.453,-.511),l(.305,-.101),l(1.216,-.078),l(.337,-.115),l(.294,-.426),l(.502,-.497),l(.388,-.214),l(.562,-.215),l(.626,-.088),l(1.693,.046),l(.8,-.004),l(.813,-.909),l(1.562,-1.69),l(4.087,-4.205),l(-.236,-.154),l(-1.875,.04),l(-1.447,-.472),l(-4.26,-1.443),l(-.54,-.209),l(-.634,-.321),l(-.596,-.547),l(-.732,-.801),l(-.587,-.844),l(-.428,-.732),l(-.083,-.409),l(.363,-.807),l(.34,-.567),l(.37,-.468),l(.114,-.26),l(.154,.044),l(.935,1.142),l(.586,.62),l(.243,.381),l(.265,.211),l(.372,-.071),l(.417,-.001),l(.465,.027),l(.372,-.071),l(.572,-.27),l(.836,-.425),l(.585,-.157),l(.397,.098),l(.76,.267),l(.549,-.072),l(.56,-.326),l(.779,-.566),l(.247,-.127),l(.447,.041),l(.479,.098),l(.419,-.043),l(1.195,-.482),l(.288,.027),l(.682,.196),l(.74,-.03),l(.764,-.185),l(.964,-.327),l(.9,-.666),l(.47,-.382),l(.604,.154),l(.391,.211),l(.08,.014),l(.147,.268),l(-.414,.919),l(.021,.564),l(.132,.621),l(-.165,.452),l(-.375,.509),l(-.028,.678),l(-.047,.833),l(-.163,.509),l(-1.264,2.262),l(-.842,.792),l(-.122,.311),l(.102,.353),l(-.893,1.569),l(-.834,1.272),l(-.214,.947),l(-.351,.636),l(-.712,1.117),l(-.874,1.188),l(-1.159,1.498),l(-.384,.439),l(-2.274,2.504),l(-1.82,1.557),l(-2.164,1.121),l(-.593,.382),l(-1.28,1.09),l(-1.74,1.755),l(-.06,.061),l(-1.055,1.1),l(-1.235,1.569),l(-.615,.835),l(.1,.353),l(-.094,.276),
-N(264.768,176.039),l(-.128,.225),l(-.115,.067),l(-.029,.135),l(.039,.25),l(-.058,.086),l(.125,.376),l(-.039,.424),l(-.453,.154),l(-.135,-.01),l(-.144,.039),l(-.482,-.039),l(-.192,.039),l(-.087,-.048),l(-.356,0),l(-.02,-.058),l(.039,-.067),l(.202,-.029),l(.222,-.135),l(.019,-.087),l(.106,.02),l(.154,.01),l(.135,-.145),l(-.096,-.279),l(.048,-.125),l(.029,-.183),l(-.067,-.125),l(-.097,-.135),l(-.279,-.048),l(.116,-.096),l(.164,-.019),l(.231,-.029),l(.115,-.087),l(.385,.02),l(.106,-.039),l(.299,-.067),l(.244,.006),
-N(654.075,190.187),l(.206,-.125),l(.63,-.114),l(.656,-.938),l(.241,-.07),l(-.069,.268),l(.122,.087),l(.187,-.046),l(.11,.174),l(.148,.444),l(-.024,.111),l(-.013,.247),l(.197,.197),l(.025,.086),l(-1.234,.42),l(-.383,.271),l(-.309,-.271),l(-.111,-.259),l(-.234,.012),l(-.062,-.37),l(-.084,-.126),
-N(493.044,204.258),l(-.602,.389),l(-.557,.171),l(-.385,-.112),l(-.086,.777),l(-.282,.367),l(-.67,.115),l(-.394,.382),l(-.088,.48),l(.006,.353),l(-.356,.622),l(-.964,1.358),l(.092,.536),l(-.337,.65),l(-.25,.255),l(-.334,.1),l(-.084,.152),l(-1.067,-.807),l(-2.427,-1.752),l(-.07,-.239),l(.116,-.552),l(-.137,-.381),l(-3.553,-1.984),l(-4.663,-2.568),l(-1.448,.033),l(1.144,-2.479),l(.105,-.229),l(.656,-.835),l(.985,-.938),l(.477,-.525),l(.43,-.695),l(.143,-.566),l(-.048,-.664),l(-.223,-.606),l(-.224,-.352),l(-.732,-1.069),l(-.174,-.465),l(-.027,-.861),l(-.126,-.226),l(-.477,-.463),l(-.3,-.493),l(.678,-.795),l(.291,-.327),l(.671,.052),l(.832,-.005),l(1.009,-.133),l(.464,-.017),l(.079,.028),l(.319,.069),l(1.054,.149),l(.749,.193),l(.604,.293),l(2.353,1.525),l(.335,.041),l(1.373,.133),l(.67,.193),l(.847,.094),l(.16,-.114),l(.71,-.753),l(.258,-.199),l(.675,-.343),l(.852,-.358),l(.271,.098),l(.46,.336),l(.461,.181),l(1.103,.106),l(-1.649,2.467),l(-.002,.508),l(-.004,1.215),l(-.016,.848),l(0,.438),l(.003,1.017),l(.042,2.045),l(.03,1.43),l(.027,.932),l(1.223,1.771),
-N(466.196,203.275),l(.188,-.298),l(.076,-.27),l(-.057,-.748),l(.025,-.734),l(-.021,-.593),l(.107,-.507),l(.217,-1.02),l(.395,-.681),l(.255,-.284),l(1.241,-.996),l(1.195,-1.066),l(.191,-.453),l(-.111,-.31),l(-.271,-.182),l(-.479,-.04),l(-.191,-.027),l(-.128,-.253),l(.26,-1.88),l(.018,-.424),l(-.159,-.183),l(-.063,-.028),l(.496,-.229),l(.464,-.087),l(.495,.011),l(.942,.234),l(.911,-.048),l(.881,-.33),l(.88,-.132),l(.303,.097),l(.303,.196),l(.367,-.016),l(.626,-.314),l(.563,-.54),l(.3,.493),l(.477,.463),l(.126,.226),l(.027,.861),l(.174,.465),l(.732,1.069),l(.224,.352),l(.223,.606),l(.048,.664),l(-.143,.566),l(-.43,.695),l(-.477,.525),l(-.985,.938),l(-.656,.835),l(-.105,.229),l(-1.144,2.479),l(-4.659,0),l(-1.277,.05),l(-.319,.017),l(-.554,.398),l(-.458,.427),l(-.431,.045),l(-.546,-.223),l(-.064,-.042),
-N(713.621,206.298),l(.169,7.966),l(-.44,.822),l(.431,1.368),l(.046,.805),l(-.031,3.438),l(-.515,-.512),l(-.927,-.888),l(-.716,-.902),l(-.406,-.056),l(-.776,.101),l(-.739,.143),l(-.434,-.013),l(.091,-.382),l(.435,-.65),l(.006,-.283),l(-.561,-.521),l(-.565,-.775),l(.028,-.226),l(.442,.111),l(.236,-.042),l(.135,-.113),l(-.467,-.409),l(-.595,-.408),l(-.287,-.381),l(-.275,-.648),l(-1.053,-1.693),l(-.508,-.394),l(-.467,-.282),l(-.604,-.196),l(-1.983,-.603),l(-1.26,-.379),l(-.613,-.069),l(-.705,-.238),l(-.63,-.323),l(.072,-.34),l(-.098,-.268),l(-.193,-.028),l(-.617,.101),l(-.389,-.07),l(-.412,-.196),l(-.408,-.395),l(-.209,-.579),l(.133,-.494),l(-.155,-.226),l(-.187,.113),l(-.234,.396),l(-.122,.664),l(-.251,.608),l(-.334,.269),l(-.696,.354),l(-.155,-.169),l(-.331,-.677),l(.022,-.155),l(.384,-.27),l(-.152,-.424),l(-.173,-.239),l(-.564,-.395),l(-.707,-.394),l(-.338,-.056),l(-.059,-.212),l(.038,-.226),l(.413,-.044),l(.388,.084),l(.603,.239),l(.158,-.029),l(.368,-.34),l(.525,-.41),l(.146,.056),l(.3,.269),l(1.021,-.045),l(.139,-.128),l(.09,-.522),l(-.063,-.409),l(-.238,.028),l(-.345,.199),l(-.604,.071),l(-.656,-.041),l(-.766,.044),l(-1.026,-.082),l(-.411,-.31),l(-.135,-.197),l(-.148,-.664),l(-.202,-.338),l(-.42,-.155),l(-1.249,-.124),l(.265,-.297),l(.058,-.255),l(.004,-.593),l(.463,-.029),l(.92,-.411),l(.49,-.383),l(.444,-.283),l(.352,.027),l(.4,.069),l(1.494,.646),l(.515,.169),l(.913,.153),l(.382,.705),l(.138,.396),l(-.283,.749),l(-.067,.381),l(.221,.381),l(.115,.494),l(.115,.48),l(.215,.521),l(.186,.197),l(.197,.127),l(.226,-.65),l(.085,.113),l(.087,.141),l(.309,1.073),l(.169,.169),l(.234,.183),l(.294,.112),l(.354,.056),l(.58,-.198),l(.504,-.439),l(1.192,-1.853),l(.352,-.015),l(1.078,-.215),l(.378,-.142),l(.045,-.085),l(.014,-.509),l(.219,-.17),l(1.1,-.609),l(.335,-.043),l(1.732,.759),l(2.129,.941),l(1.54,.52),l(1.299,.404),M(691.208,208.707),l(-.388,-.069),l(-.693,-.38),l(-.852,-.647),l(-.295,-.141),l(-.414,.028),l(-.059,.1),l(.024,.452),l(-.206,.028),l(-1.014,-.407),l(-.258,-.353),l(-.582,.199),l(-.289,.269),l(-.326,.185),l(-.186,-.184),l(-.312,-.451),l(-.245,-.451),l(.246,-.198),l(.303,-.029),l(.274,.056),l(1.104,.04),l(.574,.31),l(.319,-.015),l(.544,-.326),l(.414,-.015),l(.534,.126),l(.857,.21),l(.499,.395),l(.293,.395),l(.179,.621),l(-.049,.254),M(682.045,208.699),l(-.419,-.056),l(-.715,-.493),l(-.232,-.451),l(.146,-.283),l(.603,-.1),l(.766,-.044),l(.246,.126),l(.256,.311),l(.313,.197),l(.108,.226),l(-.067,.226),l(-.125,.057),l(-.879,.285),M(707.635,219.095),l(-1.11,-.209),l(.589,-1.032),l(.56,-.708),l(.407,-.269),l(.427,-.072),l(.527,.338),l(.198,.24),l(-.11,.184),l(-.324,.637),l(-.256,.17),l(-.638,.693),l(-.27,.028),M(673.797,218.703),l(-.562,.257),l(.034,.233),l(-.886,.326),l(-.582,.274),l(-.339,-.041),l(-.453,.325),l(-.504,-.069),l(-.427,-.112),l(-.378,.255),l(-.3,.058),l(-.358,-.07),l(-.58,-.196),l(-1.046,-.04),l(-.316,.043),l(-.211,-.564),l(.027,-.24),l(.383,-.198),l(.672,-.199),l(.528,-.016),l(1.142,.407),l(.445,.324),l(.338,.013),l(.326,-.297),l(.464,-.016),l(.429,-.071),l(.414,.187),l(.467,-.116),l(-.072,-.222),l(.421,-.187),l(.404,-.233),l(.094,-.151),l(-.076,-.117),l(-.184,.023),l(.116,-.198),l(.16,.012),l(.22,.094),l(.177,.221),l(.013,.304),M(662.661,219.065),l(-.312,-.099),l(-.203,-.127),l(-.062,-.169),l(.03,-.212),l(.256,-.198),l(.315,-.036),l(.17,.092),l(.053,.212),l(.182,.098),l(.305,-.145),l(.34,.105),l(.104,.151),l(-.012,.451),l(.183,-.148),l(.163,-.304),l(.318,-.029),l(.229,.226),l(.021,.424),l(.181,-.036),l(.062,.104),l(-.025,.397),l(-.316,-.211),l(-.311,-.058),l(-.141,.058),l(.072,.155),l(-.852,.157),l(-.143,-.091),l(.097,-.268),l(-.085,-.059),l(-.308,.269),l(-.229,.256),l(-.296,-.046),l(-.63,.225),l(-.624,.199),l(-.357,-.051),l(-.31,.123),l(-.392,-.07),l(-.103,-.07),l(-.202,-.123),l(-.063,-.279),l(.143,-.261),l(-.08,-.253),l(.193,-.115),l(.23,-.113),l(.233,-.156),l(.224,.07),l(.61,.013),l(.4,.104),l(.089,.28),l(.291,.109),l(.294,.056),l(.189,-.259),l(.29,-.012),l(.051,-.187),l(-.263,-.15),M(656.294,219.602),l(-.393,-.282),l(-.855,-.449),l(-.118,-.269),l(.417,-.001),l(.514,-.185),l(.462,-.029),l(.925,.521),l(-.338,.17),l(-.232,.1),l(-.381,.425),M(631.053,200.125),l(-.061,.225),l(-.413,.439),l(-.204,.41),l(-.381,.354),l(.164,.353),l(.162,.169),l(.806,.493),l(.832,.055),l(.241,.112),l(.151,.381),l(.128,.763),l(-.007,.409),l(.267,.423),l(.212,.127),l(.544,.041),l(-.45,.933),l(.151,.212),l(.703,-.453),l(.824,.252),l(.177,.042),l(.265,.254),l(.144,.438),l(.698,.676),l(-.515,1.979),l(-.04,.452),l(.23,.946),l(-.021,.438),l(.021,.664),l(-.002,.268),l(-.149,1.06),l(-.087,.156),l(-.107,.07),l(-.367,-.253),l(-.381,-.522),l(-.261,-.084),l(-.262,.481),l(-.081,.268),l(-1.043,-.619),l(-.219,.086),l(.394,.747),l(-.163,.213),l(-.204,-.197),l(-1.343,-1.424),l(-.775,-.761),l(-1.011,-.859),l(-1.348,-.958),l(-.391,-.451),l(-.199,-.493),l(-.191,-.339),l(-1.003,-.633),l(-.697,-.677),l(-1.186,-1.509),l(-.074,-.353),l(.039,-.339),l(-.324,-.875),l(-.841,-1.467),l(-.667,-1.044),l(-.612,-.775),l(-.369,-.301),l(-.287,-.234),l(-.64,-.295),l(-.254,-.748),l(-.688,-1.806),l(.067,-.24),l(-.107,-.311),l(-.157,-.197),l(-.662,-.507),l(-.711,-.394),l(-.539,-.21),l(-.317,-.099),l(-.119,-.353),l(-.077,-.734),l(-.18,-.409),l(-.386,-.479),l(-.818,-.831),l(-.368,-.423),l(-.725,.128),l(-.613,-.676),l(-.646,-.606),l(-.593,-.69),l(-.562,-.945),l(-.229,-.635),l(-.032,-.367),l(.057,-.198),l(.149,-.113),l(.401,-.043),l(.364,.098),l(.25,.126),l(.632,.563),l(.361,.155),l(.922,.153),l(.335,.027),l(.548,-.1),l(.454,-.142),l(.4,-.015),l(.323,.31),l(.919,1.156),l(.513,.31),l(.058,.155),l(-.12,.537),l(1.066,.916),l(.749,.493),l(1.175,.689),l(.678,.323),l(.139,.169),l(.03,.593),l(-.02,.155),l(.573,.055),l(.745,.944),l(.612,.55),l(.271,-.015),l(.004,-.198),l(-.123,-.226),l(.069,-.24),l(.507,.21),l(.479,.804),l(.441,.38),l(.446,.056),l(.429,.197),l(.314,.366),l(.28,.734),l(.316,.437),l(.431,.268),l(.511,.126),l(.767,.083),l(.431,.154),l(.494,.38),l(.576,.606),l(-.019,.071),M(684.201,200.125),l(-.007,-.172),l(-.414,-1.058),l(.18,-.551),l(-.078,-.141),l(-.141,-.296),l(.036,-.325),l(.286,-.89),l(.514,-.82),l(.263,.367),l(.152,.353),l(-.054,.283),l(-.246,.396),l(-.361,.763),l(.061,.325),l(.19,.141),l(.097,-.141),l(.436,-.411),l(.135,-.522),l(.179,-.142),l(.806,-.412),l(.141,.141),l(-.052,.254),l(.104,.55),l(-.354,.212),l(-.467,.354),l(-.162,.311),l(.159,.099),l(.446,.126),l(.398,.211),l(-.016,.141),l(.159,.353),l(-.688,-.154),l(-.431,-.154),l(-.367,-.042),l(-.304,.156),l(-.08,.438),l(.049,.258),l(.131,.688),l(.341,.62),l(.405,.438),l(.196,.282),l(-.156,.212),l(-.26,-.211),l(-.664,-.648),l(-.55,-.733),l(-.002,-.396),l(-.011,-.251),M(637.361,207.144),l(-.863,-.394),l(-.377,-.239),l(-.205,-.367),l(-.045,-.367),l(-.156,-.395),l(-.507,-.395),l(-.291,-.099),l(-.446,.029),l(-.116,-.141),l(.271,-.65),l(.234,-.24),l(.509,.55),l(.148,-.467),l(.313,-.269),l(.072,.395),l(.312,.89),l(.648,.817),l(.698,.31),l(-.265,.184),l(-.118,.283),l(.183,.564),M(634.321,215.345),l(-.091,-.187),l(.316,-.023),l(.402,.093),l(.369,-.129),l(.068,-.524),l(.018,-.14),l(.309,.057),l(-.043,-.5),l(.222,-.235),l(.093,-.277),l(.202,.121),l(.631,.112),l(.474,-.047),l(.237,.443),l(.524,-.089),l(.158,-.297),l(.022,-.244),l(.259,.116),l(.618,.168),l(.411,.438),l(.338,-.046),l(.204,.271),l(.446,-.029),l(.453,-.185),l(.302,.211),l(.369,.522),l(.179,.521),l(.884,.041),l(.462,.188),l(.49,-.077),l(1.435,.124),l(.479,-.029),l(.34,-.17),l(.213,-.65),l(.271,-.269),l(.447,-.015),l(.223,.211),l(.289,.494),l(.633,.125),l(.53,.027),l(.774,.083),l(.796,.153),l(.289,.24),l(.293,.288),l(-.08,.445),l(.275,.466),l(.119,.099),l(.877,.352),l(.422,.069),l(.658,.013),l(.45,-.185),l(.415,-.015),l(.628,.238),l(.048,.197),l(-.255,.425),l(-.152,.494),l(.578,.776),l(-.499,-.211),l(-.802,-.196),l(-.599,-.253),l(-.891,-.309),l(-.528,.001),l(-.589,.256),l(-.348,.057),l(-.714,-.098),l(-1.454,-.138),l(-1.47,-.138),l(-.805,-.253),l(-.839,-.479),l(-1.099,-.336),l(-1.125,-.267),l(-.948,-.04),l(-.556,.298),l(-.445,.043),l(-.957,-.153),l(-.805,-.492),l(-.357,-.07),l(-1.606,-.066),l(-.363,-.155),l(.055,-.141),l(.448,-.468),l(-.402,-.267),l(-.551,-.099),l(-.506,-.14),l(-.307,-.027),l(-1.261,-.121),M(675.004,223.092),l(.249,-.494),l(.023,-.537),l(.113,-.312),l(.674,-.481),l(1.447,-.624),l(.662,-.454),l(.36,-.607),l(.466,-.157),l(1.578,-.102),l(.91,-.214),l(.541,-.044),l(.869,-.143),l(.118,.07),l(.099,.197),l(-.237,.212),l(-.36,.256),l(-1.609,.61),l(-1.369,.44),l(-.713,.256),l(-.606,.354),l(-1.09,.963),l(-.653,.481),l(-.439,.086),l(-.552,.228),l(-.48,.015),M(667.866,223.149),l(-.217,-.069),l(-.917,-.605),l(-.8,-.45),l(-.347,-.099),l(-.493,-.126),l(-.292,-.197),l(.108,-.212),l(.371,-.142),l(.992,-.03),l(.502,-.114),l(.35,.296),l(1.147,.746),l(.265,.381),l(-.125,.325),l(-.246,.24),l(-.299,.057),M(661.819,191.241),l(-.041,.09),l(.319,.691),l(-.23,.142),l(-.546,.043),l(-.579,.086),l(.198,.226),l(.115,.296),l(-.169,.226),l(.216,.211),l(.235,.112),l(.546,.832),l(.536,.747),l(.043,.198),l(-.338,.721),l(.075,.226),l(.406,.465),l(.743,.45),l(.6,.493),l(.551,.761),l(-.465,.17),l(-.75,-.026),l(-.797,-.238),l(-.337,.1),l(-.387,.467),l(-.354,.918),l(-.08,.476),l(-.046,.272),l(.132,.649),l(.116,.424),l(-.133,.848),l(-.256,0),l(-.466,-.154),l(-1.037,.963),l(-.433,.65),l(-.751,.608),l(.443,.381),l(.06,.396),l(.17,.296),l(-.685,.058),l(.452,.578),l(.009,.212),l(-.103,.227),l(-.547,.665),l(-.206,.396),l(-.127,.354),l(-.529,.594),l(-1.294,.61),l(-.607,.284),l(-.292,.198),l(-.194,-.311),l(.024,-.424),l(-.33,-.804),l(-.306,-.381),l(-.265,-.184),l(-.286,.029),l(-.503,.523),l(-.302,.029),l(-.328,-.508),l(-.313,-.197),l(-.437,-.112),l(-.387,-.451),l(-.342,-.154),l(-.35,.806),l(-.135,.198),l(-.381,.058),l(-.356,-.112),l(-.442,.128),l(-.318,.354),l(-.364,.071),l(-.059,-.551),l(.034,-.311),l(-.314,-1.03),l(-.336,.396),l(-1.42,.44),l(-.321,-.408),l(-.639,.015),l(-.281,.156),l(-.303,.029),l(-.058,-.649),l(-.022,-.65),l(-.267,-1.411),l(-.012,-.48),l(-.352,-.747),l(-.406,-.409),l(-.79,-.422),l(-.146,-.141),l(.555,-.354),l(-.531,-.38),l(-.258,-.296),l(.188,-.735),l(-.074,-.128),l(-.278,-.478),l(-.352,-.296),l(.065,-.466),l(-.125,-.593),l(.182,-.65),l(.133,-.353),l(.424,-.58),l(.303,-.806),l(.318,.028),l(.204,.11),l(.288,.792),l(.253,.295),l(1,.983),l(.304,.083),l(.446,.28),l(.928,-.416),l(.255,-.001),l(.526,.223),l(.543,.11),l(.399,-.172),l(.528,-.342),l(.403,-.525),l(.531,-.441),l(.479,-.074),l(.431,.11),l(.557,.251),l(.524,.223),l(.559,.152),l(.287,-.03),l(.467,-.356),l(.465,-.172),l(.864,-.175),l(.387,-.299),l(.928,-1.785),l(-.076,-.748),l(.218,-.34),l(.646,-.244),l(.22,-.383),l(-.106,-.988),l(.119,-.565),l(.381,-.638),l(.247,-.157),l(.464,-.017),l(.748,.081),l(.651,.081),l(.624,-.018),l(.446,.04),l(.753,.292),l(.182,.09),M(666.561,200.125),l(.012,-.049),l(.48,-1.188),l(.434,-.41),l(.289,-.142),l(.429,.338),l(.29,-.311),l(.162,-.325),l(.293,-.481),l(.496,-.058),l(.605,.14),l(.729,.535),l(.447,.027),l(.863,-.044),l(.478,.168),l(.749,.267),l(.577,-.227),l(1.853,.081),l(.72,-.128),l(.627,-.354),l(.211,-.283),l(-.156,-.268),l(.196,-.283),l(.388,-.241),l(.295,-.41),l(.289,-.057),l(.075,.24),l(-.073,.537),l(-.117,.311),l(-.081,.127),l(-.082,.127),l(-.969,1.259),l(-.416,.396),l(-.464,.1),l(-1.23,.229),l(-.495,-.069),l(-.591,-.422),l(-1.149,-.068),l(-1.151,.059),l(-.878,-.041),l(-1.039,.045),l(-.575,-.083),l(-.671,.029),l(-.415,.1),l(-.433,.368),l(-.259,.461),l(-.154,.274),l(-.187,.721),l(.068,.48),l(.263,.494),l(.194,.183),l(.403,.226),l(.259,.196),l(.221,.607),l(.179,.154),l(.226,.042),l(.815,.026),l(.249,-.269),l(.652,-.976),l(.385,.056),l(.307,.183),l(.496,.041),l(.363,-.227),l(.669,-.156),l(.62,-.143),l(.268,-.298),l(.271,-.057),l(.466,.196),l(.131,.212),l(-.083,.734),l(-.469,-.267),l(-.544,-.042),l(-.361,.298),l(-.389,.523),l(-.438,.425),l(-1.059,.439),l(-.214,.325),l(-.143,.029),l(-.241,-.042),l(-.468,-.126),l(-.03,.056),l(.025,.312),l(.212,.126),l(.676,.578),l(.467,.521),l(.854,1.24),l(-.097,.325),l(-.156,.679),l(.102,.409),l(.447,.535),l(.555,.438),l(.062,.226),l(-.045,.282),l(-.436,-.056),l(-.652,.059),l(-.412,.297),l(-.224,.692),l(-.498,-.026),l(-.461,-.183),l(-.107,-.17),l(.052,-.649),l(.204,-.58),l(-.978,-.845),l(-.417,-.31),l(-.174,-.269),l(.036,-.24),l(.284,-.396),l(.116,-.579),l(-.165,-.494),l(-.737,-.055),l(-.503,.213),l(-.494,.396),l(.16,.353),l(.143,.932),l(-.068,.509),l(-.236,1.145),l(.363,.903),l(-.01,.311),l(-.377,.636),l(-.019,.227),l(.275,.564),l(-.726,.171),l(-.513,.241),l(-.476,.071),l(-.245,-.324),l(-.16,-.522),l(.156,-.325),l(.181,-.466),l(.069,-.876),l(.06,-1.073),l(-.125,-.509),l(.029,-.339),l(-.213,-.395),l(-.311,-.127),l(-.391,.171),l(-.574,.029),l(.011,-.41),l(-.25,-1.284),l(.131,-.311),l(.491,-.524),l(.469,-.777),l(.161,-.48),l(-.089,-.918),l(-.006,-.254),l(.087,-.452),l(.339,-.721),l(.447,-.058),l(-.043,-.861),l(.254,-1.053),
-N(341.05,41.069),l(2.084,.272),l(.344,.361),l(-.869,.174),l(-.541,.139),l(-1.678,.106),l(-1.159,.037),l(-.689,.156),l(-.372,.224),l(-.308,.6),l(-.361,.376),l(1.05,.39),l(.971,.168),l(2.117,.064),l(.601,-.001),l(1.775,-.242),l(1.93,-.038),l(.866,.135),l(.933,.219),l(.417,.135),l(.284,-.018),l(1.001,-.002),l(1.277,.032),l(.615,.05),l(-1.277,.626),l(-1.583,.457),l(-1.976,.523),l(-.556,-.016),l(-.695,-.116),l(-.951,.671),l(-1.061,.503),l(-1.246,.452),l(-1.125,.296),l(-.211,.056),l(-2.212,.054),l(-.525,.134),l(-.502,.001),l(-.982,.201),l(-.665,.167),l(-.528,.051),l(-.946,-.413),l(-.375,.05),l(-.69,.913),l(-.958,.118),l(-.631,-.065),l(-.743,-.197),l(-.622,-.463),l(-.854,-.43),l(-.647,-.215),l(-.109,0),l(.008,.2),l(.707,1.043),l(-.192,.249),l(-.319,.017),l(-.69,.249),l(-.84,.249),l(-.573,.38),l(-1,.906),l(-.657,.657),l(-1.051,.851),l(-.776,.262),l(-1.034,.083),l(-1.023,-.275),l(-.148,.554),l(-.438,.569),l(-.783,.277),l(-.992,-.095),l(-.616,.05),l(-1.18,.439),l(.942,-1.723),l(-.121,.017),l(-.795,-.015),l(-1.055,-.177),l(.26,.423),l(-.026,.455),l(-.386,.407),l(-.794,.39),l(-1.16,.164),l(-.973,.002),l(-1.255,.083),l(.467,.403),l(.212,.403),l(-.09,.387),l(-.379,.097),l(-.321,-.063),l(-.47,.033),l(-1.792,-.157),l(.517,.32),l(.765,.462),l(.295,.351),l(-.01,.224),l(-.26,.176),l(-1.197,.034),l(-1.051,.129),l(.844,.413),l(.47,.126),l(.448,.222),l(.389,.333),l(-.554,.461),l(-.285,.111),l(-.599,-.094),l(-.478,.096),l(.345,.474),l(-.009,.127),L(308.501,60),l(-.486,-.125),l(-.583,-.062),l(.026,.158),l(.255,.457),l(-.101,.347),l(-.288,0),l(-.656,-.093),l(-.089,-.016),l(-.979,.112),l(-1.081,.018),l(.682,.487),l(1.108,.391),l(.331,.204),l(-.077,1.035),l(-.382,.938),l(-.427,.094),l(-.815,-.061),l(.489,.591),l(-.016,.498),l(.156,.233),l(-.068,.373),l(-.316,.062),l(-.495,-.03),l(-.771,.079),l(.762,.386),l(.427,.603),l(-.117,.447),l(-.287,.031),l(-.967,-.26),l(-1.052,-.508),l(-.498,.294),l(-.425,.602),l(-.635,-.599),l(.158,-.573),l(-.387,-.201),l(-1.124,-.184),l(-.577,-.309),l(.04,-.187),l(.253,-.249),l(.066,-.218),l(-.325,-.28),l(-.366,-.186),l(-.668,.359),l(-.276,.016),l(-.3,.141),l(-.444,-.046),l(-.98,.064),l(-.417,.017),l(-.571,.296),l(-.476,.28),l(-.426,-.403),l(-.104,-.357),l(-.222,-.217),l(-.513,-.233),l(-.817,-.232),l(-.772,-.389),l(-.517,-.781),l(.07,-.737),l(-.199,-.156),l(-.434,-.094),l(-.467,.048),l(-.97,-.266),l(-.108,-.094),l(-.138,-.236),l(.14,-.457),l(.459,-.395),l(.071,-.269),l(-.258,-.062),l(-.551,-.031),l(-.542,-.094),l(-.278,-.221),l(-.058,-.633),l(-.458,-.126),l(-.616,.049),l(-.589,-.57),l(.023,-.191),l(.198,-.254),l(.618,-.367),l(1.22,-.337),l(.405,-.304),l(.476,-.128),l(.051,-.383),l(-.277,-.287),l(-.473,.097),l(-.921,.082),l(-.493,.097),l(-.635,.416),l(-.538,.129),l(-.63,.304),l(-.339,-.318),l(.038,-.623),l(-.114,-.784),l(-.206,-.451),l(.015,-.355),l(-.243,-.323),l(-.504,.082),l(-.271,-.032),l(-.666,-.355),l(-.594,-.485),l(-.013,-.357),l(.842,-.538),l(.265,.019),l(-.556,-.189),l(-1.083,.064),l(-.103,-.284),l(.383,-.176),l(.677,-.03),l(.586,-.052),l(.456,-.087),l(.322,-.672),l(-1.208,-.047),l(-.572,.05),l(-.362,-.032),l(-.29,-.163),l(-.116,-.197),l(.223,-.28),l(.218,-.008),l(.18,-.16),l(.427,-.055),l(-.375,-.188),l(-.552,.073),l(-.22,-.248),l(.057,-.188),l(.073,-.132),l(.259,0),l(.309,-.099),l(.827,-.25),l(1.218,.081),l(.854,.163),l(.776,.032),l(.378,.131),l(.927,.146),l(1.027,.097),l(-.031,-.363),l(.299,-.545),l(-.298,-.182),l(-1.02,-.263),l(-1.356,-.312),l(-.903,-.164),l(-1.592,-.33),l(-.354,-.116),l(.336,-.35),l(.788,-.001),l(1.462,.363),l(1.034,.048),l(.463,-.067),l(.114,-.067),l(.088,-.6),l(.088,-.301),l(.595,-.034),l(.528,.116),l(.227,-.101),l(-.027,-.351),l(-.195,-.184),l(-.891,-.317),l(.162,-.437),l(.528,-.455),l(-.258,-.286),l(-1.21,-.167),l(-1.154,.002),l(-1.178,-.286),l(-1.649,-.49),l(-.78,-.101),l(-.903,-.05),l(-.76,-.34),l(-.811,-.477),l(.156,-.035),l(.323,-.155),l(.605,-.001),l(.572,-.019),l(2.085,.305),l(.716,.033),l(1.249,.306),l(1.451,.458),l(.729,.169),l(.056,-.307),l(-.311,-.426),l(-.86,-.546),l(-.172,-.446),l(-.603,-.446),l(-.485,-.051),l(-.677,-.24),l(.361,-.277),l(.542,-.139),L(285.644,41),l(-.704,-.241),l(-1.101,-.015),l(-.625,-.086),l(-1.132,-.327),l(-.88,.608),l(-.324,.156),l(-.274,.294),l(-.875,.243),l(-1.402,-.066),l(-1.031,-.343),l(-.306,-.242),l(-.027,-.294),l(.438,-.313),l(.293,-.645),l(-.152,-1.259),l(.582,-.054),l(.691,.192),l(.372,-.124),l(.151,-.334),l(-.383,-.369),l(-.933,-.545),l(-.452,-.141),l(-.946,-.796),l(-.895,-.925),l(-1.105,-1.289),l(-.578,-.485),l(-1.855,-.379),l(-.667,-.255),l(-.291,-.202),l(-.052,-.701),l(-.904,-.406),l(-.962,-.109),l(-1.589,-.165),l(-1.928,-.425),l(-1.903,-.333),l(-2.133,-.183),l(-.997,-.054),l(-1.632,-.035),l(-.785,.189),l(-1.043,.096),l(-.806,.188),l(-1.419,.152),l(-1.228,-.166),l(-1.46,-.296),l(.319,.747),l(-.051,.093),l(-1.051,-.017),l(-1.294,-.184),l(-3.168,-.611),l(1.538,-.566),l(.463,-.114),l(-.092,-.226),l(-.423,-.169),l(-1.067,-.017),l(-2.21,-.015),l(-.812,-.074),l(-.629,-.018),l(-1.238,-.434),l(-.87,-.208),l(.587,-.306),l(1.257,-.041),l(3.036,.147),l(2.025,.034),l(1.343,.017),l(2.117,-.157),l(1.055,-.212),l(.292,-.096),l(.054,-.345),l(-.627,-.287),l(-.82,-.21),l(-1.217,.156),l(-1.11,.252),l(-1.31,.021),l(-1.138,-.113),l(-.753,.078),l(-.879,.098),l(-.68,-.056),l(-.857,-.19),l(-.664,-.365),l(-.816,-.191),l(-.662,-.057),l(-.726,.059),l(-.486,-.076),l(-1.416,-.481),l(-.044,-.35),l(.36,-.45),l(.81,-.119),l(1.235,-.1),l(1.517,-.14),l(2.074,-.161),l(1.29,-.081),l(.951,-.396),l(1.089,-.259),l(.843,-.081),l(2.478,-.005),l(1.101,-.101),l(1.942,.036),l(.402,-.139),l(.31,-.199),l(.609,-.16),l(.202,-.658),l(.276,-.501),l(.116,-.101),l(-.89,-.228),l(-1.947,-.039),l(-1.155,.194),l(-.959,-.125),l(-1.243,-.383),l(.595,-.781),l(1.38,-.332),l(2.845,-.359),l(1.407,-.225),l(1.962,-.249),l(2.112,-.162),l(1.163,.087),l(1.213,-.07),l(1.319,-.07),l(.345,-.181),l(.011,-.226),l(-.357,-.753),l(-.022,-.208),l(.522,-.14),l(1.886,-.05),l(1.526,.205),l(2.141,.41),l(1.296,.226),l(.802,.181),l(.823,-.275),l(-1.657,-.525),l(-.697,-.509),l(.167,-.047),l(2.2,-.122),l(1.166,-.12),l(1.854,-.216),l(2.52,-.195),l(.73,.069),l(1.064,.116),l(.232,1.738),l(.913,-.162),l(.539,-.322),l(.432,-1),l(1.003,.021),l(2.004,.323),l(1.858,.414),l(1.529,.25),l(.205,-.3),l(-.644,-.3),l(-.816,-.537),l(-.894,-.4),l(.295,-.287),l(.742,.022),l(1.758,.02),l(1.136,.212),l(2.754,.373),l(1.284,.279),l(2.109,.322),l(1.878,.274),l(1.872,.204),l(.8,-.209),l(.816,-1.483),l(-.326,-.191),l(-1.292,-.334),l(-1.176,-.533),l(.708,-.247),l(2.404,-.005),l(2.962,-.328),l(1.329,-.077),l(1.527,.17),l(2.221,.488),l(1.567,.167),l(2.005,.142),l(.3,-.761),l(-.3,-.472),l(2.646,-.206),l(2.021,-.08),l(2.589,.095),l(1.989,.146),l(1.886,-.18),l(2.367,-.207),l(2.043,-.005),l(1.859,.223),l(1.825,-.055),l(1.315,.072),l(.619,.099),l(.55,-.102),l(1.946,.146),l(1.707,.046),l(1.673,.096),l(2.438,.761),l(1.368,.241),l(1.345,-.076),l(1.118,.168),l(2.594,.237),l(.445,.408),l(-.304,.12),l(-.492,.192),l(-1.683,.146),l(-2.303,.124),l(-1.152,.121),l(-1.233,.05),l(-1.469,-.068),l(-2.831,-.064),l(-2.22,-.066),l(-1.389,.168),l(-1.614,.027),l(-1.933,.027),l(-1.16,.026),l(-1.485,.168),l(-.444,.118),l(-1.322,.213),l(-.335,.464),l(.743,.251),l(2.551,-.281),l(1.367,-.072),l(3.912,.038),l(2.223,-.12),l(2.331,-.005),l(.997,-.025),l(.93,.067),l(1.77,.434),l(.671,.09),l(1.087,-.186),l(1.663,-.21),l(1.536,-.281),l(1.964,-.144),l(.59,.462),l(-.566,.482),l(-2.316,.639),l(-.973,.338),l(-1.281,.734),l(.12,.307),l(.319,.152),l(.796,-.089),l(.477,-.044),l(1.616,-.553),l(1.766,-.537),l(1.413,-.385),l(1.706,-.32),l(.775,-.207),l(1.662,-.163),l(1.618,.111),l(1.391,.065),l(1.497,-.3),l(.703,-.324),l(1.129,-.234),l(2.148,-.004),l(1.672,.112),l(1.097,.044),l(1.197,.136),l(1.135,.228),l(1.107,.112),l(.316,.25),l(-.181,.273),l(-1.97,.252),l(-1.491,.138),l(-1.245,.494),l(-.557,.289),l(-1.604,.355),l(-1.57,.548),l(-1.063,.089),l(-.918,-.042),l(-1.592,.047),l(-2.213,-.039),l(-1.491,.198),l(-.731,.217),l(-.495,.535),l(.166,.322),l(1.949,-.305),l(1.581,-.046),l(1.856,.101),l(.003,.42),l(-.743,.241),l(-2.388,.124),l(-.463,.14),l(-.213,.199),l(-.156,.595),l(-.471,.71),l(-.678,.158),l(-1.06,-.077),l(-.742,.041),l(-.837,.9),l(-.987,1.087),l(-.15,.347),l(.454,.307),l(.403,.095),l(.602,-.481),l(.743,-.368),l(.856,-.041),l(2.345,.266),l(.353,.096),l(.262,.288),l(-.059,.211),l(-1.234,-.074),l(-.673,-.018),l(-.512,.097),l(-.136,.191),l(.29,.286),l(1.756,.188),l(.557,.132),l(1.802,-.137),l(.526,.208),l(.214,.323),l(-.049,.436),l(-.256,.133),l(-1.835,-.186),l(-1.653,-.054),l(-.781,-.074),l(-1.295,.078),l(-1.382,.475),l(-.823,-.13),l(-.49,-.15),l(-1.06,.04),l(-.283,.377),l(1.393,.599),l(1.187,.222),l(1.298,.128),l(1.665,.072),l(.696,.148),l(.551,.482),l(.272,.444),l(.014,.554),l(-.434,.405),l(-.384,.074),l(-1.292,-.181),l(-.82,-.109),l(-.372,.111),l(.023,.55),l(.118,.236),l(.426,.162),l(.618,.089),l(.723,.215),l(.914,.142),l(.752,.16),l(.383,.376),l(-.338,.233),l(-.832,.145),l(-.647,.126),l(-1.747,-.032),l(-1.176,-.087),l(-1.624,-.086),l(-.592,.448),l(.551,.195),l(1.396,.051),l(1.052,.158),l(.724,.248),l(.088,.319),l(-.035,.549),l(-.13,-.005),l(-1.092,-.045),l(-1.247,.108),l(-.596,.266),l(-1.246,.02),l(-1.225,-.139),l(-1.497,-.404),l(-.922,-.478),l(-.373,-.07),l(-1.094,.286),L(345,36.811),l(-1.084,.09),l(-.589,.178),l(-1.451,-.033),l(-.913,-.087),l(-.969,.143),l(-.395,.125),l(-.174,.283),l(.006,.141),l(.354,.527),l(.71,.245),l(1.284,.05),l(1.515,.26),l(1.567,-.056),l(1.323,.54),l(.758,.226),l(.482,.226),l(1.196,.329),l(1.252,.38),l(.376,.276),l(.483,.898),l(.892,-.208),l(.278,-.139),l(.397,.207),l(.298,.43),l(.071,.344),l(.198,1.164),l(-.169,.205),l(-.371,.12),l(-.541,-.101),l(-.546,-.119),l(-.917,.002),l(-1.041,.036),l(-1.488,-.27),l(-.637,-.409),l(-.415,-.634),l(-.354,-.274),l(-1.17,-.566),l(-.84,-.292),l(-.748,-.137),l(-1.095,-.084),l(-.521,.14),l(-.962,.105),M(351.365,40.026),l(-1.527,-.537),l(-.96,-.225),l(-.712,-.156),l(-.159,-.069),l(-.314,-.419),l(1.483,-.038),l(.893,.139),l(1.064,.26),l(.819,.296),l(.162,.488),l(-.215,.209),l(-.533,.053),M(281.574,46.135),l(-.568,-.133),l(-.707,-.318),l(-.801,-.183),l(-.197,-.101),l(-.25,-.218),l(-.08,-.844),l(.287,-.34),l(.368,-.018),l(.646,.135),l(1.157,.066),l(1.287,.27),l(.748,.269),l(.595,.1),l(.777,.217),l(.603,.335),l(-.144,.202),l(-.112,.034),l(-.543,.051),l(-.774,.035),l(-.77,.186),l(-1.009,.153),l(-.511,.102),
-N(105.98,81.688),l(-.952,-.826),l(-.198,-.342),l(-.024,-.476),l(.095,-.104),l(.408,.044),l(.312,-.045),l(.781,.177),l(.658,-.076),l(.28,.119),l(.138,.163),l(-.234,.224),l(-.173,.565),l(-.028,.312),l(-.581,.075),l(-.483,.19),M(125.24,92.375),l(-1.312,-.288),l(-1.345,-.434),l(-.218,-.174),l(.061,-.189),l(.376,-.466),l(-1.023,.002),l(-.413,.248),l(-.299,-.072),l(-.416,-.188),l(.166,-.452),l(-.487,-.334),l(-.269,-.014),l(-.735,-.086),l(-.226,-.262),l(.317,-.292),l(-.976,-.524),l(-.556,.118),l(-.386,-.102),l(-.852,-.511),l(-1.277,-.863),l(-.219,-.235),l(.02,-.117),l(.962,-.12),l(.337,.043),l(1.979,.598),l(.981,.204),l(1.772,.202),l(.385,.263),l(.618,.526),l(.426,.642),l(.433,.422),l(.362,.189),l(1.587,.536),l(.316,.203),l(.48,.756),l(.116,.407),l(-.279,.349),l(-.407,.016),M(271.379,92.089),l(-1.202,-.23),l(.641,-.743),l(.358,-.161),l(.279,.058),l(.292,0),l(.355,-.263),l(-.697,-.653),l(.079,-.219),L(272,89.003),l(1.121,-1.35),l(1.454,-1.31),l(.725,-.442),l(.496,-.192),l(1.315,-.194),l(.198,.073),l(.11,.221),l(-.299,.221),l(-.582,.03),l(-.242,.133),l(.349,.44),l(-.755,.78),l(-1.226,1.438),l(-.271,.526),l(.113,.291),l(.11,0),l(.428,-.176),l(.483,-.555),l(.458,-.191),l(1.115,.305),l(-.896,.687),l(.261,.203),l(.229,.072),l(1.423,.565),l(.758,-.03),l(.325,-.408),l(.309,-.059),l(.718,.057),l(.826,.202),l(.616,.231),l(-.297,.292),l(-.373,.233),l(-.708,.467),l(.339,.333),l(.477,.362),l(.26,.014),l(.417,-.161),l(.464,-.132),l(.278,.116),l(.02,.16),l(-.254,.262),l(-.404,.248),l(-.892,.104),L(280.84,93),l(.273,.362),l(.124,.405),l(.28,.231),l(.183,-.203),l(.309,-.262),l(.527,.159),l(-.099,.449),l(.149,.275),l(.716,.028),l(.085,-.015),l(.015,.203),l(-.168,.304),l(-.25,.652),l(-.34,.651),l(-.222,-.072),l(-.71,-.128),l(-.301,-.144),l(-.042,-.651),l(-.601,.406),l(-.374,.015),l(-.095,-.274),l(.497,-.652),l(.011,-.333),l(-.421,-.478),l(-.279,-.072),l(-.388,.392),l(-.423,.291),l(-.365,.146),l(-.435,.204),l(-.552,.536),l(-.496,.334),l(-.881,-.042),l(-.222,-.217),l(.165,-.145),l(1.229,-.408),l(.466,-.522),l(.632,-.363),l(-.699,-.129),l(-.601,-.057),l(-.322,.464),l(-.412,.015),l(-.13,-.159),l(.04,-.493),l(-.757,.016),l(-.148,.29),l(-.41,.218),l(-1.052,.045),l(-.709,-.057),l(-1.139,-.186),l(-1.012,-.085),l(-1.355,.061),l(-1.014,.147),l(-.145,-.188),l(-.215,-.463),l(.187,-.175),l(.561,-.334),l(.734,-.408),l(.502,-.161),l(.636,-.335),M(265.435,98.655),l(-.469,-.057),l(-.497,-.273),l(-.356,-.562),l(.062,-.635),l(.742,-.738),l(.932,-1.043),l(.816,.432),l(-.375,.435),l(-.112,.462),l(-.233,.333),l(-.262,.116),l(-.58,.319),l(-.244,.448),l(.522,.244),l(.168,-.029),l(.279,-.26),l(.42,-.362),l(.617,-.319),l(.309,.057),l(.495,.461),l(-.177,.347),l(-.246,.159),l(-1.134,.42),l(-.682,.044),M(211.34,59.677),l(-.68,-.046),l(.068,-.872),l(-.375,-.333),l(-.958,.161),l(-2.375,.29),l(.107,-.461),l(.56,-.303),l(1.644,-.561),l(-.302,-.478),l(-.102,-.415),l(.106,-.417),l(.398,-.835),l(.434,-.566),l(.254,-.648),l(.331,-.471),l(1.11,.566),l(-.312,.518),l(.791,.386),l(.527,.047),l(.402,-.469),l(.67,.112),l(.806,.289),l(.917,.514),l(.582,.255),l(2.168,.492),l(.442,.271),l(.176,.255),l(-.09,.925),l(.539,.047),l(.57,-.065),l(.934,.046),l(.701,.142),l(1.019,.427),l(-.419,.096),l(-.269,.127),l(-.46,.271),l(-.949,-.046),l(-.623,-.125),l(-1.328,-.125),l(-.438,-.126),L(217.259,58),l(-.528,-.301),l(-1.017,-.237),l(-.528,.017),l(-.203,.271),l(.174,.588),l(-.126,.096),l(-1.314,.161),l(-.673,.493),l(-.588,.302),l(-1.116,.287),M(200.125,19.1),l(-.862,-.015),l(-1.085,-.195),l(-.308,-.664),l(.819,-.304),l(.77,-.072),l(.666,-.024),l(3.475,-.125),l(1.263,-.12),l(1.374,-.026),l(1.714,.324),l(.397,-.094),l(.397,-.377),l(1.303,-.287),l(1.759,-.099),l(1.975,.209),l(.746,-.001),l(2.562,.137),l(2.621,.324),l(1.424,.09),l(1.461,.161),l(.448,-.165),l(-1.433,-.42),l(-1.67,-.352),l(-.816,-.429),l(.293,-.242),l(1.361,-.148),l(1.101,-.246),l(1.431,-.101),l(2.382,-.201),l(1.666,.119),l(1.944,.191),l(1.009,.265),l(1.19,.456),l(.354,.047),l(.273,-.362),l(-.959,-.508),l(-.828,-.292),l(.499,-.248),l(1.45,.121),l(1.832,.168),l(1.653,.07),l(1.639,.46),l(.378,.023),l(.062,-.195),l(-.301,-.539),l(1.781,-.004),l(1.408,.046),l(.832,.269),l(.831,.34),l(.618,-.001),l(-.044,-.268),l(-.331,-.467),l(1.075,-.077),l(3.691,.386),l(2.726,.288),l(1.937,-.077),l(2.987,.018),l(.967,.047),l(.757,.12),l(.126,0),l(1.419,.094),l(1.089,.191),l(.744,.095),l(1.685,.044),l(1.357,.357),l(-.385,.358),l(-1.237,.121),l(-1.206,.356),l(-1.849,.191),l(-.978,-.045),l(-2.191,-.159),l(-2.284,.005),l(-.776,.142),l(-1.915,.168),l(-.597,.465),l(.75,.366),l(.761,.044),l(1.03,-.048),l(1.705,-.279),l(.79,.021),l(.808,.434),l(-.168,.114),l(-1.246,.139),l(-1.38,.207),l(-1.174,.295),l(-2.098,.518),l(-1.316,.224),l(-1.19,.355),l(-.924,.286),l(-2.252,.005),l(.65,.906),l(-.449,.193),l(-2.297,.455),l(-.768,-.019),l(-1.587,-.037),l(-1.462,-.218),l(-2.386,-.164),l(-.66,.33),l(2.591,.695),l(-.662,.141),l(-.967,-.038),l(-1.297,.022),l(-1.068,.022),l(-2.58,-.214),l(-2.009,.063),l(-.134,.66),l(1.257,-.105),l(1.065,.018),l(2.312,.292),l(.557,.157),l(.12,.67),l(-.33,.197),l(-1.031,.12),l(-.515,.705),l(-1.073,.021),l(-.448,-.058),l(-.402,.176),l(.297,.253),l(.759,.25),l(-.328,.136),l(-1.615,.08),l(-.867,-.037),l(-1.71,-.171),l(-.422,.078),l(.41,.791),l(-.08,.231),l(-.649,.289),l(-.767,.155),l(-1.52,-.112),l(-2.039,-.111),l(-1.43,-.227),l(-1.008,.079),l(-1.219,.5),l(1.031,.112),l(.368,.057),l(2.154,.11),l(1.759,.13),l(1.534,.168),l(2.001,.034),l(.66,.34),l(.045,.359),l(-.907,.398),l(-2.685,.268),l(-.927,.115),l(-1.054,.227),l(-1.115,.077),l(-.467,-.28),l(-.797,-.638),l(-.56,.039),l(-.631,.001),l(-1.453,-.318),l(-.001,.17),l(.331,.508),l(-1.477,-.016),l(-1.5,-.129),l(-.875,-.319),l(-1.033,-.471),l(-.388,.058),l(.527,.717),l(-.24,.17),l(-.821,.133),l(-1.72,-.109),l(-2.276,-.033),l(-.972,-.073),l(-1.382,-.394),l(-.642,-.131),l(-.282,.453),l(-.619,.152),l(-1.843,-.316),l(.161,-.586),l(.219,-.228),l(1.525,-.117),l(.61,-.249),l(.961,-.173),l(1.179,.036),l(.499,-.172),l(-1.073,-.4),l(-1.043,-.651),l(.052,-.154),l(.479,-.117),l(1.316,.036),l(1.743,.093),l(.888,.21),l(1.108,.517),l(1.35,.323),l(1.085,.093),l(1.667,-.022),l(.829,-.136),l(.086,-.268),l(.514,-.304),l(-3.019,.001),l(-1.025,-.171),l(-.156,-.85),l(.211,-.154),l(-1.74,-.153),l(-1.963,-.152),l(-.274,0),l(-.631,.114),l(.204,-.758),l(1.159,-.551),l(1.104,-.16),l(1.837,-.003),l(1.164,.037),l(1.37,.076),l(2.023,.311),l(1.342,.115),l(.486,-.158),l(1.132,-.041),l(-3.399,-.802),l(-1.742,-.313),l(-3.555,-1.27),l(-.406,.242),l(-1.398,-.878),l(.025,-.258),l(.313,-.108),l(1.747,.104),l(1.905,-.004),l(2.019,.06),l(1.6,.382),l(2.535,.784),l(1.448,-.043),l(.833,.095),l(-1.387,-.555),l(-2.015,-.317),l(1.208,-.743),l(1.456,-.329),l(1.731,-.025),l(1.529,-.222),l(2.042,-.07),l(1.157,-.112),l(1.414,-.051),l(-1.778,-.479),l(-1.425,-.153),l(-2.501,.027),l(-1.243,.248),l(-1.305,.158),l(-1.425,.202),l(-1.447,.047),l(-.586,.067),l(-1.532,-.438),l(-.214,.111),l(-.543,.156),l(-2.16,-.018),l(-1.58,.365),l(.311,-.828),l(.98,-.292),l(.007,-.202),l(-.606,-.247),l(-1.375,-.156),l(-1.39,.003),l(-4.189,.505),l(-2.031,.672),l(-.408,-.11),l(-.569,-.251),l(.395,-.133),l(.678,-.023),l(-.117,-.316),l(-.698,-.398),l(-1.216,-.056),l(-.216,-.003),M(200.125,20.844),l(.899,-.096),l(.832,.196),l(.339,.5),l(.511,.495),l(.427,.063),l(1.141,.041),l(-.081,-.236),l(.056,-.411),l(.438,-.109),l(.718,.194),l(.718,.322),l(.374,.3),l(-.066,.171),l(.056,.826),l(.764,.442),l(.953,-.017),l(1.276,-.074),l(1.646,.504),l(-1.123,-.264),l(-1.528,.34),l(-1.599,.221),l(-.83,.377),l(-.287,.197),l(-.265,.315),l(-.448,.021),l(-1.493,-.41),l(-.656,.335),l(.465,.43),l(-.029,.235),l(-.412,.196),l(-.392,.04),l(-1.086,-.31),l(-.944,-.311),l(-.26,.645),l(-.117,.068),l(-.083,.049),l(-.888,.041),l(-1.74,-.094),l(-1.458,-.153),l(-.888,-.154),l(-.494,.021),l(-3.115,-1.31),l(-.191,-.276),l(1.971,-.241),l(3.32,.093),l(.889,.097),l(1.573,.1),l(-2.485,-.693),l(-3.019,-.213),l(-1.103,.122),l(-1.43,-.017),l(-.597,.18),l(-1.008,.022),l(-.606,-.198),l(-1.066,-.517),l(-1.425,-.479),l(-.341,-.355),l(1.971,.124),l(2.278,-.175),l(-1.255,-.249),l(-.756,-.351),l(.38,-.305),l(.729,-.132),l(.769,-.023),l(.921,.042),l(.156,-.219),l(-1.799,-.793),l(1.053,-.114),l(1.213,-.182),l(1.13,.087),l(.584,-.046),l(.145,-.18),l(-.514,-.475),l(1.362,.134),l(.941,.066),l(.83,.202),l(1.589,.869),l(.653,.264),l(.772,.24),l(.674,-.001),l(.36,-.039),M(179.067,27.216),l(-1.156,-.056),l(-.604,-.173),l(-.926,-.638),l(-.621,-.193),l(-3.102,-.091),l(-1.487,.081),l(-.622,.001),l(-1.444,-.056),l(-.767,-.154),l(-1.019,-.37),l(-.161,-.234),l(.335,-.138),l(.802,-.001),l(1.687,.232),l(.867,-.021),l(-.031,-.235),l(-.252,-.275),l(-1.344,-.49),l(-.579,-.098),l(-1.075,-.077),l(-1.392,-.196),l(.065,-.397),l(2.246,-.124),l(2.392,.155),l(.77,.376),l(.999,.453),l(1.979,.193),l(2.189,.114),l(1.178,.233),l(.604,.254),l(1.123,.721),l(.581,.446),l(.168,.426),l(-.481,.194),l(-.919,.137),M(185.907,26.758),l(-1.078,-.037),L(184,26.529),l(-1.029,-.484),l(-1.144,-.76),l(-.03,-.216),l(.239,-.099),l(2.296,-.044),l(1.816,.311),l(3.101,.542),l(-.047,.351),l(-.254,.331),l(-.436,.04),l(-1.563,.177),l(-1.043,.08),M(156.886,26.865),l(-1.573,.646),l(-.558,.27),l(-1.85,.042),l(-1.019,.079),l(-1.898,-.15),l(-.577,-.114),l(-.302,-.423),l(.334,-.291),l(1.365,-.177),l(.899,.056),l(2.351,-.102),l(.496,0),l(2.331,.163),M(132.902,31.305),l(-.53,-.186),l(-.95,-.466),l(-.424,-.112),l(-.33,.057),l(-.56,.207),l(-1.269,.059),l(-.786,-.279),l(-.283,-.319),l(.23,-.264),l(1.13,-.097),l(.503,-.133),l(.771,-.134),l(.977,-.399),l(.848,-.211),l(.726,-.172),l(.548,-.344),l(1.083,-.231),l(1.277,-.079),l(2.532,-.158),l(1.68,.016),l(.888,-.29),l(1.038,-.079),l(1.503,.438),l(-.756,.097),l(-.852,.231),l(-.22,.268),l(.12,.266),l(.469,.474),l(-.777,.001),l(-.912,.115),l(-.918,.662),l(-1,-.017),l(-.867,-.981),l(-.694,-.15),l(-.379,.02),l(-.229,.285),l(-.588,.342),l(-.63,.623),l(-.595,.151),l(-.284,.375),l(-.705,.356),l(-.787,.058),M(191.827,30.313),l(-1.266,-.054),l(-2.278,-.165),l(-.426,.058),l(-.332,-.094),l(-.896,-.489),l(-1.185,-.414),l(.192,-.229),l(2.433,-.042),l(1.542,.263),l(1.472,.054),l(.171,0),l(.89,.358),l(-.179,.246),l(.123,.32),l(-.263,.188),M(144.688,31.739),l(-2.222,-.395),l(-.325,-.674),l(.503,-.057),l(.595,-.17),l(.945,-.096),l(.953,-.133),l(1.279,-.059),l(.522,.187),l(.65,.374),l(.659,.186),l(1.55,-.209),l(.617,.149),l(1.624,.762),l(1.016,.351),l(.897,.036),l(.96,-.058),l(1.418,.09),l(.591,-.02),l(1.116,-.169),l(.092,-.297),l(-.557,-.559),l(-.941,-.391),l(-1.347,-.354),l(.96,-.322),l(.524,-.379),l(.569,-.152),l(1.097,-.116),l(.507,.17),l(.773,.678),l(-.017,.413),l(.518,.654),l(.565,.111),l(.9,.036),l(1.805,.406),l(-.334,-.465),l(.151,-.28),l(.409,-.076),l(1.495,.24),l(.932,.39),l(-.292,.409),l(.039,.5),l(-.358,.461),l(-.573,.277),l(-.755,.111),l(-.782,.001),l(-1.682,.095),l(-1.156,-.071),l(-1.757,-.18),l(-.622,-.017),l(-1.129,.277),l(-1.132,.202),l(-.76,.182),l(-.977,.254),l(-1.625,.292),l(-1.338,.2),L(149.23,34.5),l(-.748,-.07),l(-1.445,-.286),l(-.276,-.378),l(.648,-.128),l(1.219,-.038),l(.738,-.146),l(.852,-.075),l(1.166,-.057),l(.622,.017),l(1.09,-.149),l(.483,-.553),l(-2.768,-.087),l(-.925,-.054),l(-1.564,.28),l(-1.625,.168),l(-1.292,.04),l(-.795,.093),l(-1.681,-.347),l(-.479,.167),l(-.92,.075),l(-.979,-.127),l(-.854,-.33),l(.023,-.111),l(.863,-.427),l(1.098,-.058),l(2.047,-.022),l(.96,-.159),M(178.479,33.234),l(-.984,-.219),l(-.193,-.294),l(.764,-.389),l(.433,-.112),l(.088,-.167),l(-.447,-.333),l(-1.161,-.054),l(-2.13,.227),l(-.939,.076),l(-.331,.019),l(-.854,-.276),l(.039,-.335),l(.739,-.02),l(.542,-.244),l(.587,-.057),l(-.466,-.598),l(.176,-.245),l(.132,-.226),l(.49,.018),l(.859,.224),l(1.942,.746),l(.426,.186),l(.46,-.094),l(-.101,-.243),l(-.959,-.486),l(-.371,-.131),l(-.407,-.357),l(.436,-.095),l(.956,-.059),l(.713,.131),l(1.033,.262),l(.572,.168),l(.27,.018),l(.162,-.452),l(.478,-.133),l(.73,.112),l(.717,.168),l(.327,.168),l(.367,.75),l(-.034,.616),l(-.247,.242),l(-.831,.335),l(-.017,.352),l(.35,.625),l(-.361,.147),l(-1.648,-.089),l(-.862,.112),l(-1.446,.003),M(200.125,30.572),l(-.895,.045),l(-.853,.17),l(-.37,.467),l(1.133,.054),l(.984,-.038),l(.046,-.001),l(.847,.11),l(.463,.129),l(.498,.463),l(.727,.424),l(.621,.091),l(.213,-.074),l(.043,-.314),l(.286,-.056),l(1.075,-.002),l(.883,-.187),l(.766,.11),l(.835,.239),l(.665,.257),l(.976,.053),l(.775,-.463),l(1.393,-.281),l(1.704,-.114),l(1.951,-.246),l(1.533,.053),l(2.59,.014),l(.381,.037),l(.79,.314),l(.911,.239),l(1.418,.146),l(.653,.128),l(.21,.037),l(.361,.166),l(.181,.257),l(-.4,.148),l(-1.833,.407),l(-.135,.255),l(.469,.666),l(-2.486,.076),l(-.592,.02),l(-.651,.091),l(-.768,-.053),l(-.846,-.16),l(-.405,-.125),l(-.306,-.667),l(-.833,-.218),l(-.366,.129),l(.072,.723),l(-.536,.127),l(-.747,-.053),l(-.91,.109),l(-.728,-.017),l(-.495,.001),l(-1.342,-.213),l(-.593,-.197),l(-.495,-.017),l(-.209,.433),l(-1.801,.111),l(-.831,.074),l(-1.453,-.069),l(-.404,-.251),l(-.144,-.686),l(-1.237,.129),l(-.389,.181),l(-.326,.325),l(-.955,.2),l(-1.011,-.034),l(-.112,-.027),l(-.704,-.169),l(-1.186,-.575),l(-.675,.489),l(-1.131,-.07),l(-.666,-.688),l(-.442,-.717),l(.587,-.481),l(.019,-.371),l(-.292,-.316),l(-1.249,-.651),l(-.617,-.299),l(-.047,-.338),l(.636,-.133),l(1.226,-.078),l(2.472,-.023),l(.763,.093),l(1.118,.261),l(.188,.04),l(.872,.184),l(-.613,.189),l(-.259,.013),M(128.19,41.985),l(-.926,-.016),l(-1.059,-.102),l(-.362,-.466),l(-.549,-.467),l(-.432,-.259),l(-1.123,-.363),l(-1.36,-.067),l(-.951,-.138),l(-.469,-.19),l(-.168,-.174),l(.537,-.106),l(.589,-.298),l(.481,-.211),l(.08,-.386),l(-.437,-.809),l(.552,-.001),l(.468,-.177),l(.307,-.372),l(1.104,-.533),l(.526,-.588),l(-.121,-.32),l(-.271,-.16),l(-1.229,-.677),l(-.375,-.448),l(.869,-.001),l(.823,-.056),l(1.455,.051),l(.97,.016),l(1.515,-.092),l(1.284,-.146),l(1.242,-.074),l(.495,.125),l(3.242,.801),l(.918,.088),l(.708,-.055),l(1.316,-.127),l(1.223,.016),l(.771,.07),l(1.35,.373),l(2.389,.815),l(-.242,.143),l(-.432,.036),l(-.26,.072),l(-1.609,.322),l(-1.073,.144),l(-1.829,.428),l(-1.069,.319),l(-1.604,.725),l(-1.025,.563),l(-.549,.089),l(-.974,.124),l(.066,.924),l(-.271,.504),l(-.662,.278),l(-1.215,.124),l(-1.213,-.067),l(-.521,.485),l(-.898,.312),M(190.483,39.666),l(-1.146,-.208),l(-.146,-.524),l(-.941,-.806),l(-.207,-.582),l(.058,-.389),l(.27,-.657),l(.377,-.321),l(1.256,.033),l(-.089,-.16),l(-.416,-.266),l(-.185,-.286),l(.211,-.09),l(.234,-.072),l(2.154,-.058),l(1.215,.087),l(1.464,.248),l(1.282,.051),l(1.316,-.146),l(1.051,.016),l(.694,.105),l(.639,.213),l(-.007,.089),l(-.224,.179),l(-.824,.428),l(-.874,.746),l(-1.513,.92),l(-1.386,.073),l(-2.379,-.154),l(-1.269,.055),l(1.392,.717),l(-.188,.315),l(-.855,.369),l(-.964,.072),M(181.204,41.523),l(-.491,-.085),l(-1.101,-.552),l(-.952,-.641),l(-1.014,-.468),l(-.978,-.225),l(-1.438,-.12),l(-.55,-.174),l(-2.255,-1.066),l(.866,-.654),l(.653,.14),l(1.032,.474),l(1.063,.227),l(.46,.052),l(.615,-.283),l(.908,-.619),l(.415,-.036),l(.018,-.212),l(-1.062,-.565),l(-1.068,-.424),l(-.177,-.231),l(.132,-.107),l(1.683,.086),l(.711,-.215),l(.42,0),l(.996,.39),l(.56,.035),l(.58,-.055),l(.435,-.25),l(1.232,-.127),l(1.354,.069),l(.912,.23),l(-.324,.268),l(-.58,.125),l(-.323,.338),l(-1.55,.375),l(-.392,.16),l(-.069,.194),l(.253,.247),l(.506,.105),l(.692,-.089),l(1.08,.174),l(.868,.245),l(.391,.017),l(.564,.262),l(.186,.438),l(-.681,.352),l(-.156,.35),l(-.271,.68),l(-.457,.366),l(-.508,.14),l(-.658,.019),l(-.582,-.103),l(-.773,-.346),l(-.653,-.103),l(.013,.208),l(1.054,.553),l(-.817,.399),l(-.77,.036),M(243.524,60.394),l(-.234,-.208),l(-1.199,-.235),l(-.673,-.331),l(-.154,-.269),l(.346,-.064),l(.616,-.461),l(-1.378,-.521),l(-1.132,-.125),l(-.76,-.349),l(-.929,-.731),l(-.035,-.511),l(-1.115,-.062),l(-1.311,-.366),l(-.675,-.031),l(.284,.767),l(-.155,.096),l(-.409,-.015),l(-1.704,-.332),l(-.309,.033),l(-.325,.304),l(-.441,.288),l(-1.312,.082),l(-1.349,-.173),l(-1.343,-.189),l(-.813,-.254),l(-.052,-.319),l(.196,-.4),l(.382,-.354),l(1.066,-.163),l(.192,-.178),l(-.128,-.516),l(.206,-.033),l(1.357,.11),l(1.408,.175),l(.517,.144),l(.962,.626),l(.051,-.386),l(-.154,-.193),l(.077,-.194),l(.585,-.033),l(.977,-.099),l(.652,-.163),l(.649,-.114),l(.515,.063),l(.785,.031),l(.166,-.275),l(-1.138,-.825),l(-.773,-.356),l(-.119,-.228),l(.167,-.163),l(.586,-.066),l(.72,-.246),l(1.409,-.591),l(.361,-.541),l(.771,-.46),l(.493,-.379),l(-.109,-.593),l(-.899,-.841),l(-.407,-.496),l(-.541,-.364),l(-.414,.001),l(-1.258,-.33),l(-1.041,-.481),l(-.244,-.467),l(-.527,-.384),l(-.442,.202),l(-.551,.202),l(-.825,-.015),l(-.293,.117),l(-.62,.018),l(-1.255,.169),l(-.214,-.667),l(1.032,-.052),l(1.23,-.103),l(.163,-.269),l(-1.604,-.618),l(-1.552,-.67),l(-.879,-.015),l(-.567,-.185),l(-.169,-.542),l(-.677,-.339),l(-.45,-.05),l(-.918,-.306),l(-.687,-.341),l(-.385,-.119),l(-.611,.155),l(-.81,-.187),l(-1.177,-.238),l(-.489,-.085),l(-.379,.138),l(.529,.307),l(.453,.05),l(2.838,.712),l(.438,.271),l(.069,.306),l(-.505,.221),l(-.669,.069),l(-.541,-.033),l(-.757,-.049),l(-.818,-.252),l(-1.153,-.27),l(-.667,-.066),l(-.323,.17),l(.044,.204),l(.426,.236),l(.259,.438),l(-1.703,-.553),l(-.47,-.05),l(-.396,.119),l(-.63,.153),l(-.767,-.218),l(-.693,-.117),l(-.859,.12),l(-1.474,-.184),l(-1.995,-.167),l(-1.321,.037),l(-1.146,-.032),l(-.862,-.186),l(-.003,-.597),l(-.363,-.153),l(-.904,-.049),l(-.396,.342),l(-.623,.086),l(-1.214,-.049),l(-1.076,-.168),l(-1.303,-.477),l(-.415,-.376),l(.123,-.275),l(.868,-.07),l(1.131,.067),l(1.212,.101),l(.879,-.019),l(.312,-.19),l(-.934,-.463),l(-.8,-.275),l(-.905,-.102),l(-1.106,-.119),l(-.752,.036),l(-.539,-.017),l(-1.249,-.223),l(.114,-.416),l(.292,-.557),l(.34,-.14),l(.646,-.054),l(.081,-.227),l(-1.082,-.4),l(-.044,-.175),l(.449,-.79),l(1.197,-.919),l(.565,-.284),l(.918,-.321),l(.74,-.374),l(.423,-.037),l(.37,-.178),l(.698,-.001),l(.481,-.125),l(.71,-.09),l(1.436,-.109),l(1.348,.033),l(.857,.194),l(-.92,.393),l(-.815,.48),l(-1.394,.639),l(-.43,.529),l(.169,.369),l(1.256,.541),l(-.444,.298),l(-.076,.402),l(.257,.313),l(.862,.554),l(1.559,.621),l(-.096,.121),l(-1.272,.331),l(-.072,.31),l(.959,.033),l(1.504,.101),l(.654,-.639),l(-.103,-.415),l(-.343,-.277),l(-.724,-.103),l(-.422,-.138),l(-.884,-.538),l(.101,-.157),l(.506,-.245),l(.473,-.193),l(1.001,.12),l(.837,-.071),l(-1.204,-.47),l(-.703,-.034),l(-.793,-.279),l(-.056,-.193),l(.053,-.545),l(.886,-.319),l(1.207,.086),l(1.509,-.056),l(-.939,-.281),l(-1.233,-.351),l(.793,-.303),l(1.288,-.198),l(1.044,-.126),l(1.688,-.323),l(1.114,.016),l(.642,.052),l(.833,.141),l(.782,.478),l(1.536,.97),l(.058,.141),l(-.583,.687),l(-.709,.632),l(.038,.733),l(.364,.086),l(.65,.033),l(1.088,-.315),l(.284,-.455),l(.595,-.088),l(.791,.034),l(.454,.174),l(-.006,.262),l(.16,.47),l(.875,.189),l(.196,-.122),l(-.204,-.854),l(.218,-.123),l(.456,-.474),l(1.038,-.265),l(.98,-.054),l(.748,.034),l(.98,.174),l(1.172,.138),l(1.151,-.09),l(.688,.139),l(.327,.262),l(.621,.331),l(.574,.191),L(235.438,40),l(0,.191),l(-.531,.088),l(-.484,.279),l(-.818,.262),l(-.148,.225),l(.45,.259),l(.427,.068),l(.897,-.417),l(.652,-.174),l(.502,.051),l(.476,.242),l(.365,.466),l(.516,.413),l(.342,-.242),l(1.304,-.798),l(1.935,.256),l(.915,.361),l(-.051,.069),l(-.638,.346),l(-.708,.517),l(1.167,-.054),l(.455,-.173),l(1.078,-.105),l(.033,.704),l(.797,.324),l(.523,-.069),l(.831,-.207),l(1.316,-.088),l(.816,.221),l(.566,.273),l(-.162,.154),l(-.461,.223),l(-1.87,.43),l(-.238,.272),l(.523,.253),l(.456,-.068),l(.747,-.171),l(1.235,-.122),l(.406,-.29),l(.361,-.103),l(.479,.067),l(.51,.187),l(.544,.339),l(.636,.522),l(-1.019,.002),l(-1.2,.053),l(-.424,.135),l(.059,.269),l(.372,.134),l(1.333,.065),l(.938,.183),l(.543,.217),l(.233,.301),l(-.37,.034),l(-.748,.001),l(-1.011,-.082),l(-.875,-.216),l(-.824,-.065),l(-.316,.185),l(1.23,.583),l(-.216,.201),l(-1.552,.12),l(.245,.283),l(.437,.166),l(.551,.032),l(1.331,.364),l(1.312,.347),l(.247,.182),l(.039,.282),l(.351,.38),l(.75,-.217),l(.536,.049),l(1.413,.295),l(.298,-.067),l(.649,-.15),l(.61,.032),l(.752,.379),l(.862,.477),l(.376,.346),l(-.685,.1),l(-.801,.117),l(-.027,.444),l(.795,-.001),l(1.405,-.052),l(.51,-.132),l(.895,.048),l(-.386,.559),l(.918,.179),l(.514,-.001),l(.943,-.379),l(.685,.343),l(1.089,.407),l(.194,.098),l(-.275,.229),l(-.254,.099),l(-.103,.326),l(-.819,.05),l(-.718,-.21),l(-.247,-.048),l(-.794,.213),l(.968,.454),l(.279,.162),l(.057,.276),l(-1.057,.197),l(-.356,.228),l(-.312,.292),l(-.372,-.113),l(-.819,-.583),l(-.29,1.103),l(.354,.903),l(-.419,.065),l(-.677,-.257),l(-.751,-.176),l(-.205,-.177),l(-.018,-.243),l(-.315,-.274),l(-.93,.276),l(-.743,-.613),l(.051,-.292),l(.27,-.374),l(-.304,-.129),l(-.224,-.016),l(-.992,-.08),l(-.718,-.292),l(-1.17,-.617),l(-.769,-.292),l(-.762,-.048),l(-.452,.23),l(-.645,.083),L(250,52.592),l(.281,.179),l(1.05,.682),l(-.321,.114),l(-.686,.05),l(-.359,-.259),L(249.277,53),l(-.646,-.21),l(.275,.488),l(.859,.972),l(.604,.015),l(.587,.08),l(.5,.581),l(.612,.805),l(.513,.432),l(.615,-.321),l(.285,.047),l(.592,.399),l(.585,.271),l(1.38,.396),l(-.634,.113),l(-.213,.208),l(.254,.19),l(.568,.286),l(.962,.444),l(.324,.237),l(.242,.682),l(-.112,.428),l(-1.302,-1.155),l(-.554,-.237),l(-.027,.238),l(.118,.27),l(1.055,1.281),l(-.01,.3),l(-.926,-.125),l(.053,.205),l(.432,.409),l(.378,.519),l(-.563,-.172),l(-.615,-.313),l(-.889,-.693),l(-.145,-.031),l(-.719,.064),l(-.91,-.188),l(-1.44,-.662),l(-.319,-.285),l(-1.062,-.665),l(.187,.777),l(-1.22,-.473),l(-.567,-.158),l(-.872,-.03),l(.095,.222),l(.799,.696),l(.853,.426),l(1.842,.645),l(1.296,.644),l(.774,.549),l(.442,.486),l(.429,.689),l(-1.833,-.341),l(-1.524,-.421),l(-1.251,-.28),l(-1.444,-.107),l(-1.092,-.25),l(-.898,-.644),l(-1.146,-.14),l(-.638,-.204),l(-.635,-.141),l(-.058,.145),M(146.194,38.698),l(.818,-.037),l(.78,-.125),l(1.138,-.548),l(.895,-.019),l(1.723,.243),l(.939,.262),l(-.188,.877),l(.515,-.071),l(.66,-.019),l(.792,-.229),l(.599,-.141),l(.758,.016),l(.334,-.071),l(-.989,-.965),l(.156,-.036),l(1.38,.138),l(1.208,.245),l(.675,.245),l(.259,.245),l(.194,.508),l(.965,1.063),l(.638,.346),l(1.045,-.315),l(.14,-.261),l(-1.243,-1.361),l(-.439,-1.321),l(.228,-.354),l(1.91,.262),l(1.775,.156),l(2.031,.719),l(.36,.175),l(.3,.316),l(.16,.701),l(.511,.645),l(.352,.26),l(.856,.606),l(.048,.19),l(-.178,.243),l(-.333,.605),l(.179,.31),l(.224,.12),l(1.4,.649),l(.509,.171),l(1.151,.254),l(1.513,.1),l(2.056,.576),l(1.012,.39),l(.364,.793),l(-.168,.101),l(-1.071,-.082),l(-.811,-.234),l(-.945,-.234),l(-.551,.169),l(-.665,.204),l(-1.021,.036),l(-.256,.118),l(.208,.689),l(1.087,-.069),l(.614,-.152),l(.676,-.119),l(.876,.536),l(-.01,.235),l(-.526,.151),l(-.517,.252),l(-.583,.102),l(-1.417,.12),l(-1.049,-.015),l(-1.194,-.082),l(-1.594,-.248),l(-2.278,-.499),l(-.553,-.217),l(-.436,-.335),l(-.482,-.033),l(-.581,.102),l(-.402,.37),l(-1.114,.505),l(-1.055,.019),l(-1.411,.103),l(-1.253,.42),l(-2.753,.356),l(-1.42,.019),l(-1.205,.086),l(-1.984,-.063),l(-.483,.101),l(-.916,-.015),l(-1,-.282),l(-.061,-.468),l(.198,-.101),l(.002,-.302),l(-.395,-.2),l(-.462,-.1),l(-3.146,-.112),l(-1.258,-.115),l(-.864,-.167),l(-.801,-.2),l(-.753,-.504),l(-1.274,-.554),l(.303,-.069),l(.531,-.222),l(1.572,-.054),l(.603,-.188),l(.558,.016),l(.91,-.019),l(.904,-.087),l(1.716,.031),l(.935,-.002),l(2.14,.047),l(1.09,-.002),l(1.711,-.038),l(.415,-.154),l(-.681,-.221),l(-2.312,-.492),l(-1.942,-.202),l(-4.059,-.061),l(-1.569,-.014),l(-1.694,.055),l(-.955,.053),l(-.604,.001),l(-1.651,-.529),l(.011,-.207),l(.28,-.069),l(.823,-.053),l(1.315,-.209),l(.996,.032),l(1.78,-.141),l(.931,-.105),l(.5,-.277),l(-.392,-.346),l(-2.023,.073),l(-1.578,.159),l(-.393,-.051),l(-.554,-.189),l(-.677,-.346),l(-.65,-.19),l(-.692,.054),l(-.709,-.242),l(-.039,-.279),l(1.304,-.981),l(2.62,-.848),l(.909,-.143),l(.373,-.177),l(1.297,-.267),l(1.324,-.162),l(.701,-.267),l(1.113,-.091),l(1.026,.246),l(-.07,.212),l(-.548,.354),l(-.021,.81),M(251.273,99.526),l(-.188,.153),l(-.16,-.291),l(.192,-.077),l(-.02,-.256),l(.143,-.069),l(-.042,-.154),l(-.224,0),l(-.606,-.231),l(.077,-.229),l(-.31,-2.819),l(-.174,-.274),l(-.488,-.288),l(-.771,-.025),l(-.41,.176),l(-.381,-.085),l(-.505,-.36),l(-.273,-.085),l(-.632,.526),l(-.514,.626),l(-1.139,2.22),l(-1.139,1.45),l(-1.161,-.124),l(-.402,.06),l(-.363,.435),l(-.174,.375),l(-1.093,-.095),l(-1.855,-.004),l(-2.508,-.029),l(-1.76,.009),l(-.968,.523),l(-.534,.305),l(-1.754,.814),l(-.545,.164),l(-.146,.434),l(-.163,.512),l(-.44,.275),l(-1.156,.197),l(-1.305,-.138),l(-1.123,-.01),l(-.93,.091),l(-.47,.203),l(-.162,.375),l(.018,.319),l(.16,.471),l(.047,.362),l(-.875,.427),l(-1.464,.452),l(-.944,.163),l(-.919,.062),l(-.88,.262),l(-.939,.478),l(-.925,.506),l(-.524,.117),l(-.573,-.068),l(-.497,-.169),l(-.371,-.427),l(-.012,-.33),l(.044,-.218),l(.707,-.525),l(.414,-.294),l(.264,-.433),l(.294,-.544),l(.377,-.576),l(.028,-.746),l(-.054,-.545),l(-.876,-3.16),l(-2.529,-1.05),l(-.26,-.33),l(.11,-.318),l(-.307,-.235),l(-.916,-.181),l(-.184,-.294),l(-.178,-.135),l(-.628,.024),l(-.46,-.465),l(-.101,-.429),l(-2.15,-1.061),l(-3.975,-1.576),l(-.977,-.386),l(-.797,-.227),l(-.805,.189),l(-1.469,.592),l(-.707,-.074),l(-.542,.049),l(-.196,-.144),l(-.156,-.115),l(-.474,-.041),l(-.855,.083),l(-.197,-.116),l(-.028,-.282),l(-.373,.075),l(-.412,.191),l(-.219,.06),l(-.573,.141),l(-.506,-.098),l(-.064,-.185),l(-.469,-.086),l(-.241,-.271),l(-.502,-.013),l(-.16,.247),l(-.338,-.48),l(-.271,.012),l(-.02,-.185),l(-1.425,-.208),l(-.518,.076),l(-.833,-.451),l(-.468,-.46),l(-.279,-.371),l(-.896,-.748),l(-.501,.036),l(.131,.347),l(.387,.588),l(-.68,-.003),l(-2.687,.029),l(-2.798,-.029),l(-1.348,.007),l(-2.105,-.003),l(-2.915,.016),l(-2.781,-.029),l(-2.131,.012),l(-2.935,-.014),l(-.601,.003),l(-4.84,-.018),l(-3.617,.004),l(-.875,.005),l(-3.821,-.023),l(-1.089,.035),l(-4.13,-.021),l(-.74,-.011),l(-5.117,.028),l(-1.687,-.006),l(-2.87,.001),l(-3.938,-.008),l(-4.588,.025),l(-1.335,-.022),l(-2.579,-.001),l(-.194,-.013),l(-.187,-.151),l(-.509,-.305),l(-.071,-.437),l(.074,-.346),l(-.708,.25),l(-.373,-.029),l(-.331,-.305),l(-.162,-.496),l(-.125,-.189),l(-.385,.088),l(-.23,.205),l(-.483,.059),l(-.721,-.495),l(-.119,-.425),l(-.201,-.821),l(-1.051,.104),l(-1.01,-.277),l(-.487,-.087),l(-.173,-.087),l(-.143,-.396),l(-.438,-.352),l(-.591,.222),l(-1.236,.046),l(-.461,-.117),l(-.383,-.249),l(-.106,-.25),l(.257,-.648),l(.458,-.222),l(-.227,-.294),l(-1.24,-.086),l(.617,-.518),l(.398,-.281),l(.547,-.149),l(.605,-.508),l(-.874,.006),l(-.621,.149),l(-.362,-.043),L(116,83.422),l(-.039,-.978),l(-.789,.002),l(-1.015,-1.066),l(.132,-.238),l(.034,-.53),l(-.547,.056),l(-.83,.492),l(-1.266,-.934),l(-.384,-.521),l(-.204,-.402),l(-.068,-.432),l(.419,-.404),l(.161,-.254),l(.436,-.3),l(-.358,-.689),l(-.393,-.777),l(.163,-.788),l(-.402,-.255),l(-2.025,-.763),l(-.98,-.314),l(-.189,-.029),l(-.512,-.393),l(-1.67,-1.882),l(-1.769,-1.768),l(-.814,-.58),l(-2.048,-1.175),l(-.35,-.322),l(-.371,-.492),l(-.316,-.199),l(-.832,-.073),l(-.495,.126),l(-.731,.498),l(-1.225,.67),l(-.848,.205),l(-.238,.325),l(-.945,-.673),l(-2.162,-1.318),l(-.348,-.292),l(-.173,-.387),l(-.332,-.388),l(-.739,-.059),l(-2.424,.122),l(-.84,-.074),l(-.196,-.279),l(-.089,-1.046),l(-.026,-2.167),l(.043,-4.334),l(.026,-2.183),l(-.129,-2.796),l(-.052,-2.335),l(-.039,-2.259),l(.003,-2.855),l(-.102,-.483),l(.71,.024),l(.9,-.086),l(.964,.116),l(2.012,.451),l(1.601,.518),l(1.214,.266),l(1.04,.115),l(.731,.032),l(1.619,.164),l(.888,.232),l(.429,.149),l(.254,-.034),l(-.452,-.601),l(-.357,-.2),l(-.345,-.15),l(-.064,-.419),l(1.344,-.423),l(.745,.066),l(.578,-.068),l(.15,-.102),l(1.736,.148),l(.771,-.001),l(1.125,-.373),l(.309,-.186),l(.442,0),l(.656,-.221),l(.759,-.069),l(.866,-.086),l(.734,-.086),l(.469,-.239),l(.392,-.188),l(.771,-.104),l(1.045,-.002),l(.872,.123),l(-.445,.404),l(-.352,.119),l(-1.101,.137),l(-1.092,.373),l(-1.244,.171),l(-1.22,.271),l(-.699,.522),l(-1.767,.255),l(-.681,.487),l(.846,.266),l(1.441,.748),l(-.219,-.55),l(.168,-.351),l(1.196,-.253),l(.39,-.235),l(.726,-.421),l(1.727,-.053),l(.96,-.372),l(1.158,-.389),l(2.066,-.173),l(.643,-.338),l(.921,-.272),l(.821,-.189),l(.476,-.239),l(-.178,-.272),l(-.702,-.392),l(-.655,-.444),l(.899,.101),l(.764,.272),l(.701,.306),l(.412,.324),l(.376,.476),l(.449,.523),l(.393,.235),l(1.246,.486),l(.186,.067),l(1.154,.216),l(.394,-.018),l(.199,-.151),l(-.511,-.639),l(.07,-.27),l(.548,-.035),l(.334,-.136),l(.627,-.103),l(.383,.354),l(.059,.421),l(-.205,.287),l(.833,.133),l(.938,-.069),l(1.136,-.457),l(.536,-.49),l(.479,-.069),l(1.131,.015),l(1.536,.267),l(1.745,.435),l(1.396,.334),l(2.095,.349),l(1.024,.216),l(.619,.066),l(1.572,.282),l(1.121,.065),l(1.144,.148),l(1.096,.032),l(1.4,-.086),l(.899,.099),l(1.008,.282),l(.982,.349),l(.434,.249),l(.191,.333),l(-.524,.134),l(-.935,-.032),l(-.566,.051),l(-.849,.135),l(-.354,.714),l(3.323,.358),l(1.726,.079),l(1.749,.014),l(.868,-.068),l(.738,-.051),l(.94,-.167),l(.895,-.118),l(.938,-.101),l(.886,.032),l(1.432,.477),l(1.452,.179),l(.42,.115),l(1.225,.443),l(-.013,.312),l(-.504,.083),l(-.35,.247),l(.305,.147),l(1.823,.979),l(-.162,-.392),l(-.024,-.312),l(.456,-.05),l(.617,-.132),l(-.062,-.181),l(-.972,-.656),l(-.128,-.198),l(-.145,-.445),l(.121,-.745),l(.35,-.034),l(1.944,-.136),l(.928,-.151),l(.207,-.299),l(.459,-.217),l(.613,-.035),l(1.098,.281),l(1.528,.279),l(.968,.064),l(.969,-.102),l(.612,.414),l(.248,.082),l(.962,.213),l(1.211,.13),l(.678,.081),l(1.146,-.002),l(.879,-.2),l(1.755,-.02),l(1.876,.029),l(1.07,-.052),l(1.18,-.267),l(.959,.478),l(.95,.296),l(.522,-.018),l(.243,-.314),l(-.017,-.513),l(-.666,-.231),l(-.732,-.131),l(-1.377,-.064),l(.089,-.449),l(1.193,-.085),l(.575,.065),l(.804,.214),l(.871,.198),l(.858,.048),l(.498,.198),l(.088,.183),l(-.095,.132),l(-.287,.86),l(.179,.51),l(.304,.164),l(.177,.065),l(.792,.097),l(.951,.311),l(-.071,-.559),l(-.466,-.989),l(.137,-.48),l(.258,-.266),l(.712,.015),l(.811,-.035),l(1.229,-.85),l(.492,-.051),l(.479,-.001),l(.517,-.151),l(.033,-.133),l(-.15,-.367),l(-.375,-.35),l(-.307,.001),l(-.81,.185),l(-.988,-.082),l(.535,-.52),l(.806,-.069),l(.435,-.168),l(.572,-.001),l(.739,.4),l(.464,.167),l(.065,-.268),l(-.081,-.956),l(-.744,.069),l(-.897,-.032),l(-.68,-.116),l(-.859,-.318),l(-.725,.085),l(-1.245,-.183),l(-.861,-.234),l(-.956,-.218),l(-.657,-.338),l(-.092,-.136),l(-.022,-.324),l(.33,-.137),l(.842,-.463),l(-.486,-.221),l(-1.188,-.375),l(.09,-.207),l(.58,-.604),l(.593,-.294),l(.387,-.035),l(1.032,.257),l(.139,-.035),l(.173,-.346),l(-.709,-.362),l(-.201,-.277),l(.23,-.035),l(.551,-.331),l(.367,-.035),l(1.841,-.021),l(.559,.086),l(.728,.189),l(1.26,.449),l(.432,.328),l(.195,.38),l(-.246,.603),l(1.261,.53),l(.809,.495),l(1.134,.493),l(-.377,.341),l(-.985,.036),l(-.474,.273),l(-.416,.557),l(.471,.067),l(1.071,.233),l(.805,.049),l(.387,-.136),l(.597,-.001),l(1.477,.351),l(-.335,.353),l(-.563,.219),l(.092,.151),l(.796,.467),l(.358,.601),l(.025,.833),l(.303,-.063),l(.021,-.004),l(.411,-.067),l(.608,-.367),l(.655,-1.137),l(.668,-.42),l(.523,.016),l(.731,.284),l(1.064,.55),l(.473,.383),l(.209,.45),l(-.159,.433),l(-.336,.034),l(-.796,-.098),l(-.202,.299),l(-.043,.415),l(.35,.396),l(1.146,.659),l(.61,.493),l(.463,.279),l(.595,-.166),l(.896,-.167),l(.369,-.132),l(.208,-.66),l(.764,-.398),l(.599,-.416),l(.249,-.664),l(.363,-.75),l(.237,-.184),l(1.394,.081),l(.329,-.067),l(.134,-.518),l(-.985,-.333),l(-.918,-.35),l(.088,-.891),l(.595,-.271),l(.787,.032),l(.42,-.068),l(.571,.016),l(3.459,.616),l(1.325,.669),l(.506,-.001),l(.553,-.068),l(.454,.201),l(.244,1.036),l(-.474,.268),l(-.431,.101),l(-.243,-.05),l(-.718,-.532),l(-.263,0),l(-.799,.269),l(.123,.316),l(.309,.515),l(.699,.729),l(.855,.528),l(1.108,.576),l(.024,.313),l(-.478,.642),l(-.439,.181),l(-1.407,.772),l(-.674,.083),l(-1.123,.509),l(-.763,-.276),l(-1.654,-.962),l(-.586,-.262),l(-.497,-.048),l(-.684,.281),l(1.364,.521),l(1.483,.896),l(-.708,.067),l(-.691,-.081),l(-1.288,.084),l(-.375,-.129),l(-.596,-.62),l(-1.147,-.014),l(-1.857,.118),l(-.253,.229),l(.614,.244),l(1.311,.421),l(-.159,.195),l(-.611,.327),l(-2.045,1.106),l(-.657,.179),l(-.527,.001),l(-.859,-.241),l(-.816,-.484),l(-.225,-.081),l(-1.189,-.225),l(-.736,-.259),l(-.598,-.112),l(-.947,.014),l(-.289,.004),l(-1.214,.174),l(1.503,.278),l(1.136,.21),l(1.751,.774),l(1.629,.433),l(1.233,.126),l(1.02,.031),l(-.618,1.091),l(-1.237,.705),l(-.856,.432),l(-.728,.161),l(-.829,.049),l(-.928,-.126),l(-1.062,-.38),l(-.048,.351),l(-.025,.287),l(.321,.572),l(-.02,.159),l(-.741,.031),l(-.058,.002),l(-1.365,-.108),l(-1.649,-.41),l(-.884,-.078),l(-2.962,-.322),l(2.146,.864),l(1.576,.156),l(1.367,.267),l(.562,.205),l(.33,.268),l(-.011,.19),l(-.642,.333),l(-1.106,.207),l(-1.429,-.076),l(-.511,-.062),l(-.367,.269),l(1.254,.423),l(-.469,.426),l(-1.06,.316),l(-1.454,.662),l(-.421,.252),l(.218,.704),l(-.313,.235),l(-.909,.205),l(-.31,.282),l(-.529,.64),l(-.276,.296),l(-.241,.669),l(-.274,.543),l(-.323,.666),l(.056,.416),l(-.161,.554),l(.123,.875),l(.136,.536),l(.598,.366),l(.25,.015),l(.257,.091),l(.664,.014),l(1.164,-.094),l(.276,.045),l(.367,.29),l(.413,.763),l(.813,1.157),l(.22,.668),l(-.132,.91),l(.673,.014),l(1.874,-.428),l(1.261,-.033),l(.723,.074),l(.535,.157),l(1.062,.311),l(2.129,.435),l(1.896,.903),l(.993,.933),l(3.5,.67),l(.644,.225),l(.982,.403),l(.986,.253),l(.553,.104),l(.702,-.091),l(.453,.044),l(.828,-.077),l(1.245,.163),l(1.407,.207),l(.401,.194),l(-.297,.702),l(-.142,.85),l(.154,.283),l(.307,.342),l(.07,.416),l(-.115,1.025),l(-.309,.593),l(.022,.208),l(.604,.266),l(.481,.339),l(.264,.354),l(.046,.488),l(-.076,.354),l(.97,.116),l(.963,.47),l(.676,.588),l(.392,.588),l(.078,.162),l(.64,.014),l(.726,.41),l(.907,.601),l(-.349,-.66),l(-.22,-.279),l(.134,-.338),l(.573,-.414),l(.365,.176),l(.381,.456),l(.262,.353),l(.165,-.354),l(.107,-.545),l(-.215,-.456),l(.541,-.532),l(.139,-.546),l(-.183,-.517),l(-.337,-.458),l(-.261,-.754),l(-.004,-.548),l(-.205,-.593),l(-.218,-.43),l(.615,-.016),l(-.097,-.476),l(-.296,-.252),l(-.657,-.163),l(-.375,-.282),l(-.326,-.923),l(1.252,-.271),l(.872,-.241),l(.625,-.271),l(1.758,-.949),l(.629,-.302),l(1.043,-.935),l(.434,-.544),l(.237,-.665),l(.054,-.529),l(-.257,-1.045),l(-.246,-.531),l(-.239,-.319),l(-.938,-.729),l(-.467,-.274),l(-1.105,-.532),l(-.363,-.122),l(-.453,-.274),l(-.151,-.046),l(-.293,-.351),l(.08,-.107),l(.868,-.522),l(.553,-.875),l(.293,-.416),l(.25,-.092),l(.447,-.017),l(.295,-.277),l(-.106,-.523),l(-.18,-.355),l(-.316,-.402),l(-.048,-.202),l(.258,-.357),l(.005,-.264),l(-1.751,-.105),l(1.084,-.92),l(.503,-.704),l(.007,-.125),l(-.316,-.203),l(-.609,-.265),l(-.244,-.266),l(-.043,-.533),l(.305,-.425),l(.554,-.315),l(.57,-.19),l(.827,.062),l(1.781,.374),l(1.097,.234),l(.753,.077),l(1.44,.013),l(1.08,-.144),l(.86,-.222),l(.21,-.047),l(.179,-.063),l(.589,.078),l(.991,.407),l(.254,.125),l(.754,.454),l(.918,.375),l(.796,.437),l(-.294,.391),l(.406,.233),l(1.698,.496),l(1.958,.354),l(.725,-.033),l(.368,-.203),l(.339,.295),l(-.013,.404),l(-.577,.343),l(-.123,.45),l(.438,1.327),l(.136,.722),l(.23,.414),l(-.049,.353),l(-.248,.169),l(-.445,-.014),l(-.347,-.015),l(-.138,.674),l(.375,.274),l(1.137,-.415),l(.366,-.047),l(.781,-.047),l(.286,.015),l(.677,.32),l(.378,.351),l(.004,.259),l(-.081,.123),l(.277,.32),l(.516,-.184),l(.306,-.046),l(1.173,-.079),l(.636,-.184),l(.436,-.383),l(.333,-.551),l(.326,.015),l(.194,.122),l(.693,.717),l(.042,-.062),l(.108,-.764),l(.317,-.583),l(.475,-.262),l(.539,-.385),l(-.651,-.505),l(.008,-.308),l(.272,-.139),l(.98,-.094),l(.193,-.139),l(.512,-.665),l(.667,.37),l(.607,.599),l(.785,.506),l(.596,.797),l(1.045,.764),l(.264,.352),l(-.344,.291),l(.095,.335),l(.573,-.031),l(.365,.777),l(.182,.183),l(.324,.121),l(.743,.136),l(.281,.258),l(.133,.38),l(-.379,.092),l(-.416,.168),l(.411,.318),l(.397,.227),l(.77,.196),l(.279,.227),l(.034,.424),l(-.056,.076),l(-.409,.106),l(-.676,-.029),l(-.745,-.12),l(-.316,.061),l(.091,.166),l(.273,.181),l(.189,.241),l(.333,.513),l(.411,.226),l(.634,.029),l(.462,.18),l(.838,.496),l(.899,.435),l(.246,.33),l(-.035,.195),l(-.447,.781),l(.508,.059),l(.663,-.166),l(.786,-.077),l(.79,.164),l(.574,.194),l(1.162,.49),l(.981,.132),l(1.517,.295),l(-.184,.253),l(-.718,.21),l(-.736,.21),l(-.663,.046),l(-.834,.24),l(-.583,.402),l(-.65,.225),l(-1.032,.061),l(-.286,.075),l(-.324,.268),l(.029,.371),l(-.271,.535),l(1.175,-.343),l(.542,-.09),l(.649,-.105),l(1.201,-.774),l(1.251,-.478),l(1.146,-.106),l(.662,.237),l(.35,.341),l(-.398,.446),l(.036,.119),l(.307,.296),l(.616,-.224),l(.455,-.164),l(.655,.192),l(1.051,.487),l(.226,.251),l(.022,.178),l(-.299,.43),l(-.05,.355),l(-.406,.444),l(1.001,.929),l(-.365,.37),l(-.795,.282),l(-1.078,.621),l(-.662,.281),l(-1.097,.046),l(-.823,.119),l(-1.548,.077),l(-.433,.413),l(-.916,.795),l(-.686,.427),l(-.612,.294),l(-.938,.222),l(-1.494,.172),l(-1.845,.127),l(-1.452,-.07),l(-2.031,-.084),l(-.355,.03),l(-1.073,.075),l(-1.058,-.012),l(-1.873,-.099),l(-.917,-.027),l(-1.758,.106),l(-.547,.206),l(-.523,.294),l(-.537,.585),l(-.205,.554),l(-.287,.335),l(-.591,.19),l(-1.07,.104),l(-.537,.147),l(-1.098,.555),l(-.774,.54),l(-.794,.612),l(-.325,.363),l(-.33,.233),l(-.868,.843),l(-.485,.566),l(-.418,.276),l(-.46,.58),l(-.518,.968),l(.749,-.737),l(.375,-.131),l(.688,-.479),l(1.059,-.944),l(1.097,-.785),l(2.028,-.948),l(1.245,-.395),l(1.797,-.512),l(1.065,-.235),l(1.03,-.235),l(1.473,-.148),l(.922,.056),l(.895,.289),l(.509,.29),l(.136,.189),l(.144,.464),l(-.125,.218),l(-.326,.219),l(-1.059,.292),l(-.753,.452),l(-.581,.044),l(-.845,-.23),l(-.726,.045),l(-.645,.19),l(.279,.08),l(1.13,.229),l(.17,.122),l(.256,.444),l(.074,.095),l(1.299,-.485),l(-.028,.216),l(.479,-.148),l(.372,.162),l(-.36,.229),l(-.231,.256),l(.112,.27),l(-.163,.014),l(-.074,.229),l(-.91,.444),l(1.216,.013),l(.077,.188),l(-.187,.282),l(.091,.43),l(.118,-.081),l(.239,.134),l(-.063,.134),l(.048,.202),l(.351,.457),l(.009,.147),l(.824,.054),l(.154,.094),l(.04,-.067),l(.727,.147),l(-.315,.134),l(-.373,-.013),l(-.047,.134),l(.525,.147),l(.211,.241),l(.569,-.081),l(.135,.134),l(.212,-.014),l(.134,.174),l(.418,-.04),l(-.075,-.107),l(.843,.067),l(.241,.107),l(-.207,.201),l(.242,-.107),l(.26,.027),l(.245,-.013),l(.696,-.362),l(.303,-.081),l(.104,.362),l(.377,.161),l(.538,-.121),l(.488,.416),l(-.405,.254),l(.089,.107),l(.825,.027),l(.164,.174),l(-.521,.121),l(-.161,-.121),l(-.3,.134),l(.118,.094),l(-.515,0),l(-.23,-.04),l(.109,.161),l(-.45,.04),l(.056,.107),l(-.443,.014),l(-.128,.147),l(-.45,.04),l(-.368,.253),l(-.09,-.106),l(-.706,.28),l(-.046,.053),l(-.529,.133),l(-.119,-.267),l(-.274,.106),l(-.163,.267),l(-.188,-.187),l(-.068,.253),l(-.218,.08),l(-.094,.187),l(-.513,0),l(-.081,-.08),l(-.169,-.053),l(.032,-.347),l(-.242,.36),l(-.202,.12),l(-.131,-.253),l(-.354,.027),l(.043,.24),l(-.233,.04),l(.312,.08),l(.033,.213),l(-.103,.12),l(-.174,-.067),l(-.768,.453),l(.127,.16),l(-.235,.12),l(-.194,.053),l(.015,.213),l(-.161,-.12),l(.083,.173),l(-.217,.08),l(-.14,-.107),l(.096,.253),l(-.222,.066),l(-.146,-.08),l(-.148,0),l(-.064,.133),l(-.156,-.106),l(-.243,.227),l(-.086,.292),l(-.201,-.226),l(-.344,.133),l(-.154,-.187),l(-.349,-.479),l(-.138,.24),l(-.419,-.866),l(.456,-.773),l(.284,-.16),l(.035,-.12),l(-.35,.12),l(-.357,.267),l(-.076,-.106),l(.924,-.507),l(.125,.146),l(.195,-.093),l(-.258,-.107),l(1.103,-.52),l(1.109,-.562),l(.658,-.361),l(.336,.094),l(-.067,.428),l(.179,-.054),l(.258,.281),l(-.044,-.201),l(-.017,-.174),l(.632,-.214),l(.73,-.134),l(.192,.067),l(.202,-.081),l(-.152,-.094),l(-.653,-.053),l(-.595,.053),l(-.42,-.053),l(-.804,-.014),l(-.306,.027),l(-.251,.081),l(-.246,.094),l(.033,-.214),l(1.128,-.563),l(.054,-.201),l(.252,-.08),l(-.052,-.174),l(-.523,.281),l(.097,-.134),l(-.502,-.51),l(.309,.443),l(-.36,.482),l(-.328,.013),l(-1.974,.817),l(-.284,.08),l(-.362,-.201),l(-.227,-.067),l(.23,.201),l(-.788,.401),l(-.219,-.174),l(-1.019,-.054),l(-.124,.147),l(-.38,-.241),M(186.193,47.833),l(-.713,-.032),l(-.922,-.181),l(-.882,-.065),l(-1.25,-.314),l(-.973,-.182),l(-.604,-.049),l(-1.083,-.199),l(.43,-.335),l(1.542,-.405),l(.385,-.186),l(.115,-.673),l(.305,-.236),l(.831,-.069),l(.743,.184),l(1.436,.603),l(1.287,.4),l(.074,.285),l(.315,.284),l(1.094,.516),l(-.288,.117),l(-1.263,.486),l(-.578,.051),M(231.09,50.646),l(-1.319,-.03),l(-.449,-.147),l(-.232,-.247),l(-.173,-.478),l(.3,-.43),l(.708,-.664),l(.662,-.267),l(1.359,-.168),l(.911,.197),l(.79,.314),l(-.021,.464),l(-.039,.727),l(-.362,.265),l(-1.025,.348),l(-1.108,.117),
-N(444.972,79.145),l(.47,-.218),l(.307,-.093),l(-.294,-.024),l(-.419,.061),l(-.15,-.135),l(-.125,.184),l(-.108,-.012),l(.066,-.491),l(.177,-.218),l(.41,.009),l(1.489,.062),l(.417,.014),l(.339,-.075),l(.121,-.253),l(-.175,-.288),l(.246,-.05),l(-.068,-.122),l(-.068,-.123),l(.353,-.096),l(.12,-.034),l(.051,.154),l(.086,.052),l(.24,0),l(.223,.12),l(.257,.069),l(.514,.068),l(.086,.103),l(.223,-.051),l(.445,0),l(.257,0),l(.223,-.017),l(.086,.137),l(.103,.103),l(.188,.034),l(.171,.069),l(.018,.137),l(.052,.12),l(-.224,.12),l(-.068,.154),l(-.068,.206),l(.018,.171),l(.034,.137),l(.029,.038),l(-2.96,.101),l(-2.246,-.115),l(-.842,-.006),M(717.633,81.109),l(.42,.443),l(.429,.62),l(.183,.457),l(.01,.767),l(-.244,.442),l(-.197,.78),l(-.002,.764),l(.29,.777),l(.592,.849),l(.65,1.446),l(.899,1.614),l(1.115,1.679),l(-1.26,-.677),l(-.832,-.39),l(-.99,-.056),l(-.268,.088),l(-.396,.204),l(-.462,1.045),l(-.266,1.101),l(-.082,.579),l(.277,.982),l(.183,.216),l(.659,.908),l(.54,.201),l(.463,.648),l(-.314,1.246),l(-.664,-1.258),l(-.866,-.301),l(-.224,.029),l(-.415,.303),l(-.311,.534),l(-.643,.907),l(-.422,-.5),l(-.19,-.929),l(.637,-1.146),l(-.395,-.884),l(.175,-.454),l(.502,-.63),l(-.131,-.723),l(-.196,-.376),l(-.27,-.55),l(-.062,-.235),l(.403,-.302),l(.284,-.915),l(.075,-.784),l(.005,-1.326),l(.15,-1.302),l(-.09,-.732),l(-.213,-.469),l(-.83,-.85),l(-.1,-.897),l(.114,-.192),l(.359,-.722),l(.065,-.738),l(-.336,-.457),l(.172,-.237),l(.374,-.03),l(.62,-.031),l(1.023,-.534),M(471.158,84.281),l(-.002,-.142),l(-.165,-.066),l(-.082,-.115),l(-.164,-.082),l(.033,-.099),l(-.033,-.23),l(-.033,-.164),l(.082,-.099),l(-.147,-.131),l(-.099,-.148),l(.132,-.066),l(0,-.165),l(-.296,-.164),l(-.279,-.263),l(-.017,-.164),l(.099,-.131),l(.131,-.165),l(.362,-.017),l(.328,.049),l(.197,.132),l(.51,.016),l(.525,-.099),l(.444,-.247),l(.049,-.065),l(.148,-.083),l(.296,0),l(.065,-.164),l(-.033,-.131),l(-.279,-.066),l(-.296,-.148),l(-.099,-.181),l(.082,-.017),l(.066,-.049),l(.032,-.065),l(-.263,-.066),l(-.361,-.099),l(-.378,-.066),l(-.361,.066),l(-.182,-.066),l(.066,-.181),l(.099,-.197),l(-.066,-.148),l(-.164,-.099),l(-.279,-.082),l(-.23,-.066),l(-.443,-.213),l(-.115,-.23),l(-.164,-.263),l(-.214,-.017),l(-.017,-.099),l(.066,-.131),l(.099,-.115),l(-.132,-.033),l(-.181,.049),l(-.082,-.115),l(-.132,-.181),l(-.345,-.049),l(.049,-.147),l(.033,-.165),l(.099,-.049),l(.115,-.082),l(0,-.083),l(.114,0),l(.066,-.131),l(-.05,-.164),l(-.147,-.099),l(-.197,-.247),l(.131,-.165),l(.033,-.164),l(0,-.083),l(.065,-.115),l(-.049,-.115),l(-.147,.033),l(-.165,-.033),l(-.147,-.099),l(-.099,-.099),l(-.279,-.099),l(-.132,-.131),l(-.542,-.115),l(-.247,.049),l(-.099,-.049),l(-.131,-.049),l(-.23,.083),l(-.147,.099),l(-.165,0),l(-.279,.016),l(-.214,.197),l(-.197,0),l(-.164,-.148),l(-.065,-.148),l(.017,-.099),l(.164,-.099),l(0,-.115),l(-.147,-.017),l(-.296,-.065),l(-.312,-.049),l(-.361,.049),l(-.214,.065),l(-.197,.033),l(-.082,-.148),l(-.132,-.148),l(-.312,-.033),l(-.181,-.016),l(-.197,.131),l(-.229,-.066),l(-.165,-.147),l(.061,-.042),l(.015,-.117),l(.044,-.087),l(-.088,-.233),l(.015,-.189),l(-.131,-.117),l(.059,-.087),l(-.16,-.043),l(-.146,-.102),l(-.029,-.16),l(-.131,-.058),l(-.116,-.102),l(.043,-.073),l(.059,-.087),l(-.073,-.044),l(-.087,-.014),l(-.131,-.073),l(-.146,.015),l(-.204,.059),l(.044,-.102),l(.102,-.073),l(.073,-.087),l(-.029,-.117),l(.072,-.131),l(-.131,-.087),l(.103,-.029),l(.087,-.015),l(.102,-.073),l(.015,-.087),l(.029,-.116),l(.015,-.087),l(-.204,-.058),l(-.087,-.073),l(-.204,-.087),l(-.232,-.073),l(0,-.117),l(.015,-.116),l(-.37,.004),l(-.081,-.106),l(.116,-.058),L(461.402,72),l(.029,-.117),l(.131,0),l(.087,-.116),l(.059,-.102),l(.16,-.058),l(.262,-.043),l(.175,-.073),l(-.059,-.059),l(-.175,-.043),l(-.043,-.146),l(-.015,-.087),l(0,-.073),l(-.088,-.073),l(-.203,-.087),l(-.175,-.233),l(0,-.175),l(.175,-.131),l(-.029,-.16),l(-.073,-.189),l(-.131,-.437),l(-.029,-.16),l(.088,-.16),l(.204,-.131),l(.319,-.131),l(.219,-.204),l(.175,-.277),l(.058,-.131),l(.088,-.043),l(.116,0),l(.189,0),l(.175,-.044),l(.043,-.174),l(-.16,-.131),l(-.145,-.053),l(-.089,-.13),l(-.17,-.038),l(.1,-.253),l(.339,-.038),l(.153,.165),l(.229,.063),l(.188,-.088),l(-.094,-.139),l(.301,-.154),l(.485,.199),l(.296,-.062),l(.312,-.338),l(.311,-.185),l(.75,.106),l(.781,.275),l(.439,0),l(.363,-.154),l(-.386,-.399),l(-.59,-.323),l(-.393,-.03),l(-1.204,.08),l(-.616,-.091),l(-.271,-.108),l(-.299,-.309),l(.258,-.434),l(-.065,-.201),l(-.199,.044),l(.174,-.285),l(1.946,-1.145),l(1.983,-1.195),l(1.385,-.758),l(.591,-.536),l(.43,-.536),l(.105,-.409),l(-.161,-.346),l(-.436,-.392),l(-.703,-.265),l(-1.357,-.499),l(-.439,-.33),l(.327,-.191),l(.542,-.415),l(.057,-.254),l(-.151,-.253),l(-1.286,-1.395),l(-.37,-.509),l(.029,-.37),l(.187,-.403),l(.44,-.535),l(.196,-.356),l(-.772,-1.195),l(-1.402,-1.394),l(.328,-.296),l(1.303,-.777),l(.421,-.364),l(-.543,-.392),l(-.964,-.506),l(-.872,-.194),l(-.563,-.212),l(-.116,-.529),l(.258,-.465),l(.024,-.283),l(.689,-.303),l(1.013,-.672),l(1.023,-.49),l(.77,-.121),l(.824,-.021),l(.514,-.204),l(.404,-.288),l(.617,-.051),l(1.002,-.254),l(.643,-.237),l(.01,.151),l(.255,.386),l(.358,.284),l(.543,.2),l(.919,.082),l(.602,.1),l(.078,.602),l(.695,-.319),l(.421,.049),l(1.083,.048),l(.875,.015),l(.522,.032),l(1.116,-.002),l(1.293,.281),l(2.728,.512),l(.984,.364),l(1.595,.86),l(.583,.214),l(1.48,.246),l(1.296,.212),l(2.018,.623),l(.328,.279),l(-.051,.444),l(.147,.295),l(.426,.294),l(.104,.294),l(-.24,.344),l(-.69,.491),l(-1.092,.54),l(-.816,.262),l(-1.75,.36),l(-.907,.083),l(-1.631,-.013),l(-1.391,-.192),l(-2.038,-.175),l(-1.63,-.192),l(-1.342,-.339),l(-2.256,-.485),l(-1.114,-.112),l(-.476,-.048),l(-.621,-.473),l(-.371,-.163),l(-.771,-.13),l(-.943,.117),l(.307,.163),l(.149,.065),l(.73,.538),l(.482,.146),l(1.109,.601),l(.832,.291),l(.921,.161),l(.634,.242),l(.405,.453),l(-.002,.405),l(-.276,.291),l(-.684,.195),l(.086,.113),l(.208,.531),l(.771,.943),l(.093,.494),l(.155,.207),l(.438,.174),l(1.203,.078),l(.872,.125),l(.499,.619),l(.401,.095),l(1.26,.077),l(.575,.126),l(.364,.079),l(.402,-.128),l(.785,-.097),l(.243,-.302),l(-.001,-.318),l(-.387,-.397),l(-.471,-.079),l(-.455,.096),l(-.447,-.031),l(-.589,-.206),l(-.952,-.795),l(.701,-.674),l(.484,-.001),l(1.116,.479),l(1.441,.333),l(2.09,.427),l(.952,.078),l(.834,-.146),l(.723,.174),l(.261,-.224),l(.05,-.415),l(-.214,-.239),l(-.858,-.656),l(-.348,-.628),l(.285,-.323),l(.19,-.049),l(1.432,-.423),l(1.495,-.359),l(.599,-.244),l(1.133,-.717),l(.172,-.049),l(.462,.064),l(1.829,.29),l(1.41,.533),l(.341,-.001),l(.052,-.065),l(.154,-.503),l(.581,-.767),l(-.048,-.653),l(-.317,-.408),l(-.847,-.163),l(-.3,-.229),l(1.139,-1.005),l(.101,-.247),l(-.205,-.594),l(-.771,-.512),l(.069,-.315),l(.353,-.051),l(1.458,.23),l(2.025,-.12),l(.631,.132),l(.664,.611),l(.616,.445),l(.433,.461),l(-1.045,.051),l(-1.559,.085),l(-.822,.215),l(-.492,.51),l(.191,.18),l(.952,.293),l(.732,.555),l(.804,.194),l(.723,.097),l(1.268,-.133),l(1.33,-.084),l(.301,-.164),l(.257,-.491),l(.291,-.591),l(.284,-.412),l(1.232,-.2),l(1.223,-.414),l(.988,-.216),l(1.924,-.483),l(1.429,-.251),l(1.537,-.318),l(.921,-.3),l(.205,.464),l(.278,.083),l(.571,-.117),l(.487,-.266),l(.148,-.465),l(.386,-.167),l(.718,-.135),l(.859,.065),l(-.18,.399),l(-.058,.597),l(-.858,.084),l(-.178,.149),l(.002,.215),l(.687,.197),l(.507,-.083),l(1.169,-.167),l(.436,-.001),l(.161,.198),l(.23,.049),l(.278,-.133),l(.264,-.216),l(.29,-.431),l(.464,-.183),l(.861,-.118),l(1.049,-.068),l(.768,.032),l(1.075,.23),l(.755,-.018),l(.36,-.083),l(.963,-.467),l(1,-.285),l(.803,-.052),l(.952,.182),l(.326,.166),l(-.631,.45),l(.129,.232),l(.217,.099),l(.632,.131),l(.579,-.018),l(.288,-.232),l(.074,-.398),l(.342,-.084),l(.962,.065),l(.543,-.184),l(.395,-.316),l(.115,-.417),l(-1.37,-1.033),l(.405,-.168),l(.66,-.37),l(.403,-.068),l(.609,.016),l(2.171,.063),l(1.272,.199),l(1.241,.149),l(1.135,.199),l(2.111,.515),l(1.071,.098),l(1.712,.414),l(1.02,.248),l(1.305,.53),l(1.455,.611),l(.864,.379),l(.376,.049),l(.229,-.1),l(1.145,-1.047),l(.236,-.3),l(-.927,.035),l(-.4,-.049),l(-.564,-.232),l(-.365,-.433),l(.027,-.652),l(-.727,-.283),l(-1.987,-.147),l(-.19,-.268),l(.064,-.168),l(.305,-.303),l(.693,-.255),l(.236,-.153),l(.085,-.187),l(-.052,-.833),l(-.251,-.238),l(-1.135,-.066),l(-.232,-.29),l(.328,-.532),l(.359,-.241),l(.391,-.035),l(1.482,-.416),l(1.098,-.485),l(.521,-.416),l(.581,-.608),l(.544,-1.22),l(.637,-.421),l(.374,.069),l(1.562,.155),l(1.613,-.125),l(1.605,-.091),l(.695,.069),l(1.066,-.055),l(.574,.122),l(.309,.279),l(-.018,.332),l(-.423,.836),l(-.348,.348),l(-1.334,.833),l(-.223,.345),l(.752,.342),l(.931,.667),l(.277,.342),l(.21,.818),l(-.174,.222),l(-.575,.375),l(.254,1.179),l(-.058,1.305),l(.263,.583),l(.45,.381),l(1.027,.264),l(.19,.166),l(-.001,.133),l(-.485,.481),l(-.417,.826),l(-.333,.33),l(-.784,.462),l(-1.232,.625),l(-.63,.198),l(-.55,.263),l(.321,.522),l(-.433,.115),L(558,52.195),l(-1.599,-.372),l(-.731,-.08),l(-.97,.034),l(-.601,.115),l(.195,.31),l(.583,.276),l(.738,.21),l(1.569,.208),l(1.133,.079),l(.613,-.05),l(1.188,.144),l(.922,-.034),l(.472,-.358),l(.303,-.358),l(1.352,-.328),l(1.166,-.492),l(.268,-.278),l(.386,-.606),l(.818,-.313),l(.864,-.626),l(.064,-.362),l(-.225,-.561),l(-.609,-.545),l(.244,-.548),l(.237,-.1),l(.677,-.151),l(1.38,-.152),l(1.757,-.003),l(.74,.231),l(.842,.463),l(.151,.778),l(-.34,1.023),l(.302,.279),l(.92,.212),l(1.298,.047),l(.864,-.149),l(.129,-.296),l(-.514,-.18),l(-.797,-.18),l(-.571,.034),l(-.457,-.098),l(.068,-.379),l(1.03,-.382),l(.065,-.249),l(-.218,-.148),l(-.166,-.331),l(-.441,-.763),l(-.511,-.266),l(-.836,-.098),l(-1.093,-.231),l(-.801,-.116),l(-1.288,-.165),l(-.91,.186),l(-.638,.101),l(-1.297,-.181),l(-.896,.019),l(-.015,-.267),l(-.564,-1.071),l(.305,-.657),l(.736,-.697),l(.282,-.46),l(-.134,-.221),l(-1.092,-1.042),l(-.949,-.514),l(-.12,-.189),l(.833,-.554),l(1.213,-.106),l(.998,-.262),l(.744,-.348),l(.172,-.226),l(.169,-.644),l(-.13,-.663),l(.23,.069),l(.64,.051),l(.466,.086),l(.108,.471),l(-.186,.54),l(-.636,.608),l(-.167,.554),l(.14,.448),l(.373,.274),l(.485,.274),l(1.384,.134),l(1.574,.169),l(1.632,.083),l(.819,.409),l(.321,.017),l(.799,-.036),l(-.527,-.89),l(-.521,-.274),l(-1.893,-.1),l(-.931,-.067),l(-.576,-.154),l(-.609,-.448),l(.275,-.329),l(1.374,-.054),l(.444,.172),l(1.145,.084),l(.747,-.157),l(-.09,-.728),l(.408,-.088),l(.84,-.105),l(1.278,-.02),l(1.067,.207),l(1.413,.379),l(1.088,.535),l(1.326,.343),l(.547,.085),l(1.822,.014),l(.727,-.174),l(.138,.345),l(-.781,.38),l(-.696,.259),l(-.248,.771),l(-.129,.972),l(.333,.136),l(.68,-.785),l(.387,-.292),l(.285,.051),l(.604,.528),l(-.088,.749),l(.743,-.205),l(.681,-.273),l(-.044,-.306),l(-.191,-.119),l(-.147,-.358),l(-.748,-.821),l(.188,-.223),l(.686,-.759),l(-.797,-.448),l(-.772,-.258),l(-.93,-.241),l(-.257,-.382),l(-.655,-.051),l(-.979,-.242),l(-1.34,-.207),l(-.307,-.296),l(.062,-.577),l(-.096,-.386),l(-.811,-.667),l(.081,-.247),l(.266,-.16),l(.484,-.125),l(2.31,-.11),l(2.54,-.022),l(2.125,-.128),l(1.421,-.162),l(.475,.317),l(.382,.052),l(.844,-.267),l(1.056,-.286),l(1.413,-.109),l(.589,.194),l(-.957,.338),l(-.451,.407),l(1.737,-.233),l(.521,-.107),l(.955,-.374),l(.27,-.284),l(-.334,-.444),l(-.326,-.177),l(-.925,-.266),l(-.365,-.303),l(-.002,-.232),l(.324,-.539),l(1.176,-.397),l(.966,-.22),l(3.028,-.903),l(.889,-.094),l(.248,-.036),l(.522,-.076),l(1.899,-.096),l(1.663,-.114),l(2.302,-.244),l(2.048,-.263),l(1.595,-.43),l(.855,-.243),l(1.763,.034),l(1.065,-.002),l(.383,.185),l(-.351,.409),l(1.504,.108),l(1.018,-.039),l(1.261,-.188),l(1.345,-.225),l(.95,-.039),l(.982,.166),l(.687,.073),l(.693,-.206),l(.12,-.335),l(-.133,-.167),l(.466,-.337),l(.942,-.077),l(.939,.036),l(1.243,-.377),l(-.618,-.506),l(.122,-.34),l(1.165,-.438),l(1.554,-.383),l(2.23,-.406),l(1.229,-.077),l(.993,.056),l(1.486,-.003),l(.86,.265),l(.045,.266),l(-1.528,.401),l(-.66,.342),l(.488,.15),l(1.83,-.117),l(1.588,.148),l(2.039,-.079),l(.177,.113),l(-.375,.283),l(-1.187,.453),l(-.296,.3),l(1.971,-.004),l(.833,-.02),l(.234,.093),l(1.052,-.545),l(1.366,-.002),l(1.771,-.097),l(.631,.13),l(1.35,-.021),l(1.954,.165),l(1.4,.259),l(1.181,.427),l(.52,.445),l(.726,-.001),l(.854,-.076),l(.422,.5),l(-1.354,.832),l(.241,.128),l(.896,.365),l(-2.329,.859),l(-1.035,.235),l(-1.166,.11),l(-3.404,1.061),l(-3.018,.965),l(-.793,.285),l(-2.388,.375),l(-2.35,.586),l(-2.065,1.126),l(.715,.017),l(1.081,-.247),l(.922,-.458),l(1.663,-.161),l(1.231,-.02),l(2.101,-.268),l(1.879,-.286),l(.879,-.107),l(1.004,-.284),l(-.094,-.389),l(-.492,-.123),l(-.034,-.071),l(.281,-.249),l(.581,-.214),l(.873,.211),l(.603,.389),l(.621,.052),l(.593,.193),l(.737,.052),l(.853,-.055),l(1.155,-.268),l(.499,.07),l(.192,.3),l(.009,.512),l(.522,.404),l(1.422,-.778),l(1.66,-.021),l(1.506,-.145),l(2.354,.014),l(1.919,.155),l(.854,.034),l(1.204,.033),l(-.271,.74),l(.354,.333),l(2.043,.154),l(.848,.121),l(.698,.069),l(1.035,.103),l(2.49,-.145),l(1.209,-.02),l(1.42,.348),l(1.405,-.932),l(-.161,-.352),l(-.038,-.229),l(-.034,-.105),l(1.806,-.48),l(.521,-.019),l(.802,.104),l(1.148,.298),l(.851,.281),l(1.711,.032),l(1.354,-.073),l(1.384,.033),l(1.323,.431),l(.409,.181),l(.058,.386),l(-.52,.088),l(-.268,.036),l(-1.905,.406),l(-2.438,.737),l(-.233,.227),l(.253,.069),l(1.033,.067),l(.957,.016),l(.659,.155),l(.659,.293),l(1.014,.396),l(.583,.172),l(.78,.481),l(1.27,.805),l(1.814,.801),l(1.351,.305),l(.612,-.018),l(.795,-.394),l(.843,-.72),l(1.093,-1.051),l(.601,-.329),l(.29,.017),l(.236,.465),l(.772,.308),l(1.346,.29),l(1.105,.135),l(.848,-.087),l(1.973,-.468),l(.778,-.07),l(.813,.067),l(1.196,.239),l(1.921,.734),l(.315,-.052),l(.186,-.069),l(.491,-.258),l(.221,-.258),l(-.137,-.051),l(.013,-.189),l(.726,-.312),l(.509,-.018),l(.5,.257),l(.575,.188),l(1.302,.032),l(.181,-.5),l(-.194,-.466),l(.15,-.363),l(.093,-.521),l(-1.131,.159),l(-.643,.001),l(-.179,-.104),l(.442,-.296),l(.318,-.087),l(.986,-.089),l(1.021,-.02),l(.832,-.141),l(1.566,-.648),l(.254,0),l(1.76,.241),l(1.561,.137),l(2.036,.188),l(.997,.068),l(.654,.103),l(2.307,.065),l(-1.732,.628),l(.865,.051),l(1.011,-.089),l(.335,.138),l(-.305,.381),l(-.926,.192),l(-.846,.261),l(-.177,.293),l(.664,.033),l(.52,-.122),l(.916,-.14),l(.978,-.33),l(1.62,-.799),l(2.766,.012),l(1.196,.067),l(.903,.172),l(.946,.137),l(.205,.19),l(.221,.104),l(-2.247,.59),l(.559,.137),l(1.674,.289),l(2.174,.202),l(.946,.204),l(.801,.375),l(.367,.427),l(.564,.357),l(.522,.152),l(1.459,-.037),l(1.364,-.105),l(1.138,-.139),l(2.518,-.329),l(2.208,-.107),l(3.008,.131),l(1.515,.134),l(.734,.118),l(1.168,.424),l(.655,.169),l(.525,.338),l(.361,.39),l(-.123,.491),l(-.286,.521),l(.509,.25),l(.764,.065),l(.835,.015),l(.643,.083),l(-.017,.685),l(.419,.416),l(.686,-.168),l(.545,-.435),l(1.211,-.387),l(.348,-.067),l(.35,.049),l(1.696,-.02),l(1.521,-.288),l(.736,.032),l(.588,.434),l(.707,.116),l(1.541,.014),l(2.176,.062),l(.869,-.118),l(1.378,-.504),l(.406,.2),l(.93,.533),l(.396,.216),l(1.095,.265),l(.875,.332),l(.282,.398),l(.612,.148),l(1.556,-.136),l(1.653,-.319),l(.16,-.25),l(-.248,-.333),l(-.805,-.833),l(-.833,-.115),l(.4,-.336),l(.479,-.571),l(1.89,.098),l(1.214,.082),l(1.135,.065),l(1.221,.166),l(.222,.318),l(1.396,-.153),l(2.084,-.054),l(2.304,.013),l(1.292,.148),l(.786,.199),l(1.185,.199),l(1.391,.098),l(.751,.182),l(1.302,.332),l(.747,.065),l(.703,.182),l(1.145,.505),l(0,2.126),l(0,2.222),l(0,2.222),l(0,1.292),l(0,.157),l(0,.576),l(0,.219),l(-1.083,.371),l(-.651,.03),l(-.645,.37),l(-.56,.065),l(-1.044,.065),l(-.355,-.079),l(-.928,-.052),l(-.118,-.343),l(-.271,-.211),l(-.501,.027),l(.241,-.185),l(-.938,.324),l(-.846,.02),l(-.337,-.211),l(-.478,-.079),l(.424,.501),l(-.569,.29),l(.32,.103),l(.942,.205),l(.634,-.36),l(.395,.041),l(.335,.079),l(0,.477),l(.248,.206),l(.76,.269),l(1.059,-.228),l(-.439,.322),l(.741,-.243),l(.065,.336),l(.247,.206),l(.187,.363),l(.068,.189),l(-.722,.522),l(.593,-.064),l(.349,.172),l(.473,.503),l(.501,.157),l(.145,.251),l(-.162,.456),l(.792,-.111),l(-.125,.393),l(.023,.25),l(-.43,.299),l(-.691,.205),l(-.635,-.046),l(-.448,-.14),l(-1.243,-.154),l(-.889,-.077),l(-.347,-.14),l(.123,-.267),l(-.493,-.046),l(-.304,.032),l(-.559,.55),l(-.069,.11),l(-3.06,.913),l(-1.155,.174),l(-.245,0),l(-.43,.203),l(-.219,.188),l(-.719,.22),l(-.991,.033),l(-.308,.11),l(-.48,.405),l(-.462,.203),l(-.946,.033),l(-.854,.622),l(-.24,.279),l(-1.67,.452),l(-.392,.449),l(-1.229,.25),l(-.406,.14),l(-.151,.293),l(.01,.292),l(-.473,.292),l(-.406,.016),l(-.586,-.306),l(-.183,-.262),l(-.169,-.37),l(-.67,-.308),l(-1.074,-.044),l(-1.021,.048),l(-1.159,.172),l(-1.301,.188),l(-.523,.217),l(-1.333,.756),l(-.536,.277),l(-.184,-.138),l(.575,-1.293),l(-.55,.094),l(-.392,-.097),l(-.811,.531),l(-.67,.186),l(-.401,.155),l(-.114,.506),l(-.66,.154),l(-.317,-.168),l(-.253,-.49),l(-.483,-.261),l(-1.024,.636),l(.261,-.204),l(-.557,.062),l(-.283,.092),l(-.628,.522),l(-.141,.261),l(.126,.229),l(.344,.152),l(-.932,.521),l(-.182,.199),l(.342,.167),l(-.647,.352),l(-.88,.55),l(-.626,.503),l(-.298,.35),l(-.01,.531),l(.421,.317),l(.477,.09),l(1.382,-.048),l(.562,.166),l(.11,.167),l(-.436,.394),l(-.752,.455),l(-.181,.302),l(.224,.512),l(.292,.452),l(.786,.089),l(.165,.391),l(-.014,.616),l(-.349,.361),l(-.528,.061),l(-.481,-.209),l(-.017,-.21),l(.388,-.527),l(-.444,-.014),l(-.454,.242),l(-1.014,.843),l(-.56,.675),l(-.237,.599),l(.321,.672),l(.647,.311),l(.154,.237),l(-.294,.387),l(-.688,.313),l(-.956,.031),l(-.664,-.088),l(-.344,.001),l(-.619,.179),l(-.837,.476),l(-.214,.149),l(-.525,.504),l(-.137,.341),l(.111,.281),l(.492,.398),l(.038,.221),l(-.056,.133),l(-.679,.238),l(-.604,.016),L(753.44,82.4),l(-.727,.296),l(-.065,.251),l(.067,.28),l(-.161,.854),l(-.293,.412),l(-.8,.78),l(-1.53,.971),l(-.854,.5),l(-.285,.103),l(-.295,-.614),l(-.198,-.821),l(-.25,-.69),l(-.064,-.794),l(-.351,-.75),l(-.305,-.383),l(-.214,-.915),l(-.514,-1.36),l(-.008,-.578),l(-.154,-.563),l(-.017,-.327),l(-.105,-.193),l(-.262,-.817),l(-.026,-.792),l(.116,-.808),l(.271,-1.396),l(.167,-.226),l(1.185,-.86),l(.716,-.424),l(.57,-.695),l(.14,-.227),l(-.085,-.318),l(-.139,-.166),l(1.632,-.367),l(1.001,-.305),l(.811,-.32),l(1.729,-.884),l(.641,-.412),l(.431,-.428),l(.14,-.335),l(1.784,-.889),l(.872,-.445),l(1.535,-.861),l(.368,-.293),l(.26,-.433),l(1.252,-.435),l(2.106,-.514),l(.257,-.434),l(.773,-.528),l(.086,-.233),l(-.568,-.216),l(.814,-.904),l(-.036,-.483),l(.183,-.391),l(.598,-.204),l(1.729,-.082),l(.513,-.063),l(-.485,-.328),l(-2.065,-.215),l(-.71,.095),l(-1.062,.174),l(-.777,.189),l(.042,.328),l(-.664,.923),l(.125,.202),l(-.04,.14),l(-.662,.11),l(-.479,.11),l(-1.555,.718),l(-1.979,1.042),l(-1.169,.342),l(-.249,-.062),l(.156,-.325),l(.352,-.465),l(-.933,-.076),l(-.16,-.263),l(.252,-.451),l(.442,-.467),l(.207,-.328),l(-.069,-.202),l(-.339,-.031),l(-1.136,.454),l(-.496,.032),l(-.277,-.358),l(-.589,-.17),l(-1.606,.144),l(-1.312,.111),l(-.956,.08),l(-.606,.157),l(-.894,.359),l(-.093,.436),l(.082,.186),l(-1.262,.53),l(-.408,.233),l(.149,.495),l(-1.294,.357),l(-1.019,.434),l(-.84,.479),l(-.496,.461),l(-.332,.46),l(.004,.383),l(.527,.213),l(1.269,.043),l(.278,.275),l(.062,.122),l(-1.152,.139),l(-1.028,.262),l(-1.045,-.059),l(-.698,-.136),l(-.382,.031),l(-.311,.107),l(-.721,.398),l(-.695,-.35),l(-1.112,.383),l(-.747,.139),l(-.487,-.09),l(-.284,-.137),l(.108,-.29),l(.748,-.124),l(.868,-.124),l(.164,-.046),l(-.741,-.64),L(736.444,68),l(-1.06,.017),l(-.854,.155),l(-.353,-.061),l(-.868,-.458),l(-.775,-.029),l(-.745,.047),l(-.704,.246),l(.042,.398),l(-.26,.229),l(-.477,.215),l(-.695,-.243),l(-.408,-.122),l(-1.26,.063),l(-.784,.093),l(-.651,-.075),l(-.887,-.136),l(-.563,.078),l(-.067,.122),l(-.147,.474),l(-.677,.017),l(-.311,-.137),l(-.038,-.382),l(-.203,-.259),l(-1.241,.094),l(-1.014,-.059),l(-1.257,.033),l(-1.158,.063),l(-.836,-.029),l(-.18,.016),l(-1.085,.292),l(-.964,.444),l(-.74,.474),l(-.536,.504),l(-.789,.245),l(-.904,.336),l(-.194,.152),l(-1.047,1.17),l(-1.634,.684),l(-.949,.471),l(-1.157,.711),l(-1.653,1.253),l(-.828,.572),l(-1.573,.873),l(-.893,.376),l(-1.889,.871),l(-.632,.388),l(-.203,.298),l(.018,.357),l(.428,.281),l(.485,.043),l(.918,.013),l(1.046,-.15),l(.656,.043),l(-.329,1.261),l(.016,.415),l(.303,.103),l(.63,-.09),l(.601,-.371),l(.761,.117),l(-.127,.148),L(705.293,81),l(-.112,.222),l(.373,.073),l(1.645,-.018),l(.566,-.238),l(.39,-.519),l(.017,-.638),l(.763,.014),l(.647,-.001),l(.726,.014),l(.951,.265),l(.658,.354),l(.486,.591),l(.847,.575),l(.426,.176),l(.506,.324),l(-.07,.148),l(-.581,.355),l(.453,.221),l(.13,.309),l(-.336,.723),l(.491,.117),l(.215,.235),l(-.291,.515),l(-.348,.397),l(-.532,.559),l(-.724,1.364),l(-.181,.688),l(.057,.219),l(.24,.701),l(-.188,.917),l(-.098,.741),l(-.403,1.408),l(-.146,.493),l(-1.928,1.538),l(-.371,.435),l(-.217,.65),l(-.587,.42),l(-.741,.579),l(-.241,.361),l(-.574,.981),l(-.587,.606),l(-.941,.778),l(-1.784,1.512),l(-.464,.474),l(-.235,.458),l(-.323,.33),l(-.758,.388),l(-.618,.416),l(-.574,.702),l(-.431,.458),l(-.875,.673),l(-.955,.487),l(-1.838,.475),l(-.798,.244),l(-.278,-.427),l(-.519,-.085),l(-.243,.043),l(-.337,-.185),l(-.337,-.513),l(-.663,.272),l(-.464,.101),l(.424,-.586),l(-.624,.173),l(-.506,.486),l(-.649,.543),l(-1.326,1.001),l(-.072,.049),l(-.167,-.393),l(-.298,-.439),l(.111,-.058),l(1.252,-.462),l(.511,-.43),l(.156,-.329),l(-.112,-.299),l(.097,-.128),l(.025,-.385),l(.006,-.613),l(-.062,-.656),l(-.332,-.897),l(.048,-.557),l(1.664,-.982),l(.396,.041),l(.685,.24),l(.679,.225),l(.547,.098),l(.47,-.347),l(.551,-.69),l(.329,-.432),l(.627,-1.08),l(.538,-1.066),l(.278,-.893),l(.291,-.707),l(.66,-.393),l(.566,-.407),l(-.017,-.504),l(-.116,-.389),l(-.064,-.259),l(-.246,-.114),l(-.902,.034),l(-1.181,.208),l(-1.357,.31),l(-.953,.308),l(-.604,.22),l(-1.657,.052),l(-.649,.018),l(-.68,.033),l(-.261,-.446),l(-.44,-1.283),l(-.297,-.866),l(-.205,-.144),l(-2.659,-.839),l(-1.523,-.253),l(-1.247,-.341),l(-.507,-.2),l(-.436,-.389),l(-.927,-1.903),l(-.94,-1.588),l(-1.087,-2.384),l(-.742,-.952),l(-.763,-.467),l(-.539,-.026),l(-1.386,.125),l(-.683,-.188),l(-1.037,-.481),l(-1.148,-.215),l(-.917,.049),l(-1.203,.109),l(-.836,.123),l(-1.854,.143),l(-.602,.136),l(-.478,.165),l(-1.193,.787),l(-.375,.282),l(-.119,.25),l(.822,-.078),l(.558,.026),l(.465,.306),l(.107,.249),l(-.167,.794),l(-1.371,.608),l(-.599,.545),l(-.667,.779),l(-.416,.543),l(-.422,.426),l(-.103,.249),l(.062,.146),l(.35,.348),l(.056,.306),l(-.123,.233),l(-.779,.339),l(-2.44,.752),l(-.438,.089),l(-.343,.016),l(-1.126,-.574),l(-.452,-.172),l(-.046,-.018),l(-.431,-.168),l(-.622,.018),l(-1.228,.297),l(-.86,-.169),l(-.34,-.129),l(-.751,-.506),l(-.74,-.156),l(-.609,.047),l(-.333,.002),l(-1.165,.487),l(-.755,.498),l(-.447,.394),l(-.604,.264),l(-.526,.163),l(-1.147,.136),l(-.867,.106),l(-.532,.075),l(-1.018,.063),l(-1.602,.11),l(-.739,-.039),l(-.984,-.082),l(-.905,-.241),l(-1.318,-.254),l(-.812,-.373),l(-1.132,-.313),l(-.623,-.331),l(-1.333,-.75),l(-.769,-.229),l(-1.423,-.022),l(-1.172,-.037),l(-.796,.077),l(-2.48,.538),l(-.673,-.113),l(-1.643,-.531),l(-.421,-.333),l(-.408,-.451),l(-.182,-.481),l(-.004,-.541),l(-.145,-.204),l(-.767,-.143),l(-.989,-.317),l(-.702,-.231),l(-1.748,-.328),l(-1.036,-.185),l(-1.028,-.098),l(-.84,-.201),l(-1.269,.96),l(-.905,.839),l(-.098,.293),l(.409,.86),l(.396,.304),l(.116,.204),l(-.163,.526),l(-.744,.572),l(-.31,.162),l(-.755,.28),l(-.562,.018),l(-.576,-.186),l(-.312,-.114),l(-.875,-.068),l(-.85,.004),l(-.719,-.083),l(-1.458,.008),l(-.699,-.113),l(-.393,-.406),l(-.694,-.755),l(-.831,-.083),l(-1.842,-.122),l(-.932,-.156),l(-.953,-.097),l(-.84,.18),l(-1.512,.476),l(-1.143,.341),l(-.787,.398),l(-.971,.692),l(-.017,.012),l(-.727,.381),l(-.603,.148),l(-1.387,.08),l(-.599,.207),l(-.799,.425),l(-.154,.044),l(-.244,.074),l(-.569,.003),l(-.228,.014),l(-.064,-.145),l(-.589,0),l(-.294,-.478),l(-.441,-.331),l(.073,-.331),l(-.625,.184),l(-.478,.368),l(-.993,-.074),l(-.882,-.073),l(-.662,-.699),l(-.588,-.552),l(-.956,-.147),l(-.331,-.625),l(-.772,-.588),l(-.698,-.441),l(-.993,.037),l(-.771,.221),l(-.993,.221),l(-.992,0),l(-.589,0),l(-.184,-.184),l(-.258,-.257),l(-.478,0),l(0,-.368),l(-.367,-.331),l(-.92,0),l(-.367,.515),l(-.331,.257),l(-.515,.257),l(-1.104,-1.434),l(-.846,-.882),l(-1.69,-2.133),l(-1.066,-1.029),l(-1.287,-.772),l(-.809,-.294),l(-1.104,-.588),l(.11,-.368),l(.515,-.11),l(0,-.441),l(-.809,.074),l(-.515,.22),l(-.772,.221),l(-.956,.515),l(-1.103,.257),l(-.772,.441),l(-.294,.294),l(-.552,-.184),l(-.441,-.037),l(-.771,.073),l(-.441,.11),l(-.331,-.184),l(.331,-.441),l(.441,-.184),l(.146,-.294),l(-.367,0),l(-.441,.221),l(-.478,-.11),l(-.405,-.294),l(-.478,-.037),l(-.184,.147),l(-.147,.147),l(-.367,-.221),l(-.295,-.368),l(-.294,-.11),l(-.331,.221),l(-.367,-.074),l(-.368,.147),l(-.44,-.11),l(-.295,.147),l(-.478,-.074),l(-.184,-.257),l(.33,-.037),l(-.073,-.331),l(.147,-.257),l(.11,-.331),l(-.515,-.22),l(-.147,-.221),l(.037,-.331),l(-.368,-.404),l(-.882,.037),l(-.625,.11),l(-.772,-.257),l(-.515,-.11),l(-.919,-.147),l(-.735,.037),l(-.11,.221),l(-.589,.184),l(-.515,.037),l(0,.294),l(-.367,.368),l(-.625,.074),l(-1.876,.073),l(-2.021,.405),l(-1.177,.037),l(-.625,.331),l(-.221,.331),l(-.331,-.073),l(-.588,.073),l(-1.545,.11),l(-.735,.11),l(-1.029,.037),l(-1.396,.405),l(-.368,.184),l(-.772,0),l(-.515,0),L(537.304,80),l(-.33,.074),l(-.185,.515),l(.074,.441),l(.294,.221),l(-.294,.074),l(0,.331),l(1.065,.11),l(.956,.294),l(-.11,.257),l(-.515,.073),l(-1.103,-.147),l(-.698,.184),l(-.662,.515),l(.146,.257),l(.441,.478),l(-.331,.294),l(-.588,.147),l(-.735,.368),l(-.467,.067),l(.164,.274),l(.239,0),l(.377,.137),l(-.068,.171),l(.377,.137),l(.651,.069),l(.274,.308),l(1.165,.171),l(.24,.24),l(-.138,.686),l(-.137,.309),l(-1.577,.411),l(-.959,-.034),l(-.343,-.343),l(-.24,0),l(-.171,.309),l(-.651,.343),l(-.411,-.171),l(-.754,-.137),l(-.926,-.309),l(-.274,-.548),l(-.754,-.103),l(-1.062,.103),l(-.137,.412),l(-.617,.068),l(-.651,-.411),l(-.65,-.035),l(-.823,-.068),l(-.514,.377),l(-.377,.343),l(-.274,.274),l(-.686,.171),l(-.411,-.24),l(-.686,-.137),l(-.582,-.548),l(-.72,-.068),l(.034,.24),l(.205,.48),l(-.239,.274),l(-.274,-.137),l(-.068,-.583),l(-.411,-.274),l(-.789,-.343),l(-.582,-.206),l(0,-.343),l(-.96,-.171),l(-.617,.069),l(-.788,-.035),l(-.411,-.514),l(-.411,-.069),l(-.617,.24),l(-.273,.137),l(-.651,.137),l(-.309,-.274),l(-.479,0),l(-.651,-.069),l(-.515,.309),l(-.548,.343),l(-.788,.377),l(-.549,.068),l(-.514,.171),l(-.309,.309),l(-.172,.24),L(509.58,87.5),l(-.479,.206),l(.068,.445),l(.171,.411),l(-.068,.446),l(-.411,.24),l(-.651,0),l(-.514,-.411),l(-.48,-.548),l(-.514,-.24),l(-.411,.069),l(-.103,.308),l(-.343,.549),l(-.823,.137),l(-.205,1.303),l(.343,.171),l(.239,.274),l(-.239,.206),l(-.446,.274),l(-.65,1.165),l(1.37,.343),l(.138,.377),l(-.068,.309),l(.514,.514),l(.103,-.343),l(.583,.206),l(.343,-.034),l(.514,.034),l(.515,.445),l(.479,.206),l(.343,.514),l(.96,1.131),l(-.138,.103),l(-.445,-.103),l(-.309,-.103),l(-.343,.103),l(.068,.308),l(.857,.377),l(.616,.19),l(-.167,.2),l(-.399,.28),l(-.38,.12),l(-.12,0),l(0,.14),l(0,.22),l(-.14,.08),l(-.3,-.2),l(-.34,.2),l(-.399,.26),l(-.64,.12),l(-.319,.08),l(-.26,-.08),l(-.181,-.08),l(-.1,.04),l(-.06,.16),l(.12,.26),l(-.221,.2),l(-.18,.3),l(-.18,.319),l(-.319,.42),l(-.18,.28),l(-.32,.16),l(-.34,.24),l(-.14,.32),l(.08,.2),l(.34,.2),l(.319,.04),l(.18,.3),l(.24,.04),l(.239,.34),l(.28,.419),l(-.06,.38),l(-.101,.2),l(.061,.16),l(.1,-.2),l(.1,-.34),l(.12,-.22),l(.16,-.02),l(-.141,.439),l(-.22,.36),l(.061,.4),l(.12,.1),l(-.16,.2),l(-.04,.4),l(.38,.24),l(.119,.1),l(.12,.52),l(.28,.06),l(.359,.42),l(.2,.28),l(.439,.419),l(.18,.36),l(.359,.06),l(.047,.146),l(-.292,.449),l(-.496,.284),l(-.283,.094),l(-.308,.331),l(-.165,.213),l(-.379,.047),l(-.449,-.142),l(-.591,-.094),l(0,-.308),l(-.283,-.284),l(-.118,0),l(-.095,-.118),l(-.473,-.284),l(-.142,-.189),H(504.5,0),l(-.213,.047),L(504.264,107),l(-.229,.023),l(-.126,-.189),l(-.236,-.071),l(-.236,.023),l(-.284,-.047),l(-.26,-.094),l(-.284,-.166),l(-.354,-.284),l(.118,-.307),l(.118,-.189),l(-.118,-.142),l(-.354,-.024),l(-.378,0),l(-.213,-.166),l(-.189,-.118),l(-.212,0),l(-.143,-.094),l(-.236,-.118),l(-.118,0),l(-.095,.071),l(-.142,.166),l(-.188,-.142),l(-.261,-.071),l(-.354,0),l(-.213,.071),l(-.094,.095),l(-.166,.166),l(-.283,0),l(-.261,.118),l(-.212,-.071),l(-.261,-.118),l(.048,-.118),l(.142,-.118),l(-.308,-.119),l(-.236,-.118),l(-.354,-.071),l(-.52,-.118),l(-.284,-.213),l(-.095,-.142),l(-.354,-.166),l(-.283,.047),l(-.189,0),l(-.401,-.166),l(-.544,0),l(-.426,.095),l(-.307,0),l(-.355,-.047),l(-.307,-.071),l(-.261,-.095),l(-.212,-.166),l(-.213,0),l(-.331,0),l(-.189,-.047),l(-.188,-.094),l(-.284,-.142),l(-.283,-.095),l(-.449,-.023),l(-.402,-.023),l(-.07,-.047),l(-.284,-.047),l(-.26,.166),l(-.112,.309),l(-1.421,-1.012),l(-1.188,-.842),l(-.817,-.385),l(-.62,-.084),l(-.373,-.157),l(-.509,-.5),l(-.236,-.057),l(-.338,.159),l(-.329,-.042),l(-.347,-.515),l(-.795,-.674),l(.595,-.188),l(.519,-.001),l(.445,-.073),l(.1,-.519),l(.359,-.476),L(485,97.85),l(.526,-.03),l(.516,-.131),l(-.432,-.532),l(-.654,-.273),l(-.474,-.36),l(.243,-.116),l(.367,-.03),l(.82,-.117),l(.715,-.348),l(1.244,-.436),l(-.196,-.375),l(-.076,-.058),l(-.799,.088),l(-1.312,.175),l(.012,-.126),l(.021,-.112),l(0,-.224),l(.09,-.514),l(.224,-.089),l(.357,-.022),l(.38,-.134),l(.223,-.179),l(.022,-.179),l(.269,0),l(.736,-.045),l(.805,.157),l(.335,-.134),l(0,-.156),l(.156,-.291),l(.156,-.491),l(-.066,-.067),l(-.09,-.201),l(-.045,-.179),l(-.044,-.134),l(-.179,-.067),l(-.156,-.067),l(.044,-.224),l(.045,-.179),l(.246,0),l(.312,0),l(.134,-.156),l(-.29,-.044),l(-.269,-.089),l(-.223,-.246),l(.312,-.044),l(.357,-.201),l(.156,-.067),l(.201,-.089),l(.045,-.224),l(-.09,-.179),l(-.111,-.089),l(.022,-.179),l(.089,-.111),l(-.156,-.089),l(-.201,.089),l(-.134,.044),l(-.269,0),l(-.357,-.156),l(-.111,-.224),l(-.469,-.022),l(-.291,-.089),l(-.201,-.179),l(-.357,.067),l(-.268,-.112),l(-.469,-.112),l(-.425,-.067),l(-.29,-.268),l(-.224,.067),l(-.045,.157),l(-.29,.134),l(-.224,-.112),l(-.179,-.179),l(-.402,-.044),l(-.022,-.134),l(-.201,-.179),l(0,-.134),l(-.268,-.179),l(-.111,-.156),l(-.357,.067),l(-.536,.134),l(-.269,0),l(-.312,.112),l(-.425,.112),l(-.179,-.156),l(-.179,-.022),l(-.201,.067),l(-.469,-.291),l(-.268,-.067),l(-.47,.067),l(-.268,.179),l(-.291,-.29),l(-.179,-.089),l(-.089,-.224),l(.089,-.179),l(-.089,-.246),l(-.224,-.268),l(0,-.357),l(-.402,0),l(0,-.312),l(-.38,-.022),l(-.514,.067),l(-.156,-.112),l(-.647,0),l(-.269,-.29),l(-.111,-.357),l(-.134,-.291),l(.312,-.134),l(.312,.022),l(0,-.268),l(-.312,-.156),l(-.246,-.156),l(-.134,-.201),l(-.246,-.335),l(-.312,-.134),l(-.201,-.268),l(-.514,.134),l(-.692,-.112),l(-.67,.223),l(-.536,.022),l(-.536,-.246),l(-.134,.268),l(-.179,.291),l(-.313,.156),l(-.469,-.022),l(-.357,-.089),M(527.156,37.071),l(-.59,-.14),l(-.955,-.21),l(-1.128,-.139),l(-.739,.054),l(-.959,.037),l(-.732,.143),l(-.411,-.105),l(-1.025,-.476),l(.737,-.303),l(1.21,-.429),l(.654,-.09),l(1.549,-.002),l(.135,-.357),l(-.728,-.338),l(.351,-.269),l(.419,-.144),l(.676,-.02),l(.852,-.181),l(-.25,-.161),l(-.526,-.233),l(1.539,-.895),l(.513,-.129),l(.226,.073),l(.892,.017),l(.981,-.535),l(.863,-.333),l(1.02,-.261),l(.975,-.15),l(1.305,-.113),l(1.274,.053),l(.738,-.15),l(.786,-.615),l(.273,.018),l(.873,-.132),l(1.722,.276),l(.471,-.038),l(1.93,-.321),l(.958,-.039),l(2.184,-.247),l(1.864,-.116),l(.771,-.564),l(.376,-.152),l(2.511,-.137),l(1.965,-.079),l(.471,.131),l(.442,.225),l(.154,.357),l(-.812,.47),l(-.541,.169),l(-1.346,.319),l(-2.609,.433),l(-4.329,.49),l(-2.187,.281),l(-2.122,.299),l(-1.842,.316),l(-2.102,.242),l(-.941,.203),l(-.288,.274),l(.644,.216),l(-.422,.217),l(-.943,.361),l(-.527,.037),l(-2.047,-.068),l(-.432,.18),l(-.119,.233),l(.621,.249),l(-.331,.233),l(-1.206,.448),l(-.402,-.142),l(-.752,-.087),l(-.592,.304),l(.877,.283),l(.052,.319),l(-1.094,.657),l(-.822,.284),M(517.491,38.443),l(1.041,-.37),l(.512,-.299),l(.428,-.212),l(1.426,-.021),l(1.316,-.249),l(.987,-.02),l(1.412,-.091),l(.551,.069),l(.988,.227),l(-.063,.176),l(-.463,.528),l(-.302,.158),l(-.697,.071),l(-.443,.228),l(-.233,.385),l(.006,.818),l(.445,1.039),l(.957,.826),l(.505,.308),l(.775,.307),l(1.162,.392),l(-.028,.282),l(-2.62,-.089),l(-.844,.053),l(-.917,.326),l(-.596,.086),l(-.676,-.494),l(-.382,-.034),l(-1.091,.088),l(-.673,-.102),l(-.031,-.359),l(1.347,-.362),l(.073,-.24),l(-.102,-.017),l(-.944,-.273),l(-1.442,-.411),l(-1.519,-.17),l(-.33,.156),l(-.624,.122),l(-.681,-.033),l(-.625,-.396),l(-.114,-.415),l(.229,-.312),l(.39,-.209),l(.344,-.036),l(.318,.104),l(.65,.016),l(.518,-.192),l(1.121,-.768),l(.243,-.35),l(-.322,0),l(-.981,-.243),M(.125,56.089),l(0,-.562),l(0,-.576),l(0,-.157),l(0,-1.292),V(0,51.28),l(0,-2.222),l(0,-2.12),l(2.917,.61),l(1.693,.598),l(.933,.181),l(3.819,.99),l(1.059,.395),l(.204,.149),l(.074,.214),l(.445,.429),l(.406,.789),l(-.209,.428),l(1.034,.8),l(.982,.26),l(-.02,-.18),l(.297,-.148),l(-.051,-.196),l(-.638,-.392),l(.016,-.542),l(.077,-.296),l(1.026,-.183),l(.984,.278),l(.573,.098),l(.767,.064),l(1.003,-.117),l(.933,.13),l(.93,.425),l(.694,.359),l(1.676,.684),l(.32,.081),l(.584,.179),l(.43,.211),l(.09,.13),l(-.343,.033),l(-1.026,-.096),l(-.364,.034),l(-.808,.798),l(-1.539,-.468),l(.138,.178),l(.438,.227),l(.465,.324),l(-1.177,-.111),l(-1.008,.05),l(-1.202,-.387),l(-.708,-.096),l(.135,.129),l(.289,.259),l(.084,0),l(.561,.259),l(.205,.307),l(.131,.453),l(-.056,.339),l(-.814,.05),l(-.805,.065),l(-.189,.161),l(.5,.865),l(-.115,.272),l(-1.04,-.078),l(-.397,.081),l(-1.193,-.174),l(-.264,-.352),l(-1.795,-.51),l(-.253,.273),L(9.85,55.79),l(-.276,-.161),l(-.265,-.403),l(.174,-.178),l(-.321,-.42),l(-.87,-.339),l(-.565,-.063),l(-.762,.034),l(-.858,.229),l(-1.343,.084),L(3.57,54.443),l(.059,-.325),l(-.155,-.325),l(-.618,-.487),L(1.958,53.43),l(-.45,.409),l(-.655,1.228),l(-.166,.715),l(-.562,.307),
-N(449.401,22.792),l(-1.596,-.014),l(-2.019,-.016),l(-1.739,.063),l(-.764,.061),l(-1.972,-.316),l(.812,-.456),l(.826,-.172),l(.735,-.453),l(1.148,-.588),l(1.354,.691),l(.998,.105),l(1.116,-.088),l(.9,.084),l(.704,.341),l(.865,-.323),l(.53,-.454),l(.868,-.306),l(-.311,.823),l(.086,.32),l(.851,-.001),l(.991,-.495),l(1.061,-.261),l(.803,.128),l(.559,.472),l(.705,.041),l(2.007,-.111),l(1.543,.189),l(.551,.376),l(-.507,.201),l(-2.004,.622),l(-1.623,.38),l(-1.069,.062),l(-.976,.14),l(-1.324,.366),l(-6.271,-.097),l(-.033,-.377),l(1.492,-.26),l(.702,-.677),M(430.027,22.752),l(.068,.697),l(.252,.119),l(1.694,.155),l(.221,-.377),l(.13,-.418),l(.573,-.141),l(.523,-.041),l(.949,.477),l(1.192,.771),l(.798,.235),l(.568,-.218),l(-.222,-.296),l(-.46,-.356),l(-.327,-.477),l(-.04,-.22),l(.91,-.407),l(1.001,.103),l(.485,.18),l(1.278,.018),l(.586,.179),l(-.08,.419),l(-.169,.298),l(.104,.159),l(.549,.118),l(.743,-.338),l(.44,-.1),l(.662,.396),l(.678,.335),l(.785,.156),l(.948,.117),l(1.672,.429),l(.498,.234),l(-1.305,.277),l(-1.981,.218),l(-.696,.293),l(-.731,1.144),l(-.885,.885),l(-1.243,.117),l(-.766,.535),l(-.455,.589),l(-.029,.378),l(-.786,.209),l(-.556,-.018),l(-1.593,-.355),l(-1.883,-.507),l(-1.365,-.568),l(.651,-.364),l(1.565,-.041),l(1.788,-.137),l(.944,-.386),l(-.652,-.249),l(-1.822,.139),l(-1.566,.118),l(-1.694,.042),l(-.502,-.519),l(.959,-.06),l(1.371,-.215),l(2.149,-.314),l(1.547,-.45),l(-2.525,-.405),l(-.881,-.292),l(-.589,.138),l(-1.036,.646),l(-1.069,.293),l(-.562,.059),l(-1.236,-.172),l(-.338,-.174),l(-1.05,-.368),l(-.807,-.233),l(-.698,-.41),l(1.698,-.396),l(-.817,-.571),l(-1.359,.319),l(-.467,-.078),l(-.924,-.751),l(.812,-.36),l(.516,-.021),l(1.075,-.122),l(1.017,.038),l(.577,-.061),l(1.188,-.042),M(425.42,68.82),l(-.148,-.21),l(-.629,.132),l(-.134,-.026),l(-.249,-.237),l(-.239,-.343),l(.188,-.158),l(-.143,-.291),l(-.361,.185),l(-.062,.29),l(.113,.237),l(-.147,.105),l(-.339,.316),l(-.086,.185),l(-.521,.105),l(-.533,-.131),l(-.781,.342),l(.057,.131),l(-.502,.289),l(-.498,.263),l(-1.658,.813),L(418.697,71),l(-.274,.052),l(-.271,0),l(-2.111,.209),l(-.188,-.236),l(-.33,-.131),l(-.183,.209),L(414.976,71),l(.384,-.184),l(-.935,-.236),l(-.794,-.341),l(-.574,-.052),l(-.479,-.578),l(.292,-.368),l(-.126,-.21),l(.34,.026),l(.085,.316),l(.284,-.21),l(.667,.263),l(-.244,-.197),l(.127,-.145),l(.5,-.092),l(-.479,.026),l(-.245,.105),l(-.263,-.184),l(-.111,-.132),l(.579,-.276),l(.455,-.185),l(-.482,.066),l(-.317,-.132),l(.441,-.237),l(.083,-.237),l(-.661,.475),l(-.036,-.264),l(-.265,-.171),l(.005,.211),l(.076,.171),l(-.419,.158),l(-.41,0),l(.014,-.277),l(-.15,.264),l(-.235,-.079),l(-.2,-.448),l(.658,-.449),l(.08,.436),l(.068,-.317),l(.438,.158),l(.211,-.092),l(-.166,-.106),l(.674,-.079),l(.479,-.251),l(-.611,.159),l(-.48,0),l(-.335,-.159),l(.196,-.132),l(.387,-.146),l(.196,-.471),l(-.821,-.014),l(-.546,.094),l(-.406,-.309),l(.368,-.14),l(.643,-.404),l(-.212,-.186),l(-.445,.063),l(-.399,-.062),l(-.211,-.217),l(.284,-.482),l(.619,-.265),l(-.595,-.248),l(-.225,-.374),l(.272,-.188),l(-.089,-.687),l(.106,-.094),l(.594,-.063),l(.392,-.045),l(.455,.044),l(.082,-.11),l(-.255,-.134),l(-.425,-.118),l(-.228,-.17),l(.098,-.188),l(.211,-.125),l(.575,-.064),l(.511,-.346),l(.567,.109),l(.498,-.111),l(.179,-.55),l(.835,.093),l(.668,.125),l(.571,-.252),l(-.989,-.234),l(-.266,-.314),l(.236,-.143),l(1.151,.014),l(.851,-.08),l(.538,.219),l(.06,-.473),l(.477,-.27),l(.297,-.333),l(.78,-.175),l(.438,.189),l(.138,.079),l(.5,-.476),l(.869,-.413),l(.084,-.429),l(.437,-.398),l(1.497,-.735),l(.335,-.192),l(.235,-.048),l(.481,.175),l(.335,-.001),l(.319,-.224),l(-.225,-.223),l(.141,-.128),l(.488,-.224),l(.457,-.305),l(.481,-.483),l(.245,.064),l(.676,-.017),l(-.067,-.612),l(-.471,-.112),l(.434,-.405),l(.511,-.648),l(.841,.063),l(.047,-.341),l(.096,-.228),l(.954,-.116),l(-.396,-.357),l(-.327,-.097),l(-.193,-.146),l(.164,-.245),l(.313,-.246),l(.464,.048),l(.888,-.067),l(-.543,-.522),l(.249,-.082),l(.435,-.034),l(.707,-.263),l(.592,-.067),l(.308,-.208),l(-.358,-.064),l(-.105,-.187),l(.289,-.1),l(.616,-.33),l(.557,.032),l(.351,.098),l(.434,-.264),l(.369,-.031),l(.035,-.176),l(-.421,-.321),l(.627,-.232),l(.146,-.275),l(.336,.01),l(.359,.297),l(.397,.082),l(.526,-.381),l(-.281,-.656),l(.438,.065),l(.698,-.058),l(.207,-.174),l(-.604,-.315),l(.411,-.224),l(.816,-.251),l(.093,-.257),l(.261,-.194),l(.73,-.135),l(.074,.067),l(.274,-.051),l(.102,-.067),l(.492,-.67),l(.521,.25),l(.96,-.153),l(.411,.133),l(.265,.1),l(.646,.065),l(.536,-.419),l(.747,-.84),l(.286,-.085),l(.16,.168),l(-.178,.286),l(-.182,.587),l(.791,-.454),l(.403,-.572),l(.819,-.085),l(.688,-.439),l(.437,.117),l(.665,.353),l(.567,-.643),l(.318,-.272),l(.976,.1),l(1.019,.506),l(.197,-.152),l(.479,-.595),l(.709,-.444),l(.283,-.052),l(.562,.067),l(.338,-.308),l(.469,-.291),l(.619,-.189),l(1.2,-.173),l(.984,.015),l(-1.337,.755),l(-.24,.273),l(-.107,.646),l(.42,.084),l(.691,-.579),l(1.53,-.941),l(.764,-.275),l(.028,.257),l(-.004,.905),l(.704,-.172),l(.438,-.239),l(.855,-.874),l(.959,-.104),l(.586,-.001),l(.216,.154),l(-.383,.257),l(-.335,.257),l(.074,.239),l(-.319,.41),l(.921,.118),l(.221,-.443),l(.902,-.651),l(.421,.017),l(1.682,.561),l(.667,.135),l(.935,.015),l(.649,.237),l(.1,.272),l(-1.216,.393),l(-1.148,.036),l(-2.233,-.047),l(.193,.084),l(.585,.304),l(1.058,.284),l(.383,.302),l(.728,-.052),l(.679,-.102),l(.831,.032),l(.708,.25),l(-.404,.288),l(-.514,.204),l(-.824,.021),l(-.77,.121),l(-1.023,.49),l(-1.013,.672),l(-.689,.303),l(-.001,-.2),l(.096,-.367),l(.874,-.923),l(-.044,-.268),l(-.88,-.348),l(-.672,-.114),l(-1.125,-.431),l(-.556,.003),l(-.555,.07),l(-2.004,.095),l(-.865,.374),l(-.567,.422),l(-.26,.437),l(-.079,.501),l(-.188,.5),l(-1.25,.472),l(-.582,.368),l(-.31,-.148),l(-1.288,-.492),l(-1.657,.225),l(-1.411,-.042),l(-.536,-.13),l(-.861,-.595),l(-.994,-.612),l(-.486,-.082),l(-.355,.103),l(-1.012,.656),l(-.114,-.063),l(-.41,-.031),l(-.865,.038),l(-.281,1.066),l(-.164,.449),l(-.271,.25),l(-.323,-.015),l(-.67,-.129),l(-.972,-.144),l(-1.731,-.389),l(-.168,.183),l(-.021,.663),l(-.083,.199),l(-.318,.299),l(-.695,.004),l(-.871,-.095),l(-.279,-.015),l(-.465,.167),l(-1.484,1.176),l(.05,.213),l(.171,.507),l(-.188,.345),l(-.615,.346),l(-1.325,.919),l(-.687,.442),l(-.981,.021),l(-.121,.244),l(-.06,.971),l(-.32,.598),l(-.383,.469),l(-.574,.499),l(-.495,.545),l(.339,.125),l(.381,.269),l(.252,.587),l(-.17,.176),l(-.44,.177),l(-.733,.036),l(-.932,-.027),l(-.618,.114),l(-.613,.257),l(-.617,.479),l(-.389,.492),l(-.077,.664),l(-.349,1.093),l(.65,.729),l(-.335,1.171),l(.582,.39),l(.715,.186),l(.297,.243),l(-.432,.67),l(-.941,.16),l(.571,.735),l(.26,.427),l(-.249,.346),l(-.029,.532),l(-.769,.384),l(-.414,.013),l(-.117,.423),l(-.506,.224),l(.22,.831),l(-.324,.737),l(-.41,.013),l(-.15,-.342),l(-.293,-.132),
-N(464.349,47.431),l(-.024,.283),l(-.258,.465),l(.116,.529),l(.563,.212),l(.872,.194),l(.964,.506),l(.543,.392),l(-.421,.364),l(-1.303,.777),l(-.328,.296),l(1.402,1.394),l(.772,1.195),l(-.196,.356),l(-.44,.535),l(-.187,.403),l(-.029,.37),l(.37,.509),l(1.286,1.395),l(.151,.253),l(-.057,.254),l(-.542,.415),l(-.327,.191),l(.439,.33),l(1.357,.499),l(.703,.265),l(.436,.392),l(.161,.346),l(-.105,.409),l(-.43,.536),l(-.591,.536),l(-1.385,.758),l(-1.983,1.195),l(-1.946,1.145),l(-.174,.285),l(-.935,.206),l(-1.195,.188),l(-.149,.181),l(-.506,-.217),l(-.518,.146),l(-.052,.134),l(-.688,-.07),l(-.193,-.108),l(.057,-.387),l(-.241,.527),l(-.268,.14),l(-.633,.047),l(-.328,.03),l(-.1,.267),l(-.589,-.326),l(-.29,.275),l(-.676,.064),l(-.34,.178),l(-.052,-.127),l(-.504,.108),l(-.504,.108),l(-.211,.266),l(-.311,-.152),l(-.672,.126),l(-.04,-.114),l(-.658,.215),l(-.547,.013),l(-.482,.025),l(-.487,-.253),l(-.223,-.274),l(.273,-.34),l(-.846,.017),l(-.517,.177),l(.065,-.382),l(-.446,.076),l(-.644,-.271),l(-.409,-.061),l(-.415,-.231),l(-.26,-.403),l(-.036,-.714),l(.158,-.374),l(.05,-.436),l(.09,-.234),l(-.347,-.483),l(-.431,-.375),l(.3,-.658),l(-.02,-.392),l(-.305,-.204),l(-.37,-.093),l(.062,-.299),l(.295,-.331),l(.637,-.285),l(.144,-.189),l(-.113,-.331),l(.382,-.143),l(.633,.125),l(.274,.063),l(.483,-.222),l(.303,-.427),l(.104,-.459),l(.207,-.27),l(.301,.316),l(.27,0),l(1.678,-1.114),l(1.142,-.654),l(.835,-.576),l(1.026,-.401),l(.874,.03),l(.06,-.304),l(-.13,-.144),l(-.357,-.16),l(.119,-.371),l(.146,-.387),l(-.329,-.274),l(-1.139,-.095),l(-.836,-.451),l(-.594,-.024),l(-.113,-.234),l(-.327,-.307),l(-.208,-.535),l(.5,-.8),l(-.028,-.392),l(-.405,-.685),l(-.507,-.637),l(.004,-.526),l(.062,-.413),l(-.77,-.558),l(-.508,-.229),l(-1.583,-.207),l(-1.085,-.292),l(-1.286,-.658),l(-.616,-.463),l(-.146,-.033),l(1.012,-.656),l(.355,-.103),l(.486,.082),l(.994,.612),l(.861,.595),l(.536,.13),l(1.411,.042),l(1.657,-.225),l(1.288,.492),l(.31,.148),l(.582,-.368),l(1.25,-.472),l(.188,-.5),l(.079,-.501),l(.26,-.437),l(.567,-.422),l(.865,-.374),l(2.004,-.095),l(.555,-.07),l(.556,-.003),l(1.125,.431),l(.672,.114),l(.88,.348),l(.044,.268),l(-.874,.923),l(-.096,.367),l(.001,.2),
-N(453.795,53.873),l(-.23,-.004),l(-.975,.164),l(-.447,.098),l(-.902,-.387),l(-.339,-.178),l(-.347,.114),l(-.641,.374),l(-.542,.599),l(-.309,.146),l(-.658,.018),l(-.545,.355),l(.325,.241),l(.146,.192),l(-.355,.273),l(-.907,.401),l(.317,.271),l(.385,.159),l(.33,.302),l(-.749,.367),l(-.405,.43),l(-.368,.461),l(-1.591,.669),l(-.699,.286),l(-.456,-.205),l(-.326,.08),l(-.538,.539),l(-.646,.144),l(-.663,.348),l(-.217,.284),l(-.191,.142),l(-.746,.033),l(-.221,-.031),l(.151,.535),l(-.484,.425),L(439,61.33),l(.216,.533),l(.243,.25),l(-.244,.955),l(-.498,.063),l(-.217,.204),l(.189,.757),l(-.009,.544),l(.381,.444),l(-.287,.175),l(.926,.082),l(.225,.187),l(.499,-.082),l(.652,.594),l(.428,.314),l(.86,.163),l(.198,.406),l(.32,.139),l(.014,.335),l(-.391,0),l(-.508,.323),l(-.861,.3),l(-.492,.162),l(-.521,-.012),l(-.146,-.115),l(-.805,-.115),l(-.66,-.173),l(-.634,-.069),l(-.137,.104),l(-.446,-.115),l(-.257,.3),l(.819,-.069),l(.497,.265),l(.591,.046),l(.205,.208),l(.481,.069),l(.021,-.127),l(.616,.069),l(.258,-.196),l(.297,.011),l(.481,-.104),l(.226,.081),l(.026,-.15),l(.164,0),l(.214,.15),l(-.029,.081),l(-.722,.023),l(.219,.288),l(-.792,.265),l(-.168,.288),l(-.386,.08),l(-.089,-.092),l(.042,-.161),l(-.014,-.276),l(-.258,.023),l(-.091,.46),l(-.501,.333),l(-.248,.058),l(-.36,-.069),l(-.005,.218),l(-1.418,.035),l(.156,.458),l(.513,.258),l(.066,.609),l(-.109,.33),l(-.281,.051),l(-.308,-.064),l(.038,.429),l(.29,.081),l(-.126,.268),l(.24,.228),l(-.365,.364),l(-.222,.455),l(-.041,.56),l(-.766,1.043),l(-.58,.71),l(-.165,-.062),l(-.442,-.236),l(-.614,.193),l(-1.262,-.089),l(-.106,.311),l(-.252,-.083),l(-.518,.264),l(-.295,.517),l(.356,.336),l(-.376,.374),l(-.48,-.129),l(-.173,-.037),l(-1.158,.269),l(-1.11,-.116),l(-.001,-.142),l(.19,-.078),l(-.062,-.181),l(.281,-.297),l(-.638,-.53),l(-.413,-.479),l(-.22,-.272),l(.529,-.116),l(-.082,-.312),l(.421,.077),l(.147,-.245),l(-.19,-.234),l(-.285,.013),l(-.292,-.377),l(-.527,-.221),l(-.63,-.99),l(-.286,0),l(.011,-.408),l(-.256,-.364),l(-.348,-.298),l(.221,-.484),l(.206,-.341),l(-.418,-.154),l(-.405,.102),l(-.055,-.288),l(-.412,.051),l(-.18,-1.207),l(-.225,-.131),l(.311,-.355),l(.293,.132),l(.15,.342),l(.41,-.013),l(.324,-.737),l(-.22,-.831),l(.506,-.224),l(.117,-.423),l(.414,-.013),l(.769,-.384),l(.029,-.532),l(.249,-.346),l(-.26,-.427),l(-.571,-.735),l(.941,-.16),l(.432,-.67),l(-.297,-.243),l(-.715,-.186),l(-.582,-.39),l(.335,-1.171),l(-.65,-.729),l(.349,-1.093),l(.077,-.664),l(.389,-.492),l(.617,-.479),l(.613,-.257),l(.618,-.114),l(.932,.027),l(.733,-.036),l(.44,-.177),l(.17,-.176),l(-.252,-.587),l(-.381,-.269),l(-.339,-.125),l(.495,-.545),l(.574,-.499),l(.383,-.469),l(.32,-.598),l(.06,-.971),l(.121,-.244),l(.981,-.021),l(.687,-.442),l(1.325,-.919),l(.615,-.346),l(.188,-.345),l(-.171,-.507),l(-.05,-.213),l(1.484,-1.176),l(.465,-.167),l(.279,.015),l(.871,.095),l(.695,-.004),l(.318,-.299),l(.083,-.199),l(.021,-.663),l(.168,-.183),l(1.731,.389),l(.972,.144),l(.67,.129),l(.323,.015),l(.271,-.25),l(.164,-.449),l(.281,-1.066),l(.865,-.038),l(.41,.031),l(.114,.063),l(.146,.033),l(.616,.463),l(1.286,.658),l(1.085,.292),l(1.583,.207),l(.508,.229),l(.77,.558),l(-.062,.413),l(-.004,.526),l(.507,.637),l(.405,.685),l(.028,.392),l(-.5,.8),l(.208,.535),l(.327,.307),l(.113,.234),
-N(238.107,361.753),l(.515,-.688),l(.859,0),l(1.202,-.515),l(-.171,-.858),l(-3.091,.344),l(-2.061,.515),l(-1.545,-.344),l(-.515,-.858),l(1.374,-.515),l(1.202,-.172),l(3.091,-.172),l(1.374,-.515),l(-.172,-1.03),l(.859,-.516),l(0,-1.374),l(-1.326,-1.054),l(.982,-.491),l(1.202,-.344),l(1.545,-.172),l(.858,.344),l(.858,.858),l(1.03,1.374),l(1.374,1.202),l(1.03,1.373),l(-.515,2.061),l(-1.545,.516),l(-1.545,.858),l(-3.434,.172),l(-3.435,0),M(172.686,360.379),l(3.091,-.687),l(3.262,0),l(5.495,0),l(2.919,1.202),l(-2.748,.687),l(-3.759,-.337),l(-5.169,-.35),l(-3.091,-.516),M(65.13,371.085),l(1.194,-.265),l(1.393,.133),l(.796,.464),l(-1.99,0),l(-1.393,-.332),M(277.944,379.954),l(.515,-1.202),l(2.404,-1.03),l(2.748,-.172),l(2.061,-.171),l(1.545,-.859),l(.343,-1.545),l(1.374,-.687),l(3.091,-.688),l(4.464,0),l(2.404,0),l(3.434,.688),l(.687,1.889),l(0,1.202),l(-2.061,1.201),l(-11.848,1.03),l(-11.161,.344),M(36.004,376.434),l(1.202,-.858),l(2.061,-.343),l(4.121,.515),l(4.293,1.374),l(-.887,.482),l(-2.719,.204),l(-4.293,-.515),l(-3.777,-.859),M(777.843,385.46),l(3.823,.391),l(.899,.029),l(.322,.234),l(1.202,.294),l(2.329,.088),l(2.126,-.003),l(5.218,.329),l(3.046,.348),l(1.144,-.059),l(.762,.029),l(1.411,.37),l(0,2.175),l(0,2.223),l(0,2.222),l(0,2.223),l(0,2.222),l(0,1.551),l(-.041,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.182,0),l(-.041,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.223,0),l(-2.182,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.223,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),l(-2.222,0),H(9.014,0),H(6.792,0),H(4.569,0),H(2.347,0),H(.125,0),l(0,-1.544),l(0,-2.222),l(0,-2.223),l(0,-2.222),l(0,-2.223),l(0,-2.223),l(3.941,.297),l(10.131,0),l(7.898,.516),l(6.868,.172),l(8.586,.858),l(6.353,.515),l(8.757,.172),l(4.808,-.172),l(6.525,-.172),l(2.404,.344),l(3.606,-.858),l(16.312,.344),l(4.638,-.013),l(1.143,-.467),l(-14.366,-.551),l(-9.616,-.688),l(-2.232,0),l(-3.091,-.172),l(-.858,-.171),l(-1.545,-.344),l(-.498,-.455),l(.155,-1.434),l(.687,-.858),l(1.889,-.688),l(-3.263,-.687),l(-2.232,-.344),l(-.953,-.503),l(1.589,-.521),l(-2.891,-.6),l(-3.074,-.208),l(-.104,-.261),l(2.857,-.312),l(2.748,0),l(6.525,.343),l(3.434,0),l(2.576,.344),l(4.636,-1.202),l(2.404,-.687),l(-2.748,-1.03),l(-3.778,-.858),l(-4.391,-.405),l(-2.649,-.625),l(-3.262,-.172),l(-2.919,0),l(-2.919,-.858),l(2.576,-.516),l(1.28,-.342),l(-1.28,-.517),l(-2.919,.516),H(52.66,0),l(-1.717,-.344),L(49.054,373),l(.343,-1.202),l(1.956,-.07),l(1.65,-.273),l(4.98,0),l(4.626,.493),l(3.272,.709),l(1.374,.172),l(4.465,-.858),l(4.089,.243),l(0,-.729),l(.066,-.597),l(-2.255,-.73),l(-2.93,-.075),l(-2.576,-.344),l(2.404,-.687),l(4.121,.171),l(1.717,-.343),l(3.091,-.516),l(3.09,-.343),l(5.667,-.688),l(4.465,-.343),l(3.949,-.516),l(4.464,-.515),l(2.748,.343),l(5.667,0),l(4.464,.258),l(4.121,-.515),l(7.898,.343),l(7.555,-.687),l(3.091,.172),l(1.545,-.688),l(1.545,.516),l(5.323,-.172),l(.121,-.87),l(1.758,-.293),l(1.433,.325),l(.586,.554),l(-.423,.813),l(2.364,.329),l(1.38,-.264),l(-.006,-.938),l(1.438,-.267),l(1.48,.267),l(.212,1.036),l(-1.009,.423),l(.521,.781),l(3.024,-.351),l(1.889,.343),l(3.434,.172),l(2.576,-.687),l(3.778,.086),l(4.868,.33),l(2.344,.013),l(1.449,.109),l(.693,-.53),l(-.611,-.285),l(-2.202,-.122),l(1.305,-.285),l(.041,-.408),l(-.367,-.245),l(-1.386,.123),l(-.693,.04),l(-.856,-.979),l(-2.178,-.337),l(-.676,-.193),l(-.182,-.665),l(4.056,.462),l(3.874,-.245),l(-1.224,-.489),l(-6.035,-.163),l(-.774,-.082),l(-.653,-.489),l(0,-.815),l(2.301,.105),l(.839,.67),l(5.301,-.204),l(7.253,.736),l(2.404,-.172),l(3.262,-.172),l(4.464,.172),l(3.263,.172),l(2.061,-.516),l(.687,-.687),l(1.202,0),l(.344,1.03),l(2.576,.343),l(2.404,-.343),l(.858,.515),l(3.435,.688),l(3.777,.343),l(2.061,.172),l(1.03,-.515),l(.687,-1.202),l(2.747,-.172),l(1.03,.515),l(1.717,.688),l(3.091,-.172),l(3.434,.258),l(4.121,-.344),l(4.979,-.516),l(5.495,-.858),l(3.091,-.515),l(1.202,-.688),l(0,-1.373),l(-1.374,-1.202),l(-.859,-1.545),l(-1.202,-.688),l(-.344,-1.03),l(1.202,-1.03),l(1.717,-.343),l(.858,-1.202),l(-.343,-.858),l(-.172,-1.03),l(-1.202,-.516),l(.344,-1.545),l(1.889,-.172),l(2.404,-1.374),l(1.545,-.515),l(.859,-.859),l(1.03,-.687),l(2.919,-1.202),l(3.606,-.515),l(2.404,-1.202),l(2.404,-.172),l(2.232,-1.03),l(1.545,-.343),l(.343,1.03),l(-1.374,.515),l(-1.03,.344),l(-1.202,.515),l(-.858,0),l(-1.202,0),l(-2.919,1.202),l(-1.03,.687),l(-1.717,1.374),l(-.172,1.202),l(-.687,.687),l(-1.374,-.344),l(-1.03,0),l(-1.202,.516),l(-1.202,.687),l(-1.03,.688),l(-.687,1.201),l(.515,.688),l(.687,.687),l(1.374,.344),l(1.545,0),l(.858,.515),l(.687,1.202),l(1.545,1.546),l(.687,.858),l(1.03,.687),l(.687,1.374),l(.858,1.373),l(.344,1.546),l(-.344,.858),l(-.858,1.717),l(-2.919,1.889),l(-1.202,.172),l(-1.03,.858),l(-1.717,1.03),l(-3.263,.344),l(-4.979,.858),l(-2.404,.344),l(-2.919,.687),l(-7.377,-.141),l(-4.556,-.316),l(-.773,-.401),l(-1.717,-.344),l(-1.717,-.343),l(-1.374,0),l(-.859,.515),l(.515,.858),l(2.061,.688),l(4.121,1.202),l(4.995,.04),l(1.202,.759),l(-3.278,.574),l(-5.667,-.343),l(-4.979,-.516),l(-3.097,-.285),l(-2.151,.253),l(.823,.696),l(1.164,.538),l(3.262,.172),l(2.232,0),l(1.374,.343),l(-.249,.402),l(-.782,.113),l(-2.232,.515),l(-5.151,-.171),l(-1.374,-.172),l(-2.232,-1.202),l(-2.404,0),l(.128,.917),l(2.62,1.144),l(1.03,.172),l(1.202,-.172),l(1.374,.344),l(2.404,0),l(4.98,-.516),l(3.09,.687),l(.385,.431),l(-.041,.6),l(-2.061,.172),l(-3.263,.172),l(-2.608,-.185),l(3.811,.871),l(3.656,-.238),l(1.324,.41),l(2.576,.687),l(6.869,.859),l(8.585,.858),l(10.646,1.373),l(6.525,.516),l(2.061,.858),l(.687,1.03),l(3.091,-.344),l(5.323,-1.545),l(6.525,-.687),l(2.455,-.066),l(6.474,-.105),l(9.788,-.344),l(1.889,.344),l(2.576,-1.202),l(8.414,-1.03),l(11.333,-.172),l(8.929,-.858),l(1.202,-.858),l(-1.202,-.516),l(-.271,-1.07),l(-1.184,-.338),l(-5.071,.035),l(-2.232,.172),l(-4.808,-.344),l(-3.091,0),l(0,-1.202),l(3.263,-1.545),l(3.949,-1.202),l(2.404,-.172),l(4.121,-1.03),l(9.444,-1.202),l(5.323,-.858),l(6.525,0),l(4.979,-.516),l(2.747,-2.061),l(6.039,-1.541),l(-1.23,-.52),l(-2.576,.516),l(-2.061,-.344),l(1.545,-1.03),l(1.545,-.343),l(2.48,-.249),l(.696,-.742),l(3.85,-.742),l(1.577,-.418),l(.603,-.557),l(-1.716,-.881),l(-.093,-.604),l(1.252,-.231),l(.464,.742),l(1.017,-.097),l(2.061,-.858),l(1.03,-.343),l(.858,.171),l(1.203,1.544),l(2.403,-.342),l(.242,-.91),l(.96,-.807),l(1.889,-.516),l(1.374,.516),l(-1.162,.574),l(-.139,.604),l(3.189,-.319),l(4.808,.258),l(3.263,-.172),l(1.03,.858),l(1.545,-.344),l(1.717,-.515),l(5.839,-.858),l(7.212,-1.03),l(4.292,-.858),l(2.061,0),l(2.061,1.373),l(1.718,.344),l(1.889,-.344),l(1.545,-.858),l(7.556,-.344),l(3.434,-.171),l(4.293,.171),l(6.697,.945),l(2.575,0),l(4.293,-.516),l(6.01,-.687),l(5.151,-.688),l(2.404,-.515),l(2.231,-.344),l(.615,-.959),l(1.148,-.835),l(1.671,-.095),l(.938,.965),l(1.294,.409),l(1.732,1.052),l(1.009,.139),l(1.009,-.661),l(1.322,-.174),l(.209,.522),l(-.835,.312),l(.661,.244),l(.8,.278),l(.383,-.383),l(.313,-.383),l(.312,.209),l(-.174,.348),l(0,.521),l(.592,-.174),l(1.913,-.557),l(.418,-1.704),l(5.102,-1.137),l(1.374,-.687),l(3.605,-.172),l(1.363,-.646),l(2.758,-.126),l(.21,-.27),l(-.165,-.297),l(.692,-.23),l(1.221,.165),l(.197,.593),l(.66,.231),l(2.165,-.536),l(1.265,-.223),l(-.726,-.297),l(-.561,-.264),l(.099,-.362),l(1.451,-.1),l(1.562,.215),l(.647,.28),l(.692,-.132),l(-.066,-.33),l(-.527,-.33),l(0,-.561),l(.297,-.23),l(.846,-.242),l(4.292,-.858),l(2.92,-.172),l(3.058,.115),l(2.296,1.076),l(1.316,.023),l(.741,.144),l(.023,.383),l(-.908,.096),l(-.168,.454),l(1.723,.216),l(4.892,.646),l(5.571,.453),l(1.546,.172),l(1.717,-.172),l(7.556,.688),l(5.323,0),l(.687,.687),l(.2,1.075),l(-.73,1.232),l(-.672,.439),l(-.425,1.113),l(-.73,.319),l(-.905,-.402),l(-.83,.402),l(-.73,.959),l(1.507,.457),l(.594,.045),l(.959,-.593),l(.411,.365),l(-.867,1.05),l(-1.215,.062),l(-1.717,1.374),l(0,.858),l(1.889,.688),l(2.919,0),l(1.718,-.859),l(1.889,-1.545),l(1.717,-1.717),l(1.374,-.688),l(4.121,-1.03),l(2.231,-.687),l(3.263,-.344),l(2.061,-1.03),l(1.03,-1.03),l(3.435,-1.03),l(2.403,-.687),l(2.061,-.687),l(2.061,-.172),l(6.182,-.687),l(3.778,.171),l(1.204,-.542),l(.169,-.659),l(.54,-.759),l(.49,-.101),l(.471,.776),l(.305,.775),l(4.892,-.35),l(5.838,0),l(4.979,-.172),l(3.091,.344),l(2.112,-.214),l(1.328,.085),l(1.018,.594),l(1.188,-.764),l(2.714,-1.046),l(1.866,-.226),l(.664,-.028),l(.594,-.028),l(.777,-.057),l(1.512,.311),l(1.166,-.172),l(3.606,.687),l(3.777,.344),l(1.03,0),l(1.064,.573),l(.745,.088),l(2.149,-.088),l(1.271,-.263),l(1.315,-.438),l(-.192,-.216),l(.28,-.53),l(1.447,-.131),l(.921,-.088),l(.786,.062),l(2.195,-.501),l(2.097,.501),l(.688,.687),l(.373,.435),l(1.842,-.131),l(.921,-.044),l(.985,.255),l(1.889,.688),l(2.919,.515),l(2.919,-.343),l(4.121,-.258),l(2.232,-.344),l(2.404,0),l(3.521,.315),l(.702,-.755),l(2.158,-.162),l(.863,1.133),l(4.909,.323),l(.917,-1.133),l(1.889,-.593),l(5.988,.013),l(.756,-.283),l(1.996,.108),l(-.432,-1.403),l(.054,-.809),l(1.232,-.36),l(.872,1.277),l(-.647,1.079),l(.805,.219),l(2.81,.482),l(5.262,.376),l(5.494,.344),l(2.278,.583),l(1.283,.14),l(1.396,-.167),l(2.204,.446),l(1.961,-.167),l(.719,.278),l(-.435,.431),l(-.151,.351),l(.293,.123),l(2.081,.331),l(1.078,.484),l(2.706,-.134),l(.377,.595),l(1.038,.227),l(4.808,.515),l(-.123,.536),l(.567,.236),l(2.695,-.095),l(3.214,.181),l(-.329,-.984),l(.71,-.095),l(.804,.426),l(.331,.709),l(1.135,.284),l(2.672,.519),l(2.576,-.343),l(4.017,.999),l(1.626,.495),l(1.672,.871),l(1.626,.023),l(.504,.187),l(.532,-.021),l(.754,-.047),l(.777,.047),l(.896,.589),l(.541,.118),l(.542,.07),l(.142,-.259),l(.471,0),l(1.484,-.048),l(1.416,.237),l(5.951,.535),l(.729,.516),l(1.733,.323),l(2.979,.944),l(.43,-.335),l(.551,.191),l(.454,.67),l(-.741,.215),l(-1.124,.167),l(-.216,.359),l(.168,.263),l(.55,-.048),l(-.024,.67),l(-.43,-.048),l(-.096,.287),l(-.312,.071),l(-.598,.622),l(-.526,.12),l(-.55,.287),l(-.168,.669),l(-1.603,.096),l(-1.339,-.239),l(-1.794,.359),l(-2.153,.425),l(-2.629,.764),l(1.271,1.103),l(-1.907,.212),l(-1.23,-.255),l(-.763,.212),l(-.043,.637),l(-2.374,.169),l(.136,.514),l(.924,.632),l(-.127,.763),l(-.382,.085),l(-.466,.467),l(.551,.466),l(.085,.764),l(-.764,.424),l(.637,.254),l(.763,0),l(.764,.255),l(.339,.509),l(.17,.721),l(1.284,-.187),l(.836,.907),l(2.035,.297),l(.339,.339),l(2.672,.552),l(-4.113,0),l(-2.799,.138),l(-2.332,.541),l(-1.823,-.085),l(-.806,.212),l(-1.611,.339),l(-1.326,-.32),l(-.546,.426),l(1.116,.529),l(-.503,.447),l(-.669,.195),l(-1.117,.753),l(-2.623,.642),l(.475,.391),l(2.205,-.111),l(.53,0),l(.809,.307),l(.168,.363),l(.499,.18),l(.422,.183),l(.111,.894),l(.209,.502),l(3.195,.279),l(2.874,.948),l(3.662,.801),l(5.151,1.202),l(1.456,.062),l(1.015,.17),l(-.146,.234),l(-1.67,.264),l(-.47,.264),l(1.173,.088),l(2.198,-.293),l(1.988,.166),
-E(0,0)
-};
-
-#undef N
-#undef M
-#undef L
-#undef l
-#undef E
diff --git a/test/xcb-huge-image-shm.c b/test/xcb-huge-image-shm.c
deleted file mode 100644 (file)
index 269d7f0..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright © 2011 Uli Schlachter
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Uli Schlachter <psychon@znc.in>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 3000
-#define HEIGHT 3000
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_surface_t *image;
-    cairo_t *cr2;
-
-    /* We use a similar surface to have way smaller ref images */
-    surface = cairo_surface_create_similar (cairo_get_target (cr),
-                                           CAIRO_CONTENT_COLOR_ALPHA,
-                                           WIDTH, HEIGHT);
-
-    /* First we have to defeat xcb's deferred clear */
-    cr2 = cairo_create (surface);
-    cairo_test_paint_checkered (cr2);
-    cairo_destroy (cr2);
-
-    /* Now we try to map this to an image. This will try to use shared memory
-     * but fail the allocation, because of the huge surface. */
-    image = cairo_surface_map_to_image (surface, NULL);
-    cairo_surface_unmap_image (surface, image);
-
-    /* Finally we make sure that errors aren't lost. */
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_paint (cr);
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (xcb_huge_image_shm,
-           "Force a failed shm allocation when receiving an image",
-           "xcb", /* keywords */
-           NULL, /* requirements */
-           2, 2,
-           NULL, draw)
diff --git a/test/xcb-snapshot-assert.c b/test/xcb-snapshot-assert.c
deleted file mode 100644 (file)
index e1ddb73..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright © 2011 Uli Schlachter
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Uli Schlachter <psychon@znc.in>
- */
-
-#include "cairo.h"
-#include "cairo-test.h"
-
-static cairo_surface_t *
-create_image (int width, int height)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
-    /* Paint something random to the image */
-    cr = cairo_create (surface);
-    cairo_set_source_rgb (cr, 0, 1, 1);
-    cairo_paint (cr);
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    /* Image has to have same geometry as xcb surface to be added as a snapshot */
-    cairo_set_source_surface (cr, create_image (width, height), 0, 0);
-
-    /* This attaches the tested xcb surface as a snapshot */
-    cairo_paint (cr);
-
-    /* Now cairo is modifying a snapshot which fails an
-     * assert in _cairo_surface_begin_modification */
-    cairo_paint (cr);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (xcb_snapshot_assert,
-           "Test a wrong _cairo_surface_attach_snapshot call",
-           "xcb", /* keywords */
-           NULL, /* requirements */
-           2, 2,
-           NULL, draw)
diff --git a/test/xcb-stress-cache.c b/test/xcb-stress-cache.c
deleted file mode 100644 (file)
index 3e3d0a2..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright © 2011 Uli Schlachter
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Uli Schlachter <psychon@znc.in>
- */
-
-#include "cairo-test.h"
-
-#define WIDTH 512
-#define HEIGHT 512
-
-/* This is a random pick. This results in 512 (width) * 512 (height) *
- * 2 (surfaces per run) * 4 (ARGB32) * ITERATIONS = 200 MiB of image data. */
-#define ITERATIONS 100
-
-/* This tries to trigger a bug in the xcb backend where a Picture is freed to
- * early. It goes something like this:
- *
- * - _composite_mask calls _cairo_xcb_picture_for_pattern to get a xcb_picture_t
- *   for the source.
- * - _cairo_xcb_picture_for_pattern calls _cairo_xcb_surface_picture which calls
- *   _cairo_xcb_screen_store_surface_picture which adds the picture to a cache.
- * - _cairo_xcb_surface_picture also attached the picture as a snapshot to
- *   the source surface using cairo_surface_finish as detach_func.
- * - _composite_mask calls _cairo_xcb_picture_for_pattern to get a xcb_picture_t
- *   for the mask.
- * - The resulting picture surface is added to the cache again, but the cache is
- *   already full, so a random cache entry is picked and removed.
- * - The surface that was added before is picked and gets fed to
- *   _surface_cache_entry_destroy.
- * - This calls _cairo_surface_detach_snapshot which causes the
- *   detach_func from above to be called, so the surface is finished and the
- *   associated picture is FreePicture'd.
- * - _composite_mask now uses a Picture that was already freed.
- *
- * So this depends on the screen's surface cache to be full which is why we do
- * all this looping.
- */
-
-static cairo_surface_t *
-create_image (void)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr;
-
-    surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, WIDTH, HEIGHT);
-    /* Paint something random to the image */
-    cr = cairo_create (surface);
-    cairo_paint (cr);
-    cairo_set_source_rgb (cr, 0, 1, 1);
-    cairo_rectangle (cr, 0, 0, WIDTH/2.0, HEIGHT/2.0);
-    cairo_fill (cr);
-    cairo_set_source_rgb (cr, 1, 0, 1);
-    cairo_rectangle (cr, WIDTH/2.0, HEIGHT/2.0, WIDTH/2.0, HEIGHT/2.0);
-    cairo_fill (cr);
-    cairo_destroy (cr);
-
-    return surface;
-}
-
-static cairo_surface_t *
-dirty_cache (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-
-    /* Set a source surface... */
-    surface = create_image ();
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_surface_destroy (surface);
-    /* ...and create a mask surface, so that we can hit the early FreePicture */
-    surface = create_image ();
-    cairo_mask_surface (cr, surface, 0, 0);
-
-    return surface;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-    cairo_surface_t *array[ITERATIONS];
-
-    /* We have to keep the associated cairo_surface_t alive so that they aren't
-     * removed from the cache */
-    for (i = 0; i < ITERATIONS; i++)
-       array[i] = dirty_cache (cr);
-    for (i = 0; i < ITERATIONS; i++)
-       cairo_surface_destroy (array[i]);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (xcb_stress_cache,
-           "Stress test for a image surface cache in cairo-xcb",
-           "xcb, stress", /* keywords */
-           NULL, /* requirements */
-           2, 2,
-           NULL, draw)
diff --git a/test/xcb-surface-source.c b/test/xcb-surface-source.c
deleted file mode 100644 (file)
index d2c7a13..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-#if CAIRO_HAS_XCB_SURFACE
-#include <cairo-xcb.h>
-#endif
-
-#include "surface-source.c"
-
-#if CAIRO_HAS_XCB_SURFACE
-static cairo_user_data_key_t closure_key;
-
-struct closure {
-    cairo_device_t *device;
-    xcb_connection_t *connection;
-    xcb_pixmap_t pixmap;
-};
-
-static void
-cleanup (void *data)
-{
-    struct closure *arg = data;
-
-    cairo_device_finish (arg->device);
-    cairo_device_destroy (arg->device);
-
-    xcb_free_pixmap (arg->connection, arg->pixmap);
-    xcb_disconnect (arg->connection);
-
-    free (arg);
-}
-
-static xcb_render_pictforminfo_t *
-find_depth (xcb_connection_t *connection, int depth, void **formats_out)
-{
-    xcb_render_query_pict_formats_reply_t      *formats;
-    xcb_render_query_pict_formats_cookie_t cookie;
-    xcb_render_pictforminfo_iterator_t i;
-
-    cookie = xcb_render_query_pict_formats (connection);
-    xcb_flush (connection);
-
-    formats = xcb_render_query_pict_formats_reply (connection, cookie, 0);
-    if (formats == NULL)
-       return NULL;
-
-    for (i = xcb_render_query_pict_formats_formats_iterator (formats);
-        i.rem;
-        xcb_render_pictforminfo_next (&i))
-    {
-       if (XCB_RENDER_PICT_TYPE_DIRECT != i.data->type)
-           continue;
-
-       if (depth != i.data->depth)
-           continue;
-
-       *formats_out = formats;
-       return i.data;
-    }
-
-    free (formats);
-    return NULL;
-}
-#endif
-
-static cairo_surface_t *
-create_source_surface (int size)
-{
-#if CAIRO_HAS_XCB_SURFACE
-    xcb_connection_t *connection;
-    xcb_render_pictforminfo_t *render_format;
-    struct closure *data;
-    cairo_surface_t *surface;
-    xcb_screen_t *root;
-    xcb_void_cookie_t cookie;
-    void *formats;
-
-    connection = xcb_connect (NULL, NULL);
-    if (connection == NULL)
-       return NULL;
-
-    data = xmalloc (sizeof (struct closure));
-    data->connection = connection;
-
-    render_format = find_depth (connection, 32, &formats);
-    if (render_format == NULL) {
-       xcb_disconnect (connection);
-       free (data);
-       return NULL;
-    }
-
-    root = xcb_setup_roots_iterator (xcb_get_setup (connection)).data;
-
-    data->pixmap = xcb_generate_id (connection);
-    cookie = xcb_create_pixmap_checked (connection, 32,
-                                       data->pixmap, root->root, size, size);
-    /* slow, but sure */
-    if (xcb_request_check (connection, cookie) != NULL) {
-       free (formats);
-       xcb_disconnect (connection);
-       free (data);
-       return NULL;
-    }
-
-    surface = cairo_xcb_surface_create_with_xrender_format (connection,
-                                                           root,
-                                                           data->pixmap,
-                                                           render_format,
-                                                           size, size);
-    free (formats);
-
-    data->device = cairo_device_reference (cairo_surface_get_device (surface));
-    cairo_surface_set_user_data (surface, &closure_key, data, cleanup);
-
-    return surface;
-#else
-    return NULL;
-#endif
-}
-
-CAIRO_TEST (xcb_surface_source,
-           "Test using a XCB surface as the source",
-           "source", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           preamble, draw)
diff --git a/test/xcomposite-projection.c b/test/xcomposite-projection.c
deleted file mode 100644 (file)
index 39686cf..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright 2009 Benjamin Otte
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-
-/*
- * Exercise a bug in the projection of a rotated trapezoid mask.
- * I used CAIRO_ANTIALIAS_NONE and a single-color source in the test to get
- * rid of aliasing issues in the output images. This makes some issues
- * slightly less visible, but still fails for all of them. If you want to
- * get a clearer view:
- * #define ANTIALIAS CAIRO_ANTIALIAS_DEFAULT
- */
-
-#define ANTIALIAS CAIRO_ANTIALIAS_NONE
-
-static const char png_filename[] = "romedalen.png";
-
-static cairo_pattern_t *
-get_source (const cairo_test_context_t *ctx,
-           int *width, int *height)
-{
-    cairo_surface_t *surface;
-    cairo_pattern_t *pattern;
-
-    if (ANTIALIAS == CAIRO_ANTIALIAS_NONE) {
-       cairo_t *cr;
-
-       surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, 256, 192);
-       cr = cairo_create (surface);
-
-       cairo_set_source_rgb (cr, 0.75, 0.25, 0.25);
-       cairo_paint (cr);
-
-       pattern = cairo_pattern_create_for_surface (cairo_get_target (cr));
-       cairo_destroy (cr);
-    } else {
-       surface = cairo_test_create_surface_from_png (ctx, png_filename);
-       pattern = cairo_pattern_create_for_surface (surface);
-    }
-
-    *width = cairo_image_surface_get_width (surface);
-    *height = cairo_image_surface_get_height (surface);
-    cairo_surface_destroy (surface);
-
-    return pattern;
-}
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    cairo_pattern_t *image;
-    int img_width, img_height;
-
-    image = get_source (cairo_test_get_context (cr),
-                       &img_width, &img_height);
-
-    /* we don't want to debug antialiasing artifacts */
-    cairo_set_antialias (cr, ANTIALIAS);
-
-    /* dark grey background */
-    cairo_set_source_rgb (cr, 0.25, 0.25, 0.25);
-    cairo_paint (cr);
-
-    /* magic transform */
-    cairo_translate (cr, 10, -40);
-    cairo_rotate (cr, -0.05);
-
-    /* place the image on our surface */
-    cairo_set_source (cr, image);
-
-    /* paint the image */
-    cairo_rectangle (cr, 0, 0, img_width, img_height);
-    cairo_fill (cr);
-
-    cairo_pattern_destroy (image);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (xcomposite_projection,
-           "Test a bug with XRenderComposite reference computation when projecting the first trapezoid onto 16.16 space",
-           "xlib", /* keywords */
-           "target=raster", /* requirements */
-           300, 150,
-           NULL, draw)
diff --git a/test/xlib-expose-event.c b/test/xlib-expose-event.c
deleted file mode 100644 (file)
index 4b1cb46..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-/* This test tries to emulate the behaviour of most toolkits; it tries
- * to simulate typical usage of a single surface with multiple exposures.
- *
- * The first goal of the test is to reproduce the XSetClipMask(NULL) bug
- * reintroduced in 1.6.2 (but was originally fixed in 40558cb15). As I've
- * made the same mistake again, it is worth adding a regression test...
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "cairo.h"
-#include "cairo-test.h"
-
-#include "buffer-diff.h"
-
-#define SIZE 160
-#define NLOOPS 10
-
-static const char *png_filename = "romedalen.png";
-
-static void
-draw_mask (cairo_t *cr)
-{
-    cairo_surface_t *surface;
-    cairo_t *cr2;
-
-    surface = cairo_surface_create_similar (cairo_get_group_target (cr),
-                                           CAIRO_CONTENT_ALPHA,
-                                           50, 50);
-    cr2 = cairo_create (surface);
-    cairo_surface_destroy (surface);
-
-    cairo_rectangle (cr2,
-                    0, 0,
-                    40, 40);
-    cairo_rectangle (cr2,
-                    10, 10,
-                    40, 40);
-    cairo_clip (cr2);
-
-    cairo_move_to (cr2, 0, 25);
-    cairo_line_to (cr2, 50, 25);
-    cairo_move_to (cr2, 25, 0);
-    cairo_line_to (cr2, 25, 50);
-    cairo_set_source_rgb (cr2, 1, 1, 1);
-    cairo_stroke (cr2);
-
-    cairo_set_source_rgb (cr, 1, 0, 0);
-    cairo_mask_surface (cr, cairo_get_target (cr2), 50, 50);
-    cairo_destroy (cr2);
-}
-
-static cairo_surface_t *
-clone_similar_surface (cairo_surface_t * target, cairo_surface_t *surface)
-{
-    cairo_t *cr;
-    cairo_surface_t *similar;
-
-    similar = cairo_surface_create_similar (target,
-                                     cairo_surface_get_content (surface),
-                                     cairo_image_surface_get_width (surface),
-                                     cairo_image_surface_get_height (surface));
-
-    cr = cairo_create (similar);
-    cairo_surface_destroy (similar);
-
-    cairo_set_source_surface (cr, surface, 0, 0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-
-    similar = cairo_surface_reference (cairo_get_target (cr));
-    cairo_destroy (cr);
-
-    return similar;
-}
-
-static void
-draw_image (const cairo_test_context_t *ctx,
-           cairo_t *cr,
-           cairo_surface_t *image)
-{
-    cairo_set_source_surface (cr, image, 0, 0);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-}
-
-static void
-draw (const cairo_test_context_t *ctx,
-      cairo_t *cr,
-      cairo_surface_t *image,
-      cairo_rectangle_t *region,
-      int n_regions)
-{
-    cairo_save (cr);
-    if (region != NULL) {
-       int i;
-       for (i = 0; i < n_regions; i++) {
-           cairo_rectangle (cr,
-                            region[i].x, region[i].y,
-                            region[i].width, region[i].height);
-       }
-       cairo_clip (cr);
-    }
-    cairo_push_group (cr);
-    draw_image (ctx, cr, image);
-    draw_mask (cr);
-    cairo_pop_group_to_source (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-    cairo_restore (cr);
-}
-
-static cairo_test_status_t
-draw_func (cairo_t *cr, int width, int height)
-{
-    cairo_rectangle_t region[4];
-    const cairo_test_context_t *ctx;
-    cairo_surface_t *source, *image;
-    int i, j;
-
-    ctx = cairo_test_get_context (cr);
-
-    source = cairo_test_create_surface_from_png (ctx, png_filename);
-    image = clone_similar_surface (cairo_get_group_target (cr), source);
-    cairo_surface_destroy (source);
-
-    cairo_push_group_with_content (cr, CAIRO_CONTENT_COLOR);
-    draw (ctx, cr, image, NULL, 0);
-    for (i = 0; i < NLOOPS; i++) {
-       for (j = 0; j < NLOOPS; j++) {
-           region[0].x = i * SIZE / NLOOPS;
-           region[0].y = i * SIZE / NLOOPS;
-           region[0].width = SIZE / 4;
-           region[0].height = SIZE / 4;
-
-           region[1].x = j * SIZE / NLOOPS;
-           region[1].y = j * SIZE / NLOOPS;
-           region[1].width = SIZE / 4;
-           region[1].height = SIZE / 4;
-
-           region[2].x = i * SIZE / NLOOPS;
-           region[2].y = j * SIZE / NLOOPS;
-           region[2].width = SIZE / 4;
-           region[2].height = SIZE / 4;
-
-           region[3].x = j * SIZE / NLOOPS;
-           region[3].y = i * SIZE / NLOOPS;
-           region[3].width = SIZE / 4;
-           region[3].height = SIZE / 4;
-
-           draw (ctx, cr, image, region, 4);
-       }
-    }
-
-    cairo_pop_group_to_source (cr);
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_paint (cr);
-
-    cairo_surface_destroy (image);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (xlib_expose_event,
-           "Emulate a typical expose event",
-           "xlib", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw_func)
diff --git a/test/xlib-surface-source.c b/test/xlib-surface-source.c
deleted file mode 100644 (file)
index 7d2ed71..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright © 2008 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Chris Wilson not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Chris Wilson makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * CHRIS WILSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL CHRIS WILSON BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#include "cairo-test.h"
-#include <cairo-xlib.h>
-#if CAIRO_HAS_XLIB_XRENDER_SURFACE
-#include <cairo-xlib-xrender.h>
-#endif
-
-#include "surface-source.c"
-
-static cairo_user_data_key_t closure_key;
-
-struct closure {
-    cairo_device_t *device;
-    Display *dpy;
-    Pixmap pix;
-};
-
-static void
-cleanup (void *data)
-{
-    struct closure *arg = data;
-
-    cairo_device_finish (arg->device);
-    cairo_device_destroy (arg->device);
-
-    XFreePixmap (arg->dpy, arg->pix);
-    XCloseDisplay (arg->dpy);
-
-    free (arg);
-}
-
-static cairo_surface_t *
-create_source_surface (int size)
-{
-#if CAIRO_HAS_XLIB_XRENDER_SURFACE
-    XRenderPictFormat *xrender_format;
-    struct closure *data;
-    cairo_surface_t *surface;
-
-    data = xmalloc (sizeof (struct closure));
-
-    data->dpy = XOpenDisplay (NULL);
-    if (!data->dpy) {
-       return NULL;
-    }
-
-    xrender_format = XRenderFindStandardFormat (data->dpy, PictStandardARGB32);
-
-    data->pix = XCreatePixmap (data->dpy, DefaultRootWindow (data->dpy),
-                              size, size, xrender_format->depth);
-
-    surface = cairo_xlib_surface_create_with_xrender_format (data->dpy,
-                                                            data->pix,
-                                                            DefaultScreenOfDisplay (data->dpy),
-                                                            xrender_format,
-                                                            size, size);
-    data->device = cairo_device_reference (cairo_surface_get_device (surface));
-    if (cairo_surface_set_user_data (surface, &closure_key, data, cleanup)) {
-       cairo_surface_finish (surface);
-       cairo_surface_destroy (surface);
-       cleanup (data);
-       return NULL;
-    }
-
-    return surface;
-#else
-    return NULL;
-#endif
-}
-
-CAIRO_TEST (xlib_surface_source,
-           "Test using a Xlib surface as the source",
-           "source", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           preamble, draw)
diff --git a/test/xlib-surface.c b/test/xlib-surface.c
deleted file mode 100644 (file)
index 4edc44b..0000000
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- * Copyright © 2005 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "cairo.h"
-#include "cairo-xlib.h"
-#include "cairo-test.h"
-
-#include "cairo-boilerplate-xlib.h"
-
-#include "buffer-diff.h"
-
-#define SIZE 100
-#define OFFSCREEN_OFFSET 50
-
-cairo_bool_t result = 0;
-
-#if CAIRO_HAS_XLIB_XRENDER_SURFACE
-
-#include "cairo-xlib-xrender.h"
-
-/* Vladimir Vukicevic reported that surfaces were being created with
- * mismatching Visuals and XRenderPictFormats.
- */
-static cairo_bool_t
-surface_compare_visual_and_format (cairo_surface_t *surface)
-{
-    Display *dpy;
-    Visual *visual;
-    XRenderPictFormat *format;
-
-    dpy = cairo_xlib_surface_get_display (surface);
-
-    visual = cairo_xlib_surface_get_visual (surface);
-    if (visual == NULL)
-       return TRUE;
-
-    format = cairo_xlib_surface_get_xrender_format (surface);
-    if (format == NULL)
-       return TRUE;
-
-    return format == XRenderFindVisualFormat (dpy, visual);
-
-}
-#else
-
-static cairo_bool_t
-surface_compare_visual_and_format (cairo_surface_t *surface)
-{
-    return TRUE;
-}
-
-#endif
-
-static cairo_bool_t
-check_similar_visual_and_format (cairo_surface_t *surface)
-{
-    cairo_surface_t *similar;
-    cairo_bool_t ret;
-
-    similar = cairo_surface_create_similar (surface,
-                                           CAIRO_CONTENT_COLOR_ALPHA,
-                                           1, 1);
-    if (cairo_surface_status (similar))
-       return FALSE;
-
-    ret = surface_compare_visual_and_format (similar);
-
-    cairo_surface_destroy (similar);
-
-    return ret;
-}
-
-
-static void
-draw_pattern (cairo_surface_t *surface)
-{
-    cairo_t *cr = cairo_create (surface);
-    int i;
-
-    cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* white */
-    cairo_paint (cr);
-
-    cairo_set_source_rgba (cr, 0, 0.0, 0.0, 0.50); /* half-alpha-black */
-
-    for (i = 1; i <= 3; i++) {
-       int inset = SIZE / 8 * i;
-
-       cairo_rectangle (cr,
-                        inset,            inset,
-                        SIZE - 2 * inset, SIZE - 2 * inset);
-       cairo_fill (cr);
-    }
-
-    cairo_destroy (cr);
-}
-
-static void
-erase_pattern (cairo_surface_t *surface)
-{
-    cairo_t *cr = cairo_create (surface);
-
-    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */
-    cairo_paint (cr);
-
-    cairo_destroy (cr);
-}
-
-static cairo_test_status_t
-do_test (const cairo_test_context_t *ctx,
-        Display        *dpy,
-        unsigned char  *reference_data,
-        unsigned char  *test_data,
-        unsigned char  *diff_data,
-        cairo_bool_t    use_pixmap,
-        cairo_bool_t    set_size,
-        cairo_bool_t    offscreen)
-{
-    cairo_surface_t *surface;
-    cairo_surface_t *test_surface;
-    cairo_t *test_cr;
-    buffer_diff_result_t result;
-    Drawable drawable;
-    int screen = DefaultScreen (dpy);
-
-    if (use_pixmap && offscreen)
-       return CAIRO_TEST_SUCCESS;
-
-    if (use_pixmap) {
-       drawable = XCreatePixmap (dpy, DefaultRootWindow (dpy),
-                                 SIZE, SIZE, DefaultDepth (dpy, screen));
-    } else {
-       XSetWindowAttributes xwa;
-       int x, y;
-
-       xwa.override_redirect = True;
-
-       if (offscreen) {
-           x = - OFFSCREEN_OFFSET;
-           y = - OFFSCREEN_OFFSET;
-       } else {
-           x = 0;
-           y = 0;
-       }
-
-       drawable = XCreateWindow (dpy, DefaultRootWindow (dpy),
-                                 x, y, SIZE, SIZE, 0,
-                                 DefaultDepth (dpy, screen), InputOutput,
-                                 DefaultVisual (dpy, screen),
-                                 CWOverrideRedirect, &xwa);
-       XMapWindow (dpy, drawable);
-    }
-
-    surface = cairo_xlib_surface_create (dpy,
-                                        drawable,
-                                        DefaultVisual (dpy, screen),
-                                        SIZE, SIZE);
-
-    if (! surface_compare_visual_and_format (surface))
-       return CAIRO_TEST_FAILURE;
-
-    if (set_size) {
-       cairo_xlib_surface_set_size (surface, SIZE, SIZE);
-
-       if (cairo_xlib_surface_get_width (surface) != SIZE ||
-           cairo_xlib_surface_get_height (surface) != SIZE)
-           return CAIRO_TEST_FAILURE;
-    }
-
-    if (! check_similar_visual_and_format (surface))
-       return CAIRO_TEST_FAILURE;
-
-    draw_pattern (surface);
-
-    test_surface = cairo_image_surface_create_for_data (test_data,
-                                                       CAIRO_FORMAT_RGB24,
-                                                       SIZE, SIZE,
-                                                       SIZE * 4);
-
-    test_cr = cairo_create (test_surface);
-    cairo_set_source_surface (test_cr, surface, 0, 0);
-    cairo_paint (test_cr);
-
-    cairo_destroy (test_cr);
-    cairo_surface_destroy (test_surface);
-
-    /* We erase the surface to black in case we get the same
-     * memory back again for the pixmap case.
-     */
-    erase_pattern (surface);
-    cairo_surface_destroy (surface);
-
-    if (use_pixmap)
-       XFreePixmap (dpy, drawable);
-    else
-       XDestroyWindow (dpy, drawable);
-
-    if (offscreen) {
-       size_t offset = 4 * (SIZE * OFFSCREEN_OFFSET + OFFSCREEN_OFFSET);
-
-       buffer_diff_noalpha (reference_data + offset,
-                            test_data + offset,
-                            diff_data + offset,
-                            SIZE - OFFSCREEN_OFFSET,
-                            SIZE - OFFSCREEN_OFFSET,
-                            4 * SIZE,
-                            &result);
-    } else {
-       buffer_diff_noalpha (reference_data,
-                            test_data,
-                            diff_data,
-                            SIZE,
-                            SIZE,
-                            4 * SIZE,
-                            &result);
-    }
-
-    cairo_test_log (ctx, "xlib-surface: %s, %s, %s: %s\n",
-                   set_size ? "   size" : "no-size",
-                   use_pixmap ? "pixmap" : "window",
-                   use_pixmap ?  "           " : (offscreen ? ", offscreen" : ",  onscreen"),
-                   image_diff_is_failure (&result, 0) ? "FAIL" : "PASS");
-
-    if (image_diff_is_failure (&result, 0))
-       return CAIRO_TEST_FAILURE;
-    else
-       return CAIRO_TEST_SUCCESS;
-}
-
-static cairo_bool_t
-check_visual (Display *dpy)
-{
-    Visual *visual = DefaultVisual (dpy, DefaultScreen (dpy));
-
-    if ((visual->red_mask   == 0xff0000 &&
-        visual->green_mask == 0x00ff00 &&
-        visual->blue_mask  == 0x0000ff) ||
-       (visual->red_mask   == 0x0000ff &&
-        visual->green_mask == 0x00ff00 &&
-        visual->blue_mask  == 0xff0000))
-       return 1;
-    else
-       return 0;
-}
-
-#undef xcalloc
-static void *
-xcalloc (const cairo_test_context_t *ctx, size_t a, size_t b)
-{
-    void *ptr = calloc (a, b);
-    if (ptr == NULL) {
-       cairo_test_log (ctx, "xlib-surface: unable to allocate memory, skipping\n");
-       abort ();
-    }
-    return ptr;
-}
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    Display *dpy;
-    unsigned char *reference_data;
-    unsigned char *test_data;
-    unsigned char *diff_data;
-    cairo_surface_t *reference_surface;
-    cairo_bool_t use_pixmap;
-    cairo_bool_t set_size;
-    cairo_bool_t offscreen;
-    cairo_test_status_t status, result = CAIRO_TEST_UNTESTED;
-    int stride;
-
-    if (! cairo_test_is_target_enabled (ctx, "xlib"))
-       goto CLEANUP_TEST;
-
-    dpy = XOpenDisplay (NULL);
-    if (!dpy) {
-       cairo_test_log (ctx, "xlib-surface: Cannot open display, skipping\n");
-       goto CLEANUP_TEST;
-    }
-
-    if (!check_visual (dpy)) {
-       cairo_test_log (ctx, "xlib-surface: default visual is not RGB24 or BGR24, skipping\n");
-       goto CLEANUP_DISPLAY;
-    }
-
-    stride = cairo_format_stride_for_width (CAIRO_FORMAT_RGB24, SIZE);
-
-    reference_data = xcalloc (ctx, SIZE, stride);
-    test_data = xcalloc (ctx, SIZE, stride);
-    diff_data = xcalloc (ctx, SIZE, stride);
-
-    reference_surface = cairo_image_surface_create_for_data (reference_data,
-                                                            CAIRO_FORMAT_RGB24,
-                                                            SIZE, SIZE,
-                                                            stride);
-
-    draw_pattern (reference_surface);
-    cairo_surface_destroy (reference_surface);
-
-    result = CAIRO_TEST_SUCCESS;
-
-    for (set_size = 0; set_size <= 1; set_size++)
-       for (use_pixmap = 0; use_pixmap <= 1; use_pixmap++)
-           for (offscreen = 0; offscreen <= 1; offscreen++) {
-               status = do_test (ctx, dpy,
-                                 reference_data, test_data, diff_data,
-                                 use_pixmap, set_size, offscreen);
-               if (status)
-                   result = status;
-           }
-
-    free (reference_data);
-    free (test_data);
-    free (diff_data);
-
-  CLEANUP_DISPLAY:
-    XCloseDisplay (dpy);
-
-  CLEANUP_TEST:
-    return result;
-}
-
-CAIRO_TEST (xlib_surface,
-           "Check creating surfaces for various XWindows",
-           "xlib", /* keywords */
-           NULL, /* requirements */
-           0, 0,
-           preamble, NULL)
diff --git a/test/zero-alpha.c b/test/zero-alpha.c
deleted file mode 100644 (file)
index 0105cc8..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Carl D. Worth <cworth@cworth.org>
- */
-
-#include "cairo-test.h"
-
-#define SIZE 3
-#define REPS 10
-
-/* History:
- *
- * 2006-06-13 Paul Giblock reports a "Stange alpha channel problem" on
- * the cairo mailing list.
- *
- * 2006-06-13 Carl Worth writes this test in an attempt to reproduce
- * the problem. The test first fills in a 3x3 rectangle with red, then
- * starts pounding on that center pixel with various forms of
- * zero-alpha rendering to see if its value can ever be made to
- * change.
- *
- * 2006-06-13 Paul Giblock reports that this only happens with the
- * xlib backend, and then only on some systems.
- */
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    int i;
-    cairo_surface_t *surface;
-    uint32_t zero = 0;
-
-    /* First paint background red. */
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0); /* red */
-    cairo_paint (cr);
-
-    /* Then we paint zero-alpha in several ways (always REPS times): */
-
-    /* 1. fill a rectangle with a zero-alpha solid source. */
-    cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.0); /* transparent */
-    cairo_rectangle (cr, 1.0, 1.0, 1.0, 1.0);
-    for (i=0; i < REPS; i++)
-       cairo_fill_preserve (cr);
-    cairo_new_path (cr);
-
-    /* 2. paint with a zero-alpha image surface source. */
-    surface = cairo_image_surface_create_for_data ((unsigned char *) &zero,
-                                                  CAIRO_FORMAT_ARGB32, 1, 1, 4);
-    cairo_set_source_surface (cr, surface, 1, 1);
-    for (i=0; i < REPS; i++)
-       cairo_paint (cr);
-
-    /* 3. clip to rectangle then paint with zero-alpha solid source. */
-    cairo_rectangle (cr, 1.0, 1.0, 1.0, 1.0);
-    cairo_clip (cr);
-    cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.0); /* transparent */
-    for (i=0; i < REPS; i++)
-       cairo_paint (cr);
-
-    /* 4. With the clip still there, paint our image surface. */
-    cairo_set_source_surface (cr, surface, 1, 1);
-    for (i=0; i < REPS; i++)
-       cairo_paint (cr);
-
-    cairo_surface_finish (surface); /* zero will go out of scope */
-    cairo_surface_destroy (surface);
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (zero_alpha,
-           "Testing that drawing with zero alpha has no effect",
-           "alpha", /* keywords */
-           NULL, /* requirements */
-           SIZE, SIZE,
-           NULL, draw)
diff --git a/test/zero-mask.c b/test/zero-mask.c
deleted file mode 100644 (file)
index 3d2f34d..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright © 2010 Red Hat, Inc.
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author: Benjamin Otte <otte@gnome.org>
- */
-
-#include "cairo-test.h"
-
-#define RECT 10
-#define SPACE 5
-
-static void
-paint_with_alpha (cairo_t *cr)
-{
-    cairo_paint_with_alpha (cr, 0.0);
-}
-
-static void
-mask_with_solid (cairo_t *cr)
-{
-    cairo_pattern_t *pattern = cairo_pattern_create_rgba (1, 0, 0, 0);
-
-    cairo_mask (cr, pattern);
-    
-    cairo_pattern_destroy (pattern);
-}
-
-static void
-mask_with_empty_gradient (cairo_t *cr)
-{
-    cairo_pattern_t *pattern = cairo_pattern_create_linear (1, 2, 3, 4);
-
-    cairo_mask (cr, pattern);
-    
-    cairo_pattern_destroy (pattern);
-}
-
-static void
-mask_with_gradient (cairo_t *cr)
-{
-    cairo_pattern_t *pattern = cairo_pattern_create_radial (1, 2, 3, 4, 5, 6);
-
-    cairo_pattern_add_color_stop_rgba (pattern, 0, 1, 0, 0, 0);
-    cairo_pattern_add_color_stop_rgba (pattern, 0, 0, 0, 1, 0);
-
-    cairo_mask (cr, pattern);
-    
-    cairo_pattern_destroy (pattern);
-}
-
-static void
-mask_with_surface (cairo_t *cr)
-{
-    cairo_surface_t *surface = cairo_surface_create_similar (cairo_get_target (cr),
-                                                             CAIRO_CONTENT_COLOR_ALPHA,
-                                                             RECT,
-                                                             RECT);
-
-    cairo_mask_surface (cr, surface, 0, 0);
-    
-    cairo_surface_destroy (surface);
-}
-
-static void
-mask_with_alpha_surface (cairo_t *cr)
-{
-    cairo_surface_t *surface = cairo_surface_create_similar (cairo_get_target (cr),
-                                                             CAIRO_CONTENT_ALPHA,
-                                                             RECT / 2,
-                                                             RECT / 2);
-    cairo_pattern_t *pattern = cairo_pattern_create_for_surface (surface);
-    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REFLECT);
-
-    cairo_mask (cr, pattern);
-
-    cairo_pattern_destroy (pattern);
-    cairo_surface_destroy (surface);
-}
-
-static void
-mask_with_nonclear_surface (cairo_t *cr)
-{
-    static unsigned char data[8 * 4] = { 0, };
-    cairo_surface_t *surface = cairo_image_surface_create_for_data (data,
-                                                                    CAIRO_FORMAT_A1,
-                                                                    16, 8, 4);
-
-    cairo_mask_surface (cr, surface, 0, 0);
-
-    cairo_surface_destroy (surface);
-}
-
-static void
-mask_with_0x0_surface (cairo_t *cr)
-{
-    cairo_surface_t *surface = cairo_surface_create_similar (cairo_get_target (cr),
-                                                             CAIRO_CONTENT_COLOR_ALPHA,
-                                                             0, 0);
-
-    cairo_mask_surface (cr, surface, 0, 0);
-    
-    cairo_surface_destroy (surface);
-}
-
-static void
-mask_with_extend_none (cairo_t *cr)
-{
-    cairo_surface_t *surface = cairo_surface_create_similar (cairo_get_target (cr),
-                                                             CAIRO_CONTENT_COLOR_ALPHA,
-                                                             RECT,
-                                                             RECT);
-
-    cairo_mask_surface (cr, surface, 2 * RECT, 2 * RECT);
-    
-    cairo_surface_destroy (surface);
-}
-
-typedef void (* mask_func_t) (cairo_t *);
-
-static mask_func_t mask_funcs[] = {
-  paint_with_alpha,
-  mask_with_solid,
-  mask_with_empty_gradient,
-  mask_with_gradient,
-  mask_with_surface,
-  mask_with_alpha_surface,
-  mask_with_nonclear_surface,
-  mask_with_0x0_surface,
-  mask_with_extend_none
-};
-
-static cairo_operator_t operators[] = {
-  CAIRO_OPERATOR_CLEAR,
-  CAIRO_OPERATOR_SOURCE,
-  CAIRO_OPERATOR_OVER,
-  CAIRO_OPERATOR_IN,
-  CAIRO_OPERATOR_DEST_ATOP,
-  CAIRO_OPERATOR_SATURATE,
-  CAIRO_OPERATOR_MULTIPLY
-};
-
-static cairo_test_status_t
-draw (cairo_t *cr, int width, int height)
-{
-    unsigned int i, op;
-
-    /* 565-compatible gray background */
-    cairo_set_source_rgb (cr, 0.51613, 0.55555, 0.51613);
-    cairo_paint (cr);
-
-    cairo_set_source_rgb (cr, 0.0, 1.0, 0.0); /* green */
-    /* mask with zero-alpha in several ways */
-
-    cairo_translate (cr, SPACE, SPACE);
-
-    for (op = 0; op < ARRAY_LENGTH (operators); op++) {
-        cairo_set_operator (cr, operators[op]);
-
-        for (i = 0; i < ARRAY_LENGTH (mask_funcs); i++) {
-            cairo_save (cr);
-            cairo_translate (cr, i * (RECT + SPACE), op * (RECT + SPACE));
-            cairo_rectangle (cr, 0, 0, RECT, RECT);
-            cairo_clip (cr);
-            mask_funcs[i] (cr);
-            cairo_restore (cr);
-        }
-    }
-
-    return CAIRO_TEST_SUCCESS;
-}
-
-CAIRO_TEST (zero_mask,
-           "Testing that masking with zero alpha works",
-           "alpha, mask", /* keywords */
-           NULL, /* requirements */
-           SPACE + (RECT + SPACE) * ARRAY_LENGTH (mask_funcs),
-           SPACE + (RECT + SPACE) * ARRAY_LENGTH (operators),
-           NULL, draw)
index 82d0a80..ee8cf87 100644 (file)
@@ -11,11 +11,9 @@ SUBDIRS += cairo-script
 endif
 
 if CAIRO_HAS_TRACE
-SUBDIRS += cairo-trace
 if CAIRO_HAS_DLSYM
 if CAIRO_HAS_SCRIPT_SURFACE
 if CAIRO_HAS_TEE_SURFACE
-SUBDIRS += cairo-fdr
 endif
 endif
 endif
@@ -25,7 +23,6 @@ if BUILD_SPHINX
 if CAIRO_HAS_DLSYM
 if CAIRO_HAS_SCRIPT_SURFACE
 if CAIRO_HAS_TEE_SURFACE
-SUBDIRS += cairo-sphinx
 endif
 endif
 endif
diff --git a/util/backtrace-symbols.c b/util/backtrace-symbols.c
deleted file mode 100644 (file)
index 045ad78..0000000
+++ /dev/null
@@ -1,377 +0,0 @@
-/*
-  A hacky replacement for backtrace_symbols in glibc
-
-  backtrace_symbols in glibc looks up symbols using dladdr which is limited in
-  the symbols that it sees. libbacktracesymbols opens the executable and shared
-  libraries using libbfd and will look up backtrace information using the symbol
-  table and the dwarf line information.
-
-  It may make more sense for this program to use libelf instead of libbfd.
-  However, I have not investigated that yet.
-
-  Derived from addr2line.c from GNU Binutils by Jeff Muizelaar
-
-  Copyright 2007 Jeff Muizelaar
-*/
-
-/* addr2line.c -- convert addresses to line number and function name
-   Copyright 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-   Contributed by Ulrich Lauther <Ulrich.Lauther@mchp.siemens.de>
-
-   This file was part of GNU Binutils.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.  */
-
-#define fatal(a, b) exit(1)
-#define bfd_fatal(a) exit(1)
-#define bfd_nonfatal(a) exit(1)
-#define list_matching_formats(a) exit(1)
-
-/* 2 characters for each byte, plus 1 each for 0, x, and NULL */
-#define PTRSTR_LEN (sizeof(void *) * 2 + 3)
-#define true 1
-#define false 0
-
-#define _GNU_SOURCE
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <execinfo.h>
-#include <bfd.h>
-#include <libiberty.h>
-#include <dlfcn.h>
-#include <link.h>
-#if 0
-
-void (*dbfd_init)(void);
-bfd_vma (*dbfd_scan_vma)(const char *string, const char **end, int base);
-bfd* (*dbfd_openr)(const char *filename, const char *target);
-bfd_boolean (*dbfd_check_format)(bfd *abfd, bfd_format format);
-bfd_boolean (*dbfd_check_format_matches)(bfd *abfd, bfd_format format, char ***matching);
-bfd_boolean (*dbfd_close)(bfd *abfd);
-bfd_boolean (*dbfd_map_over_sections)(bfd *abfd, void (*func)(bfd *abfd, asection *sect, void *obj),
-               void *obj);
-#define bfd_init dbfd_init
-
-static void load_funcs(void)
-{
-       void * handle = dlopen("libbfd.so", RTLD_NOW);
-       dbfd_init = dlsym(handle, "bfd_init");
-       dbfd_scan_vma = dlsym(handle, "bfd_scan_vma");
-       dbfd_openr = dlsym(handle, "bfd_openr");
-       dbfd_check_format = dlsym(handle, "bfd_check_format");
-       dbfd_check_format_matches = dlsym(handle, "bfd_check_format_matches");
-       dbfd_close = dlsym(handle, "bfd_close");
-       dbfd_map_over_sections = dlsym(handle, "bfd_map_over_sections");
-}
-
-#endif
-
-
-static asymbol **syms;         /* Symbol table.  */
-
-/* 150 isn't special; it's just an arbitrary non-ASCII char value.  */
-#define OPTION_DEMANGLER       (150)
-
-static void slurp_symtab(bfd * abfd);
-static void find_address_in_section(bfd *abfd, asection *section, void *data);
-
-/* Read in the symbol table.  */
-
-static void slurp_symtab(bfd * abfd)
-{
-       long symcount;
-       unsigned int size;
-
-       if ((bfd_get_file_flags(abfd) & HAS_SYMS) == 0)
-               return;
-
-       symcount = bfd_read_minisymbols(abfd, false, (PTR) & syms, &size);
-       if (symcount == 0)
-               symcount = bfd_read_minisymbols(abfd, true /* dynamic */ ,
-                                               (PTR) & syms, &size);
-
-       if (symcount < 0)
-               bfd_fatal(bfd_get_filename(abfd));
-}
-
-/* These global variables are used to pass information between
-   translate_addresses and find_address_in_section.  */
-
-static bfd_vma pc;
-static const char *filename;
-static const char *functionname;
-static unsigned int line;
-static int found;
-
-/* Look for an address in a section.  This is called via
-   bfd_map_over_sections.  */
-
-static void find_address_in_section(bfd *abfd, asection *section, void *data __attribute__ ((__unused__)) )
-{
-       bfd_vma vma;
-       bfd_size_type size;
-
-       if (found)
-               return;
-
-       if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
-               return;
-
-       vma = bfd_get_section_vma(abfd, section);
-       if (pc < vma)
-               return;
-
-       size = bfd_section_size(abfd, section);
-       if (pc >= vma + size)
-               return;
-
-       found = bfd_find_nearest_line(abfd, section, syms, pc - vma,
-                                     &filename, &functionname, &line);
-}
-
-/* Read hexadecimal addresses from stdin, translate into
-   file_name:line_number and optionally function name.  */
-#if 0
-static void translate_addresses(bfd * abfd, char (*addr)[PTRSTR_LEN], int naddr)
-{
-       while (naddr) {
-               pc = bfd_scan_vma(addr[naddr-1], NULL, 16);
-
-               found = false;
-               bfd_map_over_sections(abfd, find_address_in_section,
-               (PTR) NULL);
-
-               if (!found) {
-                       printf("[%s] \?\?() \?\?:0\n",addr[naddr-1]);
-               } else {
-                       const char *name;
-
-                       name = functionname;
-                       if (name == NULL || *name == '\0')
-                               name = "??";
-                       if (filename != NULL) {
-                               char *h;
-
-                               h = strrchr(filename, '/');
-                               if (h != NULL)
-                                       filename = h + 1;
-                       }
-
-                       printf("\t%s:%u\t", filename ? filename : "??",
-                              line);
-
-                       printf("%s()\n", name);
-
-               }
-
-               /* fflush() is essential for using this command as a server
-                  child process that reads addresses from a pipe and responds
-                  with line number information, processing one address at a
-                  time.  */
-               fflush(stdout);
-               naddr--;
-       }
-}
-#endif
-
-static char** translate_addresses_buf(bfd * abfd, bfd_vma *addr, int naddr)
-{
-       int naddr_orig = naddr;
-       char b;
-       int total  = 0;
-       enum { Count, Print } state;
-       char *buf = &b;
-       int len = 0;
-       char **ret_buf = NULL;
-       /* iterate over the formating twice.
-        * the first time we count how much space we need
-        * the second time we do the actual printing */
-       for (state=Count; state<=Print; state++) {
-       if (state == Print) {
-               ret_buf = malloc(total + sizeof(char*)*naddr);
-               buf = (char*)(ret_buf + naddr);
-               len = total;
-       }
-       while (naddr) {
-               if (state == Print)
-                       ret_buf[naddr-1] = buf;
-               pc = addr[naddr-1];
-
-               found = false;
-               bfd_map_over_sections(abfd, find_address_in_section,
-               (PTR) NULL);
-
-               if (!found) {
-                       total += snprintf(buf, len, "[0x%llx] \?\?() \?\?:0",(long long unsigned int) addr[naddr-1]) + 1;
-               } else {
-                       const char *name;
-
-                       name = functionname;
-                       if (name == NULL || *name == '\0')
-                               name = "??";
-                       if (filename != NULL) {
-                               char *h;
-
-                               h = strrchr(filename, '/');
-                               if (h != NULL)
-                                       filename = h + 1;
-                       }
-                       total += snprintf(buf, len, "%s:%u\t%s()", filename ? filename : "??",
-                              line, name) + 1;
-
-               }
-               if (state == Print) {
-                       /* set buf just past the end of string */
-                       buf = buf + total + 1;
-               }
-               naddr--;
-       }
-       naddr = naddr_orig;
-       }
-       return ret_buf;
-}
-/* Process a file.  */
-
-static char **process_file(const char *file_name, bfd_vma *addr, int naddr)
-{
-       bfd *abfd;
-       char **matching;
-       char **ret_buf;
-
-       abfd = bfd_openr(file_name, NULL);
-
-       if (abfd == NULL)
-               bfd_fatal(file_name);
-
-       if (bfd_check_format(abfd, bfd_archive))
-               fatal("%s: can not get addresses from archive", file_name);
-
-       if (!bfd_check_format_matches(abfd, bfd_object, &matching)) {
-               bfd_nonfatal(bfd_get_filename(abfd));
-               if (bfd_get_error() ==
-                   bfd_error_file_ambiguously_recognized) {
-                       list_matching_formats(matching);
-                       free(matching);
-               }
-               xexit(1);
-       }
-
-       slurp_symtab(abfd);
-
-       ret_buf = translate_addresses_buf(abfd, addr, naddr);
-
-       free (syms);
-       syms = NULL;
-
-       bfd_close(abfd);
-       return ret_buf;
-}
-
-#define MAX_DEPTH 16
-
-struct file_match {
-       const char *file;
-       void *address;
-       void *base;
-       void *hdr;
-};
-
-static int find_matching_file(struct dl_phdr_info *info,
-               size_t size, void *data)
-{
-       struct file_match *match = data;
-       /* This code is modeled from Gfind_proc_info-lsb.c:callback() from libunwind */
-       long n;
-       const ElfW(Phdr) *phdr;
-       ElfW(Addr) load_base = info->dlpi_addr;
-       phdr = info->dlpi_phdr;
-       for (n = info->dlpi_phnum; --n >= 0; phdr++) {
-               if (phdr->p_type == PT_LOAD) {
-                       ElfW(Addr) vaddr = phdr->p_vaddr + load_base;
-                       if (match->address >= vaddr && match->address < vaddr + phdr->p_memsz) {
-                               /* we found a match */
-                               match->file = info->dlpi_name;
-                               match->base = info->dlpi_addr;
-                       }
-               }
-       }
-       return 0;
-}
-
-char **backtrace_symbols(void *const *buffer, int size)
-{
-       int stack_depth = size - 1;
-       int x,y;
-       /* discard calling function */
-       int total = 0;
-
-       char ***locations;
-       char **final;
-       char *f_strings;
-
-       locations = malloc(sizeof(char**) * (stack_depth+1));
-
-       bfd_init();
-       for(x=stack_depth, y=0; x>=0; x--, y++){
-               struct file_match match = { .address = buffer[x] };
-               char **ret_buf;
-               bfd_vma addr;
-               dl_iterate_phdr(find_matching_file, &match);
-               addr = buffer[x] - match.base;
-               if (match.file && strlen(match.file))
-                       ret_buf = process_file(match.file, &addr, 1);
-               else
-                       ret_buf = process_file("/proc/self/exe", &addr, 1);
-               locations[x] = ret_buf;
-               total += strlen(ret_buf[0]) + 1;
-       }
-
-       /* allocate the array of char* we are going to return and extra space for
-        * all of the strings */
-       final = malloc(total + (stack_depth + 1) * sizeof(char*));
-       /* get a pointer to the extra space */
-       f_strings = (char*)(final + stack_depth + 1);
-
-       /* fill in all of strings and pointers */
-       for(x=stack_depth; x>=0; x--){
-               strcpy(f_strings, locations[x][0]);
-               free(locations[x]);
-               final[x] = f_strings;
-               f_strings += strlen(f_strings) + 1;
-       }
-
-       free(locations);
-
-       return final;
-}
-
-void
-backtrace_symbols_fd(void *const *buffer, int size, int fd)
-{
-        int j;
-        char **strings;
-
-        strings = backtrace_symbols(buffer, size);
-        if (strings == NULL) {
-               perror("backtrace_symbols");
-               exit(EXIT_FAILURE);
-        }
-
-        for (j = 0; j < size; j++)
-               printf("%s\n", strings[j]);
-
-        free(strings);
-}
diff --git a/util/cairo-fdr/Makefile.am b/util/cairo-fdr/Makefile.am
deleted file mode 100644 (file)
index 5cd5798..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-cairolibdir = $(libdir)/cairo
-
-#bin_SCRIPTS = cairo-fdr
-cairolib_LTLIBRARIES = cairo-fdr.la
-
-AM_CPPFLAGS = -I$(top_srcdir)/src \
-             -I$(top_builddir)/src
-
-cairo_fdr_la_SOURCES = fdr.c
-cairo_fdr_la_CPPFLAGS = $(AM_CPPFLAGS)
-cairo_fdr_la_CFLAGS = $(CAIRO_CFLAGS)
-cairo_fdr_la_LDFLAGS = -module -no-undefined
-cairo_fdr_la_LIBADD = -ldl
diff --git a/util/cairo-fdr/fdr.c b/util/cairo-fdr/fdr.c
deleted file mode 100644 (file)
index 08d9c01..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-/* cairo-fdr - a 'flight data recorder', a black box, for cairo
- *
- * Copyright © 2009 Chris Wilson
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#define _GNU_SOURCE
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <cairo.h>
-#include <cairo-script.h>
-#include <cairo-tee.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <signal.h>
-
-#include <dlfcn.h>
-
-static void *_dlhandle = RTLD_NEXT;
-#define DLCALL(name, args...) ({ \
-    static typeof (&name) name##_real; \
-    if (name##_real == NULL) { \
-       name##_real = dlsym (_dlhandle, #name); \
-       if (name##_real == NULL && _dlhandle == RTLD_NEXT) { \
-           _dlhandle = dlopen ("libcairo.so", RTLD_LAZY); \
-           name##_real = dlsym (_dlhandle, #name); \
-           assert (name##_real != NULL); \
-       } \
-    } \
-    (*name##_real) (args);  \
-})
-
-#define RINGBUFFER_SIZE 16
-static cairo_surface_t *fdr_ringbuffer[RINGBUFFER_SIZE];
-static int fdr_position;
-static int fdr_dump;
-
-static const cairo_user_data_key_t fdr_key;
-
-static void
-fdr_replay_to_script (cairo_surface_t *recording, cairo_device_t *ctx)
-{
-    if (recording != NULL) {
-       DLCALL (cairo_script_write_comment, ctx, "--- fdr ---", -1);
-       DLCALL (cairo_script_from_recording_surface, ctx, recording);
-    }
-}
-
-static void
-fdr_dump_ringbuffer (void)
-{
-    cairo_device_t *ctx;
-    int n;
-
-    ctx = DLCALL (cairo_script_create, "/tmp/fdr.trace");
-
-    for (n = fdr_position; n < RINGBUFFER_SIZE; n++)
-       fdr_replay_to_script (fdr_ringbuffer[n], ctx);
-
-    for (n = 0; n < fdr_position; n++)
-       fdr_replay_to_script (fdr_ringbuffer[n], ctx);
-
-    DLCALL (cairo_device_destroy, ctx);
-}
-
-static void
-fdr_sighandler (int sig)
-{
-    fdr_dump = 1;
-}
-
-static void
-fdr_urgent_sighandler (int sig)
-{
-    fdr_dump_ringbuffer ();
-}
-
-static void
-fdr_atexit (void)
-{
-    if (fdr_dump)
-       fdr_dump_ringbuffer ();
-}
-
-static void
-fdr_pending_signals (void)
-{
-    static int initialized;
-
-    if (! initialized) {
-       initialized = 1;
-
-       signal (SIGUSR1, fdr_sighandler);
-
-       signal (SIGSEGV, fdr_urgent_sighandler);
-       signal (SIGABRT, fdr_urgent_sighandler);
-       atexit (fdr_atexit);
-    }
-
-    if (fdr_dump) {
-       fdr_dump_ringbuffer ();
-       fdr_dump = 0;
-    }
-}
-
-static void
-fdr_get_extents (cairo_surface_t *surface,
-                cairo_rectangle_t *extents)
-{
-    cairo_t *cr;
-
-    cr = DLCALL (cairo_create, surface);
-    DLCALL (cairo_clip_extents, cr,
-           &extents->x, &extents->y, &extents->width, &extents->height);
-    DLCALL (cairo_destroy, cr);
-
-    extents->width -= extents->x;
-    extents->height -= extents->y;
-}
-
-static void
-fdr_surface_destroy (void *surface)
-{
-    DLCALL (cairo_surface_destroy, surface);
-}
-
-static void
-fdr_surface_reference (void *surface)
-{
-    DLCALL (cairo_surface_reference, surface);
-}
-
-static cairo_surface_t *
-fdr_surface_get_tee (cairo_surface_t *surface)
-{
-    return DLCALL (cairo_surface_get_user_data, surface, &fdr_key);
-}
-
-static cairo_surface_t *
-fdr_tee_surface_index (cairo_surface_t *surface, int index)
-{
-    return DLCALL (cairo_tee_surface_index, surface, index);
-}
-
-cairo_t *
-cairo_create (cairo_surface_t *surface)
-{
-    cairo_surface_t *record, *tee;
-
-    fdr_pending_signals ();
-
-    tee = fdr_surface_get_tee (surface);
-    if (tee == NULL) {
-       cairo_rectangle_t extents;
-       cairo_content_t content;
-
-       fdr_get_extents (surface, &extents);
-       content = DLCALL (cairo_surface_get_content, surface);
-
-       tee = DLCALL (cairo_tee_surface_create, surface);
-       record = DLCALL (cairo_recording_surface_create, content, &extents);
-       DLCALL (cairo_tee_surface_add, tee, record);
-
-       DLCALL (cairo_surface_set_user_data, surface,
-               &fdr_key, tee, fdr_surface_destroy);
-    } else {
-       int n;
-
-       record = fdr_tee_surface_index (tee, 1);
-
-       /* update the position of the recording surface in the ringbuffer */
-       for (n = 0; n < RINGBUFFER_SIZE; n++) {
-           if (record == fdr_ringbuffer[n]) {
-               fdr_ringbuffer[n] = NULL;
-               break;
-           }
-       }
-    }
-
-    fdr_surface_destroy (fdr_ringbuffer[fdr_position]);
-    fdr_ringbuffer[fdr_position] = record;
-    fdr_position = (fdr_position + 1) % RINGBUFFER_SIZE;
-
-    return DLCALL (cairo_create, tee);
-}
-
-static void
-fdr_remove_tee (cairo_surface_t *surface)
-{
-    fdr_surface_reference (surface);
-    DLCALL (cairo_surface_set_user_data, surface, &fdr_key, NULL, NULL);
-    fdr_surface_destroy (surface);
-}
-
-void
-cairo_destroy (cairo_t *cr)
-{
-    cairo_surface_t *tee;
-
-    tee = DLCALL (cairo_get_target, cr);
-    DLCALL (cairo_destroy, cr);
-
-    if (DLCALL (cairo_surface_get_reference_count, tee) == 1)
-       fdr_remove_tee (fdr_tee_surface_index (tee, 0));
-}
-
-void
-cairo_pattern_destroy (cairo_pattern_t *pattern)
-{
-    if (DLCALL (cairo_pattern_get_type, pattern) == CAIRO_PATTERN_TYPE_SURFACE) {
-       cairo_surface_t *surface;
-
-       if (DLCALL (cairo_pattern_get_surface, pattern, &surface) == CAIRO_STATUS_SUCCESS &&
-           DLCALL (cairo_surface_get_type, surface) == CAIRO_SURFACE_TYPE_TEE &&
-           DLCALL (cairo_surface_get_reference_count, surface) == 2)
-       {
-           fdr_remove_tee (fdr_tee_surface_index (surface, 0));
-       }
-    }
-
-    DLCALL (cairo_pattern_destroy, pattern);
-}
-
-cairo_surface_t *
-cairo_get_target (cairo_t *cr)
-{
-    cairo_surface_t *tee;
-
-    tee = DLCALL (cairo_get_target, cr);
-    return fdr_tee_surface_index (tee, 0);
-}
-
-cairo_surface_t *
-cairo_get_group_target (cairo_t *cr)
-{
-    cairo_surface_t *tee;
-
-    tee = DLCALL (cairo_get_group_target, cr);
-    return fdr_tee_surface_index (tee, 0);
-}
-
-cairo_pattern_t *
-cairo_pattern_create_for_surface (cairo_surface_t *surface)
-{
-    cairo_surface_t *tee;
-
-    tee = fdr_surface_get_tee (surface);
-    if (tee != NULL)
-       surface = tee;
-
-    return DLCALL (cairo_pattern_create_for_surface, surface);
-}
-
-cairo_status_t
-cairo_pattern_get_surface (cairo_pattern_t *pattern,
-                          cairo_surface_t **surface)
-{
-    cairo_status_t status;
-    cairo_surface_t *tee;
-
-    status = DLCALL (cairo_pattern_get_surface, pattern, surface);
-    if (status != CAIRO_STATUS_SUCCESS)
-       return status;
-
-    tee = fdr_surface_get_tee (*surface);
-    if (tee != NULL)
-       *surface = tee;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-void
-cairo_set_source_surface (cairo_t *cr,
-                         cairo_surface_t *surface,
-                         double x, double y)
-{
-    cairo_surface_t *tee;
-
-    tee = fdr_surface_get_tee (surface);
-    if (tee != NULL)
-       surface = tee;
-
-    DLCALL (cairo_set_source_surface, cr, surface, x, y);
-}
-
-cairo_surface_t *
-cairo_surface_create_similar (cairo_surface_t *surface,
-                             cairo_content_t content,
-                             int width, int height)
-{
-    cairo_surface_t *tee;
-
-    tee = fdr_surface_get_tee (surface);
-    if (tee != NULL)
-       surface = tee;
-
-    return DLCALL (cairo_surface_create_similar,
-                  surface, content, width, height);
-}
-
-cairo_surface_t *
-cairo_surface_create_for_rectangle (cairo_surface_t *surface,
-                                    double              x,
-                                    double              y,
-                                    double              width,
-                                    double              height)
-{
-    cairo_surface_t *tee;
-
-    tee = fdr_surface_get_tee (surface);
-    if (tee != NULL)
-       surface = tee;
-
-    return DLCALL (cairo_surface_create_for_rectangle,
-                  surface, x, y, width, height);
-}
index f43a6d0..e82cbc0 100644 (file)
@@ -117,7 +117,7 @@ cairo_gobject_line_cap_get_type (void);
 cairo_public GType
 cairo_gobject_line_join_get_type (void);
 
-#define CAIRO_GOBJECT_TYPE_CLUSTER_FLAGS cairo_gobject_cluster_flags_get_type ()
+#define CAIRO_GOBJECT_TYPE_TEXT_CLUSTER_FLAGS cairo_gobject_text_cluster_flags_get_type ()
 cairo_public GType
 cairo_gobject_text_cluster_flags_get_type (void);
 
@@ -137,7 +137,9 @@ cairo_gobject_subpixel_order_get_type (void);
 cairo_public GType
 cairo_gobject_hint_style_get_type (void);
 
+/* historical accident */
 #define CAIRO_GOBJECT_TYPE_HNT_METRICS cairo_gobject_hint_metrics_get_type ()
+#define CAIRO_GOBJECT_TYPE_HINT_METRICS cairo_gobject_hint_metrics_get_type ()
 cairo_public GType
 cairo_gobject_hint_metrics_get_type (void);
 
index c2f55a3..d5c2998 100644 (file)
@@ -15,7 +15,7 @@ libcairo_script_interpreter_la_SOURCES = \
        $(NULL)
 libcairo_script_interpreter_la_CFLAGS = $(CAIRO_CFLAGS)
 libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols)
-libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) -lz
+libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(lzo_LIBS) -lz
 
 csi_replay_SOURCES = csi-replay.c
 csi_replay_CFLAGS = $(CAIRO_CFLAGS)
index 34f2964..85d292c 100644 (file)
 #include <string.h>
 #include <zlib.h>
 
+#if HAVE_LZO
+#include <lzo/lzo2a.h>
+#endif
+
 #define CHUNK_SIZE 32768
 
 #define OWN_STREAM 0x1
@@ -166,12 +170,32 @@ csi_file_new_from_string (csi_t *ctx,
            return status;
 
        tmp_str = tmp_obj.datum.string;
-       if (uncompress ((Bytef *) tmp_str->string, &len,
-                       (Bytef *) src->string, src->len) != Z_OK)
-       {
+       switch (src->method) {
+       case NONE:
+       default:
+           status = _csi_error (CAIRO_STATUS_NO_MEMORY);
+           break;
+
+#if HAVE_ZLIB
+       case ZLIB:
+           if (uncompress ((Bytef *) tmp_str->string, &len,
+                           (Bytef *) src->string, src->len) != Z_OK)
+               status = _csi_error (CAIRO_STATUS_NO_MEMORY);
+           break;
+#endif
+#if HAVE_LZO
+       case LZO:
+           if (lzo2a_decompress ((lzo_bytep) src->string, src->len,
+                                 (lzo_bytep) tmp_str->string, &len,
+                                 NULL))
+               status = _csi_error (CAIRO_STATUS_NO_MEMORY);
+           break;
+#endif
+       }
+       if (_csi_unlikely (status)) {
            csi_string_free (ctx, tmp_str);
            _csi_slab_free (ctx, file, sizeof (csi_file_t));
-           return _csi_error (CAIRO_STATUS_NO_MEMORY);
+           return status;
        }
 
        file->src  = tmp_str;
index 4d11103..0a230e8 100644 (file)
@@ -271,6 +271,12 @@ _csi_hash_table_manage (csi_hash_table_t *hash_table)
            hash_table->entries[i] = DEAD_ENTRY;
 
            pos = _csi_hash_table_lookup_unique_key (&tmp, entry);
+           if (pos == NULL) {
+               if (realloc)
+                   free (tmp.entries);
+               return _csi_error (CAIRO_STATUS_NULL_POINTER);
+           }
+
            if (ENTRY_IS_FREE (*pos))
                hash_table->used_entries++;
 
@@ -375,6 +381,9 @@ _csi_hash_table_insert (csi_hash_table_t *hash_table,
 
     entry = _csi_hash_table_lookup_unique_key (hash_table,
                                               key_and_value);
+    if (entry == NULL)
+       return CAIRO_STATUS_NULL_POINTER;
+
     if (ENTRY_IS_FREE (*entry))
        hash_table->used_entries++;
 
@@ -426,7 +435,11 @@ void
 _csi_hash_table_remove (csi_hash_table_t *hash_table,
                          csi_hash_entry_t *key)
 {
-    *_csi_hash_table_lookup_exact_key (hash_table, key) = DEAD_ENTRY;
+    csi_hash_entry_t **entry = _csi_hash_table_lookup_exact_key (hash_table, key);
+    if (entry == NULL)
+       return;
+
+    *entry = DEAD_ENTRY;
     hash_table->live_entries--;
 
     /* Check for table resize. Don't do this when iterating as this will
index bbdd15d..27fb986 100644 (file)
@@ -65,6 +65,12 @@ typedef void
 (*csi_copy_page_func_t) (void *closure,
                         cairo_t *cr);
 
+typedef cairo_surface_t *
+(*csi_create_source_image_t) (void *closure,
+                             cairo_format_t format,
+                             int width, int height,
+                             long uid);
+
 typedef struct _cairo_script_interpreter_hooks {
     void *closure;
     csi_surface_create_func_t surface_create;
@@ -73,6 +79,7 @@ typedef struct _cairo_script_interpreter_hooks {
     csi_destroy_func_t context_destroy;
     csi_show_page_func_t show_page;
     csi_copy_page_func_t copy_page;
+    csi_create_source_image_t create_source_image;
 } cairo_script_interpreter_hooks_t;
 
 cairo_public cairo_script_interpreter_t *
index adf6160..a625489 100644 (file)
@@ -508,6 +508,7 @@ csi_string_new (csi_t *ctx,
     }
     string->len = len;
     string->deflate = 0;
+    string->method = NONE;
 
     string->base.type = CSI_OBJECT_TYPE_STRING;
     string->base.ref = 1;
@@ -534,6 +535,7 @@ csi_string_deflate_new (csi_t *ctx,
 
     string = obj->datum.string;
     string->deflate = out_len;
+    string->method = ZLIB;
 
     return CSI_STATUS_SUCCESS;
 }
@@ -556,6 +558,7 @@ csi_string_new_from_bytes (csi_t *ctx,
     string->string = bytes;
     string->len = len;
     string->deflate = 0;
+    string->method = NONE;
 
     string->base.type = CSI_OBJECT_TYPE_STRING;
     string->base.ref = 1;
index 8df03d6..b14579c 100644 (file)
 #include <math.h>
 #include <limits.h> /* INT_MAX */
 #include <assert.h>
+
+#if HAVE_ZLIB
 #include <zlib.h>
+#endif
+
+#if HAVE_LZO
+#include <lzo/lzo2a.h>
+#endif
 
 #ifdef HAVE_MMAP
 # ifdef HAVE_UNISTD_H
@@ -1756,17 +1763,37 @@ inflate_string (csi_t *ctx, csi_string_t *src)
     if (bytes == NULL)
        return NULL;
 
-    if (uncompress ((Bytef *) bytes, &len,
-                   (Bytef *) src->string, src->len) != Z_OK)
-    {
-       _csi_free (ctx, bytes);
-       bytes = NULL;
-    }
-    else
-    {
-       bytes[len] = '\0';
+    switch (src->method) {
+    default:
+    case NONE:
+       free (bytes);
+       return NULL;
+
+#if HAVE_ZLIB
+    case ZLIB:
+       if (uncompress ((Bytef *) bytes, &len,
+                       (Bytef *) src->string, src->len) != Z_OK)
+       {
+           _csi_free (ctx, bytes);
+           return NULL;
+       }
+       break;
+#endif
+
+#if HAVE_LZO
+    case LZO:
+       if (lzo2a_decompress ((Bytef *) src->string, src->len,
+                             (Bytef *) bytes, &len,
+                             NULL))
+       {
+           _csi_free (ctx, bytes);
+           return NULL;
+       }
+       break;
+#endif
     }
 
+    bytes[len] = '\0';
     return bytes;
 }
 
@@ -1808,6 +1835,9 @@ _ft_create_for_source (csi_t *ctx,
     }
 
     data = _csi_slab_alloc (ctx, sizeof (*data));
+    if (data == NULL)
+       return _csi_error (CSI_STATUS_NO_MEMORY);
+
     data->bytes = NULL;
     data->source = source;
 
@@ -1922,6 +1952,7 @@ _ft_create_for_pattern (csi_t *ctx,
     if (bytes != tmpl.bytes)
        _csi_free (ctx, bytes);
 
+retry:
     resolved = pattern;
     if (cairo_version () < CAIRO_VERSION_ENCODE (1, 9, 0)) {
        /* prior to 1.9, you needed to pass a resolved pattern */
@@ -1933,11 +1964,33 @@ _ft_create_for_pattern (csi_t *ctx,
     }
 
     font_face = cairo_ft_font_face_create_for_pattern (resolved);
-    FcPatternDestroy (resolved);
     if (resolved != pattern)
-       FcPatternDestroy (pattern);
+       FcPatternDestroy (resolved);
+
+    if (cairo_font_face_status (font_face)) {
+       char *filename = NULL;
+
+       /* Try a manual fallback process by eliminating specific requests */
+
+       if (FcPatternGetString (pattern,
+                               FC_FILE, 0,
+                               (FcChar8 **) &filename) == FcResultMatch) {
+           FcPatternDel (pattern, FC_FILE);
+           if(font_face)
+               cairo_font_face_destroy (font_face);
+           goto retry;
+       }
+    }
+
+    FcPatternDestroy (pattern);
 
     data = _csi_slab_alloc (ctx, sizeof (*data));
+    if (_csi_unlikely (data == NULL)) {
+       if(font_face)
+           cairo_font_face_destroy (font_face);
+       return _csi_error (CSI_STATUS_NO_MEMORY);
+    }
+
     ctx->_faces = _csi_list_prepend (ctx->_faces, &data->blob.list);
     data->ctx = cairo_script_interpreter_reference (ctx);
     data->blob.hash = tmpl.hash;
@@ -2850,7 +2903,8 @@ _ifelse (csi_t *ctx)
 }
 
 static csi_status_t
-_image_read_raw (csi_file_t *src,
+_image_read_raw (csi_t *ctx,
+                csi_object_t *src,
                 cairo_format_t format,
                 int width, int height,
                 cairo_surface_t **image_out)
@@ -2860,20 +2914,36 @@ _image_read_raw (csi_file_t *src,
     int rem, len, ret, x, rowlen, instride, stride;
     cairo_status_t status;
 
-    stride = cairo_format_stride_for_width (format, width);
-    data = malloc (stride * height);
-    if (data == NULL)
-       return CAIRO_STATUS_NO_MEMORY;
+    if (width == 0 || height == 0) {
+       *image_out = cairo_image_surface_create (format, 0, 0);
+       return CSI_STATUS_SUCCESS;
+    }
 
-    image = cairo_image_surface_create_for_data (data, format,
-                                                width, height, stride);
-    status = cairo_surface_set_user_data (image,
-                                         (const cairo_user_data_key_t *) image,
-                                         data, free);
-    if (status) {
-       cairo_surface_destroy (image);
-       free (image);
-       return status;
+    if (ctx->hooks.create_source_image != NULL) {
+       image = ctx->hooks.create_source_image (ctx->hooks.closure,
+                                               format, width, height,
+                                               0);
+
+       stride = cairo_image_surface_get_stride (image);
+       data = cairo_image_surface_get_data (image);
+       if (data == NULL)
+           return CAIRO_STATUS_NULL_POINTER;
+       } else {
+       stride = cairo_format_stride_for_width (format, width);
+       data = malloc (stride * height);
+       if (data == NULL)
+           return CAIRO_STATUS_NO_MEMORY;
+
+       image = cairo_image_surface_create_for_data (data, format,
+                                                    width, height, stride);
+       status = cairo_surface_set_user_data (image,
+                                             (const cairo_user_data_key_t *) image,
+                                             data, free);
+       if (status) {
+           cairo_surface_destroy (image);
+           free (image);
+           return status;
+       }
     }
 
     switch (format) {
@@ -2899,192 +2969,236 @@ _image_read_raw (csi_file_t *src,
     }
     len = rowlen * height;
 
-    bp = data;
-    rem = len;
-    while (rem) {
-       ret = csi_file_read (src, bp, rem);
-       if (_csi_unlikely (ret == 0)) {
+    if (rowlen == instride &&
+       src->type == CSI_OBJECT_TYPE_STRING &&
+       len == src->datum.string->deflate)
+    {
+       csi_string_t *s = src->datum.string;
+       unsigned long out = s->deflate;
+
+       switch (s->method) {
+       default:
+       case NONE:
+err_decompress:
            cairo_surface_destroy (image);
            return _csi_error (CSI_STATUS_READ_ERROR);
+
+#if HAVE_ZLIB
+       case ZLIB:
+           if (uncompress ((Bytef *) data, &out,
+                           (Bytef *) s->string, s->len) != Z_OK)
+               goto err_decompress;
+           break;
+#endif
+
+#if HAVE_LZO
+       case LZO:
+           if (lzo2a_decompress ((Bytef *) s->string, s->len,
+                                 (Bytef *) data, &out,
+                                 NULL))
+               goto err_decompress;
+           break;
+#endif
        }
-       rem -= ret;
-       bp += ret;
     }
+    else
+    {
+       csi_object_t file;
 
-    if (len != height * stride) {
-       while (--height) {
-           uint8_t *row = data + height * stride;
+       status = csi_object_as_file (ctx, src, &file);
+       if (_csi_unlikely (status)) {
+           cairo_surface_destroy (image);
+           return status;
+       }
+
+       bp = data;
+       rem = len;
+       while (rem) {
+           ret = csi_file_read (file.datum.file, bp, rem);
+           if (_csi_unlikely (ret == 0)) {
+               cairo_surface_destroy (image);
+               return _csi_error (CSI_STATUS_READ_ERROR);
+           }
+           rem -= ret;
+           bp += ret;
+       }
 
-           /* XXX pixel conversion */
+       if (len != height * stride) {
+           while (--height) {
+               uint8_t *row = data + height * stride;
+
+               /* XXX pixel conversion */
+               switch (format) {
+               case CAIRO_FORMAT_A1:
+                   for (x = rowlen; x--; ) {
+                       uint8_t byte = *--bp;
+                       row[x] = CSI_BITSWAP8_IF_LITTLE_ENDIAN (byte);
+                   }
+                   break;
+               case CAIRO_FORMAT_A8:
+                   for (x = width; x--; )
+                       row[x] = *--bp;
+                   break;
+               case CAIRO_FORMAT_RGB16_565:
+                   for (x = width; x--; ) {
+#ifdef WORDS_BIGENDIAN
+                       row[2*x + 1] = *--bp;
+                       row[2*x + 0] = *--bp;
+#else
+                       row[2*x + 0] = *--bp;
+                       row[2*x + 1] = *--bp;
+#endif
+                   }
+                   break;
+               case CAIRO_FORMAT_RGB24:
+                   for (x = width; x--; ) {
+#ifdef WORDS_BIGENDIAN
+                       row[4*x + 3] = *--bp;
+                       row[4*x + 2] = *--bp;
+                       row[4*x + 1] = *--bp;
+                       row[4*x + 0] = 0xff;
+#else
+                       row[4*x + 0] = *--bp;
+                       row[4*x + 1] = *--bp;
+                       row[4*x + 2] = *--bp;
+                       row[4*x + 3] = 0xff;
+#endif
+                   }
+                   break;
+               case CAIRO_FORMAT_RGB30:
+               case CAIRO_FORMAT_INVALID:
+               case CAIRO_FORMAT_ARGB32:
+                   /* stride == width */
+                   break;
+               }
+
+               memset (row + instride, 0, stride - instride);
+           }
+
+           /* need to treat last row carefully */
            switch (format) {
            case CAIRO_FORMAT_A1:
                for (x = rowlen; x--; ) {
                    uint8_t byte = *--bp;
-                   row[x] = CSI_BITSWAP8_IF_LITTLE_ENDIAN (byte);
+                   data[x] = CSI_BITSWAP8_IF_LITTLE_ENDIAN (byte);
                }
                break;
            case CAIRO_FORMAT_A8:
                for (x = width; x--; )
-                   row[x] = *--bp;
+                   data[x] = *--bp;
                break;
            case CAIRO_FORMAT_RGB16_565:
                for (x = width; x--; ) {
 #ifdef WORDS_BIGENDIAN
-                   row[2*x + 1] = *--bp;
-                   row[2*x + 0] = *--bp;
+                   data[2*x + 1] = *--bp;
+                   data[2*x + 0] = *--bp;
 #else
-                   row[2*x + 0] = *--bp;
-                   row[2*x + 1] = *--bp;
+                   data[2*x + 0] = *--bp;
+                   data[2*x + 1] = *--bp;
 #endif
                }
                break;
            case CAIRO_FORMAT_RGB24:
-               for (x = width; x--; ) {
+               for (x = width; --x>1; ) {
 #ifdef WORDS_BIGENDIAN
-                   row[4*x + 3] = *--bp;
-                   row[4*x + 2] = *--bp;
-                   row[4*x + 1] = *--bp;
-                   row[4*x + 0] = 0xff;
+                   data[4*x + 3] = *--bp;
+                   data[4*x + 2] = *--bp;
+                   data[4*x + 1] = *--bp;
+                   data[4*x + 0] = 0xff;
 #else
-                   row[4*x + 0] = *--bp;
-                   row[4*x + 1] = *--bp;
-                   row[4*x + 2] = *--bp;
-                   row[4*x + 3] = 0xff;
+                   data[4*x + 0] = *--bp;
+                   data[4*x + 1] = *--bp;
+                   data[4*x + 2] = *--bp;
+                   data[4*x + 3] = 0xff;
 #endif
                }
-               break;
-           case CAIRO_FORMAT_RGB30:
-           case CAIRO_FORMAT_INVALID:
-           case CAIRO_FORMAT_ARGB32:
-               /* stride == width */
-               break;
-           }
-
-           memset (row + instride, 0, stride - instride);
-       }
-
-       /* need to treat last row carefully */
-       switch (format) {
-       case CAIRO_FORMAT_A1:
-           for (x = rowlen; x--; ) {
-               uint8_t byte = *--bp;
-               data[x] = CSI_BITSWAP8_IF_LITTLE_ENDIAN (byte);
-           }
-           break;
-       case CAIRO_FORMAT_A8:
-           for (x = width; x--; )
-               data[x] = *--bp;
-           break;
-       case CAIRO_FORMAT_RGB16_565:
-           for (x = width; x--; ) {
+               if (width > 1) {
+                   uint8_t rgb[2][3];
+                   /* shuffle the last couple of overlapping pixels */
+                   rgb[1][0] = data[5];
+                   rgb[1][1] = data[4];
+                   rgb[1][2] = data[3];
+                   rgb[0][0] = data[2];
+                   rgb[0][1] = data[1];
+                   rgb[0][2] = data[0];
 #ifdef WORDS_BIGENDIAN
-               data[2*x + 1] = *--bp;
-               data[2*x + 0] = *--bp;
+                   data[4] = 0xff;
+                   data[5] = rgb[1][2];
+                   data[6] = rgb[1][1];
+                   data[7] = rgb[1][0];
+                   data[0] = 0xff;
+                   data[1] = rgb[0][2];
+                   data[2] = rgb[0][1];
+                   data[3] = rgb[0][0];
 #else
-               data[2*x + 0] = *--bp;
-               data[2*x + 1] = *--bp;
+                   data[7] = 0xff;
+                   data[6] = rgb[1][2];
+                   data[5] = rgb[1][1];
+                   data[4] = rgb[1][0];
+                   data[3] = 0xff;
+                   data[2] = rgb[0][2];
+                   data[1] = rgb[0][1];
+                   data[0] = rgb[0][0];
 #endif
-           }
-           break;
-       case CAIRO_FORMAT_RGB24:
-           for (x = width; --x>1; ) {
+               } else {
 #ifdef WORDS_BIGENDIAN
-               data[4*x + 3] = *--bp;
-               data[4*x + 2] = *--bp;
-               data[4*x + 1] = *--bp;
-               data[4*x + 0] = 0xff;
+                   data[0] = 0xff;
+                   data[1] = data[0];
+                   data[2] = data[1];
+                   data[3] = data[2];
 #else
-               data[4*x + 0] = *--bp;
-               data[4*x + 1] = *--bp;
-               data[4*x + 2] = *--bp;
-               data[4*x + 3] = 0xff;
-#endif
-           }
-           if (width > 1) {
-               uint8_t rgb[2][3];
-               /* shuffle the last couple of overlapping pixels */
-               rgb[1][0] = data[5];
-               rgb[1][1] = data[4];
-               rgb[1][2] = data[3];
-               rgb[0][0] = data[2];
-               rgb[0][1] = data[1];
-               rgb[0][2] = data[0];
-#ifdef WORDS_BIGENDIAN
-               data[4] = 0xff;
-               data[5] = rgb[1][2];
-               data[6] = rgb[1][1];
-               data[7] = rgb[1][0];
-               data[0] = 0xff;
-               data[1] = rgb[0][2];
-               data[2] = rgb[0][1];
-               data[3] = rgb[0][0];
-#else
-               data[7] = 0xff;
-               data[6] = rgb[1][2];
-               data[5] = rgb[1][1];
-               data[4] = rgb[1][0];
-               data[3] = 0xff;
-               data[2] = rgb[0][2];
-               data[1] = rgb[0][1];
-               data[0] = rgb[0][0];
-#endif
-           } else {
-#ifdef WORDS_BIGENDIAN
-               data[0] = 0xff;
-               data[1] = data[0];
-               data[2] = data[1];
-               data[3] = data[2];
-#else
-               data[3] = data[0];
-               data[0] = data[2];
-               data[2] = data[3];
-               data[3] = 0xff;
+                   data[3] = data[0];
+                   data[0] = data[2];
+                   data[2] = data[3];
+                   data[3] = 0xff;
 #endif
+               }
+               break;
+           case CAIRO_FORMAT_RGB30:
+           case CAIRO_FORMAT_INVALID:
+           case CAIRO_FORMAT_ARGB32:
+               /* stride == width */
+               break;
            }
-           break;
-       case CAIRO_FORMAT_RGB30:
-       case CAIRO_FORMAT_INVALID:
-       case CAIRO_FORMAT_ARGB32:
-           /* stride == width */
-           break;
-       }
-       memset (data + instride, 0, stride - instride);
-    } else {
+           memset (data + instride, 0, stride - instride);
+       } else {
 #ifndef WORDS_BIGENDIAN
-       switch (format) {
-       case CAIRO_FORMAT_A1:
-           for (x = 0; x < len; x++) {
-               uint8_t byte = data[x];
-               data[x] = CSI_BITSWAP8_IF_LITTLE_ENDIAN (byte);
-           }
-           break;
-       case CAIRO_FORMAT_RGB16_565:
-           {
-               uint32_t *rgba = (uint32_t *) data;
-               for (x = len/2; x--; rgba++) {
-                   *rgba = bswap_16 (*rgba);
+           switch (format) {
+           case CAIRO_FORMAT_A1:
+               for (x = 0; x < len; x++) {
+                   uint8_t byte = data[x];
+                   data[x] = CSI_BITSWAP8_IF_LITTLE_ENDIAN (byte);
                }
-           }
-           break;
-       case CAIRO_FORMAT_ARGB32:
-           {
-               uint32_t *rgba = (uint32_t *) data;
-               for (x = len/4; x--; rgba++) {
-                   *rgba = bswap_32 (*rgba);
+               break;
+           case CAIRO_FORMAT_RGB16_565:
+               {
+                   uint32_t *rgba = (uint32_t *) data;
+                   for (x = len/2; x--; rgba++) {
+                       *rgba = bswap_16 (*rgba);
+                   }
                }
-           }
-           break;
+               break;
+           case CAIRO_FORMAT_ARGB32:
+               {
+                   uint32_t *rgba = (uint32_t *) data;
+                   for (x = len/4; x--; rgba++) {
+                       *rgba = bswap_32 (*rgba);
+                   }
+               }
+               break;
 
-       case CAIRO_FORMAT_A8:
-           break;
+           case CAIRO_FORMAT_A8:
+               break;
 
-       case CAIRO_FORMAT_RGB30:
-       case CAIRO_FORMAT_RGB24:
-       case CAIRO_FORMAT_INVALID:
-       default:
-           break;
-       }
+           case CAIRO_FORMAT_RGB30:
+           case CAIRO_FORMAT_RGB24:
+           case CAIRO_FORMAT_INVALID:
+           default:
+               break;
+           }
 #endif
+       }
+       csi_object_free (ctx, &file);
     }
 
     cairo_surface_mark_dirty (image);
@@ -3261,25 +3375,26 @@ _image_load_from_dictionary (csi_t *ctx,
                mime_type = MIME_TYPE_PNG;
        }
 
-       status = csi_object_as_file (ctx, &obj, &file);
-       if (_csi_unlikely (status))
-           return status;
 
        /* XXX hook for general mime-type decoder */
 
        switch (mime_type) {
        case MIME_TYPE_NONE:
-           status = _image_read_raw (file.datum.file,
-                                     format, width, height, &image);
+           status = _image_read_raw (ctx, &obj, format, width, height, &image);
            break;
        case MIME_TYPE_PNG:
+           status = csi_object_as_file (ctx, &obj, &file);
+           if (_csi_unlikely (status))
+               return status;
+
            status = _image_read_png (file.datum.file, &image);
+           csi_object_free (ctx, &file);
            break;
        }
-       csi_object_free (ctx, &file);
-       if (_csi_unlikely (status))
+       if (_csi_unlikely (status)) {
+           cairo_surface_destroy (image);
            return status;
-
+       }
        image = _image_cached (ctx, image);
     } else
        image = cairo_image_surface_create (format, width, height);
@@ -3303,8 +3418,10 @@ _image (csi_t *ctx)
        return status;
 
     status = _image_load_from_dictionary (ctx, dict, &image);
-    if (_csi_unlikely (status))
+    if (_csi_unlikely (status)) {
+       cairo_surface_destroy (image);
        return status;
+    }
 
     pop (1);
     obj.type = CSI_OBJECT_TYPE_SURFACE;
@@ -3675,8 +3792,8 @@ _map_to_image (csi_t *ctx)
     }
 
     obj.type = CSI_OBJECT_TYPE_SURFACE;
-    obj.datum.surface = cairo_surface_map_to_image (surface, r);
-    pop (2);
+    obj.datum.surface = cairo_surface_reference (cairo_surface_map_to_image (surface, r));
+    pop (1);
     return push (&obj);
 }
 
@@ -3697,7 +3814,7 @@ _unmap_image (csi_t *ctx)
 
     cairo_surface_unmap_image (surface, image);
 
-    pop (2);
+    pop (1);
     return CSI_STATUS_SUCCESS;
 }
 
@@ -5241,7 +5358,8 @@ _set_source_image (csi_t *ctx)
     csi_status_t status;
     cairo_surface_t *surface;
     cairo_surface_t *source;
-
+    unsigned char *image_surface_data;
+    unsigned char *source_data;
     check (2);
 
     status = _csi_ostack_get_surface (ctx, 0, &source);
@@ -5255,11 +5373,28 @@ _set_source_image (csi_t *ctx)
      * principally to remove the pixman ops from the profiles.
      */
     if (_csi_likely (_matching_images (surface, source))) {
-       cairo_surface_flush (surface);
-       memcpy (cairo_image_surface_get_data (surface),
-               cairo_image_surface_get_data (source),
-               cairo_image_surface_get_height (source) * cairo_image_surface_get_stride (source));
-       cairo_surface_mark_dirty (surface);
+       if (cairo_surface_get_reference_count (surface) == 1 &&
+           cairo_surface_get_reference_count (source) == 1)
+       {
+           _csi_peek_ostack (ctx, 0)->datum.surface = surface;
+           _csi_peek_ostack (ctx, 1)->datum.surface = source;
+       }
+       else
+       {
+           cairo_surface_flush (surface);
+           image_surface_data = cairo_image_surface_get_data (surface);
+           if (image_surface_data == NULL)
+               return _csi_error (CSI_STATUS_NULL_POINTER);
+
+           source_data = cairo_image_surface_get_data (source);
+           if (source_data == NULL)
+               return _csi_error (CSI_STATUS_NULL_POINTER);
+
+           memcpy (image_surface_data,
+                   source_data,
+                   cairo_image_surface_get_height (source) * cairo_image_surface_get_stride (source));
+           cairo_surface_mark_dirty (surface);
+       }
     } else {
        cairo_t *cr;
 
@@ -5730,14 +5865,23 @@ _show_text_glyphs (csi_t *ctx)
     }
 
     status = _csi_ostack_get_array (ctx, 2, &array);
-    if (_csi_unlikely (status))
+    if (_csi_unlikely (status)) {
+       if (clusters != stack_clusters)
+           _csi_free (ctx, clusters);
        return status;
+    }
     status = _csi_ostack_get_string (ctx, 3, &utf8_string);
-    if (_csi_unlikely (status))
+    if (_csi_unlikely (status)) {
+       if (clusters != stack_clusters)
+           _csi_free (ctx, clusters);
        return status;
+    }
     status = _csi_ostack_get_context (ctx, 4, &cr);
-    if (_csi_unlikely (status))
+    if (_csi_unlikely (status)) {
+       if (clusters != stack_clusters)
+           _csi_free (ctx, clusters);
        return status;
+    }
 
     /* count glyphs */
     nglyphs = 0;
@@ -5755,16 +5899,24 @@ _show_text_glyphs (csi_t *ctx)
     }
     if (nglyphs == 0) {
        pop (4);
+       if (clusters != stack_clusters)
+           _csi_free (ctx, clusters);
        return CSI_STATUS_SUCCESS;
     }
 
     if (nglyphs > ARRAY_LENGTH (stack_glyphs)) {
-       if (_csi_unlikely ((unsigned) nglyphs >= INT_MAX / sizeof (cairo_glyph_t)))
+       if (_csi_unlikely ((unsigned) nglyphs >= INT_MAX / sizeof (cairo_glyph_t))) {
+           if (clusters != stack_clusters)
+               _csi_free (ctx, clusters);
            return _csi_error (CSI_STATUS_NO_MEMORY);
+       }
 
        glyphs = _csi_alloc (ctx, sizeof (cairo_glyph_t) * nglyphs);
-       if (_csi_unlikely (glyphs == NULL))
+       if (_csi_unlikely (glyphs == NULL)) {
+           if (clusters != stack_clusters)
+               _csi_free (ctx, clusters);
            return _csi_error (CSI_STATUS_NO_MEMORY);
+       }
     } else
        glyphs = stack_glyphs;
 
@@ -5956,6 +6108,7 @@ _surface (csi_t *ctx)
        status = _image_load_from_dictionary (ctx, dict, &image);
        if (_csi_unlikely (status)) {
            cairo_surface_destroy (surface);
+           cairo_surface_destroy (image);
            return status;
        }
 
index 3286bb4..6bf41b4 100644 (file)
@@ -392,6 +392,11 @@ struct _csi_string {
     csi_compound_object_t base;
     csi_integer_t len;
     csi_integer_t deflate;
+    enum {
+       NONE,
+       ZLIB,
+       LZO,
+    } method;
     char *string;
 };
 
index eeec686..b9d445b 100644 (file)
 #include <math.h> /* pow */
 #include <stdio.h> /* EOF */
 #include <stdint.h> /* for {INT,UINT}*_{MIN,MAX} */
+#include <stdlib.h> /* malloc/free */
 #include <string.h> /* memset */
 #include <assert.h>
 #include <zlib.h>
 
+#if HAVE_LZO
+#include <lzo/lzo2a.h>
+#endif
+
 #define DEBUG_SCAN 0
 
 #if WORDS_BIGENDIAN
@@ -124,7 +129,8 @@ fprintf_obj (FILE *stream, csi_t *ctx, const csi_object_t *obj)
                    obj->datum.matrix->matrix.y0);
            break;
        case CSI_OBJECT_TYPE_STRING:
-           fprintf (stream, "string: len=%ld\n", obj->datum.string->len);
+           fprintf (stream, "string: len=%ld, defate=%ld, method=%d\n",
+                    obj->datum.string->len, obj->datum.string->deflate, obj->datum.string->method);
            break;
 
            /* cairo */
@@ -453,6 +459,11 @@ token_end (csi_t *ctx, csi_scanner_t *scan, csi_file_t *src)
                csi_object_t *next;
 
                next = _csi_stack_peek (&scan->procedure_stack, 0);
+               if (next == NULL) {
+                   longjmp (scan->jmpbuf, _csi_error (CSI_STATUS_NULL_POINTER));
+                   return;
+               }
+
                status = csi_array_append (ctx, next->datum.array,
                                           &scan->build_procedure);
                scan->build_procedure = *next;
@@ -799,6 +810,7 @@ string_read (csi_t *ctx,
        uint32_t u32;
        scan_read (scan, src, &u32, 4);
        obj->datum.string->deflate = be32 (u32);
+       obj->datum.string->method = compressed;
     }
 
     if (_csi_likely (len))
@@ -994,8 +1006,13 @@ scan_none:
            obj.type &= ~CSI_OBJECT_ATTR_EXECUTABLE;
            break;
 
+#define STRING_LZO 154
+       case STRING_LZO:
+           scan_read (scan, src, &u.u32, 4);
+           string_read (ctx, scan, src, be32 (u.u32), LZO, &obj);
+           break;
+
            /* unassigned */
-       case 154:
        case 155:
        case 156:
        case 157:
@@ -1569,51 +1586,151 @@ _translate_string (csi_t *ctx,
        uint16_t u16;
        uint32_t u32;
     } u;
-    int len;
+    void *buf;
+    unsigned long hdr_len, buf_len, deflate;
+    int method;
+
+    buf = string->string;
+    buf_len = string->len;
+    deflate = string->deflate;
+    method = string->method;
+
+#if HAVE_LZO
+    if (method == NONE && buf_len > 16) {
+       unsigned long mem_len = 2*string->len > LZO2A_999_MEM_COMPRESS ? 2*string->len : LZO2A_999_MEM_COMPRESS;
+       void *mem = malloc (mem_len);
+       void *work = malloc(LZO2A_999_MEM_COMPRESS);
+
+       if (work == NULL) {
+           free (mem);
+           return CSI_STATUS_NO_MEMORY;
+       }
 
-#if WORDS_BIGENDIAN
-    if (string->len <= UINT8_MAX) {
-       hdr = STRING_1;
-       u.u8 = string->len;
-       len = 1;
-    } else if (string->len <= UINT16_MAX) {
-       hdr = STRING_2_MSB;
-       u.u16 = string->len;
-       len = 2;
-    } else {
-       hdr = STRING_4_MSB;
-       u.u32 = string->len;
-       len = 4;
+       if (lzo2a_999_compress ((lzo_bytep) buf, buf_len,
+                               (lzo_bytep) mem, &mem_len,
+                               work) == 0 &&
+           8+2*mem_len < buf_len)
+       {
+           method = LZO;
+           deflate = buf_len;
+           buf_len = mem_len;
+           buf = mem;
+       }
+       else
+       {
+           free (mem);
+       }
+
+       free (work);
     }
-#else
-    if (string->len <= UINT8_MAX) {
-       hdr = STRING_1;
-       u.u8 = string->len;
-       len = 1;
-    } else if (string->len <= UINT16_MAX) {
-       hdr = STRING_2_LSB;
-       u.u16 = string->len;
-       len = 2;
-    } else {
-       hdr = STRING_4_LSB;
-       u.u32 = string->len;
-       len = 4;
+#if HAVE_ZLIB
+    if (method == ZLIB) {
+       buf_len = string->deflate;
+       buf = malloc (string->deflate);
+       if (uncompress ((Bytef *) buf, &buf_len,
+                       (Bytef *) string->string, string->len) == Z_OK)
+       {
+           if (buf_len <= 8 + 2*string->len) {
+               method = NONE;
+               deflate = 0;
+           } else {
+               unsigned long mem_len = 2*string->deflate;
+               void *mem = malloc (mem_len);
+               void *work = malloc(LZO2A_999_MEM_COMPRESS);
+
+               if (work == NULL) {
+                   free (mem);
+                   return CSI_STATUS_NO_MEMORY;
+               }
+
+               if (lzo2a_999_compress ((lzo_bytep) buf, buf_len,
+                                       (lzo_bytep) mem, &mem_len,
+                                       work) == 0)
+               {
+                   if (8 + mem_len > buf_len) {
+                       method = NONE;
+                       deflate = 0;
+                       free (mem);
+                   } else {
+                       free (buf);
+                       method = LZO;
+                       deflate = buf_len;
+                       buf_len = mem_len;
+                       buf = mem;
+                       assert(deflate);
+                   }
+               }
+               else
+               {
+                   free (buf);
+                   free (mem);
+                   buf = string->string;
+                   buf_len = string->len;
+               }
+
+               free (work);
+           }
+       }
+       else
+       {
+           free (buf);
+           buf = string->string;
+           buf_len = string->len;
+       }
     }
 #endif
-    if (string->deflate)
-       hdr |= STRING_DEFLATE;
-
-    closure->write_func (closure->closure,
-                        (unsigned char *) &hdr, 1);
-    closure->write_func (closure->closure,
-                        (unsigned char *) &u, len);
-    if (string->deflate) {
-       uint32_t u32 = to_be32 (string->deflate);
-       closure->write_func (closure->closure,
-                            (unsigned char *) &u32, 4);
+#endif
+
+    if (method == LZO) {
+       hdr = STRING_LZO;
+       u.u32 = to_be32 (buf_len);
+       hdr_len = 4;
+    } else {
+#if WORDS_BIGENDIAN
+       if (buf_len <= UINT8_MAX) {
+           hdr = STRING_1;
+           u.u8 = buf_len;
+           hdr_len = 1;
+       } else if (buf_len <= UINT16_MAX) {
+           hdr = STRING_2_MSB;
+           u.u16 = buf_len;
+           hdr_len = 2;
+       } else {
+           hdr = STRING_4_MSB;
+           u.u32 = buf_len;
+           hdr_len = 4;
+       }
+#else
+       if (buf_len <= UINT8_MAX) {
+           hdr = STRING_1;
+           u.u8 = buf_len;
+           hdr_len = 1;
+       } else if (buf_len <= UINT16_MAX) {
+           hdr = STRING_2_LSB;
+           u.u16 = buf_len;
+           hdr_len = 2;
+       } else {
+           hdr = STRING_4_LSB;
+           u.u32 = buf_len;
+           hdr_len = 4;
+       }
+#endif
+       if (deflate) {
+           assert (method == ZLIB);
+           hdr |= STRING_DEFLATE;
+       }
+    }
+
+    closure->write_func (closure->closure, (unsigned char *) &hdr, 1);
+    closure->write_func (closure->closure, (unsigned char *) &u, hdr_len);
+    if (deflate) {
+       uint32_t u32 = to_be32 (deflate);
+       closure->write_func (closure->closure, (unsigned char *) &u32, 4);
     }
-    closure->write_func (closure->closure,
-                        (unsigned char *) string->string, string->len);
+    closure->write_func (closure->closure, (unsigned char *) buf, buf_len);
+
+    if (buf != string->string)
+       free (buf);
 
     return CSI_STATUS_SUCCESS;
 }
diff --git a/util/cairo-sphinx/.gitignore b/util/cairo-sphinx/.gitignore
deleted file mode 100644 (file)
index 56ecd5d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-cairo-sphinx
diff --git a/util/cairo-sphinx/Makefile.am b/util/cairo-sphinx/Makefile.am
deleted file mode 100644 (file)
index b25bd23..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-cairolibdir = $(libdir)/cairo
-
-cairolib_LTLIBRARIES = cairo-sphinx.la
-bin_PROGRAMS = cairo-sphinx
-
-AM_CPPFLAGS = -I$(top_srcdir)/src \
-             -I$(top_builddir)/src \
-             -I$(top_srcdir)/boilerplate \
-             -I$(top_srcdir)/util/cairo-script
-
-cairo_sphinx_la_SOURCES = fdr.c
-cairo_sphinx_la_CPPFLAGS = $(AM_CPPFLAGS)
-cairo_sphinx_la_CFLAGS = $(CAIRO_CFLAGS)
-cairo_sphinx_la_LDFLAGS = -module -no-undefined
-cairo_sphinx_la_LIBADD = -ldl
-
-cairo_sphinx_SOURCES = sphinx.c
-cairo_sphinx_CPPFLAGS = $(AM_CPPFLAGS) -DLIBDIR="\"$(cairolibdir)\""
-cairo_sphinx_CFLAGS = $(CAIRO_CFLAGS) $(real_pthread_CFLAGS)  $(glib_CFLAGS)
-cairo_sphinx_LDADD = \
-       $(real_pthread_LIBS)                                    \
-        $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-        $(top_builddir)/boilerplate/libcairoboilerplate.la     \
-       $(top_builddir)/src/libcairo.la                         \
-       $(glib_LIBS)                                            \
-       $(CAIRO_LDADD)                                          \
-       $(shm_LIBS)
-cairo_sphinx_DEPENDENCIES = \
-        $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
-        $(top_builddir)/boilerplate/libcairoboilerplate.la     \
-       $(top_builddir)/src/libcairo.la
-
-# Install rules to rebuild the libraries and add explicit dependencies
-$(top_builddir)/boilerplate/libcairoboilerplate.la: $(top_builddir)/src/libcairo.la
-       cd $(top_builddir)/boilerplate && $(MAKE) $(AM_MAKEFLAGS) libcairoboilerplate.la
-
-$(top_builddir)/src/libcairo.la:
-       cd $(top_builddir)/src && $(MAKE) $(AM_MAKEFLAGS) libcairo.la
-
-$(top_builddir)/util/cairo-script/libcairo-script-interpreter.la: $(top_builddir)/src/libcairo.la
-       cd $(top_builddir)/util/cairo-script && $(MAKE) $(AM_MAKEFLAGS) libcairo-script-interpreter.la
diff --git a/util/cairo-sphinx/fdr.c b/util/cairo-sphinx/fdr.c
deleted file mode 100644 (file)
index aeda89b..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-/* cairo-fdr - a 'flight data recorder', a black box, for cairo
- *
- * Copyright © 2009 Chris Wilson
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#define _GNU_SOURCE
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <cairo.h>
-#include <cairo-script.h>
-#include <cairo-tee.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <assert.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <dlfcn.h>
-
-static void *_dlhandle = RTLD_NEXT;
-#define DLCALL(name, args...) ({ \
-    static typeof (&name) name##_real; \
-    if (name##_real == NULL) { \
-       name##_real = dlsym (_dlhandle, #name); \
-       if (name##_real == NULL && _dlhandle == RTLD_NEXT) { \
-           _dlhandle = dlopen ("libcairo.so", RTLD_LAZY); \
-           name##_real = dlsym (_dlhandle, #name); \
-           assert (name##_real != NULL); \
-       } \
-    } \
-    (*name##_real) (args);  \
-})
-
-static cairo_device_t *fdr_context;
-static const cairo_user_data_key_t fdr_key;
-
-static void
-fdr_get_extents (cairo_surface_t *surface,
-                cairo_rectangle_t *extents)
-{
-    cairo_t *cr;
-
-    cr = DLCALL (cairo_create, surface);
-    DLCALL (cairo_clip_extents, cr,
-           &extents->x, &extents->y, &extents->width, &extents->height);
-    DLCALL (cairo_destroy, cr);
-
-    extents->width -= extents->x;
-    extents->height -= extents->y;
-}
-
-static void
-fdr_surface_destroy (void *surface)
-{
-    DLCALL (cairo_surface_destroy, surface);
-}
-
-static void
-fdr_surface_reference (void *surface)
-{
-    DLCALL (cairo_surface_reference, surface);
-}
-
-static cairo_surface_t *
-fdr_surface_get_tee (cairo_surface_t *surface)
-{
-    return DLCALL (cairo_surface_get_user_data, surface, &fdr_key);
-}
-
-static cairo_surface_t *
-fdr_tee_surface_index (cairo_surface_t *surface, int index)
-{
-    return DLCALL (cairo_tee_surface_index, surface, index);
-}
-
-static cairo_status_t
-fdr_write (void *closure, const unsigned char *data, unsigned int len)
-{
-    int fd = (int) (intptr_t) closure;
-    while (len) {
-       int ret = write (fd, data, len);
-       if (ret < 0) {
-           switch (errno) {
-           case EAGAIN:
-           case EINTR:
-               continue;
-           default:
-               return CAIRO_STATUS_WRITE_ERROR;
-           }
-       } else if (ret == 0) {
-           return CAIRO_STATUS_WRITE_ERROR;
-       } else {
-           data += ret;
-           len -= ret;
-       }
-    }
-    return CAIRO_STATUS_SUCCESS;
-}
-
-cairo_t *
-cairo_create (cairo_surface_t *surface)
-{
-    cairo_surface_t *tee;
-
-    tee = fdr_surface_get_tee (surface);
-    if (tee == NULL) {
-       cairo_surface_t *script;
-       cairo_rectangle_t extents;
-       cairo_content_t content;
-
-       if (fdr_context == NULL) {
-           const char *env = getenv ("CAIRO_SPHINX_FD");
-           int fd = env ? atoi (env) : 1;
-           fdr_context = DLCALL (cairo_script_create_for_stream,
-                                 fdr_write, (void *) (intptr_t) fd);
-       }
-
-       fdr_get_extents (surface, &extents);
-       content = DLCALL (cairo_surface_get_content, surface);
-
-       tee = DLCALL (cairo_tee_surface_create, surface);
-       script = DLCALL (cairo_script_surface_create,
-                        fdr_context, content, extents.width, extents.height);
-       DLCALL (cairo_tee_surface_add, tee, script);
-
-       DLCALL (cairo_surface_set_user_data, surface,
-               &fdr_key, tee, fdr_surface_destroy);
-    }
-
-    return DLCALL (cairo_create, tee);
-}
-
-static void
-fdr_remove_tee (cairo_surface_t *surface)
-{
-    fdr_surface_reference (surface);
-    DLCALL (cairo_surface_set_user_data, surface, &fdr_key, NULL, NULL);
-    fdr_surface_destroy (surface);
-}
-
-void
-cairo_destroy (cairo_t *cr)
-{
-    cairo_surface_t *tee;
-
-    tee = DLCALL (cairo_get_target, cr);
-    DLCALL (cairo_destroy, cr);
-
-    if (DLCALL (cairo_surface_get_reference_count, tee) == 1)
-       fdr_remove_tee (fdr_tee_surface_index (tee, 0));
-}
-
-void
-cairo_pattern_destroy (cairo_pattern_t *pattern)
-{
-    if (DLCALL (cairo_pattern_get_type, pattern) == CAIRO_PATTERN_TYPE_SURFACE) {
-       cairo_surface_t *surface;
-
-       if (DLCALL (cairo_pattern_get_surface, pattern, &surface) == CAIRO_STATUS_SUCCESS &&
-           DLCALL (cairo_surface_get_type, surface) == CAIRO_SURFACE_TYPE_TEE &&
-           DLCALL (cairo_surface_get_reference_count, surface) == 2)
-       {
-           fdr_remove_tee (fdr_tee_surface_index (surface, 0));
-       }
-    }
-
-    DLCALL (cairo_pattern_destroy, pattern);
-}
-
-cairo_surface_t *
-cairo_get_target (cairo_t *cr)
-{
-    cairo_surface_t *tee;
-
-    tee = DLCALL (cairo_get_target, cr);
-    return fdr_tee_surface_index (tee, 0);
-}
-
-cairo_surface_t *
-cairo_get_group_target (cairo_t *cr)
-{
-    cairo_surface_t *tee;
-
-    tee = DLCALL (cairo_get_group_target, cr);
-    return fdr_tee_surface_index (tee, 0);
-}
-
-cairo_pattern_t *
-cairo_pattern_create_for_surface (cairo_surface_t *surface)
-{
-    cairo_surface_t *tee;
-
-    tee = fdr_surface_get_tee (surface);
-    if (tee != NULL)
-       surface = tee;
-
-    return DLCALL (cairo_pattern_create_for_surface, surface);
-}
-
-cairo_status_t
-cairo_pattern_get_surface (cairo_pattern_t *pattern,
-                          cairo_surface_t **surface)
-{
-    cairo_status_t status;
-    cairo_surface_t *tee;
-
-    status = DLCALL (cairo_pattern_get_surface, pattern, surface);
-    if (status != CAIRO_STATUS_SUCCESS)
-       return status;
-
-    tee = fdr_surface_get_tee (*surface);
-    if (tee != NULL)
-       *surface = tee;
-
-    return CAIRO_STATUS_SUCCESS;
-}
-
-void
-cairo_set_source_surface (cairo_t *cr,
-                         cairo_surface_t *surface,
-                         double x, double y)
-{
-    cairo_surface_t *tee;
-
-    tee = fdr_surface_get_tee (surface);
-    if (tee != NULL)
-       surface = tee;
-
-    DLCALL (cairo_set_source_surface, cr, surface, x, y);
-}
-
-cairo_surface_t *
-cairo_surface_create_similar (cairo_surface_t *surface,
-                             cairo_content_t content,
-                             int width, int height)
-{
-    cairo_surface_t *tee;
-
-    tee = fdr_surface_get_tee (surface);
-    if (tee != NULL)
-       surface = tee;
-
-    return DLCALL (cairo_surface_create_similar,
-                  surface, content, width, height);
-}
diff --git a/util/cairo-sphinx/sphinx.c b/util/cairo-sphinx/sphinx.c
deleted file mode 100644 (file)
index 7bc1c50..0000000
+++ /dev/null
@@ -1,1533 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <sys/socket.h>
-#include <sys/poll.h>
-#include <sys/un.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <errno.h>
-#include <assert.h>
-#include <pthread.h>
-
-#include <cairo.h>
-#include <cairo-script.h>
-#include <cairo-script-interpreter.h>
-#include <cairo-boilerplate.h>
-
-#include <glib.h> /* for checksumming */
-
-#ifndef CAIRO_HAS_REAL_PTHREAD
-# error "cairo-sphinx needs real pthreads"
-#endif
-
-#define DATA_SIZE (256 << 20)
-#define SHM_PATH_XXX "/shmem-cairo-sphinx"
-
-struct client {
-    int sk;
-    const cairo_boilerplate_target_t *target;
-    cairo_surface_t *surface;
-    void *base;
-
-    cairo_script_interpreter_t *csi;
-    struct context_closure {
-       struct context_closure *next;
-       unsigned long id;
-       cairo_t *context;
-       cairo_surface_t *surface;
-       cairo_surface_t *original;
-    } *contexts;
-
-    unsigned long context_id;
-};
-
-struct surface_tag {
-    long width, height;
-};
-static const cairo_user_data_key_t surface_tag;
-
-static int
-client_socket (const char *socket_path);
-
-static int
-writen (int fd, const void *ptr, int len)
-{
-#if 1
-    const uint8_t *data = ptr;
-    while (len) {
-       int ret = write (fd, data, len);
-       if (ret < 0) {
-           switch (errno) {
-           case EAGAIN:
-           case EINTR:
-               continue;
-           default:
-               return FALSE;
-           }
-       } else if (ret == 0) {
-           return FALSE;
-       } else {
-           data += ret;
-           len -= ret;
-       }
-    }
-    return TRUE;
-#else
-    int ret = send (fd, ptr, len, 0);
-    return ret == len;
-#endif
-}
-
-static int
-readn (int fd, void *ptr, int len)
-{
-#if 0
-    uint8_t *data = ptr;
-    while (len) {
-       int ret = read (fd, data, len);
-       if (ret < 0) {
-           switch (errno) {
-           case EAGAIN:
-           case EINTR:
-               continue;
-           default:
-               return FALSE;
-           }
-       } else if (ret == 0) {
-           return FALSE;
-       } else {
-           data += ret;
-           len -= ret;
-       }
-    }
-    return TRUE;
-#else
-    int ret = recv (fd, ptr, len, MSG_WAITALL);
-    return ret == len;
-#endif
-}
-static int
-open_devnull_to_fd (int want_fd, int flags)
-{
-    int error;
-    int got_fd;
-
-    close (want_fd);
-
-    got_fd = open("/dev/null", flags | O_CREAT, 0700);
-    if (got_fd == -1)
-        return -1;
-
-    error = dup2 (got_fd, want_fd);
-    close (got_fd);
-
-    return error;
-}
-
-static int
-daemonize (void)
-{
-    void (*oldhup) (int);
-
-    /* Let the parent go. */
-    switch (fork ()) {
-    case -1: return -1;
-    case  0: break;
-    default: _exit (0);
-    }
-
-    /* Become session leader. */
-    if (setsid () == -1)
-       return -1;
-
-    /* Refork to yield session leadership. */
-    oldhup = signal (SIGHUP, SIG_IGN);
-    switch (fork ()) {
-    case -1: return -1;
-    case  0: break;
-    default: _exit (0);
-    }
-    signal (SIGHUP, oldhup);
-
-    /* Establish stdio. */
-    if (open_devnull_to_fd (0, O_RDONLY) == -1)
-       return -1;
-    if (open_devnull_to_fd (1, O_WRONLY | O_APPEND) == -1)
-       return -1;
-    if (dup2 (1, 2) == -1)
-       return -1;
-
-    return 0;
-}
-
-static int
-server_socket (const char *socket_path)
-{
-    long flags;
-    struct sockaddr_un addr;
-    int sk;
-
-    unlink (socket_path);
-
-    sk = socket (PF_UNIX, SOCK_STREAM, 0);
-    if (sk == -1)
-       return -1;
-
-    memset (&addr, 0, sizeof (addr));
-    addr.sun_family = AF_UNIX;
-    strcpy (addr.sun_path, socket_path);
-    if (bind (sk, (struct sockaddr *) &addr, sizeof (addr)) == -1) {
-       close (sk);
-       return -1;
-    }
-
-    flags = fcntl (sk, F_GETFL);
-    if (flags == -1 || fcntl (sk, F_SETFL, flags | O_NONBLOCK) == -1) {
-       close (sk);
-       return -1;
-    }
-
-    if (listen (sk, 5) == -1) {
-       close (sk);
-       return -1;
-    }
-
-    return sk;
-}
-
-static int
-readline (int fd, char *line, int max)
-{
-    int len = 0;
-    do {
-       int ret = read (fd, &line[len], 1);
-       if (ret <= 0)
-           return -1;
-    } while (line[len] != '\n' && ++len < max);
-    line[len] = '\0';
-    return len;
-}
-
-struct clients {
-    int count, size;
-    int complete;
-
-    cairo_surface_t *recording;
-    unsigned long serial;
-
-    struct client_info {
-       int sk;
-       int trace;
-       unsigned long image_serial;
-       cairo_surface_t *image;
-       char *name;
-       char *target;
-       char *reference;
-
-       uint8_t *out_buf;
-       int out_len;
-       int out_size;
-    } *clients;
-    const char *shm_path;
-    unsigned long offset;
-    uint8_t *base;
-};
-
-static void *
-clients_shm (const char *shm_path)
-{
-    void *base;
-    int fd;
-
-    shm_unlink (shm_path);
-    fd = shm_open (shm_path, O_RDWR | O_EXCL | O_CREAT, 0777);
-    if (fd == -1)
-       return MAP_FAILED;
-
-    if (ftruncate (fd, DATA_SIZE) == -1) {
-       close (fd);
-       return MAP_FAILED;
-    }
-
-    base = mmap (NULL, DATA_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-    close (fd);
-
-    return base;
-}
-
-static int
-clients_init (struct clients *clients)
-{
-    clients->count = 0;
-    clients->complete = 0;
-    clients->size = 4;
-    clients->clients = xmalloc (clients->size * sizeof (struct client_info));
-
-    clients->shm_path = SHM_PATH_XXX;
-    clients->base = clients_shm (clients->shm_path);
-    if (clients->base == MAP_FAILED)
-       return -1;
-    clients->offset = 0;
-
-    clients->recording = NULL;
-    clients->serial = 0;
-
-    return 0;
-}
-
-static void
-clients_add_command (struct clients *clients, int fd, char *info)
-{
-    struct client_info *c;
-    char buf[1024];
-    int len;
-    char *str;
-
-    if (clients->count == clients->size) {
-       clients->size *= 2;
-       clients->clients = xrealloc (clients->clients,
-                                    clients->size * sizeof (struct client_info));
-    }
-
-    c = &clients->clients[clients->count++];
-    c->sk = fd;
-    c->trace = -1;
-    c->image_serial = 0;
-    c->image = NULL;
-    c->name = c->target = c->reference = NULL;
-
-    c->out_size = 8192;
-    c->out_buf = xmalloc (c->out_size);
-    c->out_len = 0;
-
-    str = strstr (info, "name=");
-    if (str != NULL) {
-       char *sp = strchr (str + 5, ' ');
-       int len;
-       if (sp)
-           len = sp - str - 5;
-       else
-           len = strlen (str + 5);
-       c->name = xmalloc (len + 1);
-       memcpy (c->name, str + 5, len);
-       c->name[len] = '\0';
-    }
-
-    str = strstr (info, "target=");
-    if (str != NULL) {
-       char *sp = strchr (str + 7, ' ');
-       int len;
-       if (sp)
-           len = sp - str - 7;
-       else
-           len = strlen (str + 7);
-       c->target = xmalloc (len + 1);
-       memcpy (c->target, str + 7, len);
-       c->target[len] = '\0';
-    }
-
-    str = strstr (info, "reference=");
-    if (str != NULL) {
-       char *sp = strchr (str + 10, ' ');
-       int len;
-       if (sp)
-           len = sp - str - 10;
-       else
-           len = strlen (str + 10);
-       c->reference = xmalloc (len + 1);
-       memcpy (c->reference, str + 10, len);
-       c->reference[len] = '\0';
-    }
-
-    len = sprintf (buf, "%s\n", clients->shm_path);
-    writen (fd, buf, len);
-}
-
-static void
-clients_add_trace (struct clients *clients, int fd, char *info)
-{
-    char *str, *sp;
-    char *name;
-    int i;
-
-    str = strstr (info, "name=");
-    assert (str != NULL);
-    sp = strchr (str + 5, ' ');
-    if (sp)
-       i = sp - str - 5;
-    else
-       i = strlen (str + 5);
-
-    name = xmalloc (i + 1);
-    memcpy (name, str + 5, i);
-    name[i] = '\0';
-
-    for (i = 0; i < clients->count; i++) {
-       struct client_info *c = &clients->clients[i];
-       if (strcmp (name, c->name) == 0) {
-           c->trace = fd;
-           break;
-       }
-    }
-
-    free (name);
-}
-
-static int
-clients_image (struct clients *clients, int fd, char *info)
-{
-    struct client_info *c = NULL;
-    int format, width, height, stride, size;
-    int i;
-
-    for (i = 0; i < clients->count; i++) {
-       if (clients->clients[i].sk == fd) {
-           c = &clients->clients[i];
-           break;
-       }
-    }
-
-    if (c == NULL)
-       return 0;
-
-    if (sscanf (info, "%lu %d %d %d %d",
-               &c->image_serial, &format, &width, &height, &stride) != 5)
-    {
-       return 0;
-    }
-
-    size = height * stride;
-    size = (size + 4095) & -4096;
-    assert (clients->offset + size <= DATA_SIZE);
-
-    c->image =
-       cairo_image_surface_create_for_data (clients->base + clients->offset,
-                                            format, width, height, stride);
-
-    if (! writen (fd, &clients->offset, sizeof (clients->offset)))
-       return 0;
-
-    clients->offset += size;
-
-    return 1;
-}
-
-static int
-u8_cmp (const void *A, const void *B)
-{
-    const uint8_t *a = A, *b = B;
-    return (int) *a - (int) *b;
-}
-
-static uint8_t
-median (uint8_t *values, int count)
-{
-    /* XXX could use a fast median here if we cared */
-    qsort (values, count, 1, u8_cmp);
-    return values[count/2];
-}
-
-static uint32_t
-get_pixel32 (int x, int y, const uint8_t *data, int stride)
-{
-    return ((uint32_t *)(data + y * stride))[x];
-}
-
-static uint8_t
-get_median_32 (int x, int y, int channel,
-              const uint8_t *data, int width, int height, int stride)
-{
-    uint8_t neighbourhood[25];
-    int cnt = 0;
-    int xx, yy;
-
-    for (yy = y - 2; yy <= y + 2; yy++) {
-       if (yy < 0)
-           continue;
-       if (yy >= height)
-           continue;
-
-       for (xx = x - 2; xx <= x + 2; xx++) {
-           if (xx < 0)
-               continue;
-           if (xx >= width)
-               continue;
-
-           neighbourhood[cnt++] = (get_pixel32 (xx, yy, data, stride) >> (channel*8)) & 0xff;
-       }
-    }
-
-    return median (neighbourhood, cnt);
-}
-
-static uint8_t
-get_pixel8 (int x, int y, const uint8_t *data, int stride)
-{
-    return data[y * stride + x];
-}
-
-static uint8_t
-get_median_8 (int x, int y, const uint8_t *data, int width, int height, int stride)
-{
-    uint8_t neighbourhood[25];
-    int cnt = 0;
-    int xx, yy;
-
-    for (yy = y - 2; yy <= y + 2; yy++) {
-       if (yy < 0)
-           continue;
-       if (yy >= height)
-           continue;
-
-       for (xx = x - 2; xx <= x + 2; xx++) {
-           if (xx < 0)
-               continue;
-           if (xx >= width)
-               continue;
-
-           neighbourhood[cnt++] = get_pixel8 (xx, yy, data, stride);
-       }
-    }
-
-    return median (neighbourhood, cnt);
-}
-
-static cairo_bool_t
-compare_images (cairo_surface_t *a,
-               cairo_surface_t *b)
-{
-    int width, height, stride;
-    const uint8_t *aa, *bb;
-    int x, y;
-
-    if (cairo_surface_status (a) || cairo_surface_status (b))
-       return FALSE;
-
-    if (cairo_surface_get_type (a) != cairo_surface_get_type (b))
-       return FALSE;
-
-    if (cairo_image_surface_get_format (a) != cairo_image_surface_get_format (b))
-       return FALSE;
-
-    if (cairo_image_surface_get_width (a) != cairo_image_surface_get_width (b))
-       return FALSE;
-
-    if (cairo_image_surface_get_height (a) != cairo_image_surface_get_height (b))
-       return FALSE;
-
-    if (cairo_image_surface_get_stride (a) != cairo_image_surface_get_stride (b))
-       return FALSE;
-
-
-    width = cairo_image_surface_get_width (a);
-    height = cairo_image_surface_get_height (a);
-    stride = cairo_image_surface_get_stride (a);
-
-    aa = cairo_image_surface_get_data (a);
-    bb = cairo_image_surface_get_data (b);
-    switch (cairo_image_surface_get_format (a)) {
-    case CAIRO_FORMAT_ARGB32:
-       for (y = 0; y < height; y++) {
-           const uint32_t *ua = (uint32_t *) aa;
-           const uint32_t *ub = (uint32_t *) bb;
-           for (x = 0; x < width; x++) {
-               if (ua[x] != ub[x]) {
-                   int channel;
-
-                   for (channel = 0; channel < 4; channel++) {
-                       unsigned va, vb, diff;
-
-                       va = (ua[x] >> (channel*8)) & 0xff;
-                       vb = (ub[x] >> (channel*8)) & 0xff;
-                       diff = abs (va - vb);
-                       if (diff > 1) {
-                           va = get_median_32 (x, y, channel, aa, width, height, stride);
-                           vb = get_median_32 (x, y, channel, bb, width, height, stride);
-                           diff = abs (va - vb);
-                           if (diff > 1)
-                               return FALSE;
-                       }
-                   }
-               }
-           }
-           aa += stride;
-           bb += stride;
-       }
-       break;
-
-    case CAIRO_FORMAT_RGB24:
-       for (y = 0; y < height; y++) {
-           const uint32_t *ua = (uint32_t *) aa;
-           const uint32_t *ub = (uint32_t *) bb;
-           for (x = 0; x < width; x++) {
-               if ((ua[x] & 0x00ffffff) != (ub[x] & 0x00ffffff)) {
-                   int channel;
-
-                   for (channel = 0; channel < 3; channel++) {
-                       unsigned va, vb, diff;
-
-                       va = (ua[x] >> (channel*8)) & 0xff;
-                       vb = (ub[x] >> (channel*8)) & 0xff;
-                       diff = abs (va - vb);
-                       if (diff > 1) {
-                           va = get_median_32 (x, y, channel, aa, width, height, stride);
-                           vb = get_median_32 (x, y, channel, bb, width, height, stride);
-                           diff = abs (va - vb);
-                           if (diff > 1)
-                               return FALSE;
-                       }
-                   }
-               }
-           }
-           aa += stride;
-           bb += stride;
-       }
-       break;
-
-    case CAIRO_FORMAT_A8:
-       for (y = 0; y < height; y++) {
-           for (x = 0; x < width; x++) {
-               if (aa[x] != bb[x]) {
-                   unsigned diff = abs (aa[x] - bb[x]);
-                   if (diff > 1) {
-                       uint8_t va, vb;
-
-                       va = get_median_8 (x, y, aa, width, height, stride);
-                       vb = get_median_8 (x, y, bb, width, height, stride);
-                       diff = abs (va - vb);
-                       if (diff > 1)
-                           return FALSE;
-                   }
-
-               }
-           }
-           aa += stride;
-           bb += stride;
-       }
-       break;
-
-    case CAIRO_FORMAT_A1:
-       width /= 8;
-       for (y = 0; y < height; y++) {
-           if (memcmp (aa, bb, width))
-               return FALSE;
-           aa += stride;
-           bb += stride;
-       }
-       break;
-
-    case CAIRO_FORMAT_INVALID:
-    case CAIRO_FORMAT_RGB16_565: /* XXX */
-       break;
-    }
-
-    return TRUE;
-}
-
-static int
-check_images (struct clients *clients)
-{
-    int i, j;
-
-    for (i = 0; i < clients->count; i++) {
-       struct client_info *c = &clients->clients[i];
-
-       if (c->reference == NULL)
-           continue;
-
-       for (j = 0; j < clients->count; j++) {
-           struct client_info *ref = &clients->clients[j];
-
-           if (strcmp (c->reference, ref->name))
-               continue;
-
-           if (! compare_images (c->image, ref->image))
-               return 0;
-       }
-    }
-
-    return 1;
-}
-
-static gchar *
-checksum (const char *filename)
-{
-    gchar *str = NULL;
-    gchar *data;
-    gsize len;
-
-    if (g_file_get_contents (filename, &data, &len, NULL)) {
-       str = g_compute_checksum_for_data (G_CHECKSUM_SHA1, (guchar *) data, len);
-       g_free (data);
-    }
-
-    return str;
-}
-
-static void
-write_trace (struct clients *clients)
-{
-    cairo_device_t *ctx;
-    gchar *csum;
-    char buf[4096];
-    int i;
-
-    mkdir ("output", 0777);
-
-    ctx = cairo_script_create ("output/cairo-sphinx.trace");
-    cairo_script_from_recording_surface (ctx, clients->recording);
-    cairo_device_destroy (ctx);
-
-    csum = checksum ("output/cairo-sphinx.trace");
-
-    sprintf (buf, "output/%s.trace", csum);
-    if (! g_file_test (buf, G_FILE_TEST_EXISTS)) {
-       rename ("output/cairo-sphinx.trace", buf);
-
-       sprintf (buf, "output/%s.recording.png", csum);
-       cairo_surface_write_to_png (clients->recording, buf);
-
-       for (i = 0; i < clients->count; i++) {
-           struct client_info *c = &clients->clients[i];
-           if (c->image != NULL) {
-               sprintf (buf, "output/%s.%s.png", csum, c->name);
-               cairo_surface_write_to_png (c->image, buf);
-           }
-       }
-    }
-}
-
-static void
-clients_complete (struct clients *clients, int fd)
-{
-    int i;
-
-    for (i = 0; i < clients->count; i++) {
-       if (clients->clients[i].sk == fd) {
-           break;
-       }
-    }
-    if (i == clients->count)
-       return;
-
-    if (++clients->complete != clients->count)
-       return;
-
-    clients->offset = 0;
-    clients->complete = 0;
-
-    if (! check_images (clients))
-       write_trace (clients);
-
-    /* ack */
-    for (i = 0; i < clients->count; i++) {
-       struct client_info *c = &clients->clients[i];
-
-       cairo_surface_destroy (c->image);
-       c->image = NULL;
-
-       if (! writen (c->sk, &clients->serial, sizeof (clients->serial)))
-           continue;
-
-       c->image_serial = 0;
-    }
-
-    clients->recording = NULL;
-    clients->serial = 0;
-}
-
-static void
-clients_recording (struct clients *clients, int fd, char *info)
-{
-    sscanf (info, "%p %lu", &clients->recording, &clients->serial);
-    clients_complete (clients, fd);
-}
-
-static void
-clients_remove (struct clients *clients, int fd)
-{
-    int i, j;
-
-    for (i = 0; i < clients->count; i++) {
-       struct client_info *c = &clients->clients[i];
-       if (c->sk == fd) {
-           free (c->out_buf);
-           break;
-       }
-    }
-
-    for (j = i++; i < clients->count; i++)
-       clients->clients[j] = clients->clients[i];
-
-    clients->count = j;
-}
-
-static void
-clients_send_trace (struct clients *clients,
-                   const char * const line, const int len)
-{
-    int i;
-
-    for (i = 0; i < clients->count; i++) {
-       struct client_info *c = &clients->clients[i];
-       int ret, rem = len;
-
-       if (c->trace == -1)
-           continue;
-
-       if (c->out_len) {
-           ret = write (c->trace, c->out_buf, c->out_len);
-           if (ret > 0) {
-               c->out_len -= ret;
-               if (c->out_len)
-                   memmove (c->out_buf, c->out_buf + ret, c->out_len);
-           }
-       }
-
-       if (! c->out_len) {
-           ret = write (c->trace, line, rem);
-           if (ret > 0)
-               rem -= ret;
-       }
-
-       if (rem) {
-           if (c->out_len + rem > c->out_size) {
-               c->out_size *= 2;
-               c->out_buf = xrealloc (c->out_buf, c->out_size);
-           }
-
-           memcpy (c->out_buf + c->out_len, line, rem);
-           c->out_len += rem;
-       }
-    }
-}
-
-static void
-clients_fini (struct clients *clients)
-{
-    shm_unlink (clients->shm_path);
-    munmap (clients->base, DATA_SIZE);
-    free (clients->clients);
-}
-
-static int
-nonblocking (int fd)
-{
-    long flags;
-
-    flags = fcntl (fd, F_GETFL);
-    if (flags == -1)
-       return -1;
-
-    return fcntl (fd, F_SETFL, flags | O_NONBLOCK);
-}
-
-static void *
-request_image (struct client *c,
-              struct context_closure *closure,
-              cairo_format_t format,
-              int width, int height, int stride)
-{
-    char buf[1024];
-    unsigned long offset = -1;
-    int len;
-
-    assert (format != CAIRO_FORMAT_INVALID);
-
-    len = sprintf (buf, ".image %lu %d %d %d %d\n",
-                  closure->id, format, width, height, stride);
-    writen (c->sk, buf, len);
-
-    readn (c->sk, &offset, sizeof (offset));
-    if (offset == (unsigned long) -1)
-       return NULL;
-
-    return (uint8_t *) c->base + offset;
-}
-
-static cairo_format_t
-format_for_content (cairo_content_t content)
-{
-    switch (content) {
-    case CAIRO_CONTENT_ALPHA:
-       return CAIRO_FORMAT_A8;
-    case CAIRO_CONTENT_COLOR:
-       return CAIRO_FORMAT_RGB24;
-    default:
-    case CAIRO_CONTENT_COLOR_ALPHA:
-       return CAIRO_FORMAT_ARGB32;
-    }
-}
-
-static void
-get_surface_size (cairo_surface_t *surface,
-                 int *width, int *height,
-                 cairo_format_t *format)
-{
-    if (cairo_surface_get_type (surface) == CAIRO_SURFACE_TYPE_IMAGE) {
-       *width = cairo_image_surface_get_width (surface);
-       *height = cairo_image_surface_get_height (surface);
-       *format = cairo_image_surface_get_format (surface);
-    } else {
-       struct surface_tag *tag;
-
-       tag = cairo_surface_get_user_data (surface, &surface_tag);
-       if (tag != NULL) {
-           *width = tag->width;
-           *height = tag->height;
-       } else {
-           double x0, x1, y0, y1;
-           cairo_t *cr;
-
-           /* presumably created using cairo_surface_create_similar() */
-           cr = cairo_create (surface);
-           cairo_clip_extents (cr, &x0, &y0, &x1, &y1);
-           cairo_destroy (cr);
-
-           tag = xmalloc (sizeof (*tag));
-           *width = tag->width = ceil (x1 - x0);
-           *height = tag->height = ceil (y1 - y0);
-
-           if (cairo_surface_set_user_data (surface, &surface_tag, tag, free))
-               exit (-1);
-       }
-    }
-}
-
-
-static void
-send_surface (struct client *c,
-             struct context_closure *closure)
-{
-    cairo_surface_t *source = closure->surface;
-    cairo_surface_t *image;
-    cairo_format_t format = CAIRO_FORMAT_INVALID;
-    cairo_t *cr;
-    int width, height, stride;
-    void *data;
-    unsigned long serial;
-
-    get_surface_size (source, &width, &height, &format);
-    if (format == CAIRO_FORMAT_INVALID)
-       format = format_for_content (cairo_surface_get_content (source));
-
-    stride = cairo_format_stride_for_width (format, width);
-
-    data = request_image (c, closure, format, width, height, stride);
-    if (data == NULL)
-       exit (-1);
-
-    image = cairo_image_surface_create_for_data (data,
-                                                format,
-                                                width, height,
-                                                stride);
-    cr = cairo_create (image);
-    cairo_surface_destroy (image);
-
-    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-    cairo_set_source_surface (cr, source, 0, 0);
-    cairo_paint (cr);
-    cairo_destroy (cr);
-
-    /* signal completion */
-    writen (c->sk, ".complete\n", strlen (".complete\n"));
-
-    /* wait for image check */
-    serial = 0;
-    readn (c->sk, &serial, sizeof (serial));
-    if (serial != closure->id)
-       exit (-1);
-}
-
-static void
-send_recording (struct client *c,
-               struct context_closure *closure)
-{
-    cairo_surface_t *source = closure->surface;
-    char buf[1024];
-    int len;
-    unsigned long serial;
-
-    assert (cairo_surface_get_type (source) == CAIRO_SURFACE_TYPE_RECORDING);
-    len = sprintf (buf, ".recording %p %lu\n", source, closure->id);
-    writen (c->sk, buf, len);
-
-    /* wait for image check */
-
-    serial = 0;
-    readn (c->sk, &serial, sizeof (serial));
-    if (serial != closure->id)
-       exit (-1);
-}
-
-static cairo_surface_t *
-_surface_create (void *closure,
-                cairo_content_t content,
-                double width, double height,
-                long uid)
-{
-    struct client *c = closure;
-    cairo_surface_t *surface;
-
-    surface = cairo_surface_create_similar (c->surface,
-                                           content, width, height);
-    if (cairo_surface_get_type (surface) != CAIRO_SURFACE_TYPE_IMAGE) {
-       struct surface_tag *tag;
-
-       tag = xmalloc (sizeof (*tag));
-       tag->width = width;
-       tag->height = height;
-       if (cairo_surface_set_user_data (surface, &surface_tag, tag, free))
-           exit (-1);
-    }
-
-    return surface;
-}
-
-static cairo_t *
-_context_create (void *closure, cairo_surface_t *surface)
-{
-    struct client *c = closure;
-    struct context_closure *l;
-    cairo_bool_t foreign = FALSE;
-
-    l = xmalloc (sizeof (*l));
-    l->next = c->contexts;
-    l->surface = surface;
-    l->original = cairo_surface_reference (surface);
-    l->id = ++c->context_id;
-    if (l->id == 0)
-       l->id = ++c->context_id;
-    c->contexts = l;
-
-    /* record everything, including writes to images */
-    if (c->target == NULL) {
-       if (cairo_surface_get_type (surface) != CAIRO_SURFACE_TYPE_RECORDING) {
-           cairo_format_t format;
-           int width, height;
-
-           get_surface_size (surface, &width, &height, &format);
-           l->surface = cairo_surface_create_similar (c->surface,
-                                                      cairo_surface_get_content (surface),
-                                                      width, height);
-           foreign = TRUE;
-       }
-    }
-
-    l->context = cairo_create (l->surface);
-    if (foreign) {
-       cairo_set_source_surface (l->context, surface, 0, 0);
-       cairo_paint (l->context);
-    }
-
-    return l->context;
-}
-
-static void
-_context_destroy (void *closure, void *ptr)
-{
-    struct client *c = closure;
-    struct context_closure *l, **prev = &c->contexts;
-
-    while ((l = *prev) != NULL) {
-       if (l->context == ptr) {
-           if (cairo_surface_status (l->surface) == CAIRO_STATUS_SUCCESS) {
-               if (c->target == NULL)
-                   send_recording (c, l);
-               else
-                   send_surface (c, l);
-            } else {
-               exit (-1);
-           }
-
-            cairo_surface_destroy (l->original);
-            *prev = l->next;
-            free (l);
-            return;
-        }
-        prev = &l->next;
-    }
-}
-
-static void *
-recorder (void *arg)
-{
-    struct client client;
-    const cairo_script_interpreter_hooks_t hooks = {
-       .closure = &client,
-       .surface_create = _surface_create,
-       .context_create = _context_create,
-       .context_destroy = _context_destroy,
-    };
-    char *buf;
-    int buf_size;
-    int len = 0, ret;
-    struct pollfd pfd;
-
-    client.target = NULL;
-    client.sk = client_socket ("/tmp/cairo-sphinx");
-    if (client.sk < 0)
-       return NULL;
-
-    buf_size = 65536;
-    buf = xmalloc (buf_size);
-
-    len = sprintf (buf, "client-command target=recording name=.recorder\n");
-    if (! writen (client.sk, buf, len))
-       return NULL;
-
-    /* drain the shm_path */
-    len = readline (client.sk, buf, buf_size);
-
-    pfd.fd = client_socket ("/tmp/cairo-sphinx");
-    if (pfd.fd < 0)
-       return NULL;
-
-    len = sprintf (buf, "client-trace name=.recorder\n");
-    if (! writen (pfd.fd, buf, len))
-       return NULL;
-
-    client.surface = cairo_recording_surface_create (CAIRO_CONTENT_COLOR_ALPHA,
-                                                    NULL);
-
-    client.context_id = 0;
-    client.csi = cairo_script_interpreter_create ();
-    cairo_script_interpreter_install_hooks (client.csi, &hooks);
-
-    nonblocking (pfd.fd);
-    pfd.events = POLLIN;
-    len = 0;
-    while (poll (&pfd, 1, -1) > 0) {
-       while ((ret = read (pfd.fd, buf + len, buf_size - len)) > 0) {
-           int end;
-
-           if (ret == buf_size - len) {
-               buf_size *= 2;
-               buf = xrealloc (buf, buf_size);
-           }
-           len += ret;
-
-           for (end = len; end > 0 && buf[--end] != '\n'; )
-               ;
-           if (end > 0) {
-               buf[end] = '\0';
-               cairo_script_interpreter_feed_string (client.csi, buf, end);
-
-               len -= end + 1;
-               if (len)
-                   memmove (buf, buf + end + 1, len);
-           }
-       }
-       if (ret == 0)
-           break;
-       if (! (errno == EAGAIN || errno == EINTR))
-           break;
-    }
-
-    cairo_script_interpreter_finish (client.csi);
-    cairo_script_interpreter_destroy (client.csi);
-
-    cairo_surface_destroy (client.surface);
-    return NULL;
-}
-
-static int
-do_server (const char *path)
-{
-    pthread_t thread;
-    struct clients clients;
-    char line[4096];
-    struct pollfd *pfd;
-    int num_pfd, size_pfd;
-    int n, cnt, ret = 1;
-    int sk, source = -1;
-    int waiter = -1, waiter_count = 0;
-    int len;
-
-    signal (SIGPIPE, SIG_IGN);
-
-    if (clients_init (&clients) < 0) {
-       fprintf (stderr, "Failed to initialise clients structure\n");
-       return -1;
-    }
-
-    sk = server_socket (path);
-    if (sk < 0) {
-       fprintf (stderr, "Failed to create server socket\n");
-       return 1;
-    }
-
-    if (daemonize () < 0)
-       return 1;
-
-    if (pthread_create (&thread, NULL, recorder, NULL) < 0) {
-       fprintf (stderr, "Failed to create spawn recording thread\n");
-       return 1;
-    }
-
-    size_pfd = 4;
-    pfd = xmalloc (sizeof (*pfd) * size_pfd);
-    pfd[0].fd = sk;
-    pfd[0].events = POLLIN;
-    num_pfd = 1;
-
-    while ((cnt = poll (pfd, num_pfd, -1)) > 0) {
-       int have_source;
-
-       if (pfd[0].revents) {
-           while ((sk = accept (pfd[0].fd, NULL, NULL)) != -1) {
-               len = readline (sk, line, sizeof (line));
-               if (strcmp (line, "source") == 0) {
-
-                   if (source != -1)
-                       exit (1);
-
-                   source = sk;
-                   if (nonblocking (sk) < 0) {
-                       close (sk);
-                       continue;
-                   }
-               } else if (strncmp (line, "client-command", 14) == 0) {
-                   if (source == -1)
-                       clients_add_command (&clients, sk, line);
-               } else if (strncmp (line, "client-trace", 12) == 0) {
-                   if (source == -1) {
-                       clients_add_trace (&clients, sk, line);
-                       if (nonblocking (sk) < 0) {
-                           close (sk);
-                           continue;
-                       }
-
-                       if (clients.count == waiter_count) {
-                           for (n = 1; n < num_pfd; n++) {
-                               if (pfd[n].fd == waiter) {
-                                   pfd[n].fd = -1;
-                                   break;
-                               }
-                           }
-                           close (waiter);
-                           waiter_count = -1;
-                       }
-                   }
-               } else if (strncmp (line, "wait", 4) == 0) {
-                   int count = atoi (line + 5) + 1;
-                   if (clients.count == count) {
-                       close (sk);
-                       continue;
-                   } else {
-                       waiter = sk;
-                       waiter_count = count;
-                   }
-               }
-
-               if (num_pfd == size_pfd) {
-                   size_pfd *= 2;
-                   pfd = xrealloc (pfd, sizeof (*pfd) * size_pfd);
-               }
-
-               pfd[num_pfd].fd = sk;
-               pfd[num_pfd].events = POLLIN;
-               pfd[num_pfd].revents = 0;
-               num_pfd++;
-           }
-           cnt--;
-       }
-
-       have_source = 0;
-       for (n = 1; cnt && n < num_pfd; n++) {
-           if (! pfd[n].revents)
-               continue;
-           cnt--;
-
-           if (pfd[n].fd == -1)
-               continue;
-
-           if (source == pfd[n].fd) {
-               have_source = n;
-           } else {
-               len = readline (pfd[n].fd, line, sizeof (line));
-               if (len < 0) {
-                   clients_remove (&clients, pfd[n].fd);
-                   close (pfd[n].fd);
-                   pfd[n].fd = -1;
-                   continue;
-               }
-
-                if (strncmp (line, ".image", 6) == 0) {
-                   if (! clients_image (&clients, pfd[n].fd, line + 7)) {
-                       clients_remove (&clients, pfd[n].fd);
-                       close (pfd[n].fd);
-                       pfd[n].fd = -1;
-                       continue;
-                   }
-               } else if (strncmp (line, ".complete", 9) == 0) {
-                   clients_complete (&clients, pfd[n].fd);
-               } else if (strncmp (line, ".recording", 10) == 0) {
-                   clients_recording (&clients, pfd[n].fd, line + 6);
-               } else {
-                   printf ("do_command (%s)\n", line);
-               }
-           }
-       }
-
-       if (have_source) {
-           do {
-               len = read (source, line, sizeof (line));
-               if (len > 0) {
-                   clients_send_trace (&clients, line, len);
-               } else if (len == 0) {
-                   close (source);
-                   pfd[have_source].fd = source = -1;
-                   goto done;
-               } else
-                   break;
-           } while (1);
-       }
-
-       for (n = cnt = 1; n < num_pfd; n++) {
-           if (pfd[n].fd != -1) {
-               if (cnt != n)
-                   pfd[cnt] = pfd[n];
-               cnt++;
-           }
-       }
-       num_pfd = cnt;
-    }
-
-done:
-    ret = 0;
-    for (n = 0; n < num_pfd; n++) {
-       if (pfd[n].fd != -1)
-           close (pfd[n].fd);
-    }
-    free (pfd);
-    clients_fini (&clients);
-
-    return ret;
-}
-
-static void *
-client_shm (const char *shm_path)
-{
-    void *base;
-    int fd;
-
-    fd = shm_open (shm_path, O_RDWR, 0);
-    if (fd == -1)
-       return MAP_FAILED;
-
-    base = mmap (NULL, DATA_SIZE,
-                PROT_READ | PROT_WRITE,
-                MAP_SHARED | MAP_NORESERVE,
-                fd, 0);
-    close (fd);
-
-    return base;
-}
-
-static int
-client_socket (const char *socket_path)
-{
-    struct sockaddr_un addr;
-    int sk;
-
-    sk = socket (PF_UNIX, SOCK_STREAM, 0);
-    if (sk == -1)
-       return -1;
-
-    memset (&addr, 0, sizeof (addr));
-    addr.sun_family = AF_UNIX;
-    strcpy (addr.sun_path, socket_path);
-
-    if (connect (sk, (struct sockaddr *) &addr, sizeof (addr)) == -1)
-       return -1;
-
-    return sk;
-}
-
-static int
-do_client (int fd,
-          const char *target,
-          const char *name,
-          const char *reference,
-          cairo_content_t content)
-{
-    struct client client;
-    const cairo_script_interpreter_hooks_t hooks = {
-       .closure = &client,
-       .surface_create = _surface_create,
-       .context_create = _context_create,
-       .context_destroy = _context_destroy,
-    };
-    void *closure;
-    char *buf;
-    int buf_size;
-    int len = 0, ret;
-    struct pollfd pfd;
-
-    client.sk = fd;
-    client.target = cairo_boilerplate_get_target_by_name (target, content);
-    client.context_id = 0;
-
-    client.surface = client.target->create_surface (NULL, content, 1, 1, 1, 1,
-                                                   CAIRO_BOILERPLATE_MODE_TEST,
-                                                   &closure);
-    if (client.surface == NULL) {
-       fprintf (stderr, "Failed to create target surface: %s.\n",
-                client.target->name);
-       return 1;
-    }
-
-    buf_size = 65536;
-    buf = xmalloc (buf_size);
-
-    if (reference != NULL) {
-       len = sprintf (buf,
-                      "client-command name=%s target=%s reference=%s\n",
-                      name, target, reference);
-    } else {
-       len = sprintf (buf,
-                      "client-command name=%s target=%s\n",
-                      name, target);
-    }
-    if (! writen (fd, buf, len))
-       return 1;
-
-    len = readline (fd, buf, buf_size);
-    client.base = client_shm (buf);
-    if (client.base == MAP_FAILED) {
-       fprintf (stderr, "Failed to map shared memory segment '%s'.\n", buf);
-       return 1;
-    }
-
-    if (daemonize () < 0)
-       return 1;
-
-    pfd.fd = client_socket ("/tmp/cairo-sphinx");
-    if (pfd.fd < 0)
-       return 1;
-
-    len = sprintf (buf, "client-trace name=%s\n", name);
-    if (! writen (pfd.fd, buf, len))
-       return 1;
-
-    client.csi = cairo_script_interpreter_create ();
-    cairo_script_interpreter_install_hooks (client.csi, &hooks);
-
-    nonblocking (pfd.fd);
-    pfd.events = POLLIN;
-    len = 0;
-    while (poll (&pfd, 1, -1) > 0) {
-       while ((ret = read (pfd.fd, buf + len, buf_size - len)) > 0) {
-           int end;
-
-           if (ret == buf_size - len) {
-               buf_size *= 2;
-               buf = xrealloc (buf, buf_size);
-           }
-           len += ret;
-
-           for (end = len; end > 0 && buf[--end] != '\n'; )
-               ;
-           if (end > 0) {
-               buf[end] = '\0';
-               cairo_script_interpreter_feed_string (client.csi, buf, end);
-
-               len -= end + 1;
-               if (len)
-                   memmove (buf, buf + end + 1, len);
-           }
-       }
-       if (ret == 0)
-           break;
-       if (! (errno == EAGAIN || errno == EINTR))
-           break;
-    }
-
-    cairo_script_interpreter_finish (client.csi);
-    cairo_script_interpreter_destroy (client.csi);
-
-    cairo_surface_destroy (client.surface);
-    close (fd);
-
-    return 0;
-}
-
-static int
-do_exec (int fd, char **argv)
-{
-    char buf[4096];
-
-    if (*argv == NULL)
-       return 0;
-
-    snprintf (buf, sizeof (buf), "%s/cairo-trace.so", LIBDIR);
-    setenv ("LD_PRELOAD", buf, 1);
-
-    snprintf (buf, sizeof (buf), "0");
-    setenv ("CAIRO_TRACE_LINE_INFO", buf, 1);
-
-    snprintf (buf, sizeof (buf), "%d", fd);
-    setenv ("CAIRO_TRACE_FD", buf, 1);
-    putenv (buf);
-
-    return execvp (argv[0], argv);
-}
-
-static int
-do_wait (int fd)
-{
-    char buf;
-    int ret = read (fd, &buf, 1);
-    return ret != 0;
-}
-
-int
-main (int argc, char **argv)
-{
-    char buf[4096];
-    int len;
-    int fd;
-
-    if (argc == 1)
-       return do_server ("/tmp/cairo-sphinx");
-
-    fd = client_socket ("/tmp/cairo-sphinx");
-    if (fd < 0)
-       return 1;
-
-    if (strcmp (argv[1], "client") == 0) {
-       return do_client (fd, argv[2], argv[3], argv[4],
-                         CAIRO_CONTENT_COLOR_ALPHA);
-    }
-
-    if (strcmp (argv[1], "wait") == 0) {
-       len = snprintf (buf, sizeof (buf), "wait %s\n", argv[2]);
-       if (! writen (fd, buf, len))
-           return 1;
-
-       return do_wait (fd);
-    }
-
-    if (strcmp (argv[1], "exec") == 0) {
-       len = snprintf (buf, sizeof (buf), "source\n");
-       if (! writen (fd, buf, len))
-           return 1;
-
-       return do_exec (fd, argv+2);
-    }
-
-    if (strcmp (argv[1], "replay") == 0) {
-       len = snprintf (buf, sizeof (buf), "replay %s\n", argv[2]);
-       return ! writen (fd, buf, len);
-    }
-
-    return 0;
-}
diff --git a/util/cairo-trace/.gitignore b/util/cairo-trace/.gitignore
deleted file mode 100644 (file)
index b5f8666..0000000
+++ /dev/null
@@ -1 +0,0 @@
-cairo-trace
diff --git a/util/cairo-trace/COPYING b/util/cairo-trace/COPYING
deleted file mode 100644 (file)
index 37aeee0..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Cairo is free software.
-
-cairo-trace is released under the terms of the GNU General Public License
-(GPL) version 3. Please see COPYING-GPL-3 for the precise terms and
-conditions.
diff --git a/util/cairo-trace/COPYING-GPL-3 b/util/cairo-trace/COPYING-GPL-3
deleted file mode 100644 (file)
index 94a9ed0..0000000
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/util/cairo-trace/Makefile.am b/util/cairo-trace/Makefile.am
deleted file mode 100644 (file)
index 3278abe..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-cairolibdir = $(libdir)/cairo
-cairooutdir = $(localstatedir)/lib/cairo-trace
-
-bin_SCRIPTS = cairo-trace
-cairolib_LTLIBRARIES = libcairo-trace.la
-
-AM_CPPFLAGS = -I$(top_srcdir)/src \
-             -I$(top_builddir)/src
-
-libcairo_trace_la_SOURCES = trace.c
-libcairo_trace_la_CPPFLAGS = -DCAIRO_TRACE_OUTDIR="\"$(cairooutdir)\"" \
-                         $(AM_CPPFLAGS)
-libcairo_trace_la_CFLAGS = $(CAIRO_CFLAGS) $(real_pthread_CFLAGS)
-libcairo_trace_la_LDFLAGS = -no-undefined
-
-libcairo_trace_la_LIBADD = $(real_pthread_LIBS) -lz
-if CAIRO_HAS_DL
-libcairo_trace_la_LIBADD += -ldl
-endif
-
-if CAIRO_HAS_SYMBOL_LOOKUP
-libcairo_trace_la_SOURCES += \
-                        lookup-symbol.c \
-                        lookup-symbol.h
-libcairo_trace_la_LIBADD += $(BFD_LIBS)
-endif
-
-
-system-install: install
-       -mkdir -p $(cairooutdir)
-       -chmod 01777 $(cairooutdir)
-       grep -sq $(cairolibdir)/libcairo-trace.so /etc/ld.so.preload || echo $(cairolibdir)/libcairo-trace.so >> /etc/ld.so.preload
-
-system-uninstall: uninstall
-       sed -e '/libcairo-trace.so/d' < /etc/ld.so.preload > /tmp/ld.so.preload && mv /tmp/ld.so.preload /etc/ld.so.preload;
-
-EXTRA_DIST = \
-       COPYING \
-       COPYING-GPL-3 \
-       cairo-trace.in
diff --git a/util/cairo-trace/cairo-trace.in b/util/cairo-trace/cairo-trace.in
deleted file mode 100644 (file)
index ece90d3..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/bin/sh
-
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-
-nofile=
-flush=
-nocallers=
-nomarkdirty=
-compress=
-
-usage() {
-cat << EOF
-usage: cairo-trace [--no-file] command
-cairo-trace will generate a log of all calls made by command to
-cairo. This log will be stored in a file in the local directory
-called command.pid.trace.
-Whatever else happens is driven by its argument:
-  --flush         - Flush the output trace after every call.
-  --no-file       - Disable the creation of an output file. Outputs to the
-                    terminal instead.
-  --no-callers    - Do not lookup the caller address/symbol/line whilst tracing.
-  --mark-dirty    - Record image data for cairo_mark_dirty() [default]
-  --no-mark-dirty - Do not record image data for cairo_mark_dirty()
-  --compress      - Compress the output with LZMA
-  --profile       - Combine --no-callers and --no-mark-dirty and --compress
-
-Environment variables understood by cairo-trace:
-  CAIRO_TRACE_FLUSH - flush the output after every function call.
-  CAIRO_TRACE_LINE_INFO - emit line information for most function calls.
-EOF
-exit
-}
-
-skip=1
-while test $skip -eq 1; do
-    skip=0
-    case $1 in
-    --flush)
-       skip=1
-       flush=1
-       ;;
-    --no-file)
-       skip=1
-       nofile=1
-       ;;
-    --no-callers)
-       skip=1
-       nocallers=1
-       ;;
-    --mark-dirty)
-       skip=1
-       nomarkdirty=
-       ;;
-    --no-mark-dirty)
-       skip=1
-       nomarkdirty=1
-       ;;
-    --compress)
-       skip=1
-       compress=1
-       nofile=1
-       ;;
-    --profile)
-       skip=1
-       compress=1
-       nomarkdirty=1
-       nocallers=1
-       nofile=1
-       ;;
-    --version)
-       echo "cairo-trace, version @CAIRO_VERSION_MAJOR@.@CAIRO_VERSION_MINOR@.@CAIRO_VERSION_MICRO@."
-       exit
-       ;;
-    --help)
-       usage
-       ;;
-    esac
-    if test $skip -eq 1; then
-       shift
-    fi
-done
-
-if test $# -eq 0; then
-    usage
-fi
-
-CAIRO_TRACE_PROG_NAME="$1"
-export CAIRO_TRACE_PROG_NAME
-
-if test "x$CAIRO_TRACE_SO" = "x"; then
-    CAIRO_TRACE_SO=""
-    for lib in @libdir@/cairo/libcairo-trace.@SHLIB_EXT@ @libdir@/cairo/libcairo-trace.@SHLIB_EXT@* @libdir@/cairo/libcairo-trace.*.@SHLIB_EXT@ ; do
-       if test -h "$lib" -o -f "$lib"; then
-           CAIRO_TRACE_SO="$lib"
-           break
-       fi
-    done
-fi
-if test "x$CAIRO_TRACE_SO" = "x"; then
-    echo "Could not find the cairo-trace shared library in @libdir@/cairo/." >&2
-    echo "Set the CAIRO_TRACE_SO environment variable to the full path of the library." >&2
-    exit 15
-fi
-
-LD_PRELOAD="$CAIRO_TRACE_SO"
-DYLD_INSERT_LIBRARIES="$CAIRO_TRACE_SO"
-DYLD_FORCE_FLAT_NAMESPACE=1
-export LD_PRELOAD
-export DYLD_INSERT_LIBRARIES
-export DYLD_FORCE_FLAT_NAMESPACE
-
-if test -n "$nocallers"; then
-    CAIRO_TRACE_LINE_INFO=0
-    export CAIRO_TRACE_LINE_INFO
-fi
-
-if test -n "$nomarkdirty"; then
-    CAIRO_TRACE_MARK_DIRTY=0
-    export CAIRO_TRACE_MARK_DIRTY
-fi
-
-if test -n "$flush"; then
-    CAIRO_TRACE_FLUSH=1
-    export CAIRO_TRACE_FLUSH
-fi
-
-if test -z "$nofile"; then
-    CAIRO_TRACE_OUTDIR=`pwd` "$@"
-elif test -n "$compress"; then
-    name=`basename $1`
-    echo Generating compressed trace file $name.$$.lzma
-    CAIRO_TRACE_FD=3 "$@" 3>&1 >/dev/null | lzma -cz9 > $name.$$.lzma
-else
-    CAIRO_TRACE_FD=3 "$@" 3>&1 >/dev/null
-fi
diff --git a/util/cairo-trace/lookup-symbol.c b/util/cairo-trace/lookup-symbol.c
deleted file mode 100644 (file)
index f9665b3..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-/* cairo-trace - a utility to record and replay calls to the Cairo library.
- *
- * Copyright © 2008 Chris Wilson
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * A less hacky utility to lookup the debug strings for a particular
- * .text address.
- * Derived from backtrace-symbols.c in cairo by Chris Wilson.
- */
-
-/*
-   A hacky replacement for backtrace_symbols in glibc
-
-   backtrace_symbols in glibc looks up symbols using dladdr which is limited
-   in the symbols that it sees. libbacktracesymbols opens the executable and
-   shared libraries using libbfd and will look up backtrace information using
-   the symbol table and the dwarf line information.
-
-   It may make more sense for this program to use libelf instead of libbfd.
-   However, I have not investigated that yet.
-
-   Derived from addr2line.c from GNU Binutils by Jeff Muizelaar
-
-   Copyright 2007 Jeff Muizelaar
-   */
-
-/* addr2line.c -- convert addresses to line number and function name
-   Copyright 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-   Contributed by Ulrich Lauther <Ulrich.Lauther@mchp.siemens.de>
-
-   This file was part of GNU Binutils.
-   */
-
-#define _GNU_SOURCE
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#define true 1
-#define false 0
-
-#include "lookup-symbol.h"
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <link.h>
-#include <string.h>
-#include <pthread.h>
-
-#if HAVE_BFD
-#include <bfd.h>
-#include <libiberty.h>
-
-struct symtab {
-    bfd *bfd;
-    asymbol **syms;
-};
-
-struct symbol {
-    int found;
-    bfd_vma pc;
-    struct symtab *symtab;
-    const char *filename;
-    const char *functionname;
-    unsigned int line;
-};
-
-
-static void
-_symtab_fini (struct symtab *symtab)
-{
-    free (symtab->syms);
-    if (symtab->bfd != NULL)
-       bfd_close (symtab->bfd);
-}
-
-/* Read in the symbol table.  */
-static int
-_symtab_init (struct symtab *symtab, const char *filename)
-{
-    char **matching;
-    long symcount;
-    unsigned int size;
-
-    symtab->bfd = NULL;
-    symtab->syms = NULL;
-
-    symtab->bfd = bfd_openr (filename, NULL);
-    if (symtab->bfd == NULL)
-       goto BAIL;
-
-    if (bfd_check_format (symtab->bfd, bfd_archive))
-       goto BAIL;
-
-    if (! bfd_check_format_matches (symtab->bfd, bfd_object, &matching))
-       goto BAIL;
-
-    symcount = bfd_read_minisymbols (symtab->bfd, false, (PTR) &symtab->syms, &size);
-    if (symcount == 0) {
-       symcount = bfd_read_minisymbols (symtab->bfd, true /* dynamic */ ,
-               (PTR) &symtab->syms, &size);
-    }
-    if (symcount < 0)
-       goto BAIL;
-
-    if ((bfd_get_file_flags (symtab->bfd) & HAS_SYMS) == 0)
-       goto BAIL;
-
-    return 1;
-
-BAIL:
-    _symtab_fini (symtab);
-    return 0;
-}
-
-/* Look for an address in a section.
- * This is called via bfd_map_over_sections.
- */
-static void
-find_address_in_section (bfd *abfd,
-                        asection *section,
-                        void *data)
-{
-    bfd_vma vma;
-    bfd_size_type size;
-    struct symbol *symbol = data;
-    struct symtab *symtab = symbol->symtab;
-
-    if (symbol->found)
-       return;
-
-    if ((bfd_get_section_flags (symtab->bfd, section) & SEC_ALLOC) == 0)
-       return;
-
-    vma = bfd_get_section_vma (symtab->bfd, section);
-    if (symbol->pc < vma)
-       return;
-
-    size = bfd_section_size (symtab->bfd, section);
-    if (symbol->pc >= vma + size)
-       return;
-
-    symbol->found = bfd_find_nearest_line (symtab->bfd, section,
-                                          symtab->syms,
-                                          symbol->pc - vma,
-                                          &symbol->filename,
-                                          &symbol->functionname,
-                                          &symbol->line);
-}
-
-static void
-_symbol_fini (struct symbol *symbol)
-{
-}
-
-static void
-_symbol_init (struct symbol *symbol, struct symtab *symtab, bfd_vma addr)
-{
-    symbol->found = false;
-    symbol->symtab = symtab;
-    symbol->pc = addr;
-}
-
-static void
-_symbol_print (struct symbol *symbol, char *buf, int buflen, const char *filename)
-{
-    const char *name, *h;
-    char path[1024];
-
-    if (! symbol->found)
-       return;
-
-    name = symbol->functionname;
-    if (name == NULL || *name == '\0')
-       name = "??";
-
-    if (symbol->filename != NULL)
-       filename = symbol->filename;
-    if (strcmp (filename, "/proc/self/exe") == 0) {
-       int len = readlink ("/proc/self/exe", path, sizeof (path) - 1);
-       if (len != -1) {
-           path[len] = '\0';
-           filename = path;
-       }
-    }
-    h = strrchr (filename, '/');
-    if (h != NULL)
-       filename = h + 1;
-
-    if (symbol->line) {
-       snprintf (buf, buflen, "%s() [%s:%u]",
-                 name, filename, symbol->line);
-    } else {
-       snprintf (buf, buflen, "%s() [%s]", name, filename);
-    }
-}
-#endif
-
-struct file_match {
-    const char *file;
-    ElfW(Addr) address;
-    ElfW(Addr) base;
-    void *hdr;
-};
-
-static int
-find_matching_file (struct dl_phdr_info *info, size_t size, void *data)
-{
-    struct file_match *match = data;
-    /* This code is modeled from Gfind_proc_info-lsb.c:callback() from libunwind */
-    long n;
-    const ElfW(Phdr) *phdr;
-    ElfW(Addr) load_base = info->dlpi_addr;
-
-    phdr = info->dlpi_phdr;
-    for (n = info->dlpi_phnum; --n >= 0; phdr++) {
-       if (phdr->p_type == PT_LOAD) {
-           ElfW(Addr) vaddr = phdr->p_vaddr + load_base;
-           if (match->address >= vaddr &&
-               match->address < vaddr + phdr->p_memsz)
-           {
-               /* we found a match */
-               match->file = info->dlpi_name;
-               match->base = info->dlpi_addr;
-               return 1;
-           }
-       }
-    }
-
-    return 0;
-}
-
-struct symbol_cache_entry {
-    const void *ptr;
-    struct symbol_cache_entry *hash_prev, *hash_next;
-    char name[0];
-};
-
-static struct symbol_cache_entry *symbol_cache_hash[13477];
-static pthread_mutex_t symbol_cache_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-char *
-lookup_symbol (char *buf, int buflen, const void *ptr)
-{
-    struct file_match match;
-#if HAVE_BFD
-    struct symtab symtab;
-    struct symbol symbol;
-#endif
-    struct symbol_cache_entry *cache;
-    int bucket;
-    int len;
-
-    bucket = (unsigned long) ptr % (sizeof (symbol_cache_hash) / sizeof (symbol_cache_hash[0]));
-    pthread_mutex_lock (&symbol_cache_mutex);
-    for (cache = symbol_cache_hash[bucket];
-        cache != NULL;
-        cache = cache->hash_next)
-    {
-       if (cache->ptr == ptr) {
-           if (cache->hash_prev != NULL) {
-               cache->hash_prev->hash_next = cache->hash_next;
-               if (cache->hash_next != NULL)
-                   cache->hash_next->hash_prev = cache->hash_prev;
-               cache->hash_prev = NULL;
-               cache->hash_next = symbol_cache_hash[bucket];
-               symbol_cache_hash[bucket]->hash_prev = cache;
-               symbol_cache_hash[bucket] = cache;
-           }
-
-           pthread_mutex_unlock (&symbol_cache_mutex);
-           return cache->name;
-       }
-    }
-    pthread_mutex_unlock (&symbol_cache_mutex);
-
-    match.file = NULL;
-    match.address = (ElfW(Addr)) ptr;
-    dl_iterate_phdr (find_matching_file, &match);
-
-    snprintf (buf, buflen, "0x%llx",
-             (long long unsigned int) match.address);
-
-    if (match.file == NULL || *match.file == '\0')
-       match.file = "/proc/self/exe";
-
-#if HAVE_BFD
-    if (_symtab_init (&symtab, match.file)) {
-       _symbol_init (&symbol, &symtab, match.address - match.base);
-       bfd_map_over_sections (symtab.bfd, find_address_in_section, &symbol);
-       if (symbol.found)
-           _symbol_print (&symbol, buf, buflen, match.file);
-       _symbol_fini (&symbol);
-
-       _symtab_fini (&symtab);
-    }
-#endif
-
-    len = strlen (buf);
-    cache = malloc (sizeof (struct symbol_cache_entry) + len + 1);
-    if (cache != NULL) {
-       cache->ptr = ptr;
-       memcpy (cache->name, buf, len + 1);
-
-       pthread_mutex_lock (&symbol_cache_mutex);
-       cache->hash_prev = NULL;
-       cache->hash_next = symbol_cache_hash[bucket];
-       if (symbol_cache_hash[bucket] != NULL)
-           symbol_cache_hash[bucket]->hash_prev = cache;
-       symbol_cache_hash[bucket] = cache;
-       pthread_mutex_unlock (&symbol_cache_mutex);
-    }
-
-    return buf;
-}
diff --git a/util/cairo-trace/lookup-symbol.h b/util/cairo-trace/lookup-symbol.h
deleted file mode 100644 (file)
index 83817ed..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/* cairo-trace - a utility to record and replay calls to the Cairo library.
- *
- * Copyright © 2008 Chris Wilson
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef LOOKUP_SYMBOLS_H
-
-char *
-lookup_symbol (char *buf, int len, const void *ptr);
-
-#endif /*LOOKUP_SYMBOLS_H */
diff --git a/util/cairo-trace/trace.c b/util/cairo-trace/trace.c
deleted file mode 100644 (file)
index da7d2f0..0000000
+++ /dev/null
@@ -1,5372 +0,0 @@
-/* cairo-trace - a utility to record and replay calls to the Cairo library.
- *
- * Copyright © 2008 Chris Wilson
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#define _GNU_SOURCE
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-/* The autoconf on OpenBSD 4.5 produces the malformed constant name
- * SIZEOF_VOID__ rather than SIZEOF_VOID_P.  Work around that here. */
-#if !defined(SIZEOF_VOID_P) && defined(SIZEOF_VOID__)
-# define SIZEOF_VOID_P SIZEOF_VOID__
-#endif
-
-#include <dlfcn.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <errno.h>
-#include <pthread.h>
-#include <zlib.h>
-#include <math.h>
-#include <locale.h> /* for locale independent %f printing */
-#include <ctype.h>
-#include <assert.h>
-#include <stdlib.h>
-#include <limits.h>
-#include <stdarg.h>
-
-#include <cairo.h>
-#if CAIRO_HAS_FT_FONT
-# include <cairo-ft.h>
-#endif
-
-#ifndef TRUE
-#define TRUE 1
-#define FALSE 0
-#endif
-
-#ifndef CAIRO_TRACE_OUTDIR
-#define CAIRO_TRACE_OUTDIR "."
-#endif
-
-#if HAVE_BYTESWAP_H
-# include <byteswap.h>
-#endif
-#ifndef bswap_16
-# define bswap_16(p) \
-       (((((uint16_t)(p)) & 0x00ff) << 8) | \
-         (((uint16_t)(p))           >> 8))
-#endif
-#ifndef bswap_32
-# define bswap_32(p) \
-         (((((uint32_t)(p)) & 0x000000ff) << 24) | \
-         ((((uint32_t)(p)) & 0x0000ff00) << 8)  | \
-         ((((uint32_t)(p)) & 0x00ff0000) >> 8)  | \
-         ((((uint32_t)(p)))              >> 24))
-#endif
-
-#if WORDS_BIGENDIAN
-#define le16(x) bswap_16 (x)
-#define le32(x) bswap_32 (x)
-#define be16(x) x
-#define be32(x) x
-#define to_be32(x) x
-#else
-#define le16(x) x
-#define le32(x) x
-#define be16(x) bswap_16 (x)
-#define be32(x) bswap_32 (x)
-#define to_be32(x) bswap_32 (x)
-#endif
-
-#if CAIRO_HAS_SYMBOL_LOOKUP
-#include "lookup-symbol.h"
-#endif
-
-/* Reverse the bits in a byte with 7 operations (no 64-bit):
- * Devised by Sean Anderson, July 13, 2001.
- * Source: http://graphics.stanford.edu/~seander/bithacks.html#ReverseByteWith32Bits
- */
-#define CAIRO_BITSWAP8(c) ((((c) * 0x0802LU & 0x22110LU) | ((c) * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16)
-
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
-#define CAIRO_PRINTF_FORMAT(fmt_index, va_index) \
-       __attribute__((__format__(__printf__, fmt_index, va_index)))
-#else
-#define CAIRO_PRINTF_FORMAT(fmt_index, va_index)
-#endif
-
-/* XXX implement manual vprintf so that the user can control precision of
- * printed numbers.
- */
-
-static void *_dlhandle = RTLD_NEXT;
-#define DLCALL(name, args...) ({ \
-    static typeof (&name) name##_real; \
-    if (name##_real == NULL) { \
-       name##_real = (typeof (&name))(dlsym (_dlhandle, #name));       \
-       if (name##_real == NULL && _dlhandle == RTLD_NEXT) { \
-           _dlhandle = dlopen ("libcairo." SHARED_LIB_EXT, RTLD_LAZY); \
-           name##_real = (typeof (&name))(dlsym (_dlhandle, #name));   \
-           assert (name##_real != NULL); \
-       } \
-    } \
-    (*name##_real) (args);  \
-})
-
-#define ARRAY_SIZE(a) (sizeof (a) / sizeof (a[0]))
-#define ARRAY_LENGTH(a) ((int) ARRAY_SIZE(a))
-
-#if SIZEOF_VOID_P == 4
-#define PTR_SHIFT 2
-#elif SIZEOF_VOID_P == 8
-#define PTR_SHIFT 3
-#else
-#error Unexpected pointer size
-#endif
-#define BUCKET(b, ptr) (((unsigned long) (ptr) >> PTR_SHIFT) % ARRAY_LENGTH (b))
-
-#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__)
-#define _BOOLEAN_EXPR(expr)                   \
- __extension__ ({                             \
-   int _boolean_var_;                         \
-   if (expr)                                  \
-      _boolean_var_ = 1;                      \
-   else                                       \
-      _boolean_var_ = 0;                      \
-   _boolean_var_;                             \
-})
-#define LIKELY(expr) (__builtin_expect (_BOOLEAN_EXPR(expr), 1))
-#define UNLIKELY(expr) (__builtin_expect (_BOOLEAN_EXPR(expr), 0))
-#else
-#define LIKELY(expr) (expr)
-#define UNLIKELY(expr) (expr)
-#endif
-
-typedef struct _object Object;
-typedef struct _type Type;
-
-struct _object {
-    const void *addr;
-    Type *type;
-    unsigned long int token;
-    int width, height;
-    cairo_bool_t foreign;
-    cairo_bool_t defined;
-    int operand;
-    void *data;
-    void (*destroy)(void *);
-    Object *next, *prev;
-};
-
-struct _type {
-    const char *name;
-
-    enum operand_type {
-       NONE,
-       SURFACE,
-       CONTEXT,
-       FONT_FACE,
-       PATTERN,
-       SCALED_FONT,
-       _N_OP_TYPES
-    } op_type;
-    const char *op_code;
-
-    pthread_mutex_t mutex;
-    struct _bitmap {
-       unsigned long int min;
-       unsigned long int count;
-       unsigned int map[64];
-       struct _bitmap *next;
-    } map;
-    Object *objects[607];
-    Type *next;
-};
-
-static struct _type_table {
-    pthread_mutex_t mutex;
-    Type *op_types[_N_OP_TYPES];
-} Types;
-
-static FILE *logfile;
-static cairo_bool_t _flush;
-static cairo_bool_t _error;
-static cairo_bool_t _line_info;
-static cairo_bool_t _mark_dirty;
-static const cairo_user_data_key_t destroy_key;
-static pthread_once_t once_control = PTHREAD_ONCE_INIT;
-static pthread_key_t counter_key;
-
-static void _init_trace (void);
-
-#define INIT_TRACE_ONCE() pthread_once (&once_control, _init_trace)
-
-#if __GNUC__ >= 3 && defined(__ELF__) && !defined(__sun)
-# define _enter_trace() INIT_TRACE_ONCE ()
-# define _exit_trace()  do { } while (0)
-# define _should_trace() 1
-# define USE_ENTER_EXIT 0
-#else
-static void _enter_trace (void);
-static void _exit_trace (void);
-static cairo_bool_t _should_trace (void);
-# define USE_ENTER_EXIT 1
-#endif
-
-#if HAVE_BUILTIN_RETURN_ADDRESS && CAIRO_HAS_SYMBOL_LOOKUP
-#define _emit_line_info() do { \
-    if (_line_info && _write_lock ()) {        \
-       void *addr = __builtin_return_address(0); \
-       char caller[1024]; \
-       _trace_printf ("%% %s() called by %s\n", __FUNCTION__, \
-                      lookup_symbol (caller, sizeof (caller), addr)); \
-       _write_unlock (); \
-    } \
-} while (0)
-#else
-#define _emit_line_info()
-#endif
-
-static void
-_type_release_token (Type *t, unsigned long int token)
-{
-    struct _bitmap *b, **prev = NULL;
-
-    b = &t->map;
-    while (b != NULL) {
-       if (token < b->min + sizeof (b->map) * CHAR_BIT) {
-           unsigned int bit, elem;
-
-           token -= b->min;
-           elem = token / (sizeof (b->map[0]) * CHAR_BIT);
-           bit  = token % (sizeof (b->map[0]) * CHAR_BIT);
-           b->map[elem] &= ~(1 << bit);
-           if (! --b->count && prev) {
-               *prev = b->next;
-               free (b);
-           }
-           return;
-       }
-       prev = &b->next;
-       b = b->next;
-    }
-}
-
-static unsigned long int
-_type_next_token (Type *t)
-{
-    struct _bitmap *b, *bb, **prev = NULL;
-    unsigned long int min = 0;
-
-    b = &t->map;
-    while (b != NULL) {
-       if (b->min != min)
-           break;
-
-       if (b->count < sizeof (b->map) * CHAR_BIT) {
-           unsigned int n, m, bit;
-           for (n = 0; n < ARRAY_SIZE (b->map); n++) {
-               if (b->map[n] == (unsigned int) -1)
-                   continue;
-
-               for (m=0, bit=1; m<sizeof (b->map[0])*CHAR_BIT; m++, bit<<=1) {
-                   if ((b->map[n] & bit) == 0) {
-                       b->map[n] |= bit;
-                       b->count++;
-                       return n * sizeof (b->map[0])*CHAR_BIT + m + b->min;
-                   }
-               }
-           }
-       }
-       min += sizeof (b->map) * CHAR_BIT;
-
-       prev = &b->next;
-       b = b->next;
-    }
-
-    bb = malloc (sizeof (struct _bitmap));
-    *prev = bb;
-    bb->next = b;
-    bb->min = min;
-    bb->count = 1;
-    bb->map[0] = 0x1;
-    memset (bb->map + 1, 0, sizeof (bb->map) - sizeof (bb->map[0]));
-
-    return min;
-}
-
-static void
-_object_destroy (Object *obj)
-{
-    int bucket;
-
-    pthread_mutex_lock (&obj->type->mutex);
-    bucket = BUCKET (obj->type->objects, obj->addr);
-    _type_release_token (obj->type, obj->token);
-
-    if (obj->prev != NULL)
-       obj->prev->next = obj->next;
-    else
-       obj->type->objects[bucket] = obj->next;
-
-    if (obj->next != NULL)
-       obj->next->prev = obj->prev;
-    pthread_mutex_unlock (&obj->type->mutex);
-
-    if (obj->data != NULL && obj->destroy != NULL)
-       obj->destroy (obj->data);
-
-    free (obj);
-}
-
-static void
-_type_create (const char *typename,
-             enum operand_type op_type,
-             const char *op_code)
-{
-    Type *t;
-
-    pthread_mutex_lock (&Types.mutex);
-
-    t = malloc (sizeof (Type));
-    t->name = typename;
-    t->op_type = op_type;
-    t->op_code = op_code;
-
-    pthread_mutex_init (&t->mutex, NULL);
-
-    t->map.min = 0;
-    t->map.count = 0;
-    memset (t->map.map, 0, sizeof (t->map.map));
-    t->map.next = NULL;
-
-    memset (t->objects, 0, sizeof (t->objects));
-
-    t->next = NULL;
-
-    Types.op_types[op_type] = t;
-    pthread_mutex_unlock (&Types.mutex);
-}
-
-static Type *
-_get_type (enum operand_type type)
-{
-    return Types.op_types[type];
-}
-
-static void
-_type_destroy (Type *t)
-{
-    int n;
-    struct _bitmap *b;
-
-    for (n = 0; n < ARRAY_LENGTH (t->objects); n++) {
-       Object *obj = t->objects[n];
-       while (obj != NULL) {
-           Object *next = obj->next;
-           _object_destroy (obj);
-           obj = next;
-       }
-    }
-
-    b = t->map.next;
-    while (b != NULL) {
-       struct _bitmap *next = b->next;
-       free (b);
-       b = next;
-    }
-
-    pthread_mutex_destroy (&t->mutex);
-    free (t);
-}
-
-static Object *
-_type_get_object (Type *type, const void *ptr)
-{
-    Object *obj;
-    int bucket = BUCKET (type->objects, ptr);
-
-    for (obj = type->objects[bucket]; obj != NULL; obj = obj->next) {
-       if (obj->addr == ptr) {
-           if (obj->prev != NULL) { /* mru */
-               obj->prev->next = obj->next;
-               if (obj->next != NULL)
-                   obj->next->prev = obj->prev;
-               obj->prev = NULL;
-               type->objects[bucket]->prev = obj;
-               obj->next = type->objects[bucket];
-               type->objects[bucket] = obj;
-           }
-           return obj;
-       }
-    }
-
-    return NULL;
-}
-
-static Object *
-_object_create (Type *type, const void *ptr)
-{
-    Object *obj;
-    int bucket = BUCKET (type->objects, ptr);
-
-    obj = malloc (sizeof (Object));
-    obj->defined = FALSE;
-    obj->foreign = FALSE;
-    obj->operand = -1;
-    obj->type = type;
-    obj->addr = ptr;
-    obj->token = _type_next_token (type);
-    obj->data = NULL;
-    obj->destroy = NULL;
-    obj->prev = NULL;
-    obj->next = type->objects[bucket];
-    if (type->objects[bucket] != NULL)
-       type->objects[bucket]->prev = obj;
-    type->objects[bucket] = obj;
-
-    return obj;
-}
-
-#if USE_ENTER_EXIT
-static int *
-_get_counter (void)
-{
-    int *counter = pthread_getspecific (counter_key);
-    if (counter == NULL) {
-       counter = calloc(1, sizeof(int));
-       pthread_setspecific (counter_key, counter);
-    }
-    return counter;
-}
-
-static void
-_enter_trace (void)
-{
-    INIT_TRACE_ONCE ();
-    _get_counter ()[0]++;
-}
-
-static void
-_exit_trace (void)
-{
-    _get_counter ()[0]--;
-}
-
-static cairo_bool_t
-_should_trace (void)
-{
-    return _get_counter ()[0] <= 1;
-}
-#endif /* USE_ENTER_EXIT */
-
-static void
-_init_trace (void)
-{
-    pthread_mutex_init (&Types.mutex, NULL);
-    pthread_key_create (&counter_key, free);
-
-    _type_create ("unclassed", NONE, "");
-    _type_create ("cairo_t", CONTEXT, "c");
-    _type_create ("cairo_font_face_t", FONT_FACE, "f");
-    _type_create ("cairo_pattern_t", PATTERN, "p");
-    _type_create ("cairo_scaled_font_t", SCALED_FONT, "sf");
-    _type_create ("cairo_surface_t", SURFACE, "s");
-}
-
-static void
-_close_trace (void)
-{
-    if (logfile != NULL) {
-       fclose (logfile);
-       logfile = NULL;
-    }
-}
-
-static void __attribute__ ((destructor))
-_fini_trace (void)
-{
-    int n;
-
-    _close_trace ();
-
-    for (n = 0; n < ARRAY_LENGTH (Types.op_types); n++) {
-       if (Types.op_types[n]) {
-           _type_destroy (Types.op_types[n]);
-           Types.op_types[n] = NULL;
-       }
-    }
-
-    pthread_mutex_destroy (&Types.mutex);
-}
-
-/* Format a double in a locale independent way and trim trailing
- * zeros.  Based on code from Alex Larson <alexl@redhat.com>.
- * http://mail.gnome.org/archives/gtk-devel-list/2001-October/msg00087.html
- *
- * The code in the patch is copyright Red Hat, Inc under the LGPL.
- */
-#define SIGNIFICANT_DIGITS_AFTER_DECIMAL 6
-static void
-_trace_dtostr (char *buffer, size_t size, double d)
-{
-    struct lconv *locale_data;
-    const char *decimal_point;
-    int decimal_point_len;
-    char *p;
-    int decimal_len;
-    int num_zeros, decimal_digits;
-
-    /* Omit the minus sign from negative zero. */
-    if (d == 0.0)
-       d = 0.0;
-
-    locale_data = localeconv ();
-    decimal_point = locale_data->decimal_point;
-    decimal_point_len = strlen (decimal_point);
-
-    /* Using "%f" to print numbers less than 0.1 will result in
-     * reduced precision due to the default 6 digits after the
-     * decimal point.
-     *
-     * For numbers is < 0.1, we print with maximum precision and count
-     * the number of zeros between the decimal point and the first
-     * significant digit. We then print the number again with the
-     * number of decimal places that gives us the required number of
-     * significant digits. This ensures the number is correctly
-     * rounded.
-     */
-    if (fabs (d) >= 0.1) {
-       snprintf (buffer, size, "%f", d);
-    } else {
-       snprintf (buffer, size, "%.18f", d);
-       p = buffer;
-
-       if (*p == '+' || *p == '-')
-           p++;
-
-       while (isdigit (*p))
-           p++;
-
-       if (strncmp (p, decimal_point, decimal_point_len) == 0)
-           p += decimal_point_len;
-
-       num_zeros = 0;
-       while (*p++ == '0')
-           num_zeros++;
-
-       decimal_digits = num_zeros + SIGNIFICANT_DIGITS_AFTER_DECIMAL;
-
-       if (decimal_digits < 18)
-           snprintf (buffer, size, "%.*f", decimal_digits, d);
-    }
-    p = buffer;
-
-    if (*p == '+' || *p == '-')
-       p++;
-
-    while (isdigit (*p))
-       p++;
-
-    if (strncmp (p, decimal_point, decimal_point_len) == 0) {
-       *p = '.';
-       decimal_len = strlen (p + decimal_point_len);
-       memmove (p + 1, p + decimal_point_len, decimal_len);
-       p[1 + decimal_len] = 0;
-
-       /* Remove trailing zeros and decimal point if possible. */
-       for (p = p + decimal_len; *p == '0'; p--)
-           *p = 0;
-
-       if (*p == '.') {
-           *p = 0;
-           p--;
-       }
-    }
-}
-
-enum {
-    LENGTH_MODIFIER_LONG = 0x100
-};
-
-/* Here's a limited reimplementation of printf.  The reason for doing
- * this is primarily to special case handling of doubles.  We want
- * locale independent formatting of doubles and we want to trim
- * trailing zeros.  This is handled by dtostr() above, and the code
- * below handles everything else by calling snprintf() to do the
- * formatting.  This functionality is only for internal use and we
- * only implement the formats we actually use.
- */
-static void CAIRO_PRINTF_FORMAT(1, 0)
-_trace_vprintf (const char *fmt, va_list ap)
-{
-#define SINGLE_FMT_BUFFER_SIZE 32
-    char buffer[512], single_fmt[SINGLE_FMT_BUFFER_SIZE];
-    int single_fmt_length;
-    char *p;
-    const char *f, *start;
-    int length_modifier, width;
-    cairo_bool_t var_width;
-    int ret_ignored;
-
-    assert (_should_trace ());
-
-    f = fmt;
-    p = buffer;
-    while (*f != '\0') {
-       if (*f != '%') {
-           *p++ = *f++;
-           continue;
-       }
-
-       start = f;
-       f++;
-
-       if (*f == '0')
-           f++;
-
-        var_width = 0;
-        if (*f == '*') {
-            var_width = 1;
-           f++;
-        }
-
-       while (isdigit (*f))
-           f++;
-
-       length_modifier = 0;
-       if (*f == 'l') {
-           length_modifier = LENGTH_MODIFIER_LONG;
-           f++;
-       }
-
-       /* The only format strings exist in the cairo implementation
-        * itself. So there's an internal consistency problem if any
-        * of them is larger than our format buffer size. */
-       single_fmt_length = f - start + 1;
-
-       /* Reuse the format string for this conversion. */
-       memcpy (single_fmt, start, single_fmt_length);
-       single_fmt[single_fmt_length] = '\0';
-
-       /* Flush contents of buffer before snprintf()'ing into it. */
-       ret_ignored = fwrite (buffer, 1, p-buffer, logfile);
-
-       /* We group signed and unsigned together in this switch, the
-        * only thing that matters here is the size of the arguments,
-        * since we're just passing the data through to sprintf(). */
-       switch (*f | length_modifier) {
-       case '%':
-           buffer[0] = *f;
-           buffer[1] = 0;
-           break;
-       case 'd':
-       case 'u':
-       case 'o':
-       case 'x':
-       case 'X':
-            if (var_width) {
-                width = va_arg (ap, int);
-                snprintf (buffer, sizeof buffer,
-                          single_fmt, width, va_arg (ap, int));
-            } else {
-                snprintf (buffer, sizeof buffer, single_fmt, va_arg (ap, int));
-            }
-           break;
-       case 'd' | LENGTH_MODIFIER_LONG:
-       case 'u' | LENGTH_MODIFIER_LONG:
-       case 'o' | LENGTH_MODIFIER_LONG:
-       case 'x' | LENGTH_MODIFIER_LONG:
-       case 'X' | LENGTH_MODIFIER_LONG:
-            if (var_width) {
-                width = va_arg (ap, int);
-                snprintf (buffer, sizeof buffer,
-                          single_fmt, width, va_arg (ap, long int));
-            } else {
-                snprintf (buffer, sizeof buffer,
-                          single_fmt, va_arg (ap, long int));
-            }
-           break;
-       case 's':
-           snprintf (buffer, sizeof buffer,
-                     single_fmt, va_arg (ap, const char *));
-           break;
-       case 'f':
-       case 'g':
-           _trace_dtostr (buffer, sizeof buffer, va_arg (ap, double));
-           break;
-       case 'c':
-           buffer[0] = va_arg (ap, int);
-           buffer[1] = 0;
-           break;
-       default:
-           break;
-       }
-       p = buffer + strlen (buffer);
-       f++;
-    }
-
-    ret_ignored = fwrite (buffer, 1, p-buffer, logfile);
-    (void)ret_ignored;
-}
-
-static void CAIRO_PRINTF_FORMAT(1, 2)
-_trace_printf (const char *fmt, ...)
-{
-    va_list ap;
-
-    va_start (ap, fmt);
-    _trace_vprintf (fmt, ap);
-    va_end (ap);
-}
-
-static void
-get_prog_name (char *buf, int length)
-{
-    char *slash;
-    FILE *file;
-
-    memset (buf, 0, length);
-    if (length == 0)
-       return;
-
-    file = fopen ("/proc/self/cmdline", "rb");
-    if (file != NULL) {
-       slash = fgets (buf, length, file);
-       fclose (file);
-
-       if (slash == NULL)
-           return;
-    } else {
-       char const *name = getenv ("CAIRO_TRACE_PROG_NAME");
-       if (name != NULL) {
-           strncpy (buf, name, length-1);
-       }
-    }
-
-    slash = strrchr (buf, '/');
-    if (slash != NULL) {
-       size_t len = strlen (slash+1);
-       memmove (buf, slash+1, len+1);
-    }
-}
-
-static void
-_emit_header (void)
-{
-    char name[4096] = "";
-
-    get_prog_name (name, sizeof (name));
-
-    _trace_printf ("%%!CairoScript - %s\n", name);
-}
-
-static cairo_bool_t
-_init_logfile (void)
-{
-    static cairo_bool_t initialized;
-    char buf[4096];
-    const char *filename;
-    const char *env;
-
-    if (initialized)
-       return logfile != NULL;
-
-    initialized = TRUE;
-
-    env = getenv ("CAIRO_TRACE_FLUSH");
-    if (env != NULL)
-       _flush = atoi (env);
-
-    _line_info = TRUE;
-    env = getenv ("CAIRO_TRACE_LINE_INFO");
-    if (env != NULL)
-       _line_info = atoi (env);
-
-    _mark_dirty = TRUE;
-    env = getenv ("CAIRO_TRACE_MARK_DIRTY");
-    if (env != NULL)
-       _mark_dirty = atoi (env);
-
-    filename = getenv ("CAIRO_TRACE_FD");
-    if (filename != NULL) {
-       int fd = atoi (filename);
-       if (fd == -1)
-           return FALSE;
-
-       logfile = fdopen (fd, "w");
-       if (logfile == NULL) {
-           fprintf (stderr, "Failed to open trace file descriptor '%s': %s\n",
-                      filename, strerror (errno));
-           return FALSE;
-       }
-
-       setenv ("CAIRO_TRACE_FD", "-1", 1);
-       goto done;
-    }
-
-    filename = getenv ("CAIRO_TRACE_OUTFILE_EXACT");
-    if (filename == NULL) {
-       char name[4096] = "";
-
-       filename = getenv ("CAIRO_TRACE_OUTDIR");
-       if (filename == NULL)
-           filename = CAIRO_TRACE_OUTDIR;
-
-       get_prog_name (name, sizeof (name));
-       if (*name == '\0')
-           strcpy (name, "cairo-trace.dat");
-
-       snprintf (buf, sizeof (buf), "%s/%s.%d.trace",
-               filename, name, getpid());
-
-       filename = buf;
-
-       setenv ("CAIRO_TRACE_FD", "-1", 1);
-    }
-
-    logfile = fopen (filename, "wb");
-    if (logfile == NULL) {
-       fprintf (stderr, "Failed to open trace file '%s': %s\n",
-                  filename, strerror (errno));
-       return FALSE;
-    }
-
-    fprintf (stderr, "cairo-trace: Recording cairo trace data to %s\n",
-            filename);
-
-done:
-    atexit (_close_trace);
-    _emit_header ();
-    return TRUE;
-}
-
-static cairo_bool_t
-_write_lock (void)
-{
-    if (_error)
-       return FALSE;
-
-    if (! _should_trace ())
-       return FALSE;
-
-    if (! _init_logfile ())
-       return FALSE;
-
-#if HAVE_FLOCKFILE && HAVE_FUNLOCKFILE
-    flockfile (logfile);
-#endif
-    return TRUE;
-}
-
-static void
-_write_unlock (void)
-{
-    if (logfile == NULL)
-       return;
-
-#if HAVE_FLOCKFILE && HAVE_FUNLOCKFILE
-    funlockfile (logfile);
-#endif
-
-    if (_flush)
-       fflush (logfile);
-}
-
-
-static Object *
-_type_object_create (enum operand_type op_type, const void *ptr)
-{
-    Type *type;
-    Object *obj;
-
-    type = _get_type (op_type);
-
-    pthread_mutex_lock (&type->mutex);
-    obj = _object_create (type, ptr);
-    pthread_mutex_unlock (&type->mutex);
-
-    return obj;
-}
-
-static Object *
-_get_object (enum operand_type op_type, const void *ptr)
-{
-    Type *type;
-    Object *obj;
-
-    type = _get_type (op_type);
-    pthread_mutex_lock (&type->mutex);
-    obj = _type_get_object (type, ptr);
-    pthread_mutex_unlock (&type->mutex);
-
-    return obj;
-}
-
-static Object *current_object[2048]; /* XXX limit operand stack */
-static int current_stack_depth;
-
-static void
-ensure_operands (int num_operands)
-{
-    if (current_stack_depth < num_operands)
-    {
-       int n;
-
-       fprintf (stderr, "Operand stack underflow!\n");
-       for (n = 0; n < current_stack_depth; n++) {
-           Object *obj = current_object[n];
-
-           fprintf (stderr, "  [%3d] = %s%ld\n",
-                    n, obj->type->op_code, obj->token);
-       }
-
-       abort ();
-    }
-}
-
-static void
-_consume_operand (void)
-{
-    Object *obj;
-
-    ensure_operands (1);
-    obj = current_object[--current_stack_depth];
-    if (! obj->defined) {
-       _trace_printf ("dup /%s%ld exch def\n",
-                      obj->type->op_code,
-                      obj->token);
-       obj->defined = TRUE;
-    }
-    obj->operand = -1;
-}
-
-static void
-_exch_operands (void)
-{
-    Object *tmp;
-
-    ensure_operands (2);
-    tmp = current_object[current_stack_depth-1];
-    tmp->operand--;
-    current_object[current_stack_depth-1] = current_object[current_stack_depth-2];
-    current_object[current_stack_depth-2] = tmp;
-    tmp = current_object[current_stack_depth-1];
-    tmp->operand++;
-}
-
-static cairo_bool_t
-_pop_operands_to_object (Object *obj)
-{
-    if (obj->operand == -1)
-       return FALSE;
-
-    if (obj->operand == current_stack_depth - 2) {
-       _exch_operands ();
-       _trace_printf ("exch ");
-       return TRUE;
-    }
-
-    while (current_stack_depth > obj->operand + 1) {
-       Object *c_obj;
-
-       ensure_operands (1);
-       c_obj = current_object[--current_stack_depth];
-       c_obj->operand = -1;
-       if (! c_obj->defined) {
-           _trace_printf ("/%s%ld exch def\n",
-                    c_obj->type->op_code,
-                    c_obj->token);
-           c_obj->defined = TRUE;
-       } else {
-           _trace_printf ("pop %% %s%ld\n",
-                          c_obj->type->op_code, c_obj->token);
-       }
-    }
-
-    return TRUE;
-}
-
-static cairo_bool_t
-_pop_operands_to (enum operand_type t, const void *ptr)
-{
-    return _pop_operands_to_object (_get_object (t, ptr));
-}
-
-static cairo_bool_t
-_is_current_object (Object *obj, int depth)
-{
-    if (current_stack_depth <= depth)
-       return FALSE;
-    return current_object[current_stack_depth-depth-1] == obj;
-}
-
-static cairo_bool_t
-_is_current (enum operand_type type, const void *ptr, int depth)
-{
-    return _is_current_object (_get_object (type, ptr), depth);
-}
-
-static void
-_push_object(Object *obj)
-{
-
-    if (current_stack_depth == ARRAY_LENGTH (current_object))
-    {
-       int n;
-
-       fprintf (stderr, "Operand stack overflow!\n");
-       for (n = 0; n < current_stack_depth; n++) {
-           obj = current_object[n];
-
-           fprintf (stderr, "  [%3d] = %s%ld\n",
-                    n, obj->type->op_code, obj->token);
-       }
-
-       abort ();
-    }
-
-    obj->operand = current_stack_depth;
-    current_object[current_stack_depth++] = obj;
-}
-
-static void
-_push_operand (enum operand_type t, const void *ptr)
-{
-    _push_object(_get_object(t, ptr));
-}
-
-static void
-_object_remove (Object *obj)
-{
-    if (obj->operand != -1) {
-       ensure_operands (1);
-       if (obj->operand == current_stack_depth - 1) {
-           _trace_printf ("pop %% %s%ld destroyed\n",
-                          obj->type->op_code, obj->token);
-       } else if (obj->operand == current_stack_depth - 2) {
-           _exch_operands ();
-           _trace_printf ("exch pop %% %s%ld destroyed\n",
-                          obj->type->op_code, obj->token);
-       } else {
-           int n;
-
-           _trace_printf ("%d -1 roll pop %% %s%ld destroyed\n",
-                          current_stack_depth - obj->operand,
-                          obj->type->op_code, obj->token);
-
-           for (n = obj->operand; n < current_stack_depth - 1; n++) {
-               current_object[n] = current_object[n+1];
-               current_object[n]->operand = n;
-           }
-       }
-       current_stack_depth--;
-    }
-}
-
-static void
-_object_undef (void *ptr)
-{
-    Object *obj = ptr;
-
-    if (_write_lock ()) {
-       _object_remove (obj);
-
-       if (obj->defined) {
-           _trace_printf ("/%s%ld undef\n",
-                          obj->type->op_code, obj->token);
-       }
-
-       _write_unlock ();
-    }
-
-    _object_destroy (obj);
-}
-
-static long
-_create_context_id (cairo_t *cr)
-{
-    Object *obj;
-
-    obj = _get_object (CONTEXT, cr);
-    if (obj == NULL) {
-       obj = _type_object_create (CONTEXT, cr);
-       DLCALL (cairo_set_user_data,
-               cr, &destroy_key, obj, _object_undef);
-    }
-
-    return obj->token;
-}
-
-static long
-_get_id (enum operand_type op_type, const void *ptr)
-{
-    Object *obj;
-
-    obj = _get_object (op_type, ptr);
-    if (obj == NULL) {
-       if (logfile != NULL) {
-           _trace_printf ("%% Unknown object of type %s, trace is incomplete.",
-                          _get_type (op_type)->name);
-       }
-       _error = TRUE;
-       return -1;
-    }
-
-    return obj->token;
-}
-
-static cairo_bool_t
-_has_id (enum operand_type op_type, const void *ptr)
-{
-    return _get_object (op_type, ptr) != NULL;
-}
-
-static long
-_get_context_id (cairo_t *cr)
-{
-    return _get_id (CONTEXT, cr);
-}
-
-static long
-_create_font_face_id (cairo_font_face_t *font_face)
-{
-    Object *obj;
-
-    obj = _get_object (FONT_FACE, font_face);
-    if (obj == NULL) {
-       obj = _type_object_create (FONT_FACE, font_face);
-       DLCALL (cairo_font_face_set_user_data,
-               font_face, &destroy_key, obj, _object_undef);
-    }
-
-    return obj->token;
-}
-
-static long
-_get_font_face_id (cairo_font_face_t *font_face)
-{
-    return _get_id (FONT_FACE, font_face);
-}
-
-static void
-_emit_font_face_id (cairo_font_face_t *font_face)
-{
-    Object *obj = _get_object (FONT_FACE, font_face);
-    if (obj == NULL) {
-       _trace_printf ("null ");
-    } else {
-       if (obj->defined) {
-           _trace_printf ("f%ld ", obj->token);
-       } else {
-           _trace_printf ("%d index ", current_stack_depth - obj->operand - 1);
-       }
-    }
-}
-
-static cairo_bool_t
-_has_pattern_id (cairo_pattern_t *pattern)
-{
-    return _has_id (PATTERN, pattern);
-}
-
-static long
-_create_pattern_id (cairo_pattern_t *pattern)
-{
-    Object *obj;
-
-    obj = _get_object (PATTERN, pattern);
-    if (obj == NULL) {
-       obj = _type_object_create (PATTERN, pattern);
-       DLCALL (cairo_pattern_set_user_data,
-               pattern, &destroy_key, obj, _object_undef);
-    }
-
-    return obj->token;
-}
-
-static void
-_emit_pattern_id (cairo_pattern_t *pattern)
-{
-    Object *obj = _get_object (PATTERN, pattern);
-    if (obj == NULL) {
-       _trace_printf ("null ");
-    } else {
-       if (obj->defined) {
-           _trace_printf ("p%ld ", obj->token);
-       } else {
-           _trace_printf ("%d index ",
-                    current_stack_depth - obj->operand - 1);
-       }
-    }
-}
-
-static long
-_create_scaled_font_id (cairo_scaled_font_t *font)
-{
-    Object *obj;
-
-    obj = _get_object (SCALED_FONT, font);
-    if (obj == NULL) {
-       obj = _type_object_create (SCALED_FONT, font);
-       DLCALL (cairo_scaled_font_set_user_data,
-               font, &destroy_key, obj, _object_undef);
-    }
-
-    return obj->token;
-}
-
-static long
-_get_scaled_font_id (const cairo_scaled_font_t *font)
-{
-    return _get_id (SCALED_FONT, font);
-}
-
-static cairo_bool_t
-_has_scaled_font_id (const cairo_scaled_font_t *font)
-{
-    return _has_id (SCALED_FONT, font);
-}
-
-static Object *
-_create_surface (cairo_surface_t *surface)
-{
-    Object *obj;
-
-    obj = _get_object (SURFACE, surface);
-    if (obj == NULL) {
-       obj = _type_object_create (SURFACE, surface);
-       DLCALL (cairo_surface_set_user_data,
-               surface, &destroy_key, obj, _object_undef);
-    }
-
-    return obj;
-}
-
-static long
-_get_surface_id (cairo_surface_t *surface)
-{
-    return _get_id (SURFACE, surface);
-}
-
-static cairo_bool_t
-_matrix_is_identity (const cairo_matrix_t *m)
-{
-    return m->xx == 1. && m->yx == 0. &&
-          m->xy == 0. && m->yy == 1. &&
-          m->x0 == 0. && m->y0 == 0.;
-}
-
-#define BUFFER_SIZE 16384
-struct _data_stream {
-    z_stream zlib_stream;
-    unsigned char zin_buf[BUFFER_SIZE];
-    unsigned char zout_buf[BUFFER_SIZE];
-    unsigned char four_tuple[4];
-    int base85_pending;
-};
-
-static void
-_write_zlib_data_start (struct _data_stream *stream)
-{
-    stream->zlib_stream.zalloc = Z_NULL;
-    stream->zlib_stream.zfree  = Z_NULL;
-    stream->zlib_stream.opaque  = Z_NULL;
-
-    deflateInit (&stream->zlib_stream, Z_DEFAULT_COMPRESSION);
-
-    stream->zlib_stream.next_in = stream->zin_buf;
-    stream->zlib_stream.avail_in = 0;
-    stream->zlib_stream.next_out = stream->zout_buf;
-    stream->zlib_stream.avail_out = BUFFER_SIZE;
-}
-
-static void
-_write_base85_data_start (struct _data_stream *stream)
-{
-    stream->base85_pending = 0;
-}
-
-static cairo_bool_t
-_expand_four_tuple_to_five (unsigned char four_tuple[4],
-                           unsigned char five_tuple[5])
-{
-    uint32_t value;
-    int digit, i;
-    cairo_bool_t all_zero = TRUE;
-
-    value = four_tuple[0] << 24 |
-           four_tuple[1] << 16 |
-           four_tuple[2] << 8  |
-           four_tuple[3] << 0;
-    for (i = 0; i < 5; i++) {
-       digit = value % 85;
-       if (digit != 0 && all_zero)
-           all_zero = FALSE;
-       five_tuple[4-i] = digit + 33;
-       value = value / 85;
-    }
-
-    return all_zero;
-}
-
-static void
-_write_base85_data (struct _data_stream *stream,
-                   const unsigned char   *data,
-                   unsigned long          length)
-{
-    unsigned char five_tuple[5];
-    int ret;
-
-    assert (_should_trace ());
-
-    while (length--) {
-       stream->four_tuple[stream->base85_pending++] = *data++;
-       if (stream->base85_pending == 4) {
-           if (_expand_four_tuple_to_five (stream->four_tuple, five_tuple))
-               ret = fwrite ("z", 1, 1, logfile);
-           else
-               ret = fwrite (five_tuple, 5, 1, logfile);
-           (void)ret;
-           stream->base85_pending = 0;
-       }
-    }
-}
-
-static void
-_write_zlib_data (struct _data_stream *stream, cairo_bool_t flush)
-{
-    cairo_bool_t finished;
-
-    do {
-       int ret = deflate (&stream->zlib_stream, flush ? Z_FINISH : Z_NO_FLUSH);
-       if (flush || stream->zlib_stream.avail_out == 0) {
-           _write_base85_data (stream,
-                               stream->zout_buf,
-                               BUFFER_SIZE - stream->zlib_stream.avail_out);
-           stream->zlib_stream.next_out = stream->zout_buf;
-           stream->zlib_stream.avail_out = BUFFER_SIZE;
-       }
-
-       finished = TRUE;
-       if (stream->zlib_stream.avail_in != 0)
-           finished = FALSE;
-       if (flush && ret != Z_STREAM_END)
-           finished = FALSE;
-    } while (! finished);
-
-    stream->zlib_stream.next_in = stream->zin_buf;
-}
-
-static void
-_write_data_start (struct _data_stream *stream, uint32_t len)
-{
-    _write_zlib_data_start (stream);
-    _write_base85_data_start (stream);
-
-    _trace_printf ("<|");
-    len = to_be32 (len);
-    _write_base85_data (stream, (unsigned char *) &len, sizeof (len));
-}
-
-static void
-_write_data (struct _data_stream *stream,
-            const void *data,
-            unsigned int length)
-{
-    unsigned int count;
-    const unsigned char *p = data;
-
-    while (length) {
-       count = length;
-       if (count > BUFFER_SIZE - stream->zlib_stream.avail_in)
-           count = BUFFER_SIZE - stream->zlib_stream.avail_in;
-       memcpy (stream->zin_buf + stream->zlib_stream.avail_in, p, count);
-       p += count;
-       stream->zlib_stream.avail_in += count;
-       length -= count;
-
-       if (stream->zlib_stream.avail_in == BUFFER_SIZE)
-           _write_zlib_data (stream, FALSE);
-    }
-}
-
-static void
-_write_zlib_data_end (struct _data_stream *stream)
-{
-    _write_zlib_data (stream, TRUE);
-    deflateEnd (&stream->zlib_stream);
-
-}
-
-static void
-_write_base85_data_end (struct _data_stream *stream)
-{
-    unsigned char five_tuple[5];
-    int ret;
-
-    assert (_should_trace ());
-
-    if (stream->base85_pending) {
-       memset (stream->four_tuple + stream->base85_pending,
-               0, 4 - stream->base85_pending);
-       _expand_four_tuple_to_five (stream->four_tuple, five_tuple);
-       ret = fwrite (five_tuple, stream->base85_pending+1, 1, logfile);
-       (void) ret;
-    }
-}
-
-static void
-_write_data_end (struct _data_stream *stream)
-{
-    _write_zlib_data_end (stream);
-    _write_base85_data_end (stream);
-
-    _trace_printf ("~>");
-}
-
-static void
-_emit_data (const void *data, unsigned int length)
-{
-    struct _data_stream stream;
-
-    _write_data_start (&stream, length);
-    _write_data (&stream, data, length);
-    _write_data_end (&stream);
-}
-
-static const char *
-_format_to_string (cairo_format_t format)
-{
-#define f(name) case CAIRO_FORMAT_ ## name: return #name
-    switch (format) {
-       f(INVALID);
-       f(ARGB32);
-       f(RGB30);
-       f(RGB24);
-       f(RGB16_565);
-       f(A8);
-       f(A1);
-    }
-#undef f
-    return "UNKNOWN_FORMAT";
-}
-
-static const char *
-_format_to_content_string (cairo_format_t format)
-{
-    switch (format) {
-    case CAIRO_FORMAT_INVALID:
-       return "INVALID";
-    case CAIRO_FORMAT_ARGB32:
-       return "COLOR_ALPHA";
-    case CAIRO_FORMAT_RGB30:
-    case CAIRO_FORMAT_RGB24:
-    case CAIRO_FORMAT_RGB16_565:
-       return "COLOR";
-    case CAIRO_FORMAT_A8:
-    case CAIRO_FORMAT_A1:
-       return "ALPHA";
-    }
-    return "UNKNOWN";
-}
-
-static const char *
-_status_to_string (cairo_status_t status)
-{
-#define f(name) case CAIRO_STATUS_ ## name: return "STATUS_" #name
-    switch (status) {
-       f(SUCCESS);
-       f(NO_MEMORY);
-       f(INVALID_RESTORE);
-       f(INVALID_POP_GROUP);
-       f(NO_CURRENT_POINT);
-       f(INVALID_MATRIX);
-       f(INVALID_STATUS);
-       f(NULL_POINTER);
-       f(INVALID_STRING);
-       f(INVALID_PATH_DATA);
-       f(READ_ERROR);
-       f(WRITE_ERROR);
-       f(SURFACE_FINISHED);
-       f(SURFACE_TYPE_MISMATCH);
-       f(PATTERN_TYPE_MISMATCH);
-       f(INVALID_CONTENT);
-       f(INVALID_FORMAT);
-       f(INVALID_VISUAL);
-       f(FILE_NOT_FOUND);
-       f(INVALID_DASH);
-       f(INVALID_DSC_COMMENT);
-       f(INVALID_INDEX);
-       f(CLIP_NOT_REPRESENTABLE);
-       f(TEMP_FILE_ERROR);
-       f(INVALID_STRIDE);
-       f(FONT_TYPE_MISMATCH);
-       f(USER_FONT_IMMUTABLE);
-       f(USER_FONT_ERROR);
-       f(NEGATIVE_COUNT);
-       f(INVALID_CLUSTERS);
-       f(INVALID_SLANT);
-       f(INVALID_WEIGHT);
-       f(INVALID_SIZE);
-       f(USER_FONT_NOT_IMPLEMENTED);
-       f(DEVICE_TYPE_MISMATCH);
-       f(DEVICE_ERROR);
-       f(INVALID_MESH_CONSTRUCTION);
-       f(DEVICE_FINISHED);
-    case CAIRO_STATUS_LAST_STATUS:
-       break;
-    }
-    return "UNKNOWN_STATUS";
-#undef f
-}
-
-static void CAIRO_PRINTF_FORMAT(2, 3)
-_emit_image (cairo_surface_t *image,
-            const char *info,
-            ...)
-{
-    int stride, row, width, height;
-    uint32_t len;
-    cairo_format_t format;
-    uint8_t row_stack[BUFFER_SIZE];
-    uint8_t *rowdata;
-    uint8_t *data;
-    struct _data_stream stream;
-    cairo_status_t status;
-
-    status = DLCALL (cairo_surface_status, image);
-    if (status) {
-       _trace_printf ("<< /status //%s >> image",
-                      _status_to_string (status));
-       return;
-    }
-
-    width = DLCALL (cairo_image_surface_get_width, image);
-    height = DLCALL (cairo_image_surface_get_height, image);
-    stride = DLCALL (cairo_image_surface_get_stride, image);
-    format = DLCALL (cairo_image_surface_get_format, image);
-    data = DLCALL (cairo_image_surface_get_data, image);
-
-    _trace_printf ("dict\n"
-                  "  /width %d set\n"
-                  "  /height %d set\n"
-                  "  /format //%s set\n",
-                  width, height,
-                  _format_to_string (format));
-    if (info != NULL) {
-       va_list ap;
-
-       va_start (ap, info);
-       _trace_vprintf (info, ap);
-       va_end (ap);
-    }
-
-    if (DLCALL (cairo_version) >= CAIRO_VERSION_ENCODE (1, 9, 0)) {
-       const char *mime_types[] = {
-           CAIRO_MIME_TYPE_JPEG,
-           CAIRO_MIME_TYPE_JP2,
-           CAIRO_MIME_TYPE_PNG,
-           NULL
-       }, **mime_type;
-
-       for (mime_type = mime_types; *mime_type; mime_type++) {
-           const unsigned char *mime_data;
-           unsigned long mime_length;
-
-           DLCALL (cairo_surface_get_mime_data,
-                   image, *mime_type, &mime_data, &mime_length);
-           if (mime_data != NULL) {
-               _trace_printf ("  /mime-type (%s) set\n"
-                              "  /source <~",
-                              *mime_type);
-               _write_base85_data_start (&stream);
-               _write_base85_data (&stream, mime_data, mime_length);
-               _write_base85_data_end (&stream);
-               _trace_printf ("~> set\n"
-                              "  image");
-               return;
-           }
-       }
-    }
-
-    switch (format) {
-    case CAIRO_FORMAT_A1:        len = (width + 7)/8; break;
-    case CAIRO_FORMAT_A8:        len =  width; break;
-    case CAIRO_FORMAT_RGB16_565: len = 2*width; break;
-    case CAIRO_FORMAT_RGB24:     len = 3*width; break;
-    default:
-    case CAIRO_FORMAT_RGB30:
-    case CAIRO_FORMAT_INVALID:
-    case CAIRO_FORMAT_ARGB32: len = 4*width; break;
-    }
-
-    _trace_printf ("  /source ");
-    _write_data_start (&stream, len * height);
-
-#ifdef WORDS_BIGENDIAN
-    switch (format) {
-    case CAIRO_FORMAT_A1:
-       for (row = height; row--; ) {
-           _write_data (&stream, data, (width+7)/8);
-           data += stride;
-       }
-       break;
-    case CAIRO_FORMAT_A8:
-       for (row = height; row--; ) {
-           _write_data (&stream, data, width);
-           data += stride;
-       }
-       break;
-    case CAIRO_FORMAT_RGB16_565:
-       for (row = height; row--; ) {
-           _write_data (&stream, data, 2*width);
-           data += stride;
-       }
-       break;
-    case CAIRO_FORMAT_RGB24:
-       for (row = height; row--; ) {
-           int col;
-           rowdata = data;
-           for (col = width; col--; ) {
-               _write_data (&stream, rowdata, 3);
-               rowdata+=4;
-           }
-           data += stride;
-       }
-       break;
-    case CAIRO_FORMAT_RGB30:
-    case CAIRO_FORMAT_ARGB32:
-       for (row = height; row--; ) {
-           _write_data (&stream, data, 4*width);
-           data += stride;
-       }
-       break;
-    case CAIRO_FORMAT_INVALID:
-    default:
-       break;
-    }
-#else
-    if (stride > ARRAY_LENGTH (row_stack)) {
-       rowdata = malloc (stride);
-       if (rowdata == NULL)
-           goto BAIL;
-    } else
-       rowdata = row_stack;
-
-    switch (format) {
-    case CAIRO_FORMAT_A1:
-       for (row = height; row--; ) {
-           int col;
-           for (col = 0; col < (width + 7)/8; col++)
-               rowdata[col] = CAIRO_BITSWAP8 (data[col]);
-           _write_data (&stream, rowdata, (width+7)/8);
-           data += stride;
-       }
-       break;
-    case CAIRO_FORMAT_A8:
-       for (row = height; row--; ) {
-           _write_data (&stream, rowdata, width);
-           data += stride;
-       }
-       break;
-    case CAIRO_FORMAT_RGB16_565: /* XXX endianness */
-       for (row = height; row--; ) {
-           uint16_t *src = (uint16_t *) data;
-           uint16_t *dst = (uint16_t *)rowdata;
-           int col;
-           for (col = 0; col < width; col++)
-               dst[col] = bswap_16 (src[col]);
-           _write_data (&stream, rowdata, 2*width);
-           data += stride;
-       }
-       break;
-    case CAIRO_FORMAT_RGB24:
-       for (row = height; row--; ) {
-           uint8_t *src = data;
-           int col;
-           for (col = 0; col < width; col++) {
-               rowdata[3*col+2] = *src++;
-               rowdata[3*col+1] = *src++;
-               rowdata[3*col+0] = *src++;
-               src++;
-           }
-           _write_data (&stream, rowdata, 3*width);
-           data += stride;
-       }
-       break;
-    case CAIRO_FORMAT_RGB30:
-    case CAIRO_FORMAT_ARGB32:
-       for (row = height; row--; ) {
-           uint32_t *src = (uint32_t *) data;
-           uint32_t *dst = (uint32_t *) rowdata;
-           int col;
-           for (col = 0; col < width; col++)
-               dst[col] = bswap_32 (src[col]);
-           _write_data (&stream, rowdata, 4*width);
-           data += stride;
-       }
-       break;
-    case CAIRO_FORMAT_INVALID:
-    default:
-       break;
-    }
-    if (rowdata != row_stack)
-       free (rowdata);
-
-BAIL:
-    _write_data_end (&stream);
-#endif
-    _trace_printf (" set\n  image");
-}
-
-static void
-_encode_string_literal (char *out, int max,
-                       const char *utf8, int len)
-{
-    char c;
-    const char *end;
-
-    *out++ = '(';
-    max--;
-
-    if (utf8 == NULL)
-       goto DONE;
-
-    if (len < 0)
-       len = strlen (utf8);
-    end = utf8 + len;
-
-    while (utf8 < end) {
-       if (max < 5)
-           break;
-
-       switch ((c = *utf8++)) {
-       case '\n':
-           *out++ = '\\';
-           *out++ = 'n';
-           max -= 2;
-           break;
-       case '\r':
-           *out++ = '\\';
-           *out++ = 'r';
-           max -= 2;
-       case '\t':
-           *out++ = '\\';
-           *out++ = 't';
-           max -= 2;
-           break;
-       case '\b':
-           *out++ = '\\';
-           *out++ = 'b';
-           max -= 2;
-           break;
-       case '\f':
-           *out++ = '\\';
-           *out++ = 'f';
-           max -= 2;
-           break;
-       case '\\':
-       case '(':
-       case ')':
-           *out++ = '\\';
-           *out++ = c;
-           max -= 2;
-           break;
-       default:
-           if (isprint (c) || isspace (c)) {
-               *out++ = c;
-           } else {
-               int octal = 0;
-               while (c) {
-                   octal *= 10;
-                   octal += c&7;
-                   c /= 8;
-               }
-               octal = snprintf (out, max, "\\%03d", octal);
-               out += octal;
-               max -= octal;
-           }
-           break;
-       }
-    }
-DONE:
-    *out++ = ')';
-    *out = '\0';
-}
-
-static void
-to_octal (int value, char *buf, size_t size)
-{
-    do {
-       buf[--size] = '0' + (value & 7);
-       value >>= 3;
-    } while (size);
-}
-
-static void
-_emit_string_literal (const char *utf8, int len)
-{
-    char c;
-    const char *end;
-
-    if (utf8 == NULL) {
-       _trace_printf ("()");
-       return;
-    }
-
-    if (len < 0)
-       len = strlen (utf8);
-    end = utf8 + len;
-
-    _trace_printf ("(");
-    while (utf8 < end) {
-       switch ((c = *utf8++)) {
-       case '\n':
-           c = 'n';
-           goto ESCAPED_CHAR;
-       case '\r':
-           c = 'r';
-           goto ESCAPED_CHAR;
-       case '\t':
-           c = 't';
-           goto ESCAPED_CHAR;
-       case '\b':
-           c = 'b';
-           goto ESCAPED_CHAR;
-       case '\f':
-           c = 'f';
-           goto ESCAPED_CHAR;
-       case '\\':
-       case '(':
-       case ')':
-ESCAPED_CHAR:
-           _trace_printf ("\\%c", c);
-           break;
-       default:
-           if (isprint (c) || isspace (c)) {
-               _trace_printf ("%c", c);
-           } else {
-               char buf[4] = { '\\' };
-               int ret_ignored;
-
-               to_octal (c, buf+1, 3);
-               ret_ignored = fwrite (buf, 4, 1, logfile);
-               (void)ret_ignored;
-           }
-           break;
-       }
-    }
-    _trace_printf (")");
-}
-
-static void
-_emit_current (Object *obj)
-{
-    if (obj != NULL && ! _pop_operands_to_object (obj)) {
-       _trace_printf ("%s%ld\n", obj->type->op_code, obj->token);
-       _push_object (obj);
-    }
-}
-
-static void
-_emit_context (cairo_t *cr)
-{
-    _emit_current (_get_object (CONTEXT, cr));
-}
-
-static void
-_emit_pattern (cairo_pattern_t *pattern)
-{
-    _emit_current (_get_object (PATTERN, pattern));
-}
-
-static void
-_emit_surface (cairo_surface_t *surface)
-{
-    _emit_current (_get_object (SURFACE, surface));
-}
-
-static void CAIRO_PRINTF_FORMAT(2, 3)
-_emit_cairo_op (cairo_t *cr, const char *fmt, ...)
-{
-    va_list ap;
-
-    if (cr == NULL || ! _write_lock ())
-       return;
-
-    _emit_context (cr);
-
-    va_start (ap, fmt);
-    _trace_vprintf ( fmt, ap);
-    va_end (ap);
-
-    _write_unlock ();
-}
-
-cairo_t *
-cairo_create (cairo_surface_t *target)
-{
-    cairo_t *ret;
-    long surface_id;
-    long context_id;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_create, target);
-    context_id = _create_context_id (ret);
-
-    _emit_line_info ();
-    if (target != NULL && _write_lock ()) {
-       surface_id = _get_surface_id (target);
-       if (surface_id != -1) {
-           _get_object (SURFACE, target)->foreign = FALSE;
-
-           /* we presume that we will continue to use the context */
-           if (_pop_operands_to (SURFACE, target)){
-               _consume_operand ();
-           } else {
-               _trace_printf ("s%ld ", surface_id);
-           }
-           _trace_printf ("context %% c%ld\n", context_id);
-           _push_operand (CONTEXT, ret);
-       }
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_save (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "save\n");
-    DLCALL (cairo_save, cr);
-    _exit_trace ();
-}
-
-void
-cairo_restore (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "restore\n");
-    DLCALL (cairo_restore, cr);
-    _exit_trace ();
-}
-
-void
-cairo_push_group (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "//COLOR_ALPHA push-group\n");
-    DLCALL (cairo_push_group, cr);
-    _exit_trace ();
-}
-
-static const char *
-_content_to_string (cairo_content_t content)
-{
-    switch (content) {
-    case CAIRO_CONTENT_ALPHA: return "ALPHA";
-    case CAIRO_CONTENT_COLOR: return "COLOR";
-    default:
-    case CAIRO_CONTENT_COLOR_ALPHA: return "COLOR_ALPHA";
-    }
-}
-
-void
-cairo_push_group_with_content (cairo_t *cr, cairo_content_t content)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "//%s push-group\n", _content_to_string (content));
-    DLCALL (cairo_push_group_with_content, cr, content);
-    _exit_trace ();
-}
-
-cairo_pattern_t *
-cairo_pop_group (cairo_t *cr)
-{
-    cairo_pattern_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_pop_group, cr);
-
-    _emit_line_info ();
-    _emit_cairo_op (cr, "pop-group %% p%ld\n", _create_pattern_id (ret));
-    _push_operand (PATTERN, ret);
-
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_pop_group_to_source (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "pop-group set-source\n");
-    DLCALL (cairo_pop_group_to_source, cr);
-    _exit_trace ();
-}
-
-static const char *
-_operator_to_string (cairo_operator_t op)
-{
-#define f(name) case CAIRO_OPERATOR_ ## name: return #name
-    switch (op) {
-       f(OVER);
-       f(SOURCE);
-       f(CLEAR);
-       f(IN);
-       f(OUT);
-       f(ATOP);
-       f(DEST);
-       f(DEST_OVER);
-       f(DEST_IN);
-       f(DEST_OUT);
-       f(DEST_ATOP);
-       f(XOR);
-       f(ADD);
-       f(SATURATE);
-       f(MULTIPLY);
-       f(SCREEN);
-       f(OVERLAY);
-       f(DARKEN);
-       f(LIGHTEN);
-        case CAIRO_OPERATOR_COLOR_DODGE: return "DODGE";
-        case CAIRO_OPERATOR_COLOR_BURN: return "BURN";
-       f(HARD_LIGHT);
-       f(SOFT_LIGHT);
-       f(DIFFERENCE);
-       f(EXCLUSION);
-       f(HSL_HUE);
-       f(HSL_SATURATION);
-       f(HSL_COLOR);
-       f(HSL_LUMINOSITY);
-    }
-#undef f
-    return "UNKNOWN_OPERATOR";
-}
-
-void
-cairo_set_operator (cairo_t *cr, cairo_operator_t op)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "//%s set-operator\n", _operator_to_string (op));
-    DLCALL (cairo_set_operator, cr, op);
-    _exit_trace ();
-}
-
-void
-cairo_set_source_rgb (cairo_t *cr, double red, double green, double blue)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g %g %g set-source-rgb\n", red, green, blue);
-    DLCALL (cairo_set_source_rgb, cr, red, green, blue);
-    _exit_trace ();
-}
-
-void
-cairo_set_source_rgba (cairo_t *cr, double red, double green, double blue, double alpha)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g %g %g %g set-source-rgba\n",
-                   red, green, blue, alpha);
-    DLCALL (cairo_set_source_rgba, cr, red, green, blue, alpha);
-    _exit_trace ();
-}
-
-static void
-_emit_source_image (cairo_surface_t *surface)
-{
-    Object *obj;
-    cairo_surface_t *image;
-    cairo_t *cr;
-
-    obj = _get_object (SURFACE, surface);
-    if (obj == NULL)
-       return;
-
-    image = DLCALL (cairo_image_surface_create,
-                   CAIRO_FORMAT_ARGB32,
-                   obj->width,
-                   obj->height);
-    cr = DLCALL (cairo_create, image);
-    DLCALL (cairo_set_source_surface, cr, surface, 0, 0);
-    DLCALL (cairo_paint, cr);
-    DLCALL (cairo_destroy, cr);
-
-    _emit_image (image, NULL);
-    _trace_printf (" set-source-image ");
-    DLCALL (cairo_surface_destroy, image);
-
-    obj->foreign = FALSE;
-}
-
-static void
-_emit_source_image_rectangle (cairo_surface_t *surface,
-                             int x, int y,
-                             int width, int height)
-{
-    Object *obj;
-    cairo_surface_t *image;
-    cairo_t *cr;
-
-    obj = _get_object (SURFACE, surface);
-    if (obj == NULL)
-       return;
-
-    if (obj->foreign) {
-       _emit_source_image (surface);
-       return;
-    }
-
-    image = DLCALL (cairo_image_surface_create,
-                   CAIRO_FORMAT_ARGB32,
-                   width,
-                   height);
-    cr = DLCALL (cairo_create, image);
-    DLCALL (cairo_set_source_surface, cr, surface, x, y);
-    DLCALL (cairo_paint, cr);
-    DLCALL (cairo_destroy, cr);
-
-    _emit_image (image, NULL);
-    _trace_printf (" %d %d set-device-offset set-source-image ",
-            x, y);
-    DLCALL (cairo_surface_destroy, image);
-}
-
-void
-cairo_set_source_surface (cairo_t *cr, cairo_surface_t *surface, double x, double y)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && surface != NULL && _write_lock ()) {
-       Object *obj = _get_object (SURFACE, surface);
-
-       if (_is_current (SURFACE, surface, 0) &&
-           _is_current (CONTEXT, cr, 1))
-       {
-           _consume_operand ();
-       }
-       else if (_is_current (SURFACE, surface, 1) &&
-                _is_current (CONTEXT, cr, 0))
-       {
-           _trace_printf ("exch ");
-           _exch_operands ();
-           _consume_operand ();
-       } else if (obj->defined) {
-           _emit_context (cr);
-           _trace_printf ("s%ld ", obj->token);
-       } else {
-           _emit_context (cr);
-           _trace_printf ("%d index ",
-                          current_stack_depth - obj->operand - 1);
-       }
-
-       if (obj->foreign)
-           _emit_source_image (surface);
-
-       _trace_printf ("pattern");
-       if (x != 0. || y != 0.)
-           _trace_printf (" %g %g translate", -x, -y);
-
-       _trace_printf (" set-source\n");
-       _write_unlock ();
-    }
-
-    DLCALL (cairo_set_source_surface, cr, surface, x, y);
-    _exit_trace ();
-}
-
-void
-cairo_set_source (cairo_t *cr, cairo_pattern_t *source)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && source != NULL && _write_lock ()) {
-       Object *obj = _get_object (PATTERN, source);
-       cairo_bool_t need_context_and_pattern = TRUE;
-
-       if (_is_current (PATTERN, source, 0) &&
-           _is_current (CONTEXT, cr, 1))
-       {
-           if (obj->defined) {
-               _consume_operand ();
-               need_context_and_pattern = FALSE;
-           }
-       }
-       else if (_is_current (PATTERN, source, 1) &&
-                _is_current (CONTEXT, cr, 0))
-       {
-           if (obj->defined) {
-               _trace_printf ("exch ");
-               _exch_operands ();
-               _consume_operand ();
-               need_context_and_pattern = FALSE;
-           }
-       }
-
-       if (need_context_and_pattern) {
-           _emit_context (cr);
-           _emit_pattern_id (source);
-       }
-
-       _trace_printf ("set-source\n");
-       _write_unlock ();
-    }
-
-    DLCALL (cairo_set_source, cr, source);
-    _exit_trace ();
-}
-
-cairo_pattern_t *
-cairo_get_source (cairo_t *cr)
-{
-    cairo_pattern_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_get_source, cr);
-
-    if (! _has_pattern_id (ret)) {
-       _emit_cairo_op (cr, "/source get /p%ld exch def\n",
-                       _create_pattern_id (ret));
-       _get_object (PATTERN, ret)->defined = TRUE;
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_set_tolerance (cairo_t *cr, double tolerance)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g set-tolerance\n", tolerance);
-    DLCALL (cairo_set_tolerance, cr, tolerance);
-    _exit_trace ();
-}
-
-static const char *
-_antialias_to_string (cairo_antialias_t antialias)
-{
-#define f(name) case CAIRO_ANTIALIAS_ ## name: return "ANTIALIAS_" #name
-    switch (antialias) {
-       f(DEFAULT);
-
-       f(NONE);
-       f(GRAY);
-       f(SUBPIXEL);
-
-       f(FAST);
-       f(GOOD);
-       f(BEST);
-    };
-#undef f
-    return "UNKNOWN_ANTIALIAS";
-}
-
-void
-cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr,
-                   "//%s set-antialias\n", _antialias_to_string (antialias));
-    DLCALL (cairo_set_antialias, cr, antialias);
-    _exit_trace ();
-}
-
-static const char *
-_fill_rule_to_string (cairo_fill_rule_t rule)
-{
-#define f(name) case CAIRO_FILL_RULE_ ## name: return #name
-    switch (rule) {
-       f(WINDING);
-       f(EVEN_ODD);
-    };
-#undef f
-    return "UNKNOWN_FILL_RULE";
-}
-
-void
-cairo_set_fill_rule (cairo_t *cr, cairo_fill_rule_t fill_rule)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr,
-                   "//%s set-fill-rule\n", _fill_rule_to_string (fill_rule));
-    DLCALL (cairo_set_fill_rule, cr, fill_rule);
-    _exit_trace ();
-}
-
-void
-cairo_set_line_width (cairo_t *cr, double width)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g set-line-width\n", width);
-    DLCALL (cairo_set_line_width, cr, width);
-    _exit_trace ();
-}
-
-static const char *
-_line_cap_to_string (cairo_line_cap_t line_cap)
-{
-#define f(name) case CAIRO_LINE_CAP_ ## name: return "LINE_CAP_" #name
-    switch (line_cap) {
-       f(BUTT);
-       f(ROUND);
-       f(SQUARE);
-    };
-#undef f
-    return "UNKNOWN_LINE_CAP";
-}
-
-void
-cairo_set_line_cap (cairo_t *cr, cairo_line_cap_t line_cap)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "//%s set-line-cap\n", _line_cap_to_string (line_cap));
-    DLCALL (cairo_set_line_cap, cr, line_cap);
-    _exit_trace ();
-}
-
-static const char *
-_line_join_to_string (cairo_line_join_t line_join)
-{
-#define f(name) case CAIRO_LINE_JOIN_ ## name: return "LINE_JOIN_" #name
-    switch (line_join) {
-       f(MITER);
-       f(ROUND);
-       f(BEVEL);
-    };
-#undef f
-    return "UNKNOWN_LINE_JOIN";
-}
-
-void
-cairo_set_line_join (cairo_t *cr, cairo_line_join_t line_join)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr,
-                   "//%s set-line-join\n", _line_join_to_string (line_join));
-    DLCALL (cairo_set_line_join, cr, line_join);
-    _exit_trace ();
-}
-
-void
-cairo_set_dash (cairo_t *cr, const double *dashes, int num_dashes, double offset)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && _write_lock ()) {
-       int n;
-
-       _emit_context (cr);
-
-       _trace_printf ("[");
-       for (n = 0; n <  num_dashes; n++) {
-           if (n != 0)
-               _trace_printf (" ");
-           _trace_printf ("%g", dashes[n]);
-       }
-       _trace_printf ("] %g set-dash\n", offset);
-
-       _write_unlock ();
-    }
-
-    DLCALL (cairo_set_dash, cr, dashes, num_dashes, offset);
-    _exit_trace ();
-}
-
-void
-cairo_set_miter_limit (cairo_t *cr, double limit)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g set-miter-limit\n", limit);
-    DLCALL (cairo_set_miter_limit, cr, limit);
-    _exit_trace ();
-}
-
-void
-cairo_translate (cairo_t *cr, double tx, double ty)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g %g translate\n", tx, ty);
-    DLCALL (cairo_translate, cr, tx, ty);
-    _exit_trace ();
-}
-
-void
-cairo_scale (cairo_t *cr, double sx, double sy)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g %g scale\n", sx, sy);
-    DLCALL (cairo_scale, cr, sx, sy);
-    _exit_trace ();
-}
-
-void
-cairo_rotate (cairo_t *cr, double angle)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g rotate\n", angle);
-    DLCALL (cairo_rotate, cr, angle);
-    _exit_trace ();
-}
-
-void
-cairo_transform (cairo_t *cr, const cairo_matrix_t *matrix)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g %g %g %g %g %g matrix transform\n",
-                   matrix->xx, matrix->yx,
-                   matrix->xy, matrix->yy,
-                   matrix->x0, matrix->y0);
-    DLCALL (cairo_transform, cr, matrix);
-    _exit_trace ();
-}
-
-void
-cairo_set_matrix (cairo_t *cr, const cairo_matrix_t *matrix)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (_matrix_is_identity (matrix)) {
-       _emit_cairo_op (cr, "identity set-matrix\n");
-    } else {
-       _emit_cairo_op (cr, "%g %g %g %g %g %g matrix set-matrix\n",
-                       matrix->xx, matrix->yx,
-                       matrix->xy, matrix->yy,
-                       matrix->x0, matrix->y0);
-    }
-    DLCALL (cairo_set_matrix, cr, matrix);
-    _exit_trace ();
-}
-
-cairo_surface_t *
-cairo_get_target (cairo_t *cr)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_get_target, cr);
-    if (cr != NULL) {
-       Object *obj = _create_surface (ret);
-
-       if (! obj->defined) {
-           _emit_cairo_op (cr,
-                           "/target get /s%ld exch def\n",
-                           obj->token);
-           obj->defined = TRUE;
-       }
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_get_group_target (cairo_t *cr)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_get_group_target, cr);
-    if (cr != NULL) {
-       Object *obj = _create_surface (ret);
-
-       if (! obj->defined) {
-           _emit_cairo_op (cr,
-                           "/group-target get /s%ld exch def\n",
-                           obj->token);
-           obj->defined = TRUE;
-       }
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_identity_matrix (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "identity set-matrix\n");
-    DLCALL (cairo_identity_matrix, cr);
-    _exit_trace ();
-}
-
-void
-cairo_new_path (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "n ");
-    DLCALL (cairo_new_path, cr);
-    _exit_trace ();
-}
-
-void
-cairo_move_to (cairo_t *cr, double x, double y)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "%g %g m ", x, y);
-    DLCALL (cairo_move_to, cr, x, y);
-    _exit_trace ();
-}
-
-void
-cairo_new_sub_path (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "N ");
-    DLCALL (cairo_new_sub_path, cr);
-    _exit_trace ();
-}
-
-void
-cairo_line_to (cairo_t *cr, double x, double y)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "%g %g l ", x, y);
-    DLCALL (cairo_line_to, cr, x, y);
-    _exit_trace ();
-}
-
-void
-cairo_curve_to (cairo_t *cr, double x1, double y1, double x2, double y2, double x3, double y3)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "%g %g %g %g %g %g c ", x1, y1, x2, y2, x3, y3);
-    DLCALL (cairo_curve_to, cr, x1, y1, x2, y2, x3, y3);
-    _exit_trace ();
-}
-
-void
-cairo_arc (cairo_t *cr, double xc, double yc, double radius, double angle1, double angle2)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "%g %g %g %g %g arc\n", xc, yc, radius, angle1, angle2);
-    DLCALL (cairo_arc, cr, xc, yc, radius, angle1, angle2);
-    _exit_trace ();
-}
-
-void
-cairo_arc_negative (cairo_t *cr, double xc, double yc, double radius, double angle1, double angle2)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "%g %g %g %g %g arc-\n",
-                   xc, yc, radius, angle1, angle2);
-    DLCALL (cairo_arc_negative, cr, xc, yc, radius, angle1, angle2);
-    _exit_trace ();
-}
-
-void
-cairo_rel_move_to (cairo_t *cr, double dx, double dy)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "%g %g M ", dx, dy);
-    DLCALL (cairo_rel_move_to, cr, dx, dy);
-    _exit_trace ();
-}
-
-void
-cairo_rel_line_to (cairo_t *cr, double dx, double dy)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "%g %g L ", dx, dy);
-    DLCALL (cairo_rel_line_to, cr, dx, dy);
-    _exit_trace ();
-}
-
-void
-cairo_rel_curve_to (cairo_t *cr, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "%g %g %g %g %g %g C ",
-                   dx1, dy1, dx2, dy2, dx3, dy3);
-    DLCALL (cairo_rel_curve_to, cr, dx1, dy1, dx2, dy2, dx3, dy3);
-    _exit_trace ();
-}
-
-void
-cairo_rectangle (cairo_t *cr, double x, double y, double width, double height)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "%g %g %g %g rectangle\n", x, y, width, height);
-    DLCALL (cairo_rectangle, cr, x, y, width, height);
-    _exit_trace ();
-}
-
-void
-cairo_close_path (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_cairo_op (cr, "h\n");
-    DLCALL (cairo_close_path, cr);
-    _exit_trace ();
-}
-
-void
-cairo_paint (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "paint\n");
-    DLCALL (cairo_paint, cr);
-    _exit_trace ();
-}
-
-void
-cairo_paint_with_alpha (cairo_t *cr, double alpha)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g paint-with-alpha\n", alpha);
-    DLCALL (cairo_paint_with_alpha, cr, alpha);
-    _exit_trace ();
-}
-
-void
-cairo_mask (cairo_t *cr, cairo_pattern_t *pattern)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && pattern != NULL && _write_lock ()) {
-       Object *obj = _get_object (PATTERN, pattern);
-       cairo_bool_t need_context_and_pattern = TRUE;
-
-       if (_is_current (PATTERN, pattern, 0) &&
-           _is_current (CONTEXT, cr, 1))
-       {
-           if (obj->defined) {
-               _consume_operand ();
-               need_context_and_pattern = FALSE;
-           }
-       }
-       else if (_is_current (PATTERN, pattern, 1) &&
-                _is_current (CONTEXT, cr, 0))
-       {
-           if (obj->defined) {
-               _trace_printf ("exch ");
-               _exch_operands ();
-               _consume_operand ();
-               need_context_and_pattern = FALSE;
-           }
-       }
-
-       if (need_context_and_pattern) {
-           _emit_context (cr);
-           _emit_pattern_id (pattern);
-       }
-
-       _trace_printf (" mask\n");
-       _write_unlock ();
-    }
-    DLCALL (cairo_mask, cr, pattern);
-    _exit_trace ();
-}
-
-void
-cairo_mask_surface (cairo_t *cr, cairo_surface_t *surface, double x, double y)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && surface != NULL && _write_lock ()) {
-       Object *obj = _get_object (SURFACE, surface);
-       if (_is_current (SURFACE, surface, 0) &&
-           _is_current (CONTEXT, cr, 1))
-       {
-           _consume_operand ();
-       }
-       else if (_is_current (SURFACE, surface, 1) &&
-                _is_current (CONTEXT, cr, 0))
-       {
-           _trace_printf ("exch ");
-           _exch_operands ();
-           _consume_operand ();
-       } else if (obj->defined){
-           _emit_context (cr);
-           _trace_printf ("s%ld ", obj->token);
-       } else {
-           _emit_context (cr);
-           _trace_printf ("%d index ",
-                          current_stack_depth - obj->operand - 1);
-       }
-       _trace_printf ("pattern");
-
-       if (x != 0. || y != 0.)
-           _trace_printf (" %g %g translate", -x, -y);
-
-       _trace_printf (" mask\n");
-       _write_unlock ();
-    }
-
-    DLCALL (cairo_mask_surface, cr, surface, x, y);
-    _exit_trace ();
-}
-
-void
-cairo_stroke (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "stroke\n");
-    DLCALL (cairo_stroke, cr);
-    _exit_trace ();
-}
-
-void
-cairo_stroke_preserve (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "stroke+\n");
-    DLCALL (cairo_stroke_preserve, cr);
-    _exit_trace ();
-}
-
-void
-cairo_fill (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "fill\n");
-    DLCALL (cairo_fill, cr);
-    _exit_trace ();
-}
-
-void
-cairo_fill_preserve (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "fill+\n");
-    DLCALL (cairo_fill_preserve, cr);
-    _exit_trace ();
-}
-
-void
-cairo_copy_page (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "copy-page\n");
-    DLCALL (cairo_copy_page, cr);
-    _exit_trace ();
-}
-
-void
-cairo_show_page (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "show-page\n");
-    DLCALL (cairo_show_page, cr);
-    _exit_trace ();
-}
-
-void
-cairo_clip (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "clip\n");
-    DLCALL (cairo_clip, cr);
-    _exit_trace ();
-}
-
-void
-cairo_clip_preserve (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "clip+\n");
-    DLCALL (cairo_clip_preserve, cr);
-    _exit_trace ();
-}
-
-void
-cairo_reset_clip (cairo_t *cr)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "reset-clip\n");
-    DLCALL (cairo_reset_clip, cr);
-    _exit_trace ();
-}
-
-
-static const char *
-_slant_to_string (cairo_font_slant_t font_slant)
-{
-#define f(name) case CAIRO_FONT_SLANT_ ## name: return "SLANT_" #name
-    switch (font_slant) {
-       f(NORMAL);
-       f(ITALIC);
-       f(OBLIQUE);
-    };
-#undef f
-    return "UNKNOWN_SLANT";
-}
-
-static const char *
-_weight_to_string (cairo_font_weight_t font_weight)
-{
-#define f(name) case CAIRO_FONT_WEIGHT_ ## name: return "WEIGHT_" #name
-    switch (font_weight) {
-       f(NORMAL);
-       f(BOLD);
-    };
-#undef f
-    return "UNKNOWN_WEIGHT";
-}
-
-void
-cairo_select_font_face (cairo_t *cr, const char *family, cairo_font_slant_t slant, cairo_font_weight_t weight)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && _write_lock ()) {
-       _emit_context (cr);
-       _emit_string_literal (family, -1);
-       _trace_printf (" //%s //%s select-font-face\n",
-                      _slant_to_string (slant),
-                      _weight_to_string (weight));
-       _write_unlock ();
-    }
-    DLCALL (cairo_select_font_face, cr, family, slant, weight);
-    _exit_trace ();
-}
-
-cairo_font_face_t *
-cairo_get_font_face (cairo_t *cr)
-{
-    cairo_font_face_t *ret;
-    long font_face_id;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_get_font_face, cr);
-    font_face_id = _create_font_face_id (ret);
-
-    _emit_cairo_op (cr, "/font-face get %% f%ld\n", font_face_id);
-    _push_operand (FONT_FACE, ret);
-
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_set_font_face (cairo_t *cr, cairo_font_face_t *font_face)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && font_face != NULL && _write_lock ()) {
-       if (_is_current (FONT_FACE, font_face, 0) &&
-           _is_current (CONTEXT, cr, 1))
-       {
-           _consume_operand ();
-       }
-       else if (_is_current (FONT_FACE, font_face, 1) &&
-                _is_current (CONTEXT, cr, 0))
-       {
-           _trace_printf ("exch ");
-           _exch_operands ();
-           _consume_operand ();
-       }
-       else
-       {
-           _emit_context (cr);
-           _emit_font_face_id (font_face);
-       }
-
-       _trace_printf ("set-font-face\n");
-       _write_unlock ();
-    }
-
-    DLCALL (cairo_set_font_face, cr, font_face);
-    _exit_trace ();
-}
-
-void
-cairo_set_font_size (cairo_t *cr, double size)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g set-font-size\n", size);
-    DLCALL (cairo_set_font_size, cr, size);
-    _exit_trace ();
-}
-
-void
-cairo_set_font_matrix (cairo_t *cr, const cairo_matrix_t *matrix)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_cairo_op (cr, "%g %g %g %g %g %g matrix set-font-matrix\n",
-                   matrix->xx, matrix->yx,
-                   matrix->xy, matrix->yy,
-                   matrix->x0, matrix->y0);
-    DLCALL (cairo_set_font_matrix, cr, matrix);
-    _exit_trace ();
-}
-
-static const char *
-_subpixel_order_to_string (cairo_subpixel_order_t subpixel_order)
-{
-#define f(name) case CAIRO_SUBPIXEL_ORDER_ ## name: return "SUBPIXEL_ORDER_" #name
-    switch (subpixel_order) {
-       f(DEFAULT);
-       f(RGB);
-       f(BGR);
-       f(VRGB);
-       f(VBGR);
-    };
-#undef f
-    return "UNKNOWN_SUBPIXEL_ORDER";
-}
-
-static const char *
-_hint_style_to_string (cairo_hint_style_t hint_style)
-{
-#define f(name) case CAIRO_HINT_STYLE_ ## name: return "HINT_STYLE_" #name
-    switch (hint_style) {
-       f(DEFAULT);
-       f(NONE);
-       f(SLIGHT);
-       f(MEDIUM);
-       f(FULL);
-    };
-#undef f
-    return "UNKNOWN_HINT_STYLE";
-}
-
-static const char *
-_hint_metrics_to_string (cairo_hint_metrics_t hint_metrics)
-{
-#define f(name) case CAIRO_HINT_METRICS_ ## name: return "HINT_METRICS_" #name
-    switch (hint_metrics) {
-       f(DEFAULT);
-       f(OFF);
-       f(ON);
-    };
-#undef f
-    return "UNKNOWN_HINT_METRICS";
-}
-
-static void
-_emit_font_options (const cairo_font_options_t *options)
-{
-    cairo_antialias_t antialias;
-    cairo_subpixel_order_t subpixel_order;
-    cairo_hint_style_t hint_style;
-    cairo_hint_metrics_t hint_metrics;
-
-    _trace_printf ("<<");
-
-    antialias = DLCALL (cairo_font_options_get_antialias, options);
-    if (antialias != CAIRO_ANTIALIAS_DEFAULT) {
-       _trace_printf (" /antialias //%s",
-                      _antialias_to_string (antialias));
-    }
-
-    subpixel_order = DLCALL (cairo_font_options_get_subpixel_order, options);
-    if (subpixel_order != CAIRO_SUBPIXEL_ORDER_DEFAULT) {
-       _trace_printf (" /subpixel-order //%s",
-                      _subpixel_order_to_string (subpixel_order));
-    }
-
-    hint_style = DLCALL (cairo_font_options_get_hint_style, options);
-    if (hint_style != CAIRO_HINT_STYLE_DEFAULT) {
-       _trace_printf (" /hint-style //%s",
-                      _hint_style_to_string (hint_style));
-    }
-
-    hint_metrics = DLCALL (cairo_font_options_get_hint_metrics, options);
-    if (hint_metrics != CAIRO_HINT_METRICS_DEFAULT) {
-       _trace_printf (" /hint-metrics //%s",
-                      _hint_metrics_to_string (hint_metrics));
-    }
-
-    _trace_printf (" >>");
-}
-
-void
-cairo_set_font_options (cairo_t *cr, const cairo_font_options_t *options)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && options != NULL && _write_lock ()) {
-       _emit_context (cr);
-       _emit_font_options (options);
-       _trace_printf (" set-font-options\n");
-       _write_unlock ();
-    }
-
-    DLCALL (cairo_set_font_options, cr, options);
-    _exit_trace ();
-}
-
-cairo_scaled_font_t *
-cairo_get_scaled_font (cairo_t *cr)
-{
-    cairo_scaled_font_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_get_scaled_font, cr);
-
-    if (cr != NULL && ! _has_scaled_font_id (ret)) {
-       _emit_cairo_op (cr, "/scaled-font get /sf%ld exch def\n",
-                       _create_scaled_font_id (ret));
-       _get_object (SCALED_FONT, ret)->defined = TRUE;
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_set_scaled_font (cairo_t *cr, const cairo_scaled_font_t *scaled_font)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && scaled_font != NULL) {
-       if (_pop_operands_to (SCALED_FONT, scaled_font)) {
-           if (_is_current (CONTEXT, cr, 1)) {
-               if (_write_lock ()) {
-                   _consume_operand ();
-                   _trace_printf ("set-scaled-font\n");
-                   _write_unlock ();
-               }
-           } else {
-               if (_get_object (CONTEXT, cr)->defined) {
-                   if (_write_lock ()) {
-                       _consume_operand ();
-                       _trace_printf ("c%ld exch set-scaled-font pop\n",
-                                      _get_context_id (cr));
-                       _write_unlock ();
-                   }
-               } else {
-                   _emit_cairo_op (cr, "sf%ld set-scaled-font\n",
-                                   _get_scaled_font_id (scaled_font));
-               }
-           }
-       } else {
-           _emit_cairo_op (cr, "sf%ld set-scaled-font\n",
-                           _get_scaled_font_id (scaled_font));
-       }
-    }
-    DLCALL (cairo_set_scaled_font, cr, scaled_font);
-    _exit_trace ();
-}
-
-static void
-_emit_matrix (const cairo_matrix_t *m)
-{
-    if (_matrix_is_identity(m))
-    {
-       _trace_printf ("identity");
-    }
-    else
-    {
-       _trace_printf ("%g %g %g %g %g %g matrix",
-                      m->xx, m->yx,
-                      m->xy, m->yy,
-                      m->x0, m->y0);
-    }
-}
-
-cairo_scaled_font_t *
-cairo_scaled_font_create (cairo_font_face_t *font_face,
-                         const cairo_matrix_t *font_matrix,
-                         const cairo_matrix_t *ctm,
-                         const cairo_font_options_t *options)
-{
-    cairo_scaled_font_t *ret;
-    long scaled_font_id;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_scaled_font_create, font_face, font_matrix, ctm, options);
-    scaled_font_id = _create_scaled_font_id (ret);
-
-    _emit_line_info ();
-    if (font_face != NULL &&
-       font_matrix != NULL &&
-       ctm != NULL &&
-       options != NULL
-       && _write_lock ())
-    {
-       if (_pop_operands_to (FONT_FACE, font_face))
-           _consume_operand ();
-       else
-           _trace_printf ("f%ld ", _get_font_face_id (font_face));
-
-       _emit_matrix (font_matrix);
-       _trace_printf (" ");
-
-       _emit_matrix (ctm);
-       _trace_printf (" ");
-
-       _emit_font_options (options);
-
-       if (_get_object (SCALED_FONT, ret)->defined) {
-           _trace_printf ("  scaled-font pop %% sf%ld\n",
-                          scaled_font_id);
-       } else {
-           _trace_printf ("  scaled-font dup /sf%ld exch def\n",
-                          scaled_font_id);
-           _push_operand (SCALED_FONT, ret);
-
-           _get_object (SCALED_FONT, ret)->defined = TRUE;
-       }
-
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_show_text (cairo_t *cr, const char *utf8)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && _write_lock ()) {
-       _emit_context (cr);
-       _emit_string_literal (utf8, -1);
-       _trace_printf (" show-text\n");
-       _write_unlock ();
-    }
-    DLCALL (cairo_show_text, cr, utf8);
-    _exit_trace ();
-}
-
-static void
-_glyph_advance (cairo_scaled_font_t *font,
-               const cairo_glyph_t *glyph,
-               double *x, double *y)
-{
-    cairo_text_extents_t extents;
-
-    DLCALL (cairo_scaled_font_glyph_extents, font, glyph, 1, &extents);
-    *x += extents.x_advance;
-    *y += extents.y_advance;
-}
-
-#define TOLERANCE 1e-5
-static void
-_emit_glyphs (cairo_scaled_font_t *font,
-             const cairo_glyph_t *glyphs,
-             int num_glyphs)
-{
-    double x,y;
-    int n;
-
-    if (num_glyphs == 0) {
-       _trace_printf ("[]");
-       return;
-    }
-
-    for (n = 0; n < num_glyphs; n++) {
-       if (glyphs[n].index > 255)
-           break;
-    }
-
-    x = glyphs->x;
-    y = glyphs->y;
-    if (n < num_glyphs) { /* need full glyph range */
-       cairo_bool_t first;
-
-       _trace_printf ("[%g %g [", x, y);
-       first = TRUE;
-       while (num_glyphs--) {
-           if (fabs (glyphs->x - x) > TOLERANCE ||
-               fabs (glyphs->y - y) > TOLERANCE)
-           {
-               x = glyphs->x;
-               y = glyphs->y;
-               _trace_printf ("] %g %g [", x, y);
-               first = TRUE;
-           }
-
-           if (! first)
-               _trace_printf (" ");
-           _trace_printf ("%lu", glyphs->index);
-           first = FALSE;
-
-           _glyph_advance (font, glyphs, &x, &y);
-           glyphs++;
-       }
-       _trace_printf ("]]");
-    } else {
-       struct _data_stream stream;
-
-       if (num_glyphs == 1) {
-           _trace_printf ("[%g %g <%02lx>]", x, y,  glyphs->index);
-       } else {
-           _trace_printf ("[%g %g <~", x, y);
-           _write_base85_data_start (&stream);
-           while (num_glyphs--) {
-               unsigned char c;
-
-               if (fabs (glyphs->x - x) > TOLERANCE ||
-                   fabs (glyphs->y - y) > TOLERANCE)
-               {
-                   x = glyphs->x;
-                   y = glyphs->y;
-                   _write_base85_data_end (&stream);
-                   _trace_printf ("~> %g %g <~", x, y);
-                   _write_base85_data_start (&stream);
-               }
-
-               c = glyphs->index;
-               _write_base85_data (&stream, &c, 1);
-
-               _glyph_advance (font, glyphs, &x, &y);
-               glyphs++;
-           }
-           _write_base85_data_end (&stream);
-           _trace_printf ("~>]");
-       }
-    }
-}
-
-void
-cairo_show_glyphs (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && glyphs != NULL && _write_lock ()) {
-       cairo_scaled_font_t *font;
-
-       _emit_context (cr);
-       font = DLCALL (cairo_get_scaled_font, cr);
-
-       _emit_glyphs (font, glyphs, num_glyphs);
-       _trace_printf (" show-glyphs\n");
-       _write_unlock ();
-    }
-
-    DLCALL (cairo_show_glyphs, cr, glyphs, num_glyphs);
-    _exit_trace ();
-}
-
-static const char *
-_direction_to_string (cairo_bool_t backward)
-{
-    const char *names[] = {
-       "FORWARD",
-       "BACKWARD"
-    };
-    return names[!!backward];
-}
-
-void
-cairo_show_text_glyphs (cairo_t                           *cr,
-                       const char                 *utf8,
-                       int                         utf8_len,
-                       const cairo_glyph_t        *glyphs,
-                       int                         num_glyphs,
-                       const cairo_text_cluster_t *clusters,
-                       int                         num_clusters,
-                       cairo_text_cluster_flags_t  backward)
-{
-    cairo_scaled_font_t *font;
-
-    _enter_trace ();
-
-    font = DLCALL (cairo_get_scaled_font, cr);
-
-    _emit_line_info ();
-    if (cr != NULL && glyphs != NULL && clusters != NULL && _write_lock ()) {
-       int n;
-
-       _emit_context (cr);
-
-       _emit_string_literal (utf8, utf8_len);
-
-       _emit_glyphs (font, glyphs, num_glyphs);
-       _trace_printf ("  [");
-       for (n = 0; n < num_clusters; n++) {
-           _trace_printf (" %d %d",
-                          clusters[n].num_bytes,
-                          clusters[n].num_glyphs);
-       }
-       _trace_printf (" ] //%s show-text-glyphs\n",
-                      _direction_to_string (backward));
-
-       _write_unlock ();
-    }
-
-    DLCALL (cairo_show_text_glyphs, cr,
-                                   utf8, utf8_len,
-                                   glyphs, num_glyphs,
-                                   clusters, num_clusters,
-                                   backward);
-    _exit_trace ();
-}
-
-void
-cairo_text_path (cairo_t *cr, const char *utf8)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (cr != NULL && _write_lock ()) {
-       _emit_context (cr);
-       _emit_string_literal (utf8, -1);
-       _trace_printf (" text-path\n");
-       _write_unlock ();
-    }
-    DLCALL (cairo_text_path, cr, utf8);
-    _exit_trace ();
-}
-
-void
-cairo_glyph_path (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs)
-{
-    cairo_scaled_font_t *font;
-
-    _enter_trace ();
-
-    font = DLCALL (cairo_get_scaled_font, cr);
-
-    _emit_line_info ();
-    if (cr != NULL && glyphs != NULL && _write_lock ()) {
-       _emit_context (cr);
-       _emit_glyphs (font, glyphs, num_glyphs);
-       _trace_printf (" glyph-path\n");
-
-       _write_unlock ();
-    }
-
-    DLCALL (cairo_glyph_path, cr, glyphs, num_glyphs);
-    _exit_trace ();
-}
-
-void
-cairo_append_path (cairo_t *cr, const cairo_path_t *path)
-{
-    /* XXX no support for named paths, so manually reconstruct */
-    int i;
-    cairo_path_data_t *p;
-
-    _enter_trace ();
-
-    _emit_line_info ();
-    if (cr == NULL || path == NULL) {
-       DLCALL (cairo_append_path, cr, path);
-       _exit_trace ();
-       return;
-    }
-
-    for (i=0; i < path->num_data; i += path->data[i].header.length) {
-       p = &path->data[i];
-       switch (p->header.type) {
-       case CAIRO_PATH_MOVE_TO:
-           if (p->header.length >= 2)
-               cairo_move_to (cr, p[1].point.x, p[1].point.y);
-           break;
-       case CAIRO_PATH_LINE_TO:
-           if (p->header.length >= 2)
-               cairo_line_to (cr, p[1].point.x, p[1].point.y);
-           break;
-       case CAIRO_PATH_CURVE_TO:
-           if (p->header.length >= 4)
-               cairo_curve_to (cr,
-                               p[1].point.x, p[1].point.y,
-                               p[2].point.x, p[2].point.y,
-                               p[3].point.x, p[3].point.y);
-           break;
-       case CAIRO_PATH_CLOSE_PATH:
-           if (p->header.length >= 1)
-               cairo_close_path (cr);
-           break;
-       default:
-           break;
-       }
-    }
-    _exit_trace ();
-}
-
-cairo_surface_t *
-cairo_image_surface_create (cairo_format_t format, int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_image_surface_create, format, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-       const char *format_str = _format_to_string (format);
-       const char *content_str = _format_to_content_string (format);
-
-       _trace_printf ("dict\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  /format //%s set\n"
-                      "  /content //%s set\n"
-                      "  image dup /s%ld exch def\n",
-                      width, height, format_str, content_str, obj->token);
-       obj->width = width;
-       obj->height = height;
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_image_surface_create_for_data (unsigned char *data, cairo_format_t format, int width, int height, int stride)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_image_surface_create_for_data, data, format, width, height, stride);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       /* cairo_image_surface_create_for_data() is both used to supply
-        * foreign pixel data to cairo and in order to read pixels back.
-        * Defer grabbing the pixel contents until we have to, but only for
-        * "large" images, for small images the overhead of embedding pixels
-        * is negligible.
-        *
-        * Choose 32x32 as that captures most icons which thanks to GdkPixbuf
-        * are frequently reloaded.
-        */
-       if (width * height < 32*32) {
-           _emit_image (ret, NULL);
-           _trace_printf (" dup /s%ld exch def\n",
-                          obj->token);
-       } else {
-           _trace_printf ("dict\n"
-                          "  /width %d set\n"
-                          "  /height %d set\n"
-                          "  /format //%s set\n"
-                          "  image dup /s%ld exch def\n",
-                          width, height,
-                          _format_to_string (format),
-                          obj->token);
-
-           obj->foreign = TRUE;
-       }
-
-       obj->width  = width;
-       obj->height = height;
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-unsigned char *
-cairo_image_surface_get_data (cairo_surface_t *surface)
-{
-    unsigned char *ptr;
-
-    /* Just leave some breadcrumbs */
-    _enter_trace ();
-    _emit_line_info ();
-    if (surface != NULL && _write_lock ()) {
-       _trace_printf ("%% s%ld get-data\n", _get_surface_id (surface));
-       _write_unlock ();
-    }
-    ptr = DLCALL (cairo_image_surface_get_data, surface);
-    _exit_trace ();
-
-    return ptr;
-}
-
-cairo_pattern_t *
-cairo_pattern_create_raster_source (void *data, cairo_content_t content, int width, int height)
-{
-    cairo_pattern_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_pattern_create_raster_source, data, content, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       long pattern_id = _create_pattern_id (ret);
-       cairo_format_t format;
-       cairo_surface_t *image;
-       cairo_t *cr;
-
-       /* Impossible to accurately record the interaction with this custom
-        * pattern so just suck all the data into an image upfront */
-       switch (content) {
-       case CAIRO_CONTENT_ALPHA: format = CAIRO_FORMAT_A8; break;
-       case CAIRO_CONTENT_COLOR: format = CAIRO_FORMAT_RGB24; break;
-       default:
-       case CAIRO_CONTENT_COLOR_ALPHA: format = CAIRO_FORMAT_ARGB32; break;
-       }
-
-       _trace_printf ("%% raster-source\n");
-
-       image = DLCALL (cairo_image_surface_create, format, width, height);
-       cr = DLCALL (cairo_create, image);
-       DLCALL (cairo_set_source, cr, ret);
-       DLCALL (cairo_paint, cr);
-       DLCALL (cairo_destroy, cr);
-
-       _emit_image (image, NULL);
-       DLCALL (cairo_surface_destroy, image);
-       _trace_printf (" pattern dup /s%ld exch def\n",
-                      pattern_id);
-
-       _push_operand (PATTERN, ret);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_surface_create_similar (cairo_surface_t *other,
-                             cairo_content_t content,
-                             int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_surface_create_similar, other, content, width, height);
-
-    _emit_line_info ();
-    if (other != NULL && _write_lock ()) {
-       Object *other_obj = _get_object(SURFACE, other);
-       Object *new_obj = _create_surface (ret);
-
-       if (other_obj->defined)
-           _trace_printf ("s%ld ", other_obj->token);
-       else if (current_stack_depth == other_obj->operand + 1)
-           _trace_printf ("dup ");
-       else
-           _trace_printf ("%d index ",
-                          current_stack_depth - other_obj->operand - 1);
-       _trace_printf ("%d %d //%s similar %% s%ld\n",
-                      width, height,
-                      _content_to_string (content),
-                      new_obj->token);
-
-       _push_object (new_obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_surface_create_similar_image (cairo_surface_t *other,
-                                   cairo_format_t format,
-                                   int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_surface_create_similar_image,
-                 other, format, width, height);
-
-    _emit_line_info ();
-    if (other != NULL && _write_lock ()) {
-       Object *other_obj = _get_object(SURFACE, other);
-       Object *new_obj = _create_surface (ret);
-
-       if (other_obj->defined)
-           _trace_printf ("s%ld ", other_obj->token);
-       else if (current_stack_depth == other_obj->operand + 1)
-           _trace_printf ("dup ");
-       else
-           _trace_printf ("%d index ",
-                          current_stack_depth - other_obj->operand - 1);
-       _trace_printf ("s%ld //%s %d %d similar-image %% s%ld\n",
-                      _get_surface_id (other),
-                      _format_to_string (format),
-                      width, height,
-                      new_obj->token);
-
-       _push_object (new_obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_surface_map_to_image (cairo_surface_t *surface,
-                           const cairo_rectangle_int_t *extents)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_surface_map_to_image, surface, extents);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       if (extents) {
-           _trace_printf ("[%d %d %d %d] map-to-image\n",
-                          extents->x, extents->y,
-                          extents->width, extents->height);
-           obj->width  = extents->width;
-           obj->height = extents->height;
-       } else {
-           _trace_printf ("[ ] map-to-image\n");
-       }
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_surface_unmap_image (cairo_surface_t *surface,
-                          cairo_surface_t *image)
-{
-    _enter_trace ();
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       _trace_printf ("/s%ld /s%ld  unmap-image\n",
-                      _get_surface_id (surface),
-                      _get_surface_id (image));
-       _consume_operand ();
-       _write_unlock ();
-    }
-
-    DLCALL (cairo_surface_unmap_image, surface, image);
-
-    _exit_trace ();
-}
-
-cairo_surface_t *
-cairo_surface_create_for_rectangle (cairo_surface_t *target,
-                                    double x, double y,
-                                    double width, double height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_surface_create_for_rectangle, target, x, y, width, height);
-
-    _emit_line_info ();
-    if (target != NULL && _write_lock ()) {
-       Object *target_obj = _get_object (SURFACE, target);
-       Object *child_obj = _create_surface (ret);
-
-       if (target_obj->defined)
-           _trace_printf ("s%ld ", target_obj->token);
-       else if (current_stack_depth == target_obj->operand + 1)
-           _trace_printf ("dup ");
-       else
-           _trace_printf ("%d index ", current_stack_depth - target_obj->operand - 1);
-       _trace_printf ("%f %f %f %f subsurface %% s%ld\n",
-                      x, y, width, height,
-                      child_obj->token);
-
-       _push_object (child_obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-static void CAIRO_PRINTF_FORMAT(2, 3)
-_emit_surface_op (cairo_surface_t *surface, const char *fmt, ...)
-{
-    va_list ap;
-
-    if (surface == NULL || ! _write_lock ())
-       return;
-
-    _emit_surface (surface);
-
-    va_start (ap, fmt);
-    _trace_vprintf ( fmt, ap);
-    va_end (ap);
-
-    _write_unlock ();
-}
-
-void
-cairo_surface_finish (cairo_surface_t *surface)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    DLCALL (cairo_surface_finish, surface);
-    _exit_trace ();
-}
-
-void
-cairo_surface_flush (cairo_surface_t *surface)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (surface != NULL && _write_lock ()) {
-       _trace_printf ("%% s%ld flush\n", _get_surface_id (surface));
-       _write_unlock ();
-    }
-    DLCALL (cairo_surface_flush, surface);
-    _exit_trace ();
-}
-
-void
-cairo_surface_mark_dirty (cairo_surface_t *surface)
-{
-    _enter_trace ();
-    _emit_line_info ();
-
-    /* Call cairo before emitting the trace since _emit_surface() might cause
-     * snapshots to be creates while mark_dirty assert()s that there are none.
-     */
-    DLCALL (cairo_surface_mark_dirty, surface);
-
-    if (surface != NULL && _write_lock ()) {
-       if (_mark_dirty) {
-           _emit_surface (surface);
-           _trace_printf ("%% mark-dirty\n");
-           _emit_source_image (surface);
-       } else
-           _trace_printf ("%% s%ld mark-dirty\n", _get_surface_id (surface));
-       _write_unlock ();
-    }
-    _exit_trace ();
-}
-
-void
-cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface,
-                                   int x, int y, int width, int height)
-{
-    _enter_trace ();
-
-    /* Call cairo before emitting the trace since _emit_surface() might cause
-     * snapshots to be creates while mark_dirty assert()s that there are none.
-     */
-    DLCALL (cairo_surface_mark_dirty_rectangle, surface, x, y, width, height);
-
-    _emit_line_info ();
-    if (surface != NULL && _write_lock ()) {
-       if (_mark_dirty) {
-           _emit_surface (surface);
-           _trace_printf ("%% %d %d %d %d mark-dirty-rectangle\n",
-                           x, y, width, height);
-           _emit_source_image_rectangle (surface, x,y, width, height);
-       } else
-           _trace_printf ("%% s%ld %d %d %d %d mark-dirty-rectangle\n",
-                          _get_surface_id (surface), x, y, width, height);
-       _write_unlock ();
-    }
-    _exit_trace ();
-}
-
-void
-cairo_surface_set_device_offset (cairo_surface_t *surface, double x_offset, double y_offset)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_surface_op (surface, "%g %g set-device-offset\n",
-                     x_offset, y_offset);
-    DLCALL (cairo_surface_set_device_offset, surface, x_offset, y_offset);
-    _exit_trace ();
-}
-
-void
-cairo_surface_set_fallback_resolution (cairo_surface_t *surface, double x_pixels_per_inch, double y_pixels_per_inch)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_surface_op (surface, "%g %g set-fallback-resolution\n",
-                     x_pixels_per_inch, y_pixels_per_inch);
-    DLCALL (cairo_surface_set_fallback_resolution, surface, x_pixels_per_inch, y_pixels_per_inch);
-    _exit_trace ();
-}
-
-void
-cairo_surface_copy_page (cairo_surface_t *surface)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_surface_op (surface, "copy-page\n");
-    DLCALL (cairo_surface_copy_page, surface);
-    _exit_trace ();
-}
-
-void
-cairo_surface_show_page (cairo_surface_t *surface)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_surface_op (surface, "show-page\n");
-    DLCALL (cairo_surface_show_page, surface);
-    _exit_trace ();
-}
-
-cairo_status_t
-cairo_surface_set_mime_data (cairo_surface_t           *surface,
-                             const char                        *mime_type,
-                             const unsigned char       *data,
-                             unsigned long              length,
-                            cairo_destroy_func_t        destroy,
-                            void                       *closure)
-{
-    cairo_status_t ret;
-    _enter_trace ();
-    _emit_line_info ();
-    if (surface != NULL && _write_lock ()) {
-       _emit_surface (surface);
-       _emit_string_literal (mime_type, -1);
-       _trace_printf (" ");
-       _emit_data (data, length);
-       _trace_printf (" /deflate filter set-mime-data\n");
-
-       _write_unlock ();
-    }
-
-    ret = DLCALL (cairo_surface_set_mime_data,
-                 surface,
-                 mime_type,
-                 data, length,
-                 destroy,
-                 closure);
-    _exit_trace ();
-    return ret;
-}
-
-#if CAIRO_HAS_PNG_FUNCTIONS
-cairo_status_t
-cairo_surface_write_to_png (cairo_surface_t *surface, const char *filename)
-{
-    cairo_status_t ret;
-    _enter_trace ();
-    _emit_line_info ();
-    if (surface != NULL && _write_lock ()) {
-       _trace_printf ("%% s%ld ", _get_surface_id (surface));
-       _emit_string_literal (filename, -1);
-       _trace_printf (" write-to-png pop\n");
-       _write_unlock ();
-    }
-    ret = DLCALL (cairo_surface_write_to_png, surface, filename);
-    _exit_trace ();
-    return ret;
-}
-
-cairo_status_t
-cairo_surface_write_to_png_stream (cairo_surface_t *surface,
-                                  cairo_write_func_t write_func,
-                                  void *data)
-{
-    cairo_status_t ret;
-    _enter_trace ();
-    _emit_line_info ();
-    if (surface != NULL && _write_lock ()) {
-       char symbol[1024];
-
-       _trace_printf ("%% s%ld ", _get_surface_id (surface));
-#if CAIRO_HAS_SYMBOL_LOOKUP
-       lookup_symbol (symbol, sizeof (symbol), write_func);
-#else
-       symbol[0] = '\0';
-#endif
-       _emit_string_literal (symbol, -1);
-       _trace_printf (" write-to-png-stream pop\n");
-       _write_unlock ();
-    }
-    ret = DLCALL (cairo_surface_write_to_png_stream,
-                 surface, write_func, data);
-    _exit_trace ();
-    return ret;
-}
-#endif
-
-static void CAIRO_PRINTF_FORMAT(2, 3)
-_emit_pattern_op (cairo_pattern_t *pattern, const char *fmt, ...)
-{
-    va_list ap;
-
-    if (pattern == NULL || ! _write_lock ())
-       return;
-
-    _emit_pattern (pattern);
-
-    va_start (ap, fmt);
-    _trace_vprintf (fmt, ap);
-    va_end (ap);
-
-    _write_unlock ();
-}
-
-cairo_pattern_t *
-cairo_pattern_create_rgb (double red, double green, double blue)
-{
-    cairo_pattern_t *ret;
-    long pattern_id;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_pattern_create_rgb, red, green, blue);
-    pattern_id = _create_pattern_id (ret);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       _trace_printf ("/p%ld %g %g %g rgb def\n",
-                      pattern_id, red, green, blue);
-       _get_object (PATTERN, ret)->defined = TRUE;
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_pattern_t *
-cairo_pattern_create_rgba (double red, double green, double blue, double alpha)
-{
-    cairo_pattern_t *ret;
-    long pattern_id;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_pattern_create_rgba, red, green, blue, alpha);
-    pattern_id = _create_pattern_id (ret);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       _trace_printf ("/p%ld %g %g %g %g rgba def\n",
-                      pattern_id, red, green, blue, alpha);
-       _get_object (PATTERN, ret)->defined = TRUE;
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_pattern_t *
-cairo_pattern_create_for_surface (cairo_surface_t *surface)
-{
-    cairo_pattern_t *ret;
-    long pattern_id;
-    long surface_id;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_pattern_create_for_surface, surface);
-    pattern_id = _create_pattern_id (ret);
-
-    _emit_line_info ();
-    if (surface != NULL && _write_lock ()) {
-       surface_id = _get_surface_id (surface);
-
-       if (_pop_operands_to (SURFACE, surface)) {
-           _consume_operand ();
-       } else {
-           _trace_printf ("s%ld ", surface_id);
-       }
-
-       if (_get_object (SURFACE, surface)->foreign)
-           _emit_source_image (surface);
-
-       _trace_printf ("pattern %% p%ld\n", pattern_id);
-       _push_operand (PATTERN, ret);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_pattern_t *
-cairo_pattern_create_linear (double x0, double y0, double x1, double y1)
-{
-    cairo_pattern_t *ret;
-    long pattern_id;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_pattern_create_linear, x0, y0, x1, y1);
-    pattern_id = _create_pattern_id (ret);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       _trace_printf ("%g %g %g %g linear %% p%ld\n",
-                      x0, y0, x1, y1, pattern_id);
-       _push_operand (PATTERN, ret);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_pattern_t *
-cairo_pattern_create_radial (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1)
-{
-    cairo_pattern_t *ret;
-    long pattern_id;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_pattern_create_radial,
-                 cx0, cy0, radius0,
-                 cx1, cy1, radius1);
-    pattern_id = _create_pattern_id (ret);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       _trace_printf ("%g %g %g %g %g %g radial %% p%ld\n",
-                      cx0, cy0, radius0, cx1, cy1, radius1,
-                      pattern_id);
-       _push_operand (PATTERN, ret);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_pattern_add_color_stop_rgb (cairo_pattern_t *pattern, double offset, double red, double green, double blue)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_pattern_op (pattern,
-                     "%g %g %g %g 1 add-color-stop\n",
-                     offset, red, green, blue);
-    DLCALL (cairo_pattern_add_color_stop_rgb, pattern, offset, red, green, blue);
-    _exit_trace ();
-}
-
-void
-cairo_pattern_add_color_stop_rgba (cairo_pattern_t *pattern, double offset, double red, double green, double blue, double alpha)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_pattern_op (pattern,
-                     "%g %g %g %g %g add-color-stop\n",
-                     offset, red, green, blue, alpha);
-    DLCALL (cairo_pattern_add_color_stop_rgba, pattern, offset, red, green, blue, alpha);
-    _exit_trace ();
-}
-
-void
-cairo_pattern_set_matrix (cairo_pattern_t *pattern, const cairo_matrix_t *matrix)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    if (_matrix_is_identity (matrix)) {
-       _emit_pattern_op (pattern, "identity set-matrix\n");
-    } else {
-       _emit_pattern_op (pattern,
-                         "%g %g %g %g %g %g matrix set-matrix\n",
-                         matrix->xx, matrix->yx,
-                         matrix->xy, matrix->yy,
-                         matrix->x0, matrix->y0);
-    }
-    DLCALL (cairo_pattern_set_matrix, pattern, matrix);
-    _exit_trace ();
-}
-
-static const char *
-_filter_to_string (cairo_filter_t filter)
-{
-#define f(name) case CAIRO_FILTER_ ## name: return "FILTER_" #name
-    switch (filter) {
-       f(FAST);
-       f(GOOD);
-       f(BEST);
-       f(NEAREST);
-       f(BILINEAR);
-       f(GAUSSIAN);
-    };
-#undef f
-    return "UNKNOWN_FILTER";
-}
-
-void
-cairo_pattern_set_filter (cairo_pattern_t *pattern, cairo_filter_t filter)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_pattern_op (pattern, "//%s set-filter\n", _filter_to_string (filter));
-    DLCALL (cairo_pattern_set_filter, pattern, filter);
-    _exit_trace ();
-}
-
-static const char *
-_extend_to_string (cairo_extend_t extend)
-{
-#define f(name) case CAIRO_EXTEND_ ## name: return "EXTEND_" #name
-    switch (extend) {
-       f(NONE);
-       f(REPEAT);
-       f(REFLECT);
-       f(PAD);
-    };
-#undef f
-    return "UNKNOWN_EXTEND";
-}
-
-void
-cairo_pattern_set_extend (cairo_pattern_t *pattern, cairo_extend_t extend)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    _emit_pattern_op (pattern, "//%s set-extend\n", _extend_to_string (extend));
-    DLCALL (cairo_pattern_set_extend, pattern, extend);
-    _exit_trace ();
-}
-
-#if CAIRO_HAS_FT_FONT
-#if CAIRO_HAS_FC_FONT
-cairo_font_face_t *
-cairo_ft_font_face_create_for_pattern (FcPattern *pattern)
-{
-    cairo_font_face_t *ret;
-    long font_face_id;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_ft_font_face_create_for_pattern, pattern);
-    font_face_id = _create_font_face_id (ret);
-
-    _emit_line_info ();
-    if (pattern != NULL && _write_lock ()) {
-       Object *obj;
-       FcChar8 *parsed;
-
-       obj = _get_object (FONT_FACE, ret);
-       if (obj->operand != -1)
-           _object_remove (obj);
-
-       parsed = DLCALL (FcNameUnparse, pattern);
-       _trace_printf ("dict\n"
-                      "  /type 42 set\n"
-                      "  /pattern ");
-       _emit_string_literal ((char *) parsed, -1);
-       _trace_printf (" set\n"
-                      "  font %% f%ld\n",
-                      font_face_id);
-       _push_operand (FONT_FACE, ret);
-       _write_unlock ();
-
-       free (parsed);
-    }
-
-    _exit_trace ();
-    return ret;
-}
-#endif /* CAIRO_HAS_FC_FONT*/
-
-typedef struct _ft_face_data {
-    unsigned long index;
-    unsigned long size;
-    void *data;
-} FtFaceData;
-
-static void
-_ft_face_data_destroy (void *arg)
-{
-    FtFaceData *data = arg;
-    free (data->data);
-    free (data);
-}
-
-cairo_font_face_t *
-cairo_ft_font_face_create_for_ft_face (FT_Face face, int load_flags)
-{
-    cairo_font_face_t *ret;
-    Object *obj;
-    FtFaceData *data;
-    long font_face_id;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_ft_font_face_create_for_ft_face, face, load_flags);
-    font_face_id = _create_font_face_id (ret);
-
-    if (face == NULL) {
-       _exit_trace ();
-       return ret;
-    }
-
-    obj = _get_object (NONE, face);
-    data = obj->data;
-    if (data == NULL) {
-       _exit_trace ();
-       return ret;
-    }
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       obj = _get_object (FONT_FACE, ret);
-       if (obj->operand != -1)
-           _object_remove (obj);
-
-       _trace_printf ("<< /type 42 /source ");
-       _emit_data (data->data, data->size);
-       _trace_printf (" /index %lu /flags %d >> font %% f%ld\n",
-                      data->index, load_flags, font_face_id);
-       _push_operand (FONT_FACE, ret);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-static cairo_bool_t
-_ft_read_file (FtFaceData *data, const char *path)
-{
-    char buf[8192];
-    FILE *file;
-
-    file = fopen (path, "rb");
-    if (file != NULL) {
-       size_t ret;
-       unsigned long int allocated = sizeof (buf);
-       data->data = malloc (allocated);
-       do {
-           ret = fread (buf, 1, sizeof (buf), file);
-           if (ret == 0)
-               break;
-           memcpy ((char *) data->data + data->size, buf, ret);
-           data->size += ret;
-           if (ret != sizeof (buf))
-               break;
-
-           if (data->size == allocated) {
-               allocated *= 2;
-               data->data = realloc (data->data, allocated);
-           }
-       } while (TRUE);
-       fclose (file);
-    }
-
-    return file != NULL;
-}
-
-FT_Error
-FT_New_Face (FT_Library library, const char *pathname, FT_Long index, FT_Face *face)
-{
-    FT_Error ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (FT_New_Face, library, pathname, index, face);
-    if (ret == 0) {
-       Object *obj = _type_object_create (NONE, *face);
-       FtFaceData *data = malloc (sizeof (FtFaceData));
-       data->index = index;
-       data->size = 0;
-       data->data = NULL;
-       _ft_read_file (data, pathname);
-       obj->data = data;
-       obj->destroy = _ft_face_data_destroy;
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-FT_Error
-FT_New_Memory_Face (FT_Library library, const FT_Byte *mem, FT_Long size, FT_Long index, FT_Face *face)
-{
-    FT_Error ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (FT_New_Memory_Face, library, mem, size, index, face);
-    if (ret == 0) {
-       Object *obj = _type_object_create (NONE, *face);
-       FtFaceData *data = malloc (sizeof (FtFaceData));
-       data->index = index;
-       data->size = size;
-       data->data = malloc (size);
-       memcpy (data->data, mem, size);
-       obj->data = data;
-       obj->destroy = _ft_face_data_destroy;
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-/* XXX
- * FT_New_Memory_Face() and FT_New_Face() appear to wrap FT_Open_Face() so we
- * get a redundant call to FT_Open_Face() from those paths (no PLT hiding
- * within FT, naughty library!) but we do not intercept a direct call to
- * FT_Open_Face(). So far this has not caused any issues, but it will one
- * day...
- */
-FT_Error
-FT_Open_Face (FT_Library library, const FT_Open_Args *args, FT_Long index, FT_Face *face)
-{
-    FT_Error ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (FT_Open_Face, library, args, index, face);
-    if (ret == 0) {
-       Object *obj = _get_object (NONE, *face);
-       if (obj == NULL) {
-           FtFaceData *data;
-
-           data = malloc (sizeof (FtFaceData));
-           data->index = index;
-           if (args->flags & FT_OPEN_MEMORY) {
-               data->size = args->memory_size;
-               data->data = malloc (args->memory_size);
-               memcpy (data->data, args->memory_base, args->memory_size);
-           } else if (args->flags & FT_OPEN_STREAM) {
-               fprintf (stderr, "FT_Open_Face (stream, %ld) = %p\n",
-                        index, *face);
-               abort ();
-           } else if (args->flags & FT_OPEN_PATHNAME) {
-               data->size = 0;
-               data->data = NULL;
-               _ft_read_file (data, args->pathname);
-           }
-
-           obj = _type_object_create (NONE, *face);
-           obj->data = data;
-           obj->destroy = _ft_face_data_destroy;
-       }
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-FT_Error
-FT_Done_Face (FT_Face face)
-{
-    FT_Error ret;
-    _enter_trace ();
-
-    _object_destroy (_get_object (NONE, face));
-
-    ret = DLCALL (FT_Done_Face, face);
-    _exit_trace ();
-    return ret;
-}
-#endif
-
-static void
-_surface_object_set_size (cairo_surface_t *surface, int width, int height)
-{
-    Object *obj;
-
-    obj = _get_object (SURFACE, surface);
-    obj->width = width;
-    obj->height = height;
-}
-
-static void
-_surface_object_set_size_from_surface (cairo_surface_t *surface)
-{
-    _surface_object_set_size (surface,
-                             DLCALL (cairo_image_surface_get_width, surface),
-                             DLCALL (cairo_image_surface_get_height, surface));
-}
-
-#if CAIRO_HAS_PS_SURFACE
-#include<cairo-ps.h>
-
-cairo_surface_t *
-cairo_ps_surface_create (const char *filename, double width_in_points, double height_in_points)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_ps_surface_create, filename, width_in_points, height_in_points);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /PS set\n"
-                      "  /filename ");
-       _emit_string_literal (filename, -1);
-       _trace_printf (" set\n"
-                      "  /width %g set\n"
-                      "  /height %g set\n"
-                      "  surface %% s%ld\n",
-                      width_in_points,
-                      height_in_points,
-                      obj->token);
-       obj->width = width_in_points;
-       obj->height = height_in_points;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_ps_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_ps_surface_create_for_stream, write_func, closure, width_in_points, height_in_points);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /PS set\n"
-                      "  /width %g set\n"
-                      "  /height %g set\n"
-                      "  surface %% s%ld\n",
-                      width_in_points,
-                      height_in_points,
-                      obj->token);
-       obj->width = width_in_points;
-       obj->height = height_in_points;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_ps_surface_set_size (cairo_surface_t *surface, double width_in_points, double height_in_points)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    DLCALL (cairo_ps_surface_set_size, surface, width_in_points, height_in_points);
-    _exit_trace ();
-}
-
-#endif
-
-#if CAIRO_HAS_PDF_SURFACE
-#include <cairo-pdf.h>
-
-cairo_surface_t *
-cairo_pdf_surface_create (const char *filename, double width_in_points, double height_in_points)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_pdf_surface_create, filename, width_in_points, height_in_points);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /PDF set\n"
-                      "  /filename ");
-       _emit_string_literal (filename, -1);
-       _trace_printf (" set\n"
-                      "  /width %g set\n"
-                      "  /height %g set\n"
-                      "  surface %% s%ld\n",
-                      width_in_points,
-                      height_in_points,
-                      obj->token);
-       obj->width = width_in_points;
-       obj->height = height_in_points;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_pdf_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_pdf_surface_create_for_stream, write_func, closure, width_in_points, height_in_points);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /PDF set\n"
-                      "  /width %g set\n"
-                      "  /height %g set\n"
-                      "  surface %% s%ld\n",
-                      width_in_points,
-                      height_in_points,
-                      obj->token);
-       obj->width = width_in_points;
-       obj->height = height_in_points;
-       _push_object (obj);
-       _write_unlock ();
-    }
-    _exit_trace ();
-    return ret;
-}
-
-void
-cairo_pdf_surface_set_size (cairo_surface_t *surface, double width_in_points, double height_in_points)
-{
-    _enter_trace ();
-    _emit_line_info ();
-    DLCALL (cairo_pdf_surface_set_size, surface, width_in_points, height_in_points);
-    _exit_trace ();
-}
-#endif
-
-#if CAIRO_HAS_SVG_SURFACE
-#include <cairo-svg.h>
-
-cairo_surface_t *
-cairo_svg_surface_create (const char *filename, double width, double height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_svg_surface_create, filename, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /SVG set\n"
-                      "  /filename ");
-       _emit_string_literal (filename, -1);
-       _trace_printf (" set\n"
-                      "  /width %g set\n"
-                      "  /height %g set\n"
-                      "  surface %% s%ld\n",
-                      width,
-                      height,
-                      obj->token);
-       obj->width = width;
-       obj->height = height;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_svg_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width, double height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_svg_surface_create_for_stream, write_func, closure, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /SVG set\n"
-                      "  /width %g set\n"
-                      "  /height %g set\n"
-                      "  surface %% s%ld\n",
-                      width,
-                      height,
-                      obj->token);
-       obj->width = width;
-       obj->height = height;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-#endif
-
-#if CAIRO_HAS_PNG_FUNCTIONS
-cairo_surface_t *
-cairo_image_surface_create_from_png (const char *filename)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_image_surface_create_from_png, filename);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-       char filename_string[4096];
-
-       _encode_string_literal (filename_string, sizeof (filename_string),
-                               filename, -1);
-       _emit_image (ret, "  /filename %s set\n", filename_string);
-       _trace_printf (" dup /s%ld exch def\n", obj->token);
-       _surface_object_set_size_from_surface (ret);
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_image_surface_create_from_png_stream (cairo_read_func_t read_func, void *closure)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_image_surface_create_from_png_stream, read_func, closure);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _emit_image (ret, NULL);
-       _trace_printf (" dup /s%ld exch def\n",
-                      obj->token);
-
-       _surface_object_set_size_from_surface (ret);
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-#endif
-
-static const char *
-_content_from_surface (cairo_surface_t *surface)
-{
-    return _content_to_string (DLCALL (cairo_surface_get_content, surface));
-}
-
-#if CAIRO_HAS_XLIB_SURFACE
-#include <cairo-xlib.h>
-
-cairo_surface_t *
-cairo_xlib_surface_create (Display *dpy,
-                          Drawable drawable,
-                          Visual *visual,
-                          int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_xlib_surface_create,
-                 dpy, drawable, visual, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /xlib set\n"
-                      "  /drawable 16!%lx set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      drawable,
-                      _content_from_surface (ret),
-                      width, height,
-                      obj->token);
-       obj->defined = TRUE;
-       obj->width = width;
-       obj->height = height;
-       obj->foreign = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_xlib_surface_create_for_bitmap (Display *dpy,
-                                     Pixmap bitmap,
-                                     Screen *screen,
-                                     int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_xlib_surface_create_for_bitmap,
-                 dpy, bitmap, screen, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /xlib set\n"
-                      "  /drawable 16!%lx set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  /depth 1 set\n"
-                      "  surface dup /s%ld exch def\n",
-                      bitmap,
-                      _content_from_surface (ret),
-                      width, height,
-                      obj->token);
-       obj->defined = TRUE;
-       obj->width = width;
-       obj->height = height;
-       obj->foreign = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-#if CAIRO_HAS_XLIB_XRENDER_SURFACE
-#include <cairo-xlib-xrender.h>
-cairo_surface_t *
-cairo_xlib_surface_create_with_xrender_format (Display *dpy,
-                                              Drawable drawable,
-                                              Screen *screen,
-                                              XRenderPictFormat *format,
-                                              int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_xlib_surface_create_with_xrender_format,
-                 dpy, drawable, screen, format, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /xrender set\n"
-                      "  /drawable 16!%lx set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  /depth %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      drawable,
-                      _content_from_surface (ret),
-                      width, height,
-                      format->depth,
-                      obj->token);
-       obj->defined = TRUE;
-       obj->width = width;
-       obj->height = height;
-       obj->foreign = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-#endif
-#endif
-
-#if CAIRO_HAS_SCRIPT_SURFACE
-#include <cairo-script.h>
-cairo_surface_t *
-cairo_script_surface_create (cairo_device_t *device,
-                            cairo_content_t content,
-                            double width,
-                            double height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_script_surface_create, device, content, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /script set\n"
-                      "  /content %s set\n"
-                      "  /width %g set\n"
-                      "  /height %g set\n"
-                      "  surface dup /s%ld exch def\n",
-                      _content_to_string (content),
-                      width, height,
-                      obj->token);
-       obj->width = width;
-       obj->height = height;
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_script_surface_create_for_target (cairo_device_t *device,
-                                       cairo_surface_t *target)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_script_surface_create_for_target, device, target);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /script set\n"
-                      "  surface dup /s%ld exch def\n",
-                      obj->token);
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-#endif
-
-#if CAIRO_HAS_TEST_SURFACES
-#include <test-paginated-surface.h>
-cairo_surface_t *
-_cairo_test_paginated_surface_create (cairo_surface_t *surface)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (_cairo_test_paginated_surface_create, surface);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       /* XXX store initial data? */
-       _trace_printf ("dict\n"
-                      "  /type /test-paginated set\n"
-                      "  /target s%ld set\n"
-                      "  surface dup /s%ld exch def\n",
-                      _get_surface_id (surface),
-                      obj->token);
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-#include <test-compositor-surface.h>
-
-cairo_surface_t *
-_cairo_test_fallback_compositor_surface_create (cairo_content_t content, int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (_cairo_test_fallback_compositor_surface_create, content, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /test-fallback-compositor set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      _content_to_string (content),
-                      width, height,
-                      obj->token);
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-_cairo_test_mask_compositor_surface_create (cairo_content_t content, int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (_cairo_test_mask_compositor_surface_create, content, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /test-mask-compositor set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      _content_to_string (content),
-                      width, height,
-                      obj->token);
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-_cairo_test_spans_compositor_surface_create (cairo_content_t content, int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (_cairo_test_spans_compositor_surface_create, content, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /test-spans-compositor set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      _content_to_string (content),
-                      width, height,
-                      obj->token);
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-_cairo_test_traps_compositor_surface_create (cairo_content_t content, int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (_cairo_test_traps_compositor_surface_create, content, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /test-traps-compositor set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      _content_to_string (content),
-                      width, height,
-                      obj->token);
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-#endif
-
-cairo_surface_t *
-cairo_recording_surface_create (cairo_content_t content,
-                               const cairo_rectangle_t *extents)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_recording_surface_create, content, extents);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       if (extents) {
-           _trace_printf ("//%s [ %f %f %f %f ] record dup /s%ld exch def\n",
-                          _content_to_string (content),
-                          extents->x, extents->y,
-                          extents->width, extents->height,
-                          obj->token);
-           obj->width = extents->width;
-           obj->height = extents->height;
-       } else {
-           _trace_printf ("//%s [ ] record dup /s%ld exch def\n",
-                          _content_to_string (content),
-                          obj->token);
-       }
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-#if CAIRO_HAS_VG_SURFACE
-#include <cairo-vg.h>
-cairo_surface_t *
-cairo_vg_surface_create (cairo_vg_context_t *context,
-                        cairo_content_t content,
-                        int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_vg_surface_create, context, content, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /vg set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      _content_to_string (content),
-                      width, height,
-                      obj->token);
-       obj->width = width;
-       obj->height = height;
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_vg_surface_create_for_image (cairo_vg_context_t *context,
-                                  VGImage image,
-                                  VGImageFormat format,
-                                  int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_vg_surface_create_for_image,
-                 context, image, format, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-       cairo_content_t content;
-
-       content = DLCALL (cairo_surface_get_content, ret);
-       _trace_printf ("dict\n"
-                      "  /type /vg set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      _content_to_string (content),
-                      width, height,
-                      obj->token);
-       obj->width = width;
-       obj->height = height;
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-#endif
-
-#if CAIRO_HAS_GL_SURFACE || CAIRO_HAS_GLESV2_SURFACE
-#include <cairo-gl.h>
-cairo_surface_t *
-cairo_gl_surface_create (cairo_device_t                *abstract_device,
-                        cairo_content_t         content,
-                        int                     width,
-                        int                     height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_gl_surface_create, abstract_device, content, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /gl set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      _content_to_string (content),
-                      width, height,
-                      obj->token);
-       obj->width = width;
-       obj->height = height;
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-cairo_surface_t *
-cairo_gl_surface_create_for_texture (cairo_device_t    *abstract_device,
-                                    cairo_content_t     content,
-                                    unsigned int        tex,
-                                    int                 width,
-                                    int                 height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_gl_surface_create_for_texture, abstract_device, content, tex, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /gl set\n"
-                      "  /content //%s set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      _content_to_string (content),
-                      width, height,
-                      obj->token);
-       obj->width = width;
-       obj->height = height;
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-
-#if CAIRO_HAS_GLX_FUNCTIONS
-cairo_surface_t *
-cairo_gl_surface_create_for_window (cairo_device_t *device,
-                                   Window win,
-                                   int width, int height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_gl_surface_create_for_window, device, win, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /gl set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      width, height,
-                      obj->token);
-       obj->width = width;
-       obj->height = height;
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-#endif
-
-#if CAIRO_HAS_WGL_FUNCTIONS
-cairo_surface_t *
-cairo_gl_surface_create_for_dc (cairo_device_t         *device,
-                               HDC                      dc,
-                               int                      width,
-                               int                      height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_gl_surface_create_for_dc, device, dc, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /gl set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      width, height,
-                      obj->token);
-       obj->width = width;
-       obj->height = height;
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-#endif
-
-#if CAIRO_HAS_EGL_FUNCTIONS
-cairo_surface_t *
-cairo_gl_surface_create_for_egl (cairo_device_t        *device,
-                                EGLSurface      egl,
-                                int             width,
-                                int             height)
-{
-    cairo_surface_t *ret;
-
-    _enter_trace ();
-
-    ret = DLCALL (cairo_gl_surface_create_for_egl, device, egl, width, height);
-
-    _emit_line_info ();
-    if (_write_lock ()) {
-       Object *obj = _create_surface (ret);
-
-       _trace_printf ("dict\n"
-                      "  /type /gl set\n"
-                      "  /width %d set\n"
-                      "  /height %d set\n"
-                      "  surface dup /s%ld exch def\n",
-                      width, height,
-                      obj->token);
-       obj->width = width;
-       obj->height = height;
-       obj->defined = TRUE;
-       _push_object (obj);
-       _write_unlock ();
-    }
-
-    _exit_trace ();
-    return ret;
-}
-#endif
-#endif
index d189260..da91656 100644 (file)
@@ -236,7 +236,7 @@ my_init_hook(void) {
        my_hooks ();
 }
 
-void (*__malloc_initialize_hook) (void) = my_init_hook;
+void (*__volatile __malloc_initialize_hook) (void) = my_init_hook;
 
 
 /* reporting */
@@ -257,7 +257,7 @@ add_alloc_stats (struct alloc_stats_t *a, struct alloc_stats_t *b)
 static void
 dump_alloc_stats (struct alloc_stats_t *stats, const char *name)
 {
-       printf ("%8u %'11llu    %8u %'11llu     %8u %'11llu     %s\n",
+       printf ("%8u %'11llu %8u %'11llu %8u %'11llu %s\n",
                stats->total.num, stats->total.size,
                stats->malloc.num, stats->malloc.size,
                stats->realloc.num, stats->realloc.size,
@@ -353,8 +353,8 @@ malloc_stats (void)
 
        setlocale (LC_ALL, "");
 
-       printf ("        TOTAL                   MALLOC                 REALLOC\n");
-       printf ("     num       size         num        size         num        size\n");
+       printf ("          TOTAL                MALLOC              REALLOC\n");
+       printf ("     num        size      num        size      num        size\n");
 
        for (i = 0; i < j; i++) {
                dump_alloc_stats (&sorted_func_stats[i].stat,
index fc1444d..35c0014 100644 (file)
@@ -55,17 +55,35 @@ static void draw_edges (cairo_t *cr, polygon_t *p, gdouble sf, int dir)
 {
     int n;
 
+    if (dir < 0)
+       cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);
+    else
+       cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
+
     for (n = 0; n < p->num_edges; n++) {
        const edge_t *e = &p->edges[n];
+       double dx, dy;
+       double x1, x2;
 
        if (e->dir != dir)
            continue;
 
-       cairo_arc (cr, e->p1.x, e->p1.y, 2/sf, 0, 2*M_PI);
-       cairo_arc (cr, e->p2.x, e->p2.y, 2/sf, 0, 2*M_PI);
+       dx = e->p2.x - e->p1.x;
+       dy = e->p2.y - e->p1.y;
+
+       x1 = e->p1.x + (e->top - e->p1.y) / dy * dx;
+       x2 = e->p1.x + (e->bot - e->p1.y) / dy * dx;
+
+       cairo_arc (cr, x1, e->top, 2/sf, 0, 2*M_PI);
+       cairo_arc (cr, x2, e->bot, 2/sf, 0, 2*M_PI);
        cairo_fill (cr);
     }
 
+    if (dir < 0)
+       cairo_set_source_rgba (cr, 0.0, 0.0, 1.0, 0.5);
+    else
+       cairo_set_source_rgba (cr, 1.0, 0.0, 0.0, 0.5);
+
     for (n = 0; n < p->num_edges; n++) {
        const edge_t *e = &p->edges[n];
 
@@ -80,14 +98,40 @@ static void draw_edges (cairo_t *cr, polygon_t *p, gdouble sf, int dir)
        cairo_set_line_width (cr, 1.);
        cairo_stroke (cr);
     } cairo_restore (cr);
+
+    if (dir < 0)
+       cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);
+    else
+       cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
+
+    for (n = 0; n < p->num_edges; n++) {
+       const edge_t *e = &p->edges[n];
+       double dx, dy;
+       double x1, x2;
+
+       if (e->dir != dir)
+           continue;
+
+       dx = e->p2.x - e->p1.x;
+       dy = e->p2.y - e->p1.y;
+
+       x1 = e->p1.x + (e->top - e->p1.y) / dy * dx;
+       x2 = e->p1.x + (e->bot - e->p1.y) / dy * dx;
+
+       cairo_move_to (cr, x1, e->top);
+       cairo_line_to (cr, x2, e->bot);
+    }
+    cairo_save (cr); {
+       cairo_identity_matrix (cr);
+       cairo_set_line_width (cr, 1.);
+       cairo_stroke (cr);
+    } cairo_restore (cr);
 }
 
 static void draw_polygon (cairo_t *cr, polygon_t *p, gdouble sf)
 {
-    cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);
     draw_edges (cr, p, sf, -1);
 
-    cairo_set_source_rgb (cr, 1.0, 0.0, 0.0);
     draw_edges (cr, p, sf, +1);
 }